首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法用针织品生成\label{fig:mwe-plot}

我无法用针织品生成\label{fig:mwe-plot}
EN

Stack Overflow用户
提问于 2014-06-06 16:21:49
回答 1查看 3.8K关注 0票数 11

当我使用\label{}从一个*.Rmd文件通过knitr从一个*.md文件到一个*.md文件,然后通过pandoc转换到*.pdf时,我很难为情节生成*.md

我的*.Rmd的MWE包括在下面:

代码语言:javascript
复制
```{r Setup, include=FALSE, results="hide", warning=FALSE}

opts_chunk$set(dev="cairo_pdf",fig.lp=“图:”,echo=FALSE,results=“隐藏”,

代码语言:javascript
复制
           message=FALSE, warning=FALSE)
代码语言:javascript
复制
```{r mwe-plot, fig.cap = "MWE plot."}

图书馆(Ggplot2)

(mtcar,aes(因子(Cyl)+

geom_bar()

代码语言:javascript
复制

我织:

代码语言:javascript
复制
knit("mwe.Rmd") 

然后我用pandoc

代码语言:javascript
复制
pandoc -o mwe.pdf mwe.md 

我应该能够在我的Figure \ref{fig:mwe-plot}源代码中交叉引用这个情节。但是,如果我运行的话,\label{fig:mwe-plot}似乎还没有在mwe.tex中创建:

代码语言:javascript
复制
pandoc -o mwe.pdf mwe.md

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 17:20:14

问题是,您正在编写一个R标记文件,而与LaTeX相关的选项在此类文档中不起作用(它们没有效果)。fig.cap可以工作,但是fig.lp不会,也不会添加任何\label{},因为Rmd文档的输出钩子是可标记的,而且通常没有标签等等。

在这种情况下,您需要手动用\label{}编写fig.cap,就像在LaTeX文档中显式地添加它一样。例如:

代码语言:javascript
复制
```{r mwe-plot, fig.cap = "\\label{fig:mwe-plot}MWE plot."}

图书馆(Ggplot2)

(mtcar,aes(因子(Cyl)+

geom_bar()

代码语言:javascript
复制

现在,针织品将使用标记图像标记约定逐字将标题转储到标记文件中(在R中输入字符串时,我们需要转义反斜杠,因此\\fig.cap参数中)。然后,Pandoc将能够使用这个标题,标签和对它的引用都应该自己解决。

另一个选项更复杂;没有什么可以阻止您编写自己的自定义钩子来帮助您这样做,但是您必须研究LaTeX钩子和MD钩子,以了解如何将两者的元素组合起来。

请注意,此问题(与LaTeX输出相关的块选项)适用于编写Rmd文件时的所有此类块选项。这在KNitr网站的选项页面中是隐含的,但当我第一次开始使用带有标记的Knitr和使用pandoc渲染时,它仍然让我感到意外。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24086498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档