Latex 默认引用和 Pandoc 参考书目样式

Latex 默认引用和 Pandoc 参考书目样式

我在 Markdown 中撰写了一篇论文,然后通过 Pandoc 和 Latex 将其转换为 PDF,使用以下命令获取 Latex(以及 BibLatex)的默认引用和参考书目样式:

pandoc -s --bibliography=foo.bib --biblatex -o foo.tex foo.md
pdflatex foo.tex
bibtex foo.aux
pdflatex foo.tex
pdflatex foo.tex

当然,我可以让 Pandoc 直接生成 PDF 文件,如下所示:

pandoc --bibliography=foo.bib --csl=foo.csl -o foo.pdf foo.md

然而,尽管广泛搜索zotero.org/styles我没有找到一个 CSL 风格

  1. 与 Latex 的默认引用样式“plain”非常接近(带有内联引用,如“blah blah [1]”),并且
  2. 生成适合德语文档的书目条目(页码缩写为“S.”而不是“pp.”,出版商缩写为“Hrsg.”而不是“Eds.”等)没有缩写后缺少点等错误。

我的问题是:

有没有比上述命令更简单的方法通过 Pandoc 使用原生 Latex 引文和参考书目内容?我不关心输入更多或更少的命令(Makefile ftw),我只是想知道是否有必要创建一个中间 Latex 文件。

或者,有人可以告诉我一个适合德语(计算机科学)文本的 CSL 文件吗?

答案1

经过更多的实验和阅读文档后,我确信如果想要使用原生 Latex 引用和参考书目功能,就无法避免创建中间 Latex 文件。

原因是,使用 Pandoc 我们显然可以使用两种可能的技术之一来生成书目参考:CSL 文件(使用设置--csl)或 Latex 引文(使用--biblatex--natbib设置)。CSL 文件可以与每种输出格式一起使用,而 Latex 引文只能在输出格式为 Latex 时使用。

但为什么呢?因为当使用--biblatex--natbib设置创建 Latex 输出时,Pandoc 会将 Markdown 引用转换[@foo, p. 20]为 Latex 命令,例如\autocites[p. 20]{foo}。将 Latex 文件转换为 PDF 时,这些命令将由 pdflatex 处理,从而产生我想要的漂亮输出。显然,在任何其他输出格式中创建这样的 Latex 命令都是徒劳的。

另一方面,当使用该--csl选项调用时,Pandoc 会根据 CSL 样式直接将上述 Markdown 引用转换为文本,例如“(Knuth 1970, p. 20)”。这实际上非常酷,因为这样引用将被“硬编码”,因此看起来就像在每种输出格式中都在 CSL 文件中指定了它们一样。当然,缺点是,如果我找不到适合我需要的 CSL 文件,我必须采用 Markdown -> Latex -> PDF 的方式。

我仍然感到疑惑的是,为什么在创建 PDF 输出时不能使用--biblatex--natbib设置。如果我没记错的话,Pandoc 无论如何都会通过 Latex 生成 PDF,那么为什么不充分利用 Latex 的功能呢?但无论如何,我认为我完全可以接受我的问题中描述的方式 ;-)

答案2

我也是德国人。你试过“Deutsche Gesellschaft für Psychologie”吗?它似乎能满足你的要求。否则,你可以在这里编辑它:

http://editor.citationstyles.org/styleInfo/?styleId=http%3A%2F%2Fwww.zotero.org%2Fstyles%2Fdeutsche-gesellschaft-fur-psychologie

相关内容