Автозаполнение цитат в стиле Пандока из файла Bibtex в Emacs
Цитаты в стиле Пандока
Pandoc использует формат Markdown, который поддерживает автоматическое цитирование с использованием ключей из файлов BibTeX. Некоторые примеры для формата:
Blah blah [@doe99]
Blah blah [@doe99, p.33]
Blah blah [see @doe99, pp. 33-35; also @smith04, ch. 1].
Emacs и Pandoc/ Уценка
Существует Pandoc-Mode для взаимодействия с Pandoc через Emacs, который можно комбинировать с Markdown-Mode. Pandoc-Mode и Markdown-Mode не поддерживают автозаполнение цитат из файлов bibtex. Режим с такой поддержкой файлов TeX - это Reftex. Я ищу способ получить автозаполнение в стиле Reftex при редактировании файлов Markdown.
Автозаполнение в других редакторах
Существует решение для Textmate: автозаполнение цитат в стиле pandoc из файла bibtex в textmate.
Функция также в Vim-Pandoc:
Автозаполнение было реализовано путем взлома реализации LaTeX Box завершения цитирования bibtex, даже если результаты не очень похожи на оригинал.
Как я могу получить автозаполнение цитат в стиле pandoc из файла bibtex в Emacs?
1 ответ
Для этого вы можете использовать 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, как форматировать цитаты
Получить 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, это также будет затронуто.
использование
Чтобы вставить цитату, либо выполните M-x reftex-citation
или же C-c [
затем нажмите Enter, и вам будет разрешено вставить поисковый запрос для поиска в вашей библиографии. RefTeX вставит ключ библиографического элемента, выбранного вами в формате Pandoc.