我正在使用该命令编写一个相当大的文档,其中包含主 .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
我不知道如何更新修复...