From 021ddf209148f4f8e07b530d95b3b99bdf460db0 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 13 Aug 2020 21:35:54 +0000 Subject: pagesel (13aug20) git-svn-id: svn://tug.org/texlive/trunk@56105 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/pagesel/pagesel-2016-05-16.sty | 254 +++++++++++++++++++++ Master/texmf-dist/tex/latex/pagesel/pagesel.sty | 201 ++++++++++++++++ 2 files changed, 455 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty create mode 100644 Master/texmf-dist/tex/latex/pagesel/pagesel.sty (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty b/Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty new file mode 100644 index 00000000000..f423fe551eb --- /dev/null +++ b/Master/texmf-dist/tex/latex/pagesel/pagesel-2016-05-16.sty @@ -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@makevoid}{}{% + \PackageWarningNoLine{pagesel}{Package already loaded.}% + \endinput +} +\newcommand*{\ps@makevoid}{% + \global\setbox\@cclv\copy\voidb@x + \begingroup + \count@=\deadcycles + \advance\count@ by -1\relax + \deadcycles=\count@ + \endgroup +} +\newcommand*\ps@oddpages{0} +\DeclareOption{odd}{\renewcommand*\ps@oddpages{1}} +\DeclareOption{even}{\renewcommand*\ps@oddpages{2}} +\DeclareOption{nofiles}{\let\ps@nofiles\nofiles} +\DeclareOption{nonofiles}{\let\ps@nofiles\@empty} +\DeclareOption{files}{\let\ps@nofiles\@empty} +\ExecuteOptions{nofiles} +\DeclareOption*{% + \begingroup + \expandafter\ps@checkoption\CurrentOption-\END + \edef\x{\endgroup\noexpand\ps@store{\ps@first}{\ps@last}}% + \x +} +\newcommand\ps@checkoption{} +\def\ps@checkoption#1-#2\END{% + \ifx\\#2\\% + \ifx\\#1\\% + % empty option + \def\ps@first{\maxdimen}% + \def\ps@last{\maxdimen}% + \else + \edef\ps@first{#1}% + \edef\ps@last{#1}% + \fi + \else + \ifx\\#1\\% + \def\ps@first{-\maxdimen}% + \else + \edef\ps@first{#1}% + \fi + \ps@checklast#2% + \fi +} +\newcommand\ps@checklast{} +\def\ps@checklast#1-{% + \ifx\\#1\\% + \def\ps@last{\maxdimen}% + \else + \edef\ps@last{#1}% + \fi +} +\newcommand*{\ps@store}[2]{% + \expandafter\def\expandafter\ps@testlist\expandafter{% + \ps@testlist\ps@pagetest{#1}{#2}% + }% +} +\newcommand*\ps@testlist{} +\ProcessOptions +\begingroup + \edef\x{% + \ifnum\ps@oddpages>0 \relax\fi + \ifx\ps@testlist\@empty\else\relax\fi + }% + \ifx\x\@empty + \endgroup + \PackageInfo{pagesel}{Nothing to do}% + \expandafter\endinput + \fi +\endgroup +\RequirePackage{everyshi} +\ps@nofiles +\newcounter{ps@count} +\setcounter{ps@count}{0} +\long\def\ps@ReturnAfterElseFi#1\else#2\fi{\fi#1} +\long\def\ps@ReturnAfterFi#1\fi{\fi#1} +\newcommand{\ps@lastpage}{\maxdimen} +\ifx\ps@nofiles\nofiles + \ifx\ps@testlist\@empty + \else + \def\ps@lastpage{0}% + \newcommand*{\ps@pagetest}[2]{% + \ifnum#2>\ps@lastpage\relax + \def\ps@lastpage{#2}% + \fi + }% + \ps@testlist + \let\ps@pagetest\relax + \fi +\fi +\newcommand*{\ps@ifinset}[4]{% + \ifnum#1>\value{ps@count}% + \ps@ReturnAfterElseFi{#4}% + \else + \ps@ReturnAfterFi{% + \ifnum#2<\value{ps@count}% + \ps@ReturnAfterElseFi{#4}% + \else + \ps@ReturnAfterFi{#3}% + \fi + }% + \fi +} +\newcommand*{\ps@pagetest}[2]{% + \ps@ifinset{#1}{#2}{\let\ps@next\@empty}{}% +} +\EveryShipout{% + \stepcounter{ps@count}% + \ifnum\value{ps@count}>\ps@lastpage\relax + \global\output{% + \ps@cleanup@if + \ps@group@message + \typeout{% + Package pagesel Notice: Aborting LaTeX job % + after last selected page (\ps@lastpage).% + }% + \ps@message@ignore + \global\setbox\@cclv\box\voidb@x + \deadcycles0\relax + \aftergroup\@@end + }% + \fi + \let\ps@next\@empty + \ifx\ps@testlist\@empty + \else + \let\ps@next\ps@makevoid + \ps@testlist + \fi + \ifnum\ps@oddpages=1 % + \ifodd\value{ps@count}% + \else + \let\ps@next\ps@makevoid + \fi + \fi + \ifnum\ps@oddpages=2 % + \ifodd\value{ps@count}% + \let\ps@next\ps@makevoid + \else + \fi + \fi + \ps@begindvi + \ps@next +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname currentiflevel\endcsname\relax + \let\ps@cleanup@if\@empty +\else + \def\ps@cleanup@if{% + \ifnum\currentiflevel>\@ne + \csname fi\endcsname + \expandafter\ps@cleanup@if + \fi + }% +\fi + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname currentgrouplevel\endcsname\relax + \let\ps@group@message\@empty + \def\ps@message@ignore{% + \typeout{% + (pagesel) \space\space\@spaces\@spaces\@spaces + Messages (\string\end\space occurred ...) can be ignored.% + }% + }% +\else + \def\ps@group@message{% + \ifnum\currentgrouplevel>\@ne + \def\ps@message@ignore{% + \typeout{% + (pagesel) \space\space\@spaces\@spaces\@spaces + Message (\string\end\space occurred ...) % + can be ignored.% + }% + }% + \else + \let\ps@message@ignore\@empty + \fi + }% +\fi +\newbox\ps@begindvibox +\ifvoid\@begindvibox +\else + \global\setbox\ps@begindvibox\vbox{% + \unvbox\@begindvibox + }% +\fi +\let\ps@org@AtBeginDvi\AtBeginDvi +\def\AtBeginDvi#1{% + \global\setbox\ps@begindvibox\vbox{% + \unvbox\ps@begindvibox + #1% + }% + \ps@org@AtBeginDvi{#1}% +} +\def\ps@begindvi{% + \ifx\ps@next\@empty + \global\let\ps@begindvi\@empty + \else + \global\let\ps@begindvi\ps@begindvi@do + \fi +} +\def\ps@begindvi@do{% + \ifx\ps@next\@empty + \setbox\@cclv\vbox{% + \unvbox\ps@begindvibox + \box\@cclv + }% + \global\let\ps@begindvi\@empty + \fi +} +\endinput +%% +%% End of file `pagesel-2016-05-16.sty'. diff --git a/Master/texmf-dist/tex/latex/pagesel/pagesel.sty b/Master/texmf-dist/tex/latex/pagesel/pagesel.sty new file mode 100644 index 00000000000..64395b599c5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pagesel/pagesel.sty @@ -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@t@r\fmtversion} +\IfFormatAtLeastTF{2020/10/01}{}{\input{pagesel-2016-05-16.sty}} +\IfFormatAtLeastTF{2020/10/01}{}{\endinput} + +\@ifundefined{ps@oddpages}{}{% + \PackageWarningNoLine{pagesel}{Package already loaded.}% + \endinput +} +\newcommand*\ps@oddpages{0} +\DeclareOption{odd}{\renewcommand*\ps@oddpages{1}} +\DeclareOption{even}{\renewcommand*\ps@oddpages{2}} +\DeclareOption{nofiles}{\let\ps@nofiles\nofiles} +\DeclareOption{nonofiles}{\let\ps@nofiles\@empty} +\DeclareOption{files}{\let\ps@nofiles\@empty} +\ExecuteOptions{nofiles} +\DeclareOption*{% + \begingroup + \expandafter\ps@checkoption\CurrentOption-\END + \edef\x{\endgroup\noexpand\ps@store{\ps@first}{\ps@last}}% + \x +} +\newcommand\ps@checkoption{} +\def\ps@checkoption#1-#2\END{% + \ifx\\#2\\% + \ifx\\#1\\% + % empty option + \def\ps@first{\maxdimen}% + \def\ps@last{\maxdimen}% + \else + \edef\ps@first{#1}% + \edef\ps@last{#1}% + \fi + \else + \ifx\\#1\\% + \def\ps@first{-\maxdimen}% + \else + \edef\ps@first{#1}% + \fi + \ps@checklast#2% + \fi +} +\newcommand\ps@checklast{} +\def\ps@checklast#1-{% + \ifx\\#1\\% + \def\ps@last{\maxdimen}% + \else + \edef\ps@last{#1}% + \fi +} +\newcommand*{\ps@store}[2]{% + \expandafter\def\expandafter\ps@testlist\expandafter{% + \ps@testlist\ps@pagetest{#1}{#2}% + }% +} +\newcommand*\ps@testlist{} +\ProcessOptions +\begingroup + \edef\x{% + \ifnum\ps@oddpages>0 \relax\fi + \ifx\ps@testlist\@empty\else\relax\fi + }% + \ifx\x\@empty + \endgroup + \PackageInfo{pagesel}{Nothing to do}% + \expandafter\endinput + \fi +\endgroup +\ps@nofiles +\newcounter{ps@count} +\setcounter{ps@count}{0} +\long\def\ps@ReturnAfterElseFi#1\else#2\fi{\fi#1} +\long\def\ps@ReturnAfterFi#1\fi{\fi#1} +\newcommand{\ps@lastpage}{\maxdimen} +\ifx\ps@nofiles\nofiles + \ifx\ps@testlist\@empty + \else + \def\ps@lastpage{0}% + \newcommand*{\ps@pagetest}[2]{% + \ifnum#2>\ps@lastpage\relax + \def\ps@lastpage{#2}% + \fi + }% + \ps@testlist + \let\ps@pagetest\relax + \fi +\fi +\newcommand*{\ps@ifinset}[4]{% + \ifnum#1>\value{ps@count}% + \ps@ReturnAfterElseFi{#4}% + \else + \ps@ReturnAfterFi{% + \ifnum#2<\value{ps@count}% + \ps@ReturnAfterElseFi{#4}% + \else + \ps@ReturnAfterFi{#3}% + \fi + }% + \fi +} +\newcommand*{\ps@pagetest}[2]{% + \ps@ifinset{#1}{#2}{\let\ps@next\@empty}{}% +} +\AddToHook{shipout/before}{% + \stepcounter{ps@count}% + \ifnum\value{ps@count}>\ps@lastpage\relax + \global\output{% + \ps@cleanup@if + \ps@group@message + \typeout{% + Package pagesel Notice: Aborting LaTeX job % + after last selected page (\ps@lastpage).% + }% + \ps@message@ignore + \global\setbox\@cclv\box\voidb@x + \deadcycles0\relax + \aftergroup\@@end + }% + \fi + \let\ps@next\@empty + \ifx\ps@testlist\@empty + \else + \let\ps@next\DiscardShipoutBox + \ps@testlist + \fi + \ifnum\ps@oddpages=1 % + \ifodd\value{ps@count}% + \else + \let\ps@next\DiscardShipoutBox + \fi + \fi + \ifnum\ps@oddpages=2 % + \ifodd\value{ps@count}% + \let\ps@next\DiscardShipoutBox + \else + \fi + \fi + \ps@next +} + \def\ps@cleanup@if{% + \ifnum\currentiflevel>\@ne + \csname fi\endcsname + \expandafter\ps@cleanup@if + \fi + }% + \def\ps@group@message{% + \ifnum\currentgrouplevel>\@ne + \def\ps@message@ignore{% + \typeout{% + (pagesel) \space\space\@spaces\@spaces\@spaces + Message (\string\end\space occurred ...) % + can be ignored.% + }% + }% + \else + \let\ps@message@ignore\@empty + \fi + }% +\endinput +%% +%% End of file `pagesel.sty'. -- cgit v1.2.3