В предыдущие годы я полагался на старый добрый (tm) BibTeX для своих библиографических файлов. Но в наши дни следует использовать BibLaTeX с biber в качестве замены BibTeX. Поэтому я бы с удовольствием убедил свой emacs использовать BibLaTeX по умолчанию.
Я читаюзаставить emacs автоматически использовать biber вместо bibtexиНастройка emacs для использования biblatex-biber вместо bibtexно они не ответили на мои вопросы/не помогли мне в полной мере.
Например, я бы с удовольствием открыл новый, свежий и пустой файл библиографии new.bib
. В этом буфере Emacs по-прежнему предполагает использование BibTeX, как можно легко проверить в строке меню "Типы записей". Он представляет классический набор типов записей BibTeX. @Online
а другие новые типы из BibLaTeX отсутствуют или не представлены.
Выбор подменю "BibTeX dialect" в указанном меню доказывает, что Emacs по-прежнему использует BibTeX в качестве диалекта. Я был бы рад, если бы вместо этого автоматически выбирался другой вариант "BibLaTeX".
Мой .emacs
файл содержит следующее:
(setq LaTeX-biblatex-use-Biber t)
(setq TeX-command-BibTeX "Biber")
что, по-видимому, недостаточно.
Что я пропустил?
решение1
Настройте переменную bibtex-dialect
следующим образом biblatex
:
bibtex-dialect — переменная, определенная в
bibtex.el
.
Ее значение равноBibTeX
Эта переменная безопасна как локальная переменная файла, если ее значение удовлетворяет предикату
symbolp
.
Вы можете настроить эту переменную.Документация: Текущий диалект BibTeX. Допустимые значения см. в
bibtex-dialect-list
. Для интерактивного изменения диалекта используйте командуbibtex-set-dialect
.
Если вам не нравится интерфейс настройки, добавьте
(setq bibtex-dialect 'biblatex)
в ваш файл init. Преимущество в том, что customize не перезапишет эту переменную после bibtex.el
загрузки. Следовательно, вам не нужна конструкция типа:
(with-eval-after-load "bibtex"
(bibtex-set-dialect 'biblatex))
решение2
Можете добавить
(bibtex-set-dialect 'biblatex)
к инициализации Emacs.