From 892c21b6bddf968f85a4de0de3d289ff9f27da5f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 4 Dec 2019 22:54:28 +0000 Subject: 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 --- Master/texmf-dist/source/latex/oberdiek/README.txt | 2 +- .../texmf-dist/source/latex/oberdiek/accsupp.dtx | 80 +- .../texmf-dist/source/latex/oberdiek/aliascnt.dtx | 19 - .../texmf-dist/source/latex/oberdiek/alphalph.dtx | 372 --- .../source/latex/oberdiek/askinclude.dtx | 1061 ------ .../texmf-dist/source/latex/oberdiek/atbegshi.dtx | 292 +- .../texmf-dist/source/latex/oberdiek/atenddvi.dtx | 19 - .../texmf-dist/source/latex/oberdiek/atveryend.dtx | 138 +- .../texmf-dist/source/latex/oberdiek/auxhook.dtx | 23 +- .../source/latex/oberdiek/bigintcalc.dtx | 952 +----- Master/texmf-dist/source/latex/oberdiek/bitset.dtx | 1243 +------ .../texmf-dist/source/latex/oberdiek/bmpsize.dtx | 23 +- .../texmf-dist/source/latex/oberdiek/bookmark.dtx | 3471 -------------------- .../texmf-dist/source/latex/oberdiek/catchfile.dtx | 326 +- .../texmf-dist/source/latex/oberdiek/centernot.dtx | 19 - .../texmf-dist/source/latex/oberdiek/chemarr.dtx | 19 - .../texmf-dist/source/latex/oberdiek/classlist.dtx | 19 - .../source/latex/oberdiek/colonequals.dtx | 19 - .../texmf-dist/source/latex/oberdiek/dvipscol.dtx | 19 - .../texmf-dist/source/latex/oberdiek/embedfile.dtx | 2141 ------------ Master/texmf-dist/source/latex/oberdiek/engord.dtx | 134 +- .../texmf-dist/source/latex/oberdiek/enparen.dtx | 15 - .../texmf-dist/source/latex/oberdiek/eolgrab.dtx | 170 +- .../texmf-dist/source/latex/oberdiek/etexcmds.dtx | 202 +- Master/texmf-dist/source/latex/oberdiek/fibnum.dtx | 263 +- Master/texmf-dist/source/latex/oberdiek/flags.dtx | 19 - .../source/latex/oberdiek/gettitlestring.dtx | 176 +- Master/texmf-dist/source/latex/oberdiek/grfext.dtx | 1130 ------- Master/texmf-dist/source/latex/oberdiek/hologo.dtx | 270 +- .../texmf-dist/source/latex/oberdiek/holtxdoc.dtx | 19 - .../texmf-dist/source/latex/oberdiek/hopatch.dtx | 204 +- .../texmf-dist/source/latex/oberdiek/hycolor.dtx | 554 +--- .../texmf-dist/source/latex/oberdiek/hypbmsec.dtx | 19 - Master/texmf-dist/source/latex/oberdiek/hypcap.dtx | 19 - .../source/latex/oberdiek/hypdestopt.dtx | 21 +- Master/texmf-dist/source/latex/oberdiek/hypdoc.dtx | 19 - .../texmf-dist/source/latex/oberdiek/hypgotoe.dtx | 19 - .../texmf-dist/source/latex/oberdiek/hyphsubst.dtx | 173 +- .../texmf-dist/source/latex/oberdiek/ifdraft.dtx | 19 - Master/texmf-dist/source/latex/oberdiek/iflang.dtx | 343 +- .../texmf-dist/source/latex/oberdiek/infwarerr.dtx | 1193 ------- .../texmf-dist/source/latex/oberdiek/intcalc.dtx | 977 +----- .../source/latex/oberdiek/kvdefinekeys.dtx | 134 +- .../texmf-dist/source/latex/oberdiek/kvsetkeys.dtx | 462 +-- .../source/latex/oberdiek/letltxmacro.dtx | 1153 ------- .../source/latex/oberdiek/listingsutf8.dtx | 133 +- .../texmf-dist/source/latex/oberdiek/ltxcmds.dtx | 879 +---- .../source/latex/oberdiek/mleftright.dtx | 943 ------ .../texmf-dist/source/latex/oberdiek/oberdiek.ins | 8 +- .../texmf-dist/source/latex/oberdiek/oberdiek.tex | 243 +- .../texmf-dist/source/latex/oberdiek/pagegrid.dtx | 134 +- .../texmf-dist/source/latex/oberdiek/pagesel.dtx | 19 - Master/texmf-dist/source/latex/oberdiek/pdfcol.dtx | 202 +- .../source/latex/oberdiek/pdfcolfoot.dtx | 53 +- .../source/latex/oberdiek/pdfcolparallel.dtx | 123 +- .../source/latex/oberdiek/pdfcolparcolumns.dtx | 80 +- .../texmf-dist/source/latex/oberdiek/pdfcrypt.dtx | 19 - .../texmf-dist/source/latex/oberdiek/pdfescape.dtx | 761 +---- .../texmf-dist/source/latex/oberdiek/pdflscape.dtx | 241 +- .../texmf-dist/source/latex/oberdiek/pdfrender.dtx | 310 +- .../texmf-dist/source/latex/oberdiek/picture.dtx | 19 - .../texmf-dist/source/latex/oberdiek/pmboxdraw.dtx | 139 +- .../source/latex/oberdiek/protecteddef.dtx | 293 +- .../texmf-dist/source/latex/oberdiek/refcount.dtx | 440 +-- .../source/latex/oberdiek/rerunfilecheck.dtx | 135 +- .../source/latex/oberdiek/resizegather.dtx | 134 +- .../source/latex/oberdiek/rotchiffre.dtx | 430 +-- .../texmf-dist/source/latex/oberdiek/scrindex.dtx | 19 - .../texmf-dist/source/latex/oberdiek/selinput.dtx | 147 +- .../source/latex/oberdiek/setouterhbox.dtx | 172 +- .../texmf-dist/source/latex/oberdiek/settobox.dtx | 19 - .../texmf-dist/source/latex/oberdiek/soulutf8.dtx | 577 +--- .../texmf-dist/source/latex/oberdiek/stackrel.dtx | 19 - .../source/latex/oberdiek/stampinclude.dtx | 23 +- .../texmf-dist/source/latex/oberdiek/tabularht.dtx | 19 - .../texmf-dist/source/latex/oberdiek/tabularkv.dtx | 19 - .../texmf-dist/source/latex/oberdiek/telprint.dtx | 134 +- .../source/latex/oberdiek/thepdfnumber.dtx | 319 +- Master/texmf-dist/source/latex/oberdiek/twoopt.dtx | 19 - .../source/latex/oberdiek/uniquecounter.dtx | 311 +- 80 files changed, 141 insertions(+), 25358 deletions(-) delete mode 100644 Master/texmf-dist/source/latex/oberdiek/bookmark.dtx delete mode 100644 Master/texmf-dist/source/latex/oberdiek/embedfile.dtx delete mode 100644 Master/texmf-dist/source/latex/oberdiek/grfext.dtx delete mode 100644 Master/texmf-dist/source/latex/oberdiek/infwarerr.dtx delete mode 100644 Master/texmf-dist/source/latex/oberdiek/letltxmacro.dtx delete mode 100644 Master/texmf-dist/source/latex/oberdiek/mleftright.dtx (limited to 'Master/texmf-dist/source/latex') 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} % % \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} -% -% \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 % % \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} -% -% \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 -% -\usepackage{alphalph}[2016/05/16] -%\RestoreNumexpr -\usepackage{qstest} -\IncludeTests{*} -\LogTests{log}{*}{*} - -\newcommand*{\TestCmd}[3]{% - \setbox0=\hbox{% -% \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} -% -% \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% % % \end{macrocode} -% -% \section{Test} -% -% \subsection{Included files} -% -% \begin{macrocode} -%<*a> -\chapter{Chapter A} -\let\filea=Y -% -% \end{macrocode} -% \begin{macrocode} -%<*b> -\chapter{Chapter B} -\let\fileb=Y -% -% \end{macrocode} -% \begin{macrocode} -%<*c> -\chapter{Chapter C} -\let\filec=Y -% -% \end{macrocode} -% -% \subsection{Special test setup} -% -% \begin{macrocode} -%<*test18> -\includeonly{askinclude-b} -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test20|test21|test22> -\let\AtBeginDocumentMode=N% -% -% \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> - \ifx\AtBeginDocumentMode Y% - \AtBeginDocument{% - \usepackage{askinclude}[2018/11/01]% - }% - \else -% - \usepackage{askinclude}[2018/11/01]% -%<*!test1> - \fi -% -%<*test1> - \EndTest -% -\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 -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \end{macrocode} -% -% -% \subsection{Common end} -% -% \begin{macrocode} -%<*test0> -\end{document} -% -% \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% % % \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} -% -% \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 -% -% \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} -% -% \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% % % \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} -% -% \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} % % \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} -% -% \end{macrocode} -% -% \subsection{Macro tests} -% -% \subsubsection{Preamble with test macro definitions} -% -% \begin{macrocode} -%<*test2> -\NeedsTeXFormat{LaTeX2e} -\nofiles -\documentclass{article} -%\let\SavedNumexpr\numexpr -%\let\numexpr\UNDEFINED -\makeatletter -\chardef\BIC@TestMode=1 % -\makeatother -\usepackage{bigintcalc}[2016/05/16] -%\let\numexpr\SavedNumexpr -\usepackage{qstest} -\IncludeTests{*} -\LogTests{log}{*}{*} -\newcommand*{\TestSpaceAtEnd}[1]{% -% \let\SavedNumexpr\numexpr -% \let\numexpr\UNDEFINED - \edef\resultA{#1}% - \edef\resultB{#1 }% -% \let\numexpr\SavedNumexpr - \Expect*{\resultA\space}*{\resultB}% -} -\newcommand*{\TestResult}[2]{% -% \let\SavedNumexpr\numexpr -% \let\numexpr\UNDEFINED - \edef\result{#1}% -% \let\numexpr\SavedNumexpr - \Expect*{\result}{#2}% -} -\newcommand*{\TestResultTwoExpansions}[2]{% -%<*noetex> - \begingroup - \let\numexpr\UNDEFINED - \expandafter\expandafter\expandafter - \endgroup -% - \expandafter\expandafter\expandafter\Expect - \expandafter\expandafter\expandafter{#1}{#2}% -} -\newcount\TestCount -%\newcommand*{\TestArg}[1]{\numexpr#1\relax} -%\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} -% -% \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% % % \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} -% -% \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 -% -\makeatletter -\chardef\BitSet@TestMode=1 % -\makeatother -\usepackage{bitset}[2016/05/16] -%<*noetex> -\def\ETeXEnable{% - \let\numexpr\SavedNumexpr - \let\ifcsname\SavedIfcsname - \let\currentgrouplevel\SavedCurrentgrouplevel -} -\ETeXEnable -% -\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 -% - \Expect{##1}{bitset}% - \Expect*{##2}*{#1}% - \endgroup - }% -%<*noetex> - \ETeXDisable -% - #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 -% - \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} -% -% \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 -% -%<*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 -% -%<*ignore> -\fi -% -%<*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} -% -% \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} -% -% \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} -% -% \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<>% - }% - \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} -% -% \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{% - % - }% - \fi - \else - \edef\BKM@action{}% - \fi - \else - \BKM@EscapeName\BKM@named - \edef\BKM@action{% - % - }% - \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{% - >% - }% - \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} -% -% \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{<>}}% - \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{<>}% - }% - \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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 -% -% \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 -% -% \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= | can be replaced by -% \verb|color=[rgb]{,,}|. -% \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% % % \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} -% -% \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} -% -% \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 -% -% \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 -% -%<*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 -% -%<*ignore> -\fi -% -%<*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} -% -% \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{macrocode} -% -% \subsubsection{Collection example} -% -% \begin{macrocode} -%<*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} -% -% \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% -% -% \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} -% -% \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 -% -% \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} -% -% \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 -% -% \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} % % \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} -% -% \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} % % \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} -% -% \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 -% -% \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% % % \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} -% -% \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 -% -% \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 -% -% \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 -% -% \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% % % \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} -% -% \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 -% -% \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% % % \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} -% -% \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} -% -% \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 -% -%<*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 -% -%<*ignore> -\fi -% -%<*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} -% -% \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}{% - % - }{% - [\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% -% -% \end{macrocode} -% -% \section{Test} -% -% Load \xfile{miniltx} for standard catcode test. -% \begin{macrocode} -%<*test1> -\input miniltx.tex\relax -\resetatcatcode -% -% \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} -% -% \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} -% -% \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% % % \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} -% -% \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} -% -% \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} -% -% \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} % % \end{macrocode} -% -% \section{Test} -% -% \begin{macrocode} -%<*test1> -\def\LoadCommand{\RequirePackage{hopatch}[2016/05/16]} -% -% \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} -% -% \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} -% -% \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} % % \end{macrocode} -% -% \section{Test} -% -% \begin{macrocode} -%<*test1> -\ProvidesFile{hycolor-test1.tex}[2016/05/16 test file 1] -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test2> -\ProvidesFile{hycolor-test2.tex}[2016/05/16 test file 2] -\let\pdfmatch\relax -% -% \end{macrocode} -% -% \begin{macrocode} -%\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] -% -% \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} -% -% \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} -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test1|test2> -\usepackage{xcolor} -\definecolor[named]{MyGreen}{rgb}{0,0.7,0} -\definecolor{mygreen}{named}{MyGreen} -% -% \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} -% -% \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} -% -% \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} -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test> -\begin{document} -\end{document} -% -% \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] -% -%<*xcol2> -\usepackage{scrlfile} -\usepackage{xcolor-patch}[2016/05/16] -\usepackage{xcolor} -% -%<*xcol3> -\usepackage{xcolor-patch}[2016/05/16] -\usepackage{xcolor} -\begin{document} -% -\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 -} -%\end{document} -%\@@end -% -% \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} -% -% \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% % % \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} -% -% \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 -% -% \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% % % \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} -% -% \end{macrocode} -% -% \subsection{Test with \LaTeX} -% -% \begin{macrocode} -%<*test2|test3> -% \end{macrocode} -% \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -%\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} -% -% \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} -% -% \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} -% -% \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 -% -%<*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 -% -%<*ignore> -\fi -% -%<*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} -% -% \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 to proceed|\\ -% |If that doesn't work, type X to quit.| -% \end{quote} -% and \cs{@ehd}: -% \begin{quote} -% |You're in trouble here. Try typing to proceed|\\ -% |If that doesn't work, type X 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 \space to proceed.\MessageBreak - If that doesn't work, type \space X \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 \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% -% -% \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} -% -% \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 % -% -% \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} -% -% \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{% -% \let\write\OrgWrite -% \def\plaindots{} -% \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 ~~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 ~~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 ~~for immediate help\plaindots - }{% - Try typing~~~~to proceed.^^J% - If that doesn't work, type~~X ~~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 ~~for immediate help\plaindots - }{% - You're in trouble here.~~Try typing~~~~to proceed.^^J% - If that doesn't work, type~~X ~~to quit.% - }% -} -\def\@TestError#1#2#3{% - \begingroup - \let~\space - \edef\x{#2}% -% \@onelevel@sanitize\x -% \@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 -% -%\end -%\@@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} % % \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} -% -% \end{macrocode} -% -% \subsection{Macro tests} -% -% \subsubsection{Preamble with test macro definitions} -% -% \begin{macrocode} -%<*test2|test4> -\NeedsTeXFormat{LaTeX2e} -\nofiles -\documentclass{article} -%\let\SavedNumexpr\numexpr -%\let\numexpr\UNDEFINED -\makeatletter -\chardef\InCa@TestMode=1 % -\makeatother -\usepackage{intcalc}[2016/05/16] -%\let\numexpr\SavedNumexpr -\usepackage{qstest} -\IncludeTests{*} -\LogTests{log}{*}{*} -% -%<*test2> -\newcommand*{\TestSpaceAtEnd}[1]{% -% \let\SavedNumexpr\numexpr -% \let\numexpr\UNDEFINED - \edef\resultA{#1}% - \edef\resultB{#1 }% -% \let\numexpr\SavedNumexpr - \Expect*{\resultA\space}*{\resultB}% -} -\newcommand*{\TestResult}[2]{% -% \let\SavedNumexpr\numexpr -% \let\numexpr\UNDEFINED - \edef\result{#1}% -% \let\numexpr\SavedNumexpr - \Expect*{\result}{#2}% -} -\newcommand*{\TestResultTwoExpansions}[2]{% -%<*noetex> - \begingroup - \let\numexpr\UNDEFINED - \expandafter\expandafter\expandafter - \endgroup -% - \expandafter\expandafter\expandafter\Expect - \expandafter\expandafter\expandafter{#1}{#2}% -} -\newcount\TestCount -%\newcommand*{\TestArg}[1]{\numexpr#1\relax} -%\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 -} -% -% \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 -% -% \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 -% -% \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}% -% -\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}% -% -\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}% -% -\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}% -% -\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}% -% -\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}% -% -\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}% -% -\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}% -% -\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}% -% -\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}% -% -\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}% -% -\end{qstest} -% -% \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} -% -% \end{macrocode} -% \begin{macrocode} -%<*test2|test4> -\begin{document} -\end{document} -% -% \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% % % \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} -% -% \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% % % \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} -% -% \end{macrocode} -% -% \subsection{Macro tests} -% -% \subsubsection{Preamble} -% -% \begin{macrocode} -%<*test2> -\NeedsTeXFormat{LaTeX2e} -\nofiles -\documentclass{article} -%\let\SavedUnexpanded\unexpanded -%\let\unexpanded\UNDEFINED -\makeatletter -\chardef\KVS@TestMode=1 % -\makeatother -\usepackage{kvsetkeys}[2016/05/16] -%\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} -% -% \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 -% -% \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 -% -%<*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 -% -%<*ignore> -\fi -% -%<*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} -% -% \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 -% -% \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% -% -% \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} -% -% \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} -% -% \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% % % \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} -% -% \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} -% -% \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% % % \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} -% -% \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 -% -% \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 -% -% \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 -% -% \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 -% -% \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 -% -% \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 -% -% \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 -% -%<*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 -% -%<*ignore> -\fi -% -%<*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} -% -% \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% -% -% \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} -% -% \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} @@ -456,19 +435,6 @@ options \xoption{viewport}, \xoption{trim} and \xoption{clip}. \end{abstract} \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} @@ -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}} @@ -607,16 +565,6 @@ commands from title strings. \end{abstract} \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} @@ -741,15 +689,6 @@ based on macro \cs{languagename} or hyphenation patterns. \end{abstract} \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} @@ -781,18 +720,6 @@ only one level of curly braces is removed from the values. \end{abstract} \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} @@ -815,18 +742,6 @@ also provides them for other formats such as plain-\TeX. \end{abstract} \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} 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% % % \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} -% -% \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% % % \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} -% -% \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}% -% -%<*test3> - \Expect*{\ifpdfcolAvailable true\else false\fi}{true}% - \Expect*{\number\@pdfcolorstack}{0}% -% - \setbox0=\hbox{% - \pdfcolInitStack{test}% -%<*test3> - \Expect*{\number\pdfcol@Stack@test}{1}% - \Expect*{\number\@pdfcolorstack}{0}% -% - \pdfcolSwitchStack{test}% -%<*test3> - \Expect*{\number\@pdfcolorstack}{1}% -% - \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}% -% - \Expect*{\pdfcolIfStackExists{dummy}{true}{false}}{false}% - \end{qstest}% -\end{document} -% -% \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 -% -% \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} % % \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} -% -% \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} % % \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} -% -% \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} % % \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} -% -% \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} % % \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} -% -% \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]% -% -% \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]% -% -% \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]% -% -% \end{macrocode} -% -% \subsection{Test with \LuaTeX} -% -% \begin{macrocode} -%<*test5> -\ProvidesFile{pdfescape-test5.tex}% - [2016/05/16 v1.14 Test with LuaTeX]% -% -% \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 -}{} -% -% \end{macrocode} -% \begin{macrocode} -%<*test3|test4> -\let\pdfescapehex\@undefined -\let\pdfunescapehex\@undefined -\let\pdfescapename\@undefined -\let\pdfescapestring\@undefined -% -% \end{macrocode} -% -% \subsubsection{Check \eTeX} -% -% \begin{macrocode} -%<*test3> -\@ifundefined{numexpr}{% - \PackageError{pdfescape-test3}{% - Missing \eTeX - }{Test aborted.}% - \stop -}{} -% -% \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 -}{} -% -% \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 -% -\RequirePackage{pdfescape} -%<*test4> -\let\detokenize\org@detokenize -\let\numexpr\org@numexpr -% - -\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 -% - \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} -% -% \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 -% -% \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 % % \end{macrocode} % -% \section{Test} -% -% \subsection{Driver detection tests} -% \begin{macrocode} -%<*test0> -\NeedsTeXFormat{LaTeX2e} -\documentclass{minimal} -\usepackage{qstest} -\IncludeTests{*} -\LogTests{log}{*}{*} -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test1> -\usepackage{ifpdf} -\ifpdf - \def\ExpectDriver{pdftex}% -\fi -\usepackage{ifxetex}% -\ifxetex - \def\ExpectDriver{dvipdfm}% -\fi -\usepackage{pdflscape}[2016/05/14] -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test2> -\def\ExpectDriver{pdftex} -\usepackage[pdftex]{pdflscape}[2016/05/14] -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test3> -\def\ExpectDriver{dvipdfm} -\usepackage[dvipdfmx]{pdflscape}[2016/05/14] -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test4> -\def\ExpectDriver{dvips} -\usepackage[dvipsone]{graphics} -\usepackage{pdflscape}[2016/05/14] -% -% \end{macrocode} -% -% \begin{macrocode} -%<*test0> -\begin{document} -\begin{qstest}{driver}{driver} - \makeatletter - \Expect*{\PLS@driver}*{\ExpectDriver}% -\end{qstest} -\end{document} -% -% \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} -% -% \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} -% -% \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 -% -% \end{macrocode} -% -% \begin{macrocode} -%<*ExtractRotate> -/** - * ExtractRotate.java - * - * Copyright (C) 2007 by Heiko Oberdiek - * - * Requires: PDFBox (http://www.pdfbox.org/) - * - * Syntax: java ExtractRotate - * - * The is analyzed and for each page its rotation - * setting is printed in the . 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); - } - } -} -% -% \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% % % \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} -% -% \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} -% -% \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} -% -% \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} -% -% \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 -% -% \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} % % \end{macrocode} -% -% \section{Test} -% -% \begin{macrocode} -%<*test1> -\def\LoadCommand{\RequirePackage{pmboxdraw}[2019/02/28]} -% -% \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} -% -% \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} % % \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} -% -% \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 -% -% \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% % % \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} -% -% \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 -% -% \end{macrocode} -% \subsection{Test with package \xpackage{titleref}} -% -% \begin{macrocode} -%<*test3> -\NeedsTeXFormat{LaTeX2e} -\documentclass{article} -\usepackage{refcount}[2016/05/16] -%\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} -% -% \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} -% -% \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% % % \end{macrocode} -% -% \section{Test} -% -% \begin{macrocode} -%<*test1> -\def\LoadCommand{\RequirePackage{rerunfilecheck}[2016/05/16]} -% -% \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} -% -% \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% % % \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} -% -% \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% % % \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} -% -% \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 -% -% \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} % % \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,% -% utf8=utf-8, -% ucs, -]{selinput} -%\inputencoding{ascii} -%\inputencoding{utf-8} -%\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,% - }% -% \TestEncoding{utf8}{% -% \TestEncoding{utf-8}{% -% \TestEncoding{utf8x}{% - adieresis=^^c3^^a4,% - germandbls=^^c3^^9f,% -% Euro=^^e2^^82^^ac, - }% -\end{qstest} -%\let\ifUnicodeOptiongraphics\iffalse -\begin{document} -\begin{qstest}{document}{} -%\makeatletter - \BeginDocumentText -\end{qstest} -% -% \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% -% -% \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{}% -% -% \end{macrocode} -% -% \begin{macrocode} -\end{document} -% -% \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% % % \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} -% -% \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} -% -% \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} % % \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} -% -% \end{macrocode} -% -% \subsection{\LaTeX\space tests} -% -% \begin{macrocode} -%<*test2|test3|test4|test5> -% \end{macrocode} -% \begin{macrocode} -%\let\SavedUnexpanded\unexpanded -%\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} -%\let\unexpanded\SavedUnexpanded -% \end{macrocode} -% Input encoding \xfile{utf8}. -% \begin{macrocode} -%<*utf8> -\usepackage[utf8]{inputenc} -\DeclareUnicodeCharacter{00A0}{\nobreakspace} -% -% \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 -} -% -% \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 -% - \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}]}% -% -% \end{macrocode} -% -% \begin{macrocode} -\end{document} -% \end{macrocode} -% \begin{macrocode} -% -% \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% % % \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} -% -% \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% % % \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} -% -% \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}% -% - \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{+} -% -% \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 -% -% \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} % % \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} -% -% \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 -% -% \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 -% -% \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 -- cgit v1.2.3