使用pandoc将Markdown转换为PDF时设置双倍行距和行号。

20

我正在使用Markdown和Pandoc进行科学写作,我知道可以使用以下标记更改最终PDF的边距:

在将Markdown转换为PDF时使用Pandoc设置边距大小

但是,很多期刊要求提交的稿件需要双倍行距和行号,问题是如何更改这些设置,我对LaTex不熟悉,所以在这个领域感到非常迷茫。

谢谢!


1
LaTeX提供了setspace,以及lineno。我不熟悉Pandoc的界面或用法,所以无法提供帮助。如果这是一个纯粹的TeX/LaTeX问题,请考虑标记您自己的帖子,并请求迁移到TeX.SE。不要在那里重新发布; 而是标记为迁移。 - Werner
3个回答

39

在较新的Pandoc版本中,您可以使用YAML头信息,并在其中包含各种元数据,而不是在命令行上使用选项。因此,例如,您可以将以下内容放置在您的.md文件顶部:

---
title: The Document Title
author:
    - Your Name
    - Co Author
date: \today{}
geometry: margin=2cm
header-includes:
    - \usepackage{setspace}
    - \doublespacing
    - \usepackage{lineno}
    - \linenumbers
---

Document Text

同时pandoc将读取这些选项并自动应用它们。


24

也许有一种简单的方法:生成一个包含我们所需软件包的文件

 \usepackage{setspace}
 \doublespacing
 \usepackage[vmargin=1in,hmargin=1in]{geometry}
 \usepackage{lineno}
 \linenumbers

我将它命名为options.sty,并使用-H FILE选项,在导言部分的末尾包含FILE的内容。(如https://github.com/karthikram/smb_git中所使用的方法)

 pandoc -H options.sty --bibliography mypaper.bib mypaper.md -o mypaper.pdf 

优点是我们不需要编辑模板。要添加行号、更改边距和设置间距,它都适用。


是的,你说得对!输出文件遵循 -o。已删除以避免混淆。 - denten

13

您需要使用自定义的LaTeX模板。首先,使用pandoc创建默认模板的副本:

pandoc -D latex > mytemplate.latex

现在编辑这个模板。在导言部分(在\documentclass{...}\begin{document}之间),插入以下行:

\usepackage{setspace}
\doublespacing

接下来,使用您的自定义模板:

pandoc --template mytemplate.latex mypaper.txt -o mypaper.tex

为了添加行号,我阅读了“lineno”包的文档,但无法弄清如何添加它们。 - Leosar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接