[英]Suppress automatic figure numbering in pdf output with r markdown/knitr
[英]Replace the automatic numbering of captions inrmarkdown / knitr / pdf
我正在用Rmarkdown生成一个PDF文档,我想在其中手动定义图形编号 。
下面是一个块的示例:
```{r chunk26, fig.cap = "Fig. 5.3 My figure caption"}
plot(1, 1)
```
我使用特殊的编号来遵循文档的各章。
问题是,当我编织PDF时,会在每个标题之前自动添加“图X:”。 结果,我的图形标题看起来像这个例子:
注意我在rmarkdown文件的开头使用了以下参数:
output:
pdf_document:
fig_caption: yes
因此,我的问题是:
使用rmarkdown / knitr生成PDF时,是否可以在图形标题之前删除“ Figure X”的自动生成?
在kohske发布的链接的基础上,我终于设法找到一种解决方法,即根据模板定义图形编号
图#节。图
例如:图3.1
这不是我最初想要做的(即删除数字的自动编号),但这是一个不错的解决方法。
首先,在与rmarkdown文件相同的目录中创建一个“ mystyle.sty”文件。 在此mystyle.sty文件中,放入以下代码行:
\usepackage{chngcntr}
然后,在rmarkdown文件的标题中,添加以下信息:
output:
pdf_document:
fig_caption: yes
includes:
in_header: mystyle.sty
这样做的目的是确保rmarkdown要求乳胶使用允许您创建适当的自动编号的软件包。
下一步是将其添加到文档的开头:
\counterwithin{figure}{section}
因此数字将在每个部分中编号。
然后,您可以使用\\setcounter{section}{#}
手动定义“ section”和“ figure”的值
实际上,您要做的只是将以下两行放在每个部分的开头:
\setcounter{section}{1}
\setcounter{figure}{0}
如果您在第3节中, \\setcounter{section}{1}
更改为\\setcounter{section}{3}
。
这正常工作; 例如,我的第5部分的图3是:
但是,仍然存在另一个问题:尽管这解决了编织的PDF问题,但不适用于HTML。 如果您使用同一文档来生成PDF和HTML文件,则您的PDF将具有良好的编号,而您的HTML将不会具有任何编号。 我仍然没有弄清楚如何在HTML中做同样的事情。
这很棘手,但是您可以通过以下方法做到这一点:
\setcounter{figure}{25}
```{r, fig.cap="hoge"}
plot(1)
```
如果您想获得连续编号,那么这里是一些信息: https : //tex.stackexchange.com/questions/28333/continuous-v-per-chapter-section-numbering-of-figures-tables-and-other-docume
您可以使用:
header-includes:
\renewcommand{\caption}{Figure}
在YAML标头中。 然后,在代码块中,使用:
```{r, fig.cap=" 5.3: Response functions"}
...
```
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.