国际化 R knitr 图标题标签

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),但不修复图形标签。

  • 如何更改 Rmarkdown 中的标题标签?

Mic*_*per 5

您实际上可以直接在 Rmd 文件中包含 LaTeX 代码来更改设置。

正如这个答案所解释的那样,像“图”和“内容”这样的名称存储在像\figurename和这样的宏中\contentsname。要更改它们,您必须\renewcommand在序言中更改相应宏的定义:

\renewcommand{\figurename}{Fig.}
\renewcommand{\contentsname}{Table of Contents}
Run Code Online (Sandbox Code Playgroud)

这里是由乳胶标准类中定义的“宏名”(以及其默认的意思)的列表articlebook以及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