Извлечение параметров YAML в преамбулу LaTeX для документа RMarkdwon - PullRequest
0 голосов
/ 16 октября 2019

Я свободно признаю, что почти не знаю LaTeX, так что это может быть очень простой вопрос.

Моя компания составляет отчеты с использованием RMarkdown. Для применения стилей, включая титульную страницу, существует отдельный файл preamble.tex, который их определяет.

Однако некоторые значения в файле preamble.tex жестко запрограммированы. Вот пример результата:

enter image description here

Однако я хотел бы передать эти значения "из tex" как параметры из RMarkdown. код (предположительно как значения YAML?). Это возможно? Если да, то как?

Если это поможет, я загрузил код, использованный для запуска вышеупомянутого (вместе с копией PDF-файла, который он генерирует) здесь: http://mm -c.me /работа / RMarkdown-LaTeX /

1 Ответ

0 голосов
/ 16 октября 2019

Это не очень просто, но вы можете сделать это, изменив шаблон Pandoc.

Шаблоны по умолчанию для вывода LaTeX находятся в system.file("rmd/latex", package = "rmarkdown"). Если у вас нет достаточно старой версии Pandoc, вам, вероятно, нужна версия с именем default-1.17.0.2.tex. (Номер - версия Pandoc.)

Как описано на этой странице: https://bookdown.org/yihui/rmarkdown/template-pandoc.html,, вы можете изменить этот шаблон для включения дополнительных параметров.

Обычно ваш

includes:
  in_header: preamble.tex

помещает файл preamble.tex непосредственно перед \begin{document}, так что вы можете сделать это, поместив туда его копию самостоятельно, заменив каждый из аргументов. как title from tex с переменными Pandoc, например $titlefromtex$, например,

\fancyhead[L]{\color{clientdark}\small $titlefromtex$ \textbar{ } $periodfromtex$}

Сохраните новый файл в template.tex, затем в YAML, введите аргументы верхнего уровня с соответствующими именами и аргументом pdf_documentНаименование шаблона, например

output:
  pdf_document:
    latex_engine: xelatex
    fig_caption: yes
    keep_tex: true
    template: template.tex
  html_document:
    df_print: paged
titlefromtex: The Title
periodfromtex: The Period
versionfromtex: The Version
descriptionfromtex: The Description
...