AucTeX 和 Chapterbib

AucTeX 和 Chapterbib

在 emacs (24.2.1) 中通过 Auctex (RefTeX) 执行 BibTeX 只会.bbl在多文件文档中为主文件创建一个文件。但是,如果想要每个章节的参考书目,则必须在每个.aux文件上分别运行 BibTeX。Auctex (RefTeX) 中是否有一个隐藏选项可以激活此功能?

在所附的最小示例中,仅生成了.bbl的文件,但没有生成和 的文件。复制到和解决了该问题,并且可以在文档中找到引文和参考书目。main.texincl.texincl2.texmain.bblincl.bblincl2.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 实现上成功尝试了此操作。

相关内容