
考慮以下範例:
\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 那麼舒適pagesel
,因此 Werner 的使用pagesel
before的解決方案atbegshi
是最簡單的方法。
然而,忽略 viaatbegshi
允許更有趣的事情,例如忽略由引用標記的頁面:
% \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
。在第二次運行中,帶有引用的頁面將被丟棄。由於未輸出頁面,因此引用不會寫入文件.aux
,第三次執行會再次寫入引用,但會包含該頁面。因此,應呼叫排除檔案的運作\nofiles
以防止對輔助檔案進行更改。