Вы можете сделать это, но это сложно.Способ, который работает, состоит в том, чтобы поместить все header.tex
в поле header-includes:
заголовка YAML.(К сожалению, у вас не может быть и header-includes:
, и includes: in_header
.) Вы можете выполнить R-код в строках в заголовке YAML, чтобы вы правильно установили \fancyhead
.Например:
---
output:
pdf_document:
keep_tex: true
header-includes:
- \usepackage{fancyhdr}
- \pagestyle{fancy}
- '`r paste0("\\fancyhead[CO,CE]{", params$figureno, "}")`'
- \fancyfoot[CO,CE]{And this is a fancy footer}
- \fancyfoot[LE,RO]{\thepage}
- \renewcommand\headrule{\vspace{3pt}\hrulefill}
params:
figureno: "Fig. 1-1"
---
Обратите внимание, что обратный слеш необходимо удвоить в коде R paste0("\\fancyhead[CO,CE]{", params$figureno, "}")
, чтобы в результате получился один обратный слеш в результате.
Также обратите внимание, что код R должен быть встроенным кодом R, заключенным в обратные черты , а затем также , заключенным в кавычки как строковую константу.Я видел рекомендации по использованию одинарных кавычек в строковой константе вместо двойных, но я не знаю, имеет ли это значение.