书接上回,使用 Obsidian, Zotero, JabRef, Pandoc, Markup-Markdown | 撰写论文 paper
管理论文引用,生成参考文献
- TL; DR
- 导出 bibliography 文件
- JabRef
- Zotero
- 参考文献引用语法
- reference-doc
- Links
TL; DR
安装 pandoc v3.6.2. 使用一下命令,将 markdown 转化为论文的 word 文件。
pandoc --from markdown+footnotes+citations \--wrap=none \--reference-doc=../styles/project_paper.docx \--csl=refs/diabetologia.csl \--citeproc \--bibliography=manual_20250203.yaml \--bibliography=refs.yaml \-i index.md -o index.docx
命令解释:
- markdown+footnotes+citations: 设置pandoc 的插件
- reference-doc:论文的格式
- csl:引用参考文献的语法;diabetologia.csl 在 https://www.zotero.org/styles?q=diabetologia 下载
- citeproc:明确使用哪个插件处理交叉引用
- bibliography:参考文献的索引文件,bibliography 文献管理可以通过 zotero 自动导出或 JabRef 手动维护;支持添加多个 bibliography。
如果在 Markdown 中,使用了
[@Hinton2006] [@Krizhevsky2017]
...# References
那么,对应的生成的 docx 就会包含(转化后的文本):
以及参考文献内容:
注意:Markdown 文件的最后一行必须是 # References
,否则将不生成参考文献列表,见官方文档。
导出 bibliography 文件
导出 bibliography 文件的格式使用:CSL YAML. 比如 JabRef 中,通过 File -> Export 进行导出。
注意:不要直接改 CSL YAML 文件,而是使用 JabRef 或 Zotero 进行维护,因为 JabRef 或 Zotero 不能直接打开 CSL YAML 文件。
JabRef
Zotero
Zotero 导出如下,选择一个 Collection 右键 -> Export Collection, 选择 Better CSL YAML(需要安装插件 Better BibTeX for Zotero).
参考文献引用语法
在 Markdown 中使用 CitationKey,生成参考文献引用,对应格式如下:
除了使用 []
的形式添加引用,也可以用文本的形式:
reference-doc
reference-doc 就是样式文件,比如生成 docx 的大标题、二级标题、行间距、正文字体等。
最快的获得一个 reference-doc 模版的方法,就是先用 pandoc 将一个 markdown 转化为 docx 文件,然后以这个文件为蓝本,更新页眉、页脚、headings。
更多关于 reference-doc 的介绍,参考官方文档。
Links
Scholarly Writing Citations
zotero csl styles
Bibliographies 以及 Citations
Citations of Pandoc