texlive[53174] Master: oberdiek reduction (18dec19)

commits+karl at tug.org commits+karl at tug.org
Wed Dec 18 00:31:06 CET 2019


Revision: 53174
          http://tug.org/svn/texlive?view=revision&revision=53174
Author:   karl
Date:     2019-12-18 00:31:05 +0100 (Wed, 18 Dec 2019)
Log Message:
-----------
oberdiek reduction (18dec19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib
    trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-source.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/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/fibnum.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/flags.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/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/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/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/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/source/latex/oberdiek/README.txt
    trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
    trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
    trunk/Master/tlpkg/tlpsrc/oberdiek.tlpsrc

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/oberdiek/alphalph.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/bitset.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/gettitlestring.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/hycolor.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-example.tex
    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/pdfescape.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/picture.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf
    trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter-example.tex
    trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter.pdf
    trunk/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/refcount.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx
    trunk/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx
    trunk/Master/texmf-dist/tex/generic/oberdiek/bigintcalc.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/etexcmds.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/soulutf8.sty
    trunk/Master/texmf-dist/tex/generic/oberdiek/uniquecounter.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/auxhook.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/hycolor.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/refcount.sty
    trunk/Master/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty

Modified: trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib
===================================================================
--- trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-bundle.bib	2019-12-17 23:31:05 UTC (rev 53174)
@@ -5,20 +5,6 @@
   version={1.5},
   url={https://ctan.org/pkg/aliascnt},
 }
- at manual{oberdiek:auxhook,
-  title={The auxhook package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.4},
-  url={https://ctan.org/pkg/auxhook},
-}
- at manual{oberdiek:bigintcalc,
-  title={The bigintcalc package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.4},
-  url={https://ctan.org/pkg/bigintcalc},
-}
 @manual{oberdiek:bmpsize,
   title={The bmpsize package},
   author={Heiko Oberdiek},
@@ -82,13 +68,6 @@
   version={1.1},
   url={https://ctan.org/pkg/eolgrab},
 }
- at manual{oberdiek:etexcmds,
-  title={The etexcmds package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.6},
-  url={https://ctan.org/pkg/etexcmds},
-}
 @manual{oberdiek:fibnum,
   title={The fibnum package},
   author={Heiko Oberdiek},
@@ -103,13 +82,6 @@
   version={0.5},
   url={https://ctan.org/pkg/flags},
 }
- at manual{oberdiek:gettitlestring,
-  title={The gettitlestring package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.5},
-  url={https://ctan.org/pkg/gettitlestring},
-}
 @manual{oberdiek:holtxdoc,
   title={The holtxdoc package},
   author={Heiko Oberdiek},
@@ -124,13 +96,6 @@
   version={1.3},
   url={https://ctan.org/pkg/hopatch},
 }
- at manual{oberdiek:hycolor,
-  title={The hycolor package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.8},
-  url={https://ctan.org/pkg/hycolor},
-}
 @manual{oberdiek:hypbmsec,
   title={The hypbmsec package},
   author={Heiko Oberdiek},
@@ -187,34 +152,6 @@
   version={1.7},
   url={https://ctan.org/pkg/iflang},
 }
- at manual{oberdiek:intcalc,
-  title={The intcalc package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.2},
-  url={https://ctan.org/pkg/intcalc},
-}
- at manual{oberdiek:kvdefinekeys,
-  title={The kvdefinekeys package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.4},
-  url={https://ctan.org/pkg/kvdefinekeys},
-}
- at manual{oberdiek:kvsetkeys,
-  title={The kvsetkeys package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.17},
-  url={https://ctan.org/pkg/kvsetkeys},
-}
- at manual{oberdiek:ltxcmds,
-  title={The ltxcmds package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.23},
-  url={https://ctan.org/pkg/ltxcmds},
-}
 @manual{oberdiek:pagegrid,
   title={The pagegrid package},
   author={Heiko Oberdiek},
@@ -292,13 +229,6 @@
   version={1.1},
   url={https://ctan.org/pkg/protecteddef},
 }
- at manual{oberdiek:refcount,
-  title={The refcount package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={3.5},
-  url={https://ctan.org/pkg/refcount},
-}
 @manual{oberdiek:resizegather,
   title={The resizegather package},
   author={Heiko Oberdiek},
@@ -334,13 +264,6 @@
   version={1.5},
   url={https://ctan.org/pkg/settobox},
 }
- at manual{oberdiek:soulutf8,
-  title={The soulutf8 package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.1},
-  url={https://ctan.org/pkg/soulutf8},
-}
 @manual{oberdiek:stackrel,
   title={The stackrel package},
   author={Heiko Oberdiek},
@@ -390,10 +313,4 @@
   version={1.6},
   url={https://ctan.org/pkg/twoopt},
 }
- at manual{oberdiek:uniquecounter,
-  title={The uniquecounter package},
-  author={Heiko Oberdiek},
-  date={2016-05-16},
-  version={1.3},
-  url={https://ctan.org/pkg/uniquecounter},
-}
+

Modified: trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-source.bib
===================================================================
--- trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-source.bib	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/bibtex/bib/oberdiek/oberdiek-source.bib	2019-12-17 23:31:05 UTC (rev 53174)
@@ -3,7 +3,7 @@
   title={Document management -- Portable document format -- Part 1: PDF 1.7},
   date={2008-07-01},
   edition=1,
-  url={https://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf},
+  url={https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf},
   urldate={2011-11-25},
 }
 @manual{pdftex-manual,

Modified: trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/README.txt	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,4 +1,4 @@
-README           2019/12/09
+README           2019/12/15
 
 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/alphalph.pdf
===================================================================
(Binary files differ)

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

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

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

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

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/catchfile.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)

Deleted: 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)

Deleted: 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)

Deleted: 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)

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

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

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,93 +0,0 @@
-%%
-%% This is file `kvsetkeys-example.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% kvsetkeys.dtx  (with options: `example')
-%% 
-%% This is a generated file.
-%% 
-%% Project: kvsetkeys
-%% Version: 2016/05/16 v1.17
-%% 
-%% Copyright (C)
-%%    2006, 2007, 2009-2012 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% 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 kvsetkeys.dtx
-%% and the derived files
-%%    kvsetkeys.sty, kvsetkeys.pdf, kvsetkeys.ins, kvsetkeys.drv,
-%%    kvsetkeys-example.tex, kvsetkeys-test1.tex,
-%%    kvsetkeys-test2.tex, kvsetkeys-test3.tex,
-%%    kvsetkeys-test4.tex.
-%% 
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{kvsetkeys}
-\usepackage{keyval}
-
-\makeatletter
-\newcommand*{\tag}[2][]{%
-  % #1: attributes
-  % #2: tag name
-  \begingroup
-    \toks@={}%
-    \let\@endslash\@empty
-    \kvsetkeys{tag}{#1}%
-    \texttt{%
-      \textless #2\the\toks@\@endslash\textgreater
-    }%
-  \endgroup
-}
-\kv at set@family at handler{tag}{%
-  % #1: key
-  % #2: value
-  \toks@\expandafter{%
-    \the\toks@
-    \space
-    #1=\string"#2\string"%
-  }%
-}
-\define at key{tag}{/}[]{%
-  \def\@endslash{/}%
-}
-\makeatother
-
-\begin{document}
-\begin{tabbing}
-  \mbox{}\qquad\=\qquad\=\kill
-  \tag{html}\\
-  \>\dots\\
-  \>\tag[border=1]{table}\\
-  \>\>\tag[width=200, span=3, /]{colgroup}\\
-  \>\>\dots\\
-  \>\tag{/table}\\
-  \>\dots\\
-  \tag{/html}\\
-\end{tabbing}
-\end{document}
-%% \section{Installation}
-\endinput
-%%
-%% End of file `kvsetkeys-example.tex'.

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

Deleted: 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)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/pdfescape.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.pdf
===================================================================
(Binary files differ)

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

Deleted: 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)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/selinput.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)

Deleted: 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)

Deleted: trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter-example.tex	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/doc/latex/oberdiek/uniquecounter-example.tex	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,70 +0,0 @@
-%%
-%% This is file `uniquecounter-example.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% uniquecounter.dtx  (with options: `example')
-%% 
-%% This is a generated file.
-%% 
-%% Project: uniquecounter
-%% Version: 2016/05/16 v1.3
-%% 
-%% Copyright (C)
-%%    2009, 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 uniquecounter.dtx
-%% and the derived files
-%%    uniquecounter.sty, uniquecounter.pdf, uniquecounter.ins,
-%%    uniquecounter.drv, uniquecounter-example.tex,
-%%    uniquecounter-test1.tex, uniquecounter-test2.tex,
-%%    uniquecounter-test3.tex.
-%% 
-\documentclass{minimal}
-\usepackage{uniquecounter}
-\UniqueCounterNew{anchor}
-\makeatletter
-\newcommand*{\DefNewAnchorName}[2]{%
-  % #1 is unique counter value
-  % #2 is name of anchor
-  \@namedef{anchor@#2}{a#1}%
-}
-\newcommand*{\NewAnchorName}[1]{%
-  \UniqueCounterCall{anchor}\DefNewAnchorName{#1}%
-}
-\newcommand*{\PrintAnchorName}[1]{%
-  \@nameuse{anchor@#1}%
-}
-\begin{document}
-  \NewAnchorName{Top}%
-  \NewAnchorName{Left}%
-  \noindent
-  Top: \PrintAnchorName{Top}\\%
-  Left: \PrintAnchorName{Left}%
-\end{document}
-%% \section{Installation}
-\endinput
-%%
-%% End of file `uniquecounter-example.tex'.

Deleted: 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-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/README.txt	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,4 +1,4 @@
-README           2019/12/09
+README           2019/12/15
 
 This file describes the directory
   CTAN:macros/latex/contrib/oberdiek/

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,607 +0,0 @@
-% \iffalse meta-comment
-%
-% File: auxhook.dtx
-% Version: 2016/05/16 v1.4
-% Info: Hooks for auxiliary files
-%
-% Copyright (C)
-%    2006, 2007, 2009, 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 auxhook.dtx
-% and the derived files
-%    auxhook.sty, auxhook.pdf, auxhook.ins, auxhook.drv.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/auxhook.dtx
-%    CTAN:macros/latex/contrib/oberdiek/auxhook.pdf
-%
-% Unpacking:
-%    (a) If auxhook.ins is present:
-%           tex auxhook.ins
-%    (b) Without auxhook.ins:
-%           tex auxhook.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{auxhook.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If auxhook.drv is present:
-%           latex auxhook.drv
-%    (b) Without auxhook.drv:
-%           latex auxhook.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 auxhook.dtx
-%       makeindex -s gind.ist auxhook.idx
-%       pdflatex auxhook.dtx
-%       makeindex -s gind.ist auxhook.idx
-%       pdflatex auxhook.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/auxhook.sty
-%    TDS:doc/latex/oberdiek/auxhook.pdf
-%    TDS:source/latex/oberdiek/auxhook.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: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: auxhook
-Version: 2016/05/16 v1.4
-
-Copyright (C)
-   2006, 2007, 2009, 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 auxhook.dtx
-and the derived files
-   auxhook.sty, auxhook.pdf, auxhook.ins, auxhook.drv.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{auxhook.ins}{\from{auxhook.dtx}{install}}%
-  \file{auxhook.drv}{\from{auxhook.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{auxhook.sty}{\from{auxhook.dtx}{package}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     auxhook.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `auxhook.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{auxhook.drv}%
-  [2016/05/16 v1.4 Hooks for auxiliary files (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{auxhook.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{auxhook.drv}
-%
-% \title{The \xpackage{auxhook} 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}
-% Package \xpackage{auxhook} provides hooks for adding stuff at
-% the begin of \xfile{.aux} files.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{User interface}
-%
-% There are two kinds of \xfile{.aux} files, the main \xfile{.aux} file
-% and the \xfile{.aux} file that belongs to an included file, specified
-% by \cs{include}.
-%
-% Some packages write macros in the auxiliary files.
-% If the user stops using the package, these macros will usually
-% cause error messages because of unknown commands. Prominent example
-% is package \xpackage{babel}'s \cs{select at language}.
-%
-% But such a package could be written more cooperative. It can
-% also provide a definition in the auxiliary file (\cs{providecommand})
-% that silently disables the macros of the package
-% if the package is no longer in use.
-%
-% In case of the main auxiliary file, \cs{AtBeginDocument} can be used
-% for this purpose. Especially if several packages are involved, the
-% order cannot be controlled always (e.g., see package
-% \xpackage{hypdestopt} that hooks into \xpackage{hyperref}'s macros).
-% And there isn't any hook for the auxiliary files of the \cs{include}
-% feature.
-%
-% Thus this package patches \LaTeX's macros \cs{document} and
-% \cs{@include} to add the hooks where the auxiliary files
-% are opend and the first line with \cs{relax} is written.
-%
-% The patching can fail, if these macros are redefined by some
-% other package. If the other package still uses the original
-% definition, then load package \xpackage{auxhook} earlier.
-% (With \cs{RequirePackage} the package also can be loaded before
-% the class). If the redefinition doesn't use the original meaning,
-% then you can try to load package \xpackage{auxhook} afterwards,
-% but you need luck that the patch succeeds.
-%
-% The hooks are macros:
-% \begin{description}
-%   \item[\cs{@beginmainauxhook}:] Start of the main auxiliary file.
-%     The hook is called after the first line with \cs{relax} is written.
-%   \item[\cs{@beginpartauxhook}:] The same for the auxiliary files
-%     that belongs to the files that are included by \cs{include}.
-% \end{description}
-% If you want to add something to these hooks, you can use
-% \cs{g at addto@macro} from \LaTeX's kernel. But the package provides
-% macros to add code that adds a line to the auxiliary file:
-%
-% \begin{declcs}{AddLineBeginMainAux}\,\M{line}\\
-%   \cs{AddLineBeginPartAux}\,\M{line}\\
-%   \cs{AddLineBeginAux}\,\M{line}
-% \end{declcs}
-% The \meta{line} is added at the begin of the main auxiliary file
-% by \cs{AddLineBeginMainAux} and at the begin of the auxiliary files
-% of included files by \cs{AddLineBeginPartAux}. \cs{AddLineBeginAux} writes
-% in both kinds of auxiliary files.
-%
-% Examples, see packages \xpackage{hypdestopt} (\cite{hypdestopt}) and
-% \xpackage{zref} (\cite{zref}).
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Identification}
-%
-%    \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{auxhook}%
-  [2016/05/16 v1.4 Hooks for auxiliary files (HO)]%
-%    \end{macrocode}
-%
-% \subsection{Hook setup}
-%
-%    \begin{macro}{\@beginmainauxhook}
-%    The hook for the main auxiliary file, initially empty.
-%    \begin{macrocode}
-\providecommand*{\@beginmainauxhook}{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@beginpartauxhook}
-%    The hook for auxiliary files of included files, initially empty.
-%    \begin{macrocode}
-\providecommand*{\@beginpartauxhook}{}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\ifx\AtBeginDocument\@firstofone
-  \global\let\@beginmainauxhook\relax
-\else
-  \g at addto@macro{\@beginmainauxhook}{%
-    \global\let\@beginmainauxhook\relax
-  }%
-\fi
-%    \end{macrocode}
-%
-% \subsection{User macros}
-%
-%    \begin{macro}{\AddLineBeginMainAux}
-%    \begin{macrocode}
-\newcommand{\AddLineBeginMainAux}[1]{%
-  \ifx\@beginmainauxhook\relax
-    \if at filesw
-      \PackageInfo{auxhook}{%
-        \@backslashchar AddLineBeginMainAux comes a little late,%
-        \MessageBreak
-        because the main .aux file is already opened%
-      }%
-      \immediate\write\@mainaux{#1}%
-    \fi
-  \else
-    \g at addto@macro\@beginmainauxhook{%
-      \immediate\write\@mainaux{#1}%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AtBeginPartAuxLine}
-%    \begin{macrocode}
-\newcommand{\AddLineBeginPartAux}[1]{%
-  \g at addto@macro\@beginpartauxhook{%
-    \immediate\write\@partaux{#1}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\AddLineBeginAux}
-%    \begin{macrocode}
-\newcommand{\AddLineBeginAux}[1]{%
-  \AddLineBeginMainAux{#1}%
-  \AddLineBeginPartAux{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Patches}
-%
-% \subsubsection{\cs{document}}
-%
-%    \begin{macrocode}
-\begingroup
-  \@ifundefined{beamer at origdocument}{%
-    \def\auxhook at document{\document}%
-  }{%
-    \def\auxhook at document{\beamer at origdocument}%
-  }%
-  \long\def\y#1\immediate\write\@mainaux#2#3\auxhook at nil{%
-    \toks@{%
-      #1\immediate\write\@mainaux{#2}%
-      \@beginmainauxhook
-      #3%
-    }%
-    \expandafter\xdef\auxhook at document{\the\toks@}%
-    \endgroup
-  }%
-  \long\def\x#1\immediate\write\@mainaux#2#3\auxhook at nil{%
-    \toks@{#3}%
-    \edef\x{\the\toks@}%
-    \ifx\x\@empty
-      \PackageWarningNoLine{auxhook}{%
-        Cannot patch \expandafter\string\auxhook at document,%
-        \MessageBreak
-        using \string\AtBeginDocument\space instead%
-      }%
-      \endgroup
-      \AtBeginDocument{%
-        \if at filesw
-          \@beginmainauxhook
-        \fi
-      }%
-    \else
-      \expandafter\expandafter\expandafter\y\auxhook at document
-          \auxhook at nil
-    \fi
-  }%
-\expandafter\expandafter\expandafter\x\auxhook at document
-    \immediate\write\@mainaux{}\auxhook at nil
-%    \end{macrocode}
-%
-% \subsubsection{\cs{@include}}
-%
-%    \begin{macrocode}
-\begingroup
-  \long\def\y#1\immediate\write\@partaux#2#3\auxhook at nil#4{%
-    \endgroup
-    \def#4##1 {%
-      #1\immediate\write\@partaux{#2}%
-      \@beginpartauxhook
-      #3%
-    }%
-  }%
-  \long\def\x#1\immediate\write\@partaux#2#3\auxhook at nil#4{%
-    \toks@{#3}%
-    \edef\x{\the\toks@}%
-    \ifx\x\@empty
-      \PackageWarningNoLine{auxhook}{%
-        Cannot patch \string#4,\MessageBreak
-        patch dropped%
-      }%
-      \endgroup
-    \else
-      \expandafter\y#4{##1} \auxhook at nil#4%
-    \fi
-  }%
-\@ifundefined{ReFiCh at org@include}{%
-  \expandafter\x\@include{#1} %
-  \immediate\write\@partaux{}\auxhook at nil\@include
-}{%
-  \expandafter\x\ReFiCh at org@include{#1} %
-  \immediate\write\@partaux{}\auxhook at nil\ReFiCh at org@include
-}%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{auxhook}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/auxhook.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/auxhook.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 auxhook.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@{}}
-%   auxhook.sty & tex/latex/oberdiek/auxhook.sty\\
-%   auxhook.pdf & doc/latex/oberdiek/auxhook.pdf\\
-%   auxhook.dtx & source/latex/oberdiek/auxhook.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{auxhook.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 auxhook.dtx
-%makeindex -s gind.ist auxhook.idx
-%pdflatex auxhook.dtx
-%makeindex -s gind.ist auxhook.idx
-%pdflatex auxhook.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-%
-% \bibitem{hypdestopt}
-%   Heiko Oberdiek: \textit{The \xpackage{hypdestopt} package};
-%   2006/05/30 v1.0;
-%   \CTANpkg{hypdestopt}.
-%
-% \bibitem{hyperref}
-%   Sebastian Rahtz, Heiko Oberdiek:
-%   \textit{The \xpackage{hyperref} package};
-%   2006/08/16 v6.75c;
-%   \CTANpkg{hyperref}.
-%
-% \bibitem{zref}
-%   Heiko Oberdiek: \textit{The \xpackage{zref} package};
-%   2006/05/25 v1.2;
-%   \CTANpkg{zref}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2006/05/31 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/04/06 v1.1}
-%   \item
-%     Fix for class \xclass{beamer}.
-%   \end{Version}
-%   \begin{Version}{2009/12/14 v1.2}
-%   \item
-%     Support for package \xpackage{rerunfilecheck} added (\cs{@include}).
-%   \end{Version}
-%   \begin{Version}{2011/03/04 v1.3}
-%   \item
-%     \cs{AddLineBeginMainAux} also supports write requests after
-%     the main \xext{aux} file is opened.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.4}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,3561 +0,0 @@
-% \iffalse meta-comment
-%
-% File: bigintcalc.dtx
-% Version: 2016/05/16 v1.4
-% Info: Expandable calculations on big integers
-%
-% Copyright (C)
-%    2007, 2011, 2012 Heiko Oberdiek
-%    2016-2019 Oberdiek Package Support Group
-%    https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-%    https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% 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 bigintcalc.dtx
-% and the derived files
-%    bigintcalc.sty, bigintcalc.pdf, bigintcalc.ins, bigintcalc.drv,
-%    bigintcalc-test1.tex, bigintcalc-test2.tex,
-%    bigintcalc-test3.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/bigintcalc.dtx
-%    CTAN:macros/latex/contrib/oberdiek/bigintcalc.pdf
-%
-% Unpacking:
-%    (a) If bigintcalc.ins is present:
-%           tex bigintcalc.ins
-%    (b) Without bigintcalc.ins:
-%           tex bigintcalc.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{bigintcalc.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If bigintcalc.drv is present:
-%           latex bigintcalc.drv
-%    (b) Without bigintcalc.drv:
-%           latex bigintcalc.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 bigintcalc.dtx
-%       makeindex -s gind.ist bigintcalc.idx
-%       pdflatex bigintcalc.dtx
-%       makeindex -s gind.ist bigintcalc.idx
-%       pdflatex bigintcalc.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/bigintcalc.sty
-%    TDS:doc/latex/oberdiek/bigintcalc.pdf
-%    TDS:source/latex/oberdiek/bigintcalc.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: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: bigintcalc
-Version: 2016/05/16 v1.4
-
-Copyright (C)
-   2007, 2011, 2012 Heiko Oberdiek
-   2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
-   https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
-   https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-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 bigintcalc.dtx
-and the derived files
-   bigintcalc.sty, bigintcalc.pdf, bigintcalc.ins, bigintcalc.drv,
-   bigintcalc-test1.tex, bigintcalc-test2.tex,
-   bigintcalc-test3.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{bigintcalc.ins}{\from{bigintcalc.dtx}{install}}%
-  \file{bigintcalc.drv}{\from{bigintcalc.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{bigintcalc.sty}{\from{bigintcalc.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{bigintcalc-test1.tex}{\from{bigintcalc.dtx}{test1}}%
-%  \file{bigintcalc-test2.tex}{\from{bigintcalc.dtx}{test2,etex}}%
-%  \file{bigintcalc-test3.tex}{\from{bigintcalc.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{*     bigintcalc.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `bigintcalc.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bigintcalc.drv}%
-  [2016/05/16 v1.4 Expandable calculations on big integers (HO)]%
-\documentclass{ltxdoc}
-\usepackage{wasysym}
-\let\iint\relax
-\let\iiint\relax
-\usepackage[fleqn]{amsmath}
-
-\DeclareMathOperator{\opInv}{Inv}
-\DeclareMathOperator{\opAbs}{Abs}
-\DeclareMathOperator{\opSgn}{Sgn}
-\DeclareMathOperator{\opMin}{Min}
-\DeclareMathOperator{\opMax}{Max}
-\DeclareMathOperator{\opCmp}{Cmp}
-\DeclareMathOperator{\opOdd}{Odd}
-\DeclareMathOperator{\opInc}{Inc}
-\DeclareMathOperator{\opDec}{Dec}
-\DeclareMathOperator{\opAdd}{Add}
-\DeclareMathOperator{\opSub}{Sub}
-\DeclareMathOperator{\opShl}{Shl}
-\DeclareMathOperator{\opShr}{Shr}
-\DeclareMathOperator{\opMul}{Mul}
-\DeclareMathOperator{\opSqr}{Sqr}
-\DeclareMathOperator{\opFac}{Fac}
-\DeclareMathOperator{\opPow}{Pow}
-\DeclareMathOperator{\opDiv}{Div}
-\DeclareMathOperator{\opMod}{Mod}
-\DeclareMathOperator{\opInt}{Int}
-\DeclareMathOperator{\opODD}{ifodd}
-
-\newcommand*{\Def}{%
-  \ensuremath{%
-    \mathrel{\mathop{:}}=%
-  }%
-}
-\newcommand*{\op}[1]{%
-  \textsf{#1}%
-}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{bigintcalc.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{bigintcalc.drv}
-%
-% \title{The \xpackage{bigintcalc} 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}
-% This package provides expandable arithmetic operations
-% with big integers that can exceed \TeX's number limits.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% Package \xpackage{bigintcalc} defines arithmetic operations
-% that deal with big integers. Big integers can be given
-% either as explicit integer number or as macro code
-% that expands to an explicit number. \emph{Big} means that
-% there is no limit on the size of the number. Big integers
-% may exceed \TeX's range limitation of -2147483647 and 2147483647.
-% Only memory issues will limit the usable range.
-%
-% In opposite to package \xpackage{intcalc}
-% unexpandable command tokens are not supported, even if
-% they are valid \TeX\ numbers like count registers or
-% commands created by \cs{chardef}. Nevertheless they may
-% be used, if they are prefixed by \cs{number}.
-%
-% Also \eTeX's \cs{numexpr} expressions are not supported
-% directly in the manner of package \xpackage{intcalc}.
-% However they can be given if \cs{the}\cs{numexpr}
-% or \cs{number}\cs{numexpr} are used.
-%
-% The operations have the form of macros that take one or
-% two integers as parameter and return the integer result.
-% The macro name is a three letter operation name prefixed
-% by the package name, e.g. \cs{bigintcalcAdd}|{10}{43}| returns
-% |53|.
-%
-% The macros are fully expandable, exactly two expansion
-% steps generate the result. Therefore the operations
-% may be used nearly everywhere in \TeX, even inside
-% \cs{csname}, file names,  or other
-% expandable contexts.
-%
-% \subsection{Conditions}
-%
-% \subsubsection{Preconditions}
-%
-% \begin{itemize}
-% \item
-%   Arguments can be anything that expands to a number that consists
-%   of optional signs and digits.
-% \item
-%   The arguments and return values must be sound.
-%   Zero as divisor or factorials of negative numbers will cause errors.
-% \end{itemize}
-%
-% \subsubsection{Postconditions}
-%
-% Additional properties of the macros apart from calculating
-% a correct result (of course \smiley):
-% \begin{itemize}
-% \item
-%   The macros are fully expandable. Thus they can
-%   be used inside \cs{edef}, \cs{csname},
-%   for example.
-% \item
-%   Furthermore exactly two expansion steps calculate the result.
-% \item
-%   The number consists of one optional minus sign and one or more
-%   digits. The first digit is larger than zero for
-%   numbers that consists of more than one digit.
-%
-%   In short, the number format is exactly the same as
-%   \cs{number} generates, but without its range limitation.
-%   And the tokens (minus sign, digits)
-%   have catcode 12 (other).
-% \item
-%   Call by value is simulated. First the arguments are
-%   converted to numbers. Then these numbers are used
-%   in the calculations.
-%
-%   Remember that arguments
-%   may contain expensive macros or \eTeX\ expressions.
-%   This strategy avoids multiple evaluations of such
-%   arguments.
-% \end{itemize}
-%
-% \subsection{Error handling}
-%
-% Some errors are detected by the macros, example: division by zero.
-% In this cases an undefined control sequence is called and causes
-% a TeX error message, example: \cs{BigIntCalcError:DivisionByZero}.
-% The name of the control sequence contains
-% the reason for the error. The \TeX\ error may be ignored.
-% Then the operation returns zero as result.
-% Because the macros are supposed to work in expandible contexts.
-% An traditional error message, however, is not expandable and
-% would break these contexts.
-%
-% \subsection{Operations}
-%
-% Some definition equations below use the function $\opInt$
-% that converts a real number to an integer. The number
-% is truncated that means rounding to zero:
-% \begin{gather*}
-%   \opInt(x) \Def
-%   \begin{cases}
-%     \lfloor x\rfloor & \text{if $x\geq0$}\\
-%     \lceil x\rceil & \text{otherwise}
-%   \end{cases}
-% \end{gather*}
-%
-% \subsubsection{\op{Num}}
-%
-% \begin{declcs}{bigintcalcNum} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcNum} converts its argument to a normalized integer
-% number without unnecessary leading zeros or signs.
-% The result matches the regular expression:
-%\begin{quote}
-%\begin{verbatim}
-%0|-?[1-9][0-9]*
-%\end{verbatim}
-%\end{quote}
-%
-% \subsubsection{\op{Inv}, \op{Abs}, \op{Sgn}}
-%
-% \begin{declcs}{bigintcalcInv} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcInv} switches the sign.
-% \begin{gather*}
-%   \opInv(x) \Def -x
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcAbs} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcAbs} returns the absolute value
-% of integer \meta{x}.
-% \begin{gather*}
-%   \opAbs(x) \Def \vert x\vert
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcSgn} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcSgn} encodes the sign of \meta{x} as number.
-% \begin{gather*}
-%   \opSgn(x) \Def
-%   \begin{cases}
-%     -1& \text{if $x<0$}\\
-%      0& \text{if $x=0$}\\
-%      1& \text{if $x>0$}
-%   \end{cases}
-% \end{gather*}
-% These return values can easily be distinguished by \cs{ifcase}:
-%\begin{quote}
-%\begin{verbatim}
-%\ifcase\bigintcalcSgn{<x>}
-%  $x=0$
-%\or
-%  $x>0$
-%\else
-%  $x<0$
-%\fi
-%\end{verbatim}
-%\end{quote}
-%
-% \subsubsection{\op{Min}, \op{Max}, \op{Cmp}}
-%
-% \begin{declcs}{bigintcalcMin} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcMin} returns the smaller of the two integers.
-% \begin{gather*}
-%   \opMin(x,y) \Def
-%   \begin{cases}
-%     x & \text{if $x<y$}\\
-%     y & \text{otherwise}
-%   \end{cases}
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcMax} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcMax} returns the larger of the two integers.
-% \begin{gather*}
-%   \opMax(x,y) \Def
-%   \begin{cases}
-%     x & \text{if $x>y$}\\
-%     y & \text{otherwise}
-%   \end{cases}
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcCmp} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcCmp} encodes the comparison result as number:
-% \begin{gather*}
-%   \opCmp(x,y) \Def
-%   \begin{cases}
-%     -1 & \text{if $x<y$}\\
-%      0 & \text{if $x=y$}\\
-%      1 & \text{if $x>y$}
-%   \end{cases}
-% \end{gather*}
-% These values can be distinguished by \cs{ifcase}:
-%\begin{quote}
-%\begin{verbatim}
-%\ifcase\bigintcalcCmp{<x>}{<y>}
-%  $x=y$
-%\or
-%  $x>y$
-%\else
-%  $x<y$
-%\fi
-%\end{verbatim}
-%\end{quote}
-%
-% \subsubsection{\op{Odd}}
-%
-% \begin{declcs}{bigintcalcOdd} \M{x}
-% \end{declcs}
-% \begin{gather*}
-%   \opOdd(x) \Def
-%   \begin{cases}
-%     1 & \text{if $x$ is odd}\\
-%     0 & \text{if $x$ is even}
-%   \end{cases}
-% \end{gather*}
-%
-% \subsubsection{\op{Inc}, \op{Dec}, \op{Add}, \op{Sub}}
-%
-% \begin{declcs}{bigintcalcInc} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcInc} increments \meta{x} by one.
-% \begin{gather*}
-%   \opInc(x) \Def x + 1
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcDec} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcDec} decrements \meta{x} by one.
-% \begin{gather*}
-%   \opDec(x) \Def x - 1
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcAdd} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcAdd} adds the two numbers.
-% \begin{gather*}
-%   \opAdd(x, y) \Def x + y
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcSub} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcSub} calculates the difference.
-% \begin{gather*}
-%   \opSub(x, y) \Def x - y
-% \end{gather*}
-%
-% \subsubsection{\op{Shl}, \op{Shr}}
-%
-% \begin{declcs}{bigintcalcShl} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcShl} implements shifting to the left that
-% means the number is multiplied by two.
-% The sign is preserved.
-% \begin{gather*}
-%   \opShl(x) \Def x*2
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcShr} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcShr} implements shifting to the right.
-% That is equivalent to an integer division by two.
-% The sign is preserved.
-% \begin{gather*}
-%   \opShr(x) \Def \opInt(x/2)
-% \end{gather*}
-%
-% \subsubsection{\op{Mul}, \op{Sqr}, \op{Fac}, \op{Pow}}
-%
-% \begin{declcs}{bigintcalcMul} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcMul} calculates the product of
-% \meta{x} and \meta{y}.
-% \begin{gather*}
-%   \opMul(x,y) \Def x*y
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcSqr} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcSqr} returns the square product.
-% \begin{gather*}
-%   \opSqr(x) \Def x^2
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcFac} \M{x}
-% \end{declcs}
-% Macro \cs{bigintcalcFac} returns the factorial of \meta{x}.
-% Negative numbers are not permitted.
-% \begin{gather*}
-%   \opFac(x) \Def x!\qquad\text{for $x\geq0$}
-% \end{gather*}
-% ($0! = 1$)
-%
-% \begin{declcs}{bigintcalcPow} M{x} M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcPow} calculates the value of \meta{x} to the
-% power of \meta{y}. The error ``division by zero'' is thrown
-% if \meta{x} is zero and \meta{y} is negative.
-% permitted:
-% \begin{gather*}
-%   \opPow(x,y) \Def
-%   \opInt(x^y)\qquad\text{for $x\neq0$ or $y\geq0$}
-% \end{gather*}
-% ($0^0 = 1$)
-%
-% \subsubsection{\op{Div}, \op{Mul}}
-%
-% \begin{declcs}{bigintcalcDiv} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcDiv} performs an integer division.
-% Argument \meta{y} must not be zero.
-% \begin{gather*}
-%   \opDiv(x,y) \Def \opInt(x/y)\qquad\text{for $y\neq0$}
-% \end{gather*}
-%
-% \begin{declcs}{bigintcalcMod} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{bigintcalcMod} gets the remainder of the integer
-% division. The sign follows the divisor \meta{y}.
-% Argument \meta{y} must not be zero.
-% \begin{gather*}
-%   \opMod(x,y) \Def x\mathrel{\%}y\qquad\text{for $y\neq0$}
-% \end{gather*}
-% The result ranges:
-% \begin{gather*}
-%   -\vert y\vert < \opMod(x,y) \leq 0\qquad\text{for $y<0$}\\
-%   0 \leq \opMod(x,y) < y\qquad\text{for $y\geq0$}
-% \end{gather*}
-%
-% \subsection{Interface for programmers}
-%
-% If the programmer can ensure some more properties about
-% the arguments of the operations, then the following
-% macros are a little more efficient.
-%
-% In general numbers must obey the following constraints:
-% \begin{itemize}
-% \item Plain number: digit tokens only, no command tokens.
-% \item Non-negative. Signs are forbidden.
-% \item Delimited by exclamation mark. Curly braces
-%       around the number are not allowed and will
-%       break the code.
-% \end{itemize}
-%
-% \begin{declcs}{BigIntCalcOdd} \meta{number} |!|
-% \end{declcs}
-% |1|/|0| is returned if \meta{number} is odd/even.
-%
-% \begin{declcs}{BigIntCalcInc} \meta{number} |!|
-% \end{declcs}
-% Incrementation.
-%
-% \begin{declcs}{BigIntCalcDec} \meta{number} |!|
-% \end{declcs}
-% Decrementation, positive number without zero.
-%
-% \begin{declcs}{BigIntCalcAdd} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Addition, $A\geq B$.
-%
-% \begin{declcs}{BigIntCalcSub} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Subtraction, $A\geq B$.
-%
-% \begin{declcs}{BigIntCalcShl} \meta{number} |!|
-% \end{declcs}
-% Left shift (multiplication with two).
-%
-% \begin{declcs}{BigIntCalcShr} \meta{number} |!|
-% \end{declcs}
-% Right shift (integer division by two).
-%
-% \begin{declcs}{BigIntCalcMul} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Multiplication, $A\geq B$.
-%
-% \begin{declcs}{BigIntCalcDiv} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Division operation.
-%
-% \begin{declcs}{BigIntCalcMod} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Modulo operation.
-%
-%
-% \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 bigintcalc.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{bigintcalc}{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 bigintcalc.sty\endcsname
-\ProvidesPackage{bigintcalc}%
-  [2016/05/16 v1.4 Expandable calculations on big integers (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 BIC 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\BIC at AtEnd{%
-    \BIC at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{36}{14}% $ (comment!)
-\TMP at EnsureCode{38}{14}% & (comment!)
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{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}% ]
-\edef\BIC at AtEnd{\BIC at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname BIC at TestMode\endcsname\relax
-\else
-  \catcode63=9 % ? (ignore)
-\fi
-? \let\BIC@@TestMode\BIC at TestMode
-%    \end{macrocode}
-%
-% \subsection{\eTeX\ detection}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-  \catcode36=9 % $ (ignore)
-\else
-  \catcode38=9 % & (ignore)
-\fi
-%    \end{macrocode}
-%
-% \subsection{Help macros}
-%
-%    \begin{macro}{\BIC at Fi}
-%    \begin{macrocode}
-\let\BIC at Fi\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at AfterFi}
-%    \begin{macrocode}
-\def\BIC at AfterFi#1#2\BIC at Fi{\fi#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at AfterFiFi}
-%    \begin{macrocode}
-\def\BIC at AfterFiFi#1#2\BIC at Fi{\fi\fi#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at AfterFiFiFi}
-%    \begin{macrocode}
-\def\BIC at AfterFiFiFi#1#2\BIC at Fi{\fi\fi\fi#1}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BIC at Space}
-%    \begin{macrocode}
-\begingroup
-  \def\x#1{\endgroup
-    \let\BIC at Space= #1%
-  }%
-\x{ }
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Expand number}
-%
-%    \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}{\BIC at Expand}
-%    \begin{macrocode}
-  \def\BIC at Expand#1{%
-    \romannumeral0%
-    \BIC@@Expand#1!\@nil{}%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@Expand}
-%    \begin{macrocode}
-  \def\BIC@@Expand#1#2\@nil#3{%
-    \expandafter\ifcat\noexpand#1\relax
-      \expandafter\@firstoftwo
-    \else
-      \expandafter\@secondoftwo
-    \fi
-    {%
-      \expandafter\BIC@@Expand#1#2\@nil{#3}%
-    }{%
-      \ifx#1!%
-        \expandafter\@firstoftwo
-      \else
-        \expandafter\@secondoftwo
-      \fi
-      { #3}{%
-        \BIC@@Expand#2\@nil{#3#1}%
-      }%
-    }%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@firstoftwo}
-%    \begin{macrocode}
-  \expandafter\ifx\csname @firstoftwo\endcsname\relax
-    \long\def\@firstoftwo#1#2{#1}%
-  \fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@secondoftwo}
-%    \begin{macrocode}
-  \expandafter\ifx\csname @secondoftwo\endcsname\relax
-    \long\def\@secondoftwo#1#2{#2}%
-  \fi
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\else
-%    \end{macrocode}
-%    \begin{macro}{\BIC at Expand}
-%    \begin{macrocode}
-  \def\BIC at Expand#1{%
-    \romannumeral0\expandafter\expandafter\expandafter\BIC at Space
-    \pdf at unescapehex{%
-      \expandafter\expandafter\expandafter
-      \BIC at StripHexSpace\pdf at escapehex{#1}20\@nil
-    }%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at StripHexSpace}
-%    \begin{macrocode}
-  \def\BIC at StripHexSpace#120#2\@nil{%
-    #1%
-    \ifx\\#2\\%
-    \else
-      \BIC at AfterFi{%
-        \BIC at StripHexSpace#2\@nil
-      }%
-    \BIC at Fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\fi
-%    \end{macrocode}
-%
-% \subsection{Normalize expanded number}
-%
-%    \begin{macro}{\BIC at Normalize}
-%    |#1|: result sign\\
-%    |#2|: first token of number
-%    \begin{macrocode}
-\def\BIC at Normalize#1#2{%
-  \ifx#2-%
-    \ifx\\#1\\%
-      \BIC at AfterFiFi{%
-        \BIC at Normalize-%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at Normalize{}%
-      }%
-    \fi
-  \else
-    \ifx#2+%
-      \BIC at AfterFiFi{%
-        \BIC at Normalize{#1}%
-      }%
-    \else
-      \ifx#20%
-        \BIC at AfterFiFiFi{%
-          \BIC at NormalizeZero{#1}%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at NormalizeDigits#1#2%
-        }%
-      \fi
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at NormalizeZero}
-%    \begin{macrocode}
-\def\BIC at NormalizeZero#1#2{%
-  \ifx#2!%
-    \BIC at AfterFi{ 0}%
-  \else
-    \ifx#20%
-      \BIC at AfterFiFi{%
-        \BIC at NormalizeZero{#1}%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at NormalizeDigits#1#2%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at NormalizeDigits}
-%    \begin{macrocode}
-\def\BIC at NormalizeDigits#1!{ #1}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Num}}
-%
-%    \begin{macro}{\bigintcalcNum}
-%    \begin{macrocode}
-\def\bigintcalcNum#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Normalize
-  \expandafter\expandafter\expandafter{%
-  \expandafter\expandafter\expandafter}%
-  \BIC at Expand{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Inv}, \op{Abs}, \op{Sgn}}
-%
-%
-%    \begin{macro}{\bigintcalcInv}
-%    \begin{macrocode}
-\def\bigintcalcInv#1{%
-  \romannumeral0\expandafter\expandafter\expandafter\BIC at Space
-  \bigintcalcNum{-#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bigintcalcAbs}
-%    \begin{macrocode}
-\def\bigintcalcAbs#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Abs
-  \bigintcalcNum{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Abs}
-%    \begin{macrocode}
-\def\BIC at Abs#1{%
-  \ifx#1-%
-    \expandafter\BIC at Space
-  \else
-    \expandafter\BIC at Space
-    \expandafter#1%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bigintcalcSgn}
-%    \begin{macrocode}
-\def\bigintcalcSgn#1{%
-  \number
-  \expandafter\expandafter\expandafter\BIC at Sgn
-  \bigintcalcNum{#1}! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Sgn}
-%    \begin{macrocode}
-\def\BIC at Sgn#1#2!{%
-  \ifx#1-%
-    -1%
-  \else
-    \ifx#10%
-      0%
-    \else
-      1%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Cmp}, \op{Min}, \op{Max}}
-%
-%    \begin{macro}{\bigintcalcCmp}
-%    \begin{macrocode}
-\def\bigintcalcCmp#1#2{%
-  \number
-  \expandafter\expandafter\expandafter\BIC at Cmp
-  \bigintcalcNum{#2}!{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Cmp}
-%    \begin{macrocode}
-\def\BIC at Cmp#1!#2{%
-  \expandafter\expandafter\expandafter\BIC@@Cmp
-  \bigintcalcNum{#2}!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@Cmp}
-%    \begin{macrocode}
-\def\BIC@@Cmp#1#2!#3#4!{%
-  \ifx#1-%
-    \ifx#3-%
-      \BIC at AfterFiFi{%
-        \BIC@@Cmp#4!#2!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        -1 %
-      }%
-    \fi
-  \else
-    \ifx#3-%
-      \BIC at AfterFiFi{%
-        1 %
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at CmpLength#1#2!#3#4!#1#2!#3#4!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at PosCmp}
-%    \begin{macrocode}
-\def\BIC at PosCmp#1!#2!{%
-  \BIC at CmpLength#1!#2!#1!#2!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at CmpLength}
-%    \begin{macrocode}
-\def\BIC at CmpLength#1#2!#3#4!{%
-  \ifx\\#2\\%
-    \ifx\\#4\\%
-      \BIC at AfterFiFi\BIC at CmpDiff
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at CmpResult{-1}%
-      }%
-    \fi
-  \else
-    \ifx\\#4\\%
-      \BIC at AfterFiFi{%
-        \BIC at CmpResult1%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at CmpLength#2!#4!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at CmpResult}
-%    \begin{macrocode}
-\def\BIC at CmpResult#1#2!#3!{#1 }
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at CmpDiff}
-%    \begin{macrocode}
-\def\BIC at CmpDiff#1#2!#3#4!{%
-  \ifnum#1<#3 %
-    \BIC at AfterFi{%
-      -1 %
-    }%
-  \else
-    \ifnum#1>#3 %
-      \BIC at AfterFiFi{%
-        1 %
-      }%
-    \else
-      \ifx\\#2\\%
-        \BIC at AfterFiFiFi{%
-          0 %
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at CmpDiff#2!#4!%
-        }%
-      \fi
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bigintcalcMin}
-%    \begin{macrocode}
-\def\bigintcalcMin#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at MinMax
-  \bigintcalcNum{#1}!-!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bigintcalcMax}
-%    \begin{macrocode}
-\def\bigintcalcMax#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at MinMax
-  \bigintcalcNum{#1}!!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at MinMax}
-%    |#1|: $x$\\
-%    |#2|: sign for comparison\\
-%    |#3|: $y$
-%    \begin{macrocode}
-\def\BIC at MinMax#1!#2!#3{%
-  \expandafter\expandafter\expandafter\BIC@@MinMax
-  \bigintcalcNum{#3}!#1!#2!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@MinMax}
-%    |#1|: $y$\\
-%    |#2|: $x$\\
-%    |#3|: sign for comparison
-%    \begin{macrocode}
-\def\BIC@@MinMax#1!#2!#3!{%
-  \ifnum\BIC@@Cmp#1!#2!=#31 %
-    \BIC at AfterFi{ #1}%
-  \else
-    \BIC at AfterFi{ #2}%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Odd}}
-%
-%    \begin{macro}{\bigintcalcOdd}
-%    \begin{macrocode}
-\def\bigintcalcOdd#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Odd
-  \bigintcalcAbs{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BigIntCalcOdd}
-%    \begin{macrocode}
-\def\BigIntCalcOdd#1!{%
-  \romannumeral0%
-  \BIC at Odd#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Odd}
-%    |#1|: $x$
-%    \begin{macrocode}
-\def\BIC at Odd#1#2{%
-  \ifx#2!%
-    \ifodd#1 %
-      \BIC at AfterFiFi{ 1}%
-    \else
-      \BIC at AfterFiFi{ 0}%
-    \fi
-  \else
-    \expandafter\BIC at Odd\expandafter#2%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Inc}, \op{Dec}}
-%
-%    \begin{macro}{\bigintcalcInc}
-%    \begin{macrocode}
-\def\bigintcalcInc#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at IncSwitch
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at IncSwitch}
-%    \begin{macrocode}
-\def\BIC at IncSwitch#1#2!{%
-  \ifcase\BIC@@Cmp#1#2!-1!%
-    \BIC at AfterFi{ 0}%
-  \or
-    \BIC at AfterFi{%
-      \BIC at Inc#1#2!{}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter-\romannumeral0%
-      \BIC at Dec#2!{}%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bigintcalcDec}
-%    \begin{macrocode}
-\def\bigintcalcDec#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at DecSwitch
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DecSwitch}
-%    \begin{macrocode}
-\def\BIC at DecSwitch#1#2!{%
-  \ifcase\BIC at Sgn#1#2! %
-    \BIC at AfterFi{ -1}%
-  \or
-    \BIC at AfterFi{%
-      \BIC at Dec#1#2!{}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter-\romannumeral0%
-      \BIC at Inc#2!{}%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BigIntCalcInc}
-%    \begin{macrocode}
-\def\BigIntCalcInc#1!{%
-  \romannumeral0\BIC at Inc#1!{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BigIntCalcDec}
-%    \begin{macrocode}
-\def\BigIntCalcDec#1!{%
-  \romannumeral0\BIC at Dec#1!{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BIC at Inc}
-%    \begin{macrocode}
-\def\BIC at Inc#1#2!#3{%
-  \ifx\\#2\\%
-    \BIC at AfterFi{%
-      \BIC@@Inc1#1#3!{}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC at Inc#2!{#1#3}%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@Inc}
-%    \begin{macrocode}
-\def\BIC@@Inc#1#2#3!#4{%
-  \ifcase#1 %
-    \ifx\\#3\\%
-      \BIC at AfterFiFi{ #2#4}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@Inc0#3!{#2#4}%
-      }%
-    \fi
-  \else
-    \ifnum#2<9 %
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC@@@Inc\the\numexpr#2+1\relax
-$       \expandafter\expandafter\expandafter\BIC@@@Inc
-$       \ifcase#2 \expandafter1%
-$       \or\expandafter2%
-$       \or\expandafter3%
-$       \or\expandafter4%
-$       \or\expandafter5%
-$       \or\expandafter6%
-$       \or\expandafter7%
-$       \or\expandafter8%
-$       \or\expandafter9%
-$?      \else\BigIntCalcError:ThisCannotHappen%
-$       \fi
-        0#3!{#4}%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@@Inc01#3!{#4}%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@@Inc}
-%    \begin{macrocode}
-\def\BIC@@@Inc#1#2#3!#4{%
-  \ifx\\#3\\%
-    \ifnum#2=1 %
-      \BIC at AfterFiFi{ 1#1#4}%
-    \else
-      \BIC at AfterFiFi{ #1#4}%
-    \fi
-  \else
-    \BIC at AfterFi{%
-      \BIC@@Inc#2#3!{#1#4}%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BIC at Dec}
-%    \begin{macrocode}
-\def\BIC at Dec#1#2!#3{%
-  \ifx\\#2\\%
-    \BIC at AfterFi{%
-      \BIC@@Dec1#1#3!{}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC at Dec#2!{#1#3}%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@Dec}
-%    \begin{macrocode}
-\def\BIC@@Dec#1#2#3!#4{%
-  \ifcase#1 %
-    \ifx\\#3\\%
-      \BIC at AfterFiFi{ #2#4}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@Dec0#3!{#2#4}%
-      }%
-    \fi
-  \else
-    \ifnum#2>0 %
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC@@@Dec\the\numexpr#2-1\relax
-$       \expandafter\expandafter\expandafter\BIC@@@Dec
-$       \ifcase#2
-$?        \BigIntCalcError:ThisCannotHappen%
-$       \or\expandafter0%
-$       \or\expandafter1%
-$       \or\expandafter2%
-$       \or\expandafter3%
-$       \or\expandafter4%
-$       \or\expandafter5%
-$       \or\expandafter6%
-$       \or\expandafter7%
-$       \or\expandafter8%
-$?      \else\BigIntCalcError:ThisCannotHappen%
-$       \fi
-        0#3!{#4}%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@@Dec91#3!{#4}%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@@Dec}
-%    \begin{macrocode}
-\def\BIC@@@Dec#1#2#3!#4{%
-  \ifx\\#3\\%
-    \ifcase#1 %
-      \ifx\\#4\\%
-        \BIC at AfterFiFiFi{ 0}%
-      \else
-        \BIC at AfterFiFiFi{ #4}%
-      \fi
-    \else
-      \BIC at AfterFiFi{ #1#4}%
-    \fi
-  \else
-    \BIC at AfterFi{%
-      \BIC@@Dec#2#3!{#1#4}%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Add}, \op{Sub}}
-%
-%    \begin{macro}{\bigintcalcAdd}
-%    \begin{macrocode}
-\def\bigintcalcAdd#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Add
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Add}
-%    \begin{macrocode}
-\def\BIC at Add#1!#2{%
-  \expandafter\expandafter\expandafter
-  \BIC at AddSwitch\bigintcalcNum{#2}!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\bigintcalcSub}
-%    \begin{macrocode}
-\def\bigintcalcSub#1#2{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Add
-  \bigintcalcNum{-#2}!{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BIC at AddSwitch}
-%    Decision table for \cs{BIC at AddSwitch}.
-%    \begin{quote}
-%    \begin{tabular}[t]{@{}|l|l|l|l|l|@{}}
-%      \hline
-%      $x<0$ & $y<0$ & $-x>-y$ & $-$ & $\opAdd(-x,-y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opAdd(-y,-x)$\\
-%      \cline{2-5}
-%            & else  & $-x> y$ & $-$ & $\opSub(-x, y)$\\
-%      \cline{3-5}
-%            &       & $-x= y$ &     & $0$\\
-%      \cline{3-5}
-%            &       & else    & $+$ & $\opSub( y,-x)$\\
-%      \hline
-%      else  & $y<0$ & $ x>-y$ & $+$ & $\opSub( x,-y)$\\
-%      \cline{3-5}
-%            &       & $ x=-y$ &     & $0$\\
-%      \cline{3-5}
-%            &       & else    & $-$ & $\opSub(-y, x)$\\
-%      \cline{2-5}
-%            & else  & $ x> y$ & $+$ & $\opAdd( x, y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opAdd( y, x)$\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\BIC at AddSwitch#1#2!#3#4!{%
-  \ifx#1-% x < 0
-    \ifx#3-% y < 0
-      \expandafter-\romannumeral0%
-      \ifnum\BIC at PosCmp#2!#4!=1 % -x > -y
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#2!#4!!!%
-        }%
-      \else % -x <= -y
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#4!#2!!!%
-        }%
-      \fi
-    \else % y >= 0
-      \ifcase\BIC at PosCmp#2!#3#4!% -x = y
-        \BIC at AfterFiFiFi{ 0}%
-      \or % -x > y
-        \expandafter-\romannumeral0%
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#2!#3#4!!!%
-        }%
-      \else % -x <= y
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#3#4!#2!!!%
-        }%
-      \fi
-    \fi
-  \else % x >= 0
-    \ifx#3-% y < 0
-      \ifcase\BIC at PosCmp#1#2!#4!% x = -y
-        \BIC at AfterFiFiFi{ 0}%
-      \or % x > -y
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#1#2!#4!!!%
-        }%
-      \else % x <= -y
-        \expandafter-\romannumeral0%
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#4!#1#2!!!%
-        }%
-      \fi
-    \else % y >= 0
-      \ifnum\BIC at PosCmp#1#2!#3#4!=1 % x > y
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#1#2!#3#4!!!%
-        }%
-      \else % x <= y
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#3#4!#1#2!!!%
-        }%
-      \fi
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BigIntCalcAdd}
-%    \begin{macrocode}
-\def\BigIntCalcAdd#1!#2!{%
-  \romannumeral0\BIC at AddXY#1!#2!!!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BigIntCalcSub}
-%    \begin{macrocode}
-\def\BigIntCalcSub#1!#2!{%
-  \romannumeral0\BIC at SubXY#1!#2!!!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BIC at AddXY}
-%    \begin{macrocode}
-\def\BIC at AddXY#1#2!#3#4!#5!#6!{%
-  \ifx\\#2\\%
-    \ifx\\#3\\%
-      \BIC at AfterFiFi{%
-        \BIC at DoAdd0!#1#5!#60!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at DoAdd0!#1#5!#3#6!%
-      }%
-    \fi
-  \else
-    \ifx\\#4\\%
-      \ifx\\#3\\%
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#2!{}!#1#5!#60!%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#2!{}!#1#5!#3#6!%
-        }%
-      \fi
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at AddXY#2!#4!#1#5!#3#6!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DoAdd}
-%    |#1|: carry\\
-%    |#2|: reverted result\\
-%    |#3#4|: reverted $x$\\
-%    |#5#6|: reverted $y$
-%    \begin{macrocode}
-\def\BIC at DoAdd#1#2!#3#4!#5#6!{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-&     \expandafter\BIC at Space
-&     \the\numexpr#1+#3+#5\relax#2%
-$     \expandafter\expandafter\expandafter\BIC at AddResult
-$     \BIC at AddDigit#1#3#5#2%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at DoAdd
-      \BIC at AddDigit#1#3#5#2!#4!#6!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at AddResult}
-%    \begin{macrocode}
-$ \def\BIC at AddResult#1{%
-$   \ifx#10%
-$     \expandafter\BIC at Space
-$   \else
-$     \expandafter\BIC at Space\expandafter#1%
-$   \fi
-$ }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at AddDigit}
-%    |#1|: carry\\
-%    |#2|: digit of $x$\\
-%    |#3|: digit of $y$
-%    \begin{macrocode}
-\def\BIC at AddDigit#1#2#3{%
-  \romannumeral0%
-& \expandafter\BIC@@AddDigit\the\numexpr#1+#2+#3!%
-$ \expandafter\BIC@@AddDigit\number%
-$ \csname
-$   BIC at AddCarry%
-$   \ifcase#1 %
-$     #2%
-$   \else
-$     \ifcase#2 1\or2\or3\or4\or5\or6\or7\or8\or9\or10\fi
-$   \fi
-$ \endcsname#3!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@AddDigit}
-%    \begin{macrocode}
-\def\BIC@@AddDigit#1!{%
-  \ifnum#1<10 %
-    \BIC at AfterFi{ 0#1}%
-  \else
-    \BIC at AfterFi{ #1}%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at AddCarry0}
-%    \begin{macrocode}
-$ \expandafter\def\csname BIC at AddCarry0\endcsname#1{#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at AddCarry10}
-%    \begin{macrocode}
-$ \expandafter\def\csname BIC at AddCarry10\endcsname#1{1#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at AddCarry[1-9]}
-%    \begin{macrocode}
-$ \def\BIC at Temp#1#2{%
-$   \expandafter\def\csname BIC at AddCarry#1\endcsname##1{%
-$     \ifcase##1 #1\or
-$     #2%
-$?    \else\BigIntCalcError:ThisCannotHappen%
-$     \fi
-$   }%
-$ }%
-$ \BIC at Temp 0{1\or2\or3\or4\or5\or6\or7\or8\or9}%
-$ \BIC at Temp 1{2\or3\or4\or5\or6\or7\or8\or9\or10}%
-$ \BIC at Temp 2{3\or4\or5\or6\or7\or8\or9\or10\or11}%
-$ \BIC at Temp 3{4\or5\or6\or7\or8\or9\or10\or11\or12}%
-$ \BIC at Temp 4{5\or6\or7\or8\or9\or10\or11\or12\or13}%
-$ \BIC at Temp 5{6\or7\or8\or9\or10\or11\or12\or13\or14}%
-$ \BIC at Temp 6{7\or8\or9\or10\or11\or12\or13\or14\or15}%
-$ \BIC at Temp 7{8\or9\or10\or11\or12\or13\or14\or15\or16}%
-$ \BIC at Temp 8{9\or10\or11\or12\or13\or14\or15\or16\or17}%
-$ \BIC at Temp 9{10\or11\or12\or13\or14\or15\or16\or17\or18}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BIC at SubXY}
-%    Preconditions:
-%    \begin{itemize}
-%    \item $x > y$, $x \geq 0$, and $y >= 0$
-%    \item digits($x$) = digits($y$)
-%    \end{itemize}
-%    \begin{macrocode}
-\def\BIC at SubXY#1#2!#3#4!#5!#6!{%
-  \ifx\\#2\\%
-    \ifx\\#3\\%
-      \BIC at AfterFiFi{%
-        \BIC at DoSub0!#1#5!#60!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at DoSub0!#1#5!#3#6!%
-      }%
-    \fi
-  \else
-    \ifx\\#4\\%
-      \ifx\\#3\\%
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#2!{}!#1#5!#60!%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#2!{}!#1#5!#3#6!%
-        }%
-      \fi
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at SubXY#2!#4!#1#5!#3#6!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DoSub}
-%    |#1|: carry\\
-%    |#2|: reverted result\\
-%    |#3#4|: reverted x\\
-%    |#5#6|: reverted y
-%    \begin{macrocode}
-\def\BIC at DoSub#1#2!#3#4!#5#6!{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at SubResult
-      \BIC at SubDigit#1#3#5#2%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at DoSub
-      \BIC at SubDigit#1#3#5#2!#4!#6!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at SubResult}
-%    \begin{macrocode}
-\def\BIC at SubResult#1{%
-  \ifx#10%
-    \expandafter\BIC at SubResult
-  \else
-    \expandafter\BIC at Space\expandafter#1%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at SubDigit}
-%    |#1|: carry\\
-%    |#2|: digit of $x$\\
-%    |#3|: digit of $y$
-%    \begin{macrocode}
-\def\BIC at SubDigit#1#2#3{%
-  \romannumeral0%
-& \expandafter\BIC@@SubDigit\the\numexpr#2-#3-#1!%
-$ \expandafter\BIC@@AddDigit\number
-$   \csname
-$     BIC at SubCarry%
-$     \ifcase#1 %
-$       #3%
-$     \else
-$       \ifcase#3 1\or2\or3\or4\or5\or6\or7\or8\or9\or10\fi
-$     \fi
-$   \endcsname#2!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@SubDigit}
-%    \begin{macrocode}
-& \def\BIC@@SubDigit#1!{%
-&   \ifnum#1<0 %
-&     \BIC at AfterFi{%
-&       \expandafter\BIC at Space
-&       \expandafter1\the\numexpr#1+10\relax
-&     }%
-&   \else
-&     \BIC at AfterFi{ 0#1}%
-&   \BIC at Fi
-& }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at SubCarry0}
-%    \begin{macrocode}
-$ \expandafter\def\csname BIC at SubCarry0\endcsname#1{#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at SubCarry10}%
-%    \begin{macrocode}
-$ \expandafter\def\csname BIC at SubCarry10\endcsname#1{1#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at SubCarry[1-9]}
-%    \begin{macrocode}
-$ \def\BIC at Temp#1#2{%
-$   \expandafter\def\csname BIC at SubCarry#1\endcsname##1{%
-$     \ifcase##1 #2%
-$?    \else\BigIntCalcError:ThisCannotHappen%
-$     \fi
-$   }%
-$ }%
-$ \BIC at Temp 1{19\or0\or1\or2\or3\or4\or5\or6\or7\or8}%
-$ \BIC at Temp 2{18\or19\or0\or1\or2\or3\or4\or5\or6\or7}%
-$ \BIC at Temp 3{17\or18\or19\or0\or1\or2\or3\or4\or5\or6}%
-$ \BIC at Temp 4{16\or17\or18\or19\or0\or1\or2\or3\or4\or5}%
-$ \BIC at Temp 5{15\or16\or17\or18\or19\or0\or1\or2\or3\or4}%
-$ \BIC at Temp 6{14\or15\or16\or17\or18\or19\or0\or1\or2\or3}%
-$ \BIC at Temp 7{13\or14\or15\or16\or17\or18\or19\or0\or1\or2}%
-$ \BIC at Temp 8{12\or13\or14\or15\or16\or17\or18\or19\or0\or1}%
-$ \BIC at Temp 9{11\or12\or13\or14\or15\or16\or17\or18\or19\or0}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Shl}, \op{Shr}}
-%
-%    \begin{macro}{\bigintcalcShl}
-%    \begin{macrocode}
-\def\bigintcalcShl#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Shl
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Shl}
-%    \begin{macrocode}
-\def\BIC at Shl#1#2!{%
-  \ifx#1-%
-    \BIC at AfterFi{%
-      \expandafter-\romannumeral0%
-&     \BIC@@Shl#2!!%
-$     \BIC at AddXY#2!#2!!!%
-    }%
-  \else
-    \BIC at AfterFi{%
-&     \BIC@@Shl#1#2!!%
-$     \BIC at AddXY#1#2!#1#2!!!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BigIntCalcShl}
-%    \begin{macrocode}
-\def\BigIntCalcShl#1!{%
-  \romannumeral0%
-& \BIC@@Shl#1!!%
-$ \BIC at AddXY#1!#1!!!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@Shl}
-%    \begin{macrocode}
-& \def\BIC@@Shl#1#2!{%
-&   \ifx\\#2\\%
-&     \BIC at AfterFi{%
-&       \BIC@@@Shl0!#1%
-&     }%
-&   \else
-&     \BIC at AfterFi{%
-&       \BIC@@Shl#2!#1%
-&     }%
-&   \BIC at Fi
-& }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@@Shl}
-%    |#1|: carry\\
-%    |#2|: result\\
-%    |#3#4|: reverted number
-%    \begin{macrocode}
-& \def\BIC@@@Shl#1#2!#3#4!{%
-&   \ifx\\#4\\%
-&     \BIC at AfterFi{%
-&       \expandafter\BIC at Space
-&       \the\numexpr#3*2+#1\relax#2%
-&     }%
-&   \else
-&     \BIC at AfterFi{%
-&       \expandafter\BIC@@@@Shl\the\numexpr#3*2+#1!#2!#4!%
-&     }%
-&   \BIC at Fi
-& }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@@@Shl}
-%    \begin{macrocode}
-& \def\BIC@@@@Shl#1!{%
-&   \ifnum#1<10 %
-&     \BIC at AfterFi{%
-&       \BIC@@@Shl0#1%
-&     }%
-&   \else
-&     \BIC at AfterFi{%
-&       \BIC@@@Shl#1%
-&     }%
-&   \BIC at Fi
-& }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\bigintcalcShr}
-%    \begin{macrocode}
-\def\bigintcalcShr#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Shr
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Shr}
-%    \begin{macrocode}
-\def\BIC at Shr#1#2!{%
-  \ifx#1-%
-    \expandafter-\romannumeral0%
-    \BIC at AfterFi{%
-      \BIC@@Shr#2!%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC@@Shr#1#2!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BigIntCalcShr}
-%    \begin{macrocode}
-\def\BigIntCalcShr#1!{%
-  \romannumeral0%
-  \BIC@@Shr#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@Shr}
-%    \begin{macrocode}
-\def\BIC@@Shr#1#2!{%
-  \ifcase#1 %
-    \BIC at AfterFi{ 0}%
-  \or
-    \ifx\\#2\\%
-      \BIC at AfterFiFi{ 0}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@@Shr#1#2!!%
-      }%
-    \fi
-  \else
-    \BIC at AfterFi{%
-      \BIC@@@Shr0#1#2!!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@@Shr}
-%    |#1|: carry\\
-%    |#2#3|: number\\
-%    |#4|: result
-%    \begin{macrocode}
-\def\BIC@@@Shr#1#2#3!#4!{%
-  \ifx\\#3\\%
-    \ifodd#1#2 %
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC at ShrResult\the\numexpr(#1#2-1)/2\relax
-$       \expandafter\expandafter\expandafter\BIC at ShrResult
-$       \csname BIC at ShrDigit#1#2\endcsname
-        #4!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC at ShrResult\the\numexpr#1#2/2\relax
-$       \expandafter\expandafter\expandafter\BIC at ShrResult
-$       \csname BIC at ShrDigit#1#2\endcsname
-        #4!%
-      }%
-    \fi
-  \else
-    \ifodd#1#2 %
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC@@@@Shr\the\numexpr(#1#2-1)/2\relax1%
-$       \expandafter\expandafter\expandafter\BIC@@@@Shr
-$       \csname BIC at ShrDigit#1#2\endcsname
-        #3!#4!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC@@@@Shr\the\numexpr#1#2/2\relax0%
-$       \expandafter\expandafter\expandafter\BIC@@@@Shr
-$       \csname BIC at ShrDigit#1#2\endcsname
-        #3!#4!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ShrResult}
-%    \begin{macrocode}
-& \def\BIC at ShrResult#1#2!{ #2#1}%
-$ \def\BIC at ShrResult#1#2#3!{ #3#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@@@Shr}
-%    |#1|: new digit\\
-%    |#2|: carry\\
-%    |#3|: remaining number\\
-%    |#4|: result
-%    \begin{macrocode}
-\def\BIC@@@@Shr#1#2#3!#4!{%
-  \BIC@@@Shr#2#3!#4#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ShrDigit[00-19]}
-%    \begin{macrocode}
-$ \def\BIC at Temp#1#2#3#4{%
-$   \expandafter\def\csname BIC at ShrDigit#1#2\endcsname{#3#4}%
-$ }%
-$ \BIC at Temp 0000%
-$ \BIC at Temp 0101%
-$ \BIC at Temp 0210%
-$ \BIC at Temp 0311%
-$ \BIC at Temp 0420%
-$ \BIC at Temp 0521%
-$ \BIC at Temp 0630%
-$ \BIC at Temp 0731%
-$ \BIC at Temp 0840%
-$ \BIC at Temp 0941%
-$ \BIC at Temp 1050%
-$ \BIC at Temp 1151%
-$ \BIC at Temp 1260%
-$ \BIC at Temp 1361%
-$ \BIC at Temp 1470%
-$ \BIC at Temp 1571%
-$ \BIC at Temp 1680%
-$ \BIC at Temp 1781%
-$ \BIC at Temp 1890%
-$ \BIC at Temp 1991%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\cs{BIC at Tim}}
-%
-%    \begin{macro}{\BIC at Tim}
-%    Macro \cs{BIC at Tim} implements ``Number \emph{tim}es digit''.\\
-%    |#1|: plain number without sign\\
-%    |#2|: digit
-\def\BIC at Tim#1!#2{%
-  \romannumeral0%
-  \ifcase#2 % 0
-    \BIC at AfterFi{ 0}%
-  \or % 1
-    \BIC at AfterFi{ #1}%
-  \or % 2
-    \BIC at AfterFi{%
-      \BIC at Shl#1!%
-    }%
-  \else % 3-9
-    \BIC at AfterFi{%
-      \BIC@@Tim#1!!#2%
-    }%
-  \BIC at Fi
-}
-%    \begin{macrocode}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@Tim}
-%    |#1#2|: number\\
-%    |#3|: reverted number
-%    \begin{macrocode}
-\def\BIC@@Tim#1#2!{%
-  \ifx\\#2\\%
-    \BIC at AfterFi{%
-      \BIC at ProcessTim0!#1%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC@@Tim#2!#1%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ProcessTim}
-%    |#1|: carry\\
-%    |#2|: result\\
-%    |#3#4|: reverted number\\
-%    |#5|: digit
-%    \begin{macrocode}
-\def\BIC at ProcessTim#1#2!#3#4!#5{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-      \expandafter\BIC at Space
-&     \the\numexpr#3*#5+#1\relax
-$     \romannumeral0\BIC at TimDigit#3#5#1%
-      #2%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\BIC@@ProcessTim
-&     \the\numexpr#3*#5+#1%
-$     \romannumeral0\BIC at TimDigit#3#5#1%
-      !#2!#4!#5%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@ProcessTim}
-%    |#1#2|: carry?, new digit\\
-%    |#3|: new number\\
-%    |#4|: old number\\
-%    |#5|: digit
-%    \begin{macrocode}
-\def\BIC@@ProcessTim#1#2!{%
-  \ifx\\#2\\%
-    \BIC at AfterFi{%
-      \BIC at ProcessTim0#1%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC at ProcessTim#1#2%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at TimDigit}
-%    |#1|: digit 0--9\\
-%    |#2|: digit 3--9\\
-%    |#3|: carry 0--9
-%    \begin{macrocode}
-$ \def\BIC at TimDigit#1#2#3{%
-$   \ifcase#1 % 0
-$     \BIC at AfterFi{ #3}%
-$   \or % 1
-$     \BIC at AfterFi{%
-$       \expandafter\BIC at Space
-$       \number\csname BIC at AddCarry#2\endcsname#3 %
-$     }%
-$   \else
-$     \ifcase#3 %
-$       \BIC at AfterFiFi{%
-$         \expandafter\BIC at Space
-$         \number\csname BIC at MulDigit#2\endcsname#1 %
-$       }%
-$     \else
-$       \BIC at AfterFiFi{%
-$         \expandafter\BIC at Space
-$         \romannumeral0%
-$         \expandafter\BIC at AddXY
-$         \number\csname BIC at MulDigit#2\endcsname#1!%
-$         #3!!!%
-$       }%
-$     \fi
-$   \BIC at Fi
-$ }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at MulDigit[3-9]}
-%    \begin{macrocode}
-$ \def\BIC at Temp#1#2{%
-$   \expandafter\def\csname BIC at MulDigit#1\endcsname##1{%
-$     \ifcase##1 0%
-$     \or ##1%
-$     \or #2%
-$?    \else\BigIntCalcError:ThisCannotHappen%
-$     \fi
-$   }%
-$ }%
-$ \BIC at Temp 3{6\or9\or12\or15\or18\or21\or24\or27}%
-$ \BIC at Temp 4{8\or12\or16\or20\or24\or28\or32\or36}%
-$ \BIC at Temp 5{10\or15\or20\or25\or30\or35\or40\or45}%
-$ \BIC at Temp 6{12\or18\or24\or30\or36\or42\or48\or54}%
-$ \BIC at Temp 7{14\or21\or28\or35\or42\or49\or56\or63}%
-$ \BIC at Temp 8{16\or24\or32\or40\or48\or56\or64\or72}%
-$ \BIC at Temp 9{18\or27\or36\or45\or54\or63\or72\or81}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Mul}}
-%
-%    \begin{macro}{\bigintcalcMul}
-%    \begin{macrocode}
-\def\bigintcalcMul#1#2{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Mul
-  \bigintcalcNum{#1}!{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Mul}
-%    \begin{macrocode}
-\def\BIC at Mul#1!#2{%
-  \expandafter\expandafter\expandafter\BIC at MulSwitch
-  \bigintcalcNum{#2}!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at MulSwitch}
-%    Decision table for \cs{BIC at MulSwitch}.
-%    \begin{quote}
-%    \begin{tabular}[t]{@{}|l|l|l|l|l|@{}}
-%      \hline
-%      $x=0$ &\multicolumn{3}{l}{}    &$0$\\
-%      \hline
-%      $x>0$ & $y=0$ &\multicolumn2l{}&$0$\\
-%      \cline{2-5}
-%            & $y>0$ & $ x> y$ & $+$ & $\opMul( x, y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opMul( y, x)$\\
-%      \cline{2-5}
-%            & $y<0$ & $ x>-y$ & $-$ & $\opMul( x,-y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opMul(-y, x)$\\
-%      \hline
-%      $x<0$ & $y=0$ &\multicolumn2l{}&$0$\\
-%      \cline{2-5}
-%            & $y>0$ & $-x> y$ & $-$ & $\opMul(-x, y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opMul( y,-x)$\\
-%      \cline{2-5}
-%            & $y<0$ & $-x>-y$ & $+$ & $\opMul(-x,-y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opMul(-y,-x)$\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\BIC at MulSwitch#1#2!#3#4!{%
-  \ifcase\BIC at Sgn#1#2! % x = 0
-    \BIC at AfterFi{ 0}%
-  \or % x > 0
-    \ifcase\BIC at Sgn#3#4! % y = 0
-      \BIC at AfterFiFi{ 0}%
-    \or % y > 0
-      \ifnum\BIC at PosCmp#1#2!#3#4!=1 % x > y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#1#2!#3#4!%
-        }%
-      \else % x <= y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#3#4!#1#2!%
-        }%
-      \fi
-    \else % y < 0
-      \expandafter-\romannumeral0%
-      \ifnum\BIC at PosCmp#1#2!#4!=1 % x > -y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#1#2!#4!%
-        }%
-      \else % x <= -y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#4!#1#2!%
-        }%
-      \fi
-    \fi
-  \else % x < 0
-    \ifcase\BIC at Sgn#3#4! % y = 0
-      \BIC at AfterFiFi{ 0}%
-    \or % y > 0
-      \expandafter-\romannumeral0%
-      \ifnum\BIC at PosCmp#2!#3#4!=1 % -x > y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#2!#3#4!%
-        }%
-      \else % -x <= y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#3#4!#2!%
-        }%
-      \fi
-    \else % y < 0
-      \ifnum\BIC at PosCmp#2!#4!=1 % -x > -y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#2!#4!%
-        }%
-      \else % -x <= -y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#4!#2!%
-        }%
-      \fi
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BigIntCalcMul}
-%    \begin{macrocode}
-\def\BigIntCalcMul#1!#2!{%
-  \romannumeral0%
-  \BIC at ProcessMul0!#1!#2!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ProcessMul}
-%    |#1|: result\\
-%    |#2|: number $x$\\
-%    |#3#4|: number $y$
-%    \begin{macrocode}
-\def\BIC at ProcessMul#1!#2!#3#4!{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at Space
-      \bigintcalcAdd{\BIC at Tim#2!#3}{#10}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at ProcessMul
-      \bigintcalcAdd{\BIC at Tim#2!#3}{#10}!#2!#4!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Sqr}}
-%
-%    \begin{macro}{\bigintcalcSqr}
-%    \begin{macrocode}
-\def\bigintcalcSqr#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Sqr
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Sqr}
-%    \begin{macrocode}
-\def\BIC at Sqr#1{%
-   \ifx#1-%
-     \expandafter\BIC@@Sqr
-   \else
-     \expandafter\BIC@@Sqr\expandafter#1%
-   \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@Sqr}
-%    \begin{macrocode}
-\def\BIC@@Sqr#1!{%
-  \BIC at ProcessMul0!#1!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Fac}}
-%
-%    \begin{macro}{\bigintcalcFac}
-%    \begin{macrocode}
-\def\bigintcalcFac#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Fac
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Fac}
-%    \begin{macrocode}
-\def\BIC at Fac#1#2!{%
-  \ifx#1-%
-    \BIC at AfterFi{ 0\BigIntCalcError:FacNegative}%
-  \else
-    \ifnum\BIC at PosCmp#1#2!13!<0 %
-      \ifcase#1#2 %
-         \BIC at AfterFiFiFi{ 1}% 0!
-      \or\BIC at AfterFiFiFi{ 1}% 1!
-      \or\BIC at AfterFiFiFi{ 2}% 2!
-      \or\BIC at AfterFiFiFi{ 6}% 3!
-      \or\BIC at AfterFiFiFi{ 24}% 4!
-      \or\BIC at AfterFiFiFi{ 120}% 5!
-      \or\BIC at AfterFiFiFi{ 720}% 6!
-      \or\BIC at AfterFiFiFi{ 5040}% 7!
-      \or\BIC at AfterFiFiFi{ 40320}% 8!
-      \or\BIC at AfterFiFiFi{ 362880}% 9!
-      \or\BIC at AfterFiFiFi{ 3628800}% 10!
-      \or\BIC at AfterFiFiFi{ 39916800}% 11!
-      \or\BIC at AfterFiFiFi{ 479001600}% 12!
-?     \else\BigIntCalcError:ThisCannotHappen%
-      \fi
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessFac#1#2!479001600!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ProcessFac}
-%    |#1|: $n$\\
-%    |#2|: result
-%    \begin{macrocode}
-\def\BIC at ProcessFac#1!#2!{%
-  \ifnum\BIC at PosCmp#1!12!=0 %
-    \BIC at AfterFi{ #2}%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\BIC@@ProcessFac
-      \romannumeral0\BIC at ProcessMul0!#2!#1!%
-      !#1!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@ProcessFac}
-%    |#1|: result\\
-%    |#2|: $n$
-%    \begin{macrocode}
-\def\BIC@@ProcessFac#1!#2!{%
-  \expandafter\BIC at ProcessFac
-  \romannumeral0\BIC at Dec#2!{}%
-  !#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Pow}}
-%
-%    \begin{macro}{\bigintcalcPow}
-%    |#1|: basis\\
-%    |#2|: power
-%    \begin{macrocode}
-\def\bigintcalcPow#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Pow
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Pow}
-%    |#1|: basis\\
-%    |#2|: power
-%    \begin{macrocode}
-\def\BIC at Pow#1!#2{%
-  \expandafter\expandafter\expandafter\BIC at PowSwitch
-  \bigintcalcNum{#2}!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at PowSwitch}
-%    |#1#2|: power $y$\\
-%    |#3#4|: basis $x$\\
-%    Decision table for \cs{BIC at PowSwitch}.
-%    \begin{quote}
-%    \def\M#1{\multicolumn{#1}{l}{}}%
-%    \begin{tabular}[t]{@{}|l|l|l|l|@{}}
-%    \hline
-%    $y=0$ & \M{2}                        & $1$\\
-%    \hline
-%    $y=1$ & \M{2}                        & $x$\\
-%    \hline
-%    $y=2$ & $x<0$          & \M{1}       & $\opMul(-x,-x)$\\
-%    \cline{2-4}
-%          & else           & \M{1}       & $\opMul(x,x)$\\
-%    \hline
-%    $y<0$ & $x=0$          & \M{1}       & DivisionByZero\\
-%    \cline{2-4}
-%          & $x=1$          & \M{1}       & $1$\\
-%    \cline{2-4}
-%          & $x=-1$         & $\opODD(y)$ & $-1$\\
-%    \cline{3-4}
-%          &                & else        & $1$\\
-%    \cline{2-4}
-%          & else ($\string|x\string|>1$) & \M{1}       & $0$\\
-%    \hline
-%    $y>2$ & $x=0$          & \M{1}       & $0$\\
-%    \cline{2-4}
-%          & $x=1$          & \M{1}       & $1$\\
-%    \cline{2-4}
-%          & $x=-1$         & $\opODD(y)$ & $-1$\\
-%    \cline{3-4}
-%          &                & else        & $1$\\
-%    \cline{2-4}
-%          & $x<-1$ ($x<0$) & $\opODD(y)$ & $-\opPow(-x,y)$\\
-%    \cline{3-4}
-%          &                & else        & $\opPow(-x,y)$\\
-%    \cline{2-4}
-%          & else ($x>1$)   & \M{1}       & $\opPow(x,y)$\\
-%    \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\BIC at PowSwitch#1#2!#3#4!{%
-  \ifcase\ifx\\#2\\%
-           \ifx#100 % y = 0
-           \else\ifx#111 % y = 1
-           \else\ifx#122 % y = 2
-           \else4 % y > 2
-           \fi\fi\fi
-         \else
-           \ifx#1-3 % y < 0
-           \else4 % y > 2
-           \fi
-         \fi
-    \BIC at AfterFi{ 1}% y = 0
-  \or % y = 1
-    \BIC at AfterFi{ #3#4}%
-  \or % y = 2
-    \ifx#3-% x < 0
-      \BIC at AfterFiFi{%
-        \BIC at ProcessMul0!#4!#4!%
-      }%
-    \else % x >= 0
-      \BIC at AfterFiFi{%
-        \BIC at ProcessMul0!#3#4!#3#4!%
-      }%
-    \fi
-  \or % y < 0
-    \ifcase\ifx\\#4\\%
-             \ifx#300 % x = 0
-             \else\ifx#311 % x = 1
-             \else3 % x > 1
-             \fi\fi
-           \else
-             \ifcase\BIC at MinusOne#3#4! %
-               3 % |x| > 1
-             \or
-               2 % x = -1
-?            \else\BigIntCalcError:ThisCannotHappen%
-             \fi
-           \fi
-      \BIC at AfterFiFi{ 0\BigIntCalcError:DivisionByZero}% x = 0
-    \or % x = 1
-      \BIC at AfterFiFi{ 1}% x = 1
-    \or % x = -1
-      \ifcase\BIC at ModTwo#2! % even(y)
-        \BIC at AfterFiFiFi{ 1}%
-      \or % odd(y)
-        \BIC at AfterFiFiFi{ -1}%
-?     \else\BigIntCalcError:ThisCannotHappen%
-      \fi
-    \or % |x| > 1
-      \BIC at AfterFiFi{ 0}%
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-  \or % y > 2
-    \ifcase\ifx\\#4\\%
-             \ifx#300 % x = 0
-             \else\ifx#311 % x = 1
-             \else4 % x > 1
-             \fi\fi
-           \else
-             \ifx#3-%
-               \ifcase\BIC at MinusOne#3#4! %
-                 3 % x < -1
-               \else
-                 2 % x = -1
-               \fi
-             \else
-               4 % x > 1
-             \fi
-           \fi
-      \BIC at AfterFiFi{ 0}% x = 0
-    \or % x = 1
-      \BIC at AfterFiFi{ 1}% x = 1
-    \or % x = -1
-      \ifcase\BIC at ModTwo#1#2! % even(y)
-        \BIC at AfterFiFiFi{ 1}%
-      \or % odd(y)
-        \BIC at AfterFiFiFi{ -1}%
-?     \else\BigIntCalcError:ThisCannotHappen%
-      \fi
-    \or % x < -1
-      \ifcase\BIC at ModTwo#1#2! % even(y)
-        \BIC at AfterFiFiFi{%
-          \BIC at PowRec#4!#1#2!1!%
-        }%
-      \or % odd(y)
-        \expandafter-\romannumeral0%
-        \BIC at AfterFiFiFi{%
-          \BIC at PowRec#4!#1#2!1!%
-        }%
-?     \else\BigIntCalcError:ThisCannotHappen%
-      \fi
-    \or % x > 1
-      \BIC at AfterFiFi{%
-        \BIC at PowRec#3#4!#1#2!1!%
-      }%
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-? \else\BigIntCalcError:ThisCannotHappen%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Help macros}
-%
-%    \begin{macro}{\BIC at ModTwo}
-%    Macro \cs{BIC at ModTwo} expects a number without sign
-%    and returns digit |1| or |0| if the number is odd or even.
-%    \begin{macrocode}
-\def\BIC at ModTwo#1#2!{%
-  \ifx\\#2\\%
-    \ifodd#1 %
-      \BIC at AfterFiFi1%
-    \else
-      \BIC at AfterFiFi0%
-    \fi
-  \else
-    \BIC at AfterFi{%
-      \BIC at ModTwo#2!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\BIC at MinusOne}
-%    Macro \cs{BIC at MinusOne} expects a number and returns
-%    digit |1| if the number equals minus one and returns |0| otherwise.
-%    \begin{macrocode}
-\def\BIC at MinusOne#1#2!{%
-  \ifx#1-%
-    \BIC@@MinusOne#2!%
-  \else
-    0%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@MinusOne}
-%    \begin{macrocode}
-\def\BIC@@MinusOne#1#2!{%
-  \ifx#11%
-    \ifx\\#2\\%
-      1%
-    \else
-      0%
-    \fi
-  \else
-    0%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Recursive calculation}
-%
-%    \begin{macro}{\BIC at PowRec}
-%\begin{quote}
-%\begin{verbatim}
-%Pow(x, y) {
-%  PowRec(x, y, 1)
-%}
-%PowRec(x, y, r) {
-%  if y == 1 then
-%    return r
-%  else
-%    ifodd y then
-%      return PowRec(x*x, y div 2, r*x) % y div 2 = (y-1)/2
-%    else
-%      return PowRec(x*x, y div 2, r)
-%    fi
-%  fi
-%}
-%\end{verbatim}
-%\end{quote}
-%    |#1|: $x$ (basis)\\
-%    |#2#3|: $y$ (power)\\
-%    |#4|: $r$ (result)
-%    \begin{macrocode}
-\def\BIC at PowRec#1!#2#3!#4!{%
-  \ifcase\ifx#21\ifx\\#3\\0 \else1 \fi\else1 \fi % y = 1
-    \ifnum\BIC at PosCmp#1!#4!=1 % x > r
-      \BIC at AfterFiFi{%
-        \BIC at ProcessMul0!#1!#4!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessMul0!#4!#1!%
-      }%
-    \fi
-  \or
-    \ifcase\BIC at ModTwo#2#3! % even(y)
-      \BIC at AfterFiFi{%
-        \expandafter\BIC@@PowRec\romannumeral0%
-        \BIC@@Shr#2#3!%
-        !#1!#4!%
-      }%
-    \or % odd(y)
-      \ifnum\BIC at PosCmp#1!#4!=1 % x > r
-        \BIC at AfterFiFiFi{%
-          \expandafter\BIC@@@PowRec\romannumeral0%
-          \BIC at ProcessMul0!#1!#4!%
-          !#1!#2#3!%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \expandafter\BIC@@@PowRec\romannumeral0%
-          \BIC at ProcessMul0!#1!#4!%
-          !#1!#2#3!%
-        }%
-      \fi
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-? \else\BigIntCalcError:ThisCannotHappen%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@PowRec}
-%    |#1|: $y/2$\\
-%    |#2|: $x$\\
-%    |#3|: new $r$ ($r$ or $r*x$)
-%    \begin{macrocode}
-\def\BIC@@PowRec#1!#2!#3!{%
-  \expandafter\BIC at PowRec\romannumeral0%
-  \BIC at ProcessMul0!#2!#2!%
-  !#1!#3!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@@PowRec}
-%    |#1|: $r*x$
-%    |#2|: $x$
-%    |#3|: $y$
-%    \begin{macrocode}
-\def\BIC@@@PowRec#1!#2!#3!{%
-  \expandafter\BIC@@PowRec\romannumeral0%
-  \BIC@@Shr#3!%
-  !#2!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Div}}
-%
-%    \begin{macro}{\bigintcalcDiv}
-%    |#1|: $x$\\
-%    |#2|: $y$ (divisor)
-%    \begin{macrocode}
-\def\bigintcalcDiv#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Div
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Div}
-%    |#1|: $x$\\
-%    |#2|: $y$
-%    \begin{macrocode}
-\def\BIC at Div#1!#2{%
-  \expandafter\expandafter\expandafter\BIC at DivSwitchSign
-  \bigintcalcNum{#2}!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BigIntCalcDiv}
-%    \begin{macrocode}
-\def\BigIntCalcDiv#1!#2!{%
-  \romannumeral0%
-  \BIC at DivSwitchSign#2!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivSwitchSign}
-%    Decision table for \cs{BIC at DivSwitchSign}.
-%    \begin{quote}
-%    \begin{tabular}{@{}|l|l|l|@{}}
-%    \hline
-%    $y=0$ & \multicolumn{1}{l}{} & DivisionByZero\\
-%    \hline
-%    $y>0$ & $x=0$ & $0$\\
-%    \cline{2-3}
-%          & $x>0$ & DivSwitch$(+,x,y)$\\
-%    \cline{2-3}
-%          & $x<0$ & DivSwitch$(-,-x,y)$\\
-%    \hline
-%    $y<0$ & $x=0$ & $0$\\
-%    \cline{2-3}
-%          & $x>0$ & DivSwitch$(-,x,-y)$\\
-%    \cline{2-3}
-%          & $x<0$ & DivSwitch$(+,-x,-y)$\\
-%    \hline
-%    \end{tabular}
-%    \end{quote}
-%    |#1|: $y$ (divisor)\\
-%    |#2|: $x$
-%    \begin{macrocode}
-\def\BIC at DivSwitchSign#1#2!#3#4!{%
-  \ifcase\BIC at Sgn#1#2! % y = 0
-    \BIC at AfterFi{ 0\BigIntCalcError:DivisionByZero}%
-  \or % y > 0
-    \ifcase\BIC at Sgn#3#4! % x = 0
-      \BIC at AfterFiFi{ 0}%
-    \or % x > 0
-      \BIC at AfterFiFi{%
-        \BIC at DivSwitch{}#3#4!#1#2!%
-      }%
-    \else % x < 0
-      \BIC at AfterFiFi{%
-        \BIC at DivSwitch-#4!#1#2!%
-      }%
-    \fi
-  \else % y < 0
-    \ifcase\BIC at Sgn#3#4! % x = 0
-      \BIC at AfterFiFi{ 0}%
-    \or % x > 0
-      \BIC at AfterFiFi{%
-        \BIC at DivSwitch-#3#4!#2!%
-      }%
-    \else % x < 0
-      \BIC at AfterFiFi{%
-        \BIC at DivSwitch{}#4!#2!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivSwitch}
-%    Decision table for \cs{BIC at DivSwitch}.
-%    \begin{quote}
-%    \begin{tabular}{@{}|l|l|l|@{}}
-%    \hline
-%    $y=x$ & \multicolumn{1}{l}{} & sign $1$\\
-%    \hline
-%    $y>x$ & \multicolumn{1}{l}{} & $0$\\
-%    \hline
-%    $y<x$ & $y=1$                & sign $x$\\
-%    \cline{2-3}
-%          & $y=2$                & sign Shr$(x)$\\
-%    \cline{2-3}
-%          & $y=4$                & sign Shr(Shr$(x)$)\\
-%    \cline{2-3}
-%          & else                 & sign ProcessDiv$(x,y)$\\
-%    \hline
-%    \end{tabular}
-%    \end{quote}
-%    |#1|: sign\\
-%    |#2|: $x$\\
-%    |#3#4|: $y$ ($y\ne 0$)
-%    \begin{macrocode}
-\def\BIC at DivSwitch#1#2!#3#4!{%
-  \ifcase\BIC at PosCmp#3#4!#2!% y = x
-    \BIC at AfterFi{ #11}%
-  \or % y > x
-    \BIC at AfterFi{ 0}%
-  \else % y < x
-    \ifx\\#1\\%
-    \else
-      \expandafter-\romannumeral0%
-    \fi
-    \ifcase\ifx\\#4\\%
-             \ifx#310 % y = 1
-             \else\ifx#321 % y = 2
-             \else\ifx#342 % y = 4
-             \else3 % y > 2
-             \fi\fi\fi
-           \else
-             3 % y > 2
-           \fi
-      \BIC at AfterFiFi{ #2}% y = 1
-    \or % y = 2
-      \BIC at AfterFiFi{%
-        \BIC@@Shr#2!%
-      }%
-    \or % y = 4
-      \BIC at AfterFiFi{%
-        \expandafter\BIC@@Shr\romannumeral0%
-          \BIC@@Shr#2!!%
-      }%
-    \or % y > 2
-      \BIC at AfterFiFi{%
-        \BIC at DivStartX#2!#3#4!!!%
-      }%
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ProcessDiv}
-%    |#1#2|: $x$\\
-%    |#3#4|: $y$\\
-%    |#5|: collect first digits of $x$\\
-%    |#6|: corresponding digits of $y$
-%    \begin{macrocode}
-\def\BIC at DivStartX#1#2!#3#4!#5!#6!{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-      \BIC at DivStartYii#6#3#4!{#5#1}#2=!%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC at DivStartX#2!#4!#5#1!#6#3!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivStartYii}
-%    |#1|: $y$\\
-%    |#2|: $x$, |=|
-%    \begin{macrocode}
-\def\BIC at DivStartYii#1!{%
-  \expandafter\BIC at DivStartYiv\romannumeral0%
-  \BIC at Shl#1!%
-  !#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivStartYiv}
-%    |#1|: $2y$\\
-%    |#2|: $y$\\
-%    |#3|: $x$, |=|
-%    \begin{macrocode}
-\def\BIC at DivStartYiv#1!{%
-  \expandafter\BIC at DivStartYvi\romannumeral0%
-  \BIC at Shl#1!%
-  !#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivStartYvi}
-%    |#1|: $4y$\\
-%    |#2|: $2y$\\
-%    |#3|: $y$\\
-%    |#4|: $x$, |=|
-%    \begin{macrocode}
-\def\BIC at DivStartYvi#1!#2!{%
-  \expandafter\BIC at DivStartYviii\romannumeral0%
-  \BIC at AddXY#1!#2!!!%
-  !#1!#2!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivStartYviii}
-%    |#1|: $6y$\\
-%    |#2|: $4y$\\
-%    |#3|: $2y$\\
-%    |#4|: $y$\\
-%    |#5|: $x$, |=|
-%    \begin{macrocode}
-\def\BIC at DivStartYviii#1!#2!{%
-  \expandafter\BIC at DivStart\romannumeral0%
-  \BIC at Shl#2!%
-  !#1!#2!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivStart}
-%    |#1|: $8y$\\
-%    |#2|: $6y$\\
-%    |#3|: $4y$\\
-%    |#4|: $2y$\\
-%    |#5|: $y$\\
-%    |#6|: $x$, |=|
-%    \begin{macrocode}
-\def\BIC at DivStart#1!#2!#3!#4!#5!#6!{%
-  \BIC at ProcessDiv#6!!#5!#4!#3!#2!#1!=%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ProcessDiv}
-%    |#1#2#3|: $x$, |=|\\
-%    |#4|: result\\
-%    |#5|: $y$\\
-%    |#6|: $2y$\\
-%    |#7|: $4y$\\
-%    |#8|: $6y$\\
-%    |#9|: $8y$
-%    \begin{macrocode}
-\def\BIC at ProcessDiv#1#2#3!#4!#5!{%
-  \ifcase\BIC at PosCmp#5!#1!% y = #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#41}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessDiv#2#3!#41!#5!%
-      }%
-    \fi
-  \or % y > #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#40}}%
-    \else
-      \ifx\\#4\\%
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessDiv{#1#2}#3!!#5!%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessDiv{#1#2}#3!#40!#5!%
-        }%
-      \fi
-    \fi
-  \else % y < #1
-    \BIC at AfterFi{%
-      \BIC@@ProcessDiv{#1}#2#3!#4!#5!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivCleanup}
-%    |#1|: result\\
-%    |#2|: garbage
-%    \begin{macrocode}
-\def\BIC at DivCleanup#1#2={ #1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC@@ProcessDiv}
-%    \begin{macrocode}
-\def\BIC@@ProcessDiv#1#2#3!#4!#5!#6!#7!{%
-  \ifcase\BIC at PosCmp#7!#1!% 4y = #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#44}}%
-    \else
-     \BIC at AfterFiFi{%
-       \BIC at ProcessDiv#2#3!#44!#5!#6!#7!%
-     }%
-    \fi
-  \or % 4y > #1
-    \ifcase\BIC at PosCmp#6!#1!% 2y = #1
-      \ifx#2=%
-        \BIC at AfterFiFiFi{\BIC at DivCleanup{#42}}%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessDiv#2#3!#42!#5!#6!#7!%
-        }%
-      \fi
-    \or % 2y > #1
-      \ifx#2=%
-        \BIC at AfterFiFiFi{\BIC at DivCleanup{#41}}%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at DivSub#1!#5!#2#3!#41!#5!#6!#7!%
-        }%
-      \fi
-    \else % 2y < #1
-      \BIC at AfterFiFi{%
-        \expandafter\BIC at ProcessDivII\romannumeral0%
-        \BIC at SubXY#1!#6!!!%
-        !#2#3!#4!#5!23%
-        #6!#7!%
-      }%
-    \fi
-  \else % 4y < #1
-    \BIC at AfterFi{%
-      \BIC@@@ProcessDiv{#1}#2#3!#4!#5!#6!#7!%
-    }%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at DivSub}
-%    Next token group: |#1|-|#2| and next digit |#3|.
-%    \begin{macrocode}
-\def\BIC at DivSub#1!#2!#3{%
-  \expandafter\BIC at ProcessDiv\expandafter{%
-    \romannumeral0%
-    \BIC at SubXY#1!#2!!!%
-    #3%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ProcessDivII}
-%    |#1|: $x'-2y$\\
-%    |#2#3|: remaining $x$, |=|\\
-%    |#4|: result\\
-%    |#5|: $y$\\
-%    |#6|: first possible result digit\\
-%    |#7|: second possible result digit
-%    \begin{macrocode}
-\def\BIC at ProcessDivII#1!#2#3!#4!#5!#6#7{%
-  \ifcase\BIC at PosCmp#5!#1!% y = #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#4#7}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessDiv#2#3!#4#7!#5!%
-      }%
-    \fi
-  \or % y > #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#4#6}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessDiv{#1#2}#3!#4#6!#5!%
-      }%
-    \fi
-  \else % y < #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#4#7}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at DivSub#1!#5!#2#3!#4#7!#5!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ProcessDivIV}
-%    |#1#2#3|: $x$, |=|, $x>4y$\\
-%    |#4|: result\\
-%    |#5|: $y$\\
-%    |#6|: $2y$\\
-%    |#7|: $4y$\\
-%    |#8|: $6y$\\
-%    |#9|: $8y$
-%    \begin{macrocode}
-\def\BIC@@@ProcessDiv#1#2#3!#4!#5!#6!#7!#8!#9!{%
-  \ifcase\BIC at PosCmp#8!#1!% 6y = #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#46}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessDiv#2#3!#46!#5!#6!#7!#8!#9!%
-      }%
-    \fi
-  \or % 6y > #1
-    \BIC at AfterFi{%
-      \expandafter\BIC at ProcessDivII\romannumeral0%
-      \BIC at SubXY#1!#7!!!%
-      !#2#3!#4!#5!45%
-      #6!#7!#8!#9!%
-    }%
-  \else % 6y < #1
-    \ifcase\BIC at PosCmp#9!#1!% 8y = #1
-      \ifx#2=%
-        \BIC at AfterFiFiFi{\BIC at DivCleanup{#48}}%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessDiv#2#3!#48!#5!#6!#7!#8!#9!%
-        }%
-      \fi
-    \or % 8y > #1
-      \BIC at AfterFiFi{%
-        \expandafter\BIC at ProcessDivII\romannumeral0%
-        \BIC at SubXY#1!#8!!!%
-        !#2#3!#4!#5!67%
-        #6!#7!#8!#9!%
-      }%
-    \else % 8y < #1
-      \BIC at AfterFiFi{%
-        \expandafter\BIC at ProcessDivII\romannumeral0%
-        \BIC at SubXY#1!#9!!!%
-        !#2#3!#4!#5!89%
-        #6!#7!#8!#9!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\op{Mod}}
-%
-%    \begin{macro}{\bigintcalcMod}
-%    |#1|: $x$\\
-%    |#2|: $y$
-%    \begin{macrocode}
-\def\bigintcalcMod#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Mod
-  \bigintcalcNum{#1}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at Mod}
-%    |#1|: $x$\\
-%    |#2|: $y$
-%    \begin{macrocode}
-\def\BIC at Mod#1!#2{%
-  \expandafter\expandafter\expandafter\BIC at ModSwitchSign
-  \bigintcalcNum{#2}!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BigIntCalcMod}
-%    \begin{macrocode}
-\def\BigIntCalcMod#1!#2!{%
-  \romannumeral0%
-  \BIC at ModSwitchSign#2!#1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ModSwitchSign}
-%    Decision table for \cs{BIC at ModSwitchSign}.
-%    \begin{quote}
-%    \begin{tabular}{@{}|l|l|l|@{}}
-%    \hline
-%    $y=0$ & \multicolumn{1}{l}{} & DivisionByZero\\
-%    \hline
-%    $y>0$ & $x=0$ & $0$\\
-%    \cline{2-3}
-%          & else  & ModSwitch$(+,x,y)$\\
-%    \hline
-%    $y<0$ & \multicolumn{1}{l}{} & ModSwitch$(-,-x,-y)$\\
-%    \hline
-%    \end{tabular}
-%    \end{quote}
-%    |#1#2|: $y$\\
-%    |#3#4|: $x$
-%    \begin{macrocode}
-\def\BIC at ModSwitchSign#1#2!#3#4!{%
-  \ifcase\ifx\\#2\\%
-           \ifx#100 % y = 0
-           \else1 % y > 0
-           \fi
-          \else
-            \ifx#1-2 % y < 0
-            \else1 % y > 0
-            \fi
-          \fi
-    \BIC at AfterFi{ 0\BigIntCalcError:DivisionByZero}%
-  \or % y > 0
-    \ifcase\ifx\\#4\\\ifx#300 \else1 \fi\else1 \fi % x = 0
-      \BIC at AfterFiFi{ 0}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ModSwitch{}#3#4!#1#2!%
-      }%
-    \fi
-  \else % y < 0
-    \ifcase\ifx\\#4\\%
-             \ifx#300 % x = 0
-             \else1 % x > 0
-             \fi
-           \else
-             \ifx#3-2 % x < 0
-             \else1 % x > 0
-             \fi
-           \fi
-      \BIC at AfterFiFi{ 0}%
-    \or % x > 0
-      \BIC at AfterFiFi{%
-        \BIC at ModSwitch--#3#4!#2!%
-      }%
-    \else % x < 0
-      \BIC at AfterFiFi{%
-        \BIC at ModSwitch-#4!#2!%
-      }%
-    \fi
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ModSwitch}
-%    Decision table for \cs{BIC at ModSwitch}.
-%    \begin{quote}
-%    \begin{tabular}{@{}|l|l|l|@{}}
-%    \hline
-%    $y=1$ & \multicolumn{1}{l}{} & $0$\\
-%    \hline
-%    $y=2$ & ifodd$(x)$ & sign $1$\\
-%    \cline{2-3}
-%          & else       & $0$\\
-%    \hline
-%    $y>2$ & $x<0$      &
-%        $z\leftarrow x-(x/y)*y;\quad (z<0)\mathbin{?}z+y\mathbin{:}z$\\
-%    \cline{2-3}
-%          & $x>0$      & $x - (x/y) * y$\\
-%    \hline
-%    \end{tabular}
-%    \end{quote}
-%    |#1|: sign\\
-%    |#2#3|: $x$\\
-%    |#4#5|: $y$
-%    \begin{macrocode}
-\def\BIC at ModSwitch#1#2#3!#4#5!{%
-  \ifcase\ifx\\#5\\%
-           \ifx#410 % y = 1
-           \else\ifx#421 % y = 2
-           \else2 % y > 2
-           \fi\fi
-         \else2 % y > 2
-         \fi
-    \BIC at AfterFi{ 0}% y = 1
-  \or % y = 2
-    \ifcase\BIC at ModTwo#2#3! % even(x)
-      \BIC at AfterFiFi{ 0}%
-    \or % odd(x)
-      \BIC at AfterFiFi{ #11}%
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-  \or % y > 2
-    \ifx\\#1\\%
-    \else
-      \expandafter\BIC at Space\romannumeral0%
-      \expandafter\BIC at ModMinus\romannumeral0%
-    \fi
-    \ifx#2-% x < 0
-      \BIC at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BIC at ModX
-        \bigintcalcSub{#2#3}{%
-          \bigintcalcMul{#4#5}{\bigintcalcDiv{#2#3}{#4#5}}%
-        }!#4#5!%
-      }%
-    \else % x > 0
-      \BIC at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BIC at Space
-        \bigintcalcSub{#2#3}{%
-          \bigintcalcMul{#4#5}{\bigintcalcDiv{#2#3}{#4#5}}%
-        }%
-      }%
-    \fi
-? \else\BigIntCalcError:ThisCannotHappen%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ModMinus}
-%    \begin{macrocode}
-\def\BIC at ModMinus#1{%
-  \ifx#10%
-    \BIC at AfterFi{ 0}%
-  \else
-    \BIC at AfterFi{ -#1}%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\BIC at ModX}
-%    |#1#2|: $z$\\
-%    |#3|: $x$
-%    \begin{macrocode}
-\def\BIC at ModX#1#2!#3!{%
-  \ifx#1-% z < 0
-    \BIC at AfterFi{%
-      \expandafter\BIC at Space\romannumeral0%
-      \BIC at SubXY#3!#2!!!%
-    }%
-  \else % z >= 0
-    \BIC at AfterFi{ #1#2}%
-  \BIC at Fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\BIC at AtEnd%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{bigintcalc}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/bigintcalc.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/bigintcalc.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 bigintcalc.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@{}}
-%   bigintcalc.sty & tex/generic/oberdiek/bigintcalc.sty\\
-%   bigintcalc.pdf & doc/latex/oberdiek/bigintcalc.pdf\\
-%   bigintcalc.dtx & source/latex/oberdiek/bigintcalc.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{bigintcalc.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 bigintcalc.dtx
-%makeindex -s gind.ist bigintcalc.idx
-%pdflatex bigintcalc.dtx
-%makeindex -s gind.ist bigintcalc.idx
-%pdflatex bigintcalc.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2007/09/27 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/11/11 v1.1}
-%   \item
-%     Use of package \xpackage{pdftexcmds} for \LuaTeX\ support.
-%   \end{Version}
-%   \begin{Version}{2011/01/30 v1.2}
-%   \item
-%     Already loaded package files are not input in \hologo{plainTeX}.
-%   \end{Version}
-%   \begin{Version}{2012/04/08 v1.3}
-%   \item
-%     Fix: \xpackage{pdftexcmds} wasn't loaded in case of \hologo{LaTeX}.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.4}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,730 +0,0 @@
-% \iffalse meta-comment
-%
-% File: etexcmds.dtx
-% Version: 2016/05/16 v1.6
-% Info: Avoid name clashes with e-TeX commands
-%
-% 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 etexcmds.dtx
-% and the derived files
-%    etexcmds.sty, etexcmds.pdf, etexcmds.ins, etexcmds.drv,
-%    etexcmds-test1.tex, etexcmds-test2.tex, etexcmds-test3.tex,
-%    etexcmds-test4.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/etexcmds.dtx
-%    CTAN:macros/latex/contrib/oberdiek/etexcmds.pdf
-%
-% Unpacking:
-%    (a) If etexcmds.ins is present:
-%           tex etexcmds.ins
-%    (b) Without etexcmds.ins:
-%           tex etexcmds.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{etexcmds.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If etexcmds.drv is present:
-%           latex etexcmds.drv
-%    (b) Without etexcmds.drv:
-%           latex etexcmds.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 etexcmds.dtx
-%       makeindex -s gind.ist etexcmds.idx
-%       pdflatex etexcmds.dtx
-%       makeindex -s gind.ist etexcmds.idx
-%       pdflatex etexcmds.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/etexcmds.sty
-%    TDS:doc/latex/oberdiek/etexcmds.pdf
-%    TDS:source/latex/oberdiek/etexcmds.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: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: etexcmds
-Version: 2016/05/16 v1.6
-
-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 etexcmds.dtx
-and the derived files
-   etexcmds.sty, etexcmds.pdf, etexcmds.ins, etexcmds.drv,
-   etexcmds-test1.tex, etexcmds-test2.tex, etexcmds-test3.tex,
-   etexcmds-test4.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{etexcmds.ins}{\from{etexcmds.dtx}{install}}%
-  \file{etexcmds.drv}{\from{etexcmds.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{etexcmds.sty}{\from{etexcmds.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{etexcmds-test1.tex}{\from{etexcmds.dtx}{test1}}%
-%  \file{etexcmds-test2.tex}{\from{etexcmds.dtx}{test2}}%
-%  \file{etexcmds-test3.tex}{\from{etexcmds.dtx}{test3}}%
-%  \file{etexcmds-test4.tex}{\from{etexcmds.dtx}{test4}}%
-}
-
-\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{*     etexcmds.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `etexcmds.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{etexcmds.drv}%
-  [2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{etexcmds.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{etexcmds.drv}
-%
-% \title{The \xpackage{etexcmds} package}
-% \date{2016/05/16 v1.6}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% New primitive commands are introduced in \eTeX. Sometimes the
-% names collide with existing macros. This package solves this
-% name clashes by adding a prefix to \eTeX's commands. For example,
-% \eTeX's \cs{unexpanded} is provided as \cs{etex at unexpanded}.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{\cs{unexpanded}}
-%
-% \begin{declcs}{etex at unexpanded}
-% \end{declcs}
-% New primitive commands are introduced in \eTeX. Unhappily
-% \cs{unexpanded} collides with a macro in Con\TeX t with the
-% same name. This also affects the \LaTeX\ world. For example,
-% package \xpackage{m-ch-de} loads \xfile{base/syst-gen.tex}
-% that redefines \cs{unexpanded}. Thus this package defines
-% \cs{etex at unexpanded} to get rid of the name clash.
-%
-% \begin{declcs}{ifetex at unexpanded}
-% \end{declcs}
-% Package \xpackage{etexcmds} can be loaded even if \eTeX\ is not
-% present or \cs{unexpanded} cannot be found. The switch
-% \cs{ifetex at unexpanded} tells whether it is safe to use
-% \cs{etex at unexpanded}.
-% The switch is true (\cs{iftrue}) only if the
-% primitive \cs{unexpanded} has been found and \cs{etex at unexpanded}
-% is available.
-%
-% \subsection{\cs{expanded}}
-%
-% Probably \cs{expanded} will be added in \pdfTeX\ 1.50 and
-% \LuaTeX. Again Con\TeX t defines this as macro.
-% Therefore version 1.2 of this packages also provides
-% \cs{etex at expanded} and \cs{ifetex at unexpanded}.
-%
-% \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 etexcmds.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{etexcmds}{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 etexcmds.sty\endcsname
-\ProvidesPackage{etexcmds}%
-  [2016/05/16 v1.6 Avoid name clashes with e-TeX commands (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 etexcmds 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\etexcmds at AtEnd{%
-    \etexcmds at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\etexcmds at AtEnd{%
-  \etexcmds at AtEnd
-  \escapechar\the\escapechar\relax
-  \noexpand\endinput
-}
-\escapechar=92 % backslash
-%    \end{macrocode}
-%
-% \subsection{Provide \cs{newif}}
-%
-%    \begin{macro}{\etexcmds at newif}
-%    \begin{macrocode}
-\def\etexcmds at newif#1{%
-  \expandafter\edef\csname etex@#1false\endcsname{%
-    \let
-    \expandafter\noexpand\csname ifetex@#1\endcsname
-    \noexpand\iffalse
-  }%
-  \expandafter\edef\csname etex@#1true\endcsname{%
-    \let
-    \expandafter\noexpand\csname ifetex@#1\endcsname
-    \noexpand\iftrue
-  }%
-  \csname etex@#1false\endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Load package \xpackage{infwarerr}}
-%
-%    \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{ifluatex}[2010/03/01]%
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{ifluatex}[2010/03/01]%
-\fi
-%    \end{macrocode}
-%
-% \subsection{\cs{unexpanded}}
-%
-%    \begin{macro}{\ifetex at unexpanded}
-%    \begin{macrocode}
-\etexcmds at newif{unexpanded}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\etex at unexpanded}
-%    \begin{macrocode}
-\begingroup
-\edef\x{\string\unexpanded}%
-\edef\y{\meaning\unexpanded}%
-\ifx\x\y
-  \endgroup
-  \let\etex at unexpanded\unexpanded
-  \etex at unexpandedtrue
-\else
-  \edef\y{\meaning\normalunexpanded}%
-  \ifx\x\y
-    \endgroup
-    \let\etex at unexpanded\normalunexpanded
-    \etex at unexpandedtrue
-  \else
-    \edef\y{\meaning\@@unexpanded}%
-    \ifx\x\y
-      \endgroup
-      \let\etex at unexpanded\@@unexpanded
-      \etex at unexpandedtrue
-    \else
-      \ifluatex
-        \ifnum\luatexversion<36 %
-        \else
-          \begingroup
-            \directlua{%
-              tex.enableprimitives('etex@',{'unexpanded'})%
-            }%
-            \global\let\etex at unexpanded\etex at unexpanded
-          \endgroup
-        \fi
-      \fi
-      \edef\y{\meaning\etex at unexpanded}%
-      \ifx\x\y
-        \endgroup
-        \etex at unexpandedtrue
-      \else
-        \endgroup
-        \@PackageInfoNoLine{etexcmds}{%
-          Could not find \string\unexpanded.\MessageBreak
-          That can mean that you are not using e-TeX or%
-          \MessageBreak
-          that some package has redefined \string\unexpanded.%
-          \MessageBreak
-          In the latter case, load this package earlier%
-        }%
-        \etex at unexpandedfalse
-      \fi
-    \fi
-  \fi
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\cs{expanded}}
-%
-%    \begin{macro}{\ifetex at expanded}
-%    \begin{macrocode}
-\etexcmds at newif{expanded}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\etex at expanded}
-%    \begin{macrocode}
-\begingroup
-\edef\x{\string\expanded}%
-\edef\y{\meaning\expanded}%
-\ifx\x\y
-  \endgroup
-  \let\etex at expanded\expanded
-  \etex at expandedtrue
-\else
-  \edef\y{\meaning\normalexpanded}%
-  \ifx\x\y
-    \endgroup
-    \let\etex at expanded\normalexpanded
-    \etex at expandedtrue
-  \else
-    \edef\y{\meaning\@@expanded}%
-    \ifx\x\y
-      \endgroup
-      \let\etex at expanded\@@expanded
-      \etex at expandedtrue
-    \else
-      \ifluatex
-        \ifnum\luatexversion<36 %
-        \else
-          \begingroup
-            \directlua{%
-              tex.enableprimitives('etex@',{'expanded'})%
-            }%
-            \global\let\etex at expanded\etex at expanded
-          \endgroup
-        \fi
-      \fi
-      \edef\y{\meaning\etex at expanded}%
-      \ifx\x\y
-        \endgroup
-        \etex at expandedtrue
-      \else
-        \endgroup
-        \@PackageInfoNoLine{etexcmds}{%
-          Could not find \string\expanded.\MessageBreak
-          That can mean that you are not using pdfTeX 1.50 or%
-          \MessageBreak
-          that some package has redefined \string\expanded.%
-          \MessageBreak
-          In the latter case, load this package earlier%
-        }%
-        \etex at expandedfalse
-      \fi
-    \fi
-  \fi
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\etexcmds at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{etexcmds}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/etexcmds.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/etexcmds.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 etexcmds.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@{}}
-%   etexcmds.sty & tex/generic/oberdiek/etexcmds.sty\\
-%   etexcmds.pdf & doc/latex/oberdiek/etexcmds.pdf\\
-%   etexcmds.dtx & source/latex/oberdiek/etexcmds.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{etexcmds.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 etexcmds.dtx
-%makeindex -s gind.ist etexcmds.idx
-%pdflatex etexcmds.dtx
-%makeindex -s gind.ist etexcmds.idx
-%pdflatex etexcmds.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2007/05/06 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/09/09 v1.1}
-%   \item
-%     Documentation for \cs{ifetex at unexpanded} added.
-%   \item
-%     Catcode section rewritten.
-%   \end{Version}
-%   \begin{Version}{2007/12/12 v1.2}
-%   \item
-%     \cs{etex at expanded} added.
-%   \end{Version}
-%   \begin{Version}{2010/01/28 v1.3}
-%   \item
-%     Compatibility to \hologo{iniTeX} added.
-%   \end{Version}
-%   \begin{Version}{2011/01/30 v1.4}
-%   \item
-%     Already loaded package files are not input in \hologo{plainTeX}.
-%   \end{Version}
-%   \begin{Version}{2011/02/16 v1.5}
-%   \item
-%     Using \hologo{LuaTeX}'s \texttt{tex.enableprimitives} if available.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.6}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,811 +0,0 @@
-% \iffalse meta-comment
-%
-% File: gettitlestring.dtx
-% Version: 2016/05/16 v1.5
-% Info: Cleanup title references
-%
-% Copyright (C)
-%    2009, 2010 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 gettitlestring.dtx
-% and the derived files
-%    gettitlestring.sty, gettitlestring.pdf, gettitlestring.ins,
-%    gettitlestring.drv, gettitlestring-test1.tex,
-%    gettitlestring-test2.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/gettitlestring.dtx
-%    CTAN:macros/latex/contrib/oberdiek/gettitlestring.pdf
-%
-% Unpacking:
-%    (a) If gettitlestring.ins is present:
-%           tex gettitlestring.ins
-%    (b) Without gettitlestring.ins:
-%           tex gettitlestring.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{gettitlestring.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If gettitlestring.drv is present:
-%           latex gettitlestring.drv
-%    (b) Without gettitlestring.drv:
-%           latex gettitlestring.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 gettitlestring.dtx
-%       makeindex -s gind.ist gettitlestring.idx
-%       pdflatex gettitlestring.dtx
-%       makeindex -s gind.ist gettitlestring.idx
-%       pdflatex gettitlestring.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/gettitlestring.sty
-%    TDS:doc/latex/oberdiek/gettitlestring.pdf
-%    TDS:source/latex/oberdiek/gettitlestring.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: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: gettitlestring
-Version: 2016/05/16 v1.5
-
-Copyright (C)
-   2009, 2010 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 gettitlestring.dtx
-and the derived files
-   gettitlestring.sty, gettitlestring.pdf, gettitlestring.ins,
-   gettitlestring.drv, gettitlestring-test1.tex,
-   gettitlestring-test2.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{gettitlestring.ins}{\from{gettitlestring.dtx}{install}}%
-  \file{gettitlestring.drv}{\from{gettitlestring.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{gettitlestring.sty}{\from{gettitlestring.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{gettitlestring-test1.tex}{\from{gettitlestring.dtx}{test1}}%
-%  \file{gettitlestring-test2.tex}{\from{gettitlestring.dtx}{test2}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* file into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     gettitlestring.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `gettitlestring.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{gettitlestring.drv}%
-  [2016/05/16 v1.5 Cleanup title references (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{gettitlestring.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{gettitlestring.drv}
-%
-% \title{The \xpackage{gettitlestring} package}
-% \date{2016/05/16 v1.5}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% The \LaTeX\ package addresses packages that are dealing with
-% references to titles (\cs{section}, \cs{caption}, \dots).
-% The package tries to remove \cs{label} and other
-% commands from title strings.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Macros}
-%
-% \begin{declcs}{GetTitleStringSetup} \M{key value list}
-% \end{declcs}
-% The options are given as comma separated key value pairs.
-% See section \ref{sec:options}.
-%
-% \begin{declcs}{GetTitleString} \M{text}\\
-% \cs{GetTitleStringExpand} \M{text}\\
-% \cs{GetTitleStringNonExpand} \M{text}
-% \end{declcs}
-% Macro \cs{GetTitleString} tries to remove unwanted stuff from \meta{text}
-% the result is stored in Macro \cs{GetTitleStringResult}.
-% Two methods are available:
-% \begin{description}
-% \item[\cs{GetTitleStringExpand}:]
-% The \meta{text} is expanded in a context where the unwanted
-% macros are redefined to remove themselves.
-% This is the method used in packages \xpackage{titleref}~\cite{titleref},
-% \xpackage{zref-titleref}~\cite{zref}
-% or class \xclass{memoir}~\cite{memoir}.
-% \cs{protect} is supported, but fragile material might break.
-% \item[\cs{GetTitleStringNonExpand}:]
-% The \meta{text} is not expanded. Thus the removal of unwanted
-% material is more difficult. It is especially removed at the
-% start of the \meta{text} and spaces are removed from the end.
-% Currently only \cs{label} is removed in the whole string,
-% if it is not hidden inside curly braces or part of macro
-% definitions. Thus the removal of unwanted stuff might not be
-% complete, but fragile material will not break.
-% (But the result string can break at a later time, of course).
-% \end{description}
-% Option \xoption{expand} controls which method is used by
-% macro \cs{GetTitleString}.
-%
-% \begin{declcs}{GetTitleStringDisableCommands} \M{code}
-% \end{declcs}
-% The \meta{code} is called right before the
-% text is expanded in \cs{GetTitleStringExpand}.
-% Additional definitions can be given for macros that
-% should be removed.
-% Keep in mind that expansion means that the definitions
-% must work in expandable context. Macros like
-% \cs{@ifstar} or \cs{@ifnextchar} or optional arguments
-% will not work. The macro names in \meta{code} may contain
-% the at sign |@|, it has catcode 11 (letter).
-%
-% \subsection{Options}\label{sec:options}
-%
-% \begin{description}
-% \item[\xoption{expand}:] Boolean option, takes values |true| or |false|.
-% No value means |true|. The option specifies the method to remove
-% unwanted stuff from the title string, see below.
-% \end{description}
-% Options can be set at the following places:
-% \begin{itemize}
-% \item \cs{usepackage}
-% \item Configuration file \xfile{gettitlestring.cfg}.
-% \item \cs{GetTitleStringSetup}
-% \end{itemize}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%    \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 gettitlestring.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{gettitlestring}{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 gettitlestring.sty\endcsname
-\ProvidesPackage{gettitlestring}%
-  [2016/05/16 v1.5 Cleanup title references (HO)]%
-%    \end{macrocode}
-%
-%    \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 GTS 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\GTS at AtEnd{%
-    \GTS at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{42}{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}% ]
-\edef\GTS at AtEnd{\GTS at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{Options}
-%
-%    \begin{macrocode}
-\RequirePackage{kvoptions}[2009/07/17]
-\SetupKeyvalOptions{%
-  family=gettitlestring,%
-  prefix=GTS@%
-}
-\newcommand*{\GetTitleStringSetup}{%
-  \setkeys{gettitlestring}%
-}
-\DeclareBoolOption{expand}
-\InputIfFileExists{gettitlestring.cfg}{}{}
-\ProcessKeyvalOptions*\relax
-%    \end{macrocode}
-%
-% \subsection{\cs{GetTitleString}}
-%
-%    \begin{macro}{\GetTitleString}
-%    \begin{macrocode}
-\newcommand*{\GetTitleString}{%
-  \ifGTS at expand
-    \expandafter\GetTitleStringExpand
-  \else
-    \expandafter\GetTitleStringNonExpand
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\GetTitleStringExpand}
-%    \begin{macrocode}
-\newcommand{\GetTitleStringExpand}[1]{%
-  \def\GetTitleStringResult{#1}%
-  \begingroup
-    \GTS at DisablePredefinedCmds
-    \GTS at DisableHook
-    \edef\x{\endgroup
-      \noexpand\def\noexpand\GetTitleStringResult{%
-        \GetTitleStringResult
-      }%
-    }%
-  \x
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\GetTitleString}
-%    \begin{macrocode}
-\newcommand{\GetTitleStringNonExpand}[1]{%
-  \def\GetTitleStringResult{#1}%
-  \global\let\GTS at GlobalString\GetTitleStringResult
-  \begingroup
-    \GTS at RemoveLeft
-    \GTS at RemoveRight
-  \endgroup
-  \let\GetTitleStringResult\GTS at GlobalString
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Expand method}
-%
-%    \begin{macro}{\GTS at DisablePredefinedCmds}
-%    \begin{macrocode}
-\def\GTS at DisablePredefinedCmds{%
-  \let\label\@gobble
-  \let\zlabel\@gobble
-  \let\zref at label\@gobble
-  \let\zref at labelbylist\@gobbletwo
-  \let\zref at labelbyprops\@gobbletwo
-  \let\index\@gobble
-  \let\glossary\@gobble
-  \let\markboth\@gobbletwo
-  \let\@mkboth\@gobbletwo
-  \let\markright\@gobble
-  \let\phantomsection\@empty
-  \def\addcontentsline{\expandafter\@gobble\@gobbletwo}%
-  \let\raggedright\@empty
-  \let\raggedleft\@empty
-  \let\centering\@empty
-  \let\protect\@unexpandable at protect
-  \let\enit at format\@empty % package enumitem
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\GTS at DisableHook}
-%    \begin{macrocode}
-\providecommand*{\GTS at DisableHook}{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\GetTitleStringDisableCommands}
-%    \begin{macrocode}
-\def\GetTitleStringDisableCommands{%
-  \begingroup
-    \makeatletter
-    \GTS at DisableCommands
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\GTS at DisableCommands}
-%    \begin{macrocode}
-\long\def\GTS at DisableCommands#1{%
-    \toks0=\expandafter{\GTS at DisableHook}%
-    \toks2={#1}%
-    \xdef\GTS at GlobalString{\the\toks0 \the\toks2}%
-  \endgroup
-  \let\GTS at DisableHook\GTS at GlobalString
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Non-expand method}
-%
-%    \begin{macrocode}
-\def\GTS at RemoveLeft{%
-  \toks@\expandafter\expandafter\expandafter{%
-    \expandafter\GTS at Car\GTS at GlobalString{}{}{}{}\GTS at Nil
-  }%
-  \edef\GTS at Token{\the\toks@}%
-  \GTS at PredefinedLeftCmds
-  \expandafter\futurelet\expandafter\GTS at Token
-  \expandafter\GTS at TestLeftSpace\GTS at GlobalString\GTS at Nil
-  \GTS at End
-}
-\def\GTS at End{}
-\long\def\GTS at TestLeft#1#2{%
-  \def\GTS at temp{#1}%
-  \ifx\GTS at temp\GTS at Token
-    \toks@\expandafter\expandafter\expandafter{%
-      \expandafter#2\GTS at GlobalString\GTS at Nil
-    }%
-    \expandafter\GTS at TestLeftEnd
-  \fi
-}
-\long\def\GTS at TestLeftEnd#1\GTS at End{%
-  \xdef\GTS at GlobalString{\the\toks@}%
-  \GTS at RemoveLeft
-}
-\long\def\GTS at Car#1#2\GTS at Nil{#1}
-\long\def\GTS at Cdr#1#2\GTS at Nil{#2}
-\long\def\GTS at CdrTwo#1#2#3\GTS at Nil{#3}
-\long\def\GTS at CdrThree#1#2#3#4\GTS at Nil{#4}
-\long\def\GTS at CdrFour#1#2#3#4#5\GTS at Nil{#5}
-\long\def\GTS at TestLeftSpace#1\GTS at Nil{%
-  \ifx\GTS at Token\@sptoken
-    \toks@\expandafter{%
-      \romannumeral-0\GTS at GlobalString
-    }%
-    \expandafter\GTS at TestLeftEnd
-  \fi
-}
-%    \end{macrocode}
-%    \begin{macro}{\GTS at PredefinedLeftCmds}
-%    \begin{macrocode}
-\def\GTS at PredefinedLeftCmds{%
-  \GTS at TestLeft\Hy at phantomsection\GTS at Cdr
-  \GTS at TestLeft\Hy at SectionAnchor\GTS at Cdr
-  \GTS at TestLeft\Hy at SectionAnchorHref\GTS at CdrTwo
-  \GTS at TestLeft\label\GTS at CdrTwo
-  \GTS at TestLeft\zlabel\GTS at CdrTwo
-  \GTS at TestLeft\index\GTS at CdrTwo
-  \GTS at TestLeft\glossary\GTS at CdrTwo
-  \GTS at TestLeft\markboth\GTS at CdrThree
-  \GTS at TestLeft\@mkboth\GTS at CdrThree
-  \GTS at TestLeft\addcontentsline\GTS at CdrFour
-  \GTS at TestLeft\enit at format\GTS at Cdr % package enumitem
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\def\GTS at RemoveRight{%
-  \toks@{}%
-  \expandafter\GTS at TestRightLabel\GTS at GlobalString
-      \label{}\GTS at Nil\@nil
-  \GTS at RemoveRightSpace
-}
-\begingroup
-  \def\GTS at temp#1{\endgroup
-    \def\GTS at RemoveRightSpace{%
-      \expandafter\GTS at TestRightSpace\GTS at GlobalString
-          \GTS at Nil#1\GTS at Nil\@nil
-    }%
-  }%
-\GTS at temp{ }
-\def\GTS at TestRightSpace#1 \GTS at Nil#2\@nil{%
-  \ifx\relax#2\relax
-  \else
-    \gdef\GTS at GlobalString{#1}%
-    \expandafter\GTS at RemoveRightSpace
-  \fi
-}
-\def\GTS at TestRightLabel#1\label#2#3\GTS at Nil#4\@nil{%
-  \def\GTS at temp{#3}%
-  \ifx\GTS at temp\@empty
-    \expandafter\gdef\expandafter\GTS at GlobalString\expandafter{%
-      \the\toks@
-      #1%
-    }%
-    \expandafter\@gobble
-  \else
-    \expandafter\@firstofone
-  \fi
-  {%
-    \toks@\expandafter{\the\toks@#1}%
-    \GTS at TestRightLabel#3\GTS at Nil\@nil
-  }%
-}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\GTS at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{gettitlestring}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/gettitlestring.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/gettitlestring.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 gettitlestring.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@{}}
-%   gettitlestring.sty & tex/generic/oberdiek/gettitlestring.sty\\
-%   gettitlestring.pdf & doc/latex/oberdiek/gettitlestring.pdf\\
-%   gettitlestring.dtx & source/latex/oberdiek/gettitlestring.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{gettitlestring.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 gettitlestring.dtx
-%makeindex -s gind.ist gettitlestring.idx
-%pdflatex gettitlestring.dtx
-%makeindex -s gind.ist gettitlestring.idx
-%pdflatex gettitlestring.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-%
-% \bibitem{memoir}
-% Peter Wilson, Lars Madsen:
-% \textit{The Memoir Class};
-% 2009/11/17 v1.61803398c;
-% \CTANpkg{memoir}
-%
-% \bibitem{titleref}
-% Donald Arsenau:
-% \textit{Titleref.sty};
-% 2001/04/05 ver 3.1;
-% \CTANpkg{titleref}
-%
-% \bibitem{zref}
-% Heiko Oberdiek:
-% \textit{The \xpackage{zref} package};
-% 2009/12/08 v2.7;
-% \CTANpkg{zref}
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2009/12/08 v1.0}
-%   \item
-%     The first version.
-%   \end{Version}
-%   \begin{Version}{2009/12/12 v1.1}
-%   \item
-%     Short info shortened.
-%   \end{Version}
-%   \begin{Version}{2009/12/13 v1.2}
-%   \item
-%     Forgotten third argument for \cs{InputIfFileExists} added.
-%   \end{Version}
-%   \begin{Version}{2009/12/18 v1.3}
-%   \item
-%     \cs{Hy at SectionAnchorHref} added for filtering
-%     (hyperref 2009/12/18 v6.79w).
-%   \end{Version}
-%   \begin{Version}{2010/12/03 v1.4}
-%   \item
-%     Support of package \xpackage{enumitem}: removing
-%     \cs{enit at format} from title string (problem report by GL).
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.5}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,1624 +0,0 @@
-% \iffalse meta-comment
-%
-% File: hycolor.dtx
-% Version: 2016/05/16 v1.8
-% Info: Color options for hyperref/bookmark
-%
-% 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 hycolor.dtx
-% and the derived files
-%    hycolor.sty, hycolor.pdf, hycolor.ins, hycolor.drv,
-%    xcolor-patch.sty, hycolor-test1.tex, hycolor-test2.tex,
-%    hycolor-test3.tex, hycolor-test-xcol1.tex,
-%    hycolor-test-xcol2.tex, hycolor-test-xcol3.tex,
-%    hycolor-test-xcol4.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/hycolor.dtx
-%    CTAN:macros/latex/contrib/oberdiek/hycolor.pdf
-%
-% Unpacking:
-%    (a) If hycolor.ins is present:
-%           tex hycolor.ins
-%    (b) Without hycolor.ins:
-%           tex hycolor.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{hycolor.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If hycolor.drv is present:
-%           latex hycolor.drv
-%    (b) Without hycolor.drv:
-%           latex hycolor.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 hycolor.dtx
-%       makeindex -s gind.ist hycolor.idx
-%       pdflatex hycolor.dtx
-%       makeindex -s gind.ist hycolor.idx
-%       pdflatex hycolor.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/hycolor.sty
-%    TDS:tex/latex/oberdiek/xcolor-patch.sty
-%    TDS:doc/latex/oberdiek/hycolor.pdf
-%    TDS:source/latex/oberdiek/hycolor.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: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: hycolor
-Version: 2016/05/16 v1.8
-
-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 hycolor.dtx
-and the derived files
-   hycolor.sty, hycolor.pdf, hycolor.ins, hycolor.drv,
-   xcolor-patch.sty, hycolor-test1.tex, hycolor-test2.tex,
-   hycolor-test3.tex, hycolor-test-xcol1.tex,
-   hycolor-test-xcol2.tex, hycolor-test-xcol3.tex,
-   hycolor-test-xcol4.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{hycolor.ins}{\from{hycolor.dtx}{install}}%
-  \file{hycolor.drv}{\from{hycolor.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{hycolor.sty}{\from{hycolor.dtx}{package}}%
-  \file{xcolor-patch.sty}{\from{hycolor.dtx}{xcolor}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{hycolor-test1.tex}{\from{hycolor.dtx}{test,test1}}%
-%  \file{hycolor-test2.tex}{\from{hycolor.dtx}{test,test2}}%
-%  \file{hycolor-test3.tex}{\from{hycolor.dtx}{test,test3}}%
-%  \file{hycolor-test-xcol1.tex}{\from{hycolor.dtx}{test-xcolor,xcol1}}%
-%  \file{hycolor-test-xcol2.tex}{\from{hycolor.dtx}{test-xcolor,xcol2}}%
-%  \file{hycolor-test-xcol3.tex}{\from{hycolor.dtx}{test-xcolor,xcol3}}%
-%  \file{hycolor-test-xcol4.tex}{\from{hycolor.dtx}{test-xcolor-fbox}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{*     hycolor.sty, xcolor-patch.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `hycolor.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{hycolor.drv}%
-  [2016/05/16 v1.8 Color options for hyperref/bookmark (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\usepackage[ruled]{algorithm2e}
-
-\makeatletter
-\newcommand*{\makedefaultH}[1]{%
-  \expandafter\edef\csname #1\endcsname{%
-      \noexpand\@protected at testopt
-      \expandafter\noexpand\csname#1\endcsname
-      \expandafter\noexpand\csname
-          \expandafter\string\csname#1\endcsname\endcsname
-      {H}%
-  }%
-}
-\makeatother
-\makedefaultH{algorithm}
-\makedefaultH{procedure}
-\makedefaultH{function}
-
-\SetKwInput{KwParam}{Param}
-\newcommand*{\Param}[2]{%
-  \KwParam{\ArgSty{#1} (#2)}%
-}
-\newcommand*{\Dat}[1]{%
-  \texttt{\upshape#1}%
-}
-\newcommand*{\Var}[1]{%
-  \ArgSty{#1}%
-}
-\newcommand*{\Gets}{%
-  \ensuremath{\leftarrow}%
-  \ %
-}
-
-\makeatletter
-\newcommand*{\bs}{\texttt{\@backslashchar}}
-\makeatother
-\begin{document}
-  \DocInput{hycolor.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{hycolor.drv}
-%
-% \title{The \xpackage{hycolor} package}
-% \date{2016/05/16 v1.8}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% Package \xpackage{hycolor} implements the color option stuff that
-% is used by packages \xpackage{hyperref} and \xpackage{bookmark}.
-% It is not intended as package for the user.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% The package \xpackage{hycolor} implements color options
-% for packages \xpackage{hyperref} and \xpackage{bookmark}.
-%
-% Package \xpackage{xcolor} provides macros for extracting
-% color values and converting color data to other color models.
-% If this package is loaded, the full range of color specifications
-% of packages \xpackage{color} and \xpackage{xcolor} are supported
-% including the optional argument for the color model.
-% \begin{quote}
-%   |\hypersetup{linkbordercolor=red}%| needs \xpackage{xcolor}\\
-%   |\hypersetup{linkbordercolor=[named]{red}}%| needs \xpackage{xcolor}\\
-%   |\hypersetup{linkbordercolor=[rgb]{1,0,0}}|\\
-% \end{quote}
-%
-% Without package \xpackage{xcolor} some of the options only
-% support some models, if they are given directly, e.g.:
-% \begin{quote}
-%   |\bookmarksetup{color=[rgb]{1,0,0}}|
-% \end{quote}
-%
-% Because of compatibility some options of \xpackage{hyperref}
-% also support space separated RGB values:
-% \begin{quote}
-%   |\hypersetup{linkbordercolor=1 0 0}%| is the same as\\
-%   |\hypersetup{linkbordercolor=[rgb]{1,0,0}}|
-% \end{quote}
-%
-% Coloring is optional, it can be turned off by using an empty
-% value:
-% \begin{quote}
-%   |\hypersetup{linkbordercolor={}}|
-% \end{quote}
-%
-% The PDF specification knows some kind of an emtpy color setting
-% without values. This applies to form field colors. The new
-% A virtual color model \texttt{empty} is introduced for this
-% purpose, e.g.
-% \begin{quote}
-%   |\TextField[backgroundcolor={[empty]{}}, ...]{...}%| or\\
-%   |\TextField[{backgroundcolor=[empty]{}, ...}]{...}|
-% \end{quote}
-% PDF specification 1.7 also allows this for border link colors.
-% But this isn't currently supported by this package, because
-% the tested viewers (AR7/Linux, xpdf 3.00, ghostscript 8.54)
-% don't support this yet. In contrary ghostscript generates an
-% error message.
-%
-% \subsection{Summary}
-%
-% \begin{quote}
-% \begin{tabular}{@{}llll@{}}
-%   Color option & Models without \xpackage{xcolor}
-%   & RGB color & Model empty\\
-%   \hline
-%   |BKM.color| & |gray|, |rgb| & no & no\\
-%   |Hyp.*color| & all & no & no\\
-%   |Hyp.*bordercolor| & |gray|, |rgb| & yes & no\\
-%   |Field.*color| & |gray|, |rgb|, |cmyk| & yes & yes\\
-%   |AtFi.color| & |gray|, |rgb| & yes & no\\
-% \end{tabular}
-% \end{quote}
-% ``RGB color'' means that the color value can be given as
-% space separated RGB numbers (real numbers in the range
-% from 0 to 1).
-% Explanation of the color option prefixes:
-% \begin{quote}
-% \begin{tabular}{@{}ll@{}}
-%   Prefix & Explanation\\
-%   \hline
-%   |BKM| & Package \xpackage{bookmark}\\
-%   |Hyp| & Package \xpackage{hyperref}:
-%           package options or |\hypersetup|\\
-%   |Field| & Package \xpackage{hyperref}:
-%             Form field options\\
-%   |AtFi| & Package \xpackage{attachfile2}: option \xoption{color}\\
-% \end{tabular}
-% \end{quote}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{hycolor}%
-  [2016/05/16 v1.8 Color options for hyperref/bookmark (HO)]%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\RequirePackage{xcolor-patch}[2016/05/16]
-%    \end{macrocode}
-%
-% \subsection{Normalization}
-%
-% \subsubsection{Sanitize value of color option}
-%
-%    \begin{procedure}
-%      \Param{cmd}{macro}
-%      \Param{value}{value of color option}
-%      \BlankLine
-%      \KwResult{\ArgSty{value} is expanded, sanitized, and
-%                stored in macro \ArgSty{cmd}.}
-%      \caption{DefSanitized(cmd, value)}
-%      \BlankLine
-%      Initialize active characters\;
-%      \ArgSty{cmd} := Expand \ArgSty{value}\;
-%      Sanitize \ArgSty{cmd}\;
-%    \end{procedure}
-%    \emph{Sanitization} means that the string does not contain any
-%    macros or special tokens. It consists of characters with
-%    catcode 12 (other). The only exception is the space with
-%    catcode 10 (space).
-%    \begin{macro}{\HyColor at DefSanitized}
-%    \begin{macrocode}
-\begingroup
-  \catcode`\!=13 %
-  \catcode`\:=13 %
-  \catcode`\-=13 %
-  \catcode`\+=13 %
-  \catcode`\;=13 %
-  \catcode`\"=13 %
-  \catcode`\>=13 %
-  \edef\x{%
-    \def\noexpand!{\string!}%
-    \def\noexpand:{\string:}%
-    \def\noexpand-{\string-}%
-    \def\noexpand+{\string+}%
-    \def\noexpand;{\string;}%
-    \def\noexpand"{\string"}%
-    \def\noexpand>{\string>}%
-  }%
-  \def\y#1{\endgroup
-    \def\HyColor at DefSanitized##1##2{%
-      \begingroup
-        \csname @safe at activestrue\endcsname
-        #1%
-        \edef\x{\endgroup
-          \def\noexpand##1{##2}%
-        }%
-      \x
-      \@onelevel at sanitize##1%
-    }%
-  }%
-\expandafter\y\expandafter{\x}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Normalize result}
-%
-%    \begin{procedure}
-%      \Param{value}{Sanitized explicit number}
-%      \Param{cmd}{Macro that stores result}
-%      \BlankLine
-%      \KwResult{\ArgSty{cmd} contains normalized number}
-%      \caption{NormalizeNum(value, cmd)}
-%      \BlankLine
-%      \uIf{\Var{value}\,\Dat{pt} $<$ \Dat{0pt}}{
-%        \ArgSty{cmd} \Gets \Dat{0}\;
-%      }
-%      \uElseIf{number before dot of \Var{value} $<$ \Dat{1}}{
-%        \Var{cmd} \Gets number after dot of \Var{value}\;
-%        \Var{cmd} \Gets strip trailing zeros from \Var{cmd}\;
-%        \If{dot remains only}{
-%          \Var{cmd} \Gets \Dat{0}\;
-%        }
-%      }
-%      \Else{
-%        \Var{cmd} \Gets \Dat{1}\;
-%      }
-%    \end{procedure}
-%    The number is limited to the range between 0.0 and 1.0 and
-%    formatted as short PDF number without leading or trailing zeros.
-%    The precision of the number isn't changed.
-%    \begin{macro}{\HyColor at NormalizeNum}
-%    \begin{macrocode}
-\def\HyColor at NormalizeNum#1#2{%
-  \ifdim#1pt<\z@
-    \def#2{0}%
-  \else
-    \edef#2{\zap at space#1 \@empty}%
-    \expandafter\HyColor at CheckDot#2..\@nil#2%
-  \fi
-}
-\def\HyColor at CheckDot#1.#2.#3\@nil#4{%
-  \ifnum0#1<\@ne
-    \ifx\\#2\\%
-      \def#4{0}%
-    \else
-      \edef#4{\HyColor at ReverseString#2\@nil{}}%
-      \edef#4{\expandafter\HyColor at StripLeadingZeros#4\@empty}%
-      \ifx#4\@empty
-        \def#4{0}%
-      \else
-        \edef#4{.\expandafter\HyColor at ReverseString#4\@nil{}}%
-      \fi
-    \fi
-  \else
-    \def#4{1}%
-  \fi
-}
-\def\HyColor at ReverseString#1#2\@nil#3{%
-  \ifx\\#2\\%
-    #1#3%
-  \else
-    \@ReturnAfterFi{%
-      \HyColor at ReverseString#2\@nil{#1#3}%
-    }%
-  \fi
-}
-\long\def\@ReturnAfterFi#1\fi{\fi#1}
-\def\HyColor at StripLeadingZeros#1{%
-  \ifx#10%
-    \expandafter\HyColor at StripLeadingZeros
-  \else
-    #1%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\HyColor at NormalizeCommaRGB}
-%    \begin{macrocode}
-\def\HyColor at NormalizeCommaRGB#1,#2,#3\@nil#4{%
-  \HyColor at NormalizeNum{#1}\HyColor at temp
-  \let#4\HyColor at temp
-  \HyColor at NormalizeNum{#2}\HyColor at temp
-  \edef#4{#4 \HyColor at temp}%
-  \HyColor at NormalizeNum{#3}\HyColor at temp
-  \edef#4{#4 \HyColor at temp}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\HyColor at NormalizeCommaCMYK}
-%    \begin{macrocode}
-\def\HyColor at NormalizeCommaCMYK#1,#2,#3,#4\@nil#5{%
-  \HyColor at NormalizeNum{#1}\HyColor at temp
-  \let#5\HyColor at temp
-  \HyColor at NormalizeNum{#2}\HyColor at temp
-  \edef#5{#5 \HyColor at temp}%
-  \HyColor at NormalizeNum{#3}\HyColor at temp
-  \edef#5{#5 \HyColor at temp}%
-  \HyColor at NormalizeNum{#4}\HyColor at temp
-  \edef#5{#5 \HyColor at temp}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Main algorithm for color options}
-%
-% \begin{procedure}
-%   \Param{key}{name of color option}
-%   \Param{value}{value of color option}
-%   \Param{cmd}{macro that stores result}
-%   \BlankLine
-%   \KwResult{Macro \ArgSty{cmd} contains the calculated
-%      color specification string or has the meaning of \cs{relax}
-%      if the color must not set}
-%   \caption{MainColorOptionAlgorithm(key, value, cmd)}
-%   \BlankLine
-%   DefSanitized(\ArgSty{temp}, \ArgSty{value})\;
-%   Call option specific algorithm(\ArgSty{key}, \ArgSty{temp}, \ArgSty{cmd})\;
-% \end{procedure}
-%
-% \subsection{Package \xpackage{bookmark}}
-%
-% Since v0.8 2007/03/27 package \xpackage{bookmark} only provides
-% one color option \xoption{color}. Because option \xoption{rgbcolor}
-% can easily given as color specification in model rgb:
-% \begin{quote}
-%   |rgbcolor=|\meta{r} \meta{g} \meta{b} $\equiv$
-%   |color=[rgb]{|\meta{r}|,|\meta{g}|,|\meta{b}|}|
-% \end{quote}
-% Package \xpackage{bookmark} stores the result in macro \cs{BKM at color}.
-% The empty string is interpreted as \emph{no color}.
-%
-% \begin{procedure}
-%   \Param{value}{value of option \xoption{color}}
-%   \Param{cmd}{macro for result}
-%   \Param{package}{package name for error message}
-%   \Param{option}{option name for error message}
-%   \caption{BookmarkColor(value, cmd, package, option)}
-%   \BlankLine
-%   \Switch{\Var{value}}{
-%     \Case{empty}{
-%       \Var{cmd} \Gets no color\;
-%     }
-%     \Case{with model}{
-%       \eIf{with xcolor}{
-%         \Var{cmd} \Gets ConvertToRGB(\Var{model}, \Var{values})\;
-%       }{
-%         \uIf{model $=$ rgb}{
-%           \Var{cmd} \Gets \Var{values} as normalized values\;
-%         }
-%         \uElseIf{model $=$ gray}{
-%           \Var{cmd} \Gets \Var{values} as normalized tripled values\;
-%         }
-%         \Else{
-%           error\;
-%         }
-%       }
-%     }
-%     \Other{
-%       \eIf{with xcolor}{
-%         (\Var{model}, \Var{values} \Gets get model and values\;
-%         \Var{cmd} \Gets ConvertToRGB(\Var{model}, \Var{values})\;
-%       }{
-%         error\;
-%       }
-%     }
-%   }
-% \end{procedure}
-%
-%    \begin{macrocode}
-\def\HyColor at BookmarkColor#1#2#3#4{%
-  \HyColor at IfModel{#1}{%
-    \HyColor at IfXcolor{%
-      \convertcolorspec\HyColor at model\HyColor at values
-                       \HyColor at model@rgb#2%
-      \expandafter\HyColor at NormalizeCommaRGB#2\@nil#2%
-    }{%
-      \ifx\HyColor at model\HyColor at model@rgb
-        \expandafter\HyColor at NormalizeCommaRGB\HyColor at values\@nil#2%
-      \else
-        \ifx\HyColor at model\HyColor at model@gray
-          \expandafter\HyColor at NormalizeNum
-              \expandafter{\HyColor at values}#2%
-          \edef#2{#2 #2 #2}%
-        \else
-          \let#2\@empty
-          \HyColor at ErrorModelNoXcolor{#3}{#4}%
-        \fi
-      \fi
-    }%
-  }{%
-    \let#2\HyColor at values
-    \ifx#2\@empty
-    \else
-      \HyColor at IfXcolor{%
-        \extractcolorspec{#1}#2%
-        \expandafter\convertcolorspec#2\HyColor at model@rgb#2%
-        \expandafter\HyColor at NormalizeCommaRGB#2\@nil#2%
-      }{%
-        \let#2\@empty
-        \HyColor at ErrorSpecNoXcolor{#3}{#4}%
-      }%
-    \fi
-  }%
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\HyColor at ErrorModelNoXcolor#1#2{%
-  \PackageError{#1}{%
-    Color model `\HyColor at model' is not supported\MessageBreak
-    without package `xcolor' in\MessageBreak
-    `#2=[\HyColor at model]{\HyColor at values}'%
-  }\@ehc
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-\def\HyColor at ErrorSpecNoXcolor#1#2{%
-  \PackageError{#1}{%
-    This color specification is not supported\MessageBreak
-    without package `xcolor' in\MessageBreak
-    `#2=\HyColor at values'%
-  }\@ehc
-}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\def\HyColor at IfModel#1{%
-  \@ifnextchar[{%
-    \HyColor at WithModel
-  }{%
-    \HyColor at WithoutModel
-  }%
-  #1\@nil
-}
-\def\HyColor at WithModel[#1]#2\@nil{%
-  \HyColor at DefSanitized\HyColor at model{#1}%
-  \HyColor at DefSanitized\HyColor at values{#2}%
-  \@firstoftwo
-}
-\def\HyColor at WithoutModel#1\@nil{%
-  \let\HyColor at model\relax
-  \HyColor at DefSanitized\HyColor at values{#1}%
-  \@secondoftwo
-}
-%    \end{macrocode}
-%
-% \subsection{Utils}
-%
-%    \begin{macro}{\@ReturnAfterFi}
-%    \begin{macrocode}
-\long\def\@ReturnAfterFi#1\fi{\fi#1}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\HyColor at IfXcolor}
-%    \begin{macrocode}
-\def\HyColor at IfXcolor{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname convertcolorspec\endcsname\relax
-    \expandafter\@secondoftwo
-  \else
-    \expandafter\@firstoftwo
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\def\HyColor at model@empty{empty}
-\@onelevel at sanitize\HyColor at model@empty
-\def\HyColor at model@gray{gray}
-\@onelevel at sanitize\HyColor at model@gray
-\def\HyColor at model@rgb{rgb}
-\@onelevel at sanitize\HyColor at model@rgb
-\def\HyColor at model@cmyk{cmyk}
-\@onelevel at sanitize\HyColor at model@cmyk
-\def\HyColor at model@Gray{Gray}
-\@onelevel at sanitize\HyColor at model@Gray
-%    \end{macrocode}
-%
-% \subsection{Package \xpackage{hyperref}}
-%
-% \subsubsection{Options \xoption{Hyp.*color}}
-%
-%    \begin{macrocode}
-\def\HyColor at UseColor#1{%
-  \ifx#1\relax
-  \else
-    \ifx#1\@empty
-    \else
-      \expandafter\HyColor@@UseColor#1\@nil
-    \fi
-  \fi
-}
-\def\HyColor@@UseColor{%
-  \@ifnextchar[\HyColor@@@UseColor\HyColor@@@@UseColor
-}
-\def\HyColor@@@UseColor[#1]#2\@nil{%
-  \color[{#1}]{#2}%
-}
-\def\HyColor@@@@UseColor#1\@nil{%
-  \color{#1}%
-}
-%    \end{macrocode}
-%
-% \begin{procedure}
-%   \Param{value}{value of the option}
-%   \Param{cmd}{macro for result}
-%   \caption{HyperrefColor(value, cmd)}
-%   \BlankLine
-%   \Switch{\Var{value}}{
-%     \Case{empty}{
-%       \Var{cmd} \Gets no color\;
-%     }
-%     \Case{with model}{
-%       Call \cs{color} with model\;
-%     }
-%     \Case{without model}{
-%       Call \cs{color} without model\;
-%     }
-%   }
-% \end{procedure}
-%
-%    \begin{macrocode}
-\def\HyColor at HyperrefColor#1#2{%
-  \HyColor at IfModel{#1}{%
-    \edef#2{[{\HyColor at model}]{\HyColor at values}}%
-  }{%
-    \let#2\HyColor at values
-    \ifx#2\@empty
-      \let#2\relax
-    \fi
-  }%
-}
-%    \end{macrocode}
-%
-% \subsubsection{Generic algorithm}
-%
-% \begin{procedure}
-%   \small
-%   \Param{value}{value of the option}
-%   \Param{cmd}{macro for result}
-%   \Param{package}{package name for error message}
-%   \Param{option}{option name for error message}
-%   \caption{Algorithm X0134(value, cmd, package, option)}
-%   \BlankLine
-%   \Switch{\Var{value}}{
-%     \Case{empty}{
-%       \Var{cmd} \Gets no color\;
-%     }
-%     \Case{with model}{
-%       \Switch{\Var{model}}{
-%         \Case{empty}{
-%           \Var{cmd} \Gets ""\;
-%         }
-%         \Case{gray, rgb, cmyk}{
-%           \Var{cmd} \Gets \Var{output}()\;
-%         }
-%         \Case{Gray}{
-%           \eIf{with xcolor}{
-%             (\Var{model}, \Var{values}) \Gets convert to gray\;
-%           }{
-%             error(\Var{package}, \Var{option}, "Missing xcolor"),
-%             \Var{cmd} \Gets no color\;
-%           }
-%         }
-%         \Else{
-%           \eIf{with xcolor}{
-%             (\Var{model}, \Var{values}) \Gets convert to rgb\;
-%             \Var{cmd} \Gets \Var{output}()\;
-%           }{
-%             error(\Var{package}, \Var{option}, "Missing xcolor"),
-%             \Var{cmd} \Gets no color\;
-%           }
-%         }
-%       }
-%     }
-%     \Case{rgb values}{
-%       (\Var{model}, \Var{values}) \Gets ("rgb", (r,g,b))\;
-%       \Var{cmd} \Gets \Var{output}()\;
-%     }
-%     \Case{without model}{
-%       \eIf{with xcolor}{
-%         (\Var{model}, \Var{values}) \Gets
-%             get model and values(\Var{value})\;
-%         \Switch{\Var{model}}{
-%           \Case{gray, rgb, cmyk}{
-%             \Var{cmd} \Gets \Var{output}()\;
-%           }
-%           \Case{Gray}{
-%             (\Var{model}, \Var{values}) \Gets convert to gray\;
-%             \Var{cmd} \Gets \Var{output}()\;
-%           }
-%           \Else{
-%             (\Var{model}, \Var{values}) \Gets convert to rgb\;
-%             \Var{cmd} \Gets \Var{output}()\;
-%           }
-%         }
-%       }{
-%         error(\Var{package}, \Var{option}, "Missing xcolor"),
-%         \Var{cmd} \Gets no color\;
-%       }
-%     }
-%   }
-% \end{procedure}
-%
-%    \begin{macro}{\HyColor at XZeroOneThreeFour}
-%    \begin{macrocode}
-\def\HyColor at XZeroOneThreeFour#1#2#3#4{%
-  \HyColor at IfModel{#1}{%
-    \ifx\HyColor at model\HyColor at model@empty
-      \let#2\@empty
-    \else\ifx\HyColor at model\HyColor at model@gray
-      \expandafter\HyColor at NormalizeNum
-          \expandafter{\HyColor at values}#2%
-    \else\ifx\HyColor at model\HyColor at model@rgb
-      \expandafter\HyColor at NormalizeCommaRGB\HyColor at values\@nil#2%
-    \else\ifx\HyColor at model\HyColor at model@cmyk
-      \expandafter\HyColor at NormalizeCommaCMYK\HyColor at values\@nil#2%
-    \else\ifx\HyColor at model\HyColor at model@Gray
-      \HyColor at IfXcolor{%
-        \convertcolorspec\HyColor at model\HyColor at values
-                         \HyColor at model@gray#2%
-        \expandafter\HyColor at NormalizeNum\expandafter{#2}#2%
-        \let\HyColor at model\HyColor at model@gray
-      }{%
-        \let#2\relax
-        \HyColor at ErrorModelNoXcolor{#3}{#4}%
-      }%
-    \else
-      \HyColor at IfXcolor{%
-        \convertcolorspec\HyColor at model\HyColor at values
-                         \HyColor at model@rgb#2%
-        \expandafter\HyColor at NormalizeCommaRGB#2\@nil#2%
-        \let\HyColor at model\HyColor at model@rgb
-      }{%
-        \let#2\relax
-        \HyColor at ErrorModelNoXcolor{#3}{#4}%
-      }%
-    \fi\fi\fi\fi\fi
-  }{%
-    \let#2\HyColor at values
-    \ifx#2\@empty
-      \let#2\relax
-    \else
-      \expandafter\HyColor at IfRGB\expandafter{\HyColor at values}{%
-        \expandafter\HyColor at NormalizeCommaRGB\HyColor at values\@nil#2%
-      }{%
-        \HyColor at IfXcolor{%
-          \expandafter\extractcolorspec\expandafter{\HyColor at values}#2%
-          \edef\HyColor at model{\expandafter\@firstoftwo#2}%
-          \edef\HyColor at values{\expandafter\@secondoftwo#2}%
-          \ifx\HyColor at model\HyColor at model@gray
-            \expandafter\HyColor at NormalizeNum\expandafter
-                {\HyColor at values}#2%
-          \else\ifx\HyColor at model\HyColor at model@rgb
-            \expandafter\HyColor at NormalizeCommaRGB
-                \HyColor at values\@nil#2%
-          \else\ifx\HyColor at model\HyColor at model@cmyk
-            \expandafter\HyColor at NormalizeCommaCMYK
-                \HyColor at values\@nil#2%
-          \else\ifx\HyColor at model\HyColor at model@Gray
-            \convertcolorspec\HyColor at model\HyColor at values
-                \HyColor at model@gray#2%
-            \expandafter\HyColor at NormalizeNum\expandafter
-                {\HyColor at values}#2%
-            \let\HyColor at model\HyColor at model@gray
-          \else
-            \convertcolorspec\HyColor at model\HyColor at values
-                \HyColor at model@rgb#2%
-            \expandafter\HyColor at NormalizeCommaRGB#2\@nil#2%
-            \let\HyColor at model\HyColor at model@rgb
-          \fi\fi\fi\fi
-        }{%
-          \let#2\relax
-          \HyColor at ErrorSpecNoXcolor{#3}{#4}%
-        }%
-      }%
-    \fi
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Field options}
-%
-%    \begin{macro}{\HyColor at FieldBColor}
-%    \begin{macrocode}
-\let\HyColor at FieldBColor\HyColor at XZeroOneThreeFour
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\HyColor at FieldColor}
-%    \begin{macrocode}
-\def\HyColor at FieldColor#1#2#3#4{%
-  \let\HyColor at model\@empty
-  \HyColor at XZeroOneThreeFour{#1}{#2}{#3}{#4}%
-  \ifx#2\relax
-    \let#2\@empty
-  \else
-    \ifx#2\@empty
-    \else
-      \ifx\HyColor at model\HyColor at model@gray
-        \edef#2{#2 g}%
-      \else\ifx\HyColor at model\HyColor at model@rgb
-        \edef#2{#2 rg}%
-      \else\ifx\HyColor at model\HyColor at model@cmyk
-        \edef#2{#2 k}%
-      \else
-        \PackageError{#3}{Internal error: unsupported color model}\@ehc
-      \fi\fi\fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Detection for naked RGB values}
-%
-%    \begin{macro}{\HyColor at IfRGB}
-%    \begin{macrocode}
-\newif\ifHyColor at result
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfmatch\endcsname\relax
-  \expandafter\@firstoftwo
-\else
-  \expandafter\@secondoftwo
-\fi
-{%
-  \begingroup
-    \def\x#1{\endgroup
-      \def\HyColor at IfRGB##1{%
-        \HyColor@@IfRGB##1#1#1#1\@nil
-      }%
-    }%
-  \x{ }%
-  \edef\HyColor at TwoSpaces{\space\space}%
-  \def\HyColor@@IfRGB#1 #2 #3 #4\@nil{%
-    \HyColor at resulttrue
-    \def\HyColor at temp{#4}%
-    \ifx\HyColor at temp\HyColor at TwoSpaces
-      \HyColor at CheckNum{#1}%
-      \ifHyColor at result
-        \HyColor at CheckNum{#2}%
-        \ifHyColor at result
-          \HyColor at CheckNum{#3}%
-        \fi
-      \fi
-    \else
-      \HyColor at resultfalse
-    \fi
-    \ifHyColor at result
-      \let\HyColor at model\HyColor at model@rgb
-      \edef\HyColor at values{#1,#2,#3}%
-      \expandafter\@firstoftwo
-    \else
-      \expandafter\@secondoftwo
-    \fi
-  }%
-  \def\HyColor at zero{0}%
-  \def\HyColor at one{1}%
-  \def\HyColor at dot{.}%
-  \def\HyColor at CheckNum#1{%
-    \def\HyColor at temp{#1}%
-    \ifx\HyColor at temp\@empty
-      \HyColor at resultfalse
-    \else
-      \edef\HyColor at temp{\@car#1\@nil}%
-      \ifx\HyColor at temp\HyColor at zero
-      \else
-        \ifx\HyColor at temp\HyColor at one
-        \else
-          \ifx\HyColor at temp\HyColor at dot
-          \else
-            \HyColor at resultfalse
-          \fi
-        \fi
-      \fi
-    \fi
-  }%
-}{%
-  \def\HyColor at MatchNum{%
-    (0*1\string\.0*|0*1|0+\string\.?[0-9]*|\string\.[0-9]+)%
-  }%
-  \def\HyColor at IfRGB#1{%
-    \ifnum\pdfmatch{^\HyColor at MatchNum\space\HyColor at MatchNum
-        \space\HyColor at MatchNum$}{#1}>\z@
-      \let\HyColor at model\HyColor at model@rgb
-      \edef\HyColor at values{%
-        \expandafter\strip at prefix\pdflastmatch1,%
-        \expandafter\strip at prefix\pdflastmatch2,%
-        \expandafter\strip at prefix\pdflastmatch3%
-      }%
-      \HyColor at resulttrue
-      \expandafter\@firstoftwo
-    \else
-      \HyColor at resultfalse
-      \expandafter\@secondoftwo
-    \fi
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Options \xoption{*bordercolor}}
-%
-% \begin{procedure}
-%   \Param{value}{value of the option}
-%   \Param{cmd}{macro for result}
-%   \Param{package, option}{package and option for error message}
-%   \caption{HyperrefBorderColor(value, cmd, package, option)}
-%   \BlankLine
-%   \Switch{\Var{value}}{
-%     \Case{empty}{
-%       \Var{cmd} \Gets no color\;
-%     }
-%     \Case{with model}{
-%       \eIf{with xcolor}{
-%         (\Var{model}, \Var{values}) \Gets convert to rgb\;
-%         \Var{cmd} \Gets output values\;
-%       }{
-%         \Switch{\Var{model}}{
-%           \Case{rgb, gray}{
-%             \Var{cmd} \Gets output values\;
-%           }
-%           \Else{
-%             error(\Var{package}, \Var{option}, "Missing xcolor")\;
-%             \Var{cmd} \Gets no color\;
-%           }
-%         }
-%       }
-%     }
-%     \Case{rgb values}{
-%       \Var{cmd} \Gets output values\;
-%     }
-%     \Case{without model}{
-%       \eIf{with xcolor}{
-%         (\Var{model}, \Var{values}) \Gets convert to rgb\;
-%         \Var{cmd} \Gets output values\;
-%       }{
-%         error(\Var{package}, \Var{option}, "Missing xcolor");
-%         \Var{cmd} \Gets no color\;
-%       }
-%     }
-%   }
-% \end{procedure}
-%
-%    \begin{macro}{\HyColor at HyperrefBorderColor}
-%    \begin{macrocode}
-\def\HyColor at HyperrefBorderColor#1#2#3#4{%
-  \HyColor at IfModel{#1}{%
-    \HyColor at IfXcolor{%
-      \convertcolorspec\HyColor at model\HyColor at values
-                       \HyColor at model@rgb#2%
-      \expandafter\HyColor at NormalizeCommaRGB#2\@nil#2%
-    }{%
-      \ifx\HyColor at model\HyColor at model@rgb
-        \expandafter\HyColor at NormalizeCommaRGB\HyColor at values\@nil#2%
-      \else
-        \ifx\HyColor at model\HyColor at model@gray
-          \expandafter\HyColor at NormalizeNum
-              \expandafter{\HyColor at values}#2%
-          \edef#2{#2 #2 #2}%
-        \else
-          \let#2\relax
-          \HyColor at ErrorModelNoXcolor{#3}{#4}%
-        \fi
-      \fi
-    }%
-  }{%
-    \let#2\HyColor at values
-    \ifx#2\@empty
-      \let#2\relax
-    \else
-      \expandafter\HyColor at IfRGB\expandafter{\HyColor at values}{%
-        \expandafter\HyColor at NormalizeCommaRGB\HyColor at values\@nil#2%
-      }{%
-        \HyColor at IfXcolor{%
-          \extractcolorspec{#1}#2%
-          \expandafter\convertcolorspec#2\HyColor at model@rgb#2%
-          \expandafter\HyColor at NormalizeCommaRGB#2\@nil#2%
-        }{%
-          \let#2\relax
-          \HyColor at ErrorSpecNoXcolor{#3}{#4}%
-        }%
-      }%
-    \fi
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Package \xpackage{attachfile2}}
-%
-%    Before PDF-1.7 only RGB values are permitted in annotations.
-%    Since PDF-1.7 the color entry in annotations understands
-%    several color models, depending on the size of the color array:
-%    \begin{itemize}
-%    \item Zero entries: means transparent, not useful for
-%          file attachments. AR7/Linux and AR8/Linux show black instead.
-%    \item One entry: color model `gray'.
-%    \item Three entries: color model `rgb'.
-%    \item Four entries: color model `cmyk'.
-%    \end{itemize}
-%    An empty color specification is interpreted as ``no color''.
-%
-%    \begin{macro}{\HyColor at DetectPdfVersion}
-%    \begin{macrocode}
-\def\HyColor at DetectPdfVersion{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname Hy at pdfversion\endcsname\relax
-    \global\chardef\HyColor at PdfVersion=0 %
-  \else
-    \global\chardef\HyColor at PdfVersion=\Hy at pdfversion\relax
-  \fi
-  \global\let\HyColor at DetectPdfVersion\relax
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\HyColor at SpaceToComma}
-%    \begin{macrocode}
-\def\HyColor at SpaceToComma#1 #2\@nil{%
-  #1%
-  \ifx\relax#2\relax
-    \expandafter\@gobble
-  \else
-    ,%
-    \expandafter\@firstofone
-  \fi
-  {%
-    \HyColor at SpaceToComma#2\@nil
-  }%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\HyColor at AttachfileColor}
-%    \begin{macrocode}
-\def\HyColor at AttachfileColor#1#2#3#4#5#6{%
-  \def#2{#1}%
-  \ifx#2\@empty
-    \let#3\@gobble
-    \let#4\@empty
-  \else
-    \HyColor at resultfalse
-    \HyColor at XZeroOneThreeFour{#1}#3{#5}{#6}%
-    \ifHyColor at result
-      \edef#2{%
-        [rgb]{\expandafter\HyColor at SpaceToComma#3 \@nil}%
-      }%
-    \fi
-    \ifx\HyColor at model\HyColor at model@rgb
-      \edef#4{/C[#3]}% hash-ok
-      \edef#3##1{%
-        #3 %
-        \noexpand\csname atfi at SETRGBCOLOR##1\noexpand\endcsname
-      }%
-    \else
-      \ifx\HyColor at model\HyColor at model@gray
-        \HyColor at DetectPdfVersion
-        \ifnum\HyColor at PdfVersion<7 %
-          \edef#4{/C[#3 #3 #3]}% hash-ok
-        \else
-          \edef#4{/C[#3]}% hash-ok
-        \fi
-        \edef#3##1{%
-          #3 %
-          \noexpand\csname atfi at SETGRAYCOLOR##1\noexpand\endcsname
-        }%
-      \else
-        \ifx\HyColor at model\HyColor at model@cmyk
-          \HyColor at DetectPdfVersion
-          \ifnum\HyColor at PdfVersion<7 %
-            \HyColor at IfModel{#1}{%
-              \HyColor at IfXcolor{%
-                \convertcolorspec\HyColor at model\HyColor at values
-                                 \HyColor at model@rgb#4%
-                \expandafter\HyColor at NormalizeCommaRGB#4\@nil#4%
-                \edef#4{/C[#4]}% hash-ok
-              }{%
-                \let#4\@empty
-                \HyColor at ErrorModelNoXcolor{#5}{#6}%
-              }%
-            }{%
-              \HyColor at IfXcolor{%
-                \extractcolorspec{#1}#4%
-                \expandafter\convertcolorspec#4%
-                    \HyColor at model@rgb#4%
-                \expandafter\HyColor at NormalizeCommaRGB#4\@nil#4%
-                \edef#4{/C[#4]}% hash-ok
-              }{%
-                \let#4\@empty
-                \HyColor at ErrorSpecNoXcolor{#5}{#6}%
-              }%
-            }%
-          \else
-            \edef#4{/C[#3]}% hash-ok
-          \fi
-          \edef#3##1{%
-            #3 %
-            \noexpand\csname atfi at SETCMYKCOLOR##1\noexpand\endcsname
-          }%
-        \else
-          \ifx\HyColor at model\HyColor at model@empty
-            \PackageError{#5}{%
-              Color model `empty' is not permitted for option `#6'%
-            }\@ehc
-            \let#2\@empty
-            \let#3\@gobble
-            \let#4\@empty
-          \else
-            \ifx\HyColor at model\relax % (missing xcolor)
-              \let#3\@gobble
-              \let#4\@empty
-            \else
-              \PackageError{#5}{%
-                Internal error: unsupported color model%
-              }\@ehc
-            \fi
-          \fi
-        \fi
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%
-% \subsection{Patch for package \xpackage{xcolor}}
-%
-%    Because the test files triggered a bug in package \xpackage{xcolor}
-%    of version 2007/01/21 v2.11.
-%    I contacted the author of \xpackage{xcolor} Uwe Kern. He responded
-%    with a test version 2007/03/27 v2.12a00 that fixes the problem.
-%    However, apparently he did not found the time for an official
-%    release yet. Thus I have reluctantly written the following
-%    patch package using the fixes of v2.12a00.
-%
-%    The patch is immediately applied if package \xpackage{xcolor}
-%    is already loaded.
-%    Otherwise the patch is delayed using \cs{AfterPackage} if
-%    package \xpackage{scrlfile} is loaded. As last resort
-%    \cs{AtBeginDocument} is used.
-%    \begin{macrocode}
-%<*xcolor>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{xcolor-patch}[2016/05/16 xcolor patch]
-%    \end{macrocode}
-%    \begin{macrocode}
-\RequirePackage{hopatch}[2016/05/16]
-\hopatch at AfterPackage{xcolor}{%
-%    \end{macrocode}
-%    \begin{macro}{\XC at ifxcase}
-%    \begin{macrocode}
-  \long\def\reserved at a#1#2#3{%
-    \long\def\@@tmp##1##2{%
-      \ifx#1##1%
-        \toks@{##2}%
-        \expandafter\remove at to@nnil
-      \else
-        \expandafter\@@tmp
-      \fi
-    }%
-    \@@tmp#2#1{#3}\@nnil\the\toks@
-  }%
-  \ifx\XC at ifxcase\reserved at a
-    \long\def\XC at ifxcase#1#2#3{%
-      \long\def\XC at if@##1##2{%
-        \ifx#1##1%
-          \toks@{##2}%
-          \expandafter\remove at to@nnil
-        \else
-          \expandafter\XC at if@
-        \fi
-      }%
-      \XC at if@#2#1{#3}\@nnil
-      \the\toks@
-    }%
-  \fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\XC at ifcase}
-%    \begin{macrocode}
-  \long\def\reserved at a#1#2#3{%
-    \long\def\@@tmp##1##2{%
-      \@expandtwoargs\in@{,#1,}{,##1,}%
-      \ifin@
-        \toks@{##2}%
-        \expandafter\remove at to@nnil
-      \else
-        \expandafter\@@tmp
-      \fi
-    }%
-    \@@tmp#2{#1}{#3}\@nnil
-    \the\toks@
-  }%
-  \ifx\XC at ifcase\reserved at a
-    \long\def\XC at ifcase#1#2#3{%
-      \long\def\XC at if@##1##2{%
-        \@expandtwoargs\in@{,#1,}{,##1,}%
-        \ifin@
-          \toks@{##2}%
-          \expandafter\remove at to@nnil
-        \else
-          \expandafter\XC at if@
-        \fi
-      }%
-      \XC at if@#2{#1}{#3}\@nnil
-      \the\toks@
-    }%
-  \fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\XC at cnv@gray}
-%    \begin{macrocode}
-  \def\reserved at a#1,{%
-    \XC at ifxcase\tm{%
-      \XC at mod@rgb{%
-        \XC at calcN{#1}\@@tmp
-        \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
-      }%
-      \XC at mod@cmy{%
-        \XC at calcC{#1}\@@tmp
-        \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
-      }%
-      \XC at mod@cmyk{%
-        \XC at calcC{#1}\@@tmp
-        \edef\@@tmp{0,0,0,\@@tmp}%
-      }%
-      \XC at mod@RGB{%
-        \edef\@@scl{\rangeRGB}%
-        \XC at calcM{#1}\@@tmp
-        \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
-      }%
-      \XC at mod@HTML{%
-        \edef\@@scl{\@cclv}%
-        \XC at calcM{#1}\@@tmp
-        \XC at calcH\@@tmp\@@tmp
-        \edef\@@tmp{\@@tmp\@@tmp\@@tmp}%
-      }%
-      \XC at mod@HSB{%
-        \edef\@@scl{\rangeHSB}%
-        \XC at calcM{#1}\@@tmp
-        \edef\@@tmp{0,0,\@@tmp}%
-      }%
-      \XC at mod@Gray{%
-        \edef\@@scl{\rangeGray}%
-        \XC at calcM{#1}\@@tmp
-      }%
-    }%
-    {%
-      \XC at calcN{#1}\@@tmp
-      \edef\@@tmp{0,0,\@@tmp}%
-    }%
-  }%
-  \ifx\XC at cnv@gray\reserved at a
-    \def\XC at cnv@gray#1,{%
-      \XC at ifxcase\tm{%
-        \XC at mod@rgb{%
-          \XC at calcN{#1}\@@tmp
-          \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
-        }%
-        \XC at mod@gray{}%
-        \XC at mod@cmy{%
-          \XC at calcC{#1}\@@tmp
-          \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
-        }%
-        \XC at mod@cmyk{%
-          \XC at calcC{#1}\@@tmp
-          \edef\@@tmp{0,0,0,\@@tmp}%
-        }%
-        \XC at mod@RGB{%
-          \edef\@@scl{\rangeRGB}%
-          \XC at calcM{#1}\@@tmp
-          \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}%
-        }%
-        \XC at mod@HTML{%
-          \edef\@@scl{\@cclv}%
-          \XC at calcM{#1}\@@tmp
-          \XC at calcH\@@tmp\@@tmp
-          \edef\@@tmp{\@@tmp\@@tmp\@@tmp}%
-        }%
-        \XC at mod@HSB{%
-          \edef\@@scl{\rangeHSB}%
-          \XC at calcM{#1}\@@tmp
-          \edef\@@tmp{0,0,\@@tmp}%
-        }%
-        \XC at mod@Gray{%
-          \edef\@@scl{\rangeGray}%
-          \XC at calcM{#1}\@@tmp
-        }%
-      }%
-      {%
-        \XC at calcN{#1}\@@tmp
-        \edef\@@tmp{0,0,\@@tmp}%
-      }%
-    }%
-  \fi
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Fix fragile \cs{@frameb at x}}
-%
-%    \cs{fbox} becomes fragile, because the internal \cs{@frameb at x}
-%    is redefined by package \xpackage{xcolor}. The redefinition is
-%    no longer robust. Test file:
-%\begin{quote}
-%\begin{verbatim}
-%\documentclass{article}
-%\usepackage{xcolor}
-%\makeatletter
-%\protected at edef\x{\fbox{abc}}
-%\@@end
-%\end{verbatim}
-%\end{quote}
-%    \begin{macrocode}
-  \@ifundefined{XC at frameb@x }{%
-    \expandafter\let\csname XC at frameb@x \endcsname\XC at frameb@x
-    \edef\XC at frameb@x{%
-      \noexpand\protect
-      \expandafter\noexpand\csname XC at frameb@x \endcsname
-    }%
-    \expandafter\ifx\csname XC at frameb@x \endcsname\@frameb at x
-      \let\@frameb at x\XC at frameb@x
-    \fi
-  }{}%
-}
-%    \end{macrocode}
-%    \begin{macrocode}
-%</xcolor>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{hycolor}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/hycolor.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/hycolor.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 hycolor.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@{}}
-%   hycolor.sty & tex/latex/oberdiek/hycolor.sty\\
-%   xcolor-patch.sty & tex/latex/oberdiek/xcolor-patch.sty\\
-%   hycolor.pdf & doc/latex/oberdiek/hycolor.pdf\\
-%   hycolor.dtx & source/latex/oberdiek/hycolor.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{hycolor.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 hycolor.dtx
-%makeindex -s gind.ist hycolor.idx
-%pdflatex hycolor.dtx
-%makeindex -s gind.ist hycolor.idx
-%pdflatex hycolor.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2007/04/09 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/04/11 v1.1}
-%   \item
-%     Line ends sanitized.
-%   \end{Version}
-%   \begin{Version}{2008/07/29 v1.2}
-%   \item
-%     Support for package \xpackage{attachfile2} added.
-%   \end{Version}
-%   \begin{Version}{2008/08/01 v1.3}
-%   \item
-%     Patch package \xpackage{xcolor-patch} added that fixes bugs in
-%     package \xpackage{xcolor} to get the test files running.
-%   \end{Version}
-%   \begin{Version}{2008/09/08 v1.4}
-%   \item
-%     Fix added to package \xpackage{xcolor-patch}:
-%     Fragile \cs{@frameb at x} (used in \cs{fbox}) is made robust.
-%   \end{Version}
-%   \begin{Version}{2009/10/02 v1.5}
-%   \item
-%     Doku fixes (Herbert Voss).
-%   \end{Version}
-%   \begin{Version}{2009/12/12 v1.6}
-%   \item
-%     Short info shortened.
-%   \end{Version}
-%   \begin{Version}{2011/01/30 v1.7}
-%   \item
-%     Package \xpackage{xcolor-patch} uses package \xpackage{hopatch}.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.8}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,3287 +0,0 @@
-% \iffalse meta-comment
-%
-% File: intcalc.dtx
-% Version: 2016/05/16 v1.2
-% Info: Expandable calculations with integers
-%
-% 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
-%
-% 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 intcalc.dtx
-% and the derived files
-%    intcalc.sty, intcalc.pdf, intcalc.ins, intcalc.drv,
-%    intcalc-test1.tex, intcalc-test2.tex, intcalc-test3.tex,
-%    intcalc-test4.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/intcalc.dtx
-%    CTAN:macros/latex/contrib/oberdiek/intcalc.pdf
-%
-% Unpacking:
-%    (a) If intcalc.ins is present:
-%           tex intcalc.ins
-%    (b) Without intcalc.ins:
-%           tex intcalc.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{intcalc.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If intcalc.drv is present:
-%           latex intcalc.drv
-%    (b) Without intcalc.drv:
-%           latex intcalc.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 intcalc.dtx
-%       makeindex -s gind.ist intcalc.idx
-%       pdflatex intcalc.dtx
-%       makeindex -s gind.ist intcalc.idx
-%       pdflatex intcalc.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/intcalc.sty
-%    TDS:doc/latex/oberdiek/intcalc.pdf
-%    TDS:source/latex/oberdiek/intcalc.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: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: intcalc
-Version: 2016/05/16 v1.2
-
-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
-
-
-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 intcalc.dtx
-and the derived files
-   intcalc.sty, intcalc.pdf, intcalc.ins, intcalc.drv,
-   intcalc-test1.tex, intcalc-test2.tex, intcalc-test3.tex,
-   intcalc-test4.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{intcalc.ins}{\from{intcalc.dtx}{install}}%
-  \file{intcalc.drv}{\from{intcalc.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{intcalc.sty}{\from{intcalc.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{intcalc-test1.tex}{\from{intcalc.dtx}{test1}}%
-%  \file{intcalc-test2.tex}{\from{intcalc.dtx}{test2,etex}}%
-%  \file{intcalc-test3.tex}{\from{intcalc.dtx}{test2,noetex}}%
-%  \file{intcalc-test4.tex}{\from{intcalc.dtx}{test4,etex}}%
-}
-
-\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{*     intcalc.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `intcalc.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{intcalc.drv}%
-  [2016/05/16 v1.2 Expandable calculations with integers (HO)]%
-\documentclass{ltxdoc}
-\usepackage{wasysym}
-\let\iint\relax
-\let\iiint\relax
-\usepackage[fleqn]{amsmath}
-
-\DeclareMathOperator{\opInv}{Inv}
-\DeclareMathOperator{\opAbs}{Abs}
-\DeclareMathOperator{\opSgn}{Sgn}
-\DeclareMathOperator{\opMin}{Min}
-\DeclareMathOperator{\opMax}{Max}
-\DeclareMathOperator{\opCmp}{Cmp}
-\DeclareMathOperator{\opInc}{Inc}
-\DeclareMathOperator{\opDec}{Dec}
-\DeclareMathOperator{\opAdd}{Add}
-\DeclareMathOperator{\opSub}{Sub}
-\DeclareMathOperator{\opShl}{Shl}
-\DeclareMathOperator{\opShr}{Shr}
-\DeclareMathOperator{\opMul}{Mul}
-\DeclareMathOperator{\opSqr}{Sqr}
-\DeclareMathOperator{\opFac}{Fac}
-\DeclareMathOperator{\opPow}{Pow}
-\DeclareMathOperator{\opDiv}{Div}
-\DeclareMathOperator{\opMod}{Mod}
-\DeclareMathOperator{\opInt}{Int}
-\DeclareMathOperator{\opOdd}{ifodd}
-
-\newcommand*{\Def}{%
-  \ensuremath{%
-    \mathrel{\mathop{:}}=%
-  }%
-}
-\newcommand*{\op}[1]{%
-  \textsf{#1}%
-}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{intcalc.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{intcalc.drv}
-%
-% \title{The \xpackage{intcalc} 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 provides expandable arithmetic operations
-% with integers.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% Package \xpackage{intcalc} defines arithmetic operations
-% that deal with integers. Integers mean numbers in \TeX.
-% The same restrictions apply, the range is limited to
-% [-2147483647, 2147483647].
-%
-% The operations have the form of macros that take one or
-% two integers as parameter and return the integer result.
-% The macro name is a three letter operation name prefixed
-% by the package name, e.g. \cs{intcalcAdd}|{10}{43}| returns
-% |53|.
-%
-% The macros are fully expandable, exactly two expansion
-% steps generate the result. Therefore the operations
-% may be used nearly everywhere in \TeX, even inside
-% \cs{number}, \cs{csname}, file names,  or other
-% expandable contexts.
-%
-% The package contains two implementations of the operations.
-% If \eTeX\ is detected then the macros are implemented
-% using its features (\cs{numexpr}). Otherwise the slower
-% implementation without \eTeX's help is choosen.
-%
-% \subsection{Conditions}
-%
-% \subsubsection{Preconditions}
-%
-% \begin{itemize}
-% \item
-%   Arguments can be anything that \TeX\ interprets as ``number''.
-%   Examples: plain numbers, count or length register, macros
-%   that expands to a number.
-% \item
-%   The arguments are limited to the range
-%   -2147483647 until 2147483647. These numbers belong to the range.
-%   Note that some operations
-%   have additionals restrictions to the range.
-% \item
-%   The argument may be expressions that \cs{numexpr}
-%   understands if \eTeX\ is available.
-% \item
-%   The resulting number must fit in the allowed range.
-% \end{itemize}
-%
-% \subsubsection{Postconditions}
-%
-% Additional properties of the macros apart from calculating
-% a correct result (of course \smiley):
-% \begin{itemize}
-% \item
-%   The macros are fully expandable. Thus they can
-%   be used inside \cs{edef}, \cs{csname}, after \cs{number},
-%   for example.
-% \item
-%   Furthermore exactly two expansion steps calculate the result.
-% \item
-%   The number consists of one optional minus sign and one to
-%   ten digits. The first digit is larger than zero for
-%   numbers that consists of more than one digit.
-%
-%   In short, the number format is exactly the same as
-%   \cs{number} generates. And the tokens (minus sign, digits)
-%   have catcode 12 (other).
-% \item
-%   Call by value is simulated. First the arguments are
-%   converted to numbers. Then these numbers are used
-%   in the calculations.
-%
-%   Remember that arguments
-%   may contain expensive macros or \eTeX\ expressions.
-%   This strategy avoids multiple evaluations of such
-%   arguments.
-% \end{itemize}
-%
-% \subsection{Error handling}
-%
-% There are two kinds of errors if a precondition is violated:
-% Some errors are detected by the macros, example: division by zero.
-% In this cases an undefined control sequence is called and causes
-% a TeX error message, example: \cs{IntCalcError:DivisionByZero}.
-% The name of the control sequence contains
-% the reason for the error. The \TeX\ error may be ignored.
-% Then the operation returns zero as result.
-% Because the macros are supposed to work in expandible contexts.
-% An traditional error message, however, is not expandable and
-% would break these contexts.
-%
-% If a number exceeds the range of -2147483647 until 2147483647, then
-% \TeX\ throws an error ``Number too big'' and recovers by
-% using biggest allowed value.
-% Example for the negative number -3000000000 is replaced
-% by -2147483647.
-%
-% \subsection{Operations}
-%
-% Some definition equations below use the function $\opInt$
-% that converts a real number to an integer. The number
-% is truncated that means rounding to zero:
-% \begin{gather*}
-%   \opInt(x) \Def
-%   \begin{cases}
-%     \lfloor x\rfloor & \text{if $x\geq0$}\\
-%     \lceil x\rceil & \text{otherwise}
-%   \end{cases}
-% \end{gather*}
-%
-% \subsubsection{\op{Num}}
-%
-% \begin{declcs}{intcalcNum} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcNum} converts its argument to a normalized integer
-% number without unnecessary leading zeros or signs.
-% The result matches the regular expression:
-%\begin{quote}
-%\begin{verbatim}
-%0|-?[1-9][0-9]*
-%\end{verbatim}
-%\end{quote}
-%
-% \subsubsection{\op{Inv}, \op{Abs}, \op{Sgn}}
-%
-% \begin{declcs}{intcalcInv} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcInv} switches the sign.
-% \begin{gather*}
-%   \opInv(x) \Def -x
-% \end{gather*}
-%
-% \begin{declcs}{intcalcAbs} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcAbs} returns the absolute value
-% of integer \meta{x}.
-% \begin{gather*}
-%   \opAbs(x) \Def \vert x\vert
-% \end{gather*}
-%
-% \begin{declcs}{intcalcSgn} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcSgn} encodes the sign of \meta{x} as number.
-% \begin{gather*}
-%   \opSgn(x) \Def
-%   \begin{cases}
-%     -1& \text{if $x<0$}\\
-%      0& \text{if $x=0$}\\
-%      1& \text{if $x>0$}
-%   \end{cases}
-% \end{gather*}
-% These return values can easily be distinguished by \cs{ifcase}:
-%\begin{quote}
-%\begin{verbatim}
-%\ifcase\intcalcSgn{<x>}
-%  $x=0$
-%\or
-%  $x>0$
-%\else
-%  $x<0$
-%\fi
-%\end{verbatim}
-%\end{quote}
-%
-% \subsubsection{\op{Min}, \op{Max}, \op{Cmp}}
-%
-% \begin{declcs}{intcalcMin} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcMin} returns the smaller of the two integers.
-% \begin{gather*}
-%   \opMin(x,y) \Def
-%   \begin{cases}
-%     x & \text{if $x<y$}\\
-%     y & \text{otherwise}
-%   \end{cases}
-% \end{gather*}
-%
-% \begin{declcs}{intcalcMax} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcMax} returns the larger of the two integers.
-% \begin{gather*}
-%   \opMax(x,y) \Def
-%   \begin{cases}
-%     x & \text{if $x>y$}\\
-%     y & \text{otherwise}
-%   \end{cases}
-% \end{gather*}
-%
-% \begin{declcs}{intcalcCmp} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcCmp} encodes the comparison result as number:
-% \begin{gather*}
-%   \opCmp(x,y) \Def
-%   \begin{cases}
-%     -1 & \text{if $x<y$}\\
-%      0 & \text{if $x=y$}\\
-%      1 & \text{if $x>y$}
-%   \end{cases}
-% \end{gather*}
-% These values can be distinguished by \cs{ifcase}:
-%\begin{quote}
-%\begin{verbatim}
-%\ifcase\intcalcCmp{<x>}{<y>}
-%  $x=y$
-%\or
-%  $x>y$
-%\else
-%  $x<y$
-%\fi
-%\end{verbatim}
-%\end{quote}
-%
-% \subsubsection{\op{Inc}, \op{Dec}, \op{Add}, \op{Sub}}
-%
-% \begin{declcs}{intcalcInc} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcInc} increments \meta{x} by one.
-% \begin{gather*}
-%   \opInc(x) \Def x + 1
-% \end{gather*}
-%
-% \begin{declcs}{intcalcDec} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcDec} decrements \meta{x} by one.
-% \begin{gather*}
-%   \opDec(x) \Def x - 1
-% \end{gather*}
-%
-% \begin{declcs}{intcalcAdd} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcAdd} adds the two numbers.
-% \begin{gather*}
-%   \opAdd(x, y) \Def x + y
-% \end{gather*}
-%
-% \begin{declcs}{intcalcSub} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcSub} calculates the difference.
-% \begin{gather*}
-%   \opSub(x, y) \Def x - y
-% \end{gather*}
-%
-% \subsubsection{\op{Shl}, \op{Shr}}
-%
-% \begin{declcs}{intcalcShl} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcShl} implements shifting to the left that
-% means the number is multiplied by two. Overflow is possible.
-% The sign is preserved.
-% \begin{gather*}
-%   \opShl(x) \Def x*2
-% \end{gather*}
-%
-% \begin{declcs}{intcalcShr} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcShr} implements shifting to the right.
-% That is equivalent to an integer division by two.
-% The sign is preserved.
-% \begin{gather*}
-%   \opShr(x) \Def \opInt(x/2)
-% \end{gather*}
-%
-% \subsubsection{\op{Mul}, \op{Sqr}, \op{Fac}, \op{Pow}}
-%
-% \begin{declcs}{intcalcMul} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcMul} calculates the product of
-% \meta{x} and \meta{y}.
-% \begin{gather*}
-%   \opMul(x,y) \Def x*y
-% \end{gather*}
-%
-% \begin{declcs}{intcalcSqr} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcSqr} returns the square product.
-% \begin{gather*}
-%   \opSqr(x) \Def x^2
-% \end{gather*}
-%
-% \begin{declcs}{intcalcFac} \M{x}
-% \end{declcs}
-% Macro \cs{intcalcFac} returns the factorial of \meta{x}.
-% Negative numbers are not permitted.
-% \begin{gather*}
-%   \opFac(x) \Def x!\qquad\text{for $x\geq0$}
-% \end{gather*}
-% ($0! = 1$)
-%
-% \begin{declcs}{intcalcPow} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcPow} calculates the value of \meta{x} to the
-% power of \meta{y}. The error ``division by zero'' is thrown
-% if \meta{x} is zero and \meta{y} is negative.
-% permitted:
-% \begin{gather*}
-%   \opPow(x,y) \Def
-%   \opInt(x^y)\qquad\text{for $x\neq0$ or $y\geq0$}
-% \end{gather*}
-% ($0^0 = 1$)
-%
-% \subsubsection{\op{Div}, \op{Mod}}
-%
-% \begin{declcs}{intcalcDiv} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcDiv} performs an integer division.
-% Argument \meta{y} must not be zero.
-% \begin{gather*}
-%   \opDiv(x,y) \Def \opInt(x/y)\qquad\text{for $y\neq0$}
-% \end{gather*}
-%
-% \begin{declcs}{intcalcMod} \M{x} \M{y}
-% \end{declcs}
-% Macro \cs{intcalcMod} gets the remainder of the integer
-% division. The sign follows the divisor \meta{y}.
-% Argument \meta{y} must not be zero.
-% \begin{gather*}
-%   \opMod(x,y) \Def x\mathrel{\%}y\qquad\text{for $y\neq0$}
-% \end{gather*}
-% The result ranges:
-% \begin{gather*}
-%   -\vert y\vert < \opMod(x,y) \leq 0\qquad\text{for $y<0$}\\
-%   0 \leq \opMod(x,y) < y\qquad\text{for $y\geq0$}
-% \end{gather*}
-%
-% \subsection{Interface for programmer}
-%
-% If the programmer can ensure some more properties about
-% the arguments of the operations, then the following
-% macros are a little more efficient.
-%
-% In general numbers must obey the following constraints:
-% \begin{itemize}
-% \item Plain number: digit tokens only, no command tokens.
-% \item Non-negative. Signs are forbidden.
-% \item Arguments and the result must fit in range |0..2147483647|.
-% \item Delimited by exclamation mark. Curly braces
-%       around the number are not allowed and will
-%       break the code.
-% \end{itemize}
-%
-% \begin{declcs}{IntCalcInc} \meta{number} |!|
-% \end{declcs}
-% Incrementation, range: |0..2147483646|.
-%
-% \begin{declcs}{IntCalcDec} \meta{number} |!|
-% \end{declcs}
-% Decrementation, range: |1..2147483647|.
-%
-% \begin{declcs}{IntCalcAdd} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Addition, $A\geq B$.
-%
-% \begin{declcs}{IntCalcSub} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Subtraction, $A\geq B$.
-%
-% \begin{declcs}{IntCalcShl} \meta{number} |!|
-% \end{declcs}
-% Left shift (multiplication with two), range: |0..1073741823|.
-%
-% \begin{declcs}{IntCalcShr} \meta{number} |!|
-% \end{declcs}
-% Right shift (integer division by two).
-%
-% \begin{declcs}{IntCalcMul} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Multiplication, $A\geq B$.
-%
-% \begin{declcs}{IntCalcDiv} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Division operation.
-%
-% \begin{declcs}{IntCalcMod} \meta{number A} |!| \meta{number B} |!|
-% \end{declcs}
-% Modulo operation.
-%
-%
-% \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 intcalc.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{intcalc}{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 intcalc.sty\endcsname
-\ProvidesPackage{intcalc}%
-  [2016/05/16 v1.2 Expandable calculations with integers (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 InCa 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\InCa at AtEnd{%
-    \InCa at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{45}{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!)
-\edef\InCa at AtEnd{\InCa at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname InCa at TestMode\endcsname\relax
-\else
-  \catcode63=9 % ? (ignore)
-\fi
-? \let\InCa@@TestMode\InCa at TestMode
-%    \end{macrocode}
-%
-% \subsection{Macros independent of \eTeX}
-%
-% \subsubsection{\op{Abs}, \op{Sgn}}
-%
-%    \begin{macro}{\InCa at Abs}
-%    \begin{macrocode}
-\def\InCa at Abs#1#2!{%
-  \ifx#1-%
-    #2%
-  \else
-    #1#2%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at Sgn}
-%    \begin{macrocode}
-\def\InCa at Sgn#1#2!{%
-  \ifx#1-%
-    -1%
-  \else
-    \ifx#10%
-      0%
-    \else
-      1%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Min}, \op{Max}, \op{Cmp}}
-%
-%    \begin{macro}{\InCa at Min}
-%    \begin{macrocode}
-\def\InCa at Min#1!#2!{%
-  \ifnum#1<#2 %
-    #1%
-  \else
-    #2%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at Max}
-%    \begin{macrocode}
-\def\InCa at Max#1!#2!{%
-  \ifnum#1>#2 %
-    #1%
-  \else
-    #2%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at Cmp}
-%    \begin{macrocode}
-\def\InCa at Cmp#1!#2!{%
-  \ifnum#1=#2 %
-    0%
-  \else
-    \ifnum#1<#2 %
-      -%
-    \fi
-    1%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Fac}}
-%
-%    \begin{macro}{\InCa at Fac}
-%    It does not make much sense to calculate the
-%    faculty by an general algorithm. The allowed
-%    range of arguments is too low because of the
-%    limited integer domain.
-%    \begin{macrocode}
-\def\InCa at Fac#1!{%
-  \ifcase#1 1% 0!
-  \or 1% 1!
-  \or 2% 2!
-  \or 6% 3!
-  \or 24% 4!
-  \or 120% 5!
-  \or 720% 6!
-  \or 5040% 7!
-  \or 40320% 8!
-  \or 362880% 9!
-  \or 3628800% 10!
-  \or 39916800% 11!
-  \or 479001600% 12!
-  \else
-    \ifnum#1<\z@
-      0\IntCalcError:FacNegative%
-    \else
-      0\IntCalcError:FacOverflow%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Implementation based on \eTeX}
-%
-%    Only \cs{numexpr} is used from \eTeX.
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-\else
-%    \end{macrocode}
-%
-% \subsubsection{\op{Num}}
-%
-%    \begin{macro}{\intcalcNum}
-%    \begin{macrocode}
-  \def\intcalcNum#1{%
-    \the\numexpr#1\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Inv}, \op{Abs}, \op{Sgn}}
-%
-%    \begin{macro}{\intcalcInv}
-%    \begin{macrocode}
-  \def\intcalcInv#1{%
-    \number-\intcalcNum{#1} %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcAbs}
-%    \begin{macrocode}
-  \def\intcalcAbs#1{%
-    \number\expandafter\InCa at Abs\the\numexpr#1! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcSgn}
-%    \begin{macrocode}
-  \def\intcalcSgn#1{%
-    \number\expandafter\InCa at Sgn\the\numexpr#1! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Min}, \op{Max}, \op{Cmp}}
-%
-%    \begin{macro}{\intcalcMin}
-%    \begin{macrocode}
-  \def\intcalcMin#1#2{%
-    \number\expandafter\InCa at Min
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcMax}
-%    \begin{macrocode}
-  \def\intcalcMax#1#2{%
-    \number\expandafter\InCa at Max
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcCmp}
-%    \begin{macrocode}
-  \def\intcalcCmp#1#2{%
-    \number\expandafter\InCa at Cmp
-    \the\numexpr#1\expandafter!\the\numexpr#2! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Inc}, \op{Dec}}
-%
-%    \begin{macro}{\intcalcInc}
-%    \begin{macrocode}
-  \def\intcalcInc#1{%
-    \the\numexpr#1+1\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcDec}
-%    \begin{macrocode}
-  \def\intcalcDec#1{%
-    \the\numexpr#1-1\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\IntCalcInc}
-%    \begin{macrocode}
-  \def\IntCalcInc#1!{%
-    \the\numexpr#1+1\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcDec}
-%    \begin{macrocode}
-  \def\IntCalcDec#1!{%
-    \the\numexpr#1-1\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Add}, \op{Sub}}
-%
-%    \begin{macro}{\intcalcAdd}
-%    \begin{macrocode}
-  \def\intcalcAdd#1#2{%
-    \the\numexpr#1+(#2)\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcSub}
-%    \begin{macrocode}
-  \def\intcalcSub#1#2{%
-    \the\numexpr#1-(#2)\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\IntCalcAdd}
-%    \begin{macrocode}
-  \def\IntCalcAdd#1!#2!{%
-    \the\numexpr#1+#2\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\IntCalcSub}
-%    \begin{macrocode}
-  \def\IntCalcSub#1!#2!{%
-    \the\numexpr#1-#2\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Shl}, \op{Shr}}
-%
-%    \begin{macro}{\intcalcShl}
-%    \begin{macrocode}
-  \def\intcalcShl#1{%
-    \the\numexpr(#1)*2\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcShr}
-%    \begin{macrocode}
-  \def\intcalcShr#1{%
-    \number\expandafter\InCa at Shr\the\numexpr#1! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcShl}
-%    \begin{macrocode}
-  \def\IntCalcShl#1!{%
-    \the\numexpr#1*2\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\IntCalcShr}
-%    \begin{macrocode}
-  \def\IntCalcShr#1!{%
-    \the\numexpr\ifodd#1 (#1-1)\else#1\fi/2\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Shr}
-%    \begin{macrocode}
-  \def\InCa at Shr#1#2!{%
-    \ifx#1-%
-      -\InCa at Shr#2!%
-    \else
-      \ifodd#1#2 %
-        \the\numexpr(#1#2-1)/2\relax
-      \else
-        \the\numexpr#1#2/2\relax
-      \fi
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Mul}, \op{Sqr}, \op{Fac}}
-%
-%    \begin{macro}{\intcalcMul}
-%    \begin{macrocode}
-  \def\intcalcMul#1#2{%
-    \the\numexpr(#1)*(#2)\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcMul}
-%    \begin{macrocode}
-  \def\IntCalcMul#1!#2!{%
-    \the\numexpr#1*#2\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcSqr}
-%    \begin{macrocode}
-  \def\intcalcSqr#1{%
-    \number\expandafter\InCa at Sqr\the\numexpr#1! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Sqr}
-%    \begin{macrocode}
-  \def\InCa at Sqr#1!{%
-    \the\numexpr#1*#1\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcFac}
-%    \begin{macrocode}
-  \def\intcalcFac#1{%
-    \number\expandafter\InCa at Fac\the\numexpr#1! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Pow}}
-%
-%    \begin{macro}{\intcalcPow}
-%    \begin{macrocode}
-  \def\intcalcPow#1#2{%
-    \number\expandafter\InCa at Pow
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Pow}
-%    \begin{macrocode}
-  \def\InCa at Pow#1#2!#3#4!{%
-    \ifcase#3#4 % power = 0
-      1%
-    \or % power = 1
-      #1#2%
-    \or % power = 2
-      \the\numexpr#1#2*#1#2\relax
-    \else
-      \ifcase#1#2 % basis = 0, power <> 0
-        0%
-        \ifx#3-% power < 0
-          0\IntCalcError:DivisionByZero%
-        \fi
-      \or
-        1% basis = 1
-      \else
-        \ifnum#1#2=\m at ne % basis = -1
-          \ifodd#3#4 %
-            -%
-          \fi
-          1%
-        \else % |basis| > 1
-          \ifx#3-% power < 0
-            0%
-          \else % power > 2
-            \InCa at PowRec#1#2!#3#4!1!%
-          \fi
-        \fi
-      \fi
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at PowRec}
-%\begin{quote}
-%\begin{verbatim}
-%Pow(b, p) {
-%  PowRec(b, p, 1)
-%}
-%PowRec(b, p, r) {
-%  if p == 1 then
-%    return r*b
-%  else
-%    ifodd p then
-%      return PowRec(b*b, (p-1)/2, r*b) % p div 2 = (p-1)/2
-%    else
-%      return PowRec(b*b, (p-1)/2, r)
-%    fi
-%  fi
-%}
-%\end{verbatim}
-%\end{quote}
-%    \begin{macrocode}
-  \def\InCa at PowRec#1!#2!#3!{%
-    \ifnum#2=\@ne
-      \the\numexpr#1*#3\relax
-    \else
-      \ifodd#2 %
-        \expandafter\InCa at PowRec
-        \the\numexpr#1*#1\expandafter!%
-        \the\numexpr(#2-1)/2\expandafter!%
-        \the\numexpr#1*#3\expandafter\expandafter\expandafter!%
-      \else
-        \expandafter\InCa at PowRec
-        \the\numexpr#1*#1\expandafter!%
-        \the\numexpr(#2-1)/2\expandafter!%
-        \number#3\expandafter\expandafter\expandafter!%
-      \fi
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Div}, \op{Mod}}
-%
-%    \TeX's \cs{divide} truncates,
-%    \eTeX's \cs{numexpr} rounds the result of a division.
-%    The rounding method is called ``Symmetric Arithmetic Rounding''
-%    or ``Round-Half-Up'' (``Kaufm\"annisches Runden'' in German):
-%    \begin{quote}
-%    | 1 =  3 divide 2 =  1.5 = numexpr  3/2 =  2|\\
-%    |-1 = -3 divide 2 = -1.5 = numexpr -3/2 = -2|
-%    \end{quote}
-%    Macro \cs{intcalcDiv} follows \TeX\ and truncates.
-%    The calculation is done by the following formula:
-%    \begin{gather}
-%      \opDiv(X,Y) = (X - (Y-1)/2)/Y\qquad\text{for $X, Y > 0$}
-%    \end{gather}
-%    The operator `/' is \cs{numexpr}'s division.
-%    \begin{macro}{\intcalcDiv}
-%    \begin{macrocode}
-  \def\intcalcDiv#1#2{%
-    \number\expandafter\InCa at Div
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Div}
-%    \begin{macrocode}
-  \def\InCa at Div#1!#2!{%
-    \ifcase#2 %
-      0\IntCalcError:DivisionByZero%
-    \else
-      \ifcase#1 %
-        0%
-      \else
-        \expandafter\InCa@@Div
-        \romannumeral 0%
-        \ifnum#1<\z@
-          \expandafter-\number-#1%
-        \else
-          \expandafter+\number#1%
-        \fi
-        \expandafter!%
-        \romannumeral 0%
-        \ifnum#2<\z@
-          \expandafter-\number-#2%
-        \else
-          \expandafter+\number#2%
-        \fi
-        !%
-      \fi
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcDiv}
-%    \begin{macrocode}
-  \def\InCa at Temp#1{%
-    \def\IntCalcDiv##1!##2!{%
-      \number
-      \ifcase##2 %
-        0\IntCalcError:DivisionByZero%
-      \else
-        \ifcase##1 %
-          0%
-        \else
-          \the\numexpr(##1-(##2-1)/2)/##2\relax
-        \fi
-      \fi
-      #1%
-    }%
-  }%
-  \InCa at Temp{ }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa@@Div}
-%    \begin{macrocode}
-  \def\InCa@@Div#1#2!#3#4!{%
-    #1#3%
-    \the\numexpr(#2-(#4-1)/2)/#4\relax
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcMod}
-%    \begin{macrocode}
-  \def\intcalcMod#1#2{%
-    \number\expandafter\InCa at Mod
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Mod}
-%    \begin{macrocode}
-  \def\InCa at Mod#1!#2!{%
-    \ifcase#2 %
-      0\IntCalcError:DivisionByZero%
-    \else
-      \ifcase#1 %
-        0%
-      \else
-        \expandafter\InCa@@Mod
-        \romannumeral 0%
-        \ifnum#1<\z@
-          \expandafter-\number-#1%
-        \else
-          \expandafter+\number#1%
-        \fi
-        \expandafter!%
-        \romannumeral 0%
-        \ifnum#2<\z@
-          \expandafter-\number-#2%
-        \else
-          \expandafter+\number#2%
-        \fi
-        !%
-      \fi
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcMod}
-%    \begin{macrocode}
-  \def\InCa at Temp#1{%
-    \def\IntCalcMod##1!##2!{%
-      \number
-      \ifcase##2 %
-        0\IntCalcError:DivisionByZero%
-      \else
-        \ifcase##1 %
-          0%
-        \else
-          \the\numexpr##1-(##1-(##2-1)/2)/##2*##2\relax
-        \fi
-      \fi
-      #1%
-    }%
-  }%
-  \InCa at Temp{ }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa@@Mod}
-%    \begin{macrocode}
-  \def\InCa@@Mod#1#2!#3#4!{%
-    \if#3+%
-      \if#1+%
-        \the\numexpr#2-\InCa@@Div+#2!+#4!*#4\relax
-      \else
-        \expandafter\InCa at ModX
-        \the\numexpr-#2+\InCa@@Div+#2!+#4!*#4!#4!%
-      \fi
-    \else
-      -%
-      \if#1+%
-        \expandafter\InCa at ModX
-        \the\numexpr-#2+\InCa@@Div+#2!+#4!*#4!#4!%
-      \else
-        \the\numexpr#2-\InCa@@Div+#2!+#4!*#4\relax
-      \fi
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ModX}
-%    \begin{macrocode}
-  \def\InCa at ModX#1!#2!{%
-    \ifcase#1 %
-      0%
-    \else
-      \the\numexpr#1+#2\relax
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-  \expandafter\InCa at AtEnd
-\fi%
-%    \end{macrocode}
-%
-% \subsection{Implementation without \eTeX}
-%
-% \subsubsection{\op{Num}}
-%
-%    \begin{macro}{\intcalcNum}
-%    \begin{macrocode}
-\def\intcalcNum#1{%
-  \number\expandafter\InCa at FirstOfOne\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Inv}, \op{Abs}, \op{Sgn}}
-%
-%    \begin{macro}{\intcalcInv}
-%    \begin{macrocode}
-\def\intcalcInv#1{%
-  \number\expandafter\InCa at FirstOfOne\number-#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at FirstOfOne}
-%    \begin{macrocode}
-\def\InCa at FirstOfOne#1!{#1}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcAbs}
-%    \begin{macrocode}
-\def\intcalcAbs#1{%
-  \number\expandafter\InCa at Abs\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcSgn}
-%    \begin{macrocode}
-\def\intcalcSgn#1{%
-  \number\expandafter\InCa at Sgn\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Min}, \op{Max}, \op{Cmp}}
-%
-%    \begin{macro}{\intcalcMin}
-%    \begin{macrocode}
-\def\intcalcMin#1#2{%
-  \number\expandafter\InCa at Min
-  \number\number#1\expandafter!\number#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcMax}
-%    \begin{macrocode}
-\def\intcalcMax#1#2{%
-  \number\expandafter\InCa at Max
-  \number\number#1\expandafter!\number#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcCmp}
-%    \begin{macrocode}
-\def\intcalcCmp#1#2{%
-  \number\expandafter\InCa at Cmp
-  \number\number#1\expandafter!\number#2! %
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Inc}, \op{Dec}}
-%
-%    \begin{macro}{\intcalcInc}
-%    \begin{macrocode}
-\def\intcalcInc#1{%
-  \number\expandafter\InCa at IncSwitch\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at IncSwitch}
-%    \begin{macrocode}
-\def\InCa at IncSwitch#1#2!{%
-  \ifx#1-%
-    -%
-    \csname InCa at Empty%
-    \InCa at Dec#2!%
-  \else
-    \csname InCa at Empty%
-    \InCa at Inc#1#2!%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\intcalcDec}
-%    \begin{macrocode}
-\def\intcalcDec#1{%
-  \number\expandafter\InCa at DecSwitch\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at DecSwitch}
-%    \begin{macrocode}
-\def\InCa at DecSwitch#1#2!{%
-  \ifx#1-%
-    -%
-    \csname InCa at Empty%
-    \expandafter\InCa at Inc#2!%
-  \else
-    \ifx#10%
-      -1%
-    \else
-      \csname InCa at Empty%
-      \InCa at Dec#1#2!%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\IntCalcInc}
-%    \begin{macrocode}
-\def\IntCalcInc#1!{%
-  \number\csname InCa at Empty\InCa at Inc#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcDec}
-%    \begin{macrocode}
-\def\IntCalcDec#1!{%
-  \number\csname InCa at Empty\InCa at Dec#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at Inc}
-%    \begin{macrocode}
-\def\InCa at Inc#1#2{%
-  \ifx#2!%
-    \csname InCa at IncDigit#1\endcsname1%
-  \else
-    \csname InCa at IncDigit#1%
-    \expandafter\InCa at Inc\expandafter#2%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at IncDigit[0-8]}
-%    \begin{macrocode}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at IncDigit#1\endcsname##1{%
-    \endcsname
-    0%
-    \ifcase##1 %
-      #1%
-    \else
-      #2%
-    \fi
-  }%
-}
-\InCa at Temp 01
-\InCa at Temp 12
-\InCa at Temp 23
-\InCa at Temp 34
-\InCa at Temp 45
-\InCa at Temp 56
-\InCa at Temp 67
-\InCa at Temp 78
-\InCa at Temp 89
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at IncDigit9}
-%    \begin{macrocode}
-\expandafter\def\csname InCa at IncDigit9\endcsname#1{%
-  \expandafter\endcsname
-  \ifcase#1 %
-    09%
-  \else
-    10%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at Dec}
-%    \begin{macrocode}
-\def\InCa at Dec#1#2{%
-  \ifx#2!%
-    \csname InCa at DecDigit#1\endcsname1%
-  \else
-    \csname InCa at DecDigit#1%
-    \expandafter\InCa at Dec\expandafter#2%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at DecDigit[1-9]}
-%    \begin{macrocode}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at DecDigit#1\endcsname##1{%
-    \endcsname
-    0%
-    \ifcase##1 %
-      #1%
-    \else
-      #2%
-    \fi
-  }%
-}
-\InCa at Temp 98
-\InCa at Temp 87
-\InCa at Temp 76
-\InCa at Temp 65
-\InCa at Temp 54
-\InCa at Temp 43
-\InCa at Temp 32
-\InCa at Temp 21
-\InCa at Temp 10
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at DecDigit0}
-%    \begin{macrocode}
-\expandafter\def\csname InCa at DecDigit0\endcsname#1{%
-  \expandafter\endcsname
-  \ifcase#1 %
-    00%
-  \else
-    19%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Add}, \op{Sub}}
-%
-%    \begin{macro}{\intcalcAdd}
-%    \begin{macrocode}
-\def\intcalcAdd#1#2{%
-  \number
-    \expandafter\InCa at AddSwitch
-    \number\number#1\expandafter!%
-    \number#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\intcalcSub}
-%    \begin{macrocode}
-\def\intcalcSub#1#2{%
-  \number
-    \expandafter\InCa at AddSwitch
-    \number\number#1\expandafter!%
-    \number-\number#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at AddSwitch}
-%    Decision table for \cs{InCa at AddSwitch}.
-%    The sign of negative numbers can be removed
-%    by a simple \cs{@gobble}
-%    instead of the more expensive |\number-|.
-%    \begin{quote}
-%    \begin{tabular}[t]{@{}|l|l|l|l|l|@{}}
-%      \hline
-%      $x<0$ & $y<0$ & $ x< y$ & $-$ & $\opAdd(-x,-y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opAdd(-y,-x)$\\
-%      \cline{2-5}
-%            & else  & $-x> y$ & $-$ & $\opSub(-x, y)$\\
-%      \cline{3-5}
-%            &       & else    & $+$ & $\opSub( y,-x)$\\
-%      \hline
-%      else  & $y<0$ & $ x>-y$ & $+$ & $\opSub( x,-y)$\\
-%      \cline{3-5}
-%            &       & else    & $-$ & $\opSub(-y, x)$\\
-%      \cline{2-5}
-%            & else  & $ x> y$ & $+$ & $\opAdd( x, y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opAdd( y, x)$\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\InCa at AddSwitch#1!#2!{%
-  \ifnum#1<\z@
-    \ifnum#2<\z@
-      -%
-      \ifnum#1<#2 %
-        \expandafter\InCa at Add\number-#1\expandafter!%
-        \@gobble#2!%
-      \else
-        \expandafter\InCa at Add\number-#2\expandafter!%
-        \@gobble#1!%
-      \fi
-    \else
-      \ifnum-#1>#2 %
-        -%
-        \expandafter\InCa at Sub\@gobble#1!#2!%
-      \else
-        \expandafter\InCa at Sub\number#2\expandafter!%
-        \@gobble#1!%
-      \fi
-    \fi
-  \else
-    \ifnum#2<\z@
-      \ifnum#1>-#2 %
-        \expandafter\InCa at Sub\number#1\expandafter!%
-        \@gobble#2!%
-      \else
-        -%
-        \expandafter\InCa at Sub\@gobble#2!#1!%
-      \fi
-    \else
-      \ifnum#1>#2 %
-        \InCa at Add#1!#2!%
-      \else
-        \InCa at Add#2!#1!%
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcAdd}
-%    \begin{macrocode}
-\def\IntCalcAdd#1!#2!{%
-  \number\InCa at Add#1!#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcSub}
-%    \begin{macrocode}
-\def\IntCalcSub#1!#2!{%
-  \number\InCa at Sub#1!#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Space}
-%    \begin{macrocode}
-\begingroup
-  \def\x#1{\endgroup
-    \let\InCa at Space= #1%
-  }%
-\x{ }
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Add}
-%    \begin{macrocode}
-\def\InCa at Add#1!#2!{%
-  \ifcase#2 %
-    #1%
-  \else
-    \InCa@@Add#1!#2!000000000\InCa at Space
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Sub}
-%    \begin{macrocode}
-\def\InCa at Sub#1!#2!{%
-  \ifnum#1=#2 %
-    0%
-  \else
-    \InCa@@Sub#1!#2!000000000\InCa at Space
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa@@Add}
-%    \begin{macrocode}
-\def\InCa@@Add#1!#2#3!{%
-  \ifx\InCa at Empty#3\InCa at Empty
-    \@ReturnAfterElseFi{%
-      \InCa@@@Add!!#1!#2%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@Add#1!#3!#2%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa@@Sub}
-%    \begin{macrocode}
-\def\InCa@@Sub#1!#2#3!{%
-  \ifx\InCa at Empty#3\InCa at Empty
-    \@ReturnAfterElseFi{%
-      \InCa@@@Sub!!#1!#2%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@Sub#1!#3!#2%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa@@@Add}
-%    \begin{macrocode}
-\def\InCa@@@Add#1!#2!#3#4!#5{%
-  \ifx\InCa at Empty#4\InCa at Empty
-    \csname InCa at Empty%
-    \@ReturnAfterElseFi{%
-      \InCa at ProcessAdd#1#3!#5#2%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@@Add#1#3!#5#2!#4!%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa@@@Sub}
-%    \begin{macrocode}
-\def\InCa@@@Sub#1!#2!#3#4!#5{%
-  \ifx\InCa at Empty#4\InCa at Empty
-    \csname @gobble%
-    \@ReturnAfterElseFi{%
-      \InCa at ProcessSub#1#3!#5#2%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@@Sub#1#3!#5#2!#4!%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at ProcessAdd}
-%    \begin{macrocode}
-\def\InCa at ProcessAdd#1#2!#3#4{%
-  \ifx\InCa at Empty#2\InCa at Empty
-    \csname InCa at AddDigit#1\endcsname#3%
-    \romannumeral0#4%
-  \else
-    \csname InCa at AddDigit#1\csname InCa at DigitCarry#3%
-    \@ReturnAfterFi{%
-      \InCa at ProcessAdd#2!#4%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ProcessSub}
-%    \begin{macrocode}
-\def\InCa at ProcessSub#1#2!#3#4{%
-  \ifx\InCa at Empty#2\InCa at Empty
-    \csname InCa at SubDigit#1\endcsname#3%
-    \romannumeral0#4%
-  \else
-    \csname InCa at SubDigit#1\csname InCa at DigitCarry#3%
-    \@ReturnAfterFi{%
-      \InCa at ProcessSub#2!#4%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at DigitCarry[0-9]}
-%    \begin{macrocode}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at DigitCarry#1\endcsname##1{%
-    \ifcase##1 %
-      \endcsname#1%
-    \else
-      \endcsname#2%
-    \fi
-  }%
-}
-\InCa at Temp 01
-\InCa at Temp 12
-\InCa at Temp 23
-\InCa at Temp 34
-\InCa at Temp 45
-\InCa at Temp 56
-\InCa at Temp 67
-\InCa at Temp 78
-\InCa at Temp 89
-\InCa at Temp 9{{10}}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at AddDigit0}
-%    \begin{macrocode}
-\expandafter\def\csname InCa at AddDigit0\endcsname#1{%
-  \ifnum#1>9 %
-    \endcsname10%
-  \else
-    \endcsname0#1%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at AddDigit[1-9]}
-%    \begin{macrocode}
-\def\InCa at Temp#1#2#3{%
-  \expandafter\def\csname InCa at AddDigit#1\endcsname##1{%
-    \ifnum##1>#2 %
-      \endcsname 1%
-    \else
-      \endcsname 0%
-    \fi
-    \ifcase##1 #1% 0
-    #3%
-    \else #1% 10
-    \fi
-  }%
-}
-\InCa at Temp 18{%
-  \or 2% 1
-  \or 3% 2
-  \or 4% 3
-  \or 5% 4
-  \or 6% 5
-  \or 7% 6
-  \or 8% 7
-  \or 9% 8
-  \or 0% 9
-}%
-\InCa at Temp 27{%
-  \or 3% 1
-  \or 4% 2
-  \or 5% 3
-  \or 6% 4
-  \or 7% 5
-  \or 8% 6
-  \or 9% 7
-  \or 0% 8
-  \or 1% 9
-}%
-\InCa at Temp 36{%
-  \or 4% 1
-  \or 5% 2
-  \or 6% 3
-  \or 7% 4
-  \or 8% 5
-  \or 9% 6
-  \or 0% 7
-  \or 1% 8
-  \or 2% 9
-}%
-\InCa at Temp 45{%
-  \or 5% 1
-  \or 6% 2
-  \or 7% 3
-  \or 8% 4
-  \or 9% 5
-  \or 0% 6
-  \or 1% 7
-  \or 2% 8
-  \or 3% 9
-}%
-\InCa at Temp 54{%
-  \or 6% 1
-  \or 7% 2
-  \or 8% 3
-  \or 9% 4
-  \or 0% 5
-  \or 1% 6
-  \or 2% 7
-  \or 3% 8
-  \or 4% 9
-}%
-\InCa at Temp 63{%
-  \or 7% 1
-  \or 8% 2
-  \or 9% 3
-  \or 0% 4
-  \or 1% 5
-  \or 2% 6
-  \or 3% 7
-  \or 4% 8
-  \or 5% 9
-}%
-\InCa at Temp 72{%
-  \or 8% 1
-  \or 9% 2
-  \or 0% 3
-  \or 1% 4
-  \or 2% 5
-  \or 3% 6
-  \or 4% 7
-  \or 5% 8
-  \or 6% 9
-}%
-\InCa at Temp 81{%
-  \or 9% 1
-  \or 0% 2
-  \or 1% 3
-  \or 2% 4
-  \or 3% 5
-  \or 4% 6
-  \or 5% 7
-  \or 6% 8
-  \or 7% 9
-}%
-\InCa at Temp 90{%
-  \or 0% 1
-  \or 1% 2
-  \or 2% 3
-  \or 3% 4
-  \or 4% 5
-  \or 5% 6
-  \or 6% 7
-  \or 7% 8
-  \or 8% 9
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at SubDigit[0-9]}
-%    \begin{macrocode}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at SubDigit#1\endcsname##1{%
-    \ifnum##1>#1 %
-      \endcsname 1%
-    \else
-      \endcsname 0%
-    \fi
-    \ifcase##1 #1% 0
-    #2%
-    \else #1% 10
-    \fi
-  }%
-}
-\InCa at Temp 0{%
-  \or 9% 1
-  \or 8% 2
-  \or 7% 3
-  \or 6% 4
-  \or 5% 5
-  \or 4% 6
-  \or 3% 7
-  \or 2% 8
-  \or 1% 9
-}
-\InCa at Temp 1{%
-  \or 0% 1
-  \or 9% 2
-  \or 8% 3
-  \or 7% 4
-  \or 6% 5
-  \or 5% 6
-  \or 4% 7
-  \or 3% 8
-  \or 2% 9
-}
-\InCa at Temp 2{%
-  \or 1% 1
-  \or 0% 2
-  \or 9% 3
-  \or 8% 4
-  \or 7% 5
-  \or 6% 6
-  \or 5% 7
-  \or 4% 8
-  \or 3% 9
-}
-\InCa at Temp 3{%
-  \or 2% 1
-  \or 1% 2
-  \or 0% 3
-  \or 9% 4
-  \or 8% 5
-  \or 7% 6
-  \or 6% 7
-  \or 5% 8
-  \or 4% 9
-}
-\InCa at Temp 4{%
-  \or 3% 1
-  \or 2% 2
-  \or 1% 3
-  \or 0% 4
-  \or 9% 5
-  \or 8% 6
-  \or 7% 7
-  \or 6% 8
-  \or 5% 9
-}
-\InCa at Temp 5{%
-  \or 4% 1
-  \or 3% 2
-  \or 2% 3
-  \or 1% 4
-  \or 0% 5
-  \or 9% 6
-  \or 8% 7
-  \or 7% 8
-  \or 6% 9
-}
-\InCa at Temp 6{%
-  \or 5% 1
-  \or 4% 2
-  \or 3% 3
-  \or 2% 4
-  \or 1% 5
-  \or 0% 6
-  \or 9% 7
-  \or 8% 8
-  \or 7% 9
-}
-\InCa at Temp 7{%
-  \or 6% 1
-  \or 5% 2
-  \or 4% 3
-  \or 3% 4
-  \or 2% 5
-  \or 1% 6
-  \or 0% 7
-  \or 9% 8
-  \or 8% 9
-}
-\InCa at Temp 8{%
-  \or 7% 1
-  \or 6% 2
-  \or 5% 3
-  \or 4% 4
-  \or 3% 5
-  \or 2% 6
-  \or 1% 7
-  \or 0% 8
-  \or 9% 9
-}
-\InCa at Temp 9{%
-  \or 8% 1
-  \or 7% 2
-  \or 6% 3
-  \or 5% 4
-  \or 4% 5
-  \or 3% 6
-  \or 2% 7
-  \or 1% 8
-  \or 0% 9
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Shl}, \op{Shr}}
-%
-%    \begin{macro}{\intcalcShl}
-%    \begin{macrocode}
-\def\intcalcShl#1{%
-  \number\expandafter\InCa at ShlSwitch\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ShlSwitch}
-%    \begin{macrocode}
-\def\InCa at ShlSwitch#1#2!{%
-  \ifx#1-%
-    -\csname InCa at Empty%
-    \InCa at Shl#2!%
-  \else
-    \csname InCa at Empty%
-    \InCa at Shl#1#2!%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcShl}
-%    \begin{macrocode}
-\def\IntCalcShl#1!{%
-  \number
-  \csname InCa at Empty%
-  \InCa at Shl#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCal at ShlDigit}
-%    \begin{macrocode}
-\def\InCa at Shl#1#2{%
-  \ifx#2!%
-    \csname InCa at ShlDigit#1\endcsname0%
-  \else
-    \csname InCa at ShlDigit#1%
-    \@ReturnAfterFi{%
-      \InCa at Shl#2%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ShlDigit0}
-%    \begin{macrocode}
-\expandafter\def\csname InCa at ShlDigit0\endcsname{%
-  \endcsname0%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ShlDigit[1-9]}
-%    \begin{macrocode}
-\def\InCa at Temp#1#2#3#4#5{%
-  \expandafter\def\csname InCa at ShlDigit#1\endcsname##1{%
-    \expandafter\endcsname
-    \ifcase##1 %
-      #2#3%
-    \else
-      #4#5%
-    \fi
-  }%
-}
-\InCa at Temp 10203
-\InCa at Temp 20405
-\InCa at Temp 30607
-\InCa at Temp 40809
-\InCa at Temp 51011
-\InCa at Temp 61213
-\InCa at Temp 71415
-\InCa at Temp 81617
-\InCa at Temp 91819
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcShr}
-%    \begin{macrocode}
-\def\intcalcShr#1{%
-  \number\expandafter\InCa at ShrSwitch\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ShrSwitch}
-%    \begin{macrocode}
-\def\InCa at ShrSwitch#1#2!{%
-  \ifx#1-%
-    -\InCa at Shr#2!%
-  \else
-    \InCa at Shr#1#2!%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcShr}
-%    \begin{macrocode}
-\def\IntCalcShr#1!{%
-  \number\InCa at Shr#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Shr}
-%    \begin{macrocode}
-\def\InCa at Shr#1#2{%
-  \InCa at ShrDigit#1!%
-  \ifx#2!%
-  \else
-    \@ReturnAfterFi{%
-      \ifodd#1 %
-        \@ReturnAfterElseFi{%
-          \InCa at Shr{1#2}%
-        }%
-      \else
-        \expandafter\InCa at Shr\expandafter#2%
-      \fi
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\def\InCa at ShrDigit#1!{%
-  \ifcase#1 0% 0
-  \or 0% 1
-  \or 1% 2
-  \or 1% 3
-  \or 2% 4
-  \or 2% 5
-  \or 3% 6
-  \or 3% 7
-  \or 4% 8
-  \or 4% 9
-  \or 5% 10
-  \or 5% 11
-  \or 6% 12
-  \or 6% 13
-  \or 7% 14
-  \or 7% 15
-  \or 8% 16
-  \or 8% 17
-  \or 9% 18
-  \or 9% 19
-  \fi
-}
-%    \end{macrocode}
-%
-% \subsubsection{\cs{InCa at Tim}}
-%
-%    \begin{macro}{\InCa at Tim}
-%    Macro \cs{InCa at Tim} implements
-%    ``Number \emph{tim}es digit''.
-%    \begin{macrocode}
-\def\InCa at Temp#1{%
-  \def\InCa at Tim##1##2{%
-    \number
-      \ifcase##2 % 0
-        0%
-      \or % 1
-        ##1%
-      \else % 2-9
-        \csname InCa at Empty%
-        \InCa at ProcessTim##2##1!%
-      \fi
-    #1%
-  }%
-}
-\InCa at Temp{ }
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ProcessTim}
-%    \begin{macrocode}
-\def\InCa at ProcessTim#1#2#3{%
-  \ifx#3!%
-    \csname InCa at TimDigit#2\endcsname#10%
-  \else
-    \csname InCa at TimDigit#2\csname InCa at Param#1%
-    \@ReturnAfterFi{%
-      \InCa at ProcessTim#1#3%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Param[0-9]}
-%    \begin{macrocode}
-\def\InCa at Temp#1{%
-  \expandafter\def\csname InCa at Param#1\endcsname{%
-    \endcsname#1%
-  }%
-}
-\InCa at Temp 0%
-\InCa at Temp 1%
-\InCa at Temp 2%
-\InCa at Temp 3%
-\InCa at Temp 4%
-\InCa at Temp 5%
-\InCa at Temp 6%
-\InCa at Temp 7%
-\InCa at Temp 8%
-\InCa at Temp 9%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at TimDigit0}
-%    \begin{macrocode}
-\expandafter\def\csname InCa at TimDigit0\endcsname#1#2{%
-  \endcsname
-  0#2%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at TimDigit1}
-%    \begin{macrocode}
-\expandafter\def\csname InCa at TimDigit1\endcsname#1#2{%
-  \ifcase#2 %
-    \endcsname 0#1%
-  \else
-    \csname InCa at AddDigit#1\endcsname #2%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at TimDigit[2-9]}
-%    \begin{macrocode}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at TimDigit#1\endcsname##1{%
-    \expandafter\InCa at TimDigitCarry
-    \number
-      \ifcase##1 0% 0
-      #2%
-      \fi
-    !%
-  }%
-}
-\InCa at Temp 2{%
-  \or  2% 1
-  \or  4% 2
-  \or  6% 3
-  \or  8% 4
-  \or 10% 5
-  \or 12% 6
-  \or 14% 7
-  \or 16% 8
-  \or 18% 9
-}
-\InCa at Temp 3{%
-  \or  3% 1
-  \or  6% 2
-  \or  9% 3
-  \or 12% 4
-  \or 15% 5
-  \or 18% 6
-  \or 21% 7
-  \or 24% 8
-  \or 27% 9
-}
-\InCa at Temp 4{%
-  \or  4% 1
-  \or  8% 2
-  \or 12% 3
-  \or 16% 4
-  \or 20% 5
-  \or 24% 6
-  \or 28% 7
-  \or 32% 8
-  \or 36% 9
-}
-\InCa at Temp 5{%
-  \or  5% 1
-  \or 10% 2
-  \or 15% 3
-  \or 20% 4
-  \or 25% 5
-  \or 30% 6
-  \or 35% 7
-  \or 40% 8
-  \or 45% 9
-}
-\InCa at Temp 6{%
-  \or  6% 1
-  \or 12% 2
-  \or 18% 3
-  \or 24% 4
-  \or 30% 5
-  \or 36% 6
-  \or 42% 7
-  \or 48% 8
-  \or 54% 9
-}
-\InCa at Temp 7{%
-  \or  7% 1
-  \or 14% 2
-  \or 21% 3
-  \or 28% 4
-  \or 35% 5
-  \or 42% 6
-  \or 49% 7
-  \or 56% 8
-  \or 63% 9
-}
-\InCa at Temp 8{%
-  \or  8% 1
-  \or 16% 2
-  \or 24% 3
-  \or 32% 4
-  \or 40% 5
-  \or 48% 6
-  \or 56% 7
-  \or 64% 8
-  \or 72% 9
-}
-\InCa at Temp 9{%
-  \or  9% 1
-  \or 18% 2
-  \or 27% 3
-  \or 36% 4
-  \or 45% 5
-  \or 54% 6
-  \or 63% 7
-  \or 72% 8
-  \or 81% 9
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at TimDigitCarry}
-%    \begin{macrocode}
-\def\InCa at TimDigitCarry#1!{%
-  \ifnum#1<10 %
-    \csname InCa at AddDigit#1\expandafter\endcsname
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@TimDigitCarry#1!%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa@@TimDigitCarry}
-%    \begin{macrocode}
-\def\InCa@@TimDigitCarry#1#2!#3{%
-  \csname InCa at DigitCarry#1%
-  \csname InCa at AddDigit#2\endcsname #3%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Mul}}
-%
-%    \begin{macro}{\intcalcMul}
-%    \begin{macrocode}
-\def\intcalcMul#1#2{%
-  \number
-    \expandafter\InCa at MulSwitch
-    \number\number#1\expandafter!%
-    \number#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\InCa at MulSwitch}
-%    Decision table for \cs{InCa at MulSwitch}.
-%    \begin{quote}
-%    \begin{tabular}[t]{@{}|l|l|l|l|l|@{}}
-%      \hline
-%      $x<0$ & $y<0$ & $ x< y$ & $+$ & $\opMul(-x,-y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opMul(-y,-x)$\\
-%      \cline{2-5}
-%            & else  & $-x> y$ & $-$ & $\opMul(-x, y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opMul( y,-x)$\\
-%      \hline
-%      else  & $y<0$ & $ x>-y$ & $-$ & $\opMul( x,-y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opMul(-y, x)$\\
-%      \cline{2-5}
-%            & else  & $ x> y$ & $+$ & $\opMul( x, y)$\\
-%      \cline{3-3}\cline{5-5}
-%            &       & else    &     & $\opMul( y, x)$\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\InCa at MulSwitch#1!#2!{%
-  \ifnum#1<\z@
-    \ifnum#2<\z@
-      \ifnum#1<#2 %
-        \expandafter\InCa at Mul\number-#1\expandafter!%
-        \@gobble#2!%
-      \else
-        \expandafter\InCa at Mul\number-#2\expandafter!%
-        \@gobble#1!%
-      \fi
-    \else
-      -%
-      \ifnum-#1>#2 %
-        \expandafter\InCa at Mul\@gobble#1!#2!%
-      \else
-        \expandafter\InCa at Mul\number#2\expandafter!%
-        \@gobble#1!%
-      \fi
-    \fi
-  \else
-    \ifnum#2<\z@
-      -%
-      \ifnum#1>-#2 %
-        \expandafter\InCa at Mul\number#1\expandafter!%
-        \@gobble#2!%
-      \else
-        \expandafter\InCa at Mul\@gobble#2!#1!%
-      \fi
-    \else
-      \ifnum#1>#2 %
-        \InCa at Mul#1!#2!%
-      \else
-        \InCa at Mul#2!#1!%
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcMul}
-%    \begin{macrocode}
-\def\IntCalcMul#1!#2!{%
-  \number\InCa at Mul#1!#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Mul}
-%    \begin{macrocode}
-\def\InCa at Mul#1!#2!{%
-  \ifcase#2 %
-    0%
-  \or
-    #1%
-  \or
-    \csname InCa at Empty%
-    \expandafter\InCa at Shl#1!%
-  \else
-    \ifnum#2<10 %
-      \InCa at Tim{#1}#2%
-    \else
-      \InCa at ProcessMul!#2!#1!%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Mul}
-%    \begin{macrocode}
-\def\InCa at ProcessMul#1!#2#3!#4!{%
-  \ifx\InCa at Empty#3\InCa at Empty
-    \expandafter\InCa at Add\number
-    #10\expandafter\expandafter\expandafter!%
-    \InCa at Tim{#4}#2!%
-  \else
-    \ifx\InCa at Empty#1\InCa at Empty
-      \expandafter\expandafter\expandafter\InCa at ProcessMul
-      \InCa at Tim{#4}#2!%
-      #3!#4!%
-    \else
-      \expandafter\InCa at ProcessMul\number
-      \expandafter\InCa at Add\number%
-      #10\expandafter\expandafter\expandafter!%
-      \InCa at Tim{#4}#2!!%
-      #3!#4!%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Sqr}, \op{Fac}}
-%
-%    \begin{macro}{\intcalcSqr}
-%    \begin{macrocode}
-\def\intcalcSqr#1{%
-  \number\expandafter\InCa at Sqr\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Sqr}
-%    \begin{macrocode}
-\def\InCa at Sqr#1#2!{%
-  \ifx#1-%
-    \InCa at Mul#2!#2!%
-  \else
-    \InCa at Mul#1#2!#1#2!%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\intcalcFac}
-%    \begin{macrocode}
-\def\intcalcFac#1{%
-  \number\expandafter\InCa at Fac\number#1! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Pow}}
-%
-%    \begin{macro}{\intcalcPow}
-%    \begin{macrocode}
-\def\intcalcPow#1#2{%
-  \number\expandafter\InCa at Pow
-  \number\number#1\expandafter!%
-  \number#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Pow}
-%    \begin{macrocode}
-\def\InCa at Pow#1#2!#3#4!{%
-  \ifcase#3#4 % power = 0
-    1%
-  \or % power = 1
-    #1#2%
-  \or % power = 2
-    \ifx#1-%
-      \InCa at Mul#2!#2!%
-    \else
-      \InCa at Mul#1#2!#1#2!%
-    \fi
-  \else
-    \ifcase#1#2 % basis = 0, power <> 0
-      0%
-      \ifx#3-% power < 0
-        0\IntCalcError:DivisionByZero%
-      \fi
-    \or
-      1% basis = 1
-    \else
-      \ifnum#1#2=\m at ne % basis = -1
-        \ifodd#3#4 %
-          -%
-        \fi
-        1%
-      \else % |basis| > 1
-        \ifx#3-% power < 0
-          0%
-        \else % power > 2
-          \ifx#1-% basis < 0
-            \ifodd#3#4 %
-              -%
-            \fi
-            \InCa at PowRec#2!#3#4!1!%
-          \else
-            \InCa at PowRec#1#2!#3#4!1!%
-          \fi
-        \fi
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at PowRec}
-%\begin{quote}
-%\begin{verbatim}
-%Pow(b, p) {
-%  PowRec(b, p, 1)
-%}
-%PowRec(b, p, r) {
-%  if p == 1 then
-%    return r
-%  else
-%    ifodd p then
-%      return PowRec(b*b, p div 2, r*b) % p div 2 = (p-1)/2
-%    else
-%      return PowRec(b*b, p div 2, r)
-%    fi
-%  fi
-%}
-%\end{verbatim}
-%\end{quote}
-%    \begin{macrocode}
-\def\InCa at PowRec#1!#2!#3!{%
-  \ifnum#2=\@ne
-    \ifnum#1>#3 %
-      \InCa at Mul#1!#3!%
-    \else
-      \InCa at Mul#3!#1!%
-    \fi
-  \else
-    \expandafter\InCa at PowRec
-    \number\InCa at Mul#1!#1!\expandafter!%
-    \number\intcalcShr{#2}\expandafter!%
-    \number
-    \ifodd#2 %
-      \ifnum#1>#3 %
-        \InCa at Mul#1!#3!%
-      \else
-        \InCa at Mul#3!#1!%
-      \fi
-    \else
-      #3%
-    \fi
-    \expandafter!%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Div}}
-%
-%    \begin{macro}{\intcalcDiv}
-%    \begin{macrocode}
-\def\intcalcDiv#1#2{%
-  \number\expandafter\InCa at Div
-  \number\number#1\expandafter!%
-  \number#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at Div}
-%    \begin{macrocode}
-\def\InCa at Div#1!#2!{%
-  \ifcase#2 %
-    0\IntCalcError:DivisionByZero%
-  \else
-    \ifcase#1 %
-      0%
-    \else
-      \expandafter\InCa at DivSwitch
-      \number#1\expandafter!%
-      \number#2!%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcDiv}
-%    \begin{macrocode}
-\def\InCa at Temp#1{%
-  \def\IntCalcDiv##1!##2!{%
-    \number
-    \ifcase##2 %
-      0\IntCalcError:DivisionByZero%
-    \else
-      \ifcase##1 %
-        0%
-      \else
-        \InCa@@Div##1!##2!%
-      \fi
-    \fi
-    #1%
-  }%
-}
-\InCa at Temp{ }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at DivSwitch}
-%    Decision table for \cs{InCa at DivSwitch}.
-%    \begin{quote}
-%    \begin{tabular}[t]{@{}|l|l|l|l|@{}}
-%      \hline
-%      $x<0$ & $y<0$ & $+$ & $\opDiv(-x,-y)$\\
-%      \cline{2-4}
-%            & else  & $-$ & $\opDiv(-x, y)$\\
-%      \hline
-%      else  & $y<0$ & $-$ & $\opDiv( x,-y)$\\
-%      \cline{2-4}
-%            & else  & $+$ & $\opDiv( x, y)$\\
-%      \hline
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\InCa at DivSwitch#1!#2!{%
-  \ifnum#1<\z@
-    \ifnum#2<\z@
-      \expandafter\InCa@@Div\number-#1\expandafter!%
-      \@gobble#2!%
-    \else
-      -%
-      \expandafter\InCa@@Div\@gobble#1!#2!%
-    \fi
-  \else
-    \ifnum#2<\z@
-      -%
-      \expandafter\InCa@@Div\number#1\expandafter!%
-      \@gobble#2!%
-    \else
-      \InCa@@Div#1!#2!%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa@@Div}
-%    \begin{macrocode}
-\def\InCa@@Div#1!#2!{%
-  \ifnum#1>#2 %
-    \ifcase#2 % 0 already catched
-?     \IntCalcError:ThisCannotHappen%
-    \or % 1
-      #1%
-    \or % 2
-      \InCa at Shr#1!%
-    \else
-      \InCa at DivStart!#1!#2!#2!%
-    \fi
-  \else
-    \ifnum#1=#2 %
-      1%
-    \else
-      0%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at DivStart}
-%    \begin{macrocode}
-\def\InCa at DivStart#1!#2#3!#4#5{%
-  \ifx#5!%
-    \@ReturnAfterElseFi{%
-      \InCa at DivStartI{#1#2}#3=!%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa at DivStart{#1#2}!#3!#5%
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at StartI}
-%    \begin{macrocode}
-\def\InCa at DivStartI#1!#2!{%
-  \expandafter\InCa at DivStartII
-  \number#2\expandafter\expandafter\expandafter!%
-  \intcalcShl{#2}!%
-  #1!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at StartII}
-%    \begin{macrocode}
-\def\InCa at DivStartII#1!#2!{%
-  \expandafter\InCa at DivStartIII
-  \number#1\expandafter!%
-  \number#2\expandafter\expandafter\expandafter!%
-  \intcalcShl{#2}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at StartIII}
-%    \begin{macrocode}
-\def\InCa at DivStartIII#1!#2!#3!{%
-  \expandafter\InCa at DivStartIV
-  \number#1\expandafter!%
-  \number#2\expandafter!%
-  \number#3\expandafter!%
-  \number\InCa at Add#3!#2!\expandafter\expandafter\expandafter!%
-  \intcalcShl{#3}!%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at StartIV}
-%    \begin{macrocode}
-\def\InCa at DivStartIV#1!#2!#3!#4!#5!#6!{%
-  \InCa at ProcessDiv#6!#1!#2!#3!#4!#5!/%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ProcessDiv}
-%    \begin{macrocode}
-\def\InCa at ProcessDiv#1#2#3!#4!#5!#6!#7!#8!#9/{%
-  #9%
-  \ifnum#1<#4 % 0
-    0%
-    \ifx#2=%
-    \else
-      \InCa at ProcessDiv{#1#2}#3!#4!#5!#6!#7!#8!%
-    \fi
-  \else % 1-9
-    \ifnum#1<#5 % 1
-      1%
-      \ifx#2=%
-      \else
-        \expandafter\InCa at ProcessDiv\expandafter{%
-          \number\InCa at Sub#1!#4!%
-          #2%
-        }#3!#4!#5!#6!#7!#8!%
-      \fi
-    \else % 2-9
-      \ifnum#1<#7 % 2 3 4 5
-        \ifnum#1<#6 % 2 3
-          \@ReturnAfterElseFi{%
-            \expandafter\InCa@@ProcessDiv
-            \number\InCa at Sub#1!#5!!%
-            23%
-          }%
-        \else % 4 5
-          \@ReturnAfterFi{%
-            \expandafter\InCa@@ProcessDiv
-            \number\InCa at Sub#1!#6!!%
-            45%
-          }%
-        \fi
-        #2#3!#4!#5!#6!#7!#8!%
-      \else % 6 7 8 9
-        \ifnum#1<#8 % 6 7
-          \@ReturnAfterElseFi{%
-            \expandafter\InCa@@ProcessDiv
-            \number\InCa at Sub#1!#7!!%
-            67%
-          }%
-        \else % 8 9
-          \@ReturnAfterFi{%
-            \expandafter\InCa@@ProcessDiv
-            \number\InCa at Sub#1!#8!!%
-            89%
-          }%
-        \fi
-        #2#3!#4!#5!#6!#7!#8!%
-      \fi
-    \fi
-  \fi
-  \ifx#2=%
-    \expandafter\@gobble
-  \fi
-  /%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa@@ProcessDiv}
-%    \begin{macrocode}
-\def\InCa@@ProcessDiv#1!#2#3#4#5!#6!{%
-  \ifnum#1<#6 %
-    #2%
-    \@ReturnAfterElseFi{%
-      \ifx#4=%
-        \expandafter\InCa at CleanupIV
-      \else
-        \@ReturnAfterFi{%
-          \InCa at ProcessDiv{#1#4}#5!#6!%
-        }%
-      \fi
-    }%
-  \else
-    #3%
-    \@ReturnAfterFi{%
-      \ifx#4=%
-        \expandafter\InCa at CleanupIV
-      \else
-        \@ReturnAfterFi{%
-          \expandafter\InCa at ProcessDiv\expandafter{%
-            \number\InCa at Sub#1!#6! %
-            #4%
-          }#5!#6!%
-        }%
-      \fi
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at CleanupIV}
-%    \begin{macrocode}
-\def\InCa at CleanupIV#1!#2!#3!#4!{}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\op{Mod}}
-%
-%    \begin{macro}{\intcalcMod}
-%    \begin{macrocode}
-\def\intcalcMod#1#2{%
-  \number\expandafter\InCa at Mod
-  \number\number#1\expandafter!%
-  \number#2! %
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\intcalc at Mod}
-%    Pseudocode/decision table for \cs{intcalc at Mod}.
-%    \begin{quote}
-%    \begin{tabular}{@{}lll@{}}
-%      if    & $y=0$ & DivisionByZero\\
-%      elsif & $y<0$ & $-\opMod(-x,-y)$\\
-%      elsif & $x=0$ & 0\\
-%      elsif & $y=1$ & 0\\
-%      elsif & $y=2$ & $\opOdd(x)\mathbin{?}1\mathbin{:}0$\\
-%      elsif & $x<0$ &
-%        $z\leftarrow x-(x/y)*y;\quad (z<0)\mathbin{?}z+y\mathbin{:}z$\\
-%      else  &       & $x-(x/y)*y$\\
-%      \\
-%    \end{tabular}
-%    \end{quote}
-%    \begin{macrocode}
-\def\InCa at Mod#1!#2!{%
-  \ifcase#2 %
-    0\IntCalcError:DivisionByZero%
-  \else
-    \ifnum#2<\z@
-      -%
-      \expandafter\InCa at Mod
-      \number-#1\expandafter!%
-      \number-#2!%
-    \else
-      \ifcase#1 %
-        0%
-      \else
-        \ifcase#2 % 0 already catched
-?         \IntCalcError:ThisCannotHappen%
-        \or % 1
-          0%
-        \or % 2
-          \ifodd#1 1\else 0\fi
-        \else
-          \ifnum#1<\z@
-            \expandafter\InCa at ModShift
-            \number-%
-              \expandafter\InCa at Sub
-              \number\@gobble#1\expandafter!%
-              \number\intcalcMul{#2}{%
-                \expandafter\InCa at Div\@gobble#1!#2!%
-              }!%
-            !#2!%
-          \else
-            \expandafter\InCa at Sub\number#1\expandafter!%
-            \number\intcalcMul{#2}{\InCa at Div#1!#2!}!%
-          \fi
-        \fi
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IntCalcMod}
-%    \begin{macrocode}
-\def\InCa at Temp#1{%
-  \def\IntCalcMod##1!##2!{%
-    \number
-    \ifcase##2 %
-      0\IntCalcError:DivisionByZero%
-    \else
-      \ifcase##1 %
-        0%
-      \else
-        \ifcase##2 % 0 already catched
-?         \IntCalcError:ThisCannotHappen
-        \or % 1
-          0%
-        \or % 2
-          \ifodd ##1 1\else 0\fi
-        \else
-          \expandafter\InCa at Sub\number##1\expandafter!%
-          \number\intcalcMul{##2}{\InCa at Div##1!##2!}!%
-        \fi
-      \fi
-    \fi
-    #1%
-  }%
-}
-\InCa at Temp{ }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\InCa at ModShift}
-%    \begin{macrocode}
-\def\InCa at ModShift#1!#2!{%
-  \ifnum#1<\z@
-    \expandafter\InCa at Sub\number#2\expandafter!%
-    \@gobble#1!%
-  \else
-    #1%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Help macros}
-%
-%    \begin{macro}{\InCa at Empty}
-%    \begin{macrocode}
-\def\InCa at Empty{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@gobble}
-%    \begin{macrocode}
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ReturnAfterFi}
-%    \begin{macrocode}
-\long\def\@ReturnAfterFi#1\fi{\fi#1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\@ReturnAfterElseFi}
-%    \begin{macrocode}
-\long\def\@ReturnAfterElseFi#1\else#2\fi{\fi#1}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\InCa at AtEnd%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{intcalc}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/intcalc.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/intcalc.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 intcalc.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@{}}
-%   intcalc.sty & tex/generic/oberdiek/intcalc.sty\\
-%   intcalc.pdf & doc/latex/oberdiek/intcalc.pdf\\
-%   intcalc.dtx & source/latex/oberdiek/intcalc.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{intcalc.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 intcalc.dtx
-%makeindex -s gind.ist intcalc.idx
-%pdflatex intcalc.dtx
-%makeindex -s gind.ist intcalc.idx
-%pdflatex intcalc.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2007/09/09 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2007/09/27 v1.1}
-%   \item
-%     \cs{intcalcNum} added.
-%   \item
-%     \cs{intcalcShl} and \cs{intcalcShr} allow negative numbers.
-%     The sign is preserved.
-%   \item
-%     Reuse \cs{@gobble} instead of own macro \cs{IntCalc at Gobble}.
-%   \item
-%     Small fixes.
-%   \item
-%     Shorter internal prefix.
-%   \item
-%     Some programmer's interface.
-%   \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/kvdefinekeys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,607 +0,0 @@
-% \iffalse meta-comment
-%
-% File: kvdefinekeys.dtx
-% Version: 2016/05/16 v1.4
-% Info: Define keys
-%
-% Copyright (C)
-%    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 kvdefinekeys.dtx
-% and the derived files
-%    kvdefinekeys.sty, kvdefinekeys.pdf, kvdefinekeys.ins, kvdefinekeys.drv,
-%    kvdefinekeys-test1.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/kvdefinekeys.dtx
-%    CTAN:macros/latex/contrib/oberdiek/kvdefinekeys.pdf
-%
-% Unpacking:
-%    (a) If kvdefinekeys.ins is present:
-%           tex kvdefinekeys.ins
-%    (b) Without kvdefinekeys.ins:
-%           tex kvdefinekeys.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{kvdefinekeys.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If kvdefinekeys.drv is present:
-%           latex kvdefinekeys.drv
-%    (b) Without kvdefinekeys.drv:
-%           latex kvdefinekeys.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 kvdefinekeys.dtx
-%       makeindex -s gind.ist kvdefinekeys.idx
-%       pdflatex kvdefinekeys.dtx
-%       makeindex -s gind.ist kvdefinekeys.idx
-%       pdflatex kvdefinekeys.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/kvdefinekeys.sty
-%    TDS:doc/latex/oberdiek/kvdefinekeys.pdf
-%    TDS:source/latex/oberdiek/kvdefinekeys.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: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: kvdefinekeys
-Version: 2016/05/16 v1.4
-
-Copyright (C)
-   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 kvdefinekeys.dtx
-and the derived files
-   kvdefinekeys.sty, kvdefinekeys.pdf, kvdefinekeys.ins, kvdefinekeys.drv,
-   kvdefinekeys-test1.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{kvdefinekeys.ins}{\from{kvdefinekeys.dtx}{install}}%
-  \file{kvdefinekeys.drv}{\from{kvdefinekeys.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{kvdefinekeys.sty}{\from{kvdefinekeys.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{kvdefinekeys-test1.tex}{\from{kvdefinekeys.dtx}{test1}}%
-}
-
-\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{*     kvdefinekeys.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `kvdefinekeys.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{kvdefinekeys.drv}%
-  [2016/05/16 v1.4 Define keys (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{kvdefinekeys.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{kvdefinekeys.drv}
-%
-% \title{The \xpackage{kvdefinekeys} 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}
-% Package \xpackage{kvdefinekeys} provides \cs{kv at define@key} to define
-% keys the same way as \xpackage{keyval}'s \cs{define at key}. However, it
-% works also using \iniTeX.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \def\M#1{\texttt{\{}\meta{#1}\texttt{\}}}
-%
-% \section{Documentation}
-%
-% \subsection{Motivation}
-%
-% \cs{kvsetkeys} serves as replacement for \xpackage{keyval}'s
-% \cs{setkeys}. This package adds macros to define keys, closing
-% the gap \cs{kvsetkeys} leaves.
-%
-% \begin{declcs}{kv at define@key}\,\M{family}\,\M{key}\,[\meta{default}]\,^^A
-%   \M{definition}
-% \end{declcs}
-% Macro \cs{kv at define@key} reimplements \xpackage{keyval}'s
-% \cs{define at key}. Differences to the original:
-% \begin{itemize}
-% \item The defined keys also allow \cs{par} inside values.
-% \item Shorthands of package \xpackage{babel} are supported in
-%   family and key names.
-% \item Macro \cs{kv at define@key} is made robust if
-%   \hologo{eTeX}'s \cs{protected} or \hologo{LaTeX}'s
-%   \cs{DeclareRobustCommand} are found.
-% \end{itemize}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Identification}
-%
-%    \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 kvdefinekeys.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{kvdefinekeys}{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 kvdefinekeys.sty\endcsname
-\ProvidesPackage{kvdefinekeys}%
-  [2016/05/16 v1.4 Define keys (HO)]%
-%    \end{macrocode}
-%
-%    \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 KVD 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\KVD at AtEnd{%
-    \KVD at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\KVD at AtEnd{\KVD at AtEnd\noexpand\endinput}
-%    \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{ltxcmds}[2010/03/01]%
-\else
-  \RequirePackage{ltxcmds}[2010/03/01]%
-\fi
-%    \end{macrocode}
-%
-%
-% \subsection{Provide key defining macro}
-%
-%    \begin{macro}{\kv at define@key}
-%    \begin{macrocode}
-\ltx at IfUndefined{protected}{%
-  \ltx at IfUndefined{DeclareRobustCommand}{%
-    \def\kv at define@key#1#2%
-  }{%
-    \DeclareRobustCommand*{\kv at define@key}[2]%
-  }%
-}{%
-  \protected\def\kv at define@key#1#2%
-}%
-{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-    \edef\KVD at temp{\endgroup
-      \noexpand\KVD at DefineKey{#1}{#2}%
-    }%
-  \KVD at temp
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVD at DefineKey}
-%    \begin{macrocode}
-\def\KVD at DefineKey#1#2{%
-  \ltx at ifnextchar[{%
-    \KVD at DefineKeyWithDefault{#1}{#2}%
-  }{%
-    \long\expandafter\def\csname KV@#1@#2\endcsname##1%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVD at DefineKeyWithDefault}
-%    \begin{macrocode}
-\long\def\KVD at DefineKeyWithDefault#1#2[#3]{%
-  \expandafter\def\csname KV@#1@#2 at default\expandafter\endcsname
-  \expandafter{%
-    \csname KV@#1@#2\endcsname{#3}%
-  }%
-  \long\expandafter\def\csname KV@#1@#2\endcsname##1%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\KVD at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{kvdefinekeys}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/kvdefinekeys.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/kvdefinekeys.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 kvdefinekeys.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@{}}
-%   kvdefinekeys.sty & tex/generic/oberdiek/kvdefinekeys.sty\\
-%   kvdefinekeys.pdf & doc/latex/oberdiek/kvdefinekeys.pdf\\
-%   kvdefinekeys.dtx & source/latex/oberdiek/kvdefinekeys.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{kvdefinekeys.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 kvdefinekeys.dtx
-%makeindex -s gind.ist kvdefinekeys.idx
-%pdflatex kvdefinekeys.dtx
-%makeindex -s gind.ist kvdefinekeys.idx
-%pdflatex kvdefinekeys.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-% \bibitem{keyval}
-%   David Carlisle:
-%   \textit{The \xpackage{keyval} package};
-%   1999/03/16 v1.13;
-%   \CTAN{macros/latex/required/graphics/keyval.dtx}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2010/03/01 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2010/08/19 v1.1}
-%   \item
-%     Documentation fix, no code change.
-%   \end{Version}
-%   \begin{Version}{2011/01/30 v1.2}
-%   \item
-%     Already loaded package files are not input in \hologo{plainTeX}.
-%   \end{Version}
-%   \begin{Version}{2011/04/07 v1.3}
-%   \item
-%     Support for package \xpackage{babel}'s shorthands added.
-%   \item
-%     \cs{kv at define@key} is made robust if available.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.4}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,1686 +0,0 @@
-% \iffalse meta-comment
-%
-% File: kvsetkeys.dtx
-% Version: 2016/05/16 v1.17
-% Info: Key value parser
-%
-% Copyright (C)
-%    2006, 2007, 2009-2012 Heiko Oberdiek
-%    2016-2019 Oberdiek Package Support Group
-%    https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-%    https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% 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 kvsetkeys.dtx
-% and the derived files
-%    kvsetkeys.sty, kvsetkeys.pdf, kvsetkeys.ins, kvsetkeys.drv,
-%    kvsetkeys-example.tex, kvsetkeys-test1.tex,
-%    kvsetkeys-test2.tex, kvsetkeys-test3.tex,
-%    kvsetkeys-test4.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/kvsetkeys.dtx
-%    CTAN:macros/latex/contrib/oberdiek/kvsetkeys.pdf
-%
-% Unpacking:
-%    (a) If kvsetkeys.ins is present:
-%           tex kvsetkeys.ins
-%    (b) Without kvsetkeys.ins:
-%           tex kvsetkeys.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{kvsetkeys.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If kvsetkeys.drv is present:
-%           latex kvsetkeys.drv
-%    (b) Without kvsetkeys.drv:
-%           latex kvsetkeys.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 kvsetkeys.dtx
-%       makeindex -s gind.ist kvsetkeys.idx
-%       pdflatex kvsetkeys.dtx
-%       makeindex -s gind.ist kvsetkeys.idx
-%       pdflatex kvsetkeys.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/kvsetkeys.sty
-%    TDS:doc/latex/oberdiek/kvsetkeys.pdf
-%    TDS:doc/latex/oberdiek/kvsetkeys-example.tex
-%    TDS:source/latex/oberdiek/kvsetkeys.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: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: kvsetkeys
-Version: 2016/05/16 v1.17
-
-Copyright (C)
-   2006, 2007, 2009-2012 Heiko Oberdiek
-   2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
-   https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
-   https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-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 kvsetkeys.dtx
-and the derived files
-   kvsetkeys.sty, kvsetkeys.pdf, kvsetkeys.ins, kvsetkeys.drv,
-   kvsetkeys-example.tex, kvsetkeys-test1.tex,
-   kvsetkeys-test2.tex, kvsetkeys-test3.tex,
-   kvsetkeys-test4.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{kvsetkeys.ins}{\from{kvsetkeys.dtx}{install}}%
-  \file{kvsetkeys.drv}{\from{kvsetkeys.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{kvsetkeys.sty}{\from{kvsetkeys.dtx}{package}}%
-  \usedir{doc/latex/oberdiek}%
-  \file{kvsetkeys-example.tex}{\from{kvsetkeys.dtx}{example}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{kvsetkeys-test1.tex}{\from{kvsetkeys.dtx}{test1}}%
-%  \file{kvsetkeys-test2.tex}{\from{kvsetkeys.dtx}{test2}}%
-%  \file{kvsetkeys-test3.tex}{\from{kvsetkeys.dtx}{test2,noetex}}%
-%  \file{kvsetkeys-test4.tex}{\from{kvsetkeys.dtx}{test4}}%
-}
-
-\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{*     kvsetkeys.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `kvsetkeys.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{kvsetkeys.drv}%
-  [2016/05/16 v1.17 Key value parser (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{kvsetkeys.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{kvsetkeys.drv}
-%
-% \title{The \xpackage{kvsetkeys} package}
-% \date{2016/05/16 v1.17}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% Package \xpackage{kvsetkeys} provides \cs{kvsetkeys}, a variant
-% of package \xpackage{keyval}'s \cs{setkeys}. It allows to specify
-% a handler that deals with unknown options. Active commas and equal
-% signs may be used (e.g. see \xpackage{babel}'s shorthands) and
-% only one level of curly braces is removed from the values.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \def\M#1{\texttt{\{}\meta{#1}\texttt{\}}}
-%
-% \section{Documentation}
-%
-% First I want to recommend the very good review article
-% ``A guide to key-value methods'' by Joseph Wright \cite{tb94wright}.
-% It introduces the different key-value packages and compares them.
-%
-% \subsection{Motivation}
-%
-% \cs{kvsetkeys} serves as replacement for \xpackage{keyval}'s
-% \cs{setkeys}. It basically uses the same syntax. But the
-% implementation is more robust and predictable:
-% \begin{description}
-% \item[Active syntax characters:]
-%   Comma `|,|' and the equals sign `|=|' are used inside
-%   key value lists as syntax characters. Package \xpackage{keyval}
-%   uses the catcode of the characters that is active during
-%   package loading, usually this is catcode 12 (other).
-%   But it can happen that the catcode setting of the syntax characters
-%   changes. Especially active characters are of interest, because
-%   some language adaptations uses them. For example, option \xoption{turkish}
-%   of package \xpackage{babel} uses the equals sign as active shorthand
-%   character. Therefore package \xpackage{kvsetkeys} deals with
-%   both catcode settings 12 (other) and 13 (active).
-% \item[Brace removal:]
-%   Package \xpackage{keyval}'s \cs{setkeys} removes up to two
-%   levels of curly braces around the value in some unpredictable way:
-%\begin{quote}
-%|\setkeys{fam}{key={{value}}} || || | $\rightarrow$ |value|\\
-%|\setkeys{fam}{key={{{value}}}} | $\rightarrow$ |{value}|\\
-%|\setkeys{fam}{key= {{{value}}}}| $\rightarrow$ |{{value}}|
-%\end{quote}
-%   This package \xpackage{kvsetkeys} follows a much stronger rule:
-%   Exactly one level of braces are removed from an item, if the
-%   item is surrounded by curly braces. An item can be a
-%   the key value pair, the key or the value.
-%\begin{quote}
-%|\kvsetkeys{fam}{key={value}} || | $\rightarrow$ |value|\\
-%|\kvsetkeys{fam}{key={{value}} | $\rightarrow$ |{value}|\\
-%|\kvsetkeys{fam}{key= {{value}}| $\rightarrow$ |{value}|
-%\end{quote}
-% \item[Arbitrary values:] Unmatched conditionals are supported.
-% \end{description}
-%
-% Before I describe
-% \cs{kvsetkeys} in more detail, first I want to explain, how
-% this package deals with key value lists. For the package also
-% provides low level interfaces that can be used by package authors.
-%
-% \subsection{Normalizing key value lists}
-%
-% \begin{declcs}{kv at normalize}\,\M{key value list}
-% \end{declcs}
-% If the user specifies key value lists, he usually prefers
-% nice formatted source code, e.g.:
-% \begin{quote}
-%\begin{verbatim}
-%\hypersetup{
-%  pdftitle    = {...},
-%  pdfsubject  = {...},
-%  pdfauthor   = {...},
-%  pdfkeywords = {...},
-%  ...
-%}
-%\end{verbatim}
-% \end{quote}
-% Thus there can be spaces around keys, around |=| or around the value.
-% Also empty entries are possible by too many commas. Therefore these
-% spaces and empty entries are silently removed by package \xpackage{keyval}
-% and this package. Whereas the contents of the value can be protected
-% by curly braces, especially if spaces or commas are used inside,
-% a key name must not use spaces or other syntax characters.
-%
-% \cs{kv at normalize} takes a key value list and performs the cleanup:
-% \begin{itemize}
-% \item Spaces are removed.
-% \item Syntax characters (comma and equal sign) that are active
-%   are replaced by the same characters with standard catcode.
-%   (Example: \xpackage{babel}'s language option \xoption{turkish}
-%   uses the equal sign as active shorthand character.)
-% \end{itemize}
-% The result is stored in \cs{kv at list}, e.g.:
-% \begin{quote}
-% |\kv at list| $\rightarrow$ |,pdftitle={...},pdfsubject={...},...,|
-% \end{quote}
-% Curly braces around values (or keys) remain untouched.
-% \begin{description}
-% \item[v1.3+:]
-% One comma is added in front of the list and each pair ends with
-% a comma. Thus an empty list consists of one comma, otherwise
-% two commas encloses the list. Empty entries other than the first
-% are removed.
-% \item[v1.0 -- v1.2:]
-% Empty entries are removed later. In fact it adds a comma at the begin
-% and end to protect the last value and an easier implementation.
-% \end{description}
-%
-% \subsection{Parsing key value lists}
-%
-% \begin{declcs}{kv at parse}\,\M{key value list}\,\M{processor}
-% \end{declcs}
-% It is easier to parse a normalized list, thus \cs{kv at parse}
-% normalizes the list and calls \cs{kv at parse@normalized}.
-%
-% \begin{declcs}{kv at parse@normalized}\,\M{key value list}%
-%   \,\M{processor}
-% \end{declcs}
-% Now the key value list is split into single key value pairs.
-% For further processing the key and value are given as arguments
-% for the \meta{processor}:
-% \begin{quote}
-%   \meta{processor}\,\M{key}\,\M{value}
-% \end{quote}
-% Also key and value are stored in macro names:
-% \begin{itemize}
-% \item \cs{kv at key} stores the key.
-% \item \cs{kv at value} stores the value or if the value was not
-%   specified it has the meaning \cs{relax}.
-% \end{itemize}
-% The behaviour in pseudo code:
-% \begin{quote}
-%   foreach (\meta{key}, \meta{value}) in (\meta{key value list})\\
-%   \hspace*{1.5em}\cs{kv at key} := \meta{key}\\
-%   \hspace*{1.5em}\cs{kv at value} := \meta{value}\\
-%   \hspace*{1.5em}\meta{processor}\,\M{key}\,\M{value}
-% \end{quote}
-%
-% \begin{declcs}{kv at break}
-% \end{declcs}
-% Since version 2011/03/03 v1.11 \cs{kv at break} can be
-% called inside the \meta{processor}
-% of \cs{kv at parse} or \cs{kv at parse@normalized}, then
-% the processing is stopped and the following entries discarded.
-%
-% \subsection{Processing key value pairs}
-%
-% Key value pairs can be processed in many different ways.
-% For example, the processor for \cs{kvsetkeys} works similar
-% to \cs{setkeys} of package \xpackage{keyval}. There unknown
-% keys raise an error.
-%
-% Package \xpackage{xkeyval} also knows a star form of \cs{setkeys}
-% that stores unknown keys in an internal macro for further processing
-% with \cs{setrmkeys} and similar macros. This feature is covered
-% by processor \cs{kv at processor@known}.
-%
-% \subsubsection{Processing similar to \xpackage{keyval}}
-%
-% \begin{declcs}{kv at processor@default}\,\M{family}\,\M{key}\,\M{value}
-% \end{declcs}
-% There are many possiblities to process key value pairs.
-% \cs{kv at processor@default} is the processor used in \cs{kvsetkeys}.
-% It reimplements and extends the behaviour of
-% \xpackage{keyval}'s \cs{setkeys}.
-% In case of unknown keys \cs{setkeys} raise an error.
-% This processer, however, calls a handler instead, if it
-% is provided by the family. Both \meta{family} and \meta{key}
-% may contain package \xpackage{babel}'s shorthands
-% (since 2011/04/07 v1.13).
-%
-% Since 2011/10/18 v1.15 the family handler can reject the
-% successful handling of a key by calling \cs{kv at handled@false}.
-%
-% Since 2016/05/16 v1.17 \cs{kv at processor@default} also defines
-% macro \cs{kv at fam} with meaning \meta{family} for convenience.
-%
-% \subsubsection{Processing similar to \cs{setkeys*} of package \xpackage{xkeyval}}
-%
-% \begin{declcs}{kv at processor@known}\,\M{family}\,^^A
-%   \M{cmd}\,\M{key}\,\M{value}
-% \end{declcs}
-% The key value processor \cs{kv at processor@known} behaves similar
-% to \cs{kv at processor@default}. If the \meta{key} exists in the
-% \meta{family} its code is called, otherwise the family handler
-% is tried. If the family handler is not set or cannot handle the
-% key, the unknown key value pair is added to the macro \meta{cmd}.
-% Since 2011/10/18 v1.15.
-%
-% The behaviour in pseudo code:
-% \begin{quote}
-%   if \meta{key} exists\\
-%   \hspace*{1.5em}call the keyval code of \meta{key}\\
-%   else\\
-%   \hspace*{1.5em}if \meta{handler} for \meta{family} exists\\
-%   \hspace*{3em}handled = true\\
-%   \hspace*{3em}\meta{handler}\,\M{key}\,\M{value}\\
-%   \hspace*{3em}if handled\\
-%   \hspace*{3em}else\\
-%   \hspace*{4.5em}add \texttt{"}\M{key}\texttt{=}\M{value}\texttt{"}
-%     to \M{cmd}\\
-%   \hspace*{3em}fi\\
-%   \hspace*{1.5em}else\\
-%   \hspace*{3em}add \texttt{"}\M{key}\texttt{=}\M{value}\texttt{"}
-%     to \M{cmd}\\
-%   \hspace*{3em}raise unknown key error\\
-%   \hspace*{1.5em}fi\\
-%   fi
-% \end{quote}
-%
-% Since 2016/05/16 v1.17 \cs{kv at processor@known} also defines
-% macro \cs{kv at fam} with meaning \meta{family} for convenience.
-%
-% \subsection{Default family handler}
-%
-% \cs{kv at processor@default} calls \meta{handler}, the default
-% handler for the family, if the key does not exist in the family.
-% The handler is called with two arguments, the key and the value.
-% It can be defined with \cs{kv at set@family at hander}:
-%
-% \begin{declcs}{kv at set@family at handler}\,\M{family}\,\M{handler definition}
-% \end{declcs}
-% This sets the default family handler for the keyval family
-% \meta{family}. Inside \meta{handler definition} |#1| stands for
-% the key and |#2| is the value. Also \cs{kv at key} and \cs{kv at value}
-% can be used for the key and the value. If the value is not given,
-% \cs{kv at value} has the meaning \cs{relax}.
-%
-% \begin{declcs}{kv at unset@family at handler}\,\M{family}
-% \end{declcs}
-% It removes the family handler for \meta{family}.
-% Since 2011/10/18 v1.15.
-%
-% \subsection{Put it all together}
-%
-% \begin{declcs}{kvsetkeys}\,\M{family}\,\M{key value list}
-% \end{declcs}
-% Macro \cs{kvsetkeys} processes the \meta{key value list} with
-% the standard processor \cs{kv at processor@default}:
-% \begin{quote}
-%   \cs{kv at parse}\,\M{key value list}^^A
-%   \texttt{\{}\cs{kv at processor@default}\,\M{family}\texttt{\}}
-% \end{quote}
-%
-% \begin{declcs}{kvsetknownkeys}\,\M{family}\,\M{cmd}\,\M{key value list}
-% \end{declcs}
-% Macro \cs{kvsetknownkeys} processes the \meta{key value list}
-% with processor \cs{kv at processor@known}. All key value pairs
-% with keys that are not known in \meta{family} are stored
-% in macro \meta{cmd}. A previous contents of macro \meta{cmd}
-% will be overwritten. If all keys can be handled, \meta{cmd}
-% will be empty, otherwise it contains a key value list of
-% unhandled key value pairs.
-% Since 2011/10/18 v1.15.
-%
-% Pseudo code:
-% \begin{quote}
-%   create macro \meta{cmdaux} with unique name (inside the current group)\\
-%   \cs{def}\meta{cmdaux}\{\}\\
-%   \cs{kv at parse}\,\M{key value list}^^A
-%   \texttt{\{}\cs{kv at processor@known}\,\M{family}\,\M{cmdaux}\texttt{\}}\\
-%   \cs{let}\meta{cmd}=\meta{cmdaux}
-% \end{quote}
-%
-% \begin{declcs}{kvsetkeys at expandafter}\,\M{family}\,\M{list cmd}\\
-%   \cs{kvsetknownkeys at expandafter}\,\M{family}\,%
-%   \M{cmd}\,\M{list cmd}
-% \end{declcs}
-% Both macros behave like the counterparts without suffix
-% |@expandafter|. The difference is that the key value list is
-% given as macro that is expanded once.
-% Since 2011/10/18 v1.15.
-%
-% Thus you can replace \cs{setkeys} of package \xpackage{keyval}
-% by the key value parser of this package:
-% \begin{quote}
-%   |\renewcommand*{\setkeys}{\kvsetkeys}|\\
-%   or\\
-%   |\let\setkeys\kvsetkeys|
-% \end{quote}
-%
-% \subsection{Comma separated lists}
-%
-% Since version 2007/09/29 v1.3 this package also supports the normalizing
-% and parsing of general comma separated lists.
-%
-% \begin{declcs}{comma at normalize}\,\M{comma list}
-% \end{declcs}
-% Macro \cs{comma at normalize} normalizes the comma separated list,
-% removes spaces around commas. The result is put in macro \cs{comma at list}.
-%
-% \begin{declcs}{comma at parse}\,\M{comma list}\,\M{processor}
-% \end{declcs}
-% Macro \cs{comma at parse} first normalizes the comma separated list
-% and then parses the list by calling \cs{comma at parse@normalized}.
-%
-% \begin{declcs}{comma at parse@normalized}\,\M{normalized comma list}^^A
-%   \,\M{processor}
-% \end{declcs}
-% The list is parsed. Empty entries are ignored. \meta{processor}
-% is called for each non-empty entry with the entry as argument:
-% \begin{quote}
-%   \meta{processor}|{|\meta{entry}|}|
-% \end{quote}
-% Also the entry is stored in the macro \cs{comma at entry}.
-%
-% \begin{declcs}{comma at break}
-% \end{declcs}
-% Since version 2011/03/03 v1.11 \cs{comma at break} can be
-% called inside the \meta{processor}
-% of \cs{comma at parse} or \cs{comma at parse@normalized}, then
-% the processing is stopped and the following entries discarded.
-%
-% \section{Example}
-%
-% The following example prints a short piece of HTML code using
-% the tabbing environment for indenting purpose and a key value
-% syntax for specifying the attributes of an HTML tag.
-% The example illustrates the use of a default family handler.
-%    \begin{macrocode}
-%<*example>
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{kvsetkeys}
-\usepackage{keyval}
-
-\makeatletter
-\newcommand*{\tag}[2][]{%
-  % #1: attributes
-  % #2: tag name
-  \begingroup
-    \toks@={}%
-    \let\@endslash\@empty
-    \kvsetkeys{tag}{#1}%
-    \texttt{%
-      \textless #2\the\toks@\@endslash\textgreater
-    }%
-  \endgroup
-}
-\kv at set@family at handler{tag}{%
-  % #1: key
-  % #2: value
-  \toks@\expandafter{%
-    \the\toks@
-    \space
-    #1=\string"#2\string"%
-  }%
-}
-\define at key{tag}{/}[]{%
-  \def\@endslash{/}%
-}
-\makeatother
-
-\begin{document}
-\begin{tabbing}
-  \mbox{}\qquad\=\qquad\=\kill
-  \tag{html}\\
-  \>\dots\\
-  \>\tag[border=1]{table}\\
-  \>\>\tag[width=200, span=3, /]{colgroup}\\
-  \>\>\dots\\
-  \>\tag{/table}\\
-  \>\dots\\
-  \tag{/html}\\
-\end{tabbing}
-\end{document}
-%</example>
-%    \end{macrocode}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Identification}
-%
-%    \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 kvsetkeys.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{kvsetkeys}{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 kvsetkeys.sty\endcsname
-\ProvidesPackage{kvsetkeys}%
-  [2016/05/16 v1.17 Key value parser (HO)]%
-%    \end{macrocode}
-%
-%    \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 KVS 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\KVS at AtEnd{%
-    \KVS at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{36}{3}% $
-\TMP at EnsureCode{38}{4}% &
-\TMP at EnsureCode{39}{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{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{94}{7}% ^ (superscript)
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{126}{13}% ~ (active)
-\edef\KVS at AtEnd{\KVS at AtEnd\noexpand\endinput}
-%    \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{etexcmds}[2010/01/28]%
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{etexcmds}[2010/01/28]%
-\fi
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\expandafter\ifx\csname toks@\endcsname\relax
-  \toksdef\toks@=0 %
-\fi
-%    \end{macrocode}
-%
-% \subsection{Check for \eTeX}
-%
-%    \cs{unexpanded}, \cs{ifcsname}, and \cs{unless} are used if found.
-%    \begin{macrocode}
-\begingroup\expandafter\endgroup
-\ifcase0\ifetex at unexpanded
-          \expandafter\ifx\csname ifcsname\endcsname\relax
-          \else
-            \expandafter\ifx\csname unless\endcsname\relax
-            \else
-              1%
-            \fi
-          \fi
-        \fi
-  \catcode`\$=9 % ignore
-  \catcode`\&=14 % comment
-\else % e-TeX
-  \catcode`\$=14 % comment
-  \catcode`\&=9  % ignore
-\fi
-%    \end{macrocode}
-%
-% \subsection{Generic help macros}
-%
-%    \begin{macro}{\KVS at Empty}
-%    \begin{macrocode}
-\def\KVS at Empty{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at FirstOfTwo}
-%    \begin{macrocode}
-\long\def\KVS at FirstOfTwo#1#2{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at SecondOfTwo}
-%    \begin{macrocode}
-\long\def\KVS at SecondOfTwo#1#2{#2}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\KVS at IfEmpty}
-%    \begin{macrocode}
-\long\def\KVS at IfEmpty#1{%
-& \edef\KVS at Temp{\etex at unexpanded{#1}}%
-$ \begingroup
-$   \toks@{#1}%
-$   \edef\KVS at Temp{\the\toks@}%
-$ \expandafter\endgroup
-  \ifx\KVS at Temp\KVS at Empty
-    \expandafter\KVS at FirstOfTwo
-  \else
-    \expandafter\KVS at SecondOfTwo
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Normalizing}
-%
-%    \begin{macro}{\kv at normalize}
-%    \begin{macrocode}
-\long\def\kv at normalize#1{%
-  \begingroup
-    \toks@{,#1,}%
-    \KVS at Comma
-    \KVS at SpaceComma
-    \KVS at CommaSpace
-    \KVS at CommaComma
-    \KVS at Equals
-    \KVS at SpaceEquals
-    \KVS at EqualsSpace
-    \xdef\KVS at Global{\the\toks@}%
-  \endgroup
-  \let\kv at list\KVS at Global
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\comma at normalize}
-%    \begin{macrocode}
-\def\comma at normalize#1{%
-  \begingroup
-    \toks@{,#1,}%
-    \KVS at Comma
-    \KVS at SpaceComma
-    \KVS at CommaSpace
-    \KVS at CommaComma
-    \xdef\KVS at Global{\the\toks@}%
-  \endgroup
-  \let\comma at list\KVS at Global
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at Comma}
-%    Converts active commas into comma with catcode other.
-%    Also adds a comma at the end to protect the last value
-%    for next cleanup steps.
-%    \begin{macrocode}
-\begingroup
-  \lccode`\,=`\,%
-  \lccode`\~=`\,%
-\lowercase{\endgroup
-  \def\KVS at Comma{%
-    \toks@\expandafter{\expandafter}\expandafter
-    \KVS@@Comma\the\toks@~\KVS at Nil
-  }%
-  \long\def\KVS@@Comma#1~#2\KVS at Nil{%
-    \toks@\expandafter{\the\toks@#1}%
-    \KVS at IfEmpty{#2}{%
-    }{%
-      \KVS@@Comma,#2\KVS at Nil
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at SpaceComma}
-%    Removes spaces before the comma, may add commas at the end.
-%    \begin{macrocode}
-\def\KVS at SpaceComma#1{%
-  \def\KVS at SpaceComma{%
-    \expandafter\KVS@@SpaceComma\the\toks@#1,\KVS at Nil
-  }%
-}
-\KVS at SpaceComma{ }
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS@@SpaceComma}
-%    \begin{macrocode}
-\long\def\KVS@@SpaceComma#1 ,#2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1}%
-  }{%
-    \KVS@@SpaceComma#1,#2\KVS at Nil
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at CommaSpace}
-%    Removes spaces after the comma, may add commas at the end.
-%    \begin{macrocode}
-\def\KVS at CommaSpace{%
-  \expandafter\KVS@@CommaSpace\the\toks@, \KVS at Nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS@@CommaSpace}
-%    \begin{macrocode}
-\long\def\KVS@@CommaSpace#1, #2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1}%
-  }{%
-    \KVS@@CommaSpace#1,#2\KVS at Nil
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at CommaComma}
-%    Replaces multiple commas by one comma.
-%    \begin{macrocode}
-\def\KVS at CommaComma{%
-  \expandafter\KVS@@CommaComma\the\toks@,\KVS at Nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS@@CommaComma}
-%    \begin{macrocode}
-\long\def\KVS@@CommaComma#1,,#2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1,}% (!)
-  }{%
-    \KVS@@CommaComma#1,#2\KVS at Nil
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\KVS at Equals}
-%    Converts active equals signs into catcode other characters.
-%    \begin{macrocode}
-\begingroup
-  \lccode`\==`\=%
-  \lccode`\~=`\=%
-\lowercase{\endgroup
-  \def\KVS at Equals{%
-    \toks@\expandafter{\expandafter}\expandafter
-    \KVS@@Equals\the\toks@~\KVS at Nil
-  }%
-  \long\def\KVS@@Equals#1~#2\KVS at Nil{%
-    \edef\KVS at Temp{\the\toks@}%
-    \ifx\KVS at Temp\KVS at Empty
-      \expandafter\KVS at FirstOfTwo
-    \else
-      \expandafter\KVS at SecondOfTwo
-    \fi
-    {%
-      \toks@{#1}%
-    }{%
-      \toks@\expandafter{\the\toks@=#1}%
-    }%
-    \KVS at IfEmpty{#2}{%
-    }{%
-      \KVS@@Equals#2\KVS at Nil
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at SpaceEquals}
-%    Removes spaces before the equals sign.
-%    \begin{macrocode}
-\def\KVS at SpaceEquals#1{%
-  \def\KVS at SpaceEquals{%
-    \expandafter\KVS@@SpaceEquals\the\toks@#1=\KVS at Nil
-  }%
-}
-\KVS at SpaceEquals{ }
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS@@SpaceEquals}
-%    \begin{macrocode}
-\long\def\KVS@@SpaceEquals#1 =#2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1}%
-  }{%
-    \KVS@@SpaceEquals#1=#2\KVS at Nil
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at EqualsSpace}
-%    Removes spaces after the equals sign.
-%    \begin{macrocode}
-\def\KVS at EqualsSpace{%
-  \expandafter\KVS@@EqualsSpace\the\toks@= \KVS at Nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS@@EqualsSpace}
-%    \begin{macrocode}
-\long\def\KVS@@EqualsSpace#1= #2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1}%
-  }{%
-    \KVS@@EqualsSpace#1=#2\KVS at Nil
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Parsing key value lists}
-%
-%    \begin{macro}{\kv at parse}
-%    Normalizes and parses the key value list. Also sets \cs{kv at list}.
-%    \begin{macrocode}
-\long\def\kv at parse#1{%
-  \kv at normalize{#1}%
-  \expandafter\kv at parse@normalized\expandafter{\kv at list}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\kv at parse@normalized}
-%    |#1|: key value list\\
-%    |#2|: processor
-%    \begin{macrocode}
-\long\def\kv at parse@normalized#1#2{%
-  \KVS at Parse#1,\KVS at Nil{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at Parse}
-%    |#1,#2|: key value list\\
-%    |#3|: processor
-%    \begin{macrocode}
-\long\def\KVS at Parse#1,#2\KVS at Nil#3{%
-  \KVS at IfEmpty{#1}{%
-  }{%
-    \KVS at Process#1=\KVS at Nil{#3}%
-  }%
-  \KVS at MaybeBreak
-  \KVS at IfEmpty{#2}{%
-  }{%
-    \KVS at Parse#2\KVS at Nil{#3}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at Process}
-%    |#1|: key\\
-%    |#2|: value, |=|\\
-%    |#3|: processor
-%    \begin{macrocode}
-\long\def\KVS at Process#1=#2\KVS at Nil#3{%
-  \let\KVS at MaybeBreak\relax
-  \def\kv at key{#1}%
-  \KVS at IfEmpty{#2}{%
-    \let\kv at value\relax
-    #3{#1}{}%
-  }{%
-    \KVS@@Process{#1}#2\KVS at Nil{#3}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS@@Process}
-%    |#1|: key\\
-%    |#2|: value\\
-%    |#3|: processor
-%    \begin{macrocode}
-\long\def\KVS@@Process#1#2=\KVS at Nil#3{%
-& \edef\kv at value{\etex at unexpanded{#2}}%
-$ \begingroup
-$   \toks@{#2}%
-$   \xdef\KVS at Global{\the\toks@}%
-$ \endgroup
-$ \let\kv at value\KVS at Global
-  #3{#1}{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at MaybeBreak}
-%    \begin{macrocode}
-\let\KVS at MaybeBreak\relax
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at break}
-%    \begin{macrocode}
-\def\KVS at break#1#2#3#4{%
-  \let\KVS at MaybeBreak\relax
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\kv at break}
-%    \begin{macrocode}
-\def\kv at break{%
-  \let\KVS at MaybeBreak\KVS at break
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Parsing comma lists}
-%
-%    \begin{macro}{\comma at parse}
-%    Normalizes and parses the key value list. Also sets \cs{comma at list}.
-%    \begin{macrocode}
-\def\comma at parse#1{%
-  \comma at normalize{#1}%
-  \expandafter\comma at parse@normalized\expandafter{\comma at list}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\comma at parse@normalized}
-%    |#1|: comma list\\
-%    |#2|: processor
-%    \begin{macrocode}
-\def\comma at parse@normalized#1#2{%
-  \KVS at CommaParse#1,\KVS at Nil{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at CommaParse}
-%    |#1,#2|: comma list\\
-%    |#3|: processor
-%    \begin{macrocode}
-\def\KVS at CommaParse#1,#2\KVS at Nil#3{%
-  \KVS at IfEmpty{#1}{%
-  }{%
-    \def\comma at entry{#1}%
-    #3{#1}%
-  }%
-  \KVS at MaybeBreak
-  \KVS at IfEmpty{#2}{%
-  }{%
-    \KVS at CommaParse#2\KVS at Nil{#3}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\comma at break}
-%    \begin{macrocode}
-\def\comma at break{%
-  \let\KVS at MaybeBreak\KVS at break
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Processing key value pairs}
-%
-%    \begin{macro}{\kv at handled@false}
-%    The handler can call \cs{kv at handled@false} or
-%    \cs{kv at handled@true} so report failure or success.
-%    The default is success (compatibility for versions
-%    before 2011/10/18 v1.15).
-%    \begin{macrocode}
-\def\kv at handled@false{%
-  \let\ifkv at handled@\iffalse
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\kv at handled@true}
-%    \begin{macrocode}
-\def\kv at handled@true{%
-  \let\ifkv at handled@\iftrue
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ifkv at handled@}
-%    \begin{macrocode}
-\kv at handled@true
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\kv at processor@default}
-%    \begin{macrocode}
-\def\kv at processor@default#1#2{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-    \edef\KVS at temp{\endgroup
-      \noexpand\KVS at ProcessorDefault{#1}{#2}%
-    }%
-  \KVS at temp
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at ProcessorDefault}
-%    \begin{macrocode}
-\long\def\KVS at ProcessorDefault#1#2#3{%
-  \def\kv at fam{#1}%
-& \unless\ifcsname KV@#1@#2\endcsname
-$ \begingroup\expandafter\expandafter\expandafter\endgroup
-$ \expandafter\ifx\csname KV@#1@#2\endcsname\relax
-&   \unless\ifcsname KVS@#1 at handler\endcsname
-$   \begingroup\expandafter\expandafter\expandafter\endgroup
-$   \expandafter\ifx\csname KVS@#1 at handler\endcsname\relax
-      \kv at error@unknownkey{#1}{#2}%
-    \else
-      \kv at handled@true
-      \csname KVS@#1 at handler\endcsname{#2}{#3}%
-      \relax
-      \ifkv at handled@
-      \else
-        \kv at error@unknownkey{#1}{#2}%
-      \fi
-    \fi
-  \else
-    \ifx\kv at value\relax
-&     \unless\ifcsname KV@#1@#2 at default\endcsname
-$     \begingroup\expandafter\expandafter\expandafter\endgroup
-$     \expandafter\ifx\csname KV@#1@#2 at default\endcsname\relax
-        \kv at error@novalue{#1}{#2}%
-      \else
-        \csname KV@#1@#2 at default\endcsname
-        \relax
-      \fi
-    \else
-      \csname KV@#1@#2\endcsname{#3}%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\kv at processor@known}
-%    \begin{macrocode}
-\def\kv at processor@known#1#2#3{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-    \edef\KVS at temp{\endgroup
-      \noexpand\KVS at ProcessorKnown{#1}\noexpand#2{#3}%
-    }%
-  \KVS at temp
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at ProcessorKnown}
-%    \begin{macrocode}
-\long\def\KVS at ProcessorKnown#1#2#3#4{%
-  \def\kv at fam{#1}%
-& \unless\ifcsname KV@#1@#3\endcsname
-$ \begingroup\expandafter\expandafter\expandafter\endgroup
-$ \expandafter\ifx\csname KV@#1@#3\endcsname\relax
-&   \unless\ifcsname KVS@#1 at handler\endcsname
-$   \begingroup\expandafter\expandafter\expandafter\endgroup
-$   \expandafter\ifx\csname KVS@#1 at handler\endcsname\relax
-      \KVS at AddUnhandled#2{#3}{#4}%
-    \else
-      \kv at handled@true
-      \csname KVS@#1 at handler\endcsname{#3}{#4}%
-      \relax
-      \ifkv at handled@
-      \else
-        \KVS at AddUnhandled#2{#3}{#4}%
-      \fi
-    \fi
-  \else
-    \ifx\kv at value\relax
-&     \unless\ifcsname KV@#1@#2 at default\endcsname
-$     \begingroup\expandafter\expandafter\expandafter\endgroup
-$     \expandafter\ifx\csname KV@#1@#3 at default\endcsname\relax
-        \kv at error@novalue{#1}{#3}%
-      \else
-        \csname KV@#1@#3 at default\endcsname
-        \relax
-      \fi
-    \else
-      \csname KV@#1@#3\endcsname{#4}%
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at AddUnhandled}
-%    \begin{macrocode}
-\long\def\KVS at AddUnhandled#1#2#3{%
-& \edef#1{%
-&   \ifx#1\KVS at empty
-&   \else
-&     \etex at unexpanded{#1},%
-&   \fi
-&   \etex at unexpanded{{#2}={#3}}%
-& }%
-$ \begingroup
-$   \ifx#1\KVS at empty
-$     \toks@{{#2}={#3}}%
-$   \else
-$     \toks@\expandafter{#1,{#2}={#3}}%
-$   \fi
-$   \xdef\KVS at Global{\the\toks@}%
-$ \endgroup
-$ \let#1\KVS at Global
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\kv at set@family at handler}
-%    \begin{macrocode}
-\long\def\kv at set@family at handler#1#2{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-  \expandafter\endgroup
-  \expandafter\def\csname KVS@#1 at handler\endcsname##1##2{#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\kv at unset@family at handler}
-%    \begin{macrocode}
-\long\def\kv at unset@family at handler#1#2{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-  \expandafter\endgroup
-  \expandafter\let\csname KVS@#1 at handler\endcsname\@UnDeFiNeD
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Error handling}
-%
-%    \begin{macro}{\kv at error@novalue}
-%    \begin{macrocode}
-\def\kv at error@novalue{%
-  \kv at error@generic{No value specified for}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\kv at error@unknownkey}
-%    \begin{macrocode}
-\def\kv at error@unknownkey{%
-  \kv at error@generic{Undefined}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\kv at error@generic}
-%    \begin{macrocode}
-\def\kv at error@generic#1#2#3{%
-  \@PackageError{kvsetkeys}{%
-    #1 key `#3'%
-  }{%
-    The keyval family of the key `#3' is `#2'.\MessageBreak
-    The setting of the key is ignored because of the error.\MessageBreak
-    \MessageBreak
-    \@ehc
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Do it all}
-%
-%    \begin{macro}{\kvsetkeys}
-%    \begin{macrocode}
-\long\def\kvsetkeys#1#2{%
-  \kv at parse{#2}{\kv at processor@default{#1}}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\kvsetkeys at expandafter}
-%    \begin{macrocode}
-\def\kvsetkeys at expandafter#1#2{%
-  \expandafter\kv at parse\expandafter{#2}{%
-    \kv at processor@default{#1}%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\KVS at cmd}
-%    \begin{macrocode}
-\def\KVS at cmd{0}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at cmd@inc}
-%    \begin{macrocode}
-\def\KVS at cmd@inc{%
-& \edef\KVS at cmd{\the\numexpr\KVS at cmd+1}%
-$ \begingroup
-$   \count255=\KVS at cmd\relax
-$   \advance\count255 by 1\relax
-$ \edef\x{\endgroup
-$   \noexpand\def\noexpand\KVS at cmd{\number\count255}%
-$ }%
-$ \x
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at cmd@dec}
-%    \begin{macrocode}
-\def\KVS at cmd@dec{%
-& \edef\KVS at cmd{\the\numexpr\KVS at cmd-1}%
-$ \begingroup
-$   \count255=\KVS at cmd\relax
-$   \advance\count255 by -1\relax
-$ \edef\x{\endgroup
-$   \noexpand\def\noexpand\KVS at cmd{\number\count255}%
-$ }%
-$ \x
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at empty}
-%    \begin{macrocode}
-\def\KVS at empty{}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\kvsetknownkeys}
-%    \begin{macrocode}
-\def\kvsetknownkeys{%
-  \expandafter
-  \KVS at setknownkeys\csname KVS at cmd\KVS at cmd\endcsname{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\KVS at setknownkeys}
-%    \begin{macrocode}
-\long\def\KVS at setknownkeys#1#2#3#4#5{%
-  \let#1\KVS at empty
-  \KVS at cmd@inc
-  #2\kv at parse#2{#5}{\kv at processor@known{#3}#1}%
-  \KVS at cmd@dec
-  \let#4=#1%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\kvsetknownkeys at expandafter}
-%    \begin{macrocode}
-\def\kvsetknownkeys at expandafter{%
-  \expandafter
-  \KVS at setknownkeys
-      \csname KVS at cmd\KVS at cmd\endcsname\expandafter
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\KVS at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{kvsetkeys}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/kvsetkeys.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/kvsetkeys.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 kvsetkeys.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@{}}
-%   kvsetkeys.sty & tex/generic/oberdiek/kvsetkeys.sty\\
-%   kvsetkeys.pdf & doc/latex/oberdiek/kvsetkeys.pdf\\
-%   kvsetkeys-example.tex & doc/latex/oberdiek/kvsetkeys-example.tex\\
-%   kvsetkeys.dtx & source/latex/oberdiek/kvsetkeys.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{kvsetkeys.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 kvsetkeys.dtx
-%makeindex -s gind.ist kvsetkeys.idx
-%pdflatex kvsetkeys.dtx
-%makeindex -s gind.ist kvsetkeys.idx
-%pdflatex kvsetkeys.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-% \bibitem{tb94wright}
-%   A guide to key-value methods, Joseph Wright, second draft for
-%   \href{https://www.tug.org/tugboat}{TUGBoat}, 2009-03-17.
-%   \url{https://www.texdev.net/uploads/2009/03/keyval.pdf}
-%
-% \bibitem{keyval}
-%   David Carlisle:
-%   \textit{The \xpackage{keyval} package};
-%   1999/03/16 v1.13;
-%   \CTANpkg{keyval}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2006/03/06 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2006/10/19 v1.1}
-%   \item
-%     Fix of \cs{kv at set@family at handler}.
-%   \item
-%     Example added.
-%   \end{Version}
-%   \begin{Version}{2007/09/09 v1.2}
-%   \item
-%     Using package \xpackage{infwarerr} for error messages.
-%   \item
-%     Catcode section rewritten.
-%   \end{Version}
-%   \begin{Version}{2007/09/29 v1.3}
-%   \item
-%     Normalizing and parsing of comma separated lists added.
-%   \item
-%     \cs{kv at normalize} rewritten.
-%   \item
-%     Robustness increased for normalizing and parsing,
-%     e.g. for values with unmatched conditionals.
-%   \item
-%     \eTeX\ is used if available.
-%   \item
-%     Tests added for normalizing and parsing.
-%   \end{Version}
-%   \begin{Version}{2009/07/19 v1.4}
-%   \item
-%     Bug fix for \cs{kv at normalize}: unwanted space removed (Florent Chervet).
-%   \end{Version}
-%   \begin{Version}{2009/07/30 v1.5}
-%   \item
-%     Documentation addition: recommendation for Joseph Wright's
-%     review article.
-%   \end{Version}
-%   \begin{Version}{2009/12/12 v1.6}
-%   \item
-%     Short info shortened.
-%   \end{Version}
-%   \begin{Version}{2009/12/22 v1.7}
-%   \item
-%     Internal optimization (\cs{KVS at CommaSpace}, \dots, \cs{KVS at EqualsSpace}).
-%   \end{Version}
-%   \begin{Version}{2010/01/28 v1.8}
-%   \item
-%     Compatibility to ini\TeX\ added.
-%   \end{Version}
-%   \begin{Version}{2010/03/01 v1.9}
-%   \item
-%     Support of \cs{par} inside values.
-%   \end{Version}
-%   \begin{Version}{2011/01/30 v1.10}
-%   \item
-%     Already loaded package files are not input in \hologo{plainTeX}.
-%   \end{Version}
-%   \begin{Version}{2011/03/03 v1.11}
-%   \item
-%     \cs{kv at break} and \cs{comma at break} added.
-%   \end{Version}
-%   \begin{Version}{2011/04/05 v1.12}
-%   \item
-%     Error message with recovery action in help message
-%     (request by GL).
-%   \end{Version}
-%   \begin{Version}{2011/04/07 v1.13}
-%   \item
-%     \cs{kv at processor@default} supports package \xpackage{babel}'s
-%     shorthands.
-%   \item
-%     \cs{kv at set@family at handler} with shorthand support.
-%   \end{Version}
-%   \begin{Version}{2011/06/15 v1.14}
-%   \item
-%     Some optimizations in token register uses (GL, HO).
-%   \end{Version}
-%   \begin{Version}{2011/10/18 v1.15}
-%   \item
-%     \cs{kv at processor@known} and \cs{kvsetknownkeys} added.
-%   \item
-%     \cs{kvsetkeys at expandafter} and \cs{kvsetknownkeys at expandafter} added.
-%   \item
-%     Family handler can report success or failure by \cs{kv at handled@true}
-%     or \cs{kv at handled@false}.
-%   \item
-%     \cs{kv at unset@family at handler} added.
-%   \end{Version}
-%   \begin{Version}{2012/04/25 v1.16}
-%   \item
-%     \cs{kv at processor@default} and \cs{kv at processor@known} define
-%     macro \cs{kv at fam} for convenience.
-%   \item
-%     Catcode section: Catcode setting for \texttt{+} added for \hologo{eTeX}.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.17}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,2429 +0,0 @@
-% \iffalse meta-comment
-%
-% File: ltxcmds.dtx
-% Version: 2016/05/16 v1.23
-% Info: LaTeX kernel commands for general use
-%
-% Copyright (C)
-%    2009-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 ltxcmds.dtx
-% and the derived files
-%    ltxcmds.sty, ltxcmds.pdf, ltxcmds.ins, ltxcmds.drv,
-%    ltxcmds-test1.tex, ltxcmds-test-gobble.tex,
-%    ltxcmds-test-ifempty.tex, ltxcmds-test-zapspace.tex,
-%    ltxcmds-test-ifboxempty.tex, ltxcmds-test-nextchar.tex,
-%    ltxcmds-test-carcdr.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/ltxcmds.dtx
-%    CTAN:macros/latex/contrib/oberdiek/ltxcmds.pdf
-%
-% Unpacking:
-%    (a) If ltxcmds.ins is present:
-%           tex ltxcmds.ins
-%    (b) Without ltxcmds.ins:
-%           tex ltxcmds.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{ltxcmds.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If ltxcmds.drv is present:
-%           latex ltxcmds.drv
-%    (b) Without ltxcmds.drv:
-%           latex ltxcmds.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 ltxcmds.dtx
-%       makeindex -s gind.ist ltxcmds.idx
-%       pdflatex ltxcmds.dtx
-%       makeindex -s gind.ist ltxcmds.idx
-%       pdflatex ltxcmds.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/ltxcmds.sty
-%    TDS:doc/latex/oberdiek/ltxcmds.pdf
-%    TDS:source/latex/oberdiek/ltxcmds.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: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: ltxcmds
-Version: 2016/05/16 v1.23
-
-Copyright (C)
-   2009-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 ltxcmds.dtx
-and the derived files
-   ltxcmds.sty, ltxcmds.pdf, ltxcmds.ins, ltxcmds.drv,
-   ltxcmds-test1.tex, ltxcmds-test-gobble.tex,
-   ltxcmds-test-ifempty.tex, ltxcmds-test-zapspace.tex,
-   ltxcmds-test-ifboxempty.tex, ltxcmds-test-nextchar.tex,
-   ltxcmds-test-carcdr.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{ltxcmds.ins}{\from{ltxcmds.dtx}{install}}%
-  \file{ltxcmds.drv}{\from{ltxcmds.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{ltxcmds.sty}{\from{ltxcmds.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{ltxcmds-test1.tex}{\from{ltxcmds.dtx}{test1}}%
-%  \file{ltxcmds-test-gobble.tex}{\from{ltxcmds.dtx}{test-gobble}}%
-%  \file{ltxcmds-test-ifempty.tex}{\from{ltxcmds.dtx}{test-ifempty}}%
-%  \file{ltxcmds-test-zapspace.tex}{\from{ltxcmds.dtx}{test-zapspace}}%
-%  \file{ltxcmds-test-ifboxempty.tex}{\from{ltxcmds.dtx}{test-ifboxempty}}%
-%  \file{ltxcmds-test-nextchar.tex}{\from{ltxcmds.dtx}{test-nextchar}}%
-%  \file{ltxcmds-test-carcdr.tex}{\from{ltxcmds.dtx}{test-carcdr}}%
-}
-
-\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{*     ltxcmds.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `ltxcmds.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{ltxcmds.drv}%
-  [2016/05/16 v1.23 LaTeX kernel commands for general use (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\usepackage{zref-savepos}
-\usepackage{paralist}
-\hfuzz=1pt
-\begin{document}
-  \DocInput{ltxcmds.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{ltxcmds.drv}
-%
-% \title{The \xpackage{ltxcmds} package}
-% \date{2016/05/16 v1.23}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% The package \xpackage{ltxcmds} exports some utility macros
-% from the \LaTeX\ kernel into a separate namespace and
-% also provides them for other formats such as plain-\TeX.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \newcounter{to}
-% \renewcommand*{\theto}{to\arabic{to}}
-% \newlength\tolength
-% \tolength=\dimexpr .5\linewidth+\oddsidemargin+1in+15mm\relax
-% \newcommand*{\TO}{^^A
-%   \quad
-%   \stepcounter{to}^^A
-%   \zsavepos\theto
-%   \ifdim\zposx\theto sp>0pt
-%     \ifdim\zposx\theto sp<\tolength
-%       \kern\dimexpr\tolength-\zposx\theto sp\relax
-%     \fi
-%   \fi
-%   $\rightarrow$\quad
-%   \ignorespaces
-% }
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% Many of my packages also support other formats such as plain-\TeX.
-% Because I am rather familiar with the utility macros from
-% \LaTeX's kernel (e.g. \cs{@gobble}, \cs{@firstoftwo}), I found
-% myself rewriting them again and again, because they are lacking
-% in plain-\TeX.
-%
-% Therefore this package provides often used macros and similar
-% ones with the name prefix \cs{ltx@}. This avoids also faulty
-% redefinitions. I remember an example where a package redefined
-% \cs{@firstoftwo} with forgetting \cs{long}.
-%
-% \subsection{Numbers}
-%
-% \begin{declcs}{ltx at zero} \TO 0\\
-%   \cs{ltx at one} \TO 1\\
-%   \cs{ltx at two} \TO 2\\
-%   \cs{ltx at cclv} \TO 255\\
-%   \cs{ltx at minusone} \TO -1
-% \end{declcs}
-% These commands are numbers 0, 1, 2, 255 and -1. They are not digits
-% and a space is not gobbled afterwards. Macro \cs{ltx at minusone}
-% is available since version 2010/12/12 v1.15.
-%
-% \subsection{Scratch registers}
-%
-% Following the conventions of \hologo{plainTeX} and \hologo{LaTeX}
-% the first ten registers are free to use. Even numbered registers
-% are for local, odd numbered for global use.
-%
-% \begin{declcs}{ltx@(Loc,Glob)(Toks,Dimen,Skip)(A,B,C,D,E)}
-% \end{declcs}
-% The name consists of the prefix \cs{ltx@}, then
-% \texttt{Loc} or \texttt{Glob} for local or global usage follows.
-% The register type is given by \texttt{Toks} for token register,
-% \texttt{Dimen} for dimen register and \texttt{Skip} for skip
-% register. As last part the registers are numbered from \texttt{A}
-% to \texttt{E}. Example: \cs{ltx at LocToksA}.
-%
-% Since 2011/04/14 v1.19.
-%
-% \subsection{Argument killers}
-%
-% \begin{declcs}{ltx at gobble} \M{1} \TO\\
-%   \cs{ltx at gobbletwo} \M{1} \M{2} \TO\\
-%   \cs{ltx at gobblethree} \M{1} \M{2} \M{3} \TO\\
-%   \cs{ltx at gobblefour} \M{1} \M{2} \M{3} \M{4} \TO
-% \end{declcs}
-%
-% \begin{declcs}{ltx at GobbleNum} \M{num} \M{1} \M{2} \dots\space
-%   \M{\meta{num}} \TO
-% \end{declcs}
-% The first argument \meta{num} of macro \cs{ltx at GobbleNum} specifies,
-% how many following arguments are eaten. Macro \cs{ltx at GobbleNum}
-% is expandable in exact two expansion steps.
-%
-% \subsection{Argument grabbers}
-%
-% \begin{declcs}{ltx at firstofone} \M{1} \TO \meta{1}\\[1ex]
-%  \cs{ltx at firstoftwo} \M{1} \M{2} \TO \meta{1}\\
-%  \cs{ltx at secondoftwo} \M{1} \M{2} \TO \meta{2}\\[1ex]
-%  \cs{ltx at firstofthree} \M{1} \M{2} \M{3} \TO \meta{1}\\
-%  \cs{ltx at secondofthree} \M{1} \M{2} \M{3} \TO \meta{2}\\
-%  \cs{ltx at thirdofthree} \M{1} \M{2} \M{3} \TO \meta{3}\\
-%  \cs{ltx at firstoffour} \M{1} \M{2} \M{3} \M{4} \TO \meta{1}\\
-%  \cs{ltx at secondoffour} \M{1} \M{2} \M{3} \M{4} \TO \meta{2}\\
-%  \cs{ltx at thirdoffour} \M{1} \M{2} \M{3} \M{4} \TO \meta{3}\\
-%  \cs{ltx at fourthoffour} \M{1} \M{2} \M{3} \M{4} \TO \meta{4}
-% \end{declcs}
-% Macros \cs{ltx at firstofthree}, \cs{ltx at secondofthree}
-% and \cs{ltx at thirdofthree} were added in version
-% 2010/11/12 v1.11.
-% Macros \cs{ltx at firstoffour}, \dots, \cs{ltx at fourthoffour}
-% were added in version 2011/02/04 v1.16.
-%
-% \subsection{List helpers}
-%
-% \begin{declcs}{ltx at carzero} \dots\ \cs{@nil} \TO\\
-%   \cs{ltx at cdrzero} \dots\ \cs{@nil} \TO \dots
-% \end{declcs}
-%
-% \begin{declcs}{ltx at car} \M{1} \dots\ \cs{@nil} \TO \meta{1}\\
-%   \cs{ltx at cdr} \M{1} \dots\ \cs{@nil} \TO \dots
-% \end{declcs}
-%
-% \begin{declcs}{ltx at cartwo} \M{1} \M{2} \dots\ \cs{@nil}
-%   \TO \meta{1}\meta{2}\\
-%   \cs{ltx at carsecond} \M{1} \M{2} \dots\ \cs{@nil} \TO \meta{2}\\
-%   \cs{ltx at cdrtwo} \M{1} \M{2} \dots\ \cs{@nil} \TO \dots
-% \end{declcs}
-%
-% \begin{declcs}{ltx at carthree} \M{1} \M{2} \M{3} \dots\ \cs{@nil}
-%       \TO \meta{1}\meta{2}\meta{3}\\
-%   \cs{ltx at carthird} \M{1} \M{2} \M{3} \dots\ \cs{@nil}
-%       \TO \meta{3}\\
-%   \cs{ltx at cdrthree} \M{1} \M{2} \M{3} \dots\ \cs{@nil} \TO \dots
-% \end{declcs}
-%
-% \begin{declcs}{ltx at carfour} \M{1} \M{2} \M{3} \M{4} \dots\ \cs{@nil}
-%       \TO \meta{1}\meta{2}\meta{3}\meta{4}\\
-%   \cs{ltx at carfourth} \M{1} \M{2} \M{3} \M{4} \dots\ \cs{@nil}
-%       \TO \meta{4}\\
-%   \cs{ltx at cdrfour} \M{1} \M{2} \M{3} \M{4} \dots\ \cs{@nil} \TO \dots
-% \end{declcs}
-%
-% \begin{declcs}{ltx at CarNum} \M{num} \M{1} \dots\ \M{\meta{num}}
-%   \M{\meta{num}+1} \dots\ \cs{@nil}\\
-%   \TO \M{1} \dots\ \M{\meta{num}} \dots\\
-%   \cs{ltx at CarNumth} \M{num} \M{1} \dots\ \M{\meta{num}}
-%   \M{\meta{num}+1} \dots\ \cs{@nil}\\
-%   \TO \M{\meta{num}} \dots\\
-%   \cs{ltx at CdrNum} \M{num} \M{1} \dots\ \M{\meta{num}}
-%   \M{\meta{num}+1} \dots\ \cs{@nil}\\
-%   \TO \M{\meta{num}+1} \dots
-% \end{declcs}
-%
-% Macros with uppercase letters are expandable in two expansion steps.
-% Changes in version 2016/05/16 v1.23:
-% \begin{itemize}
-% \item
-%   Macros \cs{ltx at carsecond}, \cs{ltx at carthird}, \cs{ltx at carfourth},
-%   \cs{ltx at CarNumth} added.
-% \item
-%   Macros \cs{ltx at cdr}, \cs{ltx at cdrtwo}, \cs{ltx at cdrthree}, \cs{ltx at cdrfour},
-%   \cs{ltx at CdrNum} are expandable in two expansion steps and retain
-%   spaces and braces after the first gobbled arguments.
-% \end{itemize}
-%
-% \subsection{Tail recursion}
-%
-% \begin{declcs}{ltx at ReturnAfterFi} \M{1} \cs{fi} \TO \cs{fi} \meta{1}\\
-%   \cs{ltx at ReturnAfterElseFi} \M{1} \cs{else} \M{2} \cs{fi}
-%     \TO \cs{fi} \meta{1}
-% \end{declcs}
-%
-% \subsection{Empty macro}
-%
-% \begin{declcs}{ltx at empty} \TO
-% \end{declcs}
-%
-% \subsection{Characters}
-%
-% \begin{declcs}{ltx at space} \TO \verb*| |\\
-%   \cs{ltx at percentchar} \TO \texttt{\%}\\
-%   \cs{ltx at backslashchar} \TO
-%      \makeatletter\texttt{\@backslashchar}\\
-%   \cs{ltx at hashchar} \TO \texttt{\#}\qquad(since v1.7)\\
-%   \cs{ltx at leftbracechar} \TO \texttt{\textbraceleft}\qquad(since v1.8)\\
-%   \cs{ltx at rightbracechar} \TO \texttt{\textbraceright}\qquad(since v1.8)
-% \end{declcs}
-%
-% \subsection{Boolean switch}
-%
-% \begin{declcs}{ltx at newif} \M{cmd}
-% \end{declcs}
-% \cs{ltx at newif} defines a new boolean switch \meta{cmd} like \cs{newif}.
-% Unlike \plainTeX's \cs{newif}, \cs{ltx at newif} is not \cs{outer}.
-% The command \meta{cmd} must start with the two characters |if|.
-%
-% \begin{declcs}{ltx at newglobalif} \M{cmd}
-% \end{declcs}
-% \cs{ltx at newglobalif} defines a new boolean switch \meta{cmd}
-% like \cs{ltx at newif}. However the switch setting commands,
-% \meta{cmd} without the prefix |if| and followed by |true| or |false|
-% are acting globally.
-%
-% \subsection{Command definitions}
-%
-% \begin{declcs}{ltx at ifundefined} \M{cmd} \M{yes} \M{no}
-% \end{declcs}
-% If \eTeX\ is available, \cs{ifcsname} is used that does
-% not have the side effect of defining undefined commands
-% with meaning of \cs{relax}. This command is always expandable.
-% Change in version 1.1: Also the meaning \cs{relax} is
-% always considered ``undefined''.
-%
-% \begin{declcs}{ltx at IfUndefined} \M{cmd} \M{yes} \M{no}
-% \end{declcs}
-% If \eTeX\ is available, \cs{ifcsname} is used that does
-% not have the side effect of defining undefined commands
-% with meaning of \cs{relax}. Also it always checks for
-% the meaning of \cs{relax} and considers this as undefined.
-% This macro is not expandable without \eTeX.
-%
-% \begin{declcs}{ltx at LocalExpandAfter}
-% \end{declcs}
-% It expands the token after the next token but in a local
-% context. That is the difference to \cs{expandafter}.
-% The local context discards the side effect of \cs{csname}
-% and let the command undefined after the expansion step.
-%
-% \subsection{Stripping}
-%
-% \begin{declcs}{ltx at RemovePrefix}\\
-%   \cs{ltx at StripPrefix}
-% \end{declcs}
-% All tokens up to and including the next available character
-% `\textgreater' are thrown away. Usually it is used to strip
-% the first part of the output of the commands \cs{meaning}
-% or \cs{pdflastmatch}. Macro \cs{ltx at RemovePrefix}
-% has the same meaning as \LaTeX's \cs{strip at prefix}, whereas
-% macro \cs{ltx at StripPrefix} expands the next token
-% once before stripping the prefix.
-%
-% \begin{declcs}{ltx at onelevel@sanitize} \M{macro}
-% \end{declcs}
-% Macro \cs{ltx at onelevel@sanitize} provides \hologo{LaTeX}'s
-% \cs{@onelevel at sanitize}. The macro is expanded once and
-% the contents is converted to characters with catcode 12 (other)
-% and space tokens with catcode 10 (space). Then then sanitized
-% contents is stored into the macro again. Since version 1.12.
-%
-% \subsection{File management}
-%
-% All macros in this section are expandable like
-% the counterparts of the \LaTeX\ kernel. Also they
-% can be used after the preamble.
-%
-% \subsubsection{File extensions}
-%
-% \begin{declcs}{ltx at clsextension}\\
-%   \cs{ltx at pkgextension}
-% \end{declcs}
-% Macros \cs{ltx at clsextension} and \cs{ltx at styextension}
-% stores the strings |cls| and |sty|. In opposite to \hologo{LaTeX}'s
-% \cs{@clsextension} and \cs{@styextension} they can also be
-% used after |\begin{document}|.
-%
-% \subsubsection{Load check}
-%
-% \begin{declcs}{ltx at ifclassloaded} \M{class} \M{yes} \M{no}\\
-%   \cs{ltx at ifpackageloaded} \M{package} \M{yes} \M{no}
-% \end{declcs}
-% Macros \cs{ltx at ifclassloaded}\slash\cs{ltx at ifpackageloaded}
-% execute \meta{yes}, if the \meta{class} or \meta{package} is loaded,
-% otherwise \meta{no} is called.
-% Both \meta{class} and \meta{package} are specified without
-% extension. The macros can also be used after |\begin{document}|.
-%
-% \begin{declcs}{ltx at iffileloaded} \M{file} \M{yes} \M{no}
-% \end{declcs}
-% If \LaTeX's \cs{ProvidesFile} macro was called before
-% using \meta{file} as argument, then \cs{ltx at iffileloaded}
-% calls \meta{yes}, otherwise \meta{no}.
-% Therefore it is possible
-% that the \meta{file} is loaded, but \meta{no} is executed because
-% of a missing \cs{ProvidesFile}. The \LaTeX\ kernel does not have
-% a counterpart of \cs{ltx at iffileloaded}.
-%
-% Note that the file name used in \cs{ProvidesFile} and
-% \cs{ltx at iffileloaded} must match. For example, if \TeX's
-% default extension \xext{tex} was given in the first command,
-% then it must also specified in the latter command and vice versa.
-%
-% \subsubsection{Version date check}
-%
-% \begin{declcs}{ltx at ifclasslater} \M{class} \M{date} \M{yes} \M{no}\\
-%   \cs{ltx at ifpackagelater} \M{package} \M{date} \M{yes} \M{no}\\
-%   \cs{ltx at iffilelater} \M{file} \M{date} \M{yes} \M{no}
-% \end{declcs}
-% If a \cs{ProvidesClass}\slash\cs{ProvidesPackage}\slash
-% \cs{ProvidesFile} command with exact the same class\slash package\slash
-% file was executed before with an optional
-% argument that starts with a \LaTeX\ version date, then
-% this version date is compared with the argument \meta{date}.
-% If they are equal or if the version date is the later date,
-% then \meta{yes} is called. In all other cases \meta{no} is executed.
-%
-% A \LaTeX\ date has the format |YYYY/MM/DD| with |YYYY| as year
-% with four digits, |MM| as month with two digits and |DD| as day
-% with two digits. If \pdfTeX's \cs{pdfmatch} is available, then
-% it is used to detect the version date, to reject invalid
-% date formats and to reject some invalid dates.
-% Dates before 1994/01/01 are always invalid, because version
-% dates are introduced with \LaTeXe\ in 1994.
-%
-% \subsection{Macro additions}
-%
-% \begin{declcs}{ltx at GlobalAppendToMacro} \M{cmd} \M{addition}\\
-%   \cs{ltx at LocalAppendToMacro} \M{cmd} \M{addition}
-% \end{declcs}
-% The \meta{addition} is appended to the parameterless macro \meta{cmd}.
-% If \meta{cmd} is undefined or has the meaning \cs{relax}, then
-% it will be initialized as empty macro beforehand. Due to a bug \meta{addition}
-% must not contain \cs{par} before version 2010/10/25 v1.9.
-%
-% \begin{declcs}{ltx at GlobalPrependToMacro} \M{cmd} \M{addition}\\
-%   \cs{ltx at LocalPrependToMacro} \M{cmd} \M{addition}
-% \end{declcs}
-% The \meta{addition} is prepended to the parameterless macro \meta{cmd}.
-% If \meta{cmd} is undefined or has the meaning \cs{relax}, then
-% it will be initialized as empty macro beforehand. The macros
-% were added in version 2011/08/22 v1.21.
-%
-% \subsection{Next character detection}
-%
-% \begin{declcs}{ltx at ifnextchar} \M{char} \M{yes} \M{no}
-% \end{declcs}
-% If next character is \meta{char} then \meta{yes} is called,
-% otherwise \meta{no}. The character is not removed.
-% Spaces are silently removed when looking for \meta{char}
-% as \hologo{LaTeX}'s version \cs{kernel at ifnextchar} does.
-% But there are also small differences:
-% \begin{itemize}
-% \item The space can be used as \meta{char}. In this case
-%   optional spaces before \meta{char} are not supported of course.
-% \item If the optional space is a command that is a character
-%   (defined by \cs{let} or \cs{futurelet}), then
-%   \cs{kernel at ifnextchar} breaks with an \hologo{TeX} error.
-%   \cs{ltx at ifnextchar} silently removes this token as
-%   optional space.
-% \end{itemize}
-% Since 2010/03/01 v1.3.
-%
-% \begin{declcs}{ltx at ifnextchar@nospace} \M{char} \M{yes} \M{no}
-% \end{declcs}
-% Macro \cs{ltx at ifnextchar@nospace} behaves like
-% macro \cs{ltx at ifnextchar} with the exception that
-% optional spaces are not supported before \meta{char}.
-% Since 2011/04/14 v1.19.
-%
-% \subsection{\cs{ltx at leavevmode}, \cs{ltx at mbox}}
-%
-% \begin{declcs}{ltx at leavevmode}
-% \end{declcs}
-% Macro \cs{ltx at leavevmode} calls \hologo{pdfTeX}'s \cs{quitvmode}.
-% Otherwise \cs{leavevmode} is used and defined if it is necessary.
-%
-% \begin{declcs}{ltx at mbox}
-% \end{declcs}
-% Macro \cs{ltx at mbox} reimplements \cs{mbox} with two changes.
-% Instead of \cs{leavevmode} it uses \cs{ltx at leavevmode} and
-% stops right after \cs{hbox}. Especially it does not grab
-% the argument and allows the extended syntax of \cs{hbox}.
-%
-% \subsection{Expandable test for emptiness}
-%
-% \begin{declcs}{ltx at ifempty} \M{stuff} \M{yes} \M{no}
-% \end{declcs}
-% Macro \cs{ltx at ifempty} checks in exact two expansion steps
-% whether \meta{stuff}
-% is empty or contains token. Depending on the result
-% \meta{yes} or \meta{no} is executed. The token in \meta{stuff}
-% may contain \cs{par} and unmatched conditionals (\cs{if}, \cs{else},
-% \cs{fi}, \dots). Since version 2010/11/12 v1.11.
-%
-% \begin{declcs}{ltx at ifblank} \M{stuff} \M{yes} \M{no}
-% \end{declcs}
-% Macro \cs{ltx at ifblank} tests in exact two expansion steps
-% if \meta{stuff} is empty or contain only blank spaces.
-% In this case argument \meta{yes} is called. If \meta{stuff}
-% contains other tokens than spaces then \meta{no} is executed.
-% Since version 2010/12/04 v1.13.
-%
-% \subsection{Stripping spaces}
-%
-% \begin{declcs}{ltx at zapspace} \M{stuff}
-% \end{declcs}
-% Macro \cs{ltx at zapspace} strips spaces from \meta{stuff}
-% that are not hidden inside curly braces. Like \hologo{LaTeX}'s
-% \cs{zap at space} it is expandable. Differences:
-% \begin{itemize}
-% \item
-% Syntax: \cs{zap at space} also expects a space token
-% and \cs{@empty} after \meta{stuff}.
-% \item
-% Macro \cs{ltx at zapspace} is expandable in exact two
-% expansion steps.
-% \item
-% Macro \cs{ltx at zapspace} always retains curly braces.
-% \item
-% Macro \cs{zap at space} has a bug. It stops stripping spaces
-% after a token group in curly braces if the first two tokens
-% inside the group are equal.
-% \item
-% Macro \cs{ltx at zapspace} also works with \cs{par}
-% and conditionals (\cs{if}, \cs{else}, \cs{fi}, \dots).
-% \end{itemize}
-% Macro \cs{ltx at zapspace} is available since version
-% 2010/12/07 v1.14.
-%
-% \subsection{Check for emptiness of boxes}
-%
-% \begin{declcs}{ltx at IfBoxEmpty} \M{box register number}
-%   \M{yes} \M{no}
-% \end{declcs}
-% Macro \cs{ltx at IfBoxEmpty} calls \meta{yes} if
-% the box exists (\cs{ifvoid} returns false) and the box
-% does not contain any content. Otherwise if the box
-% is void or contains something, then \meta{no} is executed.
-% Thus being empty means that the box exists and is either
-% an \cs{hbox} or a \cs{vbox} and may even have dimensions other than
-% 0.0\,pt, but the box does not contain anything.
-% Macro \cs{ltx at IfBoxEmpty} is available since 2010/02/04 v1.16.
-%
-% \begin{declcs}{ltx at IfBoxVoidOrEmpty} \M{box register number}
-%   \M{yes} \M{no}
-% \end{declcs}
-% Macro \cs{ltx at IfBoxVoidOrEmpty} calls \meta{yes} if
-% the box is either void or does not contain any content.
-% Otherwise \meta{no} is executed.
-% Macro \cs{ltx at IfBoxVoidOrEmpty} is available since 2010/02/04 v1.16.
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Identification}
-%
-%    \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 ltxcmds.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{ltxcmds}{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 ltxcmds.sty\endcsname
-\ProvidesPackage{ltxcmds}%
-  [2016/05/16 v1.23 LaTeX kernel commands for general use (HO)]%
-%    \end{macrocode}
-%
-%    \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 LTXcmds 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\LTXcmds at AtEnd{%
-    \LTXcmds at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{36}{3}% $
-\TMP at EnsureCode{38}{4}% &
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{94}{12}% ^ (superscript) (!)
-\TMP at EnsureCode{124}{12}% |
-\edef\LTXcmds at AtEnd{\LTXcmds at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{Numbers}
-%
-%    \begin{macro}{\ltx at zero}
-%    \begin{macrocode}
-\chardef\ltx at zero=0 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at one}
-%    \begin{macrocode}
-\chardef\ltx at one=1 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at two}
-%    \begin{macrocode}
-\chardef\ltx at two=2 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at active}
-%    \begin{macrocode}
-\chardef\ltx at active=13 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at cclv}
-%    \begin{macrocode}
-\chardef\ltx at cclv=255 %
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at minusone}
-%    \begin{macrocode}
-\def\ltx at minusone{%
-  -\ltx at one
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Scratch registers}
-%
-%    \begin{macro}{\ltx at LocToksA}
-%    \begin{macrocode}
-\toksdef\ltx at LocToksA=0 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocToksB}
-%    \begin{macrocode}
-\toksdef\ltx at LocToksB=2 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocToksC}
-%    \begin{macrocode}
-\toksdef\ltx at LocToksC=4 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocToksD}
-%    \begin{macrocode}
-\toksdef\ltx at LocToksD=6 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocToksE}
-%    \begin{macrocode}
-\toksdef\ltx at LocToksE=8 %
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at GlobToksA}
-%    \begin{macrocode}
-\toksdef\ltx at GlobToksA=1 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobToksB}
-%    \begin{macrocode}
-\toksdef\ltx at GlobToksB=3 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobToksC}
-%    \begin{macrocode}
-\toksdef\ltx at GlobToksC=5 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobToksD}
-%    \begin{macrocode}
-\toksdef\ltx at GlobToksD=7 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobToksE}
-%    \begin{macrocode}
-\toksdef\ltx at GlobToksE=9 %
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at LocDimenA}
-%    \begin{macrocode}
-\dimendef\ltx at LocDimenA=0 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocDimenB}
-%    \begin{macrocode}
-\dimendef\ltx at LocDimenB=2 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocDimenC}
-%    \begin{macrocode}
-\dimendef\ltx at LocDimenC=4 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocDimenD}
-%    \begin{macrocode}
-\dimendef\ltx at LocDimenD=6 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocDimenE}
-%    \begin{macrocode}
-\dimendef\ltx at LocDimenE=8 %
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at GlobDimenA}
-%    \begin{macrocode}
-\dimendef\ltx at GlobDimenA=1 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobDimenB}
-%    \begin{macrocode}
-\dimendef\ltx at GlobDimenB=3 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobDimenC}
-%    \begin{macrocode}
-\dimendef\ltx at GlobDimenC=5 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobDimenD}
-%    \begin{macrocode}
-\dimendef\ltx at GlobDimenD=7 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobDimenE}
-%    \begin{macrocode}
-\dimendef\ltx at GlobDimenE=9 %
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at LocSkipA}
-%    \begin{macrocode}
-\skipdef\ltx at LocSkipA=0 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocSkipB}
-%    \begin{macrocode}
-\skipdef\ltx at LocSkipB=2 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocSkipC}
-%    \begin{macrocode}
-\skipdef\ltx at LocSkipC=4 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocSkipD}
-%    \begin{macrocode}
-\skipdef\ltx at LocSkipD=6 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocSkipE}
-%    \begin{macrocode}
-\skipdef\ltx at LocSkipE=8 %
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at GlobSkipA}
-%    \begin{macrocode}
-\skipdef\ltx at GlobSkipA=1 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobSkipB}
-%    \begin{macrocode}
-\skipdef\ltx at GlobSkipB=3 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobSkipC}
-%    \begin{macrocode}
-\skipdef\ltx at GlobSkipC=5 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobSkipD}
-%    \begin{macrocode}
-\skipdef\ltx at GlobSkipD=7 %
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at GlobSkipE}
-%    \begin{macrocode}
-\skipdef\ltx at GlobSkipE=9 %
-%    \end{macrocode}
-%    \end{macro}
-%
-%
-% \subsection{Argument killers}
-%
-%    \begin{macro}{\ltx at gobble}
-%    \begin{macrocode}
-\long\def\ltx at gobble#1{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at gobbletwo}
-%    \begin{macrocode}
-\long\def\ltx at gobbletwo#1#2{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at gobblethree}
-%    \begin{macrocode}
-\long\def\ltx at gobblethree#1#2#3{}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at gobblefour}
-%    \begin{macrocode}
-\long\def\ltx at gobblefour#1#2#3#4{}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at GobbleNum}
-%    \begin{macrocode}
-\def\ltx at GobbleNum#1{%
-  \romannumeral
-  \csname ltx at zero%
-  \expandafter\LTXcmds at GobbleNum
-  \romannumeral\LTXcmds at num{#1}000{m\endcsname}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at GobbleNum}
-%    \begin{macrocode}
-\def\LTXcmds at GobbleNum#1{%
-  \csname LTXcmds at G#1\LTXcmds at GobbleNum
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at Gm}
-%    \begin{macrocode}
-\long\def\LTXcmds at Gm#1{%
-  \endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Argument grabbers}
-%
-%    \begin{macro}{\ltx at firstofone}
-%    \begin{macrocode}
-\long\def\ltx at firstofone#1{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at firstoftwo}
-%    \begin{macrocode}
-\long\def\ltx at firstoftwo#1#2{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at secondoftwo}
-%    \begin{macrocode}
-\long\def\ltx at secondoftwo#1#2{#2}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at firstofthree}
-%    \begin{macrocode}
-\long\def\ltx at firstofthree#1#2#3{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at secondofthree}
-%    \begin{macrocode}
-\long\def\ltx at secondofthree#1#2#3{#2}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at thirdofthree}
-%    \begin{macrocode}
-\long\def\ltx at thirdofthree#1#2#3{#3}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at firstoffour}
-%    \begin{macrocode}
-\long\def\ltx at firstoffour#1#2#3#4{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at secondoffour}
-%    \begin{macrocode}
-\long\def\ltx at secondoffour#1#2#3#4{#2}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at thirdoffour}
-%    \begin{macrocode}
-\long\def\ltx at thirdoffour#1#2#3#4{#3}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at fourthoffour}
-%    \begin{macrocode}
-\long\def\ltx at fourthoffour#1#2#3#4{#4}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{List helpers}
-%
-%    \begin{macro}{\ltx at carzero}
-%    \begin{macrocode}
-\long\def\ltx at carzero#1\@nil{}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at cdrzero}
-%    \begin{macrocode}
-\long\def\LTXcmds at cdrzero#1\@nil{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at cdrzero}
-%    \begin{macrocode}
-\def\ltx at cdrzero{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at car}
-%    \begin{macrocode}
-\long\def\ltx at car#1#2\@nil{#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at cdr}
-%    \begin{macrocode}
-\long\def\ltx at cdr#1{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at cartwo}
-%    \begin{macrocode}
-\long\def\ltx at cartwo#1#2#3\@nil{#1#2}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at carsecond}
-%    \begin{macrocode}
-\long\def\ltx at carsecond#1#2#3\@nil{#2}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at cdrtwo}
-%    \begin{macrocode}
-\long\def\ltx at cdrtwo#1#2{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at carthree}
-%    \begin{macrocode}
-\long\def\ltx at carthree#1#2#3#4\@nil{#1#2#3}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at carthird}
-%    \begin{macrocode}
-\long\def\ltx at carthird#1#2#3#4\@nil{#3}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at cdrthree}
-%    \begin{macrocode}
-\long\def\ltx at cdrthree#1#2#3{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at carfour}
-%    \begin{macrocode}
-\long\def\ltx at carfour#1#2#3#4#5\@nil{#1#2#3#4}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at carfourth}
-%    \begin{macrocode}
-\long\def\ltx at carfourth#1#2#3#4#5\@nil{#4}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at cdrfour}
-%    \begin{macrocode}
-\long\def\ltx at cdrfour#1#2#3#4{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at CarNum}
-%    \begin{macrocode}
-\def\ltx at CarNum#1{%
-  \romannumeral
-  \csname LTXcmds at CarNumFinish%
-  \expandafter\LTXcmds at CarNum
-  \romannumeral\LTXcmds at num{#1}000{x\endcsname}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at CarNum}
-%    \begin{macrocode}
-\def\LTXcmds at CarNum#1{%
-  \csname LTXcmds at C#1\LTXcmds at CarNum
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at Cm}
-%    \begin{macrocode}
-\long\def\LTXcmds at Cm#1#2{%
-  \endcsname{#1#2}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at Cx}
-%    \begin{macrocode}
-\def\LTXcmds at Cx#1{%
-  \endcsname{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at CarNumFinish}
-%    \begin{macrocode}
-\long\def\LTXcmds at CarNumFinish#1#2\@nil{%
-  \ltx at zero
-  #1%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at CarNumth}
-%    \begin{macrocode}
-\def\ltx at CarNumth#1{%
-  \romannumeral
-  \expandafter\expandafter\expandafter
-  \LTXcmds at CarNumth
-  \ltx at GobbleNum{#1}{}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at CarNumth}
-%    \begin{macrocode}
-\long\def\LTXcmds at CarNumth#1#2\@nil{%
-  \ltx at zero
-  #1%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at CdrNum}
-%    \begin{macrocode}
-\def\ltx at CdrNum#1{%
-  \romannumeral%
-  \expandafter\expandafter\expandafter\ltx at cdrzero
-  \expandafter\expandafter\expandafter\ltx at zero
-  \ltx at GobbleNum{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Tail recursion}
-%
-%    \begin{macro}{\ltx at ReturnAfterFi}
-%    \begin{macrocode}
-\long\def\ltx at ReturnAfterFi#1\fi{\fi#1}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at ReturnAfterElseFi}
-%    \begin{macrocode}
-\long\def\ltx at ReturnAfterElseFi#1\else#2\fi{\fi#1}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Empty macro}
-%
-%    \begin{macro}{\ltx at empty}
-%    \begin{macrocode}
-\def\ltx at empty{}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Characters}
-%
-%    \begin{macro}{\ltx at space}
-%    \begin{macrocode}
-\def\ltx at space{ }
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at percentchar}
-%    \begin{macrocode}
-\begingroup
-  \lccode`0=`\%\relax
-\lowercase{\endgroup
-  \def\ltx at percentchar{0}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at backslashchar}
-%    \begin{macrocode}
-\begingroup
-  \lccode`0=`\\\relax
-\lowercase{\endgroup
-  \def\ltx at backslashchar{0}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at hashchar}
-%    \begin{macrocode}
-\begingroup
-  \lccode`0=`\#\relax
-\lowercase{\endgroup
-  \def\ltx at hashchar{0}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at leftbracechar}
-%    \begin{macrocode}
-\begingroup
-  \lccode`0=`\{\relax
-\lowercase{\endgroup
-  \def\ltx at leftbracechar{0}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at rightbracechar}
-%    \begin{macrocode}
-\begingroup
-  \lccode`0=`\}\relax
-\lowercase{\endgroup
-  \def\ltx at rightbracechar{0}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Boolean switch}
-%
-%    \begin{macro}{\ltx at newif}
-%    \begin{macrocode}
-\def\ltx at newif#1{%
-  \begingroup
-    \escapechar=-1 %
-  \expandafter\endgroup
-  \expandafter\LTXcmds at newif\string#1\@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at newif}
-%    \begin{macrocode}
-\begingroup
-  \escapechar=-1 %
-\expandafter\endgroup
-\expandafter\def\expandafter\LTXcmds at newif\string\if#1\@nil{%
-  \expandafter\edef\csname#1true\endcsname{%
-    \let
-    \expandafter\noexpand\csname if#1\endcsname
-    \noexpand\iftrue
-  }%
-  \expandafter\edef\csname#1false\endcsname{%
-    \let
-    \expandafter\noexpand\csname if#1\endcsname
-    \noexpand\iffalse
-  }%
-  \csname#1false\endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at newglobalif}
-%    \begin{macrocode}
-\def\ltx at newglobalif#1{%
-  \begingroup
-    \escapechar=-1 %
-  \expandafter\endgroup
-  \expandafter\LTXcmds at newglobalif\string#1\@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at newglobalif}
-%    \begin{macrocode}
-\begingroup
-  \escapechar=-1 %
-\expandafter\endgroup
-\expandafter
-\def\expandafter\LTXcmds at newglobalif\string\if#1\@nil{%
-  \expandafter\edef\csname#1true\endcsname{%
-    \global\let
-    \expandafter\noexpand\csname if#1\endcsname
-    \noexpand\iftrue
-  }%
-  \expandafter\edef\csname#1false\endcsname{%
-    \global\let
-    \expandafter\noexpand\csname if#1\endcsname
-    \noexpand\iffalse
-  }%
-  \csname#1false\endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Command definitions}
-%
-%    \begin{macro}{\ltx at LocalExpandAfter}
-%    \begin{macrocode}
-\def\ltx at LocalExpandAfter{%
-  \begingroup
-    \expandafter\expandafter\expandafter
-  \endgroup
-  \expandafter
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\ltx at LocalExpandAfter
-\ifx\csname ifcsname\endcsname\relax
-%    \end{macrocode}
-%    \begin{macro}{\ltx at ifundefined}
-%    \begin{macrocode}
-  \def\ltx at ifundefined#1{%
-    \expandafter\ifx\csname #1\endcsname\relax
-      \expandafter\ltx at firstoftwo
-    \else
-      \expandafter\ltx at secondoftwo
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at IfUndefined}
-%    \begin{macrocode}
-  \def\ltx at IfUndefined#1{%
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-    \expandafter\ifx\csname #1\endcsname\relax
-      \expandafter\ltx at firstoftwo
-    \else
-      \expandafter\ltx at secondoftwo
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  \expandafter\ltx at gobble
-\else
-  \expandafter\ltx at firstofone
-\fi
-{%
-%    \end{macrocode}
-%    \begin{macro}{\ltx at ifundefined}
-%    \begin{macrocode}
-  \def\ltx at ifundefined#1{%
-    \ifcsname #1\endcsname
-      \expandafter\ifx\csname #1\endcsname\relax
-        \expandafter\expandafter\expandafter\ltx at firstoftwo
-      \else
-        \expandafter\expandafter\expandafter\ltx at secondoftwo
-      \fi
-    \else
-      \expandafter\ltx at firstoftwo
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at IfUndefined}
-%    \begin{macrocode}
-  \let\ltx at IfUndefined\ltx at ifundefined
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-}
-%    \end{macrocode}
-%
-% \subsection{Stripping}
-%
-%    \begin{macro}{\ltx at RemovePrefix}
-%    \begin{macrocode}
-\def\ltx at RemovePrefix#1>{}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at StripPrefix}
-%    \begin{macrocode}
-\def\ltx at StripPrefix{%
-  \expandafter\ltx at RemovePrefix
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at onelevel@sanitize}
-%    \begin{macrocode}
-\def\ltx at onelevel@sanitize#1{%
-  \edef#1{%
-    \expandafter
-    \ltx at RemovePrefix\meaning#1%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{File management}
-%
-% \subsubsection{File extensions}
-%
-%    \begin{macro}{\ltx at clsextension}
-%    \begin{macrocode}
-\def\ltx at clsextension{cls}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at pkgextension}
-%    \begin{macrocode}
-\def\ltx at pkgextension{sty}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Load check}
-%
-%    \begin{macro}{\ltx at iffileloaded}
-%    \begin{macrocode}
-\def\ltx at iffileloaded#1{%
-  \ltx at ifundefined{ver@#1}\ltx at secondoftwo\ltx at firstoftwo
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at ifclassloaded}
-%    \begin{macrocode}
-\def\ltx at ifclassloaded#1{%
-  \ltx at iffileloaded{#1.\ltx at clsextension}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at ifpackageloaded}
-%    \begin{macrocode}
-\def\ltx at ifpackageloaded#1{%
-  \ltx at iffileloaded{#1.\ltx at pkgextension}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Version date check}
-%
-%    \begin{macro}{\ltx at iffilelater}
-%    \begin{macrocode}
-\def\ltx at iffilelater#1#2{%
-  \ltx at iffileloaded{#1}{%
-    \expandafter\LTXcmds at IfLater\expandafter{%
-      \number
-      \expandafter\expandafter\expandafter\LTXcmds at ParseVersion
-      \expandafter\expandafter\expandafter{%
-        \csname ver@#1\endcsname
-      }%
-    \expandafter}\expandafter{%
-      \number
-      \expandafter\LTXcmds at ParseVersion\expandafter{#2}%
-    }%
-  }\ltx at secondoftwo
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at IfLater}
-%    \begin{macrocode}
-\def\LTXcmds at IfLater#1#2{%
-  \ifcase 0%
-      \ifnum#1<19940101 %
-      \else
-        \ifnum#2<19940101 %
-        \else
-          \ifnum#2>#1 %
-          \else
-            1%
-          \fi
-        \fi
-      \fi
-      \ltx at space
-    \expandafter\ltx at secondoftwo
-  \else
-    \expandafter\ltx at firstoftwo
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at ifclasslater}
-%    \begin{macrocode}
-\def\ltx at ifclasslater#1{%
-  \ltx at iffilelater{#1.\ltx at clsextension}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at ifpackagelater}
-%    \begin{macrocode}
-\def\ltx at ifpackagelater#1{%
-  \ltx at iffilelater{#1.\ltx at pkgextension}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\ltx at IfUndefined{pdfmatch}{%
-%    \end{macrocode}
-%    \begin{macro}{\LTXcmds at ParseVersion}
-%    \begin{macrocode}
-  \def\LTXcmds at ParseVersion#1{%
-    \LTXcmds@@ParseVersion#10000/00/00\@nil
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds@@ParseVersion}
-%    \begin{macrocode}
-  \def\LTXcmds@@ParseVersion#1#2#3#4/#5#6/#7#8#9\@nil{%
-    #1#2#3#4#5#6#7#8%
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-}{%
-%    \end{macrocode}
-%    \begin{macro}{\LTXcmds at ParseVersion}
-%    \begin{macrocode}
-  \def\LTXcmds at ParseVersion#1{%
-    \ifnum\pdfmatch{%
-      ^%
-      (199[4-9]|[2-9][0-9][0-9][0-9])/%
-      (0[1-9]|1[0-2])/%
-      (0[1-9]|[1-2][0-9]|3[0-1])%
-    }{#1}=1 %
-      \ltx at StripPrefix\pdflastmatch1 %
-      \ltx at StripPrefix\pdflastmatch2 %
-      \ltx at StripPrefix\pdflastmatch3 %
-    \else
-      0%
-    \fi
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-}
-%    \end{macrocode}
-%
-% \subsection{Macro additions}
-%
-%    \begin{macro}{\ltx at GlobalAppendToMacro}
-%    \begin{macrocode}
-\long\def\ltx at GlobalAppendToMacro#1#2{%
-  \ifx\ltx at undefined#1%
-    \let#1\ltx at empty
-  \else
-    \ifx\relax#1%
-      \let#1\ltx at empty
-    \fi
-  \fi
-  \begingroup
-    \ltx at LocToksA\expandafter{#1#2}%
-    \xdef#1{\the\ltx at LocToksA}%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocalAppendToMacro}
-%    \begin{macrocode}
-\long\def\ltx at LocalAppendToMacro#1#2{%
-  \global\let\LTXcmds at gtemp#1%
-  \ifx\ltx at undefined\LTXcmds at gtemp
-    \global\let\LTXcmds at gtemp\ltx at empty
-  \else
-    \ifx\relax\LTXcmds at gtemp
-      \global\letLTXcmds at gtemp\ltx at empty
-    \fi
-  \fi
-  \begingroup
-    \ltx at LocToksA\expandafter{\LTXcmds at gtemp#2}%
-    \xdef\LTXcmds at gtemp{\the\ltx at LocToksA}%
-  \endgroup
-  \let#1\LTXcmds at gtemp
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at GlobalPrependToMacro}
-%    \begin{macrocode}
-\long\def\ltx at GlobalPrependToMacro#1#2{%
-  \ifx\ltx at undefined#1%
-    \let#1\ltx at empty
-  \else
-    \ifx\relax#1%
-      \let#1\ltx at empty
-    \fi
-  \fi
-  \begingroup
-    \ltx at LocToksA{#2}%
-    \ltx at LocToksB\expandafter{#1}%
-    \xdef#1{\the\ltx at LocToksA\the\ltx at LocToksB}%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at LocalPrependToMacro}
-%    \begin{macrocode}
-\long\def\ltx at LocalPrependToMacro#1#2{%
-  \global\let\LTXcmds at gtemp#1%
-  \ifx\ltx at undefined\LTXcmds at gtemp
-    \global\let\LTXcmds at gtemp\ltx at empty
-  \else
-    \ifx\relax\LTXcmds at gtemp
-      \global\letLTXcmds at gtemp\ltx at empty
-    \fi
-  \fi
-  \begingroup
-    \ltx at LocToksA{#2}%
-    \ltx at LocToksB\expandafter{\LTXcmds at gtemp}%
-    \xdef\LTXcmds at gtemp{\the\ltx at LocToksA\the\ltx at LocToksB}%
-  \endgroup
-  \let#1\LTXcmds at gtemp
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Next character detection}
-%
-%    \begin{macro}{\ltx at ifnextchar}
-%    \begin{macrocode}
-\long\def\ltx at ifnextchar#1#2#3{%
-  \begingroup
-  \let\LTXcmds at CharToken= #1\relax
-  \ltx at LocToksA{\endgroup#2}%
-  \ltx at LocToksB{\endgroup#3}%
-  \futurelet\LTXcmds at LetToken\LTXcmds at ifnextchar
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at ifnextchar}
-%    \begin{macrocode}
-\def\LTXcmds at ifnextchar{%
-  \ifx\LTXcmds at LetToken\LTXcmds at CharToken
-    \the\expandafter\ltx at LocToksA
-  \else
-    \expandafter
-      \ifx\csname LTXcmds at LetToken\endcsname\LTXcmds at SpaceToken
-      \expandafter\expandafter\expandafter\LTXcmds@@ifnextchar
-    \else
-      \the\expandafter\expandafter\expandafter\ltx at LocToksB
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds@@ifnextchar}
-%    \cs{futurelet} does not distinguish between a
-%    character and a command that is a character
-%    (defined by using \cs{let} or \cs{futurelet}).
-%    Therefore the space is catched by \cs{romannumeral}
-%    with negative character constant that gobbles one
-%    optional space.
-%    \begin{macrocode}
-\def\LTXcmds@@ifnextchar{%
-  \expandafter\futurelet
-  \expandafter\LTXcmds at LetToken
-  \expandafter\LTXcmds at ifnextchar
-  \romannumeral-`\.%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at SpaceToken}
-%    \begin{macrocode}
-\ltx at firstofone{\let\LTXcmds at SpaceToken= } %
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at ifnextchar@nospace}
-%    \begin{macrocode}
-\long\def\ltx at ifnextchar@nospace#1#2#3{%
-  \begingroup
-  \let\LTXcmds at CharToken= #1\relax
-  \ltx at LocToksA{\endgroup#2}%
-  \ltx at LocToksB{\endgroup#3}%
-  \futurelet\LTXcmds at LetToken\LTXcmds at ifnextchar@nospace
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at ifnextchar@nospace}
-%    \begin{macrocode}
-\def\LTXcmds at ifnextchar@nospace{%
-  \the
-  \ifx\LTXcmds at LetToken\LTXcmds at CharToken
-    \expandafter\ltx at LocToksA
-  \else
-    \expandafter\ltx at LocToksB
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-% \subsection{\cs{ltx at leavevmode}, \cs{ltx at mbox}}
-%
-%    \begin{macro}{\ltx at leavevmode}
-%    \begin{macrocode}
-\ltx at IfUndefined{quitvmode}{%
-  \ltx at IfUndefined{leavevmode}{%
-    \ltx at IfUndefined{voidb at x}{%
-      \ltx at IfUndefined{newbox}{%
-        \def\ltx at leavevmode{%
-          \begingroup
-            \setbox\ltx at zero=\hbox{}%
-            \begingroup
-              \setbox\ltx at zero=\hbox{\box\ltx at zero}%
-            \endgroup
-            \unhbox\ltx at zero
-          \endgroup
-        }%
-      }{%
-        \csname newbox\endcsname\LTXcmds at VoidBox
-        \ifvoid\LTXcmds at VoidBox
-        \else
-          \setbox\LTXcmds at VoidBox=\hbox{}%
-          \begingroup
-            \setbox\LTXcmds at VoidBox=\hbox{\box\LTXcmds at VoidBox}%
-          \endgroup
-        \fi
-        \def\ltx at leavevmode{\unhbox\LTXcmds at VoidBox}%
-      }%
-    }{%
-      \def\ltx at leavevmode{\unhbox\voidb at x}%
-    }%
-  }{%
-    \let\ltx at leavevmode\leavevmode
-  }%
-}{%
-  \let\ltx at leavevmode\quitvmode
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at mbox}
-%    \begin{macrocode}
-\def\ltx at mbox{%
-  \ltx at leavevmode
-  \hbox
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Help macros}
-%
-%    \begin{macro}{\LTXcmds at num}
-%    \begin{macrocode}
-\ltx at IfUndefined{numexpr}{%
-  \def\LTXcmds at num#1{%
-    \expandafter\ltx at firstofone\expandafter{%
-      \number#1%
-    }%
-  }%
-}{%
-  \def\LTXcmds at num#1{%
-    \expandafter\ltx at firstofone\expandafter{%
-      \the\numexpr#1%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Expandable test for emptiness}
-%
-%    \begin{macrocode}
-\ltx at IfUndefined{detokenize}{%
-%    \end{macrocode}
-%
-% \subsubsection{Vanilla \hologo{TeX}}
-%
-%    \begin{macro}{\ltx at ifempty}
-%    The macro is based on \cs{@ifempty} of Robert R. Schneck
-%    \cite{ifempty:schneck}
-%    and \cs{@ifnull} of Ulrich Diez \cite{ifnull:diez}.
-%    There are three cases to consider:
-%    \begin{compactenum}
-%    \item |#1| is empty,
-%    \item |#1| is not empty and the first token
-%      is not a begingroup character,
-%    \item |#1| starts with a begingroup character (catcode 1).
-%    \end{compactenum}
-%    \begin{macrocode}
-  \def\LTXcmds at temp#1{%
-    \long\def\ltx at ifempty##1{%
-      \romannumeral0%
-      \iffalse{\fi
-        \expandafter\ltx at gobble\expandafter{%
-          \expandafter{\string##1}%
-          \expandafter\ltx at gobble\string
-        }%
-        \expandafter\ltx at firstofthree\expandafter
-        {\iffalse}\fi
-        \expandafter#1\ltx at secondoftwo
-      }%
-      \expandafter#1\ltx at firstoftwo
-    }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\ltx at ifblank}
-%    \begin{macrocode}
-    \long\def\ltx at ifblank##1{%
-      \romannumeral0%
-      \iffalse{\fi
-        \expandafter\expandafter\expandafter\ltx at gobble
-        \expandafter\expandafter\expandafter{%
-          \expandafter\expandafter\expandafter{%
-            \expandafter\string\ltx at gobble##1.%
-          }%
-          \expandafter\ltx at gobble\string
-        }%
-        \expandafter\ltx at firstofthree\expandafter
-        {\iffalse}\fi
-        \expandafter#1\ltx at secondoftwo
-      }%
-      \expandafter#1\ltx at firstoftwo
-    }%
-  }%
-  \LTXcmds at temp{ }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-}{%
-%    \end{macrocode}
-%
-% \subsubsection{With \cs{detokenize}}
-%
-%    Ahmed Musa provided \cs{ifstrempty} using \cs{detokenize}
-%    and \cs{pdfstrcmp} \cite{ifstrempty:musa}. Ulrich Diez, GL,
-%    Heiko Oberdiek
-%    improved it further by removing \cs{pdfstrcmp} and
-%    taking three arguments
-%    \cite{ifstrempty:diez1,ifstrempty:diez2,ifstrempty:diez3,^^A
-%      ifstrempty:gl,ifstrempty:ho}.
-%
-%    \begin{macro}{\ltx at ifempty}
-%    \begin{macrocode}
-  \long\def\ltx at ifempty#1{%
-    \romannumeral%
-    \csname
-      LTXcmds at ifempty%
-      \ifcat$\detokenize{#1}$%
-        @%
-      \fi
-    \endcsname
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at ifempty@}
-%    \begin{macrocode}
-  \long\def\LTXcmds at ifempty@#1#2{0 #1}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at ifempty}
-%    \begin{macrocode}
-  \long\def\LTXcmds at ifempty#1#2{0 #2}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{\cs{ltx at ifblank}}
-%
-%    \begin{macro}{\ltx at ifblank}
-%    \begin{macrocode}
-  \long\def\ltx at ifblank#1{%
-    \romannumeral%
-    \csname
-      LTXcmds at ifempty%
-      \ifcat$\detokenize\expandafter{\ltx at gobble#1.}$%
-        @%
-      \fi
-    \endcsname
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-}
-%    \end{macrocode}
-%
-% \subsection{\cs{ltx at zapspace}}
-%
-%    \begin{macro}{\ltx at zapspace}
-%    \begin{macrocode}
-\long\def\ltx at zapspace#1{%
-  \romannumeral
-  \LTXcmds at zapspace\ltx at zero#1 \@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\LTXcmds at zapspace}
-%    \begin{macrocode}
-\long\def\LTXcmds at zapspace#1 #2\@nil{%
-  \ltx at ifempty{#2}{%
-    #1%
-  }{%
-    \LTXcmds at zapspace#1#2\@nil
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\cs{ltx at IfBoxEmpty}}
-%
-%    In case of \hologo{eTeX} the test for an empty box
-%    is done via \cs{lastnodetype} as suggested
-%    by David Kastrup \cite{ifboxempty:dak}.
-%    \begin{macrocode}
-\ltx at IfUndefined{lastnodetype}{%
-  \catcode`\$=9 %
-  \catcode`\&=14 %
-}{%
-  \catcode`\$=14 %
-  \catcode`\&=9 %
-}
-%    \end{macrocode}
-%    \begin{macro}{\ltx at IfBoxEmpty}
-%    \begin{macrocode}
-\def\ltx at IfBoxEmpty#1{%
-  \ifvoid#1\relax
-    \expandafter\ltx at secondoftwo
-  \else
-%    \end{macrocode}
-%    Implementation using \hologo{eTeX}'s \cs{lastnodetype}.
-%    \begin{macrocode}
-&   \begingroup
-&     \setbox\ltx at zero=\ifhbox#1\hbox\else\vbox\fi{%
-&       \ifhmode\unhcopy\else\unvcopy\fi#1\relax
-&       \expandafter
-&     }%
-&   \expandafter\endgroup
-&   \ifnum\lastnodetype<\ltx at zero
-&     \expandafter\expandafter\expandafter\ltx at firstoftwo
-&   \else
-&     \expandafter\expandafter\expandafter\ltx at secondoftwo
-&   \fi
-%    \end{macrocode}
-%    Implementation without \hologo{eTeX} using a signature
-%    at the beginning of the test box.
-%    \begin{macrocode}
-$   \begingroup
-$     \setbox\ltx at zero=\ifhbox#1\hbox\else\vbox\fi{%
-$       \penalty\ltx at one
-$       \ifhmode\unhcopy\else\unvcopy\fi#1\relax
-$       \expandafter
-$     }%
-$     \ifnum\lastpenalty=\ltx at one
-%    \end{macrocode}
-%    Box 0 has been changed and is restored by
-%    closing the group.
-%    \begin{macrocode}
-$       \endgroup
-$       \begingroup
-$       \setbox\ltx at zero=\ifhbox#1\hbox\else\vbox\fi{%
-$         \penalty\ltx at two
-$         \ifhmode\unhcopy\else\unvcopy\fi#1\relax
-$         \expandafter
-$       }%
-$       \ifnum\lastpenalty=\ltx at two
-$         \def\next{\endgroup\expandafter\ltx at firstoftwo}%
-$       \else
-$         \def\next{\endgroup\expandafter\ltx at secondoftwo}%
-$       \fi
-$     \else
-$       \def\next{\endgroup\expandafter\ltx at secondoftwo}%
-$     \fi
-$   \next
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\ltx at IfBoxVoidOrEmpty}
-%    \begin{macrocode}
-\def\ltx at IfBoxVoidOrEmpty#1{%
-  \ifvoid#1\relax
-    \expandafter\ltx at thirdoffour
-  \fi
-  \ltx at IfBoxEmpty{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\LTXcmds at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{ltxcmds}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/ltxcmds.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/ltxcmds.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 ltxcmds.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@{}}
-%   ltxcmds.sty & tex/generic/oberdiek/ltxcmds.sty\\
-%   ltxcmds.pdf & doc/latex/oberdiek/ltxcmds.pdf\\
-%   ltxcmds.dtx & source/latex/oberdiek/ltxcmds.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{ltxcmds.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 ltxcmds.dtx
-%makeindex -s gind.ist ltxcmds.idx
-%pdflatex ltxcmds.dtx
-%makeindex -s gind.ist ltxcmds.idx
-%pdflatex ltxcmds.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-% \raggedright
-%
-% \bibitem{ifempty:schneck}
-% Robert R. Schneck:
-% \textit{Re: \cs{ifempty} solution %
-%   (was Macro puzzle: maximally general \cs{ifempty})};
-% newsgroup \xnewsgroup{comp.text.tex},
-% \url{news:3eef1ada_6 at corp.newsgroups.com},
-% 2003-06-17.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/be03a159ec374895}}
-%
-% \bibitem{ifnull:diez}
-% Ulrich Diez:
-% \textit{Re: TeX refuses to strip outer braces in argument};
-% newsgroup \xnewsgroup{comp.text.tex},
-% \url{news:ibk3t8$ee7$1 at news.albasani.net},
-% 2010-11-12.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/803bd57221a04996}}
-%
-% \bibitem{ifstrempty:musa}
-% Ahmed Musa:
-% \textit{Re: TeX refuses to strip outer braces in argument};
-% newsgroup \xnewsgroup{comp.text.tex},
-% \url{news:f5496afe-40ed-42bd-b629-a2419ecf7c0d at o14g2000prn.googlegroups.com},
-% 2010-12-03.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/fbf7d61a0c3a807d}}
-%
-% \bibitem{ifstrempty:diez1}
-% Ulrich Diez:
-% \textit{Re: TeX refuses to strip outer braces in argument};
-% newsgroup \xnewsgroup{comp.text.tex},
-% \url{news:idbo94$uka$1 at four.albasani.net},
-% 2010-12-03.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/0c230ee479487962}}
-%
-% \bibitem{ifstrempty:diez2}
-% Ulrich Diez:
-% \textit{Re: TeX refuses to strip outer braces in argument};
-% newsgroup \xnewsgroup{comp.text.tex},
-% \url{news:idbpu4$cg1$1 at news.albasani.net},
-% 2010-12-03.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/bbef4263390d647b}}
-%
-% \bibitem{ifstrempty:diez3}
-% Ulrich Diez:
-% \textit{Re: TeX refuses to strip outer braces in argument};
-% newsgroup \xnewsgroup{comp.text.tex},
-% \url{news:idd4ga$r83$1 at four.albasani.net},
-% 2010-12-04.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/00dfd1ec103cd272}}
-%
-% \bibitem{ifstrempty:gl}
-% GL:
-% \textit{Re: TeX refuses to strip outer braces in argument};
-% newsgroup \xnewsgroup{comp.text.tex},
-% \url{news:4cfa2e27$0$7389$426a74cc at news.free.fr},
-% 2010-12-04.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/d3a75995c1cf267e}}
-%
-% \bibitem{ifstrempty:ho}
-% Heiko Oberdiek:
-% \textit{Re: TeX refuses to strip outer braces in argument};
-% newsgroup \xnewsgroup{comp.text.tex},
-% \url{news:iddhq1$3kj$1 at news.eternal-september.org},
-% 2010-12-04.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/5f7a23e3ab70e347}}
-%
-% \bibitem{ifboxempty:dak}
-% David Kastrup:
-% \textit{How to detect if \cs{vbox} is empty};
-% newsgroup \xnewsgroup{comp.text.tex},
-% 2011-02-04.\\
-% {\small
-% \url{https://groups.google.com/group/comp.text.tex/msg/8d3cb89496a4d86d}}
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2009/08/05 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2009/12/12 v1.1}
-%   \item
-%     Short title shortened.
-%   \item
-%     \cs{ltx at IfUndefined} added.
-%   \end{Version}
-%   \begin{Version}{2010/01/28 v1.2}
-%   \item
-%     \cs{ltx at RemovePrefix} and \cs{ltx at StripPrefix} added.
-%   \item
-%     \cs{ltx at ifclassloaded}, \cs{ltx at ifpackageloaded},
-%     \cs{ltx at iffileloaded},
-%     \cs{ltx at ifclasslater}, \cs{ltx at ifpackagelater},
-%     \cs{ltx at iffilelater},
-%     \cs{ltx at clsextension}, \cs{ltx at pkgextension} added.
-%   \item
-%     \cs{ltx at GlobalAppendToMacro}, \cs{ltx at LocalAppendToMacro} added.
-%   \end{Version}
-%   \begin{Version}{2010/03/01 v1.3}
-%   \item
-%     \cs{ltx at newif} added.
-%   \item
-%     \cs{ltx at ifnextchar} added.
-%   \item
-%     Numbers \cs{ltx at zero}, \cs{ltx at one}, \cs{ltx at two}, \cs{ltx at cclv} added.
-%   \end{Version}
-%   \begin{Version}{2010/03/09 v1.4}
-%   \item
-%     \cs{ltx at pkgextension} and \cs{ltx at clsextension} are hardcoded to
-%     avoid trouble with \cs{@onlypreamble}.
-%   \end{Version}
-%   \begin{Version}{2010/04/08 v1.5}
-%   \item
-%     \cs{ltx at cartwo}, \cs{ltx at cdrtwo},
-%     \cs{ltx at carthree}, \cs{ltx at cdrthree},
-%     \cs{ltx at carfour}, \cs{ltx at cdrfour} added.
-%   \item
-%     \cs{ltx at ReturnAfterFi} and \cs{ltx at ReturnAfterElseFi} fixed.
-%   \end{Version}
-%   \begin{Version}{2010/04/16 v1.6}
-%   \item
-%     \cs{ltx at leavevmode}, \cs{ltx at mbox} added.
-%   \end{Version}
-%   \begin{Version}{2010/04/26 v1.7}
-%   \item
-%     \cs{ltx at GobbleNum}, \cs{ltx at CdrNum}, \cs{ltx at CarNum} added.
-%   \item
-%     \cs{ltx at carzero}, \cs{ltx at cdrzero} added.
-%   \item
-%     \cs{ltx at hashchar} added.
-%   \end{Version}
-%   \begin{Version}{2010/09/11 v1.8}
-%   \item
-%     \cs{ltx at leftbracechar}, \cs{ltx at rightbracechar} added.
-%   \end{Version}
-%   \begin{Version}{2010/10/25 v1.9}
-%   \item
-%     \cs{ltx at LocalAppendToMacro} and \cs{ltx at GlobalAppendToMacro} are
-%     now \cs{long}.
-%   \end{Version}
-%   \begin{Version}{2010/10/31 v1.10}
-%   \item
-%     \cs{ltx at newglobalif} added.
-%   \end{Version}
-%   \begin{Version}{2010/11/12 v1.11}
-%   \item
-%     \cs{ltx at ifempty} added.
-%   \item
-%     \cs{ltx at firstofthree}, \cs{ltx at secondofthree}, \cs{ltx at thirdofthree}
-%     added.
-%   \end{Version}
-%   \begin{Version}{2010/12/02 v1.12}
-%   \item
-%     \cs{ltx at onelevel@sanitize} added.
-%   \item
-%     \cs{LTXcmds at num} fixed for the case with \cs{numexpr}
-%     (bug found by GL).
-%   \end{Version}
-%   \begin{Version}{2010/12/04 v1.13}
-%   \item
-%     \cs{ltx at ifblank} added.
-%   \item
-%     Optimization for \cs{ltx at ifempty}.
-%   \end{Version}
-%   \begin{Version}{2010/12/07 v1.14}
-%   \item
-%     \cs{ltx at zapspace} added.
-%   \end{Version}
-%   \begin{Version}{2010/12/12 v1.15}
-%   \item
-%     \cs{ltx at minusone} added.
-%   \end{Version}
-%   \begin{Version}{2011/02/04 v1.16}
-%   \item
-%     \cs{ltx at IfBoxEmpty} and \cs{ltx at IfBoxVoidOrEmpty} added.
-%   \item
-%     \cs{ltx at firstoffour}, \dots, \cs{ltx at fourthoffour} added.
-%   \end{Version}
-%   \begin{Version}{2011/02/05 v1.17}
-%   \item
-%     \cs{ltx at IfBoxEmpty}: an empty box may have non-zero dimensions.
-%   \end{Version}
-%   \begin{Version}{2011/03/16 v1.18}
-%   \item
-%     \cs{ltx at ifclasslater} fixed.
-%   \end{Version}
-%   \begin{Version}{2011/04/14 v1.19}
-%   \item
-%     \cs{ltx at ifnextchar}: detection of optional spaces modified.
-%   \item
-%     \cs{ltx(Loc,Glob)(Toks,Dimen,Skip)(A,B,C,D,E)} added.
-%   \end{Version}
-%   \begin{Version}{2011/04/18 v1.20}
-%   \item
-%     \cs{ltx at ifnextchar} with conditional support (thanks GL for
-%     bug report).
-%   \end{Version}
-%   \begin{Version}{2011/08/22 v1.21}
-%   \item
-%     \cs{ltx at GlobalPrependToMacro}, \cs{ltx at LocalPrependToMacro} added
-%     (feature request of Martin M\"unch).
-%   \end{Version}
-%   \begin{Version}{2011/11/09 v1.22}
-%   \item
-%     \cs{ltx at carsecond}, \cs{ltx at carthird}, \cs{ltx at carfourth},
-%     \cs{ltx at CarNumth} added.
-%   \item
-%     \cs{ltx at cdrzero}, \cs{ltx at cdr}, \cs{ltx at cdrtwo}, cs{ltx at cdrthree},
-%     \cs{ltx at cdrfour}, \cs{ltx at CdrNum} modified to retain braces and spaces.
-%     They are expandable in two expansion steps.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.23}
-%   \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-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,5 +1,5 @@
 % oberdiek.ins
-% 2019/12/09
+% 2019/12/15
 %
 % Copyright (C)
 % 1999, 2001, 2006  Heiko Oberdiek
@@ -27,8 +27,6 @@
 \input docstrip
 
 \batchinput{aliascnt.dtx}
-\batchinput{auxhook.dtx}
-\batchinput{bigintcalc.dtx}
 \batchinput{bmpsize.dtx}
 \batchinput{centernot.dtx}
 \batchinput{chemarr.dtx}
@@ -38,13 +36,10 @@
 \batchinput{engord.dtx}
 \batchinput{enparen.dtx}
 \batchinput{eolgrab.dtx}
-\batchinput{etexcmds.dtx}
 \batchinput{fibnum.dtx}
 \batchinput{flags.dtx}
-\batchinput{gettitlestring.dtx}
 \batchinput{holtxdoc.dtx}
 \batchinput{hopatch.dtx}
-\batchinput{hycolor.dtx}
 \batchinput{hypbmsec.dtx}
 \batchinput{hypcap.dtx}
 \batchinput{hypdestopt.dtx}
@@ -53,10 +48,6 @@
 \batchinput{hyphsubst.dtx}
 \batchinput{ifdraft.dtx}
 \batchinput{iflang.dtx}
-\batchinput{intcalc.dtx}
-\batchinput{kvdefinekeys.dtx}
-\batchinput{kvsetkeys.dtx}
-\batchinput{ltxcmds.dtx}
 \batchinput{pagegrid.dtx}
 \batchinput{pagesel.dtx}
 \batchinput{pdfcol.dtx}
@@ -66,13 +57,11 @@
 \batchinput{pdfcrypt.dtx}
 \batchinput{pdfrender.dtx}
 \batchinput{protecteddef.dtx}
-\batchinput{refcount.dtx}
 \batchinput{resizegather.dtx}
 \batchinput{rotchiffre.dtx}
 \batchinput{scrindex.dtx}
 \batchinput{setouterhbox.dtx}
 \batchinput{settobox.dtx}
-\batchinput{soulutf8.dtx}
 \batchinput{stackrel.dtx}
 \batchinput{stampinclude.dtx}
 \batchinput{tabularht.dtx}
@@ -80,7 +69,6 @@
 \batchinput{telprint.dtx}
 \batchinput{thepdfnumber.dtx}
 \batchinput{twoopt.dtx}
-\batchinput{uniquecounter.dtx}
 
 \Msg{}
 \Msg{********************************************************}

Modified: trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex	2019-12-17 23:31:05 UTC (rev 53174)
@@ -10,7 +10,7 @@
 \newcommand*{\Author}{Heiko Oberdiek}
 
 \newcommand*{\Email}{ho-tex at tug.org}
-\newcommand*{\Date}{2019/12/09}
+\newcommand*{\Date}{2019/12/15}
 
 % Copyright (C) 2006-2016 by
 %    Heiko Oberdiek
@@ -176,12 +176,6 @@
 \begin{overview}
 \entry{aliascnt}{Alias counters}%
 [\entrysep]
-\entry{atveryend}{Hooks at the very end of document}%
-[\entrysep]
-\entry{auxhook}{Hooks for auxiliary files}%
-[\entrysep]
-\entry{bigintcalc}{Expandable calculations on big integers}%
-[\entrysep]
 \entry{bmpsize}{Extract size/resolution from bitmap files}%
 [\entrysep]
 \entry{centernot}{Centers the not symbol horizontally}%
@@ -200,20 +194,14 @@
 [\entrysep]
 \entry{eolgrab}{Catch arguments delimited by end of line}%
 [\entrysep]
-\entry{etexcmds}{Avoid name clashes with \hologo{eTeX} commands}%
-[\entrysep]
 \entry{fibnum}{Fibonacci numbers}%
 [\entrysep]
 \entry{flags}{Setting/clearing of flags in bit fields}%
 [\entrysep]
-\entry{gettitlestring}{Cleanup title references}%
-[\entrysep]
 \entry{holtxdoc}{Private additional ltxdoc support}%
 [\entrysep]
 \entry{hopatch}{Wrapper for package hooks}%
 [\entrysep]
-\entry{hycolor}{Color options for hyperref/bookmark}%
-[\entrysep]
 \entry{hypbmsec}{Bookmarks in sectioning commands}%
 [\entrysep]
 \entry{hypcap}{Adjusting the anchors of captions}%
@@ -230,14 +218,6 @@
 [\entrysep]
 \entry{iflang}{Checks for the current language}%
 [\entrysep]
-\entry{intcalc}{Expandable calculations with integers}%
-[\entrysep]
-\entry{kvdefinekeys}{Define keys}%
-[\entrysep]
-\entry{kvsetkeys}{Key value parser}%
-[\entrysep]
-\entry{ltxcmds}{\hologo{LaTeX} kernel commands for general use}%
-[\entrysep]
 \entry{pagegrid}{Print page grid in background}%
 [\entrysep]
 \entry{pagesel}{Select pages of a document for output}%
@@ -256,8 +236,6 @@
 [\entrysep]
 \entry{protecteddef}{Define protected commands}%
 [\entrysep]
-\entry{refcount}{Data extraction from label references}%
-[\entrysep]
 \entry{resizegather}{Resize overly large equations}%
 [\entrysep]
 \entry{rotchiffre}{Perform simple rotation ciphers}%
@@ -264,14 +242,10 @@
 [\entrysep]
 \entry{scrindex}{Package index with \hologo{KOMAScript} classes}%
 [\entrysep]
-\entry{selinput}{Semi-automatic input encoding detection}%
-[\entrysep]
 \entry{setouterhbox}{Set hbox in outer horizontal mode}%
 [\entrysep]
 \entry{settobox}{Assign box dimensions to length registers}%
 [\entrysep]
-\entry{soulutf8}{Permit use of UTF-8 characters in soul}%
-[\entrysep]
 \entry{stackrel}{Adding subscript option to stackrel}%
 [\entrysep]
 \entry{stampinclude}{Include files based on time stamps}%
@@ -285,8 +259,6 @@
 \entry{thepdfnumber}{Print PDF numbers with minimal digits}%
 [\entrysep]
 \entry{twoopt}{Definitions with two optional arguments}%
-[\entrysep]
-\entry{uniquecounter}{Provide unlimited unique counter}%
 \end{overview}
 
 \section{Packages}
@@ -301,24 +273,6 @@
 \tocinclude{aliascnt}
 
 \newpage
-\subsection{\pkgsectformat{auxhook}}
-\label{auxhook}
-\begin{abstract}
-Package \xpackage{auxhook} provides hooks for adding stuff at
-the begin of \xfile{.aux} files.
-\end{abstract}
-\tocinclude{auxhook}
-
-\newpage
-\subsection{\pkgsectformat{bigintcalc}}
-\label{bigintcalc}
-\begin{abstract}
-This package provides expandable arithmetic operations
-with big integers that can exceed \TeX's number limits.
-\end{abstract}
-\tocinclude{bigintcalc}
-
-\newpage
 \subsection{\pkgsectformat{bmpsize}}
 \label{bmpsize}
 \begin{abstract}
@@ -412,17 +366,6 @@
 \tocinclude{eolgrab}
 
 \newpage
-\subsection{\pkgsectformat{etexcmds}}
-\label{etexcmds}
-\begin{abstract}
-New primitive commands are introduced in \eTeX. Sometimes the
-names collide with existing macros. This package solves this
-name clashes by adding a prefix to \eTeX's commands. For example,
-\eTeX's \cs{unexpanded} is provided as \cs{etex at unexpanded}.
-\end{abstract}
-\tocinclude{etexcmds}
-
-\newpage
 \subsection{\pkgsectformat{fibnum}}
 \label{fibnum}
 \begin{abstract}
@@ -442,17 +385,6 @@
 \tocinclude{flags}
 
 \newpage
-\subsection{\pkgsectformat{gettitlestring}}
-\label{gettitlestring}
-\begin{abstract}
-The \LaTeX\ package addresses packages that are dealing with
-references to titles (\cs{section}, \cs{caption}, \dots).
-The package tries to remove \cs{label} and other
-commands from title strings.
-\end{abstract}
-\tocinclude{gettitlestring}
-
-\newpage
 \subsection{\pkgsectformat{holtxdoc}}
 \label{holtxdoc}
 \begin{abstract}
@@ -474,16 +406,6 @@
 \tocinclude{hopatch}
 
 \newpage
-\subsection{\pkgsectformat{hycolor}}
-\label{hycolor}
-\begin{abstract}
-Package \xpackage{hycolor} implements the color option stuff that
-is used by packages \xpackage{hyperref} and \xpackage{bookmark}.
-It is not intended as package for the user.
-\end{abstract}
-\tocinclude{hycolor}
-
-\newpage
 \subsection{\pkgsectformat{hypbmsec}}
 \label{hypbmsec}
 \begin{abstract}
@@ -568,47 +490,6 @@
 \tocinclude{iflang}
 
 \newpage
-\subsection{\pkgsectformat{intcalc}}
-\label{intcalc}
-\begin{abstract}
-This package provides expandable arithmetic operations
-with integers.
-\end{abstract}
-\tocinclude{intcalc}
-
-\newpage
-\subsection{\pkgsectformat{kvdefinekeys}}
-\label{kvdefinekeys}
-\begin{abstract}
-Package \xpackage{kvdefinekeys} provides \cs{kv at define@key} to define
-keys the same way as \xpackage{keyval}'s \cs{define at key}. However, it
-works also using \iniTeX.
-\end{abstract}
-\tocinclude{kvdefinekeys}
-
-\newpage
-\subsection{\pkgsectformat{kvsetkeys}}
-\label{kvsetkeys}
-\begin{abstract}
-Package \xpackage{kvsetkeys} provides \cs{kvsetkeys}, a variant
-of package \xpackage{keyval}'s \cs{setkeys}. It allows to specify
-a handler that deals with unknown options. Active commas and equal
-signs may be used (e.g. see \xpackage{babel}'s shorthands) and
-only one level of curly braces is removed from the values.
-\end{abstract}
-\tocinclude{kvsetkeys}
-
-\newpage
-\subsection{\pkgsectformat{ltxcmds}}
-\label{ltxcmds}
-\begin{abstract}
-The package \xpackage{ltxcmds} exports some utility macros
-from the \LaTeX\ kernel into a separate namespace and
-also provides them for other formats such as plain-\TeX.
-\end{abstract}
-\tocinclude{ltxcmds}
-
-\newpage
 \subsection{\pkgsectformat{pagegrid}}
 \label{pagegrid}
 \begin{abstract}
@@ -699,20 +580,6 @@
 \tocinclude{protecteddef}
 
 \newpage
-\subsection{\pkgsectformat{refcount}}
-\label{refcount}
-\begin{abstract}
-References are not numbers, however they often store numerical
-data such as section or page numbers. \cs{ref} or \cs{pageref}
-cannot be used for counter assignments or calculations because
-they are not expandable, generate warnings, or can even be links.
-The package provides expandable macros to extract the data
-from references. Packages \xpackage{hyperref}, \xpackage{nameref},
-\xpackage{titleref}, and \xpackage{babel} are supported.
-\end{abstract}
-\tocinclude{refcount}
-
-\newpage
 \subsection{\pkgsectformat{resizegather}}
 \label{resizegather}
 \begin{abstract}
@@ -766,17 +633,6 @@
 \tocinclude{settobox}
 
 \newpage
-\subsection{\pkgsectformat{soulutf8}}
-\label{soulutf8}
-\begin{abstract}
-This package extends package \xpackage{soul} and adds some support
-for UTF-8. Namely the input encodings \xfile{utf8.def}
-from package \xpackage{inputenc} and
-package \xpackage{ucs}'s \xfile{utf8x.def} are supported.
-\end{abstract}
-\tocinclude{soulutf8}
-
-\newpage
 \subsection{\pkgsectformat{stackrel}}
 \label{stackrel}
 \begin{abstract}
@@ -846,14 +702,5 @@
 \end{abstract}
 \tocinclude{twoopt}
 
-\newpage
-\subsection{\pkgsectformat{uniquecounter}}
-\label{uniquecounter}
-\begin{abstract}
-This package provides a kind of counter that provides unique
-number values. Several counters can be created by different names.
-The numeric values are not limited.
-\end{abstract}
-\tocinclude{uniquecounter}
 
 \end{document}

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/refcount.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/refcount.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/refcount.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,1099 +0,0 @@
-% \iffalse meta-comment
-%
-% File: refcount.dtx
-% Version: 2016/05/16 v3.5
-% Info: Data extraction from label references
-%
-% Copyright (C)
-%    1998, 2000, 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
-%
-% This work consists of the main source file refcount.dtx
-% and the derived files
-%    refcount.sty, refcount.pdf, refcount.ins, refcount.drv,
-%    refcount-test1.tex, refcount-test2.tex, refcount-test3.tex,
-%    refcount-test4.tex, refcount-test5.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/refcount.dtx
-%    CTAN:macros/latex/contrib/oberdiek/refcount.pdf
-%
-% Unpacking:
-%    (a) If refcount.ins is present:
-%           tex refcount.ins
-%    (b) Without refcount.ins:
-%           tex refcount.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{refcount.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If refcount.drv is present:
-%           latex refcount.drv
-%    (b) Without refcount.drv:
-%           latex refcount.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 refcount.dtx
-%       makeindex -s gind.ist refcount.idx
-%       pdflatex refcount.dtx
-%       makeindex -s gind.ist refcount.idx
-%       pdflatex refcount.dtx
-%
-% Installation:
-%    TDS:tex/latex/oberdiek/refcount.sty
-%    TDS:doc/latex/oberdiek/refcount.pdf
-%    TDS:source/latex/oberdiek/refcount.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: refcount 2016/05/16 v3.5 Data extraction from label references (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: refcount
-Version: 2016/05/16 v3.5
-
-Copyright (C)
-   1998, 2000, 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
-
-
-This work consists of the main source file refcount.dtx
-and the derived files
-   refcount.sty, refcount.pdf, refcount.ins, refcount.drv,
-   refcount-test1.tex, refcount-test2.tex, refcount-test3.tex,
-   refcount-test4.tex, refcount-test5.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{refcount.ins}{\from{refcount.dtx}{install}}%
-  \file{refcount.drv}{\from{refcount.dtx}{driver}}%
-  \usedir{tex/latex/oberdiek}%
-  \file{refcount.sty}{\from{refcount.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{refcount-test1.tex}{\from{refcount.dtx}{test1}}%
-%  \file{refcount-test2.tex}{\from{refcount.dtx}{test2}}%
-%  \file{refcount-test3.tex}{\from{refcount.dtx}{test3}}%
-%  \file{refcount-test4.tex}{\from{refcount.dtx}{test3,test4}}%
-%  \file{refcount-test5.tex}{\from{refcount.dtx}{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{*     refcount.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `refcount.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{refcount.drv}%
-  [2016/05/16 v3.5 Data extraction from label references (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{refcount.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{refcount.drv}
-%
-% \title{The \xpackage{refcount} package}
-% \date{2016/05/16 v3.5}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% References are not numbers, however they often store numerical
-% data such as section or page numbers. \cs{ref} or \cs{pageref}
-% cannot be used for counter assignments or calculations because
-% they are not expandable, generate warnings, or can even be links.
-% The package provides expandable macros to extract the data
-% from references. Packages \xpackage{hyperref}, \xpackage{nameref},
-% \xpackage{titleref}, and \xpackage{babel} are supported.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Usage}
-%
-% \subsection{Setting counters}
-%
-% The following commands are similar to \LaTeX's
-% \cs{setcounter} and \cs{addtocounter},
-% but they extract the number value from a reference:
-% \begin{quote}
-%   \cs{setcounterref}, \cs{addtocounterref}\\
-%   \cs{setcounterpageref}, \cs{addtocounterpageref}
-% \end{quote}
-% They take two arguments:
-% \begin{quote}
-%    \cs{...counter...ref} |{|\meta{\LaTeX\ counter}|}|
-%    |{|\meta{reference}|}|
-% \end{quote}
-% An undefined references produces the usual LaTeX warning
-% and its value is assumed to be zero.
-% Example:
-% \begin{quote}
-%\begin{verbatim}
-%\newcounter{ctrA}
-%\newcounter{ctrB}
-%\refstepcounter{ctrA}\label{ref:A}
-%\setcounterref{ctrB}{ref:A}
-%\addtocounterpageref{ctrB}{ref:A}
-%\end{verbatim}
-% \end{quote}
-%
-% \subsection{Expandable commands}
-%
-% These commands that can be used in expandible contexts
-% (inside calculations, \cs{edef}, \cs{csname}, \cs{write}, \dots):
-% \begin{quote}
-%   \cs{getrefnumber}, \cs{getpagerefnumber}
-% \end{quote}
-% They take one argument, the reference:
-% \begin{quote}
-%   \cs{get...refnumber} |{|\meta{reference}|}|
-% \end{quote}
-% The default for undefined references can be changed
-% with macro \cs{setrefcountdefault}, for example this
-% package calls:
-% \begin{quote}
-%   \cs{setrefcountdefault}|{0}|
-% \end{quote}
-%
-% Since version 2.0 of this package there is a new
-% command:
-% \begin{quote}
-%   \cs{getrefbykeydefault} |{|\meta{reference}|}|
-%   |{|\meta{key}|}| |{|\meta{default}|}|
-% \end{quote}
-% This generalized version allows the extraction
-% of further properties of a reference than the
-% two standard ones. Thus the following properties
-% are supported, if they are available:
-% \begin{quote}
-% \begin{tabular}{@{}l|l|l@{}}
-%    Key & Description & Package\\
-% \hline
-%   \meta{empty} & same as \cs{ref} & \LaTeX\\
-%   |page| & same as \cs{pageref} & \LaTeX\\
-%   |title| & section and caption titles & \xpackage{titleref}\\
-%   |name| & section and caption titles & \xpackage{nameref}\\
-%   |anchor| & anchor name & \xpackage{hyperref}\\
-%   |url| & url/file & \xpackage{hyperref}/\xpackage{xr}
-% \end{tabular}
-% \end{quote}
-%
-% Since version 3.2 the expandable macros described before
-% in this section
-% are expandable in exact two expansion steps.
-%
-% \subsection{Undefined references}
-%
-% Because warnings and assignments cannot be used in
-% expandible contexts, undefined references do not
-% produce a warning, their values are assumed to be zero.
-% Example:
-% \begin{quote}
-%\begin{verbatim}
-%\label{ref:here}% somewhere
-%\refused{ref:here}% see below
-%\ifodd\getpagerefnumber{ref:here}%
-%  reference is on an odd page
-%\else
-%  reference is on an even page
-%\fi
-%\end{verbatim}
-% \end{quote}
-%
-% In case of undefined references the user usually want's
-% to be informed. Also \LaTeX\ prints a warning at
-% the end of the \LaTeX\ run. To notify \LaTeX\ and
-% get a normal warning, just use
-% \begin{quote}
-%   \cs{refused} |{|\meta{reference}|}|
-% \end{quote}
-% outside the expanding context. Example, see above.
-%
-% \subsubsection{Check for undefined references}
-%
-% In version 3.2 macros were added, that test, whether references
-% are defined.
-% \begin{declcs}{IfRefUndefinedExpandable} \M{refname} \M{then} \M{else}\\
-%   \cs{IfRefUndefinedBabel} \M{refname} \M{then} \M{else}
-% \end{declcs}
-% If the reference is not available and therefore undefined, then
-% argument \meta{then} is executed, otherwise argument \meta{else}
-% is called. Macro \cs{IfRefUndefinedExpandable} is expandable,
-% but \meta{refname} must not contain babel shorthand characters.
-% Macro \cs{IfRefUndefinedBabel} supports shorthand characters of
-% babel, but it is not expandable.
-%
-% \subsection{Notes}
-%
-% \begin{itemize}
-% \item
-%   The method of extracting the number in this
-%   package also works in cases, where the
-%   reference cannot be used directly, because
-%   a package such as \xpackage{hyperref} has added
-%   extra stuff (hyper link), so that the reference cannot
-%   be used as number any more.
-% \item
-%   If the reference does not contain a number,
-%   assignments to a counter will fail of course.
-% \end{itemize}
-%
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-%    \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 refcount.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{refcount}{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 refcount.sty\endcsname
-\ProvidesPackage{refcount}%
-  [2016/05/16 v3.5 Data extraction from label references (HO)]%
-%    \end{macrocode}
-%
-%    \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 rc 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\rc at AtEnd{%
-    \rc 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{42}{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\rc at AtEnd{\rc at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{Loading packages}
-%
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
-  \input ltxcmds.sty\relax
-  \input infwarerr.sty\relax
-\else
-  \RequirePackage{ltxcmds}[2011/11/09]%
-  \RequirePackage{infwarerr}[2010/04/08]%
-\fi
-%    \end{macrocode}
-%
-% \subsection{Defining commands}
-%
-%    \begin{macro}{\rc at IfDefinable}
-%    \begin{macrocode}
-\ltx at IfUndefined{@ifdefinable}{%
-  \def\rc at IfDefinable#1{%
-    \ifx#1\ltx at undefined
-      \expandafter\ltx at firstofone
-    \else
-      \ifx#1\relax
-        \expandafter\expandafter\expandafter\ltx at firstofone
-      \else
-        \@PackageError{refcount}{%
-          Command \string#1 is already defined.\MessageBreak
-          It will not redefined by this package%
-        }\@ehc
-        \expandafter\expandafter\expandafter\ltx at gobble
-      \fi
-    \fi
-  }%
-}{%
-  \let\rc at IfDefinable\@ifdefinable
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\rc at RobustDefOne}
-%    \begin{macro}{\rc at RobustDefZero}
-%    \begin{macrocode}
-\ltx at IfUndefined{protected}{%
-  \ltx at IfUndefined{DeclareRobustCommand}{%
-    \def\rc at RobustDefOne#1#2#3#4{%
-      \rc at IfDefinable#3{%
-        #1\def#3##1{#4}%
-      }%
-    }%
-    \def\rc at RobustDefZero#1#2{%
-      \rc at IfDefinable#1{%
-        \def#1{#2}%
-      }%
-    }%
-  }{%
-    \def\rc at RobustDefOne#1#2#3#4{%
-      \rc at IfDefinable#3{%
-        \DeclareRobustCommand#2#3[1]{#4}%
-      }%
-    }%
-    \def\rc at RobustDefZero#1#2{%
-      \rc at IfDefinable#1{%
-        \DeclareRobustCommand#1{#2}%
-      }%
-    }%
-  }%
-}{%
-  \def\rc at RobustDefOne#1#2#3#4{%
-    \rc at IfDefinable#3{%
-      \protected#1\def#3##1{#4}%
-    }%
-  }%
-  \def\rc at RobustDefZero#1#2{%
-    \rc at IfDefinable#1{%
-      \protected\def#1{#2}%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%
-%    \begin{macro}{\rc at newcommand}
-%    \begin{macrocode}
-\ltx at IfUndefined{newcommand}{%
-  \def\rc at newcommand*#1[#2]#3{% hash-ok
-    \rc at IfDefinable#1{%
-      \ifcase#2 %
-        \def#1{#3}%
-      \or
-        \def#1##1{#3}%
-      \or
-        \def#1##1##2{#3}%
-      \else
-        \rc at InternalError
-      \fi
-    }%
-  }%
-}{%
-  \let\rc at newcommand\newcommand
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{\cs{setrefcountdefault}}
-%
-%    \begin{macro}{\setrefcountdefault}
-%    \begin{macrocode}
-\rc at RobustDefOne\long{}\setrefcountdefault{%
-  \def\rc at default{#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\setrefcountdefault{0}
-%    \end{macrocode}
-%
-% \subsection{\cs{refused}}
-%
-%    \begin{macro}{\refused}
-%    \begin{macrocode}
-\ltx at IfUndefined{G at refundefinedtrue}{%
-  \rc at RobustDefOne{}{*}\refused{%
-    \begingroup
-      \csname @safe at activestrue\endcsname
-      \ltx at IfUndefined{r@#1}{%
-        \protect\G at refundefinedtrue
-        \rc at WarningUndefined{#1}%
-      }{}%
-    \endgroup
-  }%
-}{%
-  \rc at RobustDefOne{}{*}\refused{%
-    \begingroup
-      \csname @safe at activestrue\endcsname
-      \ltx at IfUndefined{r@#1}{%
-        \csname protect\expandafter\endcsname
-        \csname G at refundefinedtrue\endcsname
-        \rc at WarningUndefined{#1}%
-      }{}%
-    \endgroup
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at WarningUndefined}
-%    \begin{macrocode}
-\ltx at IfUndefined{@latex at warning}{%
-  \def\rc at WarningUndefined#1{%
-    \ltx at ifundefined{thepage}{%
-      \def\thepage{\number\count0 }%
-    }{}%
-    \@PackageWarning{refcount}{%
-      Reference `#1' on page \thepage\space undefined%
-    }%
-  }%
-}{%
-  \def\rc at WarningUndefined#1{%
-    \@latex at warning{%
-      Reference `#1' on page \thepage\space undefined%
-    }%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Setting counters by reference data}
-%
-% \subsubsection{Generic setting}
-%
-%    \begin{macro}{\rc at set}
-% Generic command for
-% |\|$\{$|set|$,$|addto|$\}$|counter|$\{$|page|$,\}$|ref|:
-%\begin{quote}
-%\begin{tabular}[t]{@{}l@{: }l@{}}
-% |#1|& \cs{setcounter}, \cs{addtocounter}\\
-% |#2|& \cs{ltx at car} (for \cs{ref}), \cs{ltx at cartwo} (for \cs{pageref})\\
-% |#3|& \hologo{LaTeX} counter\\
-% |#4|& reference\\
-%\end{tabular}
-%\end{quote}
-%    \begin{macrocode}
-\def\rc at set#1#2#3#4{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \refused{#4}%
-    \expandafter\rc@@set\csname r@#4\endcsname{#1}{#2}{#3}%
-  \endgroup
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc@@set}
-%\begin{quote}
-%\begin{tabular}[t]{@{}l@{: }l@{}}
-% |#1|& \cs{r@<...>}\\
-% |#2|& \cs{setcounter}, \cs{addtocounter}\\
-% |#3|& \cs{ltx at car} (for \cs{ref}), \cs{ltx at carsecond} (for \cs{pageref})\\
-% |#4|& \hologo{LaTeX} counter\\
-%\end{tabular}
-%\end{quote}
-%    \begin{macrocode}
-\def\rc@@set#1#2#3#4{%
-  \ifx#1\relax
-    #2{#4}{\rc at default}%
-  \else
-    #2{#4}{%
-      \expandafter#3#1\rc at default\rc at default\@nil
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{User commands}
-%
-%    \begin{macro}{\setcounterref}
-%    \begin{macrocode}
-\rc at RobustDefZero\setcounterref{%
-  \rc at set\setcounter\ltx at car
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\addtocounterref}
-%    \begin{macrocode}
-\rc at RobustDefZero\addtocounterref{%
-  \rc at set\addtocounter\ltx at car
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\setcounterpageref}
-%    \begin{macrocode}
-\rc at RobustDefZero\setcounterpageref{%
-  \rc at set\setcounter\ltx at carsecond
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\addtocounterpageref}
-%    \begin{macrocode}
-\rc at RobustDefZero\addtocounterpageref{%
-  \rc at set\addtocounter\ltx at carsecond
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Extracting references}
-%
-%    \begin{macro}{\getrefnumber}
-%    \begin{macrocode}
-\rc at newcommand*{\getrefnumber}[1]{%
-  \romannumeral
-  \ltx at ifundefined{r@#1}{%
-    \expandafter\ltx at zero
-    \rc at default
-  }{%
-    \expandafter\expandafter\expandafter\rc at extract@
-    \expandafter\expandafter\expandafter!%
-    \csname r@#1\expandafter\endcsname
-    \expandafter{\rc at default}\@nil
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\getpagerefnumber}
-%    \begin{macrocode}
-\rc at newcommand*{\getpagerefnumber}[1]{%
-  \romannumeral
-  \ltx at ifundefined{r@#1}{%
-    \expandafter\ltx at zero
-    \rc at default
-  }{%
-    \expandafter\expandafter\expandafter\rc at extract@page
-    \expandafter\expandafter\expandafter!%
-    \csname r@#1\expandafter\expandafter\expandafter\endcsname
-    \expandafter\expandafter\expandafter{%
-      \expandafter\rc at default
-    \expandafter}\expandafter{\rc at default}\@nil
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\getrefbykeydefault}
-%    \begin{macrocode}
-\rc at newcommand*{\getrefbykeydefault}[2]{%
-  \romannumeral
-  \expandafter\rc at getrefbykeydefault
-    \csname r@#1\expandafter\endcsname
-    \csname rc at extract@#2\endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at getrefbykeydefault}
-%\begin{quote}
-%\begin{tabular}[t]{@{}l@{: }l@{}}
-% |#1|& \cs{r@<...>}\\
-% |#2|& \cs{rc at extract@<...>}\\
-% |#3|& default\\
-%\end{tabular}
-%\end{quote}
-%    \begin{macrocode}
-\long\def\rc at getrefbykeydefault#1#2#3{%
-  \ifx#1\relax
-    % reference is undefined
-    \ltx at ReturnAfterElseFi{%
-      \ltx at zero
-      #3%
-    }%
-  \else
-    \ltx at ReturnAfterFi{%
-      \ifx#2\relax
-        % extract method is missing
-        \ltx at ReturnAfterElseFi{%
-          \ltx at zero
-          #3%
-        }%
-      \else
-        \ltx at ReturnAfterFi{%
-          \expandafter
-          \rc at generic#1{#3}{#3}{#3}{#3}{#3}\@nil#2{#3}%
-        }%
-      \fi
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at generic}
-%\begin{quote}
-%\begin{tabular}[t]{@{}l@{: }l@{}}
-% |#1|& first item in \cs{r@<...>}\\
-% |#2|& remaining items in \cs{r@<...>}\\
-% |#3|& \cs{rc at extract@<...>}\\
-% |#4|& default\\
-%\end{tabular}
-%\end{quote}
-%    \begin{macrocode}
-\long\def\rc at generic#1#2\@nil#3#4{%
-  #3{#1\TR at TitleReference\@empty{#4}\@nil}{#1}#2\@nil
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at extract@}
-%    \begin{macrocode}
-\long\def\rc at extract@#1#2#3\@nil{%
-  \ltx at zero
-  #2%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at extract@page}
-%    \begin{macrocode}
-\long\def\rc at extract@page#1#2#3#4\@nil{%
-  \ltx at zero
-  #3%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at extract@name}
-%    \begin{macrocode}
-\long\def\rc at extract@name#1#2#3#4#5\@nil{%
-  \ltx at zero
-  #4%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at extract@anchor}
-%    \begin{macrocode}
-\long\def\rc at extract@anchor#1#2#3#4#5#6\@nil{%
-  \ltx at zero
-  #5%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at extract@url}
-%    \begin{macrocode}
-\long\def\rc at extract@url#1#2#3#4#5#6#7\@nil{%
-  \ltx at zero
-  #6%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc at extract@title}
-%    \begin{macrocode}
-\long\def\rc at extract@title#1#2\@nil{%
-  \rc@@extract at title#1%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\rc@@extract at title}
-%    \begin{macrocode}
-\long\def\rc@@extract at title#1\TR at TitleReference#2#3#4\@nil{%
-  \ltx at zero
-  #3%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Macros for checking undefined references}
-%
-%    \begin{macro}{\IfRefUndefinedExpandable}
-%    \begin{macrocode}
-\rc at newcommand*{\IfRefUndefinedExpandable}[1]{%
-  \ltx at ifundefined{r@#1}\ltx at firstoftwo\ltx at secondoftwo
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\IfRefUndefinedBabel}
-%    \begin{macrocode}
-\rc at RobustDefOne{}*\IfRefUndefinedBabel{%
-  \begingroup
-    \csname safe at actives@true\endcsname
-  \expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname r@#1\endcsname\relax
-    \expandafter\ltx at firstoftwo
-  \else
-    \expandafter\ltx at secondoftwo
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-\rc at AtEnd%
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{refcount}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/refcount.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/refcount.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 refcount.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@{}}
-%   refcount.sty & tex/latex/oberdiek/refcount.sty\\
-%   refcount.pdf & doc/latex/oberdiek/refcount.pdf\\
-%   refcount.dtx & source/latex/oberdiek/refcount.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{refcount.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 refcount.dtx
-%makeindex -s gind.ist refcount.idx
-%pdflatex refcount.dtx
-%makeindex -s gind.ist refcount.idx
-%pdflatex refcount.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{1998/04/08 v1.0}
-%   \item
-%     First public release, written as answer in the
-%     newsgroup \xnewsgroup{comp.text.tex}:
-%     \URL{``\link{Re: Adding a \cs{ref} to a counter?}''}^^A
-%     {https://groups.google.com/group/comp.text.tex/msg/c3f2a135ef5ee528}
-%   \end{Version}
-%   \begin{Version}{2000/09/07 v2.0}
-%   \item
-%     Documentation added.
-%   \item
-%     LPPL 1.2
-%   \item
-%     Package rewritten, new commands added.
-%   \end{Version}
-%   \begin{Version}{2006/02/20 v3.0}
-%   \item
-%     Support for \xpackage{hyperref} and \xpackage{nameref} improved.
-%   \item
-%     Support for \xpackage{titleref} and \xpackage{babel}'s shorthands added.
-%   \item
-%     New: \cs{refused}, \cs{getrefbykeydefault}
-%   \end{Version}
-%   \begin{Version}{2008/08/11 v3.1}
-%   \item
-%     Code is not changed.
-%   \item
-%     URLs updated.
-%   \end{Version}
-%   \begin{Version}{2010/12/01 v3.2}
-%   \item
-%     \cs{IfRefUndefinedExpandable} and \cs{IfRefUndefinedBabel} added.
-%   \item
-%     \cs{getrefnumber}, \cs{getpagerefnumber}, \cs{getrefbykeydefault}
-%     are expandable in exact two expansion steps.
-%   \item
-%     Non-expandable macros are made robust.
-%   \item
-%     Test files added.
-%   \end{Version}
-%   \begin{Version}{2011/06/22 v3.3}
-%   \item
-%     Bug fix: \cs{rc at refused} is undefined for \cs{setcounterpageref}
-%     and similar macros. (Bug found by Marc van Dongen.)
-%   \end{Version}
-%   \begin{Version}{2011/10/16 v3.4}
-%   \item
-%     Bug fix: \cs{setcounterpageref} and \cs{addtocounterpageref} fixed.
-%     (Bug found by Staz.)
-%   \item
-%     Macros \cs{(set|addto)counter(page|)ref} are made robust.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v3.5}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,1300 +0,0 @@
-% \iffalse meta-comment
-%
-% File: soulutf8.dtx
-% Version: 2016/05/16 v1.1
-% Info: Permit use of UTF-8 characters in soul
-%
-% 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
-%
-% 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 soulutf8.dtx
-% and the derived files
-%    soulutf8.sty, soulutf8.pdf, soulutf8.ins, soulutf8.drv,
-%    soulutf8-test1.tex, soulutf8-test2.tex, soulutf8-test3.tex,
-%    soulutf8-test4.tex, soulutf8-test5.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/soulutf8.dtx
-%    CTAN:macros/latex/contrib/oberdiek/soulutf8.pdf
-%
-% Unpacking:
-%    (a) If soulutf8.ins is present:
-%           tex soulutf8.ins
-%    (b) Without soulutf8.ins:
-%           tex soulutf8.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{soulutf8.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If soulutf8.drv is present:
-%           latex soulutf8.drv
-%    (b) Without soulutf8.drv:
-%           latex soulutf8.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 soulutf8.dtx
-%       makeindex -s gind.ist soulutf8.idx
-%       pdflatex soulutf8.dtx
-%       makeindex -s gind.ist soulutf8.idx
-%       pdflatex soulutf8.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/soulutf8.sty
-%    TDS:doc/latex/oberdiek/soulutf8.pdf
-%    TDS:source/latex/oberdiek/soulutf8.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: soulutf8 2016/05/16 v1.1 Permit use of UTF-8 characters in soul (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: soulutf8
-Version: 2016/05/16 v1.1
-
-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
-
-
-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 soulutf8.dtx
-and the derived files
-   soulutf8.sty, soulutf8.pdf, soulutf8.ins, soulutf8.drv,
-   soulutf8-test1.tex, soulutf8-test2.tex, soulutf8-test3.tex,
-   soulutf8-test4.tex, soulutf8-test5.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{soulutf8.ins}{\from{soulutf8.dtx}{install}}%
-  \file{soulutf8.drv}{\from{soulutf8.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{soulutf8.sty}{\from{soulutf8.dtx}{package}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{soulutf8-test1.tex}{\from{soulutf8.dtx}{test1}}%
-%  \file{soulutf8-test2.tex}{\from{soulutf8.dtx}{test2,utf8}}%
-%  \file{soulutf8-test3.tex}{\from{soulutf8.dtx}{test3,utf8x}}%
-%  \file{soulutf8-test4.tex}{\from{soulutf8.dtx}{test4,utf8,noetex}}%
-%  \file{soulutf8-test5.tex}{\from{soulutf8.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{*     soulutf8.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `soulutf8.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{soulutf8.drv}%
-  [2016/05/16 v1.1 Permit use of UTF-8 characters in soul (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{soulutf8.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{soulutf8.drv}
-%
-% \title{The \xpackage{soulutf8} package}
-% \date{2016/05/16 v1.1}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package extends package \xpackage{soul} and adds some support
-% for UTF-8. Namely the input encodings \xfile{utf8.def}
-% from package \xpackage{inputenc} and
-% package \xpackage{ucs}'s \xfile{utf8x.def} are supported.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% This package \xpackage{soulutf8} does not have own options and does not
-% define new user commands.
-% Any option is passed to package \xpackage{soul} \cite{soul}
-% that is loaded first.
-% Then some internal macros of \xpackage{soul} are redefined to add
-% support for UTF-8.
-% The following input encodings are supported:
-% \begin{quote}
-%   \begin{tabular}{@{}lll@{}}
-%     \texttt{utf8} & \LaTeX\ base &
-%        \xfile{TDS:tex/latex/base/utf8.def} \cite{utf8}\\
-%     \texttt{utf8x} & Package \xpackage{ucs} &
-%       \xfile{TDS:tex/latex/ucs/utf8x.def} \cite{ucs}\\
-%   \end{tabular}
-% \end{quote}
-% UTF-8 byte sequences are added as token group to a word, even
-% if these UTF-8 characters are some kind of hyphen or space.
-% As exception the following three Unicode characters are handled specially:
-% \begin{quote}
-%   \begin{tabular}{lll}
-%     Slot & Name & Action\\
-%     \hline
-%     \texttt{U+00A0} & NO-BREAK SPACE & like |~|\\
-%     \texttt{U+2013} & EN DASH & |--|\\
-%     \texttt{U+2014} & EM DASH & |---|
-%   \end{tabular}
-%
-% \subsection{Patch}
-%
-% Also package \xpackage{soulutf8} tries to patch package \xpackage{soul}
-% to improve its behaviour:
-% \begin{itemize}
-% \item
-%   A problem with additional levels of curly braces is fixed.
-%   As advantage more implicite kernings are detected.
-%   However, the result may be incompatible with the
-%   original behaviour of package \xpackage{soul} because
-%   of these respected implicite kernings.
-% \item
-%   \eTeX\ , especially \cs{unexpanded} is supported.
-%   This allows a better protection of token groups
-%   (|\mbox{|\dots|}|, math, \dots).
-% \end{itemize}
-% \end{quote}
-%
-% \subsection{Future}
-%
-% Currently package \xpackage{soul} does not seem to be
-% maintained. Nevertheless if there will be a new version that
-% adds support for UTF-8, then this package may become
-% obsolete.
-%
-% \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 soulutf8.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{soulutf8}{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 soulutf8.sty\endcsname
-\ProvidesPackage{soulutf8}%
-  [2016/05/16 v1.1 Permit use of UTF-8 characters in soul (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 SOuL 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\SOuL at AtEnd{%
-    \SOuL 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{34}{12}% "
-\TMP at EnsureCode{36}{3}% $
-\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}% ^
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{126}\active % ~
-\TMP at EnsureCode{128}{12}% ^^80
-\TMP at EnsureCode{147}{12}% ^^93
-\TMP at EnsureCode{148}{12}% ^^94
-\TMP at EnsureCode{160}{12}% ^^a0
-\TMP at EnsureCode{194}{12}% ^^c2
-\TMP at EnsureCode{226}{12}% ^^e2
-\edef\SOuL at AtEnd{\SOuL at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-% \subsection{Loading packages}
-%
-%    Package \xpackage{soul} uses \cs{documentclass} to detect \LaTeX.
-%    \begin{macrocode}
-\ifx\documentclass\@undefined
-%    \end{macrocode}
-%
-% \subsubsection{\plainTeX}
-%
-%    First we check, whether package \xpackage{soul} is already loaded.
-%    \begin{macrocode}
-  \expandafter\ifx\csname SOUL@\endcsname\relax
-%    \end{macrocode}
-%    In case of \plainTeX\ package \xpackage{soul} defines some
-%    macros in a simple manner that will break the definitions of
-%    \xfile{miniltx.tex}, for example. Therefore these macros
-%    are first saved and restored afterwards.
-%    \begin{macrocode}
-    \let\SOuL at orgDeclareRobustCommand\DeclareRobustCommand
-    \let\SOuL at orgnewcommand          \newcommand
-    \let\SOuL at orgDeclareOption       \DeclareOption
-    \let\SOuL at orgPackageError        \PackageError
-    \def\SOuL at restorelatexcmds{%
-      \let\DeclareRobustCommand\SOuL at orgDeclareRobustCommand
-      \let\newcommand          \SOuL at orgnewcommand
-      \let\DeclareOption       \SOuL at orgDeclareOption
-      \let\PackageError        \SOuL at orgPackageError
-    }%
-    \input soul.sty\relax
-    \SOuL at restorelatexcmds
-  \fi
-%    \end{macrocode}
-%    \begin{macro}{\SOUL at error}
-%     Package \xpackage{soul}'s use of \cs{PackageError} is replaced
-%     by \cs{@PackageError} of package \xpackage{infwarerr}.
-%    \begin{macrocode}
-  \input infwarerr.sty\relax
-  \let\SOuL at orgSOUL@error\SOUL at error
-  \def\SOUL at error{%
-    \begingroup
-      \let\PackageError\@PackageError
-      \SOuL at orgSOUL@error
-    \endgroup
-  }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  \input etexcmds.sty\relax
-%    \end{macrocode}
-%    \begin{macro}{\@onelevel at sanitize}
-%    Define \LaTeX's \cs{@onelevel at sanitize} if not already available.
-%    \begin{macrocode}
-  \expandafter\ifx\csname @onelevel at sanitize\endcsname\relax
-    \def\@onelevel at sanitize#1{%
-      \edef#1{%
-        \expandafter\strip at prefix\meaning#1%
-      }%
-    }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\strip at prefix}
-%    \begin{macrocode}
-    \def\strip at prefix#1>{}%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macrocode}
-  \fi
-\else
-%    \end{macrocode}
-%
-% \subsubsection{\LaTeX}
-%    \begin{macrocode}
-  \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{soul}}%
-  \ProcessOptions\relax
-  \RequirePackage{soul}[2003/11/17]%
-  \RequirePackage{infwarerr}[2016/05/16]%
-  \RequirePackage{etexcmds}[2016/05/16]%
-\fi
-%    \end{macrocode}
-%
-% \subsubsection{\eTeX}
-%
-%    In \plainTeX\ command \cs{+} is an \emph{outer} macro.
-%    Therefore numbers are used to avoid problems.
-%    \begin{macrocode}
-\ifetex at unexpanded
-  \catcode33=14 % '!': comment
-  \catcode43=9  % '+': ignore
-\else
-  \catcode33=9  % '!': ignore
-  \catcode43=14 % '+': comment
-\fi
-%    \end{macrocode}
-%
-% \subsection{Macro for redefinitions}
-%
-%    \begin{macro}{\SOuL at redefine}
-%    \begin{macrocode}
-\def\SOuL at redefine#1{%
-  \begingroup
-    \def\SOuL at cmd{#1}%
-    \afterassignment\SOuL at cmdcheck
-    \def\SOuL at temp
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOuL at cmdcheck}
-%    \begin{macrocode}
-\def\SOuL at cmdcheck{%
-    \expandafter\ifx\SOuL at cmd\SOuL at temp
-    \else
-      \edef\SOuL at temp*{\expandafter\string\SOuL at cmd}%
-      \@PackageWarningNoLine{soulutf8}{%
-        Command \SOuL at temp* has changed.\MessageBreak
-        Supported versions of package `soul': 2003/11/17.\MessageBreak
-        Depending on the unknown changes the redefinition\MessageBreak
-        of \SOuL at temp* may not behave correctly%
-      }%
-    \fi
-  \expandafter\endgroup
-  \expandafter\def\SOuL at cmd
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Redefinition of \cs{SOUL at eval}}
-%
-%    \begin{macro}{\SOUL at eval}
-%    Macro \cs{SOUL at eval} is redefined to add detection of
-%    the first byte of a UTF-8 sequence. Because \cs{SOUL at eval}
-%    is overwritten, a warning is issued, if the contents of
-%    \cs{SOUL at eval} is not as expected.
-%    \begin{macrocode}
-\SOuL at redefine\SOUL at eval{%
-%    \end{macrocode}
-%    First the expected definition.
-%    \begin{macrocode}
-  \def\SOUL at n*##1{\SOUL at scan}%
-  \if\noexpand\SOUL@@\SOUL at spc
-  \else
-    \SOUL at ignorespacesfalse
-  \fi
-  \ifnum\SOUL at minus=\thr@@
-    \SOUL at flushminus
-  \else\ifnum\SOUL at comma=\tw@
-    \SOUL at flushcomma
-  \else\ifnum\SOUL at apo=\tw@
-    \SOUL at flushapo
-  \else\ifnum\SOUL at grave=\tw@
-    \SOUL at flushgrave
-  \fi\fi\fi\fi
-  \ifx\SOUL@@-\else\SOUL at flushminus\fi
-  \ifx\SOUL@@,\else\SOUL at flushcomma\fi
-  \ifx\SOUL@@'\else\SOUL at flushapo\fi
-  \ifx\SOUL@@`\else\SOUL at flushgrave\fi
-  \ifx\SOUL@@-%
-    \advance\SOUL at minus\@ne
-  \else\ifx\SOUL@@,%
-    \advance\SOUL at comma\@ne
-  \else\ifx\SOUL@@'%
-    \advance\SOUL at apo\@ne
-  \else\ifx\SOUL@@`%
-    \advance\SOUL at grave\@ne
-  \else
-    \SOUL at flushminus
-    \SOUL at flushcomma
-    \SOUL at flushapo
-    \SOUL at flushgrave
-    \ifx\SOUL@@\SOUL at stop
-      \def\SOUL at n*{%
-        \SOUL at doword
-        \SOUL at eventuallyexhyphen\null
-      }%
-    \else\ifx\SOUL@@\par
-      \def\SOUL at n*\par{\par\leavevmode\SOUL at scan}%
-    \else\if\noexpand\SOUL@@\SOUL at spc
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen\null
-      \ifSOUL at ignorespaces
-      \else
-        \SOUL at everyspace{}%
-      \fi
-      \def\SOUL at n* {\SOUL at scan}%
-    \else\ifx\SOUL@@\\%
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen\null
-      \SOUL at everyspace{\unskip\nobreak\hfil\break}%
-      \SOUL at ignorespacestrue
-    \else\ifx\SOUL@@~%
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen\null
-      \SOUL at everyspace{\nobreak}%
-    \else\ifx\SOUL@@\slash
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen{/}%
-      \SOUL at exhyphen{/}%
-    \else\ifx\SOUL@@\mbox
-      \def\SOUL at n*{\SOUL at addprotect}%
-    \else\ifx\SOUL@@\hbox
-      \def\SOUL at n*{\SOUL at addprotect}%
-    \else\ifx\SOUL@@\soulomit
-      \def\SOUL at n*\soulomit##1{%
-        \SOUL at doword
-        {\spaceskip\SOUL at spaceskip##1}%
-        \SOUL at scan
-      }%
-    \else\ifx\SOUL@@\break
-      \SOUL at doword
-      \break
-    \else\ifx\SOUL@@\linebreak
-      \SOUL at doword
-      \SOUL at everyspace{\linebreak}%
-    \else\ifcat\bgroup\noexpand\SOUL@@
-      \def\SOUL at n*{\SOUL at addgroup{}}%
-    \else\ifcat$\noexpand\SOUL@@
-      \def\SOUL at n*{\SOUL at addmath}%
-    \else
-      \def\SOUL at n*{\SOUL at dotoken}%
-    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-  \fi\fi\fi\fi
-  \SOUL at n*%
-}{%
-%    \end{macrocode}
-%    Now the redefined version follows.
-%    \begin{macrocode}
-  \def\SOUL at n*##1{\SOUL at scan}%
-  \if\noexpand\SOUL@@\SOUL at spc
-  \else
-    \SOUL at ignorespacesfalse
-  \fi
-  \ifnum\SOUL at minus=\thr@@
-    \SOUL at flushminus
-  \else\ifnum\SOUL at comma=\tw@
-    \SOUL at flushcomma
-  \else\ifnum\SOUL at apo=\tw@
-    \SOUL at flushapo
-  \else\ifnum\SOUL at grave=\tw@
-    \SOUL at flushgrave
-  \fi\fi\fi\fi
-  \ifx\SOUL@@-\else\SOUL at flushminus\fi
-  \ifx\SOUL@@,\else\SOUL at flushcomma\fi
-  \ifx\SOUL@@'\else\SOUL at flushapo\fi
-  \ifx\SOUL@@`\else\SOUL at flushgrave\fi
-  \ifx\SOUL@@-%
-    \advance\SOUL at minus\@ne
-  \else\ifx\SOUL@@,%
-    \advance\SOUL at comma\@ne
-  \else\ifx\SOUL@@'%
-    \advance\SOUL at apo\@ne
-  \else\ifx\SOUL@@`%
-    \advance\SOUL at grave\@ne
-  \else
-    \SOUL at flushminus
-    \SOUL at flushcomma
-    \SOUL at flushapo
-    \SOUL at flushgrave
-    \ifx\SOUL@@\SOUL at stop
-      \def\SOUL at n*{%
-          \SOUL at doword
-          \SOUL at eventuallyexhyphen\null
-      }%
-    \else\ifx\SOUL@@\par
-      \def\SOUL at n*\par{\par\leavevmode\SOUL at scan}%
-    \else\if\noexpand\SOUL@@\SOUL at spc
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen\null
-      \ifSOUL at ignorespaces
-      \else
-        \SOUL at everyspace{}%
-      \fi
-      \def\SOUL at n* {\SOUL at scan}%
-    \else\ifx\SOUL@@\\%
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen\null
-      \SOUL at everyspace{\unskip\nobreak\hfil\break}%
-      \SOUL at ignorespacestrue
-    \else\ifx\SOUL@@~%
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen\null
-      \SOUL at everyspace{\nobreak}%
-    \else\ifx\SOUL@@\slash
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen{/}%
-      \SOUL at exhyphen{/}%
-    \else\ifx\SOUL@@\mbox
-      \def\SOUL at n*{\SOUL at addprotect}%
-    \else\ifx\SOUL@@\hbox
-      \def\SOUL at n*{\SOUL at addprotect}%
-    \else\ifx\SOUL@@\soulomit
-      \def\SOUL at n*\soulomit##1{%
-        \SOUL at doword
-        {\spaceskip\SOUL at spaceskip##1}%
-        \SOUL at scan
-      }%
-    \else\ifx\SOUL@@\break
-      \SOUL at doword
-      \break
-    \else\ifx\SOUL@@\linebreak
-      \SOUL at doword
-      \SOUL at everyspace{\linebreak}%
-    \else\ifcat\bgroup\noexpand\SOUL@@
-      \def\SOUL at n*{\SOUL at addgroup{}}%
-    \else\ifcat$\noexpand\SOUL@@
-      \def\SOUL at n*{\SOUL at addmath}%
-    \else
-%    \end{macrocode}
-%    The current token is examined to detect the start of
-%    a UTF-8 sequence.
-%    \begin{macrocode}
-      \SOuL at analyzeutfviii
-      \ifcase\SOuL at octets
-        \SOuL at analyzeutfviiix
-      \fi
-      \ifcase\SOuL at octets
-        \def\SOUL at n*{\SOUL at dotoken}%
-      \or % 1
-      \or % 2
-        \def\SOUL at n*{\SOuL at addtwooctets}%
-      \or % 3
-        \def\SOUL at n*{\SOuL at addthreeoctets}%
-      \or % 4
-        \def\SOUL at n*{\SOuL at addfouroctets}%
-      \fi
-    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-  \fi\fi\fi\fi
-  \SOUL at n*%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{UTF-8 analysis}
-%
-% \subsubsection{Help strings}
-%
-%    \begin{macrocode}
-\def\SOuL at defsanitizedstring#1#2{%
-  \expandafter\def\csname SOuL at string#1\endcsname{#2}%
-  \expandafter\@onelevel at sanitize\csname SOuL at string#1\endcsname
-}
-\SOuL at defsanitizedstring{UTFviii}{UTFviii@}
-\SOuL at defsanitizedstring{octets}{@octets}
-\SOuL at defsanitizedstring{two}{two}
-\SOuL at defsanitizedstring{three}{three}
-\SOuL at defsanitizedstring{four}{four}
-\SOuL at defsanitizedstring{macrocolon}{macro:}
-\SOuL at defsanitizedstring{csnameu}{csname u8-}
-\SOuL at defsanitizedstring{undeferr}{utf at viii@undeferr}
-\def\SOuL at stringendash{^^e2^^80^^93}
-\def\SOuL at stringemdash{^^e2^^80^^94}
-\def\SOuL at stringnobreakspace{^^c2^^a0}
-\edef\SOuL at charhash{\string #}
-\edef\SOuL at chartwo{\string 2}
-\edef\SOuL at charthree{\string 3}
-\def\SOuL at empty{}
-%    \end{macrocode}
-%
-% \subsubsection{Support for \xfile{utf8.def}}
-%
-%    \begin{macro}{\SOuL at analyzeutfviii}
-%    \begin{macrocode}
-\begingroup
-  \edef\x{\endgroup
-    \def\noexpand\SOuL at analyzeutfviii{%
-      \noexpand\expandafter\noexpand\SOuL at checkutfviii
-      \noexpand\meaning\noexpand\SOUL@@
-      \SOuL at stringUTFviii\SOuL at stringoctets
-      \noexpand\@nil
-    }%
-    \def\noexpand\SOuL at checkutfviii
-      ##1\SOuL at stringUTFviii##2\SOuL at stringoctets##3\noexpand\@nil
-  }%
-\x{%
-  \def\SOuL at temp{#2}%
-  \chardef\SOuL at octets=%
-      \ifx\SOuL at temp\SOuL at stringtwo
-        \tw@
-      \else\ifx\SOuL at temp\SOuL at stringthree
-        \thr@@
-      \else\ifx\SOuL at temp\SOuL at stringfour
-        4 %
-      \else
-        \z@
-      \fi\fi\fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Support for \xfile{utf8x.def}}
-%
-%    \begin{macro}{\SOuL at analyzeutfviiix}
-%    \begin{macrocode}
-\begingroup
-  \edef\x{\endgroup
-    \def\noexpand\SOuL at analyzeutfviiix{%
-      \noexpand\expandafter\noexpand\SOuL at checkutfviiix
-      \noexpand\meaning\noexpand\SOUL@@
-      \SOuL at stringmacrocolon\SOuL at charhash1{}{}{}{}%
-      \SOuL at stringcsnameu\SOuL at stringundeferr
-      \noexpand\@nil
-    }%
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOuL at checkutfviiix}
-%    \begin{macrocode}
-    \def\noexpand\SOuL at checkutfviiix
-      ##1\SOuL at stringmacrocolon\SOuL at charhash1##2##3##4##5##6%
-      \SOuL at stringcsnameu##7\SOuL at stringundeferr##8\noexpand\@nil
-  }%
-\x{%
-  \def\SOuL at temp{#7}%
-  \ifx\SOuL at temp\SOuL at empty
-    \chardef\SOuL at octets=\z@
-  \else
-    \def\SOuL at temp{#5}%
-    \ifx\SOuL at temp\SOuL at charthree
-      \chardef\SOuL at octets=4 %
-    \else
-      \def\SOuL at temp{#3}%
-      \ifx\SOuL at temp\SOuL at chartwo
-        \chardef\SOuL at octets=\thr@@
-      \else
-        \chardef\SOuL at octets=\tw@
-      \fi
-    \fi
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Actions for UTF-8 sequences}
-%
-%    \begin{macro}{\SOuL at addtwooctets}
-%    \begin{macrocode}
-\def\SOuL at addtwooctets#1#2{%
-  \def\SOuL at temp{#1#2}%
-  \@onelevel at sanitize\SOuL at temp
-  \ifx\SOuL at temp\SOuL at stringnobreakspace
-    \SOUL at doword
-    \SOUL at eventuallyexhyphen\null
-    \SOUL at everyspace{\nobreak}%
-    \let\SOuL at next\SOUL at scan
-  \else
-    \def\SOuL at next{%
-!     \SOUL at addtoken{{\noexpand#1\noexpand#2}}%
-+     \SOUL at addtoken{{\etex at unexpanded{#1#2}}}%
-    }%
-  \fi
-  \SOuL at next
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOuL at addthreeoctets}
-%    \begin{macrocode}
-\def\SOuL at addthreeoctets#1#2#3{%
-  \def\SOuL at temp{#1#2#3}%
-  \@onelevel at sanitize\SOuL at temp
-  \ifx\SOuL at temp\SOuL at stringendash
-    \SOUL at doword
-    \SOUL at eventuallyexhyphen{-}%
-    \SOUL at exhyphen{--}%
-    \let\SOuL at next\SOUL at scan
-  \else
-    \ifx\SOuL at temp\SOuL at stringemdash
-      \SOUL at doword
-      \SOUL at eventuallyexhyphen{-}%
-      \SOUL at exhyphen{---}%
-      \let\SOuL at next\SOUL at scan
-    \else
-      \def\SOuL at next{%
-!       \SOUL at addtoken{{\noexpand#1\noexpand#2\noexpand#3}}%
-+       \SOUL at addtoken{{\etex at unexpanded{#1#2#3}}}%
-      }%
-    \fi
-  \fi
-  \SOuL at next
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOuL at addfouroctets}
-%    \begin{macrocode}
-\def\SOuL at addfouroctets#1#2#3#4{%
-! \SOUL at addtoken{{\noexpand#1\noexpand#2\noexpand#3\noexpand#4}}%
-+ \SOUL at addtoken{{\etex at unexpanded{#1#2#3#4}}}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsubsection{Redefinition of \cs{SOUL at splittoken}}
-%
-%    \begin{macro}{\SOUL at splittoken}
-%    Macro \cs{SOUL at splittoken} separates the first token
-%    or token group from a word and redefines the word to contain
-%    the remaining tokens. However if the remaining tokens are
-%    a token group, then the curly braces will be removed and
-%    the token group is splitted by the next call of \cs{SOUL at splittoken}.
-%    The redefinition avoids the removal of curly braces around the
-%    remaining tokens.
-%    \begin{macrocode}
-\SOuL at redefine\SOUL at splittoken#1#2\SOUL at stop{%
-  \global\SOUL at token={#1}%
-  \global\SOUL at word={#2}%
-}#1{%
-  \global\SOUL at token={#1}%
-  \SOuL at remainingtoken\relax
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOuL at remainingtoken}
-%    \begin{macrocode}
-\def\SOuL at remainingtoken#1\SOUL at stop{%
-  \global\SOUL at word=\expandafter{\@gobble#1}%
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-% \subsection{Patches}
-%
-%    The fixed \cs{SOUL at splittoken} allows to remove the double
-%    sets of curly braces in other macros of package \xpackage{soul}.
-%    The benefit is that implicite kernings are more often detected
-%    and fixes a bug in package \xpackage{soul}. The disadvantage is
-%    incompatibility. The width of the resulting strings may change.
-%    \begin{macro}{\SOUL at flushcomma}
-%    \begin{macrocode}
-\SOuL at redefine\SOUL at flushcomma{%
-  \ifcase\SOUL at comma
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word,}}\x
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word{{,,}}}}\x
-  \fi
-  \SOUL at comma\z@
-}{%
-  \ifcase\SOUL at comma
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word,}}\x
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word{,,}}}\x
-  \fi
-  \SOUL at comma\z@
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOUL at flushapo}
-%    \begin{macrocode}
-\SOuL at redefine\SOUL at flushapo{%
-  \ifcase\SOUL at apo
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word'}}\x
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word{{''}}}}\x
-  \fi
-  \SOUL at apo\z@
-}{%
-  \ifcase\SOUL at apo
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word'}}\x
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word{''}}}\x
-  \fi
-  \SOUL at apo\z@
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOUL at flushgrave}
-%    \begin{macrocode}
-\SOuL at redefine\SOUL at flushgrave{%
-  \ifcase\SOUL at grave
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word`}}\x
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word{{``}}}}\x
-  \fi
-  \SOUL at grave\z@
-}{%
-  \ifcase\SOUL at grave
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word`}}\x
-  \or
-    \edef\x{\SOUL at word={\the\SOUL at word{``}}}\x
-  \fi
-  \SOUL at grave\z@
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOUL at addgroup}
-%    \begin{macrocode}
-\SOuL at redefine\SOUL at addgroup#1#2{%
-  {%
-    \let\protect\noexpand
-    \edef\x{%
-      \global\SOUL at word={%
-        \the\SOUL at word
-        {{\noexpand#1#2}}%
-      }%
-    }%
-    \x
-  }%
-  \SOUL at scan
-}#1#2{%
-  \begingroup
-    \let\protect\noexpand
-    \edef\x{\endgroup
-      \SOUL at word={%
-        \the\SOUL at word
-!       {\noexpand#1{#2}}%
-+       {\etex at unexpanded{#1{#2}}}%
-      }%
-    }%
-  \x
-  \SOUL at scan
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOUL at addmath}
-%    \begin{macrocode}
-\SOuL at redefine\SOUL at addmath$#1${%
-  {%
-    \let\protect\noexpand
-    \edef\x{%
-      \global\SOUL at word={%
-        \the\SOUL at word
-        {{\hbox{$#1$}}}%
-      }%
-    }%
-    \x
-  }%
-  \SOUL at scan
-}$#1${%
-  \begingroup
-    \let\protect\noexpand
-    \edef\x{\endgroup
-      \SOUL at word={%
-        \the\SOUL at word
-!       {\hbox{$#1$}}%
-+       {\etex at unexpanded{\hbox{$#1$}}}%
-      }%
-    }%
-  \x
-  \SOUL at scan
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\SOUL at addprotect}
-%    \begin{macrocode}
-\SOuL at redefine\SOUL at addprotect#1#2{%
-  {%
-    \let\protect\noexpand
-    \edef\x{%
-      \global\SOUL at word={%
-        \the\SOUL at word
-        {{\hbox{#2}}}%
-      }%
-    }%
-    \x
-  }%
-  \SOUL at scan
-}#1#2{%
-  \begingroup
-    \let\protect\noexpand
-    \edef\x{\endgroup
-      \SOUL at word={%
-        \the\SOUL at word
-!       {\hbox{#2}}%
-+       {\etex at unexpanded{\hbox{#2}}}%
-      }%
-    }%
-  \x
-  \SOUL at scan
-}
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macro}{\SOUL at addtoken}
-%    \begin{macrocode}
-+ \SOuL at redefine\SOUL at addtoken#1{%
-+   \edef\x{%
-+     \SOUL at word={%
-+       \the\SOUL at word
-+       \noexpand#1%
-+     }%
-+   }%
-+   \x
-+   \SOUL at scan
-+ }#1{%
-+   \edef\x{%
-+     \SOUL at word={%
-+       \the\SOUL at word
-+       \etex at unexpanded{#1}%
-+     }%
-+   }%
-+   \x
-+   \SOUL at scan
-+ }%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\SOuL at AtEnd%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{soulutf8}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/soulutf8.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/soulutf8.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 soulutf8.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@{}}
-%   soulutf8.sty & tex/generic/oberdiek/soulutf8.sty\\
-%   soulutf8.pdf & doc/latex/oberdiek/soulutf8.pdf\\
-%   soulutf8.dtx & source/latex/oberdiek/soulutf8.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{soulutf8.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 soulutf8.dtx
-%makeindex -s gind.ist soulutf8.idx
-%pdflatex soulutf8.dtx
-%makeindex -s gind.ist soulutf8.idx
-%pdflatex soulutf8.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-%
-% \bibitem{soul}
-%   Melchior Franz: \textit{The \xpackage{soul} package};
-%   2003/11/17;\\
-%   \CTANpkg{soul}.
-%
-% \bibitem{ucs}
-%   Dominique P. G. Unruh: \textit{\xpackage{ucs.sty} -- Unicode Support};
-%   2004/10/17;\\
-%   \CTANpkg{unicode}.
-%
-% \bibitem{utf8}
-%   Frank Mittelbach, Chris Rowley:
-%   \textit{Providing some UTF-8 support via \xpackage{inputenc}};
-%   2006/03/30;\\
-%   \CTAN{macros/latex/base/utf8ienc.dtx}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-%   \begin{Version}{2007/09/09 v1.0}
-%   \item
-%     First version.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.1}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,694 +0,0 @@
-% \iffalse meta-comment
-%
-% File: uniquecounter.dtx
-% Version: 2016/05/16 v1.3
-% Info: Provide unlimited unique counter
-%
-% Copyright (C)
-%    2009, 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 uniquecounter.dtx
-% and the derived files
-%    uniquecounter.sty, uniquecounter.pdf, uniquecounter.ins,
-%    uniquecounter.drv, uniquecounter-example.tex,
-%    uniquecounter-test1.tex, uniquecounter-test2.tex,
-%    uniquecounter-test3.tex.
-%
-% Distribution:
-%    CTAN:macros/latex/contrib/oberdiek/uniquecounter.dtx
-%    CTAN:macros/latex/contrib/oberdiek/uniquecounter.pdf
-%
-% Unpacking:
-%    (a) If uniquecounter.ins is present:
-%           tex uniquecounter.ins
-%    (b) Without uniquecounter.ins:
-%           tex uniquecounter.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{uniquecounter.dtx}
-%        (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-%    (a) If uniquecounter.drv is present:
-%           latex uniquecounter.drv
-%    (b) Without uniquecounter.drv:
-%           latex uniquecounter.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 uniquecounter.dtx
-%       makeindex -s gind.ist uniquecounter.idx
-%       pdflatex uniquecounter.dtx
-%       makeindex -s gind.ist uniquecounter.idx
-%       pdflatex uniquecounter.dtx
-%
-% Installation:
-%    TDS:tex/generic/oberdiek/uniquecounter.sty
-%    TDS:doc/latex/oberdiek/uniquecounter.pdf
-%    TDS:doc/latex/oberdiek/uniquecounter-example.tex
-%    TDS:source/latex/oberdiek/uniquecounter.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: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: uniquecounter
-Version: 2016/05/16 v1.3
-
-Copyright (C)
-   2009, 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 uniquecounter.dtx
-and the derived files
-   uniquecounter.sty, uniquecounter.pdf, uniquecounter.ins,
-   uniquecounter.drv, uniquecounter-example.tex,
-   uniquecounter-test1.tex, uniquecounter-test2.tex,
-   uniquecounter-test3.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
-  \file{uniquecounter.ins}{\from{uniquecounter.dtx}{install}}%
-  \file{uniquecounter.drv}{\from{uniquecounter.dtx}{driver}}%
-  \usedir{tex/generic/oberdiek}%
-  \file{uniquecounter.sty}{\from{uniquecounter.dtx}{package}}%
-  \usedir{doc/latex/oberdiek}%
-  \file{uniquecounter-example.tex}{\from{uniquecounter.dtx}{example}}%
-%  \usedir{doc/latex/oberdiek/test}%
-%  \file{uniquecounter-test1.tex}{\from{uniquecounter.dtx}{test1}}%
-%  \file{uniquecounter-test2.tex}{\from{uniquecounter.dtx}{test2}}%
-%  \file{uniquecounter-test3.tex}{\from{uniquecounter.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{*     uniquecounter.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `uniquecounter.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{uniquecounter.drv}%
-  [2016/05/16 v1.3 Provide unlimited unique counter (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
-  \DocInput{uniquecounter.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-%
-% \GetFileInfo{uniquecounter.drv}
-%
-% \title{The \xpackage{uniquecounter} package}
-% \date{2016/05/16 v1.3}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package provides a kind of counter that provides unique
-% number values. Several counters can be created by different names.
-% The numeric values are not limited.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \begin{declcs}{UniqueCounterNew} \M{name}
-% \end{declcs}
-% Macro \cs{UniqueCounterNew} creates a new unique counter \meta{name}.
-% An error is thrown, if the counter already exists.
-%
-% \begin{declcs}{UniqueCounterCall} \M{name} \M{code}
-% \end{declcs}
-% Macro \cs{UniqueCounterCall} calls the given \meta{code} with a new
-% value of counter \meta{name} as argument.
-%
-% \begin{declcs}{UniqueCounterIncrement} \M{name}
-% \end{declcs}
-% Macro \cs{UniqueCounterIncrement} generates a new value for the counter
-% \meta{name}
-% by incrementing by one (globally).
-%
-% \begin{declcs}{UniqueCounterGet} \M{name}
-% \end{declcs}
-% Expandable macro \cs{UniqueCounterGet} returns the current value
-% of counter \meta{name}
-%
-% \subsection{Example}
-%
-%    \begin{macrocode}
-%<*example>
-\documentclass{minimal}
-\usepackage{uniquecounter}
-\UniqueCounterNew{anchor}
-\makeatletter
-\newcommand*{\DefNewAnchorName}[2]{%
-  % #1 is unique counter value
-  % #2 is name of anchor
-  \@namedef{anchor@#2}{a#1}%
-}
-\newcommand*{\NewAnchorName}[1]{%
-  \UniqueCounterCall{anchor}\DefNewAnchorName{#1}%
-}
-\newcommand*{\PrintAnchorName}[1]{%
-  \@nameuse{anchor@#1}%
-}
-\begin{document}
-  \NewAnchorName{Top}%
-  \NewAnchorName{Left}%
-  \noindent
-  Top: \PrintAnchorName{Top}\\%
-  Left: \PrintAnchorName{Left}%
-\end{document}
-%</example>
-%    \end{macrocode}
-%
-% \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 uniquecounter.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{uniquecounter}{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 uniquecounter.sty\endcsname
-\ProvidesPackage{uniquecounter}%
-  [2016/05/16 v1.3 Provide unlimited unique counter (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 uqc 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\uqc at AtEnd{%
-    \uqc 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{42}{12}% *
-\TMP at EnsureCode{43}{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\uqc at AtEnd{\uqc at AtEnd\noexpand\endinput}
-%    \end{macrocode}
-%
-%    \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{bigintcalc}[2007/11/11]%
-  \TMP at RequirePackage{infwarerr}[2007/09/09]%
-\else
-  \RequirePackage{bigintcalc}[2007/11/11]%
-  \RequirePackage{infwarerr}[2007/09/09]%
-\fi
-%    \end{macrocode}
-%
-%    \begin{macro}{\uqc at IncNum}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-  \def\uqc at IncNum#1{%
-    \begingroup
-      \count@=\csname uqc at cnt@#1\endcsname\relax
-      \advance\count@\@ne
-      \expandafter\xdef\csname uqc at cnt@#1\endcsname{%
-        \number\count@
-      }%
-      \ifnum\count@=2147483647 %
-        \global\expandafter\let\csname uqc at inc@#1\endcsname
-        \uqc at IncBig
-      \fi
-    \endgroup
-  }%
-\else
-  \def\uqc at IncNum#1{%
-    \expandafter\xdef\csname uqc at cnt@#1\endcsname{%
-      \number\numexpr\csname uqc at cnt@#1\endcsname+1%
-    }%
-    \ifnum\csname uqc at cnt@#1\endcsname=2147483647 %
-      \global\expandafter\let\csname uqc at inc@#1\endcsname
-      \uqc at IncBig
-    \fi
-  }%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\uqc at IncBig}
-%    \begin{macrocode}
-\def\uqc at IncBig#1{%
-  \expandafter\xdef\csname uqc at cnt@#1\endcsname{%
-    \expandafter\expandafter\expandafter
-    \BigIntCalcInc\csname uqc at cnt@#1\endcsname!%
-  }%
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\uqc at Def}
-%    \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname newcommand\endcsname\relax
-  \def\uqc at Def#1{\def#1##1}%
-\else
-  \def\uqc at Def#1{\newcommand*{#1}[1]}%
-\fi
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\UniqueCounterNew}
-%    \begin{macrocode}
-\uqc at Def\UniqueCounterNew{%
-  \expandafter\ifx\csname uqc at cnt@#1\endcsname\relax
-    \expandafter\xdef\csname uqc at cnt@#1\endcsname{0}%
-    \global\expandafter\let\csname uqc at inc@#1\endcsname\uqc at IncNum
-    \@PackageInfo{uniquecounter}{New unique counter `#1'}%
-  \else
-    \@PackageError{uniquecounter}{Unique counter `#1' is already defined}\@ehc
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\UniqueCounterIncrement}
-%    \begin{macrocode}
-\uqc at Def\UniqueCounterIncrement{%
-  \expandafter\ifx\csname uqc at cnt@#1\endcsname\relax
-    \@PackageError{uniquecounter}{Unique counter `#1' is undefined}\@ehc
-  \else
-    \csname uqc at inc@#1\endcsname{#1}%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\UniqueCounterGet}
-%    \begin{macrocode}
-\uqc at Def\UniqueCounterGet{%
-  \csname uqc at cnt@#1\endcsname
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\UniqueCounterCall}
-%    \begin{macrocode}
-\uqc at Def\UniqueCounterCall{%
-  \expandafter\ifx\csname uqc at cnt@#1\endcsname\relax
-    \@PackageError{uniquecounter}{Unique counter `#1' is undefined}\@ehc
-    \expandafter\uqc at Call\expandafter0%
-  \else
-    \UniqueCounterIncrement{#1}%
-    \expandafter\expandafter\expandafter\uqc at Call
-    \expandafter\expandafter\expandafter{%
-      \csname uqc at cnt@#1\expandafter\endcsname\expandafter
-    }%
-  \fi
-}
-%    \end{macrocode}
-%    \end{macro}
-%    \begin{macro}{\uqc at Call}
-%    \begin{macrocode}
-\long\def\uqc at Call#1#2{#2{#1}}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%    \begin{macrocode}
-\uqc at AtEnd%
-%    \end{macrocode}
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{uniquecounter}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/uniquecounter.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/uniquecounter.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 uniquecounter.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@{}}
-%   uniquecounter.sty & tex/generic/oberdiek/uniquecounter.sty\\
-%   uniquecounter.pdf & doc/latex/oberdiek/uniquecounter.pdf\\
-%   uniquecounter-example.tex & doc/latex/oberdiek/uniquecounter-example.tex\\
-%   uniquecounter.dtx & source/latex/oberdiek/uniquecounter.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{uniquecounter.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 uniquecounter.dtx
-%makeindex -s gind.ist uniquecounter.idx
-%pdflatex uniquecounter.dtx
-%makeindex -s gind.ist uniquecounter.idx
-%pdflatex uniquecounter.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-%   \begin{Version}{2009/09/11 v1.0}
-%   \item
-%     First public version.
-%   \end{Version}
-%   \begin{Version}{2009/12/18 v1.1}
-%   \item
-%     Bug fix in \cs{UniqueCounterCall} for values \textgreater\ 9
-%     (bug report of Lev Bishop).
-%   \end{Version}
-%   \begin{Version}{2011/01/30 v1.2}
-%   \item
-%     Already loaded package files are not input in \hologo{plainTeX}.
-%   \end{Version}
-%   \begin{Version}{2016/05/16 v1.3}
-%   \item
-%     Documentation updates.
-%   \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/bigintcalc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/bigintcalc.sty	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/bigintcalc.sty	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,1831 +0,0 @@
-%%
-%% This is file `bigintcalc.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bigintcalc.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: bigintcalc
-%% Version: 2016/05/16 v1.4
-%% 
-%% Copyright (C)
-%%    2007, 2011, 2012 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% 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 bigintcalc.dtx
-%% and the derived files
-%%    bigintcalc.sty, bigintcalc.pdf, bigintcalc.ins, bigintcalc.drv,
-%%    bigintcalc-test1.tex, bigintcalc-test2.tex,
-%%    bigintcalc-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 bigintcalc.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{bigintcalc}{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 bigintcalc.sty\endcsname
-\ProvidesPackage{bigintcalc}%
-  [2016/05/16 v1.4 Expandable calculations on big integers (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname BIC 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\BIC at AtEnd{%
-    \BIC at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{36}{14}% $ (comment!)
-\TMP at EnsureCode{38}{14}% & (comment!)
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{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}% ]
-\edef\BIC at AtEnd{\BIC at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname BIC at TestMode\endcsname\relax
-\else
-  \catcode63=9 % ? (ignore)
-\fi
-? \let\BIC@@TestMode\BIC at TestMode
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-  \catcode36=9 % $ (ignore)
-\else
-  \catcode38=9 % & (ignore)
-\fi
-\let\BIC at Fi\fi
-\def\BIC at AfterFi#1#2\BIC at Fi{\fi#1}%
-\def\BIC at AfterFiFi#1#2\BIC at Fi{\fi\fi#1}%
-\def\BIC at AfterFiFiFi#1#2\BIC at Fi{\fi\fi\fi#1}%
-\begingroup
-  \def\x#1{\endgroup
-    \let\BIC at Space= #1%
-  }%
-\x{ }
-\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
-  \def\BIC at Expand#1{%
-    \romannumeral0%
-    \BIC@@Expand#1!\@nil{}%
-  }%
-  \def\BIC@@Expand#1#2\@nil#3{%
-    \expandafter\ifcat\noexpand#1\relax
-      \expandafter\@firstoftwo
-    \else
-      \expandafter\@secondoftwo
-    \fi
-    {%
-      \expandafter\BIC@@Expand#1#2\@nil{#3}%
-    }{%
-      \ifx#1!%
-        \expandafter\@firstoftwo
-      \else
-        \expandafter\@secondoftwo
-      \fi
-      { #3}{%
-        \BIC@@Expand#2\@nil{#3#1}%
-      }%
-    }%
-  }%
-  \expandafter\ifx\csname @firstoftwo\endcsname\relax
-    \long\def\@firstoftwo#1#2{#1}%
-  \fi
-  \expandafter\ifx\csname @secondoftwo\endcsname\relax
-    \long\def\@secondoftwo#1#2{#2}%
-  \fi
-\else
-  \def\BIC at Expand#1{%
-    \romannumeral0\expandafter\expandafter\expandafter\BIC at Space
-    \pdf at unescapehex{%
-      \expandafter\expandafter\expandafter
-      \BIC at StripHexSpace\pdf at escapehex{#1}20\@nil
-    }%
-  }%
-  \def\BIC at StripHexSpace#120#2\@nil{%
-    #1%
-    \ifx\\#2\\%
-    \else
-      \BIC at AfterFi{%
-        \BIC at StripHexSpace#2\@nil
-      }%
-    \BIC at Fi
-  }%
-\fi
-\def\BIC at Normalize#1#2{%
-  \ifx#2-%
-    \ifx\\#1\\%
-      \BIC at AfterFiFi{%
-        \BIC at Normalize-%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at Normalize{}%
-      }%
-    \fi
-  \else
-    \ifx#2+%
-      \BIC at AfterFiFi{%
-        \BIC at Normalize{#1}%
-      }%
-    \else
-      \ifx#20%
-        \BIC at AfterFiFiFi{%
-          \BIC at NormalizeZero{#1}%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at NormalizeDigits#1#2%
-        }%
-      \fi
-    \fi
-  \BIC at Fi
-}
-\def\BIC at NormalizeZero#1#2{%
-  \ifx#2!%
-    \BIC at AfterFi{ 0}%
-  \else
-    \ifx#20%
-      \BIC at AfterFiFi{%
-        \BIC at NormalizeZero{#1}%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at NormalizeDigits#1#2%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at NormalizeDigits#1!{ #1}
-\def\bigintcalcNum#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Normalize
-  \expandafter\expandafter\expandafter{%
-  \expandafter\expandafter\expandafter}%
-  \BIC at Expand{#1}!%
-}
-\def\bigintcalcInv#1{%
-  \romannumeral0\expandafter\expandafter\expandafter\BIC at Space
-  \bigintcalcNum{-#1}%
-}
-\def\bigintcalcAbs#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Abs
-  \bigintcalcNum{#1}%
-}
-\def\BIC at Abs#1{%
-  \ifx#1-%
-    \expandafter\BIC at Space
-  \else
-    \expandafter\BIC at Space
-    \expandafter#1%
-  \fi
-}
-\def\bigintcalcSgn#1{%
-  \number
-  \expandafter\expandafter\expandafter\BIC at Sgn
-  \bigintcalcNum{#1}! %
-}
-\def\BIC at Sgn#1#2!{%
-  \ifx#1-%
-    -1%
-  \else
-    \ifx#10%
-      0%
-    \else
-      1%
-    \fi
-  \fi
-}
-\def\bigintcalcCmp#1#2{%
-  \number
-  \expandafter\expandafter\expandafter\BIC at Cmp
-  \bigintcalcNum{#2}!{#1}%
-}
-\def\BIC at Cmp#1!#2{%
-  \expandafter\expandafter\expandafter\BIC@@Cmp
-  \bigintcalcNum{#2}!#1!%
-}
-\def\BIC@@Cmp#1#2!#3#4!{%
-  \ifx#1-%
-    \ifx#3-%
-      \BIC at AfterFiFi{%
-        \BIC@@Cmp#4!#2!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        -1 %
-      }%
-    \fi
-  \else
-    \ifx#3-%
-      \BIC at AfterFiFi{%
-        1 %
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at CmpLength#1#2!#3#4!#1#2!#3#4!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at PosCmp#1!#2!{%
-  \BIC at CmpLength#1!#2!#1!#2!%
-}
-\def\BIC at CmpLength#1#2!#3#4!{%
-  \ifx\\#2\\%
-    \ifx\\#4\\%
-      \BIC at AfterFiFi\BIC at CmpDiff
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at CmpResult{-1}%
-      }%
-    \fi
-  \else
-    \ifx\\#4\\%
-      \BIC at AfterFiFi{%
-        \BIC at CmpResult1%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at CmpLength#2!#4!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at CmpResult#1#2!#3!{#1 }
-\def\BIC at CmpDiff#1#2!#3#4!{%
-  \ifnum#1<#3 %
-    \BIC at AfterFi{%
-      -1 %
-    }%
-  \else
-    \ifnum#1>#3 %
-      \BIC at AfterFiFi{%
-        1 %
-      }%
-    \else
-      \ifx\\#2\\%
-        \BIC at AfterFiFiFi{%
-          0 %
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at CmpDiff#2!#4!%
-        }%
-      \fi
-    \fi
-  \BIC at Fi
-}
-\def\bigintcalcMin#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at MinMax
-  \bigintcalcNum{#1}!-!%
-}
-\def\bigintcalcMax#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at MinMax
-  \bigintcalcNum{#1}!!%
-}
-\def\BIC at MinMax#1!#2!#3{%
-  \expandafter\expandafter\expandafter\BIC@@MinMax
-  \bigintcalcNum{#3}!#1!#2!%
-}
-\def\BIC@@MinMax#1!#2!#3!{%
-  \ifnum\BIC@@Cmp#1!#2!=#31 %
-    \BIC at AfterFi{ #1}%
-  \else
-    \BIC at AfterFi{ #2}%
-  \BIC at Fi
-}
-\def\bigintcalcOdd#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Odd
-  \bigintcalcAbs{#1}!%
-}
-\def\BigIntCalcOdd#1!{%
-  \romannumeral0%
-  \BIC at Odd#1!%
-}
-\def\BIC at Odd#1#2{%
-  \ifx#2!%
-    \ifodd#1 %
-      \BIC at AfterFiFi{ 1}%
-    \else
-      \BIC at AfterFiFi{ 0}%
-    \fi
-  \else
-    \expandafter\BIC at Odd\expandafter#2%
-  \BIC at Fi
-}
-\def\bigintcalcInc#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at IncSwitch
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at IncSwitch#1#2!{%
-  \ifcase\BIC@@Cmp#1#2!-1!%
-    \BIC at AfterFi{ 0}%
-  \or
-    \BIC at AfterFi{%
-      \BIC at Inc#1#2!{}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter-\romannumeral0%
-      \BIC at Dec#2!{}%
-    }%
-  \BIC at Fi
-}
-\def\bigintcalcDec#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at DecSwitch
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at DecSwitch#1#2!{%
-  \ifcase\BIC at Sgn#1#2! %
-    \BIC at AfterFi{ -1}%
-  \or
-    \BIC at AfterFi{%
-      \BIC at Dec#1#2!{}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter-\romannumeral0%
-      \BIC at Inc#2!{}%
-    }%
-  \BIC at Fi
-}
-\def\BigIntCalcInc#1!{%
-  \romannumeral0\BIC at Inc#1!{}%
-}
-\def\BigIntCalcDec#1!{%
-  \romannumeral0\BIC at Dec#1!{}%
-}
-\def\BIC at Inc#1#2!#3{%
-  \ifx\\#2\\%
-    \BIC at AfterFi{%
-      \BIC@@Inc1#1#3!{}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC at Inc#2!{#1#3}%
-    }%
-  \BIC at Fi
-}
-\def\BIC@@Inc#1#2#3!#4{%
-  \ifcase#1 %
-    \ifx\\#3\\%
-      \BIC at AfterFiFi{ #2#4}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@Inc0#3!{#2#4}%
-      }%
-    \fi
-  \else
-    \ifnum#2<9 %
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC@@@Inc\the\numexpr#2+1\relax
-$       \expandafter\expandafter\expandafter\BIC@@@Inc
-$       \ifcase#2 \expandafter1%
-$       \or\expandafter2%
-$       \or\expandafter3%
-$       \or\expandafter4%
-$       \or\expandafter5%
-$       \or\expandafter6%
-$       \or\expandafter7%
-$       \or\expandafter8%
-$       \or\expandafter9%
-$?      \else\BigIntCalcError:ThisCannotHappen%
-$       \fi
-        0#3!{#4}%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@@Inc01#3!{#4}%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC@@@Inc#1#2#3!#4{%
-  \ifx\\#3\\%
-    \ifnum#2=1 %
-      \BIC at AfterFiFi{ 1#1#4}%
-    \else
-      \BIC at AfterFiFi{ #1#4}%
-    \fi
-  \else
-    \BIC at AfterFi{%
-      \BIC@@Inc#2#3!{#1#4}%
-    }%
-  \BIC at Fi
-}
-\def\BIC at Dec#1#2!#3{%
-  \ifx\\#2\\%
-    \BIC at AfterFi{%
-      \BIC@@Dec1#1#3!{}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC at Dec#2!{#1#3}%
-    }%
-  \BIC at Fi
-}
-\def\BIC@@Dec#1#2#3!#4{%
-  \ifcase#1 %
-    \ifx\\#3\\%
-      \BIC at AfterFiFi{ #2#4}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@Dec0#3!{#2#4}%
-      }%
-    \fi
-  \else
-    \ifnum#2>0 %
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC@@@Dec\the\numexpr#2-1\relax
-$       \expandafter\expandafter\expandafter\BIC@@@Dec
-$       \ifcase#2
-$?        \BigIntCalcError:ThisCannotHappen%
-$       \or\expandafter0%
-$       \or\expandafter1%
-$       \or\expandafter2%
-$       \or\expandafter3%
-$       \or\expandafter4%
-$       \or\expandafter5%
-$       \or\expandafter6%
-$       \or\expandafter7%
-$       \or\expandafter8%
-$?      \else\BigIntCalcError:ThisCannotHappen%
-$       \fi
-        0#3!{#4}%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@@Dec91#3!{#4}%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC@@@Dec#1#2#3!#4{%
-  \ifx\\#3\\%
-    \ifcase#1 %
-      \ifx\\#4\\%
-        \BIC at AfterFiFiFi{ 0}%
-      \else
-        \BIC at AfterFiFiFi{ #4}%
-      \fi
-    \else
-      \BIC at AfterFiFi{ #1#4}%
-    \fi
-  \else
-    \BIC at AfterFi{%
-      \BIC@@Dec#2#3!{#1#4}%
-    }%
-  \BIC at Fi
-}
-\def\bigintcalcAdd#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Add
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at Add#1!#2{%
-  \expandafter\expandafter\expandafter
-  \BIC at AddSwitch\bigintcalcNum{#2}!#1!%
-}
-\def\bigintcalcSub#1#2{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Add
-  \bigintcalcNum{-#2}!{#1}%
-}
-\def\BIC at AddSwitch#1#2!#3#4!{%
-  \ifx#1-% x < 0
-    \ifx#3-% y < 0
-      \expandafter-\romannumeral0%
-      \ifnum\BIC at PosCmp#2!#4!=1 % -x > -y
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#2!#4!!!%
-        }%
-      \else % -x <= -y
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#4!#2!!!%
-        }%
-      \fi
-    \else % y >= 0
-      \ifcase\BIC at PosCmp#2!#3#4!% -x = y
-        \BIC at AfterFiFiFi{ 0}%
-      \or % -x > y
-        \expandafter-\romannumeral0%
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#2!#3#4!!!%
-        }%
-      \else % -x <= y
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#3#4!#2!!!%
-        }%
-      \fi
-    \fi
-  \else % x >= 0
-    \ifx#3-% y < 0
-      \ifcase\BIC at PosCmp#1#2!#4!% x = -y
-        \BIC at AfterFiFiFi{ 0}%
-      \or % x > -y
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#1#2!#4!!!%
-        }%
-      \else % x <= -y
-        \expandafter-\romannumeral0%
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#4!#1#2!!!%
-        }%
-      \fi
-    \else % y >= 0
-      \ifnum\BIC at PosCmp#1#2!#3#4!=1 % x > y
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#1#2!#3#4!!!%
-        }%
-      \else % x <= y
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#3#4!#1#2!!!%
-        }%
-      \fi
-    \fi
-  \BIC at Fi
-}
-\def\BigIntCalcAdd#1!#2!{%
-  \romannumeral0\BIC at AddXY#1!#2!!!%
-}
-\def\BigIntCalcSub#1!#2!{%
-  \romannumeral0\BIC at SubXY#1!#2!!!%
-}
-\def\BIC at AddXY#1#2!#3#4!#5!#6!{%
-  \ifx\\#2\\%
-    \ifx\\#3\\%
-      \BIC at AfterFiFi{%
-        \BIC at DoAdd0!#1#5!#60!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at DoAdd0!#1#5!#3#6!%
-      }%
-    \fi
-  \else
-    \ifx\\#4\\%
-      \ifx\\#3\\%
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#2!{}!#1#5!#60!%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at AddXY#2!{}!#1#5!#3#6!%
-        }%
-      \fi
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at AddXY#2!#4!#1#5!#3#6!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at DoAdd#1#2!#3#4!#5#6!{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-&     \expandafter\BIC at Space
-&     \the\numexpr#1+#3+#5\relax#2%
-$     \expandafter\expandafter\expandafter\BIC at AddResult
-$     \BIC at AddDigit#1#3#5#2%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at DoAdd
-      \BIC at AddDigit#1#3#5#2!#4!#6!%
-    }%
-  \BIC at Fi
-}
-$ \def\BIC at AddResult#1{%
-$   \ifx#10%
-$     \expandafter\BIC at Space
-$   \else
-$     \expandafter\BIC at Space\expandafter#1%
-$   \fi
-$ }%
-\def\BIC at AddDigit#1#2#3{%
-  \romannumeral0%
-& \expandafter\BIC@@AddDigit\the\numexpr#1+#2+#3!%
-$ \expandafter\BIC@@AddDigit\number%
-$ \csname
-$   BIC at AddCarry%
-$   \ifcase#1 %
-$     #2%
-$   \else
-$     \ifcase#2 1\or2\or3\or4\or5\or6\or7\or8\or9\or10\fi
-$   \fi
-$ \endcsname#3!%
-}
-\def\BIC@@AddDigit#1!{%
-  \ifnum#1<10 %
-    \BIC at AfterFi{ 0#1}%
-  \else
-    \BIC at AfterFi{ #1}%
-  \BIC at Fi
-}
-$ \expandafter\def\csname BIC at AddCarry0\endcsname#1{#1}%
-$ \expandafter\def\csname BIC at AddCarry10\endcsname#1{1#1}%
-$ \def\BIC at Temp#1#2{%
-$   \expandafter\def\csname BIC at AddCarry#1\endcsname##1{%
-$     \ifcase##1 #1\or
-$     #2%
-$?    \else\BigIntCalcError:ThisCannotHappen%
-$     \fi
-$   }%
-$ }%
-$ \BIC at Temp 0{1\or2\or3\or4\or5\or6\or7\or8\or9}%
-$ \BIC at Temp 1{2\or3\or4\or5\or6\or7\or8\or9\or10}%
-$ \BIC at Temp 2{3\or4\or5\or6\or7\or8\or9\or10\or11}%
-$ \BIC at Temp 3{4\or5\or6\or7\or8\or9\or10\or11\or12}%
-$ \BIC at Temp 4{5\or6\or7\or8\or9\or10\or11\or12\or13}%
-$ \BIC at Temp 5{6\or7\or8\or9\or10\or11\or12\or13\or14}%
-$ \BIC at Temp 6{7\or8\or9\or10\or11\or12\or13\or14\or15}%
-$ \BIC at Temp 7{8\or9\or10\or11\or12\or13\or14\or15\or16}%
-$ \BIC at Temp 8{9\or10\or11\or12\or13\or14\or15\or16\or17}%
-$ \BIC at Temp 9{10\or11\or12\or13\or14\or15\or16\or17\or18}%
-\def\BIC at SubXY#1#2!#3#4!#5!#6!{%
-  \ifx\\#2\\%
-    \ifx\\#3\\%
-      \BIC at AfterFiFi{%
-        \BIC at DoSub0!#1#5!#60!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at DoSub0!#1#5!#3#6!%
-      }%
-    \fi
-  \else
-    \ifx\\#4\\%
-      \ifx\\#3\\%
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#2!{}!#1#5!#60!%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at SubXY#2!{}!#1#5!#3#6!%
-        }%
-      \fi
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at SubXY#2!#4!#1#5!#3#6!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at DoSub#1#2!#3#4!#5#6!{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at SubResult
-      \BIC at SubDigit#1#3#5#2%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at DoSub
-      \BIC at SubDigit#1#3#5#2!#4!#6!%
-    }%
-  \BIC at Fi
-}
-\def\BIC at SubResult#1{%
-  \ifx#10%
-    \expandafter\BIC at SubResult
-  \else
-    \expandafter\BIC at Space\expandafter#1%
-  \fi
-}
-\def\BIC at SubDigit#1#2#3{%
-  \romannumeral0%
-& \expandafter\BIC@@SubDigit\the\numexpr#2-#3-#1!%
-$ \expandafter\BIC@@AddDigit\number
-$   \csname
-$     BIC at SubCarry%
-$     \ifcase#1 %
-$       #3%
-$     \else
-$       \ifcase#3 1\or2\or3\or4\or5\or6\or7\or8\or9\or10\fi
-$     \fi
-$   \endcsname#2!%
-}
-& \def\BIC@@SubDigit#1!{%
-&   \ifnum#1<0 %
-&     \BIC at AfterFi{%
-&       \expandafter\BIC at Space
-&       \expandafter1\the\numexpr#1+10\relax
-&     }%
-&   \else
-&     \BIC at AfterFi{ 0#1}%
-&   \BIC at Fi
-& }%
-$ \expandafter\def\csname BIC at SubCarry0\endcsname#1{#1}%
-$ \expandafter\def\csname BIC at SubCarry10\endcsname#1{1#1}%
-$ \def\BIC at Temp#1#2{%
-$   \expandafter\def\csname BIC at SubCarry#1\endcsname##1{%
-$     \ifcase##1 #2%
-$?    \else\BigIntCalcError:ThisCannotHappen%
-$     \fi
-$   }%
-$ }%
-$ \BIC at Temp 1{19\or0\or1\or2\or3\or4\or5\or6\or7\or8}%
-$ \BIC at Temp 2{18\or19\or0\or1\or2\or3\or4\or5\or6\or7}%
-$ \BIC at Temp 3{17\or18\or19\or0\or1\or2\or3\or4\or5\or6}%
-$ \BIC at Temp 4{16\or17\or18\or19\or0\or1\or2\or3\or4\or5}%
-$ \BIC at Temp 5{15\or16\or17\or18\or19\or0\or1\or2\or3\or4}%
-$ \BIC at Temp 6{14\or15\or16\or17\or18\or19\or0\or1\or2\or3}%
-$ \BIC at Temp 7{13\or14\or15\or16\or17\or18\or19\or0\or1\or2}%
-$ \BIC at Temp 8{12\or13\or14\or15\or16\or17\or18\or19\or0\or1}%
-$ \BIC at Temp 9{11\or12\or13\or14\or15\or16\or17\or18\or19\or0}%
-\def\bigintcalcShl#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Shl
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at Shl#1#2!{%
-  \ifx#1-%
-    \BIC at AfterFi{%
-      \expandafter-\romannumeral0%
-&     \BIC@@Shl#2!!%
-$     \BIC at AddXY#2!#2!!!%
-    }%
-  \else
-    \BIC at AfterFi{%
-&     \BIC@@Shl#1#2!!%
-$     \BIC at AddXY#1#2!#1#2!!!%
-    }%
-  \BIC at Fi
-}
-\def\BigIntCalcShl#1!{%
-  \romannumeral0%
-& \BIC@@Shl#1!!%
-$ \BIC at AddXY#1!#1!!!%
-}
-& \def\BIC@@Shl#1#2!{%
-&   \ifx\\#2\\%
-&     \BIC at AfterFi{%
-&       \BIC@@@Shl0!#1%
-&     }%
-&   \else
-&     \BIC at AfterFi{%
-&       \BIC@@Shl#2!#1%
-&     }%
-&   \BIC at Fi
-& }%
-& \def\BIC@@@Shl#1#2!#3#4!{%
-&   \ifx\\#4\\%
-&     \BIC at AfterFi{%
-&       \expandafter\BIC at Space
-&       \the\numexpr#3*2+#1\relax#2%
-&     }%
-&   \else
-&     \BIC at AfterFi{%
-&       \expandafter\BIC@@@@Shl\the\numexpr#3*2+#1!#2!#4!%
-&     }%
-&   \BIC at Fi
-& }%
-& \def\BIC@@@@Shl#1!{%
-&   \ifnum#1<10 %
-&     \BIC at AfterFi{%
-&       \BIC@@@Shl0#1%
-&     }%
-&   \else
-&     \BIC at AfterFi{%
-&       \BIC@@@Shl#1%
-&     }%
-&   \BIC at Fi
-& }%
-\def\bigintcalcShr#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Shr
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at Shr#1#2!{%
-  \ifx#1-%
-    \expandafter-\romannumeral0%
-    \BIC at AfterFi{%
-      \BIC@@Shr#2!%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC@@Shr#1#2!%
-    }%
-  \BIC at Fi
-}
-\def\BigIntCalcShr#1!{%
-  \romannumeral0%
-  \BIC@@Shr#1!%
-}
-\def\BIC@@Shr#1#2!{%
-  \ifcase#1 %
-    \BIC at AfterFi{ 0}%
-  \or
-    \ifx\\#2\\%
-      \BIC at AfterFiFi{ 0}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC@@@Shr#1#2!!%
-      }%
-    \fi
-  \else
-    \BIC at AfterFi{%
-      \BIC@@@Shr0#1#2!!%
-    }%
-  \BIC at Fi
-}
-\def\BIC@@@Shr#1#2#3!#4!{%
-  \ifx\\#3\\%
-    \ifodd#1#2 %
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC at ShrResult\the\numexpr(#1#2-1)/2\relax
-$       \expandafter\expandafter\expandafter\BIC at ShrResult
-$       \csname BIC at ShrDigit#1#2\endcsname
-        #4!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC at ShrResult\the\numexpr#1#2/2\relax
-$       \expandafter\expandafter\expandafter\BIC at ShrResult
-$       \csname BIC at ShrDigit#1#2\endcsname
-        #4!%
-      }%
-    \fi
-  \else
-    \ifodd#1#2 %
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC@@@@Shr\the\numexpr(#1#2-1)/2\relax1%
-$       \expandafter\expandafter\expandafter\BIC@@@@Shr
-$       \csname BIC at ShrDigit#1#2\endcsname
-        #3!#4!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-&       \expandafter\BIC@@@@Shr\the\numexpr#1#2/2\relax0%
-$       \expandafter\expandafter\expandafter\BIC@@@@Shr
-$       \csname BIC at ShrDigit#1#2\endcsname
-        #3!#4!%
-      }%
-    \fi
-  \BIC at Fi
-}
-& \def\BIC at ShrResult#1#2!{ #2#1}%
-$ \def\BIC at ShrResult#1#2#3!{ #3#1}%
-\def\BIC@@@@Shr#1#2#3!#4!{%
-  \BIC@@@Shr#2#3!#4#1!%
-}
-$ \def\BIC at Temp#1#2#3#4{%
-$   \expandafter\def\csname BIC at ShrDigit#1#2\endcsname{#3#4}%
-$ }%
-$ \BIC at Temp 0000%
-$ \BIC at Temp 0101%
-$ \BIC at Temp 0210%
-$ \BIC at Temp 0311%
-$ \BIC at Temp 0420%
-$ \BIC at Temp 0521%
-$ \BIC at Temp 0630%
-$ \BIC at Temp 0731%
-$ \BIC at Temp 0840%
-$ \BIC at Temp 0941%
-$ \BIC at Temp 1050%
-$ \BIC at Temp 1151%
-$ \BIC at Temp 1260%
-$ \BIC at Temp 1361%
-$ \BIC at Temp 1470%
-$ \BIC at Temp 1571%
-$ \BIC at Temp 1680%
-$ \BIC at Temp 1781%
-$ \BIC at Temp 1890%
-$ \BIC at Temp 1991%
-\def\BIC at Tim#1!#2{%
-  \romannumeral0%
-  \ifcase#2 % 0
-    \BIC at AfterFi{ 0}%
-  \or % 1
-    \BIC at AfterFi{ #1}%
-  \or % 2
-    \BIC at AfterFi{%
-      \BIC at Shl#1!%
-    }%
-  \else % 3-9
-    \BIC at AfterFi{%
-      \BIC@@Tim#1!!#2%
-    }%
-  \BIC at Fi
-}
-\def\BIC@@Tim#1#2!{%
-  \ifx\\#2\\%
-    \BIC at AfterFi{%
-      \BIC at ProcessTim0!#1%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC@@Tim#2!#1%
-    }%
-  \BIC at Fi
-}
-\def\BIC at ProcessTim#1#2!#3#4!#5{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-      \expandafter\BIC at Space
-&     \the\numexpr#3*#5+#1\relax
-$     \romannumeral0\BIC at TimDigit#3#5#1%
-      #2%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\BIC@@ProcessTim
-&     \the\numexpr#3*#5+#1%
-$     \romannumeral0\BIC at TimDigit#3#5#1%
-      !#2!#4!#5%
-    }%
-  \BIC at Fi
-}
-\def\BIC@@ProcessTim#1#2!{%
-  \ifx\\#2\\%
-    \BIC at AfterFi{%
-      \BIC at ProcessTim0#1%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC at ProcessTim#1#2%
-    }%
-  \BIC at Fi
-}
-$ \def\BIC at TimDigit#1#2#3{%
-$   \ifcase#1 % 0
-$     \BIC at AfterFi{ #3}%
-$   \or % 1
-$     \BIC at AfterFi{%
-$       \expandafter\BIC at Space
-$       \number\csname BIC at AddCarry#2\endcsname#3 %
-$     }%
-$   \else
-$     \ifcase#3 %
-$       \BIC at AfterFiFi{%
-$         \expandafter\BIC at Space
-$         \number\csname BIC at MulDigit#2\endcsname#1 %
-$       }%
-$     \else
-$       \BIC at AfterFiFi{%
-$         \expandafter\BIC at Space
-$         \romannumeral0%
-$         \expandafter\BIC at AddXY
-$         \number\csname BIC at MulDigit#2\endcsname#1!%
-$         #3!!!%
-$       }%
-$     \fi
-$   \BIC at Fi
-$ }%
-$ \def\BIC at Temp#1#2{%
-$   \expandafter\def\csname BIC at MulDigit#1\endcsname##1{%
-$     \ifcase##1 0%
-$     \or ##1%
-$     \or #2%
-$?    \else\BigIntCalcError:ThisCannotHappen%
-$     \fi
-$   }%
-$ }%
-$ \BIC at Temp 3{6\or9\or12\or15\or18\or21\or24\or27}%
-$ \BIC at Temp 4{8\or12\or16\or20\or24\or28\or32\or36}%
-$ \BIC at Temp 5{10\or15\or20\or25\or30\or35\or40\or45}%
-$ \BIC at Temp 6{12\or18\or24\or30\or36\or42\or48\or54}%
-$ \BIC at Temp 7{14\or21\or28\or35\or42\or49\or56\or63}%
-$ \BIC at Temp 8{16\or24\or32\or40\or48\or56\or64\or72}%
-$ \BIC at Temp 9{18\or27\or36\or45\or54\or63\or72\or81}%
-\def\bigintcalcMul#1#2{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Mul
-  \bigintcalcNum{#1}!{#2}%
-}
-\def\BIC at Mul#1!#2{%
-  \expandafter\expandafter\expandafter\BIC at MulSwitch
-  \bigintcalcNum{#2}!#1!%
-}
-\def\BIC at MulSwitch#1#2!#3#4!{%
-  \ifcase\BIC at Sgn#1#2! % x = 0
-    \BIC at AfterFi{ 0}%
-  \or % x > 0
-    \ifcase\BIC at Sgn#3#4! % y = 0
-      \BIC at AfterFiFi{ 0}%
-    \or % y > 0
-      \ifnum\BIC at PosCmp#1#2!#3#4!=1 % x > y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#1#2!#3#4!%
-        }%
-      \else % x <= y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#3#4!#1#2!%
-        }%
-      \fi
-    \else % y < 0
-      \expandafter-\romannumeral0%
-      \ifnum\BIC at PosCmp#1#2!#4!=1 % x > -y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#1#2!#4!%
-        }%
-      \else % x <= -y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#4!#1#2!%
-        }%
-      \fi
-    \fi
-  \else % x < 0
-    \ifcase\BIC at Sgn#3#4! % y = 0
-      \BIC at AfterFiFi{ 0}%
-    \or % y > 0
-      \expandafter-\romannumeral0%
-      \ifnum\BIC at PosCmp#2!#3#4!=1 % -x > y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#2!#3#4!%
-        }%
-      \else % -x <= y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#3#4!#2!%
-        }%
-      \fi
-    \else % y < 0
-      \ifnum\BIC at PosCmp#2!#4!=1 % -x > -y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#2!#4!%
-        }%
-      \else % -x <= -y
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessMul0!#4!#2!%
-        }%
-      \fi
-    \fi
-  \BIC at Fi
-}
-\def\BigIntCalcMul#1!#2!{%
-  \romannumeral0%
-  \BIC at ProcessMul0!#1!#2!%
-}
-\def\BIC at ProcessMul#1!#2!#3#4!{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at Space
-      \bigintcalcAdd{\BIC at Tim#2!#3}{#10}%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\expandafter\expandafter\BIC at ProcessMul
-      \bigintcalcAdd{\BIC at Tim#2!#3}{#10}!#2!#4!%
-    }%
-  \BIC at Fi
-}
-\def\bigintcalcSqr#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Sqr
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at Sqr#1{%
-   \ifx#1-%
-     \expandafter\BIC@@Sqr
-   \else
-     \expandafter\BIC@@Sqr\expandafter#1%
-   \fi
-}
-\def\BIC@@Sqr#1!{%
-  \BIC at ProcessMul0!#1!#1!%
-}
-\def\bigintcalcFac#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Fac
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at Fac#1#2!{%
-  \ifx#1-%
-    \BIC at AfterFi{ 0\BigIntCalcError:FacNegative}%
-  \else
-    \ifnum\BIC at PosCmp#1#2!13!<0 %
-      \ifcase#1#2 %
-         \BIC at AfterFiFiFi{ 1}% 0!
-      \or\BIC at AfterFiFiFi{ 1}% 1!
-      \or\BIC at AfterFiFiFi{ 2}% 2!
-      \or\BIC at AfterFiFiFi{ 6}% 3!
-      \or\BIC at AfterFiFiFi{ 24}% 4!
-      \or\BIC at AfterFiFiFi{ 120}% 5!
-      \or\BIC at AfterFiFiFi{ 720}% 6!
-      \or\BIC at AfterFiFiFi{ 5040}% 7!
-      \or\BIC at AfterFiFiFi{ 40320}% 8!
-      \or\BIC at AfterFiFiFi{ 362880}% 9!
-      \or\BIC at AfterFiFiFi{ 3628800}% 10!
-      \or\BIC at AfterFiFiFi{ 39916800}% 11!
-      \or\BIC at AfterFiFiFi{ 479001600}% 12!
-?     \else\BigIntCalcError:ThisCannotHappen%
-      \fi
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessFac#1#2!479001600!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at ProcessFac#1!#2!{%
-  \ifnum\BIC at PosCmp#1!12!=0 %
-    \BIC at AfterFi{ #2}%
-  \else
-    \BIC at AfterFi{%
-      \expandafter\BIC@@ProcessFac
-      \romannumeral0\BIC at ProcessMul0!#2!#1!%
-      !#1!%
-    }%
-  \BIC at Fi
-}
-\def\BIC@@ProcessFac#1!#2!{%
-  \expandafter\BIC at ProcessFac
-  \romannumeral0\BIC at Dec#2!{}%
-  !#1!%
-}
-\def\bigintcalcPow#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Pow
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at Pow#1!#2{%
-  \expandafter\expandafter\expandafter\BIC at PowSwitch
-  \bigintcalcNum{#2}!#1!%
-}
-\def\BIC at PowSwitch#1#2!#3#4!{%
-  \ifcase\ifx\\#2\\%
-           \ifx#100 % y = 0
-           \else\ifx#111 % y = 1
-           \else\ifx#122 % y = 2
-           \else4 % y > 2
-           \fi\fi\fi
-         \else
-           \ifx#1-3 % y < 0
-           \else4 % y > 2
-           \fi
-         \fi
-    \BIC at AfterFi{ 1}% y = 0
-  \or % y = 1
-    \BIC at AfterFi{ #3#4}%
-  \or % y = 2
-    \ifx#3-% x < 0
-      \BIC at AfterFiFi{%
-        \BIC at ProcessMul0!#4!#4!%
-      }%
-    \else % x >= 0
-      \BIC at AfterFiFi{%
-        \BIC at ProcessMul0!#3#4!#3#4!%
-      }%
-    \fi
-  \or % y < 0
-    \ifcase\ifx\\#4\\%
-             \ifx#300 % x = 0
-             \else\ifx#311 % x = 1
-             \else3 % x > 1
-             \fi\fi
-           \else
-             \ifcase\BIC at MinusOne#3#4! %
-               3 % |x| > 1
-             \or
-               2 % x = -1
-?            \else\BigIntCalcError:ThisCannotHappen%
-             \fi
-           \fi
-      \BIC at AfterFiFi{ 0\BigIntCalcError:DivisionByZero}% x = 0
-    \or % x = 1
-      \BIC at AfterFiFi{ 1}% x = 1
-    \or % x = -1
-      \ifcase\BIC at ModTwo#2! % even(y)
-        \BIC at AfterFiFiFi{ 1}%
-      \or % odd(y)
-        \BIC at AfterFiFiFi{ -1}%
-?     \else\BigIntCalcError:ThisCannotHappen%
-      \fi
-    \or % |x| > 1
-      \BIC at AfterFiFi{ 0}%
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-  \or % y > 2
-    \ifcase\ifx\\#4\\%
-             \ifx#300 % x = 0
-             \else\ifx#311 % x = 1
-             \else4 % x > 1
-             \fi\fi
-           \else
-             \ifx#3-%
-               \ifcase\BIC at MinusOne#3#4! %
-                 3 % x < -1
-               \else
-                 2 % x = -1
-               \fi
-             \else
-               4 % x > 1
-             \fi
-           \fi
-      \BIC at AfterFiFi{ 0}% x = 0
-    \or % x = 1
-      \BIC at AfterFiFi{ 1}% x = 1
-    \or % x = -1
-      \ifcase\BIC at ModTwo#1#2! % even(y)
-        \BIC at AfterFiFiFi{ 1}%
-      \or % odd(y)
-        \BIC at AfterFiFiFi{ -1}%
-?     \else\BigIntCalcError:ThisCannotHappen%
-      \fi
-    \or % x < -1
-      \ifcase\BIC at ModTwo#1#2! % even(y)
-        \BIC at AfterFiFiFi{%
-          \BIC at PowRec#4!#1#2!1!%
-        }%
-      \or % odd(y)
-        \expandafter-\romannumeral0%
-        \BIC at AfterFiFiFi{%
-          \BIC at PowRec#4!#1#2!1!%
-        }%
-?     \else\BigIntCalcError:ThisCannotHappen%
-      \fi
-    \or % x > 1
-      \BIC at AfterFiFi{%
-        \BIC at PowRec#3#4!#1#2!1!%
-      }%
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-? \else\BigIntCalcError:ThisCannotHappen%
-  \BIC at Fi
-}
-\def\BIC at ModTwo#1#2!{%
-  \ifx\\#2\\%
-    \ifodd#1 %
-      \BIC at AfterFiFi1%
-    \else
-      \BIC at AfterFiFi0%
-    \fi
-  \else
-    \BIC at AfterFi{%
-      \BIC at ModTwo#2!%
-    }%
-  \BIC at Fi
-}
-\def\BIC at MinusOne#1#2!{%
-  \ifx#1-%
-    \BIC@@MinusOne#2!%
-  \else
-    0%
-  \fi
-}
-\def\BIC@@MinusOne#1#2!{%
-  \ifx#11%
-    \ifx\\#2\\%
-      1%
-    \else
-      0%
-    \fi
-  \else
-    0%
-  \fi
-}
-\def\BIC at PowRec#1!#2#3!#4!{%
-  \ifcase\ifx#21\ifx\\#3\\0 \else1 \fi\else1 \fi % y = 1
-    \ifnum\BIC at PosCmp#1!#4!=1 % x > r
-      \BIC at AfterFiFi{%
-        \BIC at ProcessMul0!#1!#4!%
-      }%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessMul0!#4!#1!%
-      }%
-    \fi
-  \or
-    \ifcase\BIC at ModTwo#2#3! % even(y)
-      \BIC at AfterFiFi{%
-        \expandafter\BIC@@PowRec\romannumeral0%
-        \BIC@@Shr#2#3!%
-        !#1!#4!%
-      }%
-    \or % odd(y)
-      \ifnum\BIC at PosCmp#1!#4!=1 % x > r
-        \BIC at AfterFiFiFi{%
-          \expandafter\BIC@@@PowRec\romannumeral0%
-          \BIC at ProcessMul0!#1!#4!%
-          !#1!#2#3!%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \expandafter\BIC@@@PowRec\romannumeral0%
-          \BIC at ProcessMul0!#1!#4!%
-          !#1!#2#3!%
-        }%
-      \fi
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-? \else\BigIntCalcError:ThisCannotHappen%
-  \BIC at Fi
-}
-\def\BIC@@PowRec#1!#2!#3!{%
-  \expandafter\BIC at PowRec\romannumeral0%
-  \BIC at ProcessMul0!#2!#2!%
-  !#1!#3!%
-}
-\def\BIC@@@PowRec#1!#2!#3!{%
-  \expandafter\BIC@@PowRec\romannumeral0%
-  \BIC@@Shr#3!%
-  !#2!#1!%
-}
-\def\bigintcalcDiv#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Div
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at Div#1!#2{%
-  \expandafter\expandafter\expandafter\BIC at DivSwitchSign
-  \bigintcalcNum{#2}!#1!%
-}
-\def\BigIntCalcDiv#1!#2!{%
-  \romannumeral0%
-  \BIC at DivSwitchSign#2!#1!%
-}
-\def\BIC at DivSwitchSign#1#2!#3#4!{%
-  \ifcase\BIC at Sgn#1#2! % y = 0
-    \BIC at AfterFi{ 0\BigIntCalcError:DivisionByZero}%
-  \or % y > 0
-    \ifcase\BIC at Sgn#3#4! % x = 0
-      \BIC at AfterFiFi{ 0}%
-    \or % x > 0
-      \BIC at AfterFiFi{%
-        \BIC at DivSwitch{}#3#4!#1#2!%
-      }%
-    \else % x < 0
-      \BIC at AfterFiFi{%
-        \BIC at DivSwitch-#4!#1#2!%
-      }%
-    \fi
-  \else % y < 0
-    \ifcase\BIC at Sgn#3#4! % x = 0
-      \BIC at AfterFiFi{ 0}%
-    \or % x > 0
-      \BIC at AfterFiFi{%
-        \BIC at DivSwitch-#3#4!#2!%
-      }%
-    \else % x < 0
-      \BIC at AfterFiFi{%
-        \BIC at DivSwitch{}#4!#2!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at DivSwitch#1#2!#3#4!{%
-  \ifcase\BIC at PosCmp#3#4!#2!% y = x
-    \BIC at AfterFi{ #11}%
-  \or % y > x
-    \BIC at AfterFi{ 0}%
-  \else % y < x
-    \ifx\\#1\\%
-    \else
-      \expandafter-\romannumeral0%
-    \fi
-    \ifcase\ifx\\#4\\%
-             \ifx#310 % y = 1
-             \else\ifx#321 % y = 2
-             \else\ifx#342 % y = 4
-             \else3 % y > 2
-             \fi\fi\fi
-           \else
-             3 % y > 2
-           \fi
-      \BIC at AfterFiFi{ #2}% y = 1
-    \or % y = 2
-      \BIC at AfterFiFi{%
-        \BIC@@Shr#2!%
-      }%
-    \or % y = 4
-      \BIC at AfterFiFi{%
-        \expandafter\BIC@@Shr\romannumeral0%
-          \BIC@@Shr#2!!%
-      }%
-    \or % y > 2
-      \BIC at AfterFiFi{%
-        \BIC at DivStartX#2!#3#4!!!%
-      }%
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at DivStartX#1#2!#3#4!#5!#6!{%
-  \ifx\\#4\\%
-    \BIC at AfterFi{%
-      \BIC at DivStartYii#6#3#4!{#5#1}#2=!%
-    }%
-  \else
-    \BIC at AfterFi{%
-      \BIC at DivStartX#2!#4!#5#1!#6#3!%
-    }%
-  \BIC at Fi
-}
-\def\BIC at DivStartYii#1!{%
-  \expandafter\BIC at DivStartYiv\romannumeral0%
-  \BIC at Shl#1!%
-  !#1!%
-}
-\def\BIC at DivStartYiv#1!{%
-  \expandafter\BIC at DivStartYvi\romannumeral0%
-  \BIC at Shl#1!%
-  !#1!%
-}
-\def\BIC at DivStartYvi#1!#2!{%
-  \expandafter\BIC at DivStartYviii\romannumeral0%
-  \BIC at AddXY#1!#2!!!%
-  !#1!#2!%
-}
-\def\BIC at DivStartYviii#1!#2!{%
-  \expandafter\BIC at DivStart\romannumeral0%
-  \BIC at Shl#2!%
-  !#1!#2!%
-}
-\def\BIC at DivStart#1!#2!#3!#4!#5!#6!{%
-  \BIC at ProcessDiv#6!!#5!#4!#3!#2!#1!=%
-}
-\def\BIC at ProcessDiv#1#2#3!#4!#5!{%
-  \ifcase\BIC at PosCmp#5!#1!% y = #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#41}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessDiv#2#3!#41!#5!%
-      }%
-    \fi
-  \or % y > #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#40}}%
-    \else
-      \ifx\\#4\\%
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessDiv{#1#2}#3!!#5!%
-        }%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessDiv{#1#2}#3!#40!#5!%
-        }%
-      \fi
-    \fi
-  \else % y < #1
-    \BIC at AfterFi{%
-      \BIC@@ProcessDiv{#1}#2#3!#4!#5!%
-    }%
-  \BIC at Fi
-}
-\def\BIC at DivCleanup#1#2={ #1}%
-\def\BIC@@ProcessDiv#1#2#3!#4!#5!#6!#7!{%
-  \ifcase\BIC at PosCmp#7!#1!% 4y = #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#44}}%
-    \else
-     \BIC at AfterFiFi{%
-       \BIC at ProcessDiv#2#3!#44!#5!#6!#7!%
-     }%
-    \fi
-  \or % 4y > #1
-    \ifcase\BIC at PosCmp#6!#1!% 2y = #1
-      \ifx#2=%
-        \BIC at AfterFiFiFi{\BIC at DivCleanup{#42}}%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessDiv#2#3!#42!#5!#6!#7!%
-        }%
-      \fi
-    \or % 2y > #1
-      \ifx#2=%
-        \BIC at AfterFiFiFi{\BIC at DivCleanup{#41}}%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at DivSub#1!#5!#2#3!#41!#5!#6!#7!%
-        }%
-      \fi
-    \else % 2y < #1
-      \BIC at AfterFiFi{%
-        \expandafter\BIC at ProcessDivII\romannumeral0%
-        \BIC at SubXY#1!#6!!!%
-        !#2#3!#4!#5!23%
-        #6!#7!%
-      }%
-    \fi
-  \else % 4y < #1
-    \BIC at AfterFi{%
-      \BIC@@@ProcessDiv{#1}#2#3!#4!#5!#6!#7!%
-    }%
-  \BIC at Fi
-}
-\def\BIC at DivSub#1!#2!#3{%
-  \expandafter\BIC at ProcessDiv\expandafter{%
-    \romannumeral0%
-    \BIC at SubXY#1!#2!!!%
-    #3%
-  }%
-}
-\def\BIC at ProcessDivII#1!#2#3!#4!#5!#6#7{%
-  \ifcase\BIC at PosCmp#5!#1!% y = #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#4#7}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessDiv#2#3!#4#7!#5!%
-      }%
-    \fi
-  \or % y > #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#4#6}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessDiv{#1#2}#3!#4#6!#5!%
-      }%
-    \fi
-  \else % y < #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#4#7}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at DivSub#1!#5!#2#3!#4#7!#5!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC@@@ProcessDiv#1#2#3!#4!#5!#6!#7!#8!#9!{%
-  \ifcase\BIC at PosCmp#8!#1!% 6y = #1
-    \ifx#2=%
-      \BIC at AfterFiFi{\BIC at DivCleanup{#46}}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ProcessDiv#2#3!#46!#5!#6!#7!#8!#9!%
-      }%
-    \fi
-  \or % 6y > #1
-    \BIC at AfterFi{%
-      \expandafter\BIC at ProcessDivII\romannumeral0%
-      \BIC at SubXY#1!#7!!!%
-      !#2#3!#4!#5!45%
-      #6!#7!#8!#9!%
-    }%
-  \else % 6y < #1
-    \ifcase\BIC at PosCmp#9!#1!% 8y = #1
-      \ifx#2=%
-        \BIC at AfterFiFiFi{\BIC at DivCleanup{#48}}%
-      \else
-        \BIC at AfterFiFiFi{%
-          \BIC at ProcessDiv#2#3!#48!#5!#6!#7!#8!#9!%
-        }%
-      \fi
-    \or % 8y > #1
-      \BIC at AfterFiFi{%
-        \expandafter\BIC at ProcessDivII\romannumeral0%
-        \BIC at SubXY#1!#8!!!%
-        !#2#3!#4!#5!67%
-        #6!#7!#8!#9!%
-      }%
-    \else % 8y < #1
-      \BIC at AfterFiFi{%
-        \expandafter\BIC at ProcessDivII\romannumeral0%
-        \BIC at SubXY#1!#9!!!%
-        !#2#3!#4!#5!89%
-        #6!#7!#8!#9!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\bigintcalcMod#1{%
-  \romannumeral0%
-  \expandafter\expandafter\expandafter\BIC at Mod
-  \bigintcalcNum{#1}!%
-}
-\def\BIC at Mod#1!#2{%
-  \expandafter\expandafter\expandafter\BIC at ModSwitchSign
-  \bigintcalcNum{#2}!#1!%
-}
-\def\BigIntCalcMod#1!#2!{%
-  \romannumeral0%
-  \BIC at ModSwitchSign#2!#1!%
-}
-\def\BIC at ModSwitchSign#1#2!#3#4!{%
-  \ifcase\ifx\\#2\\%
-           \ifx#100 % y = 0
-           \else1 % y > 0
-           \fi
-          \else
-            \ifx#1-2 % y < 0
-            \else1 % y > 0
-            \fi
-          \fi
-    \BIC at AfterFi{ 0\BigIntCalcError:DivisionByZero}%
-  \or % y > 0
-    \ifcase\ifx\\#4\\\ifx#300 \else1 \fi\else1 \fi % x = 0
-      \BIC at AfterFiFi{ 0}%
-    \else
-      \BIC at AfterFiFi{%
-        \BIC at ModSwitch{}#3#4!#1#2!%
-      }%
-    \fi
-  \else % y < 0
-    \ifcase\ifx\\#4\\%
-             \ifx#300 % x = 0
-             \else1 % x > 0
-             \fi
-           \else
-             \ifx#3-2 % x < 0
-             \else1 % x > 0
-             \fi
-           \fi
-      \BIC at AfterFiFi{ 0}%
-    \or % x > 0
-      \BIC at AfterFiFi{%
-        \BIC at ModSwitch--#3#4!#2!%
-      }%
-    \else % x < 0
-      \BIC at AfterFiFi{%
-        \BIC at ModSwitch-#4!#2!%
-      }%
-    \fi
-  \BIC at Fi
-}
-\def\BIC at ModSwitch#1#2#3!#4#5!{%
-  \ifcase\ifx\\#5\\%
-           \ifx#410 % y = 1
-           \else\ifx#421 % y = 2
-           \else2 % y > 2
-           \fi\fi
-         \else2 % y > 2
-         \fi
-    \BIC at AfterFi{ 0}% y = 1
-  \or % y = 2
-    \ifcase\BIC at ModTwo#2#3! % even(x)
-      \BIC at AfterFiFi{ 0}%
-    \or % odd(x)
-      \BIC at AfterFiFi{ #11}%
-?   \else\BigIntCalcError:ThisCannotHappen%
-    \fi
-  \or % y > 2
-    \ifx\\#1\\%
-    \else
-      \expandafter\BIC at Space\romannumeral0%
-      \expandafter\BIC at ModMinus\romannumeral0%
-    \fi
-    \ifx#2-% x < 0
-      \BIC at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BIC at ModX
-        \bigintcalcSub{#2#3}{%
-          \bigintcalcMul{#4#5}{\bigintcalcDiv{#2#3}{#4#5}}%
-        }!#4#5!%
-      }%
-    \else % x > 0
-      \BIC at AfterFiFi{%
-        \expandafter\expandafter\expandafter\BIC at Space
-        \bigintcalcSub{#2#3}{%
-          \bigintcalcMul{#4#5}{\bigintcalcDiv{#2#3}{#4#5}}%
-        }%
-      }%
-    \fi
-? \else\BigIntCalcError:ThisCannotHappen%
-  \BIC at Fi
-}
-\def\BIC at ModMinus#1{%
-  \ifx#10%
-    \BIC at AfterFi{ 0}%
-  \else
-    \BIC at AfterFi{ -#1}%
-  \BIC at Fi
-}
-\def\BIC at ModX#1#2!#3!{%
-  \ifx#1-% z < 0
-    \BIC at AfterFi{%
-      \expandafter\BIC at Space\romannumeral0%
-      \BIC at SubXY#3!#2!!!%
-    }%
-  \else % z >= 0
-    \BIC at AfterFi{ #1#2}%
-  \BIC at Fi
-}
-\BIC at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `bigintcalc.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/etexcmds.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/etexcmds.sty	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/etexcmds.sty	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,292 +0,0 @@
-%%
-%% This is file `etexcmds.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% etexcmds.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: etexcmds
-%% Version: 2016/05/16 v1.6
-%% 
-%% 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 etexcmds.dtx
-%% and the derived files
-%%    etexcmds.sty, etexcmds.pdf, etexcmds.ins, etexcmds.drv,
-%%    etexcmds-test1.tex, etexcmds-test2.tex, etexcmds-test3.tex,
-%%    etexcmds-test4.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 etexcmds.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{etexcmds}{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 etexcmds.sty\endcsname
-\ProvidesPackage{etexcmds}%
-  [2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname etexcmds 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\etexcmds at AtEnd{%
-    \etexcmds at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{39}{12}% '
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{44}{12}% ,
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\etexcmds at AtEnd{%
-  \etexcmds at AtEnd
-  \escapechar\the\escapechar\relax
-  \noexpand\endinput
-}
-\escapechar=92 % backslash
-\def\etexcmds at newif#1{%
-  \expandafter\edef\csname etex@#1false\endcsname{%
-    \let
-    \expandafter\noexpand\csname ifetex@#1\endcsname
-    \noexpand\iffalse
-  }%
-  \expandafter\edef\csname etex@#1true\endcsname{%
-    \let
-    \expandafter\noexpand\csname ifetex@#1\endcsname
-    \noexpand\iftrue
-  }%
-  \csname etex@#1false\endcsname
-}
-\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{ifluatex}[2010/03/01]%
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{ifluatex}[2010/03/01]%
-\fi
-\etexcmds at newif{unexpanded}
-\begingroup
-\edef\x{\string\unexpanded}%
-\edef\y{\meaning\unexpanded}%
-\ifx\x\y
-  \endgroup
-  \let\etex at unexpanded\unexpanded
-  \etex at unexpandedtrue
-\else
-  \edef\y{\meaning\normalunexpanded}%
-  \ifx\x\y
-    \endgroup
-    \let\etex at unexpanded\normalunexpanded
-    \etex at unexpandedtrue
-  \else
-    \edef\y{\meaning\@@unexpanded}%
-    \ifx\x\y
-      \endgroup
-      \let\etex at unexpanded\@@unexpanded
-      \etex at unexpandedtrue
-    \else
-      \ifluatex
-        \ifnum\luatexversion<36 %
-        \else
-          \begingroup
-            \directlua{%
-              tex.enableprimitives('etex@',{'unexpanded'})%
-            }%
-            \global\let\etex at unexpanded\etex at unexpanded
-          \endgroup
-        \fi
-      \fi
-      \edef\y{\meaning\etex at unexpanded}%
-      \ifx\x\y
-        \endgroup
-        \etex at unexpandedtrue
-      \else
-        \endgroup
-        \@PackageInfoNoLine{etexcmds}{%
-          Could not find \string\unexpanded.\MessageBreak
-          That can mean that you are not using e-TeX or%
-          \MessageBreak
-          that some package has redefined \string\unexpanded.%
-          \MessageBreak
-          In the latter case, load this package earlier%
-        }%
-        \etex at unexpandedfalse
-      \fi
-    \fi
-  \fi
-\fi
-\etexcmds at newif{expanded}
-\begingroup
-\edef\x{\string\expanded}%
-\edef\y{\meaning\expanded}%
-\ifx\x\y
-  \endgroup
-  \let\etex at expanded\expanded
-  \etex at expandedtrue
-\else
-  \edef\y{\meaning\normalexpanded}%
-  \ifx\x\y
-    \endgroup
-    \let\etex at expanded\normalexpanded
-    \etex at expandedtrue
-  \else
-    \edef\y{\meaning\@@expanded}%
-    \ifx\x\y
-      \endgroup
-      \let\etex at expanded\@@expanded
-      \etex at expandedtrue
-    \else
-      \ifluatex
-        \ifnum\luatexversion<36 %
-        \else
-          \begingroup
-            \directlua{%
-              tex.enableprimitives('etex@',{'expanded'})%
-            }%
-            \global\let\etex at expanded\etex at expanded
-          \endgroup
-        \fi
-      \fi
-      \edef\y{\meaning\etex at expanded}%
-      \ifx\x\y
-        \endgroup
-        \etex at expandedtrue
-      \else
-        \endgroup
-        \@PackageInfoNoLine{etexcmds}{%
-          Could not find \string\expanded.\MessageBreak
-          That can mean that you are not using pdfTeX 1.50 or%
-          \MessageBreak
-          that some package has redefined \string\expanded.%
-          \MessageBreak
-          In the latter case, load this package earlier%
-        }%
-        \etex at expandedfalse
-      \fi
-    \fi
-  \fi
-\fi
-\etexcmds at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `etexcmds.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/gettitlestring.sty	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/gettitlestring.sty	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,313 +0,0 @@
-%%
-%% This is file `gettitlestring.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% gettitlestring.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: gettitlestring
-%% Version: 2016/05/16 v1.5
-%% 
-%% Copyright (C)
-%%    2009, 2010 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 gettitlestring.dtx
-%% and the derived files
-%%    gettitlestring.sty, gettitlestring.pdf, gettitlestring.ins,
-%%    gettitlestring.drv, gettitlestring-test1.tex,
-%%    gettitlestring-test2.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 gettitlestring.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{gettitlestring}{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 gettitlestring.sty\endcsname
-\ProvidesPackage{gettitlestring}%
-  [2016/05/16 v1.5 Cleanup title references (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname GTS 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\GTS at AtEnd{%
-    \GTS at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{42}{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}% ]
-\edef\GTS at AtEnd{\GTS at AtEnd\noexpand\endinput}
-\RequirePackage{kvoptions}[2009/07/17]
-\SetupKeyvalOptions{%
-  family=gettitlestring,%
-  prefix=GTS@%
-}
-\newcommand*{\GetTitleStringSetup}{%
-  \setkeys{gettitlestring}%
-}
-\DeclareBoolOption{expand}
-\InputIfFileExists{gettitlestring.cfg}{}{}
-\ProcessKeyvalOptions*\relax
-\newcommand*{\GetTitleString}{%
-  \ifGTS at expand
-    \expandafter\GetTitleStringExpand
-  \else
-    \expandafter\GetTitleStringNonExpand
-  \fi
-}
-\newcommand{\GetTitleStringExpand}[1]{%
-  \def\GetTitleStringResult{#1}%
-  \begingroup
-    \GTS at DisablePredefinedCmds
-    \GTS at DisableHook
-    \edef\x{\endgroup
-      \noexpand\def\noexpand\GetTitleStringResult{%
-        \GetTitleStringResult
-      }%
-    }%
-  \x
-}
-\newcommand{\GetTitleStringNonExpand}[1]{%
-  \def\GetTitleStringResult{#1}%
-  \global\let\GTS at GlobalString\GetTitleStringResult
-  \begingroup
-    \GTS at RemoveLeft
-    \GTS at RemoveRight
-  \endgroup
-  \let\GetTitleStringResult\GTS at GlobalString
-}
-\def\GTS at DisablePredefinedCmds{%
-  \let\label\@gobble
-  \let\zlabel\@gobble
-  \let\zref at label\@gobble
-  \let\zref at labelbylist\@gobbletwo
-  \let\zref at labelbyprops\@gobbletwo
-  \let\index\@gobble
-  \let\glossary\@gobble
-  \let\markboth\@gobbletwo
-  \let\@mkboth\@gobbletwo
-  \let\markright\@gobble
-  \let\phantomsection\@empty
-  \def\addcontentsline{\expandafter\@gobble\@gobbletwo}%
-  \let\raggedright\@empty
-  \let\raggedleft\@empty
-  \let\centering\@empty
-  \let\protect\@unexpandable at protect
-  \let\enit at format\@empty % package enumitem
-}
-\providecommand*{\GTS at DisableHook}{}
-\def\GetTitleStringDisableCommands{%
-  \begingroup
-    \makeatletter
-    \GTS at DisableCommands
-}
-\long\def\GTS at DisableCommands#1{%
-    \toks0=\expandafter{\GTS at DisableHook}%
-    \toks2={#1}%
-    \xdef\GTS at GlobalString{\the\toks0 \the\toks2}%
-  \endgroup
-  \let\GTS at DisableHook\GTS at GlobalString
-}
-\def\GTS at RemoveLeft{%
-  \toks@\expandafter\expandafter\expandafter{%
-    \expandafter\GTS at Car\GTS at GlobalString{}{}{}{}\GTS at Nil
-  }%
-  \edef\GTS at Token{\the\toks@}%
-  \GTS at PredefinedLeftCmds
-  \expandafter\futurelet\expandafter\GTS at Token
-  \expandafter\GTS at TestLeftSpace\GTS at GlobalString\GTS at Nil
-  \GTS at End
-}
-\def\GTS at End{}
-\long\def\GTS at TestLeft#1#2{%
-  \def\GTS at temp{#1}%
-  \ifx\GTS at temp\GTS at Token
-    \toks@\expandafter\expandafter\expandafter{%
-      \expandafter#2\GTS at GlobalString\GTS at Nil
-    }%
-    \expandafter\GTS at TestLeftEnd
-  \fi
-}
-\long\def\GTS at TestLeftEnd#1\GTS at End{%
-  \xdef\GTS at GlobalString{\the\toks@}%
-  \GTS at RemoveLeft
-}
-\long\def\GTS at Car#1#2\GTS at Nil{#1}
-\long\def\GTS at Cdr#1#2\GTS at Nil{#2}
-\long\def\GTS at CdrTwo#1#2#3\GTS at Nil{#3}
-\long\def\GTS at CdrThree#1#2#3#4\GTS at Nil{#4}
-\long\def\GTS at CdrFour#1#2#3#4#5\GTS at Nil{#5}
-\long\def\GTS at TestLeftSpace#1\GTS at Nil{%
-  \ifx\GTS at Token\@sptoken
-    \toks@\expandafter{%
-      \romannumeral-0\GTS at GlobalString
-    }%
-    \expandafter\GTS at TestLeftEnd
-  \fi
-}
-\def\GTS at PredefinedLeftCmds{%
-  \GTS at TestLeft\Hy at phantomsection\GTS at Cdr
-  \GTS at TestLeft\Hy at SectionAnchor\GTS at Cdr
-  \GTS at TestLeft\Hy at SectionAnchorHref\GTS at CdrTwo
-  \GTS at TestLeft\label\GTS at CdrTwo
-  \GTS at TestLeft\zlabel\GTS at CdrTwo
-  \GTS at TestLeft\index\GTS at CdrTwo
-  \GTS at TestLeft\glossary\GTS at CdrTwo
-  \GTS at TestLeft\markboth\GTS at CdrThree
-  \GTS at TestLeft\@mkboth\GTS at CdrThree
-  \GTS at TestLeft\addcontentsline\GTS at CdrFour
-  \GTS at TestLeft\enit at format\GTS at Cdr % package enumitem
-}
-\def\GTS at RemoveRight{%
-  \toks@{}%
-  \expandafter\GTS at TestRightLabel\GTS at GlobalString
-      \label{}\GTS at Nil\@nil
-  \GTS at RemoveRightSpace
-}
-\begingroup
-  \def\GTS at temp#1{\endgroup
-    \def\GTS at RemoveRightSpace{%
-      \expandafter\GTS at TestRightSpace\GTS at GlobalString
-          \GTS at Nil#1\GTS at Nil\@nil
-    }%
-  }%
-\GTS at temp{ }
-\def\GTS at TestRightSpace#1 \GTS at Nil#2\@nil{%
-  \ifx\relax#2\relax
-  \else
-    \gdef\GTS at GlobalString{#1}%
-    \expandafter\GTS at RemoveRightSpace
-  \fi
-}
-\def\GTS at TestRightLabel#1\label#2#3\GTS at Nil#4\@nil{%
-  \def\GTS at temp{#3}%
-  \ifx\GTS at temp\@empty
-    \expandafter\gdef\expandafter\GTS at GlobalString\expandafter{%
-      \the\toks@
-      #1%
-    }%
-    \expandafter\@gobble
-  \else
-    \expandafter\@firstofone
-  \fi
-  {%
-    \toks@\expandafter{\the\toks@#1}%
-    \GTS at TestRightLabel#3\GTS at Nil\@nil
-  }%
-}
-\GTS at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `gettitlestring.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,1734 +0,0 @@
-%%
-%% This is file `intcalc.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% intcalc.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: intcalc
-%% Version: 2016/05/16 v1.2
-%% 
-%% 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
-%% 
-%% 
-%% 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 intcalc.dtx
-%% and the derived files
-%%    intcalc.sty, intcalc.pdf, intcalc.ins, intcalc.drv,
-%%    intcalc-test1.tex, intcalc-test2.tex, intcalc-test3.tex,
-%%    intcalc-test4.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 intcalc.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{intcalc}{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 intcalc.sty\endcsname
-\ProvidesPackage{intcalc}%
-  [2016/05/16 v1.2 Expandable calculations with integers (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname InCa 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\InCa at AtEnd{%
-    \InCa at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{33}{12}% !
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{43}{12}% +
-\TMP at EnsureCode{45}{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!)
-\edef\InCa at AtEnd{\InCa at AtEnd\noexpand\endinput}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname InCa at TestMode\endcsname\relax
-\else
-  \catcode63=9 % ? (ignore)
-\fi
-? \let\InCa@@TestMode\InCa at TestMode
-\def\InCa at Abs#1#2!{%
-  \ifx#1-%
-    #2%
-  \else
-    #1#2%
-  \fi
-}
-\def\InCa at Sgn#1#2!{%
-  \ifx#1-%
-    -1%
-  \else
-    \ifx#10%
-      0%
-    \else
-      1%
-    \fi
-  \fi
-}
-\def\InCa at Min#1!#2!{%
-  \ifnum#1<#2 %
-    #1%
-  \else
-    #2%
-  \fi
-}
-\def\InCa at Max#1!#2!{%
-  \ifnum#1>#2 %
-    #1%
-  \else
-    #2%
-  \fi
-}
-\def\InCa at Cmp#1!#2!{%
-  \ifnum#1=#2 %
-    0%
-  \else
-    \ifnum#1<#2 %
-      -%
-    \fi
-    1%
-  \fi
-}
-\def\InCa at Fac#1!{%
-  \ifcase#1 1% 0!
-  \or 1% 1!
-  \or 2% 2!
-  \or 6% 3!
-  \or 24% 4!
-  \or 120% 5!
-  \or 720% 6!
-  \or 5040% 7!
-  \or 40320% 8!
-  \or 362880% 9!
-  \or 3628800% 10!
-  \or 39916800% 11!
-  \or 479001600% 12!
-  \else
-    \ifnum#1<\z@
-      0\IntCalcError:FacNegative%
-    \else
-      0\IntCalcError:FacOverflow%
-    \fi
-  \fi
-}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
-\else
-  \def\intcalcNum#1{%
-    \the\numexpr#1\relax
-  }%
-  \def\intcalcInv#1{%
-    \number-\intcalcNum{#1} %
-  }%
-  \def\intcalcAbs#1{%
-    \number\expandafter\InCa at Abs\the\numexpr#1! %
-  }%
-  \def\intcalcSgn#1{%
-    \number\expandafter\InCa at Sgn\the\numexpr#1! %
-  }%
-  \def\intcalcMin#1#2{%
-    \number\expandafter\InCa at Min
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-  \def\intcalcMax#1#2{%
-    \number\expandafter\InCa at Max
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-  \def\intcalcCmp#1#2{%
-    \number\expandafter\InCa at Cmp
-    \the\numexpr#1\expandafter!\the\numexpr#2! %
-  }%
-  \def\intcalcInc#1{%
-    \the\numexpr#1+1\relax
-  }%
-  \def\intcalcDec#1{%
-    \the\numexpr#1-1\relax
-  }%
-  \def\IntCalcInc#1!{%
-    \the\numexpr#1+1\relax
-  }%
-  \def\IntCalcDec#1!{%
-    \the\numexpr#1-1\relax
-  }%
-  \def\intcalcAdd#1#2{%
-    \the\numexpr#1+(#2)\relax
-  }%
-  \def\intcalcSub#1#2{%
-    \the\numexpr#1-(#2)\relax
-  }%
-  \def\IntCalcAdd#1!#2!{%
-    \the\numexpr#1+#2\relax
-  }%
-  \def\IntCalcSub#1!#2!{%
-    \the\numexpr#1-#2\relax
-  }%
-  \def\intcalcShl#1{%
-    \the\numexpr(#1)*2\relax
-  }%
-  \def\intcalcShr#1{%
-    \number\expandafter\InCa at Shr\the\numexpr#1! %
-  }%
-  \def\IntCalcShl#1!{%
-    \the\numexpr#1*2\relax
-  }%
-  \def\IntCalcShr#1!{%
-    \the\numexpr\ifodd#1 (#1-1)\else#1\fi/2\relax
-  }%
-  \def\InCa at Shr#1#2!{%
-    \ifx#1-%
-      -\InCa at Shr#2!%
-    \else
-      \ifodd#1#2 %
-        \the\numexpr(#1#2-1)/2\relax
-      \else
-        \the\numexpr#1#2/2\relax
-      \fi
-    \fi
-  }%
-  \def\intcalcMul#1#2{%
-    \the\numexpr(#1)*(#2)\relax
-  }%
-  \def\IntCalcMul#1!#2!{%
-    \the\numexpr#1*#2\relax
-  }%
-  \def\intcalcSqr#1{%
-    \number\expandafter\InCa at Sqr\the\numexpr#1! %
-  }%
-  \def\InCa at Sqr#1!{%
-    \the\numexpr#1*#1\relax
-  }%
-  \def\intcalcFac#1{%
-    \number\expandafter\InCa at Fac\the\numexpr#1! %
-  }%
-  \def\intcalcPow#1#2{%
-    \number\expandafter\InCa at Pow
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-  \def\InCa at Pow#1#2!#3#4!{%
-    \ifcase#3#4 % power = 0
-      1%
-    \or % power = 1
-      #1#2%
-    \or % power = 2
-      \the\numexpr#1#2*#1#2\relax
-    \else
-      \ifcase#1#2 % basis = 0, power <> 0
-        0%
-        \ifx#3-% power < 0
-          0\IntCalcError:DivisionByZero%
-        \fi
-      \or
-        1% basis = 1
-      \else
-        \ifnum#1#2=\m at ne % basis = -1
-          \ifodd#3#4 %
-            -%
-          \fi
-          1%
-        \else % |basis| > 1
-          \ifx#3-% power < 0
-            0%
-          \else % power > 2
-            \InCa at PowRec#1#2!#3#4!1!%
-          \fi
-        \fi
-      \fi
-    \fi
-  }%
-  \def\InCa at PowRec#1!#2!#3!{%
-    \ifnum#2=\@ne
-      \the\numexpr#1*#3\relax
-    \else
-      \ifodd#2 %
-        \expandafter\InCa at PowRec
-        \the\numexpr#1*#1\expandafter!%
-        \the\numexpr(#2-1)/2\expandafter!%
-        \the\numexpr#1*#3\expandafter\expandafter\expandafter!%
-      \else
-        \expandafter\InCa at PowRec
-        \the\numexpr#1*#1\expandafter!%
-        \the\numexpr(#2-1)/2\expandafter!%
-        \number#3\expandafter\expandafter\expandafter!%
-      \fi
-    \fi
-  }%
-  \def\intcalcDiv#1#2{%
-    \number\expandafter\InCa at Div
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-  \def\InCa at Div#1!#2!{%
-    \ifcase#2 %
-      0\IntCalcError:DivisionByZero%
-    \else
-      \ifcase#1 %
-        0%
-      \else
-        \expandafter\InCa@@Div
-        \romannumeral 0%
-        \ifnum#1<\z@
-          \expandafter-\number-#1%
-        \else
-          \expandafter+\number#1%
-        \fi
-        \expandafter!%
-        \romannumeral 0%
-        \ifnum#2<\z@
-          \expandafter-\number-#2%
-        \else
-          \expandafter+\number#2%
-        \fi
-        !%
-      \fi
-    \fi
-  }%
-  \def\InCa at Temp#1{%
-    \def\IntCalcDiv##1!##2!{%
-      \number
-      \ifcase##2 %
-        0\IntCalcError:DivisionByZero%
-      \else
-        \ifcase##1 %
-          0%
-        \else
-          \the\numexpr(##1-(##2-1)/2)/##2\relax
-        \fi
-      \fi
-      #1%
-    }%
-  }%
-  \InCa at Temp{ }%
-  \def\InCa@@Div#1#2!#3#4!{%
-    #1#3%
-    \the\numexpr(#2-(#4-1)/2)/#4\relax
-  }%
-  \def\intcalcMod#1#2{%
-    \number\expandafter\InCa at Mod
-    \the\numexpr#1\expandafter!%
-    \the\numexpr#2! %
-  }%
-  \def\InCa at Mod#1!#2!{%
-    \ifcase#2 %
-      0\IntCalcError:DivisionByZero%
-    \else
-      \ifcase#1 %
-        0%
-      \else
-        \expandafter\InCa@@Mod
-        \romannumeral 0%
-        \ifnum#1<\z@
-          \expandafter-\number-#1%
-        \else
-          \expandafter+\number#1%
-        \fi
-        \expandafter!%
-        \romannumeral 0%
-        \ifnum#2<\z@
-          \expandafter-\number-#2%
-        \else
-          \expandafter+\number#2%
-        \fi
-        !%
-      \fi
-    \fi
-  }%
-  \def\InCa at Temp#1{%
-    \def\IntCalcMod##1!##2!{%
-      \number
-      \ifcase##2 %
-        0\IntCalcError:DivisionByZero%
-      \else
-        \ifcase##1 %
-          0%
-        \else
-          \the\numexpr##1-(##1-(##2-1)/2)/##2*##2\relax
-        \fi
-      \fi
-      #1%
-    }%
-  }%
-  \InCa at Temp{ }%
-  \def\InCa@@Mod#1#2!#3#4!{%
-    \if#3+%
-      \if#1+%
-        \the\numexpr#2-\InCa@@Div+#2!+#4!*#4\relax
-      \else
-        \expandafter\InCa at ModX
-        \the\numexpr-#2+\InCa@@Div+#2!+#4!*#4!#4!%
-      \fi
-    \else
-      -%
-      \if#1+%
-        \expandafter\InCa at ModX
-        \the\numexpr-#2+\InCa@@Div+#2!+#4!*#4!#4!%
-      \else
-        \the\numexpr#2-\InCa@@Div+#2!+#4!*#4\relax
-      \fi
-    \fi
-  }%
-  \def\InCa at ModX#1!#2!{%
-    \ifcase#1 %
-      0%
-    \else
-      \the\numexpr#1+#2\relax
-    \fi
-  }%
-  \expandafter\InCa at AtEnd
-\fi%
-\def\intcalcNum#1{%
-  \number\expandafter\InCa at FirstOfOne\number#1! %
-}
-\def\intcalcInv#1{%
-  \number\expandafter\InCa at FirstOfOne\number-#1! %
-}
-\def\InCa at FirstOfOne#1!{#1}
-\def\intcalcAbs#1{%
-  \number\expandafter\InCa at Abs\number#1! %
-}
-\def\intcalcSgn#1{%
-  \number\expandafter\InCa at Sgn\number#1! %
-}
-\def\intcalcMin#1#2{%
-  \number\expandafter\InCa at Min
-  \number\number#1\expandafter!\number#2! %
-}
-\def\intcalcMax#1#2{%
-  \number\expandafter\InCa at Max
-  \number\number#1\expandafter!\number#2! %
-}
-\def\intcalcCmp#1#2{%
-  \number\expandafter\InCa at Cmp
-  \number\number#1\expandafter!\number#2! %
-}%
-\def\intcalcInc#1{%
-  \number\expandafter\InCa at IncSwitch\number#1! %
-}
-\def\InCa at IncSwitch#1#2!{%
-  \ifx#1-%
-    -%
-    \csname InCa at Empty%
-    \InCa at Dec#2!%
-  \else
-    \csname InCa at Empty%
-    \InCa at Inc#1#2!%
-  \fi
-}
-\def\intcalcDec#1{%
-  \number\expandafter\InCa at DecSwitch\number#1! %
-}
-\def\InCa at DecSwitch#1#2!{%
-  \ifx#1-%
-    -%
-    \csname InCa at Empty%
-    \expandafter\InCa at Inc#2!%
-  \else
-    \ifx#10%
-      -1%
-    \else
-      \csname InCa at Empty%
-      \InCa at Dec#1#2!%
-    \fi
-  \fi
-}
-\def\IntCalcInc#1!{%
-  \number\csname InCa at Empty\InCa at Inc#1! %
-}
-\def\IntCalcDec#1!{%
-  \number\csname InCa at Empty\InCa at Dec#1! %
-}
-\def\InCa at Inc#1#2{%
-  \ifx#2!%
-    \csname InCa at IncDigit#1\endcsname1%
-  \else
-    \csname InCa at IncDigit#1%
-    \expandafter\InCa at Inc\expandafter#2%
-  \fi
-}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at IncDigit#1\endcsname##1{%
-    \endcsname
-    0%
-    \ifcase##1 %
-      #1%
-    \else
-      #2%
-    \fi
-  }%
-}
-\InCa at Temp 01
-\InCa at Temp 12
-\InCa at Temp 23
-\InCa at Temp 34
-\InCa at Temp 45
-\InCa at Temp 56
-\InCa at Temp 67
-\InCa at Temp 78
-\InCa at Temp 89
-\expandafter\def\csname InCa at IncDigit9\endcsname#1{%
-  \expandafter\endcsname
-  \ifcase#1 %
-    09%
-  \else
-    10%
-  \fi
-}
-\def\InCa at Dec#1#2{%
-  \ifx#2!%
-    \csname InCa at DecDigit#1\endcsname1%
-  \else
-    \csname InCa at DecDigit#1%
-    \expandafter\InCa at Dec\expandafter#2%
-  \fi
-}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at DecDigit#1\endcsname##1{%
-    \endcsname
-    0%
-    \ifcase##1 %
-      #1%
-    \else
-      #2%
-    \fi
-  }%
-}
-\InCa at Temp 98
-\InCa at Temp 87
-\InCa at Temp 76
-\InCa at Temp 65
-\InCa at Temp 54
-\InCa at Temp 43
-\InCa at Temp 32
-\InCa at Temp 21
-\InCa at Temp 10
-\expandafter\def\csname InCa at DecDigit0\endcsname#1{%
-  \expandafter\endcsname
-  \ifcase#1 %
-    00%
-  \else
-    19%
-  \fi
-}
-\def\intcalcAdd#1#2{%
-  \number
-    \expandafter\InCa at AddSwitch
-    \number\number#1\expandafter!%
-    \number#2! %
-}
-\def\intcalcSub#1#2{%
-  \number
-    \expandafter\InCa at AddSwitch
-    \number\number#1\expandafter!%
-    \number-\number#2! %
-}
-\def\InCa at AddSwitch#1!#2!{%
-  \ifnum#1<\z@
-    \ifnum#2<\z@
-      -%
-      \ifnum#1<#2 %
-        \expandafter\InCa at Add\number-#1\expandafter!%
-        \@gobble#2!%
-      \else
-        \expandafter\InCa at Add\number-#2\expandafter!%
-        \@gobble#1!%
-      \fi
-    \else
-      \ifnum-#1>#2 %
-        -%
-        \expandafter\InCa at Sub\@gobble#1!#2!%
-      \else
-        \expandafter\InCa at Sub\number#2\expandafter!%
-        \@gobble#1!%
-      \fi
-    \fi
-  \else
-    \ifnum#2<\z@
-      \ifnum#1>-#2 %
-        \expandafter\InCa at Sub\number#1\expandafter!%
-        \@gobble#2!%
-      \else
-        -%
-        \expandafter\InCa at Sub\@gobble#2!#1!%
-      \fi
-    \else
-      \ifnum#1>#2 %
-        \InCa at Add#1!#2!%
-      \else
-        \InCa at Add#2!#1!%
-      \fi
-    \fi
-  \fi
-}
-\def\IntCalcAdd#1!#2!{%
-  \number\InCa at Add#1!#2! %
-}
-\def\IntCalcSub#1!#2!{%
-  \number\InCa at Sub#1!#2! %
-}
-\begingroup
-  \def\x#1{\endgroup
-    \let\InCa at Space= #1%
-  }%
-\x{ }
-\def\InCa at Add#1!#2!{%
-  \ifcase#2 %
-    #1%
-  \else
-    \InCa@@Add#1!#2!000000000\InCa at Space
-  \fi
-}
-\def\InCa at Sub#1!#2!{%
-  \ifnum#1=#2 %
-    0%
-  \else
-    \InCa@@Sub#1!#2!000000000\InCa at Space
-  \fi
-}
-\def\InCa@@Add#1!#2#3!{%
-  \ifx\InCa at Empty#3\InCa at Empty
-    \@ReturnAfterElseFi{%
-      \InCa@@@Add!!#1!#2%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@Add#1!#3!#2%
-    }%
-  \fi
-}
-\def\InCa@@Sub#1!#2#3!{%
-  \ifx\InCa at Empty#3\InCa at Empty
-    \@ReturnAfterElseFi{%
-      \InCa@@@Sub!!#1!#2%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@Sub#1!#3!#2%
-    }%
-  \fi
-}
-\def\InCa@@@Add#1!#2!#3#4!#5{%
-  \ifx\InCa at Empty#4\InCa at Empty
-    \csname InCa at Empty%
-    \@ReturnAfterElseFi{%
-      \InCa at ProcessAdd#1#3!#5#2%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@@Add#1#3!#5#2!#4!%
-    }%
-  \fi
-}
-\def\InCa@@@Sub#1!#2!#3#4!#5{%
-  \ifx\InCa at Empty#4\InCa at Empty
-    \csname @gobble%
-    \@ReturnAfterElseFi{%
-      \InCa at ProcessSub#1#3!#5#2%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@@Sub#1#3!#5#2!#4!%
-    }%
-  \fi
-}
-\def\InCa at ProcessAdd#1#2!#3#4{%
-  \ifx\InCa at Empty#2\InCa at Empty
-    \csname InCa at AddDigit#1\endcsname#3%
-    \romannumeral0#4%
-  \else
-    \csname InCa at AddDigit#1\csname InCa at DigitCarry#3%
-    \@ReturnAfterFi{%
-      \InCa at ProcessAdd#2!#4%
-    }%
-  \fi
-}
-\def\InCa at ProcessSub#1#2!#3#4{%
-  \ifx\InCa at Empty#2\InCa at Empty
-    \csname InCa at SubDigit#1\endcsname#3%
-    \romannumeral0#4%
-  \else
-    \csname InCa at SubDigit#1\csname InCa at DigitCarry#3%
-    \@ReturnAfterFi{%
-      \InCa at ProcessSub#2!#4%
-    }%
-  \fi
-}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at DigitCarry#1\endcsname##1{%
-    \ifcase##1 %
-      \endcsname#1%
-    \else
-      \endcsname#2%
-    \fi
-  }%
-}
-\InCa at Temp 01
-\InCa at Temp 12
-\InCa at Temp 23
-\InCa at Temp 34
-\InCa at Temp 45
-\InCa at Temp 56
-\InCa at Temp 67
-\InCa at Temp 78
-\InCa at Temp 89
-\InCa at Temp 9{{10}}
-\expandafter\def\csname InCa at AddDigit0\endcsname#1{%
-  \ifnum#1>9 %
-    \endcsname10%
-  \else
-    \endcsname0#1%
-  \fi
-}
-\def\InCa at Temp#1#2#3{%
-  \expandafter\def\csname InCa at AddDigit#1\endcsname##1{%
-    \ifnum##1>#2 %
-      \endcsname 1%
-    \else
-      \endcsname 0%
-    \fi
-    \ifcase##1 #1% 0
-    #3%
-    \else #1% 10
-    \fi
-  }%
-}
-\InCa at Temp 18{%
-  \or 2% 1
-  \or 3% 2
-  \or 4% 3
-  \or 5% 4
-  \or 6% 5
-  \or 7% 6
-  \or 8% 7
-  \or 9% 8
-  \or 0% 9
-}%
-\InCa at Temp 27{%
-  \or 3% 1
-  \or 4% 2
-  \or 5% 3
-  \or 6% 4
-  \or 7% 5
-  \or 8% 6
-  \or 9% 7
-  \or 0% 8
-  \or 1% 9
-}%
-\InCa at Temp 36{%
-  \or 4% 1
-  \or 5% 2
-  \or 6% 3
-  \or 7% 4
-  \or 8% 5
-  \or 9% 6
-  \or 0% 7
-  \or 1% 8
-  \or 2% 9
-}%
-\InCa at Temp 45{%
-  \or 5% 1
-  \or 6% 2
-  \or 7% 3
-  \or 8% 4
-  \or 9% 5
-  \or 0% 6
-  \or 1% 7
-  \or 2% 8
-  \or 3% 9
-}%
-\InCa at Temp 54{%
-  \or 6% 1
-  \or 7% 2
-  \or 8% 3
-  \or 9% 4
-  \or 0% 5
-  \or 1% 6
-  \or 2% 7
-  \or 3% 8
-  \or 4% 9
-}%
-\InCa at Temp 63{%
-  \or 7% 1
-  \or 8% 2
-  \or 9% 3
-  \or 0% 4
-  \or 1% 5
-  \or 2% 6
-  \or 3% 7
-  \or 4% 8
-  \or 5% 9
-}%
-\InCa at Temp 72{%
-  \or 8% 1
-  \or 9% 2
-  \or 0% 3
-  \or 1% 4
-  \or 2% 5
-  \or 3% 6
-  \or 4% 7
-  \or 5% 8
-  \or 6% 9
-}%
-\InCa at Temp 81{%
-  \or 9% 1
-  \or 0% 2
-  \or 1% 3
-  \or 2% 4
-  \or 3% 5
-  \or 4% 6
-  \or 5% 7
-  \or 6% 8
-  \or 7% 9
-}%
-\InCa at Temp 90{%
-  \or 0% 1
-  \or 1% 2
-  \or 2% 3
-  \or 3% 4
-  \or 4% 5
-  \or 5% 6
-  \or 6% 7
-  \or 7% 8
-  \or 8% 9
-}%
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at SubDigit#1\endcsname##1{%
-    \ifnum##1>#1 %
-      \endcsname 1%
-    \else
-      \endcsname 0%
-    \fi
-    \ifcase##1 #1% 0
-    #2%
-    \else #1% 10
-    \fi
-  }%
-}
-\InCa at Temp 0{%
-  \or 9% 1
-  \or 8% 2
-  \or 7% 3
-  \or 6% 4
-  \or 5% 5
-  \or 4% 6
-  \or 3% 7
-  \or 2% 8
-  \or 1% 9
-}
-\InCa at Temp 1{%
-  \or 0% 1
-  \or 9% 2
-  \or 8% 3
-  \or 7% 4
-  \or 6% 5
-  \or 5% 6
-  \or 4% 7
-  \or 3% 8
-  \or 2% 9
-}
-\InCa at Temp 2{%
-  \or 1% 1
-  \or 0% 2
-  \or 9% 3
-  \or 8% 4
-  \or 7% 5
-  \or 6% 6
-  \or 5% 7
-  \or 4% 8
-  \or 3% 9
-}
-\InCa at Temp 3{%
-  \or 2% 1
-  \or 1% 2
-  \or 0% 3
-  \or 9% 4
-  \or 8% 5
-  \or 7% 6
-  \or 6% 7
-  \or 5% 8
-  \or 4% 9
-}
-\InCa at Temp 4{%
-  \or 3% 1
-  \or 2% 2
-  \or 1% 3
-  \or 0% 4
-  \or 9% 5
-  \or 8% 6
-  \or 7% 7
-  \or 6% 8
-  \or 5% 9
-}
-\InCa at Temp 5{%
-  \or 4% 1
-  \or 3% 2
-  \or 2% 3
-  \or 1% 4
-  \or 0% 5
-  \or 9% 6
-  \or 8% 7
-  \or 7% 8
-  \or 6% 9
-}
-\InCa at Temp 6{%
-  \or 5% 1
-  \or 4% 2
-  \or 3% 3
-  \or 2% 4
-  \or 1% 5
-  \or 0% 6
-  \or 9% 7
-  \or 8% 8
-  \or 7% 9
-}
-\InCa at Temp 7{%
-  \or 6% 1
-  \or 5% 2
-  \or 4% 3
-  \or 3% 4
-  \or 2% 5
-  \or 1% 6
-  \or 0% 7
-  \or 9% 8
-  \or 8% 9
-}
-\InCa at Temp 8{%
-  \or 7% 1
-  \or 6% 2
-  \or 5% 3
-  \or 4% 4
-  \or 3% 5
-  \or 2% 6
-  \or 1% 7
-  \or 0% 8
-  \or 9% 9
-}
-\InCa at Temp 9{%
-  \or 8% 1
-  \or 7% 2
-  \or 6% 3
-  \or 5% 4
-  \or 4% 5
-  \or 3% 6
-  \or 2% 7
-  \or 1% 8
-  \or 0% 9
-}
-\def\intcalcShl#1{%
-  \number\expandafter\InCa at ShlSwitch\number#1! %
-}
-\def\InCa at ShlSwitch#1#2!{%
-  \ifx#1-%
-    -\csname InCa at Empty%
-    \InCa at Shl#2!%
-  \else
-    \csname InCa at Empty%
-    \InCa at Shl#1#2!%
-  \fi
-}
-\def\IntCalcShl#1!{%
-  \number
-  \csname InCa at Empty%
-  \InCa at Shl#1! %
-}
-\def\InCa at Shl#1#2{%
-  \ifx#2!%
-    \csname InCa at ShlDigit#1\endcsname0%
-  \else
-    \csname InCa at ShlDigit#1%
-    \@ReturnAfterFi{%
-      \InCa at Shl#2%
-    }%
-  \fi
-}
-\expandafter\def\csname InCa at ShlDigit0\endcsname{%
-  \endcsname0%
-}
-\def\InCa at Temp#1#2#3#4#5{%
-  \expandafter\def\csname InCa at ShlDigit#1\endcsname##1{%
-    \expandafter\endcsname
-    \ifcase##1 %
-      #2#3%
-    \else
-      #4#5%
-    \fi
-  }%
-}
-\InCa at Temp 10203
-\InCa at Temp 20405
-\InCa at Temp 30607
-\InCa at Temp 40809
-\InCa at Temp 51011
-\InCa at Temp 61213
-\InCa at Temp 71415
-\InCa at Temp 81617
-\InCa at Temp 91819
-\def\intcalcShr#1{%
-  \number\expandafter\InCa at ShrSwitch\number#1! %
-}
-\def\InCa at ShrSwitch#1#2!{%
-  \ifx#1-%
-    -\InCa at Shr#2!%
-  \else
-    \InCa at Shr#1#2!%
-  \fi
-}
-\def\IntCalcShr#1!{%
-  \number\InCa at Shr#1! %
-}
-\def\InCa at Shr#1#2{%
-  \InCa at ShrDigit#1!%
-  \ifx#2!%
-  \else
-    \@ReturnAfterFi{%
-      \ifodd#1 %
-        \@ReturnAfterElseFi{%
-          \InCa at Shr{1#2}%
-        }%
-      \else
-        \expandafter\InCa at Shr\expandafter#2%
-      \fi
-    }%
-  \fi
-}
-\def\InCa at ShrDigit#1!{%
-  \ifcase#1 0% 0
-  \or 0% 1
-  \or 1% 2
-  \or 1% 3
-  \or 2% 4
-  \or 2% 5
-  \or 3% 6
-  \or 3% 7
-  \or 4% 8
-  \or 4% 9
-  \or 5% 10
-  \or 5% 11
-  \or 6% 12
-  \or 6% 13
-  \or 7% 14
-  \or 7% 15
-  \or 8% 16
-  \or 8% 17
-  \or 9% 18
-  \or 9% 19
-  \fi
-}
-\def\InCa at Temp#1{%
-  \def\InCa at Tim##1##2{%
-    \number
-      \ifcase##2 % 0
-        0%
-      \or % 1
-        ##1%
-      \else % 2-9
-        \csname InCa at Empty%
-        \InCa at ProcessTim##2##1!%
-      \fi
-    #1%
-  }%
-}
-\InCa at Temp{ }
-\def\InCa at ProcessTim#1#2#3{%
-  \ifx#3!%
-    \csname InCa at TimDigit#2\endcsname#10%
-  \else
-    \csname InCa at TimDigit#2\csname InCa at Param#1%
-    \@ReturnAfterFi{%
-      \InCa at ProcessTim#1#3%
-    }%
-  \fi
-}
-\def\InCa at Temp#1{%
-  \expandafter\def\csname InCa at Param#1\endcsname{%
-    \endcsname#1%
-  }%
-}
-\InCa at Temp 0%
-\InCa at Temp 1%
-\InCa at Temp 2%
-\InCa at Temp 3%
-\InCa at Temp 4%
-\InCa at Temp 5%
-\InCa at Temp 6%
-\InCa at Temp 7%
-\InCa at Temp 8%
-\InCa at Temp 9%
-\expandafter\def\csname InCa at TimDigit0\endcsname#1#2{%
-  \endcsname
-  0#2%
-}
-\expandafter\def\csname InCa at TimDigit1\endcsname#1#2{%
-  \ifcase#2 %
-    \endcsname 0#1%
-  \else
-    \csname InCa at AddDigit#1\endcsname #2%
-  \fi
-}
-\def\InCa at Temp#1#2{%
-  \expandafter\def\csname InCa at TimDigit#1\endcsname##1{%
-    \expandafter\InCa at TimDigitCarry
-    \number
-      \ifcase##1 0% 0
-      #2%
-      \fi
-    !%
-  }%
-}
-\InCa at Temp 2{%
-  \or  2% 1
-  \or  4% 2
-  \or  6% 3
-  \or  8% 4
-  \or 10% 5
-  \or 12% 6
-  \or 14% 7
-  \or 16% 8
-  \or 18% 9
-}
-\InCa at Temp 3{%
-  \or  3% 1
-  \or  6% 2
-  \or  9% 3
-  \or 12% 4
-  \or 15% 5
-  \or 18% 6
-  \or 21% 7
-  \or 24% 8
-  \or 27% 9
-}
-\InCa at Temp 4{%
-  \or  4% 1
-  \or  8% 2
-  \or 12% 3
-  \or 16% 4
-  \or 20% 5
-  \or 24% 6
-  \or 28% 7
-  \or 32% 8
-  \or 36% 9
-}
-\InCa at Temp 5{%
-  \or  5% 1
-  \or 10% 2
-  \or 15% 3
-  \or 20% 4
-  \or 25% 5
-  \or 30% 6
-  \or 35% 7
-  \or 40% 8
-  \or 45% 9
-}
-\InCa at Temp 6{%
-  \or  6% 1
-  \or 12% 2
-  \or 18% 3
-  \or 24% 4
-  \or 30% 5
-  \or 36% 6
-  \or 42% 7
-  \or 48% 8
-  \or 54% 9
-}
-\InCa at Temp 7{%
-  \or  7% 1
-  \or 14% 2
-  \or 21% 3
-  \or 28% 4
-  \or 35% 5
-  \or 42% 6
-  \or 49% 7
-  \or 56% 8
-  \or 63% 9
-}
-\InCa at Temp 8{%
-  \or  8% 1
-  \or 16% 2
-  \or 24% 3
-  \or 32% 4
-  \or 40% 5
-  \or 48% 6
-  \or 56% 7
-  \or 64% 8
-  \or 72% 9
-}
-\InCa at Temp 9{%
-  \or  9% 1
-  \or 18% 2
-  \or 27% 3
-  \or 36% 4
-  \or 45% 5
-  \or 54% 6
-  \or 63% 7
-  \or 72% 8
-  \or 81% 9
-}
-\def\InCa at TimDigitCarry#1!{%
-  \ifnum#1<10 %
-    \csname InCa at AddDigit#1\expandafter\endcsname
-  \else
-    \@ReturnAfterFi{%
-      \InCa@@TimDigitCarry#1!%
-    }%
-  \fi
-}
-\def\InCa@@TimDigitCarry#1#2!#3{%
-  \csname InCa at DigitCarry#1%
-  \csname InCa at AddDigit#2\endcsname #3%
-}
-\def\intcalcMul#1#2{%
-  \number
-    \expandafter\InCa at MulSwitch
-    \number\number#1\expandafter!%
-    \number#2! %
-}
-\def\InCa at MulSwitch#1!#2!{%
-  \ifnum#1<\z@
-    \ifnum#2<\z@
-      \ifnum#1<#2 %
-        \expandafter\InCa at Mul\number-#1\expandafter!%
-        \@gobble#2!%
-      \else
-        \expandafter\InCa at Mul\number-#2\expandafter!%
-        \@gobble#1!%
-      \fi
-    \else
-      -%
-      \ifnum-#1>#2 %
-        \expandafter\InCa at Mul\@gobble#1!#2!%
-      \else
-        \expandafter\InCa at Mul\number#2\expandafter!%
-        \@gobble#1!%
-      \fi
-    \fi
-  \else
-    \ifnum#2<\z@
-      -%
-      \ifnum#1>-#2 %
-        \expandafter\InCa at Mul\number#1\expandafter!%
-        \@gobble#2!%
-      \else
-        \expandafter\InCa at Mul\@gobble#2!#1!%
-      \fi
-    \else
-      \ifnum#1>#2 %
-        \InCa at Mul#1!#2!%
-      \else
-        \InCa at Mul#2!#1!%
-      \fi
-    \fi
-  \fi
-}
-\def\IntCalcMul#1!#2!{%
-  \number\InCa at Mul#1!#2! %
-}
-\def\InCa at Mul#1!#2!{%
-  \ifcase#2 %
-    0%
-  \or
-    #1%
-  \or
-    \csname InCa at Empty%
-    \expandafter\InCa at Shl#1!%
-  \else
-    \ifnum#2<10 %
-      \InCa at Tim{#1}#2%
-    \else
-      \InCa at ProcessMul!#2!#1!%
-    \fi
-  \fi
-}
-\def\InCa at ProcessMul#1!#2#3!#4!{%
-  \ifx\InCa at Empty#3\InCa at Empty
-    \expandafter\InCa at Add\number
-    #10\expandafter\expandafter\expandafter!%
-    \InCa at Tim{#4}#2!%
-  \else
-    \ifx\InCa at Empty#1\InCa at Empty
-      \expandafter\expandafter\expandafter\InCa at ProcessMul
-      \InCa at Tim{#4}#2!%
-      #3!#4!%
-    \else
-      \expandafter\InCa at ProcessMul\number
-      \expandafter\InCa at Add\number%
-      #10\expandafter\expandafter\expandafter!%
-      \InCa at Tim{#4}#2!!%
-      #3!#4!%
-    \fi
-  \fi
-}
-\def\intcalcSqr#1{%
-  \number\expandafter\InCa at Sqr\number#1! %
-}
-\def\InCa at Sqr#1#2!{%
-  \ifx#1-%
-    \InCa at Mul#2!#2!%
-  \else
-    \InCa at Mul#1#2!#1#2!%
-  \fi
-}
-\def\intcalcFac#1{%
-  \number\expandafter\InCa at Fac\number#1! %
-}
-\def\intcalcPow#1#2{%
-  \number\expandafter\InCa at Pow
-  \number\number#1\expandafter!%
-  \number#2! %
-}
-\def\InCa at Pow#1#2!#3#4!{%
-  \ifcase#3#4 % power = 0
-    1%
-  \or % power = 1
-    #1#2%
-  \or % power = 2
-    \ifx#1-%
-      \InCa at Mul#2!#2!%
-    \else
-      \InCa at Mul#1#2!#1#2!%
-    \fi
-  \else
-    \ifcase#1#2 % basis = 0, power <> 0
-      0%
-      \ifx#3-% power < 0
-        0\IntCalcError:DivisionByZero%
-      \fi
-    \or
-      1% basis = 1
-    \else
-      \ifnum#1#2=\m at ne % basis = -1
-        \ifodd#3#4 %
-          -%
-        \fi
-        1%
-      \else % |basis| > 1
-        \ifx#3-% power < 0
-          0%
-        \else % power > 2
-          \ifx#1-% basis < 0
-            \ifodd#3#4 %
-              -%
-            \fi
-            \InCa at PowRec#2!#3#4!1!%
-          \else
-            \InCa at PowRec#1#2!#3#4!1!%
-          \fi
-        \fi
-      \fi
-    \fi
-  \fi
-}
-\def\InCa at PowRec#1!#2!#3!{%
-  \ifnum#2=\@ne
-    \ifnum#1>#3 %
-      \InCa at Mul#1!#3!%
-    \else
-      \InCa at Mul#3!#1!%
-    \fi
-  \else
-    \expandafter\InCa at PowRec
-    \number\InCa at Mul#1!#1!\expandafter!%
-    \number\intcalcShr{#2}\expandafter!%
-    \number
-    \ifodd#2 %
-      \ifnum#1>#3 %
-        \InCa at Mul#1!#3!%
-      \else
-        \InCa at Mul#3!#1!%
-      \fi
-    \else
-      #3%
-    \fi
-    \expandafter!%
-  \fi
-}
-\def\intcalcDiv#1#2{%
-  \number\expandafter\InCa at Div
-  \number\number#1\expandafter!%
-  \number#2! %
-}
-\def\InCa at Div#1!#2!{%
-  \ifcase#2 %
-    0\IntCalcError:DivisionByZero%
-  \else
-    \ifcase#1 %
-      0%
-    \else
-      \expandafter\InCa at DivSwitch
-      \number#1\expandafter!%
-      \number#2!%
-    \fi
-  \fi
-}
-\def\InCa at Temp#1{%
-  \def\IntCalcDiv##1!##2!{%
-    \number
-    \ifcase##2 %
-      0\IntCalcError:DivisionByZero%
-    \else
-      \ifcase##1 %
-        0%
-      \else
-        \InCa@@Div##1!##2!%
-      \fi
-    \fi
-    #1%
-  }%
-}
-\InCa at Temp{ }%
-\def\InCa at DivSwitch#1!#2!{%
-  \ifnum#1<\z@
-    \ifnum#2<\z@
-      \expandafter\InCa@@Div\number-#1\expandafter!%
-      \@gobble#2!%
-    \else
-      -%
-      \expandafter\InCa@@Div\@gobble#1!#2!%
-    \fi
-  \else
-    \ifnum#2<\z@
-      -%
-      \expandafter\InCa@@Div\number#1\expandafter!%
-      \@gobble#2!%
-    \else
-      \InCa@@Div#1!#2!%
-    \fi
-  \fi
-}
-\def\InCa@@Div#1!#2!{%
-  \ifnum#1>#2 %
-    \ifcase#2 % 0 already catched
-?     \IntCalcError:ThisCannotHappen%
-    \or % 1
-      #1%
-    \or % 2
-      \InCa at Shr#1!%
-    \else
-      \InCa at DivStart!#1!#2!#2!%
-    \fi
-  \else
-    \ifnum#1=#2 %
-      1%
-    \else
-      0%
-    \fi
-  \fi
-}
-\def\InCa at DivStart#1!#2#3!#4#5{%
-  \ifx#5!%
-    \@ReturnAfterElseFi{%
-      \InCa at DivStartI{#1#2}#3=!%
-    }%
-  \else
-    \@ReturnAfterFi{%
-      \InCa at DivStart{#1#2}!#3!#5%
-    }%
-  \fi
-}
-\def\InCa at DivStartI#1!#2!{%
-  \expandafter\InCa at DivStartII
-  \number#2\expandafter\expandafter\expandafter!%
-  \intcalcShl{#2}!%
-  #1!%
-}
-\def\InCa at DivStartII#1!#2!{%
-  \expandafter\InCa at DivStartIII
-  \number#1\expandafter!%
-  \number#2\expandafter\expandafter\expandafter!%
-  \intcalcShl{#2}!%
-}
-\def\InCa at DivStartIII#1!#2!#3!{%
-  \expandafter\InCa at DivStartIV
-  \number#1\expandafter!%
-  \number#2\expandafter!%
-  \number#3\expandafter!%
-  \number\InCa at Add#3!#2!\expandafter\expandafter\expandafter!%
-  \intcalcShl{#3}!%
-}
-\def\InCa at DivStartIV#1!#2!#3!#4!#5!#6!{%
-  \InCa at ProcessDiv#6!#1!#2!#3!#4!#5!/%
-}
-\def\InCa at ProcessDiv#1#2#3!#4!#5!#6!#7!#8!#9/{%
-  #9%
-  \ifnum#1<#4 % 0
-    0%
-    \ifx#2=%
-    \else
-      \InCa at ProcessDiv{#1#2}#3!#4!#5!#6!#7!#8!%
-    \fi
-  \else % 1-9
-    \ifnum#1<#5 % 1
-      1%
-      \ifx#2=%
-      \else
-        \expandafter\InCa at ProcessDiv\expandafter{%
-          \number\InCa at Sub#1!#4!%
-          #2%
-        }#3!#4!#5!#6!#7!#8!%
-      \fi
-    \else % 2-9
-      \ifnum#1<#7 % 2 3 4 5
-        \ifnum#1<#6 % 2 3
-          \@ReturnAfterElseFi{%
-            \expandafter\InCa@@ProcessDiv
-            \number\InCa at Sub#1!#5!!%
-            23%
-          }%
-        \else % 4 5
-          \@ReturnAfterFi{%
-            \expandafter\InCa@@ProcessDiv
-            \number\InCa at Sub#1!#6!!%
-            45%
-          }%
-        \fi
-        #2#3!#4!#5!#6!#7!#8!%
-      \else % 6 7 8 9
-        \ifnum#1<#8 % 6 7
-          \@ReturnAfterElseFi{%
-            \expandafter\InCa@@ProcessDiv
-            \number\InCa at Sub#1!#7!!%
-            67%
-          }%
-        \else % 8 9
-          \@ReturnAfterFi{%
-            \expandafter\InCa@@ProcessDiv
-            \number\InCa at Sub#1!#8!!%
-            89%
-          }%
-        \fi
-        #2#3!#4!#5!#6!#7!#8!%
-      \fi
-    \fi
-  \fi
-  \ifx#2=%
-    \expandafter\@gobble
-  \fi
-  /%
-}
-\def\InCa@@ProcessDiv#1!#2#3#4#5!#6!{%
-  \ifnum#1<#6 %
-    #2%
-    \@ReturnAfterElseFi{%
-      \ifx#4=%
-        \expandafter\InCa at CleanupIV
-      \else
-        \@ReturnAfterFi{%
-          \InCa at ProcessDiv{#1#4}#5!#6!%
-        }%
-      \fi
-    }%
-  \else
-    #3%
-    \@ReturnAfterFi{%
-      \ifx#4=%
-        \expandafter\InCa at CleanupIV
-      \else
-        \@ReturnAfterFi{%
-          \expandafter\InCa at ProcessDiv\expandafter{%
-            \number\InCa at Sub#1!#6! %
-            #4%
-          }#5!#6!%
-        }%
-      \fi
-    }%
-  \fi
-}
-\def\InCa at CleanupIV#1!#2!#3!#4!{}
-\def\intcalcMod#1#2{%
-  \number\expandafter\InCa at Mod
-  \number\number#1\expandafter!%
-  \number#2! %
-}
-\def\InCa at Mod#1!#2!{%
-  \ifcase#2 %
-    0\IntCalcError:DivisionByZero%
-  \else
-    \ifnum#2<\z@
-      -%
-      \expandafter\InCa at Mod
-      \number-#1\expandafter!%
-      \number-#2!%
-    \else
-      \ifcase#1 %
-        0%
-      \else
-        \ifcase#2 % 0 already catched
-?         \IntCalcError:ThisCannotHappen%
-        \or % 1
-          0%
-        \or % 2
-          \ifodd#1 1\else 0\fi
-        \else
-          \ifnum#1<\z@
-            \expandafter\InCa at ModShift
-            \number-%
-              \expandafter\InCa at Sub
-              \number\@gobble#1\expandafter!%
-              \number\intcalcMul{#2}{%
-                \expandafter\InCa at Div\@gobble#1!#2!%
-              }!%
-            !#2!%
-          \else
-            \expandafter\InCa at Sub\number#1\expandafter!%
-            \number\intcalcMul{#2}{\InCa at Div#1!#2!}!%
-          \fi
-        \fi
-      \fi
-    \fi
-  \fi
-}
-\def\InCa at Temp#1{%
-  \def\IntCalcMod##1!##2!{%
-    \number
-    \ifcase##2 %
-      0\IntCalcError:DivisionByZero%
-    \else
-      \ifcase##1 %
-        0%
-      \else
-        \ifcase##2 % 0 already catched
-?         \IntCalcError:ThisCannotHappen
-        \or % 1
-          0%
-        \or % 2
-          \ifodd ##1 1\else 0\fi
-        \else
-          \expandafter\InCa at Sub\number##1\expandafter!%
-          \number\intcalcMul{##2}{\InCa at Div##1!##2!}!%
-        \fi
-      \fi
-    \fi
-    #1%
-  }%
-}
-\InCa at Temp{ }%
-\def\InCa at ModShift#1!#2!{%
-  \ifnum#1<\z@
-    \expandafter\InCa at Sub\number#2\expandafter!%
-    \@gobble#1!%
-  \else
-    #1%
-  \fi
-}
-\def\InCa at Empty{}
-\expandafter\ifx\csname @gobble\endcsname\relax
-  \long\def\@gobble#1{}%
-\fi
-\long\def\@ReturnAfterFi#1\fi{\fi#1}%
-\long\def\@ReturnAfterElseFi#1\else#2\fi{\fi#1}%
-\InCa at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `intcalc.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,196 +0,0 @@
-%%
-%% This is file `kvdefinekeys.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% kvdefinekeys.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: kvdefinekeys
-%% Version: 2016/05/16 v1.4
-%% 
-%% Copyright (C)
-%%    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 kvdefinekeys.dtx
-%% and the derived files
-%%    kvdefinekeys.sty, kvdefinekeys.pdf, kvdefinekeys.ins, kvdefinekeys.drv,
-%%    kvdefinekeys-test1.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 kvdefinekeys.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{kvdefinekeys}{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 kvdefinekeys.sty\endcsname
-\ProvidesPackage{kvdefinekeys}%
-  [2016/05/16 v1.4 Define keys (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname KVD 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\KVD at AtEnd{%
-    \KVD at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{42}{12}% *
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\edef\KVD at AtEnd{\KVD 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/03/01]%
-\else
-  \RequirePackage{ltxcmds}[2010/03/01]%
-\fi
-\ltx at IfUndefined{protected}{%
-  \ltx at IfUndefined{DeclareRobustCommand}{%
-    \def\kv at define@key#1#2%
-  }{%
-    \DeclareRobustCommand*{\kv at define@key}[2]%
-  }%
-}{%
-  \protected\def\kv at define@key#1#2%
-}%
-{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-    \edef\KVD at temp{\endgroup
-      \noexpand\KVD at DefineKey{#1}{#2}%
-    }%
-  \KVD at temp
-}
-\def\KVD at DefineKey#1#2{%
-  \ltx at ifnextchar[{%
-    \KVD at DefineKeyWithDefault{#1}{#2}%
-  }{%
-    \long\expandafter\def\csname KV@#1@#2\endcsname##1%
-  }%
-}
-\long\def\KVD at DefineKeyWithDefault#1#2[#3]{%
-  \expandafter\def\csname KV@#1@#2 at default\expandafter\endcsname
-  \expandafter{%
-    \csname KV@#1@#2\endcsname{#3}%
-  }%
-  \long\expandafter\def\csname KV@#1@#2\endcsname##1%
-}
-\KVD at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `kvdefinekeys.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,584 +0,0 @@
-%%
-%% This is file `kvsetkeys.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% kvsetkeys.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: kvsetkeys
-%% Version: 2016/05/16 v1.17
-%% 
-%% Copyright (C)
-%%    2006, 2007, 2009-2012 Heiko Oberdiek
-%%    2016-2019 Oberdiek Package Support Group
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    https://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainers of this work are
-%% Heiko Oberdiek and the Oberdiek Package Support Group
-%% https://github.com/ho-tex/oberdiek/issues
-%% 
-%% 
-%% 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 kvsetkeys.dtx
-%% and the derived files
-%%    kvsetkeys.sty, kvsetkeys.pdf, kvsetkeys.ins, kvsetkeys.drv,
-%%    kvsetkeys-example.tex, kvsetkeys-test1.tex,
-%%    kvsetkeys-test2.tex, kvsetkeys-test3.tex,
-%%    kvsetkeys-test4.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 kvsetkeys.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{kvsetkeys}{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 kvsetkeys.sty\endcsname
-\ProvidesPackage{kvsetkeys}%
-  [2016/05/16 v1.17 Key value parser (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname KVS 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\KVS at AtEnd{%
-    \KVS at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{36}{3}% $
-\TMP at EnsureCode{38}{4}% &
-\TMP at EnsureCode{39}{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{91}{12}% [
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{94}{7}% ^ (superscript)
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{126}{13}% ~ (active)
-\edef\KVS at AtEnd{\KVS 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{infwarerr}[2007/09/09]%
-  \TMP at RequirePackage{etexcmds}[2010/01/28]%
-\else
-  \RequirePackage{infwarerr}[2007/09/09]%
-  \RequirePackage{etexcmds}[2010/01/28]%
-\fi
-\expandafter\ifx\csname toks@\endcsname\relax
-  \toksdef\toks@=0 %
-\fi
-\begingroup\expandafter\endgroup
-\ifcase0\ifetex at unexpanded
-          \expandafter\ifx\csname ifcsname\endcsname\relax
-          \else
-            \expandafter\ifx\csname unless\endcsname\relax
-            \else
-              1%
-            \fi
-          \fi
-        \fi
-  \catcode`\$=9 % ignore
-  \catcode`\&=14 % comment
-\else % e-TeX
-  \catcode`\$=14 % comment
-  \catcode`\&=9  % ignore
-\fi
-\def\KVS at Empty{}
-\long\def\KVS at FirstOfTwo#1#2{#1}
-\long\def\KVS at SecondOfTwo#1#2{#2}
-\long\def\KVS at IfEmpty#1{%
-& \edef\KVS at Temp{\etex at unexpanded{#1}}%
-$ \begingroup
-$   \toks@{#1}%
-$   \edef\KVS at Temp{\the\toks@}%
-$ \expandafter\endgroup
-  \ifx\KVS at Temp\KVS at Empty
-    \expandafter\KVS at FirstOfTwo
-  \else
-    \expandafter\KVS at SecondOfTwo
-  \fi
-}
-\long\def\kv at normalize#1{%
-  \begingroup
-    \toks@{,#1,}%
-    \KVS at Comma
-    \KVS at SpaceComma
-    \KVS at CommaSpace
-    \KVS at CommaComma
-    \KVS at Equals
-    \KVS at SpaceEquals
-    \KVS at EqualsSpace
-    \xdef\KVS at Global{\the\toks@}%
-  \endgroup
-  \let\kv at list\KVS at Global
-}
-\def\comma at normalize#1{%
-  \begingroup
-    \toks@{,#1,}%
-    \KVS at Comma
-    \KVS at SpaceComma
-    \KVS at CommaSpace
-    \KVS at CommaComma
-    \xdef\KVS at Global{\the\toks@}%
-  \endgroup
-  \let\comma at list\KVS at Global
-}
-\begingroup
-  \lccode`\,=`\,%
-  \lccode`\~=`\,%
-\lowercase{\endgroup
-  \def\KVS at Comma{%
-    \toks@\expandafter{\expandafter}\expandafter
-    \KVS@@Comma\the\toks@~\KVS at Nil
-  }%
-  \long\def\KVS@@Comma#1~#2\KVS at Nil{%
-    \toks@\expandafter{\the\toks@#1}%
-    \KVS at IfEmpty{#2}{%
-    }{%
-      \KVS@@Comma,#2\KVS at Nil
-    }%
-  }%
-}
-\def\KVS at SpaceComma#1{%
-  \def\KVS at SpaceComma{%
-    \expandafter\KVS@@SpaceComma\the\toks@#1,\KVS at Nil
-  }%
-}
-\KVS at SpaceComma{ }
-\long\def\KVS@@SpaceComma#1 ,#2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1}%
-  }{%
-    \KVS@@SpaceComma#1,#2\KVS at Nil
-  }%
-}
-\def\KVS at CommaSpace{%
-  \expandafter\KVS@@CommaSpace\the\toks@, \KVS at Nil
-}
-\long\def\KVS@@CommaSpace#1, #2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1}%
-  }{%
-    \KVS@@CommaSpace#1,#2\KVS at Nil
-  }%
-}
-\def\KVS at CommaComma{%
-  \expandafter\KVS@@CommaComma\the\toks@,\KVS at Nil
-}
-\long\def\KVS@@CommaComma#1,,#2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1,}% (!)
-  }{%
-    \KVS@@CommaComma#1,#2\KVS at Nil
-  }%
-}
-\begingroup
-  \lccode`\==`\=%
-  \lccode`\~=`\=%
-\lowercase{\endgroup
-  \def\KVS at Equals{%
-    \toks@\expandafter{\expandafter}\expandafter
-    \KVS@@Equals\the\toks@~\KVS at Nil
-  }%
-  \long\def\KVS@@Equals#1~#2\KVS at Nil{%
-    \edef\KVS at Temp{\the\toks@}%
-    \ifx\KVS at Temp\KVS at Empty
-      \expandafter\KVS at FirstOfTwo
-    \else
-      \expandafter\KVS at SecondOfTwo
-    \fi
-    {%
-      \toks@{#1}%
-    }{%
-      \toks@\expandafter{\the\toks@=#1}%
-    }%
-    \KVS at IfEmpty{#2}{%
-    }{%
-      \KVS@@Equals#2\KVS at Nil
-    }%
-  }%
-}
-\def\KVS at SpaceEquals#1{%
-  \def\KVS at SpaceEquals{%
-    \expandafter\KVS@@SpaceEquals\the\toks@#1=\KVS at Nil
-  }%
-}
-\KVS at SpaceEquals{ }
-\long\def\KVS@@SpaceEquals#1 =#2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1}%
-  }{%
-    \KVS@@SpaceEquals#1=#2\KVS at Nil
-  }%
-}
-\def\KVS at EqualsSpace{%
-  \expandafter\KVS@@EqualsSpace\the\toks@= \KVS at Nil
-}
-\long\def\KVS@@EqualsSpace#1= #2\KVS at Nil{%
-  \KVS at IfEmpty{#2}{%
-    \toks@{#1}%
-  }{%
-    \KVS@@EqualsSpace#1=#2\KVS at Nil
-  }%
-}
-\long\def\kv at parse#1{%
-  \kv at normalize{#1}%
-  \expandafter\kv at parse@normalized\expandafter{\kv at list}%
-}
-\long\def\kv at parse@normalized#1#2{%
-  \KVS at Parse#1,\KVS at Nil{#2}%
-}
-\long\def\KVS at Parse#1,#2\KVS at Nil#3{%
-  \KVS at IfEmpty{#1}{%
-  }{%
-    \KVS at Process#1=\KVS at Nil{#3}%
-  }%
-  \KVS at MaybeBreak
-  \KVS at IfEmpty{#2}{%
-  }{%
-    \KVS at Parse#2\KVS at Nil{#3}%
-  }%
-}
-\long\def\KVS at Process#1=#2\KVS at Nil#3{%
-  \let\KVS at MaybeBreak\relax
-  \def\kv at key{#1}%
-  \KVS at IfEmpty{#2}{%
-    \let\kv at value\relax
-    #3{#1}{}%
-  }{%
-    \KVS@@Process{#1}#2\KVS at Nil{#3}%
-  }%
-}
-\long\def\KVS@@Process#1#2=\KVS at Nil#3{%
-& \edef\kv at value{\etex at unexpanded{#2}}%
-$ \begingroup
-$   \toks@{#2}%
-$   \xdef\KVS at Global{\the\toks@}%
-$ \endgroup
-$ \let\kv at value\KVS at Global
-  #3{#1}{#2}%
-}
-\let\KVS at MaybeBreak\relax
-\def\KVS at break#1#2#3#4{%
-  \let\KVS at MaybeBreak\relax
-}
-\def\kv at break{%
-  \let\KVS at MaybeBreak\KVS at break
-}
-\def\comma at parse#1{%
-  \comma at normalize{#1}%
-  \expandafter\comma at parse@normalized\expandafter{\comma at list}%
-}
-\def\comma at parse@normalized#1#2{%
-  \KVS at CommaParse#1,\KVS at Nil{#2}%
-}
-\def\KVS at CommaParse#1,#2\KVS at Nil#3{%
-  \KVS at IfEmpty{#1}{%
-  }{%
-    \def\comma at entry{#1}%
-    #3{#1}%
-  }%
-  \KVS at MaybeBreak
-  \KVS at IfEmpty{#2}{%
-  }{%
-    \KVS at CommaParse#2\KVS at Nil{#3}%
-  }%
-}
-\def\comma at break{%
-  \let\KVS at MaybeBreak\KVS at break
-}
-\def\kv at handled@false{%
-  \let\ifkv at handled@\iffalse
-}
-\def\kv at handled@true{%
-  \let\ifkv at handled@\iftrue
-}
-\kv at handled@true
-\def\kv at processor@default#1#2{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-    \edef\KVS at temp{\endgroup
-      \noexpand\KVS at ProcessorDefault{#1}{#2}%
-    }%
-  \KVS at temp
-}
-\long\def\KVS at ProcessorDefault#1#2#3{%
-  \def\kv at fam{#1}%
-& \unless\ifcsname KV@#1@#2\endcsname
-$ \begingroup\expandafter\expandafter\expandafter\endgroup
-$ \expandafter\ifx\csname KV@#1@#2\endcsname\relax
-&   \unless\ifcsname KVS@#1 at handler\endcsname
-$   \begingroup\expandafter\expandafter\expandafter\endgroup
-$   \expandafter\ifx\csname KVS@#1 at handler\endcsname\relax
-      \kv at error@unknownkey{#1}{#2}%
-    \else
-      \kv at handled@true
-      \csname KVS@#1 at handler\endcsname{#2}{#3}%
-      \relax
-      \ifkv at handled@
-      \else
-        \kv at error@unknownkey{#1}{#2}%
-      \fi
-    \fi
-  \else
-    \ifx\kv at value\relax
-&     \unless\ifcsname KV@#1@#2 at default\endcsname
-$     \begingroup\expandafter\expandafter\expandafter\endgroup
-$     \expandafter\ifx\csname KV@#1@#2 at default\endcsname\relax
-        \kv at error@novalue{#1}{#2}%
-      \else
-        \csname KV@#1@#2 at default\endcsname
-        \relax
-      \fi
-    \else
-      \csname KV@#1@#2\endcsname{#3}%
-    \fi
-  \fi
-}
-\def\kv at processor@known#1#2#3{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-    \edef\KVS at temp{\endgroup
-      \noexpand\KVS at ProcessorKnown{#1}\noexpand#2{#3}%
-    }%
-  \KVS at temp
-}
-\long\def\KVS at ProcessorKnown#1#2#3#4{%
-  \def\kv at fam{#1}%
-& \unless\ifcsname KV@#1@#3\endcsname
-$ \begingroup\expandafter\expandafter\expandafter\endgroup
-$ \expandafter\ifx\csname KV@#1@#3\endcsname\relax
-&   \unless\ifcsname KVS@#1 at handler\endcsname
-$   \begingroup\expandafter\expandafter\expandafter\endgroup
-$   \expandafter\ifx\csname KVS@#1 at handler\endcsname\relax
-      \KVS at AddUnhandled#2{#3}{#4}%
-    \else
-      \kv at handled@true
-      \csname KVS@#1 at handler\endcsname{#3}{#4}%
-      \relax
-      \ifkv at handled@
-      \else
-        \KVS at AddUnhandled#2{#3}{#4}%
-      \fi
-    \fi
-  \else
-    \ifx\kv at value\relax
-&     \unless\ifcsname KV@#1@#2 at default\endcsname
-$     \begingroup\expandafter\expandafter\expandafter\endgroup
-$     \expandafter\ifx\csname KV@#1@#3 at default\endcsname\relax
-        \kv at error@novalue{#1}{#3}%
-      \else
-        \csname KV@#1@#3 at default\endcsname
-        \relax
-      \fi
-    \else
-      \csname KV@#1@#3\endcsname{#4}%
-    \fi
-  \fi
-}
-\long\def\KVS at AddUnhandled#1#2#3{%
-& \edef#1{%
-&   \ifx#1\KVS at empty
-&   \else
-&     \etex at unexpanded{#1},%
-&   \fi
-&   \etex at unexpanded{{#2}={#3}}%
-& }%
-$ \begingroup
-$   \ifx#1\KVS at empty
-$     \toks@{{#2}={#3}}%
-$   \else
-$     \toks@\expandafter{#1,{#2}={#3}}%
-$   \fi
-$   \xdef\KVS at Global{\the\toks@}%
-$ \endgroup
-$ \let#1\KVS at Global
-}
-\long\def\kv at set@family at handler#1#2{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-  \expandafter\endgroup
-  \expandafter\def\csname KVS@#1 at handler\endcsname##1##2{#2}%
-}
-\long\def\kv at unset@family at handler#1#2{%
-  \begingroup
-    \csname @safe at activestrue\endcsname
-    \let\ifincsname\iftrue
-  \expandafter\endgroup
-  \expandafter\let\csname KVS@#1 at handler\endcsname\@UnDeFiNeD
-}
-\def\kv at error@novalue{%
-  \kv at error@generic{No value specified for}%
-}
-\def\kv at error@unknownkey{%
-  \kv at error@generic{Undefined}%
-}
-\def\kv at error@generic#1#2#3{%
-  \@PackageError{kvsetkeys}{%
-    #1 key `#3'%
-  }{%
-    The keyval family of the key `#3' is `#2'.\MessageBreak
-    The setting of the key is ignored because of the error.\MessageBreak
-    \MessageBreak
-    \@ehc
-  }%
-}
-\long\def\kvsetkeys#1#2{%
-  \kv at parse{#2}{\kv at processor@default{#1}}%
-}
-\def\kvsetkeys at expandafter#1#2{%
-  \expandafter\kv at parse\expandafter{#2}{%
-    \kv at processor@default{#1}%
-  }%
-}
-\def\KVS at cmd{0}%
-\def\KVS at cmd@inc{%
-& \edef\KVS at cmd{\the\numexpr\KVS at cmd+1}%
-$ \begingroup
-$   \count255=\KVS at cmd\relax
-$   \advance\count255 by 1\relax
-$ \edef\x{\endgroup
-$   \noexpand\def\noexpand\KVS at cmd{\number\count255}%
-$ }%
-$ \x
-}
-\def\KVS at cmd@dec{%
-& \edef\KVS at cmd{\the\numexpr\KVS at cmd-1}%
-$ \begingroup
-$   \count255=\KVS at cmd\relax
-$   \advance\count255 by -1\relax
-$ \edef\x{\endgroup
-$   \noexpand\def\noexpand\KVS at cmd{\number\count255}%
-$ }%
-$ \x
-}
-\def\KVS at empty{}
-\def\kvsetknownkeys{%
-  \expandafter
-  \KVS at setknownkeys\csname KVS at cmd\KVS at cmd\endcsname{}%
-}
-\long\def\KVS at setknownkeys#1#2#3#4#5{%
-  \let#1\KVS at empty
-  \KVS at cmd@inc
-  #2\kv at parse#2{#5}{\kv at processor@known{#3}#1}%
-  \KVS at cmd@dec
-  \let#4=#1%
-}
-\def\kvsetknownkeys at expandafter{%
-  \expandafter
-  \KVS at setknownkeys
-      \csname KVS at cmd\KVS at cmd\endcsname\expandafter
-}
-\KVS at AtEnd%
-%% \section{Installation}
-\endinput
-%%
-%% End of file `kvsetkeys.sty'.

Deleted: trunk/Master/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/oberdiek/ltxcmds.sty	2019-12-17 23:29:51 UTC (rev 53173)
+++ trunk/Master/texmf-dist/tex/generic/oberdiek/ltxcmds.sty	2019-12-17 23:31:05 UTC (rev 53174)
@@ -1,752 +0,0 @@
-%%
-%% This is file `ltxcmds.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% ltxcmds.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% Project: ltxcmds
-%% Version: 2016/05/16 v1.23
-%% 
-%% Copyright (C)
-%%    2009-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 ltxcmds.dtx
-%% and the derived files
-%%    ltxcmds.sty, ltxcmds.pdf, ltxcmds.ins, ltxcmds.drv,
-%%    ltxcmds-test1.tex, ltxcmds-test-gobble.tex,
-%%    ltxcmds-test-ifempty.tex, ltxcmds-test-zapspace.tex,
-%%    ltxcmds-test-ifboxempty.tex, ltxcmds-test-nextchar.tex,
-%%    ltxcmds-test-carcdr.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 ltxcmds.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{ltxcmds}{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 ltxcmds.sty\endcsname
-\ProvidesPackage{ltxcmds}%
-  [2016/05/16 v1.23 LaTeX kernel commands for general use (HO)]%
-\begingroup\catcode61\catcode48\catcode32=10\relax%
-  \catcode13=5 % ^^M
-  \endlinechar=13 %
-  \catcode123=1 % {
-  \catcode125=2 % }
-  \catcode64=11 % @
-  \def\x{\endgroup
-    \expandafter\edef\csname LTXcmds 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\LTXcmds at AtEnd{%
-    \LTXcmds at AtEnd
-    \catcode#1=\the\catcode#1\relax
-  }%
-  \catcode#1=#2\relax
-}
-\TMP at EnsureCode{36}{3}% $
-\TMP at EnsureCode{38}{4}% &
-\TMP at EnsureCode{40}{12}% (
-\TMP at EnsureCode{41}{12}% )
-\TMP at EnsureCode{45}{12}% -
-\TMP at EnsureCode{46}{12}% .
-\TMP at EnsureCode{47}{12}% /
-\TMP at EnsureCode{60}{12}% <
-\TMP at EnsureCode{62}{12}% >
-\TMP at EnsureCode{91}{12}% [
-\TMP at EnsureCode{96}{12}% `
-\TMP at EnsureCode{93}{12}% ]
-\TMP at EnsureCode{94}{12}% ^ (superscript) (!)
-\TMP at EnsureCode{124}{12}% |
-\edef\LTXcmds at AtEnd{\LTXcmds at AtEnd\noexpand\endinput}
-\chardef\ltx at zero=0 %
-\chardef\ltx at one=1 %
-\chardef\ltx at two=2 %
-\chardef\ltx at active=13 %
-\chardef\ltx at cclv=255 %
-\def\ltx at minusone{%
-  -\ltx at one
-}
-\toksdef\ltx at LocToksA=0 %
-\toksdef\ltx at LocToksB=2 %
-\toksdef\ltx at LocToksC=4 %
-\toksdef\ltx at LocToksD=6 %
-\toksdef\ltx at LocToksE=8 %
-\toksdef\ltx at GlobToksA=1 %
-\toksdef\ltx at GlobToksB=3 %
-\toksdef\ltx at GlobToksC=5 %
-\toksdef\ltx at GlobToksD=7 %
-\toksdef\ltx at GlobToksE=9 %
-\dimendef\ltx at LocDimenA=0 %
-\dimendef\ltx at LocDimenB=2 %
-\dimendef\ltx at LocDimenC=4 %
-\dimendef\ltx at LocDimenD=6 %
-\dimendef\ltx at LocDimenE=8 %
-\dimendef\ltx at GlobDimenA=1 %
-\dimendef\ltx at GlobDimenB=3 %
-\dimendef\ltx at GlobDimenC=5 %
-\dimendef\ltx at GlobDimenD=7 %
-\dimendef\ltx at GlobDimenE=9 %
-\skipdef\ltx at LocSkipA=0 %
-\skipdef\ltx at LocSkipB=2 %
-\skipdef\ltx at LocSkipC=4 %
-\skipdef\ltx at LocSkipD=6 %
-\skipdef\ltx at LocSkipE=8 %
-\skipdef\ltx at GlobSkipA=1 %
-\skipdef\ltx at GlobSkipB=3 %
-\skipdef\ltx at GlobSkipC=5 %
-\skipdef\ltx at GlobSkipD=7 %
-\skipdef\ltx at GlobSkipE=9 %
-\long\def\ltx at gobble#1{}
-\long\def\ltx at gobbletwo#1#2{}
-\long\def\ltx at gobblethree#1#2#3{}
-\long\def\ltx at gobblefour#1#2#3#4{}
-\def\ltx at GobbleNum#1{%
-  \romannumeral
-  \csname ltx at zero%
-  \expandafter\LTXcmds at GobbleNum
-  \romannumeral\LTXcmds at num{#1}000{m\endcsname}%
-}
-\def\LTXcmds at GobbleNum#1{%
-  \csname LTXcmds at G#1\LTXcmds at GobbleNum
-}
-\long\def\LTXcmds at Gm#1{%
-  \endcsname
-}
-\long\def\ltx at firstofone#1{#1}
-\long\def\ltx at firstoftwo#1#2{#1}
-\long\def\ltx at secondoftwo#1#2{#2}
-\long\def\ltx at firstofthree#1#2#3{#1}
-\long\def\ltx at secondofthree#1#2#3{#2}
-\long\def\ltx at thirdofthree#1#2#3{#3}%
-\long\def\ltx at firstoffour#1#2#3#4{#1}
-\long\def\ltx at secondoffour#1#2#3#4{#2}
-\long\def\ltx at thirdoffour#1#2#3#4{#3}%
-\long\def\ltx at fourthoffour#1#2#3#4{#4}%
-\long\def\ltx at carzero#1\@nil{}%
-\long\def\LTXcmds at cdrzero#1\@nil{#1}
-\def\ltx at cdrzero{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-\long\def\ltx at car#1#2\@nil{#1}
-\long\def\ltx at cdr#1{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-\long\def\ltx at cartwo#1#2#3\@nil{#1#2}
-\long\def\ltx at carsecond#1#2#3\@nil{#2}
-\long\def\ltx at cdrtwo#1#2{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-\long\def\ltx at carthree#1#2#3#4\@nil{#1#2#3}
-\long\def\ltx at carthird#1#2#3#4\@nil{#3}
-\long\def\ltx at cdrthree#1#2#3{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-\long\def\ltx at carfour#1#2#3#4#5\@nil{#1#2#3#4}
-\long\def\ltx at carfourth#1#2#3#4#5\@nil{#4}
-\long\def\ltx at cdrfour#1#2#3#4{%
-  \romannumeral\LTXcmds at cdrzero\ltx at zero
-}
-\def\ltx at CarNum#1{%
-  \romannumeral
-  \csname LTXcmds at CarNumFinish%
-  \expandafter\LTXcmds at CarNum
-  \romannumeral\LTXcmds at num{#1}000{x\endcsname}%
-}
-\def\LTXcmds at CarNum#1{%
-  \csname LTXcmds at C#1\LTXcmds at CarNum
-}
-\long\def\LTXcmds at Cm#1#2{%
-  \endcsname{#1#2}%
-}
-\def\LTXcmds at Cx#1{%
-  \endcsname{}%
-}
-\long\def\LTXcmds at CarNumFinish#1#2\@nil{%
-  \ltx at zero
-  #1%
-}
-\def\ltx at CarNumth#1{%
-  \romannumeral
-  \expandafter\expandafter\expandafter
-  \LTXcmds at CarNumth
-  \ltx at GobbleNum{#1}{}%
-}
-\long\def\LTXcmds at CarNumth#1#2\@nil{%
-  \ltx at zero
-  #1%
-}
-\def\ltx at CdrNum#1{%
-  \romannumeral%
-  \expandafter\expandafter\expandafter\ltx at cdrzero
-  \expandafter\expandafter\expandafter\ltx at zero
-  \ltx at GobbleNum{#1}%
-}
-\long\def\ltx at ReturnAfterFi#1\fi{\fi#1}
-\long\def\ltx at ReturnAfterElseFi#1\else#2\fi{\fi#1}
-\def\ltx at empty{}
-\def\ltx at space{ }
-\begingroup
-  \lccode`0=`\%\relax
-\lowercase{\endgroup
-  \def\ltx at percentchar{0}%
-}
-\begingroup
-  \lccode`0=`\\\relax
-\lowercase{\endgroup
-  \def\ltx at backslashchar{0}%
-}
-\begingroup
-  \lccode`0=`\#\relax
-\lowercase{\endgroup
-  \def\ltx at hashchar{0}%
-}
-\begingroup
-  \lccode`0=`\{\relax
-\lowercase{\endgroup
-  \def\ltx at leftbracechar{0}%
-}
-\begingroup
-  \lccode`0=`\}\relax
-\lowercase{\endgroup
-  \def\ltx at rightbracechar{0}%
-}
-\def\ltx at newif#1{%
-  \begingroup
-    \escapechar=-1 %
-  \expandafter\endgroup
-  \expandafter\LTXcmds at newif\string#1\@nil
-}
-\begingroup
-  \escapechar=-1 %
-\expandafter\endgroup
-\expandafter\def\expandafter\LTXcmds at newif\string\if#1\@nil{%
-  \expandafter\edef\csname#1true\endcsname{%
-    \let
-    \expandafter\noexpand\csname if#1\endcsname
-    \noexpand\iftrue
-  }%
-  \expandafter\edef\csname#1false\endcsname{%
-    \let
-    \expandafter\noexpand\csname if#1\endcsname
-    \noexpand\iffalse
-  }%
-  \csname#1false\endcsname
-}
-\def\ltx at newglobalif#1{%
-  \begingroup
-    \escapechar=-1 %
-  \expandafter\endgroup
-  \expandafter\LTXcmds at newglobalif\string#1\@nil
-}
-\begingroup
-  \escapechar=-1 %
-\expandafter\endgroup
-\expandafter
-\def\expandafter\LTXcmds at newglobalif\string\if#1\@nil{%
-  \expandafter\edef\csname#1true\endcsname{%
-    \global\let
-    \expandafter\noexpand\csname if#1\endcsname
-    \noexpand\iftrue
-  }%
-  \expandafter\edef\csname#1false\endcsname{%
-    \global\let
-    \expandafter\noexpand\csname if#1\endcsname
-    \noexpand\iffalse
-  }%
-  \csname#1false\endcsname
-}
-\def\ltx at LocalExpandAfter{%
-  \begingroup
-    \expandafter\expandafter\expandafter
-  \endgroup
-  \expandafter
-}
-\ltx at LocalExpandAfter
-\ifx\csname ifcsname\endcsname\relax
-  \def\ltx at ifundefined#1{%
-    \expandafter\ifx\csname #1\endcsname\relax
-      \expandafter\ltx at firstoftwo
-    \else
-      \expandafter\ltx at secondoftwo
-    \fi
-  }%
-  \def\ltx at IfUndefined#1{%
-    \begingroup\expandafter\expandafter\expandafter\endgroup
-    \expandafter\ifx\csname #1\endcsname\relax
-      \expandafter\ltx at firstoftwo
-    \else
-      \expandafter\ltx at secondoftwo
-    \fi
-  }%
-  \expandafter\ltx at gobble
-\else
-  \expandafter\ltx at firstofone
-\fi
-{%
-  \def\ltx at ifundefined#1{%
-    \ifcsname #1\endcsname
-      \expandafter\ifx\csname #1\endcsname\relax
-        \expandafter\expandafter\expandafter\ltx at firstoftwo
-      \else
-        \expandafter\expandafter\expandafter\ltx at secondoftwo
-      \fi
-    \else
-      \expandafter\ltx at firstoftwo
-    \fi
-  }%
-  \let\ltx at IfUndefined\ltx at ifundefined
-}
-\def\ltx at RemovePrefix#1>{}
-\def\ltx at StripPrefix{%
-  \expandafter\ltx at RemovePrefix
-}
-\def\ltx at onelevel@sanitize#1{%
-  \edef#1{%
-    \expandafter
-    \ltx at RemovePrefix\meaning#1%
-  }%
-}
-\def\ltx at clsextension{cls}
-\def\ltx at pkgextension{sty}
-\def\ltx at iffileloaded#1{%
-  \ltx at ifundefined{ver@#1}\ltx at secondoftwo\ltx at firstoftwo
-}
-\def\ltx at ifclassloaded#1{%
-  \ltx at iffileloaded{#1.\ltx at clsextension}%
-}
-\def\ltx at ifpackageloaded#1{%
-  \ltx at iffileloaded{#1.\ltx at pkgextension}%
-}
-\def\ltx at iffilelater#1#2{%
-  \ltx at iffileloaded{#1}{%
-    \expandafter\LTXcmds at IfLater\expandafter{%
-      \number
-      \expandafter\expandafter\expandafter\LTXcmds at ParseVersion
-      \expandafter\expandafter\expandafter{%
-        \csname ver@#1\endcsname
-      }%
-    \expandafter}\expandafter{%
-      \number
-      \expandafter\LTXcmds at ParseVersion\expandafter{#2}%
-    }%
-  }\ltx at secondoftwo
-}
-\def\LTXcmds at IfLater#1#2{%
-  \ifcase 0%
-      \ifnum#1<19940101 %
-      \else
-        \ifnum#2<19940101 %
-        \else
-          \ifnum#2>#1 %
-          \else
-            1%
-          \fi
-        \fi
-      \fi
-      \ltx at space
-    \expandafter\ltx at secondoftwo
-  \else
-    \expandafter\ltx at firstoftwo
-  \fi
-}
-\def\ltx at ifclasslater#1{%
-  \ltx at iffilelater{#1.\ltx at clsextension}%
-}
-\def\ltx at ifpackagelater#1{%
-  \ltx at iffilelater{#1.\ltx at pkgextension}%
-}
-\ltx at IfUndefined{pdfmatch}{%
-  \def\LTXcmds at ParseVersion#1{%
-    \LTXcmds@@ParseVersion#10000/00/00\@nil
-  }%
-  \def\LTXcmds@@ParseVersion#1#2#3#4/#5#6/#7#8#9\@nil{%
-    #1#2#3#4#5#6#7#8%
-  }%
-}{%
-  \def\LTXcmds at ParseVersion#1{%
-    \ifnum\pdfmatch{%
-      ^%
-      (199[4-9]|[2-9][0-9][0-9][0-9])/%
-      (0[1-9]|1[0-2])/%
-      (0[1-9]|[1-2][0-9]|3[0-1])%
-    }{#1}=1 %
-      \ltx at StripPrefix\pdflastmatch1 %
-      \ltx at StripPrefix\pdflastmatch2 %
-      \ltx at StripPrefix\pdflastmatch3 %
-    \else
-      0%
-    \fi
-  }%
-}
-\long\def\ltx at GlobalAppendToMacro#1#2{%
-  \ifx\ltx at undefined#1%
-    \let#1\ltx at empty
-  \else
-    \ifx\relax#1%
-      \let#1\ltx at empty
-    \fi
-  \fi
-  \begingroup
-    \ltx at LocToksA\expandafter{#1#2}%
-    \xdef#1{\the\ltx at LocToksA}%
-  \endgroup
-}
-\long\def\ltx at LocalAppendToMacro#1#2{%
-  \global\let\LTXcmds at gtemp#1%
-  \ifx\ltx at undefined\LTXcmds at gtemp
-    \global\let\LTXcmds at gtemp\ltx at empty
-  \else
-    \ifx\relax\LTXcmds at gtemp
-      \global\letLTXcmds at gtemp\ltx at empty
-    \fi
-  \fi
-  \begingroup
-    \ltx at LocToksA\expandafter{\LTXcmds at gtemp#2}%
-    \xdef\LTXcmds at gtemp{\the\ltx at LocToksA}%
-  \endgroup
-  \let#1\LTXcmds at gtemp
-}
-\long\def\ltx at GlobalPrependToMacro#1#2{%
-  \ifx\ltx at undefined#1%
-    \let#1\ltx at empty
-  \else
-    \ifx\relax#1%
-      \let#1\ltx at empty
-    \fi
-  \fi
-  \begingroup
-    \ltx at LocToksA{#2}%
-    \ltx at LocToksB\expandafter{#1}%
-    \xdef#1{\the\ltx at LocToksA\the\ltx at LocToksB}%
-  \endgroup
-}
-\long\def\ltx at LocalPrependToMacro#1#2{%
-  \global\let\LTXcmds at gtemp#1%
-  \ifx\ltx at undefined\LTXcmds at gtemp
-    \global\let\LTXcmds at gtemp\ltx at empty
-  \else
-    \ifx\relax\LTXcmds at gtemp
-      \global\letLTXcmds at gtemp\ltx at empty
-    \fi
-  \fi
-  \begingroup
-    \ltx at LocToksA{#2}%
-    \ltx at LocToksB\expandafter{\LTXcmds at gtemp}%
-    \xdef\LTXcmds at gtemp{\the\ltx at LocToksA\the\ltx at LocToksB}%
-  \endgroup
-  \let#1\LTXcmds at gtemp
-}
-\long\def\ltx at ifnextchar#1#2#3{%
-  \begingroup
-  \let\LTXcmds at CharToken= #1\relax
-  \ltx at LocToksA{\endgroup#2}%
-  \ltx at LocToksB{\endgroup#3}%
-  \futurelet\LTXcmds at LetToken\LTXcmds at ifnextchar
-}
-\def\LTXcmds at ifnextchar{%
-  \ifx\LTXcmds at LetToken\LTXcmds at CharToken
-    \the\expandafter\ltx at LocToksA
-  \else
-    \expandafter
-      \ifx\csname LTXcmds at LetToken\endcsname\LTXcmds at SpaceToken
-      \expandafter\expandafter\expandafter\LTXcmds@@ifnextchar
-    \else
-      \the\expandafter\expandafter\expandafter\ltx at LocToksB
-    \fi
-  \fi
-}
-\def\LTXcmds@@ifnextchar{%
-  \expandafter\futurelet
-  \expandafter\LTXcmds at LetToken
-  \expandafter\LTXcmds at ifnextchar
-  \romannumeral-`\.%
-}
-\ltx at firstofone{\let\LTXcmds at SpaceToken= } %
-\long\def\ltx at ifnextchar@nospace#1#2#3{%
-  \begingroup
-  \let\LTXcmds at CharToken= #1\relax
-  \ltx at LocToksA{\endgroup#2}%
-  \ltx at LocToksB{\endgroup#3}%
-  \futurelet\LTXcmds at LetToken\LTXcmds at ifnextchar@nospace
-}
-\def\LTXcmds at ifnextchar@nospace{%
-  \the
-  \ifx\LTXcmds at LetToken\LTXcmds at CharToken
-    \expandafter\ltx at LocToksA
-  \else
-    \expandafter\ltx at LocToksB
-  \fi
-}
-\ltx at IfUndefined{quitvmode}{%
-  \ltx at IfUndefined{leavevmode}{%
-    \ltx at IfUndefined{voidb at x}{%
-      \ltx at IfUndefined{newbox}{%
-        \def\ltx at leavevmode{%
-          \begingroup
-            \setbox\ltx at zero=\hbox{}%
-            \begingroup
-              \setbox\ltx at zero=\hbox{\box\ltx at zero}%
-            \endgroup
-            \unhbox\ltx at zero
-          \endgroup
-        }%
-      }{%
-        \csname newbox\endcsname\LTXcmds at VoidBox
-        \ifvoid\LTXcmds at VoidBox
-        \else
-          \setbox\LTXcmds at VoidBox=\hbox{}%
-          \begingroup
-            \setbox\LTXcmds at VoidBox=\hbox{\box\LTXcmds at VoidBox}%
-          \endgroup
-        \fi
-        \def\ltx at leavevmode{\unhbox\LTXcmds at VoidBox}%
-      }%
-    }{%
-      \def\ltx at leavevmode{\unhbox\voidb at x}%
-    }%
-  }{%
-    \let\ltx at leavevmode\leavevmode
-  }%
-}{%
-  \let\ltx at leavevmode\quitvmode
-}
-\def\ltx at mbox{%
-  \ltx at leavevmode
-  \hbox
-}
-\ltx at IfUndefined{numexpr}{%
-  \def\LTXcmds at num#1{%
-    \expandafter\ltx at firstofone\expandafter{%
-      \number#1%
-    }%
-  }%
-}{%
-  \def\LTXcmds at num#1{%
-    \expandafter\ltx at firstofone\expandafter{%
-      \the\numexpr#1%
-    }%
-  }%
-}
-\ltx at IfUndefined{detokenize}{%
-  \def\LTXcmds at temp#1{%
-    \long\def\ltx at ifempty##1{%
-      \romannumeral0%
-      \iffalse{\fi
-        \expandafter\ltx at gobble\expandafter{%
-          \expandafter{\string##1}%
-          \expandafter\ltx at gobble\string
-        }%
-        \expandafter\ltx at firstofthree\expandafter
-        {\iffalse}\fi
-        \expandafter#1\ltx at secondoftwo
-      }%
-      \expandafter#1\ltx at firstoftwo
-    }%
-    \long\def\ltx at ifblank##1{%
-      \romannumeral0%
-      \iffalse{\fi
-        \expandafter\expandafter\expandafter\ltx at gobble
-        \expandafter\expandafter\expandafter{%
-          \expandafter\expandafter\expandafter{%
-            \expandafter\string\ltx at gobble##1.%
-          }%
-          \expandafter\ltx at gobble\string
-        }%
-        \expandafter\ltx at firstofthree\expandafter
-        {\iffalse