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

时间:2015-05-07 05:03:04

标签: markdown pandoc pdflatex bibtex citations

使用pandoc我试图通过组合.tex.md文件来生成.bib文件。在生成的乳胶文件中,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}。但有没有办法在没有bibtex(手动或管道)的情况下使用pandoc正确地完成它?

顺便说一句,当pandoc直接用--filter pandoc-citeproc生成pdf时,它是如何在内部完成的?如果它只是使用这些预先格式化的纯文本参考,我会非常失望。因为看起来乳胶模板的前言中定义的各个样式在这种情况下不适用。

1 个答案:

答案 0 :(得分:2)

1)你不能。你要么

  • 让pandoc为您生成参考和参考书目(mov $83, %eax mov $folder, %ebx mov $0777, %ecx syscall ,见第2点) 或
  • 让它为natbib(pandoc-citeproc)或biblatex(--natbib)格式化,但你必须依赖外部bibtex文件(或another compatible format)。然后,您需要--biblatexbibtex格式化您的引文。

2)biber依赖于csl样式。您可以找到一些herehere,您可以轻松自定义here。将其传递给您的pandoc命令,其中包含pandoc-citeproc或YAML标题栏中的--csl=行。 Pandoc会在csl:中查找文件,如果它不存在或与您的降价文件位于同一目录中,则必须提供完整路径。