texlive[56105] Master: pagesel (13aug20)

commits+karl at tug.org commits+karl at tug.org
Thu Aug 13 23:35:54 CEST 2020


Revision: 56105
          http://tug.org/svn/texlive?view=revision&revision=56105
Author:   karl
Date:     2020-08-13 23:35:54 +0200 (Thu, 13 Aug 2020)
Log Message:
-----------
pagesel (13aug20)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-latex.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/pagesel/
    trunk/Master/texmf-dist/doc/latex/pagesel/README.md
    trunk/Master/texmf-dist/doc/latex/pagesel/pagesel.pdf
    trunk/Master/texmf-dist/source/latex/pagesel/
    trunk/Master/texmf-dist/source/latex/pagesel/pagesel.dtx
    trunk/Master/texmf-dist/tex/latex/pagesel/
    trunk/Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty
    trunk/Master/texmf-dist/tex/latex/pagesel/pagesel.sty
    trunk/Master/tlpkg/tlpsrc/pagesel.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/pagesel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pagesel/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/pagesel/README.md	2020-08-13 21:35:54 UTC (rev 56105)
@@ -0,0 +1,14 @@
+# pagesel
+
+Version: 2020-08-03 v1.10
+
+pagesel package for latex 
+
+The package allows to select pages for the output. All other pages are thrown away.
+
+## Copyright (C)
+* 2007, 2009-2011  Heiko Oberdiek
+* 2016-2020        Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.


Property changes on: trunk/Master/texmf-dist/doc/latex/pagesel/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/pagesel/pagesel.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/pagesel/pagesel.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pagesel/pagesel.pdf	2020-08-13 21:33:24 UTC (rev 56104)
+++ trunk/Master/texmf-dist/doc/latex/pagesel/pagesel.pdf	2020-08-13 21:35:54 UTC (rev 56105)

Property changes on: trunk/Master/texmf-dist/doc/latex/pagesel/pagesel.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/pagesel/pagesel.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/pagesel/pagesel.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/pagesel/pagesel.dtx	2020-08-13 21:35:54 UTC (rev 56105)
@@ -0,0 +1,884 @@
+% \iffalse meta-comment
+%
+% File: pagesel.dtx
+% Version: 2020-08-03 v1.10
+% Info: Select pages of a document for output
+%
+% Copyright (C)
+%    1999, 2003, 2006-2008 Heiko Oberdiek
+%    2016-2020 Oberdiek Package Support Group
+%    https://github.com/ho-tex/pagesel/issues
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any later
+% version. This version of this license is in
+%    https://www.latex-project.org/lppl/lppl-1-3c.txt
+% and the latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainers of this work are
+% Heiko Oberdiek and the Oberdiek Package Support Group
+% https://github.com/ho-tex/pagesel/issues
+%
+% This work consists of the main source file pagesel.dtx
+% and the derived files
+%    pagesel.sty, pagesel-2016-05-16.sty,
+%    pagesel.pdf, pagesel.ins, pagesel.drv.
+%
+% Distribution:
+%    CTAN:macros/latex/contrib/pagesel/pagesel.dtx
+%    CTAN:macros/latex/contrib/pagesel/pagesel.pdf
+%
+% Unpacking:
+%    (a) If pagesel.ins is present:
+%           tex pagesel.ins
+%    (b) Without pagesel.ins:
+%           tex pagesel.dtx
+%    (c) If you insist on using LaTeX
+%           latex \let\install=y\input{pagesel.dtx}
+%        (quote the arguments according to the demands of your shell)
+%
+% Documentation:
+%    (a) If pagesel.drv is present:
+%           latex pagesel.drv
+%    (b) Without pagesel.drv:
+%           latex pagesel.dtx; ...
+%    The class ltxdoc loads the configuration file ltxdoc.cfg
+%    if available. Here you can specify further options, e.g.
+%    use A4 as paper format:
+%       \PassOptionsToClass{a4paper}{article}
+%
+%    Programm calls to get the documentation (example):
+%       pdflatex pagesel.dtx
+%       makeindex -s gind.ist pagesel.idx
+%       pdflatex pagesel.dtx
+%       makeindex -s gind.ist pagesel.idx
+%       pdflatex pagesel.dtx
+%
+% Installation:
+%    TDS:tex/latex/pagesel/pagesel.sty
+%    TDS:doc/latex/pagesel/pagesel.pdf
+%    TDS:source/latex/pagesel/pagesel.dtx
+%
+%<*ignore>
+\begingroup
+  \catcode123=1 %
+  \catcode125=2 %
+  \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase 0\ifx\install y1\fi\expandafter
+         \ifx\csname processbatchFile\endcsname\relax\else1\fi
+         \ifx\fmtname\x\else 1\fi\relax
+\else\csname fi\endcsname
+%</ignore>
+%<*install>
+\input docstrip.tex
+\Msg{************************************************************************}
+\Msg{* Installation}
+\Msg{* Package: pagesel 2020-08-03 v1.10 Select pages of a document for output (HO)}
+\Msg{************************************************************************}
+
+\keepsilent
+\askforoverwritefalse
+
+\let\MetaPrefix\relax
+\preamble
+
+This is a generated file.
+
+Project: pagesel
+Version: 2020-08-03 v1.10
+
+Copyright (C)
+   1999, 2003, 2006-2008 Heiko Oberdiek
+   2016-2020 Oberdiek Package Support Group
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3c of this license or (at your option) any later
+version. This version of this license is in
+   https://www.latex-project.org/lppl/lppl-1-3c.txt
+and the latest version of this license is in
+   https://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainers of this work are
+Heiko Oberdiek and the Oberdiek Package Support Group
+https://github.com/ho-tex/pagesel/issues
+
+
+This work consists of the main source file pagesel.dtx
+and the derived files
+   pagesel.sty, pagesel-2016-05-16.sty, pagesel.pdf,
+   pagesel.ins, pagesel.drv.
+
+\endpreamble
+\let\MetaPrefix\DoubleperCent
+
+\generate{%
+  \file{pagesel.ins}{\from{pagesel.dtx}{install}}%
+  \file{pagesel.drv}{\from{pagesel.dtx}{driver}}%
+  \usedir{tex/latex/pagesel}%
+  \file{pagesel.sty}{\from{pagesel.dtx}{package}}%
+  \file{pagesel-2016-05-16.sty}{\from{pagesel.dtx}{packagefrozen}}
+}
+
+\catcode32=13\relax% active space
+\let =\space%
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{*     pagesel.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `pagesel.drv'}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{pagesel.drv}%
+  [2020-08-03 v1.10 Select pages of a document for output (HO)]%
+\documentclass{ltxdoc}
+\usepackage{holtxdoc}[2011/11/22]
+\begin{document}
+  \DocInput{pagesel.dtx}%
+\end{document}
+%</driver>
+% \fi
+%
+%
+%
+% \GetFileInfo{pagesel.drv}
+%
+% \title{The \xpackage{pagesel} package}
+% \date{2020-08-03 v1.10}
+% \author{Heiko Oberdiek\thanks
+% {Please report any issues at \url{https://github.com/ho-tex/pagesel/issues}}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% Single pages or page areas can be selected for output.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \newenvironment{param}{^^A
+%   \newcommand{\entry}[1]{\meta{\###1}:&}^^A
+%   \begin{tabular}[t]{@{}l@{ }l@{}}^^A
+% }{^^A
+%   \end{tabular}^^A
+% }
+%
+% \newcommand*{\Option}[1]{\textsf{#1}}
+%
+% \section{Usage}
+%    The package \Package{pagesel} is a \LaTeXe\ package:
+%    \begin{quote}
+%      |\usepackage|\oarg{options}|{pagesel}|
+%    \end{quote}
+%    (For plain\TeX\ and \LaTeX\,2.09 the similar package
+%    \URL{\Package{selectp}}^^A
+%    {https://ctan.org/pkg/selectp}
+%    from \NameEmail{Donald Arsenau}{asnd at triumf.ca} can be used.)
+%
+%    Depending on the options the package works in two modes:
+%    \begin{enumerate}
+%    \item If no page selecting option is present, so the package
+%          ignores the other options and finishes itself. So no
+%          page will be suppressed by the package and auxiliary files
+%          will be written.
+%    \item With at least one page selecting option the specified
+%          pages are selected and the other are suppressed.
+%          The default for this mode is that auxiliary will not be
+%          overwritten. (This can be changed by an option.)
+%    \end{enumerate}
+%
+% \subsection{Page selecting}
+%    The package \Package{pagesel} sets up a new counter that is
+%    incremented by each \cmd{\shipout}.
+%    In this way the package counts the output pages regardless the value
+%    of the page counter. So each page can individually by addressed,
+%    even if there are several pages with the same page number.
+%
+% \subsubsection{Options\texorpdfstring{ for selecting pages}{}}
+%    \begin{description}
+%    \item[\Option{odd}:] The output pages must have an odd number.
+%         All even output pages are suppressed. If there are no
+%         page areas specified so all odd pages are print. With
+%         page areas only the odd pages in this areas are selected.
+%    \item[\Option{even}:] The opposite of option \Option{odd}.
+%    \item[Page area:] A page area consists of three elements:
+%         the starting output page number, an ``area'' hyphen, and
+%         the output page number of the last page in this area.
+%         Each component is optional, so there are four kinds
+%         to spezify a page area:
+%         \begin{description}
+%         \item[\meta{m}\Option{-}\meta{n}:] All pages between
+%              \meta{m} and \meta{n} inclusive.
+%         \item[\Option{-}\meta{n}:] All pages until \meta{n} inclusive.
+%         \item[\meta{m}\Option{-}:] The page area starts with \meta{m}
+%              and all pages to the end of document are selected.
+%         \item[\Option{-}:] All pages (not very useful).
+%         \item[\meta{s}:] The single page \meta{s}.
+%         \end{description}
+%    \end{description}
+%
+% \subsubsection{Examples}
+%    \newcommand*{\exam}[1]{\texttt{\strut[#1]}}^^A hash-ok
+%    \begin{tabular}{ll}
+%      Options & Output pages\\
+%      \hline
+%      \exam{1, 4, 9}&  1, 4, and 9\\
+%      \exam{7-10, 3}&  3, 7, 8, 9, and 10\\
+%      \exam{odd, 3-6}& 3, and 5\\
+%      \exam{-4, 3, even, 7-8}& 2, 4, and 8\\
+%    \end{tabular}
+%
+% \subsection{Auxiliary files}
+%    If a page is suppressed, the \cmd{\write} commands are not
+%    performed. Labels, index entries, or entries for the
+%    table of contents aren't written. So it is likely that
+%    the table of contents, registers, and lists are incomplete.
+% \subsubsection{Options\texorpdfstring{ for handling auxiliary files}{}}
+%    \begin{description}
+%    \item[\Option{nofiles}:] This is the default. Auxiliary files are
+%         read but not written or changed. Also the job is aborted
+%         after the last selected page for saving time.
+%    \item[\Option{nonofiles}/\Option{files}:] Auxiliary files are
+%         written.
+%    \end{description}
+% \subsubsection{\texorpdfstring{Package }{}\Package{hyperref}}
+%    In old versions of \Package{hyperref} [1999/04/12 v6.55] (and below)
+%    there is a bug with \cmd{\nofiles}:
+%    \begin{itemize}
+%    \item Some ``garbage'' appears on terminal and in the log file.
+%          This is harmless and can be ignored.
+%    \item The outline auxiliary file \cmd{\jobname.out}, however,
+%          is opened and truncated to zero bytes.
+%          Version 1.0 of this package had
+%          loaded a patch file \File{hypnofil.tex}, if it detects
+%          \Package{hyperref} to get \cmd{\nofiles} work.
+%
+%          With the new version of \Package{hyperref} [1999/04/13 v6.56]
+%          \cmd{\nofiles} works now. Therefore the workaround code
+%          is no longer needed and removed.
+%    \end{itemize}
+%
+% \StopEventually{
+% }
+%
+% \section{Implementation}
+%    \begin{macrocode}
+%<*package>
+%    \end{macrocode}
+% \subsection{New implementation using the LaTeX kernel hooks}
+%    \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pagesel}
+  [2020-08-03 v1.10 Select pages of a document for output (HO)]%
+%    \end{macrocode}
+%    \begin{macrocode}
+\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{}{\input{pagesel-2016-05-16.sty}}
+\IfFormatAtLeastTF{2020/10/01}{}{\endinput}
+
+%    \end{macrocode}
+%    If the package is loaded twice, the package code does not
+%    work. So stop loading the package, if it is already loaded.
+%    \begin{macrocode}
+\@ifundefined{ps at oddpages}{}{%
+  \PackageWarningNoLine{pagesel}{Package already loaded.}%
+  \endinput
+}
+%    \end{macrocode}
+%    \begin{macrocode}
+%</package>
+%    \end{macrocode}
+% \subsection{Package}
+%    \begin{macrocode}
+%<*packagefrozen>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pagesel}
+  [2020-08-03 v1.10 Select pages of a document for output (legacy code) (HO)]%
+%    \end{macrocode}
+%
+%    If the package is loaded twice, the package code does not
+%    work. So stop loading the package, if it is already loaded.
+%    \begin{macrocode}
+\@ifundefined{ps at makevoid}{}{%
+  \PackageWarningNoLine{pagesel}{Package already loaded.}%
+  \endinput
+}
+%    \end{macrocode}
+%
+%    \begin{macro}{\ps at makevoid}
+%    Macro \cmd{\ps at makevoid} clears the output box. Because
+%    nothing is shipped out and this is intended, we reduce
+%    the counter \cmd{\deadcycles} in order to avoid problems, if
+%    more than \cmd{\maxdeadcycles} pages are omitted.
+%    \begin{macrocode}
+\newcommand*{\ps at makevoid}{%
+  \global\setbox\@cclv\copy\voidb at x
+  \begingroup
+    \count@=\deadcycles
+    \advance\count@ by -1\relax
+    \deadcycles=\count@
+  \endgroup
+}
+%</packagefrozen>
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\ps at oddpages}
+%    \begin{macrocode}
+%<*package|packagefrozen>
+\newcommand*\ps at oddpages{0}
+\DeclareOption{odd}{\renewcommand*\ps at oddpages{1}}
+\DeclareOption{even}{\renewcommand*\ps at oddpages{2}}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macrocode}
+\DeclareOption{nofiles}{\let\ps at nofiles\nofiles}
+\DeclareOption{nonofiles}{\let\ps at nofiles\@empty}
+\DeclareOption{files}{\let\ps at nofiles\@empty}
+\ExecuteOptions{nofiles}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareOption*{%
+  \begingroup
+    \expandafter\ps at checkoption\CurrentOption-\END
+    \edef\x{\endgroup\noexpand\ps at store{\ps at first}{\ps at last}}%
+  \x
+}
+%    \end{macrocode}
+%
+%    \begin{macro}{\ps at checkoption}
+%    \begin{macrocode}
+\newcommand\ps at checkoption{}
+\def\ps at checkoption#1-#2\END{%
+  \ifx\\#2\\%
+    \ifx\\#1\\%
+      % empty option
+      \def\ps at first{\maxdimen}%
+      \def\ps at last{\maxdimen}%
+    \else
+      \edef\ps at first{#1}%
+      \edef\ps at last{#1}%
+    \fi
+  \else
+    \ifx\\#1\\%
+      \def\ps at first{-\maxdimen}%
+    \else
+      \edef\ps at first{#1}%
+    \fi
+    \ps at checklast#2%
+  \fi
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\ps at checklast}
+%    \begin{macrocode}
+\newcommand\ps at checklast{}
+\def\ps at checklast#1-{%
+  \ifx\\#1\\%
+    \def\ps at last{\maxdimen}%
+  \else
+    \edef\ps at last{#1}%
+  \fi
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\ps at store}
+%    \begin{macrocode}
+\newcommand*{\ps at store}[2]{%
+  \expandafter\def\expandafter\ps at testlist\expandafter{%
+    \ps at testlist\ps at pagetest{#1}{#2}%
+  }%
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\ps at testlist}
+%    \begin{macrocode}
+\newcommand*\ps at testlist{}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macrocode}
+\ProcessOptions
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\begingroup
+  \edef\x{%
+    \ifnum\ps at oddpages>0 \relax\fi
+    \ifx\ps at testlist\@empty\else\relax\fi
+  }%
+  \ifx\x\@empty
+    \endgroup
+    \PackageInfo{pagesel}{Nothing to do}%
+    \expandafter\endinput
+  \fi
+\endgroup
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</package|packagefrozen>
+%<*packagefrozen>
+\RequirePackage{everyshi}
+%</packagefrozen>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%<*package|packagefrozen>
+\ps at nofiles
+%    \end{macrocode}
+%
+%    \begin{macro}{\c at ps@count}
+%    \begin{macrocode}
+\newcounter{ps at count}
+\setcounter{ps at count}{0}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\ps at ReturnAfterElseFi}
+%    \begin{macro}{\ps at ReturnAfterFi}
+%    \begin{macrocode}
+\long\def\ps at ReturnAfterElseFi#1\else#2\fi{\fi#1}
+\long\def\ps at ReturnAfterFi#1\fi{\fi#1}
+%    \end{macrocode}
+%    \end{macro}
+%    \end{macro}
+%
+%    \begin{macrocode}
+\newcommand{\ps at lastpage}{\maxdimen}
+\ifx\ps at nofiles\nofiles
+  \ifx\ps at testlist\@empty
+  \else
+    \def\ps at lastpage{0}%
+    \newcommand*{\ps at pagetest}[2]{%
+      \ifnum#2>\ps at lastpage\relax
+        \def\ps at lastpage{#2}%
+      \fi
+    }%
+    \ps at testlist
+    \let\ps at pagetest\relax
+  \fi
+\fi
+%    \end{macrocode}
+%
+%    \begin{macro}{\ps at ifinset}
+%    \begin{macrocode}
+\newcommand*{\ps at ifinset}[4]{%
+  \ifnum#1>\value{ps at count}%
+    \ps at ReturnAfterElseFi{#4}%
+  \else
+    \ps at ReturnAfterFi{%
+      \ifnum#2<\value{ps at count}%
+        \ps at ReturnAfterElseFi{#4}%
+      \else
+        \ps at ReturnAfterFi{#3}%
+      \fi
+    }%
+  \fi
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\ps at pagetest}
+%    \begin{macrocode}
+\newcommand*{\ps at pagetest}[2]{%
+  \ps at ifinset{#1}{#2}{\let\ps at next\@empty}{}%
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macrocode}
+%</package|packagefrozen>
+%<packagefrozen>\EveryShipout{%
+%<package>\AddToHook{shipout/before}{%
+%<*package|packagefrozen>
+  \stepcounter{ps at count}%
+  \ifnum\value{ps at count}>\ps at lastpage\relax
+    \global\output{%
+      \ps at cleanup@if
+      \ps at group@message
+      \typeout{%
+        Package pagesel Notice: Aborting LaTeX job %
+        after last selected page (\ps at lastpage).%
+      }%
+      \ps at message@ignore
+      \global\setbox\@cclv\box\voidb at x
+      \deadcycles0\relax
+%    \end{macrocode}
+%    First leave the output group before ending the job.
+%    \begin{macrocode}
+      \aftergroup\@@end
+    }%
+  \fi
+  \let\ps at next\@empty
+  \ifx\ps at testlist\@empty
+  \else
+%<packagefrozen>    \let\ps at next\ps at makevoid
+%<package>    \let\ps at next\DiscardShipoutBox
+    \ps at testlist
+  \fi
+  \ifnum\ps at oddpages=1 %
+    \ifodd\value{ps at count}%
+    \else
+%<packagefrozen>    \let\ps at next\ps at makevoid
+%<package>    \let\ps at next\DiscardShipoutBox
+    \fi
+  \fi
+  \ifnum\ps at oddpages=2 %
+    \ifodd\value{ps at count}%
+%<packagefrozen>    \let\ps at next\ps at makevoid
+%<package>    \let\ps at next\DiscardShipoutBox
+    \else
+    \fi
+  \fi
+%<packagefrozen>  \ps at begindvi
+  \ps at next
+}
+%</package|packagefrozen>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%<*package|packagefrozen>
+%<packagefrozen>\begingroup\expandafter\expandafter\expandafter\endgroup
+%<packagefrozen>\expandafter\ifx\csname currentiflevel\endcsname\relax
+%<packagefrozen>  \let\ps at cleanup@if\@empty
+%<packagefrozen>\else
+  \def\ps at cleanup@if{%
+    \ifnum\currentiflevel>\@ne
+      \csname fi\endcsname
+      \expandafter\ps at cleanup@if
+    \fi
+  }%
+%<packagefrozen>\fi
+%    \end{macrocode}
+%    Because of \cs{aftergroup} it is too dangerous to perform
+%    a similar cleanup for groups.
+%    \begin{macrocode}
+%<packagefrozen> \begingroup\expandafter\expandafter\expandafter\endgroup
+%<packagefrozen> \expandafter\ifx\csname currentgrouplevel\endcsname\relax
+%<packagefrozen>  \let\ps at group@message\@empty
+%<packagefrozen>  \def\ps at message@ignore{%
+%<packagefrozen>    \typeout{%
+%<packagefrozen>      (pagesel) \space\space\@spaces\@spaces\@spaces
+%<packagefrozen>      Messages (\string\end\space occurred ...) can be ignored.%
+%<packagefrozen>    }%
+%<packagefrozen>  }%
+%<packagefrozen>\else
+  \def\ps at group@message{%
+    \ifnum\currentgrouplevel>\@ne
+      \def\ps at message@ignore{%
+        \typeout{%
+          (pagesel) \space\space\@spaces\@spaces\@spaces
+          Message (\string\end\space occurred ...) %
+          can be ignored.%
+        }%
+      }%
+    \else
+      \let\ps at message@ignore\@empty
+    \fi
+  }%
+%<packagefrozen>\fi
+%</package|packagefrozen>
+%    \end{macrocode}
+%
+% \subsection{AtBeginDvi hook support}
+%
+%    The material of box \cs{@begindvibox} is recorded in parallel
+%    in box \cs{ps at begindvibox}.
+%    \begin{macrocode}
+%<*packagefrozen>
+\newbox\ps at begindvibox
+\ifvoid\@begindvibox
+\else
+  \global\setbox\ps at begindvibox\vbox{%
+    \unvbox\@begindvibox
+  }%
+\fi
+\let\ps at org@AtBeginDvi\AtBeginDvi
+\def\AtBeginDvi#1{%
+  \global\setbox\ps at begindvibox\vbox{%
+    \unvbox\ps at begindvibox
+    #1%
+  }%
+  \ps at org@AtBeginDvi{#1}%
+}
+%    \end{macrocode}
+%
+%    \begin{macro}{\ps at begindvi}
+%    Macro \cs{ps at begindvi} is called the similar way as \cs{@begindvi}.
+%    If the first page is printed, then \cs{AtBeginDvi} should work
+%    as usual. Otherwise the contents of box \cs{ps at begindvibox} is
+%    set on the first selected page.
+%    \begin{macrocode}
+\def\ps at begindvi{%
+  \ifx\ps at next\@empty
+    \global\let\ps at begindvi\@empty
+  \else
+    \global\let\ps at begindvi\ps at begindvi@do
+  \fi
+}
+\def\ps at begindvi@do{%
+  \ifx\ps at next\@empty
+    \setbox\@cclv\vbox{%
+      \unvbox\ps at begindvibox
+      \box\@cclv
+    }%
+    \global\let\ps at begindvi\@empty
+  \fi
+}
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macrocode}
+%</packagefrozen>
+%    \end{macrocode}
+%
+% \section{Installation}
+%
+% \subsection{Download}
+%
+% \paragraph{Package.} This package is available on
+% CTAN\footnote{\CTANpkg{pagesel}}:
+% \begin{description}
+% \item[\CTAN{macros/latex/contrib/pagesel/pagesel.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/pagesel/pagesel.pdf}] Documentation.
+% \end{description}
+%
+%
+%
+% \subsection{Package installation}
+%
+% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
+% \docstrip\ archive. The files are extracted by running the
+% \xfile{.dtx} through \plainTeX:
+% \begin{quote}
+%   \verb|tex pagesel.dtx|
+% \end{quote}
+%
+% \paragraph{TDS.} Now the different files must be moved into
+% the different directories in your installation TDS tree
+% (also known as \xfile{texmf} tree):
+% \begin{quote}
+% \def\t{^^A
+% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
+%   pagesel.sty & tex/latex/pagesel/pagesel.sty\\
+%   pagesel.pdf & doc/latex/pagesel/pagesel.pdf\\
+%   pagesel.dtx & source/latex/pagesel/pagesel.dtx\\
+% \end{tabular}^^A
+% }^^A
+% \sbox0{\t}^^A
+% \ifdim\wd0>\linewidth
+%   \begingroup
+%     \advance\linewidth by\leftmargin
+%     \advance\linewidth by\rightmargin
+%   \edef\x{\endgroup
+%     \def\noexpand\lw{\the\linewidth}^^A
+%   }\x
+%   \def\lwbox{^^A
+%     \leavevmode
+%     \hbox to \linewidth{^^A
+%       \kern-\leftmargin\relax
+%       \hss
+%       \usebox0
+%       \hss
+%       \kern-\rightmargin\relax
+%     }^^A
+%   }^^A
+%   \ifdim\wd0>\lw
+%     \sbox0{\small\t}^^A
+%     \ifdim\wd0>\linewidth
+%       \ifdim\wd0>\lw
+%         \sbox0{\footnotesize\t}^^A
+%         \ifdim\wd0>\linewidth
+%           \ifdim\wd0>\lw
+%             \sbox0{\scriptsize\t}^^A
+%             \ifdim\wd0>\linewidth
+%               \ifdim\wd0>\lw
+%                 \sbox0{\tiny\t}^^A
+%                 \ifdim\wd0>\linewidth
+%                   \lwbox
+%                 \else
+%                   \usebox0
+%                 \fi
+%               \else
+%                 \lwbox
+%               \fi
+%             \else
+%               \usebox0
+%             \fi
+%           \else
+%             \lwbox
+%           \fi
+%         \else
+%           \usebox0
+%         \fi
+%       \else
+%         \lwbox
+%       \fi
+%     \else
+%       \usebox0
+%     \fi
+%   \else
+%     \lwbox
+%   \fi
+% \else
+%   \usebox0
+% \fi
+% \end{quote}
+% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
+% TDS installing feature, then some files can already be in the right
+% place, see the documentation of \docstrip.
+%
+% \subsection{Refresh file name databases}
+%
+% If your \TeX~distribution
+% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh
+% these. For example, \TeX\,Live\ users run \verb|texhash| or
+% \verb|mktexlsr|.
+%
+% \subsection{Some details for the interested}
+%
+% \paragraph{Unpacking with \LaTeX.}
+% The \xfile{.dtx} chooses its action depending on the format:
+% \begin{description}
+% \item[\plainTeX:] Run \docstrip\ and extract the files.
+% \item[\LaTeX:] Generate the documentation.
+% \end{description}
+% If you insist on using \LaTeX\ for \docstrip\ (really,
+% \docstrip\ does not need \LaTeX), then inform the autodetect routine
+% about your intention:
+% \begin{quote}
+%   \verb|latex \let\install=y\input{pagesel.dtx}|
+% \end{quote}
+% Do not forget to quote the argument according to the demands
+% of your shell.
+%
+% \paragraph{Generating the documentation.}
+% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
+% the documentation. The process can be configured by the
+% configuration file \xfile{ltxdoc.cfg}. For instance, put this
+% line into this file, if you want to have A4 as paper format:
+% \begin{quote}
+%   \verb|\PassOptionsToClass{a4paper}{article}|
+% \end{quote}
+% An example follows how to generate the
+% documentation with pdf\LaTeX:
+% \begin{quote}
+%\begin{verbatim}
+%pdflatex pagesel.dtx
+%makeindex -s gind.ist pagesel.idx
+%pdflatex pagesel.dtx
+%makeindex -s gind.ist pagesel.idx
+%pdflatex pagesel.dtx
+%\end{verbatim}
+% \end{quote}
+%
+% \begin{History}
+%   \begin{Version}{1999/03/01 v0.9}
+%   \item
+%     The first version was built as a response to a question
+%     of \NameEmail{Dirk Kuypers}{dk at comnets.rwth-aachen.de},
+%     published in the newsgroup
+%     \href{news:de.comp.text.tex}{de.comp.text.tex}:\\
+%     \URL{``\link{Re: pdflatex nur fuer bestimmte Seiten?!?}''}^^A
+%     {https://groups.google.com/group/de.comp.text.tex/msg/6b68c7b3439fb658}
+%   \end{Version}
+%   \begin{Version}{1999/04/05 v1.0}
+%   \item
+%     Documentation added in dtx format.
+%   \item
+%     Copyright: LPPL (\CTAN{macros/latex/base/lppl.txt})
+%   \item
+%     Options |odd|, |even| added.
+%   \item
+%     \cmd{\nofiles} added, bug fix for \Package{hyperref}.
+%   \item
+%     Abort loading of package, if nothing to do.
+%   \end{Version}
+%   \begin{Version}{1999/04/13 v1.1}
+%   \item
+%     \cs{nofiles} bug fix removed
+%     because of \xpackage{hyperref} 6.55.
+%   \item
+%     First CTAN release.
+%   \end{Version}
+%   \begin{Version}{2003/06/05 v1.2}
+%   \item
+%     \cs{deadcyles} is decremented for omitted pages.
+%   \item
+%     LPPL 1.2.
+%   \end{Version}
+%   \begin{Version}{2006/02/20 v1.3}
+%   \item
+%     Code is not changed.
+%   \item
+%     New DTX framework.
+%   \item
+%     LPPL 1.3
+%   \end{Version}
+%   \begin{Version}{2006/03/02 v1.4}
+%   \item
+%     Support for \cs{AtBeginDvi} added.
+%   \end{Version}
+%   \begin{Version}{2006/03/07 v1.5}
+%   \item
+%     Job is aborted after last selected page.
+%   \end{Version}
+%   \begin{Version}{2007/04/11 v1.6}
+%   \item
+%     Line ends sanitized.
+%   \end{Version}
+%   \begin{Version}{2007/04/12 v1.7}
+%   \item
+%     Hard coded box number 255 replaced by macro \cs{@cclv}.
+%   \end{Version}
+%   \begin{Version}{2008/08/11 v1.8}
+%   \item
+%     Code is not changed.
+%   \item
+%     URL updated from \texttt{www.dejanews.com}
+%     to \texttt{groups.google.com}.
+%   \end{Version}
+%   \begin{Version}{2016/05/16 v1.9}
+%   \item
+%     Documentation updates.
+%   \end{Version}
+%   \begin{Version}{2020-08-03 v1.10}
+%   \item Updated to follow the changes in the hook management
+%   of LaTeX 2020/10/01
+%   \end{Version}
+% \end{History}
+%
+% \PrintIndex
+%
+% \Finale
+\endinput


Property changes on: trunk/Master/texmf-dist/source/latex/pagesel/pagesel.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty	2020-08-13 21:35:54 UTC (rev 56105)
@@ -0,0 +1,254 @@
+%%
+%% This is file `pagesel-2016-05-16.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pagesel.dtx  (with options: `packagefrozen')
+%% 
+%% This is a generated file.
+%% 
+%% Project: pagesel
+%% Version: 2020-08-03 v1.10
+%% 
+%% Copyright (C)
+%%    1999, 2003, 2006-2008 Heiko Oberdiek
+%%    2016-2020 Oberdiek Package Support Group
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%%    https://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%% 
+%% This work has the LPPL maintenance status "maintained".
+%% 
+%% The Current Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/pagesel/issues
+%% 
+%% This work consists of the main source file pagesel.dtx
+%% and the derived files
+%%    pagesel.sty, pagesel-2016-05-16.sty, pagesel.pdf,
+%%    pagesel.ins, pagesel.drv.
+%% 
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pagesel}
+  [2020-08-03 v1.10 Select pages of a document for output (legacy code) (HO)]%
+\@ifundefined{ps at makevoid}{}{%
+  \PackageWarningNoLine{pagesel}{Package already loaded.}%
+  \endinput
+}
+\newcommand*{\ps at makevoid}{%
+  \global\setbox\@cclv\copy\voidb at x
+  \begingroup
+    \count@=\deadcycles
+    \advance\count@ by -1\relax
+    \deadcycles=\count@
+  \endgroup
+}
+\newcommand*\ps at oddpages{0}
+\DeclareOption{odd}{\renewcommand*\ps at oddpages{1}}
+\DeclareOption{even}{\renewcommand*\ps at oddpages{2}}
+\DeclareOption{nofiles}{\let\ps at nofiles\nofiles}
+\DeclareOption{nonofiles}{\let\ps at nofiles\@empty}
+\DeclareOption{files}{\let\ps at nofiles\@empty}
+\ExecuteOptions{nofiles}
+\DeclareOption*{%
+  \begingroup
+    \expandafter\ps at checkoption\CurrentOption-\END
+    \edef\x{\endgroup\noexpand\ps at store{\ps at first}{\ps at last}}%
+  \x
+}
+\newcommand\ps at checkoption{}
+\def\ps at checkoption#1-#2\END{%
+  \ifx\\#2\\%
+    \ifx\\#1\\%
+      % empty option
+      \def\ps at first{\maxdimen}%
+      \def\ps at last{\maxdimen}%
+    \else
+      \edef\ps at first{#1}%
+      \edef\ps at last{#1}%
+    \fi
+  \else
+    \ifx\\#1\\%
+      \def\ps at first{-\maxdimen}%
+    \else
+      \edef\ps at first{#1}%
+    \fi
+    \ps at checklast#2%
+  \fi
+}
+\newcommand\ps at checklast{}
+\def\ps at checklast#1-{%
+  \ifx\\#1\\%
+    \def\ps at last{\maxdimen}%
+  \else
+    \edef\ps at last{#1}%
+  \fi
+}
+\newcommand*{\ps at store}[2]{%
+  \expandafter\def\expandafter\ps at testlist\expandafter{%
+    \ps at testlist\ps at pagetest{#1}{#2}%
+  }%
+}
+\newcommand*\ps at testlist{}
+\ProcessOptions
+\begingroup
+  \edef\x{%
+    \ifnum\ps at oddpages>0 \relax\fi
+    \ifx\ps at testlist\@empty\else\relax\fi
+  }%
+  \ifx\x\@empty
+    \endgroup
+    \PackageInfo{pagesel}{Nothing to do}%
+    \expandafter\endinput
+  \fi
+\endgroup
+\RequirePackage{everyshi}
+\ps at nofiles
+\newcounter{ps at count}
+\setcounter{ps at count}{0}
+\long\def\ps at ReturnAfterElseFi#1\else#2\fi{\fi#1}
+\long\def\ps at ReturnAfterFi#1\fi{\fi#1}
+\newcommand{\ps at lastpage}{\maxdimen}
+\ifx\ps at nofiles\nofiles
+  \ifx\ps at testlist\@empty
+  \else
+    \def\ps at lastpage{0}%
+    \newcommand*{\ps at pagetest}[2]{%
+      \ifnum#2>\ps at lastpage\relax
+        \def\ps at lastpage{#2}%
+      \fi
+    }%
+    \ps at testlist
+    \let\ps at pagetest\relax
+  \fi
+\fi
+\newcommand*{\ps at ifinset}[4]{%
+  \ifnum#1>\value{ps at count}%
+    \ps at ReturnAfterElseFi{#4}%
+  \else
+    \ps at ReturnAfterFi{%
+      \ifnum#2<\value{ps at count}%
+        \ps at ReturnAfterElseFi{#4}%
+      \else
+        \ps at ReturnAfterFi{#3}%
+      \fi
+    }%
+  \fi
+}
+\newcommand*{\ps at pagetest}[2]{%
+  \ps at ifinset{#1}{#2}{\let\ps at next\@empty}{}%
+}
+\EveryShipout{%
+  \stepcounter{ps at count}%
+  \ifnum\value{ps at count}>\ps at lastpage\relax
+    \global\output{%
+      \ps at cleanup@if
+      \ps at group@message
+      \typeout{%
+        Package pagesel Notice: Aborting LaTeX job %
+        after last selected page (\ps at lastpage).%
+      }%
+      \ps at message@ignore
+      \global\setbox\@cclv\box\voidb at x
+      \deadcycles0\relax
+      \aftergroup\@@end
+    }%
+  \fi
+  \let\ps at next\@empty
+  \ifx\ps at testlist\@empty
+  \else
+    \let\ps at next\ps at makevoid
+    \ps at testlist
+  \fi
+  \ifnum\ps at oddpages=1 %
+    \ifodd\value{ps at count}%
+    \else
+    \let\ps at next\ps at makevoid
+    \fi
+  \fi
+  \ifnum\ps at oddpages=2 %
+    \ifodd\value{ps at count}%
+    \let\ps at next\ps at makevoid
+    \else
+    \fi
+  \fi
+  \ps at begindvi
+  \ps at next
+}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname currentiflevel\endcsname\relax
+  \let\ps at cleanup@if\@empty
+\else
+  \def\ps at cleanup@if{%
+    \ifnum\currentiflevel>\@ne
+      \csname fi\endcsname
+      \expandafter\ps at cleanup@if
+    \fi
+  }%
+\fi
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname currentgrouplevel\endcsname\relax
+  \let\ps at group@message\@empty
+  \def\ps at message@ignore{%
+    \typeout{%
+      (pagesel) \space\space\@spaces\@spaces\@spaces
+      Messages (\string\end\space occurred ...) can be ignored.%
+    }%
+  }%
+\else
+  \def\ps at group@message{%
+    \ifnum\currentgrouplevel>\@ne
+      \def\ps at message@ignore{%
+        \typeout{%
+          (pagesel) \space\space\@spaces\@spaces\@spaces
+          Message (\string\end\space occurred ...) %
+          can be ignored.%
+        }%
+      }%
+    \else
+      \let\ps at message@ignore\@empty
+    \fi
+  }%
+\fi
+\newbox\ps at begindvibox
+\ifvoid\@begindvibox
+\else
+  \global\setbox\ps at begindvibox\vbox{%
+    \unvbox\@begindvibox
+  }%
+\fi
+\let\ps at org@AtBeginDvi\AtBeginDvi
+\def\AtBeginDvi#1{%
+  \global\setbox\ps at begindvibox\vbox{%
+    \unvbox\ps at begindvibox
+    #1%
+  }%
+  \ps at org@AtBeginDvi{#1}%
+}
+\def\ps at begindvi{%
+  \ifx\ps at next\@empty
+    \global\let\ps at begindvi\@empty
+  \else
+    \global\let\ps at begindvi\ps at begindvi@do
+  \fi
+}
+\def\ps at begindvi@do{%
+  \ifx\ps at next\@empty
+    \setbox\@cclv\vbox{%
+      \unvbox\ps at begindvibox
+      \box\@cclv
+    }%
+    \global\let\ps at begindvi\@empty
+  \fi
+}
+\endinput
+%%
+%% End of file `pagesel-2016-05-16.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/pagesel/pagesel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pagesel/pagesel.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/pagesel/pagesel.sty	2020-08-13 21:35:54 UTC (rev 56105)
@@ -0,0 +1,201 @@
+%%
+%% This is file `pagesel.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pagesel.dtx  (with options: `package')
+%% 
+%% This is a generated file.
+%% 
+%% Project: pagesel
+%% Version: 2020-08-03 v1.10
+%% 
+%% Copyright (C)
+%%    1999, 2003, 2006-2008 Heiko Oberdiek
+%%    2016-2020 Oberdiek Package Support Group
+%% 
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%%    https://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%% 
+%% This work has the LPPL maintenance status "maintained".
+%% 
+%% The Current Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/pagesel/issues
+%% 
+%% This work consists of the main source file pagesel.dtx
+%% and the derived files
+%%    pagesel.sty, pagesel-2016-05-16.sty, pagesel.pdf,
+%%    pagesel.ins, pagesel.drv.
+%% 
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pagesel}
+  [2020-08-03 v1.10 Select pages of a document for output (HO)]%
+\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{}{\input{pagesel-2016-05-16.sty}}
+\IfFormatAtLeastTF{2020/10/01}{}{\endinput}
+
+\@ifundefined{ps at oddpages}{}{%
+  \PackageWarningNoLine{pagesel}{Package already loaded.}%
+  \endinput
+}
+\newcommand*\ps at oddpages{0}
+\DeclareOption{odd}{\renewcommand*\ps at oddpages{1}}
+\DeclareOption{even}{\renewcommand*\ps at oddpages{2}}
+\DeclareOption{nofiles}{\let\ps at nofiles\nofiles}
+\DeclareOption{nonofiles}{\let\ps at nofiles\@empty}
+\DeclareOption{files}{\let\ps at nofiles\@empty}
+\ExecuteOptions{nofiles}
+\DeclareOption*{%
+  \begingroup
+    \expandafter\ps at checkoption\CurrentOption-\END
+    \edef\x{\endgroup\noexpand\ps at store{\ps at first}{\ps at last}}%
+  \x
+}
+\newcommand\ps at checkoption{}
+\def\ps at checkoption#1-#2\END{%
+  \ifx\\#2\\%
+    \ifx\\#1\\%
+      % empty option
+      \def\ps at first{\maxdimen}%
+      \def\ps at last{\maxdimen}%
+    \else
+      \edef\ps at first{#1}%
+      \edef\ps at last{#1}%
+    \fi
+  \else
+    \ifx\\#1\\%
+      \def\ps at first{-\maxdimen}%
+    \else
+      \edef\ps at first{#1}%
+    \fi
+    \ps at checklast#2%
+  \fi
+}
+\newcommand\ps at checklast{}
+\def\ps at checklast#1-{%
+  \ifx\\#1\\%
+    \def\ps at last{\maxdimen}%
+  \else
+    \edef\ps at last{#1}%
+  \fi
+}
+\newcommand*{\ps at store}[2]{%
+  \expandafter\def\expandafter\ps at testlist\expandafter{%
+    \ps at testlist\ps at pagetest{#1}{#2}%
+  }%
+}
+\newcommand*\ps at testlist{}
+\ProcessOptions
+\begingroup
+  \edef\x{%
+    \ifnum\ps at oddpages>0 \relax\fi
+    \ifx\ps at testlist\@empty\else\relax\fi
+  }%
+  \ifx\x\@empty
+    \endgroup
+    \PackageInfo{pagesel}{Nothing to do}%
+    \expandafter\endinput
+  \fi
+\endgroup
+\ps at nofiles
+\newcounter{ps at count}
+\setcounter{ps at count}{0}
+\long\def\ps at ReturnAfterElseFi#1\else#2\fi{\fi#1}
+\long\def\ps at ReturnAfterFi#1\fi{\fi#1}
+\newcommand{\ps at lastpage}{\maxdimen}
+\ifx\ps at nofiles\nofiles
+  \ifx\ps at testlist\@empty
+  \else
+    \def\ps at lastpage{0}%
+    \newcommand*{\ps at pagetest}[2]{%
+      \ifnum#2>\ps at lastpage\relax
+        \def\ps at lastpage{#2}%
+      \fi
+    }%
+    \ps at testlist
+    \let\ps at pagetest\relax
+  \fi
+\fi
+\newcommand*{\ps at ifinset}[4]{%
+  \ifnum#1>\value{ps at count}%
+    \ps at ReturnAfterElseFi{#4}%
+  \else
+    \ps at ReturnAfterFi{%
+      \ifnum#2<\value{ps at count}%
+        \ps at ReturnAfterElseFi{#4}%
+      \else
+        \ps at ReturnAfterFi{#3}%
+      \fi
+    }%
+  \fi
+}
+\newcommand*{\ps at pagetest}[2]{%
+  \ps at ifinset{#1}{#2}{\let\ps at next\@empty}{}%
+}
+\AddToHook{shipout/before}{%
+  \stepcounter{ps at count}%
+  \ifnum\value{ps at count}>\ps at lastpage\relax
+    \global\output{%
+      \ps at cleanup@if
+      \ps at group@message
+      \typeout{%
+        Package pagesel Notice: Aborting LaTeX job %
+        after last selected page (\ps at lastpage).%
+      }%
+      \ps at message@ignore
+      \global\setbox\@cclv\box\voidb at x
+      \deadcycles0\relax
+      \aftergroup\@@end
+    }%
+  \fi
+  \let\ps at next\@empty
+  \ifx\ps at testlist\@empty
+  \else
+    \let\ps at next\DiscardShipoutBox
+    \ps at testlist
+  \fi
+  \ifnum\ps at oddpages=1 %
+    \ifodd\value{ps at count}%
+    \else
+    \let\ps at next\DiscardShipoutBox
+    \fi
+  \fi
+  \ifnum\ps at oddpages=2 %
+    \ifodd\value{ps at count}%
+    \let\ps at next\DiscardShipoutBox
+    \else
+    \fi
+  \fi
+  \ps at next
+}
+  \def\ps at cleanup@if{%
+    \ifnum\currentiflevel>\@ne
+      \csname fi\endcsname
+      \expandafter\ps at cleanup@if
+    \fi
+  }%
+  \def\ps at group@message{%
+    \ifnum\currentgrouplevel>\@ne
+      \def\ps at message@ignore{%
+        \typeout{%
+          (pagesel) \space\space\@spaces\@spaces\@spaces
+          Message (\string\end\space occurred ...) %
+          can be ignored.%
+        }%
+      }%
+    \else
+      \let\ps at message@ignore\@empty
+    \fi
+  }%
+\endinput
+%%
+%% End of file `pagesel.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/pagesel/pagesel.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-08-13 21:33:24 UTC (rev 56104)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-08-13 21:35:54 UTC (rev 56105)
@@ -547,7 +547,8 @@
     ordinalpt orkhun oscola ot-tableau othello othelloboard
     oubraces outerhbox outline outliner outlines outlining
     overlays overlock overpic
-  pacioli padauk pagecolor pagecont padcount pagenote pagerange pageslts
+  pacioli padauk padcount
+    pagecolor pagecont pagenote pagerange pagesel pageslts
     palatino paper papercdcase papermas papertex
     paracol parades paralist parallel paratype
     paresse parnotes parrun parsa parselines parskip

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2020-08-13 21:33:24 UTC (rev 56104)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2020-08-13 21:35:54 UTC (rev 56105)
@@ -2834,6 +2834,7 @@
  'hecthese'	=> 'etex',
  'hf-tikz'      => 'tex',
  'hitszbeamer'	=> 'tex',
+ 'hotex'	=> 'tex',
  'hrlatex'      => 'latex',  # requires interaction
  'hu-berlin-bundle' => 'luatex',
  'hycolor'	=> 'tex',
@@ -2868,6 +2869,7 @@
  'nomentbl'     => 'latex -translate-file=empty.tcx',   # no 8-bit
  'pbsheet'      => 'latex',  # requires interaction
  'thumb'        => 'latex -translate-file=empty.tcx',   # no 8-bit
+ 'pagesel'	=> 'tex',
  'pageslts'     => 'tex -translate-file=empty.tcx',     # no 8-bit
  'papermas'     => 'tex',
  'pauldoc'      => 'latex',  # requires interaction

Modified: trunk/Master/tlpkg/tlpsrc/collection-latex.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latex.tlpsrc	2020-08-13 21:33:24 UTC (rev 56104)
+++ trunk/Master/tlpkg/tlpsrc/collection-latex.tlpsrc	2020-08-13 21:35:54 UTC (rev 56105)
@@ -48,6 +48,7 @@
 depend mptopdf
 depend natbib
 depend oberdiek
+depend pagesel
 depend pdfescape
 depend pslatex
 depend psnfss

Added: trunk/Master/tlpkg/tlpsrc/pagesel.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.