Создать заметку в R Markdown - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь создать следующий формат памятки в R Mardown: https://texblog.org/2012/03/07/writing-a-memo-in-latex/

---
csl: texMemo.csl

\memoto{someone} 
output: pdf_document
---

Я не уверен, куда поместить текст, будь то в заголовке YAML или в телеУценка R.Также латексный код не работает в шапке.Я думаю, что есть простое решение, но я не могу найти ответы.Спасибо.

1 Ответ

0 голосов
/ 20 февраля 2019

Существует разница между csl и cls.Файл .cls является файлом определения класса документа, тогда как файлы .csl определяют стили цитирования.

1.Сделайте TeX

известным новым классом документов. Перейдя по вашей ссылке, мы получим файл определения класса.Обычно вы помещаете файл в локальное дерево каталогов texmf (как бы устанавливаете его) и затем можете создавать текстовые документы, используя \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.

enter image description here


Sidenote:

Продукт такогопроцесс может быть пакетом, предоставляющим ваш собственный формат вывода.У меня было немного свободного времени и я создал такой пакет.Вы можете установить его, используя

devtools::install_github("martinschmelzer/rmemo")

Затем вы можете выбрать шаблон «Меморандум» в меню «Файл» -> «Создать» -> «RMarkdown».Логотип добавляется с помощью опции YAML logo: mylogo.png.Практически все остальные параметры YAML, задокументированные для шаблона латекса по умолчанию, также работают.То же самое можно сказать и о geometry, если вы хотите изменить поля документа.

Я взял код у Роба Ока (создателя класса документов texMemo) и поместил его непосредственно в шаблон латекса по умолчанию.Если вы хотите внести изменения / улучшения, не стесняйтесь открывать пул-запросы.

...