Atbegshi-Warnungen werden als Teil der Ausgabe gedruckt

Atbegshi-Warnungen werden als Teil der Ausgabe gedruckt

Betrachten Sie das folgende Beispiel:

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

Die Ausgabe enthält eine Warnung vonatbegshi:

Bildbeschreibung hier eingeben

Wie kann ich das vermeiden?

Antwort1

Dies geschieht nach jeder verworfenen Seite.

pageselverwirft Seiten je nach den von Ihnen angegebenen Einschlusskriterien. Wenn eine Seite ausgeschlossen wird, wird die Versandbox ungültig, was verwirrtatbegshi.

Um dies zu vermeiden, ändern Sie die Ladereihenfolge, ladenatbegshi nach pagesel:

Bildbeschreibung hier eingeben

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

Antwort2

Ergänzungen zu WernersAntwort.

Das Paket verfügt auch atbegshiüber eine Funktion zum „Verwerfen von Seiten“. Beispielsweise kann die erste Seite folgendermaßen ignoriert werden:

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

Oder alle geraden Seiten ignorieren:

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

Natürlich ist die Syntax nicht so komfortabel wie bei package pagesel, daher ist Werners Lösung mit der Verwendung von pageselbefore atbegshider einfachste Weg.

Das Ignorieren über erlaubt allerdings auch atbegshiwitzigere Dinge, wie das Ignorieren von Seiten, die durch einen Verweis gekennzeichnet sind:

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

Im ersten Durchlauf wird die Referenz in die .auxDatei geschrieben. Im zweiten Durchlauf wird dann die Seite mit der Referenz verworfen. Da die Seite nicht ausgegeben wird, wird die Referenz auch nicht in die .auxDatei geschrieben und ein dritter Durchlauf schreibt die Referenz erneut, schließt die Seite aber mit ein. Daher sollte der Durchlauf, der Dateien ausschließt, aufgerufen werden, \nofilesum Änderungen an den Hilfsdateien zu verhindern.

verwandte Informationen