如何在 Pandoc 中设置 BibTex 的参考书目标题

如何在 Pandoc 中设置 BibTex 的参考书目标题

我目前使用 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=Whateverpandoc --citeproc --bibliography=test.bib -M reference-section-title=Whatever -o test.pdf test.md

这样做的好处是,它也可以为其他格式(如 Microsoft Word(.docx)或 Open/Libre Office(.odt))产生一致的输出。

2. 纳特比布

使用natbib生成 .tex 文件,然后使用latexmkarara任何您喜欢的工具对其进行编译:

命令: 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 文件,然后使用latexmkarara任何您喜欢的工具对其进行编译:

命令: 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

相关内容