- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试交叉引用使用knitr/rmarkdown 生成的PDF 中的图形和表格。关于 SO 和 tex.stackexchange 有一些问题(例如 here 和 here ),建议内联执行此操作的方法是添加 \ref{fig:my_fig}
,其中my_fig
是 block 标签。但是,当我在 rmarkdown
文档中尝试这样做时,我得到了 ??
数字应该在的位置。我想了解如何使交叉引用正常工作。
下面是一个可重现的示例。有两个文件:rmarkdown
文件加上我包含的 header.tex
文件,以防万一它影响答案(尽管我有同样的问题,无论我是否包含是否包含 header.tex
文件)。
在rmarkdown
文件中存在三个交叉引用示例。示例 1 是交叉引用失败的图形(显示 ??
而不是图形编号)。还有第二个注释掉的尝试(基于 this SO answer ),我尝试在 block 之前和之后使用 latex
标记设置图形环境、标签和标题,但这会导致当我尝试编织文档时 pandoc
错误。错误是:
! Missing $ inserted.
<inserted text>
$
l.108 ![](testCrossRef_
示例 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
geometry: margin=1in
graphics: yes
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message=FALSE, warning=FALSE, fig.height=2, fig.width=4)
```
# Example 1. Figure
This is a report. Take a look at Figure \ref{fig:fig1}.
```{r fig1, echo=FALSE, fig.cap="This is a caption"}
plot(mtcars$wt, mtcars$mpg)
```
<!-- Now, let's take a look at this other plot in Figure \ref{fig:fig2}. -->
<!-- \begin{figure} -->
<!-- ```{r fig2, echo=FALSE} -->
<!-- plot(mtcars$cyl, mtcars$mpg) -->
<!-- ``` -->
<!-- \caption{This is another caption} -->
<!-- \label{fig:fig2} -->
<!-- \end{figure} -->
# Example 2: `xtable`
Some more text. See Table \ref{tab:tab1} below.
```{r echo=FALSE, results="asis"}
library(xtable)
print.xtable(
xtable(mtcars[1:3,1:4], label="tab:tab1", caption="An xtable table"),
comment=FALSE)
```
# Example 3: `kable`
Some more text. See Table \ref{tab:tab2} below.
```{r tab2, echo=FALSE}
library(knitr)
kable(mtcars[1:3,1:4], caption="A `kable` table")
```
header.tex
文件% Caption on top
% https://tex.stackexchange.com/a/14862/4762
\usepackage{floatrow}
\floatsetup[figure]{capposition=top}
\floatsetup[table]{capposition=top}
最佳答案
您可以使用输出格式 bookdown::pdf_document2
而不是 pdf_document
,引用图形的语法为 \@ref(fig:chunk-标签)
;有关详细信息,请参阅文档:https://bookdown.org/yihui/bookdown/figures.html
关于r - 针织/rmarkdown/ latex : How to cross-reference figures and tables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38861041/
我是一名优秀的程序员,十分优秀!