texlive[53088] Master/texmf-dist: oberdiek (10dec19)

commits+karl at tug.org commits+karl at tug.org
Tue Dec 10 23:17:04 CET 2019


Revision: 53088
          http://tug.org/svn/texlive?view=revision&revision=53088
Author:   karl
Date:     2019-12-10 23:17:04 +0100 (Tue, 10 Dec 2019)
Log Message:
-----------
oberdiek (10dec19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib
    trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt
    trunk/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/gettitlestring.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hopatch.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/kvdefinekeys.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/ltxcmds.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pagegrid.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/pdfrender.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter.pdf
    trunk/Master/texmf-dist/source/latex/oberdiek/README.txt
    trunk/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
    trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
    trunk/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx
    trunk/Master/texmf-dist/tex/latex/oberdiek/holtxdoc.sty

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/picture-example.tex
    trunk/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/bitset.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/picture.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/selinput.dtx
    trunk/Master/texmf-dist/tex/generic/oberdiek/alphalph.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/bitset.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/catchfile.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/askinclude.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/listingsutf8.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/picture.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/selinput.sty

Modified: trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib
===================================================================
--- trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib	2019-12-10 22:17:04 UTC (rev 53088)
@@ -5,20 +5,6 @@
   version={1.5},
   url={https://ctan.org/pkg/aliascnt},
 }
- at manual{oberdiek:alphalph,
-  title={The alphalph package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={2.5},
-  url={https://ctan.org/pkg/alphalph},
-}
- at manual{oberdiek:askinclude,
-  title={The askinclude package},
-  author={Pablo A. Straub and Heiko Oberdiek},
-  date={2018-11-01},
-  version={2.4},
-  url={https://ctan.org/pkg/askinclude},
-}
 @manual{oberdiek:auxhook,
   title={The auxhook package},
   author={Heiko Oberdiek},
@@ -33,13 +19,6 @@
   version={1.4},
   url={https://ctan.org/pkg/bigintcalc},
 }
- at manual{oberdiek:bitset,
-  title={The bitset package},
-  author={Heiko Oberdiek},
-  date={2016/05/16},
-  version={1.2},
-  url={https://ctan.org/pkg/bitset},
-}
 @manual{oberdiek:bmpsize,
   title={The bmpsize package},
   author={Heiko Oberdiek},
@@ -47,13 +26,6 @@
   version={1.7},
   url={https://ctan.org/pkg/bmpsize},
 }
- at manual{oberdiek:catchfile,
-  title={The catchfile package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.7},
-  url={https://ctan.org/pkg/catchfile},
-}
 @manual{oberdiek:centernot,
   title={The centernot package},
   author={Heiko Oberdiek},
@@ -236,13 +208,6 @@
   version={1.17},
   url={https://ctan.org/pkg/kvsetkeys},
 }
- at manual{oberdiek:listingsutf8,
-  title={The listingsutf8 package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.3},
-  url={https://ctan.org/pkg/listingsutf8},
-}
 @manual{oberdiek:ltxcmds,
   title={The ltxcmds package},
   author={Heiko Oberdiek},
@@ -355,13 +320,6 @@
   version={1.3},
   url={https://ctan.org/pkg/scrindex},
 }
- at manual{oberdiek:selinput,
-  title={The selinput package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.4},
-  url={https://ctan.org/pkg/selinput},
-}
 @manual{oberdiek:setouterhbox,
   title={The setouterhbox package},
   author={Heiko Oberdiek},

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,4 +1,4 @@
-README           2019/12/05
+README           2019/12/09
 
 This file describes the directory
   CTAN:macros/latex/contrib/oberdiek/

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/askinclude.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/gettitlestring.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hopatch.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/kvdefinekeys.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/listingsutf8.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/ltxcmds.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pagegrid.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfrender.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/picture-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/picture-example.tex	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/picture-example.tex	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,61 +0,0 @@
-%%
-%% This is file `picture-example.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% picture.dtx  (with options: `example')
-%% 
-%% This is a generated file.
-%% 
-%% Project: picture
-%% Version: 2016/05/16 v1.4
-%% 
-%% Copyright (C)
-%%    2006-2009 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 picture.dtx
-%% and the derived files
-%%    picture.sty, picture.pdf, picture.ins, picture.drv,
-%%    picture-example.tex.
-%% 
-\documentclass{article}
-
-\usepackage[calc]{picture}
-
-\begin{document}
-
-\setlength{\unitlength}{1pt}
-
-\begin{picture}(\widthof{Hello World}, 10mm)
-  \put(0, 0){\makebox(0,0)[lb]{Hello World}}%
-  \put(0, \heightof{Hello World} + \fboxsep){%
-    \line(1, 0){\widthof{Hello World}}%
-  }%
-  \put(\widthof{Hello World}, 10mm){%
-    \line(0, -1){10mm}%
-  }%
-\end{picture}
-
-\end{document}
-\endinput
-%%
-%% End of file `picture-example.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/README.txt
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/README.txt	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/README.txt	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,4 +1,4 @@
-README           2019/12/05
+README           2019/12/09
 
 This file describes the directory
   CTAN:macros/latex/contrib/oberdiek/

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,1535 +0,0 @@
-% \iffalse meta-comment
-%
-% File: alphalph.dtx
-% Version: 2016/05/16 v2.5
-% Info: Convert numbers to letters
-%
-% Copyright (C)
-%    1999, 2006-2008, 2010, 2011 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
-%
-% The Base Interpreter refers to any `TeX-Format',
-% because some files are installed in TDS:tex/generic//.
-%
-% This work consists of the main source file alphalph.dtx
-% and the derived files
-%    alphalph.sty, alphalph.pdf, alphalph.ins, alphalph.drv,
-%    alphalph-test1.tex, alphalph-test2.tex, alphalph-test3.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/alphalph.dtx
-%    CTAN:macros/latex/contrib/oberdiek/alphalph.pdf
-%
-% Unpacking:
-%    (a) If alphalph.ins is present:
-%           tex alphalph.ins
-%    (b) Without alphalph.ins:
-%           tex alphalph.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{alphalph.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If alphalph.drv is present:
-%           latex alphalph.drv
-%    (b) Without alphalph.drv:
-%           latex alphalph.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 alphalph.dtx
-%       makeindex -s gind.ist alphalph.idx
-%       pdflatex alphalph.dtx
-%       makeindex -s gind.ist alphalph.idx
-%       pdflatex alphalph.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/alphalph.sty
-%    TDS:doc/latex/oberdiek/alphalph.pdf
-%    TDS:source/latex/oberdiek/alphalph.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: alphalph 2016/05/16 v2.5 Convert numbers to letters (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: alphalph
-Version: 2016/05/16 v2.5
-
-Copyright (C)
-   1999, 2006-2008, 2010, 2011 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
-
-
-The Base Interpreter refers to any `TeX-Format',
-because some files are installed in TDS:tex/generic//.
-
-This work consists of the main source file alphalph.dtx
-and the derived files
-   alphalph.sty, alphalph.pdf, alphalph.ins, alphalph.drv,
-   alphalph-test1.tex, alphalph-test2.tex, alphalph-test3.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{alphalph.ins}{\from{alphalph.dtx}{install}}%
-  \file{alphalph.drv}{\from{alphalph.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{alphalph.sty}{\from{alphalph.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{alphalph-test1.tex}{\from{alphalph.dtx}{test1}}%
-%  \file{alphalph-test2.tex}{\from{alphalph.dtx}{test2,etex}}%
-%  \file{alphalph-test3.tex}{\from{alphalph.dtx}{test2,noetex}}%
-}
-
-\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{*     alphalph.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `alphalph.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{alphalph.drv}%
-  [2016/05/16 v2.5 Convert numbers to letters (HO)]%
-\documentclass{ltxdoc}
-\usepackage{alphalph}[2016/05/16]
-\makeatletter
-\newalphalph{\fnsymbolwrap}[wrap]{\@fnsymbol}{}
-\newcommand*{\fnsymbolsingle}[1]{%
-  \ensuremath{%
-    \ifcase#1%
-    \or *%
-    \or \dagger
-    \or \ddagger
-    \or \mathsection
-    \or \mathparagraph
-    \else
-      \@ctrerr
-    \fi
-  }%
-}
-\makeatother
-\newalphalph{\fnsymbolmult}[mult]{\fnsymbolsingle}{}
-\usepackage{amsmath}
-\DeclareMathOperator{\opDiv}{div}
-\DeclareMathOperator{\opMod}{mod}
-\newcommand*{\Def}{%
-  \ensuremath{%
-    \mathrel{\mathop{:}}=%
-  }%
-}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{alphalph.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{alphalph.drv}
-%
-% \title{The \xpackage{alphalph} package}
-% \date{2016/05/16 v2.5}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% The package provides methods to represent numbers with a limited
-% set of symbols. Both \hologo{LaTeX} and \hologo{plainTeX} are supported.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-% \hologo{LaTeX} counters can be represented in different ways
-% by using presentation commands:
-% \begin{quote}
-%   \cs{arabic}, \cs{roman}, \cs{Roman},\\
-%   \cs{alph}, \cs{Alph}, \cs{fnsymbol}
-% \end{quote}
-% The ranges of supported counter values are more or less
-% restricted. Only \cs{arabic} can be used with any counter
-% value \hologo{TeX} supports.
-% \begin{quote}
-% \catcode`\|=12 %
-% \begin{tabular}{@{}l|l|l|l@{}}
-% Presentation & Supported & Ignored & Error message\\
-% command      & domain    & values  & ``Counter too large''\\
-% \hline
-% \cs{arabic}
-%   & \ttfamily -MAX..MAX & &\\
-% \cs{roman}, \cs{Roman}
-%   & \ttfamily 1..MAX & \ttfamily -MAX..0 &\\
-% \cs{alph}, \cs{Alph}
-%   & \ttfamily 1..26 & 0 & \ttfamily -MAX..-1, 27..MAX\\
-% \cs{fnsymbol}
-%   & \ttfamily 1..9 & 0 & \ttfamily -MAX..-1, 10..MAX\\
-% \hline
-% \end{tabular}\\[1ex]
-% \texttt{MAX} = \texttt{2147483647}
-% \end{quote}
-% Ordinal numbers are often used in documents: numbering
-% of chapters, sections, figures, footnotes and so on.
-% The layouter chooses \cs{Alph} for chapter numbers
-% and \cs{fnsymbol} for footnotes. But what can be done
-% if there are more than 26 chapters or more than 10 footnotes?
-% This package \xpackage{alphalph} allows to define new
-% presentation commands. They rely on a existing command
-% and define presentations for values greater the limits.
-% Three different methods are provided by the package.
-% In the following use cases they are presentated.
-%
-% \subsection{Use cases}
-%
-% \subsubsection{Number system based on symbols}
-%
-% Asume you are writing a book and your lecturer demands
-% that chapter numbers must be letters. But you have already
-% 30 chapters and you have only 26 letters?
-%
-% In the decimal system the situation would be clear.
-% If you run out of digits, you are using more digits
-% to represent a number. This method can be also be used
-% for letters. After chapter 26 with |Z| we us |AA|, |AB|, |AC|, and |AD|
-% for the remaining chapters.
-%
-% Happily this package already defines this presentation command:
-%\begin{quote}
-%\begin{verbatim}
-%\usepackage{alphalph}
-%\renewcommand*{\thechapter}{%
-%  \AlphAlph{\value{chapter}}%
-%}
-%\end{verbatim}
-%\end{quote}
-% \cs{AlphAlph} generates:
-%   \AlphAlph{1}, \AlphAlph{2}, \AlphAlph{3}, \dots,
-%   \AlphAlph{26}, \AlphAlph{27}, \AlphAlph{28}, \dots
-%
-% The other presentation command is \cs{alphalph} for lowercase letters.
-%
-% \subsubsection{Wrap symbols around}
-%
-% Nine footnote symbols are quite a few.
-% Too soon the symbols are consumed
-% and \hologo{LaTeX} complains with the error ``Counter too large''.
-% However, it could be acceptable to start again with the symbols
-% from the beginning, especially if there are less than nine symbols
-% on a page.
-% This could be achieved by a counter reset.
-% But finding the right place can be difficult or needs manual
-% actions. Also a
-% unique counter value can be desirable (e.g. for generating
-% unique anchor/link names).
-% Package \xpackage{alphalph} allows you to define
-% a macro that implements a ``wrap around'', but letting
-% the value of the counter untouched:
-%\begin{quote}
-%\begin{verbatim}
-%\usepackage{alphalph}
-%\makeatletter
-%\newalphalph{\fnsymbolwrap}[wrap]{\@fnsymbol}{}
-%\makeatother
-%\renewcommand*{\thefootnote}{%
-%  \fnsymbolwrap{\value{footnote}}%
-%}
-%\end{verbatim}
-%\end{quote}
-% \cs{fnsymbolwrap} generates:
-% \fnsymbolwrap{1}~(1), \fnsymbolwrap{2}~(2), \fnsymbolwrap{3}~(3), \dots,
-% \fnsymbolwrap{9}~(9), \fnsymbolwrap{10}~(10), \fnsymbolwrap{11}~11, \dots
-%
-% \subsubsection{Multiple symbols}
-%
-% \Hologo{LaTeX}'s standard set of footnote symbols contains doubled
-% symbols at the higher positions. Could this principle
-% be generalized?
-% Yes, but first we need a clean footnote symbol list without
-% doubled entries, example:
-%\begin{quote}
-%\begin{verbatim}
-%\usepackage{alphalph}
-%\makeatletter
-%\newcommand*{\fnsymbolsingle}[1]{%
-%  \ensuremath{%
-%    \ifcase#1%
-%    \or *%
-%    \or \dagger
-%    \or \ddagger
-%    \or \mathsection
-%    \or \mathparagraph
-%    \else
-%      \@ctrerr
-%    \fi
-%  }%
-%}
-%\makeatother
-%\newalphalph{\fnsymbolmult}[mult]{\fnsymbolsingle}{}
-%\renewcommand*{\thefootnote}{%
-%  \fnsymbolmult{\value{footnote}}%
-%}
-%\end{verbatim}
-%\end{quote}
-% The own definition of \cs{fnsymbolsingle} has the
-% advantage that this list can easily modified.
-% Otherwise you can use \cs{@fnsymbol} directly,
-% because it uses the same first five symbols.
-%\begin{quote}
-%\begin{verbatim}
-%\usepackage{alphalph}
-%\makeatletter
-%\newalphalph{\fnsymbolmult}[mult]{\@fnsymbol}{5}
-%\makeatother
-%\renewcommand*{\thefootnote}{%
-%  \fnsymbolmult{\value{footnote}}%
-%}
-%\end{verbatim}
-%\end{quote}
-% \cs{fnsymbolmult} generates:
-% \fnsymbolmult{1}~(1), \fnsymbolmult{2}~(2), \fnsymbolmult{3}~(3),
-% \fnsymbolmult{4}~(4), \fnsymbolmult{5}~(5), \fnsymbolmult{6}~(6),
-% \dots, \fnsymbolmult{16}~16, \fnsymbolmult{17}~17, \dots
-%
-% \bigskip
-% The same method can also be used for the chapter problem
-% in the first discussed use case:
-%\begin{quote}
-%\begin{verbatim}
-%\usepackage{alphalph}
-%\makeatletter
-%\newalphalph{\AlphMult}[mult]{\@Alph}{26}
-%\makeatother
-%\renewcommand*{\chapter}{%
-%  \AlphMult{\value{chapter}}%
-%}
-%\end{verbatim}
-%\end{quote}
-% \cs{AlphMult} then generates AA, BB, CC, and DD for chapters 27--30.
-%
-% \subsection{Glossary}
-%
-% \begin{description}
-% \item[Counter presentation command] is a macro that
-%   expects a \hologo{LaTeX} counter name as argument.
-%   Numbers cannot be used. Examples:
-%   \cs{arabic}, \cs{alph}, \cs{fnsymbol}.
-% \item[Number presentation command] is a macro that
-%   expects a number as argument. A number is anything
-%   that \hologo{TeX} accepts as number including \cs{value}.
-%   Examples: \cs{alphalph}, \cs{AlphAlph}, \cs{alphalph at alph}
-%
-%   However, \cs{alph} or \cs{fnsymbol} are not number
-%   presentation commands because they expect a counter
-%   name as argument. Happily \hologo{LaTeX} counter presentation
-%   commands internally uses number presentation commands
-%   with the same name, but prefixed by `@'. Thus
-%   \cs{@alph}, \cs{@fnsymbol} are number presentation commands.
-% \item[Symbols provider] is a command that can be used
-%   to get a list of symbols. For example, \cs{@Alph}
-%   provides the 26 uppercase letters from `A' to `Z'.
-%   Basically a symbol provider is a number presentation
-%   command, usually with a limited range.
-% \item[Number of symbols] is the number of the
-%   last symbol slot of a symbol provider. Thus \cs{@Alph}
-%   generates 26 symbols, \cs{@fnsymbol} provides 9 symbols.
-% \end{description}
-%
-% \subsection{Package usage}
-%
-% The package \Package{alphalph} can be used with both \hologo{plainTeX}
-% and \hologo{LaTeX}:
-% \begin{description}
-% \item[\hologo{plainTeX}:] |\input alphalph.sty|
-% \item[\hologo{LaTeX2e}:]   |\usepackage{alphalph}|\\
-%      There aren't any options.
-% \end{description}
-%
-% \subsection{User commands}
-%
-% \begin{declcs}{AlphAlph} \M{number}\\
-%   \cs{alphalph} \M{number}
-% \end{declcs}
-% Both macros are number presentation commands that
-% expects a number as argument. \hologo{LaTeX} counters
-% are used with \cs{value}.
-%
-% The macros represents a number by letters.
-% First single letters |A..Z| are used, then
-% two letters |AA..ZZ|, three letters |AAA...ZZZ|, \dots
-% follow.
-%
-% Macro \cs{AlphAlph} uses uppercase letters,
-% \cs{alphalph} generates the lowercase variant.
-% \begin{quote}
-%   \catcode`\|=12
-%   \def\entry#1{
-%     \texttt{#1}
-%     & \texttt{\AlphAlph{#1}}
-%     & \texttt{\alphalph{#1}}
-%   }
-%   \begin{tabular}{@{}l|l|l@{}}
-%     \meta{number} & \verb|\AlphAlph{|\meta{number}\verb|}|
-%                   & \verb|\alphalph{|\meta{number}\verb|}|\\
-%     \hline
-%     \entry{1}\\
-%     \entry{2}\\
-%     \entry{26}\\
-%     \entry{27}\\
-%     \entry{30}\\
-%     \entry{2000}\\
-%     \entry{3752127}\\
-%     \entry{10786572}\\
-%     \entry{2147483647}\\
-%   \end{tabular}
-% \end{quote}
-%
-% \begin{declcs}{newalphalph}
-%   \M{cmd}
-%   |[|\meta{method}|]|
-%   \M{symbols provider}
-%   \M{number of symbols}
-% \end{declcs}
-% Macro \cs{newalphalph} defines \meta{cmd} as new
-% number presentation command. Like \cs{newcommand} an error
-% is thrown, if macro \meta{cmd} already exists.
-%
-% The \meta{method} is one of |alph|, |wrap|, or |mult|.
-% The default is |alph|.
-%
-% As symbol provider a number presentation command
-% can be used, e.g. \cs{@fnsymbol}, \cs{@Alph}, or
-% \cs{alphalph at alph}.
-%
-% The last argument is the number of symbols.
-% If the argument is empty, then \cs{newalphalph} tries
-% to find this number itself. \hologo{LaTeX}'s number presentation
-% commands throw an error message, if the number is too large.
-% This error message is put in a macro \cs{@ctrerr}.
-% Thus \cs{newalphalph} calls the symbol provider and tests
-% a number by typesetting it in a temporary box. The error
-% macro \cs{@ctrerr} is catched, it proofs that the number
-% is not supported. Also if the width of the result is zero
-% the number is considered as unavailable.
-%
-% The empty argument is useful for potentially variable lists.
-% However if the end cannot be detected, then the number of
-% symbols must be given. This is also a lot faster. Therefore don't
-% let the argument empty without reason.
-%
-% \subsection{Programmer commands}
-%
-% \begin{declcs}{alphalph at Alph} \M{number}\\
-%   \cs{alphalph at alph} \M{number}
-% \end{declcs}
-% They are basically the same as \cs{@Alph} and \cs{@alph}.
-% Some languages of package \xpackage{babel} redefine
-% \hologo{LaTeX}'s macros to include some font setup that
-% breaks expandibility. Therefore \cs{AlphAlph} and \cs{alphalph}
-% are based on \cs{alphalph at Alph} and \cs{alphalph at alph} to get
-% the letters. The behaviour of these symbol providers for numbers
-% outside the range |1..26| is undefined.
-%
-% \subsection{Design principles}
-%
-% \subsubsection{Number presentation commands}
-%
-% All number presentation commands that this package defines
-% (including \cs{alphalph} and \cs{AlphAlph}) have the following
-% properties:
-% \begin{itemize}
-% \item They are fully expandable. This means that they can safely
-%       \begin{itemize}
-%       \item be written to a file,
-%       \item used in moving arguments (\hologo{LaTeX}: they are \emph{robust}),
-%       \item used in a \cmd{\csname}-\cmd{\endcsname} pair.
-%       \end{itemize}
-% \item If the argument is zero or negative, the commands expand
-%       to nothing like \cmd{\romannumeral}.
-% \item The argument is a \hologo{TeX} number. Anything that would be
-%       accepted by \cmd{\number} is a valid argument:
-%       \begin{itemize}
-%       \item explicite constants,
-%       \item macros that expand to a number,
-%       \item count registers, \hologo{LaTeX} counter can used
-%             via \cmd{\value}, e.\,g.:\\
-%             |\alphalph{\value{page}}|
-%       \item \dots
-%       \end{itemize}
-% \item \hologo{eTeX}'s numeric expressions are supported, if \hologo{eTeX} is
-%       available. Then \cs{numexpr} is applied to the argument.
-%       Package \cs{calc}'s expressions are not supported.
-%       That would violate the expandibility.
-% \end{itemize}
-%
-% \subsubsection{General usability}
-%
-% \begin{description}
-% \item[\hologo{TeX} format:]
-%   The package does not depend on \hologo{LaTeX}, it can also be used
-%   by \hologo{plainTeX}, for example.
-% \item[\hologo{eTeX}:] \eTeX is supported, the macros are shorter and
-%   faster. But \eTeX's extensions are not requirements.
-%   Without \hologo{eTeX}, just the implementation changes. The properties
-%   remain unchanged.
-% \end{description}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-% \subsection{Begin\texorpdfstring{ of package}{}}
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%    Reload check, especially if the package is not used with \LaTeX.
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at alphalph.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{alphalph}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-%    \end{macrocode}
-%    Package identification:
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at alphalph.sty\endcsname
-\ProvidesPackage{alphalph}%
-  [2016/05/16 v2.5 Convert numbers to letters (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Catcodes}
-%
-%    \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 AlPh at 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 at EnsureCode#1#2{%
-  \edef\AlPh at AtEnd{%
-    \AlPh at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{59}{12}% ;
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{124}{12}% |
-\edef\AlPh at AtEnd{\AlPh at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{Package loading}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input infwarerr.sty\relax
-  \input intcalc.sty\relax
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{intcalc}[2007/09/09]%
-\fi
-%    \end{macrocode}
-%
-% \subsection{\hologo{eTeX} detection}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-  \catcode124=9 % '!': ignore
-  \catcode43=14 % '+': comment
-\else
-  \catcode124=14 % '!': comment
-  \catcode43=9   % '+': ignore
-\fi
-%    \end{macrocode}
-%
-% \subsection{Help macros}
-%
-%    \begin{macro}{\AlPh at Error}
-%    \begin{macrocode}
-\def\AlPh at Error#1{%
-  \begingroup
-    \escapechar=92 % backslash
-    \@PackageError{alphalph}{#1}\@ehc
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\AlPh at IfDefinable}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @ifdefinable\endcsname\relax
-  \def\AlPh at IfDefinable#1#2{%
-    \ifcase\ifx#1\@undefined\else\ifx#1\relax\else1\fi\fi0 %
-      #2%
-    \else
-      \AlPh at Error{%
-        Command \string#1 already defined%
-      }%
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\else
-%    \end{macrocode}
-%    \begin{macro}{\AlPh at IfDefinable}
-%    \begin{macrocode}
-  \let\AlPh at IfDefinable\@ifdefinable
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\fi
-%    \end{macrocode}
-%
-%    \begin{macro}{\@ReturnAfterElseFi}
-%    \begin{macro}{\@ReturnAfterFi}
-%    The following commands moves the `then' and `else' part respectively
-%    behind the |\if|-construct. This prevents a too deep |\if|-nesting
-%    and so a \hologo{TeX} capacity error because of a limited input stack size.
-%    I use this trick in several packages, so I don't prefix these internal
-%    commands in order not to have the same macros with different names.
-%    (It saves memory.)
-%    \begin{macrocode}
-\long\def\@ReturnAfterElseFi#1\else#2\fi{\fi#1}
-\long\def\@ReturnAfterFi#1\fi{\fi#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%
-%    \begin{macro}{\@gobblefour}
-%    \Hologo{LaTeX} defines commands for eating arguments.
-%    Define \cs{@gobblefour} if it is not defined (\hologo{plainTeX}).
-%    \begin{macrocode}
-\expandafter\ifx\csname @gobblefour\endcsname\relax
-  \long\def\@gobblefour#1#2#3#4{}%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{AlPh at IfOptArg}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname kernel at ifnextchar\endcsname\relax
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname @ifnextchar\endcsname\relax
-    \def\AlPh at IfOptArg#1#2{%
-      \def\AlPh at TempA{#1}%
-      \def\AlPh at TempB{#2}%
-      \futurelet\AlPh at Token\AlPh at IfOptArgNext
-    }%
-    \let\AlPh at BracketLeft=[%]
-    \def\AlPh at IfOptArgNext{%
-      \ifx\AlPh at Token\AlPh at BracketLeft
-        \expandafter\AlPh at TempA
-      \else
-        \expandafter\AlPh at TempB
-      \fi
-    }%
-  \else
-    \def\AlPh at IfOptArg{\@ifnextchar[}%]
-  \fi
-\else
-  \def\AlPh at IfOptArg{\kernel at ifnextchar[}%]
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Symbol provider}
-%
-% \subsubsection{Alphabet}
-%
-%    The output of \cs{alphalph} and \cs{AlphAlph} should be
-%    usable as part of command names (see \cs{@namedef}, \cs{csname}, \dots).
-%    Unhappily some languages of package \xpackage{babel}
-%    redefine \hologo{LaTeX}'s \cs{@alph} and \cs{@Alph} in a manner that
-%    they cannot be used in expandable context any more.
-%    Therefore package \xpackage{alphalph} provides its own
-%    commands.
-%
-%    \begin{macro}{\alphalph at Alph}
-%    \begin{macro}{\alphalph at alph}
-%    The two commands \cmd{\AlPh at Alph} and \cmd{\AlPh at alph} convert a
-%    number into a letter (uppercase and lowercase respectivly).
-%    The character |@| is used as an error symbol,
-%    if the number isn't in the range of 1 until 26.
-%    Here we need no space after the number |#1|, because the error
-%    symbol |@| for the zero case stops scanning the number.
-%    This error symbol should not appear anywhere (except for bugs).
-%    \begin{macrocode}
-\def\alphalph at Alph#1{%
-  \ifcase#1%
-    @%
-  \or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or K\or L\or M%
-  \or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or Z%
-  \else
-    \AlPh at ctrerr
-    @%
-  \fi
-}
-\def\alphalph at alph#1{%
-  \ifcase#1%
-    @%
-  \or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m%
-  \or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z%
-  \else
-    \AlPh at ctrerr
-    @%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%    \begin{macro}{\AlPh at ctrerr}
-%    Macro \cs{AlPh at ctrerr} is used as hook for the algorithm
-%    to get the available number of symbols.
-%    \begin{macrocode}
-\def\AlPh at ctrerr{}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Finding number of symbols}
-%
-%    \begin{macro}{\AlPh at GetNumberOfSymbols}
-%    \noindent
-%    |#1|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at GetNumberOfSymbols#1{%
-  \AlPh at TestNumber1!{#1}%
-  \ifAlPh at Unavailable
-    \def\AlPh at Number{0}%
-    \AlPh at Error{No symbols found}%
-  \else
-    \def\AlPh at Number{1}%
-    \AlPh at ExpSearch2!{#1}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifAlPh at Unavailable}
-%    \begin{macrocode}
-\let\ifAlPh at Unavailable\iffalse
-\def\AlPh at Unavailabletrue{%
-  \global\let\ifAlPh at Unavailable\iftrue
-}
-\def\AlPh at Unavailablefalse{%
-  \global\let\ifAlPh at Unavailable\iffalse
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at TestNumber}
-%    |#1|: number to be tested\\
-%    |#2|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at TestNumber#1!#2{%
-  \AlPh at Unavailablefalse
-  \begingroup
-    \setbox0=\hbox{%
-      \begingroup % color
-        \let\@ctrerr\AlPh at Unavailabletrue
-        \let\AlPh at ctrerr\AlPh at Unavailabletrue
-        #2{#1}%
-      \endgroup
-    }%
-    \ifdim\wd0=0pt %
-      \AlPh at Unavailabletrue
-    \fi
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at ExpSearch}
-%    |#1|: number to be tested\\
-%    |#2|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at ExpSearch#1!#2{%
-  \let\AlPh at Next\relax
-  \AlPh at TestNumber#1!{#2}%
-  \ifAlPh at Unavailable
-    \expandafter\AlPh at BinSearch\AlPh at Number!#1!{#2}%
-  \else
-    \def\AlPh at Number{#1}%
-    \ifnum#1>1073741823 %
-      \AlPh at TestNumber2147483647!{#2}%
-      \ifAlPh at Unavailable
-        \AlPh at BinSearch#1!2147483647!{#2}%
-      \else
-        \def\AlPh at Number{0}%
-        \AlPh at Error{%
-          Maximal symbol number not found%
-        }%
-      \fi
-    \else
-      \def\AlPh at Next{%
-        \expandafter\AlPh at ExpSearch\number\intcalcShl{#1}!{#2}%
-      }%
-    \fi
-  \fi
-  \AlPh at Next
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at BinSearch}
-%    |#1|: available number\\
-%    |#2|: unavailable number, |#2| $>$ |#1|\\
-%    |#3|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at BinSearch#1!#2!#3{%
-  \expandafter\AlPh at ProcessBinSearch
-  \number\intcalcShr{\intcalcAdd{#1}{#2}}!%
-  #1!#2!{#3}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at ProcessBinSearch}
-%    |#1|: number to be tested, |#2| $\leq$ |#1| $\leq$ |#3|\\
-%    |#2|: available number\\
-%    |#3|: unavailable number\\
-%    |#4|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at ProcessBinSearch#1!#2!#3!#4{%
-  \let\AlPh at Next\relax
-  \ifnum#1>#2 %
-    \ifnum#1<#3 %
-      \AlPh at TestNumber#1!{#4}%
-      \ifAlPh at Unavailable
-        \def\AlPh at Next{%
-          \AlPh at BinSearch#2!#1!{#4}%
-        }%
-      \else
-        \def\AlPh at Next{%
-          \AlPh at BinSearch#1!#3!{#4}%
-        }%
-      \fi
-    \else
-      \def\AlPh at Number{#2}%
-    \fi
-  \else
-    \def\AlPh at Number{#2}%
-  \fi
-  \AlPh at Next
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Methods}
-%
-%    The names of method macros start with \cs{AlPh at Method}.
-%    These macros do the main job in converting a number to
-%    its representation.
-%    A method command is called with three arguments.
-%    The first argument is the number of symbols. The
-%    second argument is the basic macro for converting
-%    a number with limited number range. The last parameter
-%    is the number that needs converting.
-%
-% \subsubsection{Common methods}
-%
-%    \begin{macro}{\AlPh at CheckPositive}
-%    \noindent
-%    |#1|: number to be checked
-%    |#2|: continuation macro\\
-%    |#3|: number of symbols (hidden here)\\
-%    |#4|: symbol provider (hidden here)
-%    \begin{macrocode}
-\def\AlPh at CheckPositive#1!#2{%
-  \ifnum#1<1 %
-    \expandafter\@gobblefour
-  \fi
-  #2{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Method `alph'}
-%
-%    \begin{macro}{\AlPh at Method@alph}
-%    \noindent
-%    |#1|: number of symbols\\
-%    |#2|: symbols provider\\
-%    |#3|: number to be converted
-%    \begin{macrocode}
-\def\AlPh at Method@alph#1#2#3{%
-  \expandafter\AlPh at CheckPositive
-|   \number#3!%
-+   \the\numexpr#3!%
-    \AlPh at ProcessAlph
-    {#1}{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at ProcessAlph}
-%    |#1|: current number\\
-%    |#2|: number of symbols\\
-%    |#3|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at ProcessAlph#1#2#3{%
-  \ifnum#1>#2 %
-    \@ReturnAfterElseFi{%
-      \expandafter\AlPh at StepAlph\number
-        \intcalcInc{%
-          \intcalcMod{\intcalcDec{#1}}{#2}%
-        }%
-      \expandafter!\number
-        \intcalcDiv{\intcalcDec{#1}}{#2}%
-      !{#2}{#3}%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      #3{#1}%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at StepAlph}
-%    |#1|: current last digit\\
-%    |#2|: new current number\\
-%    |#3|: number of symbols\\
-%    |#4|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at StepAlph#1!#2!#3#4{%
-  \AlPh at ProcessAlph{#2}{#3}{#4}%
-  #4{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Method `wrap'}
-%
-%    \begin{macro}{\AlPh at Method@wrap}
-%    \noindent
-%    |#1|: number of symbols\\
-%    |#2|: symbols provider\\
-%    |#3|: number to be converted
-%    \begin{macrocode}
-\def\AlPh at Method@wrap#1#2#3{%
-  \expandafter\AlPh at CheckPositive
-|   \number#3!%
-+   \the\numexpr#3!%
-    \AlPh at ProcessWrap
-    {#1}{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\AlPh at ProcessWrap}
-%    |#1|: number to be converted\\
-%    |#2|: number of symbols\\
-%    |#3|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at ProcessWrap#1#2#3{%
-  \ifnum#1>#2 %
-    \@ReturnAfterElseFi{%
-      \expandafter\AlPh at StepWrap\number
-        \intcalcInc{\intcalcMod{\intcalcDec{#1}}{#2}}%
-      !{#3}%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      #3{#1}%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at StepWrap}
-%    |#1|: final number\\
-%    |#2|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at StepWrap#1!#2{%
-  #2{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Method `mult'}
-%
-%    After the number of symbols is exhausted,
-%    repetitions of the symbol are used.
-%    \begin{gather*}
-%      x \Def \text{number to be converted}\\
-%      n \Def \text{number of symbols}\\
-%      r \Def \text{repetition length}\\
-%      s \Def \text{symbol slot}\\
-%      r = ((x - 1) \div n) + 1\\
-%      s = ((x - 1) \mod n) + 1
-%    \end{gather*}
-%    \begin{macro}{\AlPh at Method@mult}
-%    \noindent
-%    |#1|: number of symbols\\
-%    |#2|: symbols provider\\
-%    |#3|: number to be converted
-%    \begin{macrocode}
-\def\AlPh at Method@mult#1#2#3{%
-  \expandafter\AlPh at CheckPositive
-|   \number#3!%
-+   \the\numexpr#3!%
-    \AlPh at ProcessMult
-    {#1}{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\AlPh at ProcessMult}
-%    |#1|: number to be converted\\
-%    |#2|: number of symbols\\
-%    |#3|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at ProcessMult#1#2#3{%
-  \ifnum#1>#2 %
-    \@ReturnAfterElseFi{%
-      \expandafter\AlPh at StepMult\romannumeral
-        \intcalcInc{\intcalcDiv{\intcalcDec{#1}}{#2}}%
-        000%
-      \expandafter!\number
-        \intcalcInc{\intcalcMod{\intcalcDec{#1}}{#2}}%
-      !{#3}%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      #3{#1}%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at StepMult}
-%    |#1#2|: repetitions coded as list of character `m'\\
-%    |#3|: symbol slot\\
-%    |#4|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at StepMult#1#2!#3!#4{%
-  \ifx\\#2\\%
-  \else
-    \@ReturnAfterFi{%
-      \AlPh at StepMult#2!#3!{#4}%
-    }%
-  \fi
-  #4{#3}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{User interface}
-%
-%    \begin{macro}{\newalphalph}
-%    Macro \cs{newalphalph} had three arguments in versions below 2.0.
-%    For the new method argument we use an optional argument an first
-%    position.\\
-%    |#1|: cmd\\
-%    |[#2]|: method name: |alph| (default), |wrap|, |mult|\\ % hash-ok
-%    |#3|: symbols provider\\
-%    |#4|: number of symbols
-%    \begin{macrocode}
-\AlPh at IfDefinable\newalphalph{%
-  \def\newalphalph#1{%
-    \AlPh at IfOptArg{%
-      \AlPh at newalphalph{#1}%
-    }{%
-      \AlPh at newalphalph{#1}[alph]%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at newalphalph}
-%    |#1|: cmd
-%    |#2|: method name\\
-%    |#3|: symbols provider\\
-%    |#4|: number of symbols
-%    \begin{macrocode}
-\def\AlPh at newalphalph#1[#2]#3#4{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname AlPh at Method@#2\endcsname\relax
-    \AlPh at Error{%
-      Unknown method %
-|     `#2'%
-+     `\detokenize{#2}'%
-    }%
-  \else
-    \ifx\\#4\\%
-      \AlPh at GetNumberOfSymbols{#3}%
-      \ifcase\AlPh at Number
-      \else
-        \begingroup
-          \escapechar=92 % backslash
-          \@PackageInfo{alphalph}{%
-            Number of symbols for \string#1 is \AlPh at Number
-          }%
-        \endgroup
-        \expandafter\AlPh at NewAlphAlph
-        \csname AlPh at Method@#2\expandafter\endcsname
-        \AlPh at Number!{#1}{#3}%
-      \fi
-    \else
-      \expandafter\AlPh at NewAlphAlph
-      \csname AlPh at Method@#2\expandafter\endcsname
-|     \number#4!%
-+     \the\numexpr#4!%
-      {#1}{#3}%
-    \fi
-  \fi
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AlPh at NewAlphAlph}
-%    |#1|: method macro\\
-%    |#2|: number of symbols\\
-%    |#3|: cmd\\
-%    |#4|: symbols provider
-%    \begin{macrocode}
-\def\AlPh at NewAlphAlph#1#2!#3#4{%
-  \AlPh at IfDefinable#3{%
-    \ifnum#2>0 %
-      \def#3{#1{#2}{#4}}%
-    \else
-      \AlPh at Error{%
-          Definition of \string#3 failed,\MessageBreak
-          because number of symbols (#2) is not positive%
-        }%
-    \fi
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\AlphAlph}
-%    \begin{macrocode}
-\newalphalph\AlphAlph\alphalph at Alph{26}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\alphalph}
-%    \begin{macrocode}
-\newalphalph\alphalph\alphalph at alph{26}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\AlPh at AtEnd%
-%</package>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{alphalph}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/alphalph.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/alphalph.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 alphalph.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@{}}
-%   alphalph.sty & tex/generic/oberdiek/alphalph.sty\\
-%   alphalph.pdf & doc/latex/oberdiek/alphalph.pdf\\
-%   alphalph.dtx & source/latex/oberdiek/alphalph.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{alphalph.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 alphalph.dtx
-%makeindex -s gind.ist alphalph.idx
-%pdflatex alphalph.dtx
-%makeindex -s gind.ist alphalph.idx
-%pdflatex alphalph.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{1999/03/19 v0.1}
-%   \item
-%     The first version was built as a response to a
-%     \URL{\link{question}}^^A
-%     {https://groups.google.com/group/comp.text.tex/msg/17a74cd721641038}^^A
-%     of \NameEmail{Will Douglas}{william.douglas at wolfson.ox.ac.uk}
-%     and the
-%     \URL{\link{request}}^^A
-%     {https://groups.google.com/group/comp.text.tex/msg/8f9768825640315f}^^A
-%     of \NameEmail{Donald Arsenau}{asnd at reg.triumf.ca},
-%     published in the newsgroup
-%     \href{news:comp.text.tex}{comp.text.tex}:
-%     \URL{``\link{Re: alph counters \textgreater\ 26}''}^^A
-%     {https://groups.google.com/group/comp.text.tex/msg/cec563eef8bf65d0}
-%   \item
-%     Copyright: LPPL (\CTAN{macros/latex/base/lppl.txt})
-%   \end{Version}
-%   \begin{Version}{1999/04/12 v1.0}
-%   \item
-%     Documentation added in dtx format.
-%   \item
-%     \hologo{eTeX} support added.
-%   \end{Version}
-%   \begin{Version}{1999/04/13 v1.1}
-%   \item
-%     Minor documentation change.
-%   \item
-%     First CTAN release.
-%   \end{Version}
-%   \begin{Version}{1999/06/26 v1.2}
-%   \item
-%     First generic code about \cmd{\ProvidesPackage} improved.
-%   \item
-%     Documentation: Installation part revised.
-%   \end{Version}
-%   \begin{Version}{2006/02/20 v1.3}
-%   \item
-%     Reload check (for \hologo{plainTeX})
-%   \item
-%     New DTX framework.
-%   \item
-%     LPPL 1.3
-%   \end{Version}
-%   \begin{Version}{2006/05/30 v1.4}
-%   \item
-%     \cs{newalphalph} added.
-%   \end{Version}
-%   \begin{Version}{2007/04/11 v1.5}
-%   \item
-%     Line ends sanitized.
-%   \end{Version}
-%   \begin{Version}{2007/09/09 v2.0}
-%   \item
-%     New implementation that uses package \cs{intcalc}.
-%     This removes the dependency on \hologo{eTeX}.
-%   \item
-%     \cs{newalphalph} is extended to support new methods `wrap' and 'multi'.
-%   \item
-%     Documentation rewritten.
-%   \end{Version}
-%   \begin{Version}{2008/08/11 v2.1}
-%   \item
-%     Code is not changed.
-%   \item
-%     URLs updated from \texttt{www.dejanews.com}
-%     to \texttt{groups.google.com}.
-%   \end{Version}
-%   \begin{Version}{2010/03/01 v2.2}
-%   \item
-%     Compatibility with \hologo{iniTeX}.
-%   \end{Version}
-%   \begin{Version}{2010/04/18 v2.3}
-%   \item
-%     Documentation fixes (Martin M\"unch).
-%   \end{Version}
-%   \begin{Version}{2011/05/13 v2.4}
-%   \item
-%     Documentation fixes (Jim Diamond) and using package
-%     \xpackage{hologo} for the documentation.
-%   \item
-%     Catalogue file added.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v2.5}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,1947 +0,0 @@
-% \iffalse meta-comment
-%
-% File: askinclude.dtx
-% Version: 2018/11/01 v2.4
-% Info: Interactive asking of included files
-%
-% Copyright (C)
-%    1991-1994  Pablo A. Straub
-%    2007, 2008, 2011 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 askinclude.dtx
-% and the derived files
-%    askinclude.sty, askinclude.pdf, askinclude.ins, askinclude.drv,
-%    askinclude.bib, askinclude-a.tex, askinclude-b.tex,
-%    askinclude-c.tex, askinclude-test1.tex,
-%    askinclude-test2.tex, askinclude-test3.tex,
-%    askinclude-test4.tex, askinclude-test5.tex,
-%    askinclude-test6.tex, askinclude-test7.tex,
-%    askinclude-test8.tex, askinclude-test9.tex,
-%    askinclude-test10.tex, askinclude-test11.tex,
-%    askinclude-test12.tex, askinclude-test13.tex,
-%    askinclude-test14.tex, askinclude-test15.tex,
-%    askinclude-test16.tex, askinclude-test17.tex,
-%    askinclude-test18.tex, askinclude-test19.tex,
-%    askinclude-test20.tex, askinclude-test21.tex,
-%    askinclude-test22.tex, askinclude-test23.tex,
-%    askinclude-test24.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/askinclude.dtx
-%    CTAN:macros/latex/contrib/oberdiek/askinclude.pdf
-%
-% Unpacking:
-%    (a) If askinclude.ins is present:
-%           tex askinclude.ins
-%    (b) Without askinclude.ins:
-%           tex askinclude.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{askinclude.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If askinclude.drv is present:
-%           latex askinclude.drv
-%    (b) Without askinclude.drv:
-%           latex askinclude.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 askinclude.dtx
-%       bibtex askinclude.aux
-%       makeindex -s gind.ist askinclude.idx
-%       pdflatex askinclude.dtx
-%       makeindex -s gind.ist askinclude.idx
-%       pdflatex askinclude.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/askinclude.sty
-%    TDS:doc/latex/oberdiek/askinclude.pdf
-%    TDS:source/latex/oberdiek/askinclude.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: askinclude 2018/11/01 v2.4 Interactive asking of included files}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: askinclude
-Version: 2018/11/01 v2.4
-
-Copyright (C)
-   1991-1994 Pablo A. Straub
-   2007, 2008, 2011 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 askinclude.dtx
-and the derived files
-   askinclude.sty, askinclude.pdf, askinclude.ins, askinclude.drv,
-   askinclude.bib, askinclude-a.tex, askinclude-b.tex,
-   askinclude-c.tex, askinclude-test1.tex,
-   askinclude-test2.tex, askinclude-test3.tex,
-   askinclude-test4.tex, askinclude-test5.tex,
-   askinclude-test6.tex, askinclude-test7.tex,
-   askinclude-test8.tex, askinclude-test9.tex,
-   askinclude-test10.tex, askinclude-test11.tex,
-   askinclude-test12.tex, askinclude-test13.tex,
-   askinclude-test14.tex, askinclude-test15.tex,
-   askinclude-test16.tex, askinclude-test17.tex,
-   askinclude-test18.tex, askinclude-test19.tex,
-   askinclude-test20.tex, askinclude-test21.tex,
-   askinclude-test22.tex, askinclude-test23.tex,
-   askinclude-test24.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{askinclude.ins}{\from{askinclude.dtx}{install}}%
-  \file{askinclude.drv}{\from{askinclude.dtx}{driver}}%
-  \nopreamble
-  \nopostamble
-  \file{askinclude.bib}{\from{askinclude.dtx}{bib}}%
-  \usepreamble\defaultpreamble
-  \usepostamble\defaultpostamble
-  \usedir{tex/latex/oberdiek}%
-  \file{askinclude.sty}{\from{askinclude.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-  \file{askinclude-a.tex}{\from{askinclude.dtx}{a}}%
-  \file{askinclude-b.tex}{\from{askinclude.dtx}{b}}%
-  \file{askinclude-c.tex}{\from{askinclude.dtx}{c}}%
-%  \file{askinclude-test1.tex}{\from{askinclude.dtx}{test0,test1}}%
-%  \file{askinclude-test2.tex}{\from{askinclude.dtx}{test0,test2}}%
-%  \file{askinclude-test3.tex}{\from{askinclude.dtx}{test0,test3}}%
-%  \file{askinclude-test4.tex}{\from{askinclude.dtx}{test0,test4}}%
-%  \file{askinclude-test5.tex}{\from{askinclude.dtx}{test0,test5}}%
-%  \file{askinclude-test6.tex}{\from{askinclude.dtx}{test0,test6}}%
-%  \file{askinclude-test7.tex}{\from{askinclude.dtx}{test0,test7}}%
-%  \file{askinclude-test8.tex}{\from{askinclude.dtx}{test0,test8}}%
-%  \file{askinclude-test9.tex}{\from{askinclude.dtx}{test0,test9}}%
-%  \file{askinclude-test10.tex}{\from{askinclude.dtx}{test0,test10}}%
-%  \file{askinclude-test11.tex}{\from{askinclude.dtx}{test0,test11}}%
-%  \file{askinclude-test12.tex}{\from{askinclude.dtx}{test0,test12}}%
-%  \file{askinclude-test13.tex}{\from{askinclude.dtx}{test0,test13}}%
-%  \file{askinclude-test14.tex}{\from{askinclude.dtx}{test0,test14}}%
-%  \file{askinclude-test15.tex}{\from{askinclude.dtx}{test0,test15}}%
-%  \file{askinclude-test16.tex}{\from{askinclude.dtx}{test0,test16}}%
-%  \file{askinclude-test17.tex}{\from{askinclude.dtx}{test0,test17}}%
-%  \file{askinclude-test18.tex}{\from{askinclude.dtx}{test0,test18}}%
-%  \file{askinclude-test19.tex}{\from{askinclude.dtx}{test0,test19}}%
-%  \file{askinclude-test20.tex}{\from{askinclude.dtx}{test0,test20}}%
-%  \file{askinclude-test21.tex}{\from{askinclude.dtx}{test0,test21}}%
-%  \file{askinclude-test22.tex}{\from{askinclude.dtx}{test0,test22}}%
-%  \file{askinclude-test23.tex}{\from{askinclude.dtx}{test0,test23}}%
-%  \file{askinclude-test24.tex}{\from{askinclude.dtx}{test0,test24}}%
-}
-
-\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{*     askinclude.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `askinclude.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*bib>
- at online{texlive,
-  author={Fairbairns, Robin},
-  title={[tex-live] licence on includeonly.sty},
-  date={2007-10-13},
-  url={https://www.tug.org/pipermail/tex-live/2007-October/014928.html},
-  urldate={2011-12-02},
-}
- at online{newsthread,
-  author={Vo{\ss}, Herbert},
-  title={askinclude.sty},
-  note={Thread in newsgroup {\xnewsgroup{comp.text.tex}};
-      Message-ID: {\texttt{fev72m\$b35\$02\$2 at news.t-online.com}}},
-  date={2007-10-15},
-  url={https://groups.google.com/group/comp.text.tex/browse_thread/thread/728a3e73c04c6789/349e31865c40d00c},
-  urldate={2011-12-02},
-}
- at manual{makematch,
-  author={Kastrup, David},
-  title={makematch.sty: Pattern matching with wildcards},
-  date={2007-02-23},
-  version={1.7925},
-  url={https://ctan.org/pkg/qstest},
-  urldate={2011-12-02},
-}
- at manual{excludeonly,
-  author={Luecking, Daniel H. and Arseneau, Donald},
-  title={The excludeonly package},
-  date={2003-03-14},
-  url={https://ctan.org/pkg/excludeonly},
-  urldate={2011-12-02},
-}
-%</bib>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{askinclude.drv}%
-  [2018/11/01 v2.4 Interactive asking of included files]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\usepackage{ifluatex}
-\ifluatex
-\else
-  \usepackage[T1]{fontenc}%
-  \usepackage{lmodern}%
-\fi
-\usepackage{csquotes}
-\usepackage[
-  backend=bibtex,
-  bibencoding=ascii,
-  alldates=iso,seconds=true,
-]{biblatex}[2011/11/13]
-\bibliography{oberdiek-source}
-\bibliography{askinclude}
-\begin{document}
-  \DocInput{askinclude.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{askinclude.drv}
-%
-% \title{The \xpackage{askinclude} package}
-% \date{2018/11/01 v2.4}
-% \author{
-%   Pablo A. Straub\\[1ex]
-%    Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-% 
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package replaces \cs{includeonly} by an interactive user
-% interface.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{User interface}
-%
-% The \cs{include} feature of \LaTeX\ allows the division of
-% the text body in separate compilation units. It is page
-% based and stores counter settings in additional auxiliary
-% files. \cs{includeonly} limits the actually included files
-% to the ones, listed in its argument.
-%
-% Example:
-%\begin{quote}
-%\begin{verbatim}
-%\documentclass{report}
-%
-%\usepackage{askinclude}
-%
-% % Don't use \include in the preamble.
-% % Instead \input can be used or make a package
-%
-%\begin{document}
-%\include{title}
-%\include{introduction}
-%\include{summary}
-%\include{index}
-%\end{document}
-%\end{verbatim}
-%\end{quote}
-%
-% Package \xpackage{askinclude} adds an interactive user interface.
-% The user is asked which files he want to include and sets
-% \cs{includeonly} accordingly.
-%
-% The first time the package is used the question looks like:
-%\begin{quote}
-%\begin{verbatim}
-%***********************************
-%*** Package askinclude Question ***
-%***********************************
-%
-%Previous answer (noregexp):
-%     [*]
-%
-%Regular expressions:
-% --> [noregexp]  disabled
-%     [makematch] enabled, using package `makematch'
-%     [pdfmatch]  enabled, using pdfTeX's \pdfmatch
-%
-%Which files do you want to include?
-%     [foo,bar]   comma separated file or pattern list
-%     [*]         all files
-%     [-]         no files
-%     [?]         ask for each file
-%     []          use the previous answer
-%
-%\answer=chapter2,summary
-%\end{verbatim}
-%\end{quote}
-% Square brackets are used as quotation symbols,
-% they are not part of the answer.
-% The answer by the user follows in the last line after |\answer=|.
-% \begin{description}
-% \def\Item[#1]{\item[{[\texttt{#1}]:}]}
-% \Item[foo,bar]
-%   A comma separated file list (also one file only) is passed
-%   to macro \cs{includeonly} directly. If regular expression support
-%   is enabled, the entries in the list are interpreted as
-%   file name patterns that will be matched against the file names
-%   in \cs{include}, see \hyperref[sec:regexp]{section \ref*{sec:regexp}}.
-% \Item[*] This is a shortcut for specifying \emph{all} files.
-% \Item[-] This means \emph{none} of the files is included.
-% \Item[?] The switches in single asking mode.
-%   The user will be asked at each \cs{include}.
-%   See section \hyperref[sec:single]{section \ref*{sec:single}}.
-% \Item[] Just pressing return (empty string) uses the default
-%   answer, that was stored in the auxiliary file (\xfile{.aux})
-%   of the previous \LaTeX run with package \xpackage{askinclude}.
-%   Without previous runs the default is [|*|] for all files.
-% \Item[noregexp] Turns regular expression support off.
-% \Item[makematch] Enables regular expression support
-%   package \xpackage{makematch} provides.
-% \Item[pdfmatch] It is shown, if \pdfTeX~1.30 or later is used.
-%   It relies on an undocumented feature \cs{pdfmatch} that may
-%   change in future versions of \pdfTeX.
-% \end{description}
-% Package \xpackage{askinclude} remembers the files of \cs{include}
-% in the auxiliary file and the given answer. they are
-% presented at the next run
-% at the start of the question:
-%\begin{quote}
-%\begin{verbatim}
-%***********************************
-%*** Package askinclude Question ***
-%***********************************
-%
-%Files, found by previous run in \include:
-%     (-) title
-%     (-) introduction
-%     (-) chapter1
-%     (+) chapter2
-%     (-) chapter3
-%     (+) summary
-%
-%Previous answer (noregexp):
-%     [chapter2,summary]
-%...
-%\end{verbatim}
-%\end{quote}
-% |(+)| and |(-)| marks files that were and were not included in
-% the previous run. The file list and marks are not always correct.
-% For example, if \cs{include} statements are added or removed.
-% If the method of regular expression support is different,
-% then the marks only reflects the mode of the previous answer.
-%
-% \subsection{Single asking mode}
-% \label{sec:single}
-%
-% The special answer `|?|' trigger single asking mode,
-% at the next \cs{include} the user is asked again:
-%\begin{quote}
-%\begin{verbatim}
-%***********************************
-%*** Package askinclude Question ***
-%***********************************
-%
-%Include `title'? [y]es, [n]o, [A]ll, [N]one, [D]efault (n):
-%
-%\answer=
-%\end{verbatim}
-%\end{quote}
-% Use the letter inside the square brackets as answer.
-% An empty string uses the default answer, the letter in parentheses.
-% The answers are:
-% \begin{description}
-% \def\Item[#1]{\item[{[\texttt{#1}]:}]}
-% \Item[y] The file is included.
-% \Item[n] The file is excluded.
-% \Item[A] This file and all following files are included.
-% \Item[N] This file and all following files are excluded.
-% \Item[D] Use the default answer for this and all following files.
-% \end{description}
-% If the file is known from the previous run, then the
-% default is `|y|' or `|n|' corresponding to the mark
-% `|(+)|' or `|(-)|' in the list of previous files.
-% Otherwise `|y|' is used as default.
-%
-% \subsection{Regular expressions}
-% \label{sec:regexp}
-%
-% Three methods are available that can also set by package options:
-% \begin{description}
-% \def\Item[#1]{\item[\xoption{#1}:]}
-% \Item[noregexp] Regular expression support is disabled.
-% \Item[makematch] Use package \xpackage{makematch}.
-% \Item[pdfmatch] Use \pdfTeX's \cs{pdfmatch} if available.
-% \end{description}
-% Without options the value remembered in the auxiliary file
-% is used, otherwise the default is \xoption{noregexp}.
-%
-% \subsubsection{Method \xoption{makematch}}
-%
-% Package \xpackage{makematch} (part of \xpackage{qstest}), written
-% by David Kastrup provides pattern matching based on wildcards:
-% \begin{description}
-% \item[{[\texttt{*}]}:] The star matches zero or more characters.
-% Thus a lonely star machtes anything.
-% \item[{[\texttt{!}]}:] The exclamation mark at the begin of a
-% pattern negates it, thus the matching files are excluded.
-% \end{description}
-% The pattern list is evaluated for a file name from left to
-% right. Always a file name must match the whole pattern.
-% The file is included if it is matched by a pattern and
-% not excluded afterwards. Examples:
-% \begin{quote}
-% \def\no{\textrm{$\emptyset$}}
-% \begin{tabular}{>{\ttfamily}l|>{\ttfamily}l|>{\ttfamily}l}
-% \textrm{Pattern list} & \textrm{File names} & \textrm{Result}\\
-% \hline
-% foobar & foobar,dummy & foobar\\
-% foo*  & foobar,xfoobar & foobar\\
-% \relax *foo* & xfoobar & xfoobar\\
-% f*b*r & foobar  & foobar\\
-% \relax *     & any     & any\\
-% !foobar & foobar,other & other\\
-% !foo*   & xfoobar & xfoobar\\
-% in*,!*dex & intro,index & intro\\
-% !index,in* & intro,index & intro,index\\
-% \relax *,!chap2 & chap1,chap2,chap3 & chap1,chap3\\
-% \end{tabular}
-% \end{quote}
-% The example in the last line shows, how the behaviour of package
-% \xpackage{excludeonly} \cite{excludeonly} can be simulated.
-%
-% The documentation of package \xpackage{makematch} tells the
-% the empty pattern does not match anything. But if you answer
-% the question with an empty string the answer of the previous
-% run is used. Also curly braces are not reliable because the
-% can get stripped during the processing of the answer.
-% Using a pair of empty curly braces or the comma for two empty
-% patterns currently works, but this is specific for the current
-% implementation and may change in future. But the special
-% answer `-' is available.
-%
-% \subsubsection{Method \xoption{pdfmatch}}
-%
-% In \pdfTeX\ 1.30 the new primitive \cs{pdfmatch} was introduced.
-% It is not documented yet, because it was not decided if it remains
-% and which implementation of regular expressions should be used.
-% Thus the situation may change in later versions of \pdfTeX.
-% Currently (1.30 until 1.40) it uses a library for POSIX 1003.2 regular
-% expressions, see manual page ``regex(7)''.
-%
-% If a pattern in the pattern list is invalid, the package prints
-% a warning and removes the pattern from the list. Actually there
-% are two warnings, the other warning is generated by \pdfTeX\ itself.
-%
-% In opposite to \xoption{makematch} the pattern only needs to
-% match the specified part of the file name.
-% For matching the whole name, the symbols `|^|' and `|$|' for
-% begin and end of string must be included.
-%
-% Additionally an initial exclamation mark `|!|' implements the
-% same logic as method \xoption{makematch}. The match result is
-% inverted, the matched file excluded.
-%
-% Examples:
-% \begin{quote}
-% \def\no{\textrm{$\emptyset$}}
-% \begin{tabular}{>{\ttfamily}l|>{\ttfamily}l|>{\ttfamily}l}
-% \textrm{Pattern list} & \textrm{File names} & \textrm{Result}\\
-% \hline
-% foobar & foobar,dummy & foobar\\
-% foo.*  & foobar,xfoobar & foobar,xfoobar\\
-% |^|foo.* & foobar,xfoobar & foobar\\
-% foo|$| & foo,foobar & foo\\
-% fo?bar & fbar,fobar,foobar  & fbar,fobar\\
-% fo+bar & fbar,fobar,foobar  & fobar,foobar\\
-% fo*bar & fbar,fobar,foobar & fbar,fobar,foobar\\
-% chap3 & chap3,chap32 & chap1,chap3,chap32\\
-% chap[13] & chap1,chap2,chap3 & chap1,chap3\\
-% chap(1\string|3)|$| & chap1,chap3,chap33 & chap1,chap3\\
-% .*     & any     & any\\
-% !foobar & foobar,other & other\\
-% in.*,!dex & intro,index & intro\\
-% !index,in.* & intro,index & intro,index\\
-% .*,!chap2 & chap1,chap2,chap3 & chap1,chap3\\
-% .*,!bla & foo,bla,blabla & foo\\
-% .*,!|^|bla|$| & foo,bla,blabla & foo,blabla\\
-% \end{tabular}
-% \end{quote}
-% The example in the last line shows, how the behaviour of package
-% \xpackage{excludeonly} \cite{excludeonly} can be simulated.
-% As the third last line shows, that sometimes `|^|' and `|$|' can
-% be omitted, but this will not work always, shown in the second
-% last line.
-%
-% \subsection{History}
-%
-% Package \xpackage{askinclude} was invented by Pablo A. Straub in 1991
-% and maintained until 1994.
-% ^^A Email address: pablo.straub \symbol{64} gmail.com
-%
-% In October 2007 it was removed from ``TeX Live'' because of
-% the no-commercial license \cite{texlive}. Herbert Vo\ss\ initiated
-% a search for the author in the newsgroup \xnewsgroup{comp.text.tex}
-% \cite{newsthread} to ask him to change the license.
-%
-% It seems that the author could not be reached any more.
-% Joseph Wright suggested a reimplementation that I (HO) have done
-% as package \xpackage{askinc}. Soon it was enhanced by
-% feature requests.
-%
-% Then Ulrike Fischer found email addresses of the original author
-% and Jim Hefferon succeeded in contacting him. He allowed a change
-% of the license to LPPL and the transfer of the maintainership
-% to someone else.
-%
-% Thus I merged both packages as \xpackage{askinclude} in a new
-% major version 2. The license is LPPL.
-%
-% \subsection{New features of version 2}
-%
-% \begin{itemize}
-% \item License is now LPPL.
-% \item A list of \cs{include} files that are detected by the previous
-%   run is printed before the question.
-% \item If the special answer `|?|' is given, then the user is
-%   asked at each \cs{include}.
-% \item Support for regular expressions.
-% \item The remaining stuff in the \xfile{.aux} file does not
-%   cause errors, if the package is removed.
-% \item The use of \cs{includeonly} before the package loading time
-%   is detected and respected by taking precedence. After the package
-%   is loaded, \cs{includeonly} is disabled and prints a warning.
-% \end{itemize}
-%
-% \subsection{Compatibility to version 1}
-%
-% \begin{itemize}
-% \item The user interface of version 1 with its special answers
-%   `|*|', `|-|', and `' remain unchanged, but it is extended by
-%   version 2 with the special answer `|?|' and support for
-%   regular expressions can be enabled.
-% \item As reimplementation the internal macros have changed of course.
-% \item \xfile{.aux} files that are written by version 1.x will work
-%   with version 2.x because \cs{@includeonly} is recognized.
-% \item \LaTeX\ 2.09: The package works as \cs{documentstyle} option
-%   in compatibility mode of \LaTeXe. It is possible that it
-%   will not work in pure \LaTeX\ 2.09.
-% \end{itemize}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Header and catcodes}
-%
-%    \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname AskInc at 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 at EnsureCode#1#2{%
-  \edef\AskInc at AtEnd{%
-    \AskInc at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{63}{12}% ?
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\edef\AskInc at AtEnd{\AskInc at AtEnd\noexpand\endinput}
-\ProvidesPackage{askinclude}%
-  [2018/11/01 v2.4 Interactive asking of included files]%
-%    \end{macrocode}
-%
-% Luatex compat
-%    \begin{macrocode}
-\ifx\pdfextension\@undefined\else
-    \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
-    \protected\def\pdfnames   {\pdfextension names }
-    \protected\def\pdfobj     {\pdfextension obj }
-    \let\pdfoutput            \outputmode
-\fi
-%    \end{macrocode}
-%
-% \subsection{Delay action after preamble}
-%
-%    \begin{macro}{\AskInc at AtBeginDocument}
-%    Some actions such as \xfile{.aux} file writing cannot be
-%    performed in the preamble. \cs{AtBeginDocument} delays
-%    such action until |\begin{document}|. However \cs{AtBeginDocument}
-%    must not be used after that time (\cs{@onlypreamble}).
-%    Thus \cs{AskInc at AtBeginDocument} uses \cs{AtBeginDocument}
-%    in the preamble and afterwards executes the code immediately.
-%    \begin{macrocode}
-\AtBeginDocument{%
-  \let\AskInc at AtBeginDocument\@firstofone
-}
-\providecommand*{\AskInc at AtBeginDocument}{\AtBeginDocument}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Write entry in \xfile{.aux} file}
-%
-%    \begin{macro}{\AskInc at WriteAux}
-%    The first argument is written to the main \xfile{.aux} file
-%    and the second argument is executed if writing was possible.
-%    Remember \cs{nofiles} prevents writing to auxiliary files.
-%    \begin{macrocode}
-\def\AskInc at WriteAux#1#2{%
-  \AskInc at AtBeginDocument{%
-    \if at filesw
-      \immediate\write\@mainaux{#1}%
-      #2%
-    \fi
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Remember \cs{include} files}
-%
-%    \begin{macro}{\AskInc at CharHash}
-%    \begin{macrocode}
-\edef\AskInc at CharHash{\string#}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\AskInc at WriteDefAddList}
-%    \begin{macrocode}
-\def\AskInc at WriteDefAddList{%
-  \AskInc at WriteAux{%
-%    \end{macrocode}
-%    \begin{macro}{\AskInc at AddList}
-%    \begin{macrocode}
-    \string\providecommand*\string\AskInc at AddList[2]{%
-      \string\ifcase\string\ifx\AskInc at CharHash1\string\@undefined
-                    \string\else
-                      \string\ifx\AskInc at CharHash1\string\relax
-                      \string\else
-                        \string\ifx\AskInc at CharHash1\string\@empty
-                        \string\else
-                          1%
-                        \string\fi
-                      \string\fi
-                    \string\fi
-                    0 %
-        \string\gdef\AskInc at CharHash1{\AskInc at CharHash2}%
-      \string\else
-        \string\g at addto@macro\AskInc at CharHash1{,\AskInc at CharHash2}%
-      \string\fi
-    }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  }{%
-    \global\let\AskInc at WriteDefAddList\relax
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at WriteDefAddFile}
-%    \begin{macrocode}
-\def\AskInc at WriteDefAddFile{%
-  \AskInc at WriteDefAddList
-  \AskInc at WriteAux{%
-%    \end{macrocode}
-%    \begin{macro}{\AskInc at AddFile}
-%    \begin{macrocode}
-    \string\providecommand\string\AskInc at AddFile{%
-      \string\AskInc at AddList\string\AskInc at Files
-    }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  }{%
-    \global\let\AskInc at WriteDefAddFile\relax
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at AddFile}
-%    \begin{macrocode}
-\AtBeginDocument{%
-  \global\let\AskInc at AddFile\@gobble
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at WriteAddFile}
-%    \begin{macrocode}
-\def\AskInc at WriteAddFile#1{%
-  \AskInc at WriteDefAddFile
-  \AskInc at WriteAux{%
-    \string\AskInc at AddFile{#1}%
-  }{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at Files}
-%    \begin{macrocode}
-\providecommand*{\AskInc at Files}{}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \paragraph{Summary:}
-%    Now \cs{AskInc at Files} is always defined
-%    and either empty or contains a comma separated list of
-%    \cs{include} files of previous run.
-%
-%    The \cs{include} files are remembered by using
-%    \cs{AskInc at WriteAddFile} at each \cs{include}.
-%
-% \subsection{Redefine \cs{include}}
-%
-%    \begin{macro}{\AskInc at OrgInclude}
-%    \begin{macrocode}
-\newcommand{\AskInc at OrgInclude}{}
-\let\AskInc at OrgInclude\include
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at AskFile}
-%    \begin{macrocode}
-\let\AskInc at AskFile\@gobble
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at MatchFile}
-%    \begin{macrocode}
-\let\AskInc at MatchFile\@gobble
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\include}
-%    \begin{macrocode}
-\renewcommand*{\include}[1]{%
-  \AskInc at WriteAddFile{#1}%
-  \AskInc at AskFile{#1}%
-  \AskInc at MatchFile{#1}%
-  \AskInc at OrgInclude{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Store answer and match method in \xfile{.aux} file}
-%
-%    \begin{macrocode}
-\AtEndOfPackage{%
-  \AtBeginDocument{%
-    \@ifundefined{AskInc at Answer}{}{%
-      \AskInc at WriteAux{%
-        \string\gdef\string\AskInc at Answer{\AskInc at Answer}%
-      }{}%
-    }%
-    \@ifundefined{AskInc at MatchMethod}{}{%
-      \AskInc at WriteAux{%
-        \string\gdef\string\AskInc at MatchMethod{\AskInc at MatchMethod}%
-      }{}%
-    }%
-  }%
-}
-%    \end{macrocode}
-%
-% \subsection{Support for \cs{@includeonly}}
-%
-%    \begin{macro}{\@includeonly}
-%    Macro \cs{@includeonly} is defined for compatiblity reasons only,
-%    if the \xfile{.aux} file was written by versions before 2 of package
-%    \xpackage{askinclude}.
-%    \begin{macrocode}
-\providecommand*{\@includeonly}[1]{%
-  \gdef\AskInc at Answer{#1}%
-  \ifx\AskInc at Answer\@empty
-    \gdef\AskInc at Answer{-}%
-  \fi
-  \global\let\AskInc at MatchMethod\@empty
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Stop if \cs{includeonly} is active}
-%
-%    If \cs{includeonly} is used before, the questions are skipped
-%    and the data in the main auxiliary file is preserved.
-%    \begin{macrocode}
-\if at partsw
-  \PackageWarningNoLine{askinclude}{%
-    Previous \string\includeonly\space detected,\MessageBreak
-    therefore asking for files is suppressed%
-  }%
-%    \end{macrocode}
-%    Dummy options.
-%    \begin{macrocode}
-  \DeclareOption{makematch}{}%
-  \DeclareOption{pdfmatch}{}%
-  \DeclareOption{noregexp}{}%
-  \ProcessOptions*%
-%    \end{macrocode}
-%    Preserve \cs{AskInc at MatchFiles}.
-%    \begin{macrocode}
-  \@ifundefined{AskInc at MatchFiles}{%
-  }{%
-    \ifx\AskInc at MatchMethod\@empty
-    \else
-      \AskInc at WriteAux{%
-        \string\gdef\string\AskInc at MatchFiles{\AskInc at MatchFiles}%
-      }{}%
-    \fi
-  }%
-  \expandafter\AskInc at AtEnd
-\fi%
-%    \end{macrocode}
-%
-% \subsection{\cs{includeonly}}
-%
-%    \begin{macro}{\AskInc at OrgIncludeOnly}
-%    \begin{macrocode}
-\newcommand{\AskInc at OrgIncludeOnly}{}%
-\let\AskInc at OrgIncludeOnly\includeonly
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\includeonly}
-%    \begin{macrocode}
-\renewcommand*{\includeonly}[1]{%
-  \PackageWarning{askinclude}{%
-    \string\includeonly\space is managed by package `askinclude',%
-    \MessageBreak
-    therefore it is ignored%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Options}
-%
-%    \begin{macro}{\AskInc at StringNoRegExp}
-%    \begin{macrocode}
-\def\AskInc at StringNoRegExp{noregexp}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at StringMakeMatch}
-%    \begin{macrocode}
-\def\AskInc at StringMakeMatch{makematch}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at StringPdfMatch}
-%    \begin{macrocode}
-\def\AskInc at StringPdfMatch{pdfmatch}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifAskInc at PdfMatchAvailable}
-%    \begin{macrocode}
-\newif\ifAskInc at PdfMatchAvailable
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfmatch\endcsname\relax
-\else
-  \AskInc at PdfMatchAvailabletrue
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\DeclareOption{makematch}{%
-  \let\AskInc at MatchOption\AskInc at StringMakeMatch
-}
-\ifAskInc at PdfMatchAvailable
-  \DeclareOption{pdfmatch}{%
-    \let\AskInc at MatchOption\AskInc at StringPdfMatch
-  }%
-\else
-  \DeclareOption{pdfmatch}{%
-    \PackageWarningNoLine{askinclude}{%
-      Option `pdfmatch' is not available because\MessageBreak
-      your pdfTeX does not provide \string\pdfmatch
-    }%
-  }%
-\fi
-\DeclareOption{noregexp}{%
-  \let\AskInc at MatchOption\@empty
-}
-\ProcessOptions*
-%    \end{macrocode}
-%
-% \subsection{Strings}
-%
-%    \begin{macro}{\AskInc at CharAsterisk}
-%    \begin{macrocode}
-\def\AskInc at CharAsterisk{*}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharMinus}
-%    \begin{macrocode}
-\def\AskInc at CharMinus{-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharPlus}
-%    \begin{macrocode}
-\def\AskInc at CharPlus{+}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharQuestion}
-%    \begin{macrocode}
-\def\AskInc at CharQuestion{?}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharExclam}
-%    \begin{macrocode}
-\def\AskInc at CharExclam{!}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharYes}
-%    \begin{macrocode}
-\def\AskInc at CharYes{y}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharNo}
-%    \begin{macrocode}
-\def\AskInc at CharNo{n}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharAll}
-%    \begin{macrocode}
-\def\AskInc at CharAll{A}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharNone}
-%    \begin{macrocode}
-\def\AskInc at CharNone{N}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CharDefault}
-%    \begin{macrocode}
-\def\AskInc at CharDefault{D}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Set defaults}
-%
-%    \begin{macro}{\AskInc at SanitizeAnswer}
-%    \begin{macrocode}
-\def\AskInc at SanitizeAnswer#1#2{%
-  \begingroup
-    \escapechar=`\\%
-    \edef\[{\string\[}%
-    \edef\]{\string\]}%
-    \edef\({\string\(}%
-    \edef\){\string\)}%
-    \edef\*{\string\*}%
-    \edef\+{\string\+}%
-    \edef\?{\string\?}%
-    \edef\|{\string\|}%
-    \edef\^{\string\^}%
-    \edef\${\string\$}%
-    \edef\{{\string\{}%
-    \edef\}{\string\}}%
-    \edef\.{\string\.}%
-    \xdef#1{%
-      \expandafter\expandafter\expandafter\zap at space
-      \expandafter#2\space\@empty
-    }%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\AtBeginDocument{%
-  \@ifundefined{AskInc at Answer}{%
-    \global\let\AskInc at Answer\AskInc at CharAsterisk
-  }{%
-    \AskInc at SanitizeAnswer\AskInc at Answer\AskInc at Answer
-  }%
-  \global\let\AskInc at PreviousAnswer\AskInc at Answer
-  \@ifundefined{AskInc at MatchMethod}{%
-    \global\let\AskInc at MatchMethod\@empty
-  }{}%
-  \global\let\AskInc at PreviousMatchMethod\AskInc at MatchMethod
-  \@ifundefined{AskInc at MatchOption}{%
-    \let\AskInc at MatchOption\AskInc at MatchMethod
-  }{}%
-  \ifx\AskInc at MatchOption\AskInc at StringPdfMatch
-    \ifAskInc at PdfMatchAvailable
-    \else
-      \let\AskInc at MatchOption\@empty
-    \fi
-  \fi
-  \@ifundefined{AskInc at MatchFiles}{%
-    \let\AskInc at MatchFiles\@empty
-  }{}%
-}
-%    \end{macrocode}
-%
-% \subsection{Questions}
-%
-% \subsubsection{Generic question header}
-%
-%    \begin{macro}{\AskInc at QuestionHeader}
-%    \begin{macrocode}
-\def\AskInc at QuestionHeader{%
-  \typeout{}%
-  \typeout{***********************************}%
-  \typeout{*** Package askinclude Question ***}%
-  \typeout{***********************************}%
-  \typeout{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Display files}
-%
-%    \begin{macro}{\AskInc at TypeoutFiles}
-%    \begin{macrocode}
-\def\AskInc at TypeoutFiles{%
-  \global\let\AskInc at PreviousMatches\@empty
-  \ifx\AskInc at Files\@empty
-  \else
-    \typeout{Files, found by previous run in \string\include:}%
-    \@for\AskInc at File:=\AskInc at Files\do{%
-      \ifx\AskInc at Answer\AskInc at CharAsterisk
-        \let\AskInc at Mark\AskInc at CharPlus
-      \else
-        \let\AskInc at Mark\AskInc at CharMinus
-        \ifx\AskInc at Answer\AskInc at CharMinus
-        \else
-          \ifx\AskInc at MatchMethod\@empty
-            \expandafter\@firstoftwo
-          \else
-            \expandafter\@secondoftwo
-          \fi
-          {\@for\AskInc at Temp:=\AskInc at Answer}%
-          {\@for\AskInc at Temp:=\AskInc at MatchFiles}%
-          \do{%
-            \ifx\AskInc at File\AskInc at Temp
-              \let\AskInc at Mark\AskInc at CharPlus
-            \fi
-          }%
-        \fi
-      \fi
-      \typeout{ \@spaces(\AskInc at Mark) \AskInc at File}%
-      \ifx\AskInc at Mark\AskInc at CharPlus
-        \ifx\AskInc at PreviousMatches\@empty
-          \global\let\AskInc at PreviousMatches\AskInc at File
-        \else
-          \expandafter\g at addto@macro
-          \expandafter\AskInc at PreviousMatches{%
-            \expandafter,\AskInc at File
-          }%
-        \fi
-      \fi
-    }%
-    \typeout{}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Previous answer}
-%
-%    \begin{macro}{\AskInc at TypeoutPreviousAnswer}
-%    \begin{macrocode}
-\def\AskInc at TypeoutPreviousAnswer{%
-  \typeout{%
-    Previous answer (%
-    \ifx\AskInc at MatchMethod\@empty
-      noregexp%
-    \else
-      \AskInc at MatchMethod
-    \fi
-    ):%
-  }%
-  \typeout{ \@spaces[\AskInc at Answer]}%
-  \typeout{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Current regular expression support}
-%
-%    \begin{macro}{\AskInc at TypeoutMatchMethod}
-%    \begin{macrocode}
-\def\AskInc at TypeoutMatchMethod{%
-  \typeout{Regular expressions:}%
-  \AskInc at TypeoutMethod\@empty{noregexp}{%
-    \space disabled%
-  }%
-  \AskInc at TypeoutMethod\AskInc at StringMakeMatch{makematch}{%
-    enabled, using package `makematch'%
-  }%
-  \ifAskInc at PdfMatchAvailable
-    \AskInc at TypeoutMethod\AskInc at StringPdfMatch{pdfmatch}{%
-      \space enabled, using pdfTeX's \string\pdfmatch
-    }%
-  \fi
-  \typeout{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at TypeoutMethod}
-%    \begin{macrocode}
-\def\AskInc at TypeoutMethod#1#2#3{%
-  \typeout{%
-    \ifx#1\AskInc at MatchOption \space--> \else\@spaces\space\fi
-    [#2] #3% hash-ok
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Main question text}
-%
-%    \begin{macro}{\AskInc at TypeoutMainQuestion}
-%    \begin{macrocode}
-\def\AskInc at TypeoutMainQuestion{%
-  \typeout{Which files do you want to include?}%
-  \typeout{ \@spaces[foo,bar] \space\space
-      comma separated file or pattern list}%
-  \typeout{ \@spaces[*] \@spaces\@spaces all files}%
-  \typeout{ \@spaces[-] \@spaces\@spaces no files}%
-  \typeout{ \@spaces[?] \@spaces\@spaces ask for each file}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Main question}
-%
-%    \begin{macro}{\AskInc at MainQuestion}
-%    \begin{macrocode}
-\def\AskInc at MainQuestion{%
-  \AskInc at QuestionHeader
-  \AskInc at TypeoutFiles
-  \AskInc at TypeoutPreviousAnswer
-  \AskInc at TypeoutMatchMethod
-  \AskInc at TypeoutMainQuestion
-  \begingroup
-    \@makeother\*%
-    \@makeother\-%
-    \@makeother\?%
-    \@makeother\,%
-    \@makeother\!%
-    \@makeother\^%
-    \@makeother\$%
-    \@makeother\(%
-    \@makeother\)%
-    \@makeother\+%
-    \@makeother\[%
-    \@makeother\]%
-    \@makeother\\%
-    \@makeother\|%
-    \@makeother\:%
-    \@makeother\.%
-    \typein[\answer]%
-        { \@spaces[] \space\@spaces\@spaces use the previous answer}%
-    \typeout{}%
-    \AskInc at SanitizeAnswer\AskInc@@Answer\answer
-  \endgroup
-  \let\AskInc at Next\AskInc at MainQuestion
-  \ifx\AskInc@@Answer\AskInc at StringNoRegExp
-    \let\AskInc at MatchOption\@empty
-  \else
-    \ifx\AskInc@@Answer\AskInc at StringMakeMatch
-      \let\AskInc at MatchOption\AskInc at StringMakeMatch
-    \else
-      \ifx\AskInc@@Answer\AskInc at StringPdfMatch
-        \ifAskInc at PdfMatchAvailable
-          \let\AskInc at MatchOption\AskInc at StringPdfMatch
-        \else
-          \PackageWarning{askinclude}{%
-            Method `pdfmatch' is not available because\MessageBreak
-            your pdfTeX does not provide \string\pdfmatch
-          }%
-          \let\AskInc at MatchOption\@empty
-        \fi
-      \else
-        \ifx\AskInc@@Answer\@empty
-          \global\let\AskInc@@Answer\AskInc at Answer
-        \fi
-        \let\AskInc at Next\AskInc at MainAnswer
-      \fi
-    \fi
-  \fi
-  \AskInc at Next
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Evaluate answer of main question}
-%
-%    \begin{macro}{\AskInc at MainAnswer}
-%    \begin{macrocode}
-\def\AskInc at MainAnswer{%
-  \ifx\AskInc@@Answer\AskInc at CharQuestion
-    \global\let\AskInc at Answer\@empty
-    \global\let\AskInc at MatchMethod\@empty
-    \global\let\AskInc at AskFile\AskInc at DoAskFile
-    \AskInc at OrgIncludeOnly{}%
-  \else
-    \global\let\AskInc at Answer\AskInc@@Answer
-    \ifx\AskInc@@Answer\AskInc at CharAsterisk
-      \global\let\AskInc at MatchMethod\@empty
-    \else
-      \ifx\AskInc@@Answer\AskInc at CharMinus
-        \global\let\AskInc at MatchMethod\@empty
-        \AskInc at OrgIncludeOnly{}%
-      \else
-        \global\let\AskInc at MatchMethod\AskInc at MatchOption
-        \ifx\AskInc at MatchOption\@empty
-          \expandafter\AskInc at OrgIncludeOnly\expandafter{%
-            \AskInc at Answer
-          }%
-        \else
-          \AskInc at MatchInit
-          \AskInc at OrgIncludeOnly{}%
-        \fi
-      \fi
-    \fi
-  \fi
-  \let\AskInc at Include\AskInc at DoInclude
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\AskInc at MatchInit}
-%    \begin{macrocode}
-\def\AskInc at MatchInit{%
-  \RequirePackage{kvsetkeys}[2007/09/29]%
-  \expandafter\comma at normalize\expandafter{\AskInc at Answer}%
-  \global\let\AskInc at MatchList\comma at list
-%    \end{macrocode}
-%    \begin{macro}{\AskInc at MatchFile}
-%    \begin{macrocode}
-  \def\AskInc at MatchFile##1{%
-    \AskInc at DoMatch{##1}{%
-      \AskInc at WriteAddMatch{##1}%
-      \ifx\@partlist\@empty
-        \gdef\@partlist{##1}%
-      \else
-        \g at addto@macro\@partlist{,##1}%
-      \fi
-    }%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  \ifx\AskInc at MatchMethod\AskInc at StringMakeMatch
-    \AskInc at MakeMatchInit
-  \else
-    \AskInc at PdfMatchInit
-  \fi
-  \let\AskInc at MatchInit\@undefined
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at MakeMatchInit}
-%    \begin{macrocode}
-\def\AskInc at MakeMatchInit{%
-  \RequirePackage{makematch}%
-%    \end{macrocode}
-%    \begin{macro}{\AskInc at DoMatch}
-%    \begin{macrocode}
-  \def\AskInc at DoMatch##1{%
-    \def\AskInc at Temp{%
-      \MakeMatcher[,]\AskInc at Temp
-    }%
-    \expandafter\AskInc at Temp\expandafter{\AskInc at MatchList}%
-    \AskInc at Temp{{##1}}\@firstofone\@gobble
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  \let\AskInc at MakeMatchInit\@undefined
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at PdfMatchInit}
-%    \begin{macrocode}
-\def\AskInc at PdfMatchInit{%
-%    \end{macrocode}
-%    \begin{macro}{\ifAskInc at Found}
-%    \begin{macrocode}
-  \newif\ifAskInc at Found
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at DoMatch}
-%    \begin{macrocode}
-  \def\AskInc at DoMatch##1{%
-    \AskInc at Foundfalse
-    \expandafter\comma at parse@normalized\expandafter
-    {\AskInc at MatchList}{\AskInc at CheckMatch{##1}}%
-    \ifAskInc at Found
-      \expandafter\@firstofone
-    \else
-      \expandafter\@gobble
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at CheckMatch}
-%    \begin{macrocode}
-  \def\AskInc at CheckMatch##1##2{%
-    \AskInc@@CheckMatch##2\@empty\@nil{##1}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc@@CheckMatch}
-%    \begin{macrocode}
-  \def\AskInc@@CheckMatch##1##2\@nil##3{%
-    \def\AskInc at Temp{##1}%
-    \ifx\AskInc at Temp\AskInc at CharExclam
-      \ifcase\pdfmatch{##2}{##3}=1 %
-      \or
-        \AskInc at Foundfalse
-      \else
-        \AskInc at InvalidPattern{##2}{##1##2}%
-      \fi
-    \else
-      \ifcase\pdfmatch{##1##2}{##3} %
-      \or
-        \AskInc at Foundtrue
-      \else
-        \AskInc at InvalidPattern{##1##2}{##1##2}%
-      \fi
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at InvalidPattern}
-%    Prints a warning with the regular expression and
-%    removes it from the list to prevent further warnings
-%    for the same expression.
-%    \begin{macrocode}
-  \def\AskInc at InvalidPattern##1##2{%
-    \edef\AskInc at Temp{##1}%
-    \PackageWarningNoLine{askinclude}{%
-      Invalid pattern `\AskInc at Temp' for \string\pdfmatch
-    }%
-    \edef\AskInc at Temp{##2}%
-    \global\expandafter\let\expandafter\AskInc at MatchList
-    \expandafter\@empty
-    \expandafter\comma at parse@normalized\expandafter
-    {\AskInc at MatchList}\AskInc at FilterPattern
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at FilterPattern}
-%    \begin{macrocode}
-  \def\AskInc at FilterPattern##1{%
-    \edef\AskInc at Pattern{##1}%
-    \ifx\AskInc at Temp\AskInc at Pattern
-    \else
-      \ifx\AskInc at MatchList\@empty
-        \global\let\AskInc at MatchList\AskInc at Pattern
-      \else
-        \expandafter\g at addto@macro\expandafter\AskInc at MatchList{%
-          \expandafter,\AskInc at Pattern
-        }%
-      \fi
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  \let\AskInc at PdfMatchInit\@undefined
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\AskInc at WriteDefAddMatch}
-%    \begin{macrocode}
-\def\AskInc at WriteDefAddMatch{%
-  \AskInc at WriteDefAddList
-  \AskInc at WriteAux{%
-%    \end{macrocode}
-%    \begin{macro}{\AskInc at AddMatch}
-%    \begin{macrocode}
-    \string\providecommand\string\AskInc at AddMatch{%
-      \string\AskInc at AddList\string\AskInc at MatchFiles
-    }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  }{%
-    \global\let\AskInc at WriteDefAddMatch\relax
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at AddMatch}
-%    \begin{macrocode}
-\AtBeginDocument{%
-  \global\let\AskInc at AddMatch\@gobble
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at WriteAddMatch}
-%    \begin{macrocode}
-\def\AskInc at WriteAddMatch#1{%
-  \AskInc at WriteDefAddMatch
-  \AskInc at WriteAux{%
-    \string\AskInc at AddMatch{#1}%
-  }{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\AskInc at SaveAnswer}
-%    \begin{macrocode}
-\def\AskInc at SaveAnswer{%
-  \AskInc at WriteAux{%
-      \string\gdef\string\AskInc at Answer{\AskInc at Answer}%
-  }{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Ask for each file}
-%
-%    \begin{macro}{\AskInc at PreviousAnswer}
-%    \begin{macrocode}
-\@ifundefined{AskInc at PreviousAnswer}{%
-  \let\AskInc at PreviousAnswer\AskInc at CharAsterisk
-}{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at PreviousMatchMethod}
-%    \begin{macrocode}
-\@ifundefined{AskInc at PreviousMatchMethod}{%
-  \let\AskInc at PreviousMatchMethod\@empty
-}{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at DoAskFile}
-%    \begin{macrocode}
-\def\AskInc at DoAskFile#1{%
-  \edef\AskInc at File{#1}%
-  \ifx\AskInc at PreviousAnswer\AskInc at CharAsterisk
-    \let\AskInc at Default\AskInc at CharYes
-  \else
-    \let\AskInc at Default\AskInc at CharNo
-    \ifx\AskInc at PreviousAnswer\AskInc at CharMinus
-    \else
-      \ifx\AskInc at PreviousMatchMethod\@empty
-        \expandafter\@firstoftwo
-      \else
-        \expandafter\@secondoftwo
-      \fi
-      {\@for\AskInc at Temp:=\AskInc at PreviousAnswer}%
-      {\@for\AskInc at Temp:=\AskInc at MatchFiles}%
-      \do{%
-        \ifx\AskInc at Temp\AskInc at File
-          \let\AskInc at Default\AskInc at CharYes
-        \fi
-      }%
-    \fi
-    \ifx\AskInc at Default\AskInc at CharNo
-      \let\AskInc at Default\AskInc at CharYes
-      \@for\AskInc at Temp:=\AskInc at Files\do{%
-        \ifx\AskInc at Temp\AskInc at File
-          \let\AskInc at Default\AskInc at CharNo
-        \fi
-      }%
-    \fi
-  \fi
-  \let\AskInc@@QuestionHeader\AskInc at QuestionHeader
-  \AskInc at AskQuestion
-  \ifx\AskInc at AskResult\AskInc at CharYes
-    \ifx\AskInc at Answer\@empty
-      \gdef\AskInc at Answer{#1}%
-    \else
-      \g at addto@macro\AskInc at Answer{,#1}%
-    \fi
-    \AskInc at SaveAnswer
-    \let\@partlist\AskInc at Answer
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AskInc at AskQuestion}
-%    \begin{macrocode}
-\def\AskInc at AskQuestion{%
-  \let\AskInc at Temp\answer
-  \AskInc@@QuestionHeader
-  \let\AskInc@@QuestionHeader\relax
-  \typein[\answer]{%
-    Include `\AskInc at File'? [y]es, [n]o, [A]ll, [N]one, [D]efault %
-    (\AskInc at Default):%
-  }%
-  \typeout{}%
-  \let\AskInc at AskResult\answer
-  \let\answer\AskInc at Temp
-  \ifx\AskInc at AskResult\@empty
-    \let\AskInc at AskResult\AskInc at Default
-    \let\AskInc at Next\relax
-  \else
-    \ifx\AskInc at AskResult\AskInc at CharYes
-      \let\AskInc at Next\relax
-    \else
-      \ifx\AskInc at AskResult\AskInc at CharNo
-        \let\AskInc at Next\relax
-      \else
-        \ifx\AskInc at AskResult\AskInc at CharAll
-          \gdef\AskInc at AskQuestion{%
-            \let\AskInc at AskResult\AskInc at CharYes
-          }%
-        \else
-          \ifx\AskInc at AskResult\AskInc at CharNone
-            \gdef\AskInc at AskQuestion{%
-              \let\AskInc at AskResult\AskInc at CharNo
-            }%
-          \else
-            \ifx\AskInc at AskResult\AskInc at CharDefault
-              \gdef\AskInc at AskQuestion{%
-                \let\AskInc at AskResult\AskInc at Default
-              }%
-            \else
-              \PackageWarningNoLine{askinclude}{%
-                Invalid answer [\AskInc at AskResult].\MessageBreak
-                Answer must be one letter out of [ynAND]%
-              }%
-            \fi
-          \fi
-        \fi
-        \let\AskInc at Next\AskInc at AskQuestion
-      \fi
-    \fi
-  \fi
-  \AskInc at Next
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\AtBeginDocument{\AskInc at MainQuestion}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\AskInc at AtEnd%
-%</package>
-%    \end{macrocode}
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{askinclude}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/askinclude.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/askinclude.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 askinclude.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@{}}
-%   askinclude.sty & tex/latex/oberdiek/askinclude.sty\\
-%   askinclude.pdf & doc/latex/oberdiek/askinclude.pdf\\
-%   askinclude.dtx & source/latex/oberdiek/askinclude.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{askinclude.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 askinclude.dtx
-%bibtex askinclude.aux
-%makeindex -s gind.ist askinclude.idx
-%pdflatex askinclude.dtx
-%makeindex -s gind.ist askinclude.idx
-%pdflatex askinclude.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \section{Acknowledgement}
-%
-% \begin{description}
-% \item[Tom Scavo]
-%   suggested saving the include file list
-%   from the previous run and a simplified user interface.
-% \item[Joseph Wright] suggested questions for each \cs{include}.
-% \end{description}
-%
-% \printbibliography[
-%   heading=bibnumbered,
-% ]
-%
-% \begin{History}
-
-%   \begin{Version}{1991/11/05 v0.95}
-%   \item
-%     First beta-test version (asked two questions).
-%   \end{Version}
-%   \begin{Version}{1991/11/05 v0.99}
-%   \item
-%     Second beta-test version (asks one question; uses `|*|' and `|-|').
-%   \end{Version}
-%   \begin{Version}{1991/11/07 v1.0}
-%   \item
-%     Changed prompts (sent to \xnewsgroup{comp.text.tex}):
-%     \URL{``\link{Interactive inclusion of files in LaTeX}''}^^A
-%     {https://groups.google.com/group/comp.text.tex/msg/34b770a7c277e79c}
-%   \end{Version}
-%   \begin{Version}{1991/12/13 v1.1}
-%   \item
-%     \textit{Unknown}.
-%   \end{Version}
-%   \begin{Version}{1994/11/02 v1.2e}
-%   \item
-%     Two small changes to run under LaTeX2e [RF].
-%   \item
-%     Additional documentation [TRS].
-%   \end{Version}
-%   \begin{Version}{2007/10/15 v1.0 (askinc)}
-%   \item
-%     Reimplementation, published as \xpackage{askinc} in
-%     newsgroup \xnewsgroup{comp.text.tex}:\\
-%     \URL{``\link{Re: askinclude.sty}''}^^A
-%     {https://groups.google.com/group/comp.text.tex/msg/2d638b84a858fdc8}
-%   \item
-%     Listing of included files, collected from the previous run before
-%     the question.
-%   \item
-%     No error message by \xfile{.aux} file if package is removed.
-%   \end{Version}
-%   \begin{Version}{2007/10/23 v2.0}
-%   \item
-%     The next version of \xpackage{askinc} becomes
-%     version 2.0 of \xpackage{askinclude}.
-%   \item
-%     `|?|' added for questioning each file.
-%   \item
-%     \cs{includeonly} has precedence until package loading.
-%     Then it is disabled by a warning.
-%   \item
-%     Documentation rewritten/added.
-%   \item
-%     Tests added.
-%   \end{Version}
-%   \begin{Version}{2008/08/11 v2.1}
-%   \item
-%     Code is not changed.
-%   \item
-%     URLs updated.
-%   \end{Version}
-%   \begin{Version}{2011/12/02 v2.2}
-%   \item
-%     Bibliography rewritten for biblatex.
-%   \end{Version}
-%   \begin{Version}{2016/05/14 v2.3}
-%   \item
-%    Luatex compatibility
-%   \end{Version}
-%   \begin{Version}{2018/11/01 v2.4}
-%   \item
-%    Remove luatex85 package dependency
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput
-%   \begin{Version}{1991/11/05 v0.95}
-%   \item
-%     First beta-test version (asked two questions).
-%   \end{Version}
-%   \begin{Version}{1991/11/05 v0.99}
-%   \item
-%     Second beta-test version (asks one question; uses `|*|' and `|-|').
-%   \end{Version}
-%   \begin{Version}{1991/11/07 v1.0}
-%   \item
-%     Changed prompts (sent to \xnewsgroup{comp.text.tex}):
-%     \URL{``\link{Interactive inclusion of files in LaTeX}''}^^A
-%     {https://groups.google.com/group/comp.text.tex/msg/34b770a7c277e79c}
-%   \end{Version}
-%   \begin{Version}{1991/12/13 v1.1}
-%   \item
-%     \textit{Unknown}.
-%   \end{Version}
-%   \begin{Version}{1994/11/02 v1.2e}
-%   \item
-%     Two small changes to run under LaTeX2e [RF].
-%   \item
-%     Additional documentation [TRS].
-%   \end{Version}
-%   \begin{Version}{2007/10/15 v1.0 (askinc)}
-%   \item
-%     Reimplementation, published as \xpackage{askinc} in
-%     newsgroup \xnewsgroup{comp.text.tex}:\\
-%     \URL{``\link{Re: askinclude.sty}''}^^A
-%     {https://groups.google.com/group/comp.text.tex/msg/2d638b84a858fdc8}
-%   \item
-%     Listing of included files, collected from the previous run before
-%     the question.
-%   \item
-%     No error message by \xfile{.aux} file if package is removed.
-%   \end{Version}
-%   \begin{Version}{2007/10/23 v2.0}
-%   \item
-%     The next version of \xpackage{askinc} becomes
-%     version 2.0 of \xpackage{askinclude}.
-%   \item
-%     `|?|' added for questioning each file.
-%   \item
-%     \cs{includeonly} has precedence until package loading.
-%     Then it is disabled by a warning.
-%   \item
-%     Documentation rewritten/added.
-%   \item
-%     Tests added.
-%   \end{Version}
-%   \begin{Version}{2008/08/11 v2.1}
-%   \item
-%     Code is not changed.
-%   \item
-%     URLs updated.
-%   \end{Version}
-%   \begin{Version}{2011/12/02 v2.2}
-%   \item
-%     Bibliography rewritten for biblatex.
-%   \end{Version}
-%   \begin{Version}{2016/05/14 v2.3}
-%   \item
-%    Luatex compatibility
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/bitset.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/bitset.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/bitset.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,2957 +0,0 @@
-% \iffalse meta-comment
-%
-% File: bitset.dtx
-% Version: 2016/05/16 v1.2
-% Info: Handle bit-vector datatype
-%
-% Copyright (C)
-%    2007, 2011 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
-%
-% The Base Interpreter refers to any `TeX-Format',
-% because some files are installed in TDS:tex/generic//.
-%
-% This work consists of the main source file bitset.dtx
-% and the derived files
-%    bitset.sty, bitset.pdf, bitset.ins, bitset.drv, bitset-test1.tex,
-%    bitset-test2.tex, bitset-test3.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/bitset.dtx
-%    CTAN:macros/latex/contrib/oberdiek/bitset.pdf
-%
-% Unpacking:
-%    (a) If bitset.ins is present:
-%           tex bitset.ins
-%    (b) Without bitset.ins:
-%           tex bitset.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{bitset.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If bitset.drv is present:
-%           latex bitset.drv
-%    (b) Without bitset.drv:
-%           latex bitset.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 bitset.dtx
-%       makeindex -s gind.ist bitset.idx
-%       pdflatex bitset.dtx
-%       makeindex -s gind.ist bitset.idx
-%       pdflatex bitset.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/bitset.sty
-%    TDS:doc/latex/oberdiek/bitset.pdf
-%    TDS:source/latex/oberdiek/bitset.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: bitset
-Version: 2016/05/16 v1.2
-
-Copyright (C)
-   2007, 2011 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
-
-
-The Base Interpreter refers to any `TeX-Format',
-because some files are installed in TDS:tex/generic//.
-
-This work consists of the main source file bitset.dtx
-and the derived files
-   bitset.sty, bitset.pdf, bitset.ins, bitset.drv, bitset-test1.tex,
-   bitset-test2.tex, bitset-test3.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{bitset.ins}{\from{bitset.dtx}{install}}%
-  \file{bitset.drv}{\from{bitset.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{bitset.sty}{\from{bitset.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{bitset-test1.tex}{\from{bitset.dtx}{test1}}%
-%  \file{bitset-test2.tex}{\from{bitset.dtx}{test2,etex}}%
-%  \file{bitset-test3.tex}{\from{bitset.dtx}{test2,noetex}}%
-}
-
-\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{*     bitset.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `bitset.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bitset.drv}%
-  [2016/05/16 v1.2 Handle bit-vector datatype (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\usepackage{amstext}
-\usepackage{ifluatex}
-\ifluatex
-\else
-  \usepackage[T1]{fontenc}%
-  \usepackage{lmodern}%
-\fi
-\begin{document}
-  \DocInput{bitset.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{bitset.drv}
-%
-% \title{The \xpackage{bitset} package}
-% \date{2016/05/16 v1.2}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package defines and implements the data type bit set,
-% a vector of bits. The size of the vector may grow dynamically.
-% Individual bits can be manipulated.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \clearpage
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% Annotations in the PDF format know entries whose values are
-% integers. This numbers are interpreted as set of flags
-% specifying properties. For example, annotation dictionaries
-% can have a key |/F|. The bits of its integer value
-% are interpreted the following way:
-% \begin{quote}
-% \begin{tabular}{@{}l|l@{}}
-%   Bit position & Property name\\
-%   \hline
-%   1 & Invisible\\
-%   2 & Hidden\\
-%   3 & Print\\
-%   4 & NoZoom\\
-%   5 & NoRotate\\
-%   6 & NoView\\
-%   7 & ReadOnly\\
-%   \dots & \dots
-% \end{tabular}
-% \end{quote}
-% Now, let's see how these values are set in package \xpackage{hyperref}
-% before it uses this package (before v6.77a):
-%\begin{quote}
-%\begin{verbatim}
-%\ifFld at hidden /F 6\else /F 4\fi
-%\end{verbatim}
-%\end{quote}
-% Where are the other flags? The following example for key |/Ff|
-% in a widget annotation
-% supports at least three properties:
-%\begin{quote}
-%\begin{verbatim}
-%\ifFld at multiline
-%  \ifFld at readonly /Ff 4097\else /Ff 4096\fi
-%\else
-%  \ifFld at password
-%    \ifFld at readonly /Ff 8193\else /Ff 8192\fi
-%  \else
-%    \ifFld at readonly /Ff 1\fi
-%  \fi
-%\fi
-%\end{verbatim}
-%\end{quote}
-% But you see the point. It would be a nightmare to continue
-% this way in supporting the missing flag settings. This kind
-% of integers may have up to 32 bits.
-%
-% Therefore I wanted a data structure for setting and
-% clearing individual bits. Also it should provide
-% an export as decimal number. The snipsets above are
-% executed in expansion contexts without \TeX's stomach
-% commands. It would be convenient to have an expandable
-% conversion from the data structure to the integer that
-% gets written to the PDF file.
-%
-% This package \xpackage{bitset} implements such a data
-% structure. The interface is quite close to Java's
-% class |BitSet| in order not to learn to many interfaces
-% for the same kind of data structure.
-%
-% \subsection{Glossary}
-%
-% \begin{description}
-% \item[Bit set:]
-%   A bit set is a vector of bits or flags.
-%   The vector size is unlimited and
-%   grows dynamically. An undefined bit set is treated as bit
-%   set where all bits are cleared.
-%
-%   Bit sets are addressed by name. A name should consists of
-%   letters or digits. Technically it must survive \cs{csname},
-%   see \LaTeX's environment names for other names with such
-%   a constraint. Package \xpackage{babel}'s shorthands are
-%   not supported due to technical reasons. Shorthand support
-%   would break expandable operations.
-% \item[Size:]
-%   A size of a bit set is the number of bits in use.
-%   It's the number of the highest index, incremented by one.
-%   Sizes are in the range |0| up to |2147483647|, the highest
-%   number supported by \TeX.
-% \item[Index:]
-%   Bit positions in a bit set are addressed by an index number.
-%   The bit vector is zero based. The first and least significant
-%   bit is addressed by index |0| and the highest possible bit
-%   by |2147483646|.
-% \item[Bit:]
-%   A bit is enoded as |0| for cleared/disabled or |1| for set/enabled.
-% \end{description}
-%
-% \subsection{Design principles}
-%
-% \begin{description}
-% \item[Name conventions:]
-%   To avoid conflicts with existing macro names, the operations
-%   are prefixed by the package name.
-% \item[Zero based indexes:] The first bit is addressed by zero.
-%   (Convention of array indexing in C, Java, \dots)
-% \item[Unlimited size:]
-%   There is no restriction on the size of a bit set other than
-%   usual memory limitations. \cs{bitsetSetDec} and \cs{bitsetGetDec}
-%   transparently switch to package \xpackage{bigintcalc} if the numbers
-%   get too large for \TeX's number limit.
-% \item[Expandibility:]
-%   Any operation that does not change the bit set is expandable.
-%   And all operations that extract or calculate some result
-%   do this in exact two expansion steps. For example,
-%   a macro \cs{Macro} wants a bit set as decimal number.
-%   But the argument must be a plain number without macros.
-%   Thus you could prefix \cs{bitsetGetDec} with \cs{number}.
-%   However this won't work for bit sets with 31 or more bits
-%   because of \TeX's number limit of $2^{31}-1$.
-%   then just hit the operator with two \cs{expandafter}:
-%   \begin{quote}
-%   |\expandafter\expandafter\expandafter|\\
-%   |\Macro\bitsetGetDec{foo}|
-%   \end{quote}
-%   |\bitsetGetDec| is hit first by the third \cs{expandafter}
-%   and then by the second one.
-% \item[Format independence:] This package is written as \LaTeX\ package,
-%   but it does not depend on \LaTeX. It will also work for other formats
-%   such as \plainTeX.
-% \item[Independence from \TeX\ engines:]
-%   Vanilla \TeX\ is all you need. Calculations are delegated to
-%   packages \xpackage{intcalc} and \xpackage{bigintcalc}.
-%   They don't need any special features, but they will switch
-%   to a little more efficient implementation if features such
-%   as \cs{numexpr} are available.
-% \item[Numeric arguments:] Anything that is accepted by
-%   \cs{number}. If \eTeX\ is detected, also expressions
-%   for \cs{numexpr} are supported. The only exception so far
-%   is the number for \cs{bitsetSetDec}. The number might be too
-%   large for \cs{number} or \cs{numexpr}.
-% \item[Error messages:]
-%   In expandable contexts, only a limited set of \TeX\ primitive
-%   commands work as expected. So called stomach commands behave
-%   like \cs{relax} and don't get expanded or executed.
-%   Unhappily also the error commands belong to this category.
-%   The expandable operations will throw an unknown control
-%   sequence instead to get \TeX's and user's attention.
-%   The name of these control sequences starts with
-%   \cs{BitSetError:} with the type of error after the colon.
-% \end{description}
-%
-% \subsection{Operator overview}
-%
-% \begin{minipage}{\linewidth}
-% \begin{description}
-% \def\It#1#2{^^A
-%   \item[^^A
-%     {#1} ^^A
-%     \textmd{(\hyperref[{sec:#2}]{section \ref*{sec:#2}})}^^A
-%   ]^^A
-%   \mbox{}\\^^A
-% }
-% \def\op#1{^^A
-%   \cs{bitset}\texttt{\bfseries#1}^^A
-% }
-% \def\M#1{\meta{#1}}
-% \def\Q{\hspace*{\fill}}
-% \It{Miscellaneous}{misc}
-%   \op{Reset}\Q \M{BitSet}\\
-%   \op{Let}\Q \M{BitSet A} \M{BitSet B}
-% \It{Import}{import}
-%   \op{SetBin}, \op{SetOct}, \op{SetHex}\Q \M{BitSet} \M{Value}\\
-%   \op{SetDec}\Q \M{BitSet} \M{Value}
-% \It{Export\textsuperscript{a}}{export}
-%   \op{GetBin}, \op{GetOct}, \op{GetHex}\Q \M{BitSet} \M{MinSize}\\
-%   \op{GetDec}\Q \M{BitSet}
-% \It{Logical operators}{log}
-%   \op{And}, \op{AndNot}\Q \M{BitSet A} \M{BitSet B}\\
-%   \op{Or}, \op{Xor}\Q \M{BitSet A} \M{BitSet B}
-% \It{Shifting}{shift}
-%   \op{ShiftLeft}, \op{ShiftRight}\Q \M{BitSet} \M{ShiftAmount}\\
-% \It{Bit manipulation}{bitman}
-%   \op{Clear}, \op{Set}, \op{Flip}\Q \M{BitSet} \M{Index}\\
-%   \op{SetValue}\Q \M{BitSet} \M{Index} \M{Value}\\
-%   \op{ClearRange}, \op{SetRange}, \op{FlipRange}\\
-%     \Q \M{BitSet} \M{IndexFrom} \M{IndexTo}\\
-%   \op{SetValueRange}\Q \M{BitSet} \M{IndexFrom} \M{IndexTo}
-% \It{Bit retrieval\textsuperscript{a}}{bitret}
-%   \op{Get}\Q \M{BitSet} \M{Index}\\
-%   \op{NextClearBit}, \op{NextSetBit}\Q \M{BitSet} \M{Index}\\
-%   \op{GetSetBitList}\Q \M{BitSet}
-% \It{Bit set properties}{prop}
-%   \op{Size}, \op{Cardinality}\Q \M{BitSet}
-% \It{Queries\textsuperscript{b}}{query}
-%   \op{IsDefined}, \op{IsEmpty}\Q \M{BitSet} \M{Then} \M{Else}\\
-%   \op{Equals}, \op{Intersects}\Q \M{BitSet A} \M{BitSet B} \M{Then} \M{Else}\\
-%   \op{Query}\Q \M{BitSet} \M{Index} \M{Then} \M{Else}
-% \end{description}
-% \footnotetext[1]{Macros are expandable, full expansion by two steps.}
-% \footnotetext[2]{Macros are expandable.}
-% \end{minipage}
-%
-% \subsection{Package loading}
-%
-% The package can be used as normal \LaTeX\ package:
-%\begin{quote}
-%|\usepackage{bitset}|
-%\end{quote}
-% Also \plainTeX\ is supported:
-%\begin{quote}
-%|\input bitset.sty\relax|
-%\end{quote}
-%
-% \subsection{Operators}
-%
-% The following macros work on and with bit sets.
-% A bit set \meta{BitSet} is represented by a name.
-% The should consist of letters and digits. Technically
-% it must survive \cs{csname}. It is the same constraint
-% that must be satisfied by label or environment names
-% in \LaTeX.
-%
-% However active characters that are shorthands
-% of package \xpackage{babel} are not supported.
-% Support for shorthands works by an assignment.
-% But many operators
-% such as \cs{bitsetGetDec} must be usable in expandable
-% contexts. There assignments will not be executed in the
-% best case or they will cause errors.
-%
-% The bits in a bit set are addressed by non-negative
-% integers starting from zero. Thus negative index
-% numbers cause an error message. Because index numbers
-% are \TeX\ numbers. The largest index is 2147483647.
-% But in practice memory limits and patience limits
-% will be very likely reached much before.
-%
-% \subsubsection{Miscellaneous}\label{sec:misc}
-%
-% There isn't a separate operation for bit set creation.
-% For simplicity an undefined bit set is treated as bit set
-% with all bits cleared.
-%
-% \begin{declcs}{bitsetReset} \M{BitSet}
-% \end{declcs}
-% Macro \cs{bitsetReset} clears all bits. The result is an
-% empty bit set. It may also be used as replacement for
-% an operation ``new'', because an undefined bit set is defined
-% afterwards.
-%
-% \begin{declcs}{bitsetLet} \M{BitSet A} \M{BitSet B}
-% \end{declcs}
-% Macro \cs{bitsetLet} performs a simple assignment similar
-% to \TeX's \cs{let}. After the operation \meta{BitSet A} has
-% the same value as \meta{BitSet B}. If \meta{BitSet B} is
-% undefined, then \meta{BitSet A} will be the empty bit set.
-%
-% Note: If \meta{BitSet A} exists, it will be overwritten.
-%
-% \subsubsection{Import}\label{sec:import}
-%
-% \begin{declcs}{bitsetSetBin} \M{BitSet} \M{BinaryNumber}\\
-%   \cs{bitsetSetOct} \M{BitSet} \M{OctalNumber}\\
-%   \cs{bitsetSetHex} \M{BitSet} \M{HexadecimalNumber}
-% \end{declcs}
-% The numbers are interpreted as bit vectors and the flags in
-% the bit \meta{BitSet} set are set accordingly.
-% These numeric arguments are the only arguments where
-% spaces are allowed. Then the numbers are easier to read.
-%
-% \begin{declcs}{bitsetSetDec} \M{BitSet} \M{DecimalNumber}
-% \end{declcs}
-% Macro \cs{bitsetSetDec} uses \meta{DecimalNumber} to
-% set the bit set \meta{BitSet}.
-% The numeric argument must expand
-% to a plain number consisting of decimal digits without
-% command tokens or spaces. Internally this argument is
-% expanded only. It cannot be passed to \cs{number} or
-% \cs{numexpr}, because the number may be too large for them.
-% However \cs{number} or |\the\numexpr| may be used
-% explicitely. This also helps for unexpandable number
-% command tokens or registers (\cs{z@}, \cs{@ne}, \cs{count@}, \dots).
-% Also \LaTeX'\ \cs{value} needs prefixing:
-% \begin{quote}
-% |\bitsetSetDec{foo}{\number\value{bar}}|
-% \end{quote}
-%
-% \subsubsection{Export}\label{sec:export}
-%
-% \begin{declcs}{bitsetGetBin} \M{BitSet} \M{MinSize}\\
-%   \cs{bitsetGetOct} \M{BitSet} \M{MinSize}\\
-%   \cs{bitsetGetHex} \M{BitSet} \M{MinSize}
-% \end{declcs}
-% These macros returns the bit set as binary, octal or hexadecimal
-% number. If the bit size is smaller than \meta{MinSize} the gap is
-% filled with leading zeros.
-% Example:
-% \begin{quote}
-% |\bitsetReset{abc}|\\
-% |\bitsetSet{abc}{2}|\\
-% |\bitsetGetBin{abc}{8}| $\rightarrow$ |00000100|\\
-% |\bitsetSet{abc}{5}\bitsetSet{abc}{7}|\\
-% |\bitsetGetHex{abc}{16}| $\rightarrow$ |00A2|
-% \end{quote}
-% Macro \cs{bitsetGetHex} uses the uppercase letters |A| to |F|.
-% The catcode of the letters is one of 11 (letter) or 12 (other).
-%
-% \begin{declcs}{bitsetGetDec} \M{BitSet}
-% \end{declcs}
-% Macro \cs{bitsetGetDec} returns the bit set \meta{BitSet} as
-% decimal number. The returned number can be larger than
-% \TeX's number limit of $2^{31}-1$.
-%
-% \subsubsection{Logical operators}\label{sec:log}
-%
-% \begin{declcs}{bitsetAnd} \M{BitSet A} \M{BitSet B}
-% \end{declcs}
-% $A_{\text{new}} \mathrel{\mathop{:}}= A_{\text{old}}
-% \mathbin{\text{and}} B \qquad (\forall\, \text{bits})$
-%
-% \begin{declcs}{bitsetAndNot} \M{BitSet A} \M{BitSet B}
-% \end{declcs}
-% $A_{\text{new}} \mathrel{\mathop{:}}= A_{\text{old}}
-% \mathbin{\text{and}} (\text{not}\,B) \qquad (\forall\, \text{bits})$
-%
-% \begin{declcs}{bitsetOr} \M{BitSet A} \M{BitSet B}
-% \end{declcs}
-% $A_{\text{new}} \mathrel{\mathop{:}}= A_{\text{old}}
-% \mathbin{\text{or}} B \qquad (\forall\, \text{bits})$
-%
-% \begin{declcs}{bitsetXor} \M{BitSet A} \M{BitSet B}
-% \end{declcs}
-% $A_{\text{new}} \mathrel{\mathop{:}}= A_{\text{old}}
-% \mathbin{\text{xor}} B \qquad (\forall\, \text{bits})$
-%
-% \subsubsection{Shifting}\label{sec:shift}
-%
-% \begin{declcs}{bitsetShiftLeft} \M{BitSet} \M{ShiftAmount}\\
-%   \cs{bitsetShiftRight} \M{BitSet} \M{ShiftAmount}
-% \end{declcs}
-% A left shift by one is a multiplication by two, thus left shifting
-% moves the flags to higher positions. The new created low positions
-% are filled by zeros.
-%
-% A right shift is the opposite, dividing by two, movint the bits
-% to lower positions. The number will become smaller, the lowest
-% bits are lost.
-%
-% If the \meta{ShiftAmount} is negative, it reverts the meaning of
-% the shift operation. A left shift becomes a right shift.
-% A \meta{ShiftAmount} of zero is ignored.
-%
-% \subsubsection{Bit manipulation}\label{sec:bitman}
-%
-% \begin{declcs}{bitsetClear} \M{BitSet} \M{Index}\\
-%   \cs{bitsetSet} \M{BitSet} \M{Index}\\
-%   \cs{bitsetFlip} \M{BitSet} \M{Index}
-% \end{declcs}
-% This macros manipulate a single bit in \meta{BitSet} addressed
-% by \cs{Index}. Macro \cs{bitsetClear} disables the bit,
-% \cs{bitsetSet} enables it and \cs{bitsetFlip} reverts the current
-% setting of the bit.
-%
-% \begin{declcs}{bitsetSetValue} \M{BitSet} \M{Index} \M{Bit}
-% \end{declcs}
-% Macro \cs{bitsetSetValue} puts bit \meta{Bit} at position \meta{Index}
-% in bit set \meta{BitSet}. \meta{Bit} must be a valid \TeX\ number
-% equals to zero (disabled/cleared) or one (enabled/set).
-%
-% \subsubsection{Bit retrieval}\label{sec:bitret}
-%
-% \begin{declcs}{bitsetGet} \M{BitSet} \M{Index}
-% \end{declcs}
-% Macro \cs{bitsetGet} extracts the status of the bit at
-% position \meta{Index} in bit set \meta{BitSet}.
-% Digit |1| is returned if the bit is set/enabled. If the
-% bit is cleared/disabled and in cases of an undefined bitset or
-% an index number out of range the return value is |0|.
-%
-% \begin{declcs}{bitsetNextClearBit} \M{BitSet} \M{Index}
-% \end{declcs}
-% Starting at position \meta{Index} (inclusive) the bits
-% are inspected. The first position without a set bit is returned.
-% Possible results are decimal numbers: \meta{Index}, \meta{Index} + 1,
-% \dots, ($\infty$)
-%
-% \begin{declcs}{bitsetNextSetBit} \M{BitSet} \M{Index}
-% \end{declcs}
-% Starting at position \meta{Index} (inclusive) the bits are
-% inspected and the index position of the first found set bit
-% is returned. If there isn't such a bit, then the result is
-% |-1|. In summary possible results are decimal numbers:
-% |-1|, \meta{Index}, \meta{Index} + 1, \dots, ($\infty$)
-%
-% \begin{declcs}{bitsetGetSetBitList} \M{BitSet}
-% \end{declcs}
-% Macro \cs{bitsetGetSetBitList} is an application for
-% \cs{bitsetNextSetBit}. The set bits are iterated and
-% returned as comma separated list of index positions
-% in increasing order. The list is empty in case of
-% an empty bit set.
-%
-% \subsubsection{Bit set properties}\label{sec:prop}
-%
-% \begin{declcs}{bitsetSize} \M{BitSet}
-% \end{declcs}
-% Macro \cs{bitsetSize} returns number of bits in use.
-% It is the same as the index number of the highest set/enabled bit
-% incremented by one.
-%
-% \begin{declcs}{bitsetCardinality} \M{BitSet}
-% \end{declcs}
-% Macro \cs{bitsetCardinality} counts the number of set/enabled bits.
-%
-% \subsubsection{Queries}\label{sec:query}
-%
-% Also the query procedures are expandable. They ask for a piece
-% of information about a bit set and execute code depending
-% on the answer.
-%
-% \begin{declcs}{bitsetIsDefined} \M{BitSet} \M{Then} \M{Else}
-% \end{declcs}
-% If the bit set with the name \meta{BitSet} exists the code
-% given in \meta{Then} is executed, otherwise \meta{Else} is used.
-%
-% \begin{declcs}{bitsetIsEmpty} \M{BitSet} \M{Then} \M{Else}
-% \end{declcs}
-% If the bit set \meta{BitSet} exists and at least one bit
-% is set/enabled, the code in \meta{Then} is executed,
-% \meta{Else} otherwise.
-%
-% \begin{declcs}{bitsetEquals} \M{BitSet A} \M{BitSet B} \M{Then} \M{Else}
-% \end{declcs}
-% Both bit sets are equal if and only if either both are undefined
-% or both are defined and represents the same bit values at the
-% same positions. Thus this definition is reflexive, symmeric,
-% and transitive, enough for an equivalent relation.
-%
-% \begin{declcs}{bitsetIntersects} \M{BitSet A} \M{BitSet B} \M{Then} \M{Else}
-% \end{declcs}
-% If and only if \meta{BitSet A} and \meta{BitSet B} have
-% at least one bit at the same position that is set, then
-% code part \meta{Then} is executed.
-%
-% \begin{declcs}{bitsetQuery} \M{BitSet} \M{Index} \M{Then} \M{Else}
-% \end{declcs}
-% It's just a wrapper for \cs{bitsetGet}. If the bit at position
-% \meta{Index} is enabled, code \meta{Then} is called.
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% The internal format of a bit set is quite simple, a sequence
-% of digits |0| and |1|. The least significant bit is left.
-% A bit set without any flag set is encoded by |0|. Also
-% undefined bit sets are treated that way. After the
-% highest bit that is set there are no further zeroes.
-% A regular expression of valid bit sets values:
-% \begin{quote}
-%  |0|\string||[01]*1|
-% \end{quote}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-% \subsection{Reload check and package identification}
-%    Reload check, especially if the package is not used with \LaTeX.
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at bitset.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{bitset}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-%    \end{macrocode}
-%    Package identification:
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at bitset.sty\endcsname
-\ProvidesPackage{bitset}%
-  [2016/05/16 v1.2 Handle bit-vector datatype (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Catcodes}
-%
-%    \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 BitSet at 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 at EnsureCode#1#2{%
-  \edef\BitSet at AtEnd{%
-    \BitSet at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{11}% : (letter!)
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{63}{14}% ? (comment!)
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\edef\BitSet at AtEnd{\BitSet at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname BitSet at TestMode\endcsname\relax
-\else
-  \catcode63=9 % ? (ignore)
-\fi
-? \let\BitSet@@TestMode\BitSet at TestMode
-%    \end{macrocode}
-%
-% \subsection{Package loading}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \def\TMP at RequirePackage#1[#2]{%
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-    \expandafter\ifx\csname ver@#1.sty\endcsname\relax
-      \input #1.sty\relax
-    \fi
-  }%
-  \TMP at RequirePackage{infwarerr}[2007/09/09]%
-  \TMP at RequirePackage{intcalc}[2007/09/27]%
-  \TMP at RequirePackage{bigintcalc}[2007/09/27]%
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{intcalc}[2007/09/27]%
-  \RequirePackage{bigintcalc}[2007/09/27]%
-\fi
-%    \end{macrocode}
-%
-% \subsection{Help macros}
-%
-% \subsubsection{Number constant}
-%
-%    \begin{macro}{\BitSet at MaxSize}
-%    \begin{macrocode}
-\def\BitSet at MaxSize{2147483647}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{General basic macros}
-%
-%    \begin{macro}{\BitSet at Empty}
-%    \begin{macrocode}
-\def\BitSet at Empty{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at FirstOfOne}
-%    \begin{macrocode}
-\def\BitSet at FirstOfOne#1{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Gobble}
-%    \begin{macrocode}
-\def\BitSet at Gobble#1{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at FirstOfTwo}
-%    \begin{macrocode}
-\def\BitSet at FirstOfTwo#1#2{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at SecondOfTwo}
-%    \begin{macrocode}
-\def\BitSet at SecondOfTwo#1#2{#2}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BitSet at Space}
-%    \begin{macrocode}
-\def\BitSet at Space{ }
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at ZapSpace}
-%    \begin{macrocode}
-\def\BitSet at ZapSpace#1 #2{%
-  #1%
-  \ifx\BitSet at Empty#2%
-  \else
-    \expandafter\BitSet at ZapSpace
-  \fi
-  #2%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Tail recursion}
-%
-%    \begin{macro}{\BitSet at Fi}
-%    \begin{macrocode}
-\let\BitSet at Fi\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at AfterFi}
-%    \begin{macrocode}
-\def\BitSet at AfterFi#1#2\BitSet at Fi{\fi#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at AfterFiFi}
-%    \begin{macrocode}
-\def\BitSet at AfterFiFi#1#2\BitSet at Fi{\fi\fi#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at AfterFiFiFi}
-%    \begin{macrocode}
-\def\BitSet at AfterFiFiFi#1#2\BitSet at Fi{\fi\fi\fi#1}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Check macros}
-%
-%    \begin{macro}{\BitSet at IfUndefined}
-%    \begin{macrocode}
-\def\BitSet at IfUndefined#1{%
-  \expandafter\ifx\csname BS@#1\endcsname\relax
-    \expandafter\BitSet at FirstOfTwo
-  \else
-    \expandafter\BitSet at SecondOfTwo
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BitSet at CheckIndex}
-%    |#1|: continuation code\\
-%    |#2|: BitSet\\
-%    |#3|: Index
-%    \begin{macrocode}
-\def\BitSet at CheckIndex#1#2#3{%
-  \BitSet at IfUndefined{#2}{\bitsetReset{#2}}{}%
-  \expandafter\expandafter\expandafter\BitSet@@CheckIndex
-  \intcalcNum{#3}!%
-  {#2}{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@CheckIndex}
-%    |#1|: plain Index\\
-%    |#2|: BitSet\\
-%    |#3|: continuation code
-%    \begin{macrocode}
-\def\BitSet@@CheckIndex#1!#2#3{%
-  \ifnum#1<0 %
-    \BitSet at AfterFi{%
-      \@PackageError{bitset}{%
-        Invalid negative index (#1)%
-      }\@ehc
-    }%
-  \else
-    \BitSet at AfterFi{%
-      #3{#2}{#1}%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Miscellaneous}\label{src:misc}
-%
-%    \begin{macro}{\bitsetReset}
-%    \begin{macrocode}
-\def\bitsetReset#1{%
-  \expandafter\def\csname BS@#1\endcsname{0}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bitsetLet}
-%    \begin{macrocode}
-\def\bitsetLet#1#2{%
-  \BitSet at IfUndefined{#2}{%
-    \bitsetReset{#1}%
-  }{%
-    \expandafter\let\csname BS@#1\expandafter\endcsname
-                    \csname BS@#2\endcsname
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Import}\label{src:import}
-%
-% \subsubsection{From binary number}
-%
-%    \begin{macro}{\bitsetSetBin}
-%    \begin{macrocode}
-\def\bitsetSetBin#1#2{%
-  \edef\BitSet at Temp{#2}%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet at ZapSpace
-    \expandafter\BitSet at Temp\BitSet at Space\BitSet at Empty
-  }%
-  \edef\BitSet at Temp{%
-    \expandafter\BitSet at KillZeros\BitSet at Temp\BitSet at Empty
-  }%
-  \ifx\BitSet at Temp\BitSet at Empty
-    \expandafter\let\csname BS@#1\endcsname\BitSet at Zero
-  \else
-    \expandafter\edef\csname BS@#1\endcsname{%
-      \expandafter\BitSet at Reverse\BitSet at Temp!%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at KillZeros}
-%    \begin{macrocode}
-\def\BitSet at KillZeros#1{%
-  \ifx#10%
-    \expandafter\BitSet at KillZeros
-  \else
-    #1%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Reverse}
-%    \begin{macrocode}
-\def\BitSet at Reverse#1#2!{%
-  \ifx\\#2\\%
-    #1%
-  \else
-    \BitSet at AfterFi{%
-      \BitSet at Reverse#2!#1%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{From octal/hex number}
-%
-%    \begin{macro}{\bitsetSetOct}
-%    \begin{macrocode}
-\def\bitsetSetOct{%
-  \BitSet at SetOctHex\BitSet at FromFirstOct
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetSetHex}
-%    \begin{macrocode}
-\def\bitsetSetHex{%
-  \BitSet at SetOctHex\BitSet at FromFirstHex
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at SetOctHex}
-%    \begin{macrocode}
-\def\BitSet at SetOctHex#1#2#3{%
-  \edef\BitSet at Temp{#3}%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet at ZapSpace
-    \expandafter\BitSet at Temp\BitSet at Space\BitSet at Empty
-  }%
-  \edef\BitSet at Temp{%
-    \expandafter\BitSet at KillZeros\BitSet at Temp\BitSet at Empty
-  }%
-  \ifx\BitSet at Temp\BitSet at Empty
-    \expandafter\let\csname BS@#2\endcsname\BitSet at Zero
-  \else
-    \edef\BitSet at Temp{%
-      \expandafter#1\BitSet at Temp!%
-    }%
-    \ifx\BitSet at Temp\BitSet at Empty
-      \expandafter\let\csname BS@#2\endcsname\BitSet at Zero
-    \else
-      \expandafter\edef\csname BS@#2\endcsname{%
-        \expandafter\BitSet at Reverse\BitSet at Temp!%
-      }%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at FromFirstOct}
-%    \begin{macrocode}
-\def\BitSet at FromFirstOct#1{%
-  \ifx#1!%
-  \else
-    \ifcase#1 \BitSet at AfterFiFi\BitSet at FromFirstOct
-    \or 1%
-    \or 10%
-    \or 11%
-    \or 100%
-    \or 101%
-    \or 110%
-    \or 111%
-    \else \BitSetError:WrongOctalDigit%
-    \fi
-    \expandafter\BitSet at FromOct
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at FromOct}
-%    \begin{macrocode}
-\def\BitSet at FromOct#1{%
-  \ifx#1!%
-  \else
-    \ifcase#1 000%
-    \or 001%
-    \or 010%
-    \or 011%
-    \or 100%
-    \or 101%
-    \or 110%
-    \or 111%
-    \else \BitSetError:WrongOctalDigit%
-    \fi
-    \expandafter\BitSet at FromOct
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BitSet at FromFirstHex}
-%    \begin{macrocode}
-\def\BitSet at FromFirstHex#1{%
-  \ifx#1!%
-  \else
-    \ifx#10%
-      \BitSet at AfterFiFi\BitSet at FromFirstHex
-    \fi
-    \expandafter\ifx\csname BitSet at Hex#1\endcsname\relax
-      \BitSetError:InvalidHexDigit%
-    \else
-      \expandafter\expandafter\expandafter\BitSet at KillZeros
-      \csname BitSet at Hex#1\endcsname
-    \fi
-    \expandafter\BitSet at FromHex
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at FromHex}
-%    \begin{macrocode}
-\def\BitSet at FromHex#1{%
-  \ifx#1!%
-  \else
-    \expandafter\ifx\csname BitSet at Hex#1\endcsname\relax
-      \BitSetError:InvalidHexDigit%
-    \else
-      \csname BitSet at Hex#1\endcsname
-    \fi
-    \expandafter\BitSet at FromHex
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Hex[0..F]}
-%    \begin{macrocode}
-\def\BitSet at Temp#1{%
-  \expandafter\def\csname BitSet at Hex#1\endcsname
-}
-\BitSet at Temp 0{0000}%
-\BitSet at Temp 1{0001}%
-\BitSet at Temp 2{0010}%
-\BitSet at Temp 3{0011}%
-\BitSet at Temp 4{0100}%
-\BitSet at Temp 5{0101}%
-\BitSet at Temp 6{0110}%
-\BitSet at Temp 7{0111}%
-\BitSet at Temp 8{1000}%
-\BitSet at Temp 9{1001}%
-\BitSet at Temp A{1010}%
-\BitSet at Temp B{1011}%
-\BitSet at Temp C{1100}%
-\BitSet at Temp D{1101}%
-\BitSet at Temp E{1110}%
-\BitSet at Temp F{1111}%
-\BitSet at Temp a{1010}%
-\BitSet at Temp b{1011}%
-\BitSet at Temp c{1100}%
-\BitSet at Temp d{1101}%
-\BitSet at Temp e{1110}%
-\BitSet at Temp f{1111}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{From decimal number}
-%
-%    \begin{macro}{\bitsetSetDec}
-%    \begin{macrocode}
-\def\bitsetSetDec#1#2{%
-  \edef\BitSet at Temp{#2}%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet at ZapSpace
-    \expandafter\BitSet at Temp\BitSet at Space\BitSet at Empty
-  }%
-  \edef\BitSet at Temp{%
-    \expandafter\BitSet at KillZeros\BitSet at Temp\BitSet at Empty
-  }%
-  \ifx\BitSet at Temp\BitSet at Empty
-    \expandafter\let\csname BS@#1\endcsname\BitSet at Zero
-  \else
-    \ifcase\bigintcalcSgn{\BitSet at Temp} %
-      \expandafter\let\csname BS@#1\endcsname\BitSet at Zero
-    \or
-      \ifnum\bigintcalcCmp\BitSet at Temp\BitSet at MaxSize>0 %
-        \expandafter\edef\csname BS@#1\endcsname{%
-          \expandafter\BitSet at SetDecBig\BitSet at Temp!%
-        }%
-      \else
-        \expandafter\edef\csname BS@#1\endcsname{%
-          \expandafter\BitSet at SetDec\BitSet at Temp!%
-        }%
-      \fi
-    \else
-      \@PackageError{bitset}{%
-        Bit sets cannot be negative%
-      }\@ehc
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at SetDecBig}
-%    \begin{macrocode}
-\def\BitSet at SetDecBig#1#2#3#4#5#6#7#8#9!{%
-  \ifx\\#9\\%
-    \BitSet at SetDec#1#2#3#4#5#6#7#8!%
-  \else
-    \ifcase\BigIntCalcOdd#1#2#4#5#6#7#8#9! %
-      0%
-    \or
-      1%
-?   \else\BitSetError:ThisCannotHappen%
-    \fi
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at SetDecBig
-      \BigIntCalcShr#1#2#3#4#5#6#7#8#9!!%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at SetDec}
-%    \begin{macrocode}
-\def\BitSet at SetDec#1!{%
-  \ifcase#1 %
-  \or 1%
-  \else
-    \ifodd#1 %
-      1%
-    \else
-      0%
-    \fi
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at SetDec
-      \IntCalcShr#1!!%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Export}\label{src:export}
-%
-% \subsubsection{To binary number}
-%
-%    \begin{macro}{\bitsetGetBin}
-%    \begin{macrocode}
-\def\bitsetGetBin#1#2{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BitSet@@GetBin
-  \intcalcNum{#2}!{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@GetBin}
-%    \begin{macrocode}
-\def\BitSet@@GetBin#1!#2{%
-  \BitSet at IfUndefined{#2}{%
-    \ifnum#1>1 %
-      \BitSet at AfterFi{%
-        \expandafter\expandafter\expandafter\BitSet at Fill
-        \IntCalcDec#1!!0%
-      }%
-    \else
-      \BitSet at AfterFi{ 0}%
-    \BitSet at Fi
-  }{%
-    \expandafter\expandafter\expandafter\BitSet at NumBinRev
-    \expandafter\expandafter\expandafter1%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#2\endcsname!!#1!%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Fill}
-%    |#1|: number of leading digits |0|\\
-%    |#2|: result
-%    \begin{macrocode}
-\def\BitSet at Fill#1!{%
-  \ifnum#1>0 %
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at Fill
-      \IntCalcDec#1!!0%
-    }%
-  \else
-    \BitSet at AfterFi{ }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BitSet at NumBinRev}
-%    |#1|: bit counter (including |#2|)\\
-%    |#2#3|: reverted number\\
-%    |#4|: result\\
-%    |#5|: min size
-%    \begin{macrocode}
-\def\BitSet at NumBinRev#1!#2#3!{%
-  \ifx\\#3\\%
-    \BitSet at AfterFi{%
-      \BitSet at NumBinFill#1!#2%
-    }%
-  \else
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at NumBinRev
-      \IntCalcInc#1!!#3!#2%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at NumBinFill}
-%    \begin{macrocode}
-\def\BitSet at NumBinFill#1!#2!#3!{%
-  \ifnum#3>#1 %
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at Fill
-      \IntCalcSub#3!#1!!#2%
-    }%
-  \else
-    \BitSet at AfterFi{ #2}%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{To octal/hexadecimal number}
-%
-%    \begin{macro}{\bitsetGetOct}
-%    \begin{macrocode}
-\def\bitsetGetOct#1#2{%
-  \romannumeral0%
-  \bitsetIsEmpty{#1}{%
-    \expandafter\expandafter\expandafter\BitSet@@GetOctHex
-    \intcalcNum{#2}!3!230%
-  }{%
-    \expandafter\expandafter\expandafter\BitSet@@GetOct
-    \expandafter\expandafter\expandafter1%
-    \expandafter\expandafter\expandafter!%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#1\endcsname00%
-    \BitSet at Empty\BitSet at Empty\BitSet at Empty!{#2}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetGetHex}
-%    \begin{macrocode}
-\def\bitsetGetHex#1#2{%
-  \romannumeral0%
-  \bitsetIsEmpty{#1}{%
-    \expandafter\expandafter\expandafter\BitSet@@GetOctHex
-    \intcalcNum{#2}!4!340%
-  }{%
-    \expandafter\expandafter\expandafter\BitSet@@GetHex
-    \expandafter\expandafter\expandafter1%
-    \expandafter\expandafter\expandafter!%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#1\endcsname000%
-    \BitSet at Empty\BitSet at Empty\BitSet at Empty\BitSet at Empty!{#2}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@GetOct}
-%    |#1|: number of digits\\
-%    |#2|: result\\
-%    |#3#4#5|: bits
-%    \begin{macrocode}
-\def\BitSet@@GetOct#1!#2!#3#4#5{%
-  \ifx#5\BitSet at Empty
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at GetOctHex
-      \IntCalcDec#1!!#2!23%
-    }%
-  \else
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet@@GetOct
-      \number\IntCalcInc#1!\expandafter\expandafter\expandafter!%
-      \csname BitSet at Oct#5#4#3\endcsname#2!%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Oct[000..111]}
-%    \begin{macrocode}
-\def\BitSet at Temp#1#2#3#4{%
-  \expandafter\def\csname BitSet at Oct#1#2#3\endcsname{#4}%
-}
-\BitSet at Temp0000%
-\BitSet at Temp0011%
-\BitSet at Temp0102%
-\BitSet at Temp0113%
-\BitSet at Temp1004%
-\BitSet at Temp1015%
-\BitSet at Temp1106%
-\BitSet at Temp1117%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@GetHex}
-%    |#1|: number of digits\\
-%    |#2|: result\\
-%    |#3#4#5#6|: bits
-%    \begin{macrocode}
-\def\BitSet@@GetHex#1!#2!#3#4#5#6{%
-  \ifx#6\BitSet at Empty
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at GetOctHex
-      \IntCalcDec#1!!#2!34%
-    }%
-  \else
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet@@GetHex
-      \number\IntCalcInc#1!\expandafter\expandafter\expandafter!%
-      \csname BitSet at Hex#6#5#4#3\endcsname#2!%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Hex[0000..1111]}
-%    \begin{macrocode}
-\def\BitSet at Temp#1#2#3#4#5{%
-  \expandafter\def\csname BitSet at Hex#1#2#3#4\endcsname{#5}%
-}
-\BitSet at Temp00000%
-\BitSet at Temp00011%
-\BitSet at Temp00102%
-\BitSet at Temp00113%
-\BitSet at Temp01004%
-\BitSet at Temp01015%
-\BitSet at Temp01106%
-\BitSet at Temp01117%
-\BitSet at Temp10008%
-\BitSet at Temp10019%
-\BitSet at Temp1010A%
-\BitSet at Temp1011B%
-\BitSet at Temp1100C%
-\BitSet at Temp1101D%
-\BitSet at Temp1110E%
-\BitSet at Temp1111F%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at GetOctHex}
-%    Leading zeros $ (|#4| - |#1| * 3 + 2)/3 $ if $ |#4| > |#1| * 3$\\
-%    |#1|: digit size\\
-%    |#2|: result\\
-%    |#3|: bits per digit - 1\\
-%    |#4|: bits per digit
-%    |#5|: garbage\\
-%    |#6|: min size
-%    \begin{macrocode}
-\def\BitSet at GetOctHex#1!#2!#3#4#5!#6{%
-  \expandafter\BitSet@@GetOctHex
-  \number\intcalcNum{#6}\expandafter\expandafter\expandafter!%
-  \IntCalcMul#1!#4!!#3#4#2%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@GetOctHex}
-%    |#1|: plain min size\\
-%    |#2|: digits * (bits per digit)\\
-%    |#3|: bits per digit - 1\\
-%    |#4|: bits per digit
-%    \begin{macrocode}
-\def\BitSet@@GetOctHex#1!#2!#3#4{%
-  \ifnum#1>#2 %
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\expandafter
-      \expandafter\expandafter\expandafter\BitSet at Fill
-      \expandafter\IntCalcDiv\number
-      \expandafter\expandafter\expandafter\IntCalcAdd
-      \IntCalcSub#1!#2!!#3!!#4!!%
-    }%
-  \else
-    \BitSet at AfterFi{ }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{To decimal number}
-%
-%    \begin{macro}{\bitsetGetDec}
-%    \begin{macrocode}
-\def\bitsetGetDec#1{%
-  \romannumeral0%
-  \BitSet at IfUndefined{#1}{ 0}{%
-    \expandafter\expandafter\expandafter\BitSet at GetDec
-    \csname BS@#1\endcsname!%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at GetDec}
-%    \begin{macrocode}
-\def\BitSet at GetDec#1#2!{%
-  \ifx\\#2\\%
-    \BitSet at AfterFi{ #1}%
-  \else
-    \BitSet at AfterFi{%
-      \BitSet@@GetDec2!#1!#2!%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@GetDec}
-%    |#1|: power of two\\
-%    |#2|: result\\
-%    |#3#4|: number
-%    \begin{macrocode}
-\def\BitSet@@GetDec#1!#2!#3#4!{%
-  \ifx\\#4\\%
-    \ifx#31%
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Space
-        \IntCalcAdd#1!#2!%
-      }%
-    \else
-      \BitSet at AfterFiFi{ #2}%
-    \fi
-  \else
-    \ifx#31%
-      \BitSet at AfterFiFi{%
-        \csname BitSet at N#1%
-        \expandafter\expandafter\expandafter\endcsname
-        \IntCalcAdd#1!#2!!#4!%
-      }%
-    \else
-      \BitSet at AfterFiFi{%
-        \csname BitSet at N#1\endcsname#2!#4!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at N[1,2,4,...]}
-%    \begin{macrocode}
-\def\BitSet at Temp#1#2{%
-  \expandafter\def\csname BitSet at N#1\endcsname{%
-    \BitSet@@GetDec#2!%
-  }%
-}
-\BitSet at Temp{1}{2}
-\BitSet at Temp{2}{4}
-\BitSet at Temp{4}{8}
-\BitSet at Temp{8}{16}
-\BitSet at Temp{16}{32}
-\BitSet at Temp{32}{64}
-\BitSet at Temp{64}{128}
-\BitSet at Temp{128}{256}
-\BitSet at Temp{256}{512}
-\BitSet at Temp{512}{1024}
-\BitSet at Temp{1024}{2048}
-\BitSet at Temp{2048}{4096}
-\BitSet at Temp{4096}{8192}
-\BitSet at Temp{8192}{16384}
-\BitSet at Temp{16384}{32768}
-\BitSet at Temp{32768}{65536}
-\BitSet at Temp{65536}{131072}
-\BitSet at Temp{131072}{262144}
-\BitSet at Temp{262144}{524288}
-\BitSet at Temp{524288}{1048576}
-\BitSet at Temp{1048576}{2097152}
-\BitSet at Temp{2097152}{4194304}
-\BitSet at Temp{4194304}{8388608}
-\BitSet at Temp{8388608}{16777216}
-\BitSet at Temp{16777216}{33554432}
-\BitSet at Temp{33554432}{67108864}
-\BitSet at Temp{67108864}{134217728}
-\BitSet at Temp{134217728}{268435456}
-\BitSet at Temp{268435456}{536870912}
-\BitSet at Temp{536870912}{1073741824}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at N1073741824}
-%    \begin{macrocode}
-\expandafter\def\csname BitSet at N1073741824\endcsname{%
-  \BitSet at GetDecBig2147483648!%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BitSet at GetDecBig}
-%    |#1|: current power of two\\
-%    |#2|: result\\
-%    |#3#4|: number
-%    \begin{macrocode}
-\def\BitSet at GetDecBig#1!#2!#3#4!{%
-  \ifx\\#4\\%
-    \ifx#31%
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Space
-        \BigIntCalcAdd#1!#2!%
-      }%
-    \else
-      \BitSet at AfterFiFi{ #2}%
-    \fi
-  \else
-    \ifx#31%
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet@@GetDecBig
-        \BigIntCalcAdd#1!#2!!#1!#4!%
-      }%
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at GetDecBig
-        \BigIntCalcShl#1!!#2!#4!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@GetDecBig}
-%    |#1|: result\\
-%    |#2|: power of two\\
-%    |#3#4|: number
-%    \begin{macrocode}
-\def\BitSet@@GetDecBig#1!#2!{%
-  \expandafter\expandafter\expandafter\BitSet at GetDecBig
-  \BigIntCalcShl#2!!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Logical operators}\label{src:log}
-%
-% \subsubsection{\cs{bitsetAnd}}
-%
-%    \begin{macro}{\bitsetAnd}
-%    Decision table for \cs{bitsetAnd}:
-%    \begin{quote}
-%    \begin{tabular}{l|l|l|l|}
-%                         & undef(B)   & empty(B)   & cardinality(B)$>$0\\
-%      \hline
-%      undef(A)           & A := empty & A := empty & A := empty\\
-%      \hline
-%      empty(A)           &            &            &\\
-%      \hline
-%      cardinality(A)$>$0 & A := empty & A := empty & A \&= B\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\bitsetAnd#1#2{%
-  \bitsetIsEmpty{#1}{%
-    \bitsetReset{#1}%
-  }{%
-    \bitsetIsEmpty{#2}{%
-      \bitsetReset{#1}%
-    }{%
-      \expandafter\edef\csname BS@#1\endcsname{%
-        \expandafter\expandafter\expandafter\BitSet at And
-        \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-        \expandafter\expandafter\expandafter!%
-        \csname BS@#2\endcsname!!%
-      }%
-      \expandafter\ifx\csname BS@#1\endcsname\BitSet at Empty
-        \bitsetReset{#1}%
-      \fi
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at And}
-%    \begin{macrocode}
-\def\BitSet at And#1#2!#3#4!#5!{%
-  \ifx\\#2\\%
-    \ifnum#1#3=11 #51\fi
-  \else
-    \ifx\\#4\\%
-      \ifnum#1#3=11 #51\fi
-    \else
-      \ifnum#1#3=11 %
-        #51%
-        \BitSet at AfterFiFiFi{%
-          \BitSet at And#2!#4!!%
-        }%
-      \else
-        \BitSet at AfterFiFiFi{%
-          \BitSet at And#2!#4!#50!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\cs{bitsetAndNot}}
-%
-%    \begin{macro}{\bitsetAndNot}
-%    Decision table for \cs{bitsetAndNot}:
-%    \begin{quote}
-%    \begin{tabular}{l|l|l|l|}
-%                         & undef(B)   & empty(B)   & cardinality(B)$>$0\\
-%      \hline
-%      undef(A)           & A := empty & A := empty & A := empty\\
-%      \hline
-%      empty(A)           &            &            &\\
-%      \hline
-%      cardinality(A)$>$0 &            &            & A \&= !B\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\bitsetAndNot#1#2{%
-  \bitsetIsEmpty{#1}{%
-    \bitsetReset{#1}%
-  }{%
-    \bitsetIsEmpty{#2}{%
-    }{%
-      \expandafter\edef\csname BS@#1\endcsname{%
-        \expandafter\expandafter\expandafter\BitSet at AndNot
-        \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-        \expandafter\expandafter\expandafter!%
-        \csname BS@#2\endcsname!!%
-      }%
-      \expandafter\ifx\csname BS@#1\endcsname\BitSet at Empty
-        \bitsetReset{#1}%
-      \fi
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at AndNot}
-%    \begin{macrocode}
-\def\BitSet at AndNot#1#2!#3#4!#5!{%
-  \ifx\\#2\\%
-    \ifnum#1#3=10 #51\fi
-  \else
-    \ifx\\#4\\%
-      #5%
-      \ifnum#1#3=10 1\else 0\fi
-      #2%
-    \else
-      \ifnum#1#3=10 %
-        #51%
-        \BitSet at AfterFiFiFi{%
-          \BitSet at AndNot#2!#4!!%
-        }%
-      \else
-        \BitSet at AfterFiFiFi{%
-          \BitSet at AndNot#2!#4!#50!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\cs{bitsetOr}}
-%
-%    \begin{macro}{\bitsetOr}
-%    Decision table for \cs{bitsetOr}:
-%    \begin{quote}
-%    \begin{tabular}{l|l|l|l|}
-%                         & undef(B)   & empty(B)   & cardinality(B)$>$0\\
-%      \hline
-%      undef(A)           & A := empty & A := empty & A := B\\
-%      \hline
-%      empty(A)           &            &            & A := B\\
-%      \hline
-%      cardinality(A)$>$0 &            &            & A \string|= B\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\bitsetOr#1#2{%
-  \bitsetIsEmpty{#2}{%
-    \BitSet at IfUndefined{#1}{\bitsetReset{#1}}{}%
-  }{%
-    \bitsetIsEmpty{#1}{%
-      \expandafter\let\csname BS@#1\expandafter\endcsname
-                      \csname BS@#2\endcsname
-    }{%
-      \expandafter\edef\csname BS@#1\endcsname{%
-        \expandafter\expandafter\expandafter\BitSet at Or
-        \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-        \expandafter\expandafter\expandafter!%
-        \csname BS@#2\endcsname!%
-      }%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Or}
-%    \begin{macrocode}
-\def\BitSet at Or#1#2!#3#4!{%
-  \ifnum#1#3>0 1\else 0\fi
-  \ifx\\#2\\%
-    #4%
-  \else
-    \ifx\\#4\\%
-      #2%
-    \else
-      \BitSet at AfterFiFi{%
-        \BitSet at Or#2!#4!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\cs{bitsetXor}}
-%
-%    \begin{macro}{\bitsetXor}
-%    Decision table for \cs{bitsetXor}:
-%    \begin{quote}
-%    \begin{tabular}{l|l|l|l|}
-%                         & undef(B)   & empty(B)   & cardinality(B)$>$0\\
-%      \hline
-%      undef(A)           & A := empty & A := empty & A := B\\
-%      \hline
-%      empty(A)           &            &            & A := B\\
-%      \hline
-%      cardinality(A)$>$0 &            &            & A \string^= B\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\bitsetXor#1#2{%
-  \bitsetIsEmpty{#2}{%
-    \BitSet at IfUndefined{#1}{\bitsetReset{#1}}{}%
-  }{%
-    \bitsetIsEmpty{#1}{%
-      \expandafter\let\csname BS@#1\expandafter\endcsname
-                      \csname BS@#2\endcsname
-    }{%
-      \expandafter\edef\csname BS@#1\endcsname{%
-        \expandafter\expandafter\expandafter\BitSet at Xor
-        \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-        \expandafter\expandafter\expandafter!%
-        \csname BS@#2\endcsname!!%
-      }%
-      \expandafter\ifx\csname BS@#1\endcsname\BitSet at Empty
-        \bitsetReset{#1}%
-      \fi
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Xor}
-%    \begin{macrocode}
-\def\BitSet at Xor#1#2!#3#4!#5!{%
-  \ifx\\#2\\%
-    \ifx#1#3%
-      \ifx\\#4\\%
-      \else
-        #50#4%
-      \fi
-    \else
-      #51#4%
-    \fi
-  \else
-    \ifx\\#4\\%
-      #5%
-      \ifx#1#30\else 1\fi
-      #2%
-    \else
-      \ifx#1#3%
-        \BitSet at AfterFiFiFi{%
-          \BitSet at Xor#2!#4!#50!%
-        }%
-      \else
-        #51%
-        \BitSet at AfterFiFiFi{%
-          \BitSet at Xor#2!#4!!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Shifting}\label{src:shift}
-%
-% \subsubsection{\cs{bitsetShiftLeft}}
-%
-%    \begin{macro}{\bitsetShiftLeft}
-%    \begin{macrocode}
-\def\bitsetShiftLeft#1#2{%
-  \BitSet at IfUndefined{#1}{%
-    \bitsetReset{#1}%
-  }{%
-    \bitsetIsEmpty{#1}{%
-    }{%
-      \expandafter\expandafter\expandafter\BitSet at ShiftLeft
-      \intcalcNum{#2}!{#1}%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at ShiftLeft}
-%    \begin{macrocode}
-\def\BitSet at ShiftLeft#1!#2{%
-  \ifcase\intcalcSgn{#1} %
-  \or
-    \begingroup
-      \uccode`m=`0 %
-    \uppercase\expandafter{\expandafter\endgroup
-      \expandafter\edef\csname BS@#2\expandafter\endcsname
-      \expandafter{%
-        \romannumeral#1000\expandafter\BitSet at Space
-        \csname BS@#2\endcsname
-      }%
-    }%
-  \else
-    \expandafter\BitSet at ShiftRight\BitSet at Gobble#1!{#2}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\cs{bitsetShiftRight}}
-%
-%    \begin{macro}{\bitsetShiftRight}
-%    \begin{macrocode}
-\def\bitsetShiftRight#1#2{%
-  \BitSet at IfUndefined{#1}{%
-    \bitsetReset{#1}%
-  }{%
-    \bitsetIsEmpty{#1}{%
-    }{%
-      \expandafter\expandafter\expandafter\BitSet at ShiftRight
-      \intcalcNum{#2}!{#1}%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at ShiftRight}
-%    \begin{macrocode}
-\def\BitSet at ShiftRight#1!#2{%
-  \ifcase\intcalcSgn{#1} %
-  \or
-    \expandafter\edef\csname BS@#2\endcsname{%
-      \expandafter\expandafter\expandafter\BitSet at Kill
-      \csname BS@#2\expandafter\endcsname\expandafter\BitSet at Empty
-      \expandafter=%
-      \expandafter{\expandafter}\expandafter{\expandafter}%
-      \romannumeral#1000!%
-    }%
-  \else
-    \expandafter\BitSet at ShiftLeft\BitSet at Gobble#1!{#2}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Kill}
-%    \begin{macrocode}
-\def\BitSet at Kill#1#2=#3#4#5{%
-  #3#4%
-  \ifx#5!%
-    \ifx#1\BitSet at Empty
-      0%
-    \else
-      #1#2%
-    \fi
-  \else
-    \ifx#1\BitSet at Empty
-      0%
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \BitSet at Kill#2=%
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Bit manipulation}\label{src:bitman}
-%
-%    \begin{macro}{\bitsetClear}
-%    \begin{macrocode}
-\def\bitsetClear{%
-  \BitSet at CheckIndex\BitSet at Clear
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetSet}
-%    \begin{macrocode}
-\def\bitsetSet{%
-  \BitSet at CheckIndex\BitSet at Set
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetFlip}
-%    \begin{macrocode}
-\def\bitsetFlip{%
-  \BitSet at CheckIndex\BitSet at Flip
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetSetValue}
-%    \begin{macrocode}
-\def\bitsetSetValue#1#2#3{%
-  \expandafter\expandafter\expandafter\BitSet at SetValue
-  \intcalcNum{#3}!{#1}{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at SetValue}
-%    |#1|: plain value\\
-%    |#2|: BitSet\\
-%    |#3|: Index
-%    \begin{macrocode}
-\def\BitSet at SetValue#1!{%
-  \BitSet at CheckIndex{%
-    \ifcase#1 %
-      \expandafter\BitSet at Clear
-    \or
-      \expandafter\BitSet at Set
-    \else
-      \BitSet at ErrorInvalidBitValue{#1}%
-      \expandafter\expandafter\expandafter\BitSet at Gobble
-      \expandafter\BitSet at Gobble
-    \fi
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at ErrorInvalidBitValue}
-%    |#1|: Wrong bit value
-%    \begin{macrocode}
-\def\BitSet at ErrorInvalidBitValue#1{%
-  \@PackageError{bitset}{%
-    Invalid bit value (#1) not in range 0..1%
-  }\@ehc
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Clear operation}
-%
-%    \begin{macro}{\BitSet at Clear}
-%    |#1|: BitSet\\
-%    |#2|: plain and checked index
-%    \begin{macrocode}
-\def\BitSet at Clear#1#2{%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet@@Clear
-    \csname BS@#1\expandafter\endcsname
-    \expandafter\BitSet at Empty\expandafter=\expandafter!%
-    \romannumeral#2000!%
-  }%
-  \expandafter\let\csname BS@#1\expandafter\endcsname
-  \ifx\BitSet at Temp\BitSet at Empty
-    \BitSet at Zero
-  \else
-    \BitSet at Temp
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@Clear}
-%    \begin{macrocode}
-\def\BitSet@@Clear#1#2=#3!#4{%
-  \ifx#4!%
-    \ifx#1\BitSet at Empty
-    \else
-      \ifx\BitSet at Empty#2%
-      \else
-        #30#2%
-      \fi
-    \fi
-  \else
-    \ifx#1\BitSet at Empty
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \ifx#10%
-        \BitSet at AfterFiFiFi{%
-          \BitSet@@Clear#2=#30!%
-        }%
-      \else
-        #31%
-        \BitSet at AfterFiFiFi{%
-          \BitSet@@Clear#2=!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Set operation}
-%
-%    \begin{macro}{\BitSet at Set}
-%    |#1|: BitSet\\
-%    |#2|: plain and checked Index
-%    \begin{macrocode}
-\def\BitSet at Set#1#2{%
-  \expandafter\edef\csname BS@#1\endcsname{%
-    \expandafter\expandafter\expandafter\BitSet@@Set
-    \csname BS@#1\expandafter\endcsname
-    \expandafter\BitSet at Empty\expandafter=%
-    \expandafter{\expandafter}\expandafter{\expandafter}%
-    \romannumeral#2000!%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@Set}
-%    \begin{macrocode}
-\def\BitSet@@Set#1#2=#3#4#5{%
-  #3#4%
-  \ifx#5!%
-    1#2%
-  \else
-    \ifx#1\BitSet at Empty
-      0%
-      \BitSet at AfterFiFi\BitSet@@@Set
-    \else
-      #1%
-      \BitSet@@Set#2=%
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@@Set}
-%    \begin{macrocode}
-\def\BitSet@@@Set#1{%
-  \ifx#1!%
-    1%
-  \else
-    0%
-    \expandafter\BitSet@@@Set
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Flip operation}
-%
-%    \begin{macro}{\BitSet at Flip}
-%    |#1|: BitSet\\
-%    |#2|: plain and checked Index
-%    \begin{macrocode}
-\def\BitSet at Flip#1#2{%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet@@Flip
-    \csname BS@#1\expandafter\endcsname
-    \expandafter\BitSet at Empty\expandafter=\expandafter!%
-    \romannumeral#2000!%
-  }%
-  \expandafter\let\csname BS@#1\expandafter\endcsname
-  \ifx\BitSet at Temp\BitSet at Empty
-    \BitSet at Zero
-  \else
-    \BitSet at Temp
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@Flip}
-%    \begin{macrocode}
-\def\BitSet@@Flip#1#2=#3!#4{%
-  \ifx#4!%
-    \ifx#11%
-      \ifx\BitSet at Empty#2%
-      \else
-        #30#2%
-      \fi
-    \else
-      #31#2%
-    \fi
-  \else
-    \ifx#1\BitSet at Empty
-      #30%
-      \BitSet at AfterFiFi\BitSet@@@Set
-    \else
-      \ifx#10%
-        \BitSet at AfterFiFiFi{%
-          \BitSet@@Flip#2=#30!%
-        }%
-      \else
-        #31%
-        \BitSet at AfterFiFiFi{%
-          \BitSet@@Flip#2=!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Range operators}
-%
-%    \begin{macro}{\bitsetClearRange}
-%    \begin{macrocode}
-\def\bitsetClearRange{%
-  \BitSet at Range\BitSet at Clear
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetSetRange}
-%    \begin{macrocode}
-\def\bitsetSetRange{%
-  \BitSet at Range\BitSet at Set
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetFlipRange}
-%    \begin{macrocode}
-\def\bitsetFlipRange{%
-  \BitSet at Range\BitSet at Flip
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetSetValueRange}
-%    \begin{macrocode}
-\def\bitsetSetValueRange#1#2#3#4{%
-  \expandafter\expandafter\expandafter\BitSet at SetValueRange
-  \intcalcNum{#4}!{#1}{#2}{#3}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at SetValueRange}
-%    \begin{macrocode}
-\def\BitSet at SetValueRange#1!#2#3#4{%
-  \ifcase#1 %
-    \BitSet at Range\BitSet at Clear{#2}{#3}{#4}%
-  \or
-    \BitSet at Range\BitSet at Set{#2}{#3}{#4}%
-  \else
-    \BitSet at ErrorInvalidBitValue{#1}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BitSet at Range}
-%    |#1|: clear/set/flip macro\\
-%    |#2|: BitSet\\
-%    |#3|: Index from\\
-%    |#4|: Index to
-%    \begin{macrocode}
-\def\BitSet at Range#1#2#3#4{%
-  \edef\BitSet at Temp{%
-    \noexpand\BitSet@@Range\noexpand#1{#2}%
-    \intcalcNum{#3}!\intcalcNum{#4}!%
-  }%
-  \BitSet at Temp
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@Range}
-%    |#1|: clear/set/flip macro\\
-%    |#2|: BitSet\\
-%    |#3|: Index from\\
-%    |#4|: Index to
-%    \begin{macrocode}
-\def\BitSet@@Range#1#2#3!#4!{%
-  \ifnum#3<0 %
-    \BitSet at NegativeIndex#1{#2}#3!#4!0!#4!%
-  \else
-    \ifnum#4<0 %
-      \BitSet at NegativeIndex#1{#2}#3!#4!#3!0!%
-    \else
-      \ifcase\intcalcCmp{#3}{#4} %
-      \or
-        \@PackageError{bitset}{%
-          Wrong index numbers in range [#3..#4]\MessageBreak% hash-ok
-          for clear/set/flip on bit set `#2'.\MessageBreak
-          The lower index exceeds the upper index.\MessageBreak
-          Canceling the operation as error recovery%
-        }\@ehc
-      \else
-        \BitSet@@@Range#3!#4!#1{#2}%
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at NegativeIndex}
-%    \begin{macrocode}
-\def\BitSet at NegativeIndex#1#2#3!#4!#5!#6!{%
-  \@PackageError{bitset}{%
-    Negative index in range [#3..#4]\MessageBreak % hash-ok
-    for \string\bitset
-    \ifx#1\BitSet at Clear
-      Clear%
-    \else
-      \ifx#1\BitSet at Set
-        Set%
-      \else
-        Flip%
-      \fi
-    \fi
-    Range on bit set `#2'.\MessageBreak
-    Using [#5..#6] as error recovery% hash-ok
-  }\@ehc
-  \BitSet@@Range#1{#2}#5!#6!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@Range}
-%    \begin{macrocode}
-\def\BitSet@@@Range#1!#2!#3#4{%
-  \ifnum#1<#2 %
-    #3{#4}{#1}%
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet@@@Range
-      \IntCalcInc#1!!#2!#3{#4}%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Bit retrieval}\label{src:bitret}
-%
-% \subsubsection{\cs{bitsetGet}}
-%
-%    \begin{macro}{\bitsetGet}
-%    \begin{macrocode}
-\def\bitsetGet#1#2{%
-  \number
-  \expandafter\expandafter\expandafter\BitSet at Get
-  \intcalcNum{#2}!{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Get}
-%    |#1|: plain index\\
-%    |#2|: BitSet
-%    \begin{macrocode}
-\def\BitSet at Get#1!#2{%
-  \ifnum#1<0 %
-    \BitSet at AfterFi{%
-      0 \BitSetError:NegativeIndex%
-    }%
-  \else
-    \BitSet at IfUndefined{#2}{0}{%
-      \expandafter\expandafter\expandafter\BitSet@@Get
-      \csname BS@#2\expandafter\endcsname
-      \expandafter!\expandafter=%
-      \expandafter{\expandafter}\expandafter{\expandafter}%
-      \romannumeral\intcalcNum{#1}000!%
-    }%
-    \expandafter\BitSet at Space
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@Get}
-%    \begin{macrocode}
-\def\BitSet@@Get#1#2=#3#4#5{%
-  #3#4%
-  \ifx#5!%
-    \ifx#1!%
-      0%
-    \else
-      #1%
-    \fi
-  \else
-    \ifx#1!%
-      0%
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \BitSet@@Get#2=%
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\cs{bitsetNextClearBit}, \cs{bitsetNextSetBit}}
-%
-%    \begin{macro}{\bitsetNextClearBit}
-%    \begin{macrocode}
-\def\bitsetNextClearBit#1#2{%
-  \number
-  \expandafter\expandafter\expandafter\BitSet at NextClearBit
-  \intcalcNum{#2}!{#1} %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at NextClearBit}
-%    |#1|: Index\\
-%    |#2|: BitSet
-%    \begin{macrocode}
-\def\BitSet at NextClearBit#1!#2{%
-  \ifnum#1<0 %
-    \BitSet at NextClearBit0!{#2}%
-    \BitSet at AfterFi{%
-      \expandafter\BitSet at Space
-      \expandafter\BitSetError:NegativeIndex\romannumeral0%
-    }%
-  \else
-    \bitsetIsEmpty{#2}{#1}{%
-      \expandafter\BitSet at Skip
-      \number#1\expandafter\expandafter\expandafter!%
-      \csname BS@#2\endcsname!!!!!!!!!=%
-      {\BitSet@@NextClearBit#1!}%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@NextClearBit}
-%    |#1|: index for next bit in |#2|\\
-%    |#2|: next bit
-%    \begin{macrocode}
-\def\BitSet@@NextClearBit#1!#2{%
-  \ifx#2!%
-    #1%
-  \else
-    \ifx#20%
-      #1%
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet@@NextClearBit
-        \IntCalcInc#1!!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bitsetNextSetBit}
-%    \begin{macrocode}
-\def\bitsetNextSetBit#1#2{%
-  \number
-  \expandafter\expandafter\expandafter\BitSet at NextSetBit
-  \intcalcNum{#2}!{#1} %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at NextSetBit}
-%    |#1|: Index\\
-%    |#2|: BitSet
-%    \begin{macrocode}
-\def\BitSet at NextSetBit#1!#2{%
-  \ifnum#1<0 %
-    \BitSet at NextSetBit0!{#2}%
-    \BitSet at AfterFi{%
-      \expandafter\BitSet at Space
-      \expandafter\BitSetError:NegativeIndex\romannumeral0%
-    }%
-  \else
-    \bitsetIsEmpty{#2}{-1}{%
-      \expandafter\BitSet at Skip
-      \number#1\expandafter\expandafter\expandafter!%
-      \csname BS@#2\endcsname!!!!!!!!!=%
-      {\BitSet@@NextSetBit#1!}%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet@@NextSetBit}
-%    |#1|: index for next bit in |#2|\\
-%    |#2|: next bit
-%    \begin{macrocode}
-\def\BitSet@@NextSetBit#1!#2{%
-  \ifx#2!%
-    -1%
-  \else
-    \ifx#21%
-      #1%
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet@@NextSetBit
-        \IntCalcInc#1!!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Cleanup}
-%    \begin{macrocode}
-\def\BitSet at Cleanup#1!{}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BitSet at Skip}
-%    |#1|: number of bits to skip\\
-%    |#2|: bits\\
-%    |#3|: continuation code
-%    \begin{macrocode}
-\def\BitSet at Skip#1!#2{%
-  \ifx#2!%
-    \BitSet at AfterFi{%
-      \BitSet at SkipContinue%
-    }%
-  \else
-    \ifcase#1 %
-      \BitSet at AfterFiFi{%
-        \BitSet at SkipContinue#2%
-      }%
-    \or
-      \BitSet at AfterFiFi\BitSet at SkipContinue
-    \or
-      \BitSet at AfterFiFi{%
-        \expandafter\BitSet at SkipContinue\BitSet at Gobble
-      }%
-    \else
-      \ifnum#1>8 %
-        \BitSet at AfterFiFiFi{%
-          \expandafter\BitSet at Skip
-          \number\IntCalcSub#1!8!\expandafter!%
-          \BitSet at GobbleSeven
-        }%
-      \else
-        \BitSet at AfterFiFiFi{%
-          \expandafter\expandafter\expandafter\BitSet at Skip
-          \IntCalcDec#1!!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at SkipContinue}
-%    |#1|: remaining bits\\
-%    |#2|: continuation code
-%    \begin{macrocode}
-\def\BitSet at SkipContinue#1!#2=#3{%
-  #3#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at GobbleSeven}
-%    \begin{macrocode}
-\def\BitSet at GobbleSeven#1#2#3#4#5#6#7{}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\cs{bitsetGetSetBitList}}
-%
-%    \begin{macro}{\bitsetGetSetBitList}
-%    It's just a wrapper for \cs{bitsetNextSetBit}.
-%    \begin{macrocode}
-\def\bitsetGetSetBitList#1{%
-  \romannumeral0%
-  \bitsetIsEmpty{#1}{ }{%
-    \expandafter\BitSet at GetSetBitList
-    \number\BitSet at NextSetBit0!{#1}!{#1}{}!%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at GetSetBitList}
-%    |#1|: found index\\
-%    |#2|: BitSet\\
-%    |#3|: comma
-%    |#4|: result
-%    \begin{macrocode}
-\def\BitSet at GetSetBitList#1!#2#3#4!{%
-  \ifnum#1<0 %
-    \BitSet at AfterFi{ #4}%
-  \else
-    \BitSet at AfterFi{%
-      \expandafter\BitSet at GetSetBitList\number
-      \expandafter\expandafter\expandafter\BitSet at NextSetBit
-      \IntCalcInc#1!!{#2}!{#2},#4#3#1!%
-    }%
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Bit set properties}\label{src:prop}
-%
-%    \begin{macro}{\bitsetSize}
-%    \begin{macrocode}
-\def\bitsetSize#1{%
-  \number
-  \BitSet at IfUndefined{#1}{0 }{%
-    \expandafter\expandafter\expandafter\BitSet at Size
-    \expandafter\expandafter\expandafter1%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#1\endcsname!0!%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Size}
-%    |#1|: counter\\
-%    |#2#3|: bits\\
-%    |#4|: result
-%    \begin{macrocode}
-\def\BitSet at Size#1!#2#3!#4!{%
-  \ifx#21%
-    \ifx\\#3\\%
-      \BitSet at AfterFiFi{#1 }%
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Size
-        \IntCalcInc#1!!#3!#1!%
-      }%
-    \fi
-  \else
-    \ifx\\#3\\%
-      \BitSet at AfterFiFi{#4 }%
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Size
-        \IntCalcInc#1!!#3!#4!%
-      }%
-    \fi
-  \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bitsetCardinality}
-%    \begin{macrocode}
-\def\bitsetCardinality#1{%
-  \number
-  \BitSet at IfUndefined{#1}{0 }{%
-    \expandafter\expandafter\expandafter\BitSet at Cardinality
-    \expandafter\expandafter\expandafter0%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#1\endcsname!%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Cardinality}
-%    |#1|: result\\
-%    |#2#3|: bits
-%    \begin{macrocode}
-\def\BitSet at Cardinality#1!#2#3!{%
-  \ifx#21%
-    \ifx\\#3\\%
-      \BitSet at AfterFiFi{\IntCalcInc#1! }%
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Cardinality
-        \IntCalcInc#1!!#3!%
-      }%
-    \fi
-  \else
-    \ifx\\#3\\%
-      \BitSet at AfterFiFi{#1 }%
-    \else
-      \BitSet at AfterFiFi{%
-        \BitSet at Cardinality#1!#3!%
-      }%
-    \fi
-  \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Queries}\label{src:query}
-%
-%    \begin{macro}{\bitsetIsDefined}
-%    \begin{macrocode}
-\def\bitsetIsDefined#1{%
-  \BitSet at IfUndefined{#1}%
-  \BitSet at SecondOfTwo
-  \BitSet at FirstOfTwo
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bitsetIsEmpty}
-%    \begin{macrocode}
-\def\bitsetIsEmpty#1{%
-  \BitSet at IfUndefined{#1}\BitSet at FirstOfTwo{%
-    \expandafter\ifx\csname BS@#1\endcsname\BitSet at Zero
-      \expandafter\BitSet at FirstOfTwo
-    \else
-      \expandafter\BitSet at SecondOfTwo
-    \fi
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Zero}
-%    \begin{macrocode}
-\def\BitSet at Zero{0}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bitsetQuery}
-%    \begin{macrocode}
-\def\bitsetQuery#1#2{%
-  \ifnum\bitsetGet{#1}{#2}=1 %
-    \expandafter\BitSet at FirstOfTwo
-  \else
-    \expandafter\BitSet at SecondOfTwo
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bitsetEquals}
-%    \begin{macrocode}
-\def\bitsetEquals#1#2{%
-  \BitSet at IfUndefined{#1}{%
-    \BitSet at IfUndefined{#2}\BitSet at FirstOfTwo\BitSet at SecondOfTwo
-  }{%
-    \BitSet at IfUndefined{#2}\BitSet at SecondOfTwo{%
-      \expandafter\ifx\csname BS@#1\expandafter\endcsname
-                      \csname BS@#2\endcsname
-        \expandafter\BitSet at FirstOfTwo
-      \else
-        \expandafter\BitSet at SecondOfTwo
-      \fi
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bitsetIntersects}
-%    \begin{macrocode}
-\def\bitsetIntersects#1#2{%
-  \bitsetIsEmpty{#1}\BitSet at SecondOfTwo{%
-    \bitsetIsEmpty{#2}\BitSet at SecondOfTwo{%
-      \expandafter\expandafter\expandafter\BitSet at Intersects
-      \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-      \expandafter\expandafter\expandafter!%
-      \csname BS@#2\endcsname!%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BitSet at Intersects}
-%    \begin{macrocode}
-\def\BitSet at Intersects#1#2!#3#4!{%
-  \ifnum#1#3=11 %
-    \BitSet at AfterFi\BitSet at FirstOfTwo
-  \else
-    \ifx\\#2\\%
-      \BitSet at AfterFiFi\BitSet at SecondOfTwo
-    \else
-      \ifx\\#4\\%
-        \BitSet at AfterFiFiFi\BitSet at SecondOfTwo
-      \else
-        \BitSet at AfterFiFiFi{%
-          \BitSet at Intersects#2!#4!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\BitSet at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{bitset}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/bitset.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/bitset.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 bitset.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@{}}
-%   bitset.sty & tex/generic/oberdiek/bitset.sty\\
-%   bitset.pdf & doc/latex/oberdiek/bitset.pdf\\
-%   bitset.dtx & source/latex/oberdiek/bitset.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{bitset.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 bitset.dtx
-%makeindex -s gind.ist bitset.idx
-%pdflatex bitset.dtx
-%makeindex -s gind.ist bitset.idx
-%pdflatex bitset.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2007/09/28 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2011/01/30 v1.1}
-%   \item
-%     Already loaded package files are not input in \hologo{plainTeX}.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.2}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,777 +0,0 @@
-% \iffalse meta-comment
-%
-% File: catchfile.dtx
-% Version: 2016/05/16 v1.7
-% Info: Catch the contents of a file
-%
-% Copyright (C)
-%    2007, 2010, 2011 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
-%
-% The Base Interpreter refers to any `TeX-Format',
-% because some files are installed in TDS:tex/generic//.
-%
-% This work consists of the main source file catchfile.dtx
-% and the derived files
-%    catchfile.sty, catchfile.pdf, catchfile.ins, catchfile.drv,
-%    catchfile-test1.tex, catchfile-test2.tex,
-%    catchfile-test3.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/catchfile.dtx
-%    CTAN:macros/latex/contrib/oberdiek/catchfile.pdf
-%
-% Unpacking:
-%    (a) If catchfile.ins is present:
-%           tex catchfile.ins
-%    (b) Without catchfile.ins:
-%           tex catchfile.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{catchfile.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If catchfile.drv is present:
-%           latex catchfile.drv
-%    (b) Without catchfile.drv:
-%           latex catchfile.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 catchfile.dtx
-%       makeindex -s gind.ist catchfile.idx
-%       pdflatex catchfile.dtx
-%       makeindex -s gind.ist catchfile.idx
-%       pdflatex catchfile.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/catchfile.sty
-%    TDS:doc/latex/oberdiek/catchfile.pdf
-%    TDS:source/latex/oberdiek/catchfile.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: catchfile 2016/05/16 v1.7 Catch the contents of a file (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: catchfile
-Version: 2016/05/16 v1.7
-
-Copyright (C)
-   2007, 2010, 2011 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
-
-
-The Base Interpreter refers to any `TeX-Format',
-because some files are installed in TDS:tex/generic//.
-
-This work consists of the main source file catchfile.dtx
-and the derived files
-   catchfile.sty, catchfile.pdf, catchfile.ins, catchfile.drv,
-   catchfile-test1.tex, catchfile-test2.tex,
-   catchfile-test3.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{catchfile.ins}{\from{catchfile.dtx}{install}}%
-  \file{catchfile.drv}{\from{catchfile.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{catchfile.sty}{\from{catchfile.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{catchfile-test1.tex}{\from{catchfile.dtx}{test1}}%
-%  \file{catchfile-test2.tex}{\from{catchfile.dtx}{test2}}%
-%  \file{catchfile-test3.tex}{\from{catchfile.dtx}{test3}}%
-}
-
-\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{*     catchfile.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `catchfile.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{catchfile.drv}%
-  [2016/05/16 v1.7 Catch the contents of a file (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{catchfile.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{catchfile.drv}
-%
-% \title{The \xpackage{catchfile} package}
-% \date{2016/05/16 v1.7}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package catches the contents of a file and puts it in a macro.
-% It requires \eTeX. Both \LaTeX\ and \plainTeX\ are supported.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% The package relies on \eTeX's \cs{everyeof}. Otherwise it
-% aborts with an error message.
-%
-% \begin{declcs}{CatchFileDef} \M{cmd} \M{file name} \M{setup}\\
-% \cs{CatchFileEdef} \M{cmd} \M{file name} \M{setup}
-% \end{declcs}
-% Macro \meta{cmd} is defined with the contents
-% of file \meta{file name}.
-% \cs{CatchFileDef} uses \cs{def}, \cs{CatchFileEdef} \cs{edef}
-% for the definition.
-% Additional setup code for setting
-% catcodes or treatment of line ends can be given in code
-% \meta{setup}. See the test files for an example.
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-% \subsection{Reload check and package identification}
-%    Reload check, especially if the package is not used with \LaTeX.
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at catchfile.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{catchfile}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-%    \end{macrocode}
-%    Package identification:
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at catchfile.sty\endcsname
-\ProvidesPackage{catchfile}%
-  [2016/05/16 v1.7 Catch the contents of a file (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Catcodes}
-%
-%    \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 CatchFile at 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 at EnsureCode#1#2{%
-  \edef\CatchFile at AtEnd{%
-    \CatchFile at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\edef\CatchFile at AtEnd{\CatchFile at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{Preparations}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input infwarerr.sty\relax
-  \input ltxcmds.sty\relax
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{ltxcmds}[2010/03/09]%
-\fi
-%    \end{macrocode}
-%
-%    Check for \eTeX's \cs{everyeof}.
-%    \begin{macrocode}
-\begingroup
-  \escapechar=92\relax
-  \edef\TestString{\string\everyeof}%
-  \edef\TestMeaning{\meaning\everyeof}%
-  \ifx\TestString\TestMeaning
-  \else
-    \@PackageError{catchfile}{%
-      Cannot find e-TeX's \string\everyeof,\MessageBreak
-      package loading is aborted%
-    }\@ehd
-    \endgroup
-    \expandafter\CatchFile at AtEnd
-  \fi%
-\endgroup
-%    \end{macrocode}
-%
-% \subsection{Looking for primitive \cs{input}}
-%
-%    \begin{macro}{\CatchFile at Input}
-%    The package needs the expandable primitive \cs{input}.
-%    However there are formats that redefine it. For example,
-%    \LaTeX's \cs{input} is not expandable, but it stores
-%    the primitive in \cs{@@input}. The third possibility
-%    is \cs{pdfprimitive}, introduced in \pdfTeX\ 1.40.0.
-%
-%    Thus we try to find the primitive and store it in
-%    \cs{CatchFile at Input}. If it is used, it must be expanded
-%    twice (because of the solution with \cs{pdfprimitive}).
-%    \begin{macrocode}
-\begingroup
-  \def\Check#1#2#3#4\endgroup{%
-    \edef\TestString{\string#1}%
-    \edef\TestMeaning{\meaning#2}%
-    \ifx\TestString\TestMeaning
-      \endgroup
-      \let\CatchFile at Primitive#2%
-      \def\CatchFile at Input{\CatchFile at Primitive#3}%
-    \else
-      #4\endgroup
-    \fi
-  }%
-  \Check\input\input{}%
-  \Check\input\@@input{}%
-  \Check\pdfprimitive\pdfprimitive\input
-  \@PackageError{%
-    Cannot find primitive \string\input,\MessageBreak
-    package loading is aborted%
-  }\@ehd
-  \csname endgroup\endcsname
-  \CatchFile at AtEnd%
-\endgroup
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Input file check}
-%
-%    \begin{macro}{\CatchFile at CheckFileExists}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname IfFileExists\endcsname\relax
-  \input pdftexcmds.sty\relax
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname pdf at filesize\endcsname\relax
-    \def\CatchFile at CheckFileExists#1{%
-      \expandafter\ifx\csname @inputcheck\endcsname\relax
-        \csname newread\endcsname\@inputcheck
-      \fi
-      \openin\@inputcheck#1\relax
-      \expandafter\closein\expandafter\@inputcheck
-      \ifeof\@inputcheck
-        \let\CatchFile at File\relax
-      \else
-        \def\CatchFile at File{#1}%
-      \fi
-    }%
-  \else
-    \def\CatchFile at CheckFileExists#1{%
-      \expandafter\expandafter\expandafter\ifx
-      \expandafter\expandafter\expandafter\relax\pdf at filesize{#1}\relax
-        \let\CatchFile at File\relax
-      \else
-        \def\CatchFile at File{#1}%
-      \fi
-    }%
-  \fi
-\else
-  \def\CatchFile at CheckFileExists#1{%
-    \IfFileExists{#1}{%
-      \expandafter\CatchFile at DefFile\@filef at und\@nil
-      \begingroup\expandafter\expandafter\expandafter\endgroup
-      \expandafter\ifx\csname @addtofilelist\endcsname\relax
-      \else
-        \@addtofilelist\CatchFile at File
-      \fi
-    }{%
-      \let\CatchFile at File\relax
-    }%
-  }%
-  \def\CatchFile at DefFile#1 \@nil{%
-    \def\CatchFile at File{#1}%
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\CatchFile at NotFound}
-%    \begin{macrocode}
-\def\CatchFile at NotFound#1#2{%
-  \def#1{}%
-  \@PackageError{catchfile}{%
-    File `#2' not found%
-  }\@ehc
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Catch file contents}
-%
-%    \begin{macrocode}
-\ltx at IfUndefined{RequirePackage}{%
-  \input etexcmds.sty\relax
-}{%
-  \RequirePackage{etexcmds}[2010/01/28]%
-}
-%    \end{macrocode}
-%
-%    \begin{macro}{\CatchFileEdef}
-%    \begin{macrocode}
-\long\def\CatchFileEdef#1#2#3{%
-  \CatchFile at CheckFileExists{#2}%
-  \ifx\CatchFile at File\relax
-    \CatchFile at NotFound{#1}{#2}%
-  \else
-    \begingroup
-      \everyeof{\noexpand}%
-      #3%
-      \xdef\CatchFile at Contents{\CatchFile at Input\CatchFile at File\space}%
-    \endgroup
-    \let#1\CatchFile at Contents
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\CatchFileDef}
-%    \begin{macrocode}
-\long\def\CatchFileDef#1#2#3{%
-  \CatchFile at CheckFileExists{#2}%
-  \ifx\CatchFile at File\relax
-    \CatchFile at NotFound{#1}{#2}%
-  \else
-    \begingroup
-      \everyeof\expandafter{%
-        \CatchFile at EOF
-        \expandafter\CatchFile at Finish
-        \noexpand
-      }%
-      \ltx at ifundefined{etex at unexpanded}{%
-        \expandafter\long\expandafter\def\expandafter\CatchFile at Do
-            \expandafter##\expandafter1\CatchFile at EOF{%
-          \toks\ltx at zero{##1}%
-          \xdef\CatchFile at gtemp{\the\toks\ltx at zero}%
-          \def\CatchFile at Finish{%
-            \endgroup
-            \let#1\CatchFile at gtemp
-            \global\let\CatchFile at gtemp\ltx at undefined
-          }%
-        }%
-      }{%
-        \expandafter\long\expandafter\def\expandafter\CatchFile at Do
-            \expandafter##\expandafter1\CatchFile at EOF{%
-          \edef\CatchFile at Finish{%
-            \endgroup
-            \etex at unexpanded{%
-              \edef#1{\etex at unexpanded{##1}}%
-            }%
-          }%
-        }%
-      }%
-      #3\relax
-    \expandafter\expandafter\expandafter\CatchFile at Do
-    \CatchFile at Input\CatchFile at File\relax
-  \fi
-}
-%    \end{macrocode}
-%    \cs{relax} after |#3| was added to make it more robust in
-%    case the user uses something like
-%\begin{verbatim}
-%\CatchFileDef{\content}{\jobname.tt}{\endlinechar=-1}
-%\end{verbatim}
-%    that expands the following \cs{expandafter} after |#3| prematurely
-%    (contribution of Martin Scharrer).
-%    \end{macro}
-%    \begin{macro}{\CatchFile at EOF}
-%    If the file is read the catcode mappings are fixed.
-%    This means that the same character cannot occur
-%    inside the file with different catcodes.
-%    Thus we use as end of file marker the at sign
-%    twice with different catcodes.
-%    \begin{macrocode}
-\begingroup
-  \lccode65=64 % lowercase('A') = '@'
-  \lccode66=64 % lowercase('B') = '@'
-  \catcode65=8 % catcode('A') = subscript
-  \catcode66=3 % catcode('B') = math shift
-\lowercase{\endgroup
-  \def\CatchFile at EOF{AB}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\CatchFile at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{catchfile}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/catchfile.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/catchfile.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 catchfile.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@{}}
-%   catchfile.sty & tex/generic/oberdiek/catchfile.sty\\
-%   catchfile.pdf & doc/latex/oberdiek/catchfile.pdf\\
-%   catchfile.dtx & source/latex/oberdiek/catchfile.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{catchfile.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 catchfile.dtx
-%makeindex -s gind.ist catchfile.idx
-%pdflatex catchfile.dtx
-%makeindex -s gind.ist catchfile.idx
-%pdflatex catchfile.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2007/05/30 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/09/09 v1.1}
-%   \item
-%     Catcode section rewritten.
-%   \end{Version}
-%   \begin{Version}{2007/11/11 v1.2}
-%   \item
-%     Use of package \xpackage{pdftexcmds} for \LuaTeX\ support.
-%   \end{Version}
-%   \begin{Version}{2010/03/01 v1.3}
-%   \item
-%     Fix for unknown \cs{@PackageErrorNoLine}.
-%   \end{Version}
-%   \begin{Version}{2010/04/08 v1.4}
-%   \item
-%     \cs{closein} also added if \cs{ifeof} is true.
-%   \end{Version}
-%   \begin{Version}{2010/04/28 v1.5}
-%   \item
-%     \cs{CatchFileDef}: Getting rid of warning `end of semi simple group
-%     entered at line \dots\ of
-%     a different file (Florent Chervet).
-%   \item
-%     \cs{CatchFileDef}: Fix for error `Illegal parameter number in
-%     definition of \dots' (HO) including improvement that uses
-%     \cs{unexpanded} if available (Florent Chervet).
-%   \end{Version}
-%   \begin{Version}{2011/03/01 v1.6}
-%   \item
-%     \cs{relax} added after the setup argument of
-%     \cs{CatchFileDef} to prevent premature file reading
-%     (Martin Scharrer).
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.7}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,7 +1,7 @@
 % \iffalse meta-comment
 %
 % File: holtxdoc.dtx
-% Version: 2019/11/12 v0.29
+% Version: 2019/12/09 v0.30
 % Info: Private additional ltxdoc support
 %
 % Copyright (C)
@@ -79,7 +79,7 @@
 \input docstrip.tex
 \Msg{************************************************************************}
 \Msg{* Installation}
-\Msg{* Package: holtxdoc 2019/11/12 v0.29 Private additional ltxdoc support (HO)}
+\Msg{* Package: holtxdoc 2019/12/09 v0.30 Private additional ltxdoc support (HO)}
 \Msg{************************************************************************}
 
 \keepsilent
@@ -91,7 +91,7 @@
 This is a generated file.
 
 Project: holtxdoc
-Version: 2019/11/12 v0.29
+Version: 2019/12/09 v0.30
 
 Copyright (C)
    1999-2012 Heiko Oberdiek
@@ -152,7 +152,7 @@
 %<*driver>
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{holtxdoc.drv}%
-  [2019/11/12 v0.29 Private additional ltxdoc support (HO)]%
+  [2019/12/09 v0.30 Private additional ltxdoc support (HO)]%
 \documentclass{ltxdoc}
 \usepackage{holtxdoc}[2011/11/22]
 \begin{document}
@@ -166,7 +166,7 @@
 % \GetFileInfo{holtxdoc.drv}
 %
 % \title{The \xpackage{holtxdoc} package}
-% \date{2019/11/12 v0.29}
+% \date{2019/12/09 v0.30}
 % \author{Heiko Oberdiek\thanks
 % {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
 %
@@ -207,7 +207,7 @@
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{holtxdoc}%
-  [2019/11/12 v0.29 Private additional ltxdoc support (HO)]
+  [2019/12/09 v0.30 Private additional ltxdoc support (HO)]
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -217,7 +217,6 @@
 \RequirePackage{pdftexcmds}[2010/04/01]
 \RequirePackage{ltxcmds}[2010/03/09]
 \RequirePackage{hologo}[2011/11/22]
-\RequirePackage{ifluatex}[2010/03/01]
 \RequirePackage{array}
 %    \end{macrocode}
 %
@@ -467,12 +466,12 @@
 \def\XeTeX{\hologo{XeTeX}}
 \def\XeLaTeX{\hologo{XeLaTeX}}
 \def\plainTeX{\hologo{plainTeX}}
-\providecommand*{\teTeX}{te\TeX}
-\providecommand*{\mikTeX}{mik\TeX}
+\providecommand*{\teTeX}{\hologo{teTeX}}
+\providecommand*{\mikTeX}{\hologo{MiKTeX}}
 \providecommand*{\MakeIndex}{\textsl{MakeIndex}}
 \providecommand*{\docstrip}{\textsf{docstrip}}
-\providecommand*{\iniTeX}{\mbox{ini-\TeX}}
-\providecommand*{\VTeX}{V\TeX}
+\providecommand*{\iniTeX}{\hologo{iniTeX}}
+\providecommand*{\VTeX}{\hologo{VTeX}}
 %    \end{macrocode}
 %
 % \subsection{Setup}
@@ -800,6 +799,12 @@
 %     Add \verb|\bibpackage| (previously defined inline in some of the packages).
 %     Adjust CTAN links.
 %   \end{Version}
+%   \begin{Version}{2019/12/09 v0.30}
+%   \item
+%     Documentation updates.
+%   \item Don't use \xpackage{ifluatex} legacy package.
+%   \item use `\xpackage{hologo} definitions in more cases.
+%   \end{Version}
 % \end{History}
 %
 % \PrintIndex

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,675 +0,0 @@
-% \iffalse meta-comment
-%
-% File: listingsutf8.dtx
-% Version: 2016/05/16 v1.3
-% Info: Allow UTF-8 in listings input
-%
-% Copyright (C)
-%    2007, 2011 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 listingsutf8.dtx
-% and the derived files
-%    listingsutf8.sty, listingsutf8.pdf, listingsutf8.ins, listingsutf8.drv,
-%    listingsutf8-test1.tex, listingsutf8-test2.tex,
-%    listingsutf8-test3.tex, listingsutf8-test4.tex,
-%    listingsutf8-test5.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/listingsutf8.dtx
-%    CTAN:macros/latex/contrib/oberdiek/listingsutf8.pdf
-%
-% Unpacking:
-%    (a) If listingsutf8.ins is present:
-%           tex listingsutf8.ins
-%    (b) Without listingsutf8.ins:
-%           tex listingsutf8.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{listingsutf8.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If listingsutf8.drv is present:
-%           latex listingsutf8.drv
-%    (b) Without listingsutf8.drv:
-%           latex listingsutf8.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 listingsutf8.dtx
-%       makeindex -s gind.ist listingsutf8.idx
-%       pdflatex listingsutf8.dtx
-%       makeindex -s gind.ist listingsutf8.idx
-%       pdflatex listingsutf8.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/listingsutf8.sty
-%    TDS:doc/latex/oberdiek/listingsutf8.pdf
-%    TDS:source/latex/oberdiek/listingsutf8.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: listingsutf8 2016/05/16 v1.3 Allow UTF-8 in listings input (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: listingsutf8
-Version: 2016/05/16 v1.3
-
-Copyright (C)
-   2007, 2011 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 listingsutf8.dtx
-and the derived files
-   listingsutf8.sty, listingsutf8.pdf, listingsutf8.ins, listingsutf8.drv,
-   listingsutf8-test1.tex, listingsutf8-test2.tex,
-   listingsutf8-test3.tex, listingsutf8-test4.tex,
-   listingsutf8-test5.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{listingsutf8.ins}{\from{listingsutf8.dtx}{install}}%
-  \file{listingsutf8.drv}{\from{listingsutf8.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{listingsutf8.sty}{\from{listingsutf8.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{listingsutf8-test1.tex}{\from{listingsutf8.dtx}{test1}}%
-%  \file{listingsutf8-test2.tex}{\from{listingsutf8.dtx}{test2,utf8}}%
-%  \file{listingsutf8-test3.tex}{\from{listingsutf8.dtx}{test3,utf8x}}%
-%  \file{listingsutf8-test4.tex}{\from{listingsutf8.dtx}{test4,utf8,noetex}}%
-%  \file{listingsutf8-test5.tex}{\from{listingsutf8.dtx}{test5,utf8x,noetex}}%
-}
-
-\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{*     listingsutf8.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `listingsutf8.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{listingsutf8.drv}%
-  [2016/05/16 v1.3 Allow UTF-8 in listings input (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{listingsutf8.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{listingsutf8.drv}
-%
-% \title{The \xpackage{listingsutf8} 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}
-% Package \xpackage{listings} does not support files with multi-byte
-% encodings such as UTF-8. In case of \cs{lstinputlisting} a simple
-% workaround is possible if an one-byte encoding exists that the file
-% can be converted to. Also \eTeX\ and \pdfTeX\ regardless of its mode
-% are required.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{User interface}
-%
-% Load this package after or instead of package \xpackage{listings}
-% \cite{listings}.
-% The package does not define own options and passes given options to
-% package \xpackage{listings}.
-%
-% The syntax of package \xpackage{listings}' key \xoption{inputencoding}
-% is extended:
-% \begin{quote}
-%   |inputencoding=utf8/|\meta{one-byte-encoding}\\
-%   Example: |inputencoding=utf8/latin1|
-% \end{quote}
-% That means the file is encoded in UTF-8 and can
-% be converted to the given \meta{one-byte-encoding}.
-% The available encodings for \meta{one-byte-encoding} are
-% listed in section ``1.2 Supported encodings'' of
-% package \xpackage{stringenc}'s documentation \cite{stringenc}.
-% Of course, the encoding must encode its characters with
-% one byte exactly. This excludes the unicode encodings
-% (\xoption{utf8}, \xoption{utf16}, \dots).
-%
-% Only \cs{lstinputlisting} is supported by the syntax extension
-% of key \xoption{inputencoding}.
-%
-% Internally package \xpackage{listingsutf8} reads the file as binary file
-% via primitives of \pdfTeX\ (\cs{pdffiledump}). Then the file
-% contents is converted as string using package \xpackage{stringenc} and
-% finally the string is read as virtual file by \eTeX's \cs{scantokens}.
-%
-% \subsection{Future}
-%
-% Workarounds are not provided for
-% \begin{itemize}
-% \item \cs{lstinline}
-% \item Environment |lstlisting|.
-% \item Environments defined by \cs{lstnewenvironment}.
-% \end{itemize}
-% Perhaps someone will find time to extend package \xpackage{listings}
-% with full native support for UTF-8. Then this package would become obsolete.
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-% \subsection{Catcodes and 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 lstU at 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 at EnsureCode#1#2{%
-  \edef\lstU at AtEnd{%
-    \lstU at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{10}{12}% ^^J
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{36}{3}% $
-\TMP at EnsureCode{38}{4}% &
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{94}{7}% ^ (superscript)
-\TMP at EnsureCode{95}{8}% _ (subscript)
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{124}{12}% |
-\TMP at EnsureCode{126}{13}% ~ (active)
-\edef\lstU at AtEnd{\lstU at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-%    Package identification.
-%    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{listingsutf8}%
-  [2016/05/16 v1.3 Allow UTF-8 in listings input (HO)]
-%    \end{macrocode}
-%
-% \subsection{Package options}
-%
-% Just pass options to package listings.
-%
-%    \begin{macrocode}
-\DeclareOption*{%
-  \PassOptionsToPackage\CurrentOption{listings}%
-}
-\ProcessOptions*
-%    \end{macrocode}
-%    Key \xoption{inputencoding} was introduced in version
-%    2002/04/01 v1.0 of package \xpackage{listings}.
-%    \begin{macrocode}
-\RequirePackage{listings}[2002/04/01]
-%    \end{macrocode}
-%    Ensure that \cs{inputencoding} is provided.
-%    \begin{macrocode}
-\AtBeginDocument{%
-  \@ifundefined{inputencoding}{%
-    \RequirePackage{inputenc}%
-  }{}%
-}
-%    \end{macrocode}
-%
-% \subsection{Check prerequisites}
-%
-%    \begin{macrocode}
-\RequirePackage{pdftexcmds}[2011/04/22]
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\def\lstU at temp#1#2{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname #1\endcsname\relax
-    \PackageWarningNoLine{listingsutf8}{%
-      Package loading is aborted because of missing %
-      \@backslashchar#1.\MessageBreak
-      #2%
-    }%
-    \expandafter\lstU at AtEnd
-  \fi
-}
-\lstU at temp{scantokens}{It is provided by e-TeX}%
-\lstU at temp{pdf at unescapehex}{It is provided by pdfTeX >= 1.30}%
-\lstU at temp{pdf at filedump}{It is provided by pdfTeX >= 1.30}%
-\lstU at temp{pdf at filesize}{It is provided by pdfTeX >= 1.30}%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\RequirePackage{stringenc}[2010/03/01]
-%    \end{macrocode}
-%
-% \subsection{Add support for UTF-8}
-%
-%    \begin{macro}{\iflstU at utfviii}
-%    \begin{macrocode}
-\newif\iflstU at utfviii
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\lstU at inputenc}
-%    \begin{macrocode}
-\def\lstU at inputenc#1{%
-  \expandafter\lstU@@inputenc#1utf8/utf8/\@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\lstU@@inputenc}
-\def\lstU@@inputenc#1utf8/#2utf8/#3\@nil{%
-  \ifx\\#1\\%
-    \lstU at utfviiitrue
-    \def\lst at inputenc{#2}%
-  \else
-    \lstU at utfviiifalse
-  \fi
-}
-%    \begin{macrocode}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\lst at Key{inputencoding}\relax{%
-  \def\lst at inputenc{#1}%
-  \lstU at inputenc{#1}%
-}
-%    \end{macrocode}
-%
-% \subsubsection{Conversion}
-%
-%    \begin{macro}{\lstU at input}
-%    \begin{macrocode}
-\def\lstU at input#1{%
-  \iflstU at utfviii
-    \edef\lstU at text{%
-      \pdf at unescapehex{%
-        \pdf at filedump{0}{\pdf at filesize{#1}}{#1}%
-      }%
-    }%
-    \lstU at CRLFtoLF\lstU at text
-    \StringEncodingConvert\lstU at text\lstU at text{utf8}\lst at inputenc
-    \def\lstU at temp{%
-      \scantokens\expandafter{\lstU at text}%
-    }%
-  \else
-    \def\lstU at temp{%
-      \input{#1}%
-    }%
-  \fi
-  \lstU at temp
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Convert CR/LF pairs to LF}
-%
-%    \begin{macro}{\lstU at CRLFtoLF}
-%    \begin{macrocode}
-\begingroup
-  \endlinechar=-1 %
-  \@makeother\^^J %
-  \@makeother\^^M %
-  \gdef\lstU at CRLFtoLF#1{%
-    \edef#1{%
-      \expandafter\lstU at CRLFtoLF@aux#1^^M^^J\@nil
-    }%
-  }%
-  \gdef\lstU at CRLFtoLF@aux#1^^M^^J#2\@nil{%
-    #1%
-    \ifx\relax#2\relax
-      \@car
-    \fi
-    ^^J%
-    \lstU at CRLFtoLF@aux#2\@nil
-  }%
-\endgroup %
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Patch \cs{lst at InputListing}}
-%
-%    \begin{macrocode}
-\def\lstU at temp#1\def\lst at next#2#3\@nil{%
-  \def\lst at InputListing##1{%
-    #1%
-    \def\lst at next{\lstU at input{##1}}%
-    #3%
-  }%
-}
-\expandafter\lstU at temp\lst at InputListing{#1}\@nil
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\lstU at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{listingsutf8}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/listingsutf8.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/listingsutf8.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 listingsutf8.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@{}}
-%   listingsutf8.sty & tex/latex/oberdiek/listingsutf8.sty\\
-%   listingsutf8.pdf & doc/latex/oberdiek/listingsutf8.pdf\\
-%   listingsutf8.dtx & source/latex/oberdiek/listingsutf8.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{listingsutf8.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 listingsutf8.dtx
-%makeindex -s gind.ist listingsutf8.idx
-%pdflatex listingsutf8.dtx
-%makeindex -s gind.ist listingsutf8.idx
-%pdflatex listingsutf8.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-%
-% \bibitem{inputenc}
-%   Alan Jeffrey, Frank Mittelbach,
-%   \textit{inputenc.sty}, 2006/05/05 v1.1b.
-%   \CTANpkg{inputenc}
-%
-% \bibitem{listings}
-%   Carsten Heinz, Brooks Moses:
-%  \textit{The \xpackage{listings} package};
-%   2007/02/22;\\
-%   \CTANpkg{listings}.
-%
-% \bibitem{stringenc}
-%   Heiko Oberdiek:
-%   \textit{The \xpackage{stringenc} package};
-%   2007/10/22;\\
-%   \CTANpkg{stringenc}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2007/10/22 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/11/11 v1.1}
-%   \item
-%     Use of package \xpackage{pdftexcmds}.
-%   \end{Version}
-%   \begin{Version}{2011/11/10 v1.2}
-%   \item
-%     DOS line ends CR/LF normalized to LF to avoid empty lines
-%     (Bug report of Thomas Benkert in de.comp.text.tex).
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.3}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,5 +1,5 @@
 % oberdiek.ins
-% 2019/12/05
+% 2019/12/09
 %
 % Copyright (C)
 % 1999, 2001, 2006  Heiko Oberdiek
@@ -27,13 +27,9 @@
 \input docstrip
 
 \batchinput{aliascnt.dtx}
-\batchinput{alphalph.dtx}
-\batchinput{askinclude.dtx}
 \batchinput{auxhook.dtx}
 \batchinput{bigintcalc.dtx}
-\batchinput{bitset.dtx}
 \batchinput{bmpsize.dtx}
-\batchinput{catchfile.dtx}
 \batchinput{centernot.dtx}
 \batchinput{chemarr.dtx}
 \batchinput{classlist.dtx}
@@ -60,7 +56,6 @@
 \batchinput{intcalc.dtx}
 \batchinput{kvdefinekeys.dtx}
 \batchinput{kvsetkeys.dtx}
-\batchinput{listingsutf8.dtx}
 \batchinput{ltxcmds.dtx}
 \batchinput{pagegrid.dtx}
 \batchinput{pagesel.dtx}
@@ -69,15 +64,12 @@
 \batchinput{pdfcolparallel.dtx}
 \batchinput{pdfcolparcolumns.dtx}
 \batchinput{pdfcrypt.dtx}
-\batchinput{pdfescape.dtx}
 \batchinput{pdfrender.dtx}
-\batchinput{picture.dtx}
 \batchinput{protecteddef.dtx}
 \batchinput{refcount.dtx}
 \batchinput{resizegather.dtx}
 \batchinput{rotchiffre.dtx}
 \batchinput{scrindex.dtx}
-\batchinput{selinput.dtx}
 \batchinput{setouterhbox.dtx}
 \batchinput{settobox.dtx}
 \batchinput{soulutf8.dtx}

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex	2019-12-10 22:17:04 UTC (rev 53088)
@@ -10,7 +10,7 @@
 \newcommand*{\Author}{Heiko Oberdiek}
 
 \newcommand*{\Email}{ho-tex at tug.org}
-\newcommand*{\Date}{2019/12/05}
+\newcommand*{\Date}{2019/12/09}
 
 % Copyright (C) 2006-2016 by
 %    Heiko Oberdiek
@@ -176,10 +176,6 @@
 \begin{overview}
 \entry{aliascnt}{Alias counters}%
 [\entrysep]
-\entry{alphalph}{Convert numbers to letters}%
-[\entrysep]
-\entry{askinclude}{Interactive asking of included files}%
-[\entrysep]
 \entry{atveryend}{Hooks at the very end of document}%
 [\entrysep]
 \entry{auxhook}{Hooks for auxiliary files}%
@@ -186,12 +182,8 @@
 [\entrysep]
 \entry{bigintcalc}{Expandable calculations on big integers}%
 [\entrysep]
-\entry{bitset}{Handle bit-vector datatype}%
-[\entrysep]
 \entry{bmpsize}{Extract size/resolution from bitmap files}%
 [\entrysep]
-\entry{catchfile}{Catch the contents of a file}%
-[\entrysep]
 \entry{centernot}{Centers the not symbol horizontally}%
 [\entrysep]
 \entry{chemarr}{Arrows for chemical reactions}%
@@ -244,8 +236,6 @@
 [\entrysep]
 \entry{kvsetkeys}{Key value parser}%
 [\entrysep]
-\entry{listingsutf8}{Allow UTF-8 in listings input}%
-[\entrysep]
 \entry{ltxcmds}{\hologo{LaTeX} kernel commands for general use}%
 [\entrysep]
 \entry{pagegrid}{Print page grid in background}%
@@ -262,12 +252,8 @@
 [\entrysep]
 \entry{pdfcrypt}{Allows the setting of PDF encryption}%
 [\entrysep]
-\entry{pdfescape}{Implements \hologo{pdfTeX}'s escape features}%
-[\entrysep]
 \entry{pdfrender}{Access to some PDF graphics parameters}%
 [\entrysep]
-\entry{picture}{Dimens for picture macros}%
-[\entrysep]
 \entry{protecteddef}{Define protected commands}%
 [\entrysep]
 \entry{refcount}{Data extraction from label references}%
@@ -315,24 +301,6 @@
 \tocinclude{aliascnt}
 
 \newpage
-\subsection{\pkgsectformat{alphalph}}
-\label{alphalph}
-\begin{abstract}
-The package provides methods to represent numbers with a limited
-set of symbols. Both \hologo{LaTeX} and \hologo{plainTeX} are supported.
-\end{abstract}
-\tocinclude{alphalph}
-
-\newpage
-\subsection{\pkgsectformat{askinclude}}
-\label{askinclude}
-\begin{abstract}
-This package replaces \cs{includeonly} by an interactive user
-interface.
-\end{abstract}
-\tocinclude{askinclude}
-
-\newpage
 \subsection{\pkgsectformat{auxhook}}
 \label{auxhook}
 \begin{abstract}
@@ -351,16 +319,6 @@
 \tocinclude{bigintcalc}
 
 \newpage
-\subsection{\pkgsectformat{bitset}}
-\label{bitset}
-\begin{abstract}
-This package defines and implements the data type bit set,
-a vector of bits. The size of the vector may grow dynamically.
-Individual bits can be manipulated.
-\end{abstract}
-\tocinclude{bitset}
-
-\newpage
 \subsection{\pkgsectformat{bmpsize}}
 \label{bmpsize}
 \begin{abstract}
@@ -374,15 +332,6 @@
 \tocinclude{bmpsize}
 
 \newpage
-\subsection{\pkgsectformat{catchfile}}
-\label{catchfile}
-\begin{abstract}
-This package catches the contents of a file and puts it in a macro.
-It requires \eTeX. Both \LaTeX\ and \plainTeX\ are supported.
-\end{abstract}
-\tocinclude{catchfile}
-
-\newpage
 \subsection{\pkgsectformat{centernot}}
 \label{centernot}
 \begin{abstract}
@@ -650,18 +599,6 @@
 \tocinclude{kvsetkeys}
 
 \newpage
-\subsection{\pkgsectformat{listingsutf8}}
-\label{listingsutf8}
-\begin{abstract}
-Package \xpackage{listings} does not support files with multi-byte
-encodings such as UTF-8. In case of \cs{lstinputlisting} a simple
-workaround is possible if an one-byte encoding exists that the file
-can be converted to. Also \eTeX\ and \pdfTeX\ regardless of its mode
-are required.
-\end{abstract}
-\tocinclude{listingsutf8}
-
-\newpage
 \subsection{\pkgsectformat{ltxcmds}}
 \label{ltxcmds}
 \begin{abstract}
@@ -739,16 +676,6 @@
 \tocinclude{pdfcrypt}
 
 \newpage
-\subsection{\pkgsectformat{pdfescape}}
-\label{pdfescape}
-\begin{abstract}
-This package implements \pdfTeX's escape features
-(\cs{pdfescapehex}, \cs{pdfunescapehex}, \cs{pdfescapename},
-\cs{pdfescapestring}) using \TeX\ or \eTeX.
-\end{abstract}
-\tocinclude{pdfescape}
-
-\newpage
 \subsection{\pkgsectformat{pdfrender}}
 \label{pdfrender}
 \begin{abstract}
@@ -760,17 +687,6 @@
 
 
 \newpage
-\subsection{\pkgsectformat{picture}}
-\label{picture}
-\begin{abstract}
-There are macro and environment arguments that expect numbers
-that will internally be multiplicated with \cs{unitlength}.
-This package extends the syntax of these arguments that
-dimens with calculation support can be added for these arguments.
-\end{abstract}
-\tocinclude{picture}
-
-\newpage
 \subsection{\pkgsectformat{protecteddef}}
 \label{protecteddef}
 \begin{abstract}
@@ -829,15 +745,6 @@
 \tocinclude{scrindex}
 
 \newpage
-\subsection{\pkgsectformat{selinput}}
-\label{selinput}
-\begin{abstract}
-This package selects the input encoding by specifying between
-input characters and their glyph names.
-\end{abstract}
-\tocinclude{selinput}
-
-\newpage
 \subsection{\pkgsectformat{setouterhbox}}
 \label{setouterhbox}
 \begin{abstract}

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,1533 +0,0 @@
-% \iffalse meta-comment
-%
-% File: pdfescape.dtx
-% Version: 2016/05/16 v1.14
-% Info: Implements pdfTeX's escape features
-%
-% Copyright (C)
-%    2007, 2010, 2011 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
-%
-% The Base Interpreter refers to any `TeX-Format',
-% because some files are installed in TDS:tex/generic//.
-%
-% This work consists of the main source file pdfescape.dtx
-% and the derived files
-%    pdfescape.sty, pdfescape.pdf, pdfescape.ins, pdfescape.drv,
-%    pdfescape-test1.tex, pdfescape-test2.tex,
-%    pdfescape-test3.tex, pdfescape-test4.tex,
-%    pdfescape-test5.tex, pdfescape-test6.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/pdfescape.dtx
-%    CTAN:macros/latex/contrib/oberdiek/pdfescape.pdf
-%
-% Unpacking:
-%    (a) If pdfescape.ins is present:
-%           tex pdfescape.ins
-%    (b) Without pdfescape.ins:
-%           tex pdfescape.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{pdfescape.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If pdfescape.drv is present:
-%           latex pdfescape.drv
-%    (b) Without pdfescape.drv:
-%           latex pdfescape.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 pdfescape.dtx
-%       makeindex -s gind.ist pdfescape.idx
-%       pdflatex pdfescape.dtx
-%       makeindex -s gind.ist pdfescape.idx
-%       pdflatex pdfescape.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/pdfescape.sty
-%    TDS:doc/latex/oberdiek/pdfescape.pdf
-%    TDS:source/latex/oberdiek/pdfescape.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: pdfescape
-Version: 2016/05/16 v1.14
-
-Copyright (C)
-   2007, 2010, 2011 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
-
-
-The Base Interpreter refers to any `TeX-Format',
-because some files are installed in TDS:tex/generic//.
-
-This work consists of the main source file pdfescape.dtx
-and the derived files
-   pdfescape.sty, pdfescape.pdf, pdfescape.ins, pdfescape.drv,
-   pdfescape-test1.tex, pdfescape-test2.tex,
-   pdfescape-test3.tex, pdfescape-test4.tex,
-   pdfescape-test5.tex, pdfescape-test6.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{pdfescape.ins}{\from{pdfescape.dtx}{install}}%
-  \file{pdfescape.drv}{\from{pdfescape.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{pdfescape.sty}{\from{pdfescape.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{pdfescape-test1.tex}{\from{pdfescape.dtx}{test1}}%
-%  \file{pdfescape-test2.tex}{\from{pdfescape.dtx}{test2}}%
-%  \file{pdfescape-test3.tex}{\from{pdfescape.dtx}{test3}}%
-%  \file{pdfescape-test4.tex}{\from{pdfescape.dtx}{test4}}%
-%  \file{pdfescape-test5.tex}{\from{pdfescape.dtx}{test5}}%
-%  \file{pdfescape-test6.tex}{\from{pdfescape.dtx}{test6}}%
-}
-
-\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{*     pdfescape.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `pdfescape.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfescape.drv}%
-  [2016/05/16 v1.14 Implements pdfTeX's escape features (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{pdfescape.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{pdfescape.drv}
-%
-% \title{The \xpackage{pdfescape} package}
-% \date{2016/05/16 v1.14}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package implements \pdfTeX's escape features
-% (\cs{pdfescapehex}, \cs{pdfunescapehex}, \cs{pdfescapename},
-% \cs{pdfescapestring}) using \TeX\ or \eTeX.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \begin{declcs}{EdefEscapeHex} \M{cmd} \M{string}\\
-%  \cs{EdefUnescapeHex} \M{cmd} \M{string}\\
-%  \cs{EdefEscapeName} \M{cmd} \M{string}\\
-%  \cs{EdefEscapeString} \M{cmd} \M{string}
-% \end{declcs}
-% These commands converts \meta{string} and stores the result
-% in macro \meta{cmd}. The conversion result is the same
-% as the conversion of the corresponding \pdfTeX's primitives.
-% Note that the argument \meta{string} is expanded before
-% the conversion.
-%
-% For example, if \pdfTeX\ \textgreater= 1.30 is present,
-% then \cs{EdefEscapeHex}
-% becomes to:
-% \begin{quote}
-%\begin{verbatim}
-%\def\EdefEscapeHex#1#2{%
-%  \edef#1{\pdfescapehex{#2}}%
-%}
-%\end{verbatim}
-% \end{quote}
-% The package provides implementations for the case that \pdfTeX\ is
-% not present (or too old). Even \eTeX\ can be missing, however it is
-% used if it is detected.
-%
-% \paragraph{Babel.}
-% The input strings may contain shorthand characters of package
-% \xpackage{babel}.
-%
-% \subsection{Additional unescape macros}
-%
-% \begin{declcs}{EdefUnescapeName} \M{cmd} \M{string}
-% \end{declcs}
-% Sequences of a hash sign with two hexadecimal digits are
-% converted to the corresponding character (PDF-1.2).
-% A hash sign that is not followed by two hexadecimal digits
-% is left unchanged. The catcodes in the result string follow
-% TeX's conventions. The space has catcode 10 (space) and
-% the other characters have catcode 12 (other).
-%
-% \begin{declcs}{EdefUnescapeString} \M{cmd} \M{string}
-% \end{declcs}
-% Macro \meta{cmd} stores the unescaped string in \meta{string}.
-% All the rules for literal strings are implemented, see
-% PDF specification.
-% The catcodes in the result string follow TeX's conventions.
-%
-% \subsection{Sanitizing macro}
-%
-% \begin{declcs}{EdefSanitize} \M{cmd} \M{string}
-% \end{declcs}
-% Argument \meta{string} is expanded, converted to a string
-% of tokens with catcode 12 (other) and space tokens, and
-% stored in macro \meta{cmd}.
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-% \subsection{Reload check and package identification}
-%    Reload check, especially if the package is not used with \LaTeX.
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at pdfescape.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{pdfescape}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-%    \end{macrocode}
-%    Package identification:
-%    \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at pdfescape.sty\endcsname
-\ProvidesPackage{pdfescape}%
-  [2016/05/16 v1.14 Implements pdfTeX's escape features (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Catcodes}
-%
-%    \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 PE at 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 at EnsureCode#1#2#3{%
-  \edef\PE at AtEnd{%
-    \PE at AtEnd
-    #1#2=\the#1#2\relax
-  }%
-  #1#2=#3\relax
-}
-\TMP at EnsureCode\catcode{0}{12}% ^^@
-\TMP at EnsureCode\catcode{34}{12}% "
-\TMP at EnsureCode\catcode{36}{3}% $
-\TMP at EnsureCode\catcode{38}{4}% &
-\TMP at EnsureCode\catcode{39}{12}% '
-\TMP at EnsureCode\catcode{42}{12}% *
-\TMP at EnsureCode\catcode{45}{12}% -
-\TMP at EnsureCode\catcode{46}{12}% .
-\TMP at EnsureCode\catcode{47}{12}% /
-\TMP at EnsureCode\catcode{60}{12}% <
-\TMP at EnsureCode\catcode{62}{12}% >
-\TMP at EnsureCode\catcode{91}{12}% [
-\TMP at EnsureCode\catcode{93}{12}% ]
-\TMP at EnsureCode\catcode{94}{7}% ^
-\TMP at EnsureCode\catcode{96}{12}% `
-\TMP at EnsureCode\uccode{34}{0}% "
-\TMP at EnsureCode\uccode{48}{0}% 0
-\TMP at EnsureCode\uccode{61}{0}% =
-\edef\PE at AtEnd{\PE at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{Load package}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \def\TMP at RequirePackage#1[#2]{%
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-    \expandafter\ifx\csname ver@#1.sty\endcsname\relax
-      \input #1.sty\relax
-    \fi
-  }%
-  \TMP at RequirePackage{ltxcmds}[2010/04/08]%
-\else
-  \RequirePackage{ltxcmds}[2010/04/08]%
-\fi
-%    \end{macrocode}
-%
-% \subsection{Sanitizing}
-%
-%    \begin{macro}{\EdefSanitize}
-%    Macro \cs{EdefSanitize} takes |#2|, entirely converts
-%    it to token with catcode 12 (other) and stores the
-%    result in macro |#1|.
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname detokenize\endcsname\relax
-  \long\def\EdefSanitize#1#2{%
-    \begingroup
-      \csname @safe at activestrue\endcsname
-      \edef#1{#2}%
-      \PE at onelevel@sanitize#1%
-    \expandafter\endgroup
-    \expandafter\def\expandafter#1\expandafter{#1}%
-  }%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname @onelevel at sanitize\endcsname\relax
-    \def\PE at onelevel@sanitize#1{%
-      \edef#1{\expandafter\PE at strip@prefix\meaning#1}%
-    }%
-    \def\PE at strip@prefix#1>{}%
-  \else
-    \let\PE at onelevel@sanitize\@onelevel at sanitize
-  \fi
-\else
-  \long\def\EdefSanitize#1#2{%
-    \begingroup
-      \csname @safe at activestrue\endcsname
-      \edef#1{#2}%
-    \expandafter\endgroup
-    \expandafter\def\expandafter#1\expandafter{%
-      \detokenize\expandafter{#1}%
-    }%
-  }%
-  \def\PE at onelevel@sanitize#1{%
-    \edef#1{\detokenize\expandafter{#1}}%
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at sanitize}
-%    Macro \cs{PE at sanitize} is only defined for
-%    compatibility with version 1.4. Its use is deprecated.
-%    \begin{macrocode}
-\let\PE at sanitize\EdefSanitize
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Space characters}
-%
-%    \begin{macro}{\PE at space@other}
-%    \begin{macrocode}
-\begingroup
-  \catcode`\ =12\relax%
-\def\x{\endgroup\def\PE at space@other{ }}\x\relax
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at space@space}
-%    \begin{macrocode}
-\def\PE at space@space{ }
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Space normalization}
-%
-%    \begin{macro}{\PE at SanitizeSpaceOther}
-%    \begin{macrocode}
-\def\PE at SanitizeSpaceOther#1{%
-  \edef#1{\expandafter\PE at SpaceToOther#1 \relax}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\PE at SpaceToOther}
-%    \begin{macrocode}
-\def\PE at SpaceToOther#1 #2\relax{%
-  #1%
-  \ifx\\#2\\%
-  \else
-    \PE at space@other
-    \ltx at ReturnAfterFi{%
-      \PE at SpaceToOther#2\relax
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\cs{EdefUnescapeName}}
-%
-%    \begin{macro}{\EdefUnescapeName}
-%    \begin{macrocode}
-\def\EdefUnescapeName#1#2{%
-  \EdefSanitize#1{#2}%
-  \PE at SanitizeSpaceOther#1%
-  \PE at UnescapeName#1%
-  \PE at onelevel@sanitize#1%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\PE at UnescapeName}
-%    \begin{macrocode}
-\begingroup
-  \catcode`\$=6  % hash
-  \catcode`\#=12 % other
-  \gdef\PE at UnescapeName$1{%
-    \begingroup
-      \PE at InitUccodeHexDigit
-      \def\PE at result{}%
-      \expandafter\PE at DeName$1#\relax\relax
-    \expandafter\endgroup
-    \expandafter\def\expandafter$1\expandafter{\PE at result}%
-  }%
-  \gdef\PE at DeName$1#$2$3{%
-    \ifx\relax$2%
-      \edef\PE at result{\PE at result$1}%
-      \let\PE at next\relax
-    \else
-      \ifx\relax$3%
-        % wrong escape sequence in input
-        \edef\PE at result{\PE at result$1#}%
-        \let\PE at next\relax
-      \else
-        \uppercase{%
-          \def\PE at testA{$2}%
-          \def\PE at testB{$3}%
-        }%
-        \ifcase\ifcase\expandafter\PE at TestUcHexDigit\PE at testA
-                 \ifcase\expandafter\PE at TestUcHexDigit\PE at testB
-                   \ltx at zero
-                 \else
-                   \ltx at one
-                 \fi
-               \else
-                 \ltx at one
-               \fi
-          \uccode\ltx at zero="\PE at testA\PE at testB\relax
-          \uppercase{%
-            \def\PE at temp{^^@}%
-          }%
-          \uccode\ltx at zero=\ltx at zero
-          \edef\PE at result{\PE at result$1\PE at temp}%
-          \let\PE at next\PE at DeName
-        \else
-          % wrong escape sequence in input
-          \edef\PE at result{\PE at result$1#}%
-          \def\PE at next{\PE at DeName$2$3}%
-        \fi
-      \fi
-    \fi
-    \PE at next
-  }%
-\endgroup
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\PE at InitUccodeHexDigit}
-%    \begin{macrocode}
-\def\PE at InitUccodeHexDigit{%
-  \uccode`a=`A\relax
-  \uccode`b=`B\relax
-  \uccode`c=`C\relax
-  \uccode`d=`D\relax
-  \uccode`e=`E\relax
-  \uccode`f=`F\relax
-  \uccode`A=\ltx at zero
-  \uccode`B=\ltx at zero
-  \uccode`C=\ltx at zero
-  \uccode`D=\ltx at zero
-  \uccode`E=\ltx at zero
-  \uccode`F=\ltx at zero
-  \uccode`0=\ltx at zero
-  \uccode`1=\ltx at zero
-  \uccode`2=\ltx at zero
-  \uccode`3=\ltx at zero
-  \uccode`4=\ltx at zero
-  \uccode`5=\ltx at zero
-  \uccode`6=\ltx at zero
-  \uccode`7=\ltx at zero
-  \uccode`8=\ltx at zero
-  \uccode`9=\ltx at zero
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\PE at TestUcHexDigit}
-%    \begin{macrocode}
-\def\PE at TestUcHexDigit#1{%
-  \ifnum`#1<48 % 0
-    \ltx at one
-  \else
-    \ifnum`#1>70 % F
-      \ltx at one
-    \else
-      \ifnum`#1>57 % 9
-        \ifnum`#1<65 % A
-          \ltx at one
-        \else
-          \ltx at zero
-        \fi
-      \else
-        \ltx at zero
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\cs{EdefUnescapeString}}
-%
-%    \begin{macro}{\EdefUnescapeString}
-%    \begin{macrocode}
-\def\EdefUnescapeString#1#2{%
-  \EdefSanitize#1{#2}%
-  \PE at SanitizeSpaceOther#1%
-  \PE at NormalizeLineEnd#1%
-  \PE at UnescapeString#1%
-  \PE at onelevel@sanitize#1%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\begingroup
-  \uccode`\8=10 % lf
-  \uccode`\9=13 % cr
-\def\x#1#2{\endgroup
-%    \end{macrocode}
-%    \begin{macro}{\PE at NormalizeLineEnd}
-%    \begin{macrocode}
-  \def\PE at NormalizeLineEnd##1{%
-    \def\PE at result{}%
-    \expandafter\PE@@NormalizeLineEnd##1#2\relax
-    \let##1\PE at result
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE@@NormalizeLineEnd}
-%    \begin{macrocode}
-  \def\PE@@NormalizeLineEnd##1#2##2{%
-    \ifx\relax##2%
-      \edef\PE at result{\PE at result##1}%
-      \let\PE at next\relax
-    \else
-      \edef\PE at result{\PE at result##1#1}%
-      \ifx#1##2% lf
-        \let\PE at next\PE@@NormalizeLineEnd
-      \else
-        \def\PE at next{\PE@@NormalizeLineEnd##2}%
-      \fi
-    \fi
-    \PE at next
-  }%
-}%
-\uppercase{%
-  \x 89%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\begingroup
-  \catcode`\|=0 %
-  \catcode`\\=12 %
-%    \end{macrocode}
-%    \begin{macro}{\PE at UnescapeString}
-%    \begin{macrocode}
-  |gdef|PE at UnescapeString#1{%
-    |begingroup
-      |def|PE at result{}%
-      |expandafter|PE at DeString#1\|relax
-    |expandafter|endgroup
-    |expandafter|def|expandafter#1|expandafter{|PE at result}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at DeString}
-%    \begin{macrocode}
-  |gdef|PE at DeString#1\#2{%
-    |ifx|relax#2%
-      |edef|PE at result{|PE at result#1}%
-      |let|PE at next|relax
-    |else
-      |if n#2%
-        |uccode|ltx at zero=10 %
-      |else|if r#2%
-        |uccode|ltx at zero=13 %
-      |else|if t#2%
-        |uccode|ltx at zero=9 %
-      |else|if b#2%
-        |uccode|ltx at zero=8 %
-      |else|if f#2%
-        |uccode|ltx at zero=12 %
-      |else
-        |uccode|ltx at zero=|ltx at zero
-      |fi|fi|fi|fi|fi
-      |ifnum|uccode|ltx at zero>|ltx at zero
-        |uppercase{%
-          |edef|PE at temp{^^@}%
-        }%
-        |edef|PE at result{|PE at result#1|PE at temp}%
-        |let|PE at next|PE at DeString
-      |else
-        |if\#2% backslash
-          |edef|PE at result{|PE at result#1}%
-          |let|PE at next|PE at CheckEndBackslash
-        |else
-          |ifnum`#2=10 % linefeed
-            |edef|PE at result{|PE at result#1}%
-            |let|PE at next|PE at DeString
-          |else
-            |ifcase|PE at TestOctDigit#2%
-              |edef|PE at result{|PE at result#1}%
-              |def|PE at next{|PE at OctI#2}%
-            |else
-              |edef|PE at result{|PE at result#1#2}%
-              |let|PE at next|PE at DeString
-            |fi
-          |fi
-        |fi
-      |fi
-    |fi
-    |PE at next
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at CheckEndBackslash}
-%    \begin{macrocode}
-  |gdef|PE at CheckEndBackslash#1{%
-    |ifx|relax#1%
-    |else
-      |edef|PE at result{|PE at result\}%
-      |expandafter|PE at DeString|expandafter#1%
-    |fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-|endgroup
-%    \end{macrocode}
-%    \begin{macro}{\PE at TestOctDigit}
-%    \begin{macrocode}
-\def\PE at TestOctDigit#1{%
-  \ifnum`#1<48 % 0
-    \ltx at one
-  \else
-    \ifnum`#1>55 % 7
-      \ltx at one
-    \else
-      \ltx at zero
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at OctI}
-%    \begin{macrocode}
-\def\PE at OctI#1#2{%
-  \ifcase\PE at TestOctDigit#2%
-    \def\PE at next{\PE at OctII{#1#2}}%
-  \else
-    \def\PE at next{\PE at OctAll#1#2}%
-  \fi
-  \PE at next
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at OctII}
-%    \begin{macrocode}
-\def\PE at OctII#1#2{%
-  \ifcase\PE at TestOctDigit#2%
-    \def\PE at next{\PE at OctIII#1#2}%
-  \else
-    \def\PE at next{\PE at OctAll{#1}#2}%
-  \fi
-  \PE at next
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\ltx at IfUndefined{numexpr}{%
-  \catcode`\$=9 %
-  \catcode`\&=14 %
-}{%
-  \catcode`\$=14 %
-  \catcode`\&=9 %
-}
-%    \end{macrocode}
-%    \begin{macro}{\PE at OctIII}
-%    \begin{macrocode}
-\def\PE at OctIII#1#2#3{%
-  \ifnum#1<4 %
-    \def\PE at next{\PE at OctAll{#1#2#3}}%
-  \else
-$   \count\ltx at cclv#1 %
-$   \advance\count\ltx at cclv -4 %
-    \edef\PE at next{%
-      \noexpand\PE at OctAll{%
-$       \the\count\ltx at cclv
-&       \the\numexpr#1-4\relax
-        #2#3%
-      }%
-    }%
-  \fi
-  \PE at next
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at OctAll}
-%    \begin{macrocode}
-\def\PE at OctAll#1{%
-  \uccode\ltx at zero='#1\relax
-  \uppercase{%
-    \edef\PE at result{\PE at result^^@}%
-  }%
-  \PE at DeString
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{User macros (\pdfTeX\space analogues)}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \def\TMP at RequirePackage#1[#2]{%
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-    \expandafter\ifx\csname ver@#1.sty\endcsname\relax
-      \input #1.sty\relax
-    \fi
-  }%
-  \TMP at RequirePackage{pdftexcmds}[2007/11/11]%
-\else
-  \RequirePackage{pdftexcmds}[2007/11/11]%
-\fi
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdf at escapehex\endcsname\relax
-%    \end{macrocode}
-%
-%    \begin{macro}{\EdefEscapeHex}
-%    \begin{macrocode}
-  \long\def\EdefEscapeHex#1#2{%
-    \EdefSanitize#1{#2}%
-    \PE at SanitizeSpaceOther#1%
-    \PE at EscapeHex#1%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EdefUnescapeHex}
-%    \begin{macrocode}
-  \def\EdefUnescapeHex#1#2{%
-    \EdefSanitize#1{#2}%
-    \PE at UnescapeHex#1%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EdefEscapeName}
-%    \begin{macrocode}
-  \long\def\EdefEscapeName#1#2{%
-    \EdefSanitize#1{#2}%
-    \PE at SanitizeSpaceOther#1%
-    \PE at EscapeName#1%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EdefEscapeString}
-%    \begin{macrocode}
-  \long\def\EdefEscapeString#1#2{%
-    \EdefSanitize#1{#2}%
-    \PE at SanitizeSpaceOther#1%
-    \PE at EscapeString#1%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\else
-%    \end{macrocode}
-%
-%    \begin{macro}{\PE at edefbabel}
-%    Help macro that adds support for \xpackage{babel}'s shorthand
-%    characters.
-%    \begin{macrocode}
-  \long\def\PE at edefbabel#1#2#3{%
-    \begingroup
-      \csname @save at activestrue\endcsname
-      \edef#1{#2{#3}}%
-    \expandafter\endgroup
-    \expandafter\def\expandafter#1\expandafter{#1}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\EdefEscapeHex}
-%    \begin{macrocode}
-  \long\def\EdefEscapeHex#1#2{%
-    \PE at edefbabel#1\pdf at escapehex{#2}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EdefUnescapeHex}
-%    \begin{macrocode}
-  \def\EdefUnescapeHex#1#2{%
-    \PE at edefbabel#1\pdf at unescapehex{#2}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EdefEscapeName}
-%    \begin{macrocode}
-  \long\def\EdefEscapeName#1#2{%
-    \PE at edefbabel#1\pdf at escapename{#2}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\EdefEscapeString}
-%    \begin{macrocode}
-  \long\def\EdefEscapeString#1#2{%
-    \PE at edefbabel#1\pdf at escapestring{#2}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-  \expandafter\PE at AtEnd
-\fi%
-%    \end{macrocode}
-%
-% \subsection{Help macros}
-%
-% \subsubsection{Characters}
-%
-%    Special characters with catcode 12 (other) are created and
-%    stored in macros.
-%    \begin{macro}{\PE at hash}
-%    \begin{macrocode}
-\edef\PE at hash{\string#}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at backslash}
-%    \begin{macrocode}
-\begingroup
-  \escapechar=-1 %
-\edef\x{\endgroup
-  \def\noexpand\PE at backslash{\string\\}%
-}
-\x
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Switch for \eTeX}
-%
-%    \begin{macrocode}
-\ltx at newif\ifPE at etex
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-\else
-  \PE at etextrue
-\fi
-%    \end{macrocode}
-%
-% \subsection{Conversions}
-%
-% \subsubsection{Conversion to hex string}
-%
-%    \begin{macro}{\PE at EscapeHex}
-%    \begin{macrocode}
-\ifPE at etex
-  \def\PE at EscapeHex#1{%
-    \edef#1{\expandafter\PE at ToHex#1\relax}%
-  }%
-\else
-  \def\PE at EscapeHex#1{%
-    \def\PE at result{}%
-    \expandafter\PE at ToHex#1\relax
-    \let#1\PE at result
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at ToHex}
-%    \begin{macrocode}
-\def\PE at ToHex#1{%
-  \ifx\relax#1%
-  \else
-    \PE at HexChar{#1}%
-    \expandafter\PE at ToHex
-  \fi
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at HexChar}
-%    \begin{macrocode}
-\ifPE at etex
-  \def\PE at HexChar#1{%
-    \PE at HexDigit{\numexpr\dimexpr.0625\dimexpr`#1sp\relax\relax\relax}%
-    \PE at HexDigit{%
-      \numexpr`#1-16*\dimexpr.0625\dimexpr`#1sp\relax\relax\relax
-    }%
-  }%
-\else
-  \def\PE at HexChar#1{%
-    \dimen0=`#1sp%
-    \dimen2=.0625\dimen0 %
-    \advance\dimen0-16\dimen2 %
-    \edef\PE at result{%
-      \PE at result
-      \PE at HexDigit{\dimen2 }%
-      \PE at HexDigit{\dimen0 }%
-    }%
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at HexDigit}
-%    \begin{macrocode}
-\def\PE at HexDigit#1{%
-  \expandafter\string
-  \ifcase#1%
-    0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or
-    A\or B\or C\or D\or E\or F%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Character code to octal number}
-%
-%    \begin{macro}{\PE at OctChar}
-%    \begin{macrocode}
-\ifPE at etex
-  \def\PE at OctChar#1{%
-    \expandafter\PE@@OctChar
-        \the\numexpr\dimexpr.015625\dimexpr`#1sp\relax\relax
-            \expandafter\relax
-        \expandafter\relax
-        \the\numexpr\dimexpr.125\dimexpr`#1sp\relax\relax\relax
-        \relax
-        #1%
-  }%
-  \def\PE@@OctChar#1\relax#2\relax#3{%
-    \PE at backslash
-    #1%
-    \the\numexpr#2-8*#1\relax
-    \the\numexpr\dimexpr`#3sp\relax-8*#2\relax
-  }%
-\else
-  \def\PE at OctChar#1{%
-    \dimen0=`#1sp%
-    \dimen2=.125\dimen0 %
-    \dimen4=.125\dimen2 %
-    \advance\dimen0-8\dimen2 %
-    \advance\dimen2-8\dimen4 %
-    \edef\PE at result{%
-      \PE at result
-      \PE at backslash
-      \number\dimen4 %
-      \number\dimen2 %
-      \number\dimen0 %
-    }%
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Unpack hex string}
-%
-%    \begin{macro}{\PE at UnescapeHex}
-%    \begin{macrocode}
-\def\PE at UnescapeHex#1{%
-  \begingroup
-    \PE at InitUccodeHexDigit
-    \def\PE at result{}%
-    \expandafter\PE at DeHex#1\relax\relax
-  \expandafter\endgroup
-  \expandafter\def\expandafter#1\expandafter{\PE at result}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at DeHex}
-%    \begin{macrocode}
-\def\PE at DeHex#1#2{%
-  \ifx#2\relax
-    \ifx#1\relax
-      \let\PE at next\relax
-    \else
-      \uppercase{%
-        \def\PE at testA{#1}%
-      }%
-      \ifcase\expandafter\PE at TestUcHexDigit\PE at testA
-        \def\PE at next{%
-          \PE at DeHex#10\relax\relax
-        }%
-      \else
-        \let\PE at next\relax
-      \fi
-    \fi
-  \else
-    \uppercase{%
-      \def\PE at testA{#1}%
-      \def\PE at testB{#2}%
-    }%
-    \ifcase\expandafter\PE at TestUcHexDigit\PE at testA
-      \ifcase\expandafter\PE at TestUcHexDigit\PE at testB
-        \uccode\ltx at zero="\PE at testA\PE at testB\relax
-        \ifnum\uccode\ltx at zero=32 %
-          \let\PE at temp\PE at space@space
-        \else
-          \uppercase{%
-            \def\PE at temp{^^@}%
-          }%
-        \fi
-        \edef\PE at result{\PE at result\PE at temp}%
-        \let\PE at next\PE at DeHex
-      \else
-        % invalid input sequence
-        \def\PE at next{%
-          \PE at DeHex#1%
-        }%
-      \fi
-    \else
-      % invalid input sequence
-      \def\PE at next{\PE at DeHex#2}%
-    \fi
-  \fi
-  \PE at next
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Conversion to PDF name}
-%
-%    \begin{macro}{\PE at EscapeName}
-%    \begin{macrocode}
-\ifPE at etex
-  \def\PE at EscapeName#1{%
-    \edef#1{\expandafter\PE at EscapeNameTokens#1\relax}%
-  }%
-\else
-  \def\PE at EscapeName#1{%
-    \def\PE at result{}%
-    \expandafter\PE at EscapeNameTokens#1\relax
-    \let#1\PE at result
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at EscapeNameTokens}
-%    \begin{macrocode}
-\def\PE at EscapeNameTokens#1{%
-  \ifx\relax#1%
-  \else
-    \ifnum`#1<33 %
-      \ifcase`#1 %
-        % drop illegal zero
-      \else
-        \PE at EscapeNameAdd\PE at hash
-        \PE at HexChar#1%
-      \fi
-    \else
-      \ifnum`#1>126 %
-        \PE at EscapeNameAdd\PE at hash
-        \PE at HexChar#1%
-      \else  \ifnum`#1=35  \PE at EscapeNameHashChar 23% #
-        \else\ifnum`#1=37  \PE at EscapeNameHashChar 25% %
-        \else\ifnum`#1=40  \PE at EscapeNameHashChar 28% (
-        \else\ifnum`#1=41  \PE at EscapeNameHashChar 29% )
-        \else\ifnum`#1=47  \PE at EscapeNameHashChar 2F% /
-        \else\ifnum`#1=60  \PE at EscapeNameHashChar 3C% <
-        \else\ifnum`#1=62  \PE at EscapeNameHashChar 3E% >
-        \else\ifnum`#1=91  \PE at EscapeNameHashChar 5B% [
-        \else\ifnum`#1=93  \PE at EscapeNameHashChar 5D% ]
-        \else\ifnum`#1=123 \PE at EscapeNameHashChar 7B% {
-        \else\ifnum`#1=125 \PE at EscapeNameHashChar 7D% }
-        \else
-          \PE at EscapeNameAdd{#1}%
-        \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-      \fi
-    \fi
-    \expandafter\PE at EscapeNameTokens
-  \fi
-}%
-\def\PE at EscapeNameHashChar#1#2{%
-  \PE at EscapeNameAdd{\PE at hash\string#1\string#2}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at EscapeNameAdd}
-%    \begin{macrocode}
-\ifPE at etex
-  \def\PE at EscapeNameAdd#1{#1}%
-\else
-  \def\PE at EscapeNameAdd#1{%
-    \edef\PE at result{%
-      \PE at result
-      #1%
-    }%
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Conversion to PDF string}
-%
-%    \begin{macro}{\PE at EscapeString}
-%    \begin{macrocode}
-\ifPE at etex
-  \def\PE at EscapeString#1{%
-    \edef#1{\expandafter\PE at EscapeStringTokens#1\relax}%
-  }%
-\else
-  \def\PE at EscapeString#1{%
-    \begingroup
-      \def\PE at result{}%
-      \expandafter\PE at EscapeStringTokens#1\relax
-    \expandafter\endgroup
-    \expandafter\def\expandafter#1\expandafter{\PE at result}%
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at EscapeStringTokens}
-%    \begin{macrocode}
-\def\PE at EscapeStringTokens#1{%
-  \ifx\relax#1%
-  \else
-    \ifnum`#1<33 %
-      \PE at OctChar#1%
-    \else
-      \ifnum`#1>126 %
-        \PE at OctChar#1%
-      \else  \ifnum`#1=40 \PE at EscapeStringAdd{\string\(}% (
-        \else\ifnum`#1=41 \PE at EscapeStringAdd{\string\)}% )
-        \else\ifnum`#1=92 \PE at EscapeStringAdd{\string\\}% \
-        \else
-          \PE at EscapeStringAdd{#1}%
-        \fi\fi\fi
-      \fi
-    \fi
-    \expandafter\PE at EscapeStringTokens
-  \fi
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\PE at EscapeStringAdd}
-%    \begin{macrocode}
-\ifPE at etex
-  \def\PE at EscapeStringAdd#1{#1}%
-\else
-  \def\PE at EscapeStringAdd#1{%
-    \edef\PE at result{%
-      \PE at result
-      #1%
-    }%
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\PE at AtEnd%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{pdfescape}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/pdfescape.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/pdfescape.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 pdfescape.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@{}}
-%   pdfescape.sty & tex/generic/oberdiek/pdfescape.sty\\
-%   pdfescape.pdf & doc/latex/oberdiek/pdfescape.pdf\\
-%   pdfescape.dtx & source/latex/oberdiek/pdfescape.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{pdfescape.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 pdfescape.dtx
-%makeindex -s gind.ist pdfescape.idx
-%pdflatex pdfescape.dtx
-%makeindex -s gind.ist pdfescape.idx
-%pdflatex pdfescape.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2007/02/21 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/02/25 v1.1}
-%   \item
-%     Test files added.
-%   \item
-%     \cs{EdefUnescapeHex} supports lowercase letters.
-%   \item
-%     Fix: \verb|\EdefEscapeName{^^@}|
-%   \item
-%     Fix: \verb|\EdefEscapeName{\string#}|
-%   \item
-%     Fix for \cs{EdefUnescapeHex} in case of incomplete hex string.
-%   \item
-%     Fix: \cs{EdefUnescapeHex} generates space tokens with catcode
-%     10 (space) in all cases.
-%   \item
-%     Fix: \cs{EdefEscapeHex} and \cs{EdefEscapeName} now generate
-%     tokens with catcode 12 (other) only.
-%   \end{Version}
-%   \begin{Version}{2007/03/20 v1.2}
-%   \item
-%     Fix: Wrong year in \cs{ProvidesPackage}.
-%   \end{Version}
-%   \begin{Version}{2007/04/11 v1.3}
-%   \item
-%     Line ends sanitized.
-%   \end{Version}
-%   \begin{Version}{2007/04/21 v1.4}
-%   \item
-%     \cs{EdefUnescapeName} and \cs{EdefUnescapeString} added.
-%   \end{Version}
-%   \begin{Version}{2007/08/27 v1.5}
-%   \item
-%     \cs{EdefSanitize} added (replaces \cs{PE at sanitize}).
-%   \end{Version}
-%   \begin{Version}{2007/09/09 v1.6}
-%   \item
-%     Fix in catcode setup.
-%   \end{Version}
-%   \begin{Version}{2007/10/27 v1.7}
-%   \item
-%     More efficient \cs{EdefSanitize}.
-%   \end{Version}
-%   \begin{Version}{2007/11/11 v1.8}
-%   \item
-%     Use of package \xpackage{pdftexcmds} for \hologo{LuaTeX} support.
-%   \end{Version}
-%   \begin{Version}{2010/03/01 v1.9}
-%   \item
-%     Compatibility with \hologo{iniTeX}.
-%   \end{Version}
-%   \begin{Version}{2010/11/12 v1.10}
-%   \item
-%     Use of package \xpackage{ltxcmds}.
-%   \item
-%     Fix for compatibility with \hologo{iniTeX}.
-%   \end{Version}
-%   \begin{Version}{2011/01/30 v1.11}
-%   \item
-%     Already loaded package files are not input in \hologo{plainTeX}.
-%   \end{Version}
-%   \begin{Version}{2011/04/04 v1.12}
-%   \item
-%     Further fixes for compatibility for \hologo{iniTeX}.
-%   \item
-%     Test file for \hologo{iniTeX} added.
-%   \end{Version}
-%   \begin{Version}{2011/11/25 v1.13}
-%   \item
-%     Higher order bit of octal sequences in \cs{EdefUnescapeString}
-%     ignored according to the PDF specification
-%     (Bug found by Bruno Le Floch).
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.14}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/picture.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/picture.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/picture.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,768 +0,0 @@
-% \iffalse meta-comment
-%
-% File: picture.dtx
-% Version: 2016/05/16 v1.4
-% Info: Dimens for picture macros
-%
-% Copyright (C)
-%    2006-2009 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 picture.dtx
-% and the derived files
-%    picture.sty, picture.pdf, picture.ins, picture.drv,
-%    picture-example.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/picture.dtx
-%    CTAN:macros/latex/contrib/oberdiek/picture.pdf
-%
-% Unpacking:
-%    (a) If picture.ins is present:
-%           tex picture.ins
-%    (b) Without picture.ins:
-%           tex picture.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{picture.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If picture.drv is present:
-%           latex picture.drv
-%    (b) Without picture.drv:
-%           latex picture.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 picture.dtx
-%       makeindex -s gind.ist picture.idx
-%       pdflatex picture.dtx
-%       makeindex -s gind.ist picture.idx
-%       pdflatex picture.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/picture.sty
-%    TDS:doc/latex/oberdiek/picture.pdf
-%    TDS:doc/latex/oberdiek/picture-example.tex
-%    TDS:source/latex/oberdiek/picture.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: picture 2016/05/16 v1.4 Dimens for picture macros (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: picture
-Version: 2016/05/16 v1.4
-
-Copyright (C)
-   2006-2009 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 picture.dtx
-and the derived files
-   picture.sty, picture.pdf, picture.ins, picture.drv,
-   picture-example.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{picture.ins}{\from{picture.dtx}{install}}%
-  \file{picture.drv}{\from{picture.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{picture.sty}{\from{picture.dtx}{package}}%
-  \usedir{doc/latex/oberdiek}%
-  \file{picture-example.tex}{\from{picture.dtx}{example}}%
-}
-
-\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{*     picture.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `picture.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{picture.drv}%
-  [2016/05/16 v1.4 Dimens for picture macros (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{picture.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{picture.drv}
-%
-% \title{The \xpackage{picture} package}
-% \date{2016/05/16 v1.4}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% There are macro and environment arguments that expect numbers
-% that will internally be multiplicated with \cs{unitlength}.
-% This package extends the syntax of these arguments that
-% dimens with calculation support can be added for these arguments.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{User interface}
-%
-% \subsection{Introduction}
-%
-% The environment |picture| and macros such as \cs{put}, \cs{line},
-% \cs{vector} and other macros have arguments that expect numbers
-% that are used as factor for \cs{unitlength}.
-% This package redefines such macros and adds code that detects
-% whether such an argument is given as number or as length.
-% In the latter case, the length is used directly without multiplying
-% with \cs{unitlength}.
-%
-% \subsection{Options}
-%
-% Depending on the available features, also length expressions
-% can be given. Option \xoption{calc} loads package \xpackage{calc}.
-% Then expressions of these package may be used.
-% Otherwise \xoption{etex} wraps the length argument inside
-% \cs{dimexpr}\dots\cs{relax}, if \eTeX\ is available. Otherwise
-% option \xoption{plain} uses plain assignments without calculation
-% support.
-%
-% The default is \xoption{calc} if package \xpackage{calc}
-% is loaded before package \xoption{picture}. If you specify
-% option \xoption{calc} the loading of \xpackage{calc} is ensured.
-% Otherwise package \xpackage{picture} looks whether \cs{dimexpr}
-% is available and uses then option \xoption{etex} as default.
-% If \eTeX\ also could not be found, then \xoption{plain} is used.
-%
-% \subsection{Example}
-%
-%    \begin{macrocode}
-%<*example>
-\documentclass{article}
-
-\usepackage[calc]{picture}
-
-\begin{document}
-
-\setlength{\unitlength}{1pt}
-
-\begin{picture}(\widthof{Hello World}, 10mm)
-  \put(0, 0){\makebox(0,0)[lb]{Hello World}}%
-  \put(0, \heightof{Hello World} + \fboxsep){%
-    \line(1, 0){\widthof{Hello World}}%
-  }%
-  \put(\widthof{Hello World}, 10mm){%
-    \line(0, -1){10mm}%
-  }%
-\end{picture}
-
-\end{document}
-%</example>
-%    \end{macrocode}
-%
-% \subsection{Supported packages}
-%
-% Packages \xpackage{pspicture} and \xpackage{pict2e} are supported,
-% but they must be loaded before package \xpackage{picture}.
-%
-% New macros can be supported by \cs{picture at redefine}.
-% The first argument is the macro which contains the arguments
-% in its parameter text that you want to support by package \xpackage{picture}.
-% The second argument contains the parameter text. Change \# to \& for
-% the arguments in question.
-% Examples (already used by package \xpackage{picture}):
-% \begin{quote}
-% |\picture at redefine\put{(&1,&2)}|\\
-% |\picture at redefine\line{(#1,#2)&3}|
-% \end{quote}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Identification}
-%
-%    \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{picture}%
-  [2016/05/16 v1.4 Dimens for picture macros (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Options}
-%
-%    \begin{macrocode}
-\def\Pc at calcname{calc}
-\def\Pc at etexname{etex}
-\def\Pc at plainname{plain}
-%    \end{macrocode}
-%    \begin{macro}{\Pc at method}
-%    Macro \cs{Pc at method} stores the method to use for calculations.
-%    Check which features are available and set the default for \cs{Pc at method}.
-%    \begin{macrocode}
-\@ifpackageloaded{calc}{%
-  \let\Pc at method\Pc at calcname
-}{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname dimexpr\endcsname\relax
-    \let\Pc at method\Pc at plainname
-  \else
-    \let\Pc at method\Pc at etexname
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\DeclareOption{plain}{%
-  \let\Pc at method\Pc at plainname
-}
-\DeclareOption{etex}{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname dimexpr\endcsname\relax
-    \PackageError{picture}{%
-      e-TeX is not available%
-    }\@ehc
-  \else
-    \let\Pc at method\Pc at etexname
-  \fi
-}
-\DeclareOption{calc}{%
-  \let\Pc at method\Pc at calcname
-}
-\ProcessOptions*
-\begingroup
-  \let\on at line\@empty
-  \PackageInfo{picture}{Calculation method: \Pc at method}%
-\endgroup
-%    \end{macrocode}
-%
-% \subsection{Calculation method}
-%
-%    \begin{macrocode}
-\ifx\Pc at method\Pc at calcname
-  \RequirePackage{calc}%
-\fi
-%    \end{macrocode}
-%
-% \subsubsection{Method \xoption{calc}}
-%
-%    \begin{macrocode}
-\ifx\Pc at method\Pc at calcname
-  \def\Pc at tokslength#1{%
-    \begingroup
-      \let\calc at error\Pc at calc@error
-      \setlength\dimen@{#1\unitlength}\Pc at next\Pc at nil{#1}%
-  }%
-  \let\PcOrg at calc@error\calc at error
-  \@ifpackagelater{calc}{2007/08/22}{% v4.3
-    \def\Pc at calc@error#1{%
-      \expandafter\ifx\expandafter\unitlength\noexpand#1\relax
-        \def\calc at next##1!{%
-          \endgroup
-          \aftergroup\afterassignment
-          \aftergroup\Pc at next
-        }%
-        \expandafter\@firstoftwo
-      \else
-        \expandafter\@secondoftwo
-      \fi
-      {%
-        \calc at next{#1}%
-      }{%
-        \PcOrg at calc@error{#1}%
-      }%
-    }%
-  }{%
-    \def\Pc at calc@error#1{%
-      \expandafter\ifx\expandafter\unitlength\noexpand#1\relax
-        \def\calc at next##1!{%
-          \endgroup
-          \aftergroup\afterassignment
-          \aftergroup\Pc at next
-        }%
-        \expandafter\@gobble
-      \else
-        \expandafter\@firstofone
-      \fi
-      {%
-        \PcOrg at calc@error{#1}%
-      }%
-    }%
-  }%
-\fi
-%    \end{macrocode}
-%
-% \subsubsection{Method \xoption{etex}}
-%
-%    \begin{macrocode}
-\ifx\Pc at method\Pc at etexname
-  \def\Pc at tokslength#1{%
-    \begingroup
-      \afterassignment\Pc at next
-      \dimen@=\dimexpr#1\unitlength\Pc at nil{#1}%
-  }%
-\fi
-%    \end{macrocode}
-%
-% \subsubsection{Method \xoption{plain}}
-%
-%    \begin{macrocode}
-\ifx\Pc at method\Pc at plainname
-  \def\Pc at tokslength#1{%
-    \begingroup
-      \afterassignment\Pc at next
-      \dimen@=#1\unitlength\Pc at nil{#1}%
-  }%
-\fi
-%    \end{macrocode}
-%
-% \subsubsection{Help macros}
-%
-%    \begin{macrocode}
-\def\Pc at next#1\Pc at nil#2{%
-  \ifx\\#1\\%
-    \endgroup
-    \Pc at addtoks{{#2}}%
-  \else
-    \expandafter\endgroup
-    \expandafter\Pc at addtoks\expandafter{%
-      \expandafter{\the\dimen@\@gobble}%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \begin{macro}{\Pc at nil}
-%    \cs{Pc at nil} must not have the meaning of \cs{relax} because of
-%    \cs{dimexpr}.
-%    \begin{macrocode}
-\let\Pc at nil\message
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\Pc at addtoks}
-%    \begin{macrocode}
-\def\Pc at addtoks#1{%
-  \toks@=\expandafter{\the\toks@#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\Pc at init}
-%    \begin{macrocode}
-\def\Pc at init#1{%
-  \begingroup
-    \toks@={#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\Pc at finish}
-%    \begin{macrocode}
-\def\Pc at finish#1{%
-  \expandafter\endgroup
-  \expandafter#1\the\toks@
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Redefinitions}
-%
-%    \begin{macro}{\picture at redefine}
-%    \begin{tabular}[t]{@{}l@{ }l@{}}
-%    |#1|:& command name\\
-%    |#2|:& parameter text, length parameter with \& instead of \#
-%    \end{tabular}
-%    \begin{macrocode}
-\def\picture at redefine#1#2{%
-  \begingroup
-    \edef\reserved at a{%
-      \noexpand\noexpand
-      \expandafter\noexpand
-          \csname PcOrg@\expandafter\@gobble\string#1\endcsname
-    }%
-    \toks0{#1}%
-    \Pc at first#2&0%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\Pc at first}
-%    \begin{macrocode}
-\def\Pc at first#1&{%
-  \toks1={#1}%
-  \toks2={\Pc at init{#1}}%
-  \Pc at scanlength
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\Pc at scanlength}
-%    |#1|: number of length parameter or zero
-%    \begin{macrocode}
-\def\Pc at scanlength#1{%
-  \ifcase#1 %
-    \expandafter\Pc at last
-  \else
-    \toks1=\expandafter{\the\toks1 ###1}%
-    \toks2=\expandafter{\the\toks2 \Pc at tokslength{###1}}%
-    \expandafter\Pc at scannext
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\Pc at scannext}
-%    \begin{macrocode}
-\def\Pc at scannext#1&{%
-  \ifx\\#1\\%
-  \else
-    \toks1=\expandafter{\the\toks1 #1}%
-    \toks2=\expandafter{\the\toks2 \Pc at addtoks{#1}}%
-  \fi
-  \Pc at scanlength
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\Pc at last}
-%    \begin{macrocode}
-\def\Pc at last{%
-  \edef\x{%
-    \endgroup
-    \let\reserved at a\the\toks0 %
-    \def\the\toks0 \the\toks1 {%
-      \the\toks2 %
-      \noexpand\Pc at finish\reserved at a
-    }%
-  }%
-  \x
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\LaTeX\ base macros}
-%
-%    \begin{macrocode}
-\picture at redefine\@picture{(&1,&2)(&3,&4)}
-\picture at redefine\put{(&1,&2)}
-\picture at redefine\multiput{(&1,&2)}
-\picture at redefine\@multiput{(&1,&2)}
-\picture at redefine\line{(#1,#2)&3}
-\picture at redefine\vector{(#1,#2)&3}
-\picture at redefine\dashbox{&1(&2,&3)}
-\picture at redefine\@circle{&1}
-\picture at redefine\@dot{&1}
-\picture at redefine\@bezier{#1(&2,&3)(&4,&5)(&6,&7)}
-\picture at redefine\@imakepicbox{(&1,&2)}
-%    \end{macrocode}
-%
-% \subsubsection{Package \xpackage{pspicture}}
-%
-%     Package \xpackage{pspicture} changes the signature of \cs{@oval}
-%     by adding an optional argument.
-%    \begin{macrocode}
-\@ifpackageloaded{pspicture}{%
-  \picture at redefine\@oval{[&1](&2,&3)}%
-  \picture at redefine\Line{(&1,&2)}%
-  \picture at redefine\Curve{(&1,&2)}%
-  \picture at redefine\Vector{(&1,&2)}%
-}{%
-  \picture at redefine\@oval{(&1,&2)}%
-}
-%    \end{macrocode}
-%
-% \subsection{Check package loading order}
-%
-%    \begin{macro}{\PC at checkpackage}
-%    \begin{macrocode}
-\def\Pc at checkpackage#1{%
-  \@ifpackageloaded{#1}{%
-  }{%
-    \AtBeginDocument{%
-      \@ifpackageloaded{#1}{%
-        \PackageWarningNoLine{picture}{%
-          Package `#1' is loaded after `picture'.\MessageBreak
-          Load package `picture' afterwards to get full support%
-          \MessageBreak
-          of its additional syntax with length specifications%
-        }%
-      }{}%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\Pc at checkpackage{pict2e}
-\Pc at checkpackage{pspicture}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{picture}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/picture.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/picture.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 picture.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@{}}
-%   picture.sty & tex/latex/oberdiek/picture.sty\\
-%   picture.pdf & doc/latex/oberdiek/picture.pdf\\
-%   picture-example.tex & doc/latex/oberdiek/picture-example.tex\\
-%   picture.dtx & source/latex/oberdiek/picture.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{picture.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 picture.dtx
-%makeindex -s gind.ist picture.idx
-%pdflatex picture.dtx
-%makeindex -s gind.ist picture.idx
-%pdflatex picture.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2006/08/26 v1.0}
-%   \item
-%     First released version. (First start of the project was June/July 2002.)
-%   \end{Version}
-%   \begin{Version}{2007/04/11 v1.1}
-%   \item
-%     Line ends sanitized.
-%   \end{Version}
-%   \begin{Version}{2008/11/26 v1.2}
-%   \item
-%     Package \xpackage{pict2e} added to documentation section ``Supported
-%     packages''.
-%   \item
-%     Package order of supported packages is checked.
-%   \end{Version}
-%   \begin{Version}{2009/10/11 v1.3}
-%   \item
-%     Fix because of new version v4.3 of package \xpackage{calc}.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.4}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -159,7 +159,7 @@
   [2016/05/16 v1.3 Resize overly large equations (HO)]%
 \documentclass{ltxdoc}
 \usepackage{holtxdoc}[2011/11/22]
-\usepackage{ifluatex}
+\usepackage{iftex}[2019/11/07]
 \ifluatex
 \else
   \usepackage[T1]{fontenc}%

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/selinput.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/selinput.dtx	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/selinput.dtx	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,853 +0,0 @@
-% \iffalse meta-comment
-%
-% File: selinput.dtx
-% Version: 2016/05/17 v1.4
-% Info: Semi-automatic input encoding detection
-%
-% Copyright (C)
-%    2007 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 selinput.dtx
-% and the derived files
-%    selinput.sty, selinput.pdf, selinput.ins, selinput.drv,
-%    selinput-test1.tex, selinput-test2.tex, selinput-test3.tex,
-%    selinput-test4.tex, selinput-test5.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/selinput.dtx
-%    CTAN:macros/latex/contrib/oberdiek/selinput.pdf
-%
-% Unpacking:
-%    (a) If selinput.ins is present:
-%           tex selinput.ins
-%    (b) Without selinput.ins:
-%           tex selinput.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{selinput.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If selinput.drv is present:
-%           latex selinput.drv
-%    (b) Without selinput.drv:
-%           latex selinput.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 selinput.dtx
-%       makeindex -s gind.ist selinput.idx
-%       pdflatex selinput.dtx
-%       makeindex -s gind.ist selinput.idx
-%       pdflatex selinput.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/selinput.sty
-%    TDS:doc/latex/oberdiek/selinput.pdf
-%    TDS:source/latex/oberdiek/selinput.dtx
-%
-%<*ignore>
-\begingroup
-  \catcode123=1 %
-  \catcode125=2 %
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
-         \ifx\csname processbatchFile\endcsname\relax\else1\fi
-         \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-\Msg{************************************************************************}
-\Msg{* Installation}
-\Msg{* Package: selinput 2016/05/17 v1.4 Semi-automatic input encoding detection (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: selinput
-Version: 2016/05/17 v1.4
-
-Copyright (C)
-   2007 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 selinput.dtx
-and the derived files
-   selinput.sty, selinput.pdf, selinput.ins, selinput.drv,
-   selinput-test1.tex, selinput-test2.tex, selinput-test3.tex,
-   selinput-test4.tex, selinput-test5.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{selinput.ins}{\from{selinput.dtx}{install}}%
-  \file{selinput.drv}{\from{selinput.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{selinput.sty}{\from{selinput.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{selinput-test1.tex}{\from{selinput.dtx}{test,test1}}%
-%  \file{selinput-test2.tex}{\from{selinput.dtx}{test,test2}}%
-%  \file{selinput-test3.tex}{\from{selinput.dtx}{test,test3}}%
-%  \file{selinput-test4.tex}{\from{selinput.dtx}{test,test4}}%
-%  \file{selinput-test5.tex}{\from{selinput.dtx}{test,test5}}%
-}
-
-\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{*     selinput.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `selinput.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{selinput.drv}%
-  [2016/05/17 v1.4 Semi-automatic input encoding detection (HO)]%
-\documentclass{ltxdoc}
-\ifx\Umathcode\undefined
-\usepackage[T1]{fontenc}
-\fi
-\usepackage{textcomp}
-\usepackage{lmodern}
-\usepackage{holtxdoc}[2011/11/22]
-\usepackage{color}
-\begin{document}
-  \DocInput{selinput.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{selinput.drv}
-%
-% \title{The \xpackage{selinput} package}
-% \date{2016/05/17 v1.4}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package selects the input encoding by specifying between
-% input characters and their glyph names.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \newcommand*{\EM}{\textcolor{blue}}
-% \newcommand*{\ExampleText}{^^A
-%   Umlauts:\ \EM{\"A\"O\"U\"a\"o\"u\ss}^^A
-% }
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% \LaTeX\ supports the direct use of 8-bit characters by means
-% of package \xpackage{inputenc}. However you must know
-% and specify the encoding, e.g.:
-% \begin{quote}
-%   \ttfamily
-%   |\documentclass{article}|\\
-%   |\usepackage[|\EM{latin1}|]{inputenc}|\\
-%   |% or \usepackage[|\EM{utf8}|]{inputenc}|\\
-%   |% or \usepackage[|\EM{??}|]{inputenc}|\\
-%   |\begin{document}|\\
-%   |  |\ExampleText\\
-%   |\end{document}|
-% \end{quote}
-%
-% If the document is transferred in an environment that
-% uses a different encoding, then there are programs that
-% convert the input characters. Examples for conversion
-% of file \xfile{test.tex}
-% from encoding latin1 (ISO-8859-1) to UTF-8:
-% \begin{quote}
-%   \ttfamily
-%   |recode ISO-8859-1..UTF-8 test.tex|\\
-%   |recode latin1..utf8 test.tex|\\
-%   |iconv --from-code ISO-8859-1|\\
-%   \hphantom{iconv}| --to-code UTF-8|\\
-%   \hphantom{iconv}| --output testnew.tex|\\
-%   \hphantom{iconv}| test.tex|\\
-%   |iconv -f latin1 -t utf8 -o testnew.tex test.tex|
-% \end{quote}
-% However, the encoding name for package \xpackage{inputenc}
-% must be changed:
-% \begin{quote}
-%    |\usepackage[latin1]{inputenc}| $\rightarrow$
-%    |\usepackage[utf8]{inputenc}|\kern-4pt\relax
-% \end{quote}
-% Of course, unless you are using some clever editor
-% that knows package \xpackage{inputenc}, recodes
-% the file and adjusts the option at the same time.
-% But most editors can perhaps recode the file, but
-% they let the option untouched.
-%
-% Therefore package \xpackage{selinput} chooses another way for
-% specifying the input encoding. The encoding name is not needed
-% at all. Some 8-bit characters are identified by their glyph
-% name and the package chooses an appropriate encoding, example:
-% \begin{quote}
-%   \ttfamily
-%   |\documentclass{article}|\\
-%   |\usepackage{selinput}|\\
-%   |\SelectInputMappings{|\\
-%   |  adieresis={|\EM{\"a}|}|,\\
-%   |  germandbls={|\EM{\ss}|}|,\\
-%   |  Euro={|\EM{\texteuro}|}|,\\
-%   |}|\\
-%   |\begin{document}|\\
-%   |  |\ExampleText\\
-%   |\end{document}|
-% \end{quote}
-%
-% \subsection{User interface}
-%
-% \begin{declcs}{SelectInputEncodingList} \M{encoding list}
-% \end{declcs}
-% \cs{SelectInputEncodingList} expects a comma separated list of
-% encoding names. Example:
-% \begin{quote}
-%   |\SelectInputEncodingList{utf8,ansinew,mac-roman}|
-% \end{quote}
-% The encodings of package \xpackage{inputenx} are used as default.
-%
-% \begin{declcs}{SelectInputMappings} \M{mapping pairs}
-% \end{declcs}
-% A mapping pair consists of a glyph name and its input
-% character:
-% \begin{quote}
-%   |\SelectInputMappings{|\\
-%   |  adieresis={|\EM{\"a}|}|,\\
-%   |  germandbls={|\EM{\ss}|}|,\\
-%   |  Euro={|\EM{\texteuro}|}|,\\
-%   |}|
-% \end{quote}
-% The supported glyph names can be found in file \xfile{ix-name.def}
-% of project \xpackage{inputenx} \cite{inputenx}. The names are
-% basically taken from Adobe's glyphlists \cite{adobe:glyphlist,adobe:aglfn}.
-% As many pairs are needed as necessary to identify the encoding.
-% Example with insufficient pairs:
-% \begin{quote}
-%   \ttfamily
-%   |\SelectInputEncodingSet{latin1,latin9}|\\
-%   |\SelectInputMappings{|\\
-%   |  adieresis={|\EM{\"a}|}|,\\
-%   |  germandbls={|\EM{\ss}|}|,\\
-%   |}|\\
-%   \ExampleText| and Euro: |\EM{\textcurrency} (wrong)
-% \end{quote}
-% The first encoding \xoption{latin1} passes the constraints given
-% by the mapping pairs. However the Euro symbol is not part of
-% the encoding. Thus a mapping pair with the Euro symbol
-% solves the problem. In fact the symbol alone already succeeds in selecting
-% between \xoption{latin1} and \xoption{latin9}:
-% \begin{quote}
-%   \ttfamily
-%   |\SelectInputEncodingSet{latin1,latin9}|\\
-%   |\SelectInputMappings{|\\
-%   |  Euro={|\EM{\texteuro}|},|\\
-%   |}|\\
-%   \ExampleText| and Euro: |\EM{\texteuro}
-% \end{quote}
-%
-% \subsection{Options}
-%
-% \begin{description}
-% \item[\xoption{warning}:]
-%   The selected encoding is written
-%   by \cs{PackageInfo} into the \xfile{.log} file only.
-%   Option \xoption{warning} changes it to \cs{PackageWarning}.
-%   Then the selected encoding is shown on the terminal as well.
-% \item[\xoption{ucs}:]
-%   The encoding file \xfile{utf8x} of package \cs{ucs} requires
-%   that the package itself is loaded before.
-%   If the package is not loaded, then the option \xoption{ucs}
-%   will load package \xpackage{ucs} if the detected encoding is
-%   UTF-8 (limited to the preamble, packages cannot be loaded later).
-% \item[\xoption{utf8=\dots}:]
-%   The option allows to specify other encoding files
-%   for UTF-8 than \LaTeX's \xfile{utf8.def}. For example,
-%   |utf8=utf-8| will load \xfile{utf-8.def} instead.
-% \end{description}
-%
-% \subsection{Encodings}
-%
-% Package \xpackage{stringenc} \cite{stringenc}
-% is used for testing the encoding. Thus the encoding
-% name must be known by this package. Then the found
-% encoding is loaded by \cs{inputencoding} by package
-% \xpackage{inputenc} or \cs{InputEncoding} if package
-% \xpackage{inputenx} is loaded.
-%
-% The supported encodings are present in the encoding list,
-% thus usually the encoding names do not matter.
-% If the list is set by \cs{SelectInputEncodingList},
-% then you can use the names that work for package
-% \xpackage{inputenc} and are known by package \xpackage{stringenc},
-% for example: \xoption{latin1}, \xoption{x-iso-8859-1}. Encoding
-% file names of package \xpackage{inputenx} are prefixed with \xfile{x-}.
-% The prefix can be dropped, if package \xpackage{inputenx} is loaded.
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{selinput}
-  [2016/05/17 v1.4 Semi-automatic input encoding detection (HO)]%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\RequirePackage{inputenc}
-\RequirePackage{kvsetkeys}[2006/10/19]
-\RequirePackage{stringenc}[2007/06/16]
-\RequirePackage{kvoptions}
-%    \end{macrocode}
-%    \begin{macro}{\SelectInputEncodingList}
-%    \begin{macrocode}
-\newcommand*{\SelectInputEncodingList}{%
-  \let\SIE at EncodingList\@empty
-  \kvsetkeys{SelInputEnc}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SelectInputMappings}
-%    \begin{macrocode}
-\newcommand*{\SelectInputMappings}[1]{%
-  \SIE at LoadNameDefs
-  \let\SIE at StringUnicode\@empty
-  \let\SIE at StringDest\@empty
-  \kvsetkeys{SelInputMap}{#1}%
-  \ifx\\SIE at StringUnicode\SIE at StringDest\\%
-    \PackageError{selinput}{%
-      No mappings specified%
-    }\@ehc
-  \else
-    \EdefUnescapeHex\SIE at StringUnicode\SIE at StringUnicode
-    \let\SIE at Encoding\@empty
-    \@for\SIE at EncodingTest:=\SIE at EncodingList\do{%
-      \ifx\SIE at Encoding\@empty
-        \StringEncodingConvertTest\SIE at temp\SIE at StringUnicode
-                                  {utf16be}\SIE at EncodingTest{%
-          \ifx\SIE at temp\SIE at StringDest
-            \let\SIE at Encoding\SIE at EncodingTest
-          \fi
-        }{}%
-      \fi
-    }%
-    \ifx\SIE at Encoding\@empty
-      \StringEncodingConvertTest\SIE at temp\SIE at StringDest
-                                {ascii}{utf16be}{%
-        \def\SIE at Encoding{ascii}%
-        \SIE at Info{selinput}{%
-          Matching encoding not found, but input characters%
-          \MessageBreak
-          are 7-bit (possibly editor replacements).%
-          \MessageBreak
-          Hence using ascii encoding%
-        }%
-      }{}%
-    \fi
-    \ifx\SIE at Encoding\@empty
-      \PackageError{selinput}{%
-        Cannot find a matching encoding%
-      }\@ehd
-    \else
-      \ifx\SIE at Encoding\SIE at EncodingUTFviii
-        \SIE at LoadUnicodePackage
-        \ifx\SIE at UseUTFviii\@empty
-        \else
-          \let\SIE at Encoding\SIE at UseUTFviii
-        \fi
-      \fi
-      \begingroup\expandafter\expandafter\expandafter\endgroup
-      \expandafter\ifx\csname InputEncoding\endcsname\relax
-        \inputencoding\SIE at Encoding
-      \else
-        \InputEncoding\SIE at Encoding
-      \fi
-      \SIE at Info{selinput}{Encoding `\SIE at Encoding' selected}%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SIE at LoadNameDefs}
-%    \begin{macrocode}
-\def\SIE at LoadNameDefs{%
-  \begingroup
-    \endlinechar=\m at ne
-    \catcode92=0 % backslash
-    \catcode123=1 % left curly brace/beginning of group
-    \catcode125=2 % right curly brace/end of group
-    \catcode37=14 % percent/comment character
-    \@makeother\[%
-    \@makeother\]%
-    \@makeother\.%
-    \@makeother\(%
-    \@makeother\)%
-    \@makeother\/%
-    \@makeother\-%
-    \let\InputenxName\SelectInputDefineMapping
-    \InputIfFileExists{ix-name.def}{}{%
-      \PackageError{selinput}{%
-        Missing `ix-name.def' (part of package `inputenx')%
-      }\@ehd
-    }%
-    \global\let\SIE at LoadNameDefs\relax
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SelectInputDefineMapping}
-%    \begin{macrocode}
-\newcommand*{\SelectInputDefineMapping}[1]{%
-  \expandafter\gdef\csname SIE@@#1\endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\kv at set@family at handler{SelInputMap}{%
-  \@onelevel at sanitize\kv at key
-  \ifx\kv at value\relax
-    \PackageError{selinput}{%
-      Missing input character for `\kv at key'%
-    }\@ehc
-  \else
-    \@onelevel at sanitize\kv at value
-    \ifx\kv at value\@empty
-      \PackageError{selinput}{%
-        Input character got lost?\MessageBreak
-        Missing input character for `\kv at key'%
-      }\@ehc
-    \else
-      \@ifundefined{SIE@@\kv at key}{%
-        \PackageWarning{selinput}{%
-          Missing definition for `\kv at key'%
-        }%
-      }{%
-        \edef\SIE at StringDest{%
-          \SIE at StringDest
-          \kv at value
-        }%
-        \edef\SIE at StringUnicode{%
-          \SIE at StringUnicode
-          \csname SIE@@\kv at key\endcsname
-        }%
-      }%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\kv at set@family at handler{SelInputEnc}{%
-  \@onelevel at sanitize\kv at key
-  \ifx\kv at value\relax
-    \ifx\SIE at EncodingList\@empty
-      \let\SIE at EncodingList\kv at key
-    \else
-      \edef\SIE at EncodingList{\SIE at EncodingList,\kv at key}%
-    \fi
-  \else
-    \@onelevel at sanitize\kv at value
-    \PackageError{selinput}{%
-      Illegal key value pair (\kv at key=\kv at value)\MessagBreak
-      in encoding list%
-    }\@ehc
-  \fi
-}
-%    \end{macrocode}
-%
-%    \begin{macro}{\SIE at LoadUnicodePackage}
-%    \begin{macrocode}
-\def\SIE at LoadUnicodePackage{%
-  \@ifpackageloaded\SIE at UnicodePackage{}{%
-    \RequirePackage\SIE at UnicodePackage\relax
-  }%
-  \SIE at PatchUCS
-  \global\let\SIE at LoadUnicodePackage\relax
-}
-\let\SIE at show\show
-\def\SIE at PatchUCS{%
-  \AtBeginDocument{%
-    \expandafter\ifx\csname ver at ucsencs.def\endcsname\relax
-    \else
-      \let\show\SIE at show
-    \fi
-  }%
-}
-\SIE at PatchUCS
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\AtBeginDocument{%
-  \let\SIE at LoadUnicodePackage\relax
-}
-%    \end{macrocode}
-%    \begin{macro}{\SIE at EncodingUTFviii}
-%    \begin{macrocode}
-\def\SIE at EncodingUTFviii{utf8}
-\@onelevel at sanitize\SIE at EncodingUTFviii
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SIE at EncodingUTFviiix}
-%    \begin{macrocode}
-\def\SIE at EncodingUTFviiix{utf8x}
-\@onelevel at sanitize\SIE at EncodingUTFviiix
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\let\SIE at UnicodePackage\@empty
-\let\SIE at UseUTFviii\@empty
-\let\SIE at Info\PackageInfo
-%    \end{macrocode}
-%    \begin{macrocode}
-\SetupKeyvalOptions{%
-  family=SelInput,%
-  prefix=SelInput@%
-}
-\define at key{SelInput}{utf8}{%
-  \def\SIE at UseUTFviii{#1}%
-  \@onelevel at sanitize\SIE at UseUTFviii
-}
-\DeclareBoolOption{ucs}
-\DeclareVoidOption{warning}{%
-  \let\SIE at Info\PackageWarning
-}
-\ProcessKeyvalOptions{SelInput}
-\ifSelInput at ucs
-  \def\SIE at UnicodePackage{ucs}%
-  \ifx\SIE at UseUTFviii\@empty
-    \let\SIE at UseUTFviii\SIE at EncodingUTFviiix
-  \fi
-\else
-  \ifx\SIE at UseUTFviii\@empty
-    \@ifpackageloaded{ucs}{%
-      \let\SIE at UseUTFviii\SIE at EncodingUTFviiix
-    }{%
-      \let\SIE at UseUTFviii\SIE at EncodingUTFviii
-    }%
-  \fi
-\fi
-%    \end{macrocode}
-%
-%    \begin{macro}{\SIE at EncodingList}
-%    \begin{macrocode}
-\edef\SIE at EncodingList{%
-  utf8,%
-  x-iso-8859-1,%
-  x-iso-8859-15,%
-  x-cp1252,% ansinew
-  x-mac-roman,%
-  x-iso-8859-2,%
-  x-iso-8859-3,%
-  x-iso-8859-4,%
-  x-iso-8859-5,%
-  x-iso-8859-6,%
-  x-iso-8859-7,%
-  x-iso-8859-8,%
-  x-iso-8859-9,%
-  x-iso-8859-10,%
-  x-iso-8859-11,%
-  x-iso-8859-13,%
-  x-iso-8859-14,%
-  x-iso-8859-15,%
-  x-mac-centeuro,%
-  x-mac-cyrillic,%
-  x-koi8-r,%
-  x-cp1250,%
-  x-cp1251,%
-  x-cp1257,%
-  x-cp437,%
-  x-cp850,%
-  x-cp852,%
-  x-cp855,%
-  x-cp858,%
-  x-cp865,%
-  x-cp866,%
-  x-nextstep,%
-  x-dec-mcs%
-}%
-\@onelevel at sanitize\SIE at EncodingList
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{selinput}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/selinput.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/selinput.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 selinput.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@{}}
-%   selinput.sty & tex/latex/oberdiek/selinput.sty\\
-%   selinput.pdf & doc/latex/oberdiek/selinput.pdf\\
-%   selinput.dtx & source/latex/oberdiek/selinput.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{selinput.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 selinput.dtx
-%makeindex -s gind.ist selinput.idx
-%pdflatex selinput.dtx
-%makeindex -s gind.ist selinput.idx
-%pdflatex selinput.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-% \bibitem{inputenx}
-%   Heiko Oberdiek: \textit{The \xpackage{inputenx} package};
-%   2007-04-11 v1.1;
-%   \CTANpkg{inputenx}.
-%
-% \bibitem{adobe:glyphlist}
-%   Adobe: \textit{Adobe Glyph List};
-%   2002-09-20 v2.0;
-%   \url{https://github.com/adobe-type-tools/agl-aglfn/blob/master/glyphlist.txt}.
-%
-% \bibitem{adobe:aglfn}
-%   Adobe: \textit{Adobe Glyph List For New Fonts};
-%   2005-11-18 v1.5;
-%   \url{https://github.com/adobe-type-tools/agl-aglfn/blob/master/aglfn.txt}.
-%
-% \bibitem{stringenc}
-%   Heiko Oberdiek: \textit{The \xpackage{stringenc} package};
-%   2007-06-16 v1.1;
-%   \CTANpkg{stringenc}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2007/06/16 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/06/20 v1.1}
-%   \item
-%     Requested date for package \xpackage{stringenc} fixed.
-%   \end{Version}
-%   \begin{Version}{2007/09/09 v1.2}
-%   \item
-%     Line end fixed.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.3}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-%   \begin{Version}{2016/05/17 v1.4}
-%   \item
-%      Documentation updates: Avoid T1 encoding with Unicode \TeX.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/alphalph.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/alphalph.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/alphalph.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,474 +0,0 @@
-%%
-%% This is file `alphalph.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% alphalph.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: alphalph
-%% Version: 2016/05/16 v2.5
-%% 
-%% Copyright (C)
-%%    1999, 2006-2008, 2010, 2011 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
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file alphalph.dtx
-%% and the derived files
-%%    alphalph.sty, alphalph.pdf, alphalph.ins, alphalph.drv,
-%%    alphalph-test1.tex, alphalph-test2.tex, alphalph-test3.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at alphalph.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{alphalph}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at alphalph.sty\endcsname
-\ProvidesPackage{alphalph}%
-  [2016/05/16 v2.5 Convert numbers to letters (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname AlPh at 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 at EnsureCode#1#2{%
-  \edef\AlPh at AtEnd{%
-    \AlPh at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{59}{12}% ;
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{124}{12}% |
-\edef\AlPh at AtEnd{\AlPh at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input infwarerr.sty\relax
-  \input intcalc.sty\relax
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{intcalc}[2007/09/09]%
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-  \catcode124=9 % '!': ignore
-  \catcode43=14 % '+': comment
-\else
-  \catcode124=14 % '!': comment
-  \catcode43=9   % '+': ignore
-\fi
-\def\AlPh at Error#1{%
-  \begingroup
-    \escapechar=92 % backslash
-    \@PackageError{alphalph}{#1}\@ehc
-  \endgroup
-}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @ifdefinable\endcsname\relax
-  \def\AlPh at IfDefinable#1#2{%
-    \ifcase\ifx#1\@undefined\else\ifx#1\relax\else1\fi\fi0 %
-      #2%
-    \else
-      \AlPh at Error{%
-        Command \string#1 already defined%
-      }%
-    \fi
-  }%
-\else
-  \let\AlPh at IfDefinable\@ifdefinable
-\fi
-\long\def\@ReturnAfterElseFi#1\else#2\fi{\fi#1}
-\long\def\@ReturnAfterFi#1\fi{\fi#1}
-\expandafter\ifx\csname @gobblefour\endcsname\relax
-  \long\def\@gobblefour#1#2#3#4{}%
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname kernel at ifnextchar\endcsname\relax
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname @ifnextchar\endcsname\relax
-    \def\AlPh at IfOptArg#1#2{%
-      \def\AlPh at TempA{#1}%
-      \def\AlPh at TempB{#2}%
-      \futurelet\AlPh at Token\AlPh at IfOptArgNext
-    }%
-    \let\AlPh at BracketLeft=[%]
-    \def\AlPh at IfOptArgNext{%
-      \ifx\AlPh at Token\AlPh at BracketLeft
-        \expandafter\AlPh at TempA
-      \else
-        \expandafter\AlPh at TempB
-      \fi
-    }%
-  \else
-    \def\AlPh at IfOptArg{\@ifnextchar[}%]
-  \fi
-\else
-  \def\AlPh at IfOptArg{\kernel at ifnextchar[}%]
-\fi
-\def\alphalph at Alph#1{%
-  \ifcase#1%
-    @%
-  \or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or K\or L\or M%
-  \or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or Z%
-  \else
-    \AlPh at ctrerr
-    @%
-  \fi
-}
-\def\alphalph at alph#1{%
-  \ifcase#1%
-    @%
-  \or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m%
-  \or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z%
-  \else
-    \AlPh at ctrerr
-    @%
-  \fi
-}
-\def\AlPh at ctrerr{}
-\def\AlPh at GetNumberOfSymbols#1{%
-  \AlPh at TestNumber1!{#1}%
-  \ifAlPh at Unavailable
-    \def\AlPh at Number{0}%
-    \AlPh at Error{No symbols found}%
-  \else
-    \def\AlPh at Number{1}%
-    \AlPh at ExpSearch2!{#1}%
-  \fi
-}
-\let\ifAlPh at Unavailable\iffalse
-\def\AlPh at Unavailabletrue{%
-  \global\let\ifAlPh at Unavailable\iftrue
-}
-\def\AlPh at Unavailablefalse{%
-  \global\let\ifAlPh at Unavailable\iffalse
-}
-\def\AlPh at TestNumber#1!#2{%
-  \AlPh at Unavailablefalse
-  \begingroup
-    \setbox0=\hbox{%
-      \begingroup % color
-        \let\@ctrerr\AlPh at Unavailabletrue
-        \let\AlPh at ctrerr\AlPh at Unavailabletrue
-        #2{#1}%
-      \endgroup
-    }%
-    \ifdim\wd0=0pt %
-      \AlPh at Unavailabletrue
-    \fi
-  \endgroup
-}
-\def\AlPh at ExpSearch#1!#2{%
-  \let\AlPh at Next\relax
-  \AlPh at TestNumber#1!{#2}%
-  \ifAlPh at Unavailable
-    \expandafter\AlPh at BinSearch\AlPh at Number!#1!{#2}%
-  \else
-    \def\AlPh at Number{#1}%
-    \ifnum#1>1073741823 %
-      \AlPh at TestNumber2147483647!{#2}%
-      \ifAlPh at Unavailable
-        \AlPh at BinSearch#1!2147483647!{#2}%
-      \else
-        \def\AlPh at Number{0}%
-        \AlPh at Error{%
-          Maximal symbol number not found%
-        }%
-      \fi
-    \else
-      \def\AlPh at Next{%
-        \expandafter\AlPh at ExpSearch\number\intcalcShl{#1}!{#2}%
-      }%
-    \fi
-  \fi
-  \AlPh at Next
-}
-\def\AlPh at BinSearch#1!#2!#3{%
-  \expandafter\AlPh at ProcessBinSearch
-  \number\intcalcShr{\intcalcAdd{#1}{#2}}!%
-  #1!#2!{#3}%
-}
-\def\AlPh at ProcessBinSearch#1!#2!#3!#4{%
-  \let\AlPh at Next\relax
-  \ifnum#1>#2 %
-    \ifnum#1<#3 %
-      \AlPh at TestNumber#1!{#4}%
-      \ifAlPh at Unavailable
-        \def\AlPh at Next{%
-          \AlPh at BinSearch#2!#1!{#4}%
-        }%
-      \else
-        \def\AlPh at Next{%
-          \AlPh at BinSearch#1!#3!{#4}%
-        }%
-      \fi
-    \else
-      \def\AlPh at Number{#2}%
-    \fi
-  \else
-    \def\AlPh at Number{#2}%
-  \fi
-  \AlPh at Next
-}
-\def\AlPh at CheckPositive#1!#2{%
-  \ifnum#1<1 %
-    \expandafter\@gobblefour
-  \fi
-  #2{#1}%
-}
-\def\AlPh at Method@alph#1#2#3{%
-  \expandafter\AlPh at CheckPositive
-|   \number#3!%
-+   \the\numexpr#3!%
-    \AlPh at ProcessAlph
-    {#1}{#2}%
-}
-\def\AlPh at ProcessAlph#1#2#3{%
-  \ifnum#1>#2 %
-    \@ReturnAfterElseFi{%
-      \expandafter\AlPh at StepAlph\number
-        \intcalcInc{%
-          \intcalcMod{\intcalcDec{#1}}{#2}%
-        }%
-      \expandafter!\number
-        \intcalcDiv{\intcalcDec{#1}}{#2}%
-      !{#2}{#3}%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      #3{#1}%
-    }%
-  \fi
-}
-\def\AlPh at StepAlph#1!#2!#3#4{%
-  \AlPh at ProcessAlph{#2}{#3}{#4}%
-  #4{#1}%
-}
-\def\AlPh at Method@wrap#1#2#3{%
-  \expandafter\AlPh at CheckPositive
-|   \number#3!%
-+   \the\numexpr#3!%
-    \AlPh at ProcessWrap
-    {#1}{#2}%
-}
-\def\AlPh at ProcessWrap#1#2#3{%
-  \ifnum#1>#2 %
-    \@ReturnAfterElseFi{%
-      \expandafter\AlPh at StepWrap\number
-        \intcalcInc{\intcalcMod{\intcalcDec{#1}}{#2}}%
-      !{#3}%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      #3{#1}%
-    }%
-  \fi
-}
-\def\AlPh at StepWrap#1!#2{%
-  #2{#1}%
-}
-\def\AlPh at Method@mult#1#2#3{%
-  \expandafter\AlPh at CheckPositive
-|   \number#3!%
-+   \the\numexpr#3!%
-    \AlPh at ProcessMult
-    {#1}{#2}%
-}
-\def\AlPh at ProcessMult#1#2#3{%
-  \ifnum#1>#2 %
-    \@ReturnAfterElseFi{%
-      \expandafter\AlPh at StepMult\romannumeral
-        \intcalcInc{\intcalcDiv{\intcalcDec{#1}}{#2}}%
-        000%
-      \expandafter!\number
-        \intcalcInc{\intcalcMod{\intcalcDec{#1}}{#2}}%
-      !{#3}%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      #3{#1}%
-    }%
-  \fi
-}
-\def\AlPh at StepMult#1#2!#3!#4{%
-  \ifx\\#2\\%
-  \else
-    \@ReturnAfterFi{%
-      \AlPh at StepMult#2!#3!{#4}%
-    }%
-  \fi
-  #4{#3}%
-}
-\AlPh at IfDefinable\newalphalph{%
-  \def\newalphalph#1{%
-    \AlPh at IfOptArg{%
-      \AlPh at newalphalph{#1}%
-    }{%
-      \AlPh at newalphalph{#1}[alph]%
-    }%
-  }%
-}
-\def\AlPh at newalphalph#1[#2]#3#4{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname AlPh at Method@#2\endcsname\relax
-    \AlPh at Error{%
-      Unknown method %
-|     `#2'%
-+     `\detokenize{#2}'%
-    }%
-  \else
-    \ifx\\#4\\%
-      \AlPh at GetNumberOfSymbols{#3}%
-      \ifcase\AlPh at Number
-      \else
-        \begingroup
-          \escapechar=92 % backslash
-          \@PackageInfo{alphalph}{%
-            Number of symbols for \string#1 is \AlPh at Number
-          }%
-        \endgroup
-        \expandafter\AlPh at NewAlphAlph
-        \csname AlPh at Method@#2\expandafter\endcsname
-        \AlPh at Number!{#1}{#3}%
-      \fi
-    \else
-      \expandafter\AlPh at NewAlphAlph
-      \csname AlPh at Method@#2\expandafter\endcsname
-|     \number#4!%
-+     \the\numexpr#4!%
-      {#1}{#3}%
-    \fi
-  \fi
-}%
-\def\AlPh at NewAlphAlph#1#2!#3#4{%
-  \AlPh at IfDefinable#3{%
-    \ifnum#2>0 %
-      \def#3{#1{#2}{#4}}%
-    \else
-      \AlPh at Error{%
-          Definition of \string#3 failed,\MessageBreak
-          because number of symbols (#2) is not positive%
-        }%
-    \fi
-  }%
-}
-\newalphalph\AlphAlph\alphalph at Alph{26}
-\newalphalph\alphalph\alphalph at alph{26}
-\AlPh at AtEnd%
-\endinput
-%%
-%% End of file `alphalph.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/bitset.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/bitset.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/bitset.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,1452 +0,0 @@
-%%
-%% This is file `bitset.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bitset.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bitset
-%% Version: 2016/05/16 v1.2
-%% 
-%% Copyright (C)
-%%    2007, 2011 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
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file bitset.dtx
-%% and the derived files
-%%    bitset.sty, bitset.pdf, bitset.ins, bitset.drv, bitset-test1.tex,
-%%    bitset-test2.tex, bitset-test3.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at bitset.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{bitset}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at bitset.sty\endcsname
-\ProvidesPackage{bitset}%
-  [2016/05/16 v1.2 Handle bit-vector datatype (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname BitSet at 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 at EnsureCode#1#2{%
-  \edef\BitSet at AtEnd{%
-    \BitSet at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{11}% : (letter!)
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{63}{14}% ? (comment!)
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\edef\BitSet at AtEnd{\BitSet at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname BitSet at TestMode\endcsname\relax
-\else
-  \catcode63=9 % ? (ignore)
-\fi
-? \let\BitSet@@TestMode\BitSet at TestMode
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \def\TMP at RequirePackage#1[#2]{%
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-    \expandafter\ifx\csname ver@#1.sty\endcsname\relax
-      \input #1.sty\relax
-    \fi
-  }%
-  \TMP at RequirePackage{infwarerr}[2007/09/09]%
-  \TMP at RequirePackage{intcalc}[2007/09/27]%
-  \TMP at RequirePackage{bigintcalc}[2007/09/27]%
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{intcalc}[2007/09/27]%
-  \RequirePackage{bigintcalc}[2007/09/27]%
-\fi
-\def\BitSet at MaxSize{2147483647}%
-\def\BitSet at Empty{}
-\def\BitSet at FirstOfOne#1{#1}
-\def\BitSet at Gobble#1{}
-\def\BitSet at FirstOfTwo#1#2{#1}
-\def\BitSet at SecondOfTwo#1#2{#2}
-\def\BitSet at Space{ }
-\def\BitSet at ZapSpace#1 #2{%
-  #1%
-  \ifx\BitSet at Empty#2%
-  \else
-    \expandafter\BitSet at ZapSpace
-  \fi
-  #2%
-}
-\let\BitSet at Fi\fi
-\def\BitSet at AfterFi#1#2\BitSet at Fi{\fi#1}
-\def\BitSet at AfterFiFi#1#2\BitSet at Fi{\fi\fi#1}%
-\def\BitSet at AfterFiFiFi#1#2\BitSet at Fi{\fi\fi\fi#1}%
-\def\BitSet at IfUndefined#1{%
-  \expandafter\ifx\csname BS@#1\endcsname\relax
-    \expandafter\BitSet at FirstOfTwo
-  \else
-    \expandafter\BitSet at SecondOfTwo
-  \fi
-}
-\def\BitSet at CheckIndex#1#2#3{%
-  \BitSet at IfUndefined{#2}{\bitsetReset{#2}}{}%
-  \expandafter\expandafter\expandafter\BitSet@@CheckIndex
-  \intcalcNum{#3}!%
-  {#2}{#1}%
-}
-\def\BitSet@@CheckIndex#1!#2#3{%
-  \ifnum#1<0 %
-    \BitSet at AfterFi{%
-      \@PackageError{bitset}{%
-        Invalid negative index (#1)%
-      }\@ehc
-    }%
-  \else
-    \BitSet at AfterFi{%
-      #3{#2}{#1}%
-    }%
-  \BitSet at Fi
-}
-\def\bitsetReset#1{%
-  \expandafter\def\csname BS@#1\endcsname{0}%
-}
-\def\bitsetLet#1#2{%
-  \BitSet at IfUndefined{#2}{%
-    \bitsetReset{#1}%
-  }{%
-    \expandafter\let\csname BS@#1\expandafter\endcsname
-                    \csname BS@#2\endcsname
-  }%
-}
-\def\bitsetSetBin#1#2{%
-  \edef\BitSet at Temp{#2}%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet at ZapSpace
-    \expandafter\BitSet at Temp\BitSet at Space\BitSet at Empty
-  }%
-  \edef\BitSet at Temp{%
-    \expandafter\BitSet at KillZeros\BitSet at Temp\BitSet at Empty
-  }%
-  \ifx\BitSet at Temp\BitSet at Empty
-    \expandafter\let\csname BS@#1\endcsname\BitSet at Zero
-  \else
-    \expandafter\edef\csname BS@#1\endcsname{%
-      \expandafter\BitSet at Reverse\BitSet at Temp!%
-    }%
-  \fi
-}
-\def\BitSet at KillZeros#1{%
-  \ifx#10%
-    \expandafter\BitSet at KillZeros
-  \else
-    #1%
-  \fi
-}
-\def\BitSet at Reverse#1#2!{%
-  \ifx\\#2\\%
-    #1%
-  \else
-    \BitSet at AfterFi{%
-      \BitSet at Reverse#2!#1%
-    }%
-  \BitSet at Fi
-}
-\def\bitsetSetOct{%
-  \BitSet at SetOctHex\BitSet at FromFirstOct
-}
-\def\bitsetSetHex{%
-  \BitSet at SetOctHex\BitSet at FromFirstHex
-}
-\def\BitSet at SetOctHex#1#2#3{%
-  \edef\BitSet at Temp{#3}%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet at ZapSpace
-    \expandafter\BitSet at Temp\BitSet at Space\BitSet at Empty
-  }%
-  \edef\BitSet at Temp{%
-    \expandafter\BitSet at KillZeros\BitSet at Temp\BitSet at Empty
-  }%
-  \ifx\BitSet at Temp\BitSet at Empty
-    \expandafter\let\csname BS@#2\endcsname\BitSet at Zero
-  \else
-    \edef\BitSet at Temp{%
-      \expandafter#1\BitSet at Temp!%
-    }%
-    \ifx\BitSet at Temp\BitSet at Empty
-      \expandafter\let\csname BS@#2\endcsname\BitSet at Zero
-    \else
-      \expandafter\edef\csname BS@#2\endcsname{%
-        \expandafter\BitSet at Reverse\BitSet at Temp!%
-      }%
-    \fi
-  \fi
-}
-\def\BitSet at FromFirstOct#1{%
-  \ifx#1!%
-  \else
-    \ifcase#1 \BitSet at AfterFiFi\BitSet at FromFirstOct
-    \or 1%
-    \or 10%
-    \or 11%
-    \or 100%
-    \or 101%
-    \or 110%
-    \or 111%
-    \else \BitSetError:WrongOctalDigit%
-    \fi
-    \expandafter\BitSet at FromOct
-  \BitSet at Fi
-}
-\def\BitSet at FromOct#1{%
-  \ifx#1!%
-  \else
-    \ifcase#1 000%
-    \or 001%
-    \or 010%
-    \or 011%
-    \or 100%
-    \or 101%
-    \or 110%
-    \or 111%
-    \else \BitSetError:WrongOctalDigit%
-    \fi
-    \expandafter\BitSet at FromOct
-  \fi
-}
-\def\BitSet at FromFirstHex#1{%
-  \ifx#1!%
-  \else
-    \ifx#10%
-      \BitSet at AfterFiFi\BitSet at FromFirstHex
-    \fi
-    \expandafter\ifx\csname BitSet at Hex#1\endcsname\relax
-      \BitSetError:InvalidHexDigit%
-    \else
-      \expandafter\expandafter\expandafter\BitSet at KillZeros
-      \csname BitSet at Hex#1\endcsname
-    \fi
-    \expandafter\BitSet at FromHex
-  \BitSet at Fi
-}
-\def\BitSet at FromHex#1{%
-  \ifx#1!%
-  \else
-    \expandafter\ifx\csname BitSet at Hex#1\endcsname\relax
-      \BitSetError:InvalidHexDigit%
-    \else
-      \csname BitSet at Hex#1\endcsname
-    \fi
-    \expandafter\BitSet at FromHex
-  \fi
-}
-\def\BitSet at Temp#1{%
-  \expandafter\def\csname BitSet at Hex#1\endcsname
-}
-\BitSet at Temp 0{0000}%
-\BitSet at Temp 1{0001}%
-\BitSet at Temp 2{0010}%
-\BitSet at Temp 3{0011}%
-\BitSet at Temp 4{0100}%
-\BitSet at Temp 5{0101}%
-\BitSet at Temp 6{0110}%
-\BitSet at Temp 7{0111}%
-\BitSet at Temp 8{1000}%
-\BitSet at Temp 9{1001}%
-\BitSet at Temp A{1010}%
-\BitSet at Temp B{1011}%
-\BitSet at Temp C{1100}%
-\BitSet at Temp D{1101}%
-\BitSet at Temp E{1110}%
-\BitSet at Temp F{1111}%
-\BitSet at Temp a{1010}%
-\BitSet at Temp b{1011}%
-\BitSet at Temp c{1100}%
-\BitSet at Temp d{1101}%
-\BitSet at Temp e{1110}%
-\BitSet at Temp f{1111}%
-\def\bitsetSetDec#1#2{%
-  \edef\BitSet at Temp{#2}%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet at ZapSpace
-    \expandafter\BitSet at Temp\BitSet at Space\BitSet at Empty
-  }%
-  \edef\BitSet at Temp{%
-    \expandafter\BitSet at KillZeros\BitSet at Temp\BitSet at Empty
-  }%
-  \ifx\BitSet at Temp\BitSet at Empty
-    \expandafter\let\csname BS@#1\endcsname\BitSet at Zero
-  \else
-    \ifcase\bigintcalcSgn{\BitSet at Temp} %
-      \expandafter\let\csname BS@#1\endcsname\BitSet at Zero
-    \or
-      \ifnum\bigintcalcCmp\BitSet at Temp\BitSet at MaxSize>0 %
-        \expandafter\edef\csname BS@#1\endcsname{%
-          \expandafter\BitSet at SetDecBig\BitSet at Temp!%
-        }%
-      \else
-        \expandafter\edef\csname BS@#1\endcsname{%
-          \expandafter\BitSet at SetDec\BitSet at Temp!%
-        }%
-      \fi
-    \else
-      \@PackageError{bitset}{%
-        Bit sets cannot be negative%
-      }\@ehc
-    \fi
-  \fi
-}
-\def\BitSet at SetDecBig#1#2#3#4#5#6#7#8#9!{%
-  \ifx\\#9\\%
-    \BitSet at SetDec#1#2#3#4#5#6#7#8!%
-  \else
-    \ifcase\BigIntCalcOdd#1#2#4#5#6#7#8#9! %
-      0%
-    \or
-      1%
-?   \else\BitSetError:ThisCannotHappen%
-    \fi
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at SetDecBig
-      \BigIntCalcShr#1#2#3#4#5#6#7#8#9!!%
-    }%
-  \BitSet at Fi
-}
-\def\BitSet at SetDec#1!{%
-  \ifcase#1 %
-  \or 1%
-  \else
-    \ifodd#1 %
-      1%
-    \else
-      0%
-    \fi
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at SetDec
-      \IntCalcShr#1!!%
-    }%
-  \BitSet at Fi
-}
-\def\bitsetGetBin#1#2{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BitSet@@GetBin
-  \intcalcNum{#2}!{#1}%
-}
-\def\BitSet@@GetBin#1!#2{%
-  \BitSet at IfUndefined{#2}{%
-    \ifnum#1>1 %
-      \BitSet at AfterFi{%
-        \expandafter\expandafter\expandafter\BitSet at Fill
-        \IntCalcDec#1!!0%
-      }%
-    \else
-      \BitSet at AfterFi{ 0}%
-    \BitSet at Fi
-  }{%
-    \expandafter\expandafter\expandafter\BitSet at NumBinRev
-    \expandafter\expandafter\expandafter1%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#2\endcsname!!#1!%
-  }%
-}
-\def\BitSet at Fill#1!{%
-  \ifnum#1>0 %
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at Fill
-      \IntCalcDec#1!!0%
-    }%
-  \else
-    \BitSet at AfterFi{ }%
-  \BitSet at Fi
-}
-\def\BitSet at NumBinRev#1!#2#3!{%
-  \ifx\\#3\\%
-    \BitSet at AfterFi{%
-      \BitSet at NumBinFill#1!#2%
-    }%
-  \else
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at NumBinRev
-      \IntCalcInc#1!!#3!#2%
-    }%
-  \BitSet at Fi
-}
-\def\BitSet at NumBinFill#1!#2!#3!{%
-  \ifnum#3>#1 %
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at Fill
-      \IntCalcSub#3!#1!!#2%
-    }%
-  \else
-    \BitSet at AfterFi{ #2}%
-  \BitSet at Fi
-}
-\def\bitsetGetOct#1#2{%
-  \romannumeral0%
-  \bitsetIsEmpty{#1}{%
-    \expandafter\expandafter\expandafter\BitSet@@GetOctHex
-    \intcalcNum{#2}!3!230%
-  }{%
-    \expandafter\expandafter\expandafter\BitSet@@GetOct
-    \expandafter\expandafter\expandafter1%
-    \expandafter\expandafter\expandafter!%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#1\endcsname00%
-    \BitSet at Empty\BitSet at Empty\BitSet at Empty!{#2}%
-  }%
-}
-\def\bitsetGetHex#1#2{%
-  \romannumeral0%
-  \bitsetIsEmpty{#1}{%
-    \expandafter\expandafter\expandafter\BitSet@@GetOctHex
-    \intcalcNum{#2}!4!340%
-  }{%
-    \expandafter\expandafter\expandafter\BitSet@@GetHex
-    \expandafter\expandafter\expandafter1%
-    \expandafter\expandafter\expandafter!%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#1\endcsname000%
-    \BitSet at Empty\BitSet at Empty\BitSet at Empty\BitSet at Empty!{#2}%
-  }%
-}
-\def\BitSet@@GetOct#1!#2!#3#4#5{%
-  \ifx#5\BitSet at Empty
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at GetOctHex
-      \IntCalcDec#1!!#2!23%
-    }%
-  \else
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet@@GetOct
-      \number\IntCalcInc#1!\expandafter\expandafter\expandafter!%
-      \csname BitSet at Oct#5#4#3\endcsname#2!%
-    }%
-  \BitSet at Fi
-}
-\def\BitSet at Temp#1#2#3#4{%
-  \expandafter\def\csname BitSet at Oct#1#2#3\endcsname{#4}%
-}
-\BitSet at Temp0000%
-\BitSet at Temp0011%
-\BitSet at Temp0102%
-\BitSet at Temp0113%
-\BitSet at Temp1004%
-\BitSet at Temp1015%
-\BitSet at Temp1106%
-\BitSet at Temp1117%
-\def\BitSet@@GetHex#1!#2!#3#4#5#6{%
-  \ifx#6\BitSet at Empty
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet at GetOctHex
-      \IntCalcDec#1!!#2!34%
-    }%
-  \else
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet@@GetHex
-      \number\IntCalcInc#1!\expandafter\expandafter\expandafter!%
-      \csname BitSet at Hex#6#5#4#3\endcsname#2!%
-    }%
-  \BitSet at Fi
-}
-\def\BitSet at Temp#1#2#3#4#5{%
-  \expandafter\def\csname BitSet at Hex#1#2#3#4\endcsname{#5}%
-}
-\BitSet at Temp00000%
-\BitSet at Temp00011%
-\BitSet at Temp00102%
-\BitSet at Temp00113%
-\BitSet at Temp01004%
-\BitSet at Temp01015%
-\BitSet at Temp01106%
-\BitSet at Temp01117%
-\BitSet at Temp10008%
-\BitSet at Temp10019%
-\BitSet at Temp1010A%
-\BitSet at Temp1011B%
-\BitSet at Temp1100C%
-\BitSet at Temp1101D%
-\BitSet at Temp1110E%
-\BitSet at Temp1111F%
-\def\BitSet at GetOctHex#1!#2!#3#4#5!#6{%
-  \expandafter\BitSet@@GetOctHex
-  \number\intcalcNum{#6}\expandafter\expandafter\expandafter!%
-  \IntCalcMul#1!#4!!#3#4#2%
-}
-\def\BitSet@@GetOctHex#1!#2!#3#4{%
-  \ifnum#1>#2 %
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\expandafter
-      \expandafter\expandafter\expandafter\BitSet at Fill
-      \expandafter\IntCalcDiv\number
-      \expandafter\expandafter\expandafter\IntCalcAdd
-      \IntCalcSub#1!#2!!#3!!#4!!%
-    }%
-  \else
-    \BitSet at AfterFi{ }%
-  \BitSet at Fi
-}
-\def\bitsetGetDec#1{%
-  \romannumeral0%
-  \BitSet at IfUndefined{#1}{ 0}{%
-    \expandafter\expandafter\expandafter\BitSet at GetDec
-    \csname BS@#1\endcsname!%
-  }%
-}
-\def\BitSet at GetDec#1#2!{%
-  \ifx\\#2\\%
-    \BitSet at AfterFi{ #1}%
-  \else
-    \BitSet at AfterFi{%
-      \BitSet@@GetDec2!#1!#2!%
-    }%
-  \BitSet at Fi
-}
-\def\BitSet@@GetDec#1!#2!#3#4!{%
-  \ifx\\#4\\%
-    \ifx#31%
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Space
-        \IntCalcAdd#1!#2!%
-      }%
-    \else
-      \BitSet at AfterFiFi{ #2}%
-    \fi
-  \else
-    \ifx#31%
-      \BitSet at AfterFiFi{%
-        \csname BitSet at N#1%
-        \expandafter\expandafter\expandafter\endcsname
-        \IntCalcAdd#1!#2!!#4!%
-      }%
-    \else
-      \BitSet at AfterFiFi{%
-        \csname BitSet at N#1\endcsname#2!#4!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-\def\BitSet at Temp#1#2{%
-  \expandafter\def\csname BitSet at N#1\endcsname{%
-    \BitSet@@GetDec#2!%
-  }%
-}
-\BitSet at Temp{1}{2}
-\BitSet at Temp{2}{4}
-\BitSet at Temp{4}{8}
-\BitSet at Temp{8}{16}
-\BitSet at Temp{16}{32}
-\BitSet at Temp{32}{64}
-\BitSet at Temp{64}{128}
-\BitSet at Temp{128}{256}
-\BitSet at Temp{256}{512}
-\BitSet at Temp{512}{1024}
-\BitSet at Temp{1024}{2048}
-\BitSet at Temp{2048}{4096}
-\BitSet at Temp{4096}{8192}
-\BitSet at Temp{8192}{16384}
-\BitSet at Temp{16384}{32768}
-\BitSet at Temp{32768}{65536}
-\BitSet at Temp{65536}{131072}
-\BitSet at Temp{131072}{262144}
-\BitSet at Temp{262144}{524288}
-\BitSet at Temp{524288}{1048576}
-\BitSet at Temp{1048576}{2097152}
-\BitSet at Temp{2097152}{4194304}
-\BitSet at Temp{4194304}{8388608}
-\BitSet at Temp{8388608}{16777216}
-\BitSet at Temp{16777216}{33554432}
-\BitSet at Temp{33554432}{67108864}
-\BitSet at Temp{67108864}{134217728}
-\BitSet at Temp{134217728}{268435456}
-\BitSet at Temp{268435456}{536870912}
-\BitSet at Temp{536870912}{1073741824}
-\expandafter\def\csname BitSet at N1073741824\endcsname{%
-  \BitSet at GetDecBig2147483648!%
-}%
-\def\BitSet at GetDecBig#1!#2!#3#4!{%
-  \ifx\\#4\\%
-    \ifx#31%
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Space
-        \BigIntCalcAdd#1!#2!%
-      }%
-    \else
-      \BitSet at AfterFiFi{ #2}%
-    \fi
-  \else
-    \ifx#31%
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet@@GetDecBig
-        \BigIntCalcAdd#1!#2!!#1!#4!%
-      }%
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at GetDecBig
-        \BigIntCalcShl#1!!#2!#4!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-\def\BitSet@@GetDecBig#1!#2!{%
-  \expandafter\expandafter\expandafter\BitSet at GetDecBig
-  \BigIntCalcShl#2!!#1!%
-}
-\def\bitsetAnd#1#2{%
-  \bitsetIsEmpty{#1}{%
-    \bitsetReset{#1}%
-  }{%
-    \bitsetIsEmpty{#2}{%
-      \bitsetReset{#1}%
-    }{%
-      \expandafter\edef\csname BS@#1\endcsname{%
-        \expandafter\expandafter\expandafter\BitSet at And
-        \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-        \expandafter\expandafter\expandafter!%
-        \csname BS@#2\endcsname!!%
-      }%
-      \expandafter\ifx\csname BS@#1\endcsname\BitSet at Empty
-        \bitsetReset{#1}%
-      \fi
-    }%
-  }%
-}
-\def\BitSet at And#1#2!#3#4!#5!{%
-  \ifx\\#2\\%
-    \ifnum#1#3=11 #51\fi
-  \else
-    \ifx\\#4\\%
-      \ifnum#1#3=11 #51\fi
-    \else
-      \ifnum#1#3=11 %
-        #51%
-        \BitSet at AfterFiFiFi{%
-          \BitSet at And#2!#4!!%
-        }%
-      \else
-        \BitSet at AfterFiFiFi{%
-          \BitSet at And#2!#4!#50!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-\def\bitsetAndNot#1#2{%
-  \bitsetIsEmpty{#1}{%
-    \bitsetReset{#1}%
-  }{%
-    \bitsetIsEmpty{#2}{%
-    }{%
-      \expandafter\edef\csname BS@#1\endcsname{%
-        \expandafter\expandafter\expandafter\BitSet at AndNot
-        \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-        \expandafter\expandafter\expandafter!%
-        \csname BS@#2\endcsname!!%
-      }%
-      \expandafter\ifx\csname BS@#1\endcsname\BitSet at Empty
-        \bitsetReset{#1}%
-      \fi
-    }%
-  }%
-}
-\def\BitSet at AndNot#1#2!#3#4!#5!{%
-  \ifx\\#2\\%
-    \ifnum#1#3=10 #51\fi
-  \else
-    \ifx\\#4\\%
-      #5%
-      \ifnum#1#3=10 1\else 0\fi
-      #2%
-    \else
-      \ifnum#1#3=10 %
-        #51%
-        \BitSet at AfterFiFiFi{%
-          \BitSet at AndNot#2!#4!!%
-        }%
-      \else
-        \BitSet at AfterFiFiFi{%
-          \BitSet at AndNot#2!#4!#50!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-\def\bitsetOr#1#2{%
-  \bitsetIsEmpty{#2}{%
-    \BitSet at IfUndefined{#1}{\bitsetReset{#1}}{}%
-  }{%
-    \bitsetIsEmpty{#1}{%
-      \expandafter\let\csname BS@#1\expandafter\endcsname
-                      \csname BS@#2\endcsname
-    }{%
-      \expandafter\edef\csname BS@#1\endcsname{%
-        \expandafter\expandafter\expandafter\BitSet at Or
-        \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-        \expandafter\expandafter\expandafter!%
-        \csname BS@#2\endcsname!%
-      }%
-    }%
-  }%
-}
-\def\BitSet at Or#1#2!#3#4!{%
-  \ifnum#1#3>0 1\else 0\fi
-  \ifx\\#2\\%
-    #4%
-  \else
-    \ifx\\#4\\%
-      #2%
-    \else
-      \BitSet at AfterFiFi{%
-        \BitSet at Or#2!#4!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-\def\bitsetXor#1#2{%
-  \bitsetIsEmpty{#2}{%
-    \BitSet at IfUndefined{#1}{\bitsetReset{#1}}{}%
-  }{%
-    \bitsetIsEmpty{#1}{%
-      \expandafter\let\csname BS@#1\expandafter\endcsname
-                      \csname BS@#2\endcsname
-    }{%
-      \expandafter\edef\csname BS@#1\endcsname{%
-        \expandafter\expandafter\expandafter\BitSet at Xor
-        \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-        \expandafter\expandafter\expandafter!%
-        \csname BS@#2\endcsname!!%
-      }%
-      \expandafter\ifx\csname BS@#1\endcsname\BitSet at Empty
-        \bitsetReset{#1}%
-      \fi
-    }%
-  }%
-}
-\def\BitSet at Xor#1#2!#3#4!#5!{%
-  \ifx\\#2\\%
-    \ifx#1#3%
-      \ifx\\#4\\%
-      \else
-        #50#4%
-      \fi
-    \else
-      #51#4%
-    \fi
-  \else
-    \ifx\\#4\\%
-      #5%
-      \ifx#1#30\else 1\fi
-      #2%
-    \else
-      \ifx#1#3%
-        \BitSet at AfterFiFiFi{%
-          \BitSet at Xor#2!#4!#50!%
-        }%
-      \else
-        #51%
-        \BitSet at AfterFiFiFi{%
-          \BitSet at Xor#2!#4!!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-\def\bitsetShiftLeft#1#2{%
-  \BitSet at IfUndefined{#1}{%
-    \bitsetReset{#1}%
-  }{%
-    \bitsetIsEmpty{#1}{%
-    }{%
-      \expandafter\expandafter\expandafter\BitSet at ShiftLeft
-      \intcalcNum{#2}!{#1}%
-    }%
-  }%
-}
-\def\BitSet at ShiftLeft#1!#2{%
-  \ifcase\intcalcSgn{#1} %
-  \or
-    \begingroup
-      \uccode`m=`0 %
-    \uppercase\expandafter{\expandafter\endgroup
-      \expandafter\edef\csname BS@#2\expandafter\endcsname
-      \expandafter{%
-        \romannumeral#1000\expandafter\BitSet at Space
-        \csname BS@#2\endcsname
-      }%
-    }%
-  \else
-    \expandafter\BitSet at ShiftRight\BitSet at Gobble#1!{#2}%
-  \fi
-}
-\def\bitsetShiftRight#1#2{%
-  \BitSet at IfUndefined{#1}{%
-    \bitsetReset{#1}%
-  }{%
-    \bitsetIsEmpty{#1}{%
-    }{%
-      \expandafter\expandafter\expandafter\BitSet at ShiftRight
-      \intcalcNum{#2}!{#1}%
-    }%
-  }%
-}
-\def\BitSet at ShiftRight#1!#2{%
-  \ifcase\intcalcSgn{#1} %
-  \or
-    \expandafter\edef\csname BS@#2\endcsname{%
-      \expandafter\expandafter\expandafter\BitSet at Kill
-      \csname BS@#2\expandafter\endcsname\expandafter\BitSet at Empty
-      \expandafter=%
-      \expandafter{\expandafter}\expandafter{\expandafter}%
-      \romannumeral#1000!%
-    }%
-  \else
-    \expandafter\BitSet at ShiftLeft\BitSet at Gobble#1!{#2}%
-  \fi
-}
-\def\BitSet at Kill#1#2=#3#4#5{%
-  #3#4%
-  \ifx#5!%
-    \ifx#1\BitSet at Empty
-      0%
-    \else
-      #1#2%
-    \fi
-  \else
-    \ifx#1\BitSet at Empty
-      0%
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \BitSet at Kill#2=%
-    \fi
-  \BitSet at Fi
-}
-\def\bitsetClear{%
-  \BitSet at CheckIndex\BitSet at Clear
-}
-\def\bitsetSet{%
-  \BitSet at CheckIndex\BitSet at Set
-}
-\def\bitsetFlip{%
-  \BitSet at CheckIndex\BitSet at Flip
-}
-\def\bitsetSetValue#1#2#3{%
-  \expandafter\expandafter\expandafter\BitSet at SetValue
-  \intcalcNum{#3}!{#1}{#2}%
-}
-\def\BitSet at SetValue#1!{%
-  \BitSet at CheckIndex{%
-    \ifcase#1 %
-      \expandafter\BitSet at Clear
-    \or
-      \expandafter\BitSet at Set
-    \else
-      \BitSet at ErrorInvalidBitValue{#1}%
-      \expandafter\expandafter\expandafter\BitSet at Gobble
-      \expandafter\BitSet at Gobble
-    \fi
-  }%
-}
-\def\BitSet at ErrorInvalidBitValue#1{%
-  \@PackageError{bitset}{%
-    Invalid bit value (#1) not in range 0..1%
-  }\@ehc
-}
-\def\BitSet at Clear#1#2{%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet@@Clear
-    \csname BS@#1\expandafter\endcsname
-    \expandafter\BitSet at Empty\expandafter=\expandafter!%
-    \romannumeral#2000!%
-  }%
-  \expandafter\let\csname BS@#1\expandafter\endcsname
-  \ifx\BitSet at Temp\BitSet at Empty
-    \BitSet at Zero
-  \else
-    \BitSet at Temp
-  \fi
-}
-\def\BitSet@@Clear#1#2=#3!#4{%
-  \ifx#4!%
-    \ifx#1\BitSet at Empty
-    \else
-      \ifx\BitSet at Empty#2%
-      \else
-        #30#2%
-      \fi
-    \fi
-  \else
-    \ifx#1\BitSet at Empty
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \ifx#10%
-        \BitSet at AfterFiFiFi{%
-          \BitSet@@Clear#2=#30!%
-        }%
-      \else
-        #31%
-        \BitSet at AfterFiFiFi{%
-          \BitSet@@Clear#2=!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-\def\BitSet at Set#1#2{%
-  \expandafter\edef\csname BS@#1\endcsname{%
-    \expandafter\expandafter\expandafter\BitSet@@Set
-    \csname BS@#1\expandafter\endcsname
-    \expandafter\BitSet at Empty\expandafter=%
-    \expandafter{\expandafter}\expandafter{\expandafter}%
-    \romannumeral#2000!%
-  }%
-}
-\def\BitSet@@Set#1#2=#3#4#5{%
-  #3#4%
-  \ifx#5!%
-    1#2%
-  \else
-    \ifx#1\BitSet at Empty
-      0%
-      \BitSet at AfterFiFi\BitSet@@@Set
-    \else
-      #1%
-      \BitSet@@Set#2=%
-    \fi
-  \BitSet at Fi
-}
-\def\BitSet@@@Set#1{%
-  \ifx#1!%
-    1%
-  \else
-    0%
-    \expandafter\BitSet@@@Set
-  \fi
-}
-\def\BitSet at Flip#1#2{%
-  \edef\BitSet at Temp{%
-    \expandafter\expandafter\expandafter\BitSet@@Flip
-    \csname BS@#1\expandafter\endcsname
-    \expandafter\BitSet at Empty\expandafter=\expandafter!%
-    \romannumeral#2000!%
-  }%
-  \expandafter\let\csname BS@#1\expandafter\endcsname
-  \ifx\BitSet at Temp\BitSet at Empty
-    \BitSet at Zero
-  \else
-    \BitSet at Temp
-  \fi
-}
-\def\BitSet@@Flip#1#2=#3!#4{%
-  \ifx#4!%
-    \ifx#11%
-      \ifx\BitSet at Empty#2%
-      \else
-        #30#2%
-      \fi
-    \else
-      #31#2%
-    \fi
-  \else
-    \ifx#1\BitSet at Empty
-      #30%
-      \BitSet at AfterFiFi\BitSet@@@Set
-    \else
-      \ifx#10%
-        \BitSet at AfterFiFiFi{%
-          \BitSet@@Flip#2=#30!%
-        }%
-      \else
-        #31%
-        \BitSet at AfterFiFiFi{%
-          \BitSet@@Flip#2=!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-\def\bitsetClearRange{%
-  \BitSet at Range\BitSet at Clear
-}
-\def\bitsetSetRange{%
-  \BitSet at Range\BitSet at Set
-}
-\def\bitsetFlipRange{%
-  \BitSet at Range\BitSet at Flip
-}
-\def\bitsetSetValueRange#1#2#3#4{%
-  \expandafter\expandafter\expandafter\BitSet at SetValueRange
-  \intcalcNum{#4}!{#1}{#2}{#3}%
-}
-\def\BitSet at SetValueRange#1!#2#3#4{%
-  \ifcase#1 %
-    \BitSet at Range\BitSet at Clear{#2}{#3}{#4}%
-  \or
-    \BitSet at Range\BitSet at Set{#2}{#3}{#4}%
-  \else
-    \BitSet at ErrorInvalidBitValue{#1}%
-  \fi
-}
-\def\BitSet at Range#1#2#3#4{%
-  \edef\BitSet at Temp{%
-    \noexpand\BitSet@@Range\noexpand#1{#2}%
-    \intcalcNum{#3}!\intcalcNum{#4}!%
-  }%
-  \BitSet at Temp
-}
-\def\BitSet@@Range#1#2#3!#4!{%
-  \ifnum#3<0 %
-    \BitSet at NegativeIndex#1{#2}#3!#4!0!#4!%
-  \else
-    \ifnum#4<0 %
-      \BitSet at NegativeIndex#1{#2}#3!#4!#3!0!%
-    \else
-      \ifcase\intcalcCmp{#3}{#4} %
-      \or
-        \@PackageError{bitset}{%
-          Wrong index numbers in range [#3..#4]\MessageBreak% hash-ok
-          for clear/set/flip on bit set `#2'.\MessageBreak
-          The lower index exceeds the upper index.\MessageBreak
-          Canceling the operation as error recovery%
-        }\@ehc
-      \else
-        \BitSet@@@Range#3!#4!#1{#2}%
-      \fi
-    \fi
-  \fi
-}
-\def\BitSet at NegativeIndex#1#2#3!#4!#5!#6!{%
-  \@PackageError{bitset}{%
-    Negative index in range [#3..#4]\MessageBreak % hash-ok
-    for \string\bitset
-    \ifx#1\BitSet at Clear
-      Clear%
-    \else
-      \ifx#1\BitSet at Set
-        Set%
-      \else
-        Flip%
-      \fi
-    \fi
-    Range on bit set `#2'.\MessageBreak
-    Using [#5..#6] as error recovery% hash-ok
-  }\@ehc
-  \BitSet@@Range#1{#2}#5!#6!%
-}
-\def\BitSet@@@Range#1!#2!#3#4{%
-  \ifnum#1<#2 %
-    #3{#4}{#1}%
-    \BitSet at AfterFi{%
-      \expandafter\expandafter\expandafter\BitSet@@@Range
-      \IntCalcInc#1!!#2!#3{#4}%
-    }%
-  \BitSet at Fi
-}
-\def\bitsetGet#1#2{%
-  \number
-  \expandafter\expandafter\expandafter\BitSet at Get
-  \intcalcNum{#2}!{#1}%
-}
-\def\BitSet at Get#1!#2{%
-  \ifnum#1<0 %
-    \BitSet at AfterFi{%
-      0 \BitSetError:NegativeIndex%
-    }%
-  \else
-    \BitSet at IfUndefined{#2}{0}{%
-      \expandafter\expandafter\expandafter\BitSet@@Get
-      \csname BS@#2\expandafter\endcsname
-      \expandafter!\expandafter=%
-      \expandafter{\expandafter}\expandafter{\expandafter}%
-      \romannumeral\intcalcNum{#1}000!%
-    }%
-    \expandafter\BitSet at Space
-  \BitSet at Fi
-}
-\def\BitSet@@Get#1#2=#3#4#5{%
-  #3#4%
-  \ifx#5!%
-    \ifx#1!%
-      0%
-    \else
-      #1%
-    \fi
-  \else
-    \ifx#1!%
-      0%
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \BitSet@@Get#2=%
-    \fi
-  \BitSet at Fi
-}
-\def\bitsetNextClearBit#1#2{%
-  \number
-  \expandafter\expandafter\expandafter\BitSet at NextClearBit
-  \intcalcNum{#2}!{#1} %
-}
-\def\BitSet at NextClearBit#1!#2{%
-  \ifnum#1<0 %
-    \BitSet at NextClearBit0!{#2}%
-    \BitSet at AfterFi{%
-      \expandafter\BitSet at Space
-      \expandafter\BitSetError:NegativeIndex\romannumeral0%
-    }%
-  \else
-    \bitsetIsEmpty{#2}{#1}{%
-      \expandafter\BitSet at Skip
-      \number#1\expandafter\expandafter\expandafter!%
-      \csname BS@#2\endcsname!!!!!!!!!=%
-      {\BitSet@@NextClearBit#1!}%
-    }%
-  \BitSet at Fi
-}
-\def\BitSet@@NextClearBit#1!#2{%
-  \ifx#2!%
-    #1%
-  \else
-    \ifx#20%
-      #1%
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet@@NextClearBit
-        \IntCalcInc#1!!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-\def\bitsetNextSetBit#1#2{%
-  \number
-  \expandafter\expandafter\expandafter\BitSet at NextSetBit
-  \intcalcNum{#2}!{#1} %
-}
-\def\BitSet at NextSetBit#1!#2{%
-  \ifnum#1<0 %
-    \BitSet at NextSetBit0!{#2}%
-    \BitSet at AfterFi{%
-      \expandafter\BitSet at Space
-      \expandafter\BitSetError:NegativeIndex\romannumeral0%
-    }%
-  \else
-    \bitsetIsEmpty{#2}{-1}{%
-      \expandafter\BitSet at Skip
-      \number#1\expandafter\expandafter\expandafter!%
-      \csname BS@#2\endcsname!!!!!!!!!=%
-      {\BitSet@@NextSetBit#1!}%
-    }%
-  \BitSet at Fi
-}
-\def\BitSet@@NextSetBit#1!#2{%
-  \ifx#2!%
-    -1%
-  \else
-    \ifx#21%
-      #1%
-      \BitSet at AfterFiFi\BitSet at Cleanup
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet@@NextSetBit
-        \IntCalcInc#1!!%
-      }%
-    \fi
-  \BitSet at Fi
-}
-\def\BitSet at Cleanup#1!{}
-\def\BitSet at Skip#1!#2{%
-  \ifx#2!%
-    \BitSet at AfterFi{%
-      \BitSet at SkipContinue%
-    }%
-  \else
-    \ifcase#1 %
-      \BitSet at AfterFiFi{%
-        \BitSet at SkipContinue#2%
-      }%
-    \or
-      \BitSet at AfterFiFi\BitSet at SkipContinue
-    \or
-      \BitSet at AfterFiFi{%
-        \expandafter\BitSet at SkipContinue\BitSet at Gobble
-      }%
-    \else
-      \ifnum#1>8 %
-        \BitSet at AfterFiFiFi{%
-          \expandafter\BitSet at Skip
-          \number\IntCalcSub#1!8!\expandafter!%
-          \BitSet at GobbleSeven
-        }%
-      \else
-        \BitSet at AfterFiFiFi{%
-          \expandafter\expandafter\expandafter\BitSet at Skip
-          \IntCalcDec#1!!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-\def\BitSet at SkipContinue#1!#2=#3{%
-  #3#1!%
-}
-\def\BitSet at GobbleSeven#1#2#3#4#5#6#7{}
-\def\bitsetGetSetBitList#1{%
-  \romannumeral0%
-  \bitsetIsEmpty{#1}{ }{%
-    \expandafter\BitSet at GetSetBitList
-    \number\BitSet at NextSetBit0!{#1}!{#1}{}!%
-  }%
-}
-\def\BitSet at GetSetBitList#1!#2#3#4!{%
-  \ifnum#1<0 %
-    \BitSet at AfterFi{ #4}%
-  \else
-    \BitSet at AfterFi{%
-      \expandafter\BitSet at GetSetBitList\number
-      \expandafter\expandafter\expandafter\BitSet at NextSetBit
-      \IntCalcInc#1!!{#2}!{#2},#4#3#1!%
-    }%
-  \BitSet at Fi
-}
-\def\bitsetSize#1{%
-  \number
-  \BitSet at IfUndefined{#1}{0 }{%
-    \expandafter\expandafter\expandafter\BitSet at Size
-    \expandafter\expandafter\expandafter1%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#1\endcsname!0!%
-  }%
-}
-\def\BitSet at Size#1!#2#3!#4!{%
-  \ifx#21%
-    \ifx\\#3\\%
-      \BitSet at AfterFiFi{#1 }%
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Size
-        \IntCalcInc#1!!#3!#1!%
-      }%
-    \fi
-  \else
-    \ifx\\#3\\%
-      \BitSet at AfterFiFi{#4 }%
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Size
-        \IntCalcInc#1!!#3!#4!%
-      }%
-    \fi
-  \fi
-  \BitSet at Fi
-}
-\def\bitsetCardinality#1{%
-  \number
-  \BitSet at IfUndefined{#1}{0 }{%
-    \expandafter\expandafter\expandafter\BitSet at Cardinality
-    \expandafter\expandafter\expandafter0%
-    \expandafter\expandafter\expandafter!%
-    \csname BS@#1\endcsname!%
-  }%
-}
-\def\BitSet at Cardinality#1!#2#3!{%
-  \ifx#21%
-    \ifx\\#3\\%
-      \BitSet at AfterFiFi{\IntCalcInc#1! }%
-    \else
-      \BitSet at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BitSet at Cardinality
-        \IntCalcInc#1!!#3!%
-      }%
-    \fi
-  \else
-    \ifx\\#3\\%
-      \BitSet at AfterFiFi{#1 }%
-    \else
-      \BitSet at AfterFiFi{%
-        \BitSet at Cardinality#1!#3!%
-      }%
-    \fi
-  \fi
-  \BitSet at Fi
-}
-\def\bitsetIsDefined#1{%
-  \BitSet at IfUndefined{#1}%
-  \BitSet at SecondOfTwo
-  \BitSet at FirstOfTwo
-}
-\def\bitsetIsEmpty#1{%
-  \BitSet at IfUndefined{#1}\BitSet at FirstOfTwo{%
-    \expandafter\ifx\csname BS@#1\endcsname\BitSet at Zero
-      \expandafter\BitSet at FirstOfTwo
-    \else
-      \expandafter\BitSet at SecondOfTwo
-    \fi
-  }%
-}
-\def\BitSet at Zero{0}
-\def\bitsetQuery#1#2{%
-  \ifnum\bitsetGet{#1}{#2}=1 %
-    \expandafter\BitSet at FirstOfTwo
-  \else
-    \expandafter\BitSet at SecondOfTwo
-  \fi
-}
-\def\bitsetEquals#1#2{%
-  \BitSet at IfUndefined{#1}{%
-    \BitSet at IfUndefined{#2}\BitSet at FirstOfTwo\BitSet at SecondOfTwo
-  }{%
-    \BitSet at IfUndefined{#2}\BitSet at SecondOfTwo{%
-      \expandafter\ifx\csname BS@#1\expandafter\endcsname
-                      \csname BS@#2\endcsname
-        \expandafter\BitSet at FirstOfTwo
-      \else
-        \expandafter\BitSet at SecondOfTwo
-      \fi
-    }%
-  }%
-}
-\def\bitsetIntersects#1#2{%
-  \bitsetIsEmpty{#1}\BitSet at SecondOfTwo{%
-    \bitsetIsEmpty{#2}\BitSet at SecondOfTwo{%
-      \expandafter\expandafter\expandafter\BitSet at Intersects
-      \csname BS@#1\expandafter\expandafter\expandafter\endcsname
-      \expandafter\expandafter\expandafter!%
-      \csname BS@#2\endcsname!%
-    }%
-  }%
-}
-\def\BitSet at Intersects#1#2!#3#4!{%
-  \ifnum#1#3=11 %
-    \BitSet at AfterFi\BitSet at FirstOfTwo
-  \else
-    \ifx\\#2\\%
-      \BitSet at AfterFiFi\BitSet at SecondOfTwo
-    \else
-      \ifx\\#4\\%
-        \BitSet at AfterFiFiFi\BitSet at SecondOfTwo
-      \else
-        \BitSet at AfterFiFiFi{%
-          \BitSet at Intersects#2!#4!%
-        }%
-      \fi
-    \fi
-  \BitSet at Fi
-}
-\BitSet at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `bitset.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/catchfile.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/catchfile.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/catchfile.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,314 +0,0 @@
-%%
-%% This is file `catchfile.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% catchfile.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: catchfile
-%% Version: 2016/05/16 v1.7
-%% 
-%% Copyright (C)
-%%    2007, 2010, 2011 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
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file catchfile.dtx
-%% and the derived files
-%%    catchfile.sty, catchfile.pdf, catchfile.ins, catchfile.drv,
-%%    catchfile-test1.tex, catchfile-test2.tex,
-%%    catchfile-test3.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at catchfile.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{catchfile}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at catchfile.sty\endcsname
-\ProvidesPackage{catchfile}%
-  [2016/05/16 v1.7 Catch the contents of a file (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname CatchFile at 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 at EnsureCode#1#2{%
-  \edef\CatchFile at AtEnd{%
-    \CatchFile at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\edef\CatchFile at AtEnd{\CatchFile at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input infwarerr.sty\relax
-  \input ltxcmds.sty\relax
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{ltxcmds}[2010/03/09]%
-\fi
-\begingroup
-  \escapechar=92\relax
-  \edef\TestString{\string\everyeof}%
-  \edef\TestMeaning{\meaning\everyeof}%
-  \ifx\TestString\TestMeaning
-  \else
-    \@PackageError{catchfile}{%
-      Cannot find e-TeX's \string\everyeof,\MessageBreak
-      package loading is aborted%
-    }\@ehd
-    \endgroup
-    \expandafter\CatchFile at AtEnd
-  \fi%
-\endgroup
-\begingroup
-  \def\Check#1#2#3#4\endgroup{%
-    \edef\TestString{\string#1}%
-    \edef\TestMeaning{\meaning#2}%
-    \ifx\TestString\TestMeaning
-      \endgroup
-      \let\CatchFile at Primitive#2%
-      \def\CatchFile at Input{\CatchFile at Primitive#3}%
-    \else
-      #4\endgroup
-    \fi
-  }%
-  \Check\input\input{}%
-  \Check\input\@@input{}%
-  \Check\pdfprimitive\pdfprimitive\input
-  \@PackageError{%
-    Cannot find primitive \string\input,\MessageBreak
-    package loading is aborted%
-  }\@ehd
-  \csname endgroup\endcsname
-  \CatchFile at AtEnd%
-\endgroup
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname IfFileExists\endcsname\relax
-  \input pdftexcmds.sty\relax
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname pdf at filesize\endcsname\relax
-    \def\CatchFile at CheckFileExists#1{%
-      \expandafter\ifx\csname @inputcheck\endcsname\relax
-        \csname newread\endcsname\@inputcheck
-      \fi
-      \openin\@inputcheck#1\relax
-      \expandafter\closein\expandafter\@inputcheck
-      \ifeof\@inputcheck
-        \let\CatchFile at File\relax
-      \else
-        \def\CatchFile at File{#1}%
-      \fi
-    }%
-  \else
-    \def\CatchFile at CheckFileExists#1{%
-      \expandafter\expandafter\expandafter\ifx
-      \expandafter\expandafter\expandafter\relax\pdf at filesize{#1}\relax
-        \let\CatchFile at File\relax
-      \else
-        \def\CatchFile at File{#1}%
-      \fi
-    }%
-  \fi
-\else
-  \def\CatchFile at CheckFileExists#1{%
-    \IfFileExists{#1}{%
-      \expandafter\CatchFile at DefFile\@filef at und\@nil
-      \begingroup\expandafter\expandafter\expandafter\endgroup
-      \expandafter\ifx\csname @addtofilelist\endcsname\relax
-      \else
-        \@addtofilelist\CatchFile at File
-      \fi
-    }{%
-      \let\CatchFile at File\relax
-    }%
-  }%
-  \def\CatchFile at DefFile#1 \@nil{%
-    \def\CatchFile at File{#1}%
-  }%
-\fi
-\def\CatchFile at NotFound#1#2{%
-  \def#1{}%
-  \@PackageError{catchfile}{%
-    File `#2' not found%
-  }\@ehc
-}
-\ltx at IfUndefined{RequirePackage}{%
-  \input etexcmds.sty\relax
-}{%
-  \RequirePackage{etexcmds}[2010/01/28]%
-}
-\long\def\CatchFileEdef#1#2#3{%
-  \CatchFile at CheckFileExists{#2}%
-  \ifx\CatchFile at File\relax
-    \CatchFile at NotFound{#1}{#2}%
-  \else
-    \begingroup
-      \everyeof{\noexpand}%
-      #3%
-      \xdef\CatchFile at Contents{\CatchFile at Input\CatchFile at File\space}%
-    \endgroup
-    \let#1\CatchFile at Contents
-  \fi
-}
-\long\def\CatchFileDef#1#2#3{%
-  \CatchFile at CheckFileExists{#2}%
-  \ifx\CatchFile at File\relax
-    \CatchFile at NotFound{#1}{#2}%
-  \else
-    \begingroup
-      \everyeof\expandafter{%
-        \CatchFile at EOF
-        \expandafter\CatchFile at Finish
-        \noexpand
-      }%
-      \ltx at ifundefined{etex at unexpanded}{%
-        \expandafter\long\expandafter\def\expandafter\CatchFile at Do
-            \expandafter##\expandafter1\CatchFile at EOF{%
-          \toks\ltx at zero{##1}%
-          \xdef\CatchFile at gtemp{\the\toks\ltx at zero}%
-          \def\CatchFile at Finish{%
-            \endgroup
-            \let#1\CatchFile at gtemp
-            \global\let\CatchFile at gtemp\ltx at undefined
-          }%
-        }%
-      }{%
-        \expandafter\long\expandafter\def\expandafter\CatchFile at Do
-            \expandafter##\expandafter1\CatchFile at EOF{%
-          \edef\CatchFile at Finish{%
-            \endgroup
-            \etex at unexpanded{%
-              \edef#1{\etex at unexpanded{##1}}%
-            }%
-          }%
-        }%
-      }%
-      #3\relax
-    \expandafter\expandafter\expandafter\CatchFile at Do
-    \CatchFile at Input\CatchFile at File\relax
-  \fi
-}
-\begingroup
-  \lccode65=64 % lowercase('A') = '@'
-  \lccode66=64 % lowercase('B') = '@'
-  \catcode65=8 % catcode('A') = subscript
-  \catcode66=3 % catcode('B') = math shift
-\lowercase{\endgroup
-  \def\CatchFile at EOF{AB}%
-}
-\CatchFile at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `catchfile.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/pdfescape.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,782 +0,0 @@
-%%
-%% This is file `pdfescape.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% pdfescape.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: pdfescape
-%% Version: 2016/05/16 v1.14
-%% 
-%% Copyright (C)
-%%    2007, 2010, 2011 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
-%% 
-%% 
-%% The Base Interpreter refers to any `TeX-Format',
-%% because some files are installed in TDS:tex/generic//.
-%% 
-%% This work consists of the main source file pdfescape.dtx
-%% and the derived files
-%%    pdfescape.sty, pdfescape.pdf, pdfescape.ins, pdfescape.drv,
-%%    pdfescape-test1.tex, pdfescape-test2.tex,
-%%    pdfescape-test3.tex, pdfescape-test4.tex,
-%%    pdfescape-test5.tex, pdfescape-test6.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\let\expandafter\x\csname ver at pdfescape.sty\endcsname
-  \ifx\x\relax % plain-TeX, first loading
-  \else
-    \def\empty{}%
-    \ifx\x\empty % LaTeX, first loading,
-      % variable is initialized, but \ProvidesPackage not yet seen
-    \else
-      \expandafter\ifx\csname PackageInfo\endcsname\relax
-        \def\x#1#2{%
-          \immediate\write-1{Package #1 Info: #2.}%
-        }%
-      \else
-        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
-      \fi
-      \x{pdfescape}{The package is already loaded}%
-      \aftergroup\endinput
-    \fi
-  \fi
-\endgroup%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode35=6 % #
-  \catcode39=12 % '
-  \catcode40=12 % (
-  \catcode41=12 % )
-  \catcode44=12 % ,
-  \catcode45=12 % -
-  \catcode46=12 % .
-  \catcode47=12 % /
-  \catcode58=12 % :
-  \catcode64=11 % @
-  \catcode91=12 % [
-  \catcode93=12 % ]
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
-    \def\x#1#2#3[#4]{\endgroup
-      \immediate\write-1{Package: #3 #4}%
-      \xdef#1{#4}%
-    }%
-  \else
-    \def\x#1#2[#3]{\endgroup
-      #2[{#3}]%
-      \ifx#1\@undefined
-        \xdef#1{#3}%
-      \fi
-      \ifx#1\relax
-        \xdef#1{#3}%
-      \fi
-    }%
-  \fi
-\expandafter\x\csname ver at pdfescape.sty\endcsname
-\ProvidesPackage{pdfescape}%
-  [2016/05/16 v1.14 Implements pdfTeX's escape features (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123 1 % {
-  \catcode125 2 % }
-  \catcode64 11 %
-  \def\x{\endgroup
-    \expandafter\edef\csname PE at 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 at EnsureCode#1#2#3{%
-  \edef\PE at AtEnd{%
-    \PE at AtEnd
-    #1#2=\the#1#2\relax
-  }%
-  #1#2=#3\relax
-}
-\TMP at EnsureCode\catcode{0}{12}% ^^@
-\TMP at EnsureCode\catcode{34}{12}% "
-\TMP at EnsureCode\catcode{36}{3}% $
-\TMP at EnsureCode\catcode{38}{4}% &
-\TMP at EnsureCode\catcode{39}{12}% '
-\TMP at EnsureCode\catcode{42}{12}% *
-\TMP at EnsureCode\catcode{45}{12}% -
-\TMP at EnsureCode\catcode{46}{12}% .
-\TMP at EnsureCode\catcode{47}{12}% /
-\TMP at EnsureCode\catcode{60}{12}% <
-\TMP at EnsureCode\catcode{62}{12}% >
-\TMP at EnsureCode\catcode{91}{12}% [
-\TMP at EnsureCode\catcode{93}{12}% ]
-\TMP at EnsureCode\catcode{94}{7}% ^
-\TMP at EnsureCode\catcode{96}{12}% `
-\TMP at EnsureCode\uccode{34}{0}% "
-\TMP at EnsureCode\uccode{48}{0}% 0
-\TMP at EnsureCode\uccode{61}{0}% =
-\edef\PE at AtEnd{\PE at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \def\TMP at RequirePackage#1[#2]{%
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-    \expandafter\ifx\csname ver@#1.sty\endcsname\relax
-      \input #1.sty\relax
-    \fi
-  }%
-  \TMP at RequirePackage{ltxcmds}[2010/04/08]%
-\else
-  \RequirePackage{ltxcmds}[2010/04/08]%
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname detokenize\endcsname\relax
-  \long\def\EdefSanitize#1#2{%
-    \begingroup
-      \csname @safe at activestrue\endcsname
-      \edef#1{#2}%
-      \PE at onelevel@sanitize#1%
-    \expandafter\endgroup
-    \expandafter\def\expandafter#1\expandafter{#1}%
-  }%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname @onelevel at sanitize\endcsname\relax
-    \def\PE at onelevel@sanitize#1{%
-      \edef#1{\expandafter\PE at strip@prefix\meaning#1}%
-    }%
-    \def\PE at strip@prefix#1>{}%
-  \else
-    \let\PE at onelevel@sanitize\@onelevel at sanitize
-  \fi
-\else
-  \long\def\EdefSanitize#1#2{%
-    \begingroup
-      \csname @safe at activestrue\endcsname
-      \edef#1{#2}%
-    \expandafter\endgroup
-    \expandafter\def\expandafter#1\expandafter{%
-      \detokenize\expandafter{#1}%
-    }%
-  }%
-  \def\PE at onelevel@sanitize#1{%
-    \edef#1{\detokenize\expandafter{#1}}%
-  }%
-\fi
-\let\PE at sanitize\EdefSanitize
-\begingroup
-  \catcode`\ =12\relax%
-\def\x{\endgroup\def\PE at space@other{ }}\x\relax
-\def\PE at space@space{ }
-\def\PE at SanitizeSpaceOther#1{%
-  \edef#1{\expandafter\PE at SpaceToOther#1 \relax}%
-}
-\def\PE at SpaceToOther#1 #2\relax{%
-  #1%
-  \ifx\\#2\\%
-  \else
-    \PE at space@other
-    \ltx at ReturnAfterFi{%
-      \PE at SpaceToOther#2\relax
-    }%
-  \fi
-}
-\def\EdefUnescapeName#1#2{%
-  \EdefSanitize#1{#2}%
-  \PE at SanitizeSpaceOther#1%
-  \PE at UnescapeName#1%
-  \PE at onelevel@sanitize#1%
-}
-\begingroup
-  \catcode`\$=6  % hash
-  \catcode`\#=12 % other
-  \gdef\PE at UnescapeName$1{%
-    \begingroup
-      \PE at InitUccodeHexDigit
-      \def\PE at result{}%
-      \expandafter\PE at DeName$1#\relax\relax
-    \expandafter\endgroup
-    \expandafter\def\expandafter$1\expandafter{\PE at result}%
-  }%
-  \gdef\PE at DeName$1#$2$3{%
-    \ifx\relax$2%
-      \edef\PE at result{\PE at result$1}%
-      \let\PE at next\relax
-    \else
-      \ifx\relax$3%
-        % wrong escape sequence in input
-        \edef\PE at result{\PE at result$1#}%
-        \let\PE at next\relax
-      \else
-        \uppercase{%
-          \def\PE at testA{$2}%
-          \def\PE at testB{$3}%
-        }%
-        \ifcase\ifcase\expandafter\PE at TestUcHexDigit\PE at testA
-                 \ifcase\expandafter\PE at TestUcHexDigit\PE at testB
-                   \ltx at zero
-                 \else
-                   \ltx at one
-                 \fi
-               \else
-                 \ltx at one
-               \fi
-          \uccode\ltx at zero="\PE at testA\PE at testB\relax
-          \uppercase{%
-            \def\PE at temp{^^@}%
-          }%
-          \uccode\ltx at zero=\ltx at zero
-          \edef\PE at result{\PE at result$1\PE at temp}%
-          \let\PE at next\PE at DeName
-        \else
-          % wrong escape sequence in input
-          \edef\PE at result{\PE at result$1#}%
-          \def\PE at next{\PE at DeName$2$3}%
-        \fi
-      \fi
-    \fi
-    \PE at next
-  }%
-\endgroup
-\def\PE at InitUccodeHexDigit{%
-  \uccode`a=`A\relax
-  \uccode`b=`B\relax
-  \uccode`c=`C\relax
-  \uccode`d=`D\relax
-  \uccode`e=`E\relax
-  \uccode`f=`F\relax
-  \uccode`A=\ltx at zero
-  \uccode`B=\ltx at zero
-  \uccode`C=\ltx at zero
-  \uccode`D=\ltx at zero
-  \uccode`E=\ltx at zero
-  \uccode`F=\ltx at zero
-  \uccode`0=\ltx at zero
-  \uccode`1=\ltx at zero
-  \uccode`2=\ltx at zero
-  \uccode`3=\ltx at zero
-  \uccode`4=\ltx at zero
-  \uccode`5=\ltx at zero
-  \uccode`6=\ltx at zero
-  \uccode`7=\ltx at zero
-  \uccode`8=\ltx at zero
-  \uccode`9=\ltx at zero
-}
-\def\PE at TestUcHexDigit#1{%
-  \ifnum`#1<48 % 0
-    \ltx at one
-  \else
-    \ifnum`#1>70 % F
-      \ltx at one
-    \else
-      \ifnum`#1>57 % 9
-        \ifnum`#1<65 % A
-          \ltx at one
-        \else
-          \ltx at zero
-        \fi
-      \else
-        \ltx at zero
-      \fi
-    \fi
-  \fi
-}
-\def\EdefUnescapeString#1#2{%
-  \EdefSanitize#1{#2}%
-  \PE at SanitizeSpaceOther#1%
-  \PE at NormalizeLineEnd#1%
-  \PE at UnescapeString#1%
-  \PE at onelevel@sanitize#1%
-}
-\begingroup
-  \uccode`\8=10 % lf
-  \uccode`\9=13 % cr
-\def\x#1#2{\endgroup
-  \def\PE at NormalizeLineEnd##1{%
-    \def\PE at result{}%
-    \expandafter\PE@@NormalizeLineEnd##1#2\relax
-    \let##1\PE at result
-  }%
-  \def\PE@@NormalizeLineEnd##1#2##2{%
-    \ifx\relax##2%
-      \edef\PE at result{\PE at result##1}%
-      \let\PE at next\relax
-    \else
-      \edef\PE at result{\PE at result##1#1}%
-      \ifx#1##2% lf
-        \let\PE at next\PE@@NormalizeLineEnd
-      \else
-        \def\PE at next{\PE@@NormalizeLineEnd##2}%
-      \fi
-    \fi
-    \PE at next
-  }%
-}%
-\uppercase{%
-  \x 89%
-}
-\begingroup
-  \catcode`\|=0 %
-  \catcode`\\=12 %
-  |gdef|PE at UnescapeString#1{%
-    |begingroup
-      |def|PE at result{}%
-      |expandafter|PE at DeString#1\|relax
-    |expandafter|endgroup
-    |expandafter|def|expandafter#1|expandafter{|PE at result}%
-  }%
-  |gdef|PE at DeString#1\#2{%
-    |ifx|relax#2%
-      |edef|PE at result{|PE at result#1}%
-      |let|PE at next|relax
-    |else
-      |if n#2%
-        |uccode|ltx at zero=10 %
-      |else|if r#2%
-        |uccode|ltx at zero=13 %
-      |else|if t#2%
-        |uccode|ltx at zero=9 %
-      |else|if b#2%
-        |uccode|ltx at zero=8 %
-      |else|if f#2%
-        |uccode|ltx at zero=12 %
-      |else
-        |uccode|ltx at zero=|ltx at zero
-      |fi|fi|fi|fi|fi
-      |ifnum|uccode|ltx at zero>|ltx at zero
-        |uppercase{%
-          |edef|PE at temp{^^@}%
-        }%
-        |edef|PE at result{|PE at result#1|PE at temp}%
-        |let|PE at next|PE at DeString
-      |else
-        |if\#2% backslash
-          |edef|PE at result{|PE at result#1}%
-          |let|PE at next|PE at CheckEndBackslash
-        |else
-          |ifnum`#2=10 % linefeed
-            |edef|PE at result{|PE at result#1}%
-            |let|PE at next|PE at DeString
-          |else
-            |ifcase|PE at TestOctDigit#2%
-              |edef|PE at result{|PE at result#1}%
-              |def|PE at next{|PE at OctI#2}%
-            |else
-              |edef|PE at result{|PE at result#1#2}%
-              |let|PE at next|PE at DeString
-            |fi
-          |fi
-        |fi
-      |fi
-    |fi
-    |PE at next
-  }%
-  |gdef|PE at CheckEndBackslash#1{%
-    |ifx|relax#1%
-    |else
-      |edef|PE at result{|PE at result\}%
-      |expandafter|PE at DeString|expandafter#1%
-    |fi
-  }%
-|endgroup
-\def\PE at TestOctDigit#1{%
-  \ifnum`#1<48 % 0
-    \ltx at one
-  \else
-    \ifnum`#1>55 % 7
-      \ltx at one
-    \else
-      \ltx at zero
-    \fi
-  \fi
-}
-\def\PE at OctI#1#2{%
-  \ifcase\PE at TestOctDigit#2%
-    \def\PE at next{\PE at OctII{#1#2}}%
-  \else
-    \def\PE at next{\PE at OctAll#1#2}%
-  \fi
-  \PE at next
-}
-\def\PE at OctII#1#2{%
-  \ifcase\PE at TestOctDigit#2%
-    \def\PE at next{\PE at OctIII#1#2}%
-  \else
-    \def\PE at next{\PE at OctAll{#1}#2}%
-  \fi
-  \PE at next
-}
-\ltx at IfUndefined{numexpr}{%
-  \catcode`\$=9 %
-  \catcode`\&=14 %
-}{%
-  \catcode`\$=14 %
-  \catcode`\&=9 %
-}
-\def\PE at OctIII#1#2#3{%
-  \ifnum#1<4 %
-    \def\PE at next{\PE at OctAll{#1#2#3}}%
-  \else
-$   \count\ltx at cclv#1 %
-$   \advance\count\ltx at cclv -4 %
-    \edef\PE at next{%
-      \noexpand\PE at OctAll{%
-$       \the\count\ltx at cclv
-&       \the\numexpr#1-4\relax
-        #2#3%
-      }%
-    }%
-  \fi
-  \PE at next
-}
-\def\PE at OctAll#1{%
-  \uccode\ltx at zero='#1\relax
-  \uppercase{%
-    \edef\PE at result{\PE at result^^@}%
-  }%
-  \PE at DeString
-}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \def\TMP at RequirePackage#1[#2]{%
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-    \expandafter\ifx\csname ver@#1.sty\endcsname\relax
-      \input #1.sty\relax
-    \fi
-  }%
-  \TMP at RequirePackage{pdftexcmds}[2007/11/11]%
-\else
-  \RequirePackage{pdftexcmds}[2007/11/11]%
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdf at escapehex\endcsname\relax
-  \long\def\EdefEscapeHex#1#2{%
-    \EdefSanitize#1{#2}%
-    \PE at SanitizeSpaceOther#1%
-    \PE at EscapeHex#1%
-  }%
-  \def\EdefUnescapeHex#1#2{%
-    \EdefSanitize#1{#2}%
-    \PE at UnescapeHex#1%
-  }%
-  \long\def\EdefEscapeName#1#2{%
-    \EdefSanitize#1{#2}%
-    \PE at SanitizeSpaceOther#1%
-    \PE at EscapeName#1%
-  }%
-  \long\def\EdefEscapeString#1#2{%
-    \EdefSanitize#1{#2}%
-    \PE at SanitizeSpaceOther#1%
-    \PE at EscapeString#1%
-  }%
-\else
-  \long\def\PE at edefbabel#1#2#3{%
-    \begingroup
-      \csname @save at activestrue\endcsname
-      \edef#1{#2{#3}}%
-    \expandafter\endgroup
-    \expandafter\def\expandafter#1\expandafter{#1}%
-  }%
-  \long\def\EdefEscapeHex#1#2{%
-    \PE at edefbabel#1\pdf at escapehex{#2}%
-  }%
-  \def\EdefUnescapeHex#1#2{%
-    \PE at edefbabel#1\pdf at unescapehex{#2}%
-  }%
-  \long\def\EdefEscapeName#1#2{%
-    \PE at edefbabel#1\pdf at escapename{#2}%
-  }%
-  \long\def\EdefEscapeString#1#2{%
-    \PE at edefbabel#1\pdf at escapestring{#2}%
-  }%
-  \expandafter\PE at AtEnd
-\fi%
-\edef\PE at hash{\string#}
-\begingroup
-  \escapechar=-1 %
-\edef\x{\endgroup
-  \def\noexpand\PE at backslash{\string\\}%
-}
-\x
-\ltx at newif\ifPE at etex
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-\else
-  \PE at etextrue
-\fi
-\ifPE at etex
-  \def\PE at EscapeHex#1{%
-    \edef#1{\expandafter\PE at ToHex#1\relax}%
-  }%
-\else
-  \def\PE at EscapeHex#1{%
-    \def\PE at result{}%
-    \expandafter\PE at ToHex#1\relax
-    \let#1\PE at result
-  }%
-\fi
-\def\PE at ToHex#1{%
-  \ifx\relax#1%
-  \else
-    \PE at HexChar{#1}%
-    \expandafter\PE at ToHex
-  \fi
-}%
-\ifPE at etex
-  \def\PE at HexChar#1{%
-    \PE at HexDigit{\numexpr\dimexpr.0625\dimexpr`#1sp\relax\relax\relax}%
-    \PE at HexDigit{%
-      \numexpr`#1-16*\dimexpr.0625\dimexpr`#1sp\relax\relax\relax
-    }%
-  }%
-\else
-  \def\PE at HexChar#1{%
-    \dimen0=`#1sp%
-    \dimen2=.0625\dimen0 %
-    \advance\dimen0-16\dimen2 %
-    \edef\PE at result{%
-      \PE at result
-      \PE at HexDigit{\dimen2 }%
-      \PE at HexDigit{\dimen0 }%
-    }%
-  }%
-\fi
-\def\PE at HexDigit#1{%
-  \expandafter\string
-  \ifcase#1%
-    0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\or
-    A\or B\or C\or D\or E\or F%
-  \fi
-}
-\ifPE at etex
-  \def\PE at OctChar#1{%
-    \expandafter\PE@@OctChar
-        \the\numexpr\dimexpr.015625\dimexpr`#1sp\relax\relax
-            \expandafter\relax
-        \expandafter\relax
-        \the\numexpr\dimexpr.125\dimexpr`#1sp\relax\relax\relax
-        \relax
-        #1%
-  }%
-  \def\PE@@OctChar#1\relax#2\relax#3{%
-    \PE at backslash
-    #1%
-    \the\numexpr#2-8*#1\relax
-    \the\numexpr\dimexpr`#3sp\relax-8*#2\relax
-  }%
-\else
-  \def\PE at OctChar#1{%
-    \dimen0=`#1sp%
-    \dimen2=.125\dimen0 %
-    \dimen4=.125\dimen2 %
-    \advance\dimen0-8\dimen2 %
-    \advance\dimen2-8\dimen4 %
-    \edef\PE at result{%
-      \PE at result
-      \PE at backslash
-      \number\dimen4 %
-      \number\dimen2 %
-      \number\dimen0 %
-    }%
-  }%
-\fi
-\def\PE at UnescapeHex#1{%
-  \begingroup
-    \PE at InitUccodeHexDigit
-    \def\PE at result{}%
-    \expandafter\PE at DeHex#1\relax\relax
-  \expandafter\endgroup
-  \expandafter\def\expandafter#1\expandafter{\PE at result}%
-}
-\def\PE at DeHex#1#2{%
-  \ifx#2\relax
-    \ifx#1\relax
-      \let\PE at next\relax
-    \else
-      \uppercase{%
-        \def\PE at testA{#1}%
-      }%
-      \ifcase\expandafter\PE at TestUcHexDigit\PE at testA
-        \def\PE at next{%
-          \PE at DeHex#10\relax\relax
-        }%
-      \else
-        \let\PE at next\relax
-      \fi
-    \fi
-  \else
-    \uppercase{%
-      \def\PE at testA{#1}%
-      \def\PE at testB{#2}%
-    }%
-    \ifcase\expandafter\PE at TestUcHexDigit\PE at testA
-      \ifcase\expandafter\PE at TestUcHexDigit\PE at testB
-        \uccode\ltx at zero="\PE at testA\PE at testB\relax
-        \ifnum\uccode\ltx at zero=32 %
-          \let\PE at temp\PE at space@space
-        \else
-          \uppercase{%
-            \def\PE at temp{^^@}%
-          }%
-        \fi
-        \edef\PE at result{\PE at result\PE at temp}%
-        \let\PE at next\PE at DeHex
-      \else
-        % invalid input sequence
-        \def\PE at next{%
-          \PE at DeHex#1%
-        }%
-      \fi
-    \else
-      % invalid input sequence
-      \def\PE at next{\PE at DeHex#2}%
-    \fi
-  \fi
-  \PE at next
-}
-\ifPE at etex
-  \def\PE at EscapeName#1{%
-    \edef#1{\expandafter\PE at EscapeNameTokens#1\relax}%
-  }%
-\else
-  \def\PE at EscapeName#1{%
-    \def\PE at result{}%
-    \expandafter\PE at EscapeNameTokens#1\relax
-    \let#1\PE at result
-  }%
-\fi
-\def\PE at EscapeNameTokens#1{%
-  \ifx\relax#1%
-  \else
-    \ifnum`#1<33 %
-      \ifcase`#1 %
-        % drop illegal zero
-      \else
-        \PE at EscapeNameAdd\PE at hash
-        \PE at HexChar#1%
-      \fi
-    \else
-      \ifnum`#1>126 %
-        \PE at EscapeNameAdd\PE at hash
-        \PE at HexChar#1%
-      \else  \ifnum`#1=35  \PE at EscapeNameHashChar 23% #
-        \else\ifnum`#1=37  \PE at EscapeNameHashChar 25% %
-        \else\ifnum`#1=40  \PE at EscapeNameHashChar 28% (
-        \else\ifnum`#1=41  \PE at EscapeNameHashChar 29% )
-        \else\ifnum`#1=47  \PE at EscapeNameHashChar 2F% /
-        \else\ifnum`#1=60  \PE at EscapeNameHashChar 3C% <
-        \else\ifnum`#1=62  \PE at EscapeNameHashChar 3E% >
-        \else\ifnum`#1=91  \PE at EscapeNameHashChar 5B% [
-        \else\ifnum`#1=93  \PE at EscapeNameHashChar 5D% ]
-        \else\ifnum`#1=123 \PE at EscapeNameHashChar 7B% {
-        \else\ifnum`#1=125 \PE at EscapeNameHashChar 7D% }
-        \else
-          \PE at EscapeNameAdd{#1}%
-        \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-      \fi
-    \fi
-    \expandafter\PE at EscapeNameTokens
-  \fi
-}%
-\def\PE at EscapeNameHashChar#1#2{%
-  \PE at EscapeNameAdd{\PE at hash\string#1\string#2}%
-}%
-\ifPE at etex
-  \def\PE at EscapeNameAdd#1{#1}%
-\else
-  \def\PE at EscapeNameAdd#1{%
-    \edef\PE at result{%
-      \PE at result
-      #1%
-    }%
-  }%
-\fi
-\ifPE at etex
-  \def\PE at EscapeString#1{%
-    \edef#1{\expandafter\PE at EscapeStringTokens#1\relax}%
-  }%
-\else
-  \def\PE at EscapeString#1{%
-    \begingroup
-      \def\PE at result{}%
-      \expandafter\PE at EscapeStringTokens#1\relax
-    \expandafter\endgroup
-    \expandafter\def\expandafter#1\expandafter{\PE at result}%
-  }%
-\fi
-\def\PE at EscapeStringTokens#1{%
-  \ifx\relax#1%
-  \else
-    \ifnum`#1<33 %
-      \PE at OctChar#1%
-    \else
-      \ifnum`#1>126 %
-        \PE at OctChar#1%
-      \else  \ifnum`#1=40 \PE at EscapeStringAdd{\string\(}% (
-        \else\ifnum`#1=41 \PE at EscapeStringAdd{\string\)}% )
-        \else\ifnum`#1=92 \PE at EscapeStringAdd{\string\\}% \
-        \else
-          \PE at EscapeStringAdd{#1}%
-        \fi\fi\fi
-      \fi
-    \fi
-    \expandafter\PE at EscapeStringTokens
-  \fi
-}%
-\ifPE at etex
-  \def\PE at EscapeStringAdd#1{#1}%
-\else
-  \def\PE at EscapeStringAdd#1{%
-    \edef\PE at result{%
-      \PE at result
-      #1%
-    }%
-  }%
-\fi
-\PE at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `pdfescape.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/askinclude.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/askinclude.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/askinclude.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,703 +0,0 @@
-%%
-%% This is file `askinclude.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% askinclude.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: askinclude
-%% Version: 2018/11/01 v2.4
-%% 
-%% Copyright (C)
-%%    1991-1994 Pablo A. Straub
-%%    2007, 2008, 2011 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 askinclude.dtx
-%% and the derived files
-%%    askinclude.sty, askinclude.pdf, askinclude.ins, askinclude.drv,
-%%    askinclude.bib, askinclude-a.tex, askinclude-b.tex,
-%%    askinclude-c.tex, askinclude-test1.tex,
-%%    askinclude-test2.tex, askinclude-test3.tex,
-%%    askinclude-test4.tex, askinclude-test5.tex,
-%%    askinclude-test6.tex, askinclude-test7.tex,
-%%    askinclude-test8.tex, askinclude-test9.tex,
-%%    askinclude-test10.tex, askinclude-test11.tex,
-%%    askinclude-test12.tex, askinclude-test13.tex,
-%%    askinclude-test14.tex, askinclude-test15.tex,
-%%    askinclude-test16.tex, askinclude-test17.tex,
-%%    askinclude-test18.tex, askinclude-test19.tex,
-%%    askinclude-test20.tex, askinclude-test21.tex,
-%%    askinclude-test22.tex, askinclude-test23.tex,
-%%    askinclude-test24.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname AskInc at 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 at EnsureCode#1#2{%
-  \edef\AskInc at AtEnd{%
-    \AskInc at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{63}{12}% ?
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{96}{12}% `
-\edef\AskInc at AtEnd{\AskInc at AtEnd\noexpand\endinput}
-\ProvidesPackage{askinclude}%
-  [2018/11/01 v2.4 Interactive asking of included files]%
-\ifx\pdfextension\@undefined\else
-    \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
-    \protected\def\pdfnames   {\pdfextension names }
-    \protected\def\pdfobj     {\pdfextension obj }
-    \let\pdfoutput            \outputmode
-\fi
-\AtBeginDocument{%
-  \let\AskInc at AtBeginDocument\@firstofone
-}
-\providecommand*{\AskInc at AtBeginDocument}{\AtBeginDocument}
-\def\AskInc at WriteAux#1#2{%
-  \AskInc at AtBeginDocument{%
-    \if at filesw
-      \immediate\write\@mainaux{#1}%
-      #2%
-    \fi
-  }%
-}
-\edef\AskInc at CharHash{\string#}
-\def\AskInc at WriteDefAddList{%
-  \AskInc at WriteAux{%
-    \string\providecommand*\string\AskInc at AddList[2]{%
-      \string\ifcase\string\ifx\AskInc at CharHash1\string\@undefined
-                    \string\else
-                      \string\ifx\AskInc at CharHash1\string\relax
-                      \string\else
-                        \string\ifx\AskInc at CharHash1\string\@empty
-                        \string\else
-                          1%
-                        \string\fi
-                      \string\fi
-                    \string\fi
-                    0 %
-        \string\gdef\AskInc at CharHash1{\AskInc at CharHash2}%
-      \string\else
-        \string\g at addto@macro\AskInc at CharHash1{,\AskInc at CharHash2}%
-      \string\fi
-    }%
-  }{%
-    \global\let\AskInc at WriteDefAddList\relax
-  }%
-}
-\def\AskInc at WriteDefAddFile{%
-  \AskInc at WriteDefAddList
-  \AskInc at WriteAux{%
-    \string\providecommand\string\AskInc at AddFile{%
-      \string\AskInc at AddList\string\AskInc at Files
-    }%
-  }{%
-    \global\let\AskInc at WriteDefAddFile\relax
-  }%
-}
-\AtBeginDocument{%
-  \global\let\AskInc at AddFile\@gobble
-}
-\def\AskInc at WriteAddFile#1{%
-  \AskInc at WriteDefAddFile
-  \AskInc at WriteAux{%
-    \string\AskInc at AddFile{#1}%
-  }{}%
-}
-\providecommand*{\AskInc at Files}{}
-\newcommand{\AskInc at OrgInclude}{}
-\let\AskInc at OrgInclude\include
-\let\AskInc at AskFile\@gobble
-\let\AskInc at MatchFile\@gobble
-\renewcommand*{\include}[1]{%
-  \AskInc at WriteAddFile{#1}%
-  \AskInc at AskFile{#1}%
-  \AskInc at MatchFile{#1}%
-  \AskInc at OrgInclude{#1}%
-}
-\AtEndOfPackage{%
-  \AtBeginDocument{%
-    \@ifundefined{AskInc at Answer}{}{%
-      \AskInc at WriteAux{%
-        \string\gdef\string\AskInc at Answer{\AskInc at Answer}%
-      }{}%
-    }%
-    \@ifundefined{AskInc at MatchMethod}{}{%
-      \AskInc at WriteAux{%
-        \string\gdef\string\AskInc at MatchMethod{\AskInc at MatchMethod}%
-      }{}%
-    }%
-  }%
-}
-\providecommand*{\@includeonly}[1]{%
-  \gdef\AskInc at Answer{#1}%
-  \ifx\AskInc at Answer\@empty
-    \gdef\AskInc at Answer{-}%
-  \fi
-  \global\let\AskInc at MatchMethod\@empty
-}
-\if at partsw
-  \PackageWarningNoLine{askinclude}{%
-    Previous \string\includeonly\space detected,\MessageBreak
-    therefore asking for files is suppressed%
-  }%
-  \DeclareOption{makematch}{}%
-  \DeclareOption{pdfmatch}{}%
-  \DeclareOption{noregexp}{}%
-  \ProcessOptions*%
-  \@ifundefined{AskInc at MatchFiles}{%
-  }{%
-    \ifx\AskInc at MatchMethod\@empty
-    \else
-      \AskInc at WriteAux{%
-        \string\gdef\string\AskInc at MatchFiles{\AskInc at MatchFiles}%
-      }{}%
-    \fi
-  }%
-  \expandafter\AskInc at AtEnd
-\fi%
-\newcommand{\AskInc at OrgIncludeOnly}{}%
-\let\AskInc at OrgIncludeOnly\includeonly
-\renewcommand*{\includeonly}[1]{%
-  \PackageWarning{askinclude}{%
-    \string\includeonly\space is managed by package `askinclude',%
-    \MessageBreak
-    therefore it is ignored%
-  }%
-}
-\def\AskInc at StringNoRegExp{noregexp}
-\def\AskInc at StringMakeMatch{makematch}
-\def\AskInc at StringPdfMatch{pdfmatch}
-\newif\ifAskInc at PdfMatchAvailable
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfmatch\endcsname\relax
-\else
-  \AskInc at PdfMatchAvailabletrue
-\fi
-\DeclareOption{makematch}{%
-  \let\AskInc at MatchOption\AskInc at StringMakeMatch
-}
-\ifAskInc at PdfMatchAvailable
-  \DeclareOption{pdfmatch}{%
-    \let\AskInc at MatchOption\AskInc at StringPdfMatch
-  }%
-\else
-  \DeclareOption{pdfmatch}{%
-    \PackageWarningNoLine{askinclude}{%
-      Option `pdfmatch' is not available because\MessageBreak
-      your pdfTeX does not provide \string\pdfmatch
-    }%
-  }%
-\fi
-\DeclareOption{noregexp}{%
-  \let\AskInc at MatchOption\@empty
-}
-\ProcessOptions*
-\def\AskInc at CharAsterisk{*}
-\def\AskInc at CharMinus{-}
-\def\AskInc at CharPlus{+}
-\def\AskInc at CharQuestion{?}
-\def\AskInc at CharExclam{!}
-\def\AskInc at CharYes{y}
-\def\AskInc at CharNo{n}
-\def\AskInc at CharAll{A}
-\def\AskInc at CharNone{N}
-\def\AskInc at CharDefault{D}
-\def\AskInc at SanitizeAnswer#1#2{%
-  \begingroup
-    \escapechar=`\\%
-    \edef\[{\string\[}%
-    \edef\]{\string\]}%
-    \edef\({\string\(}%
-    \edef\){\string\)}%
-    \edef\*{\string\*}%
-    \edef\+{\string\+}%
-    \edef\?{\string\?}%
-    \edef\|{\string\|}%
-    \edef\^{\string\^}%
-    \edef\${\string\$}%
-    \edef\{{\string\{}%
-    \edef\}{\string\}}%
-    \edef\.{\string\.}%
-    \xdef#1{%
-      \expandafter\expandafter\expandafter\zap at space
-      \expandafter#2\space\@empty
-    }%
-  \endgroup
-}
-\AtBeginDocument{%
-  \@ifundefined{AskInc at Answer}{%
-    \global\let\AskInc at Answer\AskInc at CharAsterisk
-  }{%
-    \AskInc at SanitizeAnswer\AskInc at Answer\AskInc at Answer
-  }%
-  \global\let\AskInc at PreviousAnswer\AskInc at Answer
-  \@ifundefined{AskInc at MatchMethod}{%
-    \global\let\AskInc at MatchMethod\@empty
-  }{}%
-  \global\let\AskInc at PreviousMatchMethod\AskInc at MatchMethod
-  \@ifundefined{AskInc at MatchOption}{%
-    \let\AskInc at MatchOption\AskInc at MatchMethod
-  }{}%
-  \ifx\AskInc at MatchOption\AskInc at StringPdfMatch
-    \ifAskInc at PdfMatchAvailable
-    \else
-      \let\AskInc at MatchOption\@empty
-    \fi
-  \fi
-  \@ifundefined{AskInc at MatchFiles}{%
-    \let\AskInc at MatchFiles\@empty
-  }{}%
-}
-\def\AskInc at QuestionHeader{%
-  \typeout{}%
-  \typeout{***********************************}%
-  \typeout{*** Package askinclude Question ***}%
-  \typeout{***********************************}%
-  \typeout{}%
-}
-\def\AskInc at TypeoutFiles{%
-  \global\let\AskInc at PreviousMatches\@empty
-  \ifx\AskInc at Files\@empty
-  \else
-    \typeout{Files, found by previous run in \string\include:}%
-    \@for\AskInc at File:=\AskInc at Files\do{%
-      \ifx\AskInc at Answer\AskInc at CharAsterisk
-        \let\AskInc at Mark\AskInc at CharPlus
-      \else
-        \let\AskInc at Mark\AskInc at CharMinus
-        \ifx\AskInc at Answer\AskInc at CharMinus
-        \else
-          \ifx\AskInc at MatchMethod\@empty
-            \expandafter\@firstoftwo
-          \else
-            \expandafter\@secondoftwo
-          \fi
-          {\@for\AskInc at Temp:=\AskInc at Answer}%
-          {\@for\AskInc at Temp:=\AskInc at MatchFiles}%
-          \do{%
-            \ifx\AskInc at File\AskInc at Temp
-              \let\AskInc at Mark\AskInc at CharPlus
-            \fi
-          }%
-        \fi
-      \fi
-      \typeout{ \@spaces(\AskInc at Mark) \AskInc at File}%
-      \ifx\AskInc at Mark\AskInc at CharPlus
-        \ifx\AskInc at PreviousMatches\@empty
-          \global\let\AskInc at PreviousMatches\AskInc at File
-        \else
-          \expandafter\g at addto@macro
-          \expandafter\AskInc at PreviousMatches{%
-            \expandafter,\AskInc at File
-          }%
-        \fi
-      \fi
-    }%
-    \typeout{}%
-  \fi
-}
-\def\AskInc at TypeoutPreviousAnswer{%
-  \typeout{%
-    Previous answer (%
-    \ifx\AskInc at MatchMethod\@empty
-      noregexp%
-    \else
-      \AskInc at MatchMethod
-    \fi
-    ):%
-  }%
-  \typeout{ \@spaces[\AskInc at Answer]}%
-  \typeout{}%
-}
-\def\AskInc at TypeoutMatchMethod{%
-  \typeout{Regular expressions:}%
-  \AskInc at TypeoutMethod\@empty{noregexp}{%
-    \space disabled%
-  }%
-  \AskInc at TypeoutMethod\AskInc at StringMakeMatch{makematch}{%
-    enabled, using package `makematch'%
-  }%
-  \ifAskInc at PdfMatchAvailable
-    \AskInc at TypeoutMethod\AskInc at StringPdfMatch{pdfmatch}{%
-      \space enabled, using pdfTeX's \string\pdfmatch
-    }%
-  \fi
-  \typeout{}%
-}
-\def\AskInc at TypeoutMethod#1#2#3{%
-  \typeout{%
-    \ifx#1\AskInc at MatchOption \space--> \else\@spaces\space\fi
-    [#2] #3% hash-ok
-  }%
-}
-\def\AskInc at TypeoutMainQuestion{%
-  \typeout{Which files do you want to include?}%
-  \typeout{ \@spaces[foo,bar] \space\space
-      comma separated file or pattern list}%
-  \typeout{ \@spaces[*] \@spaces\@spaces all files}%
-  \typeout{ \@spaces[-] \@spaces\@spaces no files}%
-  \typeout{ \@spaces[?] \@spaces\@spaces ask for each file}%
-}
-\def\AskInc at MainQuestion{%
-  \AskInc at QuestionHeader
-  \AskInc at TypeoutFiles
-  \AskInc at TypeoutPreviousAnswer
-  \AskInc at TypeoutMatchMethod
-  \AskInc at TypeoutMainQuestion
-  \begingroup
-    \@makeother\*%
-    \@makeother\-%
-    \@makeother\?%
-    \@makeother\,%
-    \@makeother\!%
-    \@makeother\^%
-    \@makeother\$%
-    \@makeother\(%
-    \@makeother\)%
-    \@makeother\+%
-    \@makeother\[%
-    \@makeother\]%
-    \@makeother\\%
-    \@makeother\|%
-    \@makeother\:%
-    \@makeother\.%
-    \typein[\answer]%
-        { \@spaces[] \space\@spaces\@spaces use the previous answer}%
-    \typeout{}%
-    \AskInc at SanitizeAnswer\AskInc@@Answer\answer
-  \endgroup
-  \let\AskInc at Next\AskInc at MainQuestion
-  \ifx\AskInc@@Answer\AskInc at StringNoRegExp
-    \let\AskInc at MatchOption\@empty
-  \else
-    \ifx\AskInc@@Answer\AskInc at StringMakeMatch
-      \let\AskInc at MatchOption\AskInc at StringMakeMatch
-    \else
-      \ifx\AskInc@@Answer\AskInc at StringPdfMatch
-        \ifAskInc at PdfMatchAvailable
-          \let\AskInc at MatchOption\AskInc at StringPdfMatch
-        \else
-          \PackageWarning{askinclude}{%
-            Method `pdfmatch' is not available because\MessageBreak
-            your pdfTeX does not provide \string\pdfmatch
-          }%
-          \let\AskInc at MatchOption\@empty
-        \fi
-      \else
-        \ifx\AskInc@@Answer\@empty
-          \global\let\AskInc@@Answer\AskInc at Answer
-        \fi
-        \let\AskInc at Next\AskInc at MainAnswer
-      \fi
-    \fi
-  \fi
-  \AskInc at Next
-}
-\def\AskInc at MainAnswer{%
-  \ifx\AskInc@@Answer\AskInc at CharQuestion
-    \global\let\AskInc at Answer\@empty
-    \global\let\AskInc at MatchMethod\@empty
-    \global\let\AskInc at AskFile\AskInc at DoAskFile
-    \AskInc at OrgIncludeOnly{}%
-  \else
-    \global\let\AskInc at Answer\AskInc@@Answer
-    \ifx\AskInc@@Answer\AskInc at CharAsterisk
-      \global\let\AskInc at MatchMethod\@empty
-    \else
-      \ifx\AskInc@@Answer\AskInc at CharMinus
-        \global\let\AskInc at MatchMethod\@empty
-        \AskInc at OrgIncludeOnly{}%
-      \else
-        \global\let\AskInc at MatchMethod\AskInc at MatchOption
-        \ifx\AskInc at MatchOption\@empty
-          \expandafter\AskInc at OrgIncludeOnly\expandafter{%
-            \AskInc at Answer
-          }%
-        \else
-          \AskInc at MatchInit
-          \AskInc at OrgIncludeOnly{}%
-        \fi
-      \fi
-    \fi
-  \fi
-  \let\AskInc at Include\AskInc at DoInclude
-}
-\def\AskInc at MatchInit{%
-  \RequirePackage{kvsetkeys}[2007/09/29]%
-  \expandafter\comma at normalize\expandafter{\AskInc at Answer}%
-  \global\let\AskInc at MatchList\comma at list
-  \def\AskInc at MatchFile##1{%
-    \AskInc at DoMatch{##1}{%
-      \AskInc at WriteAddMatch{##1}%
-      \ifx\@partlist\@empty
-        \gdef\@partlist{##1}%
-      \else
-        \g at addto@macro\@partlist{,##1}%
-      \fi
-    }%
-  }%
-  \ifx\AskInc at MatchMethod\AskInc at StringMakeMatch
-    \AskInc at MakeMatchInit
-  \else
-    \AskInc at PdfMatchInit
-  \fi
-  \let\AskInc at MatchInit\@undefined
-}
-\def\AskInc at MakeMatchInit{%
-  \RequirePackage{makematch}%
-  \def\AskInc at DoMatch##1{%
-    \def\AskInc at Temp{%
-      \MakeMatcher[,]\AskInc at Temp
-    }%
-    \expandafter\AskInc at Temp\expandafter{\AskInc at MatchList}%
-    \AskInc at Temp{{##1}}\@firstofone\@gobble
-  }%
-  \let\AskInc at MakeMatchInit\@undefined
-}
-\def\AskInc at PdfMatchInit{%
-  \newif\ifAskInc at Found
-  \def\AskInc at DoMatch##1{%
-    \AskInc at Foundfalse
-    \expandafter\comma at parse@normalized\expandafter
-    {\AskInc at MatchList}{\AskInc at CheckMatch{##1}}%
-    \ifAskInc at Found
-      \expandafter\@firstofone
-    \else
-      \expandafter\@gobble
-    \fi
-  }%
-  \def\AskInc at CheckMatch##1##2{%
-    \AskInc@@CheckMatch##2\@empty\@nil{##1}%
-  }%
-  \def\AskInc@@CheckMatch##1##2\@nil##3{%
-    \def\AskInc at Temp{##1}%
-    \ifx\AskInc at Temp\AskInc at CharExclam
-      \ifcase\pdfmatch{##2}{##3}=1 %
-      \or
-        \AskInc at Foundfalse
-      \else
-        \AskInc at InvalidPattern{##2}{##1##2}%
-      \fi
-    \else
-      \ifcase\pdfmatch{##1##2}{##3} %
-      \or
-        \AskInc at Foundtrue
-      \else
-        \AskInc at InvalidPattern{##1##2}{##1##2}%
-      \fi
-    \fi
-  }%
-  \def\AskInc at InvalidPattern##1##2{%
-    \edef\AskInc at Temp{##1}%
-    \PackageWarningNoLine{askinclude}{%
-      Invalid pattern `\AskInc at Temp' for \string\pdfmatch
-    }%
-    \edef\AskInc at Temp{##2}%
-    \global\expandafter\let\expandafter\AskInc at MatchList
-    \expandafter\@empty
-    \expandafter\comma at parse@normalized\expandafter
-    {\AskInc at MatchList}\AskInc at FilterPattern
-  }%
-  \def\AskInc at FilterPattern##1{%
-    \edef\AskInc at Pattern{##1}%
-    \ifx\AskInc at Temp\AskInc at Pattern
-    \else
-      \ifx\AskInc at MatchList\@empty
-        \global\let\AskInc at MatchList\AskInc at Pattern
-      \else
-        \expandafter\g at addto@macro\expandafter\AskInc at MatchList{%
-          \expandafter,\AskInc at Pattern
-        }%
-      \fi
-    \fi
-  }%
-  \let\AskInc at PdfMatchInit\@undefined
-}
-\def\AskInc at WriteDefAddMatch{%
-  \AskInc at WriteDefAddList
-  \AskInc at WriteAux{%
-    \string\providecommand\string\AskInc at AddMatch{%
-      \string\AskInc at AddList\string\AskInc at MatchFiles
-    }%
-  }{%
-    \global\let\AskInc at WriteDefAddMatch\relax
-  }%
-}
-\AtBeginDocument{%
-  \global\let\AskInc at AddMatch\@gobble
-}
-\def\AskInc at WriteAddMatch#1{%
-  \AskInc at WriteDefAddMatch
-  \AskInc at WriteAux{%
-    \string\AskInc at AddMatch{#1}%
-  }{}%
-}
-\def\AskInc at SaveAnswer{%
-  \AskInc at WriteAux{%
-      \string\gdef\string\AskInc at Answer{\AskInc at Answer}%
-  }{}%
-}
-\@ifundefined{AskInc at PreviousAnswer}{%
-  \let\AskInc at PreviousAnswer\AskInc at CharAsterisk
-}{}
-\@ifundefined{AskInc at PreviousMatchMethod}{%
-  \let\AskInc at PreviousMatchMethod\@empty
-}{}
-\def\AskInc at DoAskFile#1{%
-  \edef\AskInc at File{#1}%
-  \ifx\AskInc at PreviousAnswer\AskInc at CharAsterisk
-    \let\AskInc at Default\AskInc at CharYes
-  \else
-    \let\AskInc at Default\AskInc at CharNo
-    \ifx\AskInc at PreviousAnswer\AskInc at CharMinus
-    \else
-      \ifx\AskInc at PreviousMatchMethod\@empty
-        \expandafter\@firstoftwo
-      \else
-        \expandafter\@secondoftwo
-      \fi
-      {\@for\AskInc at Temp:=\AskInc at PreviousAnswer}%
-      {\@for\AskInc at Temp:=\AskInc at MatchFiles}%
-      \do{%
-        \ifx\AskInc at Temp\AskInc at File
-          \let\AskInc at Default\AskInc at CharYes
-        \fi
-      }%
-    \fi
-    \ifx\AskInc at Default\AskInc at CharNo
-      \let\AskInc at Default\AskInc at CharYes
-      \@for\AskInc at Temp:=\AskInc at Files\do{%
-        \ifx\AskInc at Temp\AskInc at File
-          \let\AskInc at Default\AskInc at CharNo
-        \fi
-      }%
-    \fi
-  \fi
-  \let\AskInc@@QuestionHeader\AskInc at QuestionHeader
-  \AskInc at AskQuestion
-  \ifx\AskInc at AskResult\AskInc at CharYes
-    \ifx\AskInc at Answer\@empty
-      \gdef\AskInc at Answer{#1}%
-    \else
-      \g at addto@macro\AskInc at Answer{,#1}%
-    \fi
-    \AskInc at SaveAnswer
-    \let\@partlist\AskInc at Answer
-  \fi
-}
-\def\AskInc at AskQuestion{%
-  \let\AskInc at Temp\answer
-  \AskInc@@QuestionHeader
-  \let\AskInc@@QuestionHeader\relax
-  \typein[\answer]{%
-    Include `\AskInc at File'? [y]es, [n]o, [A]ll, [N]one, [D]efault %
-    (\AskInc at Default):%
-  }%
-  \typeout{}%
-  \let\AskInc at AskResult\answer
-  \let\answer\AskInc at Temp
-  \ifx\AskInc at AskResult\@empty
-    \let\AskInc at AskResult\AskInc at Default
-    \let\AskInc at Next\relax
-  \else
-    \ifx\AskInc at AskResult\AskInc at CharYes
-      \let\AskInc at Next\relax
-    \else
-      \ifx\AskInc at AskResult\AskInc at CharNo
-        \let\AskInc at Next\relax
-      \else
-        \ifx\AskInc at AskResult\AskInc at CharAll
-          \gdef\AskInc at AskQuestion{%
-            \let\AskInc at AskResult\AskInc at CharYes
-          }%
-        \else
-          \ifx\AskInc at AskResult\AskInc at CharNone
-            \gdef\AskInc at AskQuestion{%
-              \let\AskInc at AskResult\AskInc at CharNo
-            }%
-          \else
-            \ifx\AskInc at AskResult\AskInc at CharDefault
-              \gdef\AskInc at AskQuestion{%
-                \let\AskInc at AskResult\AskInc at Default
-              }%
-            \else
-              \PackageWarningNoLine{askinclude}{%
-                Invalid answer [\AskInc at AskResult].\MessageBreak
-                Answer must be one letter out of [ynAND]%
-              }%
-            \fi
-          \fi
-        \fi
-        \let\AskInc at Next\AskInc at AskQuestion
-      \fi
-    \fi
-  \fi
-  \AskInc at Next
-}
-\AtBeginDocument{\AskInc at MainQuestion}
-\AskInc at AtEnd%
-
-\endinput
-%%
-%% End of file `askinclude.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/oberdiek/holtxdoc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/holtxdoc.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/holtxdoc.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -9,7 +9,7 @@
 %% This is a generated file.
 %% 
 %% Project: holtxdoc
-%% Version: 2019/11/12 v0.29
+%% Version: 2019/12/09 v0.30
 %% 
 %% Copyright (C)
 %%    1999-2012 Heiko Oberdiek
@@ -38,7 +38,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{holtxdoc}%
-  [2019/11/12 v0.29 Private additional ltxdoc support (HO)]
+  [2019/12/09 v0.30 Private additional ltxdoc support (HO)]
 \PassOptionsToPackage{pdfencoding=auto}{hyperref}
 \RequirePackage[numbered]{hypdoc}[2010/03/26]
 \RequirePackage{hyperref}[2010/03/30]
@@ -45,7 +45,6 @@
 \RequirePackage{pdftexcmds}[2010/04/01]
 \RequirePackage{ltxcmds}[2010/03/09]
 \RequirePackage{hologo}[2011/11/22]
-\RequirePackage{ifluatex}[2010/03/01]
 \RequirePackage{array}
 \def\hld at info#1{%
   \PackageInfo{holtxdoc}{#1\@gobble}%
@@ -233,12 +232,12 @@
 \def\XeTeX{\hologo{XeTeX}}
 \def\XeLaTeX{\hologo{XeLaTeX}}
 \def\plainTeX{\hologo{plainTeX}}
-\providecommand*{\teTeX}{te\TeX}
-\providecommand*{\mikTeX}{mik\TeX}
+\providecommand*{\teTeX}{\hologo{teTeX}}
+\providecommand*{\mikTeX}{\hologo{MiKTeX}}
 \providecommand*{\MakeIndex}{\textsl{MakeIndex}}
 \providecommand*{\docstrip}{\textsf{docstrip}}
-\providecommand*{\iniTeX}{\mbox{ini-\TeX}}
-\providecommand*{\VTeX}{V\TeX}
+\providecommand*{\iniTeX}{\hologo{iniTeX}}
+\providecommand*{\VTeX}{\hologo{VTeX}}
 \CodelineIndex
 \EnableCrossrefs
 \setcounter{IndexColumns}{2}

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/listingsutf8.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/listingsutf8.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/listingsutf8.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,193 +0,0 @@
-%%
-%% This is file `listingsutf8.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% listingsutf8.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: listingsutf8
-%% Version: 2016/05/16 v1.3
-%% 
-%% Copyright (C)
-%%    2007, 2011 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 listingsutf8.dtx
-%% and the derived files
-%%    listingsutf8.sty, listingsutf8.pdf, listingsutf8.ins, listingsutf8.drv,
-%%    listingsutf8-test1.tex, listingsutf8-test2.tex,
-%%    listingsutf8-test3.tex, listingsutf8-test4.tex,
-%%    listingsutf8-test5.tex.
-%% 
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname lstU at 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 at EnsureCode#1#2{%
-  \edef\lstU at AtEnd{%
-    \lstU at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{10}{12}% ^^J
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{36}{3}% $
-\TMP at EnsureCode{38}{4}% &
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{58}{12}% :
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{94}{7}% ^ (superscript)
-\TMP at EnsureCode{95}{8}% _ (subscript)
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{124}{12}% |
-\TMP at EnsureCode{126}{13}% ~ (active)
-\edef\lstU at AtEnd{\lstU at AtEnd\noexpand\endinput}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{listingsutf8}%
-  [2016/05/16 v1.3 Allow UTF-8 in listings input (HO)]
-\DeclareOption*{%
-  \PassOptionsToPackage\CurrentOption{listings}%
-}
-\ProcessOptions*
-\RequirePackage{listings}[2002/04/01]
-\AtBeginDocument{%
-  \@ifundefined{inputencoding}{%
-    \RequirePackage{inputenc}%
-  }{}%
-}
-\RequirePackage{pdftexcmds}[2011/04/22]
-\def\lstU at temp#1#2{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname #1\endcsname\relax
-    \PackageWarningNoLine{listingsutf8}{%
-      Package loading is aborted because of missing %
-      \@backslashchar#1.\MessageBreak
-      #2%
-    }%
-    \expandafter\lstU at AtEnd
-  \fi
-}
-\lstU at temp{scantokens}{It is provided by e-TeX}%
-\lstU at temp{pdf at unescapehex}{It is provided by pdfTeX >= 1.30}%
-\lstU at temp{pdf at filedump}{It is provided by pdfTeX >= 1.30}%
-\lstU at temp{pdf at filesize}{It is provided by pdfTeX >= 1.30}%
-\RequirePackage{stringenc}[2010/03/01]
-\newif\iflstU at utfviii
-\def\lstU at inputenc#1{%
-  \expandafter\lstU@@inputenc#1utf8/utf8/\@nil
-}
-\def\lstU@@inputenc#1utf8/#2utf8/#3\@nil{%
-  \ifx\\#1\\%
-    \lstU at utfviiitrue
-    \def\lst at inputenc{#2}%
-  \else
-    \lstU at utfviiifalse
-  \fi
-}
-\lst at Key{inputencoding}\relax{%
-  \def\lst at inputenc{#1}%
-  \lstU at inputenc{#1}%
-}
-\def\lstU at input#1{%
-  \iflstU at utfviii
-    \edef\lstU at text{%
-      \pdf at unescapehex{%
-        \pdf at filedump{0}{\pdf at filesize{#1}}{#1}%
-      }%
-    }%
-    \lstU at CRLFtoLF\lstU at text
-    \StringEncodingConvert\lstU at text\lstU at text{utf8}\lst at inputenc
-    \def\lstU at temp{%
-      \scantokens\expandafter{\lstU at text}%
-    }%
-  \else
-    \def\lstU at temp{%
-      \input{#1}%
-    }%
-  \fi
-  \lstU at temp
-}
-\begingroup
-  \endlinechar=-1 %
-  \@makeother\^^J %
-  \@makeother\^^M %
-  \gdef\lstU at CRLFtoLF#1{%
-    \edef#1{%
-      \expandafter\lstU at CRLFtoLF@aux#1^^M^^J\@nil
-    }%
-  }%
-  \gdef\lstU at CRLFtoLF@aux#1^^M^^J#2\@nil{%
-    #1%
-    \ifx\relax#2\relax
-      \@car
-    \fi
-    ^^J%
-    \lstU at CRLFtoLF@aux#2\@nil
-  }%
-\endgroup %
-\def\lstU at temp#1\def\lst at next#2#3\@nil{%
-  \def\lst at InputListing##1{%
-    #1%
-    \def\lst at next{\lstU at input{##1}}%
-    #3%
-  }%
-}
-\expandafter\lstU at temp\lst at InputListing{#1}\@nil
-\lstU at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `listingsutf8.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/picture.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/picture.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/picture.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,241 +0,0 @@
-%%
-%% This is file `picture.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% picture.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: picture
-%% Version: 2016/05/16 v1.4
-%% 
-%% Copyright (C)
-%%    2006-2009 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 picture.dtx
-%% and the derived files
-%%    picture.sty, picture.pdf, picture.ins, picture.drv,
-%%    picture-example.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{picture}%
-  [2016/05/16 v1.4 Dimens for picture macros (HO)]%
-\def\Pc at calcname{calc}
-\def\Pc at etexname{etex}
-\def\Pc at plainname{plain}
-\@ifpackageloaded{calc}{%
-  \let\Pc at method\Pc at calcname
-}{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname dimexpr\endcsname\relax
-    \let\Pc at method\Pc at plainname
-  \else
-    \let\Pc at method\Pc at etexname
-  \fi
-}
-\DeclareOption{plain}{%
-  \let\Pc at method\Pc at plainname
-}
-\DeclareOption{etex}{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname dimexpr\endcsname\relax
-    \PackageError{picture}{%
-      e-TeX is not available%
-    }\@ehc
-  \else
-    \let\Pc at method\Pc at etexname
-  \fi
-}
-\DeclareOption{calc}{%
-  \let\Pc at method\Pc at calcname
-}
-\ProcessOptions*
-\begingroup
-  \let\on at line\@empty
-  \PackageInfo{picture}{Calculation method: \Pc at method}%
-\endgroup
-\ifx\Pc at method\Pc at calcname
-  \RequirePackage{calc}%
-\fi
-\ifx\Pc at method\Pc at calcname
-  \def\Pc at tokslength#1{%
-    \begingroup
-      \let\calc at error\Pc at calc@error
-      \setlength\dimen@{#1\unitlength}\Pc at next\Pc at nil{#1}%
-  }%
-  \let\PcOrg at calc@error\calc at error
-  \@ifpackagelater{calc}{2007/08/22}{% v4.3
-    \def\Pc at calc@error#1{%
-      \expandafter\ifx\expandafter\unitlength\noexpand#1\relax
-        \def\calc at next##1!{%
-          \endgroup
-          \aftergroup\afterassignment
-          \aftergroup\Pc at next
-        }%
-        \expandafter\@firstoftwo
-      \else
-        \expandafter\@secondoftwo
-      \fi
-      {%
-        \calc at next{#1}%
-      }{%
-        \PcOrg at calc@error{#1}%
-      }%
-    }%
-  }{%
-    \def\Pc at calc@error#1{%
-      \expandafter\ifx\expandafter\unitlength\noexpand#1\relax
-        \def\calc at next##1!{%
-          \endgroup
-          \aftergroup\afterassignment
-          \aftergroup\Pc at next
-        }%
-        \expandafter\@gobble
-      \else
-        \expandafter\@firstofone
-      \fi
-      {%
-        \PcOrg at calc@error{#1}%
-      }%
-    }%
-  }%
-\fi
-\ifx\Pc at method\Pc at etexname
-  \def\Pc at tokslength#1{%
-    \begingroup
-      \afterassignment\Pc at next
-      \dimen@=\dimexpr#1\unitlength\Pc at nil{#1}%
-  }%
-\fi
-\ifx\Pc at method\Pc at plainname
-  \def\Pc at tokslength#1{%
-    \begingroup
-      \afterassignment\Pc at next
-      \dimen@=#1\unitlength\Pc at nil{#1}%
-  }%
-\fi
-\def\Pc at next#1\Pc at nil#2{%
-  \ifx\\#1\\%
-    \endgroup
-    \Pc at addtoks{{#2}}%
-  \else
-    \expandafter\endgroup
-    \expandafter\Pc at addtoks\expandafter{%
-      \expandafter{\the\dimen@\@gobble}%
-    }%
-  \fi
-}
-\let\Pc at nil\message
-\def\Pc at addtoks#1{%
-  \toks@=\expandafter{\the\toks@#1}%
-}
-\def\Pc at init#1{%
-  \begingroup
-    \toks@={#1}%
-}
-\def\Pc at finish#1{%
-  \expandafter\endgroup
-  \expandafter#1\the\toks@
-}
-\def\picture at redefine#1#2{%
-  \begingroup
-    \edef\reserved at a{%
-      \noexpand\noexpand
-      \expandafter\noexpand
-          \csname PcOrg@\expandafter\@gobble\string#1\endcsname
-    }%
-    \toks0{#1}%
-    \Pc at first#2&0%
-}
-\def\Pc at first#1&{%
-  \toks1={#1}%
-  \toks2={\Pc at init{#1}}%
-  \Pc at scanlength
-}
-\def\Pc at scanlength#1{%
-  \ifcase#1 %
-    \expandafter\Pc at last
-  \else
-    \toks1=\expandafter{\the\toks1 ###1}%
-    \toks2=\expandafter{\the\toks2 \Pc at tokslength{###1}}%
-    \expandafter\Pc at scannext
-  \fi
-}
-\def\Pc at scannext#1&{%
-  \ifx\\#1\\%
-  \else
-    \toks1=\expandafter{\the\toks1 #1}%
-    \toks2=\expandafter{\the\toks2 \Pc at addtoks{#1}}%
-  \fi
-  \Pc at scanlength
-}
-\def\Pc at last{%
-  \edef\x{%
-    \endgroup
-    \let\reserved at a\the\toks0 %
-    \def\the\toks0 \the\toks1 {%
-      \the\toks2 %
-      \noexpand\Pc at finish\reserved at a
-    }%
-  }%
-  \x
-}
-\picture at redefine\@picture{(&1,&2)(&3,&4)}
-\picture at redefine\put{(&1,&2)}
-\picture at redefine\multiput{(&1,&2)}
-\picture at redefine\@multiput{(&1,&2)}
-\picture at redefine\line{(#1,#2)&3}
-\picture at redefine\vector{(#1,#2)&3}
-\picture at redefine\dashbox{&1(&2,&3)}
-\picture at redefine\@circle{&1}
-\picture at redefine\@dot{&1}
-\picture at redefine\@bezier{#1(&2,&3)(&4,&5)(&6,&7)}
-\picture at redefine\@imakepicbox{(&1,&2)}
-\@ifpackageloaded{pspicture}{%
-  \picture at redefine\@oval{[&1](&2,&3)}%
-  \picture at redefine\Line{(&1,&2)}%
-  \picture at redefine\Curve{(&1,&2)}%
-  \picture at redefine\Vector{(&1,&2)}%
-}{%
-  \picture at redefine\@oval{(&1,&2)}%
-}
-\def\Pc at checkpackage#1{%
-  \@ifpackageloaded{#1}{%
-  }{%
-    \AtBeginDocument{%
-      \@ifpackageloaded{#1}{%
-        \PackageWarningNoLine{picture}{%
-          Package `#1' is loaded after `picture'.\MessageBreak
-          Load package `picture' afterwards to get full support%
-          \MessageBreak
-          of its additional syntax with length specifications%
-        }%
-      }{}%
-    }%
-  }%
-}
-\Pc at checkpackage{pict2e}
-\Pc at checkpackage{pspicture}
-\endinput
-%%
-%% End of file `picture.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex/oberdiek/selinput.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/oberdiek/selinput.sty	2019-12-10 22:16:17 UTC (rev 53087)
+++ trunk/Master/texmf-dist/tex/latex/oberdiek/selinput.sty	2019-12-10 22:17:04 UTC (rev 53088)
@@ -1,275 +0,0 @@
-%%
-%% This is file `selinput.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% selinput.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: selinput
-%% Version: 2016/05/17 v1.4
-%% 
-%% Copyright (C)
-%%    2007 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 selinput.dtx
-%% and the derived files
-%%    selinput.sty, selinput.pdf, selinput.ins, selinput.drv,
-%%    selinput-test1.tex, selinput-test2.tex, selinput-test3.tex,
-%%    selinput-test4.tex, selinput-test5.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{selinput}
-  [2016/05/17 v1.4 Semi-automatic input encoding detection (HO)]%
-\RequirePackage{inputenc}
-\RequirePackage{kvsetkeys}[2006/10/19]
-\RequirePackage{stringenc}[2007/06/16]
-\RequirePackage{kvoptions}
-\newcommand*{\SelectInputEncodingList}{%
-  \let\SIE at EncodingList\@empty
-  \kvsetkeys{SelInputEnc}%
-}
-\newcommand*{\SelectInputMappings}[1]{%
-  \SIE at LoadNameDefs
-  \let\SIE at StringUnicode\@empty
-  \let\SIE at StringDest\@empty
-  \kvsetkeys{SelInputMap}{#1}%
-  \ifx\\SIE at StringUnicode\SIE at StringDest\\%
-    \PackageError{selinput}{%
-      No mappings specified%
-    }\@ehc
-  \else
-    \EdefUnescapeHex\SIE at StringUnicode\SIE at StringUnicode
-    \let\SIE at Encoding\@empty
-    \@for\SIE at EncodingTest:=\SIE at EncodingList\do{%
-      \ifx\SIE at Encoding\@empty
-        \StringEncodingConvertTest\SIE at temp\SIE at StringUnicode
-                                  {utf16be}\SIE at EncodingTest{%
-          \ifx\SIE at temp\SIE at StringDest
-            \let\SIE at Encoding\SIE at EncodingTest
-          \fi
-        }{}%
-      \fi
-    }%
-    \ifx\SIE at Encoding\@empty
-      \StringEncodingConvertTest\SIE at temp\SIE at StringDest
-                                {ascii}{utf16be}{%
-        \def\SIE at Encoding{ascii}%
-        \SIE at Info{selinput}{%
-          Matching encoding not found, but input characters%
-          \MessageBreak
-          are 7-bit (possibly editor replacements).%
-          \MessageBreak
-          Hence using ascii encoding%
-        }%
-      }{}%
-    \fi
-    \ifx\SIE at Encoding\@empty
-      \PackageError{selinput}{%
-        Cannot find a matching encoding%
-      }\@ehd
-    \else
-      \ifx\SIE at Encoding\SIE at EncodingUTFviii
-        \SIE at LoadUnicodePackage
-        \ifx\SIE at UseUTFviii\@empty
-        \else
-          \let\SIE at Encoding\SIE at UseUTFviii
-        \fi
-      \fi
-      \begingroup\expandafter\expandafter\expandafter\endgroup
-      \expandafter\ifx\csname InputEncoding\endcsname\relax
-        \inputencoding\SIE at Encoding
-      \else
-        \InputEncoding\SIE at Encoding
-      \fi
-      \SIE at Info{selinput}{Encoding `\SIE at Encoding' selected}%
-    \fi
-  \fi
-}
-\def\SIE at LoadNameDefs{%
-  \begingroup
-    \endlinechar=\m at ne
-    \catcode92=0 % backslash
-    \catcode123=1 % left curly brace/beginning of group
-    \catcode125=2 % right curly brace/end of group
-    \catcode37=14 % percent/comment character
-    \@makeother\[%
-    \@makeother\]%
-    \@makeother\.%
-    \@makeother\(%
-    \@makeother\)%
-    \@makeother\/%
-    \@makeother\-%
-    \let\InputenxName\SelectInputDefineMapping
-    \InputIfFileExists{ix-name.def}{}{%
-      \PackageError{selinput}{%
-        Missing `ix-name.def' (part of package `inputenx')%
-      }\@ehd
-    }%
-    \global\let\SIE at LoadNameDefs\relax
-  \endgroup
-}
-\newcommand*{\SelectInputDefineMapping}[1]{%
-  \expandafter\gdef\csname SIE@@#1\endcsname
-}
-\kv at set@family at handler{SelInputMap}{%
-  \@onelevel at sanitize\kv at key
-  \ifx\kv at value\relax
-    \PackageError{selinput}{%
-      Missing input character for `\kv at key'%
-    }\@ehc
-  \else
-    \@onelevel at sanitize\kv at value
-    \ifx\kv at value\@empty
-      \PackageError{selinput}{%
-        Input character got lost?\MessageBreak
-        Missing input character for `\kv at key'%
-      }\@ehc
-    \else
-      \@ifundefined{SIE@@\kv at key}{%
-        \PackageWarning{selinput}{%
-          Missing definition for `\kv at key'%
-        }%
-      }{%
-        \edef\SIE at StringDest{%
-          \SIE at StringDest
-          \kv at value
-        }%
-        \edef\SIE at StringUnicode{%
-          \SIE at StringUnicode
-          \csname SIE@@\kv at key\endcsname
-        }%
-      }%
-    \fi
-  \fi
-}
-\kv at set@family at handler{SelInputEnc}{%
-  \@onelevel at sanitize\kv at key
-  \ifx\kv at value\relax
-    \ifx\SIE at EncodingList\@empty
-      \let\SIE at EncodingList\kv at key
-    \else
-      \edef\SIE at EncodingList{\SIE at EncodingList,\kv at key}%
-    \fi
-  \else
-    \@onelevel at sanitize\kv at value
-    \PackageError{selinput}{%
-      Illegal key value pair (\kv at key=\kv at value)\MessagBreak
-      in encoding list%
-    }\@ehc
-  \fi
-}
-\def\SIE at LoadUnicodePackage{%
-  \@ifpackageloaded\SIE at UnicodePackage{}{%
-    \RequirePackage\SIE at UnicodePackage\relax
-  }%
-  \SIE at PatchUCS
-  \global\let\SIE at LoadUnicodePackage\relax
-}
-\let\SIE at show\show
-\def\SIE at PatchUCS{%
-  \AtBeginDocument{%
-    \expandafter\ifx\csname ver at ucsencs.def\endcsname\relax
-    \else
-      \let\show\SIE at show
-    \fi
-  }%
-}
-\SIE at PatchUCS
-\AtBeginDocument{%
-  \let\SIE at LoadUnicodePackage\relax
-}
-\def\SIE at EncodingUTFviii{utf8}
-\@onelevel at sanitize\SIE at EncodingUTFviii
-\def\SIE at EncodingUTFviiix{utf8x}
-\@onelevel at sanitize\SIE at EncodingUTFviiix
-\let\SIE at UnicodePackage\@empty
-\let\SIE at UseUTFviii\@empty
-\let\SIE at Info\PackageInfo
-\SetupKeyvalOptions{%
-  family=SelInput,%
-  prefix=SelInput@%
-}
-\define at key{SelInput}{utf8}{%
-  \def\SIE at UseUTFviii{#1}%
-  \@onelevel at sanitize\SIE at UseUTFviii
-}
-\DeclareBoolOption{ucs}
-\DeclareVoidOption{warning}{%
-  \let\SIE at Info\PackageWarning
-}
-\ProcessKeyvalOptions{SelInput}
-\ifSelInput at ucs
-  \def\SIE at UnicodePackage{ucs}%
-  \ifx\SIE at UseUTFviii\@empty
-    \let\SIE at UseUTFviii\SIE at EncodingUTFviiix
-  \fi
-\else
-  \ifx\SIE at UseUTFviii\@empty
-    \@ifpackageloaded{ucs}{%
-      \let\SIE at UseUTFviii\SIE at EncodingUTFviiix
-    }{%
-      \let\SIE at UseUTFviii\SIE at EncodingUTFviii
-    }%
-  \fi
-\fi
-\edef\SIE at EncodingList{%
-  utf8,%
-  x-iso-8859-1,%
-  x-iso-8859-15,%
-  x-cp1252,% ansinew
-  x-mac-roman,%
-  x-iso-8859-2,%
-  x-iso-8859-3,%
-  x-iso-8859-4,%
-  x-iso-8859-5,%
-  x-iso-8859-6,%
-  x-iso-8859-7,%
-  x-iso-8859-8,%
-  x-iso-8859-9,%
-  x-iso-8859-10,%
-  x-iso-8859-11,%
-  x-iso-8859-13,%
-  x-iso-8859-14,%
-  x-iso-8859-15,%
-  x-mac-centeuro,%
-  x-mac-cyrillic,%
-  x-koi8-r,%
-  x-cp1250,%
-  x-cp1251,%
-  x-cp1257,%
-  x-cp437,%
-  x-cp850,%
-  x-cp852,%
-  x-cp855,%
-  x-cp858,%
-  x-cp865,%
-  x-cp866,%
-  x-nextstep,%
-  x-dec-mcs%
-}%
-\@onelevel at sanitize\SIE at EncodingList
-%% \section{Installation}
-\endinput
-%%
-%% End of file `selinput.sty'.



More information about the tex-live-commits mailing list