includeonly 和页码

includeonly 和页码

我正在使用该命令编写一个相当大的文档,其中包含主 .tex 文件中包含的不同章节\include。我发现这很实用,因为我可以使用该命令编译单个章节,并保留页码和指向其他章节的链接\includeonly

最近,我发现这\inlcudeonly可能是导致文档末尾添加空白页的原因。我发现修复它基于\include命令的重新定义:

\let\oldInclude=\include
\def\include#1{\bgroup\def\clearpage{\relax}\oldInclude{#1}\egroup}

但是,此修复似乎造成了一些其他问题。就我而言,它影响了页码由于与 hyperref 包冲突。编译整个文档时一切都很好,但编译单个章节(或更多)时使用\includeonly会产生最后两页的错误编号......

我能够将问题简化为 mwe,其中应用此修复程序会产生编译问题。以下是要执行以查看问题的命令:pdflatex main.tex。编译后的 pdf 具有正确的页码。然后取消注释行并再次\includeonly运行: 。pdflatex main.tex

生成的 PDF 有页码不正确...

主文本

\documentclass[11pt,letterpaper,fleq,twoside]{article}
\usepackage[]{hyperref}

% fix
\let\oldInclude=\include
\def\include#1{\bgroup\def\clearpage{\relax}\oldInclude{#1}\egroup}

%\includeonly{chapitre_1}

\begin{document}
    \include{description}
    \include{chapitre_1}
    \include{chapitre_1_exercices}
\end{document}

以及在哪里描述.tex是:

\newpage
\section*{Plan de cours pour la session d'}
Le cours \dots

chapitre_1.tex是:

\newpage
\section{Chapitre 1}

\label{chap_1}
% table des matières
\newpage
\subsection{Introduction}
    Contenu du chapitre\dots
\newpage
    page supplémentaire pour afficher les numéros de page

chapitre_1_exercices.tex是:

\newpage        
\subsection{Exercices d'application}
    Liste d'exercices\dots

我不知道如何更新修复...

相关内容