
Considere o seguinte exemplo:
\documentclass{article}
\usepackage{lipsum,atbegshi}
\usepackage[2-]{pagesel}% Ignore first page
\begin{document}
\lipsum[1-50]
\end{document}
A saída inclui um aviso deatbegshi
:
Como posso evitar isso?
Responder1
Isso acontecerá após cada página descartada.
pagesel
descarta páginas dependendo dos critérios de inclusão especificados. Quando uma página é excluída, a caixa de envio é anulada, o que confundeatbegshi
.
Para evitar isso, mude a ordem de carregamento, carregandoatbegshi
depois pagesel
:
\documentclass{article}
\usepackage[2-]{pagesel}
\usepackage{lipsum,atbegshi}
\begin{document}
\lipsum[1-50]
\end{document}
Responder2
Adições ao Wernerresponder.
Além disso, o pacote atbegshi
possui um recurso de "descarte de página". Por exemplo, a primeira página pode ser ignorada por:
\documentclass{article}
\usepackage{lipsum,atbegshi}
% \usepackage[2-]{pagesel}% Ignore first page
\AtBeginShipoutNext{\AtBeginShipoutDiscard}
\begin{document}
\lipsum[1-50]
\end{document}
Ou ignorando todas as páginas pares:
\documentclass{article}
\usepackage{lipsum,atbegshi}
\AtBeginShipout{%
\ifodd\value{page}%
\else
\AtBeginShipoutDiscard
\fi
}
\begin{document}
\lipsum[1-50]
\end{document}
É claro que a sintaxe não é tão confortável quanto package pagesel
, portanto, a solução de Werner com using pagesel
before atbegshi
é a maneira mais fácil.
Porém, a via ignorar atbegshi
permite coisas mais engraçadas, como ignorar páginas, que são marcadas por uma referência:
% \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}
Na primeira execução a referência é gravada no .aux
arquivo. Na segunda execução a página com a referência é então descartada. Como a página não é gerada, a referência não é gravada no .aux
arquivo e uma terceira execução grava a referência novamente, mas inclui a página. Portanto a execução, que exclui arquivos, deve chamar \nofiles
para evitar alterações nos arquivos auxiliares.