如何在 Rmarkdown 中制作图形标题?
How to make a figure caption in Rmarkdown?
我正在考虑用 rmarkdown 和 latex 写我的论文。我正在了解它是如何工作的,但是,当我尝试向文本添加图形(不是 R 图)并将其呈现为 pdf 时,标题和 in-text 参考消失了。
这是我用来添加图形的代码片段:
---
title: "Untitled"
output: pdf_document
---
see figure \ref{fig1}.
![picture \label{fig1}](figure1.png)
这是 knitr 创建的:
这是 pandoc 创建的:
问题:
如何制作图形标题和 in-text 引用 Rmarkdown 中呈现为 pdf 时将显示的图形?
或
我如何告诉 pandoc Rmarkdown 是什么以便它渲染 R 代码和绘图?
更新:请检查https://github.com/yihui/knitr/issues/1063。
Question: How do I make figure captions and in-text references to those figures in Rmarkdown that will display when rendered to pdf?
要在 LaTeX 生成的 PDF 中获得交叉引用,您需要多次 运行 LaTeX。一些 LaTeX IDE 为您完成。
knitr 只 运行ning LaTeX 一次,这就是你只得到 ??
的原因。为了确认这是我的问题 运行
library(knitr)
knitr()
在返回的 R 中
see figure \ref{fig1}.
\begin{figure}[htbp]
\centering
\includegraphics{imagem.jpg}
\caption{picture \label{fig1}}
\end{figure}
这是一个有效的 LaTeX 代码。
How do I tell pandoc what Rmarkdown is so it will render R code and plots?
Pandoc 只理解 Markdown(不理解 RMarkdown)。首先,您必须调用 knitr 从 RMarkdown 生成 Markdown,然后调用 Pandoc 将 Markdown 转换为 LaTeX。
请参阅 PDF output 的 R Markdown 文档,特别是查找 fig_caption
。默认情况下,R Markdown 中的图形标题是关闭的,您必须将其打开 (fig_caption: true
)。您也可以从 RStudio 工具栏上的齿轮按钮找到此设置 IDE.
我刚刚找到了一个非常有用的解决方案 here。
首先,包括以下块:
```{r functions, include=FALSE}
# A function for captioning and referencing images
fig <- local({
i <- 0
ref <- list()
list(
cap=function(refName, text) {
i <<- i + 1
ref[[refName]] <<- i
paste("Figure ", i, ": ", text, sep="")
},
ref=function(refName) {
ref[[refName]]
})
})
```
之后,我们可以在图块选项中添加figure/table的标题,如:
```{r, fig.cap=paste("Your caption.")}
- 发现
fig.cap
与 paste.
配合使用效果更好
我正在考虑用 rmarkdown 和 latex 写我的论文。我正在了解它是如何工作的,但是,当我尝试向文本添加图形(不是 R 图)并将其呈现为 pdf 时,标题和 in-text 参考消失了。
这是我用来添加图形的代码片段:
---
title: "Untitled"
output: pdf_document
---
see figure \ref{fig1}.
![picture \label{fig1}](figure1.png)
这是 knitr 创建的:
这是 pandoc 创建的:
问题: 如何制作图形标题和 in-text 引用 Rmarkdown 中呈现为 pdf 时将显示的图形?
或
我如何告诉 pandoc Rmarkdown 是什么以便它渲染 R 代码和绘图?
更新:请检查https://github.com/yihui/knitr/issues/1063。
Question: How do I make figure captions and in-text references to those figures in Rmarkdown that will display when rendered to pdf?
要在 LaTeX 生成的 PDF 中获得交叉引用,您需要多次 运行 LaTeX。一些 LaTeX IDE 为您完成。
knitr 只 运行ning LaTeX 一次,这就是你只得到 ??
的原因。为了确认这是我的问题 运行
library(knitr)
knitr()
在返回的 R 中
see figure \ref{fig1}.
\begin{figure}[htbp]
\centering
\includegraphics{imagem.jpg}
\caption{picture \label{fig1}}
\end{figure}
这是一个有效的 LaTeX 代码。
How do I tell pandoc what Rmarkdown is so it will render R code and plots?
Pandoc 只理解 Markdown(不理解 RMarkdown)。首先,您必须调用 knitr 从 RMarkdown 生成 Markdown,然后调用 Pandoc 将 Markdown 转换为 LaTeX。
请参阅 PDF output 的 R Markdown 文档,特别是查找 fig_caption
。默认情况下,R Markdown 中的图形标题是关闭的,您必须将其打开 (fig_caption: true
)。您也可以从 RStudio 工具栏上的齿轮按钮找到此设置 IDE.
我刚刚找到了一个非常有用的解决方案 here。
首先,包括以下块:
```{r functions, include=FALSE}
# A function for captioning and referencing images
fig <- local({
i <- 0
ref <- list()
list(
cap=function(refName, text) {
i <<- i + 1
ref[[refName]] <<- i
paste("Figure ", i, ": ", text, sep="")
},
ref=function(refName) {
ref[[refName]]
})
})
```
之后,我们可以在图块选项中添加figure/table的标题,如:
```{r, fig.cap=paste("Your caption.")}
- 发现
fig.cap
与paste.
配合使用效果更好