предупреждения atbegshi печатаются как часть вывода

предупреждения atbegshi печатаются как часть вывода

Рассмотрим следующий пример:

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

Вывод включает предупреждение отatbegshi:

введите описание изображения здесь

Как этого избежать?

решение1

Это будет происходить после каждой удаленной страницы.

pageselотбрасывает страницы в зависимости от указанных вами критериев включения. Когда страница исключается, поле shipout аннулируется, что сбивает с толкуatbegshi.

Чтобы избежать этого, измените порядок загрузки, загрузивatbegshi после pagesel:

введите описание изображения здесь

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

решение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, поэтому решение Вернера с использованием pageselbefore atbegshi— самый простой способ.

Тем не менее, игнорирование via atbegshiпозволяет делать и более забавные вещи, например, игнорировать страницы, отмеченные ссылкой:

% \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чтобы предотвратить изменения вспомогательных файлов.

Связанный контент