
次の例を考えてみましょう。
\documentclass{article}
\usepackage{lipsum,atbegshi}
\usepackage[2-]{pagesel}% Ignore first page
\begin{document}
\lipsum[1-50]
\end{document}
出力には、atbegshi
:
これを避けるにはどうしたらいいでしょうか?
答え1
答え2
ヴェルナーズへの追加答え。
また、パッケージatbegshi
には「ページ破棄」機能があります。たとえば、最初のページは次のように無視できます。
\documentclass{article}
\usepackage{lipsum,atbegshi}
% \usepackage[2-]{pagesel}% Ignore first page
\AtBeginShipoutNext{\AtBeginShipoutDiscard}
\begin{document}
\lipsum[1-50]
\end{document}
または、すべての偶数ページを無視します。
\documentclass{article}
\usepackage{lipsum,atbegshi}
\AtBeginShipout{%
\ifodd\value{page}%
\else
\AtBeginShipoutDiscard
\fi
}
\begin{document}
\lipsum[1-50]
\end{document}
もちろん、構文は package ほど快適ではないので、 beforepagesel
を使用する Werner のソリューションが最も簡単な方法です。pagesel
atbegshi
それでも、無視経由を使用するとatbegshi
、参照によってマークされたページを無視するなど、より面白いことが可能になります。
% \nofiles % for the final run
\documentclass{article}
\usepackage{lipsum,atbegshi, refcount}
\AtBeginShipout{%
\ifnum\getrefbykeydefault{IgnoreThisPage}{page}{-\maxdimen}=\value{page}%
\AtBeginShipoutDiscard
\fi
}
\begin{document}
\lipsum[1-25]
\section{This page is ignored}
\label{IgnoreThisPage}
\lipsum[26-50]
\end{document}
最初の実行では、参照がファイルに書き込まれます.aux
。2 回目の実行では、参照を含むページが破棄されます。ページは出力されないため、参照はファイルに書き込まれず、3 回目の実行では参照が再度書き込まれますが、ページが含まれます。したがって、ファイルを除外する実行では、補助ファイルの変更を防ぐために を.aux
呼び出す必要があります。\nofiles