avisos atbegshi impressos como parte da saída

avisos atbegshi impressos como parte da saída

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:

insira a descrição da imagem aqui

Como posso evitar isso?

Responder1

Isso acontecerá após cada página descartada.

pageseldescarta 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:

insira a descrição da imagem aqui

\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 atbegshipossui 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 pageselbefore atbegshié a maneira mais fácil.

Porém, a via ignorar atbegshipermite 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 .auxarquivo. 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 .auxarquivo e uma terceira execução grava a referência novamente, mas inclui a página. Portanto a execução, que exclui arquivos, deve chamar \nofilespara evitar alterações nos arquivos auxiliares.

informação relacionada