尽管在这个问题上有很多问题,但我找不到想要的东西。
我有一个这样的R文件
calculation <- 2+6
footer <- sprintf("Nice footer: %s", calculation)
rmarkdown::render("My_Markdown.Rmd",output_format = "pdf_document",
output_file="myfile.pdf")
使用My_Markdown.rmd:
---
output:
pdf_document:
number_section: yes
toc: yes
toc_depth: 4
keep_tex: yes
includes:
in_header: header.tex
---
```{r, results='asis'}
cat(calculation)
```
header.tex在其中加载一些乳胶包装的地方。
我希望页脚能成为pdf每页上的页脚。在这种程度上,我尝试了
的几个变体(在header.tex中或不使用““;在header.tex中或单独在header-includes中)\pagestyle{fancy}
\fancyfoot[CO,CE]{`r footer`}
\fancyfoot[LE,RO]{\thepage}
到目前为止,没有一个有效。有解决方案的人吗?
答案 0 :(得分:2)
在代码块之外添加您的乳胶代码并使用“r
”传递变量
\fancyfoot[L]{`r variable_name`}
答案 1 :(得分:1)
将文件传递到includes
参数时,不能在其中使用代码块或内联代码。它们不会被评估。
由于R Markdown文件是使用脚本生成的,因此可以像这样动态创建header.tex
文件:
calculation <- 2+6
footer <- sprintf("Nice footer: %s", calculation)
writeLines(sprintf(
'\\usepackage{fancyhdr}
\\pagestyle{fancy}
\\fancyfoot[CO,CE]{%s}
\\fancyfoot[LE,RO]{\\thepage}
', footer), "header.tex")
rmarkdown::render("My_Markdown.Rmd",
output_format = "pdf_document",
output_file="myfile.pdf")
不要忘记在R Markdown文件中使用twoside
类:
---
output:
pdf_document:
number_section: yes
toc: yes
toc_depth: 4
keep_tex: yes
includes:
in_header: header.tex
classoption: twoside
---
```{r, results='asis'}
cat(calculation)
```