我如何仅使用参考书目的子集来编写不同的章节?

我如何仅使用参考书目的子集来编写不同的章节?

我习惯\input{chapterXX}在主 tex 文件中包括不同的章节,并\includeonly{chapterXX}与多个 tex 文件一起使用,每次只编译一个章节,因此我有多个 PDF(每个章节一个)。

但是,不同章节的 tex 文件自然包含引用命令,并且 不会忽略引用命令\includeonly。这意味着当最终尝试打印每个章节的参考书目时,会打印整个手稿的参考书目。有没有办法让命令\includeonly{}也只包含特定章节的引用命令?

答案1

biblatex正如评论中所提到的,使用现代包装以及非常简单biber

\documentclass{report}
\usepackage[refsection=chapter]{biblatex}
\addbibresource{biblatex-examples.bib}
\includeonly{\jobname-mary,\jobname-peter}
\begin{filecontents}{\jobname-peter.tex}
    \cite{ctan,companion}
\end{filecontents}
\begin{filecontents}{\jobname-paul.tex}
    \cite{aristotle:physics,westfahl:space}
\end{filecontents}
\begin{filecontents}{\jobname-mary.tex}
    \cite{herrmann,shore}
\end{filecontents}

\begin{document}
\include{\jobname-peter}
\include{\jobname-paul}
\include{\jobname-mary}
\printbibliography
\end{document}

相关内容