как мне скомпилировать разные главы, используя только часть библиографии?

как мне скомпилировать разные главы, используя только часть библиографии?

Я использую его \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}

Связанный контент