lf_*_*ujo 7 r knitr r-markdown
我想用 knitr 生成一个 Latex 文档,但它不允许我将图形的标签更改为我的语言。编码:
```{r rstudio, echo = FALSE, fig.cap = "RStudio IDE", fig.margin = T}
plot(pressure)
```
Run Code Online (Sandbox Code Playgroud)
这会产生:
但是我希望标题标签读取 Figura: (portuguese) 而不是 Figure: 。我添加了变量lang: pt-br
,它在我用 调用它时进行了纠正\@ref(fig:rstudio)
,但不修复图形标签。
您实际上可以直接在 Rmd 文件中包含 LaTeX 代码来更改设置。
正如这个答案所解释的那样,像“图”和“内容”这样的名称存储在像\figurename
和这样的宏中\contentsname
。要更改它们,您必须\renewcommand
在序言中更改相应宏的定义:
\renewcommand{\figurename}{Fig.}
\renewcommand{\contentsname}{Table of Contents}
Run Code Online (Sandbox Code Playgroud)
这里是由乳胶标准类中定义的“宏名”(以及其默认的意思)的列表article
,book
以及report
:
\abstractname
[only article
, report
]: 摘要\appendixname
: 附录\bibname
[仅book
, report
]: 参考书目\chaptername
[仅book
, report
]:章节\contentsname
: 内容\figurename
: 数字\indexname
: 指数\listfigurename
: 图一览\listtablename
: 表列表\partname
: 部分\refname
[仅article
]:参考文献\tablename
: 桌子这是您的场景的 MWE:
---
output:
pdf_document: default
---
\renewcommand{\figurename}{YOUR LABEL}
\renewcommand{\tablename}{TABLE LABEL}
```{r Table, echo =FALSE}
knitr::kable(iris[1:5,], caption = "A table")
```
```{r pressure, echo=FALSE, fig.cap="Test Caption"}
plot(pressure)
```
Run Code Online (Sandbox Code Playgroud)
神奇的 bookdown 包在 RMarkdown 和 knitr 的基础上扩展了很多。包允许您设置内化的一件事,如解释here。