首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandoc(md,latex)应该在书目中生成bibitem。

Pandoc(md,latex)应该在书目中生成bibitem。
EN

Stack Overflow用户
提问于 2015-05-07 05:03:04
回答 1查看 1.7K关注 0票数 3

使用pandoc,我试图通过组合一个.tex文件和一个.md文件来生成一个.bib文件。在结果的latex文件中,Pandoc已经将格式化为纯文本--内联引用以及书目中的完整引用。但是,我喜欢使用\cite\bibitem格式的引用。

example.md

代码语言:javascript
复制
---
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

代码语言:javascript
复制
@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命令

代码语言:javascript
复制
pandoc example.md -t latex -s -S --filter pandoc-citeproc -o example.tex

example.tex (节选)

代码语言:javascript
复制
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文件中的内容):

代码语言:javascript
复制
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时,它是如何在内部实现的呢?如果它也只是使用这些预先格式化的纯文本引用,我将深感失望。因为看起来在latex模板的前导中定义的单个样式在本例中不适用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-07 07:35:17

1)你不能。要么是你

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

( 2) pandoc-citeproc依赖于csl风格。您可以找到一些这里这里,并且可以轻松地自定义它们( 这里 )。使用--csl=或YAML标题块中的csl:行将其传递给您的pandoc命令。Pandoc在~/.csl中查找文件,如果它不存在,或者在与您的标记文件相同的目录中,则必须给出完整的路径。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30092337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档