Pandoc (md, latex) должен сгенерировать bibitem в Библиографии

С помощью 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}.

Однако я хочу получить следующее (по сути, то, что было бы в файле .bbl, созданном bibtex):

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}

Я знаю, что могу запустить pandoc с --natbib --bibliography=example.bib, затем скомпилировать с помощью pdflatex и bibtex и использовать \input{example.bbl}. Но есть ли способ сделать это правильно с помощью pandoc без промежуточного bibtex (вручную или по трубопроводу)?

Кстати, как pandoc делает это внутри, когда генерирует pdf напрямую с --filter pandoc-citeproc? Если бы он также просто использовал эти предварительно отформатированные текстовые ссылки, я был бы глубоко разочарован. Потому что похоже, что отдельные стили, определенные в преамбуле латексного шаблона, в этом случае не применяются.


person Martin    schedule 07.05.2015    source источник


Ответы (1)


1) Вы не можете. Или вы

  • попросите pandoc сгенерировать для вас ссылку и библиографию (pandoc-citeproc, см. пункт 2) или
  • отформатируйте их для natbib (--natbib) или biblatex (--biblatex), но вы должны полагаться на внешний файл bibtex (или другой совместимый формат). Затем вам понадобится bibtex или biber для форматирования цитат.

2) pandoc-citeproc полагается на стили csl. Вы можете найти несколько здесь и здесь, и вы можете легко настроить их здесь . Передайте его команде pandoc с --csl= или со строкой csl: в блоке заголовка YAML. Pandoc ищет файлы в ~/.csl, вы должны указать полный путь, если его там нет или в том же каталоге, что и ваш файл разметки.

person scoa    schedule 07.05.2015