相关疑难解决方法(0)

knitr/rmarkdown/Latex:如何交叉引用数字和表格?

我试图在用knitr/rmarkdown制作的PDF中交叉引用数字和表格.关于SO和tex.stackexchange(这里这里,例如)有一些问题,建议内联的方法是添加\ref{fig:my_fig},my_fig块标签在哪里.但是,当我在我的rmarkdown文档中尝试时,我会得到??图号应该在哪里.我想了解如何使交叉引用正常工作.

可重复的例子如下.有两个文件:rmarkdown文件加上header.tex我包含的文件,以防它影响答案(尽管我是否包含header.tex文件也有同样的问题).

在该rmarkdown文件中有三个交叉引用示例.示例1是交叉引用失败的图(??显示而不是图号).还有第二个注释掉的尝试(基于这个SO答案),我尝试latex在块之前和之后用标记设置图形环境,标签和标题,但是pandoc当我尝试编织文档时这会导致错误.错误是:

! Missing $ inserted.
<inserted text> 
                $
l.108 ![](testCrossRef_
Run Code Online (Sandbox Code Playgroud)

示例2使用xtable和交叉引用工作.示例3使用kable和交叉引用失败.

PDF帖子的屏幕截图包含在本文的底部.

rmarkdown 文件

---
title: | 
  | My Title  
author: | 
  | eipi10  
  | Department of Redundancy Department  
date: "`r format(Sys.time(), '%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)

latex r cross-reference knitr r-markdown

52
推荐指数
2
解决办法
3万
查看次数

使用bookdown包引用"手工制作"表

我试图使用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)在这里.

图显示了此代码编织时的输出.

这个

r knitr r-markdown bookdown

13
推荐指数
1
解决办法
1381
查看次数

标签 统计

knitr ×2

r ×2

r-markdown ×2

bookdown ×1

cross-reference ×1

latex ×1