Pandoc(md, latex) 应该在参考书目中生成 bibitem

Pandoc(md, latex) should generate bibitem in Bibliography

使用 pandoc 我试图通过组合 .md.bib 文件来生成 .tex 文件。在生成的乳胶文件中,Pandoc 已经 格式化为纯文本 内联参考以及参考书目中的完整参考。但是,我喜欢分别使用 \cite\bibitem 格式的参考文献。

example.md

---
title: Plain Text Workflow
author: Dennis Tenen, Grant Wythoff
date: January 20, 2014
bibliography: example.bib
---

# Section 1

Some sentence that needs citation [@fyfe_digital_2011 argues that too].

# Bibliography

example.bib

@article{fyfe_digital_2011,
    title = {Digital Pedagogy Unplugged},
    volume = {5},
    url = {http://digitalhumanities.org/dhq/vol/5/3/000106/000106.html},
    number = {3},
    urldate = {2013-09-28},
    author = {Fyfe, Paul},
    year = {2011},
    file = {fyfe_digital_pedagogy_unplugged_2011.pdf}
}

Pandoc 命令

pandoc example.md -t latex -s -S --filter pandoc-citeproc -o example.tex

example.tex(摘录)

Some sentence that needs citation (Fyfe 2011 argues that too).

\section*{Bibliography}\label{bibliography}
\addcontentsline{toc}{section}{Bibliography}

Fyfe, Paul. 2011. ``Digital Pedagogy Unplugged'' 5 (3).
\url{http://digitalhumanities.org/dhq/vol/5/3/000106/000106.html}.

但是,我想要的是这个(本质上是 bibtex 生成的 .bbl 文件中的内容):

Some sentence that needs citation \citep[ argues that  too]{fyfe_digital_2011}.

\begin{thebibliography}{1}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\expandafter\ifx\csname urlstyle\endcsname\relax
  \providecommand{\doi}[1]{doi: #1}\else
  \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi

\bibitem[Fyfe(2011)]{fyfe_digital_2011}
Paul Fyfe.
\newblock Digital pedagogy unplugged.
\newblock 5\penalty0 (3), 2011.
\newblock URL
  \url{http://digitalhumanities.org/dhq/vol/5/3/000106/000106.html}.

\end{thebibliography}

我知道我可以用 --natbib --bibliography=example.bib 运行 pandoc,然后用 pdflatex 和 bibtex 编译,并利用 \input{example.bbl}。但是有没有一种方法可以使用 pandoc 正确地做到这一点,而无需在两者之间使用 bibtex(手动或管道)?

顺便问一下,pandoc在直接用--filter pandoc-citeproc生成pdf的时候,内部是怎么做的呢?如果它也只是使用这些预先格式化的纯文本引用,我会非常失望。因为看起来乳胶模板序言中定义的个别样式不适用于这种情况。

1) 你不能。要么你

  • 让 pandoc 为您生成参考和参考书目(pandoc-citeproc,参见第 2 点) 或
  • 将其格式化为 natbib (--natbib) 或 biblatex (--biblatex),但您必须依赖外部 bibtex 文件(或 another compatible format)。然后,您将需要 bibtexbiber 来格式化您的引用。

2) pandoc-citeproc 依赖于 csl 样式。你可以找到一些 here and here and you can easily customize them here。使用 --csl= 或 YAML 标题栏中的 csl: 行将其传递给您的 pandoc 命令。 Pandoc 在 ~/.csl 中查找文件,如果它不存在或与 markdown 文件不在同一目录中,则必须提供完整路径。