pypandoc + pandoc-citeproc за конвертиране на bib в rst

Имам .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())

Първата ми идея е да използвам някаква команда nocite* в tex или md файл и да го конвертирам. (Адаптираният) пример от програмата за проследяване на проблеми на pandoc-citeproc работи, когато се използва от командния ред :

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

Но не успях да направя същото от python с pypandoc, особено ми е неясно как да предам допълнителни аргументи, напр. променете поведението ibid или задайте CSL стил (промяната на стила biblatex изглежда няма ефект).

Освен това не ми харесва много заобиколното решение с .tex файла. Мога ли по някакъв начин да пропусна тази част?


person matth    schedule 29.04.2015    source източник


Отговори (1)


Можете да използвате citeproc-py за това. Вие ще трябва да:

  1. създайте citeproc.CitationsStyleBibliography, като му предадете стила на цитиране, източник на цитат bibtex и инструмент за форматиране на reStructuredText;
  2. регистрирайте всеки елемент от вашия библиографски източник;
  3. отпечатайте библиографията.

Можете да намерите примери за тези стъпки в директорията examples/ на citeproc-py , или в изходния код на bibgen. Имайте предвид, че bibgen ви позволява директно да включите библиография в документ с reStructuredText (включително източници на Sphinx), вижте този пример.

person Émilien Tlapale    schedule 06.06.2015