我正在尝试在R Mardown中创建以下备忘录格式: https://texblog.org/2012/03/07/writing-a-memo-in-latex/
---
csl: texMemo.csl
\memoto{someone}
output: pdf_document
---
我不确定将文本放在哪里,无论是在YAML标头中还是在R Markdown的正文中。乳胶代码也无法在标头中使用。我以为有一个简单的解决方案,但我找不到答案。谢谢。
答案 0 :(得分:3)
csl
和cls
之间是有区别的。 .cls
文件是文档类定义文件,而.csl
文件定义引用样式。
1。使TeX知道新的文档类
按照您的链接,我们将获得一个类定义文件。通常,您可以将文件放置在本地texmf目录树中(如果需要的话,可以安装它),然后可以使用\documentclass{texMemo}
创建tex文档。在安装类定义时检查this线程。
或者,您可以简单地将.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")
然后,您可以从文件->新建-> RMarkdown中选择“备忘录”模板。使用YAML选项logo: mylogo.png
添加了徽标。记录的默认乳胶模板几乎所有其他YAML选项也都可以使用。如果您想更改文档页边距,geometry
也是如此。
我从Rob Oak(文档类texMemo的创建者)那里获取了代码,并将其直接添加到默认的乳胶模板中。如果要进行更改/改进,请随时打开请求请求。