我正在使用最新的R Studio,R 3.2.5,rmarkdown 0.9.6,它与pandoc 1.15.2一起编写期刊文章。提交要求:linespacing: 1.43
和摘要下方的keywords:
行。
当我点击Knit PDF
时,我会获得默认模板"C:\R\R-3.2.5\library\rmarkdown\rmd\latex\default-1.15.2.tex"
,不支持支持YAML标头中的这些字段。我看到default-1.17.02.tex
支持linespacing:
,但不支持keywords:
。
我尝试修改后一个模板以添加关键字处理,这似乎很简单。我称之为modified-template-1.17.0.2.tex
的模板的相关部分是
$if(title)$
\maketitle
$endif$
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$endif$
\providecommand{\keywords}[1]{\textbf{\textit{Keywords---}} #1}
$if(keywords)$
\keywords{$keywords$}
$endif$
我使用了下面的YAML标题,pandoc
找到了它;但是,它生成.tex
语法错误,与keywords:
字段无关。我认为rmarkdown
模板特定于pandoc
的版本,但我无从谈论。
任何人都可以帮忙吗?
---
title: "My title"
author: ME
date: '`r format(Sys.time(), "%B %d, %Y")`'
output:
pdf_document:
fig_caption: yes
keep_tex: yes
number_sections: yes
template: "modified-template-1.17.0.2.tex"
keywords: Box M test, HE plots, MANOVA, graphics, ...
abstract: "This paper explores a variety of fascinating topics ... "
---
注意添加:我尝试过修改default-1.15.2.tex
模板,如上所述。我的结果是一样的,我得到的错误是:
! Undefined control sequence.
l.527 {\centering \includegraphics
pandoc.exe: Error producing PDF from TeX source
Error: pandoc document conversion failed with error 43
还有一项测试:我只是在本地文件夹中使用了标准default-1.15.2.tex
模板的副本,并使用了YAML行
template: "default-1.15.2.tex"
这也会产生同样的错误,所以我对原因感到困惑。
答案 0 :(得分:2)
对于后人,一个似乎有用的解决方案是将default-1.17.02.tex
复制到工作目录并修改它以包含keywords参数。在重命名的modified-1.17.02.tex
中,在作者名称的if块之后添加:
$if(keywords)$
pdfkeywords={$for(keywords)$$keywords$$sep$; $endfor$},
$endif$
然后在文档中,在if块之后放置摘要:
\providecommand{\keywords}[1]{\textbf{\textit{Keywords---}} #1}
$if(keywords)$
\keywords{$keywords$}
$endif$
在项目Rmd文件中,我们只需要指定我们使用自定义模板,指定graphics = true(环绕\includegraphics
错误)和关键字本身:
---
title: "My title"
author: ME
date: '`r format(Sys.time(), "%B %d, %Y")`'
output:
pdf_document:
template: modified-template-1.17.0.2.tex
graphics: yes
keywords: keyword 1; keyword 2; et cetera
abstract: "Abstract here."
---
Body of article here.
编译产生一个标题页,其中包含关键字字段:
编辑:OP还提到行间距。使用1.17.02.tex
样式(如果最新版本的Pandoc可用时,通过手动安装或使用最新的RStudio预览版本自动使用),可以通过设置{{1}来调整行间距。单个空格,linestretch: 1
表示YAML标题中的任意位置。
答案 1 :(得分:1)
这是keywords:
问题的答案。它无疑是一个kludge,但不需要更改模板:只需在
abstract: "This paper explores a variety of topics ...
**Keywords**: Box's M test; HE plots; MANOVA; graphics
"
要格式化为单独的段落需要两个空行