Создать файл библиографии из нескольких файлов с помощью Pandoc - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть несколько глав с цитатами.Мой файл цитирования в формате bibtex.Я хотел бы создать отформатированную библиографию, которая включает все цитаты из глав в одном файле (издатель предпочитает DOCX).Как я могу это сделать?

1 Ответ

0 голосов
/ 24 ноября 2018

Если файл bibtex не содержит дополнительных ссылок, то для создания библиографии достаточно иметь небольшой nocite.md файл Markdown:

---
nocite: '@*'
---

# Bibliography

При вызове pandoc --output=bibliography.docx --bibliography YOUR_BIBTEX.bib nocite.md будет создан файл docx сотформатированные записи для всех элементов в YOUR_BIBTEX.bib.


В более общем случае файл bibtex содержит дополнительные записи, которые следует исключить из библиографии.Нужен способ ограничить вывод цитатами, используемыми в документе (ах).Хороший метод - использовать фильтр Lua для перезаписи документа по мере необходимости.

-- save this file as "bib-only.lua"

local cites = {}

-- collect all citations
function Cite (cite)
  table.insert(cites, cite)
end

-- use citations, but omit rest of the document
function Pandoc (doc)
  doc.meta.nocite = cites
  doc.blocks = {}
  return doc
end

Запуск

pandoc --lua-filter bib-only.lua -o bib.docx chapter1.md chapter2.md chapter3.md

должен дать желаемый результат.

...