15

Pandocスタイルの引用

Pandocは、BibTeXファイルのキーを使用した自動引用をサポートするMarkdown形式を使用しています。フォーマットの例は次のとおりです。

Blah blah [@doe99]

Blah blah [@doe99, p.33]

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

EmacsとPandoc/Markdown

There is a Pandoc-Mode for interacting with Pandoc through Emacs which can be combined with Markdown-Mode. Pandoc-Mode and Markdown-Mode don't support autocompletion of citations from bibtex files. A mode that has this kind of support for TeX files is Reftex. I am looking for a way to get Reftex-style autocompletion when editing Markdown files.

Autocompletion in other editors

There is a solution for Textmate: Autocomplete pandoc-style citations from a bibtex file in textmate.

The feature is also in Vim-Pandoc:

Autocompletion was implemented by hacking away at LaTeX Box's implementation of bibtex citation completion, even if the results don't look much like the original.

How can I get autocompletion for pandoc-style citations from a bibtex file in Emacs?

4

1 に答える 1

12

これを行うには、を使用できますreftex-citation

設定

RefTeXを有効にする

編集中のファイルに対してRefTeXを有効にする必要があります。これは、ファイルの最初の行に追加するなど、ファイル変数M-x reftex-modeを設定するか、設定することで実行できます。-*- 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マクロから正しい参考文献を抽出できるため、コメントにLaTeXマクロを埋め込むことができます。したがって、参考文献の仕様とともにそのようなコメントをPandocに追加できます。

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

引用をフォーマットする方法をRefTeXに伝えます

Pandocで使用される形式で挿入するには、以下を.emacsに挿入するなど、reftex-citationカスタマイズする必要があります。reftex-cite-format

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

他のフォーマットも含めたいと思うかもしれません。これを行う方法については、https://tex.stackexchange.com/a/31992/5701を参照してください。この設定はグローバルであるため、LaTeXにRefTeXも使用すると、影響を受けることに注意してください。

使用する

引用を挿入するには、を実行するM-x reftex-citationC-c [、を押しEnterてください。そうすれば、参考文献で検索するための検索語を挿入できます。RefTeXは、選択した参考文献アイテムのキーをPandoc形式で挿入します。

于 2012-11-28T17:05:20.477 に答える