4

让 knitr 进行交叉引用的正确方法是什么?文档中推荐的方法(见下文)对我不起作用。我正在用 knitr 和 tufte_book 模板写一本书。我似乎无法让数字(或表格)的交叉引用正常工作。我附上了一个小剪辑,该剪辑始终无法在文档中更新交叉引用。我在 x86_64-apple-darwin13.4.0 上运行 R 3.2.3。我知道这个问题之前已经回答过,但所有答案都以同样的方式失败。不,我不想使用 bookdown。

---
title: "Cross-references SNAFU"
output:
  tufte::tufte_book:
    citation_package: natbib
    latex_engine: xelatex
---
```{r ch3-inits, include=FALSE}
library(tufte)
library(knitr)
knitr::opts_chunk$set(eval.after = 'fig.cap') 

```
\chapter{Not Working Cross References, the beginning \label{chap:alpha} }

```{r t-test, fig.cap=paste('$2 \\times 2$ is', 2*2), fig.height=2.5}
x = rnorm(30)
par(mar=c(4, 4, .1, .1))
hist(x, main='')
```


Here is the reference to that Figure \ref{fig:t-test}.  NOT.

这是输出的剪辑: resultant pdf output

4

1 回答 1

0

解决这个问题的方法是在 YAML 中设置 keep_tex: true ,然后在 Rstudio 之外单独运行 (La)Tex 文件。我知道愚蠢,但它有效。仍然不知道为什么它会与多个子文档混淆,但对我来说似乎是这样。

于 2016-10-10T22:50:05.213 回答