Bookdown: Automati c нумерация фигур и перекрестные ссылки не работают - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь написать магистерскую диссертацию в RMarkdown.

Сначала я попытался исправить проблему с положением моих фигур в PDF-документе и использовал этот метод: { ссылка }. Итак, мой заголовок YAML выглядел так:

title: "example"
author: "me"
output:
  rmarkdown::pdf_document:
    fig_caption: yes        
    includes:  
      in_header: preamble-latex.tex

Затем я хотел, чтобы мои рисунки были пронумерованы и легко перекрестные ссылки. Я попытался изменить вывод на bookdown :: pdf_document2: поскольку метод, которому меня научили (то есть! [Caption \ label {mylabel}] и \ autoref {mylabel}), вообще не работал и в итоге получил следующее:

---
title: "example"
author: "me"
output:
  bookdown::pdf_document2:
    fig_caption: yes        
    includes:  
      in_header: preamble-latex.tex
---
```{r label, echo=FALSE, fig.cap="caption", out.width='75%', out.height='75%'}
knitr::include_graphics("../../images/my_image.png")
\```

и попытался создать перекрестную ссылку следующим образом: @ref (fig: label)

Изображение появляется в нужном месте, в нужном размере и с моей подписью. Но он не пронумерован (перед моей подписью нет упоминания «Рисунок 1»), и ссылка выглядит почти так же, как в вязанном документе, только без backsla sh (так что @ref (fig: label)). Независимо от того, куда я смотрю или что делаю, я не могу это изменить ...

Может быть, автоматическая нумерация c не работает из-за изменений, которые я сделал в заголовке YAML, чтобы сохранить мои изображения в нужном месте? Что я могу сделать, чтобы исправить эту проблему?

1 Ответ

1 голос
/ 18 июня 2020

Проблема была решена путем

  1. отказа от использования bookdown и возврата к рекомендуемому выходу (то есть ::rmarkdown:pdf_document:)
  2. обновлению всех пакетов R и tinytex
  3. добавление строки в файл LaTex:

    /usepackage{float}

для исправления вновь появившейся ошибки (неизвестный параметр с плавающей запятой h)

Затем фигурки были помещены в нужное место и пронумерованы (хотя раньше они не были пронумерованы ...)

с использованием \autoref{fig:label} вместо \@ref(fig:label) для перекрестной ссылки в сочетании с include_graphics()
...