我已经在RStudio中创建了一个RMarkdown文件,并设法用knitr将其编织成HTML和HTML格式.md文件.接下来,我使用pandoc转换.将md文件转换为PDF文件(如果try 从.html文件转换,则会出现错误).然而,制作的PDF有巨大的利润(比如这http://johnmacfarlane.net/pandoc/demo/example13.pdf).我怎样才能让潘多克生产利润更小的产品?我查阅了pandoc用户指南,但没有发现任何有用的内容.

推荐答案

rmarkdown和pandoc的最新版本

rmarkdown的较新版本中,可以通过顶层元素geometry在YAML标题中进行边距设置.您在geometry标签中指定的内容将通过以下LaTeX片段导入Pandoc附带的LaTeX模板

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

例如,要指定2厘米宽的边距,可以包括

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

要将更复杂的规范传递给geometry LaTeX软件包,请将选项串在一起,就像使用LaTeX一样:

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

原始答案

这是一个LaTeX问题,因为Pandoc正在通过LaTeX将其呈现为PDF格式——您链接到的内容代表LaTeX文档上的默认页边距.

例如,geometrylatex 包装可以用来改变页面的边距.但是,您需要一种方法,通过将其包含在应用于转换的md文件的LaTeX头中,来告诉Pandoc使用它.

你是如何做到这一点的记录在Pandoc User Guide页中.具体请参见--template=FILE命令行参数和Templates section.基本上,要么找到并修改默认模板以包含您想要使用的LaTeX说明,要么从头开始创建自己的模板并将其放置在适当的位置;请参阅--data-dir命令行参数.


如果您使用的是最新版本的Pandoc,另一种 Select 是使用变量参数(设置为-V KEY[=VAL]--variable=KEY[:VAL]).geometry包装于2012年5月添加到默认latex 模板中(见this discussion).因此,如果要更改页边距,可以使用:

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

也可以指定多个变量值.例如,如果您想创建一个4×6英寸、边距为半英寸的pdf,可以使用:

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

R相关问答推荐

当使用stat_summary()+ after_stat()在图表上标记中位数/均值时,如何整齐地定位geom_text标签

R:如何在没有for循环的情况下替换多边形几何中的值?

有没有方法将paste 0功能与列表结合起来?

如果列中存在相同的字符串,则对行值进行总和

无法将传奇添加到cowplot多情节中

名称输出pmap on tible

如果行和大于值,则过滤

警告:lmdif:info = 0. nls. lm()函数的输入参数不正确

gganimate在使用shadow_mark选项时不保留所有过go 的标记

用关联字符串替换列名的元素

线性模型斜率在减少原始数据时提供NA

如何在PackageStatus()中列出&q;不可用的包&q;?

将多个列值转换为二进制

如何平滑或忽略R中变量的微小变化?

如何删除R中除数字元素以外的所有元素

如何计算每12行的平均数?

将统计检验添加到GGPUBR中的盒图,在R

如何在使用Alpha时让geom_curve在箭头中显示恒定透明度

随机 Select 的非NA列的行均数

R中的Desolve:返回的导数数错误