Есть разница между csl
и cls
. Файл .cls
- это файл определения класса документа, тогда как файлы .csl
определяют стили цитирования.
1. Сделайте новый класс документа известным TeX
Следуя вашей ссылке, мы получаем файл определения класса. Обычно вы помещаете файл в свое локальное дерево каталогов texmf (если хотите, устанавливаете его), а затем можете создавать документы tex с помощью \documentclass{texMemo}
. Просмотрите эту ветку об установке определений классов.
В качестве альтернативы вы можете просто поместить файл .cls
в тот же каталог, что и ваш документ RMarkdown.
2. Создайте новый шаблон
Впоследствии вы можете установить параметр YAML dcoumentclass: texMemo
, но вы столкнетесь с конфликтом с шаблоном pdf по умолчанию. Итак, что вам нужно сделать, это также создать шаблон pandoc (назовем его template.tex
) и включить его с помощью параметра YAML template: template.tex
. Базовый шаблон может быть
\documentclass{texMemo}
\usepackage{graphicx} % needed for the logo
\memoto{$to$}
\memofrom{$from$}
\memosubject{$title$}
\memodate{$date$}
\logo{$logo$}
\begin{document}
\maketitle
$body$ % will be replaced by the content of your rmd document
\end{document}
Поместите его в тот же каталог.
3. Создайте RMD
Наконец, вы можете создать свой документ rmarkdown. Вот пример:
---
title: "Dinner"
to: Ralf
from: Martin
date: "`r Sys.time()`"
output:
pdf_document:
template: template.tex
logo: "\\includegraphics[width=.25\\textwidth]{unnamed.png}"
---
Let us have dinner next week.
Примечание:
Продуктом такого процесса может быть пакет, предоставляющий ваш собственный выходной формат. У меня было свободное время, и я создал такой пакет. Вы можете установить его, используя
devtools::install_github("martinschmelzer/rmemo")
Затем вы можете выбрать шаблон «Меморандум» из File -> New -> RMarkdown. Логотип добавляется с помощью параметра YAML logo: mylogo.png
. Почти все другие параметры YAML, задокументированные для латексного шаблона по умолчанию, также работают. То же самое и geometry
, если вы хотите изменить поля документа.
Я взял код от Роба Оука (создателя класса документов texMemo) и встроил его непосредственно в латексный шаблон по умолчанию. Если вы хотите внести изменения / улучшения, не стесняйтесь открывать запросы на включение.
person
Martin Schmelzer
schedule
20.02.2019