Advertencias de atbegshi impresas como parte del resultado.

Advertencias de atbegshi impresas como parte del resultado.

Considere el siguiente ejemplo:

\documentclass{article}
\usepackage{lipsum,atbegshi}
\usepackage[2-]{pagesel}% Ignore first page
\begin{document}
\lipsum[1-50]
\end{document}

El resultado incluye una advertencia deatbegshi:

ingrese la descripción de la imagen aquí

¿Cómo puedo evitar esto?

Respuesta1

Esto sucederá después de cada página descartada.

pageseldescarta páginas dependiendo de los criterios de inclusión que especifique. Cuando se excluye una página, el cuadro de envío se anula, lo que confundeatbegshi.

Para evitar esto, cambie el orden de carga, cargandoatbegshi después pagesel:

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage[2-]{pagesel}
\usepackage{lipsum,atbegshi}
\begin{document}
\lipsum[1-50]
\end{document}

Respuesta2

Adiciones a Wernerrespuesta.

Además, el paquete atbegshitiene una función de "descarte de página". Por ejemplo, la primera página puede ser ignorada por:

\documentclass{article}
\usepackage{lipsum,atbegshi}
% \usepackage[2-]{pagesel}% Ignore first page
\AtBeginShipoutNext{\AtBeginShipoutDiscard}
\begin{document}
\lipsum[1-50]
\end{document}

O ignorando todas las páginas pares:

\documentclass{article}
\usepackage{lipsum,atbegshi}
\AtBeginShipout{%
  \ifodd\value{page}%
  \else
    \AtBeginShipoutDiscard
  \fi
}
\begin{document}
\lipsum[1-50]
\end{document}

Por supuesto, la sintaxis no es tan cómoda como con el paquete pagesel, por lo que la solución de Werner con el uso pageselde before atbegshies la forma más sencilla.

Sin embargo, ignorar vía atbegshipermite cosas más divertidas, como ignorar páginas que están marcadas por una referencia:

% \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}

En la primera ejecución, la referencia se escribe en el .auxarchivo. En la segunda ejecución, se descarta la página con la referencia. Dado que la página no se genera, la referencia no se escribe en el .auxarchivo y una tercera ejecución escribe la referencia nuevamente, pero incluye la página. Por lo tanto, la ejecución, que excluye archivos, debe llamar \nofilespara evitar cambios en los archivos auxiliares.

información relacionada