用书记来引用数字

时间:2017-01-20 15:10:53

标签: r r-markdown cross-reference figures bookdown

出于某种原因,我在书籍记录文档中存在交叉引用数字的问题。这是一个最小的例子:

---
output: 
  bookdown::html_document2: 
    fig_caption: yes
---

Reference example: \@ref(fig:plot-cars):

```{r plot-cars, fig.cap = "A car plot"}
plot(cars)
```

当我编织时,R Markdown会发出以下警告......

Warning message:
The label(s) fig:plot-cars not found

...而且这个结果: enter image description here

此问题似乎与this one非常相似,bookdown的更新解决了这个问题。据我了解session_info(),这不应该是一个问题:

Session info -----------------------------------------------------------------------------------------
 setting  value                       
 version  R version 3.3.1 (2016-06-21)
 system   i386, mingw32               
 ui       RStudio (0.99.489)          
 language (EN)                        
 collate  German_Germany.1252         
 tz       Europe/Berlin               
 date     2017-01-20                  

Packages ---------------------------------------------------------------------------------------------
 package   * version date       source        
 bookdown    0.3     2016-11-28 CRAN (R 3.3.2)
 devtools    1.9.1   2015-09-11 CRAN (R 3.2.2)
 digest      0.6.8   2014-12-31 CRAN (R 3.2.2)
 htmltools   0.3.5   2016-03-21 CRAN (R 3.2.4)
 knitr       1.11    2015-08-14 CRAN (R 3.2.2)
 memoise     0.2.1   2014-04-22 CRAN (R 3.2.2)
 Rcpp        0.12.8  2016-11-17 CRAN (R 3.3.2)
 rmarkdown   0.8.1   2015-10-10 CRAN (R 3.2.2)
 yaml        2.1.13  2014-06-12 CRAN (R 3.2.2)

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果有人在更新所有包时遇到此问题,请检查您的引用是否已正确指定。使用??而不是\@ref(fig:missings)引用包含表的块时,\@ref(tab:missings)也会出现在pdf输出中。这解决了我。

答案 1 :(得分:0)

代码块的名称中不能包含特殊字符。我建议使用camelCase只是为了确保。即这应该工作:

---
output: 
  bookdown::html_document2: 
    fig_caption: yes
---

```{r plotCars, fig.cap = "A car plot"}
plot(cars)
```

Reference example: \@ref(fig:plotCars):