Подтвердить что ты не робот

Подавить автоматическую цифровую нумерацию в формате pdf с r markdown/knitr

Я пишу документ в R markdown (.rmd). Я хотел бы иметь возможность вязать как Word, так и PDF файлы. У меня трудности с цифрой нумерации. С выходом в формате PDF цифры автоматически нумеруются (через выход латекса fig.lp?) Но цифры не были пронумерованы в Word.

После долгих поисков я нашел код, который обеспечит цифровую нумерацию в Word, но теперь я получаю двойную нумерацию страниц при вязании PDF. Я новичок, поэтому не могу вставить изображение. Но заголовок рисунка выглядит так:

Рисунок 1. Рисунок 1. Blah Blah Blah

Есть ли способ подавить автоматическую нумерацию для PDF?

Аналогичный вопрос был задан здесь, но решение не было дано. Мой заголовок YAML и фрагмент нумерации фигур приведены ниже.

YAML:

output:
  pdf_document:
    fig_caption: yes
    keep_tex: yes
  word_document:
    fig_caption: yes

Код нумерации рисунков (найден через http://galahad.well.ox.ac.uk/repro/)

figRef <- local({
    tag <- numeric()
    created <- logical()
    used <- logical()
    function(label, caption, prefix = options("figcap.prefix"), 
        sep = options("figcap.sep"), prefix.highlight = options("figcap.prefix.highlight")) {
        i <- which(names(tag) == label)
        if (length(i) == 0) {
            i <- length(tag) + 1
            tag <<- c(tag, i)
            names(tag)[length(tag)] <<- label
            used <<- c(used, FALSE)
            names(used)[length(used)] <<- label
            created <<- c(created, FALSE)
            names(created)[length(created)] <<- label
        }
        if (!missing(caption)) {
            created[label] <<- TRUE
            paste0(prefix.highlight, prefix, " ", i, sep, prefix.highlight, 
                " ", caption)
        } else {
            used[label] <<- TRUE
            paste(prefix, tag[label])
        }
    }
})

затем вызывается в параметрах chunk следующим образом:

```{r, echo=FALSE, message=FALSE, fig.width=6, fig.cap=figRef("Ex-Airfoil", "Example NACA Airfoil")}
4b9b3361

Ответ 1

Есть ли способ подавить автоматическую нумерацию для PDF?

Конечно. Добавьте переменную format для вашего выходного формата и обработчик для этого формата в figref. С версией предварительного просмотра RStudio вы можете использовать format <- knitr::opts_knit$get("out.format"), но с версией выпуска, которую вам нужно будет установить вручную.
Затем в figref() добавьте все, что вы хотите для вывода...

    if ( format == "latex" ) return( caption )
    if (!missing(caption)) {
    --- >8 ---

Лично я бы использовал версию предварительного просмотра и инструкцию switch для обработки. В строках fooobar.com/info/262240/....