我试图在用knitr/rmarkdown制作的PDF中交叉引用数字和表格.关于SO和tex.stackexchange(这里和这里,例如)有一些问题,建议内联的方法是添加\ref{fig:my_fig},my_fig块标签在哪里.但是,当我在我的rmarkdown文档中尝试时,我会得到??图号应该在哪里.我想了解如何使交叉引用正常工作.
可重复的例子如下.有两个文件:rmarkdown文件加上header.tex我包含的文件,以防它影响答案(尽管我是否包含header.tex文件也有同样的问题).
在该rmarkdown文件中有三个交叉引用示例.示例1是交叉引用失败的图(??显示而不是图号).还有第二个注释掉的尝试(基于这个SO答案),我尝试latex在块之前和之后用标记设置图形环境,标签和标题,但是pandoc当我尝试编织文档时这会导致错误.错误是:
Run Code Online (Sandbox Code Playgroud)! Missing $ inserted. <inserted text> $ l.108 , '%B %e, %Y')`"
output:
pdf_document:
fig_caption: yes
includes:
in_header: header.tex
keep_tex: yes
fontsize: 11pt …Run Code Online (Sandbox Code Playgroud) 我试图使用bookdown包引用一个表.在文档中,作者仅展示了如何使用创建表knitr::kable.
```{r table1}
knitr::kable(
head(iris, 20), caption = 'Here is a nice table!',
booktabs = TRUE
)
```
Run Code Online (Sandbox Code Playgroud)
表\@ref(tab:table1)在这里.
使用knitr::kable效果很好.显示表格的标题,我可以参考表格.我想用经典的手工制作降价表做同样的事情,但显然下面的代码失败了.我可以做些什么来获得与上面代码类似的结果?
```{r table2, echo=FALSE, results='asis'}
cat('| Sepal.Length| Sepal.Width| Petal.Length|
|------------:|-----------:|------------:|
| 5.1| 3.5| 1.4|
| 4.9| 3.0| 1.4|
| 4.7| 3.2| 1.3|
| 4.6| 3.1| 1.5|')
```
Run Code Online (Sandbox Code Playgroud)
表\@ref(tab:table2)在这里.
此图显示了此代码编织时的输出.
