从 bib 文件生成 markdown

从 bib 文件生成 markdown

我有一个关于从 .bib 文件生成 markdown 的问题。我发现 pandoc 可能是最有用的东西,但我的尝试失败了。我尝试使用以下 bib 文件 (refs.bib):

@article{Author:2000aaa,
    author = "AuthorA, O. and AuthorB, T. and AuthorC, F.",
    title = "{Some title}",
    eprint = "2000.00001",
    archivePrefix = "arXiv",
    primaryClass = "hep-ph",
    doi = "10.1111/Some.DOI",
    journal = "Journal",
    volume = "1",
    number = "1",
    pages = "111111",
    year = "2000"
    month = "1"
}

你知道 - 一些带有期刊记录和 arxiv 内容的通用 bib 文件。现在我想做的是将其更改为 markdown,这样静态网站生成器就可以从中创建一个网站。

我尝试过各种组合:

pandoc --citeproc --bibliography=refs.bib --csl=chicago-annotated-bibliography.csl -o refs.md

以及我在 se 或 te 上找到的任何变体 - 但都不起作用。我总是得到一个空的 refs.md 文件,我无法弄清楚。

问题如下:

  1. pandoc 是正确的软件吗,还是我陷入了困境?
  2. 如果 pandoc 是正确的地方,我该如何调用它来做我想做的事情?
  3. 如果 pandoc 不正确 - 替代方案是什么。

ps:手动将每个条目复制粘贴到 refs.md 显然是可行的,但不是很自动化 :(

答案1

有两种方法可以做到这一点。我使用了以下.bib文件:

sample.bib

@article{selkirk1974french,
    Author = {Selkirk, Elisabeth},
    Date-Added = {2018-04-24 19:07:00 +0000},
    Date-Modified = {2018-04-24 19:08:20 +0000},
    Journal = {Linguistic Inquiry},
    Pages = {573--590},
    Publisher = {JSTOR},
    Title = {French liaison and the {X$'$} notation},
    Year = {1974}}

从文件开始.mdpandoc-bib-test.md

---
bibliography: sample.bib
nocite: "@*"
---

使用以下命令将其转换为.md包含参考书目的输出文件:

pandoc -t markdown_strict --citeproc pandoc-bib-test.md -o pandoc-bib-test-output.md --bibliography sample.bib

输出文件:pandoc-bib-test-output.md

Selkirk, Elisabeth. 1974. “French Liaison and the X′ Notation.”
*Linguistic Inquiry*, 573–90.

或者,创建一个最小.tex文档并以相同的方式进行转换:

\documentclass{article}
\begin{document}
\nocite{*}
\bibliography{sample}
\end{document}

使用以下命令进行转换:

pandoc -t markdown_strict --citeproc pandoc-bib-test.tex -o pandoc-bib-test-output.md --bibliography sample.bib

相同的输出文件:pandoc-bib-test-output.md

Selkirk, Elisabeth. 1974. “French Liaison and the X′ Notation.”
*Linguistic Inquiry*, 573–90.

相关内容