rmarkdown 和 pandoc 的最新版本
在较新的版本中降价,边距的设置可以通过顶级元素在 YAML 标头中完成geometry
。您在中指定的内容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
---
对于要传递给的更复杂的规范geometryLaTeX 包,将选项字符串在一起,就像使用 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 文档上的默认边距。
The geometry例如,LaTeX 包可用于更改页面的边距。但是,您需要一种方法来告诉 Pandoc 使用此功能,方法是将其包含在应用于转换后的 md 文件的 LaTeX 标头中。
您如何执行此操作记录在潘多克用户指南。特别参见--template=FILE
命令行参数和模板部分。本质上,要么找到并修改默认模板以包含您想要使用的 LaTeX 指令,要么从头开始创建您自己的模板并将其放置在适当的位置;看到--data-dir
命令行参数。
如果您使用的是 Pandoc 的最新版本,另一种选择是使用变量参数(设置为-V KEY[=VAL]
or --variable=KEY[:VAL]
). The geometry
包已于 2012 年 5 月添加到默认 LaTeX 模板中(请参阅这次讨论)。因此,如果您想更改页边距,可以使用:
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