在 emacs (24.2.1) 中通过 Auctex (RefTeX) 执行 BibTeX 只会.bbl
在多文件文档中为主文件创建一个文件。但是,如果想要每个章节的参考书目,则必须在每个.aux
文件上分别运行 BibTeX。Auctex (RefTeX) 中是否有一个隐藏选项可以激活此功能?
在所附的最小示例中,仅生成了.bbl
的文件,但没有生成和 的文件。复制到和解决了该问题,并且可以在文档中找到引文和参考书目。main.tex
incl.tex
incl2.tex
main.bbl
incl.bbl
incl2.bbl
TeX 发行版本:texlive 2012
RefTeX 版本:4.31
主文本
\documentclass{book}
\usepackage[round,sort&compress]{natbib}
\usepackage[sectionbib]{chapterbib}
\begin{document}
\include{incl}
\include{incl2}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
包括tex
\chapter{chap 1}
\input{inp}
\bibliographystyle{plainnat}
\bibliography{testbib} % BibTeX-File(s)
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main"
%%% End:
信息文件
\section{sect1}
some text and a ref: \cite{test_01}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main"
%%% End:
包含2.tex
\chapter{chap 2}
\section{sect1}
some text in chap2 and same ref: \cite{test_01}
\bibliographystyle{plainnat}
\bibliography{testbib} % BibTeX-File(s)
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main"
%%% End:
测试文件
@book{test_01,
title = {Test},
publisher = {Test},
author = {Adam Smith},
year = {1982}
}
答案1
首先,执行 customize-group TeX-command。展开 TeX-command-list。在名称字段 BibTeX 下,将命令字段更改为 bibtex %B
接下来,转到 TeX-expand-list 并插入一个新键 %B。在 expander 字段中添加以下内容:(lambda () (substring (TeX-current-file-name-master-relative) 0 -4))
[上面的“-4”从提供给 BibTeX 的文件名中删除扩展名“.tex”。]
最后,保存自定义。
上述步骤将确保当您对子目录中的章节执行 BibTeX 时,会在该目录中创建相应的 bbl 文件。我已在 Windows 和 Mac Mavericks 实现上成功尝试了此操作。