From 02ead80143e7082dee86522ac65a59443428bd7b Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 14 Aug 2020 03:01:08 +0000 Subject: CTAN sync 202008140301 --- macros/latex/contrib/chhaya/README.txt | 4 +- macros/latex/contrib/chhaya/chhaya.dtx | 16 +- macros/latex/contrib/chhaya/chhaya.ins | 4 +- macros/latex/contrib/chhaya/chhaya.pdf | Bin 45752 -> 46743 bytes macros/latex/contrib/chhaya/sankshep.tex | 8 +- macros/latex/contrib/hopatch/README.md | 17 + macros/latex/contrib/hopatch/hopatch.dtx | 742 +++++++++++++++++ macros/latex/contrib/hopatch/hopatch.pdf | Bin 0 -> 304161 bytes macros/latex/contrib/oberdiek/README.md | 77 ++ macros/latex/contrib/oberdiek/README.txt | 29 - macros/latex/contrib/oberdiek/aliascnt.pdf | Bin 293095 -> 298594 bytes macros/latex/contrib/oberdiek/bmpsize.pdf | Bin 498252 -> 503673 bytes macros/latex/contrib/oberdiek/centernot.pdf | Bin 275199 -> 280539 bytes macros/latex/contrib/oberdiek/chemarr.pdf | Bin 289226 -> 294587 bytes macros/latex/contrib/oberdiek/classlist.pdf | Bin 271947 -> 277313 bytes macros/latex/contrib/oberdiek/colonequals.pdf | Bin 284949 -> 290302 bytes macros/latex/contrib/oberdiek/dvipscol.pdf | Bin 269922 -> 275213 bytes macros/latex/contrib/oberdiek/engord.pdf | Bin 319151 -> 324486 bytes macros/latex/contrib/oberdiek/enparen.pdf | Bin 305218 -> 310601 bytes macros/latex/contrib/oberdiek/eolgrab.pdf | Bin 317170 -> 322360 bytes macros/latex/contrib/oberdiek/fibnum.pdf | Bin 354648 -> 359960 bytes macros/latex/contrib/oberdiek/flags.pdf | Bin 283961 -> 289459 bytes macros/latex/contrib/oberdiek/holtxdoc.pdf | Bin 306330 -> 311828 bytes macros/latex/contrib/oberdiek/hopatch.dtx | 718 ----------------- macros/latex/contrib/oberdiek/hopatch.pdf | Bin 293225 -> 293225 bytes macros/latex/contrib/oberdiek/hypbmsec.pdf | Bin 290353 -> 295718 bytes macros/latex/contrib/oberdiek/hypcap.pdf | Bin 284122 -> 289452 bytes macros/latex/contrib/oberdiek/hypdestopt.pdf | Bin 317814 -> 323105 bytes macros/latex/contrib/oberdiek/hypdoc.pdf | Bin 320178 -> 325461 bytes macros/latex/contrib/oberdiek/hypgotoe.pdf | Bin 286179 -> 291535 bytes macros/latex/contrib/oberdiek/hyphsubst.pdf | Bin 300446 -> 305692 bytes macros/latex/contrib/oberdiek/ifdraft.pdf | Bin 265890 -> 271317 bytes macros/latex/contrib/oberdiek/iflang.pdf | Bin 314990 -> 320322 bytes macros/latex/contrib/oberdiek/oberdiek-bundle.bib | 14 - macros/latex/contrib/oberdiek/oberdiek.ins | 6 +- macros/latex/contrib/oberdiek/oberdiek.pdf | Bin 278714 -> 281421 bytes macros/latex/contrib/oberdiek/oberdiek.tex | 26 +- macros/latex/contrib/oberdiek/pagegrid.pdf | Bin 311938 -> 317241 bytes macros/latex/contrib/oberdiek/pagesel.dtx | 854 -------------------- macros/latex/contrib/oberdiek/pagesel.pdf | Bin 312194 -> 0 bytes macros/latex/contrib/oberdiek/pdfcol.pdf | Bin 303033 -> 308360 bytes macros/latex/contrib/oberdiek/pdfcolfoot.pdf | Bin 294724 -> 300028 bytes macros/latex/contrib/oberdiek/pdfcolparallel.pdf | Bin 320764 -> 326040 bytes macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf | Bin 308409 -> 313719 bytes macros/latex/contrib/oberdiek/pdfcrypt.pdf | Bin 311898 -> 317206 bytes macros/latex/contrib/oberdiek/pdfrender.pdf | Bin 383499 -> 388493 bytes macros/latex/contrib/oberdiek/protecteddef.pdf | Bin 308115 -> 313619 bytes macros/latex/contrib/oberdiek/resizegather.pdf | Bin 517717 -> 517711 bytes macros/latex/contrib/oberdiek/rotchiffre.pdf | Bin 317497 -> 323082 bytes macros/latex/contrib/oberdiek/scrindex.pdf | Bin 283886 -> 289199 bytes macros/latex/contrib/oberdiek/setouterhbox.pdf | Bin 330126 -> 335268 bytes macros/latex/contrib/oberdiek/settobox.pdf | Bin 293875 -> 299200 bytes macros/latex/contrib/oberdiek/stackrel.pdf | Bin 282341 -> 287648 bytes macros/latex/contrib/oberdiek/stampinclude.pdf | Bin 278115 -> 283435 bytes macros/latex/contrib/oberdiek/tabularht.pdf | Bin 331499 -> 336823 bytes macros/latex/contrib/oberdiek/tabularkv.pdf | Bin 255279 -> 260615 bytes macros/latex/contrib/oberdiek/telprint.pdf | Bin 303826 -> 309114 bytes macros/latex/contrib/oberdiek/thepdfnumber.pdf | Bin 347451 -> 352882 bytes macros/latex/contrib/oberdiek/twoopt.pdf | Bin 275011 -> 280332 bytes macros/latex/contrib/pagesel/README.md | 14 + macros/latex/contrib/pagesel/pagesel.dtx | 884 +++++++++++++++++++++ macros/latex/contrib/pagesel/pagesel.pdf | Bin 0 -> 332616 bytes 62 files changed, 1751 insertions(+), 1662 deletions(-) create mode 100644 macros/latex/contrib/hopatch/README.md create mode 100644 macros/latex/contrib/hopatch/hopatch.dtx create mode 100644 macros/latex/contrib/hopatch/hopatch.pdf create mode 100644 macros/latex/contrib/oberdiek/README.md delete mode 100644 macros/latex/contrib/oberdiek/README.txt delete mode 100644 macros/latex/contrib/oberdiek/hopatch.dtx delete mode 100644 macros/latex/contrib/oberdiek/pagesel.dtx delete mode 100644 macros/latex/contrib/oberdiek/pagesel.pdf create mode 100644 macros/latex/contrib/pagesel/README.md create mode 100644 macros/latex/contrib/pagesel/pagesel.dtx create mode 100644 macros/latex/contrib/pagesel/pagesel.pdf (limited to 'macros/latex/contrib') diff --git a/macros/latex/contrib/chhaya/README.txt b/macros/latex/contrib/chhaya/README.txt index 3d6f4c4a4d..d4e3ee3267 100644 --- a/macros/latex/contrib/chhaya/README.txt +++ b/macros/latex/contrib/chhaya/README.txt @@ -1,6 +1,6 @@ आज्ञासंच: chhaya लेखक: निरंजन -आवृत्ती: ०.१ (जुलै, २०२०) +आवृत्ती: ०.२ (१३ ऑगस्ट, २०२०) माहिती: भाषावैज्ञानिक छायांगांचे संक्षेप पुरवणारा आज्ञासंच दुवा: https://gitlab.com/niranjanvikastambe/chhaya अडचणी: https://gitlab.com/niranjanvikastambe/chhaya/-/issues @@ -10,7 +10,7 @@ -------------------------------------------------------------------------- Package: chhaya Author: Niranjan -Version: 0.1 (July, 2020) +Version: 0.1 (13 August, 2020) Description: For linguistic glossing in Marathi language. Repository: https://gitlab.com/niranjanvikastambe/chhaya Bug tracker: https://gitlab.com/niranjanvikastambe/chhaya/-/issues diff --git a/macros/latex/contrib/chhaya/chhaya.dtx b/macros/latex/contrib/chhaya/chhaya.dtx index ed86532f48..43940f990e 100644 --- a/macros/latex/contrib/chhaya/chhaya.dtx +++ b/macros/latex/contrib/chhaya/chhaya.dtx @@ -32,7 +32,7 @@ %<*readme> आज्ञासंच: chhaya लेखक: निरंजन -आवृत्ती: ०.१ (जुलै, २०२०) +आवृत्ती: ०.२ (१३ ऑगस्ट, २०२०) माहिती: भाषावैज्ञानिक छायांगांचे संक्षेप पुरवणारा आज्ञासंच दुवा: https://gitlab.com/niranjanvikastambe/chhaya अडचणी: https://gitlab.com/niranjanvikastambe/chhaya/-/issues @@ -42,7 +42,7 @@ -------------------------------------------------------------------------- Package: chhaya Author: Niranjan -Version: 0.1 (July, 2020) +Version: 0.1 (13 August, 2020) Description: For linguistic glossing in Marathi language. Repository: https://gitlab.com/niranjanvikastambe/chhaya Bug tracker: https://gitlab.com/niranjanvikastambe/chhaya/-/issues @@ -52,12 +52,6 @@ License: The LaTeX Project Public License v1.3c or later. %<*internal> \fi % -%<*driver|package> -\def\chhayaPackageName{chhaya} -\def\chhayaPackageVersion{०.१} -\def\chhayaPackageDate{जुलै, २०२०} -\def\chhayaPackageDescription{भाषावैज्ञानिक छायांगांचे संक्षेप पुरवणारा आज्ञासंच} -% %<*driver> \documentclass[10pt]{l3doc} \usepackage{xltxtra} @@ -100,7 +94,7 @@ License: The LaTeX Project Public License v1.3c or later. \RecordChanges \begin{document} \setstretch{1.5} -\DocInput{\chhayaPackageName.dtx} +\DocInput{chhaya.dtx} \end{document} % % \fi @@ -111,7 +105,7 @@ License: The LaTeX Project Public License v1.3c or later. % \author{निरंजन} % \date^^A % {^^A -% आवृत्ती \chhayaPackageVersion\ \textemdash\ \chhayaPackageDate\\[1ex]^^A +% आवृत्ती ०.२ \textemdash\ १३ ऑगस्ट, २०२०\\[1ex]^^A % {\small\faIcon{gitlab}\quad\url{https://gitlab.com/niranjanvikastambe/chhaya}}^^A % } % @@ -184,7 +178,7 @@ License: The LaTeX Project Public License v1.3c or later. % आज्ञासंचाकरिता आवश्यक सामग्री पुढील आज्ञांद्वारे पुरवली आहे. % \begin{macrocode} %<*package> -\ProvidesPackage{chhaya} +\ProvidesPackage{chhaya}[2020-08-13 v0.2 भाषावैज्ञानिक छायांगे पुरवणारा आज्ञासंच] \NeedsTeXFormat{LaTeX2e} \RequirePackage{fontspec} \RequirePackage[acronym]{glossaries} diff --git a/macros/latex/contrib/chhaya/chhaya.ins b/macros/latex/contrib/chhaya/chhaya.ins index a067ae9924..527101783e 100644 --- a/macros/latex/contrib/chhaya/chhaya.ins +++ b/macros/latex/contrib/chhaya/chhaya.ins @@ -9,7 +9,7 @@ ------------------------------------------------------------------------- आज्ञासंच: chhaya लेखक: निरंजन -आवृत्ती: ०.१ (जुलै, २०२०) +आवृत्ती: ०.२ (१३ ऑगस्ट, २०२०) माहिती: भाषावैज्ञानिक छायांगांचे संक्षेप पुरवणारा आज्ञासंच दुवा: https://gitlab.com/niranjanvikastambe/chhaya अडचणी: https://gitlab.com/niranjanvikastambe/chhaya/-/issues @@ -33,7 +33,7 @@ chhaya.sty ही धारिका समाविष्ट आहे. -------------------------------------------------------------------------- Package: chhaya Author: Niranjan -Version: 0.1 (July, 2020) +Version: 0.2 (13 August, 2020) Description: For linguistic glossing in Marathi language. Repository: https://gitlab.com/niranjanvikastambe/chhaya Bug tracker: https://gitlab.com/niranjanvikastambe/chhaya/-/issues diff --git a/macros/latex/contrib/chhaya/chhaya.pdf b/macros/latex/contrib/chhaya/chhaya.pdf index a3a7a1dceb..5d20a70ab4 100644 Binary files a/macros/latex/contrib/chhaya/chhaya.pdf and b/macros/latex/contrib/chhaya/chhaya.pdf differ diff --git a/macros/latex/contrib/chhaya/sankshep.tex b/macros/latex/contrib/chhaya/sankshep.tex index ca75616e5f..28b2b099ec 100644 --- a/macros/latex/contrib/chhaya/sankshep.tex +++ b/macros/latex/contrib/chhaya/sankshep.tex @@ -9,11 +9,11 @@ \छायांग{त्रिव}{त्रिव} % Trial \छायांग{अव}{अल्पवचन} % Paucal \छायांग{बव}{बहुवचन} % Plural -\छायांग{उवि}{उद्देश्य विभक्ती} % Nominative -\छायांग{निवि}{निर्देशक विभक्ती} % Accusative -\छायांग{सा}{साधक विभक्ती} % Instrumental +\छायांग{अवि}{अभिधानपर विभक्ती} % Nominative +\छायांग{कर्मवि}{कर्मपर विभक्ती} % Accusative +\छायांग{सा}{साधनपर विभक्ती} % Instrumental \छायांग{दावि}{दानपर विभक्ती} % Dative -\छायांग{वियो}{वियोजक विभक्ती} % Ablative +\छायांग{वियो}{वियोगपर विभक्ती} % Ablative \छायांग{संयो}{संबंधयोजक विभक्ती} % Genitive \छायांग{अधि}{अधिकरण विभक्ती} % Locative \छायांग{संबो}{संबोधन विभक्ती} % Vocative diff --git a/macros/latex/contrib/hopatch/README.md b/macros/latex/contrib/hopatch/README.md new file mode 100644 index 0000000000..6d8cea38fc --- /dev/null +++ b/macros/latex/contrib/hopatch/README.md @@ -0,0 +1,17 @@ +# hopatch package for LaTeX + +Version: 2020-08-01 v1.4 + +This packages provides a wrapper to various package hooks +provided by other packages or classes, but does not define +own hooks. Starting with LaTeX 2020/10/01 it uses the package +hook provided by the kernel. + + + +## Copyright (C) +* 2007, 2009-2011 Heiko Oberdiek +* 2016-2020 Oberdiek Package Support Group + +## License +LATEX Project Public License, version 1.3c or later. diff --git a/macros/latex/contrib/hopatch/hopatch.dtx b/macros/latex/contrib/hopatch/hopatch.dtx new file mode 100644 index 0000000000..8071f7456e --- /dev/null +++ b/macros/latex/contrib/hopatch/hopatch.dtx @@ -0,0 +1,742 @@ +% \iffalse meta-comment +% +% File: hopatch.dtx +% Version: 2020-08-01 v1.4 +% Info: Wrapper for package hooks +% +% Copyright (C) +% 2011, 2012 Heiko Oberdiek +% 2016-2020 Oberdiek Package Support Group +% https://github.com/ho-tex/hopatch/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/hopatch/issues +% +% This work consists of the main source file hopatch.dtx +% and the derived files +% hopatch.sty, hopatch.pdf, hopatch.ins, hopatch.drv, +% hopatch-test1.tex, hopatch-test2.tex. +% +% Distribution: +% CTAN:macros/latex/contrib/hopatch/hopatch.dtx +% CTAN:macros/latex/contrib/hopatch/hopatch.pdf +% +% Unpacking: +% (a) If hopatch.ins is present: +% tex hopatch.ins +% (b) Without hopatch.ins: +% tex hopatch.dtx +% (c) If you insist on using LaTeX +% latex \let\install=y\input{hopatch.dtx} +% (quote the arguments according to the demands of your shell) +% +% Documentation: +% (a) If hopatch.drv is present: +% latex hopatch.drv +% (b) Without hopatch.drv: +% latex hopatch.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 hopatch.dtx +% makeindex -s gind.ist hopatch.idx +% pdflatex hopatch.dtx +% makeindex -s gind.ist hopatch.idx +% pdflatex hopatch.dtx +% +% Installation: +% TDS:tex/latex/hopatch/hopatch.sty +% TDS:doc/latex/hopatch/hopatch.pdf +% TDS:source/latex/hopatch/hopatch.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 +% +%<*install> +\input docstrip.tex +\Msg{************************************************************************} +\Msg{* Installation} +\Msg{* Package: hopatch 2020-08-01 v1.4 Wrapper for package hooks (HO)} +\Msg{************************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +Project: hopatch +Version: 2020-08-01 v1.4 + +Copyright (C) + 2011, 2012 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/hopatch/issues + + +This work consists of the main source file hopatch.dtx +and the derived files + hopatch.sty, hopatch-2016-05-16.sty, hopatch.pdf, hopatch.ins, hopatch.drv, + hopatch-test1.tex, hopatch-test2.tex. + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{hopatch.ins}{\from{hopatch.dtx}{install}}% + \file{hopatch.drv}{\from{hopatch.dtx}{driver}}% + \usedir{tex/latex/hopatch}% + \file{hopatch-2016-05-16.sty}{\from{hopatch.dtx}{packagefrozen}}% + \file{hopatch.sty}{\from{hopatch.dtx}{package}}% +% \usedir{doc/latex/hopatch/test}% +% \file{hopatch-test1.tex}{\from{hopatch.dtx}{test1}}% +% \file{hopatch-test2.tex}{\from{hopatch.dtx}{test2}}% +} + +\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{* hopatch.sty} +\Msg{*} +\Msg{* To produce the documentation run the file `hopatch.drv'} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +% +%<*ignore> +\fi +% +%<*driver> +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{hopatch.drv}% + [2020-08-01 v1.4 Wrapper for package hooks (HO)]% +\documentclass{ltxdoc} +\usepackage{holtxdoc}[2011/11/22] +\usepackage{caption} +\usepackage{array} +\setlength{\extrarowheight}{1pt} +\renewcommand*{\arraystretch}{1.1} +\begin{document} + \DocInput{hopatch.dtx}% +\end{document} +% +% \fi +% +% +% +% \GetFileInfo{hopatch.drv} +% +% \title{The \xpackage{hopatch} package} +% \date{2020-08-01 v1.4} +% \author{Heiko Oberdiek\thanks +% {Please report any issues at \url{https://github.com/ho-tex/hopatch/issues}}} +% +% \maketitle +% +% \begin{abstract} +% This packages provides a wrapper to various package hooks +% provided by other packages or classes, but does not define +% own hooks. +% \end{abstract} +% +% \tableofcontents +% \newpage +% \section{Documentation for version 1.4} +% Starting with this version +% +% \begin{declcs}{hopatch@AfterPackage} \M{package} \M{patch code} +% \end{declcs} +% +% will use the kernel \texttt{package/after/\meta{package}} hook if a +% LaTeX format later then 2020/20/01 is detected. This can mean that the +% hook code is executed earlier than with version 1.3 (but always after the +% \meta{package}. +% If \meta{package} is already loaded, the \meta{patch code} is executed +% immediately. If an older format is detected if will fall back to the code of +% version 1.3. +% +% \section{Documentation for version 1.3} +% +% Sometimes I want to add code right after a package +% has been loaded. Examples are bug fixes, adaptations, +% or added features as needed by package \xpackage{hyperref}, +% for instance. +% +% Unhappily \hologo{LaTeX} does not provide this kind of +% hook. \cs{AtEndOfPackage} can be used inside the package +% only, because \hologo{LaTeX} clears the hook right before +% it loads the package. +% +% However, there are already many packages and classes +% that provide hooks that are executed after the package +% is loaded, see table~\ref{tab:hooks}. +% +% \begin{table}[b] +% \caption{After package hooking} +% \label{tab:hooks} +% \begin{tabular}{ll} +% \bfseries Macro & \bfseries Provider\\ +% \hline +% \cs{AfterPackage} & package \xpackage{scrlfile} \cite{scrlfile}\\ +% \cs{AtEndOfPackageFile} & package \xpackage{filehook} \cite{filehook}\\ +% \cs{AtEndPackage} & class \xclass{memoir} \cite{memoir} +% \end{tabular} +% \end{table} +% +% Package \xpackage{hopatch} can be used without the packages +% of table~\ref{tab:hooks}. But for an early executing right +% after a package is loaded, one of the following class or +% packages should be loaded before using \cs{hopatch@AfterPackage}: +% \begin{itemize} +% \item package \xpackage{filehook} +% \item package \xpackage{scrlfile} +% \item class \xclass{memoir} +% \end{itemize} +% +% \begin{table} +% \caption{After begin document hooking} +% \begin{tabular}{ll} +% \bfseries Macro & \bfseries Provider\\ +% \hline +% \cs{AtBeginDocument} & \hologo{LaTeX}'s kernel\\ +% \cs{AtEndPreamble} & package \xpackage{etoolbox} \cite{etoolbox}\\ +% \cs{AfterEndPreamble} & package \xpackage{etoolbox} +% \end{tabular} +% \end{table} +% +% Therefore I skip writing a new package for hooking into +% \hologo{LaTeX}'s package management and use this package +% to provide a wrapper to patch a package after it is loaded. +% +% \begin{declcs}{hopatch@AfterPackage} \M{package} \M{patch code} +% \end{declcs} +% If the package is already loaded, the \meta{patch code} is executed +% immediately. +% Otherwise the \meta{patch code} is stored in a command and tried +% at later locations until the package is available. +% +% The patch is tried in the following order: +% \begin{enumerate} +% \item If the package is already loaded, the patch is +% applied immediately. Further locations are not tried. +% \item \cs{AtEndPackage}, provided by class \xclass{memoir} \cite{memoir}, +% and \cs{AfterPackage}, provided by package \xpackage{scrlfile} \cite{scrlfile}, +% are called right after the package file is input before +% the hook of \hologo{LaTeX}'s \cs{AtEndOfPackage}. +% \item \cs{AtEndOfPackageFile}, provided by package \xpackage{filehook} \cite{filehook}, +% is called after the package is loaded and after the hook of +% \hologo{LaTeX}'s \cs{AtEndOfPackage}. +% \item \cs{AtEndPreamble}, provided by package \xpackage{etoolbox} \cite{etoolbox}, +% is called at the beginning of |\begin{document}| before the hook +% of \hologo{LaTeX}'s \cs{AtBeginDocument}. +% \item \cs{AtBeginDocument}, provided by \hologo{LaTeX}. +% \item \cs{AfterEndDocument}, provided by package \xpackage{etoolbox} \cite{etoolbox}, +% is called at the very end of |\begin{document}|. Preamble commands are +% already forbidden there. +% \end{enumerate} +% Because of the various locations the patch code is restricted to +% limitations: +% \begin{itemize} +% \item +% Preamble commands, see \hologo{LaTeX}'s \cs{@onlypreamble} +% throw an error if used after |\begin{document}|. This is already +% the case for \cs{AfterEndDocument}. Therefore preamble commands +% are forbidden in the patching code. +% There are four exceptions \cs{@ifpackageloaded}, \cs{@ifclassloaded}, +% \cs{@ifpackagelater} and \cs{@ifclasslater}. They are redefined +% during \cs{AfterEndDocument} using the counterparts of +% package \xpackage{ltxcmds} \cite{ltxcmds}. +% \item +% \cs{AfterPackage} of package \xpackage{scrlfile} and \cs{AtEndPackage} +% of class \xclass{memoir} call the hook before \hologo{LaTeX}'s +% \cs{AtEndOfPackage}. +% \end{itemize} +% +% \StopEventually{ +% } +% +% \section{Implementation} +% \begin{macrocode} +%<*package> +% \end{macrocode} +% \subsection{v.1.4: New implementation using the LaTeX kernel hooks} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{hopatch}% + [2020-08-01 v1.4 Wrapper for package hooks (HO)] +% \end{macrocode} +% \begin{macrocode} +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} +\IfFormatAtLeastTF{2020/10/01}{}{\input{hopatch-2016-05-16.sty}} +\IfFormatAtLeastTF{2020/10/01}{}{\endinput} + +\newcommand\hopatch@AfterPackage[1]{% + \@ifpackageloaded{#1}{% + \@firstofone + }{% + \AddToHook{package/after/#1}% + }} + +% \end{macrocode} +% \begin{macrocode} +% +% \end{macrocode} +% \begin{macrocode} +%<*packagefrozen> +% \end{macrocode} +% +% \subsection{Catcodes and package identification} +% +% \begin{macrocode} +\begingroup\catcode61\catcode48\catcode32=10\relax% + \catcode13=5 % ^^M + \endlinechar=13 % + \catcode123=1 % { + \catcode125=2 % } + \catcode64=11 % @ + \def\x{\endgroup + \expandafter\edef\csname HOpatch@AtEnd\endcsname{% + \endlinechar=\the\endlinechar\relax + \catcode13=\the\catcode13\relax + \catcode32=\the\catcode32\relax + \catcode35=\the\catcode35\relax + \catcode61=\the\catcode61\relax + \catcode64=\the\catcode64\relax + \catcode123=\the\catcode123\relax + \catcode125=\the\catcode125\relax + }% + }% +\x\catcode61\catcode48\catcode32=10\relax% +\catcode13=5 % ^^M +\endlinechar=13 % +\catcode35=6 % # +\catcode64=11 % @ +\catcode123=1 % { +\catcode125=2 % } +\def\TMP@EnsureCode#1#2{% + \edef\HOpatch@AtEnd{% + \HOpatch@AtEnd + \catcode#1=\the\catcode#1\relax + }% + \catcode#1=#2\relax +} +\TMP@EnsureCode{40}{12}% ( +\TMP@EnsureCode{41}{12}% ) +\TMP@EnsureCode{43}{12}% + +\TMP@EnsureCode{46}{12}% . +\TMP@EnsureCode{47}{12}% / +\TMP@EnsureCode{91}{12}% [ +\TMP@EnsureCode{93}{12}% ] +\edef\HOpatch@AtEnd{\HOpatch@AtEnd\noexpand\endinput} +% \end{macrocode} +% +% Package identification. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{hopatch}% + [2020-08-01 v1.4 Wrapper for package hooks / legacy code (v1.3) (HO)] +% \end{macrocode} +% +% \subsection{Resources} +% +% \begin{macrocode} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname RequirePackage\endcsname\relax + \def\TMP@RequirePackage#1[#2]{% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname ver@#1.sty\endcsname\relax + \input #1.sty\relax + \fi + }% + \TMP@RequirePackage{ltxcmds}[2010/12/12]% +\else + \RequirePackage{ltxcmds}[2010/12/12]% +\fi +% \end{macrocode} +% +% \begin{macro}{\HOpatch@counter} +% \begin{macrocode} +\def\HOpatch@counter{0}% +% \end{macrocode} +% \end{macro} +% \begin{macro}{\HOpatch@StepCounter} +% \begin{macrocode} +\ltx@ifundefined{numexpr}{% + \def\HOpatch@StepCounter{% + \begingroup + \count@\HOpatch@counter\relax + \advance\count@\ltx@one\relax + \edef\x{\endgroup + \noexpand\def\noexpand\HOpatch@counter{\the\count@}% + }% + \x + }% +}{% + \def\HOpatch@StepCounter{% + \edef\HOpatch@counter{% + \the\numexpr\HOpatch@counter+\ltx@one\relax + }% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\HOpatch@list} +% \begin{macrocode} +\def\HOpatch@list{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\HOpatch@Add} +% \begin{macrocode} +\def\HOpatch@Add{% + \ltx@LocalAppendToMacro\HOpatch@list +} +% \end{macrocode} +% \end{macro} +% +% \subsection{Package patching} +% +% \begin{macro}{\hopatch@AfterPackage} +% \begin{macrocode} +\def\hopatch@AfterPackage#1{% + \ltx@ifpackageloaded{#1}{% + \ltx@firstofone + }{% + \HOpatch@AfterPackage{#1}% + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\HOpatch@AfterPackage} +% \begin{macrocode} +\def\HOpatch@AfterPackage#1{% + \edef\HOpatch@temp{#1}% + \HOpatch@StepCounter + \expandafter\HOpatch@@AfterPackage + \csname HOpatch@\HOpatch@counter\expandafter\endcsname{% + \HOpatch@temp + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\HOpatch@@AfterPackage} +% \begin{macrocode} +\def\HOpatch@@AfterPackage#1#2#3{% + \begingroup + \toks@{#3}% + \xdef\HOpatch@gtemp{% + \noexpand\ltx@ifpackageloaded{#2}{% + \noexpand\let\noexpand#1\noexpand\relax + \the\toks@ + }{}% + }% + \endgroup + \let#1\HOpatch@gtemp + \HOpatch@Add#1% + \HOpatch@Try{AfterPackage}{#2}#1% + \HOpatch@Try{AtEndPackage}{#2}#1% + \HOpatch@Try{AtEndOfPackageFile}{#2}#1% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\HOpatch@Try} +% \begin{macrocode} +\def\HOpatch@Try#1#2#3{% + \ltx@ifundefined{#1}{}{% + \csname #1\endcsname{#2}{#3}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\AtBeginDocument{\HOpatch@list} +\ltx@ifundefined{AtEndPreamble}{}{% + \ltx@ifundefined{@endpreamblehook}{}{% + \AtEndPreamble{\HOpatch@list}% + }% +} +\ltx@ifundefined{AfterEndPreamble}{}{% + \ltx@ifundefined{@afterendpreamblehook}{}{% + \AfterEndPreamble{% + \let\HOpatch@OrgIfPackageLoaded\@ifpackageloaded + \let\HOpatch@OrgIfPackageLater\@ifpackagelater + \let\HOpatch@OrgIfClassLoaded\@ifclassloaded + \let\HOpatch@OrgIfClassLater\@ifclasslater + \let\@ifpackageloaded\ltx@ifpackageloaded + \let\@ifpackagelater\ltx@ifpackagelater + \let\@ifclassloaded\ltx@ifclassloaded + \let\@ifclasslater\ltx@ifclasslater + \HOpatch@list + \let\@ifpackageloaded\HOpatch@OrgIfPackageLoaded + \let\@ifpackagelater\HOpatch@OrgIfPackageLater + \let\@ifclassloaded\HOpatch@OrgIfClassLoaded + \let\@ifclasslater\HOpatch@OrgIfClassLater + }% + }% +} +% \end{macrocode} +% +% \begin{macrocode} +\HOpatch@AtEnd% +% \end{macrocode} +% \begin{macrocode} +% +% \end{macrocode} +% \section{Installation} +% +% \subsection{Download} +% +% \paragraph{Package.} This package is available on +% CTAN\footnote{\CTANpkg{hopatch}}: +% \begin{description} +% \item[\CTAN{macros/latex/contrib/hopatch/hopatch.dtx}] The source file. +% \item[\CTAN{macros/latex/contrib/hopatch/hopatch.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 hopatch.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@{}} +% hopatch.sty & tex/latex/hopatch/hopatch.sty\\ +% hopatch.pdf & doc/latex/hopatch/hopatch.pdf\\ +% hopatch.dtx & source/latex/hopatch/hopatch.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{hopatch.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 hopatch.dtx +%makeindex -s gind.ist hopatch.idx +%pdflatex hopatch.dtx +%makeindex -s gind.ist hopatch.idx +%pdflatex hopatch.dtx +%\end{verbatim} +% \end{quote} +% +% \begin{thebibliography}{9} +% \raggedright +% +% \bibitem{etoolbox} +% Philipp Lehman: +% \textit{The etoolbox Package} +% 2011-01-03. +% \CTANpkg{etoolbox} +% +% \bibitem{filehook} +% Martin Scharrer: +% \textit{The filehook Package}; +% 2011-01-09. +% \CTANpkg{filehook} +% +% \bibitem{ltxcmds} +% Heiko Oberdiek: +% \textit{The ltxcmds Package}; +% 2010-12-12. +% \CTANpkg{ltxcmds} +% +% \bibitem{memoir} +% Peter Wilson, Lars Madsen: +% \textit{The Memoir Class for Configurable Typesetting, User Guide}; +% 2010. +% \CTANpkg{memoir} +% +% \bibitem{scrlfile} +% Markus Kohm, Jens-Uwe Morawski: +% \textit{The Guide KOMA-Script}; +% 2011-01-20. +% \CTANpkg{koma-script} +% +% \end{thebibliography} +% +% \begin{History} +% \begin{Version}{2011/01/30 v1.0} +% \item +% First public version. +% \end{Version} +% \begin{Version}{2011/06/24 v1.1} +% \item +% Fix the use of \cs{AtEndPreamble} and \cs{AfterEndPreamble}. +% They are redefined by package \xpackage{etoolbox} after their +% hooks are used and generate an error message then. +% \end{Version} +% \begin{Version}{2012/05/28 v1.2} +% \item +% Fix for use without \hologo{eTeX} +% (thanks Gordon Lee). +% \end{Version} +% \begin{Version}{2016/05/16 v1.3} +% \item +% Documentation updates. +% \end{Version} +% \begin{Version}{2020-08-01 v1.4} +% \item Starting with this version the package will use the hooks provided +% by the LaTeX kernel if the format is newer than 2020/10/01. +% \end{Version} +% \end{History} +% +% \PrintIndex +% +% \Finale +\endinput diff --git a/macros/latex/contrib/hopatch/hopatch.pdf b/macros/latex/contrib/hopatch/hopatch.pdf new file mode 100644 index 0000000000..9e53875a7e Binary files /dev/null and b/macros/latex/contrib/hopatch/hopatch.pdf differ diff --git a/macros/latex/contrib/oberdiek/README.md b/macros/latex/contrib/oberdiek/README.md new file mode 100644 index 0000000000..cbdfd8b6c8 --- /dev/null +++ b/macros/latex/contrib/oberdiek/README.md @@ -0,0 +1,77 @@ +# Oberdiek bundle + +Version: 2020-08-01 + +This file describes the directory + CTAN:macros/latex/contrib/oberdiek/ + +It contains several packages: + .dtx: source code + .pdf: documentation + +## Copyright (C) +* 2007, 2009-2011 Heiko Oberdiek +* 2016-2020 Oberdiek Package Support Group + +## License +LATEX Project Public License, version 1.3c or later. + + + +## Installation + +If you want to install all packages j ust download + + CTAN:install/macros/latex/contrib/oberdiek.tds.zip + +and unzip it in your preferred TDS (texmf) tree. + + +Other files in the CTAN directory: +* README.md: This file. +* oberdiek.tex, oberdiek.pdf: + Table of contents of all packages in the directory. + It contains the table of contents and the abstract of the packages. + The name is a convenience to users of the program `texdoc'. + +## Content + +* aliascnt: ‘alias counters’; +* bmpsize: get bitmap size and resolution data; +* centernot: a horizontally-centred \not symbol; +* chemarr: extensible chemists’ reaction arrows; +* classlist: record information about document class(es) used; +* colonequals: poor man’s mathematical relation symbols; +* dvipscol: dvips colour stack management; +* engord: define counter-printing operations producing English ordinals; +* eolgrab: collect arguments delimited by end of line; +* flags: setting and clearing flags in bit fields and converting the bit field into a decimal number; +* holtxdoc: extra documentation macros; +* hypbmsec: bookmarks in sectioning commands; +* hypcap: anjusting anchors of captions; +* hypdestopt: optimising hyperref’s pdfTeX driver destinations; +* hypdoc: hyper-references in the LaTeX standard doc package; +* hypgotoe: experimental package for links to embedded files; +* hyphsubst: substitute hyphenation patterns; +* ifdraft: switch for option draft; +* iflang: provides expandable checks for the current language; +* pagegrid: prints a page grid in the background; +* pdfcolfoot: using pdfTeX’s color stack for footnotes; +* pdfcol: macros for setting and maintaining new color stacks; +* pdfcolparallel: fixes colour problems in package parallel; +* pdfcolparcolumns: fixes colour problems in package parcolumns; +* pdfcrypt: setting PDF encryption; +* pdfrender: control PDF rendering modes; +* protecteddef: define a command that protected against expansion; +* resizegather: automatically resize overly large equations; +* rotchiffre: performs simple rotation cyphers; +* scrindex: redefines environment ‘theindex’ of package ‘index’, if a class from KOMA-Script is loaded; +* setouterhbox: set \hbox in outer horizontal mode; +* settobox: getting box sizes; +* stackrel: extensions of the \stackrel command; +* stampinclude: selects the files for \include by inspecting the timestamp of the .aux file(s); +* tabularht: tabulars with height specification; +* tabularkv: key value interface for tabular parameters; +* telprint: print German telephone numbers; +* thepdfnumber: canonical numbers for use in PDF files and elsewhere; +* twoopt: commands with two optional arguments; diff --git a/macros/latex/contrib/oberdiek/README.txt b/macros/latex/contrib/oberdiek/README.txt deleted file mode 100644 index 0bf3fd182b..0000000000 --- a/macros/latex/contrib/oberdiek/README.txt +++ /dev/null @@ -1,29 +0,0 @@ -README 2019/12/29 - -This file describes the directory - CTAN:macros/latex/contrib/oberdiek/ - -It contains several packages: - .dtx: source code - .pdf: documentation - -Installation is easier, if you want to install all packages: -Just download - CTAN:install/macros/latex/contrib/oberdiek.tds.zip -and unzip it in your preferred TDS (texmf) tree. - - -Other files in the CTAN directory: -* README: This file. -* oberdiek.tex, oberdiek.pdf: - Table of contents of all packages in the directory. - It contains the table of contents and the abstract of the packages. - The name is a convenience to users of the program `texdoc'. - -Happy TeXing - Heiko Oberdiek - and - Oberdiek Package Support Group - ho-tex@tug.org - Preferred bug reporting address is now - https://github.com/ho-tex/oberdiek/issues diff --git a/macros/latex/contrib/oberdiek/aliascnt.pdf b/macros/latex/contrib/oberdiek/aliascnt.pdf index f65172b7a6..88dd37cf7b 100644 Binary files a/macros/latex/contrib/oberdiek/aliascnt.pdf and b/macros/latex/contrib/oberdiek/aliascnt.pdf differ diff --git a/macros/latex/contrib/oberdiek/bmpsize.pdf b/macros/latex/contrib/oberdiek/bmpsize.pdf index 1238cbab33..ca2159f163 100644 Binary files a/macros/latex/contrib/oberdiek/bmpsize.pdf and b/macros/latex/contrib/oberdiek/bmpsize.pdf differ diff --git a/macros/latex/contrib/oberdiek/centernot.pdf b/macros/latex/contrib/oberdiek/centernot.pdf index 86d74306bf..f07187e50c 100644 Binary files a/macros/latex/contrib/oberdiek/centernot.pdf and b/macros/latex/contrib/oberdiek/centernot.pdf differ diff --git a/macros/latex/contrib/oberdiek/chemarr.pdf b/macros/latex/contrib/oberdiek/chemarr.pdf index 8bab924131..92c0fd36ea 100644 Binary files a/macros/latex/contrib/oberdiek/chemarr.pdf and b/macros/latex/contrib/oberdiek/chemarr.pdf differ diff --git a/macros/latex/contrib/oberdiek/classlist.pdf b/macros/latex/contrib/oberdiek/classlist.pdf index b8d8f45daa..d6be30706d 100644 Binary files a/macros/latex/contrib/oberdiek/classlist.pdf and b/macros/latex/contrib/oberdiek/classlist.pdf differ diff --git a/macros/latex/contrib/oberdiek/colonequals.pdf b/macros/latex/contrib/oberdiek/colonequals.pdf index 6fc6cb0352..e6bd4ecf28 100644 Binary files a/macros/latex/contrib/oberdiek/colonequals.pdf and b/macros/latex/contrib/oberdiek/colonequals.pdf differ diff --git a/macros/latex/contrib/oberdiek/dvipscol.pdf b/macros/latex/contrib/oberdiek/dvipscol.pdf index f7bb9d9663..7794d5f6fb 100644 Binary files a/macros/latex/contrib/oberdiek/dvipscol.pdf and b/macros/latex/contrib/oberdiek/dvipscol.pdf differ diff --git a/macros/latex/contrib/oberdiek/engord.pdf b/macros/latex/contrib/oberdiek/engord.pdf index 9715e2f85e..6058293fe1 100644 Binary files a/macros/latex/contrib/oberdiek/engord.pdf and b/macros/latex/contrib/oberdiek/engord.pdf differ diff --git a/macros/latex/contrib/oberdiek/enparen.pdf b/macros/latex/contrib/oberdiek/enparen.pdf index 57072a31c0..89a517bb42 100644 Binary files a/macros/latex/contrib/oberdiek/enparen.pdf and b/macros/latex/contrib/oberdiek/enparen.pdf differ diff --git a/macros/latex/contrib/oberdiek/eolgrab.pdf b/macros/latex/contrib/oberdiek/eolgrab.pdf index 1869e3385d..0305785a2e 100644 Binary files a/macros/latex/contrib/oberdiek/eolgrab.pdf and b/macros/latex/contrib/oberdiek/eolgrab.pdf differ diff --git a/macros/latex/contrib/oberdiek/fibnum.pdf b/macros/latex/contrib/oberdiek/fibnum.pdf index 2e6b0fa57a..94743cee5c 100644 Binary files a/macros/latex/contrib/oberdiek/fibnum.pdf and b/macros/latex/contrib/oberdiek/fibnum.pdf differ diff --git a/macros/latex/contrib/oberdiek/flags.pdf b/macros/latex/contrib/oberdiek/flags.pdf index ef974c0562..c39b6a802d 100644 Binary files a/macros/latex/contrib/oberdiek/flags.pdf and b/macros/latex/contrib/oberdiek/flags.pdf differ diff --git a/macros/latex/contrib/oberdiek/holtxdoc.pdf b/macros/latex/contrib/oberdiek/holtxdoc.pdf index 70c1626f96..3f438af499 100644 Binary files a/macros/latex/contrib/oberdiek/holtxdoc.pdf and b/macros/latex/contrib/oberdiek/holtxdoc.pdf differ diff --git a/macros/latex/contrib/oberdiek/hopatch.dtx b/macros/latex/contrib/oberdiek/hopatch.dtx deleted file mode 100644 index 17712fc2cc..0000000000 --- a/macros/latex/contrib/oberdiek/hopatch.dtx +++ /dev/null @@ -1,718 +0,0 @@ -% \iffalse meta-comment -% -% File: hopatch.dtx -% Version: 2016/05/16 v1.3 -% Info: Wrapper for package hooks -% -% Copyright (C) -% 2011, 2012 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/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/oberdiek/issues -% -% This work consists of the main source file hopatch.dtx -% and the derived files -% hopatch.sty, hopatch.pdf, hopatch.ins, hopatch.drv, -% hopatch-test1.tex, hopatch-test2.tex. -% -% Distribution: -% CTAN:macros/latex/contrib/oberdiek/hopatch.dtx -% CTAN:macros/latex/contrib/oberdiek/hopatch.pdf -% -% Unpacking: -% (a) If hopatch.ins is present: -% tex hopatch.ins -% (b) Without hopatch.ins: -% tex hopatch.dtx -% (c) If you insist on using LaTeX -% latex \let\install=y\input{hopatch.dtx} -% (quote the arguments according to the demands of your shell) -% -% Documentation: -% (a) If hopatch.drv is present: -% latex hopatch.drv -% (b) Without hopatch.drv: -% latex hopatch.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 hopatch.dtx -% makeindex -s gind.ist hopatch.idx -% pdflatex hopatch.dtx -% makeindex -s gind.ist hopatch.idx -% pdflatex hopatch.dtx -% -% Installation: -% TDS:tex/latex/oberdiek/hopatch.sty -% TDS:doc/latex/oberdiek/hopatch.pdf -% TDS:source/latex/oberdiek/hopatch.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 -% -%<*install> -\input docstrip.tex -\Msg{************************************************************************} -\Msg{* Installation} -\Msg{* Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO)} -\Msg{************************************************************************} - -\keepsilent -\askforoverwritefalse - -\let\MetaPrefix\relax -\preamble - -This is a generated file. - -Project: hopatch -Version: 2016/05/16 v1.3 - -Copyright (C) - 2011, 2012 Heiko Oberdiek - 2016-2019 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/oberdiek/issues - - -This work consists of the main source file hopatch.dtx -and the derived files - hopatch.sty, hopatch.pdf, hopatch.ins, hopatch.drv, - hopatch-test1.tex, hopatch-test2.tex. - -\endpreamble -\let\MetaPrefix\DoubleperCent - -\generate{% - \file{hopatch.ins}{\from{hopatch.dtx}{install}}% - \file{hopatch.drv}{\from{hopatch.dtx}{driver}}% - \usedir{tex/latex/oberdiek}% - \file{hopatch.sty}{\from{hopatch.dtx}{package}}% -% \usedir{doc/latex/oberdiek/test}% -% \file{hopatch-test1.tex}{\from{hopatch.dtx}{test1}}% -% \file{hopatch-test2.tex}{\from{hopatch.dtx}{test2}}% -} - -\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{* hopatch.sty} -\Msg{*} -\Msg{* To produce the documentation run the file `hopatch.drv'} -\Msg{* through LaTeX.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{*} -\Msg{************************************************************************} - -\endbatchfile -% -%<*ignore> -\fi -% -%<*driver> -\NeedsTeXFormat{LaTeX2e} -\ProvidesFile{hopatch.drv}% - [2016/05/16 v1.3 Wrapper for package hooks (HO)]% -\documentclass{ltxdoc} -\usepackage{holtxdoc}[2011/11/22] -\usepackage{caption} -\usepackage{array} -\setlength{\extrarowheight}{1pt} -\renewcommand*{\arraystretch}{1.1} -\begin{document} - \DocInput{hopatch.dtx}% -\end{document} -% -% \fi -% -% -% -% \GetFileInfo{hopatch.drv} -% -% \title{The \xpackage{hopatch} package} -% \date{2016/05/16 v1.3} -% \author{Heiko Oberdiek\thanks -% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}} -% -% \maketitle -% -% \begin{abstract} -% This packages provides a wrapper to various package hooks -% provided by other packages or classes, but does not define -% own hooks. -% \end{abstract} -% -% \tableofcontents -% -% \section{Documentation} -% -% Sometimes I want to add code right after a package -% has been loaded. Examples are bug fixes, adaptations, -% or added features as needed by package \xpackage{hyperref}, -% for instance. -% -% Unhappily \hologo{LaTeX} does not provide this kind of -% hook. \cs{AtEndOfPackage} can be used inside the package -% only, because \hologo{LaTeX} clears the hook right before -% it loads the package. -% -% However, there are already many packages and classes -% that provide hooks that are executed after the package -% is loaded, see table~\ref{tab:hooks}. -% -% \begin{table} -% \caption{After package hooking} -% \label{tab:hooks} -% \begin{tabular}{ll} -% \bfseries Macro & \bfseries Provider\\ -% \hline -% \cs{AfterPackage} & package \xpackage{scrlfile} \cite{scrlfile}\\ -% \cs{AtEndOfPackageFile} & package \xpackage{filehook} \cite{filehook}\\ -% \cs{AtEndPackage} & class \xclass{memoir} \cite{memoir} -% \end{tabular} -% \end{table} -% -% Package \xpackage{hopatch} can be used without the packages -% of table~\ref{tab:hooks}. But for an early executing right -% after a package is loaded, one of the following class or -% packages should be loaded before using \cs{hopatch@AfterPackage}: -% \begin{itemize} -% \item package \xpackage{filehook} -% \item package \xpackage{scrlfile} -% \item class \xclass{memoir} -% \end{itemize} -% -% \begin{table} -% \caption{After begin document hooking} -% \begin{tabular}{ll} -% \bfseries Macro & \bfseries Provider\\ -% \hline -% \cs{AtBeginDocument} & \hologo{LaTeX}'s kernel\\ -% \cs{AtEndPreamble} & package \xpackage{etoolbox} \cite{etoolbox}\\ -% \cs{AfterEndPreamble} & package \xpackage{etoolbox} -% \end{tabular} -% \end{table} -% -% Therefore I skip writing a new package for hooking into -% \hologo{LaTeX}'s package management and use this package -% to provide a wrapper to patch a package after it is loaded. -% -% \begin{declcs}{hopatch@AfterPackage} \M{package} \M{patch code} -% \end{declcs} -% If the package is already loaded, the \meta{patch code} is executed -% immediately. -% Otherwise the \meta{patch code} is stored in a command and tried -% at later locations until the package is available. -% -% The patch is tried in the following order: -% \begin{enumerate} -% \item If the package is already loaded, the patch is -% applied immediately. Further locations are not tried. -% \item \cs{AtEndPackage}, provided by class \xclass{memoir} \cite{memoir}, -% and \cs{AfterPackage}, provided by package \xpackage{scrlfile} \cite{scrlfile}, -% are called right after the package file is input before -% the hook of \hologo{LaTeX}'s \cs{AtEndOfPackage}. -% \item \cs{AtEndOfPackageFile}, provided by package \xpackage{filehook} \cite{filehook}, -% is called after the package is loaded and after the hook of -% \hologo{LaTeX}'s \cs{AtEndOfPackage}. -% \item \cs{AtEndPreamble}, provided by package \xpackage{etoolbox} \cite{etoolbox}, -% is called at the beginning of |\begin{document}| before the hook -% of \hologo{LaTeX}'s \cs{AtBeginDocument}. -% \item \cs{AtBeginDocument}, provided by \hologo{LaTeX}. -% \item \cs{AfterEndDocument}, provided by package \xpackage{etoolbox} \cite{etoolbox}, -% is called at the very end of |\begin{document}|. Preamble commands are -% already forbidden there. -% \end{enumerate} -% Because of the various locations the patch code is restricted to -% limitations: -% \begin{itemize} -% \item -% Preamble commands, see \hologo{LaTeX}'s \cs{@onlypreamble} -% throw an error if used after |\begin{document}|. This is already -% the case for \cs{AfterEndDocument}. Therefore preamble commands -% are forbidden in the patching code. -% There are four exceptions \cs{@ifpackageloaded}, \cs{@ifclassloaded}, -% \cs{@ifpackagelater} and \cs{@ifclasslater}. They are redefined -% during \cs{AfterEndDocument} using the counterparts of -% package \xpackage{ltxcmds} \cite{ltxcmds}. -% \item -% \cs{AfterPackage} of package \xpackage{scrlfile} and \cs{AtEndPackage} -% of class \xclass{memoir} call the hook before \hologo{LaTeX}'s -% \cs{AtEndOfPackage}. -% \end{itemize} -% -% \StopEventually{ -% } -% -% \section{Implementation} -% -% \begin{macrocode} -%<*package> -% \end{macrocode} -% -% \subsection{Catcodes and package identification} -% -% \begin{macrocode} -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode123=1 % { - \catcode125=2 % } - \catcode64=11 % @ - \def\x{\endgroup - \expandafter\edef\csname HOpatch@AtEnd\endcsname{% - \endlinechar=\the\endlinechar\relax - \catcode13=\the\catcode13\relax - \catcode32=\the\catcode32\relax - \catcode35=\the\catcode35\relax - \catcode61=\the\catcode61\relax - \catcode64=\the\catcode64\relax - \catcode123=\the\catcode123\relax - \catcode125=\the\catcode125\relax - }% - }% -\x\catcode61\catcode48\catcode32=10\relax% -\catcode13=5 % ^^M -\endlinechar=13 % -\catcode35=6 % # -\catcode64=11 % @ -\catcode123=1 % { -\catcode125=2 % } -\def\TMP@EnsureCode#1#2{% - \edef\HOpatch@AtEnd{% - \HOpatch@AtEnd - \catcode#1=\the\catcode#1\relax - }% - \catcode#1=#2\relax -} -\TMP@EnsureCode{40}{12}% ( -\TMP@EnsureCode{41}{12}% ) -\TMP@EnsureCode{43}{12}% + -\TMP@EnsureCode{46}{12}% . -\TMP@EnsureCode{47}{12}% / -\TMP@EnsureCode{91}{12}% [ -\TMP@EnsureCode{93}{12}% ] -\edef\HOpatch@AtEnd{\HOpatch@AtEnd\noexpand\endinput} -% \end{macrocode} -% -% Package identification. -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{hopatch}% - [2016/05/16 v1.3 Wrapper for package hooks (HO)] -% \end{macrocode} -% -% \subsection{Resources} -% -% \begin{macrocode} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname RequirePackage\endcsname\relax - \def\TMP@RequirePackage#1[#2]{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname ver@#1.sty\endcsname\relax - \input #1.sty\relax - \fi - }% - \TMP@RequirePackage{ltxcmds}[2010/12/12]% -\else - \RequirePackage{ltxcmds}[2010/12/12]% -\fi -% \end{macrocode} -% -% \begin{macro}{\HOpatch@counter} -% \begin{macrocode} -\def\HOpatch@counter{0}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\HOpatch@StepCounter} -% \begin{macrocode} -\ltx@ifundefined{numexpr}{% - \def\HOpatch@StepCounter{% - \begingroup - \count@\HOpatch@counter\relax - \advance\count@\ltx@one\relax - \edef\x{\endgroup - \noexpand\def\noexpand\HOpatch@counter{\the\count@}% - }% - \x - }% -}{% - \def\HOpatch@StepCounter{% - \edef\HOpatch@counter{% - \the\numexpr\HOpatch@counter+\ltx@one\relax - }% - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HOpatch@list} -% \begin{macrocode} -\def\HOpatch@list{} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HOpatch@Add} -% \begin{macrocode} -\def\HOpatch@Add{% - \ltx@LocalAppendToMacro\HOpatch@list -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Package patching} -% -% \begin{macro}{\hopatch@AfterPackage} -% \begin{macrocode} -\def\hopatch@AfterPackage#1{% - \ltx@ifpackageloaded{#1}{% - \ltx@firstofone - }{% - \HOpatch@AfterPackage{#1}% - }% -} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\HOpatch@AfterPackage} -% \begin{macrocode} -\def\HOpatch@AfterPackage#1{% - \edef\HOpatch@temp{#1}% - \HOpatch@StepCounter - \expandafter\HOpatch@@AfterPackage - \csname HOpatch@\HOpatch@counter\expandafter\endcsname{% - \HOpatch@temp - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HOpatch@@AfterPackage} -% \begin{macrocode} -\def\HOpatch@@AfterPackage#1#2#3{% - \begingroup - \toks@{#3}% - \xdef\HOpatch@gtemp{% - \noexpand\ltx@ifpackageloaded{#2}{% - \noexpand\let\noexpand#1\noexpand\relax - \the\toks@ - }{}% - }% - \endgroup - \let#1\HOpatch@gtemp - \HOpatch@Add#1% - \HOpatch@Try{AfterPackage}{#2}#1% - \HOpatch@Try{AtEndPackage}{#2}#1% - \HOpatch@Try{AtEndOfPackageFile}{#2}#1% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HOpatch@Try} -% \begin{macrocode} -\def\HOpatch@Try#1#2#3{% - \ltx@ifundefined{#1}{}{% - \csname #1\endcsname{#2}{#3}% - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\AtBeginDocument{\HOpatch@list} -\ltx@ifundefined{AtEndPreamble}{}{% - \ltx@ifundefined{@endpreamblehook}{}{% - \AtEndPreamble{\HOpatch@list}% - }% -} -\ltx@ifundefined{AfterEndPreamble}{}{% - \ltx@ifundefined{@afterendpreamblehook}{}{% - \AfterEndPreamble{% - \let\HOpatch@OrgIfPackageLoaded\@ifpackageloaded - \let\HOpatch@OrgIfPackageLater\@ifpackagelater - \let\HOpatch@OrgIfClassLoaded\@ifclassloaded - \let\HOpatch@OrgIfClassLater\@ifclasslater - \let\@ifpackageloaded\ltx@ifpackageloaded - \let\@ifpackagelater\ltx@ifpackagelater - \let\@ifclassloaded\ltx@ifclassloaded - \let\@ifclasslater\ltx@ifclasslater - \HOpatch@list - \let\@ifpackageloaded\HOpatch@OrgIfPackageLoaded - \let\@ifpackagelater\HOpatch@OrgIfPackageLater - \let\@ifclassloaded\HOpatch@OrgIfClassLoaded - \let\@ifclasslater\HOpatch@OrgIfClassLater - }% - }% -} -% \end{macrocode} -% -% \begin{macrocode} -\HOpatch@AtEnd% -% \end{macrocode} -% \begin{macrocode} -% -% \end{macrocode} -%% \section{Installation} -% -% \subsection{Download} -% -% \paragraph{Package.} This package is available on -% CTAN\footnote{\CTANpkg{hopatch}}: -% \begin{description} -% \item[\CTAN{macros/latex/contrib/oberdiek/hopatch.dtx}] The source file. -% \item[\CTAN{macros/latex/contrib/oberdiek/hopatch.pdf}] Documentation. -% \end{description} -% -% -% \paragraph{Bundle.} All the packages of the bundle `oberdiek' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip oberdiek.tds.zip -d ~/texmf| -% \end{quote} -% -% \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 hopatch.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@{}} -% hopatch.sty & tex/latex/oberdiek/hopatch.sty\\ -% hopatch.pdf & doc/latex/oberdiek/hopatch.pdf\\ -% hopatch.dtx & source/latex/oberdiek/hopatch.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{hopatch.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 hopatch.dtx -%makeindex -s gind.ist hopatch.idx -%pdflatex hopatch.dtx -%makeindex -s gind.ist hopatch.idx -%pdflatex hopatch.dtx -%\end{verbatim} -% \end{quote} -% -% \begin{thebibliography}{9} -% \raggedright -% -% \bibitem{etoolbox} -% Philipp Lehman: -% \textit{The etoolbox Package} -% 2011-01-03. -% \CTANpkg{etoolbox} -% -% \bibitem{filehook} -% Martin Scharrer: -% \textit{The filehook Package}; -% 2011-01-09. -% \CTANpkg{filehook} -% -% \bibitem{ltxcmds} -% Heiko Oberdiek: -% \textit{The ltxcmds Package}; -% 2010-12-12. -% \CTANpkg{ltxcmds} -% -% \bibitem{memoir} -% Peter Wilson, Lars Madsen: -% \textit{The Memoir Class for Configurable Typesetting, User Guide}; -% 2010. -% \CTANpkg{memoir} -% -% \bibitem{scrlfile} -% Markus Kohm, Jens-Uwe Morawski: -% \textit{The Guide KOMA-Script}; -% 2011-01-20. -% \CTANpkg{koma-script} -% -% \end{thebibliography} -% -% \begin{History} -% \begin{Version}{2011/01/30 v1.0} -% \item -% First public version. -% \end{Version} -% \begin{Version}{2011/06/24 v1.1} -% \item -% Fix the use of \cs{AtEndPreamble} and \cs{AfterEndPreamble}. -% They are redefined by package \xpackage{etoolbox} after their -% hooks are used and generate an error message then. -% \end{Version} -% \begin{Version}{2012/05/28 v1.2} -% \item -% Fix for use without \hologo{eTeX} -% (thanks Gordon Lee). -% \end{Version} -% \begin{Version}{2016/05/16 v1.3} -% \item -% Documentation updates. -% \end{Version} -% \end{History} -% -% \PrintIndex -% -% \Finale -\endinput diff --git a/macros/latex/contrib/oberdiek/hopatch.pdf b/macros/latex/contrib/oberdiek/hopatch.pdf index 9363bfd879..2b36643cc1 100644 Binary files a/macros/latex/contrib/oberdiek/hopatch.pdf and b/macros/latex/contrib/oberdiek/hopatch.pdf differ diff --git a/macros/latex/contrib/oberdiek/hypbmsec.pdf b/macros/latex/contrib/oberdiek/hypbmsec.pdf index 9ae31b36cc..4ad84d6cbf 100644 Binary files a/macros/latex/contrib/oberdiek/hypbmsec.pdf and b/macros/latex/contrib/oberdiek/hypbmsec.pdf differ diff --git a/macros/latex/contrib/oberdiek/hypcap.pdf b/macros/latex/contrib/oberdiek/hypcap.pdf index 9d2c432045..4c33bde26c 100644 Binary files a/macros/latex/contrib/oberdiek/hypcap.pdf and b/macros/latex/contrib/oberdiek/hypcap.pdf differ diff --git a/macros/latex/contrib/oberdiek/hypdestopt.pdf b/macros/latex/contrib/oberdiek/hypdestopt.pdf index 671b4f26be..d41e1e6a31 100644 Binary files a/macros/latex/contrib/oberdiek/hypdestopt.pdf and b/macros/latex/contrib/oberdiek/hypdestopt.pdf differ diff --git a/macros/latex/contrib/oberdiek/hypdoc.pdf b/macros/latex/contrib/oberdiek/hypdoc.pdf index c4ad159d2b..849dc53cc5 100644 Binary files a/macros/latex/contrib/oberdiek/hypdoc.pdf and b/macros/latex/contrib/oberdiek/hypdoc.pdf differ diff --git a/macros/latex/contrib/oberdiek/hypgotoe.pdf b/macros/latex/contrib/oberdiek/hypgotoe.pdf index d296230489..dba3357190 100644 Binary files a/macros/latex/contrib/oberdiek/hypgotoe.pdf and b/macros/latex/contrib/oberdiek/hypgotoe.pdf differ diff --git a/macros/latex/contrib/oberdiek/hyphsubst.pdf b/macros/latex/contrib/oberdiek/hyphsubst.pdf index c29e88ce97..4d508389c0 100644 Binary files a/macros/latex/contrib/oberdiek/hyphsubst.pdf and b/macros/latex/contrib/oberdiek/hyphsubst.pdf differ diff --git a/macros/latex/contrib/oberdiek/ifdraft.pdf b/macros/latex/contrib/oberdiek/ifdraft.pdf index fde537a0c3..06933d8e2b 100644 Binary files a/macros/latex/contrib/oberdiek/ifdraft.pdf and b/macros/latex/contrib/oberdiek/ifdraft.pdf differ diff --git a/macros/latex/contrib/oberdiek/iflang.pdf b/macros/latex/contrib/oberdiek/iflang.pdf index 28ba93352d..aa906e45b4 100644 Binary files a/macros/latex/contrib/oberdiek/iflang.pdf and b/macros/latex/contrib/oberdiek/iflang.pdf differ diff --git a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib index 1062c31745..f3d00291d6 100644 --- a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib +++ b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib @@ -89,13 +89,6 @@ version={0.29}, url={https://ctan.org/pkg/holtxdoc}, } -@manual{oberdiek:hopatch, - title={The hopatch package}, - author={Heiko Oberdiek}, - date={2016-05-16}, - version={1.3}, - url={https://ctan.org/pkg/hopatch}, -} @manual{oberdiek:hypbmsec, title={The hypbmsec package}, author={Heiko Oberdiek}, @@ -159,13 +152,6 @@ version={1.5}, url={https://ctan.org/pkg/pagegrid}, } -@manual{oberdiek:pagesel, - title={The pagesel package}, - author={Heiko Oberdiek}, - date={2016-05-16}, - version={1.9}, - url={https://ctan.org/pkg/pagesel}, -} @manual{oberdiek:pdfcol, title={The pdfcol package}, author={Heiko Oberdiek}, diff --git a/macros/latex/contrib/oberdiek/oberdiek.ins b/macros/latex/contrib/oberdiek/oberdiek.ins index 66a26e2564..2225a1b33c 100644 --- a/macros/latex/contrib/oberdiek/oberdiek.ins +++ b/macros/latex/contrib/oberdiek/oberdiek.ins @@ -1,9 +1,9 @@ % oberdiek.ins -% 2019/12/29 +% 2020/08/01 % % Copyright (C) % 1999, 2001, 2006 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group +% 2016-2020 Oberdiek Package Support Group % https://github.com/ho-tex/oberdiek/issues % % This work may be distributed and/or modified under the @@ -39,7 +39,6 @@ \batchinput{fibnum.dtx} \batchinput{flags.dtx} \batchinput{holtxdoc.dtx} -\batchinput{hopatch.dtx} \batchinput{hypbmsec.dtx} \batchinput{hypcap.dtx} \batchinput{hypdestopt.dtx} @@ -49,7 +48,6 @@ \batchinput{ifdraft.dtx} \batchinput{iflang.dtx} \batchinput{pagegrid.dtx} -\batchinput{pagesel.dtx} \batchinput{pdfcol.dtx} \batchinput{pdfcolfoot.dtx} \batchinput{pdfcolparallel.dtx} diff --git a/macros/latex/contrib/oberdiek/oberdiek.pdf b/macros/latex/contrib/oberdiek/oberdiek.pdf index 185bd790b6..9c39006a6f 100644 Binary files a/macros/latex/contrib/oberdiek/oberdiek.pdf and b/macros/latex/contrib/oberdiek/oberdiek.pdf differ diff --git a/macros/latex/contrib/oberdiek/oberdiek.tex b/macros/latex/contrib/oberdiek/oberdiek.tex index 929efdb784..6b52d9bca3 100644 --- a/macros/latex/contrib/oberdiek/oberdiek.tex +++ b/macros/latex/contrib/oberdiek/oberdiek.tex @@ -10,11 +10,11 @@ \newcommand*{\Author}{Heiko Oberdiek} \newcommand*{\Email}{ho-tex at tug.org} -\newcommand*{\Date}{2019/12/29} +\newcommand*{\Date}{2020/08/01} % Copyright (C) 2006-2016 by % Heiko Oberdiek -% Copyright (C) 2016-2019 by +% Copyright (C) 2016-2020 by % Oberdiek Package Support Group % % This work may be distributed and/or modified under the @@ -200,8 +200,6 @@ [\entrysep] \entry{holtxdoc}{Private additional ltxdoc support}% [\entrysep] -\entry{hopatch}{Wrapper for package hooks}% -[\entrysep] \entry{hypbmsec}{Bookmarks in sectioning commands}% [\entrysep] \entry{hypcap}{Adjusting the anchors of captions}% @@ -220,8 +218,6 @@ [\entrysep] \entry{pagegrid}{Print page grid in background}% [\entrysep] -\entry{pagesel}{Select pages of a document for output}% -[\entrysep] \entry{pdfcol}{Handle new color stacks for \hologo{pdfTeX}}% [\entrysep] \entry{pdfcolfoot}{Color stack for footnotes with \hologo{pdfTeX}}% @@ -395,16 +391,6 @@ that may be useful for others in package \xpackage{hypdoc}. \end{abstract} \tocinclude{holtxdoc} -\newpage -\subsection{\pkgsectformat{hopatch}} -\label{hopatch} -\begin{abstract} -This packages provides a wrapper to various package hooks -provided by other packages or classes, but does not define -own hooks. -\end{abstract} -\tocinclude{hopatch} - \newpage \subsection{\pkgsectformat{hypbmsec}} \label{hypbmsec} @@ -497,14 +483,6 @@ The \LaTeX\ package prints a page grid in the background. \end{abstract} \tocinclude{pagegrid} -\newpage -\subsection{\pkgsectformat{pagesel}} -\label{pagesel} -\begin{abstract} -Single pages or page areas can be selected for output. -\end{abstract} -\tocinclude{pagesel} - \newpage \subsection{\pkgsectformat{pdfcol}} \label{pdfcol} diff --git a/macros/latex/contrib/oberdiek/pagegrid.pdf b/macros/latex/contrib/oberdiek/pagegrid.pdf index 2feba030d0..dfd0294a43 100644 Binary files a/macros/latex/contrib/oberdiek/pagegrid.pdf and b/macros/latex/contrib/oberdiek/pagegrid.pdf differ diff --git a/macros/latex/contrib/oberdiek/pagesel.dtx b/macros/latex/contrib/oberdiek/pagesel.dtx deleted file mode 100644 index b674f803d4..0000000000 --- a/macros/latex/contrib/oberdiek/pagesel.dtx +++ /dev/null @@ -1,854 +0,0 @@ -% \iffalse meta-comment -% -% File: pagesel.dtx -% Version: 2016/05/16 v1.9 -% Info: Select pages of a document for output -% -% Copyright (C) -% 1999, 2003, 2006-2008 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/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/oberdiek/issues -% -% This work consists of the main source file pagesel.dtx -% and the derived files -% pagesel.sty, pagesel.pdf, pagesel.ins, pagesel.drv. -% -% Distribution: -% CTAN:macros/latex/contrib/oberdiek/pagesel.dtx -% CTAN:macros/latex/contrib/oberdiek/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/oberdiek/pagesel.sty -% TDS:doc/latex/oberdiek/pagesel.pdf -% TDS:source/latex/oberdiek/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 -% -%<*install> -\input docstrip.tex -\Msg{************************************************************************} -\Msg{* Installation} -\Msg{* Package: pagesel 2016/05/16 v1.9 Select pages of a document for output (HO)} -\Msg{************************************************************************} - -\keepsilent -\askforoverwritefalse - -\let\MetaPrefix\relax -\preamble - -This is a generated file. - -Project: pagesel -Version: 2016/05/16 v1.9 - -Copyright (C) - 1999, 2003, 2006-2008 Heiko Oberdiek - 2016-2019 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/oberdiek/issues - - -This work consists of the main source file pagesel.dtx -and the derived files - pagesel.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/oberdiek}% - \file{pagesel.sty}{\from{pagesel.dtx}{package}}% -} - -\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 -% -%<*ignore> -\fi -% -%<*driver> -\NeedsTeXFormat{LaTeX2e} -\ProvidesFile{pagesel.drv}% - [2016/05/16 v1.9 Select pages of a document for output (HO)]% -\documentclass{ltxdoc} -\usepackage{holtxdoc}[2011/11/22] -\begin{document} - \DocInput{pagesel.dtx}% -\end{document} -% -% \fi -% -% -% -% \GetFileInfo{pagesel.drv} -% -% \title{The \xpackage{pagesel} package} -% \date{2016/05/16 v1.9} -% \author{Heiko Oberdiek\thanks -% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/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@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} -% \subsection{Package} -% \begin{macrocode} -%<*package> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{pagesel} - [2016/05/16 v1.9 Select pages of a document for output (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@makevoid}{}{% - \PackageWarningNoLine{pagesel}{Package already loaded.}% - \endinput -} -% \end{macrocode} -% -% \begin{macro}{\ps@makevoid} -% Macro \cmd{\ps@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@makevoid}{% - \global\setbox\@cclv\copy\voidb@x - \begingroup - \count@=\deadcycles - \advance\count@ by -1\relax - \deadcycles=\count@ - \endgroup -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ps@oddpages} -% \begin{macrocode} -\newcommand*\ps@oddpages{0} -\DeclareOption{odd}{\renewcommand*\ps@oddpages{1}} -\DeclareOption{even}{\renewcommand*\ps@oddpages{2}} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\DeclareOption{nofiles}{\let\ps@nofiles\nofiles} -\DeclareOption{nonofiles}{\let\ps@nofiles\@empty} -\DeclareOption{files}{\let\ps@nofiles\@empty} -\ExecuteOptions{nofiles} -% \end{macrocode} -% -% \begin{macrocode} -\DeclareOption*{% - \begingroup - \expandafter\ps@checkoption\CurrentOption-\END - \edef\x{\endgroup\noexpand\ps@store{\ps@first}{\ps@last}}% - \x -} -% \end{macrocode} -% -% \begin{macro}{\ps@checkoption} -% \begin{macrocode} -\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 -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ps@checklast} -% \begin{macrocode} -\newcommand\ps@checklast{} -\def\ps@checklast#1-{% - \ifx\\#1\\% - \def\ps@last{\maxdimen}% - \else - \edef\ps@last{#1}% - \fi -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ps@store} -% \begin{macrocode} -\newcommand*{\ps@store}[2]{% - \expandafter\def\expandafter\ps@testlist\expandafter{% - \ps@testlist\ps@pagetest{#1}{#2}% - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ps@testlist} -% \begin{macrocode} -\newcommand*\ps@testlist{} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\ProcessOptions -% \end{macrocode} -% -% \begin{macrocode} -\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 -% \end{macrocode} -% -% \begin{macrocode} -\RequirePackage{everyshi} -% \end{macrocode} -% -% \begin{macrocode} -\ps@nofiles -% \end{macrocode} -% -% \begin{macro}{\c@ps@count} -% \begin{macrocode} -\newcounter{ps@count} -\setcounter{ps@count}{0} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ps@ReturnAfterElseFi} -% \begin{macro}{\ps@ReturnAfterFi} -% \begin{macrocode} -\long\def\ps@ReturnAfterElseFi#1\else#2\fi{\fi#1} -\long\def\ps@ReturnAfterFi#1\fi{\fi#1} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macrocode} -\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 -% \end{macrocode} -% -% \begin{macro}{\ps@ifinset} -% \begin{macrocode} -\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 -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ps@pagetest} -% \begin{macrocode} -\newcommand*{\ps@pagetest}[2]{% - \ps@ifinset{#1}{#2}{\let\ps@next\@empty}{}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\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 -% \end{macrocode} -% First leave the output group before ending the job. -% \begin{macrocode} - \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 -} -% \end{macrocode} -% -% \begin{macrocode} -\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 -% \end{macrocode} -% Because of \cs{aftergroup} it is too dangerous to perform -% a similar cleanup for groups. -% \begin{macrocode} -\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 -% \end{macrocode} -% -% \subsection{AtBeginDvi hook support} -% -% The material of box \cs{@begindvibox} is recorded in parallel -% in box \cs{ps@begindvibox}. -% \begin{macrocode} -\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}% -} -% \end{macrocode} -% -% \begin{macro}{\ps@begindvi} -% Macro \cs{ps@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@begindvibox} is -% set on the first selected page. -% \begin{macrocode} -\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 -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -% -% \end{macrocode} -% -% \section{Installation} -% -% \subsection{Download} -% -% \paragraph{Package.} This package is available on -% CTAN\footnote{\CTANpkg{pagesel}}: -% \begin{description} -% \item[\CTAN{macros/latex/contrib/oberdiek/pagesel.dtx}] The source file. -% \item[\CTAN{macros/latex/contrib/oberdiek/pagesel.pdf}] Documentation. -% \end{description} -% -% -% \paragraph{Bundle.} All the packages of the bundle `oberdiek' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip oberdiek.tds.zip -d ~/texmf| -% \end{quote} -% -% \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/oberdiek/pagesel.sty\\ -% pagesel.pdf & doc/latex/oberdiek/pagesel.pdf\\ -% pagesel.dtx & source/latex/oberdiek/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@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} -% \end{History} -% -% \PrintIndex -% -% \Finale -\endinput diff --git a/macros/latex/contrib/oberdiek/pagesel.pdf b/macros/latex/contrib/oberdiek/pagesel.pdf deleted file mode 100644 index caefe1853e..0000000000 Binary files a/macros/latex/contrib/oberdiek/pagesel.pdf and /dev/null differ diff --git a/macros/latex/contrib/oberdiek/pdfcol.pdf b/macros/latex/contrib/oberdiek/pdfcol.pdf index e2d14d92c6..389652ec38 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcol.pdf and b/macros/latex/contrib/oberdiek/pdfcol.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf index 7cfaba36b8..64ce4915e4 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf and b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf index a8a268bb3f..0c69e89412 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf and b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf index 8e2d87f2e4..920203f40e 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf and b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.pdf b/macros/latex/contrib/oberdiek/pdfcrypt.pdf index 3f67cdbf4e..468ab9b255 100644 Binary files a/macros/latex/contrib/oberdiek/pdfcrypt.pdf and b/macros/latex/contrib/oberdiek/pdfcrypt.pdf differ diff --git a/macros/latex/contrib/oberdiek/pdfrender.pdf b/macros/latex/contrib/oberdiek/pdfrender.pdf index 37bdc0e3ab..d1335436d5 100644 Binary files a/macros/latex/contrib/oberdiek/pdfrender.pdf and b/macros/latex/contrib/oberdiek/pdfrender.pdf differ diff --git a/macros/latex/contrib/oberdiek/protecteddef.pdf b/macros/latex/contrib/oberdiek/protecteddef.pdf index 5a2e76b27b..4c37798f2c 100644 Binary files a/macros/latex/contrib/oberdiek/protecteddef.pdf and b/macros/latex/contrib/oberdiek/protecteddef.pdf differ diff --git a/macros/latex/contrib/oberdiek/resizegather.pdf b/macros/latex/contrib/oberdiek/resizegather.pdf index ad1e194b4b..2fecaefee9 100644 Binary files a/macros/latex/contrib/oberdiek/resizegather.pdf and b/macros/latex/contrib/oberdiek/resizegather.pdf differ diff --git a/macros/latex/contrib/oberdiek/rotchiffre.pdf b/macros/latex/contrib/oberdiek/rotchiffre.pdf index 1e5db0a1a9..88097719ca 100644 Binary files a/macros/latex/contrib/oberdiek/rotchiffre.pdf and b/macros/latex/contrib/oberdiek/rotchiffre.pdf differ diff --git a/macros/latex/contrib/oberdiek/scrindex.pdf b/macros/latex/contrib/oberdiek/scrindex.pdf index 2b09bc784c..e9f69e95da 100644 Binary files a/macros/latex/contrib/oberdiek/scrindex.pdf and b/macros/latex/contrib/oberdiek/scrindex.pdf differ diff --git a/macros/latex/contrib/oberdiek/setouterhbox.pdf b/macros/latex/contrib/oberdiek/setouterhbox.pdf index f257218fe1..f3009b2f03 100644 Binary files a/macros/latex/contrib/oberdiek/setouterhbox.pdf and b/macros/latex/contrib/oberdiek/setouterhbox.pdf differ diff --git a/macros/latex/contrib/oberdiek/settobox.pdf b/macros/latex/contrib/oberdiek/settobox.pdf index 9f8e1f7f88..c79bd6368d 100644 Binary files a/macros/latex/contrib/oberdiek/settobox.pdf and b/macros/latex/contrib/oberdiek/settobox.pdf differ diff --git a/macros/latex/contrib/oberdiek/stackrel.pdf b/macros/latex/contrib/oberdiek/stackrel.pdf index 96c39d8624..311cdf1963 100644 Binary files a/macros/latex/contrib/oberdiek/stackrel.pdf and b/macros/latex/contrib/oberdiek/stackrel.pdf differ diff --git a/macros/latex/contrib/oberdiek/stampinclude.pdf b/macros/latex/contrib/oberdiek/stampinclude.pdf index 34ee7ab997..09de65a2a4 100644 Binary files a/macros/latex/contrib/oberdiek/stampinclude.pdf and b/macros/latex/contrib/oberdiek/stampinclude.pdf differ diff --git a/macros/latex/contrib/oberdiek/tabularht.pdf b/macros/latex/contrib/oberdiek/tabularht.pdf index 5d624c8010..ae21206d8b 100644 Binary files a/macros/latex/contrib/oberdiek/tabularht.pdf and b/macros/latex/contrib/oberdiek/tabularht.pdf differ diff --git a/macros/latex/contrib/oberdiek/tabularkv.pdf b/macros/latex/contrib/oberdiek/tabularkv.pdf index 2269827a20..128e427f7a 100644 Binary files a/macros/latex/contrib/oberdiek/tabularkv.pdf and b/macros/latex/contrib/oberdiek/tabularkv.pdf differ diff --git a/macros/latex/contrib/oberdiek/telprint.pdf b/macros/latex/contrib/oberdiek/telprint.pdf index a5cb234076..fe655b9c09 100644 Binary files a/macros/latex/contrib/oberdiek/telprint.pdf and b/macros/latex/contrib/oberdiek/telprint.pdf differ diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.pdf b/macros/latex/contrib/oberdiek/thepdfnumber.pdf index 0e525ea004..3f365b77db 100644 Binary files a/macros/latex/contrib/oberdiek/thepdfnumber.pdf and b/macros/latex/contrib/oberdiek/thepdfnumber.pdf differ diff --git a/macros/latex/contrib/oberdiek/twoopt.pdf b/macros/latex/contrib/oberdiek/twoopt.pdf index 7d3ba20daf..d061ba72d8 100644 Binary files a/macros/latex/contrib/oberdiek/twoopt.pdf and b/macros/latex/contrib/oberdiek/twoopt.pdf differ diff --git a/macros/latex/contrib/pagesel/README.md b/macros/latex/contrib/pagesel/README.md new file mode 100644 index 0000000000..70d509d2ea --- /dev/null +++ b/macros/latex/contrib/pagesel/README.md @@ -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. diff --git a/macros/latex/contrib/pagesel/pagesel.dtx b/macros/latex/contrib/pagesel/pagesel.dtx new file mode 100644 index 0000000000..68d030a934 --- /dev/null +++ b/macros/latex/contrib/pagesel/pagesel.dtx @@ -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 +% +%<*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 +% +%<*ignore> +\fi +% +%<*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} +% +% \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@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@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@oddpages}{}{% + \PackageWarningNoLine{pagesel}{Package already loaded.}% + \endinput +} +% \end{macrocode} +% \begin{macrocode} +% +% \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@makevoid}{}{% + \PackageWarningNoLine{pagesel}{Package already loaded.}% + \endinput +} +% \end{macrocode} +% +% \begin{macro}{\ps@makevoid} +% Macro \cmd{\ps@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@makevoid}{% + \global\setbox\@cclv\copy\voidb@x + \begingroup + \count@=\deadcycles + \advance\count@ by -1\relax + \deadcycles=\count@ + \endgroup +} +% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ps@oddpages} +% \begin{macrocode} +%<*package|packagefrozen> +\newcommand*\ps@oddpages{0} +\DeclareOption{odd}{\renewcommand*\ps@oddpages{1}} +\DeclareOption{even}{\renewcommand*\ps@oddpages{2}} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\DeclareOption{nofiles}{\let\ps@nofiles\nofiles} +\DeclareOption{nonofiles}{\let\ps@nofiles\@empty} +\DeclareOption{files}{\let\ps@nofiles\@empty} +\ExecuteOptions{nofiles} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareOption*{% + \begingroup + \expandafter\ps@checkoption\CurrentOption-\END + \edef\x{\endgroup\noexpand\ps@store{\ps@first}{\ps@last}}% + \x +} +% \end{macrocode} +% +% \begin{macro}{\ps@checkoption} +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ps@checklast} +% \begin{macrocode} +\newcommand\ps@checklast{} +\def\ps@checklast#1-{% + \ifx\\#1\\% + \def\ps@last{\maxdimen}% + \else + \edef\ps@last{#1}% + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ps@store} +% \begin{macrocode} +\newcommand*{\ps@store}[2]{% + \expandafter\def\expandafter\ps@testlist\expandafter{% + \ps@testlist\ps@pagetest{#1}{#2}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ps@testlist} +% \begin{macrocode} +\newcommand*\ps@testlist{} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ProcessOptions +% \end{macrocode} +% +% \begin{macrocode} +\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 +% \end{macrocode} +% +% \begin{macrocode} +% +%<*packagefrozen> +\RequirePackage{everyshi} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*package|packagefrozen> +\ps@nofiles +% \end{macrocode} +% +% \begin{macro}{\c@ps@count} +% \begin{macrocode} +\newcounter{ps@count} +\setcounter{ps@count}{0} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ps@ReturnAfterElseFi} +% \begin{macro}{\ps@ReturnAfterFi} +% \begin{macrocode} +\long\def\ps@ReturnAfterElseFi#1\else#2\fi{\fi#1} +\long\def\ps@ReturnAfterFi#1\fi{\fi#1} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macrocode} +\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 +% \end{macrocode} +% +% \begin{macro}{\ps@ifinset} +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ps@pagetest} +% \begin{macrocode} +\newcommand*{\ps@pagetest}[2]{% + \ps@ifinset{#1}{#2}{\let\ps@next\@empty}{}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +% +%\EveryShipout{% +%\AddToHook{shipout/before}{% +%<*package|packagefrozen> + \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 +% \end{macrocode} +% First leave the output group before ending the job. +% \begin{macrocode} + \aftergroup\@@end + }% + \fi + \let\ps@next\@empty + \ifx\ps@testlist\@empty + \else +% \let\ps@next\ps@makevoid +% \let\ps@next\DiscardShipoutBox + \ps@testlist + \fi + \ifnum\ps@oddpages=1 % + \ifodd\value{ps@count}% + \else +% \let\ps@next\ps@makevoid +% \let\ps@next\DiscardShipoutBox + \fi + \fi + \ifnum\ps@oddpages=2 % + \ifodd\value{ps@count}% +% \let\ps@next\ps@makevoid +% \let\ps@next\DiscardShipoutBox + \else + \fi + \fi +% \ps@begindvi + \ps@next +} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*package|packagefrozen> +%\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 +% \end{macrocode} +% Because of \cs{aftergroup} it is too dangerous to perform +% a similar cleanup for groups. +% \begin{macrocode} +% \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 +% +% \end{macrocode} +% +% \subsection{AtBeginDvi hook support} +% +% The material of box \cs{@begindvibox} is recorded in parallel +% in box \cs{ps@begindvibox}. +% \begin{macrocode} +%<*packagefrozen> +\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}% +} +% \end{macrocode} +% +% \begin{macro}{\ps@begindvi} +% Macro \cs{ps@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@begindvibox} is +% set on the first selected page. +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +% +% \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@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 diff --git a/macros/latex/contrib/pagesel/pagesel.pdf b/macros/latex/contrib/pagesel/pagesel.pdf new file mode 100644 index 0000000000..bfc552e9a3 Binary files /dev/null and b/macros/latex/contrib/pagesel/pagesel.pdf differ -- cgit v1.2.3