pypandoc + pandoc-citeproc将bib转换为rst

时间:2015-04-29 08:23:33

标签: python pandoc restructuredtext bibtex

我有一个带引用的.bib文件,我想将该文件呈现为restructuredtext(换句话说,我的输入是一个文件references.bib,我想要的是文件references.rst)。该转换应该使用Python脚本完成,因此我尝试将pypandoc(版本0.9.7,带有pandoc版本1.13.1)与pandoc-citeproc过滤器结合使用。 pypandoc和pandoc安装正确,例如以下作品

import pypandoc
print(pypandoc.get_pandoc_version())

我的第一个想法是在tex或md文件中使用某种nocite *命令并转换它。从命令行使用时,(改编的)example from the pandoc-citeproc issue tracker可以工作:

pandoc references.tex  -o references.rst --bibliography references.bib

但是我没有成功地使用pypandoc从python中做同样的事情,我特别不清楚如何传递额外的参数,例如更改同上行为或指定CSL style(更改biblatex样式似乎没有效果)。

另外,我真的不喜欢.tex文件的解决方法。 我可以以某种方式跳过那部分吗?

1 个答案:

答案 0 :(得分:2)

您可以使用citeproc-py。你需要:

  1. 创建一个citeproc.CitationsStyleBibliography,将引文样式,bibtex引文来源和reStructuredText格式化程序传递给它;
  2. 从您的书目来源注册每个元素;
  3. 打印参考书目。
  4. 您可以在citeproc-py的{​​{3}}目录或examples/中找到这些步骤的示例。请注意,bibgen bibgen source code直接在reStructuredText文档(包括Sphinx源代码)中包含参考书目,请参阅allows you