【发布时间】:2018-11-24 16:46:58
【问题描述】:
我有几个章节引用。我的引文文件是 bibtex 格式。我想创建一个格式化的参考书目,其中包括单个文件中章节的所有引用(出版商更喜欢 DOCX)。我该怎么做?
【问题讨论】:
-
我不清楚:您是要创建一个仅参考书目的文件,还是要构建一个包含所有章节的普通文档?
-
只有参考书目的文件 -- 一个结合了来自多个章节/文件的引文的文件。
我有几个章节引用。我的引文文件是 bibtex 格式。我想创建一个格式化的参考书目,其中包括单个文件中章节的所有引用(出版商更喜欢 DOCX)。我该怎么做?
【问题讨论】:
如果 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
应该给出想要的输出。
【讨论】: