【问题标题】:Generate Bibliography file from multiple files with Pandoc使用 Pandoc 从多个文件生成参考书目文件
【发布时间】:2018-11-24 16:46:58
【问题描述】:

我有几个章节引用。我的引文文件是 bibtex 格式。我想创建一个格式化的参考书目,其中包括单个文件中章节的所有引用(出版商更喜欢 DOCX)。我该怎么做?

【问题讨论】:

  • 我不清楚:您是要创建一个参考书目的文件,还是要构建一个包含所有章节的普通文档?
  • 只有参考书目的文件 -- 一个结合了来自多个章节/文件的引文的文件。

标签: markdown pandoc bibtex


【解决方案1】:

如果 bibtex 文件不包含额外的引用,那么有一个小的 nocite.md Markdown 文件来生成参考书目就足够了:

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

# Bibliography

调用pandoc --output=bibliography.docx --bibliography YOUR_BIBTEX.bib nocite.md 将生成一个docx 文件,其中包含YOUR_BIBTEX.bib 中所有项目的格式化条目。


更一般的情况是 bibtex 文件包含应从参考书目中省略的附加条目。需要一种方法将输出限制为文档中使用的引文。一个好的方法是根据需要使用Lua filter 重写文档。

-- 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

应该给出想要的输出。

【讨论】:

    猜你喜欢
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    相关资源
    最近更新 更多