Markdown 我可以在Pandoc元数据中指定多个书目(BibTeX)文件吗?
通常,科学期刊网站和其他来源提供可下载的Markdown 我可以在Pandoc元数据中指定多个书目(BibTeX)文件吗?,markdown,pandoc,pandoc-citeproc,Markdown,Pandoc,Pandoc Citeproc,通常,科学期刊网站和其他来源提供可下载的*.bib文件,用于参考个人文章。如果我使用这些,我喜欢保持它们的原样,而不是将它们合并到单个文件中。在命令行上,可以通过多次传递--书目选项来指定多个文件。我还可以在*.md文档本身中列出YAML元数据中的多个文件吗?如果您想使用biblatex作为引文格式化程序,可以在YAML前端设置多个bib文件: --- bibliography: - mybib1.bib - mybib2.bib --- 您需要使用以下工具进行编译: pandoc myfil
*.bib
文件,用于参考个人文章。如果我使用这些,我喜欢保持它们的原样,而不是将它们合并到单个文件中。在命令行上,可以通过多次传递--书目
选项来指定多个文件。我还可以在*.md
文档本身中列出YAML元数据中的多个文件吗?如果您想使用biblatex作为引文格式化程序,可以在YAML前端设置多个bib文件:
---
bibliography:
- mybib1.bib
- mybib2.bib
---
您需要使用以下工具进行编译:
pandoc myfile.md -o myfile.pdf --biblatex
这是因为latex模板包含一个$for(参考书目)$
循环:
$if(biblatex)$
\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$
$for(bibliography)$
\addbibresource{$bibliography$}
$endfor$
$endif$
可在文档元数据中指定书目,即通过YAML块中的标记:
---
bibliography:
- one.bib
- two.bib
- three.bib
---
仅当通过在命令行上传递--filter=pandoc citeproc
将pandoc citeproc
作为筛选器调用时,此选项才有效。例如:
$ pandoc --filter=pandoc-citeproc --from=markdown --to=latex my-file.md
为了理解原因,我们必须后退一步,看看潘多克处理引用的方式。通常,也就是说,如果没有通过--natbib
或--biblatex
请求替代引文方法,pandoc使用pandoc citeproc处理引文,确保不同格式的引文处理具有可比性pandoc citeproc
的工作方式是:程序接收pandoc JSON格式的完整文档,并执行以下步骤:
参考书目
字段可以通过命令行或文档本身进行设置。使用命令行选项或YAML元数据之间的唯一区别在于,如果书目作为CLI参数提供,则pandoc会自动调用pandoc citeproc
。由于我们不希望出现这种情况,我们需要明确地告诉pandoc必须调用pandoc citeproc筛选器。无论输出格式如何,我都可以使用biblatex吗?我希望能够同时生成PDF和Word文档(*.docx
)。不,您必须使用pandoc citeproc作为latex/beamer以外的输出格式。@tarleb您能回答评论中的信息吗?