Des citations de style Pandoc autocomplètes à partir D'un fichier Bibtex dans Emacs

Pandoc-style citations

Pandoc utilise un format de Markdown qui supporte les citations automatiques en utilisant les clés des fichiers BibTeX. Quelques exemples pour le format:

Blah blah [@doe99]

Blah blah [@doe99, p.33]

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

Emacs et Pandoc/Markdown

il y a un Pandoc-Mode pour interagir avec Pandoc par Emacs qui peut être combiné avec Markdown-Mode. Pandoc-Mode et Le mode Markdown ne supporte pas l'autocompletion des citations des fichiers bibtex. Un mode qui a ce genre de support pour les fichiers TeX est Reftex. Je cherche un moyen d'obtenir l'autocomplétion de style Reftex lors de l'édition de fichiers Markdown.

auto-complétion dans d'autres éditeurs

Il y a une solution pour Textmate: saisie semi-automatique pandoc-style des citations à partir d'un fichier bibtex dans textmate.

La fonctionnalité est également en Vim-Pandoc:

saisie semi-automatique a été mis en œuvre par bidouiller sur LaTeX de la Boîte de mise en œuvre de bibtex citation completion, même si les résultats ne ressemble pas à l'original.

Comment puis-je obtenir autocompletion pour les citations de style pandoc à partir d'un fichier bibtex dans Emacs?

12
demandé sur lecodesportif 2012-11-28 18:17:45

1 réponses

Pour ce faire, vous pouvez utiliser reftex-citation.

Setup

Enable RefTeX

vous devez activer RefTeX pour le fichier que vous éditez qui peut être fait via M-x reftex-mode ou par la fixation d'un variable file comme ajouter -*- mode: reftex; -*- à la première ligne du fichier.

dites à RefTeX où se trouve votre bibliographie

Vous devez dire à RefTeX où votre bibliographie fichier est. Ceci peut être fait en ajoutant le suite à votre .emacs (et éditant le chemin selon votre configuration):

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

Notez que reftex-default-bibliography est une liste, donc vous pouvez y ajouter plusieurs chemins.

si vous utilisez des bibliographies différentes pour des fichiers différents, il peut être préférable d'indiquer RefTeX de la bibliographie de chaque fichier. J'ai bien peur de ne connaître qu'un moche moyen de faire ça. L'idée est que puisque RefTeX peut extraire la bibliographie correcte des macros LaTeX, vous pouvez intégrer une macro LaTeX dans un commentaire. Ainsi, vous pouvez ajouter un commentaire avec la spécification de la bibliographie de Pandoc:

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

dire à RefTeX comment formater les citations

Pour obtenir de l' reftex-citation pour insérer dans le format utilisé par Pandoc vous devez personnaliser reftex-cite-format comme insérer ce qui suit dans votre .emacs:

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

vous pouvez vouloir inclure d'autres formats aussi. Pour des instructions sur la façon de faire cela, voir https://tex.stackexchange.com/a/31992/5701. Notez que ce paramètre est global de sorte que si vous utilisez aussi RefTeX pour LaTeX, il sera également affecté.

Utiliser

Pour insérer une citation, soit ne M-x reftex-citation ou C-c [ puis appuyez sur Entrée et vous êtes autorisé à insérer un terme de recherche pour la recherche dans votre bibliographie. RefTeX insérera alors la clé de la bibliographie que vous avez sélectionnée au format Pandoc.

10
répondu N.N. 2017-04-13 12:34:29