我正在阅读标题为定制 emacs 以使用 biblatex-biber 而不是 bibtex。在这个问题中,用户@PLK 提到,从 auctex 11.87 开始,auctex 应该会自动检查您是否正在使用 biblatex,如果是,则切换到使用 biber。我已经安装并运行了 auctex 11.87,但我没有得到这种自动切换行为。
假设我有两个文件(借自这个问题)。
测试.tex
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\addbibresource{test.bib}
\defbibheading{bibliography}{}
\begin{document}
\nocite{*}
\subsection*{Journal Publications:}
\printbibliography[type=article]
\subsection*{Conference Publications:}
\printbibliography[type=inproceedings]
\end{document}
和 test.bib
@ARTICLE{abc,
author = {A Author},
title = {the article title},
journal = {the journal},
year = {2012},
volume = {1},
pages = {1--2},
number = {1},
month = {1},
doi = {1234/5678}
}
@INPROCEEDINGS{def,
author = {A Author},
title = {the proceeding title},
journal = {the conference},
year = {2012},
volume = {1},
pages = {11--12},
number = {1},
month = {1},
doi = {5678/1234}
}
如果我运行以下命令:
pdflatex test.tex
biber test
pdflatex test.tex
我最终得到了一个正确处理的文档。在 emacs 中,当我按下C-c C-c
并选择BibTeX
命令时,emacs 会运行bibtex test
而不是biber test
。然后我收到有关没有\citation
\bibdata
或\bibstyle
命令的错误。我的bibtex-dialect
变量自动设置为biblatex
,LaTeX-biblatex-use-Biber
设置为t
,TeX-command-Biber
设置为Biber
,但由于某种原因TeX-command-BibTex
变量仍然设置为 BibTeX。这应该自动更改为Biber
吗?我必须使用局部变量来设置它吗?这是一个错误,还是我做错了什么?
编辑
根据这一页在 AUCTeX 11.87 手册中:
如果您在文档中使用 biblatex,AUCTeX 会从 BibTeX 切换到 Biber 进行参考书目处理。
所以我觉得这种自动切换应该已经发生了。
答案1
AUCTeX 使用为默认参考书目处理器。如果在源文件中使用显式bibtex
行将变量设置TeX-parse-self
为 来激活 LaTeX 文档解析,AUCTeX会根据变量 的值提示或处理器,默认值为。但直到版本 11.87,AUCTeX 都无法t
\usepackage{biblatex}
biber
bibtex
LaTeX-biblatex-use-Biber
t
自动地选择书目处理器,它是在 LaTeX 文档中使用包backend
的加载选项设置的biblatex
。
从未来几周或几个月内发布的 11.88 版本开始,AUCTeX 将查看biblatex
加载选项以自动在biber
和之间进行选择bibtex
。在此版本中,变量LaTeX-biblatex-use-Biber
将被删除,因为不再需要它。
答案2
请注意,如果\usepackage{biblatex}
写在不同的行中,例如,
\usepackage[
backend=biber,
style=numeric,
sorting=none
]
{biblatex}
AUCTeX 不会注意到它并留下LaTeX-biblatex-use-Biber
错误。