summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-12-04 22:54:28 +0000
committerKarl Berry <karl@freefriends.org>2019-12-04 22:54:28 +0000
commit892c21b6bddf968f85a4de0de3d289ff9f27da5f (patch)
treed5a8870e9518c9a9bd53b56e2f1ddc18e8f5f1b1 /Master/texmf-dist/source
parent70220b77fcae855692634cec42e89f758fd050d4 (diff)
oberdiek trimmed more; move some of the new packages among collections per usage
git-svn-id: svn://tug.org/texlive/trunk@53027 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/README.txt2
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/accsupp.dtx80
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/aliascnt.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/alphalph.dtx372
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/askinclude.dtx1061
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx292
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/atenddvi.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/atveryend.dtx138
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/auxhook.dtx23
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx952
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/bitset.dtx1243
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/bmpsize.dtx23
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/bookmark.dtx3471
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/catchfile.dtx326
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/centernot.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/chemarr.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/classlist.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/colonequals.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/dvipscol.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/embedfile.dtx2141
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/engord.dtx134
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/enparen.dtx15
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/eolgrab.dtx170
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx202
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/fibnum.dtx263
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/flags.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx176
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/grfext.dtx1130
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hologo.dtx270
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hopatch.dtx204
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hycolor.dtx554
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hypbmsec.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hypcap.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hypdestopt.dtx21
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hypgotoe.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/hyphsubst.dtx173
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/ifdraft.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/iflang.dtx343
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx1193
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/intcalc.dtx977
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx134
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx462
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/letltxmacro.dtx1153
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx133
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx879
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/mleftright.dtx943
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/oberdiek.ins8
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/oberdiek.tex243
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pagegrid.dtx134
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pagesel.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx202
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfcolfoot.dtx53
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfcolparallel.dtx123
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfcolparcolumns.dtx80
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx761
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdflscape.dtx241
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdfrender.dtx310
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/picture.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pmboxdraw.dtx139
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/protecteddef.dtx293
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/refcount.dtx440
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/rerunfilecheck.dtx135
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/resizegather.dtx134
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/rotchiffre.dtx430
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/scrindex.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/selinput.dtx147
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx172
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/settobox.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx577
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/stackrel.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/stampinclude.dtx23
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/tabularht.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/tabularkv.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/telprint.dtx134
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/thepdfnumber.dtx319
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/twoopt.dtx19
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx311
80 files changed, 141 insertions, 25358 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/README.txt b/Master/texmf-dist/source/latex/oberdiek/README.txt
index 2b0a822793e..238e572c18e 100644
--- a/Master/texmf-dist/source/latex/oberdiek/README.txt
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx b/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx
index 722b3142843..5264aed3e26 100644
--- a/Master/texmf-dist/source/latex/oberdiek/accsupp.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/aliascnt.dtx b/Master/texmf-dist/source/latex/oberdiek/aliascnt.dtx
index e3db954c80c..60289eaeafc 100644
--- a/Master/texmf-dist/source/latex/oberdiek/aliascnt.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx b/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
index 2f22685decb..7c70cd4825e 100644
--- a/Master/texmf-dist/source/latex/oberdiek/alphalph.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx b/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx
index 4e109fbd5d8..aa249c79fdb 100644
--- a/Master/texmf-dist/source/latex/oberdiek/askinclude.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx b/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
index 3c8c5aa20aa..7827606797e 100644
--- a/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/atenddvi.dtx b/Master/texmf-dist/source/latex/oberdiek/atenddvi.dtx
index 5ea70c80e54..b1b15af7ab4 100644
--- a/Master/texmf-dist/source/latex/oberdiek/atenddvi.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/atveryend.dtx b/Master/texmf-dist/source/latex/oberdiek/atveryend.dtx
index 7801120e076..a6e2ef52fa8 100644
--- a/Master/texmf-dist/source/latex/oberdiek/atveryend.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx b/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx
index ac5711ed25f..6a9674bcca6 100644
--- a/Master/texmf-dist/source/latex/oberdiek/auxhook.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx b/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx
index 004fd97c143..40fa56ed1da 100644
--- a/Master/texmf-dist/source/latex/oberdiek/bigintcalc.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/bitset.dtx b/Master/texmf-dist/source/latex/oberdiek/bitset.dtx
index d5808e0a27a..dbb7c1ba2a6 100644
--- a/Master/texmf-dist/source/latex/oberdiek/bitset.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/bmpsize.dtx b/Master/texmf-dist/source/latex/oberdiek/bmpsize.dtx
index a0d76210c2a..a6c815e4303 100644
--- a/Master/texmf-dist/source/latex/oberdiek/bmpsize.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx b/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
deleted file mode 100644
index 7d9c9c1eec3..00000000000
--- a/Master/texmf-dist/source/latex/oberdiek/bookmark.dtx
+++ /dev/null
@@ -1,3471 +0,0 @@
-% \iffalse meta-comment
-%
-% File: bookmark.dtx
-% Version: 2019/06/04 v1.27
-% Info: PDF bookmarks
-%
-% Copyright (C)
-% 2007-2011 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-% https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-% https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% This work consists of the main source file bookmark.dtx
-% and the derived files
-% bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
-% bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
-% bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
-% bookmark-example.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/bookmark.dtx
-% CTAN:macros/latex/contrib/oberdiek/bookmark.pdf
-%
-% Unpacking:
-% (a) If bookmark.ins is present:
-% tex bookmark.ins
-% (b) Without bookmark.ins:
-% tex bookmark.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{bookmark.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If bookmark.drv is present:
-% latex bookmark.drv
-% (b) Without bookmark.drv:
-% latex bookmark.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 bookmark.dtx
-% makeindex -s gind.ist bookmark.idx
-% pdflatex bookmark.dtx
-% makeindex -s gind.ist bookmark.idx
-% pdflatex bookmark.dtx
-%
-% Installation:
-% TDS:tex/latex/oberdiek/bookmark.sty
-% TDS:tex/latex/oberdiek/bkm-dvipdfm.def
-% TDS:tex/latex/oberdiek/bkm-dvips.def
-% TDS:tex/latex/oberdiek/bkm-dvipsone.def
-% TDS:tex/latex/oberdiek/bkm-textures.def
-% TDS:tex/latex/oberdiek/bkm-pdftex.def
-% TDS:tex/latex/oberdiek/bkm-vtex.def
-% TDS:doc/latex/oberdiek/bookmark.pdf
-% TDS:doc/latex/oberdiek/bookmark-example.tex
-% TDS:source/latex/oberdiek/bookmark.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: bookmark 2019/06/04 v1.27 PDF bookmarks (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: bookmark
-Version: 2019/06/04 v1.27
-
-Copyright (C)
- 2007-2011 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
- https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
- https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-This work consists of the main source file bookmark.dtx
-and the derived files
- bookmark.sty, bookmark.pdf, bookmark.ins, bookmark.drv,
- bkm-dvipdfm.def, bkm-dvips.def, bkm-dvipsone.def,
- bkm-textures.def, bkm-pdftex.def, bkm-vtex.def,
- bookmark-example.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
- \file{bookmark.ins}{\from{bookmark.dtx}{install}}%
- \file{bookmark.drv}{\from{bookmark.dtx}{driver}}%
- \usedir{tex/latex/oberdiek}%
- \file{bookmark.sty}{\from{bookmark.dtx}{package}}%
- \file{bkm-dvipdfm.def}{\from{bookmark.dtx}{dvipdfm}}%
- \file{bkm-dvips.def}{\from{bookmark.dtx}{dvips,pdfmark}}%
- \file{bkm-dvipsone.def}{\from{bookmark.dtx}{dvipsone,pdfmark}}%
- \file{bkm-textures.def}{\from{bookmark.dtx}{textures,pdfmark}}%
- \file{bkm-pdftex.def}{\from{bookmark.dtx}{pdftex}}%
- \file{bkm-vtex.def}{\from{bookmark.dtx}{vtex}}%
- \usedir{doc/latex/oberdiek}%
- \file{bookmark-example.tex}{\from{bookmark.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{bookmark.xml}{\from{bookmark.dtx}{catalogue}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* bookmark.sty, bkm-dvipdfm.def, bkm-dvips.def,}
-\Msg{* bkm-dvipsone.def, bkm-textures.def, bkm-pdftex.def,}
-\Msg{* bkm-vtex.def}
-\Msg{*}
-\Msg{* To produce the documentation run the file `bookmark.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bookmark.drv}%
- [2019/06/04 v1.27 PDF bookmarks (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
- \DocInput{bookmark.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{bookmark.drv}
-%
-% \title{The \xpackage{bookmark} package}
-% \date{2019/06/04 v1.27}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \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}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% This package \xpackage{bookmark} tries to provide a more modern
-% management for bookmarks:
-% \begin{itemize}
-% \item The bookmarks are already generated in the first \hologo{TeX} compile run.
-% \item The font style and color of the bookmarks can be changed.
-% \item More actions than simple GoTo actions are possible.
-% \end{itemize}
-%
-% In the same way as \xpackage{hyperref} \cite{hyperref}
-% the bookmarks are generated
-% in the order of the bookmark generating macros (\cs{bookmark}).
-% A level number is used to define the tree structure of the bookmarks.
-% The restrictions are less strict:
-% \begin{itemize}
-% \item The level values may jump and omit values. A \cs{subsubsection}
-% may follow a \cs{chapter}. This was an error in \xpackage{hyperref},
-% that prints a warning and tries to fix this.
-% \item Several bookmarks may point to the same destination.
-% In \xpackage{hyperref} this would mess up the bookmark tree
-% completely, because the algorithm assumes that the destination
-% names are keys (unique).
-% \end{itemize}
-%
-% Note that this package is intended as experimentation platform
-% for bookmark management. Feedback is welcome. Also the interfaces
-% may change in future versions.
-%
-% \subsection{Options}
-%
-% Options can be given at four places:
-% \begin{enumerate}
-% \item \cs{usepackage}|[|\meta{options}|]{bookmark}|\\
-% This is the only place for driver options
-% and option \xoption{atend}.
-% \item \cs{bookmarksetup}|{|\meta{options}|}|\\
-% This command is just for setting options.
-% \item \cs{bookmarksetupnext}|{|\meta{options}|}|\\
-% The options are stored and called after the
-% options of the next \cs{bookmark} command.
-% \item \cs{bookmark}|[|\meta{options}|]{|\meta{title}|}|\\
-% This command sets the bookmark. The option settings remain
-% limited to this bookmark.
-% \end{enumerate}
-% Exception: Driver options, option \xoption{atend} and
-% options \xoption{draft}\slash\xoption{final}
-% cannot be changed after the package is loaded.
-%
-% \subsubsection{Options \xoption{draft} and \xoption{final}}
-%
-% If a \LaTeX\ file is compiled several times, then a little
-% time can be saved, if option \xoption{draft} is used to
-% disable the bookmark stuff of this package. Default is
-% \xoption{final}.
-% Both options are boolean options, without
-% value the value |true| is used. |draft=true| is the same
-% as |final=false|.
-%
-% Options of package \xpackage{bookmark} are local options
-% with the exception of driver options. Therefore \xoption{draft}
-% or \xoption{final} given as class option is not seen by this
-% package. If you want to optimize first \LaTeX\ runs depending
-% on a global \xoption{draft}, then package \xpackage{ifdraft}
-% and \LaTeX's \cs{PassOptionsToPackage}
-% might help in the organization of the preamble, for example:
-%\begin{quote}
-%\begin{verbatim}
-%\documentclass[draft]{article}
-%\usepackage{ifdraft}
-%\ifdraft{%
-% \PassOptionsToPackage{draft}{bookmark}%
-%}{}
-%\end{verbatim}
-%\end{quote}
-%
-% \subsubsection{Driver options}
-%
-% Supported drivers are \xoption{pdftex}, \xoption{dvips},
-% \xoption{dvipsone}, \xoption{textures},
-% \xoption{dvipdfm} (\xoption{xetex}), and \xoption{vtex}.
-% The \hologo{TeX} engines \hologo{pdfTeX}, \hologo{XeTeX},
-% and \hologo{VTeX} are automatically detected.
-% The default for the DVI drivers is \xoption{dvips}. This can
-% be changed in the configuration file \xfile{bookmark.cfg} by
-% \cs{BookmarkDriverDefault}, e.g.:
-% \begin{quote}
-% |\def\BookmarkDriverDefault{dvipdfm}|
-% \end{quote}
-%
-% \paragraph{Open bookmarks with dvipdfmx.} Since 2007-04-25 the
-% cvs version of dvipmdfmx contains a patch that extends the
-% \cs{special} for bookmarks in order to specify the open status of
-% an outline entry. Option \xoption{dvipdfmx-outline-open} notifies
-% the package that the dvi driver program understands this kind
-% of \cs{special}. Alternatively \cs{SpecialDvipdfmxOutlineOpen}
-% can be defined as number one in the configuration file or before
-% the package is loaded, e.g.:
-% \begin{quote}
-% |\chardef\SpecialDvipdfmxOutlineOpen=1\relax|
-% \end{quote}
-%
-% \subsubsection{Layout options}
-%
-% \paragraph{Font options.}
-%
-% \begin{description}
-% \item[\xoption{bold}:] The bookmark is shown with a bold font
-% if the PDF viewer supports this (since PDF 1.4).
-% \item[\xoption{italic}:] An italic font is used (since PDF 1.4).
-% \end{description}
-% Both \xoption{bold} and \xoption{italic} can be used together.
-% Using value |false| disables the font option.
-%
-% \paragraph{Color option.}
-%
-% Colored bookmarks are a feature of PDF 1.4, they are not supported
-% by all PDF viewers.
-% \begin{description}
-% \item[\xoption{color}:] Here the color can be given as
-% color specification of packages \xpackage{color} or \xpackage{xcolor}.
-% An empty value means that the color property is not set.
-% Without package \xpackage{xcolor} the recognized values
-% are restricted to
-% \begin{itemize}
-% \item Empty value, no color is set,\\
-% example: |color={}|
-% \item Explicit color specification of color model rgb,\\
-% example for red: |color=[rgb]{1,0,0}|
-% \item Explicit color specification of color model gray,\\
-% example for dark gray: |color=[gray]{0.25}|
-% \end{itemize}
-% Note that this restriction also holds if package \xpackage{color}
-% is loaded. With \xpackage{xcolor}, however, the full range
-% of color specifications can be used.
-% \end{description}
-%
-% \subsubsection{Action options}
-%
-% \begin{description}
-% \item[\xoption{dest}:] Destination name.
-% \item[\xoption{page}:] Page number, first page is 1.
-% \item[\xoption{view}:] View specification, examples:\\
-% |view={FitB}|, |view={FitH 842}|, |view={XYZ 0 100 null}|
-% Some view specification parameters expect numbers as parameters
-% with unit bp. They can be given either as plain numbers or
-% as length expressions inside \cs{calc}. Expressions of
-% package \xpackage{calc} are supported if the package is loaded.
-% Otherwise \hologo{eTeX}'s \cs{dimexpr} is used. Example:\\
-% |view={FitH \calc{\paperheight-\topmargin-1in}}|\\
-% |view={XYZ 0 \calc{\paperheight} null}|\\
-% Note that \cs{calc} cannot be used for the third parameter
-% of |XYZ|. This parameter is the zoom value, not a length.
-% \item[\xoption{named}:] Named action name:\\
-% |FirstPage|, |LastPage|, |NextPage|, |PrevPage|
-% \item[\xoption{gotor}:] Name of the external PDF file.
-% \item[\xoption{uri}:] URI specification.
-% \item[\xoption{rawaction}:] Raw action specification.
-% Because these specification depends on the driver this option
-% should not be used.
-% \end{description}
-% The appropriate action for the bookmark is selected by
-% analyzing the specified options. The actions
-% are distinguished by different sets of options:
-% \begin{quote}
-% \begin{tabular}{@{}ll@{}}
-% \textbf{Action} & \textbf{Options}\\
-% \hline
-% \textsf{GoTo}: & \xoption{dest}\\
-% \textsf{GoTo}: & \xoption{page} + \xoption{view}\\
-% \textsf{GoToR}: & \xoption{gotor} + \xoption{dest}\\
-% \textsf{GoToR}: & \xoption{gotor} + \xoption{page} + \xoption{view}\\
-% \textsf{Named}: & \xoption{named}\\
-% \textsf{URI}: & \xoption{uri}
-% \end{tabular}
-% \end{quote}
-%
-% \paragraph{Missing actions.}
-% If the action is missing package \xpackage{bookmark} throws
-% an error message. Depending on the driver (\xoption{pdftex},
-% \xoption{dvips} and friends) the package detects it quite late
-% at the end of the document. Since version 2011/04/21 v1.21
-% the package tries printing the line number and file name
-% of the corresponding occurence of \cs{bookmark}.
-% However, \hologo{TeX} does provide the line number, but
-% unhappily the file name is a secret. The package supports
-% some ways to get the file name:
-% \begin{itemize}
-% \item If \hologo{LuaTeX} (indenpendently from DVI or PDF modus)
-% is running, then its |status.filename| is used automatically.
-% \item Package \cs{currfile} \cite{currfile} redefines \hologo{LaTeX}
-% internals to keep track of the file name. If the package
-% is loaded, then its \cs{currfilepath} is detected and used
-% automatically by package \xpackage{bookmark}.
-% \item The file name can be set manually by option \xoption{scrfile}
-% in \cs{bookmarksetup} or \cs{bookmark}. But be careful,
-% manual setting disables the previous ways for file name
-% detection. And a wrong or missed file name setting might
-% get you a wrong source location in the error message.
-% \end{itemize}
-%
-% \subsubsection{Level options}
-%
-% The order of the bookmark entries are defined by the
-% appearance order of \cs{bookmark} commands. The tree structure
-% is constructed by the property \xoption{level} of the bookmark nodes.
-% The values of \xoption{level} are integers. If the level of a
-% bookmark entry has a higher value than the previous node, then
-% the entry becomes a child of the previous node. The absolute
-% value of the difference does not matter.
-%
-% Package \xpackage{bookmark} remembers the level of the previous
-% bookmark entry in a global property `current level'.
-%
-% The behaviour of the level system can be configured by following
-% options:
-% \begin{description}
-% \item[\xoption{level}:]
-% Sets the level, see the description above. If option \xoption{level}
-% is given without value, then the default behaviour is restored,
-% that the `current level' is used as level value.
-% Since version 2010/10/19 v1.16 package \xpackage{bookmark}
-% also supports names |part|, |section| and other,
-% if the macros \cs{toclevel@part}, \cs{toclevel@section}
-% are defined (done by package \xpackage{hyperref}, see
-% option \xoption{bookmarkdepth}).
-% \item[\xoption{rellevel}:]
-% Sets the level relative to the previous level.
-% A positive value means that the bookmark entry become
-% a child of the previous one.
-% \item[\xoption{keeplevel}:]
-% Use the level, set by \xoption{level} or \xoption{rellevel},
-% but do not change the global property `current level'.
-% The option can be disabled by setting to |false|.
-% \item[\xoption{startatroot}:]
-% At this time the bookmark tree starts at the top level again.
-% The next bookmark entry is not sorted as child to a previous entry.
-% Example scenario: A document uses part. However there are
-% last chapters that should not be put below the last part:
-% \begin{quote}
-%\begin{verbatim}
-%\documentclass{book}
-%[...]
-%\begin{document}
-% \part{First part}
-% \chapter{First chapter in first part}
-% [...]
-% \part{Second part}
-% \chapter{First chapter in second part}
-% [...]
-% \bookmarksetup{startatroot}
-% \chapter{Index}% does not belong to second part
-%\end{document}
-%\end{verbatim}
-% \end{quote}
-% \end{description}
-%
-% \subsubsection{Style definitions}
-%
-% A style is a group of option settings. It can be defined
-% by macro \cs{bookmarkdefinestyle} and is used by option \xoption{style}.
-% \begin{declcs}{bookmarkdefinestyle} \M{name} \M{key value list}
-% \end{declcs}
-% The \meta{key value list} of option settings is assigned the
-% style \meta{name}.
-%
-% \begin{description}
-% \item[\xoption{style}:]
-% The value of option \xoption{style} is the name of a previously
-% defined style. Its option settings are now executed.
-% The options may include option \xoption{style}.
-% Endless recursion by calling the same style recursively
-% is prevented and throws an error.
-% \end{description}
-%
-% \subsubsection{Hook support}
-%
-% A hook is called right after the processing the optional options
-% of macro \cs{bookmark}.
-% \begin{description}
-% \item[\xoption{addtohook}:]
-% Code, given as value to this option is added to the hook.
-% \end{description}
-%
-% \begin{declcs}{bookmarkget} \M{option}
-% \end{declcs}
-% Macro \cs{bookmarkget} extracts the value of the latest option
-% setting of option \meta{option}. In case of boolean options number
-% one is returned, if the boolean option is enabled, otherwise the
-% result is zero.
-% The resulting numbers can directly be used in \cs{ifnum} or \cs{ifcase}.
-% If you want to have the digits \texttt{0} and \texttt{1}, then
-% prefix \cs{bookmarkget} with \cs{number}.
-% Macro \cs{bookmarkget} is expandable.
-% In case of
-% unsupported options an empty string is returned.
-% Supported boolean options are
-% \begin{quote}
-% \xoption{bold},
-% \xoption{italic},
-% \xoption{open}
-% \end{quote}
-% Other supported options:
-% \begin{quote}
-% \xoption{depth},
-% \xoption{dest},
-% \xoption{color},
-% \xoption{gotor},
-% \xoption{level},
-% \xoption{named},
-% \xoption{openlevel},
-% \xoption{page},
-% \xoption{rawaction},
-% \xoption{uri},
-% \xoption{view},
-% \end{quote}
-% Additionally the following key is available:
-% \begin{quote}
-% \xoption{text}
-% \end{quote}
-% It returns the text of the outline entry.
-%
-% \paragraph{Option setting.}
-% Inside the hook an option can be set using \cs{bookmarksetup}.
-%
-% \subsection{Compatibility with \xpackage{hyperref}}
-%
-% Package \xpackage{bookmark} automatically disables
-% \xpackage{hyperref}'s bookmarks. However the package
-% uses some of the code of \xpackage{hyperref}. For example,
-% the package redefines the hook \cs{Hy@writebookmark} that
-% \xpackage{hyperref} inserts in \cs{addcontentsline} and
-% other commands. Therefore
-% \xpackage{hyperref}'s bookmarks should not be disabled.
-%
-% Package \xpackage{bookmark} uses \xpackage{hyperref}'s \cs{pdfstringdef}
-% and does not provide a replacement.
-%
-% Some options of \xpackage{hyperref} are also implemented
-% in package \xpackage{bookmark}:
-% \begin{quote}
-% \begin{tabular}{@{}ll@{}}
-% \xpackage{hyperref} & \xpackage{bookmark}\\
-% \hline
-% \xoption{bookmarksdepth} & \xoption{depth}\\
-% \xoption{bookmarksopen} & \xoption{open}\\
-% \xoption{bookmarksopenlevel} & \xoption{openlevel}\\
-% \xoption{bookmarksnumbered} & \xoption{numbered}\\
-% \end{tabular}
-% \end{quote}
-%
-% The following commands are also available:
-% \begin{quote}
-% \cs{pdfbookmark}\\
-% \cs{currentpdfbookmark}\\
-% \cs{subpdfbookmark}\\
-% \cs{belowpdfbookmark}
-% \end{quote}
-%
-% \subsection{Adding bookmarks at the end}
-%
-% Package option \xoption{atend} enables the following macro:
-% \begin{declcs}{BookmarkAtEnd}
-% \M{stuff}
-% \end{declcs}
-% Macro \cs{BookmarkAtEnd} puts \meta{stuff} at the end
-% of the document. \meta{stuff} means bookmark commands.
-% Example:
-% \begin{quote}
-%\begin{verbatim}
-%\usepackage[atend]{bookmark}
-%\BookmarkAtEnd{%
-% \bookmarksetup{startatroot}%
-% \bookmark[named=LastPage, level=0]{Last page}%
-%}
-%\end{verbatim}
-% \end{quote}
-%
-% Alternatively, option \xoption{startatroot} can be given
-% in \cs{bookmark}:
-% \begin{quote}
-%\begin{verbatim}
-%\BookmarkAtEnd{%
-% \bookmark[
-% startatroot,
-% named=LastPage,
-% level=0,
-% ]{Last page}%
-%}
-%\end{verbatim}
-% \end{quote}
-%
-% \paragraph{Remarks.}
-% \begin{itemize}
-% \item
-% \cs{BookmarkAtEnd} hides the fact that the method for
-% adding bookmarks at the end of the document depends
-% on the driver.
-%
-% Some drivers
-% (\xoption{pdftex}, \xoption{dvips}, \xoption{dvipsone},
-% \xoption{textures}) use package \xpackage{atveryend}'s
-% for this purpose. \cs{AtEndDocument} is too early,
-% the last page might not been shipped out. Because the \xext{aux}
-% file is needed, these drivers use \cs{AfterLastShipout}.
-%
-% The implementation of the other drivers
-% (\xoption{dvipdfm}, \xoption{xetex}, \xoption{vtex})
-% depends on
-% \cs{special} that does not have an effect after the last
-% page. In this case \cs{AtEndDvi} of package \xpackage{atenddvi}
-% helps. It puts its argument on last page of the document.
-% Two \hologo{LaTeX} runs are necessary at least, because
-% the last page is detected by a reference.
-% \item
-% The time of expansion of the argument of \cs{BookmarkAtEnd}
-% is not specified. This can happen immediately or at the end
-% of the document.
-% \end{itemize}
-%
-% \subsection{Limitations/ToDos}
-%
-% \begin{itemize}
-% \item Support for missing actions (Launch, \dots).
-% \item Better design for \xpackage{hyperref}'s option
-% \xoption{bookmarkstype}.
-% \end{itemize}
-%
-% \section{Example}
-%
-% \begin{macrocode}
-%<*example>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass{article}
-\usepackage{xcolor}[2007/01/21]
-\usepackage{hyperref}
-\usepackage[
- open,
- openlevel=2,
- atend
-]{bookmark}[2019/06/04]
-
-\bookmarksetup{color=blue}
-
-\BookmarkAtEnd{%
- \bookmarksetup{startatroot}%
- \bookmark[named=LastPage, level=0]{End/Last page}%
- \bookmark[named=FirstPage, level=1]{First page}%
-}
-
-\begin{document}
-\section{First section}
-\subsection{Subsection A}
-\begin{figure}
- \hypertarget{fig}{}%
- A figure.
-\end{figure}
-\bookmark[
- rellevel=1,
- keeplevel,
- dest=fig
-]{A figure}
-\subsection{Subsection B}
-\subsubsection{Subsubsection C}
-\subsection{Umlauts: \"A\"O\"U\"a\"o\"u\ss}
-\newpage
-\bookmarksetup{
- bold,
- color=[rgb]{1,0,0}
-}
-\section{Very important section}
-\bookmarksetup{
- italic,
- bold=false,
- color=blue
-}
-\subsection{Italic section}
-\bookmarksetup{
- italic=false
-}
-\part{Misc}
-\section{Diverse}
-\subsubsection{Subsubsection, omitting subsection}
-\bookmarksetup{
- startatroot
-}
-\section{Last section outside part}
-\subsection{Subsection}
-\bookmarksetup{
- color={}
-}
-\begingroup
- \bookmarksetup{level=0, color=green!80!black}
- \bookmark[named=FirstPage]{First page}
- \bookmark[named=LastPage]{Last page}
- \bookmark[named=PrevPage]{Previous page}
- \bookmark[named=NextPage]{Next page}
-\endgroup
-\bookmark[
- page=2,
- view=FitH 800
-]{Page 2, FitH 800}
-\bookmark[
- page=2,
- view=FitBH \calc{\paperheight-\topmargin-1in-\headheight-\headsep}
-]{Page 2, FitBH top of text body}
-\bookmark[
- uri={http://www.dante.de/},
- color=magenta
-]{Dante homepage}
-\bookmark[
- gotor={t.pdf},
- page=1,
- view={XYZ 0 1000 null},
- color=cyan!75!black
-]{File t.pdf}
-\bookmark[named=FirstPage]{First page}
-\bookmark[rellevel=1, named=LastPage]{Last page (rellevel=1)}
-\bookmark[named=PrevPage]{Previous page}
-\bookmark[level=0, named=FirstPage]{First page (level=0)}
-\bookmark[
- rellevel=1,
- keeplevel,
- named=LastPage
-]{Last page (rellevel=1, keeplevel)}
-\bookmark[named=PrevPage]{Previous page}
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</example>
-% \end{macrocode}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \subsection{Package}
-%
-% \begin{macrocode}
-%<*package>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bookmark}%
- [2019/06/04 v1.27 PDF bookmarks (HO)]%
-% \end{macrocode}
-%
-% \subsubsection{Requirements}
-%
-% \paragraph{\hologo{eTeX}.}
-%
-% \begin{macro}{\BKM@CalcExpr}
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname numexpr\endcsname\relax
- \def\BKM@CalcExpr#1#2#3#4{%
- \begingroup
- \count@=#2\relax
- \advance\count@ by#3#4\relax
- \edef\x{\endgroup
- \def\noexpand#1{\the\count@}%
- }%
- \x
- }%
-\else
- \def\BKM@CalcExpr#1#2#3#4{%
- \edef#1{%
- \the\numexpr#2#3#4\relax
- }%
- }%
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \paragraph{Escape features of \hologo{pdfTeX}.}
-%
-% \begin{macrocode}
-\RequirePackage{pdfescape}[2007/03/20]
-% \end{macrocode}
-% \begin{macro}{\BKM@EscapeName}
-% \begin{macrocode}
-\def\BKM@EscapeName#1{%
- \ifx#1\@empty
- \else
- \EdefEscapeName#1#1%
- \fi
-}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@EscapeString}
-% \begin{macrocode}
-\def\BKM@EscapeString#1{%
- \ifx#1\@empty
- \else
- \EdefEscapeString#1#1%
- \fi
-}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@EscapeHex}
-% \begin{macrocode}
-\def\BKM@EscapeHex#1{%
- \ifx#1\@empty
- \else
- \EdefEscapeHex#1#1%
- \fi
-}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@UnescapeHex}
-% \begin{macrocode}
-\def\BKM@UnescapeHex#1{%
- \EdefUnescapeHex#1#1%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \paragraph{Packages.}
-%
-% \begin{macrocode}
-\RequirePackage{ifpdf}[2009/04/10]
-\RequirePackage{ifxetex}
-\RequirePackage{ifvtex}[2008/11/04]
-\RequirePackage{ifluatex}[2010/03/01]
-\RequirePackage{pdftexcmds}[2010/11/04]
-\RequirePackage{hyperref}[2010/06/18]
-\RequirePackage{auxhook}[2007/04/06]
-\RequirePackage{kvsetkeys}[2010/03/01]
-\RequirePackage{kvoptions}[2009/08/13]
-\RequirePackage{hycolor}[2008/09/08]
-\RequirePackage{bitset}[2011/01/30]
-\RequirePackage{ltxcmds}[2011/04/14]
-% \end{macrocode}
-%
-% \subsubsection{Package options}
-%
-% \begin{macrocode}
-\SetupKeyvalOptions{family=BKM,prefix=BKM@}
-\DeclareLocalOptions{%
- atend,%
- bold,%
- color,%
- depth,%
- dest,%
- draft,%
- final,%
- gotor,%
- italic,%
- keeplevel,%
- level,%
- named,%
- numbered,%
- open,%
- openlevel,%
- page,%
- rawaction,%
- rellevel,%
- srcfile,%
- srcline,%
- startatroot,%
- uri,%
- view,%
-}
-% \end{macrocode}
-% \begin{macro}{\bookmarksetup}
-% \begin{macrocode}
-\newcommand*{\bookmarksetup}{\kvsetkeys{BKM}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@setup}
-% \begin{macrocode}
-\def\BKM@setup#1{%
- \bookmarksetup{#1}%
- \ifx\BKM@HookNext\ltx@empty
- \else
- \expandafter\bookmarksetup\expandafter{\BKM@HookNext}%
- \BKM@HookNextClear
- \fi
- \BKM@hook
- \ifBKM@keeplevel
- \else
- \xdef\BKM@currentlevel{\BKM@level}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bookmarksetupnext}
-% \begin{macrocode}
-\newcommand*{\bookmarksetupnext}[1]{%
- \ltx@GlobalAppendToMacro\BKM@HookNext{,#1}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@setupnext}
-% \begin{macrocode}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@HookNextClear}
-% \begin{macrocode}
-\def\BKM@HookNextClear{%
- \global\let\BKM@HookNext\ltx@empty
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@HookNext}
-% \begin{macrocode}
-\BKM@HookNextClear
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\DeclareBoolOption{draft}
-\DeclareComplementaryOption{final}{draft}
-% \end{macrocode}
-% \begin{macro}{\BKM@DisableOptions}
-% \begin{macrocode}
-\def\BKM@DisableOptions{%
- \DisableKeyvalOption[action=warning,package=bookmark]%
- {BKM}{draft}%
- \DisableKeyvalOption[action=warning,package=bookmark]%
- {BKM}{final}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\DeclareBoolOption[\ifHy@bookmarksopen true\else false\fi]{open}
-% \end{macrocode}
-% \begin{macro}{\bookmark@open}
-% \begin{macrocode}
-\def\bookmark@open{%
- \ifBKM@open\ltx@one\else\ltx@zero\fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\DeclareStringOption[\maxdimen]{openlevel}
-% \end{macrocode}
-% \begin{macro}{\BKM@openlevel}
-% \begin{macrocode}
-\edef\BKM@openlevel{\number\@bookmarksopenlevel}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%\DeclareStringOption[\c@tocdepth]{depth}
-\ltx@IfUndefined{Hy@bookmarksdepth}{%
- \def\BKM@depth{\c@tocdepth}%
-}{%
- \let\BKM@depth\Hy@bookmarksdepth
-}
-\define@key{BKM}{depth}[]{%
- \edef\BKM@param{#1}%
- \ifx\BKM@param\@empty
- \def\BKM@depth{\c@tocdepth}%
- \else
- \ltx@IfUndefined{toclevel@\BKM@param}{%
- \@onelevel@sanitize\BKM@param
- \edef\BKM@temp{\expandafter\@car\BKM@param\@nil}%
- \ifcase 0\expandafter\ifx\BKM@temp-1\fi
- \expandafter\ifnum\expandafter`\BKM@temp>47 %
- \expandafter\ifnum\expandafter`\BKM@temp<58 %
- 1%
- \fi
- \fi
- \relax
- \PackageWarning{bookmark}{%
- Unknown document division name (\BKM@param)\MessageBreak
- for option `depth'%
- }%
- \else
- \BKM@SetDepthOrLevel\BKM@depth\BKM@param
- \fi
- }{%
- \BKM@SetDepthOrLevel\BKM@depth{%
- \csname toclevel@\BKM@param\endcsname
- }%
- }%
- \fi
-}
-% \end{macrocode}
-% \begin{macro}{\bookmark@depth}
-% \begin{macrocode}
-\def\bookmark@depth{\BKM@depth}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@SetDepthOrLevel}
-% \begin{macrocode}
-\def\BKM@SetDepthOrLevel#1#2{%
- \begingroup
- \setbox\z@=\hbox{%
- \count@=#2\relax
- \expandafter
- }%
- \expandafter\endgroup
- \expandafter\def\expandafter#1\expandafter{\the\count@}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\DeclareStringOption[\BKM@currentlevel]{level}[\BKM@currentlevel]
-\define@key{BKM}{level}{%
- \edef\BKM@param{#1}%
- \ifx\BKM@param\BKM@MacroCurrentLevel
- \let\BKM@level\BKM@param
- \else
- \ltx@IfUndefined{toclevel@\BKM@param}{%
- \@onelevel@sanitize\BKM@param
- \edef\BKM@temp{\expandafter\@car\BKM@param\@nil}%
- \ifcase 0\expandafter\ifx\BKM@temp-1\fi
- \expandafter\ifnum\expandafter`\BKM@temp>47 %
- \expandafter\ifnum\expandafter`\BKM@temp<58 %
- 1%
- \fi
- \fi
- \relax
- \PackageWarning{bookmark}{%
- Unknown document division name (\BKM@param)\MessageBreak
- for option `level'%
- }%
- \else
- \BKM@SetDepthOrLevel\BKM@level\BKM@param
- \fi
- }{%
- \BKM@SetDepthOrLevel\BKM@level{%
- \csname toclevel@\BKM@param\endcsname
- }%
- }%
- \fi
-}
-% \end{macrocode}
-% \begin{macro}{\BKM@MacroCurrentLevel}
-% \begin{macrocode}
-\def\BKM@MacroCurrentLevel{\BKM@currentlevel}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\DeclareBoolOption{keeplevel}
-\DeclareBoolOption{startatroot}
-% \end{macrocode}
-% \begin{macro}{\BKM@startatrootfalse}
-% \begin{macrocode}
-\def\BKM@startatrootfalse{%
- \global\let\ifBKM@startatroot\iffalse
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@startatroottrue}
-% \begin{macrocode}
-\def\BKM@startatroottrue{%
- \global\let\ifBKM@startatroot\iftrue
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\define@key{BKM}{rellevel}{%
- \BKM@CalcExpr\BKM@level{#1}+\BKM@currentlevel
-}
-% \end{macrocode}
-% \begin{macro}{\bookmark@level}
-% \begin{macrocode}
-\def\bookmark@level{\BKM@level}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@currentlevel}
-% \begin{macrocode}
-\def\BKM@currentlevel{0}
-% \end{macrocode}
-% \end{macro}
-% Make \xpackage{bookmark}'s option \xoption{numbered} an alias
-% for \xpackage{hyperref}'s \xoption{bookmarksnumbered}.
-% \begin{macrocode}
-\DeclareBoolOption[%
- \ifHy@bookmarksnumbered true\else false\fi
-]{numbered}
-\g@addto@macro\BKM@numberedtrue{%
- \let\ifHy@bookmarksnumbered\iftrue
-}
-\g@addto@macro\BKM@numberedfalse{%
- \let\ifHy@bookmarksnumbered\iffalse
-}
-\g@addto@macro\Hy@bookmarksnumberedtrue{%
- \let\ifBKM@numbered\iftrue
-}
-\g@addto@macro\Hy@bookmarksnumberedfalse{%
- \let\ifBKM@numbered\iffalse
-}
-% \end{macrocode}
-% \begin{macro}{\bookmark@numbered}
-% \begin{macrocode}
-\def\bookmark@numbered{%
- \ifBKM@numbered\ltx@one\else\ltx@zero\fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \paragraph{Redefinitions \xpackage{hyperref}'s options}
-%
-% \begin{macro}{\BKM@PatchHyperrefOption}
-% \begin{macrocode}
-\def\BKM@PatchHyperrefOption#1{%
- \expandafter\BKM@@PatchHyperrefOption\csname KV@Hyp@#1\endcsname%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@@PatchHyperrefOption}
-% \begin{macrocode}
-\def\BKM@@PatchHyperrefOption#1{%
- \expandafter\BKM@@@PatchHyperrefOption#1{##1}\BKM@nil#1%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@@@PatchHyperrefOption}
-% \begin{macrocode}
-\def\BKM@@@PatchHyperrefOption#1\BKM@nil#2#3{%
- \def#2##1{%
- #1%
- \bookmarksetup{#3={##1}}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\BKM@PatchHyperrefOption{bookmarksopen}{open}
-\BKM@PatchHyperrefOption{bookmarksopenlevel}{openlevel}
-\BKM@PatchHyperrefOption{bookmarksdepth}{depth}
-% \end{macrocode}
-%
-% \paragraph{Font style options.}
-%
-% Caution: Package \xpackage{bitset} is zero-based, the
-% PDF specifications starts with one.
-% \begin{macrocode}
-\bitsetReset{BKM@FontStyle}%
-\define@key{BKM}{italic}[true]{%
- \expandafter\ifx\csname if#1\endcsname\iftrue
- \bitsetSet{BKM@FontStyle}{0}%
- \else
- \bitsetClear{BKM@FontStyle}{0}%
- \fi
-}%
-\define@key{BKM}{bold}[true]{%
- \expandafter\ifx\csname if#1\endcsname\iftrue
- \bitsetSet{BKM@FontStyle}{1}%
- \else
- \bitsetClear{BKM@FontStyle}{1}%
- \fi
-}%
-% \end{macrocode}
-% \begin{macro}{\bookmark@italic}
-% \begin{macrocode}
-\def\bookmark@italic{%
- \ifnum\bitsetGet{BKM@FontStyle}{0}=1 \ltx@one\else\ltx@zero\fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\bookmark@bold}
-% \begin{macrocode}
-\def\bookmark@bold{%
- \ifnum\bitsetGet{BKM@FontStyle}{1}=1 \ltx@one\else\ltx@zero\fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@PrintStyle}
-% \begin{macrocode}
-\def\BKM@PrintStyle{%
- \bitsetGetDec{BKM@FontStyle}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \paragraph{Options for color.}
-%
-% \begin{macrocode}
-\define@key{BKM}{color}{%
- \HyColor@BookmarkColor{#1}\BKM@color{bookmark}{color}%
-}
-% \end{macrocode}
-% \begin{macro}{\BKM@color}
-% \begin{macrocode}
-\let\BKM@color\@empty
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\bookmark@color}
-% \begin{macrocode}
-\def\bookmark@color{\BKM@color}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Action options}
-%
-% \begin{macrocode}
-\def\BKM@temp#1{%
- \DeclareStringOption{#1}%
- \expandafter\edef\csname bookmark@#1\endcsname{%
- \expandafter\noexpand\csname BKM@#1\endcsname
- }%
-}
-% \end{macrocode}
-% \begin{macro}{\bookmark@dest}
-% \begin{macrocode}
-\BKM@temp{dest}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\bookmark@named}
-% \begin{macrocode}
-\BKM@temp{named}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\bookmark@uri}
-% \begin{macrocode}
-\BKM@temp{uri}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\bookmark@gotor}
-% \begin{macrocode}
-\BKM@temp{gotor}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\bookmark@rawaction}
-% \begin{macrocode}
-\BKM@temp{rawaction}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{BKM}{page}{%
- \def\BKM@page{#1}%
- \ifx\BKM@page\@empty
- \else
- \edef\BKM@page{\number\BKM@page}%
- \ifnum\BKM@page>\z@
- \else
- \PackageError{bookmark}{Page must be positive}\@ehc
- \def\BKM@page{1}%
- \fi
- \fi
-}
-% \end{macrocode}
-% \begin{macro}{\BKM@page}
-% \begin{macrocode}
-\let\BKM@page\@empty
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\bookmark@page}
-% \begin{macrocode}
-\def\bookmark@page{\BKM@@page}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{BKM}{view}{%
- \BKM@CheckView{#1}%
-}
-% \end{macrocode}
-% \begin{macro}{\BKM@view}
-% \begin{macrocode}
-\let\BKM@view\@empty
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\bookmark@view}
-% \begin{macrocode}
-\def\bookmark@view{\BKM@view}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{BKM@CheckView}
-% \begin{macrocode}
-\def\BKM@CheckView#1{%
- \BKM@CheckViewType#1 \@nil
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@CheckViewType}
-% \begin{macrocode}
-\def\BKM@CheckViewType#1 #2\@nil{%
- \def\BKM@type{#1}%
- \@onelevel@sanitize\BKM@type
- \BKM@TestViewType{Fit}{}%
- \BKM@TestViewType{FitB}{}%
- \BKM@TestViewType{FitH}{%
- \BKM@CheckParam#2 \@nil{top}%
- }%
- \BKM@TestViewType{FitBH}{%
- \BKM@CheckParam#2 \@nil{top}%
- }%
- \BKM@TestViewType{FitV}{%
- \BKM@CheckParam#2 \@nil{bottom}%
- }%
- \BKM@TestViewType{FitBV}{%
- \BKM@CheckParam#2 \@nil{bottom}%
- }%
- \BKM@TestViewType{FitR}{%
- \BKM@CheckRect{#2}{ }%
- }%
- \BKM@TestViewType{XYZ}{%
- \BKM@CheckXYZ{#2}{ }%
- }%
- \@car{%
- \PackageError{bookmark}{%
- Unknown view type `\BKM@type',\MessageBreak
- using `FitH' instead%
- }\@ehc
- \def\BKM@view{FitH}%
- }%
- \@nil
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@TestViewType}
-% \begin{macrocode}
-\def\BKM@TestViewType#1{%
- \def\BKM@temp{#1}%
- \@onelevel@sanitize\BKM@temp
- \ifx\BKM@type\BKM@temp
- \let\BKM@view\BKM@temp
- \expandafter\@car
- \else
- \expandafter\@gobble
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{BKM@CheckParam}
-% \begin{macrocode}
-\def\BKM@CheckParam#1 #2\@nil#3{%
- \def\BKM@param{#1}%
- \ifx\BKM@param\@empty
- \PackageWarning{bookmark}{%
- Missing parameter (#3) for `\BKM@type',\MessageBreak
- using 0%
- }%
- \def\BKM@param{0}%
- \else
- \BKM@CalcParam
- \fi
- \edef\BKM@view{\BKM@view\space\BKM@param}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{BKM@CheckRect}
-% \begin{macrocode}
-\def\BKM@CheckRect#1#2{%
- \BKM@@CheckRect#1#2#2#2#2\@nil
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@@CheckRect}
-% \begin{macrocode}
-\def\BKM@@CheckRect#1 #2 #3 #4 #5\@nil{%
- \def\BKM@temp{0}%
- \def\BKM@param{#1}%
- \ifx\BKM@param\@empty
- \def\BKM@param{0}%
- \def\BKM@temp{1}%
- \else
- \BKM@CalcParam
- \fi
- \edef\BKM@view{\BKM@view\space\BKM@param}%
- \def\BKM@param{#2}%
- \ifx\BKM@param\@empty
- \def\BKM@param{0}%
- \def\BKM@temp{1}%
- \else
- \BKM@CalcParam
- \fi
- \edef\BKM@view{\BKM@view\space\BKM@param}%
- \def\BKM@param{#3}%
- \ifx\BKM@param\@empty
- \def\BKM@param{0}%
- \def\BKM@temp{1}%
- \else
- \BKM@CalcParam
- \fi
- \edef\BKM@view{\BKM@view\space\BKM@param}%
- \def\BKM@param{#4}%
- \ifx\BKM@param\@empty
- \def\BKM@param{0}%
- \def\BKM@temp{1}%
- \else
- \BKM@CalcParam
- \fi
- \edef\BKM@view{\BKM@view\space\BKM@param}%
- \ifnum\BKM@temp>\z@
- \PackageWarning{bookmark}{Missing parameters for `\BKM@type'}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@CheckXYZ}
-% \begin{macrocode}
-\def\BKM@CheckXYZ#1#2{%
- \BKM@@CheckXYZ#1#2#2#2\@nil
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@@CheckXYZ}
-% \begin{macrocode}
-\def\BKM@@CheckXYZ#1 #2 #3 #4\@nil{%
- \def\BKM@param{#1}%
- \let\BKM@temp\BKM@param
- \@onelevel@sanitize\BKM@temp
- \ifx\BKM@param\@empty
- \let\BKM@param\BKM@null
- \else
- \ifx\BKM@temp\BKM@null
- \else
- \BKM@CalcParam
- \fi
- \fi
- \edef\BKM@view{\BKM@view\space\BKM@param}%
- \def\BKM@param{#2}%
- \let\BKM@temp\BKM@param
- \@onelevel@sanitize\BKM@temp
- \ifx\BKM@param\@empty
- \let\BKM@param\BKM@null
- \else
- \ifx\BKM@temp\BKM@null
- \else
- \BKM@CalcParam
- \fi
- \fi
- \edef\BKM@view{\BKM@view\space\BKM@param}%
- \def\BKM@param{#3}%
- \ifx\BKM@param\@empty
- \let\BKM@param\BKM@null
- \fi
- \edef\BKM@view{\BKM@view\space\BKM@param}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@null}
-% \begin{macrocode}
-\def\BKM@null{null}
-\@onelevel@sanitize\BKM@null
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BKM@CalcParam}
-% \begin{macrocode}
-\def\BKM@CalcParam{%
- \begingroup
- \let\calc\@firstofone
- \expandafter\BKM@@CalcParam\BKM@param\@empty\@empty\@nil
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@@CalcParam}
-% \begin{macrocode}
-\def\BKM@@CalcParam#1#2#3\@nil{%
- \ifx\calc#1%
- \@ifundefined{calc@assign@dimen}{%
- \@ifundefined{dimexpr}{%
- \setlength{\dimen@}{#2}%
- }{%
- \setlength{\dimen@}{\dimexpr#2\relax}%
- }%
- }{%
- \setlength{\dimen@}{#2}%
- }%
- \dimen@.99626\dimen@
- \edef\BKM@param{\strip@pt\dimen@}%
- \expandafter\endgroup
- \expandafter\def\expandafter\BKM@param\expandafter{\BKM@param}%
- \else
- \endgroup
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Option \xoption{atend}}
-%
-% \begin{macrocode}
-\DeclareBoolOption{atend}
-\g@addto@macro\BKM@DisableOptions{%
- \DisableKeyvalOption[action=warning,package=bookmark]%
- {BKM}{atend}%
-}
-% \end{macrocode}
-%
-% \subsubsection{Option \xoption{style}}
-%
-% \begin{macro}{\bookmarkdefinestyle}
-% \begin{macrocode}
-\newcommand*{\bookmarkdefinestyle}[2]{%
- \@ifundefined{BKM@style@#1}{%
- }{%
- \PackageInfo{bookmark}{Redefining style `#1'}%
- }%
- \@namedef{BKM@style@#1}{#2}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\define@key{BKM}{style}{%
- \BKM@StyleCall{#1}%
-}
-\newif\ifBKM@ok
-% \end{macrocode}
-% \begin{macro}{\BKM@StyleCall}
-% \begin{macrocode}
-\def\BKM@StyleCall#1{%
- \@ifundefined{BKM@style@#1}{%
- \PackageWarning{bookmark}{%
- Ignoring unknown style `#1'%
- }%
- }{%
-% \end{macrocode}
-% Check style stack.
-% \begin{macrocode}
- \BKM@oktrue
- \edef\BKM@StyleCurrent{#1}%
- \@onelevel@sanitize\BKM@StyleCurrent
- \let\BKM@StyleEntry\BKM@StyleEntryCheck
- \BKM@StyleStack
- \ifBKM@ok
- \expandafter\@firstofone
- \else
- \PackageError{bookmark}{%
- Ignoring recursive call of style `\BKM@StyleCurrent'%
- }\@ehc
- \expandafter\@gobble
- \fi
- {%
-% \end{macrocode}
-% Push current style on stack.
-% \begin{macrocode}
- \let\BKM@StyleEntry\relax
- \edef\BKM@StyleStack{%
- \BKM@StyleEntry{\BKM@StyleCurrent}%
- \BKM@StyleStack
- }%
-% \end{macrocode}
-% Call style.
-% \begin{macrocode}
- \expandafter\expandafter\expandafter\bookmarksetup
- \expandafter\expandafter\expandafter{%
- \csname BKM@style@\BKM@StyleCurrent\endcsname
- }%
-% \end{macrocode}
-% Pop current style from stack.
-% \begin{macrocode}
- \BKM@StyleStackPop
- }%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@StyleStackPop}
-% \begin{macrocode}
-\def\BKM@StyleStackPop{%
- \let\BKM@StyleEntry\relax
- \edef\BKM@StyleStack{%
- \expandafter\@gobbletwo\BKM@StyleStack
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@StyleEntryCheck}
-% \begin{macrocode}
-\def\BKM@StyleEntryCheck#1{%
- \def\BKM@temp{#1}%
- \ifx\BKM@temp\BKM@StyleCurrent
- \BKM@okfalse
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@StyleStack}
-% \begin{macrocode}
-\def\BKM@StyleStack{}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Options for source file location}
-%
-% \begin{macrocode}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-% \end{macrocode}
-%
-% \subsubsection{Hook support}
-%
-% \begin{macro}{\BKM@hook}
-% \begin{macrocode}
-\def\BKM@hook{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\define@key{BKM}{addtohook}{%
- \ltx@LocalAppendToMacro\BKM@hook{#1}%
-}
-% \end{macrocode}
-%
-% \begin{macro}{bookmarkget}
-% \begin{macrocode}
-\newcommand*{\bookmarkget}[1]{%
- \romannumeral0%
- \ltx@ifundefined{bookmark@#1}{%
- \ltx@space
- }{%
- \expandafter\expandafter\expandafter\ltx@space
- \csname bookmark@#1\endcsname
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Driver setup and loading}
-%
-% \paragraph{Driver detection.}
-%
-% \begin{macro}{\BKM@DefineDriverKey}
-% \begin{macrocode}
-\def\BKM@DefineDriverKey#1{%
- \define@key{BKM}{#1}[]{%
- \def\BKM@driver{#1}%
- }%
- \g@addto@macro\BKM@DisableOptions{%
- \DisableKeyvalOption[action=warning,package=bookmark]%
- {BKM}{#1}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\BKM@DefineDriverKey{pdftex}
-\BKM@DefineDriverKey{dvips}
-\BKM@DefineDriverKey{dvipsone}
-\BKM@DefineDriverKey{textures}
-\BKM@DefineDriverKey{dvipdfm}
-\BKM@DefineDriverKey{dvipdfmx}
-\BKM@DefineDriverKey{xetex}
-\BKM@DefineDriverKey{vtex}
-\define@key{BKM}{dvipdfmx-outline-open}[true]{%
- \expandafter\ifx\csname if#1\expandafter\endcsname
- \csname iftrue\endcsname
- \chardef\SpecialDvipdfmxOutlineOpen\@ne
- \else
- \chardef\SpecialDvipdfmxOutlineOpen\z@
- \fi
-}
-\g@addto@macro\BKM@DisableOptions{%
- \DisableKeyvalOption{BKM}{dvipdfmx-outline-open}%
-}
-% \end{macrocode}
-% \begin{macro}{\bookmark@driver}
-% \begin{macrocode}
-\def\bookmark@driver{\BKM@driver}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\InputIfFileExists{bookmark.cfg}{}{}
-% \end{macrocode}
-% \begin{macro}{\BookmarkDriverDefault}
-% \begin{macrocode}
-\providecommand*{\BookmarkDriverDefault}{dvips}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@driver}
-% Lua\TeX\ and pdf\TeX\ share driver.
-% \begin{macrocode}
-\ifpdf
- \def\BKM@driver{pdftex}%
- \ifx\pdfoutline\@undefined
- \ifx\pdfextension\@undefined\else
- \protected\def\pdfoutline{\pdfextension outline }
- \fi
- \fi
-\else
- \ifxetex
- \def\BKM@driver{dvipdfm}%
- \else
- \ifvtex
- \def\BKM@driver{vtex}%
- \else
- \edef\BKM@driver{\BookmarkDriverDefault}%
- \fi
- \fi
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \paragraph{Process options.}
-%
-% \begin{macrocode}
-\ProcessKeyvalOptions*
-\BKM@DisableOptions
-% \end{macrocode}
-%
-% \paragraph{Option \xoption{draft}}
-%
-% \begin{macrocode}
-\ifBKM@draft
- \PackageWarningNoLine{bookmark}{Draft mode on}%
- \let\bookmarksetup\ltx@gobble
- \let\BookmarkAtEnd\ltx@gobble
- \let\bookmarkdefinestyle\ltx@gobbletwo
- \let\bookmarkget\ltx@gobble
- \let\pdfbookmark\ltx@undefined
- \newcommand*{\pdfbookmark}[3][]{}%
- \let\currentpdfbookmark\ltx@gobbletwo
- \let\subpdfbookmark\ltx@gobbletwo
- \let\belowpdfbookmark\ltx@gobbletwo
- \newcommand*{\bookmark}[2][]{}%
- \renewcommand*{\Hy@writebookmark}[5]{}%
- \let\ReadBookmarks\relax
- \let\BKM@DefGotoNameAction\ltx@gobbletwo % package `hypdestopt'
- \expandafter\endinput
-\fi
-% \end{macrocode}
-%
-% \paragraph{Driver validation and loading.}
-%
-% \begin{macrocode}
-\newif\ifBKM@DvipdfmxOutlineOpen
-\ltx@IfUndefined{SpecialDvipdfmxOutlineOpen}{%
- \ifxetex
- \ifdim\number\XeTeXversion\XeTeXrevision in<0.9995in %
- \else
- \chardef\SpecialDvipdfmxOutlineOpen\ltx@one
- \BKM@DvipdfmxOutlineOpentrue
- \fi
- \fi
-}{%
- \ifnum\SpecialDvipdfmxOutlineOpen>\z@
- \BKM@DvipdfmxOutlineOpentrue
- \fi
-}
-% \end{macrocode}
-% \begin{macrocode}
-\def\BKM@temp{dvipdfmx}%
-\ifx\BKM@temp\BKM@driver
- \def\BKM@driver{dvipdfm}%
-\fi
-\def\BKM@temp{pdftex}%
-\ifpdf
- \ifx\BKM@temp\BKM@driver
- \else
- \PackageWarningNoLine{bookmark}{%
- Wrong driver `\BKM@driver', using `pdftex' instead%
- }%
- \let\BKM@driver\BKM@temp
- \fi
-\else
- \ifx\BKM@temp\BKM@driver
- \PackageError{bookmark}{%
- Wrong driver, pdfTeX is not running in PDF mode.\MessageBreak
- Package loading is aborted%
- }\@ehc
- \expandafter\expandafter\expandafter\endinput
- \fi
- \def\BKM@temp{dvipdfm}%
- \ifxetex
- \ifx\BKM@temp\BKM@driver
- \else
- \PackageWarningNoLine{bookmark}{%
- Wrong driver `\BKM@driver',\MessageBreak
- using `dvipdfm' for XeTeX instead%
- }%
- \let\BKM@driver\BKM@temp
- \fi
- \else
- \def\BKM@temp{vtex}%
- \ifvtex
- \ifx\BKM@temp\BKM@driver
- \else
- \PackageWarningNoLine{bookmark}{%
- Wrong driver `\BKM@driver',\MessageBreak
- using `vtex' for VTeX instead%
- }%
- \let\BKM@driver\BKM@temp
- \fi
- \else
- \ifx\BKM@temp\BKM@driver
- \PackageError{bookmark}{%
- Wrong driver, VTeX is not running in PDF mode.\MessageBreak
- Package loading is aborted%
- }\@ehc
- \expandafter\expandafter\expandafter\endinput
- \fi
- \fi
- \fi
-\fi
-\InputIfFileExists{bkm-\BKM@driver.def}{}{%
- \PackageError{bookmark}{%
- Unsupported driver `\BKM@driver'.\MessageBreak
- Package loading is aborted%
- }\@ehc
- \endinput
-}
-% \end{macrocode}
-%
-% \subsubsection{Compatibility for \xpackage{hyperref}}
-%
-% \begin{macro}{\pdfbookmark}
-% \begin{macrocode}
-\let\pdfbookmark\ltx@undefined
-\newcommand*{\pdfbookmark}[3][0]{%
- \bookmark[level=#1,dest={#3.#1}]{#2}%
- \hyper@anchorstart{#3.#1}\hyper@anchorend
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\currentpdfbookmark}
-% \begin{macrocode}
-\def\currentpdfbookmark{%
- \pdfbookmark[\BKM@currentlevel]%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\subpdfbookmark}
-% \begin{macrocode}
-\def\subpdfbookmark{%
- \BKM@CalcExpr\BKM@CalcResult\BKM@currentlevel+1%
- \expandafter\pdfbookmark\expandafter[\BKM@CalcResult]%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\belowpdfbookmark}
-% \begin{macrocode}
-\def\belowpdfbookmark#1#2{%
- \xdef\BKM@gtemp{\number\BKM@currentlevel}%
- \subpdfbookmark{#1}{#2}%
- \global\let\BKM@currentlevel\BKM@gtemp
-}
-% \end{macrocode}
-% \end{macro}
-%
-% Section number, text, label, level, file
-% \begin{macro}{\Hy@writebookmark}
-% \begin{macrocode}
-\def\Hy@writebookmark#1#2#3#4#5{%
- \ifnum#4>\BKM@depth\relax
- \else
- \def\BKM@type{#5}%
- \ifx\BKM@type\Hy@bookmarkstype
- \begingroup
- \ifBKM@numbered
- \let\numberline\Hy@numberline
- \let\booknumberline\Hy@numberline
- \let\partnumberline\Hy@numberline
- \let\chapternumberline\Hy@numberline
- \else
- \let\numberline\@gobble
- \let\booknumberline\@gobble
- \let\partnumberline\@gobble
- \let\chapternumberline\@gobble
- \fi
- \bookmark[level=#4,dest={#3}]{#2}%
- \endgroup
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ReadBookmarks}
-% \begin{macrocode}
-\let\ReadBookmarks\relax
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%
-% \subsection{Driver for dvipdfm}
-%
-% \begin{macrocode}
-%<*dvipdfm>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipdfm.def}%
- [2019/06/04 v1.27 bookmark driver for dvipdfm (HO)]%
-% \end{macrocode}
-%
-% \begin{macro}{\BKM@id}
-% \begin{macrocode}
-\newcount\BKM@id
-\BKM@id=\z@
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BKM@0}
-% \begin{macrocode}
-\@namedef{BKM@0}{000}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifBKM@sw}
-% \begin{macrocode}
-\newif\ifBKM@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bookmark}
-% \begin{macrocode}
-\newcommand*{\bookmark}[2][]{%
- \if@filesw
- \begingroup
- \def\bookmark@text{#2}%
- \BKM@setup{#1}%
- \edef\BKM@prev{\the\BKM@id}%
- \global\advance\BKM@id\@ne
- \BKM@swtrue
- \@whilesw\ifBKM@sw\fi{%
- \def\BKM@abslevel{1}%
- \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
- \BKM@startatrootfalse
- \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
- 0{\BKM@level}\BKM@abslevel
- }%
- \BKM@swfalse
- \else
- \expandafter\expandafter\expandafter\BKM@getx
- \csname BKM@\BKM@prev\endcsname
- \ifnum\BKM@level>\BKM@x@level\relax
- \BKM@CalcExpr\BKM@abslevel\BKM@x@abslevel+1%
- \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
- {\BKM@prev}{\BKM@level}\BKM@abslevel
- }%
- \BKM@swfalse
- \else
- \let\BKM@prev\BKM@x@parent
- \fi
- \fi
- }%
- \csname HyPsd@XeTeXBigCharstrue\endcsname
- \pdfstringdef\BKM@title{\bookmark@text}%
- \edef\BKM@FLAGS{\BKM@PrintStyle}%
- \let\BKM@action\@empty
- \ifx\BKM@gotor\@empty
- \ifx\BKM@dest\@empty
- \ifx\BKM@named\@empty
- \ifx\BKM@rawaction\@empty
- \ifx\BKM@uri\@empty
- \ifx\BKM@page\@empty
- \PackageError{bookmark}{Missing action}\@ehc
- \edef\BKM@action{/Dest[@page1/Fit]}%
- \else
- \ifx\BKM@view\@empty
- \def\BKM@view{Fit}%
- \fi
- \edef\BKM@action{/Dest[@page\BKM@page/\BKM@view]}%
- \fi
- \else
- \BKM@EscapeString\BKM@uri
- \edef\BKM@action{%
- /A<<%
- /S/URI%
- /URI(\BKM@uri)%
- >>%
- }%
- \fi
- \else
- \edef\BKM@action{/A<<\BKM@rawaction>>}%
- \fi
- \else
- \BKM@EscapeName\BKM@named
- \edef\BKM@action{%
- /A<</S/Named/N/\BKM@named>>%
- }%
- \fi
- \else
- \BKM@EscapeString\BKM@dest
- \edef\BKM@action{%
- /A<<%
- /S/GoTo%
- /D(\BKM@dest)%
- >>%
- }%
- \fi
- \else
- \ifx\BKM@dest\@empty
- \ifx\BKM@page\@empty
- \def\BKM@page{0}%
- \else
- \BKM@CalcExpr\BKM@page\BKM@page-1%
- \fi
- \ifx\BKM@view\@empty
- \def\BKM@view{Fit}%
- \fi
- \edef\BKM@action{/D[\BKM@page/\BKM@view]}%
- \else
- \BKM@EscapeString\BKM@dest
- \edef\BKM@action{/D(\BKM@dest)}%
- \fi
- \BKM@EscapeString\BKM@gotor
- \edef\BKM@action{%
- /A<<%
- /S/GoToR%
- /F(\BKM@gotor)%
- \BKM@action
- >>%
- }%
- \fi
- \special{pdf:%
- out \ifBKM@DvipdfmxOutlineOpen
- [%
- \ifBKM@open
- \ifnum\BKM@level<%
- \expandafter\ltx@firstofone\expandafter
- {\number\BKM@openlevel} %
- \else
- -%
- \fi
- \else
- -%
- \fi
- ] %
- \fi
- \BKM@abslevel
- <<%
- /Title(\BKM@title)%
- \ifx\BKM@color\@empty
- \else
- /C[\BKM@color]%
- \fi
- \ifnum\BKM@FLAGS>\z@
- /F \BKM@FLAGS
- \fi
- \BKM@action
- >>%
- }%
- \endgroup
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@getx}
-% \begin{macrocode}
-\def\BKM@getx#1#2#3{%
- \def\BKM@x@parent{#1}%
- \def\BKM@x@level{#2}%
- \def\BKM@x@abslevel{#3}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</dvipdfm>
-% \end{macrocode}
-%
-% \subsection{Driver for \hologo{VTeX}}
-%
-% \begin{macrocode}
-%<*vtex>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-vtex.def}%
- [2019/06/04 v1.27 bookmark driver for VTeX (HO)]%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ifvtexpdf
-\else
- \PackageWarningNoLine{bookmark}{%
- The VTeX driver only supports PDF mode%
- }%
-\fi
-% \end{macrocode}
-%
-% \begin{macro}{\BKM@id}
-% \begin{macrocode}
-\newcount\BKM@id
-\BKM@id=\z@
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BKM@0}
-% \begin{macrocode}
-\@namedef{BKM@0}{00}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifBKM@sw}
-% \begin{macrocode}
-\newif\ifBKM@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bookmark}
-% \begin{macrocode}
-\newcommand*{\bookmark}[2][]{%
- \if@filesw
- \begingroup
- \def\bookmark@text{#2}%
- \BKM@setup{#1}%
- \edef\BKM@prev{\the\BKM@id}%
- \global\advance\BKM@id\@ne
- \BKM@swtrue
- \@whilesw\ifBKM@sw\fi{%
- \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
- \BKM@startatrootfalse
- \def\BKM@parent{0}%
- \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
- 0{\BKM@level}%
- }%
- \BKM@swfalse
- \else
- \expandafter\expandafter\expandafter\BKM@getx
- \csname BKM@\BKM@prev\endcsname
- \ifnum\BKM@level>\BKM@x@level\relax
- \let\BKM@parent\BKM@prev
- \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
- {\BKM@prev}{\BKM@level}%
- }%
- \BKM@swfalse
- \else
- \let\BKM@prev\BKM@x@parent
- \fi
- \fi
- }%
- \pdfstringdef\BKM@title{\bookmark@text}%
- \BKM@vtex@title
- \edef\BKM@FLAGS{\BKM@PrintStyle}%
- \let\BKM@action\@empty
- \ifx\BKM@gotor\@empty
- \ifx\BKM@dest\@empty
- \ifx\BKM@named\@empty
- \ifx\BKM@rawaction\@empty
- \ifx\BKM@uri\@empty
- \ifx\BKM@page\@empty
- \PackageError{bookmark}{Missing action}\@ehc
- \def\BKM@action{!1}%
- \else
- \edef\BKM@action{!\BKM@page}%
- \fi
- \else
- \BKM@EscapeString\BKM@uri
- \edef\BKM@action{%
- <u=%
- /S/URI%
- /URI(\BKM@uri)%
- >%
- }%
- \fi
- \else
- \edef\BKM@action{<u=\BKM@rawaction>}%
- \fi
- \else
- \BKM@EscapeName\BKM@named
- \edef\BKM@action{%
- <u=%
- /S/Named%
- /N/\BKM@named
- >%
- }%
- \fi
- \else
- \BKM@EscapeString\BKM@dest
- \edef\BKM@action{\BKM@dest}%
- \fi
- \else
- \ifx\BKM@dest\@empty
- \ifx\BKM@page\@empty
- \def\BKM@page{1}%
- \fi
- \ifx\BKM@view\@empty
- \def\BKM@view{Fit}%
- \fi
- \edef\BKM@action{/D[\BKM@page/\BKM@view]}%
- \else
- \BKM@EscapeString\BKM@dest
- \edef\BKM@action{/D(\BKM@dest)}%
- \fi
- \BKM@EscapeString\BKM@gotor
- \edef\BKM@action{%
- <u=%
- /S/GoToR%
- /F(\BKM@gotor)%
- \BKM@action
- >>%
- }%
- \fi
- \ifx\BKM@color\@empty
- \let\BKM@RGBcolor\@empty
- \else
- \expandafter\BKM@toRGB\BKM@color\@nil
- \fi
- \special{%
- !outline \BKM@action;%
- p=\BKM@parent,%
- i=\number\BKM@id,%
- s=%
- \ifBKM@open
- \ifnum\BKM@level<\BKM@openlevel
- o%
- \else
- c%
- \fi
- \else
- c%
- \fi,%
- \ifx\BKM@RGBcolor\@empty
- \else
- c=\BKM@RGBcolor,%
- \fi
- \ifnum\BKM@FLAGS>\z@
- f=\BKM@FLAGS,%
- \fi
- t=\BKM@title
- }%
- \endgroup
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@getx}
-% \begin{macrocode}
-\def\BKM@getx#1#2{%
- \def\BKM@x@parent{#1}%
- \def\BKM@x@level{#2}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@toRGB}
-% \begin{macrocode}
-\def\BKM@toRGB#1 #2 #3\@nil{%
- \let\BKM@RGBcolor\@empty
- \BKM@toRGBComponent{#1}%
- \BKM@toRGBComponent{#2}%
- \BKM@toRGBComponent{#3}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@toRGBComponent}
-% \begin{macrocode}
-\def\BKM@toRGBComponent#1{%
- \dimen@=#1pt\relax
- \ifdim\dimen@>\z@
- \ifdim\dimen@<\p@
- \dimen@=255\dimen@
- \advance\dimen@ by 32768sp\relax
- \divide\dimen@ by 65536\relax
- \dimen@ii=\dimen@
- \divide\dimen@ii by 16\relax
- \edef\BKM@RGBcolor{%
- \BKM@RGBcolor
- \BKM@toHexDigit\dimen@ii
- }%
- \dimen@ii=16\dimen@ii
- \advance\dimen@-\dimen@ii
- \edef\BKM@RGBcolor{%
- \BKM@RGBcolor
- \BKM@toHexDigit\dimen@
- }%
- \else
- \edef\BKM@RGBcolor{\BKM@RGBcolor FF}%
- \fi
- \else
- \edef\BKM@RGBcolor{\BKM@RGBcolor00}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@toHexDigit}
-% \begin{macrocode}
-\def\BKM@toHexDigit#1{%
- \ifcase\expandafter\@firstofone\expandafter{\number#1} %
- 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or
- 8\or 9\or A\or B\or C\or D\or E\or F%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\begingroup
- \catcode`\|=0 %
- \catcode`\\=12 %
-% \end{macrocode}
-% \begin{macro}{\BKM@vtex@title}
-% \begin{macrocode}
- |gdef|BKM@vtex@title{%
- |@onelevel@sanitize|BKM@title
- |edef|BKM@title{|expandafter|BKM@vtex@leftparen|BKM@title\(|@nil}%
- |edef|BKM@title{|expandafter|BKM@vtex@rightparen|BKM@title\)|@nil}%
- |edef|BKM@title{|expandafter|BKM@vtex@zero|BKM@title\0|@nil}%
- |edef|BKM@title{|expandafter|BKM@vtex@one|BKM@title\1|@nil}%
- |edef|BKM@title{|expandafter|BKM@vtex@two|BKM@title\2|@nil}%
- |edef|BKM@title{|expandafter|BKM@vtex@three|BKM@title\3|@nil}%
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@vtex@leftparen}
-% \begin{macrocode}
- |gdef|BKM@vtex@leftparen#1\(#2|@nil{%
- #1%
- |ifx||#2||%
- |else
- (%
- |ltx@ReturnAfterFi{%
- |BKM@vtex@leftparen#2|@nil
- }%
- |fi
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@vtex@rightparen}
-% \begin{macrocode}
- |gdef|BKM@vtex@rightparen#1\)#2|@nil{%
- #1%
- |ifx||#2||%
- |else
- )%
- |ltx@ReturnAfterFi{%
- |BKM@vtex@rightparen#2|@nil
- }%
- |fi
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@vtex@zero}
-% \begin{macrocode}
- |gdef|BKM@vtex@zero#1\0#2|@nil{%
- #1%
- |ifx||#2||%
- |else
- |noexpand|hv@pdf@char0%
- |ltx@ReturnAfterFi{%
- |BKM@vtex@zero#2|@nil
- }%
- |fi
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@vtex@one}
-% \begin{macrocode}
- |gdef|BKM@vtex@one#1\1#2|@nil{%
- #1%
- |ifx||#2||%
- |else
- |noexpand|hv@pdf@char1%
- |ltx@ReturnAfterFi{%
- |BKM@vtex@one#2|@nil
- }%
- |fi
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@vtex@two}
-% \begin{macrocode}
- |gdef|BKM@vtex@two#1\2#2|@nil{%
- #1%
- |ifx||#2||%
- |else
- |noexpand|hv@pdf@char2%
- |ltx@ReturnAfterFi{%
- |BKM@vtex@two#2|@nil
- }%
- |fi
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@vtex@three}
-% \begin{macrocode}
- |gdef|BKM@vtex@three#1\3#2|@nil{%
- #1%
- |ifx||#2||%
- |else
- |noexpand|hv@pdf@char3%
- |ltx@ReturnAfterFi{%
- |BKM@vtex@three#2|@nil
- }%
- |fi
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-|endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</vtex>
-% \end{macrocode}
-%
-% \subsection{Driver for \hologo{pdfTeX}}
-%
-% \begin{macrocode}
-%<*pdftex>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-pdftex.def}%
- [2019/06/04 v1.27 bookmark driver for pdfTeX (HO)]%
-% \end{macrocode}
-%
-% \begin{macro}{\BKM@DO@entry}
-% \begin{macrocode}
-\def\BKM@DO@entry#1#2{%
- \begingroup
- \kvsetkeys{BKM@DO}{#1}%
- \def\BKM@DO@title{#2}%
- \ifx\BKM@DO@srcfile\@empty
- \else
- \BKM@UnescapeHex\BKM@DO@srcfile
- \fi
- \BKM@UnescapeHex\BKM@DO@title
- \expandafter\expandafter\expandafter\BKM@getx
- \csname BKM@\BKM@DO@id\endcsname\@empty\@empty
- \let\BKM@attr\@empty
- \ifx\BKM@DO@flags\@empty
- \else
- \edef\BKM@attr{\BKM@attr/F \BKM@DO@flags}%
- \fi
- \ifx\BKM@DO@color\@empty
- \else
- \edef\BKM@attr{\BKM@attr/C[\BKM@DO@color]}%
- \fi
- \ifx\BKM@attr\@empty
- \else
- \edef\BKM@attr{attr{\BKM@attr}}%
- \fi
- \let\BKM@action\@empty
- \ifx\BKM@DO@gotor\@empty
- \ifx\BKM@DO@dest\@empty
- \ifx\BKM@DO@named\@empty
- \ifx\BKM@DO@rawaction\@empty
- \ifx\BKM@DO@uri\@empty
- \ifx\BKM@DO@page\@empty
- \PackageError{bookmark}{%
- Missing action\BKM@SourceLocation
- }\@ehc
- \edef\BKM@action{goto page1{/Fit}}%
- \else
- \ifx\BKM@DO@view\@empty
- \def\BKM@DO@view{Fit}%
- \fi
- \edef\BKM@action{goto page\BKM@DO@page{/\BKM@DO@view}}%
- \fi
- \else
- \BKM@UnescapeHex\BKM@DO@uri
- \BKM@EscapeString\BKM@DO@uri
- \edef\BKM@action{user{<</S/URI/URI(\BKM@DO@uri)>>}}%
- \fi
- \else
- \BKM@UnescapeHex\BKM@DO@rawaction
- \edef\BKM@action{%
- user{%
- <<%
- \BKM@DO@rawaction
- >>%
- }%
- }%
- \fi
- \else
- \BKM@EscapeName\BKM@DO@named
- \edef\BKM@action{%
- user{<</S/Named/N/\BKM@DO@named>>}%
- }%
- \fi
- \else
- \BKM@UnescapeHex\BKM@DO@dest
- \BKM@DefGotoNameAction\BKM@action\BKM@DO@dest
- \fi
- \else
- \ifx\BKM@DO@dest\@empty
- \ifx\BKM@DO@page\@empty
- \def\BKM@DO@page{0}%
- \else
- \BKM@CalcExpr\BKM@DO@page\BKM@DO@page-1%
- \fi
- \ifx\BKM@DO@view\@empty
- \def\BKM@DO@view{Fit}%
- \fi
- \edef\BKM@action{/D[\BKM@DO@page/\BKM@DO@view]}%
- \else
- \BKM@UnescapeHex\BKM@DO@dest
- \BKM@EscapeString\BKM@DO@dest
- \edef\BKM@action{/D(\BKM@DO@dest)}%
- \fi
- \BKM@UnescapeHex\BKM@DO@gotor
- \BKM@EscapeString\BKM@DO@gotor
- \edef\BKM@action{%
- user{%
- <<%
- /S/GoToR%
- /F(\BKM@DO@gotor)%
- \BKM@action
- >>%
- }%
- }%
- \fi
- \pdfoutline\BKM@attr\BKM@action
- count\ifBKM@DO@open\else-\fi\BKM@x@childs
- {\BKM@DO@title}%
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@DefGotoNameAction}
-% Macro \cs{BKM@DefGotoNameAction} is a hook for
-% package \xpackage{hypdestopt}.
-% \begin{macrocode}
-\def\BKM@DefGotoNameAction#1#2{%
- \BKM@EscapeString\BKM@DO@dest
- \edef#1{goto name{#2}}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%</pdftex>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*pdftex|pdfmark>
-% \end{macrocode}
-% \begin{macro}{\BKM@SourceLocation}
-% \begin{macrocode}
-\def\BKM@SourceLocation{%
- \ifx\BKM@DO@srcfile\@empty
- \ifx\BKM@DO@srcline\@empty
- \else
- .\MessageBreak
- Source: line \BKM@DO@srcline
- \fi
- \else
- \ifx\BKM@DO@srcline\@empty
- .\MessageBreak
- Source: file `\BKM@DO@srcfile'%
- \else
- .\MessageBreak
- Source: file `\BKM@DO@srcfile', line \BKM@DO@srcline
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%</pdftex|pdfmark>
-% \end{macrocode}
-%
-% \subsection{Drivers with pdfmark specials}
-%
-% \subsubsection{Driver dvips}
-%
-% \begin{macrocode}
-%<*dvips>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvips.def}%
- [2019/06/04 v1.27 bookmark driver for dvips (HO)]%
-% \end{macrocode}
-% \begin{macro}{\BKM@PSHeaderFile}
-% \begin{macrocode}
-\def\BKM@PSHeaderFile#1{%
- \special{header=#1}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%</dvips>
-% \end{macrocode}
-%
-% \subsubsection{Driver dvipsone}
-%
-% \begin{macrocode}
-%<*dvipsone>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-dvipsone.def}%
- [2019/06/04 v1.27 bookmark driver for dvipsone (HO)]%
-% \end{macrocode}
-% \begin{macro}{\BKM@PSHeaderFile}
-% \begin{macrocode}
-\def\BKM@PSHeaderFile#1{%
- \special{header=#1}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%</dvipsone>
-% \end{macrocode}
-%
-% \subsubsection{Driver textures}
-%
-% \begin{macrocode}
-%<*textures>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{bkm-textures.def}%
- [2019/06/04 v1.27 bookmark driver for textures (HO)]%
-% \end{macrocode}
-% \begin{macro}{\BKM@PSHeaderFile}
-% \begin{macrocode}
-\def\BKM@PSHeaderFile#1{%
- \special{prePostScriptfile #1}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%</textures>
-% \end{macrocode}
-%
-% \subsubsection{Common part}
-%
-% \begin{macrocode}
-%<*pdfmark>
-% \end{macrocode}
-% \begin{macro}{\BKM@filename}
-% \begin{macrocode}
-\def\BKM@filename{\jobname.out.ps}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\BKM@PSHeaderFile\BKM@filename
-% \end{macrocode}
-%
-% \begin{macrocode}
-\RequirePackage{atveryend}[2009/12/07]
-\AfterLastShipout{\BKM@pdfmark@out}
-% \end{macrocode}
-%
-% \begin{macro}{\BKM@pdfmark@out}
-% Do not use package \xpackage{rerunfilecheck} here, because
-% the file \cs{BKM@filename} is not read during the \hologo{TeX} run.
-% \begin{macrocode}
-\def\BKM@pdfmark@out{%
- \if@filesw
- \newwrite\BKM@file
- \immediate\openout\BKM@file=\BKM@filename\relax
- \BKM@write{\@percentchar!}%
- \BKM@write{/pdfmark where{pop}}%
- \BKM@write{%
- {%
- /globaldict where{pop globaldict}{userdict}ifelse%
- /pdfmark/cleartomark load put%
- }%
- }%
- \BKM@write{ifelse}%
- \else
- \let\BKM@write\@gobble
- \let\BKM@DO@entry\@gobbletwo
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@write}
-% \begin{macrocode}
-\def\BKM@write#{%
- \immediate\write\BKM@file
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BKM@DO@entry}
-% The specification for pdfmark says that |/Color| is the
-% name of the key for color, however ghostscript only passes
-% the key into the PDF file, thus the key name must be |/C|.
-% \begin{macrocode}
-\def\BKM@DO@entry#1#2{%
- \begingroup
- \kvsetkeys{BKM@DO}{#1}%
- \ifx\BKM@DO@srcfile\@empty
- \else
- \BKM@UnescapeHex\BKM@DO@srcfile
- \fi
- \def\BKM@DO@title{#2}%
- \BKM@UnescapeHex\BKM@DO@title
- \expandafter\expandafter\expandafter\BKM@getx
- \csname BKM@\BKM@DO@id\endcsname\@empty\@empty
- \let\BKM@attr\@empty
- \ifx\BKM@DO@flags\@empty
- \else
- \edef\BKM@attr{\BKM@attr/F \BKM@DO@flags}%
- \fi
- \ifx\BKM@DO@color\@empty
- \else
- \edef\BKM@attr{\BKM@attr/C[\BKM@DO@color]}%
- \fi
- \let\BKM@action\@empty
- \ifx\BKM@DO@gotor\@empty
- \ifx\BKM@DO@dest\@empty
- \ifx\BKM@DO@named\@empty
- \ifx\BKM@DO@rawaction\@empty
- \ifx\BKM@DO@uri\@empty
- \ifx\BKM@DO@page\@empty
- \PackageError{bookmark}{%
- Missing action\BKM@SourceLocation
- }\@ehc
- \edef\BKM@action{%
- /Action/GoTo%
- /Page 1%
- /View[/Fit]%
- }%
- \else
- \ifx\BKM@DO@view\@empty
- \def\BKM@DO@view{Fit}%
- \fi
- \edef\BKM@action{%
- /Action/GoTo%
- /Page \BKM@DO@page
- /View[/\BKM@DO@view]%
- }%
- \fi
- \else
- \BKM@UnescapeHex\BKM@DO@uri
- \BKM@EscapeString\BKM@DO@uri
- \edef\BKM@action{%
- /Action<<%
- /Subtype/URI%
- /URI(\BKM@DO@uri)%
- >>%
- }%
- \fi
- \else
- \BKM@UnescapeHex\BKM@DO@rawaction
- \edef\BKM@action{%
- /Action<<%
- \BKM@DO@rawaction
- >>%
- }%
- \fi
- \else
- \BKM@EscapeName\BKM@DO@named
- \edef\BKM@action{%
- /Action<<%
- /Subtype/Named%
- /N/\BKM@DO@named
- >>%
- }%
- \fi
- \else
- \BKM@UnescapeHex\BKM@DO@dest
- \BKM@EscapeString\BKM@DO@dest
- \edef\BKM@action{%
- /Action/GoTo%
- /Dest(\BKM@DO@dest)cvn%
- }%
- \fi
- \else
- \ifx\BKM@DO@dest\@empty
- \ifx\BKM@DO@page\@empty
- \def\BKM@DO@page{1}%
- \fi
- \ifx\BKM@DO@view\@empty
- \def\BKM@DO@view{Fit}%
- \fi
- \edef\BKM@action{%
- /Page \BKM@DO@page
- /View[/\BKM@DO@view]%
- }%
- \else
- \BKM@UnescapeHex\BKM@DO@dest
- \BKM@EscapeString\BKM@DO@dest
- \edef\BKM@action{%
- /Dest(\BKM@DO@dest)cvn%
- }%
- \fi
- \BKM@UnescapeHex\BKM@DO@gotor
- \BKM@EscapeString\BKM@DO@gotor
- \edef\BKM@action{%
- /Action/GoToR%
- /File(\BKM@DO@gotor)%
- \BKM@action
- }%
- \fi
- \BKM@write{[}%
- \BKM@write{/Title(\BKM@DO@title)}%
- \ifnum\BKM@x@childs>\z@
- \BKM@write{/Count \ifBKM@DO@open\else-\fi\BKM@x@childs}%
- \fi
- \ifx\BKM@attr\@empty
- \else
- \BKM@write{\BKM@attr}%
- \fi
- \BKM@write{\BKM@action}%
- \BKM@write{/OUT pdfmark}%
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%</pdfmark>
-% \end{macrocode}
-%
-% \subsection{Common part for \xoption{pdftex} and \xoption{pdfmark}}
-%
-% \begin{macrocode}
-%<*pdftex|pdfmark>
-% \end{macrocode}
-%
-% \subsubsection{Write auxiliary file}
-%
-% \begin{macrocode}
-\RequirePackage{auxhook}
-% \end{macrocode}
-% \begin{macrocode}
-\AddLineBeginMainAux{%
- \string\providecommand\string\BKM@entry[2]{}%
-}
-% \end{macrocode}
-%
-% \begin{macro}{\BKM@id}
-% \begin{macrocode}
-\newcount\BKM@id
-\BKM@id=\z@
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BKM@0}
-% \begin{macrocode}
-\@namedef{BKM@0}{000}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifBKM@sw}
-% \begin{macrocode}
-\newif\ifBKM@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bookmark}
-% \begin{macrocode}
-\newcommand*{\bookmark}[2][]{%
- \if@filesw
- \begingroup
- \BKM@InitSourceLocation
- \def\bookmark@text{#2}%
- \BKM@setup{#1}%
- \ifx\BKM@srcfile\@empty
- \else
- \BKM@EscapeHex\BKM@srcfile
- \fi
- \edef\BKM@prev{\the\BKM@id}%
- \global\advance\BKM@id\@ne
- \BKM@swtrue
- \@whilesw\ifBKM@sw\fi{%
- \ifnum\ifBKM@startatroot\z@\else\BKM@prev\fi=\z@
- \BKM@startatrootfalse
- \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
- 0{\BKM@level}0%
- }%
- \BKM@swfalse
- \else
- \expandafter\expandafter\expandafter\BKM@getx
- \csname BKM@\BKM@prev\endcsname
- \ifnum\BKM@level>\BKM@x@level\relax
- \expandafter\xdef\csname BKM@\the\BKM@id\endcsname{%
- {\BKM@prev}{\BKM@level}0%
- }%
- \ifnum\BKM@prev>\z@
- \BKM@CalcExpr\BKM@CalcResult\BKM@x@childs+1%
- \expandafter\xdef\csname BKM@\BKM@prev\endcsname{%
- {\BKM@x@parent}{\BKM@x@level}{\BKM@CalcResult}%
- }%
- \fi
- \BKM@swfalse
- \else
- \let\BKM@prev\BKM@x@parent
- \fi
- \fi
- }%
- \pdfstringdef\BKM@title{\bookmark@text}%
- \edef\BKM@FLAGS{\BKM@PrintStyle}%
- \csname BKM@HypDestOptHook\endcsname
- \BKM@EscapeHex\BKM@dest
- \BKM@EscapeHex\BKM@uri
- \BKM@EscapeHex\BKM@gotor
- \BKM@EscapeHex\BKM@rawaction
- \BKM@EscapeHex\BKM@title
- \immediate\write\@mainaux{%
- \string\BKM@entry{%
- id=\number\BKM@id
- \ifBKM@open
- \ifnum\BKM@level<\BKM@openlevel
- ,open%
- \fi
- \fi
- \BKM@auxentry{dest}%
- \BKM@auxentry{named}%
- \BKM@auxentry{uri}%
- \BKM@auxentry{gotor}%
- \BKM@auxentry{page}%
- \BKM@auxentry{view}%
- \BKM@auxentry{rawaction}%
- \BKM@auxentry{color}%
- \ifnum\BKM@FLAGS>\z@
- ,flags=\BKM@FLAGS
- \fi
- \BKM@auxentry{srcline}%
- \BKM@auxentry{srcfile}%
- }{\BKM@title}%
- }%
- \endgroup
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@getx}
-% \begin{macrocode}
-\def\BKM@getx#1#2#3{%
- \def\BKM@x@parent{#1}%
- \def\BKM@x@level{#2}%
- \def\BKM@x@childs{#3}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@auxentry}
-% \begin{macrocode}
-\def\BKM@auxentry#1{%
- \expandafter\ifx\csname BKM@#1\endcsname\@empty
- \else
- ,#1={\csname BKM@#1\endcsname}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\BKM@InitSourceLocation}
-% \begin{macrocode}
-\def\BKM@InitSourceLocation{%
- \edef\BKM@srcline{\the\inputlineno}%
- \BKM@LuaTeX@InitFile
- \ifx\BKM@srcfile\@empty
- \ltx@IfUndefined{currfilepath}{}{%
- \edef\BKM@srcfile{\currfilepath}%
- }%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\BKM@LuaTeX@InitFile}
-% \begin{macrocode}
-\ifluatex
- \ifnum\luatexversion>36 %
- \def\BKM@LuaTeX@InitFile{%
- \begingroup
- \ltx@LocToksA={}%
- \edef\x{\endgroup
- \def\noexpand\BKM@srcfile{%
- \the\expandafter\ltx@LocToksA
- \directlua{%
- if status and status.filename then %
- tex.settoks('ltx@LocToksA', status.filename)%
- end%
- }%
- }%
- }\x
- }%
- \else
- \let\BKM@LuaTeX@InitFile\relax
- \fi
-\else
- \let\BKM@LuaTeX@InitFile\relax
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Read auxiliary data}
-%
-% \begin{macrocode}
-\SetupKeyvalOptions{family=BKM@DO,prefix=BKM@DO@}
-\DeclareStringOption[0]{id}
-\DeclareBoolOption{open}
-\DeclareStringOption{flags}
-\DeclareStringOption{color}
-\DeclareStringOption{dest}
-\DeclareStringOption{named}
-\DeclareStringOption{uri}
-\DeclareStringOption{gotor}
-\DeclareStringOption{page}
-\DeclareStringOption{view}
-\DeclareStringOption{rawaction}
-\DeclareStringOption{srcline}
-\DeclareStringOption{srcfile}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\AtBeginDocument{%
- \let\BKM@entry\BKM@DO@entry
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</pdftex|pdfmark>
-% \end{macrocode}
-%
-% \subsection{Option \xoption{atend}}
-%
-% \subsubsection{Hook}
-%
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-% \begin{macrocode}
-\ifBKM@atend
-\else
-% \end{macrocode}
-% \begin{macro}{\BookmarkAtEnd}
-% This is a dummy definition that generates a warning
-% if option \xoption{atend} has not been given.
-% \begin{macrocode}
- \newcommand{\BookmarkAtEnd}[1]{%
- \PackageWarning{bookmark}{%
- Ignored, because option `atend' is missing%
- }%
- }%
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
- \expandafter\endinput
-\fi
-% \end{macrocode}
-% \begin{macro}{\BookmarkAtEnd}
-% \begin{macrocode}
-\newcommand*{\BookmarkAtEnd}{%
- \g@addto@macro\BKM@EndHook
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\let\BKM@EndHook\@empty
-% \end{macrocode}
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%
-% \subsubsection{Drivers using hooks at end of document}
-%
-% The following drivers use package \xpackage{atveryend}'s
-% \cs{AfterLastShipout}, because they still need the
-% \xext{aux} file.
-% \begin{itemize}
-% \item
-% Driver \xoption{pdftex} uses \cs{pdfoutline} that can
-% be used after the last page.
-% \item
-% PostScript drivers such as
-% \xoption{dvips} use an external PostScript header file
-% for the bookmarks. File writing can be done after
-% the last shipout page, but before the \xext{aux} file is closed.
-% \end{itemize}
-% \begin{macrocode}
-%<*pdftex|pdfmark>
-\ifBKM@atend
- \AfterLastShipout{%
- \BKM@EndHook
- }%
-\fi
-%</pdftex|pdfmark>
-% \end{macrocode}
-%
-% \subsubsection{Drivers using \cs{AtEndDvi}}
-%
-% The other drivers implement \cs{bookmark} using \cs{special}
-% commands. Thus the last bookmarks must be put on the last page,
-% not afterwards.
-% \cs{AtEndDocument} cannot be used, because it is too late, the
-% last page can already be output. Therefore we use package
-% \xpackage{atenddvi} that uses the help of packages \xpackage{atbegshi}
-% and \xpackage{zref}. The argument of \cs{AtEndDvi} is put
-% at the end of the last page. At least two \hologo{LaTeX} runs are necessary.
-% \begin{macrocode}
-%<*dvipdfm|vtex>
-\ifBKM@atend
- \RequirePackage{atenddvi}%
- \AtEndDvi{\BKM@EndHook}%
-\fi
-%</dvipdfm|vtex>
-% \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{bookmark}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/bookmark.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/bookmark.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 bookmark.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@{}}
-% bookmark.sty & tex/latex/oberdiek/bookmark.sty\\
-% bkm-dvipdfm.def & tex/latex/oberdiek/bkm-dvipdfm.def\\
-% bkm-dvips.def & tex/latex/oberdiek/bkm-dvips.def\\
-% bkm-dvipsone.def & tex/latex/oberdiek/bkm-dvipsone.def\\
-% bkm-textures.def & tex/latex/oberdiek/bkm-textures.def\\
-% bkm-pdftex.def & tex/latex/oberdiek/bkm-pdftex.def\\
-% bkm-vtex.def & tex/latex/oberdiek/bkm-vtex.def\\
-% bookmark.pdf & doc/latex/oberdiek/bookmark.pdf\\
-% bookmark-example.tex & doc/latex/oberdiek/bookmark-example.tex\\
-% bookmark.dtx & source/latex/oberdiek/bookmark.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{bookmark.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 bookmark.dtx
-%makeindex -s gind.ist bookmark.idx
-%pdflatex bookmark.dtx
-%makeindex -s gind.ist bookmark.idx
-%pdflatex bookmark.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-%
-% \bibitem{hyperref}
-% Sebastian Rahtz, Heiko Oberdiek:
-% \textit{The \xpackage{hyperref} package};
-% 2011/04/17 v6.82g;
-% \CTANpkg{hyperref}
-%
-% \bibitem{currfile}
-% Martin Scharrer:
-% \textit{The \xpackage{currfile} package};
-% 2011/01/09 v0.4.
-% \CTANpkg{currfile}
-%
-% \end{thebibliography}
-%
-% \begin{History}
-% \begin{Version}{2007/02/19 v0.1}
-% \item
-% First experimental version.
-% \end{Version}
-% \begin{Version}{2007/02/20 v0.2}
-% \item
-% Option \xoption{startatroot} added.
-% \item
-% Dummies for \cs{pdf(un)escape...} commands added to get
-% the package basically work for non-\hologo{pdfTeX} users.
-% \end{Version}
-% \begin{Version}{2007/02/21 v0.3}
-% \item
-% Dependency from \hologo{pdfTeX} 1.30 removed by using package
-% \xpackage{pdfescape}.
-% \end{Version}
-% \begin{Version}{2007/02/22 v0.4}
-% \item
-% \xpackage{hyperref}'s \xoption{bookmarkstype} respected.
-% \end{Version}
-% \begin{Version}{2007/03/02 v0.5}
-% \item
-% Driver options \xoption{vtex} (PDF mode), \xoption{dvipsone},
-% and \xoption{textures} added.
-% \item
-% Implementation of option \xoption{depth} completed. Division names
-% are supported, see \xpackage{hyperref}'s
-% option \xoption{bookmarksdepth}.
-% \item
-% \xpackage{hyperref}'s options \xoption{bookmarksopen},
-% \xoption{bookmarksopenlevel}, and \xoption{bookmarksdepth} respected.
-% \end{Version}
-% \begin{Version}{2007/03/03 v0.6}
-% \item
-% Option \xoption{numbered} as alias for \xpackage{hyperref}'s
-% \xoption{bookmarksnumbered}.
-% \end{Version}
-% \begin{Version}{2007/03/07 v0.7}
-% \item
-% Dependency from \hologo{eTeX} removed.
-% \end{Version}
-% \begin{Version}{2007/04/09 v0.8}
-% \item
-% Option \xoption{atend} added.
-% \item
-% Option \xoption{rgbcolor} removed.
-% \verb|rgbcolor=<r> <g> <b>| can be replaced by
-% \verb|color=[rgb]{<r>,<g>,<b>}|.
-% \item
-% Support of recent cvs version (2007-03-29) of dvipdfmx
-% that extends the \cs{special} for bookmarks to specify
-% open outline entries. Option \xoption{dvipdfmx-outline-open}
-% or \cs{SpecialDvipdfmxOutlineOpen} notify the package.
-% \end{Version}
-% \begin{Version}{2007/04/25 v0.9}
-% \item
-% The syntax of \cs{special} of dvipdfmx, if feature
-% \xoption{dvipdfmx-outline-open} is enabled, has changed.
-% Now cvs version 2007-04-25 is needed.
-% \end{Version}
-% \begin{Version}{2007/05/29 v1.0}
-% \item
-% Bug fix in code for second parameter of XYZ.
-% \end{Version}
-% \begin{Version}{2007/07/13 v1.1}
-% \item
-% Fix for pdfmark with GoToR action.
-% \end{Version}
-% \begin{Version}{2007/09/25 v1.2}
-% \item
-% pdfmark driver respects \cs{nofiles}.
-% \end{Version}
-% \begin{Version}{2008/08/08 v1.3}
-% \item
-% Package \xpackage{flags} replaced by package \xpackage{bitset}.
-% Now flags are also supported without \hologo{eTeX}.
-% \item
-% Hook for package \xpackage{hypdestopt} added.
-% \end{Version}
-% \begin{Version}{2008/09/13 v1.4}
-% \item
-% Fix for bug introduced in v1.3, package \xpackage{flags} is one-based,
-% but package \xpackage{bitset} is zero-based. Thus options \xoption{bold}
-% and \xoption{italic} are wrong in v1.3. (Daniel M\"ullner)
-% \end{Version}
-% \begin{Version}{2009/08/13 v1.5}
-% \item
-% Except for driver options the other options are now local options.
-% This resolves a problem with KOMA-Script v3.00 and its option \xoption{open}.
-% \end{Version}
-% \begin{Version}{2009/12/06 v1.6}
-% \item
-% Use of package \xpackage{atveryend} for drivers \xoption{pdftex}
-% and \xoption{pdfmark}.
-% \end{Version}
-% \begin{Version}{2009/12/07 v1.7}
-% \item
-% Use of package \xpackage{atveryend} fixed.
-% \end{Version}
-% \begin{Version}{2009/12/17 v1.8}
-% \item
-% Support of \xpackage{hyperref} 2009/12/17 v6.79v for \hologo{XeTeX}.
-% \end{Version}
-% \begin{Version}{2010/03/30 v1.9}
-% \item
-% Package name in an error message fixed.
-% \end{Version}
-% \begin{Version}{2010/04/03 v1.10}
-% \item
-% Option \xoption{style} and macro \cs{bookmarkdefinestyle} added.
-% \item
-% Hook support with option \xoption{addtohook} added.
-% \item
-% \cs{bookmarkget} added.
-% \end{Version}
-% \begin{Version}{2010/04/04 v1.11}
-% \item
-% Bug fix (introduced in v1.10).
-% \end{Version}
-% \begin{Version}{2010/04/08 v1.12}
-% \item
-% Requires \xpackage{ltxcmds} 2010/04/08.
-% \end{Version}
-% \begin{Version}{2010/07/23 v1.13}
-% \item
-% Support for \xclass{memoir}'s \cs{booknumberline} added.
-% \end{Version}
-% \begin{Version}{2010/09/02 v1.14}
-% \item
-% (Local) options \xoption{draft} and \xoption{final} added.
-% \end{Version}
-% \begin{Version}{2010/09/25 v1.15}
-% \item
-% Fix for option \xoption{dvipdfmx-outline-open}.
-% \item
-% Option \xoption{dvipdfmx-outline-open} is set automatically,
-% if XeTeX $\geq$ 0.9995 is detected.
-% \end{Version}
-% \begin{Version}{2010/10/19 v1.16}
-% \item
-% Option `startatroot' now acts globally.
-% \item
-% Option `level' also accepts names the same way as option `depth'.
-% \end{Version}
-% \begin{Version}{2010/10/25 v1.17}
-% \item
-% \cs{bookmarksetupnext} added.
-% \item
-% Using \cs{kvsetkeys} of package \xpackage{kvsetkeys}, because
-% \cs{setkeys} of package \xpackage{keyval} is not reentrant.
-% This can cause problems (unknown keys) with older versions of
-% hyperref that also uses \cs{setkeys} (found by GL).
-% \end{Version}
-% \begin{Version}{2010/11/05 v1.18}
-% \item
-% Use of \cs{pdf@ifdraftmode} of package \xpackage{pdftexcmds} for
-% the default of option \xoption{draft}.
-% \end{Version}
-% \begin{Version}{2011/03/20 v1.19}
-% \item
-% Use of \cs{dimexpr} fixed, if \hologo{eTeX} is not used.
-% (Bug found by Martin M\"unch.)
-% \item
-% Fix in documentation. Also layout options work without \hologo{eTeX}.
-% \end{Version}
-% \begin{Version}{2011/04/13 v1.20}
-% \item
-% Bug fix: \cs{BKM@SetDepth} renamed to \cs{BKM@SetDepthOrLevel}.
-% \end{Version}
-% \begin{Version}{2011/04/21 v1.21}
-% \item
-% Some support for file name and line number in error messages
-% at end of document (pdfTeX and pdfmark based drivers).
-% \end{Version}
-% \begin{Version}{2011/05/13 v1.22}
-% \item
-% Change of version 2010/11/05 v1.18 reverted, because otherwise
-% draftmode disables some \xext{aux} file entries.
-% \end{Version}
-% \begin{Version}{2011/09/19 v1.23}
-% \item
-% Some \cs{renewcommand}s changed to \cs{def} to avoid trouble
-% if the commands are not defined, because hyperref stopped early.
-% \end{Version}
-% \begin{Version}{2011/12/02 v1.24}
-% \item
-% Small optimization in \cs{BKM@toHexDigit}.
-% \end{Version}
-% \begin{Version}{2016/05/16 v1.25}
-% \item
-% Documentation updates.
-% \end{Version}
-% \begin{Version}{2016/05/17 v1.26}
-% \item
-% define \cs{pdfbookmark} to allow pdftex driver to be used with Lua\TeX.
-% \end{Version}
-% \begin{Version}{2019/06/04 v1.27}
-% \item
-% unknown style options are ignored (issue 67)
-% \end{Version}
-
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput
diff --git a/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx b/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx
index 2f40cdd3881..439a7871e7b 100644
--- a/Master/texmf-dist/source/latex/oberdiek/catchfile.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/centernot.dtx b/Master/texmf-dist/source/latex/oberdiek/centernot.dtx
index 44be798cbdc..dd990a33197 100644
--- a/Master/texmf-dist/source/latex/oberdiek/centernot.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/chemarr.dtx b/Master/texmf-dist/source/latex/oberdiek/chemarr.dtx
index 528eef45711..78e1a3cbebb 100644
--- a/Master/texmf-dist/source/latex/oberdiek/chemarr.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/classlist.dtx b/Master/texmf-dist/source/latex/oberdiek/classlist.dtx
index 978798a9d1b..8b454645215 100644
--- a/Master/texmf-dist/source/latex/oberdiek/classlist.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/colonequals.dtx b/Master/texmf-dist/source/latex/oberdiek/colonequals.dtx
index c3f78e4c60c..aeae542c39f 100644
--- a/Master/texmf-dist/source/latex/oberdiek/colonequals.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/dvipscol.dtx b/Master/texmf-dist/source/latex/oberdiek/dvipscol.dtx
index 00840f825ca..0141ae2a947 100644
--- a/Master/texmf-dist/source/latex/oberdiek/dvipscol.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx b/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
deleted file mode 100644
index f88e4bf2aeb..00000000000
--- a/Master/texmf-dist/source/latex/oberdiek/embedfile.dtx
+++ /dev/null
@@ -1,2141 +0,0 @@
-% \iffalse meta-comment
-%
-% File: embedfile.dtx
-% Version: 2018/11/01 v2.8
-% Info: Embed files into PDF
-%
-% Copyright (C)
-% 2006-2011 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3c of this license or (at your option) any later
-% version. This version of this license is in
-% https://www.latex-project.org/lppl/lppl-1-3c.txt
-% and the latest version of this license is in
-% https://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainers of this work are
-% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
-%
-% The Base Interpreter refers to any `TeX-Format',
-% because some files are installed in TDS:tex/generic//.
-%
-% This work consists of the main source file embedfile.dtx
-% and the derived files
-% embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
-% dtx-attach.sty, embedfile-example-plain.tex,
-% embedfile-example-collection.tex, embedfile-test1.tex,
-% embedfile-test2.tex, embedfile-test3.tex,
-% embedfile-test4.tex.
-%
-% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/embedfile.dtx
-% CTAN:macros/latex/contrib/oberdiek/embedfile.pdf
-%
-% Unpacking:
-% (a) If embedfile.ins is present:
-% tex embedfile.ins
-% (b) Without embedfile.ins:
-% tex embedfile.dtx
-% (c) If you insist on using LaTeX
-% latex \let\install=y\input{embedfile.dtx}
-% (quote the arguments according to the demands of your shell)
-%
-% Documentation:
-% (a) If embedfile.drv is present:
-% latex embedfile.drv
-% (b) Without embedfile.drv:
-% latex embedfile.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 embedfile.dtx
-% makeindex -s gind.ist embedfile.idx
-% pdflatex embedfile.dtx
-% makeindex -s gind.ist embedfile.idx
-% pdflatex embedfile.dtx
-%
-% Installation:
-% TDS:tex/generic/oberdiek/embedfile.sty
-% TDS:tex/generic/oberdiek/dtx-attach.sty
-% TDS:doc/latex/oberdiek/embedfile.pdf
-% TDS:doc/latex/oberdiek/embedfile-example-plain.tex
-% TDS:doc/latex/oberdiek/embedfile-example-collection.tex
-% TDS:doc/latex/oberdiek/test/embedfile-test1.tex
-% TDS:doc/latex/oberdiek/test/embedfile-test2.tex
-% TDS:doc/latex/oberdiek/test/embedfile-test3.tex
-% TDS:doc/latex/oberdiek/test/embedfile-test4.tex
-% TDS:source/latex/oberdiek/embedfile.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: embedfile 2018/11/01 v2.8 Embed files into PDF (HO)}
-\Msg{************************************************************************}
-
-\keepsilent
-\askforoverwritefalse
-
-\let\MetaPrefix\relax
-\preamble
-
-This is a generated file.
-
-Project: embedfile
-Version: 2018/11/01 v2.8
-
-Copyright (C)
- 2006-2011 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3c of this license or (at your option) any later
-version. This version of this license is in
- https://www.latex-project.org/lppl/lppl-1-3c.txt
-and the latest version of this license is in
- https://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-The Current Maintainers of this work are
-Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
-
-
-The Base Interpreter refers to any `TeX-Format',
-because some files are installed in TDS:tex/generic//.
-
-This work consists of the main source file embedfile.dtx
-and the derived files
- embedfile.sty, embedfile.pdf, embedfile.ins, embedfile.drv,
- dtx-attach.sty, embedfile-example-plain.tex,
- embedfile-example-collection.tex, embedfile-test1.tex,
- embedfile-test2.tex, embedfile-test3.tex,
- embedfile-test4.tex.
-
-\endpreamble
-\let\MetaPrefix\DoubleperCent
-
-\generate{%
- \file{embedfile.ins}{\from{embedfile.dtx}{install}}%
- \file{embedfile.drv}{\from{embedfile.dtx}{driver}}%
- \usedir{tex/generic/oberdiek}%
- \file{embedfile.sty}{\from{embedfile.dtx}{package}}%
- \usedir{tex/latex/oberdiek}%
- \file{dtx-attach.sty}{\from{embedfile.dtx}{dtxattach}}%
- \usedir{doc/latex/oberdiek}%
- \file{embedfile-example-plain.tex}{\from{embedfile.dtx}{exampleplain}}%
- \file{embedfile-example-collection.tex}{\from{embedfile.dtx}{examplecollection}}%
-% \usedir{doc/latex/oberdiek/test}%
-% \file{embedfile-test1.tex}{\from{embedfile.dtx}{test1}}%
-% \file{embedfile-test2.tex}{\from{embedfile.dtx}{test2}}%
-% \file{embedfile-test3.tex}{\from{embedfile.dtx}{test3}}%
-% \file{embedfile-test4.tex}{\from{embedfile.dtx}{test4}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{embedfile.xml}{\from{embedfile.dtx}{catalogue}}%
-}
-
-\catcode32=13\relax% active space
-\let =\space%
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* embedfile.sty, dtx-attach.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file `embedfile.drv'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{embedfile.drv}%
- [2018/11/01 v2.8 Embed files into PDF (HO)]%
-\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/11/22]
-\begin{document}
- \DocInput{embedfile.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{embedfile.drv}
-%
-% \title{The \xpackage{embedfile} package}
-% \date{2018/11/01 v2.8}
-% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
-%
-% \maketitle
-%
-% \begin{abstract}
-% This package embeds files to a PDF document.
-% Currently the only supported driver is \pdfTeX\ $>=$ 1.30 in PDF mode.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% \subsection{Introduction}
-%
-% The PDF format (\cite{pdfspec}) allows the inclusion of files
-% inside the PDF document. The included files can be bound to an
-% annotation on a page. Or they can be recorded in a sorted
-% list of embedded files. The packages \xpackage{attachfile}
-% or \xpackage{attachfile2} follow the first approach, this
-% package uses the latter method.
-%
-% \subsubsection{Future development}
-%
-% My dream is a large package that merges the features of
-% all these packages meantioned before:
-% \begin{itemize}
-% \item Files can be attached to a page.
-% \item Files can be attached to the document.
-% \item An easy user interface for simple, common tasks and
-% beginners.
-% \item An interface for the advanced users that want to setup
-% every detail.
-% \item Support of many drivers (pdftex, dvips, dvipdfm, \dots).
-% \item \dots
-% \end{itemize}
-% However, I have not managed to take the time for this project.
-% Instead:
-% \begin{itemize}
-% \item First I experimented with package \xpackage{attachfile},
-% adding driver support, fixing bugs, \dots. The result is
-% currently named as \xpackage{attachfile2}. It uses an external
-% script to get file properties (size, date, checksum, \dots).
-% \item In order to avoid an external program for getting basic
-% file properties I provided a patch ``EscapeAndOther'' for
-% pdfTeX that was accepted for version 1.30.
-% \item This package closes a gap left by the packages for attaching
-% files and allows the embedding of files to the document.
-% Also it makes use of the new primitives of \pdfTeX.
-% \end{itemize}
-%
-% \subsection{User interface}
-%
-% This package \xpackage{embedfile} can be used with both
-% \LaTeX\ and \plainTeX. See \autoref{sec:plain} that
-% explains the use with \plainTeX\ by an example.
-% In \LaTeX\ the package is loaded as usually. There are no options.
-% \begin{quote}
-% \verb|\usepackage{embedfile}|
-% \end{quote}
-%
-% \begin{declcs}{embedfile}
-% |[|\meta{options}|]| \M{file}
-% \end{declcs}
-% The macro \cs{embedfile} includes file \meta{file} and
-% attaches it to the PDF document. At the end of the document
-% the sorted list of embedded files are written. Thus you can
-% safely use \cs{embedfile} before \verb|\end{document}|.
-% Embedding files using \cs{AtEndDocument} will only work,
-% if \cs{AtEndDocument} is called before loading the package
-% \xpackage{embedfile}.
-%
-% The \meta{options} are give as key value pairs. The following
-% keys are supported:
-% \begin{description}
-% \item[\xoption{filespec}]
-% This allows to override the file name
-% that appears in the PDF file. If you are using other than
-% simple file names (8-bit, path separators, \dots), look into
-% the PDF specification (\cite{pdfspec}).
-% There are rules how these file names must be written/encoded.
-% Avoid 8-bit characters
-% and other special characters, the behaviour is currently undefined.
-% Use option \xoption{ucfilespec} for more funny file names.
-% The string method, see below, is |escape| since version 2.4.
-%
-% This name is also used as entry in a name tree
-% (see PDF specification: |/EmbeddedFiles|). Therefore the
-% value for \xoption{filespec} must be unique among all
-% embedded files. Also key \xoption{initialfiles} refers
-% to this name, if the file name and the value of \xoption{filespec}
-% are different.
-% \item[\xoption{ucfilespec}]
-% Since PDF 1.7 the file name may be provided in Unicode.
-% The conversion of the option value into a PDF string
-% is controlled by option \xoption{stringmethod}.
-% \item[\xoption{filesystem}]
-% This sets the entry \verb|/FS| in
-% the file specification dictionary, see PDF specification
-% (\cite{pdfspec}).
-% Example: \verb|filesystem=URL|.
-% \item[\xoption{mimetype}]
-% This sets the mime type (\cite{mime}) of the file,
-% see \autoref{sec:plain} for examples and \cite{types}
-% for a list of officially registered types.
-% \item[\xoption{desc}]
-% The description for the file.
-% \item[\xoption{stringmethod}]
-% The package must convert the values of the keys \xoption{ucfilespec}
-% and \xoption{desc} into a PDF string (before version 2.4: \xoption{filespec}
-% and \xoption{desc}). If \xpackage{hyperref}
-% is found, then its \cs{pdfstringdef} will be used, otherwise
-% \pdfTeX's \cs{pdfescapestring} is used. Value \verb|psd|
-% forces the use of \cs{pdfstringdef}, value \verb|escape|
-% the use of \cs{pdfescapestring}.
-% \item[\xoption{\meta{key}.value}] Sets the value of a collection
-% item property, see section \ref{sec:collection}.
-% \item[\xoption{\meta{key}.prefix}]
-% Sets the prefix of a collection item property,
-% see section \ref{sec:collection}.
-% \item[\xoption{id}]
-% The value must be an unique name. Macros
-% \cs{embedfileifobjectexists} and \cs{embedfilegetobject}
-% are using this name later.
-% \end{description}
-%
-% \begin{declcs}{embedfilefinish}
-% \end{declcs}
-% The list of all embedded files must be added as data structure
-% in the PDF file. In case of \LaTeX\ this is automatically done.
-% The package uses \cs{AtEndDocument}. Then the list of all
-% files should be known. However, \plainTeX\ does not know
-% about \cs{AtEndDocument}. Thus the user must call
-% \cs{embedfilefinish} at the end of the document
-% after the last file is embedded.
-%
-% \begin{declcs}{embedfilesetup} \M{options}
-% \end{declcs}
-% Options for \cs{embedfile} and collection support
-% can be set in \cs{embedfilesetup}.
-%
-% \subsection{Collection support (PDF 1.7)}
-% \label{sec:collection}
-%
-% Since PDF 1.7 the embedded files can form a \emph{collection}
-% (sometimes referred as \emph{package}), the main document
-% is called \emph{cover sheet}. See PDF specification
-% 8.2.4 ``Collections'' and 3.10.5 ``Collection items'' \cite{pdfspec}.
-%
-% Usually Acrobat Reader 7 or 8 shows the
-% embedded files in a table at the bottom with the following columns:
-% \begin{quote}
-% \begin{tabular}{@{}l|l|l|l@{}}
-% Name & Description & Modified & Size\\
-% \hline
-% \dots & \dots & \dots & \dots\\
-% \end{tabular}
-% \end{quote}
-% Acrobat Reader 10 shows the embeded files in the left panel
-% and adds a new column for the compressed size.
-%
-% If the files form a collection, then they are displayed
-% in a table left or top (depending on option \xoption{view},
-% see \cs{embedfilesetup}).
-%
-%
-% Collection support is enabled automatically, if
-% it is used.
-%
-% \begin{declcs}{embedfilesetup} \M{options}
-% \end{declcs}
-% The following options are supported in addition
-% to options for \cs{embedfile}:
-% \begin{description}
-% \item[\xoption{view}]
-% If the PDF file contains a collection, then Acrobat Reader 8
-% shows a line at the top below the menu bar and the toolbar.
-% It shows the current selected file, icons for changing the
-% view mode, an options menu.
-% The initial mode how the collection is presented is
-% set by this option \xoption{view}.
-% The following modes/values are supported, the default is |details|:
-% \begin{description}
-% \item[\texttt{details}] The full collection table is displayed
-% at the top below the collection bar.
-% \item[\texttt{tile}] The files of the collection are shown
-% in tile mode on the left.
-% \item[\texttt{hidden}] The collection table is not shown.
-% \end{description}
-% \item[\xoption{initialfile}]
-% Selects the file that is initially presented. Especially
-% useful for an embedded PDF file that is then shown instead
-% of the cover document. There must be an \cs{embedfile} command
-% somewhere whose value for key \xoption{filespec} is used here.
-% The \cs{embedfile} command can drop option \xoption{filespec}
-% if the file name is not different.
-% \end{description}
-%
-% \begin{declcs}{embedfilefield} \M{key} \M{options}
-% \end{declcs}
-% Macro \cs{embedfilefield} defines a column/field in the collection table.
-% The name of the field is \meta{key}.
-% \begin{description}
-% \item[\xoption{type}]
-% sets the type of the field. The supported values are:
-% \begin{description}
-% \item[\texttt{text}] A text field. Its value is set in
-% \cs{embedfile} by option \xoption{\meta{key}.value}.
-% \item[\texttt{date}] A date field. Its value is set in
-% \cs{embedfile} by option \xoption{\meta{key}.value}.
-% A special format is required, see ``3.8.3 Dates'' \cite{pdfspec}.
-% \item[\texttt{number}] A field with an integer or float number.
-% Its value is set in \cs{embedfile} by option
-% \xoption{\meta{key}.value}.
-% \item[\texttt{file}] The file name of the embedded file.
-% \item[\texttt{desc}] The description text of the embedded file. It is
-% set in \cs{embedfile} by option \xoption{desc}.
-% \item[\texttt{moddate}] The modification date of the embedded file.
-% \item[\texttt{size}] The size of the embedded file.
-% \end{description}
-% All types allow the use of a prefix that is disregarded by
-% sorting. The prefix for this field is set in \cs{embedfile} by
-% option \xoption{\meta{key}.prefix}.
-% \item[\xoption{title}] sets the column title.
-% \item[\xoption{visible}] controls whether the column is presented:
-% \begin{description}
-% \item[\texttt{true}] shows the column.
-% \item[\texttt{false}] hides the column.
-% \end{description}
-% Default: \texttt{true}
-% \item[\xoption{edit}]
-% Allows the editing of field values. Does not seem to have an
-% effect for Acrobat Reader.
-% \begin{description}
-% \item[\texttt{true}] enables the feature, if available (depends
-% on the PDF viewer).
-% \item[\texttt{false}] disables the feature.
-% \end{description}
-% Default: \texttt{false}
-% \end{description}
-% The order of \cs{embedfilefield} statements defines the order
-% of the columns.
-%
-% \begin{declcs}{embedfilesort} \M{key-sort-list}
-% \end{declcs}
-% The sort order of the embedded files are controlled by
-% macro \cs{embedfilesort}. \meta{key-sort-list} defines
-% the sort order. The key is a field name defined by \cs{embedfilefield}.
-% Its value is either \texttt{ascending} or \texttt{descending}.
-% The default is \texttt{ascending}.
-%
-% \subsection{Export of object references}
-%
-% Caution: This feature is still experimental. It may be even removed
-% in future versions. Therefore feedback would be nice, if someone
-% has a useful application for this feature.
-%
-% Object numbers are saved, if \xoption{id} is given in \cs{embedfile}.
-% The following objects are supported:
-% \begin{itemize}
-% \item \texttt{EmbeddedFile}
-% \item \texttt{Filespec}
-% \end{itemize}
-%
-% \begin{declcs}{embedfileifobjectexists} \M{id} \M{type}
-% \M{then} \M{else}
-% \end{declcs}
-% Macro \cs{embedfileifobjectexists} tests whether object of \meta{type}
-% is available for the embedded file identified by \meta{id}.
-%
-% \begin{declcs}{embedfilegetobject} \M{id} \M{type}
-% \end{declcs}
-% Macro \cs{embedfilegetobject} expands to the full object reference
-% object of \meta{type} for the embedded file identified by \meta{id}.
-%
-% \subsubsection{Example}
-%
-%\begin{quote}
-%\begin{verbatim}
-%\embedfile[id={foo}]{foo.pdf}
-%\embedfileifobjectexists{foo}{Filespec}{%
-% \typeout{%
-% FileSpec object for `foo': %
-% \embedfilegetobject{foo}{Filespec}%
-% }%
-%}{%
-% \typeout{No Filespec object for `foo'}%
-%}
-%\end{verbatim}
-%\end{quote}
-%
-% \subsection{Examples}
-% \label{sec:examples}
-%
-% \subsubsection{\plainTeX}
-% \label{sec:plain}
-%
-% The package can be used with \plainTeX. It can be used
-% with or without help from \xfile{miniltx.tex}.
-%
-% If additionally package \xpackage{keyval} (\xpackage{graphicx})
-% is needed, load it first. Then package \xpackage{embedfile} avoids
-% a duplicate loading of package \xpackage{keyval}.
-%
-% Because \plainTeX\ does not provide a hook at end of the document,
-% you have to call \cs{embedfilefinish} manually at the end
-% after the last embedded file.
-% \begin{macrocode}
-%<*exampleplain>
-%<<END
-% Load packages
-\input miniltx
-% \def\Gin@driver{pdftex.def}
-% \input graphicx.sty
-\input embedfile.sty
-\resetatcatcode
-
-% default setting
-\embedfilesetup{
- mimetype=text/plain
-}
-
-% Embed files
-\embedfile[
- filespec=example.tex,
- desc={Source code (plain-TeX) of this example}
-]{embedfile-example-plain.tex}
-
-\embedfile[
- desc={Source of package `embedfile'}
-]{embedfile.dtx}
-
-\embedfile[
- mimetype=application/pdf,
- desc={Documentation of package `embedfile'}
-]{embedfile.pdf}
-
-% Some text
-This example document contains three embedded files.
-
-% End of document
-\embedfilefinish % don't forget
-\bye
-%END
-%</exampleplain>
-% \end{macrocode}
-%
-% \subsubsection{Collection example}
-%
-% \begin{macrocode}
-%<*examplecollection>
-%<<END
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage[bookmarks=false]{hyperref}
-% provides \pdfstringdef that is then used by `title' and
-% other keys.
-\usepackage{embedfile}[2018/11/01]
-\embedfilesetup{
- view=details,
- initialfile=embedfile.pdf
-}
-\embedfilefield{file}{
- type=file,
- title={File name}
-}
-\embedfilefield{description}{
- type=desc,
- title={Description}
-}
-\embedfilefield{date}{
- type=moddate,
- title={Date}
-}
-\embedfilefield{size}{
- type=size,
- title={Size}
-}
-\embedfilefield{type}{
- type=text,
- title={Type},
- visible=false
-}
-\embedfilesort{
- type,
- date=descending
-}
-\begin{document}
-An example for embedded files as collection.
-You need Acrobat Reader 8 or higher.
-
-\embedfile[
- desc={Source file of package `embedfile'},
- description.prefix={Package: },
- type.value={DTX}
-]{embedfile.dtx}
-
-\embedfile[
- desc={Documentation of package `embedfile'},
- description.prefix={Package: },
- type.value={PDF}
-]{embedfile.pdf}
-
-\embedfile[
- desc={The source for this example},
- description.prefix={Example: },
- type.value={TEX}
-]{\jobname.tex}
-
-\end{document}
-%END
-%</examplecollection>
-% \end{macrocode}
-%
-% \subsection{Package \xpackage{dtx-attach}}
-%
-% Package \xpackage{dtx-attach} is just a small application of
-% package \xpackage{embedfile}. I am using it for the CTAN
-% documentation of my packages in \CTANpkg{oberdiek}.
-% It also serves as small example for the use of the package with \LaTeX.
-%
-% \begin{macrocode}
-%<*dtxattach>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{dtx-attach}
- [2018/11/01 v2.8 Embed \string\jobname.dtx (HO)]%
-\RequirePackage{embedfile}[2018/11/01]
-\embedfile[%
- stringmethod=escape,%
- mimetype=plain/text,%
- desc={LaTeX docstrip source archive for package `\jobname'}%
-]{\jobname.dtx}
-%</dtxattach>
-% \end{macrocode}
-%
-% \StopEventually{
-% }
-%
-% \section{Implementation}
-%
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-%
-% \subsection{Reload check and package identification}
-% Reload check, especially if the package is not used with \LaTeX.
-% \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax%
- \catcode13=5 % ^^M
- \endlinechar=13 %
- \catcode35=6 % #
- \catcode39=12 % '
- \catcode44=12 % ,
- \catcode45=12 % -
- \catcode46=12 % .
- \catcode58=12 % :
- \catcode64=11 % @
- \catcode123=1 % {
- \catcode125=2 % }
- \expandafter\let\expandafter\x\csname ver@embedfile.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{embedfile}{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@embedfile.sty\endcsname
-\ProvidesPackage{embedfile}%
- [2018/11/01 v2.8 Embed files into PDF (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 EmFi@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\EmFi@AtEnd{%
- \EmFi@AtEnd
- \catcode#1=\the\catcode#1\relax
- }%
- \catcode#1=#2\relax
-}
-\TMP@EnsureCode{39}{12}% '
-\TMP@EnsureCode{40}{12}% (
-\TMP@EnsureCode{41}{12}% )
-\TMP@EnsureCode{44}{12}% ,
-\TMP@EnsureCode{46}{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}% ]
-\TMP@EnsureCode{96}{12}% `
-\edef\EmFi@AtEnd{\EmFi@AtEnd\noexpand\endinput}
-% \end{macrocode}
-%
-% \subsection{Tools}
-%
-% \begin{macro}{\EmFi@RequirePackage}
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \def\EmFi@RequirePackage#1[#2]{%
- \input #1.sty\relax
- }%
-\else
- \let\EmFi@RequirePackage\RequirePackage
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\EmFi@Error}
-% \begin{macrocode}
-\EmFi@RequirePackage{infwarerr}[2007/09/09]%
-\def\EmFi@Error{%
- \@PackageError{embedfile}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% Luatex compat
-% \begin{macrocode}
-\ifx\pdfextension\@undefined\else
- \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
- \protected\def\pdfnames {\pdfextension names }
- \protected\def\pdfobj {\pdfextension obj }
- \let\pdfoutput \outputmode
-\fi
-% \end{macrocode}
-%
-% \subsection{Check for recent \pdfTeX\ in PDF mode}
-%
-% Load package \xpackage{ifpdf} and check mode.
-% \begin{macrocode}
-\EmFi@RequirePackage{ifpdf}[2007/09/09]
-\ifpdf
-\else
- \EmFi@Error{%
- Missing pdfTeX in PDF mode%
- }{%
- Currently other drivers are not supported. %
- Package loading is aborted.%
- }%
- \expandafter\EmFi@AtEnd
-\fi%
-% \end{macrocode}
-% \begin{macrocode}
-\EmFi@RequirePackage{pdftexcmds}[2007/11/11]
-\EmFi@RequirePackage{ltxcmds}[2010/03/01]
-\EmFi@RequirePackage{kvsetkeys}[2010/03/01]
-\EmFi@RequirePackage{kvdefinekeys}[2010/03/01]
-% \end{macrocode}
-% Check version.
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdf@filesize\endcsname\relax
- \EmFi@Error{%
- Unsupported pdfTeX version%
- }{%
- At least version 1.30 is necessary. Package loading is aborted.%
- }%
- \expandafter\EmFi@AtEnd
-\fi%
-% \end{macrocode}
-%
-% \subsection{Strings}
-%
-% Minimal version of package \xpackage{pdfescape} is 2007/08/27 v1.5
-% because of \cs{EdefSanitize}.
-% \begin{macrocode}
-\EmFi@RequirePackage{pdfescape}[2007/11/11]
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\EmFi@temp#1{%
- \expandafter\EdefSanitize\csname EmFi@S@#1\endcsname{#1}%
-}
-% \end{macrocode}
-% \begin{macro}{\EmFi@details}
-% \begin{macrocode}
-\EmFi@temp{details}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@tile}
-% \begin{macrocode}
-\EmFi@temp{tile}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@hidden}
-% \begin{macrocode}
-\EmFi@temp{hidden}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@text}
-% \begin{macrocode}
-\EmFi@temp{text}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@date}
-% \begin{macrocode}
-\EmFi@temp{date}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@number}
-% \begin{macrocode}
-\EmFi@temp{number}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@file}
-% \begin{macrocode}
-\EmFi@temp{file}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@desc}
-% \begin{macrocode}
-\EmFi@temp{desc}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@moddate}
-% \begin{macrocode}
-\EmFi@temp{moddate}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@creationdate}
-% \begin{macrocode}
-\EmFi@temp{creationdate}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@size}
-% \begin{macrocode}
-\EmFi@temp{size}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@ascending}
-% \begin{macrocode}
-\EmFi@temp{ascending}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@descending}
-% \begin{macrocode}
-\EmFi@temp{descending}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@true}
-% \begin{macrocode}
-\EmFi@temp{true}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@S@false}
-% \begin{macrocode}
-\EmFi@temp{false}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Switches}
-%
-% \begin{macro}{\ifEmFi@collection}
-% \begin{macrocode}
-\ltx@newif\ifEmFi@collection
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifEmFi@sort}
-% \begin{macrocode}
-\ltx@newif\ifEmFi@sort
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifEmFi@visible}
-% \begin{macrocode}
-\ltx@newif\ifEmFi@visible
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifEmFi@edit}
-% \begin{macrocode}
-\ltx@newif\ifEmFi@edit
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifEmFi@item}
-% \begin{macrocode}
-\ltx@newif\ifEmFi@item
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifEmFi@finished}
-% \begin{macrocode}
-\ltx@newif\ifEmFi@finished
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ifEmFi@id}
-% \begin{macrocode}
-\ltx@newif\ifEmFi@id
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Key value definitions}
-%
-% \begin{macro}{\EmFi@GlobalKey}
-% \begin{macrocode}
-\def\EmFi@GlobalKey#1#2{%
- \global\expandafter\let\csname KV@#1@#2\expandafter\endcsname
- \csname KV@#1@#2\endcsname
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@GlobalDefaultKey}
-% \begin{macrocode}
-\def\EmFi@GlobalDefaultKey#1#2{%
- \EmFi@GlobalKey{#1}{#2}%
- \global\expandafter\let
- \csname KV@#1@#2@default\expandafter\endcsname
- \csname KV@#1@#2@default\endcsname
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\EmFi@DefineKey}
-% \begin{macrocode}
-\def\EmFi@DefineKey#1#2{%
- \kv@define@key{EmFi}{#1}{%
- \expandafter\def\csname EmFi@#1\endcsname{##1}%
- }%
- \expandafter\def\csname EmFi@#1\endcsname{#2}%
-}
-% \end{macrocode}
-% \end{macro}
-% Subtype of the embedded file (optional).
-% \begin{macrocode}
-\EmFi@DefineKey{mimetype}{}
-% \end{macrocode}
-% File specification string.
-% \begin{macrocode}
-\EmFi@DefineKey{filespec}{\EmFi@file}
-% \end{macrocode}
-% File specification string in Unicode.
-% \begin{macrocode}
-\EmFi@DefineKey{ucfilespec}{}
-% \end{macrocode}
-% File system (optional).
-% \begin{macrocode}
-\EmFi@DefineKey{filesystem}{}
-% \end{macrocode}
-% Description (optional).
-% \begin{macrocode}
-\EmFi@DefineKey{desc}{}
-% \end{macrocode}
-% Method for converting text to PDF strings.
-% \begin{macrocode}
-\EmFi@DefineKey{stringmethod}{%
- \ifx\pdfstringdef\@undefined
- escape%
- \else
- \ifx\pdfstringdef\relax
- escape%
- \else
- psd%
- \fi
- \fi
-}
-% \end{macrocode}
-%
-% Option \xoption{id} as key for object numbers.
-% \begin{macrocode}
-\kv@define@key{EmFi}{id}{%
- \def\EmFi@id{#1}%
- \EmFi@idtrue
-}
-% \end{macrocode}
-% \begin{macro}{\EmFi@defobj}
-% \begin{macrocode}
-\def\EmFi@defobj#1{%
- \ifEmFi@id
- \expandafter\xdef\csname EmFi@#1@\EmFi@id\endcsname{%
- \the\pdflastobj\ltx@space 0 R%
- }%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\embedfileifobjectexists}
-% \begin{macrocode}
-\def\embedfileifobjectexists#1#2{%
- \expandafter\ifx\csname EmFi@#2@#1\endcsname\relax
- \expandafter\ltx@secondoftwo
- \else
- \expandafter\ltx@firstoftwo
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\embedfilegetobject}
-% \begin{macrocode}
-\def\embedfilegetobject#1#2{%
- \embedfileifobjectexists{#1}{#2}{%
- \csname EmFi@#2@#1\endcsname
- }{%
- 0 0 R%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% Initial view of the collection.
-% \begin{macrocode}
-\kv@define@key{EmFi}{view}[]{%
- \EdefSanitize\EmFi@temp{#1}%
- \def\EmFi@next{%
- \global\EmFi@collectiontrue
- }%
- \ifx\EmFi@temp\ltx@empty
- \let\EmFi@view\EmFi@S@details
- \else\ifx\EmFi@temp\EmFi@S@details
- \let\EmFi@view\EmFi@S@details
- \else\ifx\EmFi@temp\EmFi@S@tile
- \let\EmFi@view\EmFi@S@tile
- \else\ifx\EmFi@temp\EmFi@S@hidden
- \let\EmFi@view\EmFi@S@hidden
- \else
- \let\EmFi@next\relax
- \EmFi@Error{%
- Unknown value `\EmFi@temp' for key `view'.\MessageBreak
- Supported values: `details', `tile', `hidden'.%
- }\@ehc
- \fi\fi\fi\fi
- \EmFi@next
-}
-% \end{macrocode}
-% \begin{macrocode}
-\EmFi@DefineKey{initialfile}{}
-% \end{macrocode}
-%
-% \begin{macro}{\embedfilesetup}
-% \begin{macrocode}
-\def\embedfilesetup{%
- \ifEmFi@finished
- \def\EmFi@next##1{}%
- \EmFi@Error{%
- \string\embedfilefield\ltx@space after \string\embedfilefinish
- }{%
- The list of embedded files is already written.%
- }%
- \else
- \def\EmFi@next{%
- \kvsetkeys{EmFi}%
- }%
- \fi
- \EmFi@next
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\EmFi@schema}
-% \begin{macrocode}
-\def\EmFi@schema{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@order}
-% \begin{macrocode}
-\gdef\EmFi@order{0}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@@order}
-% \begin{macrocode}
-\let\EmFi@@order\relax
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@fieldlist}
-% \begin{macrocode}
-\def\EmFi@fieldlist{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@sortcase}
-% \begin{macrocode}
-\def\EmFi@sortcase{0}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\embedfilefield}
-% \begin{macrocode}
-\def\embedfilefield#1#2{%
- \ifEmFi@finished
- \EmFi@Error{%
- \string\embedfilefield\ltx@space after \string\embedfilefinish
- }{%
- The list of embedded files is already written.%
- }%
- \else
- \global\EmFi@collectiontrue
- \EdefSanitize\EmFi@key{#1}%
- \expandafter\ifx\csname KV@EmFi@\EmFi@key.prefix\endcsname\relax
- \begingroup
- \count@=\EmFi@order
- \advance\count@ 1 %
- \xdef\EmFi@order{\the\count@}%
- \let\EmFi@title\EmFi@key
- \let\EmFi@type\EmFi@S@text
- \EmFi@visibletrue
- \EmFi@editfalse
- \kvsetkeys{EmFiFi}{#2}%
- \EmFi@convert\EmFi@title\EmFi@title
- \xdef\EmFi@schema{%
- \EmFi@schema
- /\pdf@escapename{\EmFi@key}<<%
- /Subtype/%
- \ifx\EmFi@type\EmFi@S@date D%
- \else\ifx\EmFi@type\EmFi@S@number N%
- \else\ifx\EmFi@type\EmFi@S@file F%
- \else\ifx\EmFi@type\EmFi@S@desc Desc%
- \else\ifx\EmFi@type\EmFi@S@moddate ModDate%
- \else\ifx\EmFi@type\EmFi@S@creationdate CreationDate%
- \else\ifx\EmFi@type\EmFi@S@size Size%
- \else S%
- \fi\fi\fi\fi\fi\fi\fi
- /N(\EmFi@title)%
- \EmFi@@order{\EmFi@order}%
- \ifEmFi@visible
- \else
- /V false%
- \fi
- \ifEmFi@edit
- /E true%
- \fi
- >>%
- }%
- \let\do\relax
- \xdef\EmFi@fieldlist{%
- \EmFi@fieldlist
- \do{\EmFi@key}%
- }%
- \ifx\EmFi@type\EmFi@S@text
- \kv@define@key{EmFi}{\EmFi@key.value}{%
- \EmFi@itemtrue
- \def\EmFi@temp{##1}%
- \EmFi@convert\EmFi@temp\EmFi@temp
- \expandafter\def\csname EmFi@V@#1%
- \expandafter\endcsname\expandafter{%
- \expandafter(\EmFi@temp)%
- }%
- }%
- \EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
- \else\ifx\EmFi@type\EmFi@S@date
- \kv@define@key{EmFi}{\EmFi@key.value}{%
- \EmFi@itemtrue
- \def\EmFi@temp{##1}%
- \EmFi@convert\EmFi@temp\EmFi@temp
- \expandafter\def\csname EmFi@V@#1%
- \expandafter\endcsname\expandafter{%
- \expandafter(\EmFi@temp)%
- }%
- }%
- \EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
- \else\ifx\EmFi@type\EmFi@S@number
- \kv@define@key{EmFi}{\EmFi@key.value}{%
- \EmFi@itemtrue
- \expandafter\EdefSanitize\csname EmFi@V@#1\endcsname{ ##1}%
- }%
- \EmFi@GlobalKey{EmFi}{\EmFi@key.value}%
- \fi\fi\fi
- \kv@define@key{EmFi}{\EmFi@key.prefix}{%
- \EmFi@itemtrue
- \expandafter\def\csname EmFi@P@#1\endcsname{##1}%
- }%
- \EmFi@GlobalKey{EmFi}{\EmFi@key.prefix}%
- \kv@define@key{EmFiSo}{\EmFi@key}[ascending]{%
- \EdefSanitize\EmFi@temp{##1}%
- \ifx\EmFi@temp\EmFi@S@ascending
- \def\EmFi@temp{true}%
- \else\ifx\EmFi@temp\EmFi@S@descending
- \def\EmFi@temp{false}%
- \else
- \def\EmFi@temp{}%
- \EmFi@Error{%
- Unknown sort order `\EmFi@temp'.\MessageBreak
- Supported values: `\EmFi@S@ascending', %
- `\EmFi@S@descending
- }\@ehc
- \fi\fi
- \ifx\EmFi@temp\ltx@empty
- \else
- \xdef\EmFi@sortkeys{%
- \EmFi@sortkeys
- /\pdf@escapename{#1}%
- }%
- \ifx\EmFi@sortorders\ltx@empty
- \global\let\EmFi@sortorders\EmFi@temp
- \gdef\EmFi@sortcase{1}%
- \else
- \xdef\EmFi@sortorders{%
- \EmFi@sortorders
- \ltx@space
- \EmFi@temp
- }%
- \xdef\EmFi@sortcase{2}%
- \fi
- \fi
- }%
- \EmFi@GlobalDefaultKey{EmFiSo}\EmFi@key
- \endgroup
- \else
- \EmFi@Error{%
- Field `\EmFi@key' is already defined%
- }\@ehc
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\kv@define@key{EmFiFi}{type}{%
- \EdefSanitize\EmFi@temp{#1}%
- \ifx\EmFi@temp\EmFi@S@text
- \let\EmFi@type\EmFi@temp
- \else\ifx\EmFi@temp\EmFi@S@date
- \let\EmFi@type\EmFi@temp
- \else\ifx\EmFi@temp\EmFi@S@number
- \let\EmFi@type\EmFi@temp
- \else\ifx\EmFi@temp\EmFi@S@file
- \let\EmFi@type\EmFi@temp
- \else\ifx\EmFi@temp\EmFi@S@desc
- \let\EmFi@type\EmFi@temp
- \else\ifx\EmFi@temp\EmFi@S@moddate
- \let\EmFi@type\EmFi@temp
- \else\ifx\EmFi@temp\EmFi@S@creationdate
- \let\EmFi@type\EmFi@temp
- \else\ifx\EmFi@temp\EmFi@S@size
- \let\EmFi@type\EmFi@temp
- \else
- \EmFi@Error{%
- Unknown type `\EmFi@temp'.\MessageBreak
- Supported types: `text', `date', `number', `file',\MessageBreak
- `desc', `moddate', `creationdate', `size'%
- }%
- \fi\fi\fi\fi\fi\fi\fi\fi
-}
-% \end{macrocode}
-% \begin{macrocode}
-\kv@define@key{EmFiFi}{title}{%
- \def\EmFi@title{#1}%
-}
-% \end{macrocode}
-% \begin{macro}{\EmFi@setboolean}
-% \begin{macrocode}
-\def\EmFi@setboolean#1#2{%
- \EdefSanitize\EmFi@temp{#2}%
- \ifx\EmFi@temp\EmFi@S@true
- \csname EmFi@#1true\endcsname
- \else
- \ifx\EmFi@temp\EmFi@S@false
- \csname EmFi@#1false\endcsname
- \else
- \EmFi@Error{%
- Unknown value `\EmFi@temp' for key `#1'.\MessageBreak
- Supported values: `true', `false'%
- }\@ehc
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\kv@define@key{EmFiFi}{visible}[true]{%
- \EmFi@setboolean{visible}{#1}%
-}
-% \end{macrocode}
-% \begin{macrocode}
-\kv@define@key{EmFiFi}{edit}[true]{%
- \EmFi@setboolean{edit}{#1}%
-}
-% \end{macrocode}
-%
-% \begin{macro}{\EmFi@sortkeys}
-% \begin{macrocode}
-\def\EmFi@sortkeys{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@sortorders}
-% \begin{macrocode}
-\def\EmFi@sortorders{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\embedfilesort}
-% \begin{macrocode}
-\def\embedfilesort{%
- \kvsetkeys{EmFiSo}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Embed the file}
-%
-% \begin{macro}{\embedfile}
-% \begin{macrocode}
-\def\embedfile{%
- \ltx@ifnextchar[\EmFi@embedfile{\EmFi@embedfile[]}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@embedfile}
-% \begin{macrocode}
-\def\EmFi@embedfile[#1]#2{%
- \ifEmFi@finished
- \EmFi@Error{%
- \string\embedfile\ltx@space after \string\embedfilefinish
- }{%
- The list of embedded files is already written.%
- }%
- \else
- \begingroup
- \def\EmFi@file{#2}%
- \kvsetkeys{EmFi}{#1}%
- \expandafter\expandafter\expandafter
- \ifx\expandafter\expandafter\expandafter
- \\\pdf@filesize{\EmFi@file}\\%
- \EmFi@Error{%
- File `\EmFi@file' not found%
- }{%
- The unknown file is not embedded.%
- }%
- \else
- \edef\EmFi@@filespec{%
- \pdf@escapestring{\EmFi@filespec}%
- }%
- \ifx\EmFi@ucfilespec\ltx@empty
- \let\EmFi@@ucfilespec\ltx@empty
- \else
- \EmFi@convert\EmFi@ucfilespec\EmFi@@ucfilespec
- \fi
- \ifx\EmFi@desc\ltx@empty
- \let\EmFi@@desc\ltx@empty
- \else
- \EmFi@convert\EmFi@desc\EmFi@@desc
- \fi
- \ifEmFi@item
- \let\do\EmFi@do
- \immediate\pdfobj{%
- <<%
- \EmFi@fieldlist
- >>%
- }%
- \edef\EmFi@ci{\the\pdflastobj}%
- \fi
- \immediate\pdfobj stream attr{%
- /Type/EmbeddedFile%
- \ifx\EmFi@mimetype\ltx@empty
- \else
- /Subtype/\pdf@escapename{\EmFi@mimetype}%
- \fi
- /Params<<%
- /ModDate(\pdf@filemoddate{\EmFi@file})%
- /Size \pdf@filesize{\EmFi@file}%
- /CheckSum<\pdf@filemdfivesum{\EmFi@file}>%
- >>%
- }file{\EmFi@file}\relax
- \EmFi@defobj{EmbeddedFile}%
- \immediate\pdfobj{%
- <<%
- /Type/Filespec%
- \ifx\EmFi@filesystem\ltx@empty
- \else
- /FS/\pdf@escapename{\EmFi@filesystem}%
- \fi
- /F(\EmFi@@filespec)%
- \ifx\EmFi@@ucfilespec\ltx@empty
- \else
- /UF(\EmFi@@ucfilespec)%
- \fi
- \ifx\EmFi@@desc\ltx@empty
- \else
- /Desc(\EmFi@@desc)%
- \fi
- /EF<<%
- /F \the\pdflastobj\ltx@space 0 R%
- >>%
- \ifEmFi@item
- /CI \EmFi@ci\ltx@space 0 R%
- \fi
- >>%
- }%
- \EmFi@defobj{Filespec}%
- \EmFi@add{%
- \EmFi@@filespec
- }{\the\pdflastobj\ltx@space 0 R}%
- \fi
- \endgroup
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@do}
-% \begin{macrocode}
-\def\EmFi@do#1{%
- \expandafter\ifx\csname EmFi@P@#1\endcsname\relax
- \expandafter\ifx\csname EmFi@V@#1\endcsname\relax
- \else
- /\pdf@escapename{#1}\csname EmFi@V@#1\endcsname
- \fi
- \else
- /\pdf@escapename{#1}<<%
- \expandafter\ifx\csname EmFi@V@#1\endcsname\relax
- \else
- /D\csname EmFi@V@#1\endcsname
- \fi
- /P(\csname EmFi@P@#1\endcsname)%
- >>%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EmFi@convert}
-% \begin{macrocode}
-\def\EmFi@convert#1#2{%
- \ifnum\pdf@strcmp{\EmFi@stringmethod}{psd}=0 %
- \pdfstringdef\EmFi@temp{#1}%
- \let#2\EmFi@temp
- \else
- \edef#2{\pdf@escapestring{#1}}%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\global\let\EmFi@list\ltx@empty
-% \end{macrocode}
-% \begin{macro}{\EmFi@add}
-% Sorting is done by the insertion sort algorithm.
-% Probably the sorting could be done more reliable.
-% However, the PDF specification is not too clear to me
-% regarding precise sorting rules (how to deal with
-% different encodings, escaped characters, \dots).
-% \begin{macrocode}
-\def\EmFi@add#1#2{%
- \begingroup
- \ifx\EmFi@list\ltx@empty
- \xdef\EmFi@list{\noexpand\do{#1}{#2}}%
- \else
- \def\do##1##2{%
- \ifnum\pdf@strcmp{##1}{#1}>0 %
- \edef\x{%
- \toks@{%
- \the\toks@%
- \noexpand\do{#1}{#2}%
- \noexpand\do{##1}{##2}%
- }%
- }%
- \x
- \def\do####1####2{%
- \toks@\expandafter{\the\toks@\do{####1}{####2}}%
- }%
- \def\stop{%
- \xdef\EmFi@list{\the\toks@}%
- }%
- \else
- \toks@\expandafter{\the\toks@\do{##1}{##2}}%
- \fi
- }%
- \def\stop{%
- \xdef\EmFi@list{\the\toks@\noexpand\do{#1}{#2}}%
- }%
- \toks@{}%
- \EmFi@list\stop
- \fi
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\embedfilefinish}
-% \begin{macrocode}
-\def\embedfilefinish{%
- \ifEmFi@finished
- \EmFi@Error{%
- Too many invocations of \string\embedfilefinish
- }{%
- The list of embedded files is already written.%
- }%
- \else
- \ifx\EmFi@list\ltx@empty
- \else
-% \end{macrocode}
-% Write |/EmbeddedFiles| entry.
-% \begin{macrocode}
- \global\EmFi@finishedtrue
- \begingroup
- \def\do##1##2{%
- (##1)##2%
- }%
- \immediate\pdfobj{%
- <<%
- /Names[\EmFi@list]%
- >>%
- }%
- \pdfnames{%
- /EmbeddedFiles \the\pdflastobj\ltx@space 0 R%
- }%
- \endgroup
-% \end{macrocode}
-% Write collection objects.
-% \begin{macrocode}
- \ifx\EmFi@initialfile\ltx@empty
- \else
- \EmFi@collectiontrue
- \fi
- \ifEmFi@collection
- \ifx\EmFi@initialfile\ltx@empty
- \let\EmFi@@initialfile\ltx@empty
- \else
- \edef\EmFi@@initialfile{%
- \pdf@escapestring{\EmFi@initialfile}%
- }%
- \fi
-% \end{macrocode}
-% Look for initial file among the embedded files.
-% \begin{macrocode}
- \begingroup
- \let\f=N%
- \def\do##1##2{%
- \def\x{##1}%
- \ifx\x\EmFi@@initialfile
- \let\f=Y%
- \let\do\ltx@gobbletwo
- \fi
- }%
- \EmFi@list
- \expandafter\endgroup
- \ifx\f Y%
- \else
- \@PackageWarningNoLine{embedfile}{%
- Missing initial file `\EmFi@initialfile'\MessageBreak
- among the embedded files%
- }%
- \let\EmFi@initialfile\ltx@empty
- \let\EmFi@@initialfile\ltx@empty
- \fi
- \ifcase\EmFi@sortcase
- \def\EmFi@temp{}%
- \or
- \def\EmFi@temp{%
- /S\EmFi@sortkeys
- /A \EmFi@sortorders
- }%
- \else
- \def\EmFi@temp{%
- /S[\EmFi@sortkeys]%
- /A[\EmFi@sortorders]%
- }%
- \fi
- \def\EmFi@@order##1{%
- \ifnum\EmFi@order>1 %
- /O ##1%
- \fi
- }%
- \immediate\pdfobj{%
- <<%
- \ifx\EmFi@schema\ltx@empty
- \else
- /Schema<<\EmFi@schema>>%
- \fi
- \ifx\EmFi@@initialfile\ltx@empty
- \else
- /D(\EmFi@@initialfile)%
- \fi
- \ifx\EmFi@view\EmFi@S@tile
- /View/T%
- \else\ifx\EmFi@view\EmFi@S@hidden
- /View/H%
- \fi\fi
- \ifx\EmFi@temp\ltx@empty
- \EmFi@temp
- \else
- /Sort<<\EmFi@temp>>%
- \fi
- >>%
- }%
- \pdfcatalog{%
- /Collection \the\pdflastobj\ltx@space0 R%
- }%
- \fi
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname AtEndDocument\endcsname\relax
-\else
- \AtEndDocument{\embedfilefinish}%
-\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-\EmFi@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 embedfile.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}
-%
-% \begin{macrocode}
-%<*test2>
-\input embedfile.sty\relax
-\embedfile[%
- stringmethod=escape,%
- mimetype=plain/text,%
- desc={LaTeX docstrip source archive for package `embedfile'},%
- id={embedfile.dtx}%
-]{embedfile.dtx}
-\nopagenumbers
-Test (plain-\TeX): {\tt embedfile.dtx} should be embedded.%
-
-\def\Test#1{%
- \par
- \embedfileifobjectexists{embedfile.dtx}{#1}{%
- Object #1 (embedfile.dtx): %
- \embedfilegetobject{embedfile.dtx}{#1}%
- }{%
- \errmessage{Missing object #1 (embedfile.dtx)}%
- }%
-}
-\Test{EmbeddedFile}
-\Test{Filespec}
-\embedfilefinish
-\bye
-%</test2>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\let\SavedJobname\jobname
-\def\jobname{embedfile}
-\RequirePackage{dtx-attach}[2018/11/01]
-\let\jobname\SavedJobname
-\documentclass{minimal}
-\begin{document}
- Test (\LaTeX): \texttt{embedfile.dtx} should be embedded.%
-\end{document}
-%</test3>
-% \end{macrocode}
-%
-% \subsection{Test for \iniTeX}
-%
-% \begin{macrocode}
-%<*test4>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\input ifluatex.sty %
-\ifluatex
- \directlua{%
- tex.enableprimitives('', {%
- 'pdflastobj',%
- 'pdfnames',%
- 'pdfobj',%
- 'pdfoutput'%
- })%
- }%
- \ifx\pdfextension\undefined\else
- \protected\def\pdflastobj {\numexpr\pdffeedback lastobj\relax}
- \protected\def\pdfnames {\pdfextension names }
- \protected\def\pdfobj {\pdfextension obj }
- \let\pdfoutput \outputmode
- \fi
-\fi
-\pdfoutput=1 %
-\input embedfile.sty %
-\shipout\hbox{}
-\embedfile[%
- stringmethod=escape,%
- mimetype=plain/text,%
- desc={iniTeX source},%
-]{\jobname.tex}
-\embedfilefinish
-\end
-%</test4>
-% \end{macrocode}
-%
-% \section{Installation}
-%
-% \subsection{Download}
-%
-% \paragraph{Package.} This package is available on
-% CTAN\footnote{\CTANpkg{embedfile}}:
-% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/embedfile.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/embedfile.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 embedfile.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@{}}
-% embedfile.sty & tex/generic/oberdiek/embedfile.sty\\
-% dtx-attach.sty & tex/generic/oberdiek/dtx-attach.sty\\
-% embedfile.pdf & doc/latex/oberdiek/embedfile.pdf\\
-% embedfile-example-plain.tex & doc/latex/oberdiek/embedfile-example-plain.tex\\
-% embedfile-example-collection.tex & doc/latex/oberdiek/embedfile-example-collection.tex\\
-% test/embedfile-test1.tex & doc/latex/oberdiek/test/embedfile-test1.tex\\
-% test/embedfile-test2.tex & doc/latex/oberdiek/test/embedfile-test2.tex\\
-% test/embedfile-test3.tex & doc/latex/oberdiek/test/embedfile-test3.tex\\
-% test/embedfile-test4.tex & doc/latex/oberdiek/test/embedfile-test4.tex\\
-% embedfile.dtx & source/latex/oberdiek/embedfile.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{embedfile.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 embedfile.dtx
-%makeindex -s gind.ist embedfile.idx
-%pdflatex embedfile.dtx
-%makeindex -s gind.ist embedfile.idx
-%pdflatex embedfile.dtx
-%\end{verbatim}
-% \end{quote}
-%
-% \begin{thebibliography}{9}
-% \bibitem{attachfile}
-% Scott Pakin: \textit{The \xpackage{attachfile} package};
-% 2005/02/20 v1.2;
-% \CTANpkg{attachfile}.
-%
-% \bibitem{attachfile2}
-% Heiko Oberdiek: \textit{The \xpackage{attachfile2} package};
-% 2006/08/16 v2.2;
-% \CTAN{macros/latex/contrib/attachfile2/attachfile2.pdf}.
-%
-% \bibitem{pdfspec}
-% Adobe Systems Incorporated:
-% \href{http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf}%
-% {\textit{PDF Reference, Sixth Edition, Version 1.7}},%
-% Oktober 2006;
-% \url{http://www.adobe.com/devnet/pdf/pdf_reference.html}.
-%
-% \bibitem{mime}
-% Network Working Group: RFC 2046, \textit{Multipurpose Internet Mail Extensions (MIME) Part Two:
-% Media Types}, November 1996; \url{http://www.rfc-editor.org/}.
-%
-% \bibitem{types}
-% IANA (Internet Assigned Numbers Authority):
-% \textit{MIME Media Types}, May 2006;
-% \url{http://www.iana.org/assignments/media-types/}.
-%
-% \end{thebibliography}
-%
-% \begin{History}
-% \begin{Version}{2006/08/16 v1.0}
-% \item
-% First public version.
-% \end{Version}
-% \begin{Version}{2007/04/11 v1.1}
-% \item
-% Line ends sanitized.
-% \end{Version}
-% \begin{Version}{2007/09/09 v1.2}
-% \item
-% Fixes for plain-TeX, wrapper for package \xpackage{keyval} added.
-% \item
-% Catcode section rewritten.
-% \end{Version}
-% \begin{Version}{2007/10/28 v2.0}
-% \item
-% Collection support added (PDF 1.7).
-% \end{Version}
-% \begin{Version}{2007/10/29 v2.1}
-% \item
-% Export of object references by adding new option \xoption{id} and
-% new macros \cs{embedfileifobjectexists} and \cs{embedfilegetobject}.
-% \end{Version}
-% \begin{Version}{2007/11/11 v2.2}
-% \item
-% Use of package \xpackage{pdftexcmds} for \LuaTeX\ support.
-% \end{Version}
-% \begin{Version}{2007/11/25 v2.3}
-% \item
-% Fix in use of \cs{pdf@filesize}, bug introduced in previous version.
-% \end{Version}
-% \begin{Version}{2009/09/25 v2.4}
-% \item
-% Bug fix: If \xpackage{hyperref} is used with option \xoption{unicode},
-% the Unicode encoded file name causes trouble. Therefore \cs{pdfstringdef}
-% is now never used for option \xoption{filespec}, always method
-% \texttt{escape} is applied (Peter Cibulka).
-% \item
-% Bug fix for \xoption{initialfile}.
-% \item
-% Bug fix for file names in \texttt{/EmbeddedFiles}.
-% \item
-% New option \xoption{ucfilespec} for file name support in Unicode
-% (since PDF 1.7).
-% \end{Version}
-% \begin{Version}{2010/03/01 v2.5}
-% \item
-% Compatibility for \iniTeX.
-% \item
-% Package \xpackage{keyval} replaced by packages \xpackage{kvsetkeys}
-% and \xpackage{kvdefinekeys} because of compatibility for \iniTeX.
-% \item
-% TDS location moved from TDS:tex/latex/oberdiek/embedfile.sty to
-% TDS:tex/generic/oberdiek/embedfile.sty.
-% \end{Version}
-% \begin{Version}{2011/04/13 v2.6}
-% \item
-% Docu fixes (thanks Hans-Martin M\"unch).
-% \end{Version}
-% \begin{Version}{2016/05/15 v2.7}
-% \item
-% LuaTeX compatibility
-% \end{Version}
-% \begin{Version}{2018/11/01 v2.8}
-% \item
-% Remove luatex85 package depenency.
-% \end{Version}
-% \end{History}
-%
-% \PrintIndex
-%
-% \Finale
-\endinput
diff --git a/Master/texmf-dist/source/latex/oberdiek/engord.dtx b/Master/texmf-dist/source/latex/oberdiek/engord.dtx
index e083c48ed1b..6c759532002 100644
--- a/Master/texmf-dist/source/latex/oberdiek/engord.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/enparen.dtx b/Master/texmf-dist/source/latex/oberdiek/enparen.dtx
index be11acbd102..773ebc861c9 100644
--- a/Master/texmf-dist/source/latex/oberdiek/enparen.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/eolgrab.dtx b/Master/texmf-dist/source/latex/oberdiek/eolgrab.dtx
index 20d16b380ed..d27e99d34ec 100644
--- a/Master/texmf-dist/source/latex/oberdiek/eolgrab.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx b/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx
index 6d8e95cbe54..236169a3af9 100644
--- a/Master/texmf-dist/source/latex/oberdiek/etexcmds.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/fibnum.dtx b/Master/texmf-dist/source/latex/oberdiek/fibnum.dtx
index 97c55911063..9c3f8f79868 100644
--- a/Master/texmf-dist/source/latex/oberdiek/fibnum.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/flags.dtx b/Master/texmf-dist/source/latex/oberdiek/flags.dtx
index eccf6d3c9a7..6a2d05c7b44 100644
--- a/Master/texmf-dist/source/latex/oberdiek/flags.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx b/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx
index 6d9dfad7c57..724ed7fecc4 100644
--- a/Master/texmf-dist/source/latex/oberdiek/gettitlestring.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/grfext.dtx b/Master/texmf-dist/source/latex/oberdiek/grfext.dtx
deleted file mode 100644
index b52dee61517..00000000000
--- a/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hologo.dtx b/Master/texmf-dist/source/latex/oberdiek/hologo.dtx
index a94dd32e6d6..0985ff21d9c 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hologo.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx b/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx
index 61057855b3d..6c31061ccf4 100644
--- a/Master/texmf-dist/source/latex/oberdiek/holtxdoc.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hopatch.dtx b/Master/texmf-dist/source/latex/oberdiek/hopatch.dtx
index 4957ec3e836..17712fc2cc2 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hopatch.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx b/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx
index 1a72eae9ce7..d55a7091537 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hypbmsec.dtx b/Master/texmf-dist/source/latex/oberdiek/hypbmsec.dtx
index 8862e924bc3..dd26b08d2b5 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hypbmsec.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hypcap.dtx b/Master/texmf-dist/source/latex/oberdiek/hypcap.dtx
index 60d40a06786..a9bb106fe3d 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hypcap.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hypdestopt.dtx b/Master/texmf-dist/source/latex/oberdiek/hypdestopt.dtx
index fd2a76a4821..254b3af7eaa 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hypdestopt.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx b/Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx
index 65771a31aa7..481a53d8523 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hypgotoe.dtx b/Master/texmf-dist/source/latex/oberdiek/hypgotoe.dtx
index 412c26f15a7..e568ff4d916 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hypgotoe.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/hyphsubst.dtx b/Master/texmf-dist/source/latex/oberdiek/hyphsubst.dtx
index 0bf2c7821a4..e0fd44bf126 100644
--- a/Master/texmf-dist/source/latex/oberdiek/hyphsubst.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/ifdraft.dtx b/Master/texmf-dist/source/latex/oberdiek/ifdraft.dtx
index e1f516cdc66..0b4918a6d07 100644
--- a/Master/texmf-dist/source/latex/oberdiek/ifdraft.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/iflang.dtx b/Master/texmf-dist/source/latex/oberdiek/iflang.dtx
index c5f2b85ae91..fa784b7d453 100644
--- a/Master/texmf-dist/source/latex/oberdiek/iflang.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx b/Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx
deleted file mode 100644
index 89198d838a1..00000000000
--- a/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx b/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx
index 586ae3959e6..245cc21812b 100644
--- a/Master/texmf-dist/source/latex/oberdiek/intcalc.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx b/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx
index f0fcac8889e..3b864fc73b5 100644
--- a/Master/texmf-dist/source/latex/oberdiek/kvdefinekeys.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx b/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
index b7377aaaa60..7bbd4fe568e 100644
--- a/Master/texmf-dist/source/latex/oberdiek/kvsetkeys.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/letltxmacro.dtx b/Master/texmf-dist/source/latex/oberdiek/letltxmacro.dtx
deleted file mode 100644
index 86199e10636..00000000000
--- a/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx b/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx
index 7a6ed74f379..1cf8b787957 100644
--- a/Master/texmf-dist/source/latex/oberdiek/listingsutf8.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx b/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx
index 974a994380a..7de6b53dfe0 100644
--- a/Master/texmf-dist/source/latex/oberdiek/ltxcmds.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/mleftright.dtx b/Master/texmf-dist/source/latex/oberdiek/mleftright.dtx
deleted file mode 100644
index 5d7f837caeb..00000000000
--- a/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
index 6f2b6a23354..d977aee4422 100644
--- a/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
+++ b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
@@ -1,5 +1,5 @@
% oberdiek.ins
-% 2019/11/29
+% 2019/12/03
%
% Copyright (C)
% 1999, 2001, 2006 Heiko Oberdiek
@@ -37,14 +37,12 @@
\batchinput{bigintcalc.dtx}
\batchinput{bitset.dtx}
\batchinput{bmpsize.dtx}
-\batchinput{bookmark.dtx}
\batchinput{catchfile.dtx}
\batchinput{centernot.dtx}
\batchinput{chemarr.dtx}
\batchinput{classlist.dtx}
\batchinput{colonequals.dtx}
\batchinput{dvipscol.dtx}
-\batchinput{embedfile.dtx}
\batchinput{engord.dtx}
\batchinput{enparen.dtx}
\batchinput{eolgrab.dtx}
@@ -52,7 +50,6 @@
\batchinput{fibnum.dtx}
\batchinput{flags.dtx}
\batchinput{gettitlestring.dtx}
-\batchinput{grfext.dtx}
\batchinput{hologo.dtx}
\batchinput{holtxdoc.dtx}
\batchinput{hopatch.dtx}
@@ -65,14 +62,11 @@
\batchinput{hyphsubst.dtx}
\batchinput{ifdraft.dtx}
\batchinput{iflang.dtx}
-\batchinput{infwarerr.dtx}
\batchinput{intcalc.dtx}
\batchinput{kvdefinekeys.dtx}
\batchinput{kvsetkeys.dtx}
-\batchinput{letltxmacro.dtx}
\batchinput{listingsutf8.dtx}
\batchinput{ltxcmds.dtx}
-\batchinput{mleftright.dtx}
\batchinput{pagegrid.dtx}
\batchinput{pagesel.dtx}
\batchinput{pdfcol.dtx}
diff --git a/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex b/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
index aa80f29afb3..4de3c5bbee4 100644
--- a/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pagegrid.dtx b/Master/texmf-dist/source/latex/oberdiek/pagegrid.dtx
index bfd57d7ba7d..60c0794247b 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pagegrid.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pagesel.dtx b/Master/texmf-dist/source/latex/oberdiek/pagesel.dtx
index d0bddbefdea..b674f803d4c 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pagesel.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx
index e9a5cd552ea..c86a2e67205 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pdfcolfoot.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfcolfoot.dtx
index c2b22be98f2..04aaf31a3ae 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfcolfoot.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pdfcolparallel.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfcolparallel.dtx
index dea067f7e0d..bee619d642a 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfcolparallel.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pdfcolparcolumns.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfcolparcolumns.dtx
index 9584b4d2e8a..a7e89d131a8 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfcolparcolumns.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx
index b3da5015d07..e4681efa8c2 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfcrypt.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
index db40f23f4ba..b405d7f7e17 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfescape.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pdflscape.dtx b/Master/texmf-dist/source/latex/oberdiek/pdflscape.dtx
index 8743b2ebbbb..e808b973e30 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdflscape.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pdfrender.dtx b/Master/texmf-dist/source/latex/oberdiek/pdfrender.dtx
index 395d21ae505..7558ad61ac8 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdfrender.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/picture.dtx b/Master/texmf-dist/source/latex/oberdiek/picture.dtx
index 956110084ea..ba4121a603f 100644
--- a/Master/texmf-dist/source/latex/oberdiek/picture.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/pmboxdraw.dtx b/Master/texmf-dist/source/latex/oberdiek/pmboxdraw.dtx
index ef4e491f318..480eac755d1 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pmboxdraw.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/protecteddef.dtx b/Master/texmf-dist/source/latex/oberdiek/protecteddef.dtx
index 2ddc5c9cad5..cff42cccf7d 100644
--- a/Master/texmf-dist/source/latex/oberdiek/protecteddef.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/refcount.dtx b/Master/texmf-dist/source/latex/oberdiek/refcount.dtx
index 3a2c9614313..b70bd4799e5 100644
--- a/Master/texmf-dist/source/latex/oberdiek/refcount.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/rerunfilecheck.dtx b/Master/texmf-dist/source/latex/oberdiek/rerunfilecheck.dtx
index 2687619377b..173044c8c0c 100644
--- a/Master/texmf-dist/source/latex/oberdiek/rerunfilecheck.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx b/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx
index 6f49f1c7add..596446de2c0 100644
--- a/Master/texmf-dist/source/latex/oberdiek/resizegather.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/rotchiffre.dtx b/Master/texmf-dist/source/latex/oberdiek/rotchiffre.dtx
index 7e9a9e980d2..3023347fe16 100644
--- a/Master/texmf-dist/source/latex/oberdiek/rotchiffre.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/scrindex.dtx b/Master/texmf-dist/source/latex/oberdiek/scrindex.dtx
index 68ba61790a7..fea57fd1a9d 100644
--- a/Master/texmf-dist/source/latex/oberdiek/scrindex.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/selinput.dtx b/Master/texmf-dist/source/latex/oberdiek/selinput.dtx
index 1dcc45ff79d..97fc336c3c7 100644
--- a/Master/texmf-dist/source/latex/oberdiek/selinput.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx b/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx
index baa5ac55731..001cd278d3d 100644
--- a/Master/texmf-dist/source/latex/oberdiek/setouterhbox.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/settobox.dtx b/Master/texmf-dist/source/latex/oberdiek/settobox.dtx
index 7ff43430a5d..c38d502a534 100644
--- a/Master/texmf-dist/source/latex/oberdiek/settobox.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx b/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx
index a25b50be1cc..f5708e8ac2d 100644
--- a/Master/texmf-dist/source/latex/oberdiek/soulutf8.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/stackrel.dtx b/Master/texmf-dist/source/latex/oberdiek/stackrel.dtx
index 57cef731c36..6b3444c33c6 100644
--- a/Master/texmf-dist/source/latex/oberdiek/stackrel.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/stampinclude.dtx b/Master/texmf-dist/source/latex/oberdiek/stampinclude.dtx
index 5824cf44258..9acd8a61f84 100644
--- a/Master/texmf-dist/source/latex/oberdiek/stampinclude.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/tabularht.dtx b/Master/texmf-dist/source/latex/oberdiek/tabularht.dtx
index dba2d2f899f..8d1ef6cb748 100644
--- a/Master/texmf-dist/source/latex/oberdiek/tabularht.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/tabularkv.dtx b/Master/texmf-dist/source/latex/oberdiek/tabularkv.dtx
index 4bd350bd19e..57ef5e87457 100644
--- a/Master/texmf-dist/source/latex/oberdiek/tabularkv.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/telprint.dtx b/Master/texmf-dist/source/latex/oberdiek/telprint.dtx
index a2df3a65281..57152c66517 100644
--- a/Master/texmf-dist/source/latex/oberdiek/telprint.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/thepdfnumber.dtx b/Master/texmf-dist/source/latex/oberdiek/thepdfnumber.dtx
index 5b56027d9d4..61eb42684c3 100644
--- a/Master/texmf-dist/source/latex/oberdiek/thepdfnumber.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/twoopt.dtx b/Master/texmf-dist/source/latex/oberdiek/twoopt.dtx
index 4fc1bfec889..10334f0d3a9 100644
--- a/Master/texmf-dist/source/latex/oberdiek/twoopt.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx b/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx
index 16a29910485..172d0814353 100644
--- a/Master/texmf-dist/source/latex/oberdiek/uniquecounter.dtx
+++ b/Master/texmf-dist/source/latex/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