在没有内联引用的情况下,在pandoc/markdown中自动创建bibtex的参考书目

cle*_*oux 15 markdown bibtex citations pandoc

我怎么能自动从中文提供文件创建引文列表,最好在降价(更具体地说,pandoc)格式?

我正在建立我的个人学术网站.正如大多数个人学术网站所做的那样,我包括一个列出我的出版物的页面.不过,我真的不想手工编写每一个引用,所以我试图找到从一个或多个文件中文提供创建引文的自动方法.

理想情况下,将是一个工具,我可以只手包含我的出版物,以中文提供一个文件,它会吐出降价(我使用pandoc +生成文件创建站点).我目前还没有意识到任何这样的工具.

使我的需求更加复杂的是,出版物的简单平面列表是不够的.我需要能够列出不同类别的不同出版物(同行评审和非同行评审).虽然如果像我这样的工具确实存在,我可以轻松地维护多个bibtex文件并使用一些bash-fu来实现这一目标.

Joh*_*ane 11

您可以使用pandoc自己的引用支持.按以下行创建markdown文件:

# Peer-reviewed papers

1. [@me2001]
2. [@me2002]

# Non-peer-reviewed papers

1. [@me1999]
2. [@me1998]
Run Code Online (Sandbox Code Playgroud)

其中me1999etc是你的bibtex文件中的键.然后找到或创建一个CSL文件,以您希望的方式格式化引用,并使用pandoc进行处理:

pandoc --bibliography mybiblio.bib --csl mycsl.csl -o citations.html -s citations.txt
Run Code Online (Sandbox Code Playgroud)

或者,-t markdown如果您愿意,可以添加并获得降价版本.

如果您不想手动创建输入markdown文件,您可以编写一个脚本来从bibtex文件生成它,如果它包含足够的元数据来区分同行评审和非同行评审的论文.

  • 这是我最初尝试的。发生的是,它在键的位置放置了文本引用,例如(Me 2001),而不是完整的书目引用。完整的参考书目被放在文档的末尾。这仅仅是由于我使用的CSL吗? (2认同)
  • 您可以使用'markdown-citations'格式.请参阅:https://groups.google.com/d/msg/pandoc-discuss/DJ_XxxvkJEg/KjJ6iDiVAwAJ (2认同)

Gui*_*lli 9

出于同样的原因我想要同样的事情(使用Hakyll创建一个网站),我发现了"问题":CSL文件.

事实上,Pandoc完美地完成了这项工作,并且MacFarlane提供的解决方案是正确的,但是它没有解释CSL文件的规则 - 它是什么定义了你是否要在中间文本中有一个带有列表的编号引用最终的出版物与否.

Julien Tanguy创造了一种CSL风格,将BibTeX的出版物信息放在引用参考的地方,源自芝加哥风格.当然你可以使用它(它是根据Creative Commons Attribution-Share Alike 3.0获得许可),但你也可以创建你的.

所以,现在(很久以后你发布了这个问题),我希望你有完整的答案.