我目前使用 Markdown 文件作为源来渲染我的论文,并希望生成 PDF 输出。为此,我使用以下命令:
pandoc --template template.latex --standalone --chapters \
-V linestretch=1.5 --toc --number-sections --bibliography sources.bib \
00_title.md 01_introduction.md \
02_state-of-the-art.md 03_implementation.md 04_discussion.md \
05_conclusion.md \
-o thesis.pdf
我还想设置参考书目标题,因为它目前没有出现,并且来源只是附在最后一句之后。
我已经尝试添加-V biblio-title=Bibliography
,因为这似乎是 LaTeX 模板中使用的变量。它没有失败,但它似乎只是忽略了这个值。
那么如何才能正确设置书目的标题呢?
答案1
更新:自 2015 年的原始答案以来,pandoc 的命令行界面已经发生了变化,例如内置机制需要选项--citeproc
和-S
/--smart
是一个扩大在最近的版本中。我修改了答案以反映这一点。当然,最新的文档可以在手动的。
简短回答
- 对于内置机制的使用:(
--citeproc -M reference-section-title=Whatever
参见 Art's回答) - 对于 biblatex/natbib 使用:
--biblatex
或--natbib
和-V biblio-title=Whatever
长答案
如果您使用 pandoc 生成 LaTeX 输出,则您有三个参考书目选项: (1.) 内置机制citeproc
,(2.)natbib
或 (3.) biblatex
。
1. 内置机制
内置机制 ( citeproc
) 在文件末尾写入不带标题的书目信息。只需使用您选择的标题结束文档即可:
测试.bib:
@article{doe1905,
author={Doe, John},
title={Title},
journal={Journal},
year={1905},
}
测试.md:
# Test
This is a test [@doe1905].
# Bibliography
命令: pandoc --citeproc --bibliography=test.bib -o test.pdf test.md
更改参考书目的标题:您citeproc
可以为文档最末尾的最后一节指定所需的标题,也可以使用以下选项设置名称-M reference-section-title=Whatever
:pandoc --citeproc --bibliography=test.bib -M reference-section-title=Whatever -o test.pdf test.md
这样做的好处是,它也可以为其他格式(如 Microsoft Word(.docx)或 Open/Libre Office(.odt))产生一致的输出。
2. 纳特比布
使用natbib
生成 .tex 文件,然后使用latexmk
或arara
任何您喜欢的工具对其进行编译:
命令: pandoc --standalone --natbib --bibliography=test.bib -o test.tex test.md && latexmk test.tex
更改参考书目的标题: pandoc --standalone --natbib --bibliography=test.bib -V biblio-title=Whatever -o test.tex test.md && latexmk test.tex
会给你:
3. Biblatex
使用biblatex
生成 .tex 文件,然后使用latexmk
或arara
任何您喜欢的工具对其进行编译:
命令: pandoc --standalone --biblatex --bibliography=test.bib -o test.tex test.md && latexmk test.tex
更改参考书目的标题: pandoc --standalone --biblatex --bibliography=test.bib -V biblio-title=Whatever -o test.tex test.md && latexmk test.tex
将产生:
答案2
如果您正在使用citeproc
,您可以将其放入reference-section-title
元数据中。
https://github.com/jgm/pandoc-citeproc/blob/master/man/pandoc-citeproc.1.md
pandoc --template template.latex --standalone --chapters \
-V linestretch=1.5 --toc --number-sections --bibliography sources.bib \
-M reference-section-title=References \
00_title.md 01_introduction.md \
02_state-of-the-art.md 03_implementation.md 04_discussion.md \
05_conclusion.md \
-o thesis.pdf