使用 pandoc 从 Markdown 转换为 PDF 时设置边距大小

2023-12-05

我在 RStudio 中创建了一个 RMarkdown 文件,并设法用 knitr 将其编织成 HTML 和 .md 文件。接下来,我使用 pandoc 将 .md 文件转换为 PDF 文件(如果我尝试从 .html 文件转换,则会出现错误)。然而,生成的 PDF 具有巨大的利润(像这样http://johnmacfarlane.net/pandoc/demo/example13.pdf)。我如何才能让 pandoc 生产利润较小的产品?我浏览了 pandoc 用户指南,但没有发现任何有用的东西。


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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pandoc 从 Markdown 转换为 PDF 时设置边距大小 的相关文章

  • 通过 boot.ci 函数获取多个统计数据的 Bootstrap 置信区间

    我想通过以下方式获得多个统计数据的引导置信区间boot ci功能 这是我的 MWE 我有两个统计数据out并想要找到这两个统计数据的引导置信区间 然而 boot ci函数仅为第一个统计量 t1 提供引导置信区间 但不为第二个统计量 t2 提
  • R闪亮:在渲染表格时显示“正在加载...”消息

    在 Rstudio Shiny 中 我得到了一些renderDataTable通过 RMySQL 从数据库获取信息的调用 有些查询可能需要几秒钟才能完成 我想添加一条 正在加载 消息 其中表格将在等待时最终呈现 这个问题与这个问题类似 R闪
  • r 闪亮下载过滤数据表(DT)

    我正在尝试做一个shiny应用程序下载过滤后的Datatable 过滤与search 通过删除行进行过滤delete button 下载部分按预期工作 问题 当我第一次使用数据表中的搜索区域进行过滤时 如果我使用按钮删除一行 它会重置第一个
  • R 单个变量中的多重图

    嗨 我有下一个代码 par mfrow c 1 3 plot BCxyz 1 BCxyz 2 main Bray Curtis 1 2 pch 20 cex 3 col c blue green red yellow Metadata Sa
  • 非等值连接 - 比较 R 中的两个数据帧

    我想根据第二个数据框中存在的值过滤数据框 例如 匹配第一个数据帧中 BP 列中高于 start pos 列的第一个值且小于 end pos 列或仅小于第二个数据中的 end pos 的行框架 我需要对第二个数据框中的所有值重复此过程 目前
  • 如何在 nlme 与 lme4 中指定不同的随机效应?

    我想使用指定模型中的不同随机效应nlme lme 数据在底部 随机效应是 1 intercept and position变化超过subject 2 intercept变化超过comparison 这很简单 使用lme4 lmer lmer
  • R 中计算滚动实现波动率的更快方法

    我想计算一组指数的滚动 20 天已实现波动率 这是我用来下载指数价格 计算每日收益和 20 天已实现波动率的代码 library quantmod library PerformanceAnalytics tickers c RUT STO
  • 读取r中不同目录中的多个文件[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想从不同的目录读取多个 csv 文件 然后将其放入单个数据框中 我有两种目录可供阅读 A LogIIS 文件夹01 文件 csv 在
  • R CMD INSTALL --build package --> “小插图丢失”

    问题 C gt Rcmd exe INSTALL build library C Users local aphalo Documents R win library 3 0 photobiology C gt Rcmd exe INSTA
  • gridExtra 2.0.0 更改标题大小

    我知道 gridExtra 已更新 因此 我想知道如何更改标题大小 这不再有效 grid arrange a b c d ncol 2 nrow 2 main textGrob Title gp gpar fontsize 15 font
  • R数据表:将行值与组值进行比较,有条件

    这是问题的延伸 R数据表 将行值与组值进行比较 https stackoverflow com questions 33285050 r data table compare row value to group values 我现在有了
  • 如何使用 gvisMotionChart 处理 POSIXlt 格式时间?

    The googleVisR软件包出奇的好 然而 我对一个问题感到困惑gvisMotionChart关于 timevar 因为我的数据集中的时间是POSIXlt格式 例如 2009 07 02 19 00 00 2009 07 02 20
  • 使用 ``magrittr::`%>%` `` 时 magrittr 管道出错

    不管出于什么原因我在玩magrittr管道语法 并遇到一个奇怪的错误 当您 scope 显式限定调用时发生 gt 我知道使用下面的语法会破坏管道的用途 但我很好奇为什么会发生错误 第一次致电sum按预期工作并输出1 第二次调用会导致错误 E
  • 如何使用Shiny中的下载按钮?

    我想下载一个csv使用 Shiny 中的下载按钮下载文件 该文件将使用辅助 r 脚本中的参数创建 SERVER output downloadData lt downloadHandler filename function paste d
  • Pandoc“无法找到已安装模块的模块...”

    我目前正在尝试使用 pandoc 作为 Haskell 模块 而不是程序 将 MediaWiki 文本转换为其他格式 我们假设这个程序 import Text Pandoc Readers MediaWiki main do print f
  • R Shinydashboard 根据选项卡选择显示/隐藏 UI 元素

    如果有人可以提供帮助 我正在努力满足要求 我必须根据用户的选项卡面板选择在仪表板侧栏上显示 隐藏一些元素 这是 UI 代码的一部分 可让您了解我的应用程序的结构 我需要仅在 tabpPanel 2 上显示 Fourthoutput Fift
  • R Shiny 中表格的条件格式

    我正在尝试可视化队列分析 并想使用RenderDataTable闪亮以获得这种可视化效果 我将能够突出显示基于具有值 1 0 的单独列的所有单元格 其中 1 被着色 0 不被着色 我尝试了几件事 包括尝试使用geom tile in ggp
  • 将缺失的行添加到数据表中

    我有一个数据表 library data table f lt data table id1 c 1 2 3 1 2 3 id2 as factor c a a b c b d v 1 6 key c id1 id2 id1 id2 v 1
  • selectInput 的动态数量

    我是闪亮的新手 所以这可能是一个非常基本的问题 我想编写一个闪亮的应用程序 其中用户输入 n 我们得到 n 个 selectInput 选项 但我无法做到这一点 基本上任何形式的 for 循环都不起作用 我尝试的代码如下 library s
  • R Markdown 文档标题中的希腊字母

    R markdown 文档的标题中是否可以包含希腊字母 我试过这个 title Amylase author author date 8 March 2017 output pdf document keep tex true toc ye

随机推荐

  • Akka 路由:回复发送到路由器最终成为死信

    我正在使用 Actor 路由 但无法将回复发送回路由器 以便路由列表中的另一个 Actor 可以接收到此消息 我在用着 sender tell Message context parent 为了根据 akka 文档回复路由器 路由参与者将发
  • 带有 .htaccess 的 SEO 友好 URL

    有人可以帮我重写一些 URL 吗 我有 例如 这些页面 www mydomain com test gallery asp id 2 www mydomain com test gallery asp id 3 并希望他们被要求为 www
  • html onchange 事件不起作用

    我正在尝试做一些实验 我想要发生的是 每次用户在文本框中输入内容时 它都会显示在对话框中 我用的是onchangeevent 属性来使其发生 但它不起作用 我仍然需要按提交按钮才能使其正常工作 我读到了有关 AJAX 的内容 并且正在考虑了
  • 哪些 lua 功能可以用作 python 或 tcl Expect 中的 pexpect?

    我有一些 shell 脚本 它们将一些消息打印到 stdout 并且如果输出与某些正则表达式匹配 我想生成一些其他进程 我可能还想将 shell 挂起一段时间 直到其他进程给出一些反馈 我的要求基本上表现得像shell中的pipe和tcle
  • mongoDB 中的嵌套对象文本搜索

    我不确定如何解决这个问题 我想在 mongoDB 集合中搜索并仅返回适合搜索查询的嵌套对象 在所有字段上使用文本搜索 该集合中的所有文档都具有以下格式 arr id 1 name Random description Hello world
  • 在 RealityKit 中启用手势

    我有一个自定义的 usdz 文件 不是通过代码创建的 而是一把真正的椅子 我将其保存在Entity 一旦我有了它 这就是我的代码 func updateUIView uiView ARView context Context if let
  • XSLT-标准化不间断空白字符

    我有一个像这样的示例 xml 文件
  • Azure 门户错误:无法启动虚拟机“xxxx”。错误:URL“xxxx”引用的 Key Vault 机密不存在

    在假设我的配置中的任何地方都没有使用这些密钥保管库并且这些是我的测试留下的一些内容之后 我从资源管理器中删除了一些密钥保管库 现在我无法启动虚拟机并出现此错误消息 无法启动虚拟机 xxxx 错误 Key Vault 机密 使用 URL xx
  • 使用套接字连接 nat 后面的 ip

    考虑一部通过电话 A 连接到 wifi 的电话 地址为动态 Ipex 192 168 0 34及其监听服务器套接字port 7567 如果我有另一部电话 B 来连接公共 ip 上的电话 我可以通过什么方式使用任何编程语言连接到该套接字10
  • Orderby ACF 自定义字段日期不起作用

    我查看了另一篇文章 但什么也没找到 我已经上线 3 天了 我想按顺序显示 3 个 事件 ASC但2018年总是在2017年之前 auj date Ymd queryEvent new WP Query array category name
  • 由于 data.table 被引用更改,微基准测试结果检查失败

    SO 有一些答案 其中比较了时间without检查结果 不过 我更喜欢看看表达式是否正确and fast The microbenchmark包支持这一点check范围 不幸的是 对改变 a 的表达式的检查失败data table 引用 即
  • 如何限制 html 选择框中选择的选项?

    我在制作的表单中使用了 select 标签 允许进行多项选择 但我希望将最大选择数量设置为 10 使用 javascript 或 jquery 可以吗 提前致谢 这里有一些完整的代码供您使用 一定喜欢 Google AJAX API Pla
  • Xcode 8 beta 4:在物理设备上运行时“无法附加到 pid:1110”

    我做了一个消息扩展 当我在 iOS 模拟器上运行它时 一切都运行没有问题 当我尝试在手机上运行它时 它会编译并显示运行大约 5 秒 然后崩溃 并在 Xcode 中弹出一条消息 显示Could not attach to pid这是一个屏幕截
  • 如何在 c#.net3.5 中的按钮单击事件上设置焦点并启动已经运行的应用程序?

    我一直在尝试使用互斥体的代码 但单击按钮后无法打开我的 exe 我成功地没有在单击按钮时在任务栏上多次输入应用程序 但只有当我关闭表单时才会启动我的应用程序 我想在单击按钮时启动我的应用程序 如果应用程序已经启动 那么我需要关注以前运行的应
  • Android - 使用自定义字体

    我将自定义字体应用于TextView 但似乎并没有改变字体 这是我的代码 Typeface myTypeface Typeface createFromAsset getAssets fonts myFont ttf TextView my
  • 实现自定义会员用户和自定义会员提供者

    参考 http msdn microsoft com en us library 6tc47t75 28v VS 80 29 aspx http msdn microsoft com en us library ms366730 aspx
  • Nodejs Mongoose - 如何避免回调地狱?

    使用 Mongoose 一段时间后 我可能会做错 当你有太多回调时 我发现很难阅读 例如 我想找到一个文档并更新它 我需要先找到它 然后update将在回调内findOne var sam new Character name Sam in
  • java.lang.IllegalStateException:片段未附加到活动

    我在进行 API 调用时很少遇到此错误 java lang IllegalStateException Fragment not attached to Activity 我尝试将代码放入其中isAdded 方法来检查片段当前是否添加到其活
  • 为什么我必须使用仅由我的依赖项使用的宏

    为什么我必须明确macro use宏不直接由我的代码使用 而仅由我的代码依赖项使用 有2种情况如下图所示 Macros only used by my dependencies call do parse map take error if
  • 使用 pandoc 从 Markdown 转换为 PDF 时设置边距大小

    我在 RStudio 中创建了一个 RMarkdown 文件 并设法用 knitr 将其编织成 HTML 和 md 文件 接下来 我使用 pandoc 将 md 文件转换为 PDF 文件 如果我尝试从 html 文件转换 则会出现错误 然而