Rmarkdown Цифры с перекрестными ссылками не работают - PullRequest
0 голосов
/ 04 мая 2018

Итак. Я хочу вставить некоторые файлы изображений в документ Rmarkdown, автоматически создавать метки и иметь возможность ссылаться на эти изображения из других частей текста. Я использую bookdown, поэтому я начинаю с

---
output: 
  html_document:
    toc: true
    number_sections: true
    fig_caption: true
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(bookdown)
```

В соответствии с учетной записью руководство , если у меня есть следующий фрагмент кода:

```{r knnPlot, echo=FALSE, fig.cap="Knn Plot"}
    knitr::include_graphics("knn-cs3-gs2.png")
```

тогда у меня должна быть автоматически сгенерированная метка fig: knnPlot, потому что использование fig.cap, очевидно, помещает R в окружение фигуры и автоматически добавляет «fig» к метке. Затем он говорит мне, что я должен иметь возможность ссылаться на рисунок, используя \ @ref (метка) или, точнее, в этом случае \ @ref (fig: knnPlot)

Однако, когда я делаю это, выводится текст "\ @ref (fig: knnPlot)", а не фактическая перекрестная ссылка. Там нет рисунка, нет нумерации. Как это должно работать?

Я не могу заставить метод жесткого кодирования, предложенный здесь , работать. Также я не могу заставить работать единственную другую опцию, которая говорит мне об установке pandoc-crossreference, которая ведет меня к нелепой кроличьей норе установки haskell всех вещей наряду с бесконечными зависимостями и непонятными бессмысленными сообщениями об ошибках, которые приводят к поразительно бесполезные форумы разработчиков, заполненные 6 страницами журналов ошибок.

1 Ответ

0 голосов
/ 04 мая 2018

Вы не создаете документ уценки. Используйте bookdown::html_document2 вместо:

---
title: "Bookdown"
output: 
  bookdown::html_document2:
    fig_caption: yes
    number_sections: yes
    toc: yes
---

```{r Doge, echo=FALSE, fig.cap="Mighty Doge"}
knitr::include_graphics("unnamed.png")
```

Check out this picture: \@ref(fig:Doge)

enter image description here

...