与pandoc从降价转换为PDF时,设置保证金大小与pandoc从降价转换为PDF时,设置保证金大小

2019-05-12 15:43发布

我已经创建了一个RStudio文件RMarkdown和管理,与knitr编织成一个HTML和.MD文件。 接下来,我用pandoc到.MD文件转换成PDF文件(我得到一个错误,如果我试图从.html文件转换)。 然而,所产生的PDF具有巨大的利润(这样http://johnmacfarlane.net/pandoc/demo/example13.pdf )。 我怎样才能得到pandoc生产具有更小的利润的东西吗? 我已经通过pandoc用户指南看,但没有发现任何有用的东西。

Answer 1:

rmarkdown和pandoc的最新版本

在较新版本rmarkdown的,利润率的设置可以在YAML头通过顶级元素进行geometry 。 你在指定geometry标签将通过管道输送到乳胶中的模板,通过以下的LaTeX片段附带Pandoc

$if(geometry)$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$

例如,以指定是2cm的宽度一个将包括页边距

---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: margin=2cm
output: pdf_document
---

对于更复杂的规格要传递到几何乳胶包,串在一起的选项,你会用乳胶:

---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: "left=3cm,right=3cm,top=2cm,bottom=2cm"
output: pdf_document
---

原来的答案

这是因为Pandoc一个LaTeX的问题是通过乳胶渲染到PDF - 你链接到代表了一个LaTeX文档的默认页边距。

几何乳胶包例如可以被用于改变在网页的边缘。 但是你需要一种方法来告诉Pandoc通过包括其插件应用于已转换的MD文件LaTeX的头使用此。

你如何做到这一点的中记载Pandoc用户指南 。 具体见--template=FILE命令行参数和模板部分 。 从本质上讲,无论是查找和修改默认模板中包含要使用或从头开始自己的模板,并将其放置在适当的位置LaTeX的指令; 看到--data-dir命令行参数。


如果使用的是一个最近的Pandoc版本另一种方法是使用可变参数(设定或者与-V KEY[=VAL]--variable=KEY[:VAL]geometry包被添加到2012年5月默认乳胶模板(见讨论 )。 因此,如果你想改变页边距,您可以使用:

pandoc -V geometry:margin=1in -o output.pdf input.md

你也能指定多个变量值。 举例来说,如果你想创建一个半英寸利润率4 x 6英寸PDF格式,你可以使用:

pandoc -V geometry:paperwidth=4in -V geometry:paperheight=6in -V geometry:margin=.5in -o output.pdf input.md


Answer 2:

在较新版本pandoc的,你可以设置一些参数中YAML头 。 你可以在这里设定的几何形状,例如:

---
title:  Pandoc nice margins example
author: naught101
geometry: margin=3cm
---

body text of document

当pandoc将其转换为PDF,它应该有正确的利润率。



文章来源: Set margin size when converting from Markdown to PDF with pandoc