summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/oberdiek
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-12-05 03:00:50 +0000
committerNorbert Preining <norbert@preining.info>2019-12-05 03:00:50 +0000
commit2905ee4c8de47cfdeea4787e465eb827f9b99e8b (patch)
tree802c26d7002fd7e2188412b5bd1f86cd9ee2c4d6 /macros/latex/contrib/oberdiek
parent05ad7831f64aa0e2fc9eac63816eeafcb0b09708 (diff)
CTAN sync 201912050300
Diffstat (limited to 'macros/latex/contrib/oberdiek')
-rw-r--r--macros/latex/contrib/oberdiek/README.txt2
-rw-r--r--macros/latex/contrib/oberdiek/accsupp.dtx80
-rw-r--r--macros/latex/contrib/oberdiek/accsupp.pdfbin154245 -> 327297 bytes
-rw-r--r--macros/latex/contrib/oberdiek/aliascnt.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/aliascnt.pdfbin104685 -> 293168 bytes
-rw-r--r--macros/latex/contrib/oberdiek/alphalph.dtx372
-rw-r--r--macros/latex/contrib/oberdiek/alphalph.pdfbin201033 -> 354229 bytes
-rw-r--r--macros/latex/contrib/oberdiek/askinclude.dtx1061
-rw-r--r--macros/latex/contrib/oberdiek/askinclude.pdfbin269749 -> 593914 bytes
-rw-r--r--macros/latex/contrib/oberdiek/atbegshi.dtx292
-rw-r--r--macros/latex/contrib/oberdiek/atbegshi.pdfbin236243 -> 406524 bytes
-rw-r--r--macros/latex/contrib/oberdiek/atenddvi.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/atenddvi.pdfbin97925 -> 272610 bytes
-rw-r--r--macros/latex/contrib/oberdiek/atveryend.dtx138
-rw-r--r--macros/latex/contrib/oberdiek/atveryend.pdfbin189683 -> 380814 bytes
-rw-r--r--macros/latex/contrib/oberdiek/auxhook.dtx23
-rw-r--r--macros/latex/contrib/oberdiek/auxhook.pdfbin106790 -> 285266 bytes
-rw-r--r--macros/latex/contrib/oberdiek/bigintcalc.dtx952
-rw-r--r--macros/latex/contrib/oberdiek/bigintcalc.pdfbin342809 -> 467906 bytes
-rw-r--r--macros/latex/contrib/oberdiek/bitset.dtx1243
-rw-r--r--macros/latex/contrib/oberdiek/bitset.pdfbin343620 -> 626116 bytes
-rw-r--r--macros/latex/contrib/oberdiek/bmpsize.dtx23
-rw-r--r--macros/latex/contrib/oberdiek/bmpsize.pdfbin327623 -> 497867 bytes
-rw-r--r--macros/latex/contrib/oberdiek/catchfile.dtx326
-rw-r--r--macros/latex/contrib/oberdiek/catchfile.pdfbin144364 -> 298873 bytes
-rw-r--r--macros/latex/contrib/oberdiek/centernot.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/centernot.pdfbin168028 -> 274864 bytes
-rw-r--r--macros/latex/contrib/oberdiek/chemarr.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/chemarr.pdfbin94401 -> 288654 bytes
-rw-r--r--macros/latex/contrib/oberdiek/classlist.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/classlist.pdfbin98835 -> 271621 bytes
-rw-r--r--macros/latex/contrib/oberdiek/colonequals.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/colonequals.pdfbin104527 -> 284627 bytes
-rw-r--r--macros/latex/contrib/oberdiek/dvipscol.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/dvipscol.pdfbin90419 -> 269326 bytes
-rw-r--r--macros/latex/contrib/oberdiek/engord.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/engord.pdfbin133974 -> 318562 bytes
-rw-r--r--macros/latex/contrib/oberdiek/enparen.dtx15
-rw-r--r--macros/latex/contrib/oberdiek/enparen.pdfbin125671 -> 304863 bytes
-rw-r--r--macros/latex/contrib/oberdiek/eolgrab.dtx170
-rw-r--r--macros/latex/contrib/oberdiek/eolgrab.pdfbin136258 -> 316822 bytes
-rw-r--r--macros/latex/contrib/oberdiek/etexcmds.dtx202
-rw-r--r--macros/latex/contrib/oberdiek/etexcmds.pdfbin130187 -> 300241 bytes
-rw-r--r--macros/latex/contrib/oberdiek/fibnum.dtx263
-rw-r--r--macros/latex/contrib/oberdiek/fibnum.pdfbin149649 -> 354313 bytes
-rw-r--r--macros/latex/contrib/oberdiek/flags.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/flags.pdfbin104022 -> 283637 bytes
-rw-r--r--macros/latex/contrib/oberdiek/gettitlestring.dtx176
-rw-r--r--macros/latex/contrib/oberdiek/gettitlestring.pdfbin142781 -> 318743 bytes
-rw-r--r--macros/latex/contrib/oberdiek/grfext.dtx1130
-rw-r--r--macros/latex/contrib/oberdiek/grfext.pdfbin148784 -> 0 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hologo.dtx270
-rw-r--r--macros/latex/contrib/oberdiek/hologo.pdfbin393599 -> 567831 bytes
-rw-r--r--macros/latex/contrib/oberdiek/holtxdoc.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/holtxdoc.pdfbin125784 -> 305359 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hopatch.dtx204
-rw-r--r--macros/latex/contrib/oberdiek/hopatch.pdfbin126495 -> 293225 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hycolor.dtx554
-rw-r--r--macros/latex/contrib/oberdiek/hycolor.pdfbin225113 -> 364633 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypbmsec.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/hypbmsec.pdfbin113898 -> 289747 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypcap.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/hypcap.pdfbin111262 -> 284122 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypdestopt.dtx21
-rw-r--r--macros/latex/contrib/oberdiek/hypdestopt.pdfbin131422 -> 317677 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypdoc.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/hypdoc.pdfbin157513 -> 319844 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypgotoe.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/hypgotoe.pdfbin109141 -> 285090 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hyphsubst.dtx173
-rw-r--r--macros/latex/contrib/oberdiek/hyphsubst.pdfbin127615 -> 299858 bytes
-rw-r--r--macros/latex/contrib/oberdiek/ifdraft.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/ifdraft.pdfbin92764 -> 265294 bytes
-rw-r--r--macros/latex/contrib/oberdiek/iflang.dtx343
-rw-r--r--macros/latex/contrib/oberdiek/iflang.pdfbin156604 -> 314990 bytes
-rw-r--r--macros/latex/contrib/oberdiek/infwarerr.dtx1193
-rw-r--r--macros/latex/contrib/oberdiek/infwarerr.pdfbin148243 -> 0 bytes
-rw-r--r--macros/latex/contrib/oberdiek/intcalc.dtx977
-rw-r--r--macros/latex/contrib/oberdiek/intcalc.pdfbin317446 -> 431640 bytes
-rw-r--r--macros/latex/contrib/oberdiek/kvdefinekeys.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/kvdefinekeys.pdfbin117343 -> 295786 bytes
-rw-r--r--macros/latex/contrib/oberdiek/kvsetkeys.dtx462
-rw-r--r--macros/latex/contrib/oberdiek/kvsetkeys.pdfbin219165 -> 375389 bytes
-rw-r--r--macros/latex/contrib/oberdiek/letltxmacro.dtx1153
-rw-r--r--macros/latex/contrib/oberdiek/letltxmacro.pdfbin153829 -> 0 bytes
-rw-r--r--macros/latex/contrib/oberdiek/listingsutf8.dtx133
-rw-r--r--macros/latex/contrib/oberdiek/listingsutf8.pdfbin130350 -> 298597 bytes
-rw-r--r--macros/latex/contrib/oberdiek/ltxcmds.dtx879
-rw-r--r--macros/latex/contrib/oberdiek/ltxcmds.pdfbin294529 -> 394188 bytes
-rw-r--r--macros/latex/contrib/oberdiek/mleftright.dtx943
-rw-r--r--macros/latex/contrib/oberdiek/mleftright.pdfbin129609 -> 0 bytes
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek-bundle.bib497
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek-source.bib27
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.ins109
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.pdfbin354713 -> 401743 bytes
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.tex243
-rw-r--r--macros/latex/contrib/oberdiek/pagegrid.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/pagegrid.pdfbin143465 -> 311600 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pagesel.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/pagesel.pdfbin125551 -> 312192 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcol.dtx202
-rw-r--r--macros/latex/contrib/oberdiek/pdfcol.pdfbin145886 -> 302693 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolfoot.dtx53
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolfoot.pdfbin114122 -> 294403 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparallel.dtx123
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparallel.pdfbin150158 -> 319986 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx80
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparcolumns.pdfbin136669 -> 308006 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcrypt.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/pdfcrypt.pdfbin146914 -> 311564 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfescape.dtx761
-rw-r--r--macros/latex/contrib/oberdiek/pdfescape.pdfbin239043 -> 346746 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdflscape.dtx241
-rw-r--r--macros/latex/contrib/oberdiek/pdflscape.pdfbin134468 -> 299072 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfrender.dtx310
-rw-r--r--macros/latex/contrib/oberdiek/pdfrender.pdfbin202200 -> 382955 bytes
-rw-r--r--macros/latex/contrib/oberdiek/picture.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/picture.pdfbin116293 -> 295928 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pmboxdraw.dtx139
-rw-r--r--macros/latex/contrib/oberdiek/pmboxdraw.pdfbin494974 -> 638223 bytes
-rw-r--r--macros/latex/contrib/oberdiek/protecteddef.dtx293
-rw-r--r--macros/latex/contrib/oberdiek/protecteddef.pdfbin138533 -> 307773 bytes
-rw-r--r--macros/latex/contrib/oberdiek/refcount.dtx440
-rw-r--r--macros/latex/contrib/oberdiek/refcount.pdfbin177298 -> 326895 bytes
-rw-r--r--macros/latex/contrib/oberdiek/rerunfilecheck.dtx135
-rw-r--r--macros/latex/contrib/oberdiek/rerunfilecheck.pdfbin142195 -> 314659 bytes
-rw-r--r--macros/latex/contrib/oberdiek/resizegather.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/resizegather.pdfbin135129 -> 517568 bytes
-rw-r--r--macros/latex/contrib/oberdiek/rotchiffre.dtx430
-rw-r--r--macros/latex/contrib/oberdiek/rotchiffre.pdfbin161868 -> 317164 bytes
-rw-r--r--macros/latex/contrib/oberdiek/scrindex.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/scrindex.pdfbin112169 -> 283891 bytes
-rw-r--r--macros/latex/contrib/oberdiek/selinput.dtx147
-rw-r--r--macros/latex/contrib/oberdiek/selinput.pdfbin144254 -> 537938 bytes
-rw-r--r--macros/latex/contrib/oberdiek/setouterhbox.dtx172
-rw-r--r--macros/latex/contrib/oberdiek/setouterhbox.pdfbin152471 -> 330129 bytes
-rw-r--r--macros/latex/contrib/oberdiek/settobox.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/settobox.pdfbin121132 -> 293548 bytes
-rw-r--r--macros/latex/contrib/oberdiek/soulutf8.dtx577
-rw-r--r--macros/latex/contrib/oberdiek/soulutf8.pdfbin228320 -> 352081 bytes
-rw-r--r--macros/latex/contrib/oberdiek/stackrel.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/stackrel.pdfbin101395 -> 281746 bytes
-rw-r--r--macros/latex/contrib/oberdiek/stampinclude.dtx23
-rw-r--r--macros/latex/contrib/oberdiek/stampinclude.pdfbin104275 -> 277765 bytes
-rw-r--r--macros/latex/contrib/oberdiek/tabularht.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/tabularht.pdfbin148023 -> 331314 bytes
-rw-r--r--macros/latex/contrib/oberdiek/tabularkv.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/tabularkv.pdfbin89913 -> 254709 bytes
-rw-r--r--macros/latex/contrib/oberdiek/telprint.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/telprint.pdfbin132903 -> 303828 bytes
-rw-r--r--macros/latex/contrib/oberdiek/thepdfnumber.dtx319
-rw-r--r--macros/latex/contrib/oberdiek/thepdfnumber.pdfbin169513 -> 347238 bytes
-rw-r--r--macros/latex/contrib/oberdiek/twoopt.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/twoopt.pdfbin100155 -> 274422 bytes
-rw-r--r--macros/latex/contrib/oberdiek/uniquecounter.dtx311
-rw-r--r--macros/latex/contrib/oberdiek/uniquecounter.pdfbin133466 -> 289988 bytes
156 files changed, 773 insertions, 19739 deletions
diff --git a/macros/latex/contrib/oberdiek/README.txt b/macros/latex/contrib/oberdiek/README.txt
index 2b0a822793..238e572c18 100644
--- a/macros/latex/contrib/oberdiek/README.txt
+++ b/macros/latex/contrib/oberdiek/README.txt
@@ -1,4 +1,4 @@
-README 2019/11/29
+README 2019/12/03
This file describes the directory
CTAN:macros/latex/contrib/oberdiek/
diff --git a/macros/latex/contrib/oberdiek/accsupp.dtx b/macros/latex/contrib/oberdiek/accsupp.dtx
index 722b314284..5264aed3e2 100644
--- a/macros/latex/contrib/oberdiek/accsupp.dtx
+++ b/macros/latex/contrib/oberdiek/accsupp.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
% File: accsupp.dtx
-% Version: 2018/01/30 v0.5
+% Version: 2018/03/28 v0.5
% Info: Accessibility support by marked content
%
% Copyright (C)
@@ -72,7 +72,6 @@
% TDS:doc/latex/oberdiek/accsupp.pdf
% TDS:doc/latex/oberdiek/accsupp-example1.tex
% TDS:doc/latex/oberdiek/accsupp-example2.tex
-% TDS:doc/latex/oberdiek/test/accsupp-test1.tex
% TDS:source/latex/oberdiek/accsupp.dtx
%
%<*ignore>
@@ -150,10 +149,6 @@ and the derived files
\file{accsupp-example2.tex}{\from{accsupp.dtx}{example2}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{accsupp-test1.tex}{\from{accsupp.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{accsupp.xml}{\from{accsupp.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -191,21 +186,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{accsupp.drv}
%
@@ -900,63 +880,6 @@ ed as
% \begin{macrocode}
%</dvips>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
-}
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{127}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- \RequirePackage{accsupp}[2018/03/28]\relax
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -1012,7 +935,6 @@ ed as
% accsupp.pdf & doc/latex/oberdiek/accsupp.pdf\\
% accsupp-example1.tex & doc/latex/oberdiek/accsupp-example1.tex\\
% accsupp-example2.tex & doc/latex/oberdiek/accsupp-example2.tex\\
-% test/accsupp-test1.tex & doc/latex/oberdiek/test/accsupp-test1.tex\\
% accsupp.dtx & source/latex/oberdiek/accsupp.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/accsupp.pdf b/macros/latex/contrib/oberdiek/accsupp.pdf
index dfa902291b..6f35b10ffd 100644
--- a/macros/latex/contrib/oberdiek/accsupp.pdf
+++ b/macros/latex/contrib/oberdiek/accsupp.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/aliascnt.dtx b/macros/latex/contrib/oberdiek/aliascnt.dtx
index e3db954c80..60289eaeaf 100644
--- a/macros/latex/contrib/oberdiek/aliascnt.dtx
+++ b/macros/latex/contrib/oberdiek/aliascnt.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{aliascnt.drv}{\from{aliascnt.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{aliascnt.sty}{\from{aliascnt.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{aliascnt.xml}{\from{aliascnt.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{aliascnt.drv}
%
diff --git a/macros/latex/contrib/oberdiek/aliascnt.pdf b/macros/latex/contrib/oberdiek/aliascnt.pdf
index f9d784af69..5fc66906c5 100644
--- a/macros/latex/contrib/oberdiek/aliascnt.pdf
+++ b/macros/latex/contrib/oberdiek/aliascnt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/alphalph.dtx b/macros/latex/contrib/oberdiek/alphalph.dtx
index 2f22685dec..7c70cd4825 100644
--- a/macros/latex/contrib/oberdiek/alphalph.dtx
+++ b/macros/latex/contrib/oberdiek/alphalph.dtx
@@ -66,9 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/alphalph.sty
% TDS:doc/latex/oberdiek/alphalph.pdf
-% TDS:doc/latex/oberdiek/test/alphalph-test1.tex
-% TDS:doc/latex/oberdiek/test/alphalph-test2.tex
-% TDS:doc/latex/oberdiek/test/alphalph-test3.tex
% TDS:source/latex/oberdiek/alphalph.dtx
%
%<*ignore>
@@ -141,10 +138,6 @@ and the derived files
% \file{alphalph-test1.tex}{\from{alphalph.dtx}{test1}}%
% \file{alphalph-test2.tex}{\from{alphalph.dtx}{test2,etex}}%
% \file{alphalph-test3.tex}{\from{alphalph.dtx}{test2,noetex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{alphalph.xml}{\from{alphalph.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -207,21 +200,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{alphalph.drv}
%
@@ -1303,353 +1281,6 @@ and the derived files
%</package>
% \end{macrocode}
%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input alphalph.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Macro tests}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<*noetex>
-\makeatletter
-\let\saved@numexpr\numexpr
-\newcommand*{\DisableNumexpr}{%
- \let\numexpr\@undefined
-}
-\newcommand*{\RestoreNumexpr}{%
- \let\numexpr\saved@numexpr
-}
-\DisableNumexpr
-%</noetex>
-\usepackage{alphalph}[2016/05/16]
-%<noetex>\RestoreNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\TestCmd}[3]{%
- \setbox0=\hbox{%
-%<noetex> \DisableNumexpr
- \edef\TestString{#1{#2}}%
- \expandafter\Expect\expandafter{\TestString}{#3}%
- \edef\TestString{#1{#2} }%
- \expandafter\Expect\expandafter{\TestString}{#3 }%
- }%
- \Expect*{\the\wd0}{0.0pt}%
-}
-
-\makeatletter
-\newalphalph\LaTeXAlphAlph\@Alph{26}
-\newalphalph\LaTeXalphalph\@alph{26}
-\newalphalph\AlphWrap[wrap]\alphalph@Alph{26}
-\newalphalph\alphwrap[wrap]\alphalph@alph{26}
-\newalphalph\LaTeXAlphWrap[wrap]\@Alph{26}
-\newalphalph\LaTeXalphwrap[wrap]\@alph{26}
-\def\LastSymbol#1{%
- \ifx\\#1\\%
- \else
- \@LastSymbol#1\@nil
- \fi
-}
-\def\@LastSymbol#1#2\@nil{%
- \ifx\\#2\\%
- #1%
- \else
- \@LastSymbol#2\@nil
- \fi
-}
-\makeatother
-\newcommand*{\TestAlph}[2]{%
- \uppercase{\TestCallCmd\AlphAlph{#2}}{#1}%
- \lowercase{\TestCallCmd\alphalph{#2}}{#1}%
- \uppercase{\TestCallCmd\LaTeXAlphAlph{#2}}{#1}%
- \lowercase{\TestCallCmd\LaTeXalphalph{#2}}{#1}%
- \edef\WrapString{\LastSymbol{#2}}%
- \expandafter\TestAlphWrap\expandafter{\WrapString}{#1}%
-}
-\newcommand*{\TestAlphWrap}[2]{%
- \uppercase{\TestCallCmd\AlphWrap{#1}}{#2}%
- \lowercase{\TestCallCmd\alphwrap{#1}}{#2}%
- \uppercase{\TestCallCmd\LaTeXAlphWrap{#1}}{#2}%
- \lowercase{\TestCallCmd\LaTeXalphwrap{#1}}{#2}%
-}
-\newcommand*{\TestCallCmd}[3]{%
- \TestCmd#1{#3}{#2}%
-}
-\begin{qstest}{AlphSymbols}{alphalph, AlphAlph, symbols}
- \TestAlph{1}{a}%
- \TestAlph{2}{b}%
- \TestAlph{3}{c}%
- \TestAlph{4}{d}%
- \TestAlph{5}{e}%
- \TestAlph{6}{f}%
- \TestAlph{7}{g}%
- \TestAlph{8}{h}%
- \TestAlph{9}{i}%
- \TestAlph{10}{j}%
- \TestAlph{11}{k}%
- \TestAlph{12}{l}%
- \TestAlph{13}{m}%
- \TestAlph{14}{n}%
- \TestAlph{15}{o}%
- \TestAlph{16}{p}%
- \TestAlph{17}{q}%
- \TestAlph{18}{r}%
- \TestAlph{19}{s}%
- \TestAlph{20}{t}%
- \TestAlph{21}{u}%
- \TestAlph{22}{v}%
- \TestAlph{23}{w}%
- \TestAlph{24}{x}%
- \TestAlph{25}{y}%
- \TestAlph{26}{z}%
-\end{qstest}
-\begin{qstest}{AlphRange}{alphalph, range}
- \TestAlph{0}{}%
- \TestAlph{-1}{}%
- \TestAlph{-2147483647}{}%
- \TestAlph{27}{aa}%
- \TestAlph{28}{ab}%
- \TestAlph{52}{az}%
- \TestAlph{53}{ba}%
- \TestAlph{78}{bz}%
- \TestAlph{79}{ca}%
- \TestAlph{702}{zz}%
- \TestAlph{703}{aaa}%
- \TestAlph{2147483647}{fxshrxw}%
-\end{qstest}
-
-\makeatletter
-\newcommand*{\myvocals}[1]{%
- \ifcase#1X\or A\or E\or I\or O\or U\else Y\fi
-}
-\makeatother
-\newalphalph\vocalsvocals\myvocals{5}
-\newcommand*{\TestVocals}{%
- \TestCmd\vocalsvocals
-}
-\begin{qstest}{vocals}{vocals}
- \TestVocals{0}{}%
- \TestVocals{1}{A}%
- \TestVocals{2}{E}%
- \TestVocals{3}{I}%
- \TestVocals{4}{O}%
- \TestVocals{5}{U}%
- \TestVocals{6}{AA}%
- \TestVocals{7}{AE}%
- \TestVocals{8}{AI}%
- \TestVocals{9}{AO}%
- \TestVocals{10}{AU}%
- \TestVocals{11}{EA}%
- \TestVocals{24}{OO}%
- \TestVocals{25}{OU}%
- \TestVocals{26}{UA}%
- \TestVocals{29}{UO}%
- \TestVocals{30}{UU}%
- \TestVocals{31}{AAA}%
- \TestVocals{155}{UUU}%
- \TestVocals{156}{AAAA}%
- \TestVocals{2147483647}{AIIOOEEIOIIUOE}%
-\end{qstest}
-
-\makeatletter
-\newalphalph\AlphMult[mult]{\alphalph@Alph}{26}
-\newalphalph\alphmult[mult]{\alphalph@alph}{26}
-\newalphalph\LaTeXAlphMult[mult]{\@Alph}{26}
-\newalphalph\LaTeXalphmult[mult]{\@alph}{26}
-\makeatother
-\newcommand*{\TestMult}[2]{%
- \uppercase{\TestCallCmd\AlphMult{#2}}{#1}%
- \lowercase{\TestCallCmd\alphmult{#2}}{#1}%
- \uppercase{\TestCallCmd\LaTeXAlphMult{#2}}{#1}%
- \lowercase{\TestCallCmd\LaTeXalphmult{#2}}{#1}%
-}
-\begin{qstest}{mult}{mult}
- \TestMult{0}{}%
- \TestMult{-1}{}%
- \TestMult{-2147483647}{}%
- \TestMult{1}{a}%
- \TestMult{2}{b}%
- \TestMult{26}{z}%
- \TestMult{27}{aa}%
- \TestMult{28}{bb}%
- \TestMult{52}{zz}%
- \TestMult{53}{aaa}%
- \TestMult{54}{bbb}%
- \TestMult{259}{yyyyyyyyyy}%
- \TestMult{260}{zzzzzzzzzz}%
- \TestMult{261}{aaaaaaaaaaa}%
- \TestMult{262}{bbbbbbbbbbb}%
-\end{qstest}
-
-\def\myvocalsB#1{%
- \ifcase#1\or A\or E\or I\or O\or U\fi
-}
-\begin{qstest}{symbolnum}{symbolnum}
- \makeatletter
- \def\Test#1#2{%
- \let\TestCmd\relax
- \newalphalph\TestCmd{#1}{}%
- \Expect*{\AlPh@Number}{#2}%
- }%
- \Test\@alph{26}%
- \Test\@Alph{26}%
- \Test\@fnsymbol{9}%
- \Test\myvocalsB{5}%
- \Test\alphalph@alph{26}%
- \Test\alphalph@Alph{26}%
-\end{qstest}
-
-\begin{qstest}{list}{list}
- \makeatletter
- \def\catch#1\relax{%
- \def\FoundList{\catch#1}%
- }%
- \def\Test[#1]#2#3#4{%
- \let\testcmd\relax
- \newalphalph\testcmd[{#1}]{\catch}{#2}%
- \testcmd{#3}|\relax
- \expandafter\Expect\expandafter{\FoundList}{#4|}%
- %
- \let\SavedCatch\catch
- \def\catch{\noexpand\catch\noexpand\foo}%
- \edef\Result{#4|}%
- \@onelevel@sanitize\Result
- \let\catch\SavedCatch
- \let\testcmd\relax
- \newalphalph\testcmd[{#1}]{\catch\foo}{#2}%
- \testcmd{#3}|\relax
- \@onelevel@sanitize\FoundList
- \Expect*{\FoundList}*{\Result}%
- }%
- \Test[alph]{26}{3}{\catch{3}}%
- \Test[alph]{26}{12}{\catch{12}}%
- \Test[alph]{26}{27}{\catch{1}\catch{1}}%
- \Test[alph]{26}{78}{\catch{2}\catch{26}}%
- \Test[wrap]{26}{7}{\catch{7}}%
- \Test[wrap]{26}{14}{\catch{14}}%
- \Test[wrap]{26}{80}{\catch{2}}%
- \Test[wrap]{26}{700}{\catch{24}}%
- \Test[mult]{26}{4}{\catch{4}}%
- \Test[mult]{26}{17}{\catch{17}}%
- \Test[mult]{26}{54}{\catch{2}\catch{2}\catch{2}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -1699,9 +1330,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% alphalph.sty & tex/generic/oberdiek/alphalph.sty\\
% alphalph.pdf & doc/latex/oberdiek/alphalph.pdf\\
-% test/alphalph-test1.tex & doc/latex/oberdiek/test/alphalph-test1.tex\\
-% test/alphalph-test2.tex & doc/latex/oberdiek/test/alphalph-test2.tex\\
-% test/alphalph-test3.tex & doc/latex/oberdiek/test/alphalph-test3.tex\\
% alphalph.dtx & source/latex/oberdiek/alphalph.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/alphalph.pdf b/macros/latex/contrib/oberdiek/alphalph.pdf
index 4ad8540c81..5f7559119b 100644
--- a/macros/latex/contrib/oberdiek/alphalph.pdf
+++ b/macros/latex/contrib/oberdiek/alphalph.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/askinclude.dtx b/macros/latex/contrib/oberdiek/askinclude.dtx
index 4e109fbd5d..aa249c79fd 100644
--- a/macros/latex/contrib/oberdiek/askinclude.dtx
+++ b/macros/latex/contrib/oberdiek/askinclude.dtx
@@ -78,33 +78,6 @@
% Installation:
% TDS:tex/latex/oberdiek/askinclude.sty
% TDS:doc/latex/oberdiek/askinclude.pdf
-% TDS:doc/latex/oberdiek/test/askinclude-a.tex
-% TDS:doc/latex/oberdiek/test/askinclude-b.tex
-% TDS:doc/latex/oberdiek/test/askinclude-c.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test1.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test2.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test3.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test4.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test5.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test6.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test7.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test8.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test9.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test10.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test11.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test12.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test13.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test14.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test15.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test16.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test17.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test18.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test19.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test20.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test21.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test22.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test23.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test24.tex
% TDS:source/latex/oberdiek/askinclude.dtx
%
%<*ignore>
@@ -217,10 +190,6 @@ and the derived files
% \file{askinclude-test22.tex}{\from{askinclude.dtx}{test0,test22}}%
% \file{askinclude-test23.tex}{\from{askinclude.dtx}{test0,test23}}%
% \file{askinclude-test24.tex}{\from{askinclude.dtx}{test0,test24}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{askinclude.xml}{\from{askinclude.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -304,21 +273,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{askinclude.drv}
%
@@ -1672,994 +1626,6 @@ and the derived files
\AskInc@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Included files}
-%
-% \begin{macrocode}
-%<*a>
-\chapter{Chapter A}
-\let\filea=Y
-%</a>
-% \end{macrocode}
-% \begin{macrocode}
-%<*b>
-\chapter{Chapter B}
-\let\fileb=Y
-%</b>
-% \end{macrocode}
-% \begin{macrocode}
-%<*c>
-\chapter{Chapter C}
-\let\filec=Y
-%</c>
-% \end{macrocode}
-%
-% \subsection{Special test setup}
-%
-% \begin{macrocode}
-%<*test18>
-\includeonly{askinclude-b}
-%</test18>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test20|test21|test22>
-\let\AtBeginDocumentMode=N%
-%</test20|test21|test22>
-% \end{macrocode}
-%
-% \subsection{Common start}
-%
-% \begin{macrocode}
-%<*test0>
-\ifx\CompatibilityMode Y%
- \documentstyle[filecontents,qstest,askinclude,pdftexcmds]{book}%
-\else
- \documentclass{book}%
- \usepackage{filecontents}%
- \usepackage{qstest}%
- \usepackage{pdftexcmds}%
-%<*test1>
- \makeatletter
- \def\RestoreCatcodes{}%
- \count@=0 %
- \loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
- \ifnum\count@<255 %
- \advance\count@\@ne
- \repeat
- \def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
- }%
- \def\Test#1\EndTest{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- #1\relax
- \RestoreCatcodes
- \makeatother
- }%
- \Test
-%</test1>
-%<*!test1>
- \ifx\AtBeginDocumentMode Y%
- \AtBeginDocument{%
- \usepackage{askinclude}[2018/11/01]%
- }%
- \else
-%</!test1>
- \usepackage{askinclude}[2018/11/01]%
-%<*!test1>
- \fi
-%</!test1>
-%<*test1>
- \EndTest
-%</test1>
-\fi
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-\let\org@typein\typein
-\def\typein[#1]#2{%
- \ifx\@Stack\@StackEmpty
- \begin{qstest}{StackNonEmpty}{StackNonEmpty}%
- \Expect{Error: empty stack}{}%
- \end{qstest}%
- \org@typein[{#1}]{#2}%
- \else
- \edef#1{%
- \unexpanded\expandafter\expandafter\expandafter{%
- \expandafter\@car\@Stack\@nil
- }%
- }%
- \xdef\@Stack{%
- \unexpanded\expandafter\expandafter\expandafter{%
- \expandafter\@cdr\@Stack\@nil
- }%
- }%
- \typeout{}%
- \typeout{\string#1=#1}%
- \fi
-}
-\def\@StackEmpty{\BOTTOM}
-\let\@Stack\@StackEmpty
-\newcommand*{\Stack}[1]{%
- \def\@Stack{#1\BOTTOM}%
-}
-\AtEndDocument{%
- \begin{qstest}{StackUsed}{StackUsed}%
- \Expect*{%
- \ifx\@Stack\@StackEmpty
- \else
- Error: Unused stack entries%
- \fi
- }{}%
- \end{qstest}%
-}
-\newcommand*{\CheckInclude}[2]{%
- \include{askinclude-#1}%
- \begin{qstest}{CheckInclude-#1}{CheckInclude-#1}%
- \Expect*{%
- \expandafter\ifx\csname file#1\endcsname Ytrue\else false\fi
- }{#2}%
- \end{qstest}%
-}
-\def\@EndChecks{}
-\AtBeginDocument{%
- \AtEndDocument{%
- \if@filesw
- \immediate\write\@mainaux{\string\@EndChecks}%
- \fi
- }%
-}
-\newcommand*{\CheckAnswer}[1]{%
- \gdef\AnswerText{#1}%
- \g@addto@macro\@EndChecks{\@CheckAnswer}%
-}
-\def\@CheckAnswer{%
- \begin{qstest}{CheckAnswer}{CheckAnswer}%
- \Expect*{\unexpanded\expandafter{\AskInc@Answer}}%
- *{\unexpanded\expandafter{\AnswerText}}%
- \end{qstest}%
-}
-\newcommand*{\CheckMatchMethod}[1]{%
- \gdef\MatchMethodText{#1}%
- \g@addto@macro\@EndChecks{\@CheckMatchMethod}%
-}
-\def\@CheckMatchMethod{%
- \begin{qstest}{CheckMatchMethod}{CheckMatchMethod}%
- \Expect*{\unexpanded\expandafter{\AskInc@MatchMethod}}%
- *{\unexpanded\expandafter{\MatchMethodText}}%
- \end{qstest}%
-}
-\def\@CheckAux{%
- \begin{qstest}{CheckAux}{CheckAux}%
- \def\GetFileContents##1{%
- \pdf@unescapehex{%
- \pdf@filedump{0}{\pdf@filesize{##1}}{##1}%
- }%
- }%
- \Expect*{\GetFileContents{\jobname.aux}}%
- *{\GetFileContents{\jobname-aux.aux}}%
- \end{qstest}%
-}
-\g@addto@macro\@EndChecks{\@CheckAux}
-\let\org@filec@ntents\filec@ntents
-\def\filec@ntents{%
- \catcode`\|=0 %
- \org@filec@ntents
-}
-\begingroup
- \endlinechar=-1 %
- \catcode`\|=0 %
- \@makeother\#%
- \@makeother\\%
- |gdef|AddList{%
- \providecommand*\AskInc@AddList[2]{%
- \ifcase\ifx#1\@undefined
- \else\ifx#1\relax
- \else\ifx#1\@empty
- \else1\fi\fi\fi0 %
- \gdef#1{#2}%
- \else
- \g@addto@macro#1{,#2}%
- \fi
- }%
- }%
- |gdef|AddFile{%
- \providecommand\AskInc@AddFile{%
- \AskInc@AddList\AskInc@Files
- }%
- }%
- |gdef|AddMatch{%
- \providecommand\AskInc@AddMatch{%
- \AskInc@AddList\AskInc@MatchFiles
- }%
- }%
-|endgroup
-%</test0>
-% \end{macrocode}
-%
-% \subsection{First run tests}
-%
-% \begin{macrocode}
-%<*test1>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\Stack{*}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\Stack{-}%
-\CheckAnswer{-}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{-}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4>
-\Stack{{askinclude-b}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test4>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test5>
-\Stack{{askinclude-a,askinclude-c}}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-a,askinclude-c}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test5>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test6>
-\Stack{?yny}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test6>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test7>
-\Stack{?yA}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test7>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test8>
-\Stack{?yD}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test8>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test9>
-\Stack{?yN}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test9>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test10>
-\Stack{?{}N}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test10>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test11>
-\Stack{?xxyxxN}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test11>
-% \end{macrocode}
-%
-% \subsection{Second run tests}
-%
-% \begin{macrocode}
-%<*test12>
-\Stack{{}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\AskInc@AddFile{askinclude-c}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test12>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test13>
-\Stack{{}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test13>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test14>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test14>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test15>
-\Stack{?D}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test15>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test16>
-\Stack{?A}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test16>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test17>
-\Stack{?N}
-\CheckAnswer{}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test17>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test18>
-\Stack{}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test18>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test19>
-\Stack{?N}
-\CheckAnswer{}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\ifx\AtBeginDocumentMode Y%
- \AtBeginDocument{\includeonly{askinclude-b}}%
-\else
- \includeonly{askinclude-b}%
-\fi
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test19>
-% \end{macrocode}
-%
-% \subsection{Compatibility for changing from old to new}
-%
-% \begin{macrocode}
-%<*test20>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{*}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test20>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test21>
-\Stack{{}}
-\CheckAnswer{-}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{-}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test21>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test22>
-\Stack{{}}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{askinclude-a,askinclude-c}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-a,askinclude-c}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test22>
-% \end{macrocode}
-%
-% \subsection{Regular expressions}
-%
-% \begin{macrocode}
-%<*test23>
-\Stack{{makematch}{*,!askinclude-b}}
-\CheckAnswer{*,!askinclude-b}
-\CheckMatchMethod{makematch}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*,!askinclude-b}
-\gdef\AskInc@MatchMethod{makematch}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-|AddMatch
-\AskInc@AddMatch{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\AskInc@AddMatch{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test23>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test24>
-\Stack{{pdfmatch}{.,!askinclude-b}}
-\CheckAnswer{.,!askinclude-b}
-\CheckMatchMethod{pdfmatch}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{.,!askinclude-b}
-\gdef\AskInc@MatchMethod{pdfmatch}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-|AddMatch
-\AskInc@AddMatch{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\AskInc@AddMatch{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test24>
-% \end{macrocode}
-%
-%
-% \subsection{Common end}
-%
-% \begin{macrocode}
-%<*test0>
-\end{document}
-%</test0>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -2709,33 +1675,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% askinclude.sty & tex/latex/oberdiek/askinclude.sty\\
% askinclude.pdf & doc/latex/oberdiek/askinclude.pdf\\
-% test/askinclude-a.tex & doc/latex/oberdiek/test/askinclude-a.tex\\
-% test/askinclude-b.tex & doc/latex/oberdiek/test/askinclude-b.tex\\
-% test/askinclude-c.tex & doc/latex/oberdiek/test/askinclude-c.tex\\
-% test/askinclude-test1.tex & doc/latex/oberdiek/test/askinclude-test1.tex\\
-% test/askinclude-test2.tex & doc/latex/oberdiek/test/askinclude-test2.tex\\
-% test/askinclude-test3.tex & doc/latex/oberdiek/test/askinclude-test3.tex\\
-% test/askinclude-test4.tex & doc/latex/oberdiek/test/askinclude-test4.tex\\
-% test/askinclude-test5.tex & doc/latex/oberdiek/test/askinclude-test5.tex\\
-% test/askinclude-test6.tex & doc/latex/oberdiek/test/askinclude-test6.tex\\
-% test/askinclude-test7.tex & doc/latex/oberdiek/test/askinclude-test7.tex\\
-% test/askinclude-test8.tex & doc/latex/oberdiek/test/askinclude-test8.tex\\
-% test/askinclude-test9.tex & doc/latex/oberdiek/test/askinclude-test9.tex\\
-% test/askinclude-test10.tex & doc/latex/oberdiek/test/askinclude-test10.tex\\
-% test/askinclude-test11.tex & doc/latex/oberdiek/test/askinclude-test11.tex\\
-% test/askinclude-test12.tex & doc/latex/oberdiek/test/askinclude-test12.tex\\
-% test/askinclude-test13.tex & doc/latex/oberdiek/test/askinclude-test13.tex\\
-% test/askinclude-test14.tex & doc/latex/oberdiek/test/askinclude-test14.tex\\
-% test/askinclude-test15.tex & doc/latex/oberdiek/test/askinclude-test15.tex\\
-% test/askinclude-test16.tex & doc/latex/oberdiek/test/askinclude-test16.tex\\
-% test/askinclude-test17.tex & doc/latex/oberdiek/test/askinclude-test17.tex\\
-% test/askinclude-test18.tex & doc/latex/oberdiek/test/askinclude-test18.tex\\
-% test/askinclude-test19.tex & doc/latex/oberdiek/test/askinclude-test19.tex\\
-% test/askinclude-test20.tex & doc/latex/oberdiek/test/askinclude-test20.tex\\
-% test/askinclude-test21.tex & doc/latex/oberdiek/test/askinclude-test21.tex\\
-% test/askinclude-test22.tex & doc/latex/oberdiek/test/askinclude-test22.tex\\
-% test/askinclude-test23.tex & doc/latex/oberdiek/test/askinclude-test23.tex\\
-% test/askinclude-test24.tex & doc/latex/oberdiek/test/askinclude-test24.tex\\
% askinclude.dtx & source/latex/oberdiek/askinclude.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/askinclude.pdf b/macros/latex/contrib/oberdiek/askinclude.pdf
index 12975d6a9a..fac4008a47 100644
--- a/macros/latex/contrib/oberdiek/askinclude.pdf
+++ b/macros/latex/contrib/oberdiek/askinclude.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/atbegshi.dtx b/macros/latex/contrib/oberdiek/atbegshi.dtx
index 3c8c5aa20a..7827606797 100644
--- a/macros/latex/contrib/oberdiek/atbegshi.dtx
+++ b/macros/latex/contrib/oberdiek/atbegshi.dtx
@@ -69,9 +69,6 @@
% TDS:doc/latex/oberdiek/atbegshi.pdf
% TDS:doc/latex/oberdiek/atbegshi-example1.tex
% TDS:doc/latex/oberdiek/atbegshi-example2.tex
-% TDS:doc/latex/oberdiek/test/atbegshi-test1.tex
-% TDS:doc/latex/oberdiek/test/atbegshi-test2.tex
-% TDS:doc/latex/oberdiek/test/atbegshi-test3.tex
% TDS:source/latex/oberdiek/atbegshi.dtx
%
%<*ignore>
@@ -148,10 +145,6 @@ and the derived files
% \file{atbegshi-test1.tex}{\from{atbegshi.dtx}{test1}}%
% \file{atbegshi-test2.tex}{\from{atbegshi.dtx}{test2}}%
% \file{atbegshi-test3.tex}{\from{atbegshi.dtx}{test3}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{atbegshi.xml}{\from{atbegshi.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -188,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{atbegshi.drv}
%
@@ -1866,272 +1844,7 @@ X \endgroup
\AtBegShi@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input atbegshi.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\input atbegshi.sty\relax
-\def\msg#{\immediate\write16}
-\msg{File: atbegshi-test2.tex 2016/06/09 v1.18 Test file for plain-TeX}
-\def\testmsg#1#2{%
- \msg{}%
- \msg{*** Test with box (#1), expected page output [#2]}% hash-ok
-}
-
-\newbox\voidbox
-\def\void{\box\voidbox}
-\begingroup
- \setbox\voidbox=\void
-\endgroup
-
-\count0=0\relax
-\AtBeginShipout{%
- \global\advance\count0 by 1\relax
- \msg{* Inside \string\AtBeginShipout: [\the\count0]}%
-}
-
-\AtBeginShipoutFirst{%
- \msg{* Inside \string\AtBeginShipoutFirst}%
- Hello World%
-}
-
-\testmsg{\string\null}{1}
-\shipout\null
-
-\AtBeginShipoutFirst{%
- This is too late%
-}
-
-\testmsg{void}{}
-\shipout\void
-
-\testmsg{\string\copy255 (not void)}{2}
-\setbox255\hbox{\vrule height 10bp width 10bp}
-\shipout\copy255 %
-
-\testmsg{\string\copy255 (again)}{3}
-\shipout\copy255 %
-
-\testmsg{\string\box255}{4}
-\shipout\box255 %
-
-\testmsg{\string\box255 (again)}{}
-\shipout\box255 %
-
-\testmsg{\string\hbox}{5}
-\shipout\hbox{\vrule height 5bp width 20bp}
-
-\testmsg{\string\vbox}{6}
-\shipout\vbox{\hrule height 20bp width 5bp}
-
-\testmsg{\string\null, voided by hook}{}
-\def\VoidBox{%
- \begingroup
- \setbox\AtBeginShipoutBox=\box\AtBeginShipoutBox
- \endgroup
-}
-\AtBeginShipout{\VoidBox}
-\shipout\null
-\def\VoidBox{}
-
-\msg{*** \string\begingroup}
-\begingroup
- \testmsg{void}{}%
- \shipout\void
-\msg{*** \string\endgroup}
-\endgroup
-
-\msg{*** \string\begingroup}
-\begingroup
- \testmsg{void}{}%
- \shipout\void
- \testmsg{\string\null}{8}%
- \shipout\null
-\msg{*** \string\endgroup}
-\endgroup
-
-\testmsg{output routine}{9}
-Hello World
-\vfill
-\eject
-
-\testmsg{\string\null\space(discarded)}{}
-\AtBeginShipout{%
- \msg{* Inside \string\AtBeginShipout: DISCARD}%
- \AtBeginShipoutDiscard
-}
-\shipout\null
-
-\end
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{atbegshi-test3.tex}[2016/06/09 v1.18 Test file for LaTeX]
-\RequirePackage{color}
-\pagecolor{yellow}
-\documentclass[a5paper,showtrims]{memoir}
-\usepackage{atbegshi}
-\AtBeginShipout{%
- \setbox\AtBeginShipoutBox=\vbox{%
- \vbox to 0pt{%
- \kern-1.5in %
- \hbox to 0pt{%
- \kern-1.5in %
- \color{blue}%
- \rule{1in}{1in}%
- \hss
- }%
- \vss
- }%
- \hrule
- \hbox{\vrule\box\AtBeginShipoutBox\vrule}%
- \hrule
- }%
-}
-\usepackage{eso-pic}
-\makeatletter
-\@ifundefined{@EveryShipout@Init}{%
- \typeout{Test skipped}%
- \@@end
-}{}
-\@EveryShipout@Init
-\let\@EveryShipout@Init\relax
-\makeatother
-\AddToShipoutPicture{%
- \hspace{.52\paperwidth}%
- \colorbox{cyan}{%
- \rule{0mm}{\paperheight}%
- \hspace{.48\paperwidth}%
- }%
-}
-% \end{macrocode}
-% Newer versions of class \xclass{memoir} emulate package
-% \xpackage{crop} and prevents its loading. This is undone
-% in next line for this test file.
-% \begin{macrocode}
-\expandafter\let\csname ver@crop.sty\endcsname\relax
-\usepackage[color=red,cross,a4,center]{crop}
-\begin{document}
-\shipout\null
-\shipout\box\csname voidb@x\endcsname
-\section{Hello World}
-\end{document}
-%</test3>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2182,9 +1895,6 @@ Hello World
% atbegshi.pdf & doc/latex/oberdiek/atbegshi.pdf\\
% atbegshi-example1.tex & doc/latex/oberdiek/atbegshi-example1.tex\\
% atbegshi-example2.tex & doc/latex/oberdiek/atbegshi-example2.tex\\
-% test/atbegshi-test1.tex & doc/latex/oberdiek/test/atbegshi-test1.tex\\
-% test/atbegshi-test2.tex & doc/latex/oberdiek/test/atbegshi-test2.tex\\
-% test/atbegshi-test3.tex & doc/latex/oberdiek/test/atbegshi-test3.tex\\
% atbegshi.dtx & source/latex/oberdiek/atbegshi.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/atbegshi.pdf b/macros/latex/contrib/oberdiek/atbegshi.pdf
index 669658c566..3423553408 100644
--- a/macros/latex/contrib/oberdiek/atbegshi.pdf
+++ b/macros/latex/contrib/oberdiek/atbegshi.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/atenddvi.dtx b/macros/latex/contrib/oberdiek/atenddvi.dtx
index 5ea70c80e5..b1b15af7ab 100644
--- a/macros/latex/contrib/oberdiek/atenddvi.dtx
+++ b/macros/latex/contrib/oberdiek/atenddvi.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{atenddvi.drv}{\from{atenddvi.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{atenddvi.sty}{\from{atenddvi.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{atenddvi.xml}{\from{atenddvi.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{atenddvi.drv}
%
diff --git a/macros/latex/contrib/oberdiek/atenddvi.pdf b/macros/latex/contrib/oberdiek/atenddvi.pdf
index 9d93a21ab7..24fbfaed17 100644
--- a/macros/latex/contrib/oberdiek/atenddvi.pdf
+++ b/macros/latex/contrib/oberdiek/atenddvi.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/atveryend.dtx b/macros/latex/contrib/oberdiek/atveryend.dtx
index 7801120e07..a6e2ef52fa 100644
--- a/macros/latex/contrib/oberdiek/atveryend.dtx
+++ b/macros/latex/contrib/oberdiek/atveryend.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/atveryend.sty
% TDS:doc/latex/oberdiek/atveryend.pdf
-% TDS:doc/latex/oberdiek/test/atveryend-test1.tex
% TDS:source/latex/oberdiek/atveryend.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{atveryend.sty}{\from{atveryend.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{atveryend-test1.tex}{\from{atveryend.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{atveryend.xml}{\from{atveryend.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{atveryend.drv}
%
@@ -1187,118 +1167,7 @@ and the derived files
\AtVeryEnd@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input atveryend.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1347,7 +1216,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% atveryend.sty & tex/latex/oberdiek/atveryend.sty\\
% atveryend.pdf & doc/latex/oberdiek/atveryend.pdf\\
-% test/atveryend-test1.tex & doc/latex/oberdiek/test/atveryend-test1.tex\\
% atveryend.dtx & source/latex/oberdiek/atveryend.dtx\\
% \end{tabular}^^A
% }^^A
@@ -1478,13 +1346,13 @@ and the derived files
% James Darrell McCauley, Jeff Goldberg:
% \textit{The \xpackage{endfloat} package};
% 1995/10/11 v2.4i;
-% \CTAN{macros/latex/contrib/endfloat/endfloat.pdf}.
+% \CTANpkg{endfloat}.
%
% \bibitem{etoolbox}
% Philipp Lehmann:
% \textit{The \xpackage{etoolbox} package};
% 2009/08/06 v1.8;
-% \CTAN{macros/latex/contrib/etoolbox/etoolbox.pdf}.
+% \CTANpkg{etoolbox}.
%
% \bibitem{hyperref}
% Sebastian Rahtz, Heiko Oberdiek:
diff --git a/macros/latex/contrib/oberdiek/atveryend.pdf b/macros/latex/contrib/oberdiek/atveryend.pdf
index e99485f48a..8a25fcdc9a 100644
--- a/macros/latex/contrib/oberdiek/atveryend.pdf
+++ b/macros/latex/contrib/oberdiek/atveryend.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/auxhook.dtx b/macros/latex/contrib/oberdiek/auxhook.dtx
index ac5711ed25..6a9674bcca 100644
--- a/macros/latex/contrib/oberdiek/auxhook.dtx
+++ b/macros/latex/contrib/oberdiek/auxhook.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{auxhook.drv}{\from{auxhook.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{auxhook.sty}{\from{auxhook.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{auxhook.xml}{\from{auxhook.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{auxhook.drv}
%
@@ -581,7 +562,7 @@ and the derived files
% \bibitem{hypdestopt}
% Heiko Oberdiek: \textit{The \xpackage{hypdestopt} package};
% 2006/05/30 v1.0;
-% \CTAN{macros/latex/contrib/oberdiek/hypdestopt.pdf}.
+% \CTANpkg{hypdestopt}.
%
% \bibitem{hyperref}
% Sebastian Rahtz, Heiko Oberdiek:
@@ -592,7 +573,7 @@ and the derived files
% \bibitem{zref}
% Heiko Oberdiek: \textit{The \xpackage{zref} package};
% 2006/05/25 v1.2;
-% \CTAN{macros/latex/contrib/oberdiek/zref.pdf}.
+% \CTANpkg{zref}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/auxhook.pdf b/macros/latex/contrib/oberdiek/auxhook.pdf
index b49a8bb86b..03097c28c7 100644
--- a/macros/latex/contrib/oberdiek/auxhook.pdf
+++ b/macros/latex/contrib/oberdiek/auxhook.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/bigintcalc.dtx b/macros/latex/contrib/oberdiek/bigintcalc.dtx
index 004fd97c14..40fa56ed1d 100644
--- a/macros/latex/contrib/oberdiek/bigintcalc.dtx
+++ b/macros/latex/contrib/oberdiek/bigintcalc.dtx
@@ -67,9 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/bigintcalc.sty
% TDS:doc/latex/oberdiek/bigintcalc.pdf
-% TDS:doc/latex/oberdiek/test/bigintcalc-test1.tex
-% TDS:doc/latex/oberdiek/test/bigintcalc-test2.tex
-% TDS:doc/latex/oberdiek/test/bigintcalc-test3.tex
% TDS:source/latex/oberdiek/bigintcalc.dtx
%
%<*ignore>
@@ -143,10 +140,6 @@ and the derived files
% \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}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{bigintcalc.xml}{\from{bigintcalc.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -218,21 +211,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{bigintcalc.drv}
%
@@ -3395,932 +3373,7 @@ $ \BIC@Temp 9{18\or27\or36\or45\or54\or63\or72\or81}%
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input bigintcalc.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble with test macro definitions}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedNumexpr\numexpr
-%<noetex>\let\numexpr\UNDEFINED
-\makeatletter
-\chardef\BIC@TestMode=1 %
-\makeatother
-\usepackage{bigintcalc}[2016/05/16]
-%<noetex>\let\numexpr\SavedNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\newcommand*{\TestSpaceAtEnd}[1]{%
-%<noetex> \let\SavedNumexpr\numexpr
-%<noetex> \let\numexpr\UNDEFINED
- \edef\resultA{#1}%
- \edef\resultB{#1 }%
-%<noetex> \let\numexpr\SavedNumexpr
- \Expect*{\resultA\space}*{\resultB}%
-}
-\newcommand*{\TestResult}[2]{%
-%<noetex> \let\SavedNumexpr\numexpr
-%<noetex> \let\numexpr\UNDEFINED
- \edef\result{#1}%
-%<noetex> \let\numexpr\SavedNumexpr
- \Expect*{\result}{#2}%
-}
-\newcommand*{\TestResultTwoExpansions}[2]{%
-%<*noetex>
- \begingroup
- \let\numexpr\UNDEFINED
- \expandafter\expandafter\expandafter
- \endgroup
-%</noetex>
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{#1}{#2}%
-}
-\newcount\TestCount
-%<etex>\newcommand*{\TestArg}[1]{\numexpr#1\relax}
-%<noetex>\newcommand*{\TestArg}[1]{#1}
-\newcommand*{\TestTeXDivide}[2]{%
- \TestCount=\TestArg{#1}\relax
- \divide\TestCount by \TestArg{#2}\relax
- \Expect*{\bigintcalcDiv{#1}{#2}}*{\the\TestCount}%
-}
-\newcommand*{\Test}[2]{%
- \TestResult{#1}{#2}%
- \TestResultTwoExpansions{#1}{#2}%
- \TestSpaceAtEnd{#1}%
-}
-\newcommand*{\TestExch}[2]{\Test{#2}{#1}}
-\newcommand*{\TestInv}[2]{%
- \Test{\bigintcalcInv{#1}}{#2}%
-}
-\newcommand*{\TestAbs}[2]{%
- \Test{\bigintcalcAbs{#1}}{#2}%
-}
-\newcommand*{\TestSgn}[2]{%
- \Test{\bigintcalcSgn{#1}}{#2}%
-}
-\newcommand*{\TestMin}[3]{%
- \Test{\bigintcalcMin{#1}{#2}}{#3}%
-}
-\newcommand*{\TestMax}[3]{%
- \Test{\bigintcalcMax{#1}{#2}}{#3}%
-}
-\newcommand*{\TestCmp}[3]{%
- \Test{\bigintcalcCmp{#1}{#2}}{#3}%
-}
-\newcommand*{\TestOdd}[2]{%
- \Test{\bigintcalcOdd{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcOdd
- \bigintcalcAbs{#1}!%
- }{#2}%
- }%
- \x
-}
-\newcommand*{\TestInc}[2]{%
- \Test{\bigintcalcInc{#1}}{#2}%
- \ifnum\bigintcalcSgn{#1}>-1 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcInc\bigintcalcNum{#1}!%
- }{#2}%
- }%
- \x
- \fi
-}
-\newcommand*{\TestDec}[2]{%
- \Test{\bigintcalcDec{#1}}{#2}%
- \ifnum\bigintcalcSgn{#1}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcDec\bigintcalcNum{#1}!%
- }{#2}%
- }%
- \x
- \fi
-}
-\newcommand*{\TestAdd}[3]{%
- \Test{\bigintcalcAdd{#1}{#2}}{#3}%
- \ifnum\bigintcalcSgn{#1}>0 %
- \ifnum\bigintcalcSgn{#2}> 0 %
- \ifnum\bigintcalcCmp{#1}{#2}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcAdd
- \bigintcalcNum{#1}!\bigintcalcNum{#2}!%
- }{#3}%
- }%
- \x
- \else
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcAdd
- \bigintcalcNum{#2}!\bigintcalcNum{#1}!%
- }{#3}%
- }%
- \x
- \fi
- \fi
- \fi
-}
-\newcommand*{\TestSub}[3]{%
- \Test{\bigintcalcSub{#1}{#2}}{#3}%
- \ifnum\bigintcalcSgn{#1}>0 %
- \ifnum\bigintcalcSgn{#2}> 0 %
- \ifnum\bigintcalcCmp{#1}{#2}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcSub
- \bigintcalcNum{#1}!\bigintcalcNum{#2}!%
- }{#3}%
- }%
- \x
- \fi
- \fi
- \fi
-}
-\newcommand*{\TestShl}[2]{%
- \Test{\bigintcalcShl{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcShl\bigintcalcAbs{#1}!%
- }{\bigintcalcAbs{#2}}%
- }%
- \x
-}
-\newcommand*{\TestShr}[2]{%
- \Test{\bigintcalcShr{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcShr\bigintcalcAbs{#1}!%
- }{\bigintcalcAbs{#2}}%
- }%
- \x
-}
-\newcommand*{\TestMul}[3]{%
- \Test{\bigintcalcMul{#1}{#2}}{#3}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcMul
- \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
- }{\bigintcalcAbs{#3}}%
- }%
- \x
-}
-\newcommand*{\TestSqr}[2]{%
- \Test{\bigintcalcSqr{#1}}{#2}%
-}
-\newcommand*{\TestFac}[2]{%
- \expandafter\TestExch\expandafter{%
- \the\numexpr#2%
- }{\bigintcalcFac{#1}}%
-}
-\newcommand*{\TestFacBig}[2]{%
- \Test{\bigintcalcFac{#1}}{#2}%
-}
-\newcommand*{\TestPow}[3]{%
- \Test{\bigintcalcPow{#1}{#2}}{#3}%
-}
-\newcommand*{\TestDiv}[3]{%
- \Test{\bigintcalcDiv{#1}{#2}}{#3}%
- \TestTeXDivide{#1}{#2}%
-}
-\newcommand*{\TestDivBig}[3]{%
- \Test{\bigintcalcDiv{#1}{#2}}{#3}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcDiv\bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
- }{\bigintcalcAbs{#3}}%
- }%
-}
-\newcommand*{\TestMod}[3]{%
- \Test{\bigintcalcMod{#1}{#2}}{#3}%
- \ifcase\ifcase\bigintcalcSgn{#1} 0%
- \or
- \ifcase\bigintcalcSgn{#2} 1%
- \or 0%
- \else 1%
- \fi
- \else
- \ifcase\bigintcalcSgn{#2} 1%
- \or 1%
- \else 0%
- \fi
- \fi\relax
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcMod
- \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
- }{\bigintcalcAbs{#3}}%
- }%
- \x
- \fi
-}
-% \end{macrocode}
-%
-% \subsubsection{Time}
-%
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
- \makeatletter
- \newcount\SummaryTime
- \newcount\TestTime
- \SummaryTime=\z@
- \newcommand*{\PrintTime}[2]{%
- \typeout{%
- [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]%
- }%
- }%
- \newcommand*{\StartTime}[1]{%
- \renewcommand*{\TimeDescription}{#1}%
- \pdfresettimer
- }%
- \newcommand*{\TimeDescription}{}%
- \newcommand*{\StopTime}{%
- \TestTime=\pdfelapsedtime
- \global\advance\SummaryTime\TestTime
- \PrintTime\TimeDescription\TestTime
- }%
- \let\saved@qstest\qstest
- \let\saved@endqstest\endqstest
- \def\qstest#1#2{%
- \saved@qstest{#1}{#2}%
- \StartTime{#1}%
- }%
- \def\endqstest{%
- \StopTime
- \saved@endqstest
- }%
- \AtEndDocument{%
- \PrintTime{summary}\SummaryTime
- }%
- \makeatother
-\fi
-% \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-% \begin{macrocode}
-\makeatletter
-
-\begin{qstest}{inv}{inv}%
- \TestInv{0}{0}%
- \TestInv{1}{-1}%
- \TestInv{-1}{1}%
- \TestInv{10}{-10}%
- \TestInv{-10}{10}%
- \TestInv{2147483647}{-2147483647}%
- \TestInv{-2147483647}{2147483647}%
- \TestInv{12345678901234567890}{-12345678901234567890}%
- \TestInv{-12345678901234567890}{12345678901234567890}%
- \TestInv{ 0 }{0}%
- \TestInv{ 1 }{-1}%
- \TestInv{--1}{-1}%
- \TestInv{\number\z@}{0}%
- \TestInv{\ifx\relax\relax1\fi}{-1}%
- \TestInv{\ifx\relax\relax-\fi\ifx234\else1\fi}{1}%
-\end{qstest}
-
-\begin{qstest}{abs}{abs}%
- \TestAbs{0}{0}%
- \TestAbs{1}{1}%
- \TestAbs{-1}{1}%
- \TestAbs{10}{10}%
- \TestAbs{-10}{10}%
- \TestAbs{2147483647}{2147483647}%
- \TestAbs{-2147483647}{2147483647}%
- \TestAbs{12345678901234567890}{12345678901234567890}%
- \TestAbs{-12345678901234567890}{12345678901234567890}%
- \TestAbs{ 0 }{0}%
- \TestAbs{ 1 }{1}%
- \TestAbs{--1}{1}%
- \TestAbs{-+-+1}{1}%
- \TestAbs{00000000000}{0}%
- \TestAbs{00000001000}{1000}%
- \TestAbs{\ifx\relax\relax 0\else 1\fi}{0}%
-\end{qstest}
-
-\begin{qstest}{sign}{sign}%
- \TestSgn{0}{0}%
- \TestSgn{1}{1}%
- \TestSgn{-1}{-1}%
- \TestSgn{10}{1}%
- \TestSgn{-10}{-1}%
- \TestSgn{2147483647}{1}%
- \TestSgn{-2147483647}{-1}%
- \TestSgn{12345678901234567890}{1}%
- \TestSgn{-12345678901234567890}{-1}%
- \TestSgn{ 0 }{0}%
- \TestSgn{ 2 }{1}%
- \TestSgn{ -2 }{-1}%
- \TestSgn{--2}{1}%
- \TestSgn{\number\z@}{0}%
- \TestSgn{\number\@ne}{1}%
- \TestSgn{\number\m@ne}{-1}%
- \TestSgn{%
- -+-+\number\z@\number\z@
- \iftrue1\fi\iftrue2\fi\iftrue3\fi
- }{1}%
-\end{qstest}
-
-\begin{qstest}{min}{min}%
- \TestMin{0}{1}{0}%
- \TestMin{1}{0}{0}%
- \TestMin{-10}{-20}{-20}%
- \TestMin{ 1 }{ 2 }{1}%
- \TestMin{ 2 }{ 1 }{1}%
- \TestMin{1}{1}{1}%
- \TestMin{\number\z@}{\number\@ne}{0}%
- \TestMin{\number\@ne}{\number\m@ne}{-1}%
-\end{qstest}
-
-\begin{qstest}{max}{max}%
- \TestMax{0}{1}{1}%
- \TestMax{1}{0}{1}%
- \TestMax{-10}{-20}{-10}%
- \TestMax{ 1 }{ 2 }{2}%
- \TestMax{ 2 }{ 1 }{2}%
- \TestMax{1}{1}{1}%
- \TestMax{\number\z@}{\number\@ne}{1}%
- \TestMax{\number\@ne}{\number\m@ne}{1}%
-\end{qstest}
-
-\begin{qstest}{cmp}{cmp}%
- \TestCmp{0}{0}{0}%
- \TestCmp{-21}{17}{-1}%
- \TestCmp{3}{4}{-1}%
- \TestCmp{-10}{-10}{0}%
- \TestCmp{-10}{-11}{1}%
- \TestCmp{100}{5}{1}%
- \TestCmp{9}{10}{-1}%
- \TestCmp{10}{9}{1}%
- \TestCmp{ 3 }{ 3 }{0}%
- \TestCmp{-9}{-10}{1}%
- \TestCmp{-10}{-9}{-1}%
- \TestCmp{-3}{-3}{0}%
- \TestCmp{0}{-2}{1}%
- \TestCmp{0}{2}{-1}%
- \TestCmp{2}{0}{1}%
- \TestCmp{-2}{0}{-1}%
- \TestCmp{12}{11}{1}%
- \TestCmp{11}{12}{-1}%
- \TestCmp{2147483647}{-2147483647}{1}%
- \TestCmp{-2147483647}{2147483647}{-1}%
- \TestCmp{2147483647}{2147483647}{0}%
- \TestCmp{\number\z@}{\number\@ne}{-1}%
- \TestCmp{\number\@ne}{\number\m@ne}{1}%
- \TestCmp{ 4 }{ 5 }{-1}%
- \TestCmp{ -3 }{ -7 }{1}%
-\end{qstest}
-
-\begin{qstest}{odd}{odd}
-\tracingmacros=1
- \TestOdd{0}{0}%
- \TestOdd{1}{1}%
- \TestOdd{2}{0}%
- \TestOdd{3}{1}%
- \TestOdd{14}{0}%
- \TestOdd{15}{1}%
- \TestOdd{12345678901234567896}{0}%
- \TestOdd{12345678901234567897}{1}%
-\end{qstest}
-
-\begin{qstest}{inc}{inc}%
- \TestInc{0}{1}%
- \TestInc{1}{2}%
- \TestInc{-1}{0}%
- \TestInc{10}{11}%
- \TestInc{-10}{-9}%
- \TestInc{ 3 }{4}%
- \TestInc{999}{1000}%
- \TestInc{-1000}{-999}%
- \TestInc{129}{130}%
- \TestInc{2147483646}{2147483647}%
- \TestInc{-2147483647}{-2147483646}%
- \TestInc{12345678901234567890}{12345678901234567891}%
- \TestInc{99999999999999999999}{100000000000000000000}%
- \TestInc{-12345678901234567891}{-12345678901234567890}%
- \TestInc{-100000000000000000000}{-99999999999999999999}%
-\end{qstest}
-
-\begin{qstest}{dec}{dec}%
- \TestDec{0}{-1}%
- \TestDec{1}{0}%
- \TestDec{-1}{-2}%
- \TestDec{10}{9}%
- \TestDec{-10}{-11}%
- \TestDec{1000}{999}%
- \TestDec{-999}{-1000}%
- \TestDec{130}{129}%
- \TestDec{2147483647}{2147483646}%
- \TestDec{-2147483646}{-2147483647}%
- \TestDec{12345678901234567891}{12345678901234567890}%
- \TestDec{100000000000000000000}{99999999999999999999}%
- \TestDec{-12345678901234567890}{-12345678901234567891}%
- \TestDec{-99999999999999999999}{-100000000000000000000}%
-\end{qstest}
-
-\begin{qstest}{add}{add}%
- \TestAdd{0}{0}{0}%
- \TestAdd{1}{0}{1}%
- \TestAdd{0}{1}{1}%
- \TestAdd{1}{2}{3}%
- \TestAdd{-1}{-1}{-2}%
- \TestAdd{2147483646}{1}{2147483647}%
- \TestAdd{-2147483647}{2147483647}{0}%
- \TestAdd{20}{-5}{15}%
- \TestAdd{-4}{-1}{-5}%
- \TestAdd{-1}{-4}{-5}%
- \TestAdd{-4}{1}{-3}%
- \TestAdd{-1}{4}{3}%
- \TestAdd{4}{-1}{3}%
- \TestAdd{1}{-4}{-3}%
- \TestAdd{-4}{-1}{-5}%
- \TestAdd{-1}{-4}{-5}%
- \TestAdd{ -4 }{ -1 }{-5}%
- \TestAdd{ -1 }{ -4 }{-5}%
- \TestAdd{ -4 }{ 1 }{-3}%
- \TestAdd{ -1 }{ 4 }{3}%
- \TestAdd{ 4 }{ -1 }{3}%
- \TestAdd{ 1 }{ -4 }{-3}%
- \TestAdd{ -4 }{ -1 }{-5}%
- \TestAdd{ -1 }{ -4 }{-5}%
- \TestAdd{876543210}{111111111}{987654321}%
- \TestAdd{999999999}{2}{1000000001}%
-\end{qstest}
-
-\begin{qstest}{sub}{sub}
- \TestSub{0}{0}{0}%
- \TestSub{1}{0}{1}%
- \TestSub{1}{2}{-1}%
- \TestSub{-1}{-1}{0}%
- \TestSub{2147483646}{-1}{2147483647}%
- \TestSub{-2147483647}{-2147483647}{0}%
- \TestSub{-4}{-1}{-3}%
- \TestSub{-1}{-4}{3}%
- \TestSub{-4}{1}{-5}%
- \TestSub{-1}{4}{-5}%
- \TestSub{4}{-1}{5}%
- \TestSub{1}{-4}{5}%
- \TestSub{-4}{-1}{-3}%
- \TestSub{-1}{-4}{3}%
- \TestSub{ -4 }{ -1 }{-3}%
- \TestSub{ -1 }{ -4 }{3}%
- \TestSub{ -4 }{ 1 }{-5}%
- \TestSub{ -1 }{ 4 }{-5}%
- \TestSub{ 4 }{ -1 }{5}%
- \TestSub{ 1 }{ -4 }{5}%
- \TestSub{ -4 }{ -1 }{-3}%
- \TestSub{ -1 }{ -4 }{3}%
- \TestSub{1000000000}{2}{999999998}%
- \TestSub{987654321}{111111111}{876543210}%
-\end{qstest}
-
-\begin{qstest}{shl}{shl}
- \TestShl{0}{0}%
- \TestShl{1}{2}%
- \TestShl{2}{4}%
- \TestShl{5621}{11242}%
- \TestShl{1073741823}{2147483646}%
-\end{qstest}
-
-\begin{qstest}{shr}{shr}
- \TestShr{0}{0}%
- \TestShr{1}{0}%
- \TestShr{2}{1}%
- \TestShr{3}{1}%
- \TestShr{4}{2}%
- \TestShr{5}{2}%
- \TestShr{6}{3}%
- \TestShr{7}{3}%
- \TestShr{8}{4}%
- \TestShr{9}{4}%
- \TestShr{10}{5}%
- \TestShr{11}{5}%
- \TestShr{12}{6}%
- \TestShr{13}{6}%
- \TestShr{14}{7}%
- \TestShr{15}{7}%
- \TestShr{16}{8}%
- \TestShr{17}{8}%
- \TestShr{18}{9}%
- \TestShr{19}{9}%
- \TestShr{20}{10}%
- \TestShr{21}{10}%
- \TestShr{22}{11}%
- \TestShr{11241}{5620}%
- \TestShr{73054202}{36527101}%
- \TestShr{2147483646}{1073741823}%
-\end{qstest}
-
-\begin{qstest}{mul}{mul}
- \TestMul{0}{0}{0}%
- \TestMul{1}{0}{0}%
- \TestMul{0}{1}{0}%
- \TestMul{1}{1}{1}%
- \TestMul{3}{1}{3}%
- \TestMul{1}{-3}{-3}%
- \TestMul{-4}{-5}{20}%
- \TestMul{3}{7}{21}%
- \TestMul{7}{3}{21}%
- \TestMul{3}{-7}{-21}%
- \TestMul{7}{-3}{-21}%
- \TestMul{-3}{7}{-21}%
- \TestMul{-7}{3}{-21}%
- \TestMul{-3}{-7}{21}%
- \TestMul{-7}{-3}{21}%
- \TestMul{12}{11}{132}%
- \TestMul{999}{333}{332667}%
- \TestMul{1000}{4321}{4321000}%
- \TestMul{12345}{173955}{2147474475}%
- \TestMul{1073741823}{2}{2147483646}%
- \TestMul{2}{1073741823}{2147483646}%
- \TestMul{-1073741823}{2}{-2147483646}%
- \TestMul{2}{-1073741823}{-2147483646}%
- \TestMul{6706022400}{13}{87178291200}%
-\end{qstest}
-
-\begin{qstest}{sqr}{sqr}
- \TestSqr{0}{0}%
- \TestSqr{1}{1}%
- \TestSqr{2}{4}%
- \TestSqr{3}{9}%
- \TestSqr{4}{16}%
- \TestSqr{9}{81}%
- \TestSqr{10}{100}%
- \TestSqr{46340}{2147395600}%
- \TestSqr{-1}{1}%
- \TestSqr{-2}{4}%
- \TestSqr{-46340}{2147395600}%
-\end{qstest}
-
-\begin{qstest}{fac}{fac}
- \TestFac{0}{1}%
- \TestFac{1}{1}%
- \TestFac{2}{2}%
- \TestFac{3}{2*3}%
- \TestFac{4}{2*3*4}%
- \TestFac{5}{2*3*4*5}%
- \TestFac{6}{2*3*4*5*6}%
- \TestFac{7}{2*3*4*5*6*7}%
- \TestFac{8}{2*3*4*5*6*7*8}%
- \TestFac{9}{2*3*4*5*6*7*8*9}%
- \TestFac{10}{2*3*4*5*6*7*8*9*10}%
- \TestFac{11}{2*3*4*5*6*7*8*9*10*11}%
- \TestFac{12}{2*3*4*5*6*7*8*9*10*11*12}%
- \TestFacBig{13}{6227020800}%
- \TestFacBig{14}{87178291200}%
- \TestFacBig{15}{1307674368000}%
- \TestFacBig{16}{20922789888000}%
- \TestFacBig{17}{355687428096000}%
- \TestFacBig{18}{6402373705728000}%
- \TestFacBig{19}{121645100408832000}%
- \TestFacBig{20}{2432902008176640000}%
- \TestFacBig{21}{51090942171709440000}%
- \TestFacBig{22}{1124000727777607680000}%
-\end{qstest}
-
-\begin{qstest}{pow}{pow}
- \TestPow{-2}{0}{1}%
- \TestPow{-1}{0}{1}%
- \TestPow{0}{0}{1}%
- \TestPow{1}{0}{1}%
- \TestPow{2}{0}{1}%
- \TestPow{3}{0}{1}%
- \TestPow{-2}{1}{-2}%
- \TestPow{-1}{1}{-1}%
- \TestPow{1}{1}{1}%
- \TestPow{2}{1}{2}%
- \TestPow{3}{1}{3}%
- \TestPow{-2}{2}{4}%
- \TestPow{-1}{2}{1}%
- \TestPow{0}{2}{0}%
- \TestPow{1}{2}{1}%
- \TestPow{2}{2}{4}%
- \TestPow{3}{2}{9}%
- \TestPow{0}{1}{0}%
- \TestPow{1}{-2}{1}%
- \TestPow{1}{-1}{1}%
- \TestPow{-1}{-2}{1}%
- \TestPow{-1}{-1}{-1}%
- \TestPow{-1}{3}{-1}%
- \TestPow{-1}{4}{1}%
- \TestPow{-2}{-1}{0}%
- \TestPow{-2}{-2}{0}%
- \TestPow{2}{3}{8}%
- \TestPow{2}{4}{16}%
- \TestPow{2}{5}{32}%
- \TestPow{2}{6}{64}%
- \TestPow{2}{7}{128}%
- \TestPow{2}{8}{256}%
- \TestPow{2}{9}{512}%
- \TestPow{2}{10}{1024}%
- \TestPow{-2}{3}{-8}%
- \TestPow{-2}{4}{16}%
- \TestPow{-2}{5}{-32}%
- \TestPow{-2}{6}{64}%
- \TestPow{-2}{7}{-128}%
- \TestPow{-2}{8}{256}%
- \TestPow{-2}{9}{-512}%
- \TestPow{-2}{10}{1024}%
- \TestPow{3}{3}{27}%
- \TestPow{3}{4}{81}%
- \TestPow{3}{5}{243}%
- \TestPow{-3}{3}{-27}%
- \TestPow{-3}{4}{81}%
- \TestPow{-3}{5}{-243}%
- \TestPow{2}{30}{1073741824}%
- \TestPow{-3}{19}{-1162261467}%
- \TestPow{5}{13}{1220703125}%
- \TestPow{-7}{11}{-1977326743}%
-\end{qstest}
-
-\begin{qstest}{div}{div}
- \TestDiv{1}{1}{1}%
- \TestDiv{2}{1}{2}%
- \TestDiv{-2}{1}{-2}%
- \TestDiv{2}{-1}{-2}%
- \TestDiv{-2}{-1}{2}%
- \TestDiv{15}{2}{7}%
- \TestDiv{-16}{2}{-8}%
- \TestDiv{1}{2}{0}%
- \TestDiv{1}{3}{0}%
- \TestDiv{2}{3}{0}%
- \TestDiv{-2}{3}{0}%
- \TestDiv{2}{-3}{0}%
- \TestDiv{-2}{-3}{0}%
- \TestDiv{13}{3}{4}%
- \TestDiv{-13}{-3}{4}%
- \TestDiv{-13}{3}{-4}%
- \TestDiv{-6}{5}{-1}%
- \TestDiv{-5}{5}{-1}%
- \TestDiv{-4}{5}{0}%
- \TestDiv{-3}{5}{0}%
- \TestDiv{-2}{5}{0}%
- \TestDiv{-1}{5}{0}%
- \TestDiv{0}{5}{0}%
- \TestDiv{1}{5}{0}%
- \TestDiv{2}{5}{0}%
- \TestDiv{3}{5}{0}%
- \TestDiv{4}{5}{0}%
- \TestDiv{5}{5}{1}%
- \TestDiv{6}{5}{1}%
- \TestDiv{-5}{4}{-1}%
- \TestDiv{-4}{4}{-1}%
- \TestDiv{-3}{4}{0}%
- \TestDiv{-2}{4}{0}%
- \TestDiv{-1}{4}{0}%
- \TestDiv{0}{4}{0}%
- \TestDiv{1}{4}{0}%
- \TestDiv{2}{4}{0}%
- \TestDiv{3}{4}{0}%
- \TestDiv{4}{4}{1}%
- \TestDiv{5}{4}{1}%
- \TestDiv{12345}{678}{18}%
- \TestDiv{32372}{5952}{5}%
- \TestDiv{284271294}{18162}{15651}%
- \TestDiv{217652429}{12561}{17327}%
- \TestDiv{462028434}{5439}{84947}%
- \TestDiv{2147483647}{1000}{2147483}%
- \TestDiv{2147483647}{-1000}{-2147483}%
- \TestDiv{-2147483647}{1000}{-2147483}%
- \TestDiv{-2147483647}{-1000}{2147483}%
- \TestDiv{0}{3}{0}%
- \TestDiv{1}{3}{0}%
- \TestDiv{2}{3}{0}%
- \TestDiv{3}{3}{1}%
- \TestDiv{4}{3}{1}%
- \TestDiv{5}{3}{1}%
- \TestDiv{6}{3}{2}%
- \TestDiv{7}{3}{2}%
- \TestDiv{8}{3}{2}%
- \TestDiv{9}{3}{3}%
- \TestDiv{10}{3}{3}%
- \TestDiv{11}{3}{3}%
- \TestDiv{12}{3}{4}%
- \TestDiv{13}{3}{4}%
- \TestDiv{14}{3}{4}%
- \TestDiv{15}{3}{5}%
- \TestDiv{16}{3}{5}%
- \TestDiv{17}{3}{5}%
- \TestDiv{18}{3}{6}%
- \TestDiv{19}{3}{6}%
- \TestDiv{20}{3}{6}%
- \TestDiv{21}{3}{7}%
- \TestDiv{22}{3}{7}%
- \TestDiv{23}{3}{7}%
- \TestDiv{24}{3}{8}%
- \TestDiv{25}{3}{8}%
- \TestDiv{26}{3}{8}%
- \TestDiv{27}{3}{9}%
- \TestDiv{28}{3}{9}%
- \TestDiv{29}{3}{9}%
- \TestDiv{30}{3}{10}%
- \TestDiv{31}{3}{10}%
- \TestDivBig{17363436332507}{24702}{702916214}%
-\end{qstest}
-
-\begin{qstest}{mod}{mod}
- \TestMod{-6}{5}{4}%
- \TestMod{-5}{5}{0}%
- \TestMod{-4}{5}{1}%
- \TestMod{-3}{5}{2}%
- \TestMod{-2}{5}{3}%
- \TestMod{-1}{5}{4}%
- \TestMod{0}{5}{0}%
- \TestMod{1}{5}{1}%
- \TestMod{2}{5}{2}%
- \TestMod{3}{5}{3}%
- \TestMod{4}{5}{4}%
- \TestMod{5}{5}{0}%
- \TestMod{6}{5}{1}%
- \TestMod{-5}{4}{3}%
- \TestMod{-4}{4}{0}%
- \TestMod{-3}{4}{1}%
- \TestMod{-2}{4}{2}%
- \TestMod{-1}{4}{3}%
- \TestMod{0}{4}{0}%
- \TestMod{1}{4}{1}%
- \TestMod{2}{4}{2}%
- \TestMod{3}{4}{3}%
- \TestMod{4}{4}{0}%
- \TestMod{5}{4}{1}%
- \TestMod{-6}{-5}{-1}%
- \TestMod{-5}{-5}{0}%
- \TestMod{-4}{-5}{-4}%
- \TestMod{-3}{-5}{-3}%
- \TestMod{-2}{-5}{-2}%
- \TestMod{-1}{-5}{-1}%
- \TestMod{0}{-5}{0}%
- \TestMod{1}{-5}{-4}%
- \TestMod{2}{-5}{-3}%
- \TestMod{3}{-5}{-2}%
- \TestMod{4}{-5}{-1}%
- \TestMod{5}{-5}{0}%
- \TestMod{6}{-5}{-4}%
- \TestMod{-5}{-4}{-1}%
- \TestMod{-4}{-4}{0}%
- \TestMod{-3}{-4}{-3}%
- \TestMod{-2}{-4}{-2}%
- \TestMod{-1}{-4}{-1}%
- \TestMod{0}{-4}{0}%
- \TestMod{1}{-4}{-3}%
- \TestMod{2}{-4}{-2}%
- \TestMod{3}{-4}{-1}%
- \TestMod{4}{-4}{0}%
- \TestMod{5}{-4}{-3}%
- \TestMod{2147483647}{1000}{647}%
- \TestMod{2147483647}{-1000}{-353}%
- \TestMod{-2147483647}{1000}{353}%
- \TestMod{-2147483647}{-1000}{-647}%
- \TestMod{ 0 }{ 4 }{0}%
- \TestMod{ 1 }{ 4 }{1}%
- \TestMod{ -1 }{ 4 }{3}%
- \TestMod{ 0 }{ -4 }{0}%
- \TestMod{ 1 }{ -4 }{-3}%
- \TestMod{ -1 }{ -4 }{-1}%
- \TestMod{18362}{25}{12}%
-\end{qstest}
-
-\newcommand*{\TestError}[2]{%
- \begingroup
- \expandafter\def\csname BigIntCalcError:#1\endcsname{}%
- \Expect*{#2}{0}%
- \expandafter\def\csname BigIntCalcError:#1\endcsname{ERROR}%
- \Expect*{#2}{0ERROR}%
- \endgroup
-}
-\begin{qstest}{error}{error}
- \TestError{FacNegative}{\bigintcalcFac{-1}}%
- \TestError{FacNegative}{\bigintcalcFac{-2147483647}}%
- \TestError{DivisionByZero}{\bigintcalcPow{0}{-1}}%
- \TestError{DivisionByZero}{\bigintcalcDiv{1}{0}}%
- \TestError{DivisionByZero}{\bigintcalcMod{1}{0}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -4369,9 +3422,6 @@ $ \BIC@Temp 9{18\or27\or36\or45\or54\or63\or72\or81}%
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% bigintcalc.sty & tex/generic/oberdiek/bigintcalc.sty\\
% bigintcalc.pdf & doc/latex/oberdiek/bigintcalc.pdf\\
-% test/bigintcalc-test1.tex & doc/latex/oberdiek/test/bigintcalc-test1.tex\\
-% test/bigintcalc-test2.tex & doc/latex/oberdiek/test/bigintcalc-test2.tex\\
-% test/bigintcalc-test3.tex & doc/latex/oberdiek/test/bigintcalc-test3.tex\\
% bigintcalc.dtx & source/latex/oberdiek/bigintcalc.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/bigintcalc.pdf b/macros/latex/contrib/oberdiek/bigintcalc.pdf
index 2b05dfda17..35efdbd674 100644
--- a/macros/latex/contrib/oberdiek/bigintcalc.pdf
+++ b/macros/latex/contrib/oberdiek/bigintcalc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/bitset.dtx b/macros/latex/contrib/oberdiek/bitset.dtx
index d5808e0a27..dbb7c1ba2a 100644
--- a/macros/latex/contrib/oberdiek/bitset.dtx
+++ b/macros/latex/contrib/oberdiek/bitset.dtx
@@ -66,9 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/bitset.sty
% TDS:doc/latex/oberdiek/bitset.pdf
-% TDS:doc/latex/oberdiek/test/bitset-test1.tex
-% TDS:doc/latex/oberdiek/test/bitset-test2.tex
-% TDS:doc/latex/oberdiek/test/bitset-test3.tex
% TDS:source/latex/oberdiek/bitset.dtx
%
%<*ignore>
@@ -141,10 +138,6 @@ and the derived files
% \file{bitset-test1.tex}{\from{bitset.dtx}{test1}}%
% \file{bitset-test2.tex}{\from{bitset.dtx}{test2,etex}}%
% \file{bitset-test3.tex}{\from{bitset.dtx}{test2,noetex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{bitset.xml}{\from{bitset.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -188,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{bitset.drv}
%
@@ -2799,1223 +2777,7 @@ and the derived files
\BitSet@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input bitset.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\makeatletter
-%<*noetex>
-\let\SavedNumexpr\numexpr
-\let\SavedIfcsname\ifcsname
-\let\SavedCurrentgrouplevel\currentgrouplevel
-\def\ETeXDisable{%
- \let\ifcsname\@undefined
- \let\numexpr\@undefined
- \let\currentgrouplevel\@undefined
-}
-\ETeXDisable
-%</noetex>
-\makeatletter
-\chardef\BitSet@TestMode=1 %
-\makeatother
-\usepackage{bitset}[2016/05/16]
-%<*noetex>
-\def\ETeXEnable{%
- \let\numexpr\SavedNumexpr
- \let\ifcsname\SavedIfcsname
- \let\currentgrouplevel\SavedCurrentgrouplevel
-}
-\ETeXEnable
-%</noetex>
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-% \end{macrocode}
-%
-% \subsubsection{Time}
-%
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
- \newcount\SummaryTime
- \newcount\TestTime
- \SummaryTime=\z@
- \newcommand*{\PrintTime}[2]{%
- \typeout{%
- [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]%
- }%
- }%
- \newcommand*{\StartTime}[1]{%
- \renewcommand*{\TimeDescription}{#1}%
- \pdfresettimer
- }%
- \newcommand*{\TimeDescription}{}%
- \newcommand*{\StopTime}{%
- \TestTime=\pdfelapsedtime
- \global\advance\SummaryTime\TestTime
- \PrintTime\TimeDescription\TestTime
- }%
- \let\saved@qstest\qstest
- \let\saved@endqstest\endqstest
- \def\qstest#1#2{%
- \saved@qstest{#1}{#2}%
- \StartTime{#1}%
- }%
- \def\endqstest{%
- \StopTime
- \saved@endqstest
- }%
- \AtEndDocument{%
- \PrintTime{summary}\SummaryTime
- }%
-\fi
-% \end{macrocode}
-%
-% \subsubsection{Detection of unwanted space}
-%
-% \begin{macrocode}
-\let\orig@qstest\qstest
-\let\orig@endqstest\endqstest
-\def\qstest#1#2{%
- \orig@qstest{#1}{#2}%
- \setbox0\hbox\bgroup\begingroup\ignorespaces
-}
-\def\endqstest{%
- \endgroup\egroup
- \Expect*{\the\wd0}{0.0pt}%
- \orig@endqstest
-}
-% \end{macrocode}
-%
-% \subsubsection{Test macros}
-%
-% \begin{macrocode}
-\newcounter{Test}
-
-\def\TestError#1#2{%
- \begingroup
- \setcounter{Test}{0}%
- \sbox0{%
- \def\@PackageError##1##2##3{%
- \stepcounter{Test}%
- \begingroup
- \let\MessageBreak\relax
-%<*noetex>
- \ETeXEnable
-%</noetex>
- \Expect{##1}{bitset}%
- \Expect*{##2}*{#1}%
- \endgroup
- }%
-%<*noetex>
- \ETeXDisable
-%</noetex>
- #2%
- }%
- \Expect*{\theTest}{1}%
- \Expect*{\the\wd0}{0.0pt}%
- \endgroup
-}
-
-\def\TestErrorNegativeIndex#1#2{%
- \TestError{Invalid negative index (#1)}{#2}%
-}
-
-\def\TestGetterUndefined#1{%
- \CheckUndef{dummy}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{#1{dummy}}{0}%
-}
-
-\def\ExpectBitSet#1#2{%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter
- {\csname BS@#1\endcsname}*{#2}%
-}
-\def\Check#1#2{%
- \ExpectBitSet{#1}{#2}%
-}
-\def\CheckUndef#1{%
- \begingroup
- \Expect*{%
- \expandafter
- \ifx\csname BS@#1\endcsname\relax true\else false\fi
- }{true}%
- \endgroup
-}
-\def\RevCheck#1#2{%
- \ExpectBitSet{#1}{\Reverse#2!!}%
-}
-\def\Set#1#2{%
- \expandafter\def\csname BS@#1\endcsname{#2}%
-}
-\def\RevSet#1#2{%
- \expandafter\edef\csname BS@#1\endcsname{%
- \Reverse#2!!%
- }%
-}
-\def\Reverse#1#2!#3!{%
- \ifx\\#2\\%
- #1#3%
- \expandafter\@gobble
- \else
- \expandafter\@firstofone
- \fi
- {\Reverse#2!#1#3!}%
-}
-% \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-% \begin{macrocode}
-\begin{qstest}{Let}{Let}
- \CheckUndef{abc}%
- \CheckUndef{xyz}%
- \bitsetLet{xyz}{abc}%
- \CheckUndef{abc}%
- \Check{xyz}{0}%
- \Set{abc}{1}%
- \Check{abc}{1}%
- \Check{xyz}{0}%
- \bitsetLet{xyz}{abc}%
- \Check{abc}{1}%
- \Check{xyz}{1}%
- \Set{xyz}{11}%
- \Check{abc}{1}%
- \Check{xyz}{11}%
-\end{qstest}
-
-\begin{qstest}{Reset}{Reset}
- \bitsetReset{xyz}%
- \Check{xyz}{0}%
- \bitsetReset{abc}%
- \Check{abc}{0}%
- \Set{abc}{10101}%
- \bitsetReset{abc}%
- \Check{abc}{0}%
-\end{qstest}
-
-\begin{qstest}{Get/Query}{Get/Query}
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGet{dummy}{0}%
- }{0}%
- \begingroup
- \expandafter\def\csname BitSetError:NegativeIndex\endcsname{}%
- \Set{abc}{1}%
- \Expect*{\bitsetQuery{abc}{-1}{true}{false}}{false}%
- \endgroup
- \def\Test#1#2#3{%
- \Set{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{\bitsetGet{abc}{#2}}{#3}%
- \Expect*{\bitsetQuery{abc}{#2}{true}{false}}%
- *{\ifcase#3 false\or true\else error\fi}%
- }%
- \Test{1}{100}{0}%
- \Test{0}{0}{0}%
- \Test{1}{0}{1}%
- \Test{11}{1}{1}%
- \Test{111}{1}{1}%
- \Test{101}{1}{0}%
- \Test{101}{2}{1}%
- \Test{10100110011}{10}{1}%
-\end{qstest}
-
-\begin{qstest}{Size}{Size}
- \TestGetterUndefined\bitsetSize
- \def\Test#1#2{%
- \Set{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{\bitsetSize{abc}}{#2}%
- }%
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{00}{0}%
- \Test{0000000}{0}%
- \Test{10}{1}%
- \Test{01}{2}%
- \Test{11}{2}%
- \Test{010}{2}%
- \Test{011}{3}%
- \Test{100110011}{9}%
- \Test{0000011111000001111100000}{20}%
- \Test{000000000000000000000000011111111111111111111}{45}%
-\end{qstest}
-
-\begin{qstest}{Cardinality}{Cardinality}
- \TestGetterUndefined\bitsetCardinality
- \def\Test#1#2{%
- \Set{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetCardinality{abc}%
- }{#2}%
- }%
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{00}{0}%
- \Test{0000000}{0}%
- \Test{10}{1}%
- \Test{01}{1}%
- \Test{11}{2}%
- \Test{010}{1}%
- \Test{011}{2}%
- \Test{100110011}{5}%
- \Test{0000011111000001111100000}{10}%
- \Test{000000000000000000000000011111111111111111111}{20}%
-\end{qstest}
-
-\begin{qstest}{NextClearBit/NextSetBit}{NextClearBit/NextSetBit}
- \def\Test#1#2{%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \TestOp{abc}{#1}%
- }{#2}%
- }%
- \def\Clear{\let\TestOp\bitsetNextClearBit}%
- \def\Set{\let\TestOp\bitsetNextSetBit}%
- \begingroup
- \catcode`\:=11 %
- \bitsetSetBin{abc}{1}%
- \Clear
- \Test{-1}{1\BitSetError:NegativeIndex}%
- \Set
- \Test{-1}{0\BitSetError:NegativeIndex}%
- \endgroup
- \let\BS@abc\@undefined
- \Clear
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{2}{2}%
- \Test{100}{100}%
- \Set
- \Test{0}{-1}%
- \Test{1}{-1}%
- \Test{100}{-1}%
- \bitsetReset{abc}%
- \Clear
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{2}{2}%
- \Test{100}{100}%
- \Set
- \Test{0}{-1}%
- \Test{1}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{1}%
- \Clear
- \Test{0}{1}%
- \Test{1}{1}%
- \Test{2}{2}%
- \Test{100}{100}%
- \Set
- \Test{0}{0}%
- \Test{1}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{111000111000111000111}%
- \Clear
- \Test{0}{3}%
- \Test{1}{3}%
- \Test{2}{3}%
- \Test{3}{3}%
- \Test{4}{4}%
- \Test{5}{5}%
- \Test{6}{9}%
- \Test{7}{9}%
- \Test{8}{9}%
- \Test{9}{9}%
- \Test{10}{10}%
- \Test{11}{11}%
- \Test{12}{15}%
- \Test{13}{15}%
- \Test{14}{15}%
- \Test{15}{15}%
- \Test{16}{16}%
- \Test{17}{17}%
- \Test{18}{21}%
- \Test{19}{21}%
- \Test{20}{21}%
- \Test{21}{21}%
- \Test{22}{22}%
- \Test{100}{100}%
- \Set
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{2}{2}%
- \Test{3}{6}%
- \Test{4}{6}%
- \Test{5}{6}%
- \Test{6}{6}%
- \Test{7}{7}%
- \Test{8}{8}%
- \Test{9}{12}%
- \Test{10}{12}%
- \Test{11}{12}%
- \Test{12}{12}%
- \Test{13}{13}%
- \Test{14}{14}%
- \Test{15}{18}%
- \Test{16}{18}%
- \Test{17}{18}%
- \Test{18}{18}%
- \Test{19}{19}%
- \Test{20}{20}%
- \Test{21}{-1}%
- \Test{22}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{1111111}%
- \Clear
- \Test{6}{7}%
- \Test{7}{7}%
- \Test{8}{8}%
- \Test{100}{100}%
- \Set
- \Test{6}{6}%
- \Test{7}{-1}%
- \Test{8}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{11111111}%
- \Clear
- \Test{7}{8}%
- \Test{8}{8}%
- \Test{9}{9}%
- \Test{100}{100}%
- \Set
- \Test{7}{7}%
- \Test{8}{-1}%
- \Test{9}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{111111111}%
- \Clear
- \Test{8}{9}%
- \Test{9}{9}%
- \Test{10}{10}%
- \Test{100}{100}%
- \Set
- \Test{8}{8}%
- \Test{9}{-1}%
- \Test{10}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{1111111111}%
- \Clear
- \Test{9}{10}%
- \Test{10}{10}%
- \Test{11}{11}%
- \Test{100}{100}%
- \Set
- \Test{9}{9}%
- \Test{10}{-1}%
- \Test{11}{-1}%
- \Test{100}{-1}%
-\end{qstest}
-
-\begin{qstest}{GetSetBitList}{GetSetBitList}
- \let\BS@abc\@undefined
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetSetBitList{abc}%
- }{}%
- \def\Test#1#2{%
- \bitsetSetBin{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetSetBitList{abc}%
- }{#2}%
- }%
- \Test{0}{}%
- \Test{1}{0}%
- \Test{10}{1}%
- \Test{11}{0,1}%
- \Test{10110100}{2,4,5,7}%
- \Test{101101001010011}{0,1,4,6,9,11,12,14}%
-\end{qstest}
-
-\begin{qstest}{GetDec}{GetDec}
- \TestGetterUndefined\bitsetGetDec
- \def\Test#1#2{%
- \RevSet{abc}{#1}%
-%<*noetex>
- \begingroup\expandafter\expandafter\expandafter\endgroup
-%</noetex>
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetDec{abc}%
- }{#2}%
- }%
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{10}{2}%
- \Test{11}{3}%
- \Test{100}{4}%
- \Test{101}{5}%
- \Test{110}{6}%
- \Test{111}{7}%
- \Test{1000}{8}%
- \Test{000111}{7}%
- \Test{1111111111111111%
- 111111111111111}{2147483647}%
- \Test{0001111111111111111%
- 111111111111111}{2147483647}%
- \Test{1000000000000000%
- 0000000000000000}{2147483648}%
- \Test{1000000000000000%
- 00000000000000000}{4294967296}%
- \Test{0001000000000000000%
- 00000000000000000}{4294967296}%
- \Test{1100000000000000%
- 00000000000000011}{6442450947}%
-\end{qstest}
-
-\begin{qstest}{Clear}{Clear}
- \def\Test#1#2#3{%
- \RevSet{abc}{#1}%
- \bitsetClear{abc}{#2}%
- \Expect*{\BS@abc}*{\Reverse#3!!}%
- }%
- \bitsetClear{abc}{2}%
- \RevCheck{abc}{0}%
- \TestErrorNegativeIndex{-1}{\bitsetClear{abc}{-1}}%
- \RevCheck{abc}{0}%
- \Test{0}{0}{0}%
- \Test{1}{0}{0}%
- \Test{111}{1}{101}%
- \Test{111}{30}{111}%
- \Test{0000111}{5}{0000111}% 111 would also be ok
- \Test{10000111}{5}{10000111}%
- \Test{1001001}{3}{1000001}%
-\end{qstest}
-
-\begin{qstest}{Set}{Set}
- \def\Test#1#2#3{%
- \RevSet{abc}{#1}%
- \bitsetSet{abc}{#2}%
- \Expect*{\BS@abc}*{\Reverse#3!!}%
- }%
- \bitsetSet{abc}{2}%
- \RevCheck{abc}{100}%
- \TestErrorNegativeIndex{-1}{\bitsetSet{abc}{-1}}%
- \RevCheck{abc}{100}%
- \Test{0}{0}{1}%
- \Test{1}{0}{1}%
- \Test{100}{1}{110}%
- \Test{111}{1}{111}%
- \Test{11}{1}{11}%
- \Test{11}{2}{111}%
- \Test{11}{3}{1011}%
- \Test{111}{10}{10000000111}%
- \Test{0000111}{5}{0100111}% 100111 would also be ok
- \Test{10000111}{5}{10100111}%
- \Test{1000001}{3}{1001001}%
- \Test{1001001}{3}{1001001}%
-\end{qstest}
-
-\begin{qstest}{Flip}{Flip}
- \def\Test#1#2#3{%
- \RevSet{abc}{#1}%
- \bitsetFlip{abc}{#2}%
- \Expect*{\BS@abc}*{\Reverse#3!!}%
- }%
- \bitsetFlip{abc}{2}%
- \RevCheck{abc}{100}%
- \TestErrorNegativeIndex{-1}{\bitsetFlip{abc}{-1}}%
- \RevCheck{abc}{100}%
- \Test{0}{0}{1}%
- \Test{1}{0}{0}%
- \Test{0}{2}{100}%
- \Test{100}{1}{110}%
- \Test{111}{1}{101}%
- \Test{11}{1}{1}%
- \Test{11}{2}{111}%
- \Test{11}{3}{1011}%
- \Test{111}{10}{10000000111}%
- \Test{0000111}{5}{0100111}% 100111 would also be ok
- \Test{10000111}{5}{10100111}%
- \Test{1000001}{3}{1001001}%
- \Test{1001001}{3}{1000001}%
- \Test{11111}{2}{11011}%
-\end{qstest}
-
-\begin{qstest}{SetValue}{SetValue}
- \def\Test#1#2{%
- \TestError{Invalid bit value (#2) not in range 0..1}{%
- \bitsetSetValue{abc}{#1}{#2}%
- }%
- }%
- \Test{0}{-1}%
- \Test{0}{2}%
- \Test{0}{10}%
- \def\Test#1#2#3{%
- \let\BS@abc\@undefined
- \bitsetSetValue{abc}{#1}{#2}%
- \bitsetSetBin{result}{#3}%
- \Expect*{\BS@abc}*{\BS@result}%
- }%
- \Test{0}{0}{0}%
- \Test{0}{1}{1}%
- \Test{1}{0}{0}%
- \Test{1}{1}{10}%
- \def\Test#1#2#3#4{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetBin{result}{#4}%
- \bitsetSetValue{abc}{#2}{#3}%
- \Expect*{\BS@abc}*{\BS@result}%
- }%
- \Test{0}{0}{0}{0}%
- \Test{0}{0}{0}{0}%
- \Test{0}{0}{1}{1}%
- \Test{0}{1}{0}{0}%
- \Test{0}{1}{1}{10}%
- \Test{1010}{2}{1}{1110}%
- \Test{1010}{4}{1}{11010}%
- \Test{1010}{6}{1}{1001010}%
- \Test{1010}{1}{0}{1000}%
- \Test{1010}{2}{0}{1010}%
- \Test{1010}{3}{0}{10}%
- \Test{1010}{4}{0}{1010}%
- \Test{1010}{6}{0}{1010}%
- \Test{1010}{2}{\csname iffalse\endcsname 0\else 1\fi}{1110}%
- \Test{1010}{1}{\csname iffalse\endcsname 1\else 0\fi}{1000}%
-\end{qstest}
-
-\begin{qstest}{IsDefined}{IsDefined}
- \let\BS@abc\@undefined
- \Expect*{\bitsetIsDefined{abc}{true}{false}}{false}%
- \bitsetReset{abc}%
- \Expect*{\bitsetIsDefined{abc}{true}{false}}{true}%
-\end{qstest}
-
-\begin{qstest}{IsEmpty}{IsEmpty}
- \let\BS@abc\@undefined
- \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}%
- \bitsetReset{abc}%
- \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}%
- \bitsetSet{abc}{1}%
- \Expect*{\bitsetIsEmpty{abc}{true}{false}}{false}%
-\end{qstest}
-
-\begin{qstest}{Equals}{Equals}
- \def\Test#1#2#3{%
- \Expect*{\bitsetEquals{#1}{#2}{true}{false}}{#3}%
- }%
- \let\BS@abc\@undefined
- \Test{abc}{abc}{true}%
- \Test{abc}{foo}{true}%
- \Test{foo}{abc}{true}%
- \bitsetReset{abc}%
- \Test{abc}{abc}{true}%
- \Test{abc}{foo}{false}%
- \Test{foo}{abc}{false}%
- \bitsetReset{foo}%
- \Test{abc}{foo}{true}%
- \Test{foo}{abc}{true}%
- \bitsetSet{abc}{4}%
- \Test{abc}{foo}{false}%
- \Test{foo}{abc}{false}%
- \bitsetFlip{foo}{4}%
- \Test{abc}{foo}{true}%
- \Test{foo}{abc}{true}%
-\end{qstest}
-
-\begin{qstest}{Intersects}{Intersects}
- \def\Test#1{%
- \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#1}%
- }%
- \let\BS@abc\@undefined
- \let\BS@foo\@undefined
- \Test{false}%
- \Set{abc}{0}%
- \Test{false}%
- \Set{foo}{0}%
- \Test{false}%
- \let\BS@abc\@undefined
- \Test{false}%
- \Set{foo}{1}%
- \Test{false}%
- \Set{abc}{0}%
- \Test{false}%
- \Set{abc}{1}%
- \Test{true}%
- \let\BS@foo\@undefined
- \Test{false}%
- \Set{foo}{0}%
- \Test{false}%
- \def\Test#1#2#3{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetBin{foo}{#2}%
- \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#3}%
- }%
- \Test{1010}{0101}{false}%
- \Test{0}{10}{false}%
- \Test{1}{11}{true}%
- \Test{11}{1}{true}%
- \Test{10}{1}{false}%
-\end{qstest}
-
-\begin{qstest}{And/AndNot/Or/Xor}{And/AndNot/Or/Xor}
- \def\@Test#1#2#3#4#5{%
- \begingroup
- #5%
- \begingroup
- \let\BS@foo\@undefined
- \csname bitset#1\endcsname{abc}{foo}%
- \CheckUndef{foo}%
- \Check{abc}{#2}%
- \endgroup
- \begingroup
- \bitsetReset{foo}%
- \csname bitset#1\endcsname{abc}{foo}%
- \Check{foo}{0}%
- \Check{abc}{#3}%
- \endgroup
- \begingroup
- \def\BS@foo{0101}%
- \csname bitset#1\endcsname{abc}{foo}%
- \Check{foo}{0101}%
- \Check{abc}{#4}%
- \endgroup
- \endgroup
- }%
- \def\Test#1{%
- \def\Op{#1}%
- \Test@
- }%
- \def\Test@#1#2#3#4#5#6#7#8#9{%
- \@Test\Op{#1}{#2}{#3}{%
- \let\BS@abc\@undefined
- }%
- \@Test\Op{#4}{#5}{#6}{%
- \bitsetReset{abc}%
- }%
- \@Test\Op{#7}{#8}{#9}{%
- \def\BS@abc{1001}%
- }%
- }%
- \Test{And}%
- {0}{0}{0}%
- {0}{0}{0}%
- {0}{0}{0001}%
- \Test{AndNot}%
- {0}{0}{0}%
- {0}{0}{0}%
- {1001}{1001}{1}%
- \Test{Or}%
- {0}{0}{0101}%
- {0}{0}{0101}%
- {1001}{1001}{1101}%
- \Test{Xor}%
- {0}{0}{0101}%
- {0}{0}{0101}%
- {1001}{1001}{11}%
- \def\Test#1#2#3{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetBin{foo}{#2}%
- \csname bitset\Op\endcsname{abc}{foo}%
- \RevCheck{foo}{#2}%
- \RevCheck{abc}{#3}%
- }%
- \def\Op{And}%
- \Test{1}{111}{1}%
- \Test{111}{1}{1}%
- \Test{10}{111}{10}%
- \Test{111}{10}{10}%
- \Test{111}{1000}{0}%
- \Test{1000}{111}{0}%
- \def\Op{AndNot}%
- \Test{1010}{11}{1000}%
- \Test{100}{100}{0}%
- \Test{111}{1111}{0}%
- \Test{100}{111}{0}%
- \def\Op{Or}%
- \Test{0}{0}{0}%
- \Test{1}{0}{1}%
- \Test{0}{1}{1}%
- \Test{1}{1}{1}%
- \Test{1000}{10}{1010}%
- \Test{10}{1000}{1010}%
- \def\Op{Xor}%
- \Test{0}{0}{0}%
- \Test{1}{0}{1}%
- \Test{0}{1}{1}%
- \Test{1}{1}{0}%
- \Test{1000}{10}{1010}%
- \Test{10}{1000}{1010}%
- \Test {110011001100}%
- {111000111000111}%
- {111110100001011}%
- \Test{111000111000111}%
- {110011001100}%
- {111110100001011}%
-\end{qstest}
-
-\begin{qstest}{GetUndef}{GetUndef, GetBin, GetOct, GetHex}
- \def\TestUndef#1#2{%
- \let\BS@abc\@undefined
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \x{abc}{#1}%
- }{#2}%
- }%
- \let\x\bitsetGetBin
- \TestUndef{-1}{0}%
- \TestUndef{0}{0}%
- \TestUndef{1}{0}%
- \TestUndef{2}{00}%
- \TestUndef{8}{00000000}%
- \let\x\bitsetGetOct
- \TestUndef{-1}{0}%
- \TestUndef{0}{0}%
- \TestUndef{1}{0}%
- \TestUndef{2}{0}%
- \TestUndef{3}{0}%
- \TestUndef{4}{00}%
- \TestUndef{5}{00}%
- \TestUndef{6}{00}%
- \TestUndef{7}{000}%
- \TestUndef{8}{000}%
- \TestUndef{9}{000}%
- \TestUndef{10}{0000}%
- \let\x\bitsetGetHex
- \TestUndef{-1}{0}%
- \TestUndef{0}{0}%
- \TestUndef{1}{0}%
- \TestUndef{2}{0}%
- \TestUndef{3}{0}%
- \TestUndef{4}{0}%
- \TestUndef{5}{00}%
- \TestUndef{6}{00}%
- \TestUndef{7}{00}%
- \TestUndef{8}{00}%
- \TestUndef{9}{000}%
- \TestUndef{10}{000}%
- \TestUndef{12}{000}%
- \TestUndef{13}{0000}%
- \TestUndef{16}{0000}%
- \TestUndef{17}{00000}%
-\end{qstest}
-
-\begin{qstest}{SetBin}{SetBin}
- \def\Test#1#2{%
- \let\BS@abc\@undefined
- \bitsetSetBin{abc}{#1}%
- \expandafter\Expect\expandafter{\BS@abc}{#2}%
- }%
- \Test{}{0}%
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{10}{01}%
- \Test{11}{11}%
- \Test{010}{01}%
- \Test{011}{11}%
- \Test{0010}{01}%
- \Test{1010}{0101}%
-\end{qstest}
-
-\begin{qstest}{SetOct}{SetOct}
- \def\Test#1#2{%
- \bitsetSetOct{abc}{#1}%
- \expandafter\Expect\expandafter{\BS@abc}{#2}%
- }%
- \Test{}{0}%
- \Test{0}{0}%
- \Test{000}{0}%
- \Test{1}{1}%
- \Test{001}{1}%
- \Test{010}{0001}%
- \Test{020}{00001}%
- \Test{42}{010001}%
- \Test{377}{11111111}%
- \Test{0377}{11111111}%
- \Test{76543210}{000100010110001101011111}%
- \Test{ 0 7 0 7 1 }{100111000111}%
-\end{qstest}
-
-\begin{qstest}{SetHex}{SetHex}
- \def\Test#1#2{%
- \bitsetSetHex{abc}{#1}%
- \expandafter\Expect\expandafter{\BS@abc}{#2}%
- }%
- \Test{}{0}%
- \Test{0}{0}%
- \Test{000}{0}%
- \Test{1}{1}%
- \Test{001}{1}%
- \Test{010}{00001}%
- \Test{020}{000001}%
- \Test{42}{0100001}%
- \Test{3F}{111111}%
- \Test{03F}{111111}%
- \Test{43210}{0000100001001100001}%
- \Test{98765}{10100110111000011001}%
- \Test{FEDCBA}{010111010011101101111111}%
- \Test{ 0 F 0 F 1 }{1000111100001111}%
-\end{qstest}
-
-\begin{qstest}{SetDec}{SetDec}
- \def\Test#1#2{%
- \bitsetSetDec{abc}{#1}%
- \expandafter\Expect\expandafter{\BS@abc}{#2}%
- }%
- \Test{}{0}%
- \Test{0}{0}%
- \Test{000}{0}%
- \Test{1}{1}%
- \Test{7}{111}%
- \Test{8}{0001}%
- \Test{001}{1}%
- \Test{010}{0101}%
- \Test{020}{00101}%
- \Test{53}{101011}%
- \Test{255}{11111111}%
- \Test{256}{000000001}%
- \Test{999999999}{111111111001001101011001110111}%
- \Test{1000000000}{000000000101001101011001110111}%
- \Test{4210987654}{01100001010010010111111101011111}%
- \Test{2147483647}{1111111111111111111111111111111}%
- \Test{2147483648}{00000000000000000000000000000001}%
-\end{qstest}
-
-\begin{qstest}{GetBin}{GetBin}
- \def\TestUndef#1#2{%
- \let\BS@abc\@undefined
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetBin{abc}{#1}%
- }{#2}%
- }%
- \TestUndef{-1}{0}%
- \TestUndef{0}{0}%
- \TestUndef{1}{0}%
- \TestUndef{2}{00}%
- \TestUndef{8}{00000000}%
- \def\Test#1#2{%
- \bitsetSetBin{abc}{#2}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetBin{abc}{#1}%
- }{#2}%
- }%
- \Test{-1}{0}%
- \Test{0}{0}%
- \Test{1}{0}%
- \Test{1}{1}%
- \Test{2}{01}%
- \Test{2}{10}%
- \Test{3}{010}%
- \Test{2}{00}%
- \Test{2}{01}%
- \Test{8}{00101100}%
- \Test{2}{10101}%
- \Test{-100}{11011}%
-\end{qstest}
-
-\begin{qstest}{GetOct}{GetOct}
- \def\Test#1#2#3{%
- \edef\x{\zap@space#1 \@empty}%
- \edef\x{\noexpand\bitsetSetBin{abc}{\x}}%
- \x
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetOct{abc}{#2}%
- }{#3}%
- }%
- \Test{111 110 101 100 011 010 001 000}{0}{76543210}%
- \Test{000 111}{0}{7}%
- \Test{101 000}{-1}{50}%
- \Test{111}{-1}{7}%
- \Test{111}{0}{7}%
- \Test{111}{1}{7}%
- \Test{111}{3}{7}%
- \Test{111}{4}{07}%
- \Test{111}{6}{07}%
- \Test{111}{7}{007}%
- \Test{111 010}{6}{72}%
- \Test{111 010}{7}{072}%
- \Test{011 111}{0}{37}%
- \Test{011 111}{6}{37}%
- \Test{011 111}{7}{037}%
- \Test{001 111}{0}{17}%
- \Test{001 111}{6}{17}%
- \Test{001 111}{7}{017}%
-\end{qstest}
-
-\begin{qstest}{GetHex}{GetHex}
- \def\Test#1#2#3{%
- \bitsetSetBin{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetHex{abc}{#2}%
- }{#3}%
- }%
- \Test{1111 1110 1101 1100 1011 1010 1001 1000}{0}{FEDCBA98}%
- \Test{0111 0110 0101 0100 0011 0010 0001 0000}{0}{76543210}%
- \Test{0000 1111}{0}{F}%
- \Test{0101 0000}{-1}{50}%
- \Test{1111}{-1}{F}%
- \Test{1111}{0}{F}%
- \Test{1111}{1}{F}%
- \Test{1111}{4}{F}%
- \Test{1111}{5}{0F}%
- \Test{1111}{8}{0F}%
- \Test{1111}{9}{00F}%
- \Test{1111 0010}{8}{F2}%
- \Test{1111 0010}{9}{0F2}%
- \Test{0111 1111}{0}{7F}%
- \Test{0111 1111}{8}{7F}%
- \Test{0111 1111}{9}{07F}%
- \Test{0011 1111}{0}{3F}%
- \Test{0011 1111}{8}{3F}%
- \Test{0011 1111}{9}{03F}%
- \Test{0001 1111}{0}{1F}%
- \Test{0001 1111}{8}{1F}%
- \Test{0001 1111}{9}{01F}%
-\end{qstest}
-
-\begin{qstest}{Range}{Range}
- \TestError{%
- Wrong index numbers in range [9..8]\MessageBreak% hash-ok
- for clear/set/flip on bit set `abc'.\MessageBreak
- The lower index exceeds the upper index.\MessageBreak
- Canceling the operation as error recovery%
- }{%
- \bitsetSetRange{abc}{9}{8}%
- }%
- \def\TestErrorNegInd#1#2#3#4#5#6{%
- \TestError{%
- Negative index in range [#2..#3]\MessageBreak % hash-ok
- for \string\bitset #1Range on bit set `abc'.\MessageBreak
- Using [#4..#5] as error recovery% hash-ok
- }{%
- \csname bitset#1Range\endcsname{abc}{#2}{#3}%
- \global\let\BS@global\BS@abc
- }%
- \Check{global}{#6}%
- }%
- \Set{abc}{111}%
- \TestErrorNegInd{Clear}{-1}{0}{0}{0}{111}%
- \TestErrorNegInd{Clear}{0}{-1}{0}{0}{111}%
- \TestErrorNegInd{Clear}{-2}{2}{0}{2}{001}%
- \bitsetReset{abc}%
- \TestErrorNegInd{Set}{-1}{0}{0}{0}{0}%
- \TestErrorNegInd{Set}{0}{-1}{0}{0}{0}%
- \TestErrorNegInd{Set}{-2}{2}{0}{2}{11}%
- \Set{abc}{101}%
- \TestErrorNegInd{Flip}{-1}{0}{0}{0}{101}%
- \TestErrorNegInd{Flip}{0}{-1}{0}{0}{101}%
- \TestErrorNegInd{Flip}{-2}{2}{0}{2}{011}%
- \def\Test#1#2#3#4{%
- \bitsetSetBin{abc}{#1}%
- \csname bitset\TestOp Range\endcsname{abc}{#2}{#3}%
- \Expect*{\bitsetGetBin{abc}{0}}{#4}%
- }%
- \def\TestOp{Clear}%
- \Test{0}{0}{1}{0}%
- \Test{1111}{1}{2}{1101}%
- \Test{1111}{1}{3}{1001}%
- \Test{1111111100000000}{12}{14}{1100111100000000}%
- \def\TestOp{Set}%
- \Test{0}{0}{1}{1}%
- \Test{1000}{1}{2}{1010}%
- \Test{0}{1}{2}{10}%
- \Test{1}{12}{15}{111000000000001}%
- \Test{1111}{1}{3}{1111}%
- \Test{1000000000000000}{12}{14}{1011000000000000}%
- \def\TestOp{Flip}%
- \Test{0}{0}{1}{1}%
- \Test{1}{0}{1}{0}%
- \Test{10101010}{1}{5}{10110100}%
- \def\Test#1#2#3#4#5{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetValueRange{abc}{#2}{#3}{#4}%
- \Expect*{\bitsetGetBin{abc}{0}}{#5}%
- }%
- \Test{0}{0}{1}{0}{0}%
- \Test{0}{0}{1}{1}{1}%
- \Test{1010}{1}{3}{0}{1000}%
- \Test{1010}{1}{3}{1}{1110}%
-\end{qstest}
-
-\begin{qstest}{ShiftLeft/ShiftRight}{ShiftLeft/ShiftRight}
- \def\@Test#1#2{%
- \let\BS@abc\@undefined
- \csname bitsetShift#1\endcsname{abc}{#2}%
- \Expect*{\BS@abc}{0}%
- }%
- \def\Test#1{%
- \@Test{Left}{#1}%
- \@Test{Right}{#1}%
- }%
- \Test{-16}%
- \Test{-1}%
- \Test{0}%
- \Test{1}%
- \Test{16}%
- \def\Test#1#2#3{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetBin{result}{#3}%
- \csname bitsetShift\Op\endcsname{abc}{#2}%
- \Expect*{\bitsetGetBin{abc}{0}}*{\bitsetGetBin{result}{0}}%
- }%
- \def\Op{Left}%
- \Test{0}{0}{0}%
- \Test{0}{1}{0}%
- \Test{0}{-1}{0}%
- \Test{1}{0}{1}%
- \Test{1}{1}{10}%
- \Test{1}{-1}{0}%
- \Test{10}{1}{100}%
- \Test{10}{-1}{1}%
- \Test{1}{32}{100000000000000000000000000000000}%
- \Test{1}{-100}{0}%
- \def\Op{Right}%
- \Test{0}{0}{0}%
- \Test{0}{1}{0}%
- \Test{0}{-1}{0}%
- \Test{1}{0}{1}%
- \Test{1}{1}{0}%
- \Test{1}{-1}{10}%
- \Test{10}{1}{1}%
- \Test{10}{-1}{100}%
- \Test{1}{-32}{100000000000000000000000000000000}%
- \Test{1}{100}{0}%
- \Test{110110110110110}{10}{11011}%
- \Test{110110110110110}{100}{0}%
- \Test{1}{100000}{0}%
-\end{qstest}
-
-\begin{qstest}{Profile: Set}{Profile: Set}
- \bitsetSet{abc}{4095}%
- \global\let\BS@global\BS@abc
-\end{qstest}
-
-\begin{qstest}{Profile: Get}{Profile: Get}
- \edef\x{\bitsetGet{global}{4095}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -4064,9 +2826,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% bitset.sty & tex/generic/oberdiek/bitset.sty\\
% bitset.pdf & doc/latex/oberdiek/bitset.pdf\\
-% test/bitset-test1.tex & doc/latex/oberdiek/test/bitset-test1.tex\\
-% test/bitset-test2.tex & doc/latex/oberdiek/test/bitset-test2.tex\\
-% test/bitset-test3.tex & doc/latex/oberdiek/test/bitset-test3.tex\\
% bitset.dtx & source/latex/oberdiek/bitset.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/bitset.pdf b/macros/latex/contrib/oberdiek/bitset.pdf
index 27ccddf492..63ca003658 100644
--- a/macros/latex/contrib/oberdiek/bitset.pdf
+++ b/macros/latex/contrib/oberdiek/bitset.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/bmpsize.dtx b/macros/latex/contrib/oberdiek/bmpsize.dtx
index a0d76210c2..a6c815e430 100644
--- a/macros/latex/contrib/oberdiek/bmpsize.dtx
+++ b/macros/latex/contrib/oberdiek/bmpsize.dtx
@@ -64,7 +64,6 @@
% Installation:
% TDS:tex/latex/oberdiek/bmpsize.sty
% TDS:tex/latex/oberdiek/bmpsize-base.sty
-% TDS:tex/latex/oberdiek/bmpsize-test.tex
% TDS:tex/latex/oberdiek/bmpsize-dvips.def
% TDS:tex/latex/oberdiek/bmpsize-dvipdfm.def
% TDS:tex/latex/oberdiek/bmpsize-dvipdfmx.def
@@ -140,10 +139,6 @@ and the derived files
\file{bmpsize-dvips.def}{\from{bmpsize.dtx}{dvips}}%
\file{bmpsize-dvipdfm.def}{\from{bmpsize.dtx}{dvipdfm}}%
\file{bmpsize-dvipdfmx.def}{\from{bmpsize.dtx}{dvipdfmx}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{bmpsize.xml}{\from{bmpsize.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -182,21 +177,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{bmpsize.drv}
%
@@ -3791,7 +3771,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% bmpsize.sty & tex/latex/oberdiek/bmpsize.sty\\
% bmpsize-base.sty & tex/latex/oberdiek/bmpsize-base.sty\\
-% bmpsize-test.tex & tex/latex/oberdiek/bmpsize-test.tex\\
% bmpsize-dvips.def & tex/latex/oberdiek/bmpsize-dvips.def\\
% bmpsize-dvipdfm.def & tex/latex/oberdiek/bmpsize-dvipdfm.def\\
% bmpsize-dvipdfmx.def & tex/latex/oberdiek/bmpsize-dvipdfmx.def\\
@@ -3911,7 +3890,7 @@ and the derived files
% D.\,P.\,Carlisle, The \LaTeX\ Project:
% \textit{Packages in the `graphics' bundle},
% 2005/11/14;
-% \CTAN{macros/latex/required/graphics/grfguide.pdf}.
+% \CTANpkg{grfguide}.
%
% \subsection{URLs for bitmap format descriptions}
%
diff --git a/macros/latex/contrib/oberdiek/bmpsize.pdf b/macros/latex/contrib/oberdiek/bmpsize.pdf
index 7361945b91..bd0bbf6032 100644
--- a/macros/latex/contrib/oberdiek/bmpsize.pdf
+++ b/macros/latex/contrib/oberdiek/bmpsize.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/catchfile.dtx b/macros/latex/contrib/oberdiek/catchfile.dtx
index 2f40cdd388..439a7871e7 100644
--- a/macros/latex/contrib/oberdiek/catchfile.dtx
+++ b/macros/latex/contrib/oberdiek/catchfile.dtx
@@ -67,9 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/catchfile.sty
% TDS:doc/latex/oberdiek/catchfile.pdf
-% TDS:doc/latex/oberdiek/test/catchfile-test1.tex
-% TDS:doc/latex/oberdiek/test/catchfile-test2.tex
-% TDS:doc/latex/oberdiek/test/catchfile-test3.tex
% TDS:source/latex/oberdiek/catchfile.dtx
%
%<*ignore>
@@ -143,10 +140,6 @@ and the derived files
% \file{catchfile-test1.tex}{\from{catchfile.dtx}{test1}}%
% \file{catchfile-test2.tex}{\from{catchfile.dtx}{test2}}%
% \file{catchfile-test3.tex}{\from{catchfile.dtx}{test3}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{catchfile.xml}{\from{catchfile.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -183,21 +176,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{catchfile.drv}
%
@@ -591,306 +569,7 @@ and the derived files
\CatchFile@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input catchfile.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{\LaTeX}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\listfiles
-\tracingnesting=2 %
-\documentclass{minimal}
-\usepackage{catchfile}[2016/05/16]
-\makeatletter
-\def\mysetup{%
- \let\do\@makeother
- \dospecials
-}
-\def\CheckContents{%
- \begingroup
- \expandafter\ifx\csname contents\endcsname\relax
- \PackageError{TEST}{\string\contents\space is not defined}\@ehc
- \fi
- \endgroup
-}
-\def\StartDisableUnexpanded{%
- \begingroup
- \let\etex@unexpanded\@undefined
-}
-\def\StopDisableUnexpanded{%
- \endgroup
-}
-\def\CheckCleanup{%
- \begingroup
- \edef\x{\the\toks0}%
- \def\y{ABC}%
- \ifx\x\y
- \else
- \PackageError{TEST}{\string\toks0 has changed}\@ehc
- \fi
- \ifx\CatchFile@gtemp\@undefined
- \else
- \PackageError{TEST}{Left over \string\CatchFile@gtemp}\@ehc
- \fi
- \endgroup
-}
-\def\Check{%
- \CheckContents
- \CheckCleanup
-}
-\makeatother
-\begin{document}
-\toks0{ABC}
-
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-
-\StartDisableUnexpanded
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\StopDisableUnexpanded
-
-\CatchFileEdef\contents{catchfile.sty}{%
- \mysetup
- \def\par{^^J}%
- \obeylines
-}
-\typeout{\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileEdef\contents{catchfile.sty}{%
- \catcode`\\=12 %
- \catcode`\#=12 %
- \def\par{^^J}%
- \obeylines
-}
-\typeout{\contents}
-\Check
-\typeout{***********************************************************}%
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \subsection{\plainTeX}
-%
-% \begin{macrocode}
-%<*test3>
-\def\msg#{\immediate\write16}
-\newlinechar=10 %
-\tracingnesting=2 %
-\input catchfile.sty\relax
-
-\def\mysetup{%
- \def\do##1{%
- \catcode`##1=12\relax
- }%
- \dospecials
-}
-\def\CheckContents{%
- \begingroup
- \expandafter\ifx\csname contents\endcsname\relax
- \def\space{ }%
- \errmessage{\string\contents\space is not defined.}%
- \fi
- \endgroup
-}
-\catcode`\@=11 %
-\def\CheckCleanup{%
- \begingroup
- \edef\x{\the\toks0}%
- \def\y{ABC}%
- \ifx\x\y
- \else
- \errmessage{\string\toks0 has changed}%
- \fi
- \ifx\CatchFile@gtemp\@undefined
- \else
- \errmessage{Left over \string\CatchFile@gtemp}%
- \fi
- \endgroup
-}
-\def\Check{%
- \CheckContents
- \CheckCleanup
-}
-\def\StartDisableUnexpanded{%
- \begingroup
- \let\etex@unexpanded\@undefined
-}
-\def\StopDisableUnexpanded{%
- \endgroup
-}
-\catcode`\@=12 %
-
-\toks0{ABC}
-
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-
-\StartDisableUnexpanded
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\StopDisableUnexpanded
-
-\CatchFileEdef\contents{catchfile.sty}{%
- \mysetup
- \def\par{^^J}%
- \obeylines
-}
-\msg{\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileEdef\contents{catchfile.sty}{%
- \catcode`\\=12 %
- \catcode`\#=12 %
- \def\par{^^J}%
- \obeylines
-}
-\msg{\contents}
-\Check
-\msg{***********************************************************}%
-
-\csname @@end\endcsname
-\end
-%</test3>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -939,9 +618,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% catchfile.sty & tex/generic/oberdiek/catchfile.sty\\
% catchfile.pdf & doc/latex/oberdiek/catchfile.pdf\\
-% test/catchfile-test1.tex & doc/latex/oberdiek/test/catchfile-test1.tex\\
-% test/catchfile-test2.tex & doc/latex/oberdiek/test/catchfile-test2.tex\\
-% test/catchfile-test3.tex & doc/latex/oberdiek/test/catchfile-test3.tex\\
% catchfile.dtx & source/latex/oberdiek/catchfile.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/catchfile.pdf b/macros/latex/contrib/oberdiek/catchfile.pdf
index e80f9d2f22..79c8e5ec02 100644
--- a/macros/latex/contrib/oberdiek/catchfile.pdf
+++ b/macros/latex/contrib/oberdiek/catchfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/centernot.dtx b/macros/latex/contrib/oberdiek/centernot.dtx
index 44be798cbd..dd990a3319 100644
--- a/macros/latex/contrib/oberdiek/centernot.dtx
+++ b/macros/latex/contrib/oberdiek/centernot.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{centernot.drv}{\from{centernot.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{centernot.sty}{\from{centernot.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{centernot.xml}{\from{centernot.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +177,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{centernot.drv}
%
diff --git a/macros/latex/contrib/oberdiek/centernot.pdf b/macros/latex/contrib/oberdiek/centernot.pdf
index 312a833231..c2bf34846a 100644
--- a/macros/latex/contrib/oberdiek/centernot.pdf
+++ b/macros/latex/contrib/oberdiek/centernot.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/chemarr.dtx b/macros/latex/contrib/oberdiek/chemarr.dtx
index 528eef4571..78e1a3cbeb 100644
--- a/macros/latex/contrib/oberdiek/chemarr.dtx
+++ b/macros/latex/contrib/oberdiek/chemarr.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{chemarr.sty}{\from{chemarr.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{chemarr-example.tex}{\from{chemarr.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{chemarr.xml}{\from{chemarr.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -172,21 +168,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{chemarr.drv}
%
diff --git a/macros/latex/contrib/oberdiek/chemarr.pdf b/macros/latex/contrib/oberdiek/chemarr.pdf
index 9455775c80..a6494f979f 100644
--- a/macros/latex/contrib/oberdiek/chemarr.pdf
+++ b/macros/latex/contrib/oberdiek/chemarr.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/classlist.dtx b/macros/latex/contrib/oberdiek/classlist.dtx
index 978798a9d1..8b45464521 100644
--- a/macros/latex/contrib/oberdiek/classlist.dtx
+++ b/macros/latex/contrib/oberdiek/classlist.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{classlist.drv}{\from{classlist.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{classlist.sty}{\from{classlist.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{classlist.xml}{\from{classlist.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{classlist.drv}
%
diff --git a/macros/latex/contrib/oberdiek/classlist.pdf b/macros/latex/contrib/oberdiek/classlist.pdf
index f85b447aee..7aeefafc1f 100644
--- a/macros/latex/contrib/oberdiek/classlist.pdf
+++ b/macros/latex/contrib/oberdiek/classlist.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/colonequals.dtx b/macros/latex/contrib/oberdiek/colonequals.dtx
index c3f78e4c60..aeae542c39 100644
--- a/macros/latex/contrib/oberdiek/colonequals.dtx
+++ b/macros/latex/contrib/oberdiek/colonequals.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{colonequals.drv}{\from{colonequals.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{colonequals.sty}{\from{colonequals.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{colonequals.xml}{\from{colonequals.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -170,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{colonequals.drv}
%
diff --git a/macros/latex/contrib/oberdiek/colonequals.pdf b/macros/latex/contrib/oberdiek/colonequals.pdf
index 563da3658a..827f29fa40 100644
--- a/macros/latex/contrib/oberdiek/colonequals.pdf
+++ b/macros/latex/contrib/oberdiek/colonequals.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/dvipscol.dtx b/macros/latex/contrib/oberdiek/dvipscol.dtx
index 00840f825c..0141ae2a94 100644
--- a/macros/latex/contrib/oberdiek/dvipscol.dtx
+++ b/macros/latex/contrib/oberdiek/dvipscol.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{dvipscol.drv}{\from{dvipscol.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{dvipscol.sty}{\from{dvipscol.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{dvipscol.xml}{\from{dvipscol.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{dvipscol.drv}
%
diff --git a/macros/latex/contrib/oberdiek/dvipscol.pdf b/macros/latex/contrib/oberdiek/dvipscol.pdf
index cc6cd3dd0b..9b9773d2d4 100644
--- a/macros/latex/contrib/oberdiek/dvipscol.pdf
+++ b/macros/latex/contrib/oberdiek/dvipscol.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/engord.dtx b/macros/latex/contrib/oberdiek/engord.dtx
index e083c48ed1..6c75953200 100644
--- a/macros/latex/contrib/oberdiek/engord.dtx
+++ b/macros/latex/contrib/oberdiek/engord.dtx
@@ -65,7 +65,6 @@
% Installation:
% TDS:tex/generic/oberdiek/engord.sty
% TDS:doc/latex/oberdiek/engord.pdf
-% TDS:doc/latex/oberdiek/test/engord-test1.tex
% TDS:source/latex/oberdiek/engord.dtx
%
%<*ignore>
@@ -135,10 +134,6 @@ and the derived files
\file{engord.sty}{\from{engord.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{engord-test1.tex}{\from{engord.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{engord.xml}{\from{engord.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -175,21 +170,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{engord.drv}
%
@@ -655,118 +635,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input engord.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -815,7 +684,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% engord.sty & tex/generic/oberdiek/engord.sty\\
% engord.pdf & doc/latex/oberdiek/engord.pdf\\
-% test/engord-test1.tex & doc/latex/oberdiek/test/engord-test1.tex\\
% engord.dtx & source/latex/oberdiek/engord.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/engord.pdf b/macros/latex/contrib/oberdiek/engord.pdf
index 204f7c9be8..212962f233 100644
--- a/macros/latex/contrib/oberdiek/engord.pdf
+++ b/macros/latex/contrib/oberdiek/engord.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/enparen.dtx b/macros/latex/contrib/oberdiek/enparen.dtx
index be11acbd10..773ebc861c 100644
--- a/macros/latex/contrib/oberdiek/enparen.dtx
+++ b/macros/latex/contrib/oberdiek/enparen.dtx
@@ -163,21 +163,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{enparen.drv}
%
diff --git a/macros/latex/contrib/oberdiek/enparen.pdf b/macros/latex/contrib/oberdiek/enparen.pdf
index 8d539601a7..dfd4019199 100644
--- a/macros/latex/contrib/oberdiek/enparen.pdf
+++ b/macros/latex/contrib/oberdiek/enparen.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/eolgrab.dtx b/macros/latex/contrib/oberdiek/eolgrab.dtx
index 20d16b380e..d27e99d34e 100644
--- a/macros/latex/contrib/oberdiek/eolgrab.dtx
+++ b/macros/latex/contrib/oberdiek/eolgrab.dtx
@@ -71,8 +71,6 @@
% TDS:doc/latex/oberdiek/example/eolgrab-example-ltx.tex
% TDS:doc/latex/oberdiek/example/eolgrab-example-env.tex
% TDS:doc/latex/oberdiek/example/eolgrab-example-sec.tex
-% TDS:doc/latex/oberdiek/test/eolgrab-test1.tex
-% TDS:doc/latex/oberdiek/test/eolgrab-test2.tex
% TDS:source/latex/oberdiek/eolgrab.dtx
%
%<*ignore>
@@ -150,10 +148,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{eolgrab-test1.tex}{\from{eolgrab.dtx}{test1}}%
% \file{eolgrab-test2.tex}{\from{eolgrab.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{eolgrab.xml}{\from{eolgrab.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -190,21 +184,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{eolgrab.drv}
%
@@ -688,152 +667,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input eolgrab.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Tests for \hologo{plainTeX}}
-%
-% \begin{macrocode}
-%<*test2>
-\input eolgrab.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\eolgrab{\immediate\write16}Hello World
-\def\TestExpected{foo bar}
-\eolgrab{\def\TestResult}foo bar
-
-\ifx\TestExpected\TestResult
- \immediate\write16{* Ok (foo bar)}%
-\else
- \errmessage{Test failed (foo bar)}%
-\fi
-
-\begingroup
- \def\TestExpected{foobar}%
- \endlinechar=-1 %
- \eolgrab{\def\TestResult}foo
- bar
- ^^M
- \ifx\TestExpected\TestResult
- \immediate\write16{* Ok (foobar)}%
- \else
- \errmessage{Test failed (foobar)}%
- \fi
-\endgroup
-
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -885,8 +719,6 @@ and the derived files
% example/eolgrab-example-ltx.tex & doc/latex/oberdiek/example/eolgrab-example-ltx.tex\\
% example/eolgrab-example-env.tex & doc/latex/oberdiek/example/eolgrab-example-env.tex\\
% example/eolgrab-example-sec.tex & doc/latex/oberdiek/example/eolgrab-example-sec.tex\\
-% test/eolgrab-test1.tex & doc/latex/oberdiek/test/eolgrab-test1.tex\\
-% test/eolgrab-test2.tex & doc/latex/oberdiek/test/eolgrab-test2.tex\\
% eolgrab.dtx & source/latex/oberdiek/eolgrab.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/eolgrab.pdf b/macros/latex/contrib/oberdiek/eolgrab.pdf
index 109807d706..9040b72738 100644
--- a/macros/latex/contrib/oberdiek/eolgrab.pdf
+++ b/macros/latex/contrib/oberdiek/eolgrab.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/etexcmds.dtx b/macros/latex/contrib/oberdiek/etexcmds.dtx
index 6d8e95cbe5..236169a3af 100644
--- a/macros/latex/contrib/oberdiek/etexcmds.dtx
+++ b/macros/latex/contrib/oberdiek/etexcmds.dtx
@@ -67,10 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/etexcmds.sty
% TDS:doc/latex/oberdiek/etexcmds.pdf
-% TDS:doc/latex/oberdiek/test/etexcmds-test1.tex
-% TDS:doc/latex/oberdiek/test/etexcmds-test2.tex
-% TDS:doc/latex/oberdiek/test/etexcmds-test3.tex
-% TDS:doc/latex/oberdiek/test/etexcmds-test4.tex
% TDS:source/latex/oberdiek/etexcmds.dtx
%
%<*ignore>
@@ -145,10 +141,6 @@ and the derived files
% \file{etexcmds-test2.tex}{\from{etexcmds.dtx}{test2}}%
% \file{etexcmds-test3.tex}{\from{etexcmds.dtx}{test3}}%
% \file{etexcmds-test4.tex}{\from{etexcmds.dtx}{test4}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{etexcmds.xml}{\from{etexcmds.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -185,21 +177,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{etexcmds.drv}
%
@@ -555,180 +532,7 @@ and the derived files
\etexcmds@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input etexcmds.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2>
-\immediate\write16{etexcmds-test2.tex: test file for plainTeX}
-\input etexcmds.sty\relax
-\catcode`\@=11 %
-\edef\x{\string\unexpanded}
-\edef\y{\meaning\etex@unexpanded}
-\ifx\x\y
-\else
- \@PackageError{etexcmds-test2}{Test failed}\@ehc
-\fi
-\end
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{etexcmds-test3.tex}[2016/05/16 v1.6 Test file for LaTeX]
-\RequirePackage{etexcmds}
-\makeatletter
-\edef\x{\string\unexpanded}
-\edef\y{\meaning\etex@unexpanded}
-\ifx\x\y
-\else
- \@PackageError{etexcmds-test3}{Test failed}\@ehc
-\fi
-\stop
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{etexcmds-test4.tex}[2016/05/16 v1.6 Test file for LaTeX]
-\documentclass{article}
-\usepackage{m-pictex}
-\def\normalwritestatus#1#2{%
- \typeout{EMERGENCY HACK \string\normalwritestatus}%
- \typeout{#1: #2}%
-}
-\usepackage{m-ch-de}
-\usepackage{etexcmds}
-\makeatletter
-\ifetex@unexpanded
- \edef\x{\string\unexpanded}%
- \edef\y{\meaning\etex@unexpanded}%
- \ifx\x\y
- \else
- \@PackageWarningNoLine{etexcmds-test4}{Test failed}%
- \fi
-\else
- \@PackageWarningNoLine{etexcmds-test4}{%
- Test failed because of ConTeXt%
- }%
-\fi
-\stop
-%</test4>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -777,10 +581,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% etexcmds.sty & tex/generic/oberdiek/etexcmds.sty\\
% etexcmds.pdf & doc/latex/oberdiek/etexcmds.pdf\\
-% test/etexcmds-test1.tex & doc/latex/oberdiek/test/etexcmds-test1.tex\\
-% test/etexcmds-test2.tex & doc/latex/oberdiek/test/etexcmds-test2.tex\\
-% test/etexcmds-test3.tex & doc/latex/oberdiek/test/etexcmds-test3.tex\\
-% test/etexcmds-test4.tex & doc/latex/oberdiek/test/etexcmds-test4.tex\\
% etexcmds.dtx & source/latex/oberdiek/etexcmds.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/etexcmds.pdf b/macros/latex/contrib/oberdiek/etexcmds.pdf
index a8cd82cfd9..4015fb4ca4 100644
--- a/macros/latex/contrib/oberdiek/etexcmds.pdf
+++ b/macros/latex/contrib/oberdiek/etexcmds.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/fibnum.dtx b/macros/latex/contrib/oberdiek/fibnum.dtx
index 97c5591106..9c3f8f7986 100644
--- a/macros/latex/contrib/oberdiek/fibnum.dtx
+++ b/macros/latex/contrib/oberdiek/fibnum.dtx
@@ -67,8 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/fibnum.sty
% TDS:doc/latex/oberdiek/fibnum.pdf
-% TDS:doc/latex/oberdiek/test/fibnum-test1.tex
-% TDS:doc/latex/oberdiek/test/fibnum-test-calc.tex
% TDS:source/latex/oberdiek/fibnum.dtx
%
%<*ignore>
@@ -219,21 +217,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{fibnum.drv}
%
@@ -738,249 +721,7 @@ and the derived files
\FibNum@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input fibnum.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test calculations}
-%
-% \begin{macrocode}
-%<*test-calc>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input fibnum.sty\relax
-\else
- \RequirePackage{fibnum}[2016/05/16]%
-\fi
-\def\TestSet{%
- \test{0}{0}%
- \test{1}{1}%
- \test{2}{1}%
- \test{3}{2}%
- \test{4}{3}%
- \test{5}{5}%
- \test{6}{8}%
- \test{7}{13}%
- \test{8}{21}%
- \test{9}{34}%
- \test{10}{55}%
- \test{11}{89}%
- \test{12}{144}%
- \test{13}{233}%
- \test{14}{377}%
- \test{15}{610}%
- \test{16}{987}%
- \test{17}{1597}%
- \test{18}{2584}%
- \test{19}{4181}%
- \test{20}{6765}%
- \test{21}{10946}%
- \test{22}{17711}%
- \test{23}{28657}%
- \test{24}{46368}%
- \test{25}{75025}%
- \test{26}{121393}%
- \test{27}{196418}%
- \test{28}{317811}%
- \test{29}{514229}%
- \test{30}{832040}%
- \test{31}{1346269}%
- \test{32}{2178309}%
- \test{33}{3524578}%
- \test{34}{5702887}%
- \test{35}{9227465}%
- \test{36}{14930352}%
- \test{37}{24157817}%
- \test{38}{39088169}%
- \test{39}{63245986}%
- \test{40}{102334155}%
- \test{41}{165580141}%
- \test{42}{267914296}%
- \test{43}{433494437}%
- \test{44}{701408733}%
- \test{45}{1134903170}%
- \test{46}{1836311903}%
- \test{47}{2971215073}%
- \test{48}{4807526976}%
- \test{49}{7778742049}%
- \test{50}{12586269025}%
- \test{51}{20365011074}%
- \test{52}{32951280099}%
- \test{53}{53316291173}%
- \test{54}{86267571272}%
- \test{55}{139583862445}%
- \test{56}{225851433717}%
- \test{57}{365435296162}%
- \test{58}{591286729879}%
- \test{59}{956722026041}%
- \test{60}{1548008755920}%
- \test{61}{2504730781961}%
- \test{62}{4052739537881}%
- \test{63}{6557470319842}%
- \test{64}{10610209857723}%
- \test{65}{17167680177565}%
- \test{66}{27777890035288}%
- \test{67}{44945570212853}%
- \test{68}{72723460248141}%
- \test{69}{117669030460994}%
- \test{70}{190392490709135}%
- \test{71}{308061521170129}%
- \test{72}{498454011879264}%
- \test{73}{806515533049393}%
-}
-\def\msg#{\immediate\write16}
-\def\test#1#2{%
- \TestAux{#1}{#2}%
- \ifnum#1=0 %
- \else
- \ifodd#1 %
- \TestAux{-#1}{#2}%
- \else
- \TestAux{-#1}{-#2}%
- \fi
- \fi
-}
-\def\TestAux#1#2{%
- \def\Expected{#2}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\Result
- \expandafter\expandafter\expandafter{%
- \fibnum{#1}%
- }%
- \ltx@onelevel@sanitize\Result
- \ifx\Result\Expected
- \msg{* #1: ok.}%
- \else
- \msg{! fib(#1) = #2}%
- \errmessage{fib(#1) <> \Result}%
- \fi
-}
-\TestSet
-\setbox0=\hbox{%
- \msg{* PreCalc{73}}%
- \fibnumPreCalc{73}%
-}
-\ifdim\wd0=0pt
-\else
- \errmessage{Unwanted stuff in PreCalc}%
-\fi
-\TestSet
-\csname @@end\endcsname\end
-%</test-calc>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1029,8 +770,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% fibnum.sty & tex/generic/oberdiek/fibnum.sty\\
% fibnum.pdf & doc/latex/oberdiek/fibnum.pdf\\
-% test/fibnum-test1.tex & doc/latex/oberdiek/test/fibnum-test1.tex\\
-% test/fibnum-test-calc.tex & doc/latex/oberdiek/test/fibnum-test-calc.tex\\
% fibnum.dtx & source/latex/oberdiek/fibnum.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/fibnum.pdf b/macros/latex/contrib/oberdiek/fibnum.pdf
index 8787bf4d5a..a4c0823fe5 100644
--- a/macros/latex/contrib/oberdiek/fibnum.pdf
+++ b/macros/latex/contrib/oberdiek/fibnum.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/flags.dtx b/macros/latex/contrib/oberdiek/flags.dtx
index eccf6d3c9a..6a2d05c7b4 100644
--- a/macros/latex/contrib/oberdiek/flags.dtx
+++ b/macros/latex/contrib/oberdiek/flags.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{flags.drv}{\from{flags.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{flags.sty}{\from{flags.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{flags.xml}{\from{flags.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{flags.drv}
%
diff --git a/macros/latex/contrib/oberdiek/flags.pdf b/macros/latex/contrib/oberdiek/flags.pdf
index 36418b15f3..86af3a2b8a 100644
--- a/macros/latex/contrib/oberdiek/flags.pdf
+++ b/macros/latex/contrib/oberdiek/flags.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/gettitlestring.dtx b/macros/latex/contrib/oberdiek/gettitlestring.dtx
index 6d9dfad7c5..724ed7fecc 100644
--- a/macros/latex/contrib/oberdiek/gettitlestring.dtx
+++ b/macros/latex/contrib/oberdiek/gettitlestring.dtx
@@ -67,8 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/gettitlestring.sty
% TDS:doc/latex/oberdiek/gettitlestring.pdf
-% TDS:doc/latex/oberdiek/test/gettitlestring-test1.tex
-% TDS:doc/latex/oberdiek/test/gettitlestring-test2.tex
% TDS:source/latex/oberdiek/gettitlestring.dtx
%
%<*ignore>
@@ -141,10 +139,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{gettitlestring-test1.tex}{\from{gettitlestring.dtx}{test1}}%
% \file{gettitlestring-test2.tex}{\from{gettitlestring.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{gettitlestring.xml}{\from{gettitlestring.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +175,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{gettitlestring.drv}
%
@@ -616,158 +595,7 @@ and the derived files
\GTS@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input gettitlestring.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test of non-expand method}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{gettitlestring}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
-\begin{qstest}{non-expand}{non-expand}
- \def\test#1#2{%
- \sbox0{%
- \GetTitleString{#1}%
- \Expect{#2}*{\GetTitleStringResult}%
- }%
- \Expect{0.0pt}*{\the\wd0}%
- }%
- \test{}{}%
- \test{ }{}%
- \test{ x }{x}%
- \test{ x y }{x y}%
- \test{ \relax}{\relax}%
- \test{\label{f}a}{a}%
- \test{ \label{f}a}{a}%
- \test{\label{f} a}{a}%
- \test{ \label{f} a}{a}%
- \test{a\label{f}}{a}%
- \test{a\label{f} }{a}%
- \test{a \label{f}}{a}%
- \test{a \label{f} }{a}%
- \test{a\label{f}b\label{g}}{ab}%
- \test{a \label{f}b \label{g} }{a b}%
- \test{a\label{f} b \label{g} }{a b}%
-\end{qstest}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -816,8 +644,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% gettitlestring.sty & tex/generic/oberdiek/gettitlestring.sty\\
% gettitlestring.pdf & doc/latex/oberdiek/gettitlestring.pdf\\
-% test/gettitlestring-test1.tex & doc/latex/oberdiek/test/gettitlestring-test1.tex\\
-% test/gettitlestring-test2.tex & doc/latex/oberdiek/test/gettitlestring-test2.tex\\
% gettitlestring.dtx & source/latex/oberdiek/gettitlestring.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/gettitlestring.pdf b/macros/latex/contrib/oberdiek/gettitlestring.pdf
index eb62b74593..96c4bc13ae 100644
--- a/macros/latex/contrib/oberdiek/gettitlestring.pdf
+++ b/macros/latex/contrib/oberdiek/gettitlestring.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/grfext.dtx b/macros/latex/contrib/oberdiek/grfext.dtx
deleted file mode 100644
index b52dee6151..0000000000
--- a/macros/latex/contrib/oberdiek/grfext.dtx
+++ /dev/null
@@ -1,1130 +0,0 @@
-% \iffalse meta-comment
-%
-% File: grfext.dtx
-% Version: 2016/05/16 v1.2
-% Info: Manage graphics extensions
-%
-% Copyright (C)
-% 2007, 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
-%
-% This work consists of the main source file grfext.dtx
-% and the derived files
-% grfext.sty, grfext.pdf, grfext.ins, grfext.drv, grfext-test1.tex,
-% grfext-test2.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/grfext.dtx
-% CTAN:macros/latex/contrib/oberdiek/grfext.pdf
-%
-% Unpacking:
-% (a) If grfext.ins is present:
-% tex grfext.ins
-% (b) Without grfext.ins:
-% tex grfext.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{grfext.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If grfext.drv is present:
-% latex grfext.drv
-% (b) Without grfext.drv:
-% latex grfext.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 grfext.dtx
-% makeindex -s gind.ist grfext.idx
-% pdflatex grfext.dtx
-% makeindex -s gind.ist grfext.idx
-% pdflatex grfext.dtx
-%
-% Installation:
-% TDS:tex/latex/oberdiek/grfext.sty
-% TDS:doc/latex/oberdiek/grfext.pdf
-% TDS:doc/latex/oberdiek/test/grfext-test1.tex
-% TDS:doc/latex/oberdiek/test/grfext-test2.tex
-% TDS:source/latex/oberdiek/grfext.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: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: grfext
-Version: 2016/05/16 v1.2
-
-Copyright (C)
- 2007, 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
-
-
-This work consists of the main source file grfext.dtx
-and the derived files
- grfext.sty, grfext.pdf, grfext.ins, grfext.drv, grfext-test1.tex,
- grfext-test2.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
- \file{grfext.ins}{\from{grfext.dtx}{install}}%
- \file{grfext.drv}{\from{grfext.dtx}{driver}}%
- \usedir{tex/latex/oberdiek}%
- \file{grfext.sty}{\from{grfext.dtx}{package}}%
-% \usedir{doc/latex/oberdiek/test}%
-% \file{grfext-test1.tex}{\from{grfext.dtx}{test1}}%
-% \file{grfext-test2.tex}{\from{grfext.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{grfext.xml}{\from{grfext.dtx}{catalogue}}%
-}
-
-\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{* grfext.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `grfext.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{grfext.drv}%
- [2016/05/16 v1.2 Manage graphics extensions (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
- \DocInput{grfext.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \GetFileInfo{grfext.drv}
-%
-% \title{The \xpackage{grfext} 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 macros for adding and reordering
-% graphics extensions of package \xpackage{graphics}.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% If you are not familiar with \LaTeX's graphics bundle, please
-% read its documentation \xfile{grffile} \cite{graphics}.
-% The bundle contains two packages for graphics inclusion:
-% \xpackage{graphics} and \xpackage{graphicx}. The first one
-% is loaded by the second one that adds a key value interface.
-%
-% Graphics files are included in both cases by macro
-% \cs{includegraphics}. The file name extension can be omitted.
-% Then the graphics package goes through a list of known
-% extensions until it finds the graphics file. This extension list
-% is set by \cs{DeclareGraphicsExtensions}. The previous contents
-% of the list is overwritten.
-%
-% \subsection{User interface}
-%
-% This package \xpackage{grfext} provides macros that adds entries
-% to the list or remove them. The list may be empty or even
-% undefined before. It is always defined afterwards, but can
-% be empty (especially after removing entries).
-%
-% \begin{declcs}{AppendGraphicsExtensions} * \M{ext-list}\\
-% \cs{PrependGraphicsExtensions} * \M{ext-list}
-% \end{declcs}
-% The argument \meta{ext-list} is a comma separated list whose
-% entries are file name extensions including the dot.
-% But first the entries are removed from
-% \xpackage{graphics}' extension list to avoid multiple
-% occurences of the same extension.
-%
-% Then macro \cs{AppendGraphicsExtensions} adds the entries
-% after the end of \xpackage{graphics}' list, whereas
-% macro \cs{PrependGraphicsExtensions} puts them in front
-% of the list.
-% The order matters if a graphics file is available in
-% different acceptable formats. Then the first extension
-% wins.
-%
-% The star version of these commands only adds an extensions,
-% if a specific graphics rule exists for that extension.
-%
-% \begin{declcs}{RemoveGraphicsExtensions} \M{ext-list}
-% \end{declcs}
-% All occurences of file extensions in \meta{ext-list} are
-% removed from \xpackage{graphics}' extension list.
-%
-% \subsection{Package loading}
-%
-% The package does not define any options. It is loaded
-% as usual in \LaTeX, e.g.:
-% \begin{quote}
-% |\usepackage{grfext}|
-% \end{quote}
-%
-% \begin{declcs}{PrintGraphicsExtensions}
-% \end{declcs}
-% Macro \cs{PrintGraphicsExtensions} writes the current
-% graphics extensions list in the \xfile{.log} file.
-% The macros described before do this automatically
-% after their operation.
-%
-% \subsection{Option support for package \xpackage{graphicx}}
-%
-% Package \xpackage{graphicx} uses the interface of package
-% \xpackage{keyval} in order to specify options for
-% \cs{includegraphics}. The options can also be set using
-% \begin{quote}
-% |\setkeys{Gin}{|\meta{options}|}|
-% \end{quote}
-% The four user macros with the two star forms are available
-% as options in family |Gin| as well:
-% \begin{quote}
-% |AppendGraphicsExtensions={|\meta{ext-list}|}|\\
-% |AppendGraphicsExtensions*={|\meta{ext-list}|}|\\
-% |PrependGraphicsExtensions={|\meta{ext-list}|}|\\
-% |PrependGraphicsExtensions*{|\meta{ext-list}|}|\\
-% |RemoveGraphicsExtensions={|\meta{ext-list}|}|\\
-% |PrintGraphicsExtensions|
-% \end{quote}
-% This makes it easier to locally change the extension list
-% for an included graphics, e.g.:
-% \begin{quote}
-% |\includegraphics[RemoveGraphicsExtensions={.pdf,PDF}]{image}|
-% \end{quote}
-%
-% \subsection{\plainTeX}
-%
-% \LaTeX's graphics packages can also be used with \plainTeX.
-% The necessary basic \LaTeX\ macros are defined in
-% \xfile{miniltx.tex}. This package \xpackage{grfext} also
-% relies on it. Example:
-%\begin{quote}
-%\begin{verbatim}
-%\input miniltx.tex\relax
-%\def\Gin@driver{pdftex.def}
-%\input graphicx.sty\relax
-%\input grfext.sty\relax
-%\resetatcatcode
-%\end{verbatim}
-%\end{quote}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-%
-% \subsection{Relead check and 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@grfext.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{grfext}{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@grfext.sty\endcsname
-\ProvidesPackage{grfext}%
- [2016/05/16 v1.2 Manage graphics extensions (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 grfext@AtEnd\endcsname{%
- \endlinechar=\the\endlinechar\relax
- \catcode13=\the\catcode13\relax
- \catcode32=\the\catcode32\relax
- \catcode35=\the\catcode35\relax
- \catcode61=\the\catcode61\relax
- \catcode64=\the\catcode64\relax
- \catcode123=\the\catcode123\relax
- \catcode125=\the\catcode125\relax
- }%
- }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP@EnsureCode#1#2{%
- \edef\grfext@AtEnd{%
- \grfext@AtEnd
- \catcode#1=\the\catcode#1\relax
- }%
- \catcode#1=#2\relax
-}
-\TMP@EnsureCode{42}{12}% *
-\TMP@EnsureCode{44}{12}% ,
-\TMP@EnsureCode{47}{12}% /
-\TMP@EnsureCode{58}{12}% :
-\TMP@EnsureCode{60}{12}% <
-\TMP@EnsureCode{62}{12}% >
-\TMP@EnsureCode{91}{12}% [
-\TMP@EnsureCode{93}{12}% ]
-\edef\grfext@AtEnd{\grfext@AtEnd\noexpand\endinput}
-% \end{macrocode}
-%
-% \subsection{\plainTeX}
-%
-% \begin{macro}{\@expandtwoargs}
-% Requirement is \xfile{miniltx.tex}, but we need also
-% \LaTeX's \cs{@expandtwoargs}.
-% \begin{macrocode}
-\@ifundefined{@expandtwoargs}{%
- \def\@expandtwoargs#1#2#3{%
- \edef\reserved@a{\noexpand#1{#2}{#3}}%
- \reserved@a
- }%
-}{}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Add}
-%
-% \begin{macro}{\AppendGraphicsExtensions}
-% \begin{macrocode}
-\newcommand*{\AppendGraphicsExtensions}{%
- \@ifundefined{Gin@extensions}{%
- \let\Gin@extensions\@empty
- }{}%
- \@ifstar{\grfext@Append\grfext@Check}{\grfext@Append\grfext@@Add}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\grfext@Append}
-% \begin{macrocode}
-\def\grfext@Append#1#2{%
- \let\grfext@Print\@gobble
- \edef\grfext@next{%
- \noexpand\grfext@Add\noexpand#1{%
- \zap@space#2 \@empty
- }{\noexpand\Gin@extensions,}{}%
- }%
- \grfext@next
- \let\grfext@Print\grfext@@Print
- \grfext@Print\AppendGraphicsExtensions
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\PrependGraphicsExtensions}
-% \begin{macrocode}
-\newcommand*{\PrependGraphicsExtensions}{%
- \@ifundefined{Gin@extensions}{%
- \let\Gin@extensions\@empty
- }{}%
- \@ifstar{\grfext@Prepend\grfext@Check}{\grfext@Prepend\grfext@@Add}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\grfext@Prepend}
-% \begin{macrocode}
-\def\grfext@Prepend#1#2{%
- \let\grfext@Print\@gobble
- \edef\grfext@next{%
- \noexpand\grfext@Add\noexpand#1{%
- \zap@space#2 \@empty
- }{}{,\noexpand\Gin@extensions}%
- }%
- \grfext@next
- \let\grfext@Print\grfext@@Print
- \grfext@Print\PrependGraphicsExtensions
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\grfext@Add}
-% \begin{macrocode}
-\def\grfext@Add#1#2{%
- #1{#2}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\grfext@@Add}
-% \begin{macrocode}
-\def\grfext@@Add#1#2#3{%
- \RemoveGraphicsExtensions{#1}%
- \ifx\Gin@extensions\@empty
- \def\Gin@extensions{#1}%
- \else
- \edef\Gin@extensions{#2#1#3}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Check}
-%
-% \begin{macro}{\grfext@Check}
-% \begin{macrocode}
-\def\grfext@Check#1{%
- \let\grfext@tmp\@empty
- \@for\grfext@ext:=#1\do{%
- \@ifundefined{Gin@rule@\grfext@ext}{%
- }{%
- \ifx\grfext@tmp\@empty
- \let\grfext@tmp\grfext@ext
- \else
- \edef\grfext@tmp{\grfext@tmp,\grfext@ext}%
- \fi
- }%
- }%
- \ifx\grfext@tmp\@empty
- \def\grfext@next##1##2{}%
- \else
- \edef\grfext@next{%
- \noexpand\grfext@@Add{\grfext@tmp}%
- }%
- \fi
- \grfext@next
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Remove}
-%
-% \begin{macro}{\RemoveGraphicsExtensions}
-% \begin{macrocode}
-\newcommand*{\RemoveGraphicsExtensions}[1]{%
- \@ifundefined{Gin@extensions}{%
- \def\Gin@extensions{}%
- }{%
- \edef\grfext@tmp{\zap@space#1 \@empty}%
- \@for\grfext@ext:=\grfext@tmp\do{%
- \def\grfext@next{%
- \let\grfext@tmp\Gin@extensions
- \@expandtwoargs
- \@removeelement\grfext@ext\Gin@extensions\Gin@extensions
- \ifx\grfext@tmp\Gin@extensions
- \let\grfext@next\relax
- \fi
- \grfext@next
- }%
- \grfext@next
- }%
- }%
- \grfext@Print\RemoveGraphicsExtensions
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Print}
-%
-% \begin{macrocode}
-\RequirePackage{infwarerr}[2007/09/09]
-% \end{macrocode}
-%
-% \begin{macro}{\PrintGraphicsExtensions}
-% \begin{macrocode}
-\def\PrintGraphicsExtensions{%
- \grfext@Print\PrintGraphicsExtensions
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\grfext@Print}
-% \begin{macrocode}
-\def\grfext@Print#1{%
- \@PackageInfo{grfext}{%
- Graphics extension search list:\MessageBreak
- \@ifundefined{Gin@extensions}{%
- <unavailable>%
- }{%
- [\Gin@extensions]%
- }\MessageBreak
- \string#1%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\grfext@@Print}
-% \begin{macrocode}
-\let\grfext@@Print\grfext@Print
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Defining options for package \xpackage{graphicx}}
-%
-% \begin{macrocode}
-\RequirePackage{kvdefinekeys}[2010/03/01]
-\kv@define@key{Gin}{AppendGraphicsExtensions}{%
- \AppendGraphicsExtensions{#1}%
-}
-\kv@define@key{Gin}{AppendGraphicsExtensions*}{%
- \AppendGraphicsExtensions*{#1}%
-}
-\kv@define@key{Gin}{PrependGraphicsExtensions}{%
- \PrependGraphicsExtensions{#1}%
-}
-\kv@define@key{Gin}{PrependGraphicsExtensions*}{%
- \PrependGraphicsExtensions*{#1}%
-}
-\kv@define@key{Gin}{RemoveGraphicsExtensions}{%
- \RemoveGraphicsExtensions{#1}%
-}
-\kv@define@key{Gin}{PrintGraphicsExtensions}[]{%
- \PrintGraphicsExtensions
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\grfext@AtEnd%
-%</package>
-% \end{macrocode}
-%
-% \section{Test}
-%
-% Load \xfile{miniltx} for standard catcode test.
-% \begin{macrocode}
-%<*test1>
-\input miniltx.tex\relax
-\resetatcatcode
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input grfext.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\usepackage[pdftex]{graphics}
-\usepackage{grfext}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-% \end{macrocode}
-%
-% \subsubsection{Detection of unwanted space}
-%
-% \begin{macrocode}
-\let\orig@qstest\qstest
-\let\orig@endqstest\endqstest
-\def\qstest#1#2{%
- \orig@qstest{#1}{#2}%
- \setbox0\hbox\bgroup\begingroup\ignorespaces
-}
-\def\endqstest{%
- \endgroup\egroup
- \Expect*{\the\wd0}{0.0pt}%
- \orig@endqstest
-}
-% \end{macrocode}
-%
-% \subsubsection{Generic test macros}
-%
-% \begin{macrocode}
-\def\Test{\@ifnextchar\bgroup\TestInitList\TestInitCmd}%
-\def\TestInitList#1{%
- \def\Gin@extensions{#1}%
- \@Test
-}
-\def\TestInitCmd#1{%
- \let\Gin@extensions#1\relax
- \@Test
-}
-\def\@Test#1#2{%
- \TestCmd{#1}%
- \expandafter\Expect\expandafter*{\Gin@extensions}{#2}%
-}
-% \end{macrocode}
-%
-% \subsubsection{Test for \cs{AppendGraphicsExtensions}}
-%
-% \begin{macrocode}
-\begin{qstest}{AppendGraphicsExtensions}{AppendGraphicsExtensions}
- \let\TestCmd\AppendGraphicsExtensions
- \Test\@undefined{.test}{.test}%
- \Test\relax{.test}{.test}%
- \Test{}{.test}{.test}%
- \Test{.foo}{.test}{.foo,.test}%
- \Test{.foo,.bar}{.test}{.foo,.bar,.test}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.foo,.test}%
- \Test{.test,.foo}{.test}{.foo,.test}%
- \Test{.foo,.test,.bar}{.test}{.foo,.bar,.test}%
- \Test{.foo}{.test,.bar}{.foo,.test,.bar}%
- \Test{.foo}{.test,.foo}{.test,.foo}%
- \Test{.foo}{ .test ,.bar , .x, .y }{.foo,.test,.bar,.x,.y}%
- \def\TestCmd{\AppendGraphicsExtensions*}%
- \Test\@undefined{.test}{}%
- \Test\relax{.test}{}%
- \Test{}{.test}{}%
- \Test{.test}{.test}{.test}%
- \Test{.foo}{.test}{.foo}%
- \Test{.foo,.bar}{.test}{.foo,.bar}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.foo,.test}%
- \Test{.test,.foo}{.test}{.test,.foo}%
- \Test{.foo,.test,.bar}{.test}{.foo,.test,.bar}%
- \Test{.foo}{.test,.bar}{.foo}%
- \Test{.foo}{.test,.foo}{.foo}%
- \DeclareGraphicsRule{.test}{test}{.test}{}%
- \Test\@undefined{.test}{.test}%
- \Test\relax{.test}{.test}%
- \Test{}{.test}{.test}%
- \Test{.foo}{.test}{.foo,.test}%
- \Test{.foo,.bar}{.test}{.foo,.bar,.test}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.foo,.test}%
- \Test{.test,.foo}{.test}{.foo,.test}%
- \Test{.foo,.test,.bar}{.test}{.foo,.bar,.test}%
- \Test{.foo}{.test,.bar}{.foo,.test}%
- \Test{.foo}{.test,.foo}{.foo,.test}%
- \DeclareGraphicsRule{.bar}{bar}{.bar}{}%
- \Test{.foo}{.test,.bar}{.foo,.test,.bar}%
- \Test{.bar}{.test,.bar}{.test,.bar}%
- \Test{.bar}{.bar,.test}{.bar,.test}%
-\end{qstest}
-% \end{macrocode}
-%
-% \subsubsection{Test for \cs{PrependGraphicsExtensions}}
-%
-% \begin{macrocode}
-\begin{qstest}{PrependGraphicsExtensions}{PrependGraphicsExtensions}
- \let\TestCmd\PrependGraphicsExtensions
- \Test\@undefined{.test}{.test}%
- \Test\relax{.test}{.test}%
- \Test{}{.test}{.test}%
- \Test{.foo}{.test}{.test,.foo}%
- \Test{.foo,.bar}{.test}{.test,.foo,.bar}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.test,.foo}%
- \Test{.test,.foo}{.test}{.test,.foo}%
- \Test{.foo,.test,.bar}{.test}{.test,.foo,.bar}%
- \Test{.foo}{.test,.bar}{.test,.bar,.foo}%
- \Test{.foo}{.test,.foo}{.test,.foo}%
- \Test{.foo}{ .test ,.bar , .x, .y }{.test,.bar,.x,.y,.foo}%
- \def\TestCmd{\PrependGraphicsExtensions*}%
- \Test\@undefined{.test}{}%
- \Test\relax{.test}{}%
- \Test{}{.test}{}%
- \Test{.test}{.test}{.test}%
- \Test{.foo}{.test}{.foo}%
- \Test{.foo,.bar}{.test}{.foo,.bar}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.foo,.test}%
- \Test{.test,.foo}{.test}{.test,.foo}%
- \Test{.foo,.test,.bar}{.test}{.foo,.test,.bar}%
- \DeclareGraphicsRule{.test}{test}{.test}{}%
- \Test\@undefined{.test}{.test}%
- \Test\relax{.test}{.test}%
- \Test{}{.test}{.test}%
- \Test{.foo}{.test}{.test,.foo}%
- \Test{.foo,.bar}{.test}{.test,.foo,.bar}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.test,.foo}%
- \Test{.test,.foo}{.test}{.test,.foo}%
- \Test{.foo,.test,.bar}{.test}{.test,.foo,.bar}%
- \Test{.foo}{.test,.bar}{.test,.foo}%
- \Test{.foo}{.test,.foo}{.test,.foo}%
- \DeclareGraphicsRule{.bar}{bar}{.bar}{}%
- \Test{.foo}{.test,.bar}{.test,.bar,.foo}%
- \Test{.bar}{.test,.bar}{.test,.bar}%
- \Test{.bar}{.bar,.test}{.bar,.test}%
-\end{qstest}
-% \end{macrocode}
-%
-% \subsubsection{Test for \cs{RemoveGraphicsExtensions}}
-%
-% \begin{macrocode}
-\begin{qstest}{RemoveGraphicsExtensions}{RemoveGraphicsExtensions}
- \let\TestCmd\RemoveGraphicsExtensions
- \Test\@undefined{.test}{}%
- \Test\relax{.test}{}%
- \Test{}{.test}{}%
- \Test{.foo}{.test}{.foo}%
- \Test{.foo,.bar}{.test}{.foo,.bar}%
- \Test{.test}{.test}{}%
- \Test{.foo,.test}{.test}{.foo}%
- \Test{.test,.foo}{.test}{.foo}%
- \Test{.foo,.test,.bar}{.test}{.foo,.bar}%
- \Test{.test,.test}{.test}{}%
- \Test{.foo,.test,.bar,.test,.test,.bar}{.test}{.foo,.bar,.bar}%
- \Test{.foo,.test,.bar,.foo,.test,.bar}{.test,.bar}{.foo,.foo}%
- \Test{.foo,.test,.bar,.foo,.test,.bar}{ .test , .bar }{.foo,.foo}%
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{grfext}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/grfext.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/grfext.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 grfext.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@{}}
-% grfext.sty & tex/latex/oberdiek/grfext.sty\\
-% grfext.pdf & doc/latex/oberdiek/grfext.pdf\\
-% test/grfext-test1.tex & doc/latex/oberdiek/test/grfext-test1.tex\\
-% test/grfext-test2.tex & doc/latex/oberdiek/test/grfext-test2.tex\\
-% grfext.dtx & source/latex/oberdiek/grfext.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{grfext.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 grfext.dtx
-%makeindex -s gind.ist grfext.idx
-%pdflatex grfext.dtx
-%makeindex -s gind.ist grfext.idx
-%pdflatex grfext.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-%
-% \bibitem{graphics}
-% David Carlisle, Sebastian Rahtz: \textit{The \xpackage{graphics} package};
-% 2006/02/20 v1.0o;
-% \CTAN{macros/latex/required/graphics/graphics.dtx}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-% \begin{Version}{2007/09/30 v1.0}
-% \item
-% First public version.
-% \end{Version}
-% \begin{Version}{2010/08/19 v1.1}
-% \item
-% User macros are also made available as keyval options for
-% package \xpackage{graphicx}.
-% \end{Version}
-% \begin{Version}{2016/05/16 v1.2}
-% \item
-% Documentation updates.
-% \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput
diff --git a/macros/latex/contrib/oberdiek/grfext.pdf b/macros/latex/contrib/oberdiek/grfext.pdf
deleted file mode 100644
index 267c75785f..0000000000
--- a/macros/latex/contrib/oberdiek/grfext.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hologo.dtx b/macros/latex/contrib/oberdiek/hologo.dtx
index a94dd32e6d..0985ff21d9 100644
--- a/macros/latex/contrib/oberdiek/hologo.dtx
+++ b/macros/latex/contrib/oberdiek/hologo.dtx
@@ -68,9 +68,6 @@
% TDS:tex/generic/oberdiek/hologo.sty
% TDS:doc/latex/oberdiek/hologo.pdf
% TDS:doc/latex/oberdiek/example/hologo-example.tex
-% TDS:doc/latex/oberdiek/test/hologo-test1.tex
-% TDS:doc/latex/oberdiek/test/hologo-test-spacefactor.tex
-% TDS:doc/latex/oberdiek/test/hologo-test-list.tex
% TDS:source/latex/oberdiek/hologo.dtx
%
%<*ignore>
@@ -146,10 +143,6 @@ and the derived files
% \file{hologo-test1.tex}{\from{hologo.dtx}{test1}}%
% \file{hologo-test-spacefactor.tex}{\from{hologo.dtx}{test-spacefactor}}%
% \file{hologo-test-list.tex}{\from{hologo.dtx}{test-list}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hologo.xml}{\from{hologo.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -192,21 +185,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hologo.drv}
%
@@ -4455,250 +4433,7 @@ $ #1{\string ^^^^0395}{\string ^^^^03b5}%
\HOLOGO@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input hologo.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Spacefactor}
-%
-% The space factor must be 1000 after a logo. If it is greater 1000
-% then the following space is a space after a sentence closing point.
-% If the space factor is smaller 1000 then an immediate following
-% dot is interpreted as abbreviation, not sentence closing point.
-%
-% \begin{macrocode}
-%<*test-spacefactor>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{hologo}[2017/05/01]
-\usepackage{kvsetkeys}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
-\begin{qstest}{spacefactor}{spacefactor}
-\newcommand*{\Test}[1]{%
- \sbox0{%
- \hologo{#1}%
- \Expect*{1000 (#1)}*{\the\spacefactor\space(#1)}%
- }%
-}%
-\makeatletter
-\def\TestList{}
-\def\hologoEntry#1#2#3{%
- \edef\TestList{%
- \ifx\TestList\@empty
- \else
- \TestList,%
- \fi
- #1%
- \ifx\\#2\\%
- \else
- ={variant=#2}%
- \fi
- }%
-}
-\hologoList
-\expandafter\kv@parse@normalized\expandafter{%
- \TestList
-}{%
- \begingroup
- \let\@logo=\kv@key
- \ifx\kv@value\relax
- \else
- \expandafter\hologoLogoSetup\expandafter\@logo\expandafter{%
- \kv@value
- }%
- \fi
- \Test\@logo
- \endgroup
- \@gobbletwo
-}
-\end{qstest}
-\end{document}
-%</test-spacefactor>
-% \end{macrocode}
-%
-% \subsection{Complete list}
-%
-% \begin{macrocode}
-%<*test-list>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass[12pt,a4paper]{article}
-\usepackage{hologo}[2017/05/01]
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{parskip}
-\usepackage[unicode]{hyperref}[2011/09/28]
-\usepackage{bookmark}[2011/09/19]
-\bookmarksetup{%
- numbered,%
- open,%
- openlevel=2,%
-}
-\renewcommand*{\contentsname}{List of logos}
-\begin{document}
-\tableofcontents
-\def\TestFont#1#2#3#4#5#6{%
- \begingroup
- \usefont{#3}{#4}{#5}{#6}%
- \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2}%
- \quad
- \begingroup\scriptsize\hologoVariant{#1}{#2}\endgroup
- \quad
- \endgroup
- (#3/#4/#5/#6)%
- \par
-}
-\makeatletter
-\def\hologoEntry#1#2#3{%
- \section{%
- \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2} %
- {[#1\ifx\\#2\\\else\space(#2)\fi]}% hash-ok
- }% braces around [] because of bug in tex4ht
- \begingroup
- \hypersetup{unicode=false}%
- \bookmark[%
- dest=\@currentHref,%
- rellevel=1,%
- keeplevel,%
- ]{%
- \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2} %
- (PDFDocEncoding)%
- }%
- \endgroup
- \TestFont{#1}{#2}{OT1}{cmr}{m}{n}%
- \TestFont{#1}{#2}{OT1}{cmss}{m}{n}%
- \TestFont{#1}{#2}{OT1}{cmr}{b}{n}%
- \TestFont{#1}{#2}{OT1}{cmr}{m}{it}%
- \TestFont{#1}{#2}{OT1}{cmtt}{m}{n}%
- \TestFont{#1}{#2}{T1}{lmr}{m}{n}%
- \TestFont{#1}{#2}{T1}{lmss}{m}{n}%
- \TestFont{#1}{#2}{T1}{lmr}{b}{n}%
- \TestFont{#1}{#2}{T1}{lmr}{m}{it}%
- \TestFont{#1}{#2}{T1}{lmtt}{m}{n}%
- \TestFont{#1}{#2}{T1}{lmvtt}{m}{n}%
- \TestFont{#1}{#2}{T1}{qtm}{m}{n}%
- \TestFont{#1}{#2}{T1}{qhv}{m}{n}%
- \TestFont{#1}{#2}{T1}{qtm}{b}{n}%
- \TestFont{#1}{#2}{T1}{qtm}{m}{it}%
- \TestFont{#1}{#2}{T1}{qcr}{m}{n}%
- \newpage
-}
-\makeatother
-\hologoList
-\end{document}
-%</test-list>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -4748,9 +4483,6 @@ $ #1{\string ^^^^0395}{\string ^^^^03b5}%
% hologo.sty & tex/generic/oberdiek/hologo.sty\\
% hologo.pdf & doc/latex/oberdiek/hologo.pdf\\
% example/hologo-example.tex & doc/latex/oberdiek/example/hologo-example.tex\\
-% test/hologo-test1.tex & doc/latex/oberdiek/test/hologo-test1.tex\\
-% test/hologo-test-spacefactor.tex & doc/latex/oberdiek/test/hologo-test-spacefactor.tex\\
-% test/hologo-test-list.tex & doc/latex/oberdiek/test/hologo-test-list.tex\\
% hologo.dtx & source/latex/oberdiek/hologo.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/hologo.pdf b/macros/latex/contrib/oberdiek/hologo.pdf
index bed7b7c96a..2a5dbfc9b7 100644
--- a/macros/latex/contrib/oberdiek/hologo.pdf
+++ b/macros/latex/contrib/oberdiek/hologo.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/holtxdoc.dtx b/macros/latex/contrib/oberdiek/holtxdoc.dtx
index 61057855b3..6c31061ccf 100644
--- a/macros/latex/contrib/oberdiek/holtxdoc.dtx
+++ b/macros/latex/contrib/oberdiek/holtxdoc.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{holtxdoc.drv}{\from{holtxdoc.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{holtxdoc.sty}{\from{holtxdoc.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{holtxdoc.xml}{\from{holtxdoc.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{holtxdoc.drv}
%
diff --git a/macros/latex/contrib/oberdiek/holtxdoc.pdf b/macros/latex/contrib/oberdiek/holtxdoc.pdf
index 804f85a5c8..f59f98fc88 100644
--- a/macros/latex/contrib/oberdiek/holtxdoc.pdf
+++ b/macros/latex/contrib/oberdiek/holtxdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hopatch.dtx b/macros/latex/contrib/oberdiek/hopatch.dtx
index 4957ec3e83..17712fc2cc 100644
--- a/macros/latex/contrib/oberdiek/hopatch.dtx
+++ b/macros/latex/contrib/oberdiek/hopatch.dtx
@@ -63,8 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/hopatch.sty
% TDS:doc/latex/oberdiek/hopatch.pdf
-% TDS:doc/latex/oberdiek/test/hopatch-test1.tex
-% TDS:doc/latex/oberdiek/test/hopatch-test2.tex
% TDS:source/latex/oberdiek/hopatch.dtx
%
%<*ignore>
@@ -133,10 +131,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{hopatch-test1.tex}{\from{hopatch.dtx}{test1}}%
% \file{hopatch-test2.tex}{\from{hopatch.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hopatch.xml}{\from{hopatch.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -177,21 +171,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hopatch.drv}
%
@@ -517,176 +496,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{hopatch}[2016/05/16]}
-%</test1>
-% \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input hopatch.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\providecommand\variant{0}
-\RequirePackage{filecontents}
-\begin{filecontents}{foo.sty}
-\ProvidesPackage{foo}
-\def\msg#{\immediate\write16}
-\def\foo#1{%
- \msg{\fooformat{#1}}%
-}
-\def\fooformat#1{[#1]}% hash-ok
-\foo{* Executing foo at package loading}
-\end{filecontents}
-
-\ifnum\variant=1 %
- \documentclass{memoir}%
-\else
- \documentclass{article}%
-\fi
-
-\ifcase\variant\relax
-\or % 1
-\or % 2
- \usepackage{etoolbox}%
-\or % 3
- \usepackage{scrlfile}%
-\or % 4
- \usepackage{filehook}%
-\fi
-
-\AtBeginDocument{\foo{* AtBeginDocument before hopatch}}
-\usepackage{hopatch}
-\AtBeginDocument{\foo{* AtBeginDocument after hopatch}}
-
-\makeatletter
-\hopatch@AfterPackage{foo}{%
- \def\fooformat#1{<<#1>>}%
-}
-\makeatother
-
-\AtBeginDocument{\foo{* AtBeginDocument before foo}}
-\usepackage{foo}
-\AtBeginDocument{\foo{* AtBeginDocument after foo}}
-
-\foo{* Executing in preamble}
-
-\begin{document}
-\foo{* Executing in document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -735,8 +545,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% hopatch.sty & tex/latex/oberdiek/hopatch.sty\\
% hopatch.pdf & doc/latex/oberdiek/hopatch.pdf\\
-% test/hopatch-test1.tex & doc/latex/oberdiek/test/hopatch-test1.tex\\
-% test/hopatch-test2.tex & doc/latex/oberdiek/test/hopatch-test2.tex\\
% hopatch.dtx & source/latex/oberdiek/hopatch.dtx\\
% \end{tabular}^^A
% }^^A
@@ -854,31 +662,31 @@ and the derived files
% Philipp Lehman:
% \textit{The etoolbox Package}
% 2011-01-03.
-% \CTAN{macros/latex/contrib/etoolbox/etoolbox.pdf}
+% \CTANpkg{etoolbox}
%
% \bibitem{filehook}
% Martin Scharrer:
% \textit{The filehook Package};
% 2011-01-09.
-% \CTAN{macros/latex/contrib/filehook/filehook.pdf}
+% \CTANpkg{filehook}
%
% \bibitem{ltxcmds}
% Heiko Oberdiek:
% \textit{The ltxcmds Package};
% 2010-12-12.
-% \CTAN{macros/latex/contrib/oberdiek/ltxcmds.pdf}
+% \CTANpkg{ltxcmds}
%
% \bibitem{memoir}
% Peter Wilson, Lars Madsen:
% \textit{The Memoir Class for Configurable Typesetting, User Guide};
% 2010.
-% \CTAN{macros/latex/contrib/memoir/memman.pdf}
+% \CTANpkg{memoir}
%
% \bibitem{scrlfile}
% Markus Kohm, Jens-Uwe Morawski:
% \textit{The Guide KOMA-Script};
% 2011-01-20.
-% \CTAN{macros/latex/contrib/koma-script/scrguien.pdf}
+% \CTANpkg{koma-script}
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/hopatch.pdf b/macros/latex/contrib/oberdiek/hopatch.pdf
index 3a445a5650..73d35e1b27 100644
--- a/macros/latex/contrib/oberdiek/hopatch.pdf
+++ b/macros/latex/contrib/oberdiek/hopatch.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hycolor.dtx b/macros/latex/contrib/oberdiek/hycolor.dtx
index 1a72eae9ce..d55a709153 100644
--- a/macros/latex/contrib/oberdiek/hycolor.dtx
+++ b/macros/latex/contrib/oberdiek/hycolor.dtx
@@ -67,13 +67,6 @@
% TDS:tex/latex/oberdiek/hycolor.sty
% TDS:tex/latex/oberdiek/xcolor-patch.sty
% TDS:doc/latex/oberdiek/hycolor.pdf
-% TDS:doc/latex/oberdiek/test/hycolor-test1.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test2.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test3.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test-xcol1.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test-xcol2.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test-xcol3.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test-xcol4.tex
% TDS:source/latex/oberdiek/hycolor.dtx
%
%<*ignore>
@@ -151,10 +144,6 @@ and the derived files
% \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}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hycolor.xml}{\from{hycolor.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -226,21 +215,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hycolor.drv}
%
@@ -1443,526 +1417,7 @@ and the derived files
% \begin{macrocode}
%</xcolor>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\ProvidesFile{hycolor-test1.tex}[2016/05/16 test file 1]
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\ProvidesFile{hycolor-test2.tex}[2016/05/16 test file 2]
-\let\pdfmatch\relax
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<test3>\ProvidesFile{hycolor-test3.tex}[2016/05/16 test file 3]
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass{article}
-
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\makeatletter
-
-\newcommand*{\TestPackageName}{test-package}
-\newcommand*{\TestOptionName}{test-option}
-
-\newcommand\Message{}
-\def\Message#1#{\immediate\write16}
-
-\newcommand*{\ExpectError}[2]{%
- \begingroup
- \global\let\saved@errhelp\errhelp
- \global\let\saved@errmessage\errmessage
- \let\errhelp\@gobble
- \def\errmessage##1{%
- \xdef\@ExpectErrorMessage{##1}%
- }%
- \PackageError\TestPackageName{#1}\@ehc
- \def\errhelp##1{%
- \global\let\errhelp\saved@errhelp
- }%
- \global\let\@ResultErrorMessage\@empty
- \def\errmessage##1{%
- \xdef\@ResultErrorMessage{##1}%
- \global\let\errmessage\saved@errmessage
- % \Message{[ ##1}%
- % \Message{] (ignored error)}%
- % \Message{}%
- }%
- #2%
- \endgroup
- \Expect*{\@ResultErrorMessage}*{\@ExpectErrorMessage}%
-}
-\usepackage{scrlfile}
-\usepackage{hycolor}[2016/05/16]
-%</test>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1>
-\begin{qstest}{NumNormalize}{num, normalize}
- \def\test#1#2{%
- \HyColor@NormalizeNum{#1}\cmd
- \Expect*{\cmd}{#2}%
- }%
- \test{0}{0}%
- \test{000}{0}%
- \test{-1}{0}%
- \test{ 0 }{0}%
- \test{1.1}{1}%
- \test{100}{1}%
- \test{00100}{1}%
- \test{99.99}{1}%
- \test{0.0}{0}%
- \test{00.00}{0}%
- \test{0.}{0}%
- \test{.0}{0}%
- \test{0.1}{.1}%
- \test{0.10}{.1}%
- \test{0.1000}{.1}%
- \test{.1000}{.1}%
- \test{0.01}{.01}%
- \test{0.01010}{.0101}%
- \test{.0000000001}{.0000000001}%
- \test{.9999999999}{.9999999999}%
-\end{qstest}
-
-\begin{qstest}{BookmarkColor without xcolor}{bookmark, noxcolor}
- \def\test#1#2{%
- \HyColor@BookmarkColor{#1}\cmd\TestPackageName\TestOptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[rgb]{1,0,0}}{1 0 0}%
- \test{[gray]{0.10}}{.1 .1 .1}%
- \test{}{}%
- \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
- \def\errortest[#1]#2{%
- \ExpectError{%
- Color model `#1' is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `\TestOptionName=[#1]{#2}'% hash-ok
- }{%
- \test{[#1]{#2}}{}% hash-ok
- }%
- }%
- \errortest[cmyk]{1,0,0,0}%
- \errortest[empty]{}%
- \def\errortest#1{%
- \ExpectError{%
- This color specification is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `\TestOptionName=#1'%
- }{%
- \test{#1}{}%
- }%
- }%
-\end{qstest}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1|test2>
-\begin{qstest}{X0134 without xcolor}{X0134, noxcolor}
- \def\test#1#2{%
- \HyColor@XZeroOneThreeFour{#1}\cmd\TestPackageName\TestOptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[empty]{}}{}%
- \test{[rgb]{1,0,0}}{1 0 0}%
- \test{[gray]{0.10}}{.1}%
- \test{[cmyk]{0,1,0,0}}{0 1 0 0}%
- \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
- \def\errortest[#1]#2{%
- \ExpectError{%
- Color model `#1' is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=[#1]{#2}'% hash-ok
- }{%
- \HyColor@XZeroOneThreeFour{[{#1}]{#2}}\cmd
- \TestPackageName\TestOptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
- }%
- }%
- \errortest[Gray]{10}%
- \errortest[cmy]{1,0,0}%
- \def\errortest#1{%
- \ExpectError{%
- This color specification is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=#1'%
- }{%
- \HyColor@XZeroOneThreeFour{#1}\cmd\TestPackageName\TestOptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
- }%
- }%
- \errortest{yellow}%
-\end{qstest}
-
-\begin{qstest}{HyperrefBorderColor without xcolor}%
- {hyperef bordercolor, noxcolor}%
- \def\test#1#2{%
- \HyColor@HyperrefBorderColor{#1}\cmd\TestPackageName\TestOptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[rgb]{1,0,0}}{1 0 0}%
- \test{[gray]{0.10}}{.1 .1 .1}%
- \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
- \def\errortest[#1]#2{%
- \ExpectError{%
- Color model `#1' is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=[#1]{#2}'% hash-ok
- }{%
- \HyColor@HyperrefBorderColor{[{#1}]{#2}}\cmd
- \TestPackageName\TestOptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
- }%
- }%
- \errortest[Gray]{10}%
- \errortest[cmy]{1,0,0}%
- \errortest[cmyk]{0,1,0,0}%
- \def\errortest#1{%
- \ExpectError{%
- This color specification is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=#1'%
- }{%
- \HyColor@HyperrefBorderColor{#1}\cmd
- \TestPackageName\TestOptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
- }%
- }%
- \errortest{yellow}%
-\end{qstest}
-%</test1|test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1|test2>
-\usepackage{xcolor}
-\definecolor[named]{MyGreen}{rgb}{0,0.7,0}
-\definecolor{mygreen}{named}{MyGreen}
-%</test1|test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1>
-\begin{qstest}{BookmarkColor with xcolor}{bookmark, xcolor}
- \def\test#1#2{%
- \HyColor@BookmarkColor{#1}\cmd\PackageName\OptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[rgb]{1,0,0}}{1 0 0}%
- \test{[gray]{0.10}}{.1 .1 .1}%
- \test{}{}%
- \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
- \test{[cmyk]{1,0,0,0}}{0 1 1}%
- \test{red}{1 0 0}%
- \test{cyan}{0 1 1}%
- \test{red!40!blue}{.4 0 .6}%
- \test{[Gray]{10}}{.66667 .66667 .66667}%
- \test{[RGB]{100,200,50}}{.39217 .78432 .19609}%
- \test{[wave]{363}}{.00316 0 .00316}%
- \test{[wave]814}{.00797 0 0}%
- \test{[HSB]{100,200,50}}{.03473 .20833 .12152}%
- \test{[HTML]{A800FF}}{.65881 0 1}%
- \test{[cmy]{.3,.5,.2}}{.7 .5 .8}%
- \test{[cmyk]{.3,.5,.2,.1}}{.6 .4 .7}%
- \test{[hsb]{.3,.5,.2}}{.12 .2 .1}%
- \test{[Hsb]{120,.5,.2}}{.1 .2 .1}%
- \test{[tHsb]{120,.5,.2}}{.2 .2 .1}%
- \test{[named]{MyGreen}}{0 .7 0}%
- \test{mygreen}{0 .7 0}%
-\end{qstest}
-
-\begin{qstest}{HyperrefColor}{hyperref, color}
- \def\test#1#2{%
- \HyColor@HyperrefColor{#1}\cmd
- \Expect*{\cmd}{#2}%
- }%
- \test{red}{red}%
- \test{[rgb]{1,0,0}}{[{rgb}]{1,0,0}}%
- \HyColor@HyperrefColor{}\cmd
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-\end{qstest}
-%</test1>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test1|test2>
-\begin{qstest}{X0134 with xcolor}{hyperref, X0134, xcolor}
- \def\test#1#2{%
- \HyColor@XZeroOneThreeFour{#1}\cmd\PackageName\OptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[empty]{}}{}%
- \test{[gray]{0.1}}{.1}%
- \test{[rgb]{1,0.5,0.0}}{1 .5 0}%
- \test{[cmyk]{0,1,0,0.5}}{0 1 0 .5}%
- \test{[Gray]{10}}{.66667}%
- \test{red}{1 0 0}%
- \test{1 0 0}{1 0 0}%
- \test{001.0 .23 0}{1 .23 0}%
- \test{[named]{MyGreen}}{0 .7 0}%
- \test{mygreen}{0 .7 0}%
- \HyColor@XZeroOneThreeFour{}\cmd\PackageName\OptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-\end{qstest}
-
-\begin{qstest}{FieldColor}{hyperref, field, FieldColor}
- \def\test#1#2{%
- \HyColor@FieldColor{#1}\cmd\PackageName\OptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{}{}%
- \test{[gray]{0.7}}{.7 g}%
- \test{[rgb]{1,0,0}}{1 0 0 rg}%
- \test{[cmyk]{0,1,0,0}}{0 1 0 0 k}%
- \test{[cmy]{.5,.4,.3}}{.5 .6 .7 rg}%
-\end{qstest}
-%</test1|test2>
-% \end{macrocode}
-%
-% \subsection{Test for package \xpackage{attachfile2}}
-%
-% \begin{macrocode}
-%<*test3>
-\def\atfi@SETRGBCOLORtest{set-rgb}
-\def\atfi@SETGRAYCOLORtest{set-gray}
-\def\atfi@SETCMYKCOLORtest{set-cmyk}
-\def\Test#1#2#3#4#5{%
- \begingroup
- \setbox0=\hbox{%
- \begingroup
- \chardef\HyColor@PdfVersion=6 %
- \HyColor@AttachfileColor{#1}\spec\inlinemacro\annot
- \TestPackageName\TestOptionName
- \edef\inline{\inlinemacro{test}}%
- \expandafter\Expect\expandafter{\spec}{#2}%
- \expandafter\Expect\expandafter{\inline}{#3}%
- \expandafter\Expect\expandafter{\annot}{#4}%
- \endgroup
- \begingroup
- \chardef\HyColor@PdfVersion=7 %
- \HyColor@AttachfileColor{#1}\spec\inlinemacro\annot
- \TestPackageName\TestOptionName
- \edef\inline{\inlinemacro{test}}%
- \expandafter\Expect\expandafter{\spec}{#2}%
- \expandafter\Expect\expandafter{\inline}{#3}%
- \expandafter\Expect\expandafter{\annot}{#5}%
- \endgroup
- }%
- \Expect*{\the\wd0}{0.0pt}%
- \endgroup
-}
-\newif\ifError
-\def\TestError[#1]#2#3#4#5#6{%
- \begingroup
- \global\Errorfalse
- \let\OrgPackageError\PackageError
- \def\PackageError##1##2##3{%
- \edef\TestTemp{##1}%
- \ifx\TestTemp\TestPackageName
- \Expect*{\ifError too many errors\else ok\fi}{ok}%
- \Expect*{#6}*{##2}%
- \global\Errortrue
- \else
- \OrgPackageError{##1}{##2}{##3}%
- \fi
- }%
- \setbox0=\hbox{%
- \begingroup
- \chardef\HyColor@PdfVersion=#1 %
- \HyColor@AttachfileColor{#2}\spec\inlinemacro\annot
- \TestPackageName\TestOptionName
- \edef\inline{\inlinemacro{test}}%
- \expandafter\Expect\expandafter{\spec}{#3}%
- \expandafter\Expect\expandafter{\inline}{#4}%
- \expandafter\Expect\expandafter{\annot}{#5}%
- \endgroup
- \ifx\\#6\\%
- \else
- \Expect*{\ifError ok\else missing error\fi}{ok}%
- \fi
- }%
- \Expect*{\the\wd0}{0.0pt}%
- \endgroup
-}
-\def\NoEmptyModel{%
- Color model `empty' is not permitted for option `\TestOptionName'%
-}
-\def\ModelNoXcolor#1#2{%
- Color model `#1' is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `\TestOptionName=[#1]{#2}'% hash-ok
-}
-\def\SpecNoXColor#1{%
- This color specification is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=#1'%
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\begin{qstest}{AttachfileColor}{AttachfileColor}
- \Test{}{}{}{}{}%
- \Test{0.1 0.2 0.3}{[rgb]{.1,.2,.3}}{.1 .2 .3 set-rgb}%
- {/C[.1 .2 .3]}{/C[.1 .2 .3]}%
- \Test{[gray]{0.4}}{[gray]{0.4}}{.4 set-gray}%
- {/C[.4 .4 .4]}{/C[.4]}%
- \Test{[rgb]{0.3,.2,.1}}{[rgb]{0.3,.2,.1}}{.3 .2 .1 set-rgb}%
- {/C[.3 .2 .1]}{/C[.3 .2 .1]}%
- \Test{0.0 1.0 1}{[rgb]{0,1,1}}{0 1 1 set-rgb}%
- {/C[0 1 1]}{/C[0 1 1]}%
- \Test{[gray]1}{[gray]1}{1 set-gray}{/C[1 1 1]}{/C[1]}%
- \TestError[6]{[empty]{}}{}{}{}\NoEmptyModel
- \TestError[7]{[empty]{}}{}{}{}\NoEmptyModel
- \TestError[6]{[cmyk]{.1,.2,.3,.4}}{[cmyk]{.1,.2,.3,.4}}%
- {.1 .2 .3 .4 set-cmyk}{}%
- {\ModelNoXcolor{cmyk}{.1,.2,.3,.4}}%
- \TestError[7]{[cmyk]{.1,.2,.3,.4}}{[cmyk]{.1,.2,.3,.4}}%
- {.1 .2 .3 .4 set-cmyk}{/C[.1 .2 .3 .4]}{}%
- \TestError[6]{red}{red}{}{}{\SpecNoXColor{red}}%
- \TestError[7]{red}{red}{}{}{\SpecNoXColor{red}}%
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\usepackage{xcolor}
-\definecolor[named]{MyGreen}{rgb}{0,0.7,0}
-\definecolor{mygreen}{named}{MyGreen}
-\definecolor{graynine}{gray}{0.9}
-\definecolor{GraySix}{Gray}{9}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\begin{qstest}{AttachfileColorX}{AttachfileColorX}
- \Test{}{}{}{}{}%
- \Test{0.1 0.2 0.3}{[rgb]{.1,.2,.3}}{.1 .2 .3 set-rgb}%
- {/C[.1 .2 .3]}{/C[.1 .2 .3]}%
- \Test{[gray]{0.4}}{[gray]{0.4}}{.4 set-gray}%
- {/C[.4 .4 .4]}{/C[.4]}%
- \Test{[rgb]{0.3,.2,.1}}{[rgb]{0.3,.2,.1}}{.3 .2 .1 set-rgb}%
- {/C[.3 .2 .1]}{/C[.3 .2 .1]}%
- \Test{0.0 1.0 1}{[rgb]{0,1,1}}{0 1 1 set-rgb}%
- {/C[0 1 1]}{/C[0 1 1]}%
- \Test{[gray]1}{[gray]1}{1 set-gray}{/C[1 1 1]}{/C[1]}%
- \Test{red}{red}{1 0 0 set-rgb}{/C[1 0 0]}{/C[1 0 0]}%
- \Test{black}{black}{0 set-gray}{/C[0 0 0]}{/C[0]}%
- \Test{cyan}{cyan}{1 0 0 0 set-cmyk}{/C[0 1 1]}{/C[1 0 0 0]}%
- \Test{[named]{black}}{[named]{black}}{0 0 0 set-rgb}%
- {/C[0 0 0]}{/C[0 0 0]}%
- \Test{[Gray]{9}}{[Gray]{9}}{.6 set-gray}{/C[.6 .6 .6]}{/C[.6]}%
- \Test{[HTML]{0080FF}}{[HTML]{0080FF}}{0 .50195 1 set-rgb}%
- {/C[0 .50195 1]}{/C[0 .50195 1]}%
- \Test{graynine}{graynine}{.9 set-gray}{/C[.9 .9 .9]}{/C[.9]}%
- \Test{GraySix}{GraySix}{.6 set-gray}{/C[.6 .6 .6]}{/C[.6]}%
- \Test{[wave]{500}}{[wave]{500}}{0 1 .49846 set-rgb}%
- {/C[0 1 .49846]}{/C[0 1 .49846]}%
- \TestError[6]{[empty]{}}{}{}{}\NoEmptyModel
- \TestError[7]{[empty]{}}{}{}{}\NoEmptyModel
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test>
-\begin{document}
-\end{document}
-%</test>
-% \end{macrocode}
-%
-% \subsection{Test for package \xpackage{xcolor}}
-%
-% \begin{macrocode}
-%<*test-xcolor>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-%<*xcol1>
-\usepackage{xcolor}
-\usepackage{xcolor-patch}[2016/05/16]
-%</xcol1>
-%<*xcol2>
-\usepackage{scrlfile}
-\usepackage{xcolor-patch}[2016/05/16]
-\usepackage{xcolor}
-%</xcol2>
-%<*xcol3>
-\usepackage{xcolor-patch}[2016/05/16]
-\usepackage{xcolor}
-\begin{document}
-%</xcol3>
-\makeatletter
-\newcommand*{\ColModList}{%
- rgb,%
- cmy,%
- cmyk,%
- hsb,%
- Hsb,%
- tHsb,%
- gray,%
- RGB,%
- HTML,%
- HSB,%
- Gray,%
- % wave,
-}
-\newcommand*{\StartModel}{rgb}
-\newcommand*{\StartValues}{.1,.2,.3}
-\@for\x:=\ColModList\do{%
- \ifx\x\@empty
- \else
- \convertcolorspec\StartModel\StartValues\x\y
- \typeout{* [\StartModel]{\StartValues} ==> [\x]{\y}}%
- \@for\xx:=\ColModList\do{%
- \ifx\xx\@empty
- \else
- \convertcolorspec\x\y\xx\yy
- \typeout{* [\x]{\y} ==> [\xx]{\yy}}%
- \fi
- }%
- \fi
-}
-%<xcol3>\end{document}
-%<xcol1|xcol2>\@@end
-%</test-xcolor>
-% \end{macrocode}
-%
-% \subsubsection{Test for \cs{@frameb@x}/\cs{fbox}}
-%
-% \begin{macrocode}
-%<*test-xcolor-fbox>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{xcolor-patch}[2016/05/16]
-\makeatletter
-\protected@edef\x{\fbox{abc}}
-\let\@tempa\@undefined
-\protected@edef\x{\fbox{abc}}
-\makeatother
-\begin{document}
-\MakeUppercase{\fbox{abc}}
-\end{document}
-%</test-xcolor-fbox>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2012,13 +1467,6 @@ and the derived files
% hycolor.sty & tex/latex/oberdiek/hycolor.sty\\
% xcolor-patch.sty & tex/latex/oberdiek/xcolor-patch.sty\\
% hycolor.pdf & doc/latex/oberdiek/hycolor.pdf\\
-% test/hycolor-test1.tex & doc/latex/oberdiek/test/hycolor-test1.tex\\
-% test/hycolor-test2.tex & doc/latex/oberdiek/test/hycolor-test2.tex\\
-% test/hycolor-test3.tex & doc/latex/oberdiek/test/hycolor-test3.tex\\
-% test/hycolor-test-xcol1.tex & doc/latex/oberdiek/test/hycolor-test-xcol1.tex\\
-% test/hycolor-test-xcol2.tex & doc/latex/oberdiek/test/hycolor-test-xcol2.tex\\
-% test/hycolor-test-xcol3.tex & doc/latex/oberdiek/test/hycolor-test-xcol3.tex\\
-% test/hycolor-test-xcol4.tex & doc/latex/oberdiek/test/hycolor-test-xcol4.tex\\
% hycolor.dtx & source/latex/oberdiek/hycolor.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/hycolor.pdf b/macros/latex/contrib/oberdiek/hycolor.pdf
index 956dad2886..4dd03d9857 100644
--- a/macros/latex/contrib/oberdiek/hycolor.pdf
+++ b/macros/latex/contrib/oberdiek/hycolor.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypbmsec.dtx b/macros/latex/contrib/oberdiek/hypbmsec.dtx
index 8862e924bc..dd26b08d2b 100644
--- a/macros/latex/contrib/oberdiek/hypbmsec.dtx
+++ b/macros/latex/contrib/oberdiek/hypbmsec.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{hypbmsec.drv}{\from{hypbmsec.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{hypbmsec.sty}{\from{hypbmsec.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypbmsec.xml}{\from{hypbmsec.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypbmsec.drv}
%
diff --git a/macros/latex/contrib/oberdiek/hypbmsec.pdf b/macros/latex/contrib/oberdiek/hypbmsec.pdf
index a70e3dc559..fa74435f4d 100644
--- a/macros/latex/contrib/oberdiek/hypbmsec.pdf
+++ b/macros/latex/contrib/oberdiek/hypbmsec.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypcap.dtx b/macros/latex/contrib/oberdiek/hypcap.dtx
index 60d40a0678..a9bb106fe3 100644
--- a/macros/latex/contrib/oberdiek/hypcap.dtx
+++ b/macros/latex/contrib/oberdiek/hypcap.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{hypcap.drv}{\from{hypcap.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{hypcap.sty}{\from{hypcap.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypcap.xml}{\from{hypcap.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypcap.drv}
%
diff --git a/macros/latex/contrib/oberdiek/hypcap.pdf b/macros/latex/contrib/oberdiek/hypcap.pdf
index 70ffeebf81..66f5284fa7 100644
--- a/macros/latex/contrib/oberdiek/hypcap.pdf
+++ b/macros/latex/contrib/oberdiek/hypcap.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypdestopt.dtx b/macros/latex/contrib/oberdiek/hypdestopt.dtx
index fd2a76a482..254b3af7ea 100644
--- a/macros/latex/contrib/oberdiek/hypdestopt.dtx
+++ b/macros/latex/contrib/oberdiek/hypdestopt.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{hypdestopt.drv}{\from{hypdestopt.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{hypdestopt.sty}{\from{hypdestopt.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypdestopt.xml}{\from{hypdestopt.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypdestopt.drv}
%
@@ -928,7 +909,7 @@ and the derived files
% \bibitem{alphalph}
% Heiko Oberdiek: \textit{The \xpackage{alphalph} package};
% 2006/05/30 v1.4;
-% \CTAN{macros/latex/contrib/oberdiek/alphalph.pdf}.
+% \CTANpkg{alphalph}.
%
% \bibitem{hyperref}
% Sebastian Rahtz, Heiko Oberdiek:
diff --git a/macros/latex/contrib/oberdiek/hypdestopt.pdf b/macros/latex/contrib/oberdiek/hypdestopt.pdf
index e8c707ff19..7d23392768 100644
--- a/macros/latex/contrib/oberdiek/hypdestopt.pdf
+++ b/macros/latex/contrib/oberdiek/hypdestopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypdoc.dtx b/macros/latex/contrib/oberdiek/hypdoc.dtx
index 65771a31aa..481a53d852 100644
--- a/macros/latex/contrib/oberdiek/hypdoc.dtx
+++ b/macros/latex/contrib/oberdiek/hypdoc.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{hypdoc.drv}{\from{hypdoc.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{hypdoc.sty}{\from{hypdoc.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypdoc.xml}{\from{hypdoc.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypdoc.drv}
%
diff --git a/macros/latex/contrib/oberdiek/hypdoc.pdf b/macros/latex/contrib/oberdiek/hypdoc.pdf
index 6307212169..27d22afb5e 100644
--- a/macros/latex/contrib/oberdiek/hypdoc.pdf
+++ b/macros/latex/contrib/oberdiek/hypdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypgotoe.dtx b/macros/latex/contrib/oberdiek/hypgotoe.dtx
index 412c26f15a..e568ff4d91 100644
--- a/macros/latex/contrib/oberdiek/hypgotoe.dtx
+++ b/macros/latex/contrib/oberdiek/hypgotoe.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{hypgotoe.sty}{\from{hypgotoe.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{hypgotoe-example.tex}{\from{hypgotoe.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypgotoe.xml}{\from{hypgotoe.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +167,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypgotoe.drv}
%
diff --git a/macros/latex/contrib/oberdiek/hypgotoe.pdf b/macros/latex/contrib/oberdiek/hypgotoe.pdf
index a08bf8fe80..a6f500ff66 100644
--- a/macros/latex/contrib/oberdiek/hypgotoe.pdf
+++ b/macros/latex/contrib/oberdiek/hypgotoe.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hyphsubst.dtx b/macros/latex/contrib/oberdiek/hyphsubst.dtx
index 0bf2c7821a..e0fd44bf12 100644
--- a/macros/latex/contrib/oberdiek/hyphsubst.dtx
+++ b/macros/latex/contrib/oberdiek/hyphsubst.dtx
@@ -66,8 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/hyphsubst.sty
% TDS:doc/latex/oberdiek/hyphsubst.pdf
-% TDS:doc/latex/oberdiek/test/hyphsubst-test1.tex
-% TDS:doc/latex/oberdiek/test/hyphsubst-test2.tex
% TDS:source/latex/oberdiek/hyphsubst.dtx
%
%<*ignore>
@@ -139,10 +137,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{hyphsubst-test1.tex}{\from{hyphsubst.dtx}{test1}}%
% \file{hyphsubst-test2.tex}{\from{hyphsubst.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hyphsubst.xml}{\from{hyphsubst.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -179,21 +173,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hyphsubst.drv}
%
@@ -581,155 +560,7 @@ and the derived files
\HyphSubst@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input hyphsubst.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-%
-% \subsection{Main tests}
-%
-% \begin{macrocode}
-%<*test2>
-\input hyphsubst.sty\relax
-
-\catcode`\@=11\relax
-\ifx\et@xlang\@undefined
- \def\l#1{\csname l@#1\endcsname}%
-\else
- \def\l#1{\csname lang@#1\endcsname}%
-\fi
-\def\Check#1#2{%
- \ifnum#1=#2\relax
- \else
- \@PackageError{test}{Wrong number: #1 <> #2}\@ehc
- \fi
-}
-
-\language=0\relax
-\HyphSubstLet{ZeroSaved}{ngerman}
-\Check{\l{USenglish}}{0}%
-\HyphSubstLet{USenglish}{ngerman}
-\Check{\l{USenglish}}{\l{ngerman}}
-\ifnum\l{USenglish}>0 %
-\else
- \@PackageError{test}{\string\language\space is not updated}\@ehc
-\fi
-\HyphSubstLet{german}{ngerman}
-\Check{\l{german}}{\l{ngerman}}
-\Check{\l{USenglish}}{\l{ngerman}}
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -778,8 +609,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% hyphsubst.sty & tex/generic/oberdiek/hyphsubst.sty\\
% hyphsubst.pdf & doc/latex/oberdiek/hyphsubst.pdf\\
-% test/hyphsubst-test1.tex & doc/latex/oberdiek/test/hyphsubst-test1.tex\\
-% test/hyphsubst-test2.tex & doc/latex/oberdiek/test/hyphsubst-test2.tex\\
% hyphsubst.dtx & source/latex/oberdiek/hyphsubst.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/hyphsubst.pdf b/macros/latex/contrib/oberdiek/hyphsubst.pdf
index a5ed2c4237..b050f45e1f 100644
--- a/macros/latex/contrib/oberdiek/hyphsubst.pdf
+++ b/macros/latex/contrib/oberdiek/hyphsubst.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/ifdraft.dtx b/macros/latex/contrib/oberdiek/ifdraft.dtx
index e1f516cdc6..0b4918a6d0 100644
--- a/macros/latex/contrib/oberdiek/ifdraft.dtx
+++ b/macros/latex/contrib/oberdiek/ifdraft.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{ifdraft.drv}{\from{ifdraft.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{ifdraft.sty}{\from{ifdraft.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{ifdraft.xml}{\from{ifdraft.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{ifdraft.drv}
%
diff --git a/macros/latex/contrib/oberdiek/ifdraft.pdf b/macros/latex/contrib/oberdiek/ifdraft.pdf
index 0f091de22e..9d71e862eb 100644
--- a/macros/latex/contrib/oberdiek/ifdraft.pdf
+++ b/macros/latex/contrib/oberdiek/ifdraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/iflang.dtx b/macros/latex/contrib/oberdiek/iflang.dtx
index c5f2b85ae9..fa784b7d45 100644
--- a/macros/latex/contrib/oberdiek/iflang.dtx
+++ b/macros/latex/contrib/oberdiek/iflang.dtx
@@ -67,11 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/iflang.sty
% TDS:doc/latex/oberdiek/iflang.pdf
-% TDS:doc/latex/oberdiek/test/iflang-test1.tex
-% TDS:doc/latex/oberdiek/test/iflang-test2.tex
-% TDS:doc/latex/oberdiek/test/iflang-test3.tex
-% TDS:doc/latex/oberdiek/test/iflang-test4.tex
-% TDS:doc/latex/oberdiek/test/iflang-test5.tex
% TDS:source/latex/oberdiek/iflang.dtx
%
%<*ignore>
@@ -147,10 +142,6 @@ and the derived files
% \file{iflang-test3.tex}{\from{iflang.dtx}{test3}}%
% \file{iflang-test4.tex}{\from{iflang.dtx}{test4}}%
% \file{iflang-test5.tex}{\from{iflang.dtx}{test5}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{iflang.xml}{\from{iflang.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -187,21 +178,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{iflang.drv}
%
@@ -677,319 +653,7 @@ and the derived files
\IfLang@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input iflang.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test with \LaTeX}
-%
-% \begin{macrocode}
-%<*test2|test3>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-%<test3>\let\pdfstrcmp\relax
-\nofiles
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\usepackage[english,naustrian,ngerman]{babel}
-\usepackage{iflang}
-\begin{document}
-\begin{qstest}{IfLanguagePatterns}{language, pattern}
- \def\test#1#2{%
- \Expect*{\IfLanguagePatterns{#1}{true}{false}}{#2}%
- }%
- \test{ngerman}{true}%
- \test{naustrian}{true}%
- \test{english}{false}%
- \test{foobar}{false}%
-\end{qstest}
-\begin{qstest}{IfLanguageName}{language, name}
- \def\test#1#2{%
- \Expect*{\IfLanguageName{#1}{true}{false}}{#2}%
- }%
- \test{ngerman}{true}%
- \test{naustrian}{false}%
- \selectlanguage{naustrian}%
- \test{ngerman}{false}%
- \test{naustrian}{true}%
- \test{foobar}{false}%
- %
- \def\languagename{naustrian}%
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- %
- \edef\languagename{\string naustrian}%
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- %
- \def\languagename{naustrian}%
- \makeatletter
- \@onelevel@sanitize\languagename
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- %
- \def\languagename{naustrian}%
- \def\xaustrian{naustrian}%
- \def\xgerman{ngerman}%
- \test{\xaustrian}{true}%
- \test{\xgerman}{false}%
- %
- \def\languagename{\xaustrian}%
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- \test{\xaustrian}{true}%
- \test{\xgerman}{false}%
- \test{\languagename}{true}%
- \test{\languagename\space}{false}%
- %
- \def\languagename{\empty\xaustrian\empty}%
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- \test{\empty\xaustrian\empty}{true}%
- \test{\empty\xgerman\empty}{false}%
-\end{qstest}
-\begin{qstest}{IfDefined}{defined}
- \makeatletter
- \let\foobar\relax
- \Expect*{\IfLang@IfDefined{foobar}{true}{false}}{false}%
- \Expect*{\ifx\foobar\relax true\else false\fi}{true}%
- \let\foobar\UNDEFINED
- \Expect*{\IfLang@IfDefined{foobar}{true}{false}}{false}%
- \Expect*{\ifx\foobar\relax true\else false\fi}{false}%
- \Expect*{\ifx\foobar\UNDEFINED true\else false\fi}{true}%
-\end{qstest}
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</test2|test3>
-% \end{macrocode}
-%
-% \subsection{Test with \plainTeX\ and \eTeX}
-%
-% \begin{macrocode}
-%<*test4>
-% \end{macrocode}
-% \begin{macrocode}
-%% Format `etex' based on `language.def'
-\input iflang.sty
-\catcode64=12
-
-\def\TestGeneric#1#2#3{%
- \begingroup
- \edef\x{#1{#2}{true}{false}}%
- \edef\y{#3}%
- \ifx\x\y
- \else
- \errmessage{Failed test: \string#1{#2} <> #3}%
- \fi
- \endgroup
-}
-\def\TestPatterns{\TestGeneric\IfLanguagePatterns}
-\def\TestName{\TestGeneric\IfLanguageName}
-
-\TestPatterns{USenglish}{true}
-\TestPatterns{ngerman}{false}
-
-\TestName{USenglish}{true}
-\TestName{ngerman}{false}
-
-\uselanguage{ngerman}
-
-\TestPatterns{USenglish}{false}
-\TestPatterns{ngerman}{true}
-
-\TestName{USenglish}{false}
-\TestName{ngerman}{true}
-
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test4>
-% \end{macrocode}
-%
-% \subsection{Test with \plainTeX\ and without \eTeX/\pdfTeX}
-%
-% \begin{macrocode}
-%<*test5>
-% \end{macrocode}
-% \begin{macrocode}
-%% Format `tex' (vanilla plain-TeX)
-\let\ifcsname\UNDEFINED
-\let\pdfstrcmp\UNDEFINED
-\input iflang.sty
-\catcode64=11
-
-\def\TestDefined#1{%
- \IfLang@IfDefined{foobar}{}{}%
- \ifx\foobar#1%
- \else
- \errmessage{Failed test: \string\foobar <> \string#1}%
- \fi
-}
-\let\foobar\relax
-\TestDefined\relax
-\let\foobar\UNDEFINED
-\TestDefined\relax
-
-\def\strip@prefix#1>{}
-\def\@onelevel@sanitize#1{%
- \edef#1{\expandafter\strip@prefix\meaning#1}%
-}
-\def\TestCompare#1#2#3{%
- \begingroup
- \edef\x{%
- \if\IfLang@StrEqual{#1}{#2}%
- true%
- \else
- false%
- \fi
- }%
- \def\expect{#3}%
- \ifx\x\expect
- \else
- \def\a{#1}%
- \@onelevel@sanitize\a
- \def\b{#2}%
- \@onelevel@sanitize\b
- \errmessage{Failed test: `\a'='\b' <> \expect}%
- \fi
- \endgroup
-}
-\TestCompare{junk}{junk}{true}
-\TestCompare{}{}{true}
-\TestCompare{a}{b}{false}
-\TestCompare{aa}{bb}{false}
-\def\a{ax}
-\def\b{bx}
-\def\c{\a\b}
-\def\d{\c\b}
-\def\exch#1#2{#2#1}
-\def\gobble#1{}
-\TestCompare{\gobble a}{}{true}
-\TestCompare{}{\gobble a}{true}
-\TestCompare{a\exch xyb}{ayxb}{true}
-\TestCompare{\c}{\c}{true}
-\TestCompare{\d}{\c\b}{true}
-
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test5>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1038,11 +702,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% iflang.sty & tex/generic/oberdiek/iflang.sty\\
% iflang.pdf & doc/latex/oberdiek/iflang.pdf\\
-% test/iflang-test1.tex & doc/latex/oberdiek/test/iflang-test1.tex\\
-% test/iflang-test2.tex & doc/latex/oberdiek/test/iflang-test2.tex\\
-% test/iflang-test3.tex & doc/latex/oberdiek/test/iflang-test3.tex\\
-% test/iflang-test4.tex & doc/latex/oberdiek/test/iflang-test4.tex\\
-% test/iflang-test5.tex & doc/latex/oberdiek/test/iflang-test5.tex\\
% iflang.dtx & source/latex/oberdiek/iflang.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/iflang.pdf b/macros/latex/contrib/oberdiek/iflang.pdf
index 27047b8df3..e755675d02 100644
--- a/macros/latex/contrib/oberdiek/iflang.pdf
+++ b/macros/latex/contrib/oberdiek/iflang.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/infwarerr.dtx b/macros/latex/contrib/oberdiek/infwarerr.dtx
deleted file mode 100644
index 89198d838a..0000000000
--- a/macros/latex/contrib/oberdiek/infwarerr.dtx
+++ /dev/null
@@ -1,1193 +0,0 @@
-% \iffalse meta-comment
-%
-% File: infwarerr.dtx
-% Version: 2016/05/16 v1.4
-% Info: Providing info/warning/error messages
-%
-% Copyright (C)
-% 2007, 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 infwarerr.dtx
-% and the derived files
-% infwarerr.sty, infwarerr.pdf, infwarerr.ins, infwarerr.drv,
-% infwarerr-test1.tex, infwarerr-test2.tex,
-% infwarerr-test3.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/infwarerr.dtx
-% CTAN:macros/latex/contrib/oberdiek/infwarerr.pdf
-%
-% Unpacking:
-% (a) If infwarerr.ins is present:
-% tex infwarerr.ins
-% (b) Without infwarerr.ins:
-% tex infwarerr.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{infwarerr.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If infwarerr.drv is present:
-% latex infwarerr.drv
-% (b) Without infwarerr.drv:
-% latex infwarerr.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 infwarerr.dtx
-% makeindex -s gind.ist infwarerr.idx
-% pdflatex infwarerr.dtx
-% makeindex -s gind.ist infwarerr.idx
-% pdflatex infwarerr.dtx
-%
-% Installation:
-% TDS:tex/generic/oberdiek/infwarerr.sty
-% TDS:doc/latex/oberdiek/infwarerr.pdf
-% TDS:doc/latex/oberdiek/test/infwarerr-test1.tex
-% TDS:doc/latex/oberdiek/test/infwarerr-test2.tex
-% TDS:doc/latex/oberdiek/test/infwarerr-test3.tex
-% TDS:source/latex/oberdiek/infwarerr.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: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: infwarerr
-Version: 2016/05/16 v1.4
-
-Copyright (C)
- 2007, 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 infwarerr.dtx
-and the derived files
- infwarerr.sty, infwarerr.pdf, infwarerr.ins, infwarerr.drv,
- infwarerr-test1.tex, infwarerr-test2.tex,
- infwarerr-test3.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
- \file{infwarerr.ins}{\from{infwarerr.dtx}{install}}%
- \file{infwarerr.drv}{\from{infwarerr.dtx}{driver}}%
- \usedir{tex/generic/oberdiek}%
- \file{infwarerr.sty}{\from{infwarerr.dtx}{package}}%
-% \usedir{doc/latex/oberdiek/test}%
-% \file{infwarerr-test1.tex}{\from{infwarerr.dtx}{test1}}%
-% \file{infwarerr-test2.tex}{\from{infwarerr.dtx}{test2}}%
-% \file{infwarerr-test3.tex}{\from{infwarerr.dtx}{test3}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{infwarerr.xml}{\from{infwarerr.dtx}{catalogue}}%
-}
-
-\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{* infwarerr.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `infwarerr.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{infwarerr.drv}%
- [2016/05/16 v1.4 Providing info/warning/error messages (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
- \DocInput{infwarerr.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \GetFileInfo{infwarerr.drv}
-%
-% \title{The \xpackage{infwarerr} 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 a complete set of macros for informations,
-% warnings and error messages with support for \plainTeX.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% Package \xpackage{infwarerr} defines the following set of commands,
-% given as pseudo regular expression:
-% \begin{quote}
-% \verb+\@(Package|Class)(Info|InfoNoLine|Warning|WarningNoLine|Error)+^^A
-% \kern-\rightmargin
-% \end{quote}
-% The first argument is the package or class in question. The second
-% argument contains the message text. \cs{MessageBreak} is supported.
-% In case of error messages, the third argument contains the help
-% text. Supported are \LaTeX's message texts \cs{@ehc}:
-% \begin{quote}
-% |Try typing <return> to proceed|\\
-% |If that doesn't work, type X <return> to quit.|
-% \end{quote}
-% and \cs{@ehd}:
-% \begin{quote}
-% |You're in trouble here. Try typing <return> to proceed|\\
-% |If that doesn't work, type X <return> to quit.|
-% \end{quote}
-%
-% The package is intended for macro writers that want to write
-% code that works for both \LaTeX\ and \plainTeX. If \LaTeX\ is
-% detected, then the macros of this package will only be wrappers
-% for \LaTeX's macros. Otherwise \LaTeX's macros will be mimicked
-% for use with \plainTeX.
-%
-% \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@infwarerr.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{infwarerr}{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@infwarerr.sty\endcsname
-\ProvidesPackage{infwarerr}%
- [2016/05/16 v1.4 Providing info/warning/error messages (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 InfWarErr@AtEnd\endcsname{%
- \endlinechar=\the\endlinechar\relax
- \catcode13=\the\catcode13\relax
- \catcode32=\the\catcode32\relax
- \catcode35=\the\catcode35\relax
- \catcode61=\the\catcode61\relax
- \catcode64=\the\catcode64\relax
- \catcode123=\the\catcode123\relax
- \catcode125=\the\catcode125\relax
- }%
- }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP@EnsureCode#1#2{%
- \edef\InfWarErr@AtEnd{%
- \InfWarErr@AtEnd
- \catcode#1=\the\catcode#1\relax
- }%
- \catcode#1=#2\relax
-}
-\TMP@EnsureCode{10}{12}% ^^J
-\TMP@EnsureCode{39}{12}% '
-\TMP@EnsureCode{40}{12}% (
-\TMP@EnsureCode{41}{12}% )
-\TMP@EnsureCode{44}{12}% ,
-\TMP@EnsureCode{45}{12}% -
-\TMP@EnsureCode{46}{12}% .
-\TMP@EnsureCode{58}{12}% :
-\TMP@EnsureCode{60}{12}% <
-\TMP@EnsureCode{62}{12}% >
-\TMP@EnsureCode{94}{7}% ^
-\edef\InfWarErr@AtEnd{\InfWarErr@AtEnd\noexpand\endinput}
-% \end{macrocode}
-%
-% \subsection{\LaTeX\ detection}
-%
-% \begin{macrocode}
-\begingroup
- \let\x=Y%
- \def\check#1{%
- \@check{Generic}{#1}%
- \@check{Package}{#1}%
- \@check{Class}{#1}%
- }%
- \def\@check#1#2{%
- \expandafter\ifx\csname #1#2\endcsname\relax
- \let\x=N%
- \fi
- }%
- \check{Info}%
- \check{Warning}%
- \check{Error}%
- \@check{Package}{WarningNoLine}%
- \@check{Class}{WarningNoLine}%
- \@check{}{@ehc}%
- \@check{}{@ehd}%
-\expandafter\endgroup
-\ifx\x Y%
-% \end{macrocode}
-%
-% \subsection{Version for \LaTeX}
-%
-% \begin{macro}{\@PackageInfo}
-% \begin{macrocode}
- \let\@PackageInfo\PackageInfo
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@PackageInfoNoLine}
-% \begin{macrocode}
- \def\@PackageInfoNoLine#1#2{%
- \PackageInfo{#1}{#2\@gobble}%
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassInfo}
-% \begin{macrocode}
- \let\@ClassInfo\ClassInfo
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassInfoNoLine}
-% \begin{macrocode}
- \def\@ClassInfoNoLine#1#2{%
- \ClassInfo{#1}{#2\@gobble}%
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@PackageWarning}
-% \begin{macrocode}
- \let\@PackageWarning\PackageWarning
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@PackageWarningNoLine}
-% \begin{macrocode}
- \let\@PackageWarningNoLine\PackageWarningNoLine
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassWarning}
-% \begin{macrocode}
- \let\@ClassWarning\ClassWarning
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassWarningNoLine}
-% \begin{macrocode}
- \let\@ClassWarningNoLine\ClassWarningNoLine
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@PackageError}
-% \begin{macrocode}
- \let\@PackageError\PackageError
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassError}
-% \begin{macrocode}
- \let\@ClassError\ClassError
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
- \expandafter\InfWarErr@AtEnd
-\fi%
-% \end{macrocode}
-%
-% \subsection{Version for \plainTeX}
-%
-% \begin{macro}{\InfWarErr@online}
-% \begin{macrocode}
-\begingroup\expandafter\endgroup
-\ifcase\expandafter\ifx\csname inputlineno\endcsname\relax
- 0 %
- \else
- \ifnum\inputlineno<0 %
- 0 %
- \else
- 1 %
- \fi
- \fi
- \def\InfWarErr@online{}%
-\else
- \def\InfWarErr@online{ on input line \the\inputlineno}%
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\InfWarErr@protected}
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
- \def\InfWarErr@protected{}%
-\else
- \let\InfWarErr@protected\protected
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\InfWarErr@unused}
-% \begin{macrocode}
-\chardef\InfWarErr@unused=16 %
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\InfWarErr@ehc}
-% \begin{macrocode}
-\def\InfWarErr@ehc{%
- Try typing \space <return> \space to proceed.\MessageBreak
- If that doesn't work, type \space X <return> \space to quit.%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\InfWarErr@ehd}
-% \begin{macrocode}
-\def\InfWarErr@ehd{%
- You're in trouble here. \space\@ehc
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\InfWarErr@GenericInfo}
-% \begin{macrocode}
-\InfWarErr@protected\def\InfWarErr@GenericInfo#1#2{%
- \begingroup
- \let\on@line\InfWarErr@online
- \long\def\@gobble##1{}%
- \def\space{ }%
- \def\@spaces{\space\space\space\space}%
- \def\MessageBreak{^^J#1}%
- \newlinechar=10 %
- \escapechar=92 %
- \immediate\write-1{#2\on@line.}%
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\InfWarErr@GenericWarning}
-% \begin{macrocode}
-\InfWarErr@protected\def\InfWarErr@GenericWarning#1#2{%
- \begingroup
- \let\on@line\InfWarErr@online
- \long\def\@gobble##1{}%
- \def\space{ }%
- \def\@spaces{\space\space\space\space}%
- \def\MessageBreak{^^J#1}%
- \newlinechar=10 %
- \escapechar=92 %
- \immediate\write\InfWarErr@unused{^^J#2\on@line.^^J}%
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\InfWarErr@GenericError}
-% Old \TeX\ versions below 3.141 where |^^J| is not working
-% as newline in error message and help texts are not supported.
-% \begin{macrocode}
-\InfWarErr@protected\def\InfWarErr@GenericError#1#2#3#4{%
- \begingroup
- \immediate\write\InfWarErr@unused{}%
- \def\space{ }%
- \def\@spaces{\space\space\space\space}%
- \let\@ehc\InfWarErr@ehc
- \let\@ehd\InfWarErr@ehd
- \let\on@line\InfWarErr@online
- \def\MessageBreak{^^J}%
- \newlinechar=10 %
- \escapechar=92 %
- \edef\InfWarErr@help{\noexpand\errhelp{#4}}%
- \InfWarErr@help
- \def\MessageBreak{^^J#1}%
- \errmessage{%
- #2.^^J^^J%
- #3^^J%
- Type \space H <return> \space for immediate help.^^J ...^^J%
- }%
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@PackageInfo}
-% \begin{macrocode}
-\def\@PackageInfo#1#2{%
- \InfWarErr@GenericInfo{%
- (#1) \@spaces\@spaces\@spaces
- }{%
- Package #1 Info: #2%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@PackageInfoNoLine}
-% \begin{macrocode}
-\def\@PackageInfoNoLine#1#2{%
- \@PackageInfo{#1}{#2\@gobble}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassInfo}
-% \begin{macrocode}
-\def\@ClassInfo#1#2{%
- \InfWarErr@GenericInfo{%
- (#1) \space\space\@spaces\@spaces
- }{%
- Class #1 Info: #2%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassInfoNoLine}
-% \begin{macrocode}
-\def\@ClassInfoNoLine#1#2{%
- \@ClassInfo{#1}{#2\@gobble}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@PackageWarning}
-% \begin{macrocode}
-\def\@PackageWarning#1#2{%
- \InfWarErr@GenericWarning{%
- (#1)\@spaces\@spaces\@spaces\@spaces
- }{%
- Package #1 Warning: #2%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@PackageWarningNoLine}
-% \begin{macrocode}
-\def\@PackageWarningNoLine#1#2{%
- \@PackageWarning{#1}{#2\@gobble}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassWarning}
-% \begin{macrocode}
-\def\@ClassWarning#1#2{%
- \InfWarErr@GenericWarning{%
- (#1) \space\@spaces\@spaces\@spaces
- }{%
- Class #1 Warning: #2%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassWarningNoLine}
-% \begin{macrocode}
-\def\@ClassWarningNoLine#1#2{%
- \@ClassWarning{#1}{#2\@gobble}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@PackageError}
-% \begin{macrocode}
-\def\@PackageError#1#2#3{%
- \InfWarErr@GenericError{%
- (#1)\@spaces\@spaces\@spaces\@spaces
- }{%
- Package #1 Error: #2%
- }{%
- See the #1 package documentation for explanation.%
- }{#3}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@ClassError}
-% \begin{macrocode}
-\def\@ClassError#1#2#3{%
- \InfWarErr@GenericError{%
- (#1) \space\@spaces\@spaces\@spaces
- }{%
- Class #1 Error: #2%
- }{%
- See the #1 class documentation for explanation.%
- }{#3}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\InfWarErr@AtEnd%
-%</package>
-% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input infwarerr.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2>
-\let\PackageInfo\relax
-\input infwarerr.sty\relax
-\let\OrgWrite\write
-\chardef\WriteUnused=16 %
-\def\msg#{\immediate\OrgWrite\WriteUnused}
-\msg{File: infwarerr-test2.tex 2016/05/16 v1.4 Test file for plain-TeX}
-\catcode64=11 %
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{infwarerr-test3.tex}[2016/05/16 v1.4 Test file for LaTeX]
-\RequirePackage{infwarerr}[2016/05/16]
-\makeatletter
-\let\OrgWrite\write
-\chardef\WriteUnused=\@unused
-\def\msg#{\immediate\OrgWrite\WriteUnused}
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2|test3>
-\def\pkgname{PACKAGE}
-\def\clsname{CLASS}
-\def\msgtext{MESSAGE\MessageBreak SECOND LINE}
-\def\hlptext{HELP\MessageBreak SECOND LINE}
-
-\let\OrgWrite\write
-\let\OrgErrMessage\errmessage
-
-\def\write#1#{%
- \@write{#1}%
-}
-\def\@write#1#2{%
- \OrgWrite#1{#2}%
- \xdef\WriteNum{\number#1}%
- \xdef\WriteText{#2}%
-}
-\def\TestFailed#1#2{%
- \OrgErrMessage{Test (\string#1) failed: #2}%
-}
-\def\TestWrite#1#2#3{%
- \ifnum\WriteNum=#2\relax
- \else
- \TestFailed#1{write stream number: \WriteNum <> #2}%
- \fi
- \begingroup
- \let~\space
- \edef\TestString{#3}%
- \ifx\WriteText\TestString
- \else
- \msg{}%
- \msg{[\WriteText]}%
- \msg{<>}%
- \msg{[#3]}% hash-ok
- \TestFailed#1{write text}%
- \fi
- \endgroup
-}
-\newtoks\ErrHelpToks
-\def\errmessage#1{%
- \global\ErrHelpToks=\expandafter{\the\errhelp}%
- \msg{**************** error message ****************}%
- \msg{! #1}%
- \msg{**************** help message *****************}%
- \msg{\the\errhelp}%
- \msg{***********************************************}%
- \xdef\ErrMessage{! #1}%
-}
-\def\TestInfo{%
- \@PackageInfo\pkgname\msgtext
- \TestWrite\@PackageInfo{-1}{%
- Package PACKAGE Info: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
- }%
- \@PackageInfoNoLine\pkgname\msgtext
- \TestWrite\@PackageInfoNoLine{-1}{%
- Package PACKAGE Info: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~SECOND LINE.%
- }%
- \@ClassInfo\clsname\msgtext
- \TestWrite\@ClassInfo{-1}{%
- Class CLASS Info: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
- }%
- \@ClassInfoNoLine\clsname\msgtext
- \TestWrite\@ClassInfoNoLine{-1}{%
- Class CLASS Info: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~SECOND LINE.%
- }%
-}
-\def\TestWarning{%
- \@PackageWarning\pkgname\msgtext
- \TestWrite\@PackageWarning\WriteUnused{%
- ^^J%
- Package PACKAGE Warning: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
- ^^J%
- }%
- \@PackageWarningNoLine\pkgname\msgtext
- \TestWrite\@PackageWarningNoLine\WriteUnused{%
- ^^J%
- Package PACKAGE Warning: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.%
- ^^J%
- }%
- \@ClassWarning\clsname\msgtext
- \TestWrite\@ClassWarning\WriteUnused{%
- ^^J%
- Class CLASS Warning: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
- ^^J%
- }%
- \@ClassWarningNoLine\clsname\msgtext
- \TestWrite\@ClassWarningNoLine\WriteUnused{%
- ^^J%
- Class CLASS Warning: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~~~~SECOND LINE.%
- ^^J%
- }%
-}
-\def\TestError{%
-%<test3> \let\write\OrgWrite
-%<test3> \def\plaindots{}
-%<test2> \def\plaindots{.^^J ...^^J}
- \@PackageError\pkgname\msgtext\hlptext
- \@TestError\@PackageError{%
- ! Package PACKAGE Error: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
- ^^J%
- See the PACKAGE package documentation for explanation.^^J%
- Type~~H <return>~~for immediate help\plaindots
- }{%
- HELP^^J%
- SECOND LINE%
- }%
- \@ClassError\clsname\msgtext\hlptext
- \@TestError\@ClassError{%
- ! Class CLASS Error: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~~~~SECOND LINE.^^J%
- ^^J%
- See the CLASS class documentation for explanation.^^J%
- Type~~H <return>~~for immediate help\plaindots
- }{%
- HELP^^J%
- SECOND LINE%
- }%
- \@PackageError\pkgname\msgtext\@ehc
- \@TestError\@PackageError{%
- ! Package PACKAGE Error: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
- ^^J%
- See the PACKAGE package documentation for explanation.^^J%
- Type~~H <return>~~for immediate help\plaindots
- }{%
- Try typing~~<return>~~to proceed.^^J%
- If that doesn't work, type~~X <return>~~to quit.%
- }%
- \@PackageError\pkgname\msgtext\@ehd
- \@TestError\@PackageError{%
- ! Package PACKAGE Error: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
- ^^J%
- See the PACKAGE package documentation for explanation.^^J%
- Type~~H <return>~~for immediate help\plaindots
- }{%
- You're in trouble here.~~Try typing~~<return>~~to proceed.^^J%
- If that doesn't work, type~~X <return>~~to quit.%
- }%
-}
-\def\@TestError#1#2#3{%
- \begingroup
- \let~\space
- \edef\x{#2}%
-%<test3> \@onelevel@sanitize\x
-%<test3> \@onelevel@sanitize\ErrMessage
- \ifx\x\ErrMessage
- \else
- \msg{}%
- \msg{[\ErrMessage]}%
- \msg{<>}%
- \msg{[\x]}%
- \TestFailed#1{errmessage text}%
- \fi
- \edef\x{\the\ErrHelpToks}%
- \edef\y{#3}%
- \ifx\x\y
- \else
- \msg{}%
- \msg{[\the\ErrHelpToks]}%
- \msg{<>}%
- \msg{[\y]}%
- \TestFailed#1{errhelp text}%
- \fi
- \endgroup
-}
-\TestInfo
-\TestWarning
-\TestError
-%</test2|test3>
-%<test2>\end
-%<test3>\@@end
-% \end{macrocode}
-%
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{infwarerr}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/infwarerr.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/infwarerr.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 infwarerr.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@{}}
-% infwarerr.sty & tex/generic/oberdiek/infwarerr.sty\\
-% infwarerr.pdf & doc/latex/oberdiek/infwarerr.pdf\\
-% test/infwarerr-test1.tex & doc/latex/oberdiek/test/infwarerr-test1.tex\\
-% test/infwarerr-test2.tex & doc/latex/oberdiek/test/infwarerr-test2.tex\\
-% test/infwarerr-test3.tex & doc/latex/oberdiek/test/infwarerr-test3.tex\\
-% infwarerr.dtx & source/latex/oberdiek/infwarerr.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{infwarerr.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 infwarerr.dtx
-%makeindex -s gind.ist infwarerr.idx
-%pdflatex infwarerr.dtx
-%makeindex -s gind.ist infwarerr.idx
-%pdflatex infwarerr.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-% \begin{Version}{2007/04/26 v1.0}
-% \item
-% First version.
-% \end{Version}
-% \begin{Version}{2007/06/14 v1.1}
-% \item
-% Small fixes.
-% \end{Version}
-% \begin{Version}{2007/09/09 v1.2}
-% \item
-% Catcode section extended.
-% \end{Version}
-% \begin{Version}{2010/04/08 v1.3}
-% \item
-% Ensure \cs{escapechar}=92 (backslash) for infos/warnings/errors.
-% \end{Version}
-% \begin{Version}{2016/05/16 v1.4}
-% \item
-% Documentation updates.
-% \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput
diff --git a/macros/latex/contrib/oberdiek/infwarerr.pdf b/macros/latex/contrib/oberdiek/infwarerr.pdf
deleted file mode 100644
index 7cbaae40f8..0000000000
--- a/macros/latex/contrib/oberdiek/infwarerr.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/intcalc.dtx b/macros/latex/contrib/oberdiek/intcalc.dtx
index 586ae3959e..245cc21812 100644
--- a/macros/latex/contrib/oberdiek/intcalc.dtx
+++ b/macros/latex/contrib/oberdiek/intcalc.dtx
@@ -67,10 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/intcalc.sty
% TDS:doc/latex/oberdiek/intcalc.pdf
-% TDS:doc/latex/oberdiek/test/intcalc-test1.tex
-% TDS:doc/latex/oberdiek/test/intcalc-test2.tex
-% TDS:doc/latex/oberdiek/test/intcalc-test3.tex
-% TDS:doc/latex/oberdiek/test/intcalc-test4.tex
% TDS:source/latex/oberdiek/intcalc.dtx
%
%<*ignore>
@@ -145,10 +141,6 @@ and the derived files
% \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}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{intcalc.xml}{\from{intcalc.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -219,21 +211,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{intcalc.drv}
%
@@ -3119,955 +3096,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input intcalc.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble with test macro definitions}
-%
-% \begin{macrocode}
-%<*test2|test4>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedNumexpr\numexpr
-%<noetex>\let\numexpr\UNDEFINED
-\makeatletter
-\chardef\InCa@TestMode=1 %
-\makeatother
-\usepackage{intcalc}[2016/05/16]
-%<noetex>\let\numexpr\SavedNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-%</test2|test4>
-%<*test2>
-\newcommand*{\TestSpaceAtEnd}[1]{%
-%<noetex> \let\SavedNumexpr\numexpr
-%<noetex> \let\numexpr\UNDEFINED
- \edef\resultA{#1}%
- \edef\resultB{#1 }%
-%<noetex> \let\numexpr\SavedNumexpr
- \Expect*{\resultA\space}*{\resultB}%
-}
-\newcommand*{\TestResult}[2]{%
-%<noetex> \let\SavedNumexpr\numexpr
-%<noetex> \let\numexpr\UNDEFINED
- \edef\result{#1}%
-%<noetex> \let\numexpr\SavedNumexpr
- \Expect*{\result}{#2}%
-}
-\newcommand*{\TestResultTwoExpansions}[2]{%
-%<*noetex>
- \begingroup
- \let\numexpr\UNDEFINED
- \expandafter\expandafter\expandafter
- \endgroup
-%</noetex>
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{#1}{#2}%
-}
-\newcount\TestCount
-%<etex>\newcommand*{\TestArg}[1]{\numexpr#1\relax}
-%<noetex>\newcommand*{\TestArg}[1]{#1}
-\newcommand*{\TestTeXDivide}[2]{%
- \TestCount=\TestArg{#1}\relax
- \divide\TestCount by \TestArg{#2}\relax
- \Expect*{\intcalcDiv{#1}{#2}}*{\the\TestCount}%
-}
-\newcommand*{\Test}[2]{%
- \TestResult{#1}{#2}%
- \TestResultTwoExpansions{#1}{#2}%
- \TestSpaceAtEnd{#1}%
-}
-\newcommand*{\TestExch}[2]{\Test{#2}{#1}}
-\newcommand*{\TestInv}[2]{%
- \Test{\intcalcInv{#1}}{#2}%
-}
-\newcommand*{\TestNum}[2]{%
- \Test{\intcalcNum{#1}}{#2}%
-}
-\newcommand*{\TestAbs}[2]{%
- \Test{\intcalcAbs{#1}}{#2}%
-}
-\newcommand*{\TestSgn}[2]{%
- \Test{\intcalcSgn{#1}}{#2}%
-}
-\newcommand*{\TestMin}[3]{%
- \Test{\intcalcMin{#1}{#2}}{#3}%
-}
-\newcommand*{\TestMax}[3]{%
- \Test{\intcalcMax{#1}{#2}}{#3}%
-}
-\newcommand*{\TestCmp}[3]{%
- \Test{\intcalcCmp{#1}{#2}}{#3}%
-}
-\newcommand*{\TestInc}[2]{%
- \Test{\intcalcInc{#1}}{#2}%
- \ifnum\intcalcNum{#1}>-1 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcInc\intcalcNum{#1}!%
- }{#2}%
- }%
- \x
- \fi
-}
-\newcommand*{\TestDec}[2]{%
- \Test{\intcalcDec{#1}}{#2}%
- \ifnum\intcalcNum{#1}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcDec\intcalcNum{#1}!%
- }{#2}%
- }%
- \x
- \fi
-}
-\newcommand*{\TestAdd}[3]{%
- \Test{\intcalcAdd{#1}{#2}}{#3}%
- \ifnum\intcalcNum{#1}>0 %
- \ifnum\intcalcNum{#2}> 0 %
- \ifnum\intcalcCmp{#1}{#2}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcAdd
- \intcalcNum{#1}!\intcalcNum{#2}!%
- }{#3}%
- }%
- \x
- \else
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcAdd
- \intcalcNum{#2}!\intcalcNum{#1}!%
- }{#3}%
- }%
- \x
- \fi
- \fi
- \fi
-}
-\newcommand*{\TestSub}[3]{%
- \Test{\intcalcSub{#1}{#2}}{#3}%
- \ifnum\intcalcNum{#1}>0 %
- \ifnum\intcalcNum{#2}> 0 %
- \ifnum\intcalcCmp{#1}{#2}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcSub
- \intcalcNum{#1}!\intcalcNum{#2}!%
- }{#3}%
- }%
- \x
- \fi
- \fi
- \fi
-}
-\newcommand*{\TestShl}[2]{%
- \Test{\intcalcShl{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcShl\intcalcAbs{#1}!%
- }{\intcalcAbs{#2}}%
- }%
- \x
-}
-\newcommand*{\TestShr}[2]{%
- \Test{\intcalcShr{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcShr\intcalcAbs{#1}!%
- }{\intcalcAbs{#2}}%
- }%
- \x
-}
-\newcommand*{\TestMul}[3]{%
- \Test{\intcalcMul{#1}{#2}}{#3}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcMul\intcalcAbs{#1}!\intcalcAbs{#2}!%
- }{\intcalcAbs{#3}}%
- }%
- \x
-}
-\newcommand*{\TestSqr}[2]{%
- \Test{\intcalcSqr{#1}}{#2}%
-}
-\newcommand*{\TestFac}[2]{%
- \expandafter\TestExch\expandafter{\the\numexpr#2}{\intcalcFac{#1}}%
-}
-\newcommand*{\TestPow}[3]{%
- \Test{\intcalcPow{#1}{#2}}{#3}%
-}
-\newcommand*{\TestDiv}[3]{%
- \Test{\intcalcDiv{#1}{#2}}{#3}%
- \TestTeXDivide{#1}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcDiv\intcalcAbs{#1}!\intcalcAbs{#2}!%
- }{\intcalcAbs{#3}}%
- }%
-}
-\newcommand*{\TestMod}[3]{%
- \Test{\intcalcMod{#1}{#2}}{#3}%
- \ifcase\ifcase\intcalcSgn{#1} 0%
- \or
- \ifcase\intcalcSgn{#2} 1%
- \or 0%
- \else 1%
- \fi
- \else
- \ifcase\intcalcSgn{#2} 1%
- \or 1%
- \else 0%
- \fi
- \fi\relax
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcMod
- \intcalcAbs{#1}!\intcalcAbs{#2}!%
- }{\intcalcAbs{#3}}%
- }%
- \x
- \fi
-}
-%</test2>
-% \end{macrocode}
-%
-% \subsubsection{Time}
-%
-% \begin{macrocode}
-%<*test2>
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
- \makeatletter
- \newcount\SummaryTime
- \newcount\TestTime
- \SummaryTime=\z@
- \newcommand*{\PrintTime}[2]{%
- \typeout{%
- [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]%
- }%
- }%
- \newcommand*{\StartTime}[1]{%
- \renewcommand*{\TimeDescription}{#1}%
- \pdfresettimer
- }%
- \newcommand*{\TimeDescription}{}%
- \newcommand*{\StopTime}{%
- \TestTime=\pdfelapsedtime
- \global\advance\SummaryTime\TestTime
- \PrintTime\TimeDescription\TestTime
- }%
- \let\saved@qstest\qstest
- \let\saved@endqstest\endqstest
- \def\qstest#1#2{%
- \saved@qstest{#1}{#2}%
- \StartTime{#1}%
- }%
- \def\endqstest{%
- \StopTime
- \saved@endqstest
- }%
- \AtEndDocument{%
- \PrintTime{summary}\SummaryTime
- }%
- \makeatother
-\fi
-%</test2>
-% \end{macrocode}
-%
-% \subsubsection{Test 4: additional mod/div operations}
-%
-% \begin{macrocode}
-%<*test4>
-\newcommand*{\TestDo}[2]{%
- \ifcase\numexpr#2\relax
- \else
- \edef\temp{\intcalcMod{#1}{#2}}%
- \Expect*{%
- \the\numexpr
- \intcalcMul{%
- \intcalcDiv{\intcalcAbs{#1}}{\intcalcAbs{#2}}%
- }{\intcalcAbs{#2}}%
- +\intcalcMod{\intcalcAbs{#1}}{\intcalcAbs{#2}}\relax
- }*{\the\numexpr\intcalcAbs{#1}\relax}%
- \fi
-}
-\newcommand*{\TestOne}[2]{%
- \TestDo{#1}{#1}%
-}
-\newcommand*{\TestTwo}[3]{%
- \TestDo{#1}{#2}%
- \TestDo{#2}{#1}%
-}
-\let\TestNum\TestOne
-\let\TestInv\TestOne
-\let\TestAbs\TestOne
-\let\TestSgn\TestOne
-\let\TestMin\TestTwo
-\let\TestMax\TestTwo
-\let\TestCmp\TestTwo
-\let\TestInc\TestOne
-\let\TestDec\TestOne
-\let\TestAdd\TestTwo
-\let\TestSub\TestTwo
-\let\TestShl\TestOne
-\let\TestShr\TestOne
-\let\TestMul\TestTwo
-\let\TestSqr\TestOne
-\def\TestFac#1#2{}
-\let\TestPow\TestTwo
-\let\TestDiv\TestTwo
-\let\TestMod\TestTwo
-%</test4>
-% \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-% \begin{macrocode}
-%<*test2|test4>
-\makeatletter
-
-\begin{qstest}{num}{num}%
- \TestNum{0}{0}%
- \TestNum{1}{1}%
- \TestNum{-1}{-1}%
- \TestNum{10}{10}%
- \TestNum{-10}{-10}%
- \TestNum{2147483647}{2147483647}%
- \TestNum{-2147483647}{-2147483647}%
- \TestNum{ 0 }{0}%
- \TestNum{ 1 }{1}%
- \TestNum{--1}{1}%
- \TestNum{ - + - + 4 }{4}%
- \TestNum{\z@}{0}%
- \TestNum{\@ne}{1}%
- \TestNum{\m@ne}{-1}%
-%<*etex>
- \TestNum{-10+30}{20}%
- \TestNum{10-30}{-20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{inv}{inv}%
- \TestInv{0}{0}%
- \TestInv{1}{-1}%
- \TestInv{-1}{1}%
- \TestInv{10}{-10}%
- \TestInv{-10}{10}%
- \TestInv{2147483647}{-2147483647}%
- \TestInv{-2147483647}{2147483647}%
- \TestInv{ 0 }{0}%
- \TestInv{ 1 }{-1}%
- \TestInv{--1}{-1}%
- \TestInv{\z@}{0}%
- \TestInv{\@ne}{-1}%
- \TestInv{\m@ne}{1}%
-%<*etex>
- \TestInv{-10+30}{-20}%
- \TestInv{10-30}{20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{abs}{abs}%
- \TestAbs{0}{0}%
- \TestAbs{1}{1}%
- \TestAbs{-1}{1}%
- \TestAbs{10}{10}%
- \TestAbs{-10}{10}%
- \TestAbs{2147483647}{2147483647}%
- \TestAbs{-2147483647}{2147483647}%
- \TestAbs{ 0 }{0}%
- \TestAbs{ 1 }{1}%
- \TestAbs{--1}{1}%
- \TestAbs{\z@}{0}%
- \TestAbs{\@ne}{1}%
- \TestAbs{\m@ne}{1}%
-%<*etex>
- \TestAbs{-10+30}{20}%
- \TestAbs{10-30}{20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sign}{sign}%
- \TestSgn{0}{0}%
- \TestSgn{1}{1}%
- \TestSgn{-1}{-1}%
- \TestSgn{10}{1}%
- \TestSgn{-10}{-1}%
- \TestSgn{2147483647}{1}%
- \TestSgn{-2147483647}{-1}%
- \TestSgn{ 0 }{0}%
- \TestSgn{ 2 }{1}%
- \TestSgn{ -2 }{-1}%
- \TestSgn{--2}{1}%
- \TestSgn{\z@}{0}%
- \TestSgn{\@ne}{1}%
- \TestSgn{\m@ne}{-1}%
-%<*etex>
- \TestSgn{-10+30}{1}%
- \TestSgn{10-30}{-1}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{min}{min}%
- \TestMin{0}{1}{0}%
- \TestMin{1}{0}{0}%
- \TestMin{-10}{-20}{-20}%
- \TestMin{ 1 }{ 2 }{1}%
- \TestMin{ 2 }{ 1 }{1}%
- \TestMin{1}{1}{1}%
- \TestMin{\z@}{\@ne}{0}%
- \TestMin{\@ne}{\m@ne}{-1}%
-%<*etex>
- \TestMin{1+2}{3+4}{3}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{max}{max}%
- \TestMax{0}{1}{1}%
- \TestMax{1}{0}{1}%
- \TestMax{-10}{-20}{-10}%
- \TestMax{ 1 }{ 2 }{2}%
- \TestMax{ 2 }{ 1 }{2}%
- \TestMax{1}{1}{1}%
- \TestMax{\z@}{\@ne}{1}%
- \TestMax{\@ne}{\m@ne}{1}%
-%<*etex>
- \TestMax{1+2}{3+4}{7}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{cmp}{cmp}%
- \TestCmp{0}{0}{0}%
- \TestCmp{-21}{17}{-1}%
- \TestCmp{3}{4}{-1}%
- \TestCmp{-10}{-10}{0}%
- \TestCmp{-10}{-11}{1}%
- \TestCmp{100}{5}{1}%
- \TestCmp{2147483647}{-2147483647}{1}%
- \TestCmp{-2147483647}{2147483647}{-1}%
- \TestCmp{2147483647}{2147483647}{0}%
- \TestCmp{\z@}{\@ne}{-1}%
- \TestCmp{\@ne}{\m@ne}{1}%
- \TestCmp{ 4 }{ 5 }{-1}%
- \TestCmp{ -3 }{ -7 }{1}%
-%<*etex>
- \TestCmp{1+2}{3+4}{-1}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{fac}{fac}
- \TestFac{0}{1}%
- \TestFac{1}{1}%
- \TestFac{2}{2}%
- \TestFac{3}{2*3}%
- \TestFac{4}{2*3*4}%
- \TestFac{5}{2*3*4*5}%
- \TestFac{6}{2*3*4*5*6}%
- \TestFac{7}{2*3*4*5*6*7}%
- \TestFac{8}{2*3*4*5*6*7*8}%
- \TestFac{9}{2*3*4*5*6*7*8*9}%
- \TestFac{10}{2*3*4*5*6*7*8*9*10}%
- \TestFac{11}{2*3*4*5*6*7*8*9*10*11}%
- \TestFac{12}{2*3*4*5*6*7*8*9*10*11*12}%
-\end{qstest}
-
-\begin{qstest}{inc}{inc}%
- \TestInc{0}{1}%
- \TestInc{1}{2}%
- \TestInc{-1}{0}%
- \TestInc{10}{11}%
- \TestInc{-10}{-9}%
- \TestInc{999}{1000}%
- \TestInc{-1000}{-999}%
- \TestInc{129}{130}%
- \TestInc{2147483646}{2147483647}%
- \TestInc{-2147483647}{-2147483646}%
-\end{qstest}
-
-\begin{qstest}{dec}{dec}%
- \TestDec{0}{-1}%
- \TestDec{1}{0}%
- \TestDec{-1}{-2}%
- \TestDec{10}{9}%
- \TestDec{-10}{-11}%
- \TestDec{1000}{999}%
- \TestDec{-999}{-1000}%
- \TestDec{130}{129}%
- \TestDec{2147483647}{2147483646}%
- \TestDec{-2147483646}{-2147483647}%
-\end{qstest}
-
-\begin{qstest}{add}{add}%
- \TestAdd{0}{0}{0}%
- \TestAdd{1}{0}{1}%
- \TestAdd{0}{1}{1}%
- \TestAdd{1}{2}{3}%
- \TestAdd{-1}{-1}{-2}%
- \TestAdd{2147483646}{1}{2147483647}%
- \TestAdd{-2147483647}{2147483647}{0}%
- \TestAdd{20}{-5}{15}%
- \TestAdd{-4}{-1}{-5}%
- \TestAdd{-1}{-4}{-5}%
- \TestAdd{-4}{1}{-3}%
- \TestAdd{-1}{4}{3}%
- \TestAdd{4}{-1}{3}%
- \TestAdd{1}{-4}{-3}%
- \TestAdd{-4}{-1}{-5}%
- \TestAdd{-1}{-4}{-5}%
- \TestAdd{ -4 }{ -1 }{-5}%
- \TestAdd{ -1 }{ -4 }{-5}%
- \TestAdd{ -4 }{ 1 }{-3}%
- \TestAdd{ -1 }{ 4 }{3}%
- \TestAdd{ 4 }{ -1 }{3}%
- \TestAdd{ 1 }{ -4 }{-3}%
- \TestAdd{ -4 }{ -1 }{-5}%
- \TestAdd{ -1 }{ -4 }{-5}%
- \TestAdd{876543210}{111111111}{987654321}%
- \TestAdd{999999999}{2}{1000000001}%
-%<*etex>
- \TestAdd{100}{50+150}{300}%
- \TestAdd{2147483647}{10-2147483647}{10}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sub}{sub}
- \TestSub{0}{0}{0}%
- \TestSub{1}{0}{1}%
- \TestSub{1}{2}{-1}%
- \TestSub{-1}{-1}{0}%
- \TestSub{2147483646}{-1}{2147483647}%
- \TestSub{-2147483647}{-2147483647}{0}%
- \TestSub{-4}{-1}{-3}%
- \TestSub{-1}{-4}{3}%
- \TestSub{-4}{1}{-5}%
- \TestSub{-1}{4}{-5}%
- \TestSub{4}{-1}{5}%
- \TestSub{1}{-4}{5}%
- \TestSub{-4}{-1}{-3}%
- \TestSub{-1}{-4}{3}%
- \TestSub{ -4 }{ -1 }{-3}%
- \TestSub{ -1 }{ -4 }{3}%
- \TestSub{ -4 }{ 1 }{-5}%
- \TestSub{ -1 }{ 4 }{-5}%
- \TestSub{ 4 }{ -1 }{5}%
- \TestSub{ 1 }{ -4 }{5}%
- \TestSub{ -4 }{ -1 }{-3}%
- \TestSub{ -1 }{ -4 }{3}%
- \TestSub{1000000000}{2}{999999998}%
- \TestSub{987654321}{111111111}{876543210}%
-%<*etex>
- \TestSub{100}{50+150}{-100}%
- \TestSub{2147483647}{-10+2147483647}{10}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{shl}{shl}
- \TestShl{0}{0}%
- \TestShl{1}{2}%
- \TestShl{5621}{11242}%
- \TestShl{1073741823}{2147483646}%
- \TestShl{-1}{-2}%
- \TestShl{-5621}{-11242}%
-\end{qstest}
-
-\begin{qstest}{shr}{shr}
- \TestShr{0}{0}%
- \TestShr{1}{0}%
- \TestShr{2}{1}%
- \TestShr{3}{1}%
- \TestShr{4}{2}%
- \TestShr{5}{2}%
- \TestShr{6}{3}%
- \TestShr{7}{3}%
- \TestShr{8}{4}%
- \TestShr{9}{4}%
- \TestShr{10}{5}%
- \TestShr{11}{5}%
- \TestShr{12}{6}%
- \TestShr{13}{6}%
- \TestShr{14}{7}%
- \TestShr{15}{7}%
- \TestShr{16}{8}%
- \TestShr{17}{8}%
- \TestShr{18}{9}%
- \TestShr{19}{9}%
- \TestShr{20}{10}%
- \TestShr{21}{10}%
- \TestShr{22}{11}%
- \TestShr{11241}{5620}%
- \TestShr{73054202}{36527101}%
- \TestShr{2147483646}{1073741823}%
- \TestShr{-1}{0}%
- \TestShr{-2}{-1}%
- \TestShr{-3}{-1}%
- \TestShr{-11241}{-5620}%
-\end{qstest}
-
-\begin{qstest}{mul}{mul}
- \TestMul{0}{0}{0}%
- \TestMul{1}{0}{0}%
- \TestMul{0}{1}{0}%
- \TestMul{1}{1}{1}%
- \TestMul{3}{1}{3}%
- \TestMul{1}{-3}{-3}%
- \TestMul{-4}{-5}{20}%
- \TestMul{3}{7}{21}%
- \TestMul{7}{3}{21}%
- \TestMul{3}{-7}{-21}%
- \TestMul{7}{-3}{-21}%
- \TestMul{-3}{7}{-21}%
- \TestMul{-7}{3}{-21}%
- \TestMul{-3}{-7}{21}%
- \TestMul{-7}{-3}{21}%
- \TestMul{12}{11}{132}%
- \TestMul{999}{333}{332667}%
- \TestMul{1000}{4321}{4321000}%
- \TestMul{12345}{173955}{2147474475}%
- \TestMul{1073741823}{2}{2147483646}%
- \TestMul{2}{1073741823}{2147483646}%
- \TestMul{-1073741823}{2}{-2147483646}%
- \TestMul{2}{-1073741823}{-2147483646}%
-%<*etex>
- \TestMul{2+3}{5+7}{60}%
- \TestMul{2147483647}{2147483647/2147483647}{2147483647}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sqr}{sqr}
- \TestSqr{0}{0}%
- \TestSqr{1}{1}%
- \TestSqr{2}{4}%
- \TestSqr{3}{9}%
- \TestSqr{4}{16}%
- \TestSqr{9}{81}%
- \TestSqr{10}{100}%
- \TestSqr{46340}{2147395600}%
- \TestSqr{-1}{1}%
- \TestSqr{-2}{4}%
- \TestSqr{-46340}{2147395600}%
-\end{qstest}
-
-\begin{qstest}{pow}{pow}
- \TestPow{-2}{0}{1}%
- \TestPow{-1}{0}{1}%
- \TestPow{0}{0}{1}%
- \TestPow{1}{0}{1}%
- \TestPow{2}{0}{1}%
- \TestPow{3}{0}{1}%
- \TestPow{-2}{1}{-2}%
- \TestPow{-1}{1}{-1}%
- \TestPow{1}{1}{1}%
- \TestPow{2}{1}{2}%
- \TestPow{3}{1}{3}%
- \TestPow{-2}{2}{4}%
- \TestPow{-1}{2}{1}%
- \TestPow{0}{2}{0}%
- \TestPow{1}{2}{1}%
- \TestPow{2}{2}{4}%
- \TestPow{3}{2}{9}%
- \TestPow{0}{1}{0}%
- \TestPow{1}{-2}{1}%
- \TestPow{1}{-1}{1}%
- \TestPow{-1}{-2}{1}%
- \TestPow{-1}{-1}{-1}%
- \TestPow{-1}{3}{-1}%
- \TestPow{-1}{4}{1}%
- \TestPow{-2}{-1}{0}%
- \TestPow{-2}{-2}{0}%
- \TestPow{2}{3}{8}%
- \TestPow{2}{4}{16}%
- \TestPow{2}{5}{32}%
- \TestPow{2}{6}{64}%
- \TestPow{2}{7}{128}%
- \TestPow{2}{8}{256}%
- \TestPow{2}{9}{512}%
- \TestPow{2}{10}{1024}%
- \TestPow{-2}{3}{-8}%
- \TestPow{-2}{4}{16}%
- \TestPow{-2}{5}{-32}%
- \TestPow{-2}{6}{64}%
- \TestPow{-2}{7}{-128}%
- \TestPow{-2}{8}{256}%
- \TestPow{-2}{9}{-512}%
- \TestPow{-2}{10}{1024}%
- \TestPow{3}{3}{27}%
- \TestPow{3}{4}{81}%
- \TestPow{3}{5}{243}%
- \TestPow{-3}{3}{-27}%
- \TestPow{-3}{4}{81}%
- \TestPow{-3}{5}{-243}%
- \TestPow{2}{30}{1073741824}%
- \TestPow{-3}{19}{-1162261467}%
- \TestPow{5}{13}{1220703125}%
- \TestPow{-7}{11}{-1977326743}%
-\end{qstest}
-
-\begin{qstest}{div}{div}
- \TestDiv{1}{1}{1}%
- \TestDiv{2}{1}{2}%
- \TestDiv{-2}{1}{-2}%
- \TestDiv{2}{-1}{-2}%
- \TestDiv{-2}{-1}{2}%
- \TestDiv{15}{2}{7}%
- \TestDiv{-16}{2}{-8}%
- \TestDiv{1}{2}{0}%
- \TestDiv{1}{3}{0}%
- \TestDiv{2}{3}{0}%
- \TestDiv{-2}{3}{0}%
- \TestDiv{2}{-3}{0}%
- \TestDiv{-2}{-3}{0}%
- \TestDiv{13}{3}{4}%
- \TestDiv{-13}{-3}{4}%
- \TestDiv{-13}{3}{-4}%
- \TestDiv{-6}{5}{-1}%
- \TestDiv{-5}{5}{-1}%
- \TestDiv{-4}{5}{0}%
- \TestDiv{-3}{5}{0}%
- \TestDiv{-2}{5}{0}%
- \TestDiv{-1}{5}{0}%
- \TestDiv{0}{5}{0}%
- \TestDiv{1}{5}{0}%
- \TestDiv{2}{5}{0}%
- \TestDiv{3}{5}{0}%
- \TestDiv{4}{5}{0}%
- \TestDiv{5}{5}{1}%
- \TestDiv{6}{5}{1}%
- \TestDiv{-5}{4}{-1}%
- \TestDiv{-4}{4}{-1}%
- \TestDiv{-3}{4}{0}%
- \TestDiv{-2}{4}{0}%
- \TestDiv{-1}{4}{0}%
- \TestDiv{0}{4}{0}%
- \TestDiv{1}{4}{0}%
- \TestDiv{2}{4}{0}%
- \TestDiv{3}{4}{0}%
- \TestDiv{4}{4}{1}%
- \TestDiv{5}{4}{1}%
- \TestDiv{12345}{678}{18}%
- \TestDiv{32372}{5952}{5}%
- \TestDiv{284271294}{18162}{15651}%
- \TestDiv{217652429}{12561}{17327}%
- \TestDiv{462028434}{5439}{84947}%
- \TestDiv{2147483647}{1000}{2147483}%
- \TestDiv{2147483647}{-1000}{-2147483}%
- \TestDiv{-2147483647}{1000}{-2147483}%
- \TestDiv{-2147483647}{-1000}{2147483}%
-\end{qstest}
-
-\begin{qstest}{mod}{mod}
- \TestMod{-6}{5}{4}%
- \TestMod{-5}{5}{0}%
- \TestMod{-4}{5}{1}%
- \TestMod{-3}{5}{2}%
- \TestMod{-2}{5}{3}%
- \TestMod{-1}{5}{4}%
- \TestMod{0}{5}{0}%
- \TestMod{1}{5}{1}%
- \TestMod{2}{5}{2}%
- \TestMod{3}{5}{3}%
- \TestMod{4}{5}{4}%
- \TestMod{5}{5}{0}%
- \TestMod{6}{5}{1}%
- \TestMod{-5}{4}{3}%
- \TestMod{-4}{4}{0}%
- \TestMod{-3}{4}{1}%
- \TestMod{-2}{4}{2}%
- \TestMod{-1}{4}{3}%
- \TestMod{0}{4}{0}%
- \TestMod{1}{4}{1}%
- \TestMod{2}{4}{2}%
- \TestMod{3}{4}{3}%
- \TestMod{4}{4}{0}%
- \TestMod{5}{4}{1}%
- \TestMod{-6}{-5}{-1}%
- \TestMod{-5}{-5}{0}%
- \TestMod{-4}{-5}{-4}%
- \TestMod{-3}{-5}{-3}%
- \TestMod{-2}{-5}{-2}%
- \TestMod{-1}{-5}{-1}%
- \TestMod{0}{-5}{0}%
- \TestMod{1}{-5}{-4}%
- \TestMod{2}{-5}{-3}%
- \TestMod{3}{-5}{-2}%
- \TestMod{4}{-5}{-1}%
- \TestMod{5}{-5}{0}%
- \TestMod{6}{-5}{-4}%
- \TestMod{-5}{-4}{-1}%
- \TestMod{-4}{-4}{0}%
- \TestMod{-3}{-4}{-3}%
- \TestMod{-2}{-4}{-2}%
- \TestMod{-1}{-4}{-1}%
- \TestMod{0}{-4}{0}%
- \TestMod{1}{-4}{-3}%
- \TestMod{2}{-4}{-2}%
- \TestMod{3}{-4}{-1}%
- \TestMod{4}{-4}{0}%
- \TestMod{5}{-4}{-3}%
- \TestMod{2147483647}{1000}{647}%
- \TestMod{2147483647}{-1000}{-353}%
- \TestMod{-2147483647}{1000}{353}%
- \TestMod{-2147483647}{-1000}{-647}%
- \TestMod{ 0 }{ 4 }{0}%
- \TestMod{ 1 }{ 4 }{1}%
- \TestMod{ -1 }{ 4 }{3}%
- \TestMod{ 0 }{ -4 }{0}%
- \TestMod{ 1 }{ -4 }{-3}%
- \TestMod{ -1 }{ -4 }{-1}%
-%<*etex>
- \TestMod{1+2}{1+3}{3}%
- \TestMod{1-2}{1+3}{3}%
- \TestMod{1-2}{1-4}{-1}%
- \TestMod{1+2}{1-4}{0}%
- \TestMod{1+2}{1-5}{-1}%
-%</etex>
-\end{qstest}
-%</test2|test4>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test2>
-\newcommand*{\TestError}[2]{%
- \begingroup
- \expandafter\def\csname IntCalcError:#1\endcsname{}%
- \Expect*{#2}{0}%
- \expandafter\def\csname IntCalcError:#1\endcsname{ERROR}%
- \Expect*{#2}{0ERROR }%
- \endgroup
-}
-\begin{qstest}{error}{error}
- \TestError{FacNegative}{\intcalcFac{-1}}%
- \TestError{FacNegative}{\intcalcFac{-2147483647}}%
- \TestError{FacOverflow}{\intcalcFac{13}}%
- \TestError{FacOverflow}{\intcalcFac{2147483647}}%
- \TestError{DivisionByZero}{\intcalcPow{0}{-1}}%
- \TestError{DivisionByZero}{\intcalcDiv{1}{0}}%
- \TestError{DivisionByZero}{\intcalcMod{1}{0}}%
- \TestError{DivisionByZero}{\IntCalcDiv1!0!}%
- \TestError{DivisionByZero}{\IntCalcMod1!0!}%
-\end{qstest}
-%</test2>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test2|test4>
-\begin{document}
-\end{document}
-%</test2|test4>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -4116,10 +3145,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% intcalc.sty & tex/generic/oberdiek/intcalc.sty\\
% intcalc.pdf & doc/latex/oberdiek/intcalc.pdf\\
-% test/intcalc-test1.tex & doc/latex/oberdiek/test/intcalc-test1.tex\\
-% test/intcalc-test2.tex & doc/latex/oberdiek/test/intcalc-test2.tex\\
-% test/intcalc-test3.tex & doc/latex/oberdiek/test/intcalc-test3.tex\\
-% test/intcalc-test4.tex & doc/latex/oberdiek/test/intcalc-test4.tex\\
% intcalc.dtx & source/latex/oberdiek/intcalc.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/intcalc.pdf b/macros/latex/contrib/oberdiek/intcalc.pdf
index fc12045817..be33245d32 100644
--- a/macros/latex/contrib/oberdiek/intcalc.pdf
+++ b/macros/latex/contrib/oberdiek/intcalc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/kvdefinekeys.dtx b/macros/latex/contrib/oberdiek/kvdefinekeys.dtx
index f0fcac8889..3b864fc73b 100644
--- a/macros/latex/contrib/oberdiek/kvdefinekeys.dtx
+++ b/macros/latex/contrib/oberdiek/kvdefinekeys.dtx
@@ -66,7 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/kvdefinekeys.sty
% TDS:doc/latex/oberdiek/kvdefinekeys.pdf
-% TDS:doc/latex/oberdiek/test/kvdefinekeys-test1.tex
% TDS:source/latex/oberdiek/kvdefinekeys.dtx
%
%<*ignore>
@@ -137,10 +136,6 @@ and the derived files
\file{kvdefinekeys.sty}{\from{kvdefinekeys.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{kvdefinekeys-test1.tex}{\from{kvdefinekeys.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{kvdefinekeys.xml}{\from{kvdefinekeys.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -177,21 +172,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{kvdefinekeys.drv}
%
@@ -428,118 +408,7 @@ and the derived files
\KVD@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input kvdefinekeys.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -588,7 +457,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% kvdefinekeys.sty & tex/generic/oberdiek/kvdefinekeys.sty\\
% kvdefinekeys.pdf & doc/latex/oberdiek/kvdefinekeys.pdf\\
-% test/kvdefinekeys-test1.tex & doc/latex/oberdiek/test/kvdefinekeys-test1.tex\\
% kvdefinekeys.dtx & source/latex/oberdiek/kvdefinekeys.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/kvdefinekeys.pdf b/macros/latex/contrib/oberdiek/kvdefinekeys.pdf
index 3d11f7fbaa..04e7111c2d 100644
--- a/macros/latex/contrib/oberdiek/kvdefinekeys.pdf
+++ b/macros/latex/contrib/oberdiek/kvdefinekeys.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/kvsetkeys.dtx b/macros/latex/contrib/oberdiek/kvsetkeys.dtx
index b7377aaaa6..7bbd4fe568 100644
--- a/macros/latex/contrib/oberdiek/kvsetkeys.dtx
+++ b/macros/latex/contrib/oberdiek/kvsetkeys.dtx
@@ -69,10 +69,6 @@
% TDS:tex/generic/oberdiek/kvsetkeys.sty
% TDS:doc/latex/oberdiek/kvsetkeys.pdf
% TDS:doc/latex/oberdiek/kvsetkeys-example.tex
-% TDS:doc/latex/oberdiek/test/kvsetkeys-test1.tex
-% TDS:doc/latex/oberdiek/test/kvsetkeys-test2.tex
-% TDS:doc/latex/oberdiek/test/kvsetkeys-test3.tex
-% TDS:doc/latex/oberdiek/test/kvsetkeys-test4.tex
% TDS:source/latex/oberdiek/kvsetkeys.dtx
%
%<*ignore>
@@ -150,10 +146,6 @@ and the derived files
% \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}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{kvsetkeys.xml}{\from{kvsetkeys.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -190,21 +182,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{kvsetkeys.drv}
%
@@ -1426,440 +1403,7 @@ $ \x
\KVS@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input kvsetkeys.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedUnexpanded\unexpanded
-%<noetex>\let\unexpanded\UNDEFINED
-\makeatletter
-\chardef\KVS@TestMode=1 %
-\makeatother
-\usepackage{kvsetkeys}[2016/05/16]
-%<noetex>\let\unexpanded\SavedUnexpanded
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-% \end{macrocode}
-%
-% \subsubsection{Time}
-%
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
- \makeatletter
- \newcount\SummaryTime
- \newcount\TestTime
- \SummaryTime=\z@
- \newcommand*{\PrintTime}[2]{%
- \typeout{%
- [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]%
- }%
- }%
- \newcommand*{\StartTime}[1]{%
- \renewcommand*{\TimeDescription}{#1}%
- \pdfresettimer
- }%
- \newcommand*{\TimeDescription}{}%
- \newcommand*{\StopTime}{%
- \TestTime=\pdfelapsedtime
- \global\advance\SummaryTime\TestTime
- \PrintTime\TimeDescription\TestTime
- }%
- \let\saved@qstest\qstest
- \let\saved@endqstest\endqstest
- \def\qstest#1#2{%
- \saved@qstest{#1}{#2}%
- \StartTime{#1}%
- }%
- \def\endqstest{%
- \StopTime
- \saved@endqstest
- }%
- \AtEndDocument{%
- \PrintTime{summary}\SummaryTime
- }%
- \makeatother
-\fi
-% \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-% \begin{macrocode}
-\makeatletter
-\def\@makeactive#1{%
- \catcode`#1=13\relax
-}
-\@makeactive\,
-\def,{\errmessage{COMMA}}
-\@makeother\,
-\@makeactive\=
-\def={\errmessage{EQUALS}}
-\@makeother\=
-
-\begin{qstest}{normalize}{normalize,active-chars,space-removal}%
- \long\def\Test#1#2{%
- \@makeother\,%
- \@makeother\=%
- \scantokens{\toks@={#2}}%
- \edef\Result{\the\toks@}%
- \@makeother\,%
- \@makeother\=%
- \@Test{#1}%
- \@makeactive\,%
- \@Test{#1}%
- \@makeactive\=%
- \@Test{#1}%
- \@makeother\,%
- \@Test{#1}%
- \@makeother\=%
- }%
- \long\def\@Test#1{%
- \scantokens{\kv@normalize{#1}}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter
- {\expandafter\kv@list\expandafter}\expandafter{\Result}%
- \Expect*{\ifx\kv@list\Result true\else false\fi}{true}%
- }%
- \Test{}{,}%
- \Test{,}{,}%
- \Test{,,}{,}%
- \Test{,,,}{,}%
- \Test{ , }{,}%
- \Test{{a}}{,{a},}%
- \Test{,{a}}{,{a},}%
- \Test{{a},}{,{a},}%
- \Test{{a},{b}}{,{a},{b},}%
- \Test{{b}={c},{}=,{}={},{d}=}{,{b}={c},{}=,{}={},{d}=,}%
- \Test{{}}{,{},}%
- \Test{{},{},{}}{,{},{},{},}%
- \Test{=}{,=,}%
- \Test{=,=,=}{,=,=,=,}%
- \Test{a=\par}{,a=\par,}%
- \Test{\par}{,\par,}%
- \def\TestSet#1{%
- \Test{#1#1}{,}%
- \Test{#1#1,#1#1}{,}%
- \Test{#1#1,#1#1,#1#1}{,}%
- \Test{#1#1#1#1#1}{,}%
- \Test{{a}#1#1=#1#1{b}}{,{a}={b},}%
- }%
- \TestSet{ }%
- \begingroup
- \let\saved@normalize\kv@normalize
- \def\kv@normalize#1{%
- \saved@normalize{#1}%
- \@onelevel@sanitize\kv@list
- \@onelevel@sanitize\Result
- }%
- \Test{#,#=#,{#}={#},{#}=,{#}}{,#,#=#,{#}={#},{#}=,{#},}%
- \endgroup
- \begingroup
- \def\Test#1#2{%
- \edef\Result{#2}%
- \@Test{#1}%
- }%
- \Test{{ a = b }}{,{ a = b },}%
- \@makeactive\,%
- \Test{{,}}{\string,{\noexpand,}\string,}%
- \@makeother\,%
- \@makeactive\=%
- \Test{a={=}}{,a\string={\noexpand=},}%
- \endgroup
- \Test{a=b}{,a=b,}%
- \Test{a={b}}{,a={b},}%
- \Test{a ={b}}{,a={b},}%
- \Test{a= {b}}{,a={b},}%
- \Test{a = {b}}{,a={b},}%
- \Test{a = {b} ,}{,a={b},}%
- \Test{a}{,a,}%
- \Test{ a}{,a,}%
- \Test{a }{,a,}%
- \Test{ a }{,a,}%
- \Test{, a ,}{,a,}%
- \Test{, a b ,}{,a b,}%
- \Test{,a ,}{,a,}%
- \Test{ a =}{,a=,}%
- \Test{ a = }{,a=,}%
- \Test{a =}{,a=,}%
- \Test{{a} =}{,{a}=,}%
- \Test{{a}= {}}{,{a}={},}%
- \Test{, a = {}}{,a={},}%
- \Test{a,,b}{,a,b,}%
- \Test{a=\fi}{,a=\fi,}%
- \Test{a=\iffalse}{,a=\iffalse,}%
- \Test{a=\iffalse,b=\fi}{,a=\iffalse,b=\fi,}%
-\end{qstest}
-
-\begin{qstest}{parse}{parse,brace-removal}
- \def\Processor#1#2{%
- \expandafter\Expect\expandafter{\kv@key}{#1}%
- \toks@{#2}%
- \edef\x{\the\toks@}%
- \ifx\kv@value\relax
- \Expect*{\the\toks@}{}%
- \def\Value{<>}%
- \else
- \edef\Value{[\the\toks@]}%
- \@onelevel@sanitize\Value
- \fi
- \toks@{#1}%
- \ifx\Result\@empty
- \edef\Result{[\the\toks@]=\Value}%
- \else
- \edef\Result{\Result,[\the\toks@]=\Value}%
- \fi
- \@onelevel@sanitize\Result
- }%
- \def\Test#1#2{%
- \sbox0{%
- \let\Result\@empty
- \kv@parse{#1}\Processor
- \Expect*{\Result}{#2}%
- }%
- \Expect*{\the\wd0}{0.0pt}%
- }%
- \Test{}{}%
- \Test{{}}{}%
- \Test{{{}}}{[]=<>}%
- \Test{{{{}}}}{[{}]=<>}%
- \Test{a}{[a]=<>}%
- \Test{{a}}{[a]=<>}%
- \Test{{a}}{[a]=<>}%
- \Test{{{a}}}{[a]=<>}%
- \Test{{{{a}}}}{[{a}]=<>}%
- \Test{a=}{[a]=[]}%
- \Test{{a}=}{[a]=[]}%
- \Test{{{a}}=}{[{a}]=[]}%
- \Test{a={}}{[a]=[]}%
- \Test{{a}={{}}}{[a]=[{}]}%
- \Test{a=b}{[a]=[b]}%
- \Test{a=\fi}{[a]=[\fi]}%
- \Test{a=\iffalse}{[a]=[\iffalse]}%
- \Test{a=\iffalse,b=\fi}{[a]=[\iffalse],[b]=[\fi]}%
- \Test{{ a = b }}{[ a ]=[ b ]}%
- \Test{{{ a = b }}}{[ a = b ]=<>}%
-\end{qstest}
-
-\begin{qstest}{comma}{comma,parse}
- \def\Processor#1{%
- \expandafter\Expect\expandafter{\comma@entry}{#1}%
- \toks@{#1}%
- \ifx\Result\@empty
- \edef\Result{[\the\toks@]}%
- \else
- \edef\Result{\Result,[\the\toks@]}%
- \fi
- \@onelevel@sanitize\Result
- }%
- \def\Test#1#2{%
- \sbox0{%
- \let\Result\@empty
- \comma@parse{#1}\Processor
- \Expect*{\Result}{#2}%
- }%
- \Expect*{\the\wd0}{0.0pt}%
- }%
- \Test{}{}%
- \Test{{}}{}%
- \Test{{{}}}{[{}]}%
- \Test{a}{[a]}%
- \Test{{a}}{[a]}%
- \Test{{{a}}}{[{a}]}%
- \Test{a=}{[a=]}%
- \Test{a\fi}{[a\fi]}%
- \Test{a\iffalse}{[a\iffalse]}%
- \Test{\iffalse,\fi}{[\iffalse],[\fi]}%
- \Test{ a , b , c }{[a],[b],[c]}%
- \Test{ { } ,{ }, { }, { } , { } }{[ ],[ ],[ ],[ ],[ ]}%
- \Test{ {{}} ,{{}}, {{}}, {{}} , {{}} }{[{}],[{}],[{}],[{}],[{}]}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \subsection{Tests for key value processing handler}
-%
-% \begin{macrocode}
-%<*test4>
-\catcode`\{=1
-\catcode`\}=2
-\catcode`\#=6
-\catcode`\@=11
-\input kvdefinekeys.sty\relax
-\input kvsetkeys.sty\relax
-\input infwarerr.sty\relax
-\def\Error#1{%
- \@PackageError{test}{#1}\@ehc
-}
-% \end{macrocode}
-% \begin{macrocode}
-\def\temp#1#2{%
- \kv@define@key{#1}{#2}{%
- \edef\result{%
- \result
- [#1:#2=##1]% hash-ok
- }%
- }%
-}
-\temp{FA}{key1}
-\temp{FA}{key2}
-\temp{FB}{key3}
-\temp{FB}{key3}
-% \end{macrocode}
-% \begin{macrocode}
-\setbox0=\hbox{%
- \def\result{}%
- \kvsetknownkeys{FA}\cmd{key1=234,key3=456}%
- \def\expected{[FA:key1=234]}%
- \ifx\expected\result
- \else
- \Error{%
- \string\kvsetknownkeys/\string\result\MessageBreak
- Expected: \expected\MessageBreak
- Result: \space\result
- }%
- \fi
- \def\expected{{key3}={456}}%
- \ifx\cmd\expected
- \else
- \Error{%
- \string\kvsetknownkeys/\string\cmd\MessageBreak
- Expected: \expected\MessageBreak
- Result: \space\cmd
- }%
- \fi
-}
-\ifdim\wd0=0pt %
-\else
- \Error{Spurious spaces?}%
-\fi
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test4>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1909,10 +1453,6 @@ $ \x
% kvsetkeys.sty & tex/generic/oberdiek/kvsetkeys.sty\\
% kvsetkeys.pdf & doc/latex/oberdiek/kvsetkeys.pdf\\
% kvsetkeys-example.tex & doc/latex/oberdiek/kvsetkeys-example.tex\\
-% test/kvsetkeys-test1.tex & doc/latex/oberdiek/test/kvsetkeys-test1.tex\\
-% test/kvsetkeys-test2.tex & doc/latex/oberdiek/test/kvsetkeys-test2.tex\\
-% test/kvsetkeys-test3.tex & doc/latex/oberdiek/test/kvsetkeys-test3.tex\\
-% test/kvsetkeys-test4.tex & doc/latex/oberdiek/test/kvsetkeys-test4.tex\\
% kvsetkeys.dtx & source/latex/oberdiek/kvsetkeys.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/kvsetkeys.pdf b/macros/latex/contrib/oberdiek/kvsetkeys.pdf
index 421d79a864..c5afe2fbb5 100644
--- a/macros/latex/contrib/oberdiek/kvsetkeys.pdf
+++ b/macros/latex/contrib/oberdiek/kvsetkeys.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/letltxmacro.dtx b/macros/latex/contrib/oberdiek/letltxmacro.dtx
deleted file mode 100644
index 86199e1063..0000000000
--- a/macros/latex/contrib/oberdiek/letltxmacro.dtx
+++ /dev/null
@@ -1,1153 +0,0 @@
-% \iffalse meta-comment
-%
-% File: letltxmacro.dtx
-% Version: 2016/05/16 v1.5
-% Info: Let assignment for LaTeX macros
-%
-% Copyright (C)
-% 2008, 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
-%
-% This work consists of the main source file letltxmacro.dtx
-% and the derived files
-% letltxmacro.sty, letltxmacro.pdf, letltxmacro.ins, letltxmacro.drv,
-% letltxmacro-showcases.tex, letltxmacro-test1.tex,
-% letltxmacro-test2.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/letltxmacro.dtx
-% CTAN:macros/latex/contrib/oberdiek/letltxmacro.pdf
-%
-% Unpacking:
-% (a) If letltxmacro.ins is present:
-% tex letltxmacro.ins
-% (b) Without letltxmacro.ins:
-% tex letltxmacro.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{letltxmacro.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If letltxmacro.drv is present:
-% latex letltxmacro.drv
-% (b) Without letltxmacro.drv:
-% latex letltxmacro.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 letltxmacro.dtx
-% makeindex -s gind.ist letltxmacro.idx
-% pdflatex letltxmacro.dtx
-% makeindex -s gind.ist letltxmacro.idx
-% pdflatex letltxmacro.dtx
-%
-% Installation:
-% TDS:tex/latex/oberdiek/letltxmacro.sty
-% TDS:doc/latex/oberdiek/letltxmacro.pdf
-% TDS:doc/latex/oberdiek/letltxmacro-showcases.tex
-% TDS:doc/latex/oberdiek/test/letltxmacro-test1.tex
-% TDS:doc/latex/oberdiek/test/letltxmacro-test2.tex
-% TDS:source/latex/oberdiek/letltxmacro.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: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: letltxmacro
-Version: 2016/05/16 v1.5
-
-Copyright (C)
- 2008, 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
-
-
-This work consists of the main source file letltxmacro.dtx
-and the derived files
- letltxmacro.sty, letltxmacro.pdf, letltxmacro.ins, letltxmacro.drv,
- letltxmacro-showcases.tex, letltxmacro-test1.tex,
- letltxmacro-test2.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
- \file{letltxmacro.ins}{\from{letltxmacro.dtx}{install}}%
- \file{letltxmacro.drv}{\from{letltxmacro.dtx}{driver}}%
- \usedir{tex/latex/oberdiek}%
- \file{letltxmacro.sty}{\from{letltxmacro.dtx}{package}}%
- \usedir{doc/latex/oberdiek}%
- \file{letltxmacro-showcases.tex}{\from{letltxmacro.dtx}{showcases}}%
-% \usedir{doc/latex/oberdiek/test}%
-% \file{letltxmacro-test1.tex}{\from{letltxmacro.dtx}{test1}}%
-% \file{letltxmacro-test2.tex}{\from{letltxmacro.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{letltxmacro.xml}{\from{letltxmacro.dtx}{catalogue}}%
-}
-
-\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{* letltxmacro.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `letltxmacro.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{letltxmacro.drv}%
- [2016/05/16 v1.5 Let assignment for LaTeX macros (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
- \DocInput{letltxmacro.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \GetFileInfo{letltxmacro.drv}
-%
-% \title{The \xpackage{letltxmacro} 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}
-% \TeX's \cs{let} assignment does not work for \LaTeX\ macros
-% with optional arguments or for macros that are defined
-% as robust macros by \cs{DeclareRobustCommand}. This package
-% defines \cs{LetLtxMacro} that also takes care of the involved
-% internal macros.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% If someone wants to redefine a macro with using the old
-% meaning, then one method is \TeX's command \cs{let}:
-%\begin{quote}
-%\begin{verbatim}
-%\newcommand{\Macro}{\typeout{Test Macro}}
-%\let\SavedMacro=\Macro
-%\renewcommand{\Macro}{%
-% \typeout{Begin}%
-% \SavedMacro
-% \typeout{End}%
-%}
-%\end{verbatim}
-%\end{quote}
-% However, this method fails, if \cs{Macro} is defined
-% by \cs{DeclareRobustCommand} and/or has an optional argument.
-% In both cases \LaTeX\ defines an additional internal macro
-% that is forgotten in the simple \cs{let} assignment of
-% the example above.
-%
-% \begin{declcs}{LetLtxMacro} \M{new macro} \M{old macro}
-% \end{declcs}
-% Macro \cs{LetLtxMacro} behaves similar to \TeX's \cs{let}
-% assignment, but it takes care of macros that are
-% defined by \cs{DeclareRobustCommand} and/or have optional
-% arguments. Example:
-%\begin{quote}
-%\begin{verbatim}
-%\DeclareRobustCommand{\Macro}[1][default]{...}
-%\LetLtxMacro{\SavedMacro}{\Macro}
-%\end{verbatim}
-%\end{quote}
-% Then macro \cs{SavedMacro} only uses internal macro names
-% that are derived from \cs{SavedMacro}'s macro name. Macro \cs{Macro}
-% can now be redefined without affecting \cs{SavedMacro}.
-%
-% \begin{declcs}{GlobalLetLtxMacro} \M{new macro} \M{old macro}
-% \end{declcs}
-% Like \cs{LetLtxMacro}, but the \meta{new macro} is defined globally.
-% Since version 2016/05/16~v1.4.
-%
-% \subsection{Supported macro definition commands}
-%
-% \begin{quote}
-% \begin{tabular}{@{}ll@{}}
-% \cs{newcommand}, \cs{renewcommand} & latex/base\\
-% \cs{newenvironment}, \cs{renewenvironment} & latex/base\\
-% \cs{DeclareRobustCommand}& latex/base\\
-% \cs{newrobustcmd}, \cs{renewrobustcmd} & etoolbox\\
-% \cs{robustify} & etoolbox 2008/06/22 v1.6\\
-% \end{tabular}
-% \end{quote}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Show cases}
-%
-% \subsubsection{\xfile{letltxmacro-showcases.tex}}
-%
-% \begin{macrocode}
-%<*showcases>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-% \end{macrocode}
-% \begin{macro}{\Line}
-% The result is displayed by macro \cs{Line}. The percent symbol
-% at line start allows easy grepping and inserting into the DTX
-% file.
-% \begin{macrocode}
-\newcommand*{\Line}[1]{%
- \typeout{\@percentchar#1}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\newcommand*{\ShowCmdName}[1]{%
- \@ifundefined{#1}{}{%
- \Line{%
- \space\space(\expandafter\string\csname#1\endcsname) = %
- (\expandafter\meaning\csname#1\endcsname)%
- }%
- }%
-}
-\newcommand*{\ShowCmds}[1]{%
- \ShowCmdName{#1}%
- \ShowCmdName{#1 }%
- \ShowCmdName{\\#1}%
- \ShowCmdName{\\#1 }%
-}
-\let\\\@backslashchar
-% \end{macrocode}
-% \begin{macro}{\ShowDef}
-% \begin{macrocode}
-\newcommand*{\ShowDef}[2]{%
- \begingroup
- \Line{}%
- \newcommand*{\DefString}{#2}%
- \@onelevel@sanitize\DefString
- \Line{\DefString}%
- #2%
- \ShowCmds{#1}%
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\typeout{}
-\Line{* LaTeX definitions:}
-\ShowDef{cmd}{%
- \newcommand{\cmd}[2][default]{}%
-}
-\ShowDef{cmd}{%
- \DeclareRobustCommand{\cmd}{}%
-}
-\ShowDef{cmd}{%
- \DeclareRobustCommand{\cmd}[2][default]{}%
-}
-\typeout{}
-% \end{macrocode}
-% The minimal version of package \xpackage{etoolbox} is 2008/06/12 v1.6a
-% because it fixes \cs{robustify}.
-% \begin{macrocode}
-\RequirePackage{etoolbox}[2008/06/12]%
-\Line{}
-\Line{* etoolbox's robust definitions:}
-\ShowDef{cmd}{%
- \newrobustcmd{\cmd}{}%
-}
-\ShowDef{cmd}{%
- \newrobustcmd{\cmd}[2][default]{}%
-}
-\Line{}
-\Line{* etoolbox's \string\robustify:}
-\ShowDef{cmd}{%
- \newcommand{\cmd}[2][default]{} %
- \robustify{\cmd}%
-}
-\ShowDef{cmd}{%
- \DeclareRobustCommand{\cmd}{} %
- \robustify{\cmd}%
-}
-\ShowDef{cmd}{%
- \DeclareRobustCommand{\cmd}[2][default]{} %
- \robustify{\cmd}%
-}
-\typeout{}
-\@@end
-%</showcases>
-% \end{macrocode}
-%
-% \subsubsection{Result}
-%
-% \begingroup
-% \makeatletter
-% \let\org@verbatim\@verbatim
-% \def\@verbatim{^^A
-% \org@verbatim
-% \catcode`\~=\active
-% }^^A
-% \let~\textvisiblespace
-%\begin{verbatim}
-%* LaTeX definitions:
-%
-%\newcommand {\cmd }[2][default]{}
-% (\cmd) = (macro:->\@protected@testopt \cmd \\cmd {default})
-% (\\cmd) = (\long macro:[#1]#2->)
-%
-%\DeclareRobustCommand {\cmd }{}
-% (\cmd) = (macro:->\protect \cmd~ )
-% (\cmd~) = (\long macro:->)
-%
-%\DeclareRobustCommand {\cmd }[2][default]{}
-% (\cmd) = (macro:->\protect \cmd~ )
-% (\cmd~) = (macro:->\@protected@testopt \cmd~ \\cmd~ {default})
-% (\\cmd~) = (\long macro:[#1]#2->)
-%
-%* etoolbox's robust definitions:
-%
-%\newrobustcmd {\cmd }{}
-% (\cmd) = (\protected\long macro:->)
-%
-%\newrobustcmd {\cmd }[2][default]{}
-% (\cmd) = (\protected macro:->\@testopt \\cmd {default})
-% (\\cmd) = (\long macro:[#1]#2->)
-%
-%* etoolbox's \robustify:
-%
-%\newcommand {\cmd }[2][default]{} \robustify {\cmd }
-% (\cmd) = (\protected macro:->\@protected@testopt \cmd \\cmd {default})
-% (\\cmd) = (\long macro:[#1]#2->)
-%
-%\DeclareRobustCommand {\cmd }{} \robustify {\cmd }
-% (\cmd) = (\protected macro:->)
-%
-%\DeclareRobustCommand {\cmd }[2][default]{} \robustify {\cmd }
-% (\cmd) = (\protected macro:->\@protected@testopt \cmd~ \\cmd~ {default})
-% (\cmd~) = (macro:->\@protected@testopt \cmd~ \\cmd~ {default})
-% (\\cmd~) = (\long macro:[#1]#2->)
-%\end{verbatim}
-% \endgroup
-%
-% \subsection{Package}
-%
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-%
-% \subsubsection{Catcodes and identification}
-%
-% \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
- \catcode13=5 % ^^M
- \endlinechar=13 %
- \catcode123=1 % {
- \catcode125=2 % }
- \catcode64=11 % @
- \def\x{\endgroup
- \expandafter\edef\csname llm@AtEnd\endcsname{%
- \endlinechar=\the\endlinechar\relax
- \catcode13=\the\catcode13\relax
- \catcode32=\the\catcode32\relax
- \catcode35=\the\catcode35\relax
- \catcode61=\the\catcode61\relax
- \catcode64=\the\catcode64\relax
- \catcode123=\the\catcode123\relax
- \catcode125=\the\catcode125\relax
- }%
- }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP@EnsureCode#1#2{%
- \edef\llm@AtEnd{%
- \llm@AtEnd
- \catcode#1=\the\catcode#1\relax
- }%
- \catcode#1=#2\relax
-}
-\TMP@EnsureCode{40}{12}% (
-\TMP@EnsureCode{41}{12}% )
-\TMP@EnsureCode{42}{12}% *
-\TMP@EnsureCode{45}{12}% -
-\TMP@EnsureCode{46}{12}% .
-\TMP@EnsureCode{47}{12}% /
-\TMP@EnsureCode{58}{12}% :
-\TMP@EnsureCode{62}{12}% >
-\TMP@EnsureCode{91}{12}% [
-\TMP@EnsureCode{93}{12}% ]
-\edef\llm@AtEnd{%
- \llm@AtEnd
- \escapechar\the\escapechar\relax
- \noexpand\endinput
-}
-\escapechar=92 % `\\
-% \end{macrocode}
-%
-% Package identification.
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{letltxmacro}%
- [2016/05/16 v1.5 Let assignment for LaTeX macros (HO)]
-% \end{macrocode}
-%
-% \subsubsection{Main macros}
-%
-% \begin{macro}{\LetLtxMacro}
-% \begin{macrocode}
-\newcommand*{\LetLtxMacro}{%
- \llm@ModeLetLtxMacro{}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\GlobalLetLtxMacro}
-% \begin{macrocode}
-\newcommand*{\GlobalLetLtxMacro}{%
- \llm@ModeLetLtxMacro\global
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\llm@ModeLetLtxMacro}
-% \begin{macrocode}
-\newcommand*{\llm@ModeLetLtxMacro}[3]{%
- \edef\llm@escapechar{\the\escapechar}%
- \escapechar=-1 %
- \edef\reserved@a{%
- \noexpand\protect
- \expandafter\noexpand
- \csname\string#3 \endcsname
- }%
- \ifx\reserved@a#3\relax
- #1\edef#2{%
- \noexpand\protect
- \expandafter\noexpand
- \csname\string#2 \endcsname
- }%
- #1\expandafter\let
- \csname\string#2 \expandafter\endcsname
- \csname\string#3 \endcsname
- \expandafter\llm@LetLtxMacro
- \csname\string#2 \expandafter\endcsname
- \csname\string#3 \endcsname{#1}%
- \else
- \llm@LetLtxMacro{#2}{#3}{#1}%
- \fi
- \escapechar=\llm@escapechar\relax
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\llm@LetLtxMacro}
-% \begin{macrocode}
-\def\llm@LetLtxMacro#1#2#3{%
- \escapechar=92 %
- \expandafter\llm@CheckParams\meaning#2:->\@nil{%
- \begingroup
- \def\@protected@testopt{%
- \expandafter\@testopt\@gobble
- }%
- \def\@testopt##1##2{%
- \toks@={##2}%
- }%
- \let\llm@testopt\@empty
- \edef\x{%
- \noexpand\@protected@testopt
- \noexpand#2%
- \expandafter\noexpand\csname\string#2\endcsname
- }%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\y
- \expandafter\expandafter\expandafter{%
- \expandafter\llm@CarThree#2{}{}{}\llm@nil
- }%
- \ifx\x\y
- #2%
- \def\llm@testopt{%
- \noexpand\@protected@testopt
- \noexpand#1%
- }%
- \else
- \edef\x{%
- \noexpand\@testopt
- \expandafter\noexpand
- \csname\string#2\endcsname
- }%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\y
- \expandafter\expandafter\expandafter{%
- \expandafter\llm@CarTwo#2{}{}\llm@nil
- }%
- \ifx\x\y
- #2%
- \def\llm@testopt{%
- \noexpand\@testopt
- }%
- \fi
- \fi
- \ifx\llm@testopt\@empty
- \else
- \llm@protected\xdef\llm@GlobalTemp{%
- \llm@testopt
- \expandafter\noexpand
- \csname\string#1\endcsname
- {\the\toks@}%
- }%
- \fi
- \expandafter\endgroup\ifx\llm@testopt\@empty
- #3\let#1=#2\relax
- \else
- #3\let#1=\llm@GlobalTemp
- #3\expandafter\let
- \csname\string#1\expandafter\endcsname
- \csname\string#2\endcsname
- \fi
- }{%
- #3\let#1=#2\relax
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\llm@CheckParams}
-% \begin{macrocode}
-\def\llm@CheckParams#1:->#2\@nil{%
- \begingroup
- \def\x{#1}%
- \ifx\x\llm@macro
- \endgroup
- \def\llm@protected{}%
- \expandafter\@firstoftwo
- \else
- \ifx\x\llm@protectedmacro
- \endgroup
- \def\llm@protected{\protected}%
- \expandafter\expandafter\expandafter\@firstoftwo
- \else
- \endgroup
- \expandafter\expandafter\expandafter\@secondoftwo
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\llm@macro}
-% \begin{macrocode}
-\def\llm@macro{macro}
-\@onelevel@sanitize\llm@macro
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\llm@protectedmacro}
-% \begin{macrocode}
-\def\llm@protectedmacro{\protected macro}
-\@onelevel@sanitize\llm@protectedmacro
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\llm@CarThree}
-% \begin{macrocode}
-\def\llm@CarThree#1#2#3#4\llm@nil{#1#2#3}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\llm@CarTwo}
-% \begin{macrocode}
-\def\llm@CarTwo#1#2#3\llm@nil{#1#2}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\llm@AtEnd%
-%</package>
-% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
-}
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{127}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- \RequirePackage{letltxmacro}[2016/05/16]\relax
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Package tests}
-%
-% \begin{macrocode}
-%<*test2>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-
-\usepackage{letltxmacro}[2016/05/16]
-
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\makeatletter
-
-\def\TestDef#1{%
- \begingroup
- \@makeother\\%
- \@makeother\ %
- \expandafter\@TestDef\csname #1\endcsname
-}
-\def\@TestDef#1#2{%
- \edef\a{\expandafter\strip@prefix\meaning#1}%
- \edef\b{\detokenize{#2}}%
- \ifx\a\b
- \else
- \typeout{1 [\a]}%
- \typeout{2 [\b]}%
- \fi
- \endgroup
- \Expect*{\expandafter\strip@prefix\meaning#1}*{\detokenize{#2}}%
-}
-\def\TestEquals#1#2{%
- \Expect*{%
- \expandafter\ifx\csname#1\expandafter\endcsname
- \csname#2\endcsname
- equals%
- \else
- wrong%
- \fi
- }{equals}%
-}
-\def\SaveA{%
- \let\SavedA\TestA
- \expandafter\let\csname\string\SavedA\expandafter\endcsname
- \csname\string\TestA\endcsname
- \expandafter\let\csname SavedA \expandafter\endcsname
- \csname TestA \endcsname
-}
-\def\CheckA{%
- \TestEquals{SavedA}{TestA}%
- \TestEquals{\string\SavedA}{\string\TestA}%
- \TestEquals{SavedA }{TestA }%
-}
-
-\begin{qstest}{robust}{robust}
- \begingroup
- \DeclareRobustCommand*{\TestA}{Test}%
- \SaveA
- \TestDef{TestA}{\protect \TestA }%
- \CheckA
- \DeclareRobustCommand{\TestA}{Test}%
- \SaveA
- \TestDef{TestA}{\protect \TestA }%
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\protect \TestB }%
- \TestEquals{TestB }{TestA }%
- \CheckA
- \GlobalLetLtxMacro\TestC\TestA
- \CheckA
- \endgroup
- \TestDef{TestC}{\protect \TestC }%
- \DeclareRobustCommand{\TestA}{Test}%
- \TestEquals{TestC }{TestA }%
-\end{qstest}
-
-\begin{qstest}{default}{default}
- \begingroup
- \newcommand{\TestA}[1][\relax default \empty]{TestA #1}%
- \SaveA
- \TestDef
- {TestA}{\@protected@testopt \TestA \\TestA {\relax default \empty }}%
- \LetLtxMacro\TestB\TestA
- \TestDef
- {TestB}{\@protected@testopt \TestB \\TestB {\relax default \empty }}%
- \CheckA
- \TestEquals{\string\TestB}{\string\TestA}%
- \GlobalLetLtxMacro\TestC\TestA
- \CheckA
- \endgroup
- \TestDef
- {TestC}{\@protected@testopt \TestC \\TestC {\relax default \empty }}%
- \newcommand{\TestA}[1][\relax default \empty]{TestA #1}%
- \TestEquals{\string\TestC}{\string\TestA}%
-\end{qstest}
-
-\begin{qstest}{robustdefault}{robustdefault}
- \begingroup
- \DeclareRobustCommand{\TestA}[1][\default]{TestA}%
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\protect \TestB }%
- \TestDef{TestB }{\@protected@testopt \TestB \\TestB {\default }}%
- \CheckA
- \GlobalLetLtxMacro\TestC\TestA
- \CheckA
- \endgroup
- \TestDef{TestC}{\protect \TestC }%
- \TestDef{TestC }{\@protected@testopt \TestC \\TestC {\default }}%
-\end{qstest}
-
-\begin{qstest}{plain}{plain}
- \LetLtxMacro\NewRelax\relax
- \Expect*{\meaning\relax}*{\string\relax}%
- \Expect*{\meaning\NewRelax}*{\string\relax}%
- \LetLtxMacro\NewHbox\hbox
- \Expect*{\meaning\hbox}*{\string\hbox}%
- \Expect*{\meaning\NewHbox}*{\string\hbox}%
- \LetLtxMacro\NewEmpty\empty
- \Expect*{\meaning\empty}{macro:->}%
- \Expect*{\meaning\NewEmpty}{macro:->}%
- \def\TestA{\iffalse}%
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\iffalse }%
- \TestEquals{TestA}{TestB}%
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\usepackage{etoolbox}[2008/06/22]
-
-\begin{qstest}{oldnewrobustcmd}{oldnewrobustcmd}
- \begingroup
- \protected\edef\TestA{%
- \noexpand\@protected@testopt
- \noexpand\TestA
- \expandafter\noexpand\csname\string\TestA\endcsname
- {\noexpand\default}%
- }%
- \expandafter\protected\expandafter
- \def\csname\string\TestA\endcsname{TestA}%
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\@protected@testopt \TestB \\TestB {\default }}%
- \protected\edef\TestC{%
- \noexpand\@protected@testopt
- \noexpand\TestB
- \expandafter\noexpand\csname\string\TestB\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestB}{TestC}%
- \CheckA
- \GlobalLetLtxMacro\TestD\TestA
- \CheckA
- \endgroup
- \TestDef{TestD}{\@protected@testopt \TestD \\TestD {\default }}%
- \protected\edef\TestC{%
- \noexpand\@protected@testopt
- \noexpand\TestD
- \expandafter\noexpand\csname\string\TestD\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestD}{TestC}%
-\end{qstest}
-
-\begin{qstest}{newrobustcmd}{newrobustcmd}
- \begingroup
- \newrobustcmd{\TestA}[1][\default]{TestA}%
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\@testopt \\TestB {\default }}%
- \protected\edef\TestC{%
- \noexpand\@testopt
- \expandafter\noexpand\csname\string\TestB\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestB}{TestC}%
- \CheckA
- \GlobalLetLtxMacro\TestD\TestA
- \CheckA
- \endgroup
- \TestDef{TestD}{\@testopt \\TestD {\default }}%
- \protected\edef\TestC{%
- \noexpand\@testopt
- \expandafter\noexpand\csname\string\TestD\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestD}{TestC}%
-\end{qstest}
-
-\begin{qstest}{robustifyopt}{robustifyopt}
- \newcommand{\TestA}[2][\default]{}%
- \TestDef{TestA}{\@protected@testopt \TestA \\TestA {\default }}%
- \robustify\TestA
- \TestDef{TestA}{\@protected@testopt \TestA \\TestA {\default }}%
- \protected\edef\TestC{%
- \noexpand\@protected@testopt
- \noexpand\TestA
- \expandafter\noexpand\csname\string\TestA\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestA}{TestC}%
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\@protected@testopt \TestB \\TestB {\default }}%
- \protected\edef\TestC{%
- \noexpand\@protected@testopt
- \noexpand\TestB
- \expandafter\noexpand\csname\string\TestB\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestB}{TestC}%
- \CheckA
-\end{qstest}
-
-\begin{qstest}{robustifydeclare}{robustifydeclare}
- \DeclareRobustCommand\TestA{\iffalse}%
- \robustify\TestA
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\iffalse }%
- % before etoolbox 2008/06/22: \protected\long\def
- % since etoolbox 2008/06/22: \protected\def
- \protected\def\TestC{\iffalse}%
- \TestEquals{TestB}{TestC}%
- \CheckA
-\end{qstest}
-
-\begin{qstest}{robustifydeclarelong}{robustifydeclarelong}
- \DeclareRobustCommand\TestA[1]{\iffalse}%
- \robustify\TestA
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\iffalse }%
- % before etoolbox 2008/06/22: \protected\long\def
- % since etoolbox 2008/06/22: \protected\def
- \protected\long\def\TestC#1{\iffalse}%
- \TestEquals{TestB}{TestC}%
- \CheckA
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\csname @@end\endcsname
-% \end{macrocode}
-% \begin{macrocode}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{letltxmacro}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/letltxmacro.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/letltxmacro.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 letltxmacro.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@{}}
-% letltxmacro.sty & tex/latex/oberdiek/letltxmacro.sty\\
-% letltxmacro.pdf & doc/latex/oberdiek/letltxmacro.pdf\\
-% letltxmacro-showcases.tex & doc/latex/oberdiek/letltxmacro-showcases.tex\\
-% test/letltxmacro-test1.tex & doc/latex/oberdiek/test/letltxmacro-test1.tex\\
-% test/letltxmacro-test2.tex & doc/latex/oberdiek/test/letltxmacro-test2.tex\\
-% letltxmacro.dtx & source/latex/oberdiek/letltxmacro.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{letltxmacro.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 letltxmacro.dtx
-%makeindex -s gind.ist letltxmacro.idx
-%pdflatex letltxmacro.dtx
-%makeindex -s gind.ist letltxmacro.idx
-%pdflatex letltxmacro.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{History}
-% \begin{Version}{2008/06/09 v1.0}
-% \item
-% First version.
-% \end{Version}
-% \begin{Version}{2008/06/12 v1.1}
-% \item
-% Support for \xpackage{etoolbox}'s \cs{newrobustcmd} added.
-% \end{Version}
-% \begin{Version}{2008/06/13 v1.2}
-% \item
-% Support for \xpackage{etoolbox}'s \cs{robustify} added.
-% \end{Version}
-% \begin{Version}{2008/06/24 v1.3}
-% \item
-% Test file adapted for etoolbox 2008/06/22 v1.6.
-% \end{Version}
-% \begin{Version}{2010/09/02 v1.4}
-% \item
-% \cs{GlobalLetLtxMacro} added.
-% \end{Version}
-% \begin{Version}{2016/05/16 v1.5}
-% \item
-% Documentation updates.
-% \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput
diff --git a/macros/latex/contrib/oberdiek/letltxmacro.pdf b/macros/latex/contrib/oberdiek/letltxmacro.pdf
deleted file mode 100644
index bfdb7d1dce..0000000000
--- a/macros/latex/contrib/oberdiek/letltxmacro.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/listingsutf8.dtx b/macros/latex/contrib/oberdiek/listingsutf8.dtx
index 7a6ed74f37..1cf8b78795 100644
--- a/macros/latex/contrib/oberdiek/listingsutf8.dtx
+++ b/macros/latex/contrib/oberdiek/listingsutf8.dtx
@@ -65,11 +65,6 @@
% Installation:
% TDS:tex/latex/oberdiek/listingsutf8.sty
% TDS:doc/latex/oberdiek/listingsutf8.pdf
-% TDS:doc/latex/oberdiek/test/listingsutf8-test1.tex
-% TDS:doc/latex/oberdiek/test/listingsutf8-test2.tex
-% TDS:doc/latex/oberdiek/test/listingsutf8-test3.tex
-% TDS:doc/latex/oberdiek/test/listingsutf8-test4.tex
-% TDS:doc/latex/oberdiek/test/listingsutf8-test5.tex
% TDS:source/latex/oberdiek/listingsutf8.dtx
%
%<*ignore>
@@ -143,10 +138,6 @@ and the derived files
% \file{listingsutf8-test3.tex}{\from{listingsutf8.dtx}{test3,utf8x}}%
% \file{listingsutf8-test4.tex}{\from{listingsutf8.dtx}{test4,utf8,noetex}}%
% \file{listingsutf8-test5.tex}{\from{listingsutf8.dtx}{test5,utf8x,noetex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{listingsutf8.xml}{\from{listingsutf8.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -183,21 +174,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{listingsutf8.drv}
%
@@ -493,105 +469,7 @@ and the derived files
\lstU@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
-}
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{127}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- \RequirePackage{listingsutf8}[2016/05/16]\relax
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test example for latin1}
-%
-% \begin{macrocode}
-%<*test2>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{filecontents}
-\def\do#1{%
- \ifx#1\^%
- \else
- \noexpand\do\noexpand#1%
- \fi
-}
-\expandafter\let\expandafter\dospecials\expandafter\empty
-\expandafter\edef\expandafter\dospecials\expandafter{\dospecials}
-\begin{filecontents*}{ExampleUTF8.java}
-public class ExampleUTF8 {
- public static String testString =
- "Umlauts: " +
- "^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f";
- public static void main(String[] args) {
- System.out.println(testString);
- }
-}
-\end{filecontents*}
-\usepackage{listingsutf8}[2016/05/16]
-\def\Text{%
- Umlauts: %
- ^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f%
-}
-\begin{document}
-\lstinputlisting[%
- language=Java,%
- inputencoding=utf8/latin1,%
-]{ExampleUTF8.java}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -640,11 +518,6 @@ public class ExampleUTF8 {
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% listingsutf8.sty & tex/latex/oberdiek/listingsutf8.sty\\
% listingsutf8.pdf & doc/latex/oberdiek/listingsutf8.pdf\\
-% test/listingsutf8-test1.tex & doc/latex/oberdiek/test/listingsutf8-test1.tex\\
-% test/listingsutf8-test2.tex & doc/latex/oberdiek/test/listingsutf8-test2.tex\\
-% test/listingsutf8-test3.tex & doc/latex/oberdiek/test/listingsutf8-test3.tex\\
-% test/listingsutf8-test4.tex & doc/latex/oberdiek/test/listingsutf8-test4.tex\\
-% test/listingsutf8-test5.tex & doc/latex/oberdiek/test/listingsutf8-test5.tex\\
% listingsutf8.dtx & source/latex/oberdiek/listingsutf8.dtx\\
% \end{tabular}^^A
% }^^A
@@ -760,7 +633,7 @@ public class ExampleUTF8 {
% \bibitem{inputenc}
% Alan Jeffrey, Frank Mittelbach,
% \textit{inputenc.sty}, 2006/05/05 v1.1b.
-% \CTAN{macros/latex/base/inputenc.dtx}
+% \CTANpkg{iputenc}
%
% \bibitem{listings}
% Carsten Heinz, Brooks Moses:
@@ -772,7 +645,7 @@ public class ExampleUTF8 {
% Heiko Oberdiek:
% \textit{The \xpackage{stringenc} package};
% 2007/10/22;\\
-% \CTAN{macros/latex/contrib/oberdiek/stringenc.pdf}.
+% \CTANpkg{stringenc}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/listingsutf8.pdf b/macros/latex/contrib/oberdiek/listingsutf8.pdf
index ff64d3ce1e..3644e9b320 100644
--- a/macros/latex/contrib/oberdiek/listingsutf8.pdf
+++ b/macros/latex/contrib/oberdiek/listingsutf8.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/ltxcmds.dtx b/macros/latex/contrib/oberdiek/ltxcmds.dtx
index 974a994380..7de6b53dfe 100644
--- a/macros/latex/contrib/oberdiek/ltxcmds.dtx
+++ b/macros/latex/contrib/oberdiek/ltxcmds.dtx
@@ -69,13 +69,6 @@
% Installation:
% TDS:tex/generic/oberdiek/ltxcmds.sty
% TDS:doc/latex/oberdiek/ltxcmds.pdf
-% TDS:doc/latex/oberdiek/test/ltxcmds-test1.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-gobble.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-ifempty.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-zapspace.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-ifboxempty.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-nextchar.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-carcdr.tex
% TDS:source/latex/oberdiek/ltxcmds.dtx
%
%<*ignore>
@@ -155,10 +148,6 @@ and the derived files
% \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}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{ltxcmds.xml}{\from{ltxcmds.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -198,21 +187,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{ltxcmds.drv}
%
@@ -2062,851 +2036,7 @@ $ \next
\LTXcmds@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input ltxcmds.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test \cs{ltx@GobbleNum}}
-%
-% \begin{macrocode}
-%<*test-gobble>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\catcode`\@=11 %
-\def\msg#{\immediate\write16}%
-\msg{[Test \string\ltx@GobbleNum]}%
-\long\def\Test#1=#2\\{%
- \edef\StrA{\ltx@GobbleNum#1}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\StrAA
- \expandafter\expandafter\expandafter{\ltx@GobbleNum#1}%
- \edef\StrB{#2}%
- \ifx\StrA\StrB
- \ifx\StrAA\StrB
- \msg{* ok.}%
- \else
- \msg{StrAA: \StrAA}%
- \msg{StrB: \StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (two expansions) failed}%
- \fi
- \else
- \msg{StrA: \StrA}%
- \msg{StrB: \StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (edef) failed!}%
- \fi
-}
-\Test0abc=abc\\
-\Test1abc=bc\\
-\Test2abc=c\\
-\Test3abcd=d\\
-\Test4abcde=e\\
-\Test5abcdef=f\\
-\Test6abcdefg=g\\
-\Test7abcdefgh=h\\
-\Test8abcdefghi=i\\
-\Test9abcdefghij=j\\
-\Test{10}0123456789X=X\\
-\Test{12}abcdefghijklm=m\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=X\\
-\Test{-1}abc=abc\\
-\Test2\par\par\relax=\relax\\
-
-\begingroup
- \count1=2 %
- \Test{\count1}abc=c\\%
-\endgroup
-
-\ltx@IfUndefined{numexpr}{%
-}{%
- \Test{1+1}abc=c\\%
-}
-
-\msg{[Test \string\ltx@CdrNum]}%
-\long\def\Test#1=#2\\{%
- \edef\StrA{\ltx@CdrNum#1\@nil}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\StrAA
- \expandafter\expandafter\expandafter{\ltx@CdrNum#1\@nil}%
- \edef\StrB{#2}%
- \ifx\StrA\StrB
- \ifx\StrAA\StrB
- \msg{* ok.}%
- \else
- \msg{StrAA: \meaning\StrAA}%
- \msg{StrB: \meaning\StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (two expansions) failed}%
- \fi
- \else
- \msg{StrA: \StrA}%
- \msg{StrB: \StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (edef) failed!}%
- \fi
-}
-\Test0abc=abc\\
-\Test1abc=bc\\
-\Test2abc=c\\
-\Test3abcd=d\\
-\Test4abcde=e\\
-\Test5abcdef=f\\
-\Test6abcdefg=g\\
-\Test7abcdefgh=h\\
-\Test8abcdefghi=i\\
-\Test9abcdefghij=j\\
-\Test{10}0123456789X=X\\
-\Test{12}abcdefghijklm=m\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=X\\
-\Test{-1}abc=abc\\
-\Test2\par\par\relax=\relax\\
-
-\msg{[Test \string\ltx@CarNum]}%
-\long\def\Test#1=#2\\{%
- \edef\StrA{\ltx@CarNum#1\@nil}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\StrAA
- \expandafter\expandafter\expandafter{\ltx@CarNum#1\@nil}%
- \edef\StrB{#2}%
- \ifx\StrA\StrB
- \ifx\StrAA\StrB
- \msg{* ok.}%
- \else
- \msg{StrAA: \meaning\StrAA}%
- \msg{StrB: \meaning\StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (two expansions) failed}%
- \fi
- \else
- \msg{StrA: \StrA}%
- \msg{StrB: \StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (edef) failed!}%
- \fi
-}
-\Test0abc=\\
-\Test1abc=a\\
-\Test2abc=ab\\
-\Test3abc=abc\\
-\Test3abcd=abc\\
-\Test4abcde=abcd\\
-\Test{10}0123456789X=0123456789\\
-\Test{12}abcdefghijklm=abcdefghijkl\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-\\
-\Test{-1}abc=\\
-\Test2\par\par\relax=\par\par\\
-\csname @@end\endcsname\end
-%</test-gobble>
-% \end{macrocode}
-%
-% \subsection{Test \cs{ltx@ifempty}}
-%
-% \begin{macrocode}
-%<*test-ifempty>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\errorcontextlines=1000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
-\def\TestY{\Y}
-\def\TestN{\N}
-\msg{* \string\ltx@ifempty}
-\long\def\test#1{%
- \begingroup
- % Calculate expected test result via macro definition
- \def\Stuff{#1}%
- \ifx\Stuff\ltx@empty
- \def\StuffEmpty{\Y}%
- \else
- \def\StuffEmpty{\N}%
- \fi
- % Test \ltx@ifempty
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestEmpty
- \expandafter\expandafter\expandafter{%
- \ltx@ifempty{#1}{\Y}{\N}%
- }%
- \ifx\StuffEmpty\TestEmpty
- \msg{* Test OK}%
- \else
- \ltx@IfUndefined{detokenize}{}{%
- \msg{Stuff: [\detokenize{\Stuff}]}%
- }%
- \errmessage{Test failed!}%
- \fi
- \endgroup
-}
-\test{}
-\test{a}
-\test{abc}
-\test{\par}
-\test{ }
-\test{\if}
-\test{{\if}}
-\test{\else}
-\test{{\else}}
-\test{\fi}
-\test{{}\fi}
-\test{\or\ifcase}
-\test{{}}
-\test{{a}}
-\test{{}abc}
-\test{{\par}}
-\test{{}\par}
-% \end{macrocode}
-% \begin{macrocode}
-\def\SpaceTwo#1{%
- \def\SpaceTwo{#1#1}%
-}\SpaceTwo{ }
-\msg{* \string\ltx@ifblank}
-\long\def\test#1{%
- \begingroup
- % Calculate expected test result via macro definition
- \def\Stuff{#1}%
- \ifx\Stuff\ltx@empty
- \def\StuffEmpty{\Y}%
- \else
- \ifx\Stuff\ltx@space
- \def\StuffEmpty{\Y}%
- \else
- \ifx\Stuff\SpaceTwo
- \def\StuffEmpty{\Y}%
- \else
- \def\StuffEmpty{\N}%
- \fi
- \fi
- \fi
- % Test \ltx@ifblank
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestEmpty
- \expandafter\expandafter\expandafter{%
- \ltx@ifblank{#1}{\Y}{\N}%
- }%
- \ifx\StuffEmpty\TestEmpty
- \msg{* Test OK}%
- \else
- \ltx@IfUndefined{detokenize}{}{%
- \msg{Stuff: [\detokenize{\Stuff}]}%
- }%
- \errmessage{Test failed!}%
- \fi
- \endgroup
-}
-\test{}
-\test{a}
-\test{\if}
-\test{\else}
-\test{\fi}
-\test{ \fi}
-\test{\par}
-\test{ \par}
-\test{{}}
-\test{ {}}
-\def\x#1{%
- \test{#1#1}%
- \test{#1#1{}}%
- \test{#1#1\par}%
- \test{#1#1\else}%
-}\x{ }
-\csname @@end\endcsname\end
-%</test-ifempty>
-% \end{macrocode}
-%
-% \subsection{Test \cs{ltx@zap@space}}
-%
-% \begin{macrocode}
-%<*test-zapspace>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\errorcontextlines=1000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
-\def\space{ }
-\def\empty{}
-\msg{* \string\ltx@zapspace}
-\long\def\test#1#2{%
- \begingroup
- \def\TestInput{#1}%
- \def\TestExpected{#2}%
- % Test \ltx@zapspace
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- \ltx@zapspace{#1}%
- }%
- \ifx\TestResult\TestExpected
- \msg{* Test OK}%
- \else
- \ltx@onelevel@sanitize\TestInput
- \ltx@onelevel@sanitize\TestExpected
- \ltx@onelevel@sanitize\TestResult
- \msg{* Input: \space\space\space[\TestInput]}%
- \msg{ \space Result: \space\space[\TestResult]}%
- \msg{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \fi
- \endgroup
-}
-\long\def\etest#1#2{%
- \begingroup
- \edef\x{\endgroup
- \noexpand\test{#1}{#2}%
- }%
- \x
-}
-\catcode`\~=13 %
-\let~\noexpand
-% \end{macrocode}
-% \begin{macrocode}
-\test{}{}
-\test{{}}{{}}
-\test{ {}}{{}}
-\test{{ }}{{ }}
-\test{{} }{{}}
-\test{ {} }{{}}
-\test{ { } }{{ }}
-\test{a {b} c}{a{b}c}
-\test{a bb ccc}{abbccc}
-\test{{a} {bb} {ccc}}{{a}{bb}{ccc}}
-\test{\par}{\par}
-\test{\if}{\if}
-\test{\space}{\space}
-\etest{\par\space\par}{\par\par}
-\etest{~\empty\space~\empty}{~\empty~\empty}
-\etest{~\fi\space~\else\space}{~\fi~\else}
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test-zapspace>
-% \end{macrocode}
-%
-% \subsection{Test \cs{ltx@IfBoxEmpty}}
-%
-% \begin{macrocode}
-%<*test-ifboxempty>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
- % make box 0 void
-\begingroup
- \setbox0=\box0 %
-\endgroup
-\ifvoid0 %
-\else
- \errmessage{Voiding box 0 failed}%
-\fi
-\setbox2=\box0 %
-\def\test#1#2{%
- \@test{#1}{#2}%
- \@@test{#1}{#2}%
- \chardef\x=#1%
- \@test\x{#2}%
- \@@test\x{#2}%
-}
-\def\@test#1#2{%
- \begingroup
- \setbox9=\hbox{%
- \def\TestExpected{#2}%
- \ltx@IfBoxEmpty{#1}{%
- \def\TestResult{Y}%
- }{%
- \def\TestResult{N}%
- }%
- \ifx\TestExpected\TestResult
- \msg{* Test passed.}%
- \else
- \errmessage{Test failed!}%
- \fi
- }%
- \ifdim\wd9=0pt %
- \else
- \errmessage{Unwanted space?}%
- \fi
- \endgroup
-}
-\def\@@test#1#2{%
- \begingroup
- \setbox9=\hbox{%
- \def\TestExpected{#2}%
- \ifvoid#1\def\TestExpected{Y}\fi
- \ltx@IfBoxVoidOrEmpty{#1}{%
- \def\TestResult{Y}%
- }{%
- \def\TestResult{N}%
- }%
- \ifx\TestExpected\TestResult
- \msg{* Test passed.}%
- \else
- \errmessage{Test failed!}%
- \fi
- }%
- \ifdim\wd9=0pt %
- \else
- \errmessage{Unwanted space?}%
- \fi
- \endgroup
-}
-\test0N
-\test2N
-\setbox0=\hbox{}
-\test0Y
-\setbox2=\hbox{}
-\test2Y
-\setbox0=\vbox{}
-\test0Y
-\setbox2=\vbox{}
-\test0Y
-\setbox0=\hbox{ }%
-\test0N
-\setbox2=\hbox{ }%
-\test2N
-\setbox0=\hbox{\penalty1}%
-\test0N
-\setbox2=\hbox{\penalty1}%
-\test2N
-\csname @@end\endcsname\end
-%</test-ifboxempty>
-% \end{macrocode}
-%
-% \subsection{Test for next character detection}
-%
-% \begin{macrocode}
-%<*test-nextchar>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
- \input eolgrab.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
- \RequirePackage{eolgrab}[2011/01/12]%
-\fi
-\def\msg#{\immediate\write16}
-\begingroup
- \def\x#1{%
- \endgroup
- \let\TestSpaceToken= #1\relax
- }%
-\x{ }
-\def\TestSpace{ }
-\begingroup
- \lccode32=65 % space -> A
-\lowercase{%
- \endgroup
- \def\TestSpaceA{ }%
-}
-\def\TestCatch{%
- \eolgrab\@TestCatch
-}
-\def\@TestCatch#1{%
- \begingroup
- \def\x{#1}%
- \ifx\x\ltx@empty
- \else
- \ltx@onelevel@sanitize\x
- \errmessage{Unparsed stuff on line [\x]}%
- \fi
- \endgroup
-}
-\def\TestCmdM#1{%
- \TestCheckType{M}%
- \TestCatch
-}
-\def\TestCmdOM[#1]#2{%
- \TestCheckType{O}%
- \TestCatch
-}
-\def\TestCheckType#1{%
- \if\TestCmdType#1\relax
- \else
- \errmessage{Wrong type #1, expected: \TestCmdType}%
- \fi
-}
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar[\TestCmdOM\TestCmdM
-}
-\def\TestCmdExp#1{%
- \expandafter\TestCmd\expandafter#1%
-}
-\outer\def\TestOuter{}
-\TestCmd O[o]{m}
-\TestCmd M{m}
-\TestCmd O [o]{m}
-\TestCmd M {m}
-\def\x#1{\def\x{#1#1}}\x{ }
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x#1{\def\x{#1#1#1#1}}\x{ }
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x{\TestSpaceToken}
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x{\TestSpaceToken\TestSpaceToken\TestSpaceToken}
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\TestCmd M\TestSpace
-\TestOuter
-\TestCmd M \TestSpace
-\TestOuter
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M\iffalse
-\TestOuter
-\TestCmd M\else
-\TestOuter
-\TestCmd M\fi
-\TestOuter
-\TestCmd M \iftrue
-\TestOuter
-\TestCmd M \iffalse
-\TestOuter
-\TestCmd M \else
-\TestOuter
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar@nospace[\TestCmdOM\TestCmdM
-}
-\TestCmd O[o]{m}
-\TestCmd M{m}
-\TestCmd M [
-\TestOuter
-\TestCmd M {m}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M\iffalse
-\TestOuter
-\TestCmd M\else
-\TestCmd M\fi
-\TestOuter
-\TestOuter
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar(\TestCmdPM\TestCmdM
-}
-\def\TestCmdPM(#1)#2{%
- \TestCheckType{P}%
- \TestCatch
-}
-\TestCmd P(p){m}
-\TestCmd M{m}
-\TestCmd P (p){m}
-\TestCmd M {m}
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar{ }\TestCmdSM\TestCmdM
-}
-\def\TestCmdSM#1#{%
- \TestCheckType{S}%
- \begingroup
- \let\x= #1\relax
- \ifx\x\TestSpaceToken
- \else
- \errmessage{unexpected space token: \meaning#1}%
- \fi
- \endgroup
- \def\TestCmdType{M}%
- \TestCmdM
-}
-\TestCmd S {m}
-\TestCmd M{m}
-\def\x#1{\def\x{#1#1}}\x{ }
-\TestCmdExp S\x{m}
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar\iffalse\TestCmdIM\TestCmdM
-}
-\def\TestCmdIM\iffalse#1{%
- \TestCheckType{I}%
- \TestCatch
-}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M \iftrue
-\TestCmd I\iffalse\iffalse
-\TestCmd I \iffalse\iffalse
-\TestOuter
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar@nospace\iffalse\TestCmdIM\TestCmdM
-}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd I\iffalse\iffalse
-\TestOuter
-\csname @@end\endcsname\end
-%</test-nextchar>
-% \end{macrocode}
-%
-% \subsection{Test for list helpers}
-%
-% \begin{macrocode}
-%<*test-carcdr>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
- \input eolgrab.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
- \RequirePackage{eolgrab}[2011/01/12]%
-\fi
-\def\msg#{\immediate\write16}
-\def\space{ }
-\long\def\Test#1#2#3{%
- \begingroup
- \def\TestExpected{#3}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- #1#2\@nil
- }%
- \ifx\TestResult\TestExpected
- \else
- \msg{\string\TestExpected: [\meaning\TestExpected]}%
- \msg{\string\TestResult: \space\space[\meaning\TestResult]}%
- \errmessage{Test failed!}%
- \fi
- \endgroup
-}
-\Test\ltx@carzero{abc}{}
-\Test\ltx@carzero{}{}
-\Test\ltx@carzero{\par\par}{}
-\Test\ltx@cdrzero{}{}
-\Test\ltx@cdrzero{abc}{abc}
-\Test\ltx@cdrzero{ \par}{ \par}
-\Test\ltx@cdrzero{\@empty}{\@empty}
-\Test\ltx@cdrzero{{}}{{}}
-\Test\ltx@car{abc}{a}
-\Test\ltx@car{\par}{\par}
-\Test\ltx@cdr{abc}{bc}
-\Test\ltx@cdr{a \par}{ \par}
-\Test\ltx@cdr{a\@empty}{\@empty}
-\Test\ltx@cartwo{abc}{ab}
-\Test\ltx@cartwo{\par\@empty}{\par\@empty}
-\Test\ltx@carsecond{abc}{b}
-\Test\ltx@carsecond{\@empty b\@empty}{b}
-\Test\ltx@carsecond{\par\par\par}{\par}
-\Test\ltx@cdrtwo{abc}{c}
-\Test\ltx@cdrtwo{ab \par}{ \par}
-\Test\ltx@cdrtwo{ab\@empty}{\@empty}
-\Test\ltx@cdrtwo{ab{}}{{}}
-\Test\ltx@cdrthree{abcdefg}{defg}
-\Test\ltx@cdrfour{abcdefg}{efg}
-\Test{\ltx@CdrNum{5}}{abcdefg}{fg}
-\Test{\ltx@CdrNum{0}}{\par}{\par}
-\Test{\ltx@CdrNum{0}}{\@empty}{\@empty}
-\Test{\ltx@CdrNum{0}}{{}}{{}}
-\Test{\ltx@CdrNum{0}}{ }{ }
-\Test{\ltx@CdrNum{2}}{abcd}{cd}
-\Test{\ltx@CdrNum{2}}{\vbox\par\hbox\par}{\hbox\par}
-\Test{\ltx@carthree}{abcdefg}{abc}
-\Test{\ltx@carfour}{abcdefg}{abcd}
-\Test{\ltx@CarNum{5}}{abcdefg}{abcde}
-\Test{\ltx@CarNum{2}}{\@empty\par}{\@empty\par}
-\Test\ltx@carthird{abcdefg}{c}
-\Test\ltx@carfourth{abcdefg}{d}
-\Test{\ltx@CarNumth{5}}{abcdefg}{e}
-\Test{\ltx@CarNumth{2}}{\@empty\@empty\@empty}{\@empty}
-\Test{\ltx@CarNumth{2}}{\par\par\par}{\par}
-\Test{\ltx@CarNumth{2}}{ab}{b}
-\csname @@end\endcsname\end
-%</test-carcdr>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2955,13 +2085,6 @@ X=%
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% ltxcmds.sty & tex/generic/oberdiek/ltxcmds.sty\\
% ltxcmds.pdf & doc/latex/oberdiek/ltxcmds.pdf\\
-% test/ltxcmds-test1.tex & doc/latex/oberdiek/test/ltxcmds-test1.tex\\
-% test/ltxcmds-test-gobble.tex & doc/latex/oberdiek/test/ltxcmds-test-gobble.tex\\
-% test/ltxcmds-test-ifempty.tex & doc/latex/oberdiek/test/ltxcmds-test-ifempty.tex\\
-% test/ltxcmds-test-zapspace.tex & doc/latex/oberdiek/test/ltxcmds-test-zapspace.tex\\
-% test/ltxcmds-test-ifboxempty.tex & doc/latex/oberdiek/test/ltxcmds-test-ifboxempty.tex\\
-% test/ltxcmds-test-nextchar.tex & doc/latex/oberdiek/test/ltxcmds-test-nextchar.tex\\
-% test/ltxcmds-test-carcdr.tex & doc/latex/oberdiek/test/ltxcmds-test-carcdr.tex\\
% ltxcmds.dtx & source/latex/oberdiek/ltxcmds.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/ltxcmds.pdf b/macros/latex/contrib/oberdiek/ltxcmds.pdf
index 56d0939d06..5ad2de5379 100644
--- a/macros/latex/contrib/oberdiek/ltxcmds.pdf
+++ b/macros/latex/contrib/oberdiek/ltxcmds.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/mleftright.dtx b/macros/latex/contrib/oberdiek/mleftright.dtx
deleted file mode 100644
index 5d7f837cae..0000000000
--- a/macros/latex/contrib/oberdiek/mleftright.dtx
+++ /dev/null
@@ -1,943 +0,0 @@
-% \iffalse meta-comment
-%
-% File: mleftright.dtx
-% Version: 2016/05/16 v1.1
-% Info: Math left/right delim. as open/close
-%
-% Copyright (C)
-% 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 mleftright.dtx
-% and the derived files
-% mleftright.sty, mleftright.pdf, mleftright.ins, mleftright.drv,
-% mleftright-test1.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/mleftright.dtx
-% CTAN:macros/latex/contrib/oberdiek/mleftright.pdf
-%
-% Unpacking:
-% (a) If mleftright.ins is present:
-% tex mleftright.ins
-% (b) Without mleftright.ins:
-% tex mleftright.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{mleftright.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If mleftright.drv is present:
-% latex mleftright.drv
-% (b) Without mleftright.drv:
-% latex mleftright.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 mleftright.dtx
-% makeindex -s gind.ist mleftright.idx
-% pdflatex mleftright.dtx
-% makeindex -s gind.ist mleftright.idx
-% pdflatex mleftright.dtx
-%
-% Installation:
-% TDS:tex/generic/oberdiek/mleftright.sty
-% TDS:doc/latex/oberdiek/mleftright.pdf
-% TDS:doc/latex/oberdiek/test/mleftright-test1.tex
-% TDS:source/latex/oberdiek/mleftright.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: mleftright 2016/05/16 v1.1 Math left/right delim. as open/close (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: mleftright
-Version: 2016/05/16 v1.1
-
-Copyright (C)
- 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 mleftright.dtx
-and the derived files
- mleftright.sty, mleftright.pdf, mleftright.ins, mleftright.drv,
- mleftright-test1.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
- \file{mleftright.ins}{\from{mleftright.dtx}{install}}%
- \file{mleftright.drv}{\from{mleftright.dtx}{driver}}%
- \usedir{tex/generic/oberdiek}%
- \file{mleftright.sty}{\from{mleftright.dtx}{package}}%
-% \usedir{doc/latex/oberdiek/test}%
-% \file{mleftright-test1.tex}{\from{mleftright.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{mleftright.xml}{\from{mleftright.dtx}{catalogue}}%
-}
-
-\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{* mleftright.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `mleftright.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{mleftright.drv}%
- [2016/05/16 v1.1 Math left/right delim. as open/close (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\usepackage{mleftright}[2016/05/16]
-\begin{document}
- \DocInput{mleftright.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \GetFileInfo{mleftright.drv}
-%
-% \title{The \xpackage{mleftright} 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}
-% \TeX\ sets subformulas by \cs{left} and \cs{right} as inner formulas
-% with additional surrounding spaces in some situations. This package
-% provides \cs{mleft} and \cs{mright} that call \cs{left} and \cs{right},
-% but the delimiters will act as normal \cs{mathopen} and \cs{mathclose}
-% delimiters without the additional space of an inner formula.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% The package is a result of a thread in the newsgroup \textsf{comp.text.tex}
-% with the subject \textit{spacing after \cs{right}\texttt{)}
-% and before \cs{left}\texttt{)}} \cite{dave}.
-% The problem: \cs{left} and \cs{right} adjust the size of the
-% delimiters automatically. However, \TeX\ treats the whole expression
-% as inner formula. In some circumstances \TeX\ adds extra space
-% before or after an inner formula.
-% Example:
-% \begin{quote}
-% \thinmuskip=1.5\thinmuskip
-% \begin{tabular}{@{}l@{\quad$\Rightarrow$\quad}l@{}}
-% |$\sin(x^2), x$|
-% & $\sin(x^2), x$\\
-% |$\sin\left(x^2\right), x$|
-% & $\sin\left(x^2\right), x$\\
-% ^^A \multicolumn{1}{@{}r@{\quad$\Rightarrow$\quad}}{^^A
-% ^^A \itshape with exaggerated spacing^^A
-% ^^A }
-% ^^A & $\thinmuskip=4\thinmuskip
-% ^^A \sin\left(x^2\right){,}\mskip.25\thinmuskip x$\\
-% |$\sin\mleft(x^2\mright), x$|
-% & $\sin\mleft(x^2\mright), x$\\
-% \end{tabular}\\*[.5ex]
-% (\cs{mleft} and \cs{mright} are provided by this package.)
-% \end{quote}
-%
-% In the newsgroup Donald Arseneau answered with clever macros \cite{arseneau}:
-% \begin{quote}
-%\begin{verbatim}
-%\newcommand\lft{\mathopen{}\left}
-%\newcommand\rgt{\aftergroup\mathclose\aftergroup{\aftergroup}\right}
-%\end{verbatim}
-% \end{quote}
-% However one problem remains, a following subscript or superscript
-% is not applied to the right delimiter but the empty
-% \cs{mathclose}.
-% Thus Philipp Stephani provided an improvement \cite{stephani}:
-%\begin{quote}
-%\begin{verbatim}
-%\mathopen{} \mathclose{\left\| A^2 \right\|}_2
-%\end{verbatim}
-%\end{quote}
-% Heiko Oberdiek converted this into macro form \cite{oberdiek}:
-%\begin{quote}
-%\begin{verbatim}
-%\newcommand\lft{\mathopen{}\mathclose\bgroup\left}
-%\newcommand\rgt{\aftergroup\egroup\right}
-%\end{verbatim}
-%\end{quote}
-%
-% The package uses longer macro names \cs{mleft} and \cs{mright}
-% to avoid name clashes. Also it adds some checks for error conditions.
-%
-% \subsection{Use}
-%
-% \begin{declcs}{mleft}\meta{delimL} \dots\unkern\ \cs{mright}\meta{delimR}
-% \end{declcs}
-% Macros \cs{mleft} and \cs{mright} are used in the same way as
-% \cs{left} and \cs{right}. Also \cs{middle} can be used inbetween if
-% \eTeX\ is present.
-%
-% \begin{declcs}{mleftright}
-% \end{declcs}
-% Macro \cs{mleftright} redefines \cs{left} as \cs{mleft} and
-% \cs{right} as \cs{mright}. The redefinition is local to the group.
-%
-% \begin{declcs}{mleftrightrestore}
-% \end{declcs}
-% Macro \cs{mleftright} restores \cs{left} and \cs{right} with
-% the original meaning if they were previously redefined by
-% \cs{mleftright} (also locally).
-%
-%
-% \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@mleftright.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{mleftright}{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@mleftright.sty\endcsname
-\ProvidesPackage{mleftright}%
- [2016/05/16 v1.1 Math left/right delim. as open/close (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 mleftright@AtEnd\endcsname{%
- \endlinechar=\the\endlinechar\relax
- \catcode13=\the\catcode13\relax
- \catcode32=\the\catcode32\relax
- \catcode35=\the\catcode35\relax
- \catcode61=\the\catcode61\relax
- \catcode64=\the\catcode64\relax
- \catcode123=\the\catcode123\relax
- \catcode125=\the\catcode125\relax
- }%
- }%
-\x\catcode61\catcode48\catcode32=10\relax%
-\catcode13=5 % ^^M
-\endlinechar=13 %
-\catcode35=6 % #
-\catcode64=11 % @
-\catcode123=1 % {
-\catcode125=2 % }
-\def\TMP@EnsureCode#1#2{%
- \edef\mleftright@AtEnd{%
- \mleftright@AtEnd
- \catcode#1=\the\catcode#1\relax
- }%
- \catcode#1=#2\relax
-}
-\TMP@EnsureCode{38}{4}% &
-\TMP@EnsureCode{39}{12}% '
-\TMP@EnsureCode{40}{12}% (
-\TMP@EnsureCode{41}{12}% )
-\TMP@EnsureCode{42}{12}% *
-\TMP@EnsureCode{43}{12}% +
-\TMP@EnsureCode{44}{12}% ,
-\TMP@EnsureCode{45}{12}% -
-\TMP@EnsureCode{46}{12}% .
-\TMP@EnsureCode{47}{12}% /
-\TMP@EnsureCode{60}{12}% <
-\TMP@EnsureCode{91}{12}% [
-\TMP@EnsureCode{93}{12}% ]
-\edef\mleftright@AtEnd{%
- \mleftright@AtEnd
- \escapechar\the\escapechar\relax
- \noexpand\endinput
-}
-\escapechar=92 %
-% \end{macrocode}
-%
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input infwarerr.sty\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{infwarerr}[2010/04/08]%
- \RequirePackage{ltxcmds}[2010/04/26]%
-\fi
-% \end{macrocode}
-%
-% The original commands \cs{left} and \cs{right}
-% are saved and later used in \cs{mleft} and
-% \cs{mright} in order to deal with:
-% \begin{quote}
-%\begin{verbatim}
-%\let\left\mleft
-%\let\right\mright
-%\end{verbatim}
-% \end{quote}
-% \begin{macro}{\mleftright@OrgLeft}
-% \begin{macrocode}
-\let\mleftright@OrgLeft\left
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\mleftright@OrgRight}
-% \begin{macrocode}
-\let\mleftright@OrgRight\right
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mleftright@Def}
-% Macro \cs{mleftright@Def} defines a macro as robust macro
-% if \eTeX\ or \LaTeX\ is available.
-% \begin{macrocode}
-\ltx@IfUndefined{protected}{%
- \ltx@IfUndefined{DeclareRobustCommand}{%
- \def\mleftright@Def{\def}%
- }{%
- \def\mleftright@Def{\DeclareRobustCommand*}%
- }%
-}{%
- \def\mleftright@Def{\protected\def}%
-}
-\edef\mleftright@Def#1{%
- \noexpand\ltx@IfUndefined{%
- \noexpand\expandafter\noexpand\ltx@gobble\noexpand\string#1%
- }{%
- \expandafter\noexpand\mleftright@Def#1%
- }{%
- \noexpand\@PackageError{mleftright}{%
- Command \noexpand\string#1 already defined%
- }\noexpand\@ehd
- \noexpand\ltx@gobble
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% In case of \eTeX\ the group status after the left symbol
-% is saved and later checked at the beginning of \cs{mright}.
-% \begin{macrocode}
-\ltx@IfUndefined{currentgrouplevel}{%
- \catcode38=14 % & = comment
-}{%
- \catcode38=9 % & = ignore
-}
-% \end{macrocode}
-%
-% \begin{macro}{\mleftright@GroupLevel}
-% \begin{macrocode}
-& \def\mleftright@GroupLevel{-1}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mleftright@WrongGroup}
-% \begin{macrocode}
-& \def\mleftright@WrongGroup#1(#2){%
-& \ifnum\mleftright@GroupLevel<\ltx@zero
-& \@PackageError{mleftright}{%
-& Missing previous \string\mleft
-& }\@ehc
-& \else
-& \@PackageError{mleftright}{%
-& Unexpected group status for \string\mright%
-& \ifnum\mleftright@GroupLevel=#1 %
-& \else
-& .\MessageBreak
-& Group level is #1, %
-& expected is \mleftright@GroupLevel
-& \fi
-& \ifnum16=#2 %
-& \else
-& .\MessageBreak
-& Group type is #2 (%
-& \ifcase#2 %
-& bottom level%
-& \expandafter\expandafter\expandafter\ltx@gobblefour
-& \expandafter\ltx@gobbletwo
-& \or simple%
-& \or hbox%
-& \or adjusted hbox%
-& \or vbox%
-& \or vtop%
-& \or align%
-& \or no align%
-& \or output%
-& \or math%
-& \or disc%
-& \or insert%
-& \or vcenter%
-& \or math choice%
-& \or semi simple%
-& \or math shift%
-& \or math left%
-& \else
-& unknown%
-& \fi
-& \space group),\MessageBreak
-& expected is 16 (math left group)%
-& \fi
-& }\@ehd
-& \fi
-& }%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mleft}
-% \begin{macrocode}
-\mleftright@Def\mleft{%
- \mathopen{}\mathclose\bgroup
-& \edef\mleftright@GroupLevel{\the\numexpr\the\currentgrouplevel+1}%
- \mleftright@OrgLeft
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\mright}
-% \begin{macrocode}
-\mleftright@Def\mright{%
-& \ifnum\mleftright@GroupLevel=\currentgrouplevel
-& \ifnum16=\currentgrouptype
- \aftergroup\egroup
-& \else
-& \expandafter\mleftright@WrongGroup
-& \the\expandafter\currentgrouplevel
-& \expandafter(\the\currentgrouptype)%
-& \fi
-& \else
-& \expandafter\mleftright@WrongGroup
-& \the\expandafter\currentgrouplevel
-& \expandafter(\the\currentgrouptype)%
-& \fi
- \mleftright@OrgRight
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mleftright}
-% \begin{macrocode}
-\mleftright@Def\mleftright{%
- \let\left\mleft
- \let\right\mright
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mleftrightrestore}
-% \begin{macrocode}
-\mleftright@Def\mleftrightrestore{%
- \ifx\left\mleft
- \let\left\mleftright@OrgLeft
- \fi
- \ifx\right\mright
- \let\right\mleftright@OrgRight
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\mleftright@AtEnd%
-%</package>
-% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input mleftright.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{mleftright}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/mleftright.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/mleftright.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 mleftright.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@{}}
-% mleftright.sty & tex/generic/oberdiek/mleftright.sty\\
-% mleftright.pdf & doc/latex/oberdiek/mleftright.pdf\\
-% test/mleftright-test1.tex & doc/latex/oberdiek/test/mleftright-test1.tex\\
-% mleftright.dtx & source/latex/oberdiek/mleftright.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{mleftright.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 mleftright.dtx
-%makeindex -s gind.ist mleftright.idx
-%pdflatex mleftright.dtx
-%makeindex -s gind.ist mleftright.idx
-%pdflatex mleftright.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \section{Acknowledgement}
-%
-% \begin{description}
-% \item[Donald Arsenau:]
-% He provided the main trick and the first macros.
-% \item[Philipp Stephani:]
-% He solved the subscript problem.
-% \end{description}
-%
-% \begin{thebibliography}{9}
-% \raggedright
-% \bibitem{dave}
-% Dave94705,
-% \textit{spacing after \cs{right}\texttt{)} and before \cs{left}\texttt{)}},
-% newsgroup comp.text.tex,
-% Message-ID: \texttt{\small 5d264909-7c3d-4c9d-9b22-434178b2bf90@g21g2000prn.googlegroups.com},
-% 2010-08-12.
-% \newblock
-% {\small\url{https://groups.google.com/group/comp.text.tex/msg/e5b6833da7dc29bf}}
-%
-% \bibitem{arseneau}
-% Donald Arseneau,
-% \textit{Re: spacing after \cs{right}\texttt) and before \cs{left}\texttt)},
-% newsgroup comp.text.tex,
-% Message-ID: \texttt{\small yfivd6svl8y.fsf@mutant.triumf.ca},
-% 2010-08-30.
-% \newblock
-% {\small\url{https://groups.google.com/group/comp.text.tex/msg/e0b2e4386e5d04e4}}
-%
-% \bibitem{stephani}
-% Philipp Stephani,
-% \textit{Re: spacing after \cs{right}\texttt) and before \cs{left}\texttt)},
-% newsgroup comp.text.tex,
-% Message-ID: \texttt{\small 4c8c8c1e\$0\$6981\$9b4e6d93@newsspool4.arcor-online.net},
-% 2010-09-12.
-% \newblock
-% {\small\url{https://groups.google.com/group/comp.text.tex/msg/87ac1f61321de3ef}}
-%
-% \bibitem{oberdiek}
-% Heiko Oberdiek,
-% \textit{Re: spacing after \cs{right}\texttt) and before \cs{left}\texttt)},
-% newsgroup comp.text.tex,
-% Message-ID: \texttt{\small i6jcc2\$8of\$1@news.eternal-september.org},
-% 2010-09-12.
-% \newblock
-% {\small\url{https://groups.google.com/group/comp.text.tex/msg/257aa6119bef878b}}
-%
-% \end{thebibliography}
-%
-% \begin{History}
-% \begin{Version}{2010/09/25 v1.0}
-% \item
-% The first version.
-% \end{Version}
-% \begin{Version}{2016/05/16 v1.1}
-% \item
-% Documentation updates.
-% \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput
diff --git a/macros/latex/contrib/oberdiek/mleftright.pdf b/macros/latex/contrib/oberdiek/mleftright.pdf
deleted file mode 100644
index 342e977b20..0000000000
--- a/macros/latex/contrib/oberdiek/mleftright.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
new file mode 100644
index 0000000000..8699846e18
--- /dev/null
+++ b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
@@ -0,0 +1,497 @@
+@manual{oberdiek:accsupp,
+ title={The accsupp package},
+ author={Heiko Oberdiek},
+ date={2018-03-28},
+ version={0.5},
+ url={https://ctan.org/pkg/accsupp},
+}
+@manual{oberdiek:aliascnt,
+ title={The aliascnt package},
+ author={Heiko Oberdiek},
+ date={2018-09-07},
+ version={1.5},
+ url={https://ctan.org/pkg/aliascnt},
+}
+@manual{oberdiek:alphalph,
+ title={The alphalph package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={2.5},
+ url={https://ctan.org/pkg/alphalph},
+}
+@manual{oberdiek:askinclude,
+ title={The askinclude package},
+ author={Pablo A. Straub and Heiko Oberdiek},
+ date={2018-11-01},
+ version={2.4},
+ url={https://ctan.org/pkg/askinclude},
+}
+@manual{oberdiek:atbegshi,
+ title={The atbegshi package},
+ author={Heiko Oberdiek},
+ date={2016-06-09},
+ version={1.18},
+ url={https://ctan.org/pkg/atbegshi},
+}
+@manual{oberdiek:atenddvi,
+ title={The atenddvi package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.2},
+ url={https://ctan.org/pkg/atenddvi},
+}
+@manual{oberdiek:atveryend,
+ title={The atveryend package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.9},
+ url={https://ctan.org/pkg/atveryend},
+}
+@manual{oberdiek:auxhook,
+ title={The auxhook package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/auxhook},
+}
+@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:bitset,
+ title={The bitset package},
+ author={Heiko Oberdiek},
+ date={2016/05/16},
+ version={1.2},
+ url={https://ctan.org/pkg/bitset},
+}
+@manual{oberdiek:bmpsize,
+ title={The bmpsize package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.7},
+ url={https://ctan.org/pkg/bmpsize},
+}
+@manual{oberdiek:catchfile,
+ title={The catchfile package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.7},
+ url={https://ctan.org/pkg/catchfile},
+}
+@manual{oberdiek:centernot,
+ title={The centernot package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/centernot},
+}
+@manual{oberdiek:chemarr,
+ title={The chemarr package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/chemarr},
+}
+@manual{oberdiek:classlist,
+ title={The classlist package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.5},
+ url={https://ctan.org/pkg/classlist},
+}
+@manual{oberdiek:colonequals,
+ title={The colonequals package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/colonequals},
+}
+@manual{oberdiek:dvipscol,
+ title={The dvipscol package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/dvipscol},
+}
+@manual{oberdiek:engord,
+ title={The engord package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.9},
+ url={https://ctan.org/pkg/engord},
+}
+@manual{oberdiek:enparen,
+ title={The enparen package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/enparen},
+}
+@manual{oberdiek:eolgrab,
+ title={The eolgrab package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/eolgrab},
+}
+@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},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/fibnum},
+}
+@manual{oberdiek:flags,
+ title={The flags package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={0.5},
+ url={https://ctan.org/pkg/flags},
+}
+@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:hologo,
+ title={The hologo package},
+ author={Heiko Oberdiek},
+ date={2017-05-01},
+ version={1.13},
+ url={https://ctan.org/pkg/hologo},
+}
+@manual{oberdiek:holtxdoc,
+ title={The holtxdoc package},
+ author={Heiko Oberdiek},
+ date={2019-11-12},
+ version={0.29},
+ url={https://ctan.org/pkg/holtxdoc},
+}
+@manual{oberdiek:hopatch,
+ title={The hopatch package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/hopatch},
+}
+@manual{oberdiek: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},
+ date={2016-05-16},
+ version={2.5},
+ url={https://ctan.org/pkg/hypbmsec},
+}
+@manual{oberdiek:hypcap,
+ title={The hypcap package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.12},
+ url={https://ctan.org/pkg/hypcap},
+}
+@manual{oberdiek:hypdestopt,
+ title={The hypdestopt package},
+ author={Heiko Oberdiek},
+ date={2016-05-21},
+ version={2.5},
+ url={https://ctan.org/pkg/hypdestopt},
+}
+@manual{oberdiek:hypdoc,
+ title={The hypdoc package},
+ author={Heiko Oberdiek},
+ date={2018-09-07},
+ version={1.14},
+ url={https://ctan.org/pkg/hypdoc},
+}
+@manual{oberdiek:hypgotoe,
+ title={The hypgotoe package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={0.2},
+ url={https://ctan.org/pkg/hypgotoe},
+}
+@manual{oberdiek:hyphsubst,
+ title={The hyphsubst package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={0.3},
+ url={https://ctan.org/pkg/hyphsubst},
+}
+@manual{oberdiek:ifdraft,
+ title={The ifdraft package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/ifdraft},
+}
+@manual{oberdiek:iflang,
+ title={The iflang package},
+ author={Heiko Oberdiek},
+ date={2018-01-21},
+ version={1.7},
+ url={https://ctan.org/pkg/iflang},
+}
+@manual{oberdiek:intcalc,
+ title={The intcalc package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.2},
+ url={https://ctan.org/pkg/intcalc},
+}
+@manual{oberdiek:kvdefinekeys,
+ title={The kvdefinekeys package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/kvdefinekeys},
+}
+@manual{oberdiek:kvsetkeys,
+ title={The kvsetkeys package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.17},
+ url={https://ctan.org/pkg/kvsetkeys},
+}
+@manual{oberdiek:listingsutf8,
+ title={The listingsutf8 package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/listingsutf8},
+}
+@manual{oberdiek:ltxcmds,
+ title={The ltxcmds package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.23},
+ url={https://ctan.org/pkg/ltxcmds},
+}
+@manual{oberdiek:pagegrid,
+ title={The pagegrid package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.5},
+ url={https://ctan.org/pkg/pagegrid},
+}
+@manual{oberdiek:pagesel,
+ title={The pagesel package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.9},
+ url={https://ctan.org/pkg/pagesel},
+}
+@manual{oberdiek:pdfcol,
+ title={The pdfcol package},
+ author={Heiko Oberdiek},
+ date={2018-11-01},
+ version={1.5},
+ url={https://ctan.org/pkg/pdfcol},
+}
+@manual{oberdiek:pdfcolfoot,
+ title={The pdfcolfoot package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/pdfcolfoot},
+}
+@manual{oberdiek:pdfcolparallel,
+ title={The pdfcolparallel package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/pdfcolparallel},
+}
+@manual{oberdiek:pdfcolparcolumns,
+ title={The pdfcolparcolumns package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/pdfcolparcolumns},
+}
+@manual{oberdiek:pdfcrypt,
+ title={The pdfcrypt package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/pdfcrypt},
+}
+@manual{oberdiek:pdfescape,
+ title={The pdfescape package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.14},
+ url={https://ctan.org/pkg/pdfescape},
+}
+@manual{oberdiek:pdflscape,
+ title={The pdflscape package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={0.11},
+ url={https://ctan.org/pkg/pdflscape},
+}
+@manual{oberdiek:pdfrender,
+ title={The pdfrender package},
+ author={Heiko Oberdiek},
+ date={2018-11-01},
+ version={1.5},
+ url={https://ctan.org/pkg/pdfrender},
+}
+@manual{oberdiek:picture,
+ title={The picture package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/picture},
+}
+@manual{oberdiek:pmboxdraw,
+ title={The pmboxdraw package},
+ author={Heiko Oberdiek},
+ date={2019-02-28},
+ version={1.3},
+ url={https://ctan.org/pkg/pmboxdraw},
+}
+@manual{oberdiek:protecteddef,
+ title={The protecteddef package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/protecteddef},
+}
+@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:rerunfilecheck,
+ title={The rerunfilecheck package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.8},
+ url={https://ctan.org/pkg/rerunfilecheck},
+}
+@manual{oberdiek:resizegather,
+ title={The resizegather package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/resizegather},
+}
+@manual{oberdiek:rotchiffre,
+ title={The rotchiffre package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/rotchiffre},
+}
+@manual{oberdiek:scrindex,
+ title={The scrindex package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/scrindex},
+}
+@manual{oberdiek:selinput,
+ title={The selinput package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/selinput},
+}
+@manual{oberdiek:setouterhbox,
+ title={The setouterhbox package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.8},
+ url={https://ctan.org/pkg/setouterhbox},
+}
+@manual{oberdiek:settobox,
+ title={The settobox package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.5},
+ url={https://ctan.org/pkg/settobox},
+}
+@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},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/stackrel},
+}
+@manual{oberdiek:stampinclude,
+ title={The stampinclude package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/stampinclude},
+}
+@manual{oberdiek:tabularht,
+ title={The tabularht package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={2.6},
+ url={https://ctan.org/pkg/tabularht},
+}
+@manual{oberdiek:tabularkv,
+ title={The tabularkv package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.2},
+ url={https://ctan.org/pkg/tabularkv},
+}
+@manual{oberdiek:telprint,
+ title={The telprint package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.11},
+ url={https://ctan.org/pkg/telprint},
+}
+@manual{oberdiek:thepdfnumber,
+ title={The thepdfnumber package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/thepdfnumber},
+}
+@manual{oberdiek:twoopt,
+ title={The twoopt package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.6},
+ url={https://ctan.org/pkg/twoopt},
+}
+@manual{oberdiek:uniquecounter,
+ title={The uniquecounter package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/uniquecounter},
+}
diff --git a/macros/latex/contrib/oberdiek/oberdiek-source.bib b/macros/latex/contrib/oberdiek/oberdiek-source.bib
new file mode 100644
index 0000000000..36f546aa53
--- /dev/null
+++ b/macros/latex/contrib/oberdiek/oberdiek-source.bib
@@ -0,0 +1,27 @@
+@book{pdfspec-iso32000-1,
+ author={{Adobe Systems Incorporated}},
+ 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},
+ urldate={2011-11-25},
+}
+@manual{pdftex-manual,
+ sortname={Han, The Thanh},
+ author={{\hologo{HanTheThanh}} and Rahtz, Sebastian and Henkel, Hartmut
+ and Jackowski, Pawe{\l} and Schr{\"o}der, Martin},
+ title={The {\hologo{pdfTeX}} user manual},
+ version={655 (1.40.11)},
+ date={2010-11-23},
+ url={http://mirror.ctan.org/systems/pdftex/manual/pdftex-a.pdf},
+ urldate={2011-11-29},
+}
+@manual{luatex-manual,
+ sortname={LuaTeX, development team},
+ author={{\hologo{LuaTeX}} development team},
+ title={{\hologo{LuaTeX}} Reference},
+ version={beta 0.71.0},
+ date={2011-10-11},
+ url={http://www.luatex.org/svn/trunk/manual/luatex.pdf},
+ urldate={2011-11-29},
+}
diff --git a/macros/latex/contrib/oberdiek/oberdiek.ins b/macros/latex/contrib/oberdiek/oberdiek.ins
new file mode 100644
index 0000000000..d977aee442
--- /dev/null
+++ b/macros/latex/contrib/oberdiek/oberdiek.ins
@@ -0,0 +1,109 @@
+% oberdiek.ins
+% 2019/12/03
+%
+% Copyright (C)
+% 1999, 2001, 2006 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.3 of this license or (at your option) any later
+% version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2003/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 overview "oberdiek.pdf", its source
+% "oberdiek.tex", and the installation script "oberdiek.ins"
+% for the projects in CTAN:macros/latex/contrib/oberdiek/.
+%
+\input docstrip
+
+\batchinput{accsupp.dtx}
+\batchinput{aliascnt.dtx}
+\batchinput{alphalph.dtx}
+\batchinput{askinclude.dtx}
+\batchinput{atbegshi.dtx}
+\batchinput{atenddvi.dtx}
+\batchinput{atveryend.dtx}
+\batchinput{auxhook.dtx}
+\batchinput{bigintcalc.dtx}
+\batchinput{bitset.dtx}
+\batchinput{bmpsize.dtx}
+\batchinput{catchfile.dtx}
+\batchinput{centernot.dtx}
+\batchinput{chemarr.dtx}
+\batchinput{classlist.dtx}
+\batchinput{colonequals.dtx}
+\batchinput{dvipscol.dtx}
+\batchinput{engord.dtx}
+\batchinput{enparen.dtx}
+\batchinput{eolgrab.dtx}
+\batchinput{etexcmds.dtx}
+\batchinput{fibnum.dtx}
+\batchinput{flags.dtx}
+\batchinput{gettitlestring.dtx}
+\batchinput{hologo.dtx}
+\batchinput{holtxdoc.dtx}
+\batchinput{hopatch.dtx}
+\batchinput{hycolor.dtx}
+\batchinput{hypbmsec.dtx}
+\batchinput{hypcap.dtx}
+\batchinput{hypdestopt.dtx}
+\batchinput{hypdoc.dtx}
+\batchinput{hypgotoe.dtx}
+\batchinput{hyphsubst.dtx}
+\batchinput{ifdraft.dtx}
+\batchinput{iflang.dtx}
+\batchinput{intcalc.dtx}
+\batchinput{kvdefinekeys.dtx}
+\batchinput{kvsetkeys.dtx}
+\batchinput{listingsutf8.dtx}
+\batchinput{ltxcmds.dtx}
+\batchinput{pagegrid.dtx}
+\batchinput{pagesel.dtx}
+\batchinput{pdfcol.dtx}
+\batchinput{pdfcolfoot.dtx}
+\batchinput{pdfcolparallel.dtx}
+\batchinput{pdfcolparcolumns.dtx}
+\batchinput{pdfcrypt.dtx}
+\batchinput{pdfescape.dtx}
+\batchinput{pdflscape.dtx}
+\batchinput{pdfrender.dtx}
+\batchinput{picture.dtx}
+\batchinput{pmboxdraw.dtx}
+\batchinput{protecteddef.dtx}
+\batchinput{refcount.dtx}
+\batchinput{rerunfilecheck.dtx}
+\batchinput{resizegather.dtx}
+\batchinput{rotchiffre.dtx}
+\batchinput{scrindex.dtx}
+\batchinput{selinput.dtx}
+\batchinput{setouterhbox.dtx}
+\batchinput{settobox.dtx}
+\batchinput{soulutf8.dtx}
+\batchinput{stackrel.dtx}
+\batchinput{stampinclude.dtx}
+\batchinput{tabularht.dtx}
+\batchinput{tabularkv.dtx}
+\batchinput{telprint.dtx}
+\batchinput{thepdfnumber.dtx}
+\batchinput{twoopt.dtx}
+\batchinput{uniquecounter.dtx}
+
+\Msg{}
+\Msg{********************************************************}
+\Msg{*}
+\Msg{* Unpacking completed, now finish the installation.}
+\Msg{*}
+\Msg{********************************************************}
+\Msg{}
+
+\endbatchfile
diff --git a/macros/latex/contrib/oberdiek/oberdiek.pdf b/macros/latex/contrib/oberdiek/oberdiek.pdf
index 3810bd512d..c1b1fcd067 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.pdf
+++ b/macros/latex/contrib/oberdiek/oberdiek.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/oberdiek.tex b/macros/latex/contrib/oberdiek/oberdiek.tex
index aa80f29afb..4de3c5bbee 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.tex
+++ b/macros/latex/contrib/oberdiek/oberdiek.tex
@@ -3,6 +3,9 @@
\newcommand*{\Title}{Overview}
\newcommand*{\CTANdir}{macros/latex/contrib/oberdiek/}
\newcommand*{\CTANroot}{http://mirror.ctan.org/}
+\newcommand*{\CTANpkg}[1]{%
+ \href{http://ctan.org/pkg/#1}{[ctan]}%
+}
\newcommand*{\Subject}{CTAN:\CTANdir}
\newcommand*{\Author}{Heiko Oberdiek}
@@ -34,9 +37,7 @@
\usepackage{iftex}
\ifluatex
- \usepackage{fontspec}[2011/09/18]%
\usepackage{unicode-math}[2011/09/19]%
- \setmathfont{latinmodern-math.otf}%
\fi
\usepackage[
@@ -140,24 +141,20 @@
\newenvironment{overview}{%
\setlength{\tabcolsep}{0.8\tabcolsep}%
\setlength{\LTleft}{0pt}%
- \longtable{@{}llll@{}}
+ \longtable{@{}lll@{}}
}{%
\endlongtable
}
-\newcommand*{\entry}[4]{%
+\newcommand*{\entry}[2]{%
\href{file:#1.pdf}{%
\bfseries\xpackage{#1}%
}%
- & #2%
- & v#3%
- & \href{\CTANroot\CTANdir #1.pdf}{[pdf]} %
- \href{\CTANroot\CTANdir #1.dtx}{[dtx]}
+ &
+ #2%
+ & \CTANpkg{#1} %
\\*%
\hyperref[{#1}]{\small (contents)}%
&
- \multicolumn{2}{l}{%
- #4%
- }%
\\%
}
\newcommand*{\entrysep}{1.5ex}
@@ -177,165 +174,147 @@
\section{Overview}
\begin{overview}
-\entry{accsupp}{2010/01/16}{0.3}{Accessibility support by marked content}%
-[\entrysep]
-\entry{aliascnt}{2009/09/08}{1.3}{Alias counters}%
-[\entrysep]
-\entry{alphalph}{2011/05/13}{2.4}{Convert numbers to letters}%
-[\entrysep]
-\entry{askinclude}{2011/12/02}{2.2}{Interactive asking of included files}%
-[\entrysep]
-\entry{atbegshi}{2011/10/05}{1.16}{At begin shipout hook}%
-[\entrysep]
-\entry{atenddvi}{2007/04/17}{1.1}{At end DVI hook}%
-[\entrysep]
-\entry{atveryend}{2011/06/30}{1.8}{Hooks at the very end of document}%
+\entry{accsupp}{Accessibility support by marked content}%
[\entrysep]
-\entry{auxhook}{2011/03/04}{1.3}{Hooks for auxiliary files}%
+\entry{aliascnt}{Alias counters}%
[\entrysep]
-\entry{bigintcalc}{2012/04/08}{1.3}{Expandable calculations on big integers}%
+\entry{alphalph}{Convert numbers to letters}%
[\entrysep]
-\entry{bitset}{2011/01/30}{1.1}{Handle bit-vector datatype}%
+\entry{askinclude}{Interactive asking of included files}%
[\entrysep]
-\entry{bmpsize}{2009/09/04}{1.6}{Extract size/resolution from bitmap files}%
+\entry{atbegshi}{At begin shipout hook}%
[\entrysep]
-\entry{bookmark}{2011/12/02}{1.24}{PDF bookmarks}%
+\entry{atenddvi}{At end DVI hook}%
[\entrysep]
-\entry{catchfile}{2011/03/01}{1.6}{Catch the contents of a file}%
+\entry{atveryend}{Hooks at the very end of document}%
[\entrysep]
-\entry{centernot}{2011/07/11}{1.3}{Centers the not symbol horizontally}%
+\entry{auxhook}{Hooks for auxiliary files}%
[\entrysep]
-\entry{chemarr}{2006/02/20}{1.2}{Arrows for chemical reactions}%
+\entry{bigintcalc}{Expandable calculations on big integers}%
[\entrysep]
-\entry{classlist}{2011/10/17}{1.4}{Record classes used in a document}%
+\entry{bitset}{Handle bit-vector datatype}%
[\entrysep]
-\entry{colonequals}{2006/08/01}{1.0}{Colon equals symbols}%
+\entry{bmpsize}{Extract size/resolution from bitmap files}%
[\entrysep]
-\entry{dvipscol}{2008/08/11}{1.2}{Alter the usage of the dvips color stack}%
+\entry{catchfile}{Catch the contents of a file}%
[\entrysep]
-\entry{embedfile}{2011/04/13}{2.6}{Embed files into PDF}%
+\entry{centernot}{Centers the not symbol horizontally}%
[\entrysep]
-\entry{engord}{2010/03/01}{1.8}{Provides English ordinal numbers}%
+\entry{chemarr}{Arrows for chemical reactions}%
[\entrysep]
-\entry{enparen}{2012/01/07}{1.0}{Parentheses nesting}%
+\entry{classlist}{Record classes used in a document}%
[\entrysep]
-\entry{eolgrab}{2011/01/12}{1.0}{Catch arguments delimited by end of line}%
+\entry{colonequals}{Colon equals symbols}%
[\entrysep]
-\entry{etexcmds}{2011/02/16}{1.5}{Avoid name clashes with \hologo{eTeX} commands}%
+\entry{dvipscol}{Alter the usage of the dvips color stack}%
[\entrysep]
-\entry{fibnum}{2012/04/08}{1.0}{Fibonacci numbers}%
+\entry{engord}{Provides English ordinal numbers}%
[\entrysep]
-\entry{flags}{2007/09/30}{0.4}{Setting/clearing of flags in bit fields}%
+\entry{enparen}{Parentheses nesting}%
[\entrysep]
-\entry{gettitlestring}{2010/12/03}{1.4}{Cleanup title references}%
+\entry{eolgrab}{Catch arguments delimited by end of line}%
[\entrysep]
-\entry{grfext}{2010/08/19}{1.1}{Manage graphics extensions}%
+\entry{etexcmds}{Avoid name clashes with \hologo{eTeX} commands}%
[\entrysep]
-\entry{hologo}{2012/04/26}{1.10}{A logo collection with bookmark support}%
+\entry{fibnum}{Fibonacci numbers}%
[\entrysep]
-\entry{holtxdoc}{2012/03/21}{0.24}{Private additional ltxdoc support}%
+\entry{flags}{Setting/clearing of flags in bit fields}%
[\entrysep]
-\entry{hopatch}{2011/06/24}{1.1}{Wrapper for package hooks}%
+\entry{gettitlestring}{Cleanup title references}%
[\entrysep]
-\entry{hycolor}{2011/01/30}{1.7}{Color options for hyperref/bookmark}%
+\entry{hologo}{A logo collection with bookmark support}%
[\entrysep]
-\entry{hypbmsec}{2007/04/11}{2.4}{Bookmarks in sectioning commands}%
+\entry{holtxdoc}{Private additional ltxdoc support}%
[\entrysep]
-\entry{hypcap}{2011/02/16}{1.11}{Adjusting the anchors of captions}%
+\entry{hopatch}{Wrapper for package hooks}%
[\entrysep]
-\entry{hypdestopt}{2011/05/13}{2.3}{Hyperref destination optimizer}%
+\entry{hycolor}{Color options for hyperref/bookmark}%
[\entrysep]
-\entry{hypdoc}{2011/08/19}{1.11}{Hyper extensions for doc.sty}%
+\entry{hypbmsec}{Bookmarks in sectioning commands}%
[\entrysep]
-\entry{hypgotoe}{2007/10/30}{0.1}{Links to embedded files}%
+\entry{hypcap}{Adjusting the anchors of captions}%
[\entrysep]
-\entry{hyphsubst}{2008/06/09}{0.2}{Substitute hyphenation patterns}%
+\entry{hypdestopt}{Hyperref destination optimizer}%
[\entrysep]
-\entry{ifdraft}{2008/08/11}{1.3}{Detect class options draft and final}%
+\entry{hypdoc}{Hyper extensions for doc.sty}%
[\entrysep]
-\entry{iflang}{2007/11/11}{1.5}{Checks for the current language}%
+\entry{hypgotoe}{Links to embedded files}%
[\entrysep]
-% iftex distribution \entry{ifluatex}{2010/03/01}{1.3}{Provides the ifluatex switch}%
-% iftex distribution [\entrysep]
-% iftex distribution \entry{ifpdf}{2011/01/30}{2.3}{Provides the ifpdf switch}%
-% iftex distribution [\entrysep]
-% iftex distribution \entry{ifvtex}{2010/03/01}{1.5}{Detect \hologo{VTeX} and its facilities}%
-% iftex distribution [\entrysep]
-\entry{infwarerr}{2010/04/08}{1.3}{Providing info/warning/error messages}%
+\entry{hyphsubst}{Substitute hyphenation patterns}%
[\entrysep]
-\entry{intcalc}{2007/09/27}{1.1}{Expandable calculations with integers}%
+\entry{ifdraft}{Detect class options draft and final}%
[\entrysep]
-\entry{kvdefinekeys}{2011/04/07}{1.3}{Define keys}%
+\entry{iflang}{Checks for the current language}%
[\entrysep]
-\entry{kvsetkeys}{2012/04/25}{1.16}{Key value parser}%
+\entry{intcalc}{Expandable calculations with integers}%
[\entrysep]
-\entry{letltxmacro}{2010/09/02}{1.4}{Let assignment for \hologo{LaTeX} macros}%
+\entry{kvdefinekeys}{Define keys}%
[\entrysep]
-\entry{listingsutf8}{2011/11/10}{1.2}{Allow UTF-8 in listings input}%
+\entry{kvsetkeys}{Key value parser}%
[\entrysep]
-\entry{ltxcmds}{2011/11/09}{1.22}{\hologo{LaTeX} kernel commands for general use}%
+\entry{listingsutf8}{Allow UTF-8 in listings input}%
[\entrysep]
-\entry{mleftright}{2010/09/25}{1.0}{Math left/right delim.\@ as open/close}%
+\entry{ltxcmds}{\hologo{LaTeX} kernel commands for general use}%
[\entrysep]
-\entry{pagegrid}{2009/12/04}{1.4}{Print page grid in background}%
+\entry{pagegrid}{Print page grid in background}%
[\entrysep]
-\entry{pagesel}{2008/08/11}{1.8}{Select pages of a document for output}%
+\entry{pagesel}{Select pages of a document for output}%
[\entrysep]
-\entry{pdfcol}{2007/12/12}{1.2}{Handle new color stacks for \hologo{pdfTeX}}%
+\entry{pdfcol}{Handle new color stacks for \hologo{pdfTeX}}%
[\entrysep]
-\entry{pdfcolfoot}{2012/01/02}{1.2}{Color stack for footnotes with \hologo{pdfTeX}}%
+\entry{pdfcolfoot}{Color stack for footnotes with \hologo{pdfTeX}}%
[\entrysep]
-\entry{pdfcolparallel}{2010/01/11}{1.3}{Color stacks support for parallel}%
+\entry{pdfcolparallel}{Color stacks support for parallel}%
[\entrysep]
-\entry{pdfcolparcolumns}{2010/01/11}{1.3}{Color stacks for parcolumns}%
+\entry{pdfcolparcolumns}{Color stacks for parcolumns}%
[\entrysep]
-\entry{pdfcrypt}{2007/04/26}{1.0}{Allows the setting of PDF encryption}%
+\entry{pdfcrypt}{Allows the setting of PDF encryption}%
[\entrysep]
-\entry{pdfescape}{2011/11/25}{1.13}{Implements \hologo{pdfTeX}'s escape features}%
+\entry{pdfescape}{Implements \hologo{pdfTeX}'s escape features}%
[\entrysep]
-\entry{pdflscape}{2008/08/11}{0.10}{Display of landscape pages in PDF}%
+\entry{pdflscape}{Display of landscape pages in PDF}%
[\entrysep]
-\entry{pdfrender}{2010/01/28}{1.2}{Access to some PDF graphics parameters}%
+\entry{pdfrender}{Access to some PDF graphics parameters}%
[\entrysep]
-\entry{picture}{2009/10/11}{1.3}{Dimens for picture macros}%
+\entry{picture}{Dimens for picture macros}%
[\entrysep]
-\entry{pmboxdraw}{2011/03/24}{1.1}{Poor man's box drawing characters}%
+\entry{pmboxdraw}{Poor man's box drawing characters}%
[\entrysep]
-\entry{protecteddef}{2011/01/31}{1.0}{Define protected commands}%
+\entry{protecteddef}{Define protected commands}%
[\entrysep]
-\entry{refcount}{2011/10/16}{3.4}{Data extraction from label references}%
+\entry{refcount}{Data extraction from label references}%
[\entrysep]
-\entry{rerunfilecheck}{2011/04/15}{1.7}{Rerun checks for auxiliary files}%
+\entry{rerunfilecheck}{Rerun checks for auxiliary files}%
[\entrysep]
-\entry{resizegather}{2010/03/01}{1.2}{Resize overly large equations}%
+\entry{resizegather}{Resize overly large equations}%
[\entrysep]
-\entry{rotchiffre}{2010/11/12}{1.0}{Perform simple rotation ciphers}%
+\entry{rotchiffre}{Perform simple rotation ciphers}%
[\entrysep]
-\entry{scrindex}{2008/08/11}{1.1}{Package index with \hologo{KOMAScript} classes}%
+\entry{scrindex}{Package index with \hologo{KOMAScript} classes}%
[\entrysep]
-\entry{selinput}{2007/09/09}{1.2}{Semi-automatic input encoding detection}%
+\entry{selinput}{Semi-automatic input encoding detection}%
[\entrysep]
-\entry{setouterhbox}{2007/09/09}{1.7}{Set hbox in outer horizontal mode}%
+\entry{setouterhbox}{Set hbox in outer horizontal mode}%
[\entrysep]
-\entry{settobox}{2008/08/11}{1.4}{Assign box dimensions to length registers}%
+\entry{settobox}{Assign box dimensions to length registers}%
[\entrysep]
-\entry{soulutf8}{2007/09/09}{1.0}{Permit use of UTF-8 characters in soul}%
+\entry{soulutf8}{Permit use of UTF-8 characters in soul}%
[\entrysep]
-\entry{stackrel}{2007/11/11}{1.2}{Adding subscript option to stackrel}%
+\entry{stackrel}{Adding subscript option to stackrel}%
[\entrysep]
-\entry{stampinclude}{2008/07/14}{1.0}{Include files based on time stamps}%
+\entry{stampinclude}{Include files based on time stamps}%
[\entrysep]
-\entry{tabularht}{2007/04/11}{2.5}{Tabular with height specified}%
+\entry{tabularht}{Tabular with height specified}%
[\entrysep]
-\entry{tabularkv}{2006/02/20}{1.1}{Tabular with key value interface}%
+\entry{tabularkv}{Tabular with key value interface}%
[\entrysep]
-\entry{telprint}{2008/08/11}{1.10}{Format German phone numbers}%
+\entry{telprint}{Format German phone numbers}%
[\entrysep]
-\entry{thepdfnumber}{2011/11/24}{1.0}{Print PDF numbers with minimal digits}%
+\entry{thepdfnumber}{Print PDF numbers with minimal digits}%
[\entrysep]
-\entry{twoopt}{2008/08/11}{1.5}{Definitions with two optional arguments}%
+\entry{twoopt}{Definitions with two optional arguments}%
[\entrysep]
-\entry{uniquecounter}{2011/01/30}{1.2}{Provide unlimited unique counter}%
+\entry{uniquecounter}{Provide unlimited unique counter}%
\end{overview}
\section{Packages}
@@ -457,19 +436,6 @@ options \xoption{viewport}, \xoption{trim} and \xoption{clip}.
\tocinclude{bmpsize}
\newpage
-\subsection{\pkgsectformat{bookmark}}
-\label{bookmark}
-\begin{abstract}
-This package implements a new bookmark (outline) organization for
-package \xpackage{hyperref}. Bookmark properties such
-as style and color can now be set. Other action types
-are available (URI, GoToR, Named). The bookmarks are
-generated in the first compile run. Package \xpackage{hyperref}
-uses two runs.
-\end{abstract}
-\tocinclude{bookmark}
-
-\newpage
\subsection{\pkgsectformat{catchfile}}
\label{catchfile}
\begin{abstract}
@@ -530,14 +496,6 @@ uses of the stack to avoid the error ``out of coor stack space''.
\end{abstract}
\tocinclude{dvipscol}
-\newpage
-\subsection{\pkgsectformat{embedfile}}
-\label{embedfile}
-\begin{abstract}
-This package embeds files to a PDF document.
-Currently the only supported driver is \pdfTeX\ $>=$ 1.30 in PDF mode.
-\end{abstract}
-\tocinclude{embedfile}
\newpage
\subsection{\pkgsectformat{engord}}
@@ -608,16 +566,6 @@ commands from title strings.
\tocinclude{gettitlestring}
\newpage
-\subsection{\pkgsectformat{grfext}}
-\label{grfext}
-\begin{abstract}
-This package provides macros for adding and reordering
-graphics extensions of package \xpackage{graphics}.
-\end{abstract}
-\tocinclude{grfext}
-
-
-\newpage
\subsection{\pkgsectformat{hologo}}
\label{hologo}
\begin{abstract}
@@ -742,15 +690,6 @@ based on macro \cs{languagename} or hyphenation patterns.
\tocinclude{iflang}
\newpage
-\subsection{\pkgsectformat{infwarerr}}
-\label{infwarerr}
-\begin{abstract}
-This package provides a complete set of macros for informations,
-warnings and error messages with support for \plainTeX.
-\end{abstract}
-\tocinclude{infwarerr}
-
-\newpage
\subsection{\pkgsectformat{intcalc}}
\label{intcalc}
\begin{abstract}
@@ -782,18 +721,6 @@ only one level of curly braces is removed from the values.
\tocinclude{kvsetkeys}
\newpage
-\subsection{\pkgsectformat{letltxmacro}}
-\label{letltxmacro}
-\begin{abstract}
-\TeX's \cs{let} assignment does not work for \LaTeX\ macros
-with optional arguments or for macros that are defined
-as robust macros by \cs{DeclareRobustCommand}. This package
-defines \cs{LetLtxMacro} that also takes care of the involved
-internal macros.
-\end{abstract}
-\tocinclude{letltxmacro}
-
-\newpage
\subsection{\pkgsectformat{listingsutf8}}
\label{listingsutf8}
\begin{abstract}
@@ -816,18 +743,6 @@ also provides them for other formats such as plain-\TeX.
\tocinclude{ltxcmds}
\newpage
-\subsection{\pkgsectformat{mleftright}}
-\label{mleftright}
-\begin{abstract}
-\TeX\ sets subformulas by \cs{left} and \cs{right} as inner formulas
-with additional surrounding spaces in some situations. This package
-provides \cs{mleft} and \cs{mright} that call \cs{left} and \cs{right},
-but the delimiters will act as normal \cs{mathopen} and \cs{mathclose}
-delimiters without the additional space of an inner formula.
-\end{abstract}
-\tocinclude{mleftright}
-
-\newpage
\subsection{\pkgsectformat{pagegrid}}
\label{pagegrid}
\begin{abstract}
diff --git a/macros/latex/contrib/oberdiek/pagegrid.dtx b/macros/latex/contrib/oberdiek/pagegrid.dtx
index bfd57d7ba7..60c0794247 100644
--- a/macros/latex/contrib/oberdiek/pagegrid.dtx
+++ b/macros/latex/contrib/oberdiek/pagegrid.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pagegrid.sty
% TDS:doc/latex/oberdiek/pagegrid.pdf
-% TDS:doc/latex/oberdiek/test/pagegrid-test1.tex
% TDS:source/latex/oberdiek/pagegrid.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{pagegrid.sty}{\from{pagegrid.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pagegrid-test1.tex}{\from{pagegrid.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pagegrid.xml}{\from{pagegrid.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pagegrid.drv}
%
@@ -772,118 +752,7 @@ and the derived files
\pagegrid@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pagegrid.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -932,7 +801,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pagegrid.sty & tex/latex/oberdiek/pagegrid.sty\\
% pagegrid.pdf & doc/latex/oberdiek/pagegrid.pdf\\
-% test/pagegrid-test1.tex & doc/latex/oberdiek/test/pagegrid-test1.tex\\
% pagegrid.dtx & source/latex/oberdiek/pagegrid.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pagegrid.pdf b/macros/latex/contrib/oberdiek/pagegrid.pdf
index 976d9ae56d..c39dc8c8fe 100644
--- a/macros/latex/contrib/oberdiek/pagegrid.pdf
+++ b/macros/latex/contrib/oberdiek/pagegrid.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pagesel.dtx b/macros/latex/contrib/oberdiek/pagesel.dtx
index d0bddbefde..b674f803d4 100644
--- a/macros/latex/contrib/oberdiek/pagesel.dtx
+++ b/macros/latex/contrib/oberdiek/pagesel.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{pagesel.drv}{\from{pagesel.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{pagesel.sty}{\from{pagesel.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pagesel.xml}{\from{pagesel.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pagesel.drv}
%
diff --git a/macros/latex/contrib/oberdiek/pagesel.pdf b/macros/latex/contrib/oberdiek/pagesel.pdf
index 6e14e5ceb6..8d67402b44 100644
--- a/macros/latex/contrib/oberdiek/pagesel.pdf
+++ b/macros/latex/contrib/oberdiek/pagesel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcol.dtx b/macros/latex/contrib/oberdiek/pdfcol.dtx
index e9a5cd552e..c86a2e6720 100644
--- a/macros/latex/contrib/oberdiek/pdfcol.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcol.dtx
@@ -66,10 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/pdfcol.sty
% TDS:doc/latex/oberdiek/pdfcol.pdf
-% TDS:doc/latex/oberdiek/test/pdfcol-test1.tex
-% TDS:doc/latex/oberdiek/test/pdfcol-test2.tex
-% TDS:doc/latex/oberdiek/test/pdfcol-test3.tex
-% TDS:doc/latex/oberdiek/test/pdfcol-test4.tex
% TDS:source/latex/oberdiek/pdfcol.dtx
%
%<*ignore>
@@ -143,10 +139,6 @@ and the derived files
% \file{pdfcol-test2.tex}{\from{pdfcol.dtx}{test2}}%
% \file{pdfcol-test3.tex}{\from{pdfcol.dtx}{test3}}%
% \file{pdfcol-test4.tex}{\from{pdfcol.dtx}{test4}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcol.xml}{\from{pdfcol.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -183,21 +175,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcol.drv}
%
@@ -766,180 +743,7 @@ and the derived files
\PDFCOL@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pdfcol.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Very simple test}
-%
-% \begin{macrocode}
-%<*test2|test3>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\usepackage{pdfcol}[2018/11/01]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
- \begin{qstest}{pdfcol}{}%
- \makeatletter
-%<*test2>
- \Expect*{\ifpdfcolAvailable true\else false\fi}{false}%
-%</test2>
-%<*test3>
- \Expect*{\ifpdfcolAvailable true\else false\fi}{true}%
- \Expect*{\number\@pdfcolorstack}{0}%
-%</test3>
- \setbox0=\hbox{%
- \pdfcolInitStack{test}%
-%<*test3>
- \Expect*{\number\pdfcol@Stack@test}{1}%
- \Expect*{\number\@pdfcolorstack}{0}%
-%</test3>
- \pdfcolSwitchStack{test}%
-%<*test3>
- \Expect*{\number\@pdfcolorstack}{1}%
-%</test3>
- \pdfcolSetCurrent{test}%
- \pdfcolSetCurrent{}%
- }%
- \Expect*{\the\wd0}{0.0pt}%
-%<*test3>
- \Expect*{\number\@pdfcolorstack}{0}%
- \Expect*{\number\pdfcol@Stack@test}{1}%
- \Expect*{\pdfcolIfStackExists{test}{true}{false}}{true}%
-%</test3>
- \Expect*{\pdfcolIfStackExists{dummy}{true}{false}}{false}%
- \end{qstest}%
-\end{document}
-%</test2|test3>
-% \end{macrocode}
-%
-% \subsection{Detection of package \xpackage{luacolor}}
-%
-% \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{luacolor}
-\usepackage{pdfcol}
-\makeatletter
-\ifpdfcolAvailable
- \@latex@error{Detection of package luacolor failed}%
-\fi
-\csname @@end\endcsname
-%</test4>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -988,10 +792,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfcol.sty & tex/generic/oberdiek/pdfcol.sty\\
% pdfcol.pdf & doc/latex/oberdiek/pdfcol.pdf\\
-% test/pdfcol-test1.tex & doc/latex/oberdiek/test/pdfcol-test1.tex\\
-% test/pdfcol-test2.tex & doc/latex/oberdiek/test/pdfcol-test2.tex\\
-% test/pdfcol-test3.tex & doc/latex/oberdiek/test/pdfcol-test3.tex\\
-% test/pdfcol-test4.tex & doc/latex/oberdiek/test/pdfcol-test4.tex\\
% pdfcol.dtx & source/latex/oberdiek/pdfcol.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pdfcol.pdf b/macros/latex/contrib/oberdiek/pdfcol.pdf
index bdb0447b13..09162628ac 100644
--- a/macros/latex/contrib/oberdiek/pdfcol.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcol.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcolfoot.dtx b/macros/latex/contrib/oberdiek/pdfcolfoot.dtx
index c2b22be98f..04aaf31a3a 100644
--- a/macros/latex/contrib/oberdiek/pdfcolfoot.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolfoot.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pdfcolfoot.sty
% TDS:doc/latex/oberdiek/pdfcolfoot.pdf
-% TDS:doc/latex/oberdiek/test/pdfcolfoot-test1.tex
% TDS:source/latex/oberdiek/pdfcolfoot.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{pdfcolfoot.sty}{\from{pdfcolfoot.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pdfcolfoot-test1.tex}{\from{pdfcolfoot.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcolfoot.xml}{\from{pdfcolfoot.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcolfoot.drv}
%
@@ -502,35 +482,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\NeedsTeXFormat{LaTeX2e}
-\AtEndDocument{%
- \typeout{}%
- \typeout{**************************************}%
- \typeout{*** \space Check the PDF file manually! \space ***}%
- \typeout{**************************************}%
- \typeout{}%
-}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfcompresslevel\endcsname\relax
-\else
- \pdfcompresslevel=0 %
-\fi
-\documentclass[12pt,a5paper]{article}
-\usepackage{pdfcolfoot}[2016/05/16]
-\dimen\footins=\baselineskip % for testing
-\begin{document}
- Black\footnote{Black \textcolor{blue}{Blue\\Blue} Black} %
- \textcolor{red}{Red\newpage Red} Black%
-\end{document}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -579,7 +531,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfcolfoot.sty & tex/latex/oberdiek/pdfcolfoot.sty\\
% pdfcolfoot.pdf & doc/latex/oberdiek/pdfcolfoot.pdf\\
-% test/pdfcolfoot-test1.tex & doc/latex/oberdiek/test/pdfcolfoot-test1.tex\\
% pdfcolfoot.dtx & source/latex/oberdiek/pdfcolfoot.dtx\\
% \end{tabular}^^A
% }^^A
@@ -695,7 +646,7 @@ and the derived files
% \bibitem{pdfcol}
% Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
% 2007/09/09;\\
-% \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+% \CTANpkg{pdfcol}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf
index 122a60577e..df94353acb 100644
--- a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.dtx b/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
index dea067f7e0..bee619d642 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pdfcolparallel.sty
% TDS:doc/latex/oberdiek/pdfcolparallel.pdf
-% TDS:doc/latex/oberdiek/test/pdfcolparallel-test1.tex
% TDS:source/latex/oberdiek/pdfcolparallel.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{pdfcolparallel.sty}{\from{pdfcolparallel.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pdfcolparallel-test1.tex}{\from{pdfcolparallel.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcolparallel.xml}{\from{pdfcolparallel.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcolparallel.drv}
%
@@ -797,105 +777,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% The test file is a modified version of the file that
-% Alexander Hirsch has posted in \xnewsgroup{de.comp.text.tex}:
-% \URL{``\link{\texttt{parallel.sty} und farbiger Text}''}^^A
-% {https://groups.google.com/group/de.comp.text.tex/msg/6a759cf33bb071a5}
-% \begin{macrocode}
-%<*test1>
-\AtEndDocument{%
- \typeout{}%
- \typeout{**************************************}%
- \typeout{*** \space Check the PDF file manually! \space ***}%
- \typeout{**************************************}%
- \typeout{}%
-}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{pdfcolparallel}[2016/05/16]
-
-\begin{document}
- \color{green}%
- Green%
- \begin{Parallel}{0.47\textwidth}{0.47\textwidth}%
- \ParallelLText{%
- \textcolor{red}{%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
- }%
- }%
- \ParallelRText{%
- \textcolor{blue}{%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
- }%
- }%
- \ParallelPar
- \ParallelLText{%
- Default %
- \color{red}%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
- }%
- \ParallelRText{%
- Default %
- \color{blue}%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
- }%
- \ParallelPar
- \ParallelLText{%
- \begin{enumerate}%
- \item left text, left text, left text, left text, %
- left text, left text, left text, left text,%
- \item left text, left text, left text, left text, %
- left text, left text, left text, left text.%
- \end{enumerate}%
- }%
- \ParallelRText{%
- \begin{enumerate}%
- \item right text, right text, right text, right text, %
- right text, right text, right text, right text.%
- \item right text, right text, right text, right text, %
- right text, right text, right text, right text.%
- \end{enumerate}%
- }%
- \end{Parallel}%
- \begin{Parallel}[p]{\textwidth}{\textwidth}%
- \ParallelLText{%
- \textcolor{red}{%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Foo bar bla bla bla.%
- }%
- \par
- Und noch ein Absatz.%
- }%
- \ParallelRText{%
- \textcolor{blue}{%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Foo bar bla bla bla.%
- }%
- }%
- \end{Parallel}%
- \begin{Parallel}[p]{\textwidth}{\textwidth}%
- \ParallelLText{%
- \rule{1pt}{.98\textheight}\Huge g%
- }%
- \ParallelRText{%
- \rule{1pt}{.98\textheight}y%
- }%
- \end{Parallel}%
- Green%
-\end{document}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -944,7 +826,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfcolparallel.sty & tex/latex/oberdiek/pdfcolparallel.sty\\
% pdfcolparallel.pdf & doc/latex/oberdiek/pdfcolparallel.pdf\\
-% test/pdfcolparallel-test1.tex & doc/latex/oberdiek/test/pdfcolparallel-test1.tex\\
% pdfcolparallel.dtx & source/latex/oberdiek/pdfcolparallel.dtx\\
% \end{tabular}^^A
% }^^A
@@ -1065,7 +946,7 @@ and the derived files
% \bibitem{pdfcol}
% Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
% 2007/09/09;\\
-% \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+% \CTANpkg{pdfcol}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
index 9102ac4ae9..60a21023c0 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx b/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
index 9584b4d2e8..a7e89d131a 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pdfcolparcolumns.sty
% TDS:doc/latex/oberdiek/pdfcolparcolumns.pdf
-% TDS:doc/latex/oberdiek/test/pdfcolparcolumns-test1.tex
% TDS:source/latex/oberdiek/pdfcolparcolumns.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{pdfcolparcolumns.sty}{\from{pdfcolparcolumns.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pdfcolparcolumns-test1.tex}{\from{pdfcolparcolumns.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcolparcolumns.xml}{\from{pdfcolparcolumns.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcolparcolumns.drv}
%
@@ -525,60 +505,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% The test file is a modified version of the file that
-% Donald Goodman has posted in \xnewsgroup{comp.text.tex}: ^^A
-% \URL{``\link{Re: \xpackage{xcolor} glitches}''}^^A
-% {https://groups.google.com/group/comp.text.tex/msg/8eda74ed292012bb}
-% \begin{macrocode}
-%<*test1>
-\NeedsTeXFormat{LaTeX2e}
-\AtEndDocument{%
- \typeout{}%
- \typeout{**************************************}%
- \typeout{*** \space Check the PDF file manually! \space ***}%
- \typeout{**************************************}%
- \typeout{}%
-}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{pdfcolparcolumns}
-
-\newcommand{\instruct}[1]{%
- \noindent
- \footnotesize
- \textcolor{red}{#1}%
-}
-
-\begin{document}
- \begin{parcolumns}[colwidths={1=2.3in,2=2.3in},sloppy]{2}%
- \colchunk[1]{%
- \instruct{Et non dicitur versus} %
- Fidelium anim\ae\ %
- \instruct{%
- sed immediate subiungitur antiphona finalis %
- beat\ae\ Mari\ae\ Virginis%
- } %
- 100.%
- }%
- \colchunk[2]{%
- \instruct{%
- And the verse %
- \textcolor{black}{May the souls of the faithful} %
- is not said, but the final antiphon of the %
- Blessed Virgin Mary, %
- \textcolor{black}{100,} %
- is immediately joined.%
- }%
- }%
- \end{parcolumns}%
-\end{document}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -627,7 +554,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfcolparcolumns.sty & tex/latex/oberdiek/pdfcolparcolumns.sty\\
% pdfcolparcolumns.pdf & doc/latex/oberdiek/pdfcolparcolumns.pdf\\
-% test/pdfcolparcolumns-test1.tex & doc/latex/oberdiek/test/pdfcolparcolumns-test1.tex\\
% pdfcolparcolumns.dtx & source/latex/oberdiek/pdfcolparcolumns.dtx\\
% \end{tabular}^^A
% }^^A
@@ -743,12 +669,12 @@ and the derived files
% \bibitem{parcolumns}
% Jonathan Sauer: \textit{The \xpackage{parcolumns} package};
% 2004/11/25;\\
-% \CTAN{macros/latex/contrib/sauerj/parcolumns.pdf}.
+% \CTANpkg{parcolumns}.
%
% \bibitem{pdfcol}
% Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
% 2007/09/09;\\
-% \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+% \CTANpkg{pdfcol}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
index 7d8325d939..c5515f1ea3 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.dtx b/macros/latex/contrib/oberdiek/pdfcrypt.dtx
index b3da5015d0..e4681efa8c 100644
--- a/macros/latex/contrib/oberdiek/pdfcrypt.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcrypt.dtx
@@ -132,10 +132,6 @@ and the derived files
\file{pdfcrypt.drv}{\from{pdfcrypt.dtx}{driver}}%
\usedir{tex/generic/oberdiek}%
\file{pdfcrypt.sty}{\from{pdfcrypt.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcrypt.xml}{\from{pdfcrypt.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -172,21 +168,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcrypt.drv}
%
diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.pdf b/macros/latex/contrib/oberdiek/pdfcrypt.pdf
index 2661342ae9..621d52f08c 100644
--- a/macros/latex/contrib/oberdiek/pdfcrypt.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcrypt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfescape.dtx b/macros/latex/contrib/oberdiek/pdfescape.dtx
index db40f23f4b..b405d7f7e1 100644
--- a/macros/latex/contrib/oberdiek/pdfescape.dtx
+++ b/macros/latex/contrib/oberdiek/pdfescape.dtx
@@ -68,12 +68,6 @@
% Installation:
% TDS:tex/generic/oberdiek/pdfescape.sty
% TDS:doc/latex/oberdiek/pdfescape.pdf
-% TDS:doc/latex/oberdiek/test/pdfescape-test1.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test2.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test3.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test4.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test5.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test6.tex
% TDS:source/latex/oberdiek/pdfescape.dtx
%
%<*ignore>
@@ -151,10 +145,6 @@ and the derived files
% \file{pdfescape-test4.tex}{\from{pdfescape.dtx}{test4}}%
% \file{pdfescape-test5.tex}{\from{pdfescape.dtx}{test5}}%
% \file{pdfescape-test6.tex}{\from{pdfescape.dtx}{test6}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfescape.xml}{\from{pdfescape.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -191,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfescape.drv}
%
@@ -1310,735 +1285,7 @@ $ \the\count\ltx@cclv
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pdfescape.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2|test3|test4|test5>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-% \end{macrocode}
-%
-% \subsection{Test with \cs{pdfescape...} commands}
-%
-% \begin{macrocode}
-%<*test2>
-\ProvidesFile{pdfescape-test2.tex}%
- [2016/05/16 v1.14 Test with \string\pdfescape... commands]%
-%</test2>
-% \end{macrocode}
-%
-% \subsection{Test without \cs{pdfescape...}, with \eTeX}
-%
-% \begin{macrocode}
-%<*test3>
-\ProvidesFile{pdfescape-test3.tex}%
- [2016/05/16 v1.14 Test without \string\pdfescape..., with e-TeX]%
-%</test3>
-% \end{macrocode}
-%
-% \subsection{Test without \cs{pdfescape...} and \eTeX}
-%
-% \begin{macrocode}
-%<*test4>
-\ProvidesFile{pdfescape-test4.tex}%
- [2016/05/16 v1.14 Test without \string\pdfescape... and e-TeX]%
-%</test4>
-% \end{macrocode}
-%
-% \subsection{Test with \LuaTeX}
-%
-% \begin{macrocode}
-%<*test5>
-\ProvidesFile{pdfescape-test5.tex}%
- [2016/05/16 v1.14 Test with LuaTeX]%
-%</test5>
-% \end{macrocode}
-%
-% \subsection{Check/ensure test preconditions}
-%
-% \subsubsection{Check \cs{pdfescape...}}
-%
-% \begin{macrocode}
-%<*test2>
-\@ifundefined{pdfescapehex}{%
- \PackageError{pdfescape-test2}{%
- Missing \string\pdfescape... commands%
- }{Test aborted.}%
- \stop
-}{}
-%</test2>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test3|test4>
-\let\pdfescapehex\@undefined
-\let\pdfunescapehex\@undefined
-\let\pdfescapename\@undefined
-\let\pdfescapestring\@undefined
-%</test3|test4>
-% \end{macrocode}
-%
-% \subsubsection{Check \eTeX}
-%
-% \begin{macrocode}
-%<*test3>
-\@ifundefined{numexpr}{%
- \PackageError{pdfescape-test3}{%
- Missing \eTeX
- }{Test aborted.}%
- \stop
-}{}
-%</test3>
-% \end{macrocode}
-% Package \xpackage{qstest} uses \eTeX, thus \eTeX's features
-% can only be disabled later during loading of package \xpackage{pdfescape}.
-%
-% \subsubsection{Check \LuaTeX}
-%
-% \begin{macrocode}
-%<*test5>
-\@ifundefined{directlua}{%
- \PackageError{pdfescape-test5}{%
- Missing LuaTeX%
- }{Test aborted.}%
- \stop
-}{}
-%</test5>
-% \end{macrocode}
-%
-% \subsection{Common part}
-%
-% The files for testing uses the framework, provided by the
-% new package \xpackage{qstest} of David Kastrup.
-% \begin{macrocode}
-\RequirePackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\ExpectVar}[2]{%
- \ifx#1#2%
- \else
- \begingroup
- \@onelevel@sanitize#1%
- \@onelevel@sanitize#2%
- \typeout{[#1] <> [#2]}% hash-ok
- \endgroup
- \fi
- \Expect*{\ifx#1#2true\else false\fi}{true}%
-}
-
-\makeatletter
-\begingroup
- \gdef\AllBytes{}%
- \count@=0 %
- \catcode0=12 %
- \@whilenum\count@<256 \do{%
- \lccode0=\count@
- \ifnum\count@=32 %
- \xdef\AllBytes{\AllBytes\space}%
- \else
- \lowercase{%
- \xdef\AllBytes{\AllBytes^^@}%
- }%
- \fi
- \advance\count@ by 1 %
- }%
-\endgroup
-\newcommand*{\AllBytesHex}{%
- 000102030405060708090A0B0C0D0E0F%
- 101112131415161718191A1B1C1D1E1F%
- 202122232425262728292A2B2C2D2E2F%
- 303132333435363738393A3B3C3D3E3F%
- 404142434445464748494A4B4C4D4E4F%
- 505152535455565758595A5B5C5D5E5F%
- 606162636465666768696A6B6C6D6E6F%
- 707172737475767778797A7B7C7D7E7F%
- 808182838485868788898A8B8C8D8E8F%
- 909192939495969798999A9B9C9D9E9F%
- A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
- B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
- C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
- D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
- E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
- F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
-}
-\@onelevel@sanitize\AllBytesHex
-\expandafter\lowercase\expandafter{%
- \expandafter\newcommand\expandafter*\expandafter\AllBytesHexLC
- \expandafter{\AllBytesHex}%
-}
-\newcommand*{\AllBytesName}{}
-\begingroup
- \catcode`\#=12 %
- \xdef\AllBytesName{%
- #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
- #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
- #20!"#23$#25&'#28#29*+,-.#2F%
- 0123456789:;#3C=#3E?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ#5B\@backslashchar#5D^_%
- `abcdefghijklmno%
- pqrstuvwxyz#7B|#7D\string~#7F%
- #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
- #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
- #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
- #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
- #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
- #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
- #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
- #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
- }%
-\endgroup
-\@onelevel@sanitize\AllBytesName
-
-\newcommand*{\AllBytesString}{}
-\begingroup
- \def\|{|}%
- \edef\%{\@percentchar}%
- \catcode`\|=0 %
- \catcode`\#=12 %
- \catcode`\~=12 %
- \catcode`\\=12 %
- |xdef|AllBytesString{%
- \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
- \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
- \040!"#$|%&'\(\)*+,-./%
- 0123456789:;<=>?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ[\\]^_%
- `abcdefghijklmno%
- pqrstuvwxyz{||}~\177%
- \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
- \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
- \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
- \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
- \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
- \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
- \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
- \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
- }%
-|endgroup
-\@onelevel@sanitize\AllBytesString
-
-%<*test4>
-\let\org@detokenize\detokenize
-\let\detokenize\@undefined
-\let\org@numexpr\numexpr
-\let\numexpr\@undefined
-%</test4>
-\RequirePackage{pdfescape}
-%<*test4>
-\let\detokenize\org@detokenize
-\let\numexpr\org@numexpr
-%</test4>
-
-\begin{qstest}{all-hex}{\AllBytes, escapehex}
- \EdefEscapeHex\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesHex}%
- \ExpectVar\x\AllBytesHex
-\end{qstest}
-
-\begin{qstest}{all-unhex}{\AllBytesHex, unescapehex}
- \EdefUnescapeHex\x{\AllBytesHex}%
- \Expect*{\x}*{\AllBytes}%
- \ExpectVar\x\AllBytes
-\end{qstest}
-
-\begin{qstest}{all-unhex-lc}{\AllBytesHexLC, unescapehex, lowercase}
- \EdefUnescapeHex\x{\AllBytesHexLC}%
- \Expect*{\x}*{\AllBytes}%
- \ExpectVar\x\AllBytes
-\end{qstest}
-
-\begin{qstest}{unhex-incomplete}{unescapehex, incomplete}
- \EdefUnescapeHex\x{4}%
- \Expect*{\x}{@}%
-\end{qstest}
-
-\begin{qstest}{unhex-space}{unescapehex, space}
- \EdefUnescapeHex\x{20}%
- \Expect*{\x}{ }%
- \ExpectVar\x\space
-\end{qstest}
-
-\begin{qstest}{unhex-spaces}{unescapehex, spaces}
- \EdefUnescapeHex\x{204020204120}%
- \def\y#1{%
- \edef\z{#1\string @#1#1\string A#1}%
- }\y{ }%
- \Expect*{\x}*{\z}%
- \ExpectVar\x\z
-\end{qstest}
-
-\begin{qstest}{unhex-hash}{unescapehex, hash}
- \catcode`\#=12 %
- \EdefUnescapeHex\x{#20}%
- \ExpectVar\x\space
-\end{qstest}
-
-\begin{qstest}{unhex-invalid}{unescapehex, invalid}
- \def\test#1#2{%
- \EdefUnescapeHex\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
-%<*test2>
- \edef\x{\pdfunescapehex{4X}}%
- \edef\y{\string @}%
- \ifx\x\y
- \else
- \def~{\space}%
- \typeout{************************************}%
- \typeout{* Your pdfTeX contains bug 777.~~~~*}%
- \typeout{* This test is redefined as dummy, *}%
- \typeout{* because it triggers the bug.~~~~~*}%
- \typeout{************************************}%
- \def\test#1#2{}%
- \fi
-%</test2>
- \test{X}{}%
- \test{XY}{}%
- \test{XYZ}{}%
- \test{A}{^^a0}%
- \test{AX}{^^a0}%
- \test{XA}{^^a0}%
- \test{XXAXX}{^^a0}%
-\end{qstest}
-
-\begin{qstest}{all-name}{\AllBytes, escapename}
- \EdefEscapeName\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesName}%
- \ExpectVar\x\AllBytesName
-\end{qstest}
-
-\begin{qstest}{all-string}{\AllBytes, escapestring}
- \EdefEscapeString\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesString}%
- \ExpectVar\x\AllBytesString
-\end{qstest}
-
-\begin{qstest}{uchexdigit}{unescape, uppercase hex digit}
- \catcode`\@=11 %
- \catcode0=12 %
- \def\test#1#2{%
- \uccode0=#1\relax
- \uppercase{%
- \def\x{^^@}%
- }%
- \Expect*{%
- \ifcase\expandafter\PE@TestUcHexDigit\x
- true%
- \else
- false%
- \fi
- }{#2}%
- }%
- \def\range#1#2#3{%
- \count0=#1\relax
- \loop
- \ifnum\count0<#2\relax
- \test{\count0}{#3}%
- \advance\count0 by 1 %
- \repeat
- }%
- \range{0}{47}{false}%
- \range{48}{57}{true}%
- \range{58}{64}{false}%
- \range{65}{70}{true}%
- \range{71}{255}{false}%
-\end{qstest}
-
-\begin{qstest}{unescapename}{unescapename}
- \def\test#1#2{%
- \EdefUnescapeName\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
- \catcode`\#=12 %
- \catcode0=12 %
- \test{}{}%
- \test{x}{x}%
- \test{xy}{xy}%
- \test{#}{#}%
- \test{##}{##}%
- \test{###}{###}%
- \test{####}{####}%
- \test{#x}{#x}%
- \test{#xy}{#xy}%
- \test{#1}{#1}%
- \test{#40}{@}%
- \test{#400}{@0}%
- \test{#4x0}{#4x0}%
- \test{#ab}{^^ab}%
- \test{#00}{^^@}%
- \test{x#40y#40z}{x@y@z}%
- \test{#40#40#40#40}{@@@@}%
- \test{a#x}{a#x}%
- \test{a#xy}{a#xy}%
- \test{a#1}{a#1}%
- \test{a#40}{a@}%
- \test{a#400}{a@0}%
- \test{#20}{ }%
- \test{a#20}{a }%
- \test{a#20b}{a b}%
- \test{a#20#20#20b}{a \space\space b}%
-\end{qstest}
-
-\begin{qstest}{unescapestring}{unescapestring}
- \def\test#1#2{%
- \EdefUnescapeString\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
- \catcode0=12 %
- \def\DefChar#1#2{%
- \begingroup
- \uccode0=#2\relax
- \uppercase{\endgroup
- \def#1{^^@}%
- }%
- }%
- \DefChar\nul{0}%
- \DefChar\one{1}%
- \DefChar\bel{8}%
- \DefChar\tab{9}%
- \DefChar\lf{10}%
- \DefChar\ff{12}%
- \DefChar\cr{13}%
- \DefChar\\{92}%
- \test{}{}%
- \test{a}{a}%
- \test{\\}{}%
- \test{\\\\}{\\}%
- \test{\\\\y}{\\y}%
- \test{\\000}{\nul}%
- \test{\\b}{\bel}%
- \test{\\t}{\tab}%
- \test{\\n}{\lf}%
- \test{\\f}{\ff}%
- \test{\\r}{\cr}%
- \test{\\(}{(}%
- \test{\\)}{)}%
- \test{\\040}{ }%
- \test{\\100}{@}%
- \test{\\40}{ }%
- \test{\\1}{\one}%
- \test{\\01}{\one}%
- \test{\\001}{\one}%
- \test{\\18}{\one8}%
- \test{\\018}{\one8}%
- \test{\\0018}{\one8}%
- \test{x\\}{x}%
- \test{x\\\\}{x\\}%
- \test{x\\\\y}{x\\y}%
- \test{x\\000}{x\nul}%
- \test{x\\b}{x\bel}%
- \test{x\\t}{x\tab}%
- \test{x\\n}{x\lf}%
- \test{x\\f}{x\ff}%
- \test{x\\r}{x\cr}%
- \test{x\\(}{x(}%
- \test{x\\)}{x)}%
- \test{x\\040}{x }%
- \test{x\\100}{x@}%
- \test{x\\40}{x }%
- \test{x\\1}{x\one}%
- \test{x\\01}{x\one}%
- \test{x\\001}{x\one}%
- \test{x\\18}{x\one8}%
- \test{x\\018}{x\one8}%
- \test{x\\0018}{x\one8}%
- \test{\\b\\t\\n\\f\\r\\(\\)\\\\\\000\\040}{%
- \bel\tab\lf\ff\cr()\\\nul\space
- }%
- \test{\\\lf}{}%
- \test{x\\\lf}{x}%
- \test{\cr}{\lf}%
- \test{\cr\lf}{\lf}%
- \test{\lf}{\lf}%
- \test{\lf\cr}{\lf\lf}%
- \test{x\cr}{x\lf}%
- \test{x\cr\lf}{x\lf}%
- \test{x\lf}{x\lf}%
- \test{x\lf\cr}{x\lf\lf}%
- \test{x\\\cr\lf y\cr}{xy\lf}%
-%
- \test{\\409}{ 9}%
- \test{\\800}{800}%
- \test{\\900}{900}%
- \test{\\578}{/8}%
- \test{\\477}{?}%
- \test{\\377}{^^ff}%
- \test{\\777}{^^ff}%
- \test{\\7777}{^^ff7}%
-\end{qstest}
-\stop
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</test2|test3|test4|test5>
-% \end{macrocode}
-%
-% \subsubsection{Test for \hologo{iniTeX}}
-%
-% \begin{macrocode}
-%<*test6>
-\input pdfescape.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\^=7 %
-\catcode`\@=11 %
-% \end{macrocode}
-% \begin{macrocode}
-\begingroup
- \catcode`\@=11 %
- \countdef\count@=255 %
- \def\space{ }%
- \long\def\@whilenum#1\do #2{%
- \ifnum #1\relax
- #2\relax
- \@iwhilenum{#1\relax#2\relax}%
- \fi
- }%
- \long\def\@iwhilenum#1{%
- \ifnum #1%
- \expandafter\@iwhilenum
- \else
- \expandafter\ltx@gobble
- \fi
- {#1}%
- }%
- \gdef\AllBytes{}%
- \count@=0 %
- \catcode0=12 %
- \@whilenum\count@<256 \do{%
- \lccode0=\count@
- \ifnum\count@=32 %
- \xdef\AllBytes{\AllBytes\space}%
- \else
- \lowercase{%
- \xdef\AllBytes{\AllBytes^^@}%
- }%
- \fi
- \advance\count@ by 1 %
- }%
-\endgroup
-\def\AllBytesHex{%
- 000102030405060708090A0B0C0D0E0F%
- 101112131415161718191A1B1C1D1E1F%
- 202122232425262728292A2B2C2D2E2F%
- 303132333435363738393A3B3C3D3E3F%
- 404142434445464748494A4B4C4D4E4F%
- 505152535455565758595A5B5C5D5E5F%
- 606162636465666768696A6B6C6D6E6F%
- 707172737475767778797A7B7C7D7E7F%
- 808182838485868788898A8B8C8D8E8F%
- 909192939495969798999A9B9C9D9E9F%
- A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
- B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
- C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
- D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
- E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
- F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
-}
-\ltx@onelevel@sanitize\AllBytesHex
-\expandafter\lowercase\expandafter{%
- \expandafter\def\expandafter\AllBytesHexLC
- \expandafter{\AllBytesHex}%
-}
-\begingroup
- \catcode`\#=12 %
- \xdef\AllBytesName{%
- #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
- #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
- #20!"#23$#25&'#28#29*+,-.#2F%
- 0123456789:;#3C=#3E?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ#5B\ltx@backslashchar#5D^_%
- `abcdefghijklmno%
- pqrstuvwxyz#7B|#7D\string~#7F%
- #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
- #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
- #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
- #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
- #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
- #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
- #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
- #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
- }%
-\endgroup
-\ltx@onelevel@sanitize\AllBytesName
-\edef\AllBytesFromName{\expandafter\ltx@gobble\AllBytes}
-
-\begingroup
- \def\|{|}%
- \edef\%{\ltx@percentchar}%
- \catcode`\|=0 %
- \catcode`\#=12 %
- \catcode`\~=12 %
- \catcode`\\=12 %
- |xdef|AllBytesString{%
- \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
- \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
- \040!"#$|%&'\(\)*+,-./%
- 0123456789:;<=>?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ[\\]^_%
- `abcdefghijklmno%
- pqrstuvwxyz{||}~\177%
- \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
- \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
- \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
- \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
- \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
- \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
- \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
- \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
- }%
-|endgroup
-\ltx@onelevel@sanitize\AllBytesString
-% \end{macrocode}
-% \begin{macrocode}
-\def\msg#{\immediate\write16}
-\def\Test#1#2#3{%
- \begingroup
- #1\TestResult{#2}%
- \ifx\TestResult#3%
- \else
- \newlinechar=10 %
- \msg{Expect:^^J#3}%
- \msg{Result:^^J\TestResult}%
- \errmessage{\string#2 -\string#1-> \string#3}%
- \fi
- \endgroup
-}
-\Test\EdefEscapeHex\AllBytes\AllBytesHex
-\Test\EdefUnescapeHex\AllBytesHex\AllBytes
-\Test\EdefEscapeName\AllBytes\AllBytesName
-\Test\EdefUnescapeName\AllBytesName\AllBytesFromName
-\Test\EdefEscapeString\AllBytes\AllBytesString
-\Test\EdefUnescapeString\AllBytesString\AllBytes
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test6>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2087,12 +1334,6 @@ $ \the\count\ltx@cclv
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfescape.sty & tex/generic/oberdiek/pdfescape.sty\\
% pdfescape.pdf & doc/latex/oberdiek/pdfescape.pdf\\
-% test/pdfescape-test1.tex & doc/latex/oberdiek/test/pdfescape-test1.tex\\
-% test/pdfescape-test2.tex & doc/latex/oberdiek/test/pdfescape-test2.tex\\
-% test/pdfescape-test3.tex & doc/latex/oberdiek/test/pdfescape-test3.tex\\
-% test/pdfescape-test4.tex & doc/latex/oberdiek/test/pdfescape-test4.tex\\
-% test/pdfescape-test5.tex & doc/latex/oberdiek/test/pdfescape-test5.tex\\
-% test/pdfescape-test6.tex & doc/latex/oberdiek/test/pdfescape-test6.tex\\
% pdfescape.dtx & source/latex/oberdiek/pdfescape.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pdfescape.pdf b/macros/latex/contrib/oberdiek/pdfescape.pdf
index 3f915ced82..4100374575 100644
--- a/macros/latex/contrib/oberdiek/pdfescape.pdf
+++ b/macros/latex/contrib/oberdiek/pdfescape.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdflscape.dtx b/macros/latex/contrib/oberdiek/pdflscape.dtx
index 8743b2ebbb..e808b973e3 100644
--- a/macros/latex/contrib/oberdiek/pdflscape.dtx
+++ b/macros/latex/contrib/oberdiek/pdflscape.dtx
@@ -66,14 +66,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pdflscape.sty
% TDS:doc/latex/oberdiek/pdflscape.pdf
-% TDS:doc/latex/oberdiek/test/pdflscape-test1.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test2.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test3.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test4.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test5.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test6.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test6.txt
-% TDS:doc/latex/oberdiek/test/ExtractRotate.java
% TDS:source/latex/oberdiek/pdflscape.dtx
%
%<*ignore>
@@ -152,7 +144,7 @@ and the derived files
\nopreamble
\nopostamble
% \file{pdflscape-test6.txt}{\from{pdflscape.dtx}{result6}}%
- \file{ExtractRotate.java}{\from{pdflscape.dtx}{ExtractRotate}}%
+% \file{ExtractRotate.java}{\from{pdflscape.dtx}{ExtractRotate}}%
% \usedir{source/latex/oberdiek/catalogue}%
% \file{pdflscape.xml}{\from{pdflscape.dtx}{catalogue}}%
}
@@ -192,21 +184,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdflscape.drv}
%
@@ -617,216 +594,6 @@ and the derived files
%</package>
% \end{macrocode}
%
-% \section{Test}
-%
-% \subsection{Driver detection tests}
-% \begin{macrocode}
-%<*test0>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-%</test0>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1>
-\usepackage{ifpdf}
-\ifpdf
- \def\ExpectDriver{pdftex}%
-\fi
-\usepackage{ifxetex}%
-\ifxetex
- \def\ExpectDriver{dvipdfm}%
-\fi
-\usepackage{pdflscape}[2016/05/14]
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\def\ExpectDriver{pdftex}
-\usepackage[pdftex]{pdflscape}[2016/05/14]
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\def\ExpectDriver{dvipdfm}
-\usepackage[dvipdfmx]{pdflscape}[2016/05/14]
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4>
-\def\ExpectDriver{dvips}
-\usepackage[dvipsone]{graphics}
-\usepackage{pdflscape}[2016/05/14]
-%</test4>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test0>
-\begin{document}
-\begin{qstest}{driver}{driver}
- \makeatletter
- \Expect*{\PLS@driver}*{\ExpectDriver}%
-\end{qstest}
-\end{document}
-%</test0>
-% \end{macrocode}
-%
-% \subsection{Test for \cs{PLS@CheckAngle}}
-%
-% \begin{macrocode}
-%<*test5>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\usepackage{pdflscape}[2016/05/14]
-\begin{document}
-\begin{qstest}{checkangle}{checkangle}
- \makeatletter
- \def\Result{%
- \def\ResultString{\the\count@}%
- }%
- \def\PackageError#1#2#3{%
- \def\Result{%
- \def\ResultString{error}%
- }%
- }%
- \def\Test#1#2{%
- \begingroup
- \PLS@CheckAngle{#1}%
- \Result
- \Expect*{\ResultString}{#2}%
- \endgroup
- }%
- \Test{0}{0}%
- \Test{90}{90}%
- \Test{180}{180}%
- \Test{270}{270}%
- \Test{360}{0}%
- \Test{450}{90}%
- \Test{540}{180}%
- \Test{630}{270}%
- \Test{720}{0}%
- \Test{3600}{0}%
- \Test{3690}{90}%
- \Test{-90}{270}%
- \Test{-180}{180}%
- \Test{-270}{-90}%
- \Test{-360}{0}%
- \Test{-450}{270}%
- \Test{540}{180}%
- \Test{-630}{90}%
- \Test{-720}{0}%
- \Test{-3600}{0}%
- \Test{-3690}{270}%
- \Test{1}{error}%
- \Test{-1}{error}%
- \Test{123}{error}%
-\end{qstest}
-\end{document}
-%</test5>
-% \end{macrocode}
-%
-% \subsection{Test for rotate}
-%
-% \begin{macrocode}
-%<*test6>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{pdflscape}[2016/05/14]
-\begin{document}
-\section{Portrait page}
-\begin{landscape}
-\section{Landscape page}
-Foo bar foo bar foo bar foo bar foo bar
-foo bar foo bar foo bar foo bar foo bar.
-\end{landscape}
-\section{Portrait Section}
-Foo bar
-\begin{landscape}
-\section{Again Landscape Section}
-\newpage
-\section{Second Page of Landscape Section}
-\end{landscape}
-\section{Second Last Portrait Page}
-\newpage
-\section{Last Portrait Page}
-\end{document}
-%</test6>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*result6>
-/Page 1 /Rotate 0
-/Page 2 /Rotate 90
-/Page 3 /Rotate 0
-/Page 4 /Rotate 90
-/Page 5 /Rotate 90
-/Page 6 /Rotate 0
-/Page 7 /Rotate 0
-%</result6>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*ExtractRotate>
-/**
- * ExtractRotate.java
- *
- * Copyright (C) 2007 by Heiko Oberdiek
- *
- * Requires: PDFBox (http://www.pdfbox.org/)
- *
- * Syntax: java ExtractRotate <pdffile> <textfile>
- *
- * The <pdffile> is analyzed and for each page its rotation
- * setting is printed in the <textfile>. Example:
- * /Page 1 /Rotate 0
- * /Page 2 /Rotate 90
- */
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import org.pdfbox.pdfparser.PDFParser;
-import org.pdfbox.pdmodel.PDDocument;
-import org.pdfbox.pdmodel.PDDocumentCatalog;
-import org.pdfbox.pdmodel.PDPage;
-
-public class ExtractRotate {
-
- public static void main(String[] args) {
- try {
- String infile = args[0];
- String outfile = args[1];
- FileWriter out = new FileWriter(outfile);
- PDFParser parser =
- new PDFParser(new FileInputStream(infile));
- parser.parse();
- PDDocument document = parser.getPDDocument();
- PDDocumentCatalog catalog = document.getDocumentCatalog();
- int i = 0;
- for (Object page: catalog.getAllPages()) {
- i++;
- out.write("/Page " + i + " " + "/Rotate "
- + ((PDPage)page).findRotation() + "\n");
- }
- document.close();
- out.close();
- }
- catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-}
-%</ExtractRotate>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -876,12 +643,6 @@ public class ExtractRotate {
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdflscape.sty & tex/latex/oberdiek/pdflscape.sty\\
% pdflscape.pdf & doc/latex/oberdiek/pdflscape.pdf\\
-% test/pdflscape-test1.tex & doc/latex/oberdiek/test/pdflscape-test1.tex\\
-% test/pdflscape-test2.tex & doc/latex/oberdiek/test/pdflscape-test2.tex\\
-% test/pdflscape-test3.tex & doc/latex/oberdiek/test/pdflscape-test3.tex\\
-% test/pdflscape-test4.tex & doc/latex/oberdiek/test/pdflscape-test4.tex\\
-% test/pdflscape-test5.tex & doc/latex/oberdiek/test/pdflscape-test5.tex\\
-% test/pdflscape-test6.tex & doc/latex/oberdiek/test/pdflscape-test6.tex\\
% test/pdflscape-test6.txt & doc/latex/oberdiek/test/pdflscape-test6.txt\\
% test/ExtractRotate.java & doc/latex/oberdiek/test/ExtractRotate.java\\
% pdflscape.dtx & source/latex/oberdiek/pdflscape.dtx\\
diff --git a/macros/latex/contrib/oberdiek/pdflscape.pdf b/macros/latex/contrib/oberdiek/pdflscape.pdf
index 6af1d671f2..39e9c4ff80 100644
--- a/macros/latex/contrib/oberdiek/pdflscape.pdf
+++ b/macros/latex/contrib/oberdiek/pdflscape.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfrender.dtx b/macros/latex/contrib/oberdiek/pdfrender.dtx
index 395d21ae50..7558ad61ac 100644
--- a/macros/latex/contrib/oberdiek/pdfrender.dtx
+++ b/macros/latex/contrib/oberdiek/pdfrender.dtx
@@ -68,11 +68,6 @@
% Installation:
% TDS:tex/generic/oberdiek/pdfrender.sty
% TDS:doc/latex/oberdiek/pdfrender.pdf
-% TDS:doc/latex/oberdiek/test/pdfrender-test1.tex
-% TDS:doc/latex/oberdiek/test/pdfrender-test2.tex
-% TDS:doc/latex/oberdiek/test/pdfrender-test3.tex
-% TDS:doc/latex/oberdiek/test/pdfrender-test4.tex
-% TDS:doc/latex/oberdiek/test/pdfrender-test5.tex
% TDS:source/latex/oberdiek/pdfrender.dtx
%
%<*ignore>
@@ -149,10 +144,6 @@ and the derived files
% \file{pdfrender-test3.tex}{\from{pdfrender.dtx}{test3}}%
% \file{pdfrender-test4.tex}{\from{pdfrender.dtx}{test4}}%
% \file{pdfrender-test5.tex}{\from{pdfrender.dtx}{test5}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfrender.xml}{\from{pdfrender.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -191,21 +182,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfrender.drv}
%
@@ -1383,286 +1359,7 @@ and the derived files
\PdfRender@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pdfrender.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Simple test file}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test2.tex}[2018/11/01]
-\documentclass{article}
-\usepackage{color}
-\usepackage{pdfrender}[2018/11/01]
-\begin{document}
-Hello World
-\newpage
-Start
-\textpdfrender{%
- TextRenderingMode=1,%
- LineWidth=.1,%
- LineCapStyle=2,%
- LineJoinStyle=1,%
- MiterLimit=1.2,%
- LineDashPattern=[2 2]0,%
- RenderingIntent=Saturation,%
-}{Hello\newpage World}
-Stop
-\par
-\newlength{\LineWidth}
-\setlength{\LineWidth}{.5pt}
-Start
-\textpdfrender{%
- FillColor=yellow,%
- StrokeColor=[cmyk]{1,.5,0,0},%
- TextRenderingMode=FillStroke,%
- LineWidth=.5\LineWidth,%
- LineCapStyle=Round,%
- LineJoinStyle=Bevel,%
-}{Out-\par\newpage line}
-Stop
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \subsection{Further tests}
-%
-% Robustness and bookmarks.
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test3.tex}[2018/11/01]
-\documentclass{article}
-\usepackage{pdfrender}[2018/11/01]
-\usepackage{hyperref}
-\usepackage{bookmark}
-\begin{document}
-\tableofcontents
-\section{%
- \textpdfrender{%
- TextRenderingMode=1,%
- LineCapStyle=2,%
- LineJoinStyle=1,%
- MiterLimit=1.2,%
- LineDashPattern=[2 2]0,%
- RenderingIntent=Saturation,%
- }{Hello World}%
-}
-\end{document}
-%</test3>
-% \end{macrocode}
-%
-% Color algorithm if \cs{pdfmatch} is not available.
-% \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test4.tex}[2018/11/01]
-\documentclass[12pt]{article}
-\usepackage{pdfrender}[2018/11/01]
-\usepackage{color}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-\newcommand*{\CheckColor}[1]{%
- \Expect{#1}*{\current@color}%
-}
-\makeatother
-\begin{document}
- \begin{qstest}{color}{color}%
- \CheckColor{0 g 0 G}%
- \Huge\bfseries
- \noindent
- \textpdfrender{%
- TextRenderingMode=2,%
- LineWidth=.5,%
- FillColor=yellow,%
- StrokeColor=blue,%
- }{%
- \CheckColor{0 0 1 0 k 0 0 1 RG}%
- Blue(Yellow)\\%
- \textpdfrender{%
- FillColor=green,%
- }{%
- \CheckColor{0 1 0 rg 0 0 1 RG}%
- Blue(Green)%
- }\\%
- \CheckColor{0 0 1 0 k 0 0 1 RG}%
- Blue(Yellow)\\%
- \textpdfrender{%
- StrokeColor=red,%
- }{%
- \CheckColor{0 0 1 0 k 1 0 0 RG}%
- Red(Yellow)%
- }\\%
- \CheckColor{0 0 1 0 k 0 0 1 RG}%
- Blue(Yellow) %
- }%
- \end{qstest}%
- \begin{qstest}{colorlast}{colorlast}%
- \makeatletter
- \def\Test#1#2#3{%
- \begingroup
- \def\current@color{#1}%
- \textpdfrender{#2}{%
- \CheckColor{#3}%
- }%
- \endgroup
- }%
- \Test{1 g 0 0 1 RG 0 0 1 0 k 0.5 G}%
- {StrokeColor=green}%
- {0 0 1 0 k 0 1 0 RG}%
- \Test{1 g 0 0 1 RG 0 0 1 0 k 0.5 G}%
- {FillColor=red}%
- {1 0 0 rg 0.5 G}%
- \end{qstest}%
-\end{document}
-%</test4>
-% \end{macrocode}
-%
-% \subsection{Compatibility with \plainTeX}
-%
-% \begin{macrocode}
-%<*test5>
-\input luatex85.sty
-\pdfoutput=1 %
-\hsize=6.5in
-\vsize=8.9in
-\pdfpagewidth=\hsize
-\pdfpageheight=\vsize
-\parfillskip=0pt plus 1fil\relax
-\input pdfrender.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\let\OrgMakeFootLine\makefootline
-\def\makefootline{%
- \begingroup\normalcolor\OrgMakeFootLine\endgroup
-}
-\font\f=ec-lmr10 scaled 3000\relax
-\f
-Before %
-\textpdfrender{%
- TextRenderingMode=1,%
- LineWidth=.1,%
-}{Hello\par\vfill\penalty-10000 World} %
-After %
-\par
-\vfill
-\penalty-10000 %
-\csname @@end\endcsname\end
-%</test5>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1711,11 +1408,6 @@ After %
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfrender.sty & tex/generic/oberdiek/pdfrender.sty\\
% pdfrender.pdf & doc/latex/oberdiek/pdfrender.pdf\\
-% test/pdfrender-test1.tex & doc/latex/oberdiek/test/pdfrender-test1.tex\\
-% test/pdfrender-test2.tex & doc/latex/oberdiek/test/pdfrender-test2.tex\\
-% test/pdfrender-test3.tex & doc/latex/oberdiek/test/pdfrender-test3.tex\\
-% test/pdfrender-test4.tex & doc/latex/oberdiek/test/pdfrender-test4.tex\\
-% test/pdfrender-test5.tex & doc/latex/oberdiek/test/pdfrender-test5.tex\\
% pdfrender.dtx & source/latex/oberdiek/pdfrender.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pdfrender.pdf b/macros/latex/contrib/oberdiek/pdfrender.pdf
index 1852c870e2..5379dd894b 100644
--- a/macros/latex/contrib/oberdiek/pdfrender.pdf
+++ b/macros/latex/contrib/oberdiek/pdfrender.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/picture.dtx b/macros/latex/contrib/oberdiek/picture.dtx
index 956110084e..ba4121a603 100644
--- a/macros/latex/contrib/oberdiek/picture.dtx
+++ b/macros/latex/contrib/oberdiek/picture.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{picture.sty}{\from{picture.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{picture-example.tex}{\from{picture.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{picture.xml}{\from{picture.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +167,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{picture.drv}
%
diff --git a/macros/latex/contrib/oberdiek/picture.pdf b/macros/latex/contrib/oberdiek/picture.pdf
index 18a51bc158..8d58447aa0 100644
--- a/macros/latex/contrib/oberdiek/picture.pdf
+++ b/macros/latex/contrib/oberdiek/picture.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pmboxdraw.dtx b/macros/latex/contrib/oberdiek/pmboxdraw.dtx
index ef4e491f31..480eac755d 100644
--- a/macros/latex/contrib/oberdiek/pmboxdraw.dtx
+++ b/macros/latex/contrib/oberdiek/pmboxdraw.dtx
@@ -64,7 +64,6 @@
% TDS:tex/latex/oberdiek/pmboxdraw.sty
% TDS:tex/latex/oberdiek/pmboxdrawenc.dfu
% TDS:doc/latex/oberdiek/pmboxdraw.pdf
-% TDS:doc/latex/oberdiek/test/pmboxdraw-test1.tex
% TDS:source/latex/oberdiek/pmboxdraw.dtx
%
%<*ignore>
@@ -133,10 +132,6 @@ and the derived files
\file{pmboxdrawenc.dfu}{\from{pmboxdraw.dtx}{utf8}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pmboxdraw-test1.tex}{\from{pmboxdraw.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pmboxdraw.xml}{\from{pmboxdraw.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +176,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pmboxdraw.drv}
%
@@ -5266,123 +5246,7 @@ $ \kern.5\pmbd@C
% \begin{macrocode}
%</utf8>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{pmboxdraw}[2019/02/28]}
-%</test1>
-% \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pmboxdraw.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -5432,7 +5296,6 @@ $ \kern.5\pmbd@C
% pmboxdraw.sty & tex/latex/oberdiek/pmboxdraw.sty\\
% pmboxdrawenc.dfu & tex/latex/oberdiek/pmboxdrawenc.dfu\\
% pmboxdraw.pdf & doc/latex/oberdiek/pmboxdraw.pdf\\
-% test/pmboxdraw-test1.tex & doc/latex/oberdiek/test/pmboxdraw-test1.tex\\
% pmboxdraw.dtx & source/latex/oberdiek/pmboxdraw.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pmboxdraw.pdf b/macros/latex/contrib/oberdiek/pmboxdraw.pdf
index df43c95699..26299b48cd 100644
--- a/macros/latex/contrib/oberdiek/pmboxdraw.pdf
+++ b/macros/latex/contrib/oberdiek/pmboxdraw.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/protecteddef.dtx b/macros/latex/contrib/oberdiek/protecteddef.dtx
index 2ddc5c9cad..cff42cccf7 100644
--- a/macros/latex/contrib/oberdiek/protecteddef.dtx
+++ b/macros/latex/contrib/oberdiek/protecteddef.dtx
@@ -66,8 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/protecteddef.sty
% TDS:doc/latex/oberdiek/protecteddef.pdf
-% TDS:doc/latex/oberdiek/test/protecteddef-test1.tex
-% TDS:doc/latex/oberdiek/test/protecteddef-test2.tex
% TDS:source/latex/oberdiek/protecteddef.dtx
%
%<*ignore>
@@ -139,10 +137,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{protecteddef-test1.tex}{\from{protecteddef.dtx}{test1}}%
% \file{protecteddef-test2.tex}{\from{protecteddef.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{protecteddef.xml}{\from{protecteddef.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -179,21 +173,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{protecteddef.drv}
%
@@ -553,275 +532,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input protecteddef.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test without \hologo{LaTeX} and \cs{protected}}
-%
-% \begin{macrocode}
-%<*test2>
-\errorcontextlines=10000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input protecteddef.sty\relax
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
-\else
- \RequirePackage{protecteddef}[2016/05/16]%
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
- \let\pdef\def
-\else
- \def\pdef{\protected\def}%
-\fi
-\def\msg#{\immediate\write16}
-\countdef\errcount=2 %
-\long\def\BeginCheck#1\ProtectedDef#2\EndCheck{%
- \begingroup
- \toks0={\ProtectedDef#2}%
- \msg{<<\the\toks0>>}%
- \endgroup
- \setbox0=\hbox{%
- #1%
- \ProtectedDef#2%
- \check\foo
- }%
- \ifdim\wd0=0pt\relax
- \else
- \errmessage{[Definition] Unwanted spaces?!}%
- \fi
- \setbox0=\hbox{%
- \def\fooinitial{XYZ}%
- \let\foo\fooinitial
- \errcount=0 %
- \expandafter\def\csname @PackageError\endcsname##1##2##3{%
- \advance\errcount by 1 %
- }%
- \expandafter\def\csname @notdefinable\endcsname{%
- \advance\errcount by 1 %
- }%
- \ProtectedDef#2%
- \ifnum\errcount=1 %
- \else
- \errmessage{1 error expected, but found: \the\errcount}%
- \fi
- \ifx\foo\fooinitial
- \else
- \def\space{ }%
- \errmessage{\string\foo\space is overwritten}%
- \fi
- }%
- \ifdim\wd0=0pt\relax
- \else
- \errmessage{[Error] Unwanted spaces?!}%
- \fi
-}
-\chardef\DeclareVersion=0 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname DeclareRobustCommand\endcsname\relax
- \else
- \chardef\DeclareVersion=1 %
- \fi
-\fi
-\ifnum\DeclareVersion=0 %
- \def\check#1{%
- \ifx\cmp#1%
- \msg{* Test passed.}%
- \else
- \msg{}%
- \msg{[\meaning#1]}%
- \msg{[\meaning\cmp]}%
- \errmessage{Test failed!}%
- \fi
- }%
-\else
- \def\check#1{%
- \begingroup
- \escapechar=-1 %
- \edef\x{\endgroup
- \def\noexpand\cs/{\string#1}%
- }\x
- \edef\CMP{%
- \noexpand\protect
- \expandafter\noexpand\csname\cs/ \endcsname
- }%
- \ifx\CMP#1%
- \expandafter\ifx\csname\cs/ \endcsname\cmp
- \msg{Test passed.}%
- \else
- \msg{}%
- \msg{[\expandafter\meaning\csname\cs/ \endcsname]}%
- \msg{[\meaning\cmp]}%
- \errmessage{Test failed!}%
- \fi
- \else
- \msg{}%
- \msg{[\meaning#1]}%
- \msg{[\meaning\CMP]}%
- \errmessage{Test failed!}%
- \fi
- }%
-\fi
-
-\tracingmacros=1
-
-\BeginCheck
- \pdef\cmp{}%
- \ProtectedDef*\foo{}%
-\EndCheck
-
-\BeginCheck
- \pdef\cmp{}%
- \ProtectedDef*\foo[0]{}%
-\EndCheck
-
-\BeginCheck
- \pdef\cmp#1{<#1>}%
- \ProtectedDef*\foo[1]{<#1>}%
-\EndCheck
-
-\BeginCheck
- \pdef\cmp(#1){<#1>}%
- \ProtectedDef*\foo(#1){<#1>}%
-\EndCheck
-
-\BeginCheck
- \long\pdef\cmp{}%
- \ProtectedDef\foo{}%
-\EndCheck
-
-\BeginCheck
- \long\pdef\cmp{}%
- \ProtectedDef\foo[0]{}%
-\EndCheck
-
-\BeginCheck
- \long\pdef\cmp#1{<#1>}%
- \ProtectedDef\foo[1]{<#1>}%
-\EndCheck
-
-\BeginCheck
- \long\pdef\cmp(#1){<#1>}%
- \ProtectedDef\foo(#1){<#1>}%
-\EndCheck
-
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -870,8 +581,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% protecteddef.sty & tex/generic/oberdiek/protecteddef.sty\\
% protecteddef.pdf & doc/latex/oberdiek/protecteddef.pdf\\
-% test/protecteddef-test1.tex & doc/latex/oberdiek/test/protecteddef-test1.tex\\
-% test/protecteddef-test2.tex & doc/latex/oberdiek/test/protecteddef-test2.tex\\
% protecteddef.dtx & source/latex/oberdiek/protecteddef.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/protecteddef.pdf b/macros/latex/contrib/oberdiek/protecteddef.pdf
index d3ae88abbd..09203fa0d1 100644
--- a/macros/latex/contrib/oberdiek/protecteddef.pdf
+++ b/macros/latex/contrib/oberdiek/protecteddef.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/refcount.dtx b/macros/latex/contrib/oberdiek/refcount.dtx
index 3a2c961431..b70bd4799e 100644
--- a/macros/latex/contrib/oberdiek/refcount.dtx
+++ b/macros/latex/contrib/oberdiek/refcount.dtx
@@ -64,11 +64,6 @@
% Installation:
% TDS:tex/latex/oberdiek/refcount.sty
% TDS:doc/latex/oberdiek/refcount.pdf
-% TDS:doc/latex/oberdiek/test/refcount-test1.tex
-% TDS:doc/latex/oberdiek/test/refcount-test2.tex
-% TDS:doc/latex/oberdiek/test/refcount-test3.tex
-% TDS:doc/latex/oberdiek/test/refcount-test4.tex
-% TDS:doc/latex/oberdiek/test/refcount-test5.tex
% TDS:source/latex/oberdiek/refcount.dtx
%
%<*ignore>
@@ -141,10 +136,6 @@ and the derived files
% \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}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{refcount.xml}{\from{refcount.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +172,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{refcount.drv}
%
@@ -899,416 +875,7 @@ and the derived files
\rc@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input refcount.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2>
-\errorcontextlines=10000 %
-\showboxbreadth=10000 %
-\showboxdepth=10000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input refcount.sty\relax
-\else
- \RequirePackage{refcount}[2016/05/16]%
-\fi
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @onelevel@sanitize\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname detokenize\endcsname\relax
- \def\strip@prefix#1->{}%
- \def\@onelevel@sanitize#1{%
- \edef#1{%
- \expandafter\strip@prefix\meaning#1%
- }%
- }%
- \else
- \def\@onelevel@sanitize#1{%
- \edef#1{%
- \detokenize\expandafter{#1}%
- }%
- }%
- \fi
-\fi
-\def\msg#{\immediate\write16}
-\def\empty{}
-\def\space{ }
-% \end{macrocode}
-% \begin{macrocode}
-\def\r@foo{{\empty 1}{\empty 2}}
-\long\def\test#1#2{%
- \begingroup
- \setbox0=\hbox{%
- \def\TestTask{#1}%
- \@onelevel@sanitize\TestTask
- \msg{* \TestTask}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- #1%
- }%
- \def\TestExpected{#2}%
- \ifx\TestResult\TestExpected
- \msg{ \space ok.}%
- \else
- \@onelevel@sanitize\TestResult
- \@onelevel@sanitize\TestExpected
- \msg{ \space Result: \space\space[\TestResult]}%
- \msg{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \fi
- }%
- \ifdim\wd0=0pt %
- \else
- \showbox0 %
- \fi
- \endgroup
-}
-\test{\getrefnumber{foo}}{\empty 1}
-\test{\getpagerefnumber{foo}}{\empty 2}
-\test{\getrefbykeydefault{foo}{}{\empty default}}{\empty 1}
-\test{\getrefbykeydefault{foo}{page}{\empty default}}{\empty 2}
-\test{\getrefbykeydefault{foo}{name}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{anchor}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{url}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{title}{\empty default}}{\empty default}
-\msg{}
-\def\r@foo{{}{}{}{}{}{}{}{}{}{}}
-\def\Test#1#2\\{%
- \test{#1{foo}#2}{}%
-}
-\def\TestGroup{%
- \Test\getrefnumber\\%
- \Test\getpagerefnumber\\%
- \Test\getrefbykeydefault{}{}\\%
- \Test\getrefbykeydefault{page}{}\\%
- \Test\getrefbykeydefault{anchor}{}\\%
- \Test\getrefbykeydefault{name}{}\\%
- \Test\getrefbykeydefault{url}{}\\%
-}
-\TestGroup
-\Test\getrefbykeydefault{title}{}\\%
-\msg{}
-\def\r@foo{\par\par\par\par\par\par\par\par}
-\long\def\Test#1#2\\{%
- \test{#1{foo}#2}{\par}%
-}
-\TestGroup
-\test{\getrefbykeydefault{title}{}{}}{}
-\msg{}
-\def\r@foo{{ }{ }{ }{ }{ }}
-\def\Test#1#2\\{%
- \test{#1{foo}#2}{ }%
-}
-\TestGroup
-\msg{}
-\long\def\TestDefault#1{%
- \begingroup
- \setrefcountdefault{#1}%
- \test{\getrefnumber{foo}}{#1}%
- \test{\getpagerefnumber{foo}}{#1}%
- \endgroup
-}
-\def\TestDefaultX{%
- \TestDefault{}%
- \TestDefault{\par}%
- \TestDefault{ }%
- \TestDefault{\space}%
-}
-\let\r@foo\@undefined
-\TestDefaultX
-\let\r@foo\relax
-\TestDefaultX
-\def\r@foo{}
-\TestDefaultX
-% \end{macrocode}
-% \begin{macrocode}
-\msg{}
-\long\def\Test#1#2#3#4{%
- \begingroup
- \def\TestTask{#1}%
- \@onelevel@sanitize\TestTask
- \msg{* [\TestTask]}%
- \edef\TestResultA{\IfRefUndefinedExpandable{#1}{#2}{#3}}%
- \IfRefUndefinedBabel{#1}{%
- \def\TestResultB{#2}%
- }{%
- \def\TestResultB{#3}%
- }%
- \def\TestExpected{#4}%
- \ifx\TestResultA\TestExpected
- \msg{ \space ok.}%
- \else
- \begingroup
- \@onelevel@sanitize\TestResultA
- \@onelevel@sanitize\TestExpected
- \msg{ \space Result: \space\space[\TestResultA]}%
- \msg{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \endgroup
- \fi
- \ifx\TestResultB\TestExpected
- \msg{ \space ok.}%
- \else
- \begingroup
- \@onelevel@sanitize\TestResultB
- \@onelevel@sanitize\TestExpected
- \msg{ \space Result: \space\space[\TestResultB]}%
- \msg{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \endgroup
- \fi
- \endgroup
-}
-\begingroup
- \def\r@foo{{}{}}%
- \let\r@bar\@undefined
- \let\r@xyz\relax
- \Test{foo}{true}{false}{false}%
- \Test{bar}{true}{false}{true}%
- \Test{xyz}{true}{false}{true}%
-\endgroup
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-% \subsection{Test with package \xpackage{titleref}}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{refcount}[2016/05/16]
-%<test4>\usepackage{nameref}
-\usepackage{titleref}
-\begin{document}
-\section{Hello World}
-\label{sec:hello}
-\section{\hbox{xy}}
-\label{sec:foo}
-%
-\makeatletter
-\@ifundefined{r@sec:hello}{%
- \typeout{==> Compile twice!}%
-}{%
- \def\test#1#2{%
- \begingroup
- \def\TestTask{#1}%
- \@onelevel@sanitize\TestTask
- \typeout{* \TestTask}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- #1%
- }%
- \def\TestExpected{#2}%
- \ifx\TestResult\TestExpected
- \typeout{ \space ok.}%
- \else
- \@onelevel@sanitize\TestResult
- \@onelevel@sanitize\TestExpected
- \typeout{ \space Result: \space\space[\TestResult]}%
- \typeout{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \fi
- \endgroup
- }%
- \test{\getrefbykeydefault{sec:hello}{title}{}}{Hello World}%
- \test{\getrefbykeydefault{sec:foo}{title}{}}{\hbox{xy}}%
- \begingroup
- \def\hbox#1{[#1]}% hash-ok
- \test{\getrefbykeydefault{sec:foo}{title}{}}{\hbox{xy}}%
- \endgroup
-}
-\makeatother
-% \end{macrocode}
-% \begin{macrocode}
-\end{document}
-%</test3>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test5>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{book}
-\usepackage{refcount}[2016/05/16]
-\usepackage{zref-runs}
-\newcounter{test}
-\begin{document}
-\ifnum\zruns>1 %
- \makeatletter
- \def\Test#1#2#3{%
- \begingroup
- \setcounter{test}{10}%
- \sbox0{%
- #1{test}{#2}%
- \ifnum#3=\value{test}%
- \else
- \PackageError{test}{\string#1{#2} <> #3 (\the\value{test})}%
- \fi
- }%
- \ifdim\wd0=0pt %
- \else
- \PackageError{test}{Non-empty box}\@ehc
- \fi
- \endgroup
- }%
- \makeatother
- \Test\setcounterpageref{ch:two}{1}%
- \Test\setcounterpageref{ch:three}{3}%
- \Test\setcounterpageref{ch:four}{5}%
- \Test\setcounterpageref{ch:five}{7}%
- \Test\setcounterpageref{ch:six}{9}%
- \Test\setcounterpageref{ch:seven}{13}%
- \Test\addtocounterpageref{ch:two}{11}%
- \Test\addtocounterpageref{ch:three}{13}%
- \Test\addtocounterpageref{ch:four}{15}%
- \Test\addtocounterpageref{ch:five}{17}%
- \Test\addtocounterpageref{ch:six}{19}%
- \Test\addtocounterpageref{ch:seven}{23}%
- \Test\setcounterref{ch:two}{1}%
- \Test\setcounterref{ch:three}{2}%
- \Test\setcounterref{ch:four}{11}%
- \Test\addtocounterref{ch:two}{11}%
- \Test\addtocounterref{ch:three}{12}%
- \Test\addtocounterref{ch:four}{21}%
-\fi
-\frontmatter
-\chapter{Chapter one}\label{ch:one}
-\cleardoublepage
-\mainmatter
-\chapter{Chapter two}\label{ch:two}
-\cleardoublepage
-\chapter{Chapter three}\label{ch:three}
-\cleardoublepage
-\setcounter{chapter}{10}
-\chapter{Chapter four}\label{ch:four}
-\cleardoublepage
-\appendix
-\chapter{Chapter five}\label{ch:five}
-\cleardoublepage
-\chapter{Chapter six}\label{ch:six}
-\cleardoublepage
-\null
-\cleardoublepage
-\chapter{Chapter seven}\label{ch:seven}
-\end{document}
-%</test5>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1357,11 +924,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% refcount.sty & tex/latex/oberdiek/refcount.sty\\
% refcount.pdf & doc/latex/oberdiek/refcount.pdf\\
-% test/refcount-test1.tex & doc/latex/oberdiek/test/refcount-test1.tex\\
-% test/refcount-test2.tex & doc/latex/oberdiek/test/refcount-test2.tex\\
-% test/refcount-test3.tex & doc/latex/oberdiek/test/refcount-test3.tex\\
-% test/refcount-test4.tex & doc/latex/oberdiek/test/refcount-test4.tex\\
-% test/refcount-test5.tex & doc/latex/oberdiek/test/refcount-test5.tex\\
% refcount.dtx & source/latex/oberdiek/refcount.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/refcount.pdf b/macros/latex/contrib/oberdiek/refcount.pdf
index ea859eda11..a50de50a98 100644
--- a/macros/latex/contrib/oberdiek/refcount.pdf
+++ b/macros/latex/contrib/oberdiek/refcount.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/rerunfilecheck.dtx b/macros/latex/contrib/oberdiek/rerunfilecheck.dtx
index 2687619377..173044c8c0 100644
--- a/macros/latex/contrib/oberdiek/rerunfilecheck.dtx
+++ b/macros/latex/contrib/oberdiek/rerunfilecheck.dtx
@@ -65,7 +65,6 @@
% TDS:tex/latex/oberdiek/rerunfilecheck.sty
% TDS:doc/latex/oberdiek/rerunfilecheck.pdf
% TDS:doc/latex/oberdiek/rerunfilecheck-example.cfg
-% TDS:doc/latex/oberdiek/test/rerunfilecheck-test1.tex
% TDS:source/latex/oberdiek/rerunfilecheck.dtx
%
%<*ignore>
@@ -176,21 +175,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{rerunfilecheck.drv}
%
@@ -724,123 +708,7 @@ and the derived files
\ReFiCh@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{rerunfilecheck}[2016/05/16]}
-%</test1>
-% \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input rerunfilecheck.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -890,7 +758,6 @@ and the derived files
% rerunfilecheck.sty & tex/latex/oberdiek/rerunfilecheck.sty\\
% rerunfilecheck.pdf & doc/latex/oberdiek/rerunfilecheck.pdf\\
% rerunfilecheck-example.cfg & doc/latex/oberdiek/rerunfilecheck-example.cfg\\
-% test/rerunfilecheck-test1.tex & doc/latex/oberdiek/test/rerunfilecheck-test1.tex\\
% rerunfilecheck.dtx & source/latex/oberdiek/rerunfilecheck.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/rerunfilecheck.pdf b/macros/latex/contrib/oberdiek/rerunfilecheck.pdf
index dfab7d9e4e..f0d393ffa1 100644
--- a/macros/latex/contrib/oberdiek/rerunfilecheck.pdf
+++ b/macros/latex/contrib/oberdiek/rerunfilecheck.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/resizegather.dtx b/macros/latex/contrib/oberdiek/resizegather.dtx
index 6f49f1c7ad..596446de2c 100644
--- a/macros/latex/contrib/oberdiek/resizegather.dtx
+++ b/macros/latex/contrib/oberdiek/resizegather.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/resizegather.sty
% TDS:doc/latex/oberdiek/resizegather.pdf
-% TDS:doc/latex/oberdiek/test/resizegather-test1.tex
% TDS:source/latex/oberdiek/resizegather.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{resizegather.sty}{\from{resizegather.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{resizegather-test1.tex}{\from{resizegather.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{resizegather.xml}{\from{resizegather.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -178,21 +173,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{resizegather.drv}
%
@@ -681,118 +661,7 @@ and the derived files
\ResizeGather@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input resizegather.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -841,7 +710,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% resizegather.sty & tex/latex/oberdiek/resizegather.sty\\
% resizegather.pdf & doc/latex/oberdiek/resizegather.pdf\\
-% test/resizegather-test1.tex & doc/latex/oberdiek/test/resizegather-test1.tex\\
% resizegather.dtx & source/latex/oberdiek/resizegather.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/resizegather.pdf b/macros/latex/contrib/oberdiek/resizegather.pdf
index db0ac7254f..a2535e2bd5 100644
--- a/macros/latex/contrib/oberdiek/resizegather.pdf
+++ b/macros/latex/contrib/oberdiek/resizegather.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/rotchiffre.dtx b/macros/latex/contrib/oberdiek/rotchiffre.dtx
index 7e9a9e980d..3023347fe1 100644
--- a/macros/latex/contrib/oberdiek/rotchiffre.dtx
+++ b/macros/latex/contrib/oberdiek/rotchiffre.dtx
@@ -66,8 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/rotchiffre.sty
% TDS:doc/latex/oberdiek/rotchiffre.pdf
-% TDS:doc/latex/oberdiek/test/rotchiffre-test1.tex
-% TDS:doc/latex/oberdiek/test/rotchiffre-test2.tex
% TDS:source/latex/oberdiek/rotchiffre.dtx
%
%<*ignore>
@@ -139,10 +137,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{rotchiffre-test1.tex}{\from{rotchiffre.dtx}{test1}}%
% \file{rotchiffre-test2.tex}{\from{rotchiffre.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{rotchiffre.xml}{\from{rotchiffre.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +175,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{rotchiffre.drv}
%
@@ -719,412 +698,7 @@ and the derived files
\RotCh@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input rotchiffre.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\^=7 %
-\font\rmfont=ec-lmtt10\relax
-\rmfont
-\showboxbreadth=10000 %
-\showboxdepth=10000 %
-\errorcontextlines=10000
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input rotchiffre.sty\relax
-\else
- \RequirePackage{rotchiffre}[2016/05/16]%
- \RequirePackage{ifluatex}[2010/03/01]%
- \RequirePackage{ifxetex}[2010/09/12]%
-\fi
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @onelevel@sanitize\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname detokenize\endcsname\relax
- \def\strip@prefix#1->{}%
- \def\@onelevel@sanitize#1{%
- \edef#1{%
- \expandafter\strip@prefix\meaning#1%
- }%
- }%
- \else
- \def\@onelevel@sanitize#1{%
- \edef#1{%
- \detokenize\expandafter{#1}%
- }%
- }%
- \fi
-\fi
-\def\msg#{\immediate\write16}
-\def\empty{}
-\begingroup
- \def\x#1{%
- \def\space{#1}%
- \def\spacesII{#1#1}%
- \def\spacesIII{#1#1#1}%
- \def\spacesIV{#1#1#1#1}%
- }%
-\expandafter\endgroup\x{ }
-% \end{macrocode}
-% \begin{macrocode}
-\def\PrintStr#1#2{%
- \begingroup
- \@onelevel@sanitize#2%
- \msg{#1: [#2]}% hash-ok
- \endgroup
-}
-\def\CheckResult{%
- \PrintStr{Result}\StrResult
- \ifx\StrExpect\StrResult
- \msg{==> Ok}%
- \else
- \begingroup
- \edef\x{\endgroup
- \errmessage{Test failed (\chiffre)!}%
- }\x
- \fi
-}
-\long\def\test#1#2{%
- \msg{}%
- \begingroup
- \setbox0=\hbox{%
- \edef\StrInput{#1}%
- \@onelevel@sanitize\StrInput
- \PrintStr{ Input}\StrInput
- \edef\StrExpect{#2}%
- \@onelevel@sanitize\StrExpect
- \PrintStr{Expect}\StrExpect
- \action{#1}%
- \CheckResult
- }%
- \ifdim\wd0=0pt %
- \else
- \showbox0 %
- \fi
- \endgroup
-}
-\def\cmd#1{%
- \msg{* CMD: ROT#1}%
- \def\chiffre{ROT#1}%
- \def\action{\EdefRot{#1}\StrResult}%
-}
-% \end{macrocode}
-% \begin{macrocode}
-\def\TestIgnore#1{%
- \test{#1}{#1}%
-}
-\begingroup
- \lccode`\P=`\%%
- \lccode`\B=`\\%
- \lccode`\H=`\#%
-\lowercase{\endgroup
- \def\PercentChar{P}%
- \def\BackslashChar{B}%
- \def\HashChar{H}%
-}
-\def\TestI{%
- \TestIgnore{%
- \space!"\HashChar$\PercentChar&'()*+,-./%
- :;<=>?@%
- [\BackslashChar]^_`%
- \string{|\string}\string~%
- }%
-}
-\begingroup
- \catcode0=12 %
- \lccode`A=1 %
- \lccode`B=2 %
- \lccode`C=3 %
- \lccode`D=4 %
- \lccode`E=5 %
- \lccode`F=6 %
- \lccode`G=7 %
- \lccode`H=8 %
- \lccode`I=9 %
- \lccode`J=10 %
- \lccode`K=11 %
- \lccode`L=12 %
- \lccode`M=13 %
- \lccode`N=14 %
- \lccode`O=15 %
- \lccode`P=16 %
- \lccode`Q=17 %
- \lccode`R=18 %
- \lccode`S=19 %
- \lccode`T=20 %
- \lccode`U=21 %
- \lccode`V=22 %
- \lccode`W=23 %
- \lccode`X=24 %
- \lccode`Y=25 %
- \lccode`Z=26 %
- \lccode`a=27 %
- \lccode`b=28 %
- \lccode`c=29 %
- \lccode`d=30 %
- \lccode`e=31 %
- \lccode`f=127 %
- \lccode`g=128 %
- \lccode`h=129 %
- \lccode`y=254 %
- \lccode`z=255 %
-\lowercase{\endgroup
- \def\TestC{%
- \TestIgnore{%
- ^^@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhyz%
- }%
- }%
- \def\TestZ{%
- \TestIgnore{^^@}%
- }%
-}
-% \end{macrocode}
-%
-% \subsubsection{ROT13}
-%
-% \begin{macrocode}
-\cmd{13}
-\test{%
- 0123456789%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ%
- abcdefghijklmnopqrstuvwxyz%
-}{%
- 0123456789%
- NOPQRSTUVWXYZABCDEFGHIJKLM%
- nopqrstuvwxyzabcdefghijklm%
-}
-\TestI
-\TestC
-\test{}{}
-\test{A}{N}
-\test{N}{A}
-\test{ }{ }
-\test{0a}{0n}
-\test{\spacesIV}{\spacesIV}
-\test{{}}{{}}
-\test{\par}{\noexpand\cne}
-% \end{macrocode}
-%
-% \subsubsection{ROT5}
-%
-% \begin{macrocode}
-\cmd{5}
-\test{%
- 0123456789%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ%
- abcdefghijklmnopqrstuvwxyz%
-}{%
- 5678901234%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ%
- abcdefghijklmnopqrstuvwxyz%
-}
-\TestI
-\TestC
-% \end{macrocode}
-%
-% \subsubsection{ROT18}
-%
-% \begin{macrocode}
-\cmd{18}
-\test{%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%
- abcdefghijklmnopqrstuvwxyz%
-}{%
- STUVWXYZ0123456789ABCDEFGHIJKLMNOPQR%
- nopqrstuvwxyzabcdefghijklm%
-}
-\TestI
-\TestC
-% \end{macrocode}
-%
-% \subsubsection{ROT47}
-%
-% \begin{macrocode}
-\cmd{47}
-\test{%
- !"\HashChar$\PercentChar&'()*+,-./%
- 0123456789%
- :;<=>?@%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ%
- [\BackslashChar]^_`%
- abcdefghijklmnopqrstuvwxyz%
- \string{|\string}\string~%
-}{%
- PQRSTUVWXYZ%
- [\BackslashChar]^_`%
- abcdefghijklmnopqrstuvwxyz%
- \string{|\string}\string~%
- !"\HashChar$\PercentChar&'()*+,-./%
- 0123456789%
- :;<=>?@%
- ABCDEFGHIJKLMNO%
-}
-\TestZ
-\TestC
-% \end{macrocode}
-%
-% \subsubsection{Big chars}
-%
-% \begin{macrocode}
-\chardef\temp=0 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname XeTeXrevision\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ifluatex.sty\relax
- \else
- \RequirePackage{ifluatex}[2010/03/01]%
- \fi
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname luatexversion\endcsname\relax
- \else
- \chardef\temp=1 %
- \fi
-\else
- \chardef\temp=1 %
-\fi
-\ifcase\temp
- \csname @@end\expandafter\endcsname\expandafter\end
-\fi
-% \end{macrocode}
-% \begin{macrocode}
-\msg{* Big chars}
-\cmd{5}
-\test{}{}
-\test{ }{ }
-\test{ 0 1 }{ 5 6 }
-\begingroup
- \lccode`A=300 %
- \lccode`B=1000 %
- \lccode`C=10000 %
-\lowercase{\endgroup
- \TestIgnore{ABC}%
- \TestIgnore{x A By zC xAy AxB}%
-}%
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1173,8 +747,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% rotchiffre.sty & tex/generic/oberdiek/rotchiffre.sty\\
% rotchiffre.pdf & doc/latex/oberdiek/rotchiffre.pdf\\
-% test/rotchiffre-test1.tex & doc/latex/oberdiek/test/rotchiffre-test1.tex\\
-% test/rotchiffre-test2.tex & doc/latex/oberdiek/test/rotchiffre-test2.tex\\
% rotchiffre.dtx & source/latex/oberdiek/rotchiffre.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/rotchiffre.pdf b/macros/latex/contrib/oberdiek/rotchiffre.pdf
index 698c213c9c..29808342d1 100644
--- a/macros/latex/contrib/oberdiek/rotchiffre.pdf
+++ b/macros/latex/contrib/oberdiek/rotchiffre.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/scrindex.dtx b/macros/latex/contrib/oberdiek/scrindex.dtx
index 68ba61790a..fea57fd1a9 100644
--- a/macros/latex/contrib/oberdiek/scrindex.dtx
+++ b/macros/latex/contrib/oberdiek/scrindex.dtx
@@ -133,10 +133,6 @@ and the derived files
\usedir{doc/latex/oberdiek}%
\file{scrindex-example1.tex}{\from{scrindex.dtx}{example1}}%
\file{scrindex-example2.tex}{\from{scrindex.dtx}{example2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{scrindex.xml}{\from{scrindex.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -174,21 +170,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{scrindex.drv}
%
diff --git a/macros/latex/contrib/oberdiek/scrindex.pdf b/macros/latex/contrib/oberdiek/scrindex.pdf
index eb5b144d21..887e13df7a 100644
--- a/macros/latex/contrib/oberdiek/scrindex.pdf
+++ b/macros/latex/contrib/oberdiek/scrindex.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/selinput.dtx b/macros/latex/contrib/oberdiek/selinput.dtx
index 1dcc45ff79..97fc336c3c 100644
--- a/macros/latex/contrib/oberdiek/selinput.dtx
+++ b/macros/latex/contrib/oberdiek/selinput.dtx
@@ -64,11 +64,6 @@
% Installation:
% TDS:tex/latex/oberdiek/selinput.sty
% TDS:doc/latex/oberdiek/selinput.pdf
-% TDS:doc/latex/oberdiek/test/selinput-test1.tex
-% TDS:doc/latex/oberdiek/test/selinput-test2.tex
-% TDS:doc/latex/oberdiek/test/selinput-test3.tex
-% TDS:doc/latex/oberdiek/test/selinput-test4.tex
-% TDS:doc/latex/oberdiek/test/selinput-test5.tex
% TDS:source/latex/oberdiek/selinput.dtx
%
%<*ignore>
@@ -141,10 +136,6 @@ and the derived files
% \file{selinput-test3.tex}{\from{selinput.dtx}{test,test3}}%
% \file{selinput-test4.tex}{\from{selinput.dtx}{test,test4}}%
% \file{selinput-test5.tex}{\from{selinput.dtx}{test,test5}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{selinput.xml}{\from{selinput.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -187,21 +178,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{selinput.drv}
%
@@ -666,123 +642,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{textcomp}
-\usepackage{qstest}
-% \end{macrocode}
-% \begin{macrocode}
-%<*test1|test2|test3>
-\makeatletter
-\let\BeginDocumentText\@empty
-\def\TestEncoding#1#2{%
- \SelectInputMappings{#2}%
- \Expect*{\SIE@Encoding}{#1}%
- \Expect*{\inputencodingname}{#1}%
- \g@addto@macro\BeginDocumentText{%
- \SelectInputMappings{#2}%
- \Expect*{\SIE@Encoding}{#1}%
- \textbf{\SIE@Encoding:} %
- \kvsetkeys{test}{#2}\par
- }%
-}
-\def\TestKey#1#2{%
- \define@key{test}{#1}{%
- \sbox0{##1}%
- \sbox2{#2}%
- \Expect*{wd:\the\wd0, ht:\the\ht0, dp:\the\dp0}%
- *{wd:\the\wd2, ht:\the\ht2, dp:\the\dp2}%
- [#1=##1] % hash-ok
- }%
-}
-\RequirePackage{keyval}
-\TestKey{adieresis}{\"a}
-\TestKey{germandbls}{\ss}
-\TestKey{Euro}{\texteuro}
-\makeatother
-\usepackage[
- warning,%
-%<test2> utf8=utf-8,
-%<test3> ucs,
-]{selinput}
-%<test1|test3>\inputencoding{ascii}
-%<test2>\inputencoding{utf-8}
-%<test3>\usepackage{ucs}
-\begin{qstest}{preamble}{}
- \TestEncoding{x-iso-8859-15}{%
- adieresis=^^e4,%
- germandbls=^^df,%
- Euro=^^a4,%
- }%
- \TestEncoding{x-cp1252}{%
- adieresis=^^e4,%
- germandbls=^^df,%
- Euro=^^80,%
- }%
-%<test1> \TestEncoding{utf8}{%
-%<test2> \TestEncoding{utf-8}{%
-%<test3> \TestEncoding{utf8x}{%
- adieresis=^^c3^^a4,%
- germandbls=^^c3^^9f,%
-%<!test2> Euro=^^e2^^82^^ac,
- }%
-\end{qstest}
-%<test3>\let\ifUnicodeOptiongraphics\iffalse
-\begin{document}
-\begin{qstest}{document}{}
-%<test3>\makeatletter
- \BeginDocumentText
-\end{qstest}
-%</test1|test2|test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4>
-\usepackage[warning,ucs]{selinput}
-\SelectInputMappings{%
- adieresis=^^c3^^a4,%
- germandbls=^^c3^^9f,%
- Euro=^^e2^^82^^ac,%
-}
-\begin{qstest}{encoding}{}
- \Expect*{\inputencodingname}{utf8x}%
-\end{qstest}
-\begin{document}
- adieresis=^^c3^^a4, %
- germandbls=^^c3^^9f, %
- Euro=^^e2^^82^^ac%
-%</test4>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test5>
-\usepackage[warning,ucs]{selinput}
-\SelectInputMappings{%
- adieresis={\"a},%
- germandbls={{\ss}},%
- Euro=\texteuro{},%
-}
-\begin{qstest}{encoding}{}
- \Expect*{\inputencodingname}{ascii}%
-\end{qstest}
-\begin{document}
- adieresis={\"a}, %
- germandbls={{\ss}}, %
- Euro=\texteuro{}%
-%</test5>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\end{document}
-%</test>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -831,11 +691,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% selinput.sty & tex/latex/oberdiek/selinput.sty\\
% selinput.pdf & doc/latex/oberdiek/selinput.pdf\\
-% test/selinput-test1.tex & doc/latex/oberdiek/test/selinput-test1.tex\\
-% test/selinput-test2.tex & doc/latex/oberdiek/test/selinput-test2.tex\\
-% test/selinput-test3.tex & doc/latex/oberdiek/test/selinput-test3.tex\\
-% test/selinput-test4.tex & doc/latex/oberdiek/test/selinput-test4.tex\\
-% test/selinput-test5.tex & doc/latex/oberdiek/test/selinput-test5.tex\\
% selinput.dtx & source/latex/oberdiek/selinput.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/selinput.pdf b/macros/latex/contrib/oberdiek/selinput.pdf
index d92d4c725b..f851f0385c 100644
--- a/macros/latex/contrib/oberdiek/selinput.pdf
+++ b/macros/latex/contrib/oberdiek/selinput.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/setouterhbox.dtx b/macros/latex/contrib/oberdiek/setouterhbox.dtx
index baa5ac5573..001cd278d3 100644
--- a/macros/latex/contrib/oberdiek/setouterhbox.dtx
+++ b/macros/latex/contrib/oberdiek/setouterhbox.dtx
@@ -68,8 +68,6 @@
% TDS:tex/generic/oberdiek/setouterhbox.sty
% TDS:doc/latex/oberdiek/setouterhbox.pdf
% TDS:doc/latex/oberdiek/setouterhbox-example.tex
-% TDS:doc/latex/oberdiek/test/setouterhbox-test1.tex
-% TDS:doc/latex/oberdiek/test/setouterhbox-test2.tex
% TDS:source/latex/oberdiek/setouterhbox.dtx
%
%<*ignore>
@@ -144,10 +142,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{setouterhbox-test1.tex}{\from{setouterhbox.dtx}{test1}}%
% \file{setouterhbox-test2.tex}{\from{setouterhbox.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{setouterhbox.xml}{\from{setouterhbox.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -184,21 +178,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{setouterhbox.drv}
%
@@ -787,154 +766,7 @@ E \egroup
\setouterhboxAtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input setouterhbox.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test with package \xpackage{url}}
-%
-% \begin{macrocode}
-%<*test2>
-\nofiles
-\documentclass[a5paper]{article}
-\usepackage{url}[2005/06/27]
-\usepackage{setouterhbox}
-
-\newsavebox{\testbox}
-
-\setlength{\parindent}{0pt}
-\setlength{\parskip}{2em}
-
-\begin{document}
-\raggedright
-
-\url{http://this.is.a.very.long.host.name/followed/%
-by/a/very_long_long_long_path.html}%
-
-\sbox\testbox{%
- \url{http://this.is.a.very.long.host.name/followed/%
- by/a/very_long_long_long_path.html}%
-}%
-\unhbox\testbox
-
-\begin{setouterhbox}{\testbox}%
- \url{http://this.is.a.very.long.host.name/followed/%
- by/a/very_long_long_long_path.html}%
-\end{setouterhbox}
-\unhbox\testbox
-
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -984,8 +816,6 @@ by/a/very_long_long_long_path.html}%
% setouterhbox.sty & tex/generic/oberdiek/setouterhbox.sty\\
% setouterhbox.pdf & doc/latex/oberdiek/setouterhbox.pdf\\
% setouterhbox-example.tex & doc/latex/oberdiek/setouterhbox-example.tex\\
-% test/setouterhbox-test1.tex & doc/latex/oberdiek/test/setouterhbox-test1.tex\\
-% test/setouterhbox-test2.tex & doc/latex/oberdiek/test/setouterhbox-test2.tex\\
% setouterhbox.dtx & source/latex/oberdiek/setouterhbox.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/setouterhbox.pdf b/macros/latex/contrib/oberdiek/setouterhbox.pdf
index c2efdc3fb4..be203061ab 100644
--- a/macros/latex/contrib/oberdiek/setouterhbox.pdf
+++ b/macros/latex/contrib/oberdiek/setouterhbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/settobox.dtx b/macros/latex/contrib/oberdiek/settobox.dtx
index 7ff43430a5..c38d502a53 100644
--- a/macros/latex/contrib/oberdiek/settobox.dtx
+++ b/macros/latex/contrib/oberdiek/settobox.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{settobox.sty}{\from{settobox.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{settobox-example.tex}{\from{settobox.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{settobox.xml}{\from{settobox.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -173,21 +169,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{settobox.drv}
%
diff --git a/macros/latex/contrib/oberdiek/settobox.pdf b/macros/latex/contrib/oberdiek/settobox.pdf
index 7b1c067ae1..e9d22ad222 100644
--- a/macros/latex/contrib/oberdiek/settobox.pdf
+++ b/macros/latex/contrib/oberdiek/settobox.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/soulutf8.dtx b/macros/latex/contrib/oberdiek/soulutf8.dtx
index a25b50be1c..f5708e8ac2 100644
--- a/macros/latex/contrib/oberdiek/soulutf8.dtx
+++ b/macros/latex/contrib/oberdiek/soulutf8.dtx
@@ -67,11 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/soulutf8.sty
% TDS:doc/latex/oberdiek/soulutf8.pdf
-% TDS:doc/latex/oberdiek/test/soulutf8-test1.tex
-% TDS:doc/latex/oberdiek/test/soulutf8-test2.tex
-% TDS:doc/latex/oberdiek/test/soulutf8-test3.tex
-% TDS:doc/latex/oberdiek/test/soulutf8-test4.tex
-% TDS:doc/latex/oberdiek/test/soulutf8-test5.tex
% TDS:source/latex/oberdiek/soulutf8.dtx
%
%<*ignore>
@@ -147,10 +142,6 @@ and the derived files
% \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}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{soulutf8.xml}{\from{soulutf8.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -187,21 +178,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{soulutf8.drv}
%
@@ -1128,553 +1104,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input soulutf8.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{\LaTeX\space tests}
-%
-% \begin{macrocode}
-%<*test2|test3|test4|test5>
-% \end{macrocode}
-% \begin{macrocode}
-%<noetex>\let\SavedUnexpanded\unexpanded
-%<noetex>\let\unexpanded\UNDEFINED
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{textcomp}
-\usepackage[ngerman]{babel}
-\expandafter\def\csname ver@hypdestopt.sty\endcsname{}
-\usepackage[unicode]{hyperref}
-\usepackage{bookmark}
-\usepackage{color}
-\usepackage{soul}[2003/11/17]
-\makeatletter
-\newcommand*{\@ifDefined}[1]{%
- \@ifundefined{#1}{%
- \@latex@error{%
- \expandafter\noexpand\csname#1\endcsname undefined%
- }\@ehc
- }%
-}
-\newcommand*{\SaveOrg}[1]{%
- \@ifdefinable{ORG@SOUL@#1}{%
- \@ifDefined{SOUL@#1}{%
- \expandafter\let\csname ORG@SOUL@#1\expandafter\endcsname
- \csname SOUL@#1\endcsname
- }%
- }%
-}
-\newcommand*{\RestoreOrg}[1]{%
- \@ifDefined{ORG@SOUL@#1}{%
- \@ifDefined{SOUL@#1}{%
- \expandafter\let\csname SOUL@#1\expandafter\endcsname
- \csname ORG@SOUL@#1\endcsname
- }%
- }%
-}
-\makeatother
-\SaveOrg{eval}
-\SaveOrg{splittoken}
-\SaveOrg{flushcomma}
-\SaveOrg{flushapo}
-\SaveOrg{grave}
-\SaveOrg{addgroup}
-\SaveOrg{addmath}
-\SaveOrg{addprotect}
-\SaveOrg{addtoken}
-\usepackage{soulutf8}[2016/05/16]
-% \end{macrocode}
-% \begin{macrocode}
-%<noetex>\let\unexpanded\SavedUnexpanded
-% \end{macrocode}
-% Input encoding \xfile{utf8}.
-% \begin{macrocode}
-%<*utf8>
-\usepackage[utf8]{inputenc}
-\DeclareUnicodeCharacter{00A0}{\nobreakspace}
-%</utf8>
-% \end{macrocode}
-% Input encoding \xfile{utf8x}. Package \xpackage{ucs}
-% has a nasty bug, that it redefines \cs{show}.
-% \begin{macrocode}
-%<*utf8x>
-\let\origshow\show
-\usepackage[utf8x]{inputenc}
-\AtBeginDocument{%
- \let\show\origshow
-}
-%</utf8x>
-% \end{macrocode}
-%
-% \subsubsection{Driver definitions}
-%
-% \begin{macrocode}
-\makeatletter
-% \end{macrocode}
-% \begin{macro}{\an}
-% The definition for \cs{an} is taken from the documentation of
-% package \xpackage{soul}.
-% \begin{macrocode}
-\DeclareRobustCommand*{\an}{%
- \def\SOUL@preamble{$^{^P}$}%
- \def\SOUL@everyspace##1{##1\texttt{\char`\ }\linebreak[2]}%
- \def\SOUL@postamble{$^{^E}$}%
- \def\SOUL@everyhyphen{$^{^-}$\linebreak[1]}%
- \def\SOUL@everyexhyphen##1{##1$^{^=}$}%
- \def\SOUL@everysyllable{$^{^S}$}%
- \def\SOUL@everytoken{\the\SOUL@token$^{^T}$}%
- \def\SOUL@everylowerthan{$^{^L}$}%
- \SOUL@
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sy}
-% The definition for \cs{sy} is taken from the documentation of
-% package \xpackage{soul}.
-% \begin{macrocode}
-\DeclareRobustCommand*{\sy}{%
- \SOUL@setup
- \def\SOUL@preamble{%
- \lefthyphenmin=\z@
- \righthyphenmin=\z@
- }%
- \def\SOUL@everyspace##1{##1\space}%
- \def\SOUL@everysyllable{\the\SOUL@syllable}%
- \def\SOUL@everyhyphen{%
- \discretionary{%
- \SOUL@setkern\SOUL@hyphkern
- \SOUL@sethyphenchar
- }{}{%
- \hbox{\kern1pt$\cdot$}%
- }%
- }%
- \def\SOUL@everyexhyphen##1{%
- \SOUL@setkern\SOUL@hyphkern
- \hbox{##1}%
- \discretionary{}{}{%
- \SOUL@setkern\SOUL@charkern
- }%
- }%
- \SOUL@
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\soulH}
-% \begin{macrocode}
-\DeclareRobustCommand*{\soulH}{%
- \def\SOUL@preamble{%
- \gdef\SOULH{}%
- \soulHadd{[}%
- }%
- \def\SOUL@everyspace##1{%
- \soulHadd{Sp}%
- }%
- \def\SOUL@postamble{%
- \soulHadd{]}%
- }%
- \def\SOUL@everyhyphen{%
- \soulHadd{Hy}%
- }%
- \def\SOUL@everyexhyphen##1{%
- \soulHadd{Exhy}%
- }%
- \def\SOUL@everysyllable{%
- \soulHadd{Sy}%
- }%
- \def\SOUL@everytoken{%
- \soulHadd{T}%
- }%
- \def\SOUL@everylowerthan{%
- \soulHadd{<}%
- }%
- \SOUL@
-}
-\newcommand*{\soulHadd}[1]{%
- #1%
- \expandafter\gdef\expandafter\soulHstring\expandafter{%
- \soulHstring
- #1%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Test macros}
-%
-% \begin{macrocode}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-% \end{macrocode}
-% \begin{macrocode}
-\newsavebox\boxA
-\newsavebox\boxB
-\newsavebox\boxC
-% \end{macrocode}
-% \begin{macro}{\TestDriver}
-% \begin{macrocode}
-\newcommand*{\TestDriver}[4]{%
- \subsection{Driver #1}%
- \@PackageInfo{soulutf8-test}{* Driver #1}%
- \expandafter\let\expandafter\testdriver\csname #1\endcsname
- \def\teststringA{#3}%
- \def\teststringB{#4}%
- \begin{qstest}{string-#2-driver-#1}{string,#2,driver,#1}%
- \@PackageInfo{soulutf8-test}{* Version: soulutf8}%
- \global\let\soulHstring\@empty
- \setbox0=\hbox{\expandafter\testdriver\expandafter{\teststringA}}%
- \let\HstringA\soulHstring
- \SetTestVBox{\boxA}{\teststringA}%
- %
- \@PackageInfo{soulutf8-test}{* Version: soul + patch}%
- \global\let\soulHstring\@empty
- \RestoreOrg{eval}%
- \setbox2=\hbox{\expandafter\testdriver\expandafter{\teststringB}}%
- \let\HstringB\soulHstring
- \SetTestVBox{\boxB}{\teststringB}%
- %
- \@PackageInfo{soulutf8-test}{* Version: original soul}%
- \global\let\soulHstring\@empty
- \RestoreOrg{splittoken}%
- \RestoreOrg{flushcomma}%
- \RestoreOrg{flushapo}%
- \RestoreOrg{grave}%
- \RestoreOrg{addgroup}%
- \RestoreOrg{addmath}%
- \RestoreOrg{addprotect}%
- \RestoreOrg{addtoken}%
- \setbox4=\hbox{\expandafter\testdriver\expandafter{\teststringB}}%
- \let\HstringC\soulHstring
- \SetTestVBox{\boxC}{\teststringB}%
- %
- \TestInfo{0}{soulutf8}%
- \TestInfo{2}{soul + patch}%
- \TestInfo{4}{original soul}%
- \TestInfoVBox
- \showboxdepth=\maxdimen
- \showboxbreadth=\maxdimen
- \tracingonline=\@ne
- \Expect*{\HstringA}*{\HstringB}%
- \Expect*{\HstringA}*{\HstringC}%
- \Expect*{\the\wd0}*{\the\wd2}%
- \ifdim\wd0=\wd2 %
- \else
- \showbox0 %
- \showbox2 %
- \fi
- \Expect*{\the\ht0}*{\the\ht2}%
- \Expect*{\the\dp0}*{\the\dp2}%
- \Expect*{\the\wd\boxB}*{\the\wd\boxA}%
- \Expect*{\the\wd\boxC}*{\the\wd\boxA}%
- \Expect*{\the\ht\boxB}*{\the\ht\boxA}%
- \ifdim\ht\boxB=\ht\boxA
- \else
- \showbox\boxA
- \showbox\boxB
- \fi
- \Expect*{\the\ht\boxC}*{\the\ht\boxA}%
- \Expect*{\the\dp\boxB}*{\the\dp\boxA}%
- \Expect*{\the\dp\boxC}*{\the\dp\boxA}%
- \end{qstest}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\SetTestVBox}
-% \begin{macrocode}
-\newcommand*{\SetTestVBox}[2]{%
- \setbox#1=\vbox{%
- \hsize=0pt\relax
- \hfuzz=100mm\relax
- \expandafter\testdriver\expandafter{#2}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\TestInfo}
-% \begin{macrocode}
-\newcommand*{\TestInfo}[2]{%
- \par
- \noindent
- \copy#1\relax
- \hfill
- \begingroup
- \small
- \ifdim\wd0=\wd2\relax
- \ifdim\wd0=\wd4\relax
- \else
- \ifnum#1=2 %
- \raisebox{.5\baselineskip}[0pt][0pt]{%
- \llap{$\}$ }%
- \rlap{width = \the\wd#1\relax\space$\{$}%
- \phantom{width = 999.99999pt}%
- \qquad
- }%
- \else
- \ifnum#1=4 %
- \rlap{width = \the\wd#1}%
- \phantom{width = 999.99999pt}%
- \qquad
- \fi
- \fi
- \fi
- \else
- \begingroup
- \bfseries
- \rlap{width = \the\wd#1}%
- \phantom{width = 999.99999pt}%
- \endgroup
- \qquad
- \fi
- \rlap{(#2)}%
- \phantom{(original soul)}%
- \endgroup
- \par
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\TestInfoVBox}
-% \begin{macrocode}
-\newcommand*{\TestInfoVBox}{%
- \par
- \noindent
- \mbox{\vrule\relax\space\copy\boxA}%
- \ifdim\ht\boxA=\ht\boxB
- \else
- \hfill
- \begingroup
- \small
- \rlap{(soulutf8)}%
- \phantom{(soulutf8)}%
- \endgroup
- \par
- \noindent
- \mbox{\vrule\relax\space\copy\boxB}%
- \hfill
- \begingroup
- \small
- \rlap{(soul)}%
- \phantom{(soulutf8)}%
- \endgroup
- \fi
- \par
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\Test}
-% \begin{macrocode}
-\makeatletter
-\newcommand*{\Test}[3]{%
- \clearpage
- \begingroup
- \def\linebreak{\textbackslash linebreak }%
- \def\\{\textbackslash\textbackslash}%
- \def\soulomit##1{%
- \textbackslash soulomit\textbraceleft##1\textbraceright
- }%
- \def\mbox##1{%
- \textbackslash mbox\textbraceleft##1\textbraceright
- }%
- \def\abc{\textbackslash abc }%
- \def\texttt##1{%
- \textbackslash texttt\textbraceleft##1\textbraceright
- }%
- \def\c##1{%
- \textbackslash c\textbraceleft##1\textbraceright
- }%
-%<*utf8x>
- \count@=128 %
- \loop
- \ifnum\count@<256 %
- \lccode`\~=\count@
- \lowercase{%
- \def~{\noexpand~}%
- }%
- \advance\count@\@ne
- \repeat
-%</utf8x>
- \csname protected@edef\endcsname\x{\endgroup
- \noexpand\section{String #1: #2}%
- }%
- \x
- \TestDriver{so}{#1}{#2}{#3}%
- \TestDriver{caps}{#1}{#2}{#3}%
- \TestDriver{ul}{#1}{#2}{#3}%
- \TestDriver{st}{#1}{#2}{#3}%
- \TestDriver{hl}{#1}{#2}{#3}%
- \TestDriver{an}{#1}{#2}{#3}%
- \TestDriver{sy}{#1}{#2}{#3}%
- \TestDriver{soulH}{#1}{#2}{#3}%
-}
-\makeatother
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Testing}
-%
-% \begin{macrocode}
-\begin{document}
- \Test A{}{}%
- \Test B{Hello World}{Hello World}%
- \Test C{%
- Umlauts: ^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f%
- }{%
- Umlauts: \"A\"O\"U\"a\"o\"u\ss
- }%
- \Test D{Euro: ^^e2^^82^^ac}{Euro: \texteuro}%
- \Test E{Stra^^c3^^9fe}{Stra\ss e}%
- \Test F{R^^c3^^b6mer}{R\"omer}%
- \Test G{A^^e2^^80^^93B^^e2^^80^^94C}{A--B---C}%
- \Test H{X^^c2^^a0Y}{X~Y}%
- \Test I{A^^c5^^a4}{A\v T}%
- \Test J{A,B,,C,,,D,,,,E}{A,B,,C,,,D,,,,E}%
- \Test K{A'B''C'''D''''E}{A'B''C'''D''''E}%
- \Test L{A`B``C```D````E}{A`B``C```D````E}%
- \Test M{A$x$B}{A$x$B}%
- \Test N{A\mbox{abc}B}{A\mbox{abc}B}%
- \Test O{,,TA''}{,,TA''}%
- \Test P{{!`}Hola{?`}}{{!`}Hola{?`}}%
- \Test Q{re-sent\slash x}{re-sent\slash x}%
- \Test R{new\\line}{new\\line}%
- \Test S{foo\linebreak bar}{foo\linebreak bar}%
- \Test T{Virchow{sche}}{Virchow{sche}}%
- \Test U{A\soulomit{foo}B}{A\soulomit{foo}B}%
- \Test V{A\texttt{xyz}B}{A\texttt{xyz}B}%
- \Test W{ffi}{ffi}%
- \Test X{f{}f{}i}{f{}f{}i}%
- \Test Y{f\mbox{}f\mbox{}i}{f\mbox{}f\mbox{}i}%
- \Test Z{\c{\"a}}{{\c{\"a}}}%
-%<*test2|test3>
- \let\abcx\UNDEFINED
- \def\abc{%
- \begingroup
- \def\abcx{x}%
- \abcx
- \endgroup
- }%
- \Test{AA}{[{x\abc x}]}{[{xxx}]}%
-%</test2|test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</test2|test3|test4|test5>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1723,11 +1153,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% soulutf8.sty & tex/generic/oberdiek/soulutf8.sty\\
% soulutf8.pdf & doc/latex/oberdiek/soulutf8.pdf\\
-% test/soulutf8-test1.tex & doc/latex/oberdiek/test/soulutf8-test1.tex\\
-% test/soulutf8-test2.tex & doc/latex/oberdiek/test/soulutf8-test2.tex\\
-% test/soulutf8-test3.tex & doc/latex/oberdiek/test/soulutf8-test3.tex\\
-% test/soulutf8-test4.tex & doc/latex/oberdiek/test/soulutf8-test4.tex\\
-% test/soulutf8-test5.tex & doc/latex/oberdiek/test/soulutf8-test5.tex\\
% soulutf8.dtx & source/latex/oberdiek/soulutf8.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/soulutf8.pdf b/macros/latex/contrib/oberdiek/soulutf8.pdf
index 3efb582a11..cf4409cdda 100644
--- a/macros/latex/contrib/oberdiek/soulutf8.pdf
+++ b/macros/latex/contrib/oberdiek/soulutf8.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/stackrel.dtx b/macros/latex/contrib/oberdiek/stackrel.dtx
index 57cef731c3..6b3444c33c 100644
--- a/macros/latex/contrib/oberdiek/stackrel.dtx
+++ b/macros/latex/contrib/oberdiek/stackrel.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{stackrel.drv}{\from{stackrel.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{stackrel.sty}{\from{stackrel.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{stackrel.xml}{\from{stackrel.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -168,21 +164,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{stackrel.drv}
%
diff --git a/macros/latex/contrib/oberdiek/stackrel.pdf b/macros/latex/contrib/oberdiek/stackrel.pdf
index 57fa7b7944..8457865306 100644
--- a/macros/latex/contrib/oberdiek/stackrel.pdf
+++ b/macros/latex/contrib/oberdiek/stackrel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/stampinclude.dtx b/macros/latex/contrib/oberdiek/stampinclude.dtx
index 5824cf4425..9acd8a61f8 100644
--- a/macros/latex/contrib/oberdiek/stampinclude.dtx
+++ b/macros/latex/contrib/oberdiek/stampinclude.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{stampinclude.drv}{\from{stampinclude.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{stampinclude.sty}{\from{stampinclude.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{stampinclude.xml}{\from{stampinclude.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{stampinclude.drv}
%
@@ -610,13 +591,13 @@ and the derived files
% Pablo A. Straub, Heiko Oberdiek:
% \textit{The \xpackage{askinclude} package};
% 2007/10/23 v2.0;
-% \CTAN{macros/latex/contrib/oberdiek/askinclude.pdf}.
+% \CTANpkg{askinclude}.
%
% \bibitem{pdftexcmds}
% Heiko Oberdiek:
% \textit{The \xpackage{pdftexcmds} package};
% 2007/12/12 v0.3;
-% \CTAN{macros/latex/contrib/oberdiek/pdftexcmds.pdf}.
+% \CTANpkg{pdftexcmds}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/stampinclude.pdf b/macros/latex/contrib/oberdiek/stampinclude.pdf
index d020b7c68b..3e72ead4ae 100644
--- a/macros/latex/contrib/oberdiek/stampinclude.pdf
+++ b/macros/latex/contrib/oberdiek/stampinclude.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/tabularht.dtx b/macros/latex/contrib/oberdiek/tabularht.dtx
index dba2d2f899..8d1ef6cb74 100644
--- a/macros/latex/contrib/oberdiek/tabularht.dtx
+++ b/macros/latex/contrib/oberdiek/tabularht.dtx
@@ -133,10 +133,6 @@ and the derived files
\usedir{doc/latex/oberdiek}%
\file{tabularht-example1.tex}{\from{tabularht.dtx}{example1}}%
\file{tabularht-example2.tex}{\from{tabularht.dtx}{example2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{tabularht.xml}{\from{tabularht.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -173,21 +169,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{tabularht.drv}
%
diff --git a/macros/latex/contrib/oberdiek/tabularht.pdf b/macros/latex/contrib/oberdiek/tabularht.pdf
index f2931eded6..92ea96cc84 100644
--- a/macros/latex/contrib/oberdiek/tabularht.pdf
+++ b/macros/latex/contrib/oberdiek/tabularht.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/tabularkv.dtx b/macros/latex/contrib/oberdiek/tabularkv.dtx
index 4bd350bd19..57ef5e8745 100644
--- a/macros/latex/contrib/oberdiek/tabularkv.dtx
+++ b/macros/latex/contrib/oberdiek/tabularkv.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{tabularkv.sty}{\from{tabularkv.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{tabularkv-example.tex}{\from{tabularkv.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{tabularkv.xml}{\from{tabularkv.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +167,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{tabularkv.drv}
%
diff --git a/macros/latex/contrib/oberdiek/tabularkv.pdf b/macros/latex/contrib/oberdiek/tabularkv.pdf
index caaf4ef906..63951304d1 100644
--- a/macros/latex/contrib/oberdiek/tabularkv.pdf
+++ b/macros/latex/contrib/oberdiek/tabularkv.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/telprint.dtx b/macros/latex/contrib/oberdiek/telprint.dtx
index a2df3a6528..57152c6651 100644
--- a/macros/latex/contrib/oberdiek/telprint.dtx
+++ b/macros/latex/contrib/oberdiek/telprint.dtx
@@ -66,7 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/telprint.sty
% TDS:doc/latex/oberdiek/telprint.pdf
-% TDS:doc/latex/oberdiek/test/telprint-test1.tex
% TDS:source/latex/oberdiek/telprint.dtx
%
%<*ignore>
@@ -137,10 +136,6 @@ and the derived files
\file{telprint.sty}{\from{telprint.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{telprint-test1.tex}{\from{telprint.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{telprint.xml}{\from{telprint.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -178,21 +173,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{telprint.drv}
%
@@ -628,118 +608,7 @@ and the derived files
\TELAtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input telprint.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -788,7 +657,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% telprint.sty & tex/generic/oberdiek/telprint.sty\\
% telprint.pdf & doc/latex/oberdiek/telprint.pdf\\
-% test/telprint-test1.tex & doc/latex/oberdiek/test/telprint-test1.tex\\
% telprint.dtx & source/latex/oberdiek/telprint.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/telprint.pdf b/macros/latex/contrib/oberdiek/telprint.pdf
index aacc2fe448..090b5974ab 100644
--- a/macros/latex/contrib/oberdiek/telprint.pdf
+++ b/macros/latex/contrib/oberdiek/telprint.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.dtx b/macros/latex/contrib/oberdiek/thepdfnumber.dtx
index 5b56027d9d..61eb42684c 100644
--- a/macros/latex/contrib/oberdiek/thepdfnumber.dtx
+++ b/macros/latex/contrib/oberdiek/thepdfnumber.dtx
@@ -67,9 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/thepdfnumber.sty
% TDS:doc/latex/oberdiek/thepdfnumber.pdf
-% TDS:doc/latex/oberdiek/test/thepdfnumber-test1.tex
-% TDS:doc/latex/oberdiek/test/thepdfnumber-test2.tex
-% TDS:doc/latex/oberdiek/test/thepdfnumber-test3.tex
% TDS:source/latex/oberdiek/thepdfnumber.dtx
%
%<*ignore>
@@ -186,21 +183,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{thepdfnumber.drv}
%
@@ -1102,303 +1084,7 @@ $ \else\ifnum`#2=46 % .
\ThPdNu@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input thepdfnumber.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\catcode`\{=1
-\catcode`\}=2
-\catcode`\#=6
-\catcode`\@=11
-\errorcontextlines=10000 %
-\def\msg#{\immediate\write16}
-\def\space{ }
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input thepdfnumber.sty\relax
-\else
- \RequirePackage{thepdfnumber}[2016/05/16]%
-\fi
-% \end{macrocode}
-%
-% \begin{macro}{\Test}
-% \begin{macrocode}
-\def\Test#1#2{%
- \def\TestExpected{#2}%
-%<*active>
- \edef\TestExpected{\TestExpected}%
-%</active>
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- \TestCommand{#1}%
- }%
- \begingroup
- \toks0\expandafter{\TestResult}%
- \toks2\expandafter{\TestExpected}%
- \ifx\TestResult\TestExpected
- \msg{* OK: #1 => \the\toks0}%
- \else
- \errmessage{FAILED: #1 => \the\toks0\space(\the\toks2)}%
- \fi
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\let\thepdfnumber@ErrorUnexpectedEnd\relax
-\let\thepdfnumber@ErrorInvalidToken\relax
-% \end{macrocode}
-%
-% \subsubsection{Test with active catcodes}
-%
-% \begin{macrocode}
-%<*active>
-\catcode`\~=13 %
-\def\ThPdNu@Temp#1{%
- \begingroup
- \lccode`\~=`#1 %
- \lowercase{\endgroup
- \edef~%
- }{\string#1}%
- \catcode`#1=13 %
-}
-\ThPdNu@Temp{.}
-\ThPdNu@Temp{-}
-\ThPdNu@Temp{+}
-%</active>
-% \end{macrocode}
-%
-% \subsubsection{Test cases for \cs{thepdfnumber}}
-%
-% \begin{macro}{\TestCommand}
-% \begin{macrocode}
-\let\TestCommand\thepdfnumber
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\Test{0}{0}
-\Test{1}{1}
-\Test{23}{23}
-\Test{0045}{45}
-\Test{4500}{4500}
-\Test{-0}{0}
-\Test{-1}{-1}
-\Test{-00002}{-2}
-\Test{-010203}{-10203}
-\Test{+0}{0}
-\Test{+123}{123}
-
-\Test{+-4}{-4}
-\Test{+-+-4}{4}
-\Test{++--++--++4}{4}
-\Test{+++---+++---+++---4}{-4}
-
-\Test{.}{0}
-\Test{0.}{0}
-\Test{.0}{0}
-\Test{0.}{0}
-\Test{-.}{0}
-\Test{-0.}{0}
-\Test{-.0}{0}
-\Test{-0.}{0}
-\Test{010.020}{10.02}
-\Test{123.456}{123.456}
-\Test{12.}{12}
-\Test{.123}{.123}
-\Test{.0001}{.0001}
-\Test{.00100}{.001}
-\Test{.12003400560078009}{.12003400560078009}
-\Test{-.12003400560078009}{-.12003400560078009}
-\Test{04.0500000}{4.05}
-
-\Test{}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{+}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{-}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{a}{0\thepdfnumber@ErrorInvalidToken}
-\Test{0x1}{0\thepdfnumber@ErrorInvalidToken}
-\Test{4x56}{4\thepdfnumber@ErrorInvalidToken}
-\Test{012,34}{12\thepdfnumber@ErrorInvalidToken}
-\Test{0.12x4}{.12\thepdfnumber@ErrorInvalidToken}
-% \end{macrocode}
-%
-% \subsubsection{Test cases for \cs{thepdfnumberNormZeroOne}}
-%
-% \begin{macro}{\TestCommand}
-% \begin{macrocode}
-\let\TestCommand\thepdfnumberNormZeroOne
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\Test{0}{0}
-\Test{1}{1}
-\Test{23}{1}
-\Test{12}{1}
-\Test{10}{1}
-\Test{0045}{1}
-\Test{001}{1}
-\Test{-0}{0}
-\Test{-1}{0}
-\Test{-01}{0}
-\Test{-4}{0}
-
-\Test{+-0}{0}
-\Test{+-+-1}{1}
-\Test{++--++--++1}{1}
-\Test{+++---+++---+++---1}{0}
-
-\Test{.}{0}
-\Test{0.}{0}
-\Test{.0}{0}
-\Test{0.}{0}
-\Test{-.}{0}
-\Test{-0.}{0}
-\Test{-.0}{0}
-\Test{-0.}{0}
-\Test{010.020}{1}
-\Test{123.456}{1}
-\Test{12.}{1}
-\Test{.123}{.123}
-\Test{.0001}{.0001}
-\Test{.00100}{.001}
-\Test{.12003400560078009}{.12003400560078009}
-\Test{-.12003400560078009}{0}
-\Test{04.0500000}{1}
-\Test{0.1200340056}{.1200340056}
-\Test{1.05}{1}
-
-\Test{}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{+}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{-}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{a}{0\thepdfnumber@ErrorInvalidToken}
-\Test{0x1}{0\thepdfnumber@ErrorInvalidToken}
-\Test{4x56}{1}
-\Test{012,34}{1}
-\Test{.012x4}{.012\thepdfnumber@ErrorInvalidToken}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1447,9 +1133,6 @@ $ \else\ifnum`#2=46 % .
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% thepdfnumber.sty & tex/generic/oberdiek/thepdfnumber.sty\\
% thepdfnumber.pdf & doc/latex/oberdiek/thepdfnumber.pdf\\
-% test/thepdfnumber-test1.tex & doc/latex/oberdiek/test/thepdfnumber-test1.tex\\
-% test/thepdfnumber-test2.tex & doc/latex/oberdiek/test/thepdfnumber-test2.tex\\
-% test/thepdfnumber-test3.tex & doc/latex/oberdiek/test/thepdfnumber-test3.tex\\
% thepdfnumber.dtx & source/latex/oberdiek/thepdfnumber.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.pdf b/macros/latex/contrib/oberdiek/thepdfnumber.pdf
index b4a0cdf495..b46cc89055 100644
--- a/macros/latex/contrib/oberdiek/thepdfnumber.pdf
+++ b/macros/latex/contrib/oberdiek/thepdfnumber.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/twoopt.dtx b/macros/latex/contrib/oberdiek/twoopt.dtx
index 4fc1bfec88..10334f0d3a 100644
--- a/macros/latex/contrib/oberdiek/twoopt.dtx
+++ b/macros/latex/contrib/oberdiek/twoopt.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{twoopt.drv}{\from{twoopt.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{twoopt.sty}{\from{twoopt.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{twoopt.xml}{\from{twoopt.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{twoopt.drv}
%
diff --git a/macros/latex/contrib/oberdiek/twoopt.pdf b/macros/latex/contrib/oberdiek/twoopt.pdf
index 6184989018..fcd3dea9b4 100644
--- a/macros/latex/contrib/oberdiek/twoopt.pdf
+++ b/macros/latex/contrib/oberdiek/twoopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/uniquecounter.dtx b/macros/latex/contrib/oberdiek/uniquecounter.dtx
index 16a2991048..172d081435 100644
--- a/macros/latex/contrib/oberdiek/uniquecounter.dtx
+++ b/macros/latex/contrib/oberdiek/uniquecounter.dtx
@@ -69,9 +69,6 @@
% TDS:tex/generic/oberdiek/uniquecounter.sty
% TDS:doc/latex/oberdiek/uniquecounter.pdf
% TDS:doc/latex/oberdiek/uniquecounter-example.tex
-% TDS:doc/latex/oberdiek/test/uniquecounter-test1.tex
-% TDS:doc/latex/oberdiek/test/uniquecounter-test2.tex
-% TDS:doc/latex/oberdiek/test/uniquecounter-test3.tex
% TDS:source/latex/oberdiek/uniquecounter.dtx
%
%<*ignore>
@@ -148,10 +145,6 @@ and the derived files
% \file{uniquecounter-test1.tex}{\from{uniquecounter.dtx}{test1}}%
% \file{uniquecounter-test2.tex}{\from{uniquecounter.dtx}{test2}}%
% \file{uniquecounter-test3.tex}{\from{uniquecounter.dtx}{test3}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{uniquecounter.xml}{\from{uniquecounter.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -188,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{uniquecounter.drv}
%
@@ -530,291 +508,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input uniquecounter.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Test with \LaTeX}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-\usepackage{uniquecounter}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\CheckValue}[2]{%
- \Expect*{#2}*{\UniqueCounterGet{#1}}%
-}
-\newcommand*{\CheckSpace}[1]{%
- \sbox0{#1}%
- \Expect{0.0pt}*{\the\wd0}%
-}
-
-\begin{qstest}{creation}{creation}
- \CheckSpace{%
- \UniqueCounterNew{test}%
- }%
- \CheckValue{test}{0}%
-\end{qstest}
-
-\begin{qstest}{increment}{increment}
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{1}%
- \makeatletter
- \def\uqc@cnt@test{2147483645}%
- \CheckValue{test}{2147483645}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483646}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \Expect{true}*{\ifx\uqc@inc\uqc@NumInc true\else false\fi}%
- \CheckValue{test}{2147483647}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483648}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483649}%
-\end{qstest}
-
-\begin{qstest}{call}{call}
- \def\CheckCall#1#2{%
- \Expect{#1}{#2}%
- }%
- \CheckSpace{%
- \UniqueCounterNew{foo}%
- }%
- \CheckValue{foo}{0}%
- \def\Check#1{%
- \CheckSpace{%
- \UniqueCounterCall{foo}{\CheckCall}{#1}%
- }%
- \CheckValue{foo}{#1}%
- }%
- \Check{1}%
- \Check{2}%
- \Check{3}%
- \Check{4}%
- \Check{5}%
- \Check{6}%
- \Check{7}%
- \Check{8}%
- \Check{9}%
- \Check{10}%
- \Check{11}%
- \Check{12}%
-\end{qstest}
-
-\csname @@end\endcsname
-%</test2>
-% \end{macrocode}
-% \subsubsection{Test with plain-\TeX}
-%
-% \begin{macrocode}
-%<*test3>
-\input uniquecounter.sty\relax
-\catcode`\@=11 %
-\def\CheckValue#1#2{%
- \begingroup
- \edef\A{#2}%
- \edef\B{\UniqueCounterGet{#1}}%
- \ifx\A\B
- \else
- \@PackageError{TEST}{Failed: \A\space<> \B}\@ehc
- \fi
- \endgroup
-}
-\def\CheckSpace#1{%
- \setbox0=\hbox{#1}%
- \ifdim\wd0=\z@
- \else
- \@PackageError{TEST}{Failed: 0.0pt <> \the\wd0}\@ehc
- \fi
-}
-
-\begingroup
- \CheckSpace{%
- \UniqueCounterNew{test}%
- }%
- \CheckValue{test}{0}%
-\endgroup
-
-\begingroup
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{1}%
- \def\uqc@cnt@test{2147483645}%
- \CheckValue{test}{2147483645}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483646}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \ifx\uqc@inc\uqc@NumInc
- \else
- \@PackageError{TEST}{Failed: wrong inc function}\@ehc
- \fi
- \CheckValue{test}{2147483647}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483648}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483649}%
-\endgroup
-\begingroup
- \def\CheckCall#1#2{%
- \begingroup
- \def\A{#1}%
- \def\B{#2}%
- \ifx\A\B
- \else
- \@PackageError{TEST}{Failed: \A\space <> \B}\@ehc
- \fi
- \endgroup
- }%
- \CheckSpace{%
- \UniqueCounterNew{foo}%
- }%
- \CheckValue{foo}{0}%
- \CheckSpace{%
- \UniqueCounterCall{foo}{\CheckCall}{1}%
- }%
- \CheckSpace{%
- \UniqueCounterCall{foo}{\CheckCall}{2}%
- }%
- \CheckValue{foo}{2}%
-\endgroup
-\csname @@end\endcsname\end
-%</test3>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -864,9 +558,6 @@ and the derived files
% uniquecounter.sty & tex/generic/oberdiek/uniquecounter.sty\\
% uniquecounter.pdf & doc/latex/oberdiek/uniquecounter.pdf\\
% uniquecounter-example.tex & doc/latex/oberdiek/uniquecounter-example.tex\\
-% test/uniquecounter-test1.tex & doc/latex/oberdiek/test/uniquecounter-test1.tex\\
-% test/uniquecounter-test2.tex & doc/latex/oberdiek/test/uniquecounter-test2.tex\\
-% test/uniquecounter-test3.tex & doc/latex/oberdiek/test/uniquecounter-test3.tex\\
% uniquecounter.dtx & source/latex/oberdiek/uniquecounter.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/uniquecounter.pdf b/macros/latex/contrib/oberdiek/uniquecounter.pdf
index cf39951e59..78158e1f15 100644
--- a/macros/latex/contrib/oberdiek/uniquecounter.pdf
+++ b/macros/latex/contrib/oberdiek/uniquecounter.pdf
Binary files differ