2013-04-25 3 views
2

Всякий раз, когда у меня есть файл уценки pandoc, который я конвертирую в PDF или HTML, и он содержит ссылку на большой файл библейтекс (> 100 КБ) для цитат, производительность невероятно медленный. В конечном итоге мне нужно сначала преобразовать в tex, а затем запустить обычные латексные команды, , например.latex, bibtex, latex, pdflatex.Pandoc выполняет очень медленно при ссылке на большой файл biblatex

Например, если у меня есть два файла refs.bib и test.md, эта следующая команда выполняется навсегда;

pandoc test.md -o test.pdf --bibliography refs.bib

или

pandoc test.md -o test.html --bibliography refs.bib

Мой текущий обходной путь, чтобы вместо того, чтобы экспортировать в latex, а затем запустить latex команды непосредственно:

pandoc test.md -o test.tex --bibliography refs.bib 
latex test.tex 
bibtex test.aux 
latex test.tex 
pdflatex test 

Что происходит с производительностью использования pandoc? Я понял, что по сути это те же самые вызовы, которые происходят на заднем плане.

Я создал файл Gist, содержащий тестовые файлы.

ответ

3

Я считаю, что замедление связано с тем, что pandoc должен вызывать citeproc-hs, который должен вызывать bibutils, который должен преобразовать весь файл bibtex в собственный формат citeproc.

Самый простой способ ускорить работу на данный момент - написать скрипт, который извлекает соответствующие записи бибтекса во временный файл и запускает pandoc против этого. Это thread on the pandoc-discuss mailing list включает ссылки на некоторые скрипты, которые делают это:

Смежные вопросы