从在Emacs一个中文提供文件自动完成Pandoc式引用(Autocomplete Pandoc-s

2019-08-03 06:30发布

Pandoc式引用

Pandoc使用支持使用键从中文提供文件的自动引用一个Markdown格式。 对于格式是一些例子:

Blah blah [@doe99]

Blah blah [@doe99, p.33]

Blah blah [see @doe99, pp. 33-35; also @smith04, ch. 1].

Emacs和Pandoc /降价

有一个Pandoc模式用于通过Emacs的Pandoc其可以结合相互作用降价模式 。 Pandoc模式和降价模式不支持引文自动完成从中文提供文件。 有这种支持的TeX文件模式Reftex 。 我在寻找一种方式编辑Markdown文件时获得Reftex式自动完成。

自动完成在其他编辑

没有为TextMate的一个解决方案: 从TextMate的一个中文提供文件自动完成pandoc式引用 。

该功能也是VIM-Pandoc :

自动完成是通过在劈砍而去实现乳胶Box的实现读者预约完成的,即使结果不看很像原来的。

我怎样才能得到pandoc风格的引文自动完成从一个Emacs的中文提供文件?

Answer 1:

要做到这一点,你可以使用reftex-citation

建立

启用RefTeX

你必须让你的编辑可以通过完成文件RefTeX Mx reftex-mode或通过设置文件变量如添加-*- mode: reftex; -*- -*- mode: reftex; -*-该文件的第一行。

告诉RefTeX在您的参考书目

你需要告诉RefTeX 您的书目文件 。 这可以通过添加以下到您的.emacs(和编辑根据您的设置路径)来完成:

;; So that RefTeX finds my bibliography
(setq reftex-default-bibliography '("path/to/bibfile.bib"))

需要注意的是reftex-default-bibliography是一个列表,这样你就可以将其添加几条路径。

如果您使用不同的文件不同的参考书目可能最好告诉每个文件的书目RefTeX。 恐怕我只知道丑陋的方式来做到这一点。 我们的想法是,既然RefTeX可以由乳胶宏提取正确书目,你可以在注释中嵌入一个LaTeX宏。 因此,你可以用文献目录Pandoc的规格一起加入这样的评论:

bibliography::bibliography_name.bib
<!-- \bibliography{bibliography_name} So that RefTeX knows about the bibliography -->

告诉RefTeX如何格式化引文

要获得reftex-citation在使用Pandoc你要自定义格式插入reftex-cite-format ,如插入以下到您的.emacs:

(eval-after-load 'reftex-vars
  '(progn 
     (setq reftex-cite-format '((?\C-m . "[@%l]")))))

您可以婉包括其他格式了。 有关如何做到这说明见https://tex.stackexchange.com/a/31992/5701 。 请注意,这个设置是全球化,所以,如果您还使用RefTeX LaTeX的它也将受到影响。

使用

要插入引文要么做Mx reftex-citationCc [然后按回车键 ,你被允许插入的检索词在你的书目搜索。 然后RefTeX将插入你Pandoc格式选择的书目项目的关键。



文章来源: Autocomplete Pandoc-style citations from a Bibtex file in Emacs