我已经创建了一个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