使用knitr在R markdown中绘制LaTeX图的标题

我正在编写一个.rmd文件,使用knitr转换为.pdf.在我的降价文件中,我有一系列经典的R图,它们是以块的形式生成的,因此编号和编码都是由编织者编写的.

现在,我想在显示我的R图之前添加和标题在LaTeX中生成的简单因果图.如何将我的LaTeX图表编号为与其他R图相同序列的图形?那么为我的LaTeX数字添加标题怎么样?

我的rmarkdown文档的一个简单示例来说明:

---
title: "Figure captions"
output: 
    pdf_document:
        fig_caption: yes
        number_sections: yes
header-includes:
    - \usepackage{tikz}
    - \usetikzlibrary{arrows, shapes, positioning, calc}
---

# A simple LaTeX diagram with no caption

This LaTeX diagram should register as 'Figure 1':

\tikzset{line/.style = {draw, -latex},
        cloud/.style = {draw, ellipse, node distance=3cm,
                        minimum height=2em}
}
\begin{tikzpicture}[node distance = 6cm, auto]
    \node [cloud] (init) {Z1};
    \node [cloud, below left = 2 of init] (X1) {X1}; 
    \node [cloud, below right = 2 of init] (Y1) {Y1};
    \node [cloud, below = of init] (Z2) {Z2};
    \path [line] (X1) -- (Y1);
    \path [line] (init) -- ($(X1)!0.5!(Y1)$);
    \path [line] (Z2) -- ($(X1)!0.5!(Y1)$);
\end{tikzpicture}


# A simple R plot with a caption

Here is a generic R plot that should be 'Figure 2', but is generated as 'Figure 1':

```{r figure2, echo=FALSE, fig.cap="This should be called Figure 2"}
library(ggplot2)
qplot(mpg, wt, data = mtcars)
```

换句话说,我正在寻找一种方法让knitr将我的LaTeX图识别为与我的代码块中生成的图相同的图,所以我可以简单地将其视为序列中的另一个图.我怎样才能做到这一点?

最佳答案 看起来你已经在你的markdown文件中包含了LaTeX代码,你可以将你的tikz代码包装在标准数字环境中吗?我相信编号是由LaTeX完成的,而不是编织者,因此knitr不应该知道这是一个数字.

点赞