Pandoc禁用从Markdown到PDF转换的图形

时间:2015-05-07 10:23:35

标签: pdf markdown pandoc

我使用最简单的pandoc命令从Markdown文档创建PDF文档:

pandoc my.md -o my.pdf

PDF中的数字都是拉伸的,即:100%宽度。

我应该给pandoc哪种配置保留数字而不改变数字大小。

2 个答案:

答案 0 :(得分:2)

目前,您无法直接从Markdown控制该功能。

最近几个月,Pandoc开发人员和用户社区一直在讨论如何最好地实现它并创建易于使用的语法,例如

![Image Caption](./path/to/image.jpg "Image Comment"){width="60%", height="150px"}

警告:仅限示例,由我自己制作并由我自己绘制 - 无法记住讨论的最新状态......)这是为了当时的设计转移到 所有 支持的输出格式,这些格式可以包含图像,而不仅仅是PDF。

因此,这计划成为Pandoc下一个主要版本的主要新功能。

您可能知道或不知道,Pandoc本身并不创建PDF。它生成LaTeX并使用LaTeX技术(默认情况下为pdflatex命令)将LaTeX转换为PDF(然后删除中间LaTeX文件)。

为了对LaTeX / PDF页面(或其他输出)的外观执行某些(有限的)控制,Pandoc使用模板文件。您可以通过运行

查看您自己的Pandoc版本用于LaTeX / PDF输出的确切模板定义
pandoc -D latex 

因此,如果您是LaTeX黑客(或者知道一个),您可以从头开始修改或创建自己的模板。

在当前版本的Pandoc(v1.13.2.1)中,LaTeX模板中有以下代码片段:

\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
\makeatother
% Scale images if necessary, so that they will not overflow the page
% margins by default, and it is still possible to overwrite the defaults
% using explicit options in \includegraphics[width, height, ...]{}
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}

如果它们适合页面宽度,则应保留原始图像大小,如果不符合,则应将其缩小到页面宽度。

如果这不是您使用PDF输出的行为,我怀疑您是Pandoc的旧版本。

要使用您自己的模板而不是内置的模板,您可以添加

--template=/path/to/myown-template.latex

到Pandoc命令行。

答案 1 :(得分:0)

@KurtPfeifle感谢您的帮助。我更新了乳胶,使用尖端为图像设置静态宽度和高度。

在我的乳胶模板中,我有:

\setkeys{Gin}{width=128pt,height=192pt,keepaspectratio}

这适用于移动图像。但我也有一个封面页,封面图现在很小。

我尝试创建两个不同的乳胶文件并将它们组合起来,但是图形尺寸又回到了拉伸状态:

pandoc _cover_page.md -o _cover_page.tex
pandoc ... -template=mobile_images.latex -o remaining.tex
pandoc  _cover_page.tex remaining.tex -o out.pdf
  • 是否有一种简单的方法来组合乳胶文件,以便遵守Pandoc中的模板?

  • 我可以创建2个pdf文件:cover.pdf和remaining.pdf,并将它们合并。你知道有一个简单的工具吗?