summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/babel-contrib/italian/README.txt11
-rw-r--r--macros/latex/contrib/babel-contrib/italian/italian.dtx359
-rw-r--r--macros/latex/contrib/babel-contrib/italian/italian.pdfbin443357 -> 446223 bytes
-rw-r--r--macros/latex/contrib/grfext/README.md7
-rw-r--r--macros/latex/contrib/grfext/grfext.dtx (renamed from macros/latex/contrib/oberdiek/grfext.dtx)378
-rw-r--r--macros/latex/contrib/grfext/grfext.pdfbin0 -> 309305 bytes
-rw-r--r--macros/latex/contrib/infwarerr/README.md9
-rw-r--r--macros/latex/contrib/infwarerr/infwarerr.dtx (renamed from macros/latex/contrib/oberdiek/infwarerr.dtx)403
-rw-r--r--macros/latex/contrib/infwarerr/infwarerr.pdfbin0 -> 285979 bytes
-rw-r--r--macros/latex/contrib/letltxmacro/README.md12
-rw-r--r--macros/latex/contrib/letltxmacro/letltxmacro.dtx (renamed from macros/latex/contrib/oberdiek/letltxmacro.dtx)396
-rw-r--r--macros/latex/contrib/letltxmacro/letltxmacro.pdfbin0 -> 290791 bytes
-rw-r--r--macros/latex/contrib/mleftright/README.md12
-rw-r--r--macros/latex/contrib/mleftright/mleftright.dtx (renamed from macros/latex/contrib/oberdiek/mleftright.dtx)192
-rw-r--r--macros/latex/contrib/mleftright/mleftright.pdfbin0 -> 309397 bytes
-rw-r--r--macros/latex/contrib/oberdiek/README.txt2
-rw-r--r--macros/latex/contrib/oberdiek/accsupp.dtx80
-rw-r--r--macros/latex/contrib/oberdiek/accsupp.pdfbin154245 -> 327297 bytes
-rw-r--r--macros/latex/contrib/oberdiek/aliascnt.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/aliascnt.pdfbin104685 -> 293168 bytes
-rw-r--r--macros/latex/contrib/oberdiek/alphalph.dtx372
-rw-r--r--macros/latex/contrib/oberdiek/alphalph.pdfbin201033 -> 354229 bytes
-rw-r--r--macros/latex/contrib/oberdiek/askinclude.dtx1061
-rw-r--r--macros/latex/contrib/oberdiek/askinclude.pdfbin269749 -> 593914 bytes
-rw-r--r--macros/latex/contrib/oberdiek/atbegshi.dtx292
-rw-r--r--macros/latex/contrib/oberdiek/atbegshi.pdfbin236243 -> 406524 bytes
-rw-r--r--macros/latex/contrib/oberdiek/atenddvi.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/atenddvi.pdfbin97925 -> 272610 bytes
-rw-r--r--macros/latex/contrib/oberdiek/atveryend.dtx138
-rw-r--r--macros/latex/contrib/oberdiek/atveryend.pdfbin189683 -> 380814 bytes
-rw-r--r--macros/latex/contrib/oberdiek/auxhook.dtx23
-rw-r--r--macros/latex/contrib/oberdiek/auxhook.pdfbin106790 -> 285266 bytes
-rw-r--r--macros/latex/contrib/oberdiek/bigintcalc.dtx952
-rw-r--r--macros/latex/contrib/oberdiek/bigintcalc.pdfbin342809 -> 467906 bytes
-rw-r--r--macros/latex/contrib/oberdiek/bitset.dtx1243
-rw-r--r--macros/latex/contrib/oberdiek/bitset.pdfbin343620 -> 626116 bytes
-rw-r--r--macros/latex/contrib/oberdiek/bmpsize.dtx23
-rw-r--r--macros/latex/contrib/oberdiek/bmpsize.pdfbin327623 -> 497867 bytes
-rw-r--r--macros/latex/contrib/oberdiek/catchfile.dtx326
-rw-r--r--macros/latex/contrib/oberdiek/catchfile.pdfbin144364 -> 298873 bytes
-rw-r--r--macros/latex/contrib/oberdiek/centernot.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/centernot.pdfbin168028 -> 274864 bytes
-rw-r--r--macros/latex/contrib/oberdiek/chemarr.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/chemarr.pdfbin94401 -> 288654 bytes
-rw-r--r--macros/latex/contrib/oberdiek/classlist.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/classlist.pdfbin98835 -> 271621 bytes
-rw-r--r--macros/latex/contrib/oberdiek/colonequals.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/colonequals.pdfbin104527 -> 284627 bytes
-rw-r--r--macros/latex/contrib/oberdiek/dvipscol.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/dvipscol.pdfbin90419 -> 269326 bytes
-rw-r--r--macros/latex/contrib/oberdiek/engord.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/engord.pdfbin133974 -> 318562 bytes
-rw-r--r--macros/latex/contrib/oberdiek/enparen.dtx15
-rw-r--r--macros/latex/contrib/oberdiek/enparen.pdfbin125671 -> 304863 bytes
-rw-r--r--macros/latex/contrib/oberdiek/eolgrab.dtx170
-rw-r--r--macros/latex/contrib/oberdiek/eolgrab.pdfbin136258 -> 316822 bytes
-rw-r--r--macros/latex/contrib/oberdiek/etexcmds.dtx202
-rw-r--r--macros/latex/contrib/oberdiek/etexcmds.pdfbin130187 -> 300241 bytes
-rw-r--r--macros/latex/contrib/oberdiek/fibnum.dtx263
-rw-r--r--macros/latex/contrib/oberdiek/fibnum.pdfbin149649 -> 354313 bytes
-rw-r--r--macros/latex/contrib/oberdiek/flags.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/flags.pdfbin104022 -> 283637 bytes
-rw-r--r--macros/latex/contrib/oberdiek/gettitlestring.dtx176
-rw-r--r--macros/latex/contrib/oberdiek/gettitlestring.pdfbin142781 -> 318743 bytes
-rw-r--r--macros/latex/contrib/oberdiek/grfext.pdfbin148784 -> 0 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hologo.dtx270
-rw-r--r--macros/latex/contrib/oberdiek/hologo.pdfbin393599 -> 567831 bytes
-rw-r--r--macros/latex/contrib/oberdiek/holtxdoc.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/holtxdoc.pdfbin125784 -> 305359 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hopatch.dtx204
-rw-r--r--macros/latex/contrib/oberdiek/hopatch.pdfbin126495 -> 293225 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hycolor.dtx554
-rw-r--r--macros/latex/contrib/oberdiek/hycolor.pdfbin225113 -> 364633 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypbmsec.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/hypbmsec.pdfbin113898 -> 289747 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypcap.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/hypcap.pdfbin111262 -> 284122 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypdestopt.dtx21
-rw-r--r--macros/latex/contrib/oberdiek/hypdestopt.pdfbin131422 -> 317677 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypdoc.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/hypdoc.pdfbin157513 -> 319844 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypgotoe.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/hypgotoe.pdfbin109141 -> 285090 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hyphsubst.dtx173
-rw-r--r--macros/latex/contrib/oberdiek/hyphsubst.pdfbin127615 -> 299858 bytes
-rw-r--r--macros/latex/contrib/oberdiek/ifdraft.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/ifdraft.pdfbin92764 -> 265294 bytes
-rw-r--r--macros/latex/contrib/oberdiek/iflang.dtx343
-rw-r--r--macros/latex/contrib/oberdiek/iflang.pdfbin156604 -> 314990 bytes
-rw-r--r--macros/latex/contrib/oberdiek/infwarerr.pdfbin148243 -> 0 bytes
-rw-r--r--macros/latex/contrib/oberdiek/intcalc.dtx977
-rw-r--r--macros/latex/contrib/oberdiek/intcalc.pdfbin317446 -> 431640 bytes
-rw-r--r--macros/latex/contrib/oberdiek/kvdefinekeys.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/kvdefinekeys.pdfbin117343 -> 295786 bytes
-rw-r--r--macros/latex/contrib/oberdiek/kvsetkeys.dtx462
-rw-r--r--macros/latex/contrib/oberdiek/kvsetkeys.pdfbin219165 -> 375389 bytes
-rw-r--r--macros/latex/contrib/oberdiek/letltxmacro.pdfbin153829 -> 0 bytes
-rw-r--r--macros/latex/contrib/oberdiek/listingsutf8.dtx133
-rw-r--r--macros/latex/contrib/oberdiek/listingsutf8.pdfbin130350 -> 298597 bytes
-rw-r--r--macros/latex/contrib/oberdiek/ltxcmds.dtx879
-rw-r--r--macros/latex/contrib/oberdiek/ltxcmds.pdfbin294529 -> 394188 bytes
-rw-r--r--macros/latex/contrib/oberdiek/mleftright.pdfbin129609 -> 0 bytes
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek-bundle.bib497
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek-source.bib27
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.ins109
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.pdfbin354713 -> 401743 bytes
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.tex243
-rw-r--r--macros/latex/contrib/oberdiek/pagegrid.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/pagegrid.pdfbin143465 -> 311600 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pagesel.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/pagesel.pdfbin125551 -> 312192 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcol.dtx202
-rw-r--r--macros/latex/contrib/oberdiek/pdfcol.pdfbin145886 -> 302693 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolfoot.dtx53
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolfoot.pdfbin114122 -> 294403 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparallel.dtx123
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparallel.pdfbin150158 -> 319986 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx80
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparcolumns.pdfbin136669 -> 308006 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcrypt.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/pdfcrypt.pdfbin146914 -> 311564 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfescape.dtx761
-rw-r--r--macros/latex/contrib/oberdiek/pdfescape.pdfbin239043 -> 346746 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdflscape.dtx241
-rw-r--r--macros/latex/contrib/oberdiek/pdflscape.pdfbin134468 -> 299072 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfrender.dtx310
-rw-r--r--macros/latex/contrib/oberdiek/pdfrender.pdfbin202200 -> 382955 bytes
-rw-r--r--macros/latex/contrib/oberdiek/picture.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/picture.pdfbin116293 -> 295928 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pmboxdraw.dtx139
-rw-r--r--macros/latex/contrib/oberdiek/pmboxdraw.pdfbin494974 -> 638223 bytes
-rw-r--r--macros/latex/contrib/oberdiek/protecteddef.dtx293
-rw-r--r--macros/latex/contrib/oberdiek/protecteddef.pdfbin138533 -> 307773 bytes
-rw-r--r--macros/latex/contrib/oberdiek/refcount.dtx440
-rw-r--r--macros/latex/contrib/oberdiek/refcount.pdfbin177298 -> 326895 bytes
-rw-r--r--macros/latex/contrib/oberdiek/rerunfilecheck.dtx135
-rw-r--r--macros/latex/contrib/oberdiek/rerunfilecheck.pdfbin142195 -> 314659 bytes
-rw-r--r--macros/latex/contrib/oberdiek/resizegather.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/resizegather.pdfbin135129 -> 517568 bytes
-rw-r--r--macros/latex/contrib/oberdiek/rotchiffre.dtx430
-rw-r--r--macros/latex/contrib/oberdiek/rotchiffre.pdfbin161868 -> 317164 bytes
-rw-r--r--macros/latex/contrib/oberdiek/scrindex.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/scrindex.pdfbin112169 -> 283891 bytes
-rw-r--r--macros/latex/contrib/oberdiek/selinput.dtx147
-rw-r--r--macros/latex/contrib/oberdiek/selinput.pdfbin144254 -> 537938 bytes
-rw-r--r--macros/latex/contrib/oberdiek/setouterhbox.dtx172
-rw-r--r--macros/latex/contrib/oberdiek/setouterhbox.pdfbin152471 -> 330129 bytes
-rw-r--r--macros/latex/contrib/oberdiek/settobox.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/settobox.pdfbin121132 -> 293548 bytes
-rw-r--r--macros/latex/contrib/oberdiek/soulutf8.dtx577
-rw-r--r--macros/latex/contrib/oberdiek/soulutf8.pdfbin228320 -> 352081 bytes
-rw-r--r--macros/latex/contrib/oberdiek/stackrel.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/stackrel.pdfbin101395 -> 281746 bytes
-rw-r--r--macros/latex/contrib/oberdiek/stampinclude.dtx23
-rw-r--r--macros/latex/contrib/oberdiek/stampinclude.pdfbin104275 -> 277765 bytes
-rw-r--r--macros/latex/contrib/oberdiek/tabularht.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/tabularht.pdfbin148023 -> 331314 bytes
-rw-r--r--macros/latex/contrib/oberdiek/tabularkv.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/tabularkv.pdfbin89913 -> 254709 bytes
-rw-r--r--macros/latex/contrib/oberdiek/telprint.dtx134
-rw-r--r--macros/latex/contrib/oberdiek/telprint.pdfbin132903 -> 303828 bytes
-rw-r--r--macros/latex/contrib/oberdiek/thepdfnumber.dtx319
-rw-r--r--macros/latex/contrib/oberdiek/thepdfnumber.pdfbin169513 -> 347238 bytes
-rw-r--r--macros/latex/contrib/oberdiek/twoopt.dtx19
-rw-r--r--macros/latex/contrib/oberdiek/twoopt.pdfbin100155 -> 274422 bytes
-rw-r--r--macros/latex/contrib/oberdiek/uniquecounter.dtx311
-rw-r--r--macros/latex/contrib/oberdiek/uniquecounter.pdfbin133466 -> 289988 bytes
-rw-r--r--macros/luatex/generic/barracuda/INSTALL.txt29
-rw-r--r--macros/luatex/generic/barracuda/README.md42
-rw-r--r--macros/luatex/generic/barracuda/TODO.txt92
-rw-r--r--macros/luatex/generic/barracuda/barracuda.pdfbin54826 -> 0 bytes
-rw-r--r--macros/luatex/generic/barracuda/doc/barracuda-ga-asm.pdfbin0 -> 38718 bytes
-rw-r--r--macros/luatex/generic/barracuda/doc/barracuda-ga-asm.tex148
-rw-r--r--macros/luatex/generic/barracuda/doc/barracuda-manual-tool.tex7
-rw-r--r--macros/luatex/generic/barracuda/doc/barracuda.pdfbin0 -> 57452 bytes
-rw-r--r--macros/luatex/generic/barracuda/doc/barracuda.tex331
-rw-r--r--macros/luatex/generic/barracuda/doc/image/8006194056290.pdfbin0 -> 5682 bytes
-rw-r--r--macros/luatex/generic/barracuda/src/barracuda.lua (renamed from macros/luatex/generic/barracuda/lib/barracuda.lua)10
-rw-r--r--macros/luatex/generic/barracuda/src/lib-barcode/brcd-barcode.lua (renamed from macros/luatex/generic/barracuda/lib/lib-barcode/barcode.lua)10
-rw-r--r--macros/luatex/generic/barracuda/src/lib-barcode/brcd-code128.lua (renamed from macros/luatex/generic/barracuda/lib/lib-barcode/code128.lua)0
-rw-r--r--macros/luatex/generic/barracuda/src/lib-barcode/brcd-code39.lua (renamed from macros/luatex/generic/barracuda/lib/lib-barcode/code39.lua)0
-rw-r--r--macros/luatex/generic/barracuda/src/lib-barcode/brcd-ean.lua (renamed from macros/luatex/generic/barracuda/lib/lib-barcode/ean.lua)0
-rw-r--r--macros/luatex/generic/barracuda/src/lib-barcode/brcd-i2of5.lua (renamed from macros/luatex/generic/barracuda/lib/lib-barcode/i2of5.lua)0
-rw-r--r--macros/luatex/generic/barracuda/src/lib-driver/brcd-driver.lua (renamed from macros/luatex/generic/barracuda/lib/lib-driver/driver.lua)7
-rw-r--r--macros/luatex/generic/barracuda/src/lib-driver/brcd-drv-pdfliteral.lua (renamed from macros/luatex/generic/barracuda/lib/lib-driver/drv-pdfliteral.lua)0
-rw-r--r--macros/luatex/generic/barracuda/src/lib-driver/brcd-drv-svg.lua (renamed from macros/luatex/generic/barracuda/lib/lib-driver/drv-svg.lua)0
-rw-r--r--macros/luatex/generic/barracuda/src/lib-geo/brcd-gacanvas.lua (renamed from macros/luatex/generic/barracuda/lib/lib-geo/gacanvas.lua)0
-rw-r--r--macros/luatex/generic/barracuda/src/lib-geo/brcd-libgeo.lua (renamed from macros/luatex/generic/barracuda/lib/lib-geo/libgeo.lua)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-barracuda-package/01-barracuda-latex-test.pdf (renamed from macros/luatex/generic/barracuda/example/01-latex-code39.pdf)bin3621 -> 3621 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-barracuda-package/01-barracuda-latex-test.tex (renamed from macros/luatex/generic/barracuda/example/01-latex-code39.tex)5
-rw-r--r--macros/luatex/generic/barracuda/test/test-code128/001-code128-test.lua (renamed from macros/luatex/generic/barracuda/example/001-code128-test.lua)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-code128/002-code128-test.pdfbin0 -> 22044 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-code128/002-code128-test.tex125
-rw-r--r--macros/luatex/generic/barracuda/test/test-code128/02-05-pdfliteral.txt43
-rw-r--r--macros/luatex/generic/barracuda/test/test-code128/c128-123.svg (renamed from macros/luatex/generic/barracuda/example/c128-123.svg)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/001-code39-test.lua41
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/002-code39-test.pdfbin0 -> 22618 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/002-code39-test.tex120
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/003-code39-test.pdf (renamed from macros/luatex/generic/barracuda/example/003-code39-test.pdf)bin19827 -> 19827 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/003-code39-test.tex (renamed from macros/luatex/generic/barracuda/example/003-code39-test.tex)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/004-code39-test.pdfbin0 -> 15243 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/004-code39-test.tex46
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/005-code39-test.lua8
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/006-code39-test.lua (renamed from macros/luatex/generic/barracuda/example/006-code39-test.lua)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/006-six.svg (renamed from macros/luatex/generic/barracuda/example/006-six.svg)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-code39/my_barcode.svg76
-rw-r--r--macros/luatex/generic/barracuda/test/test-ean/001-13-ean-test.pdf (renamed from macros/luatex/generic/barracuda/example/001-13-ean-test.pdf)bin23619 -> 23619 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-ean/001-13-ean-test.tex (renamed from macros/luatex/generic/barracuda/example/001-13-ean-test.tex)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-ean/002-ean-test.pdfbin0 -> 10601 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-ean/002-ean-test.tex12
-rw-r--r--macros/luatex/generic/barracuda/test/test-ean/003-ean-test.pdf (renamed from macros/luatex/generic/barracuda/example/003-ean-test.pdf)bin3988 -> 3901 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-ean/003-ean-test.tex (renamed from macros/luatex/generic/barracuda/example/003-ean-test.tex)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-ean/004-ean-test.lua (renamed from macros/luatex/generic/barracuda/example/004-ean-test.lua)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-ean/8006194056290.svg (renamed from macros/luatex/generic/barracuda/example/8006194056290.svg)0
-rw-r--r--macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.pdfbin0 -> 30290 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.tex740
-rw-r--r--macros/luatex/generic/barracuda/test/test-ga-svg/001-ga-svg-test.lua28
-rw-r--r--macros/luatex/generic/barracuda/test/test-ga-svg/002-ga-svg-test.lua18
-rw-r--r--macros/luatex/generic/barracuda/test/test-ga-svg/test-01.svg26
-rw-r--r--macros/luatex/generic/barracuda/test/test-ga-svg/test-02.svg17
-rw-r--r--macros/luatex/generic/barracuda/test/test-ga-svg/test-code39.svg76
-rw-r--r--macros/luatex/generic/barracuda/test/test-i2of5/001-i2of5-test.pdf (renamed from macros/luatex/generic/barracuda/example/001-i2of5-test.pdf)bin19127 -> 19127 bytes
-rw-r--r--macros/luatex/generic/barracuda/test/test-i2of5/001-i2of5-test.tex (renamed from macros/luatex/generic/barracuda/example/001-i2of5-test.tex)0
223 files changed, 3156 insertions, 16773 deletions
diff --git a/macros/latex/contrib/babel-contrib/italian/README.txt b/macros/latex/contrib/babel-contrib/italian/README.txt
index 11598a8e32..cc96d0bdf0 100644
--- a/macros/latex/contrib/babel-contrib/italian/README.txt
+++ b/macros/latex/contrib/babel-contrib/italian/README.txt
@@ -1,13 +1,18 @@
-The italian.dtx file has version number 1.4.01 dated 2019-01-05.
+The italian.dtx file has version number 1.4.03 dated 2019-11-16.
It is and update of a series fo files stating with the first one in 1990
Copyright (C) 1990-2019 Claudio Beccari
Maintainer Claudio Beccari
Contact: claudio dot beccari at gmail dot com
+This bundle containes the source file italian.dtx and this README.txt file. By running pdfLaTeX on thei italian.dtx file you obtain bith the documentation italian.pdf and the language description file italian.ldf.
+
Description
-This file contain the necessary and supplementary data for typesetting documents in Italiana with babel as the manager of the language management.
-It defines the infix words, the date in various formats. Optionally lets the user activate a number of shorthands to performe routine frequent tasks by means of the active character " that can be freely activated and deactivated. It defines an intelligent mathematical comma that recognises if it has to perform as a punctuation mark or as a decimal separator. Another user command activates or deactivates some commands to supply a minimum of performance that is fully provided by the siunitx package. The file allows using babel also when a document is typeset with XeLaTeX or LuaLaTeX, even if, according to the author, polyglossia is preferred when typesetting documents in Italian, even if the gloss-italian.ldf for polyglossia provides less facilities than the ones available with babel.
+This file contain the necessary and supplementary data for typesetting documents in Italian with babel as the manager of the language management.
+It defines the infix words, the date in various formats. Optionally lets the user activate a number of shorthands to performe routine frequent tasks by means of the active character " that can be freely activated and deactivated.
+It defines an intelligent mathematical comma that recognises if it has to perform as a punctuation mark or as a decimal separator. Another user command activates or deactivates some commands to supply a minimum of the performance that is fully provided by the siunitx package. The file allows using babel also when a document is typeset with XeLaTeX or LuaLaTeX, even if, according to the author, polyglossia is preferred when typesetting documents in Italian, in spite of the fact that gloss-italian.ldf for polyglossia provides less facilities than the ones available with babel.
+Supposedly since version 1.4.03 this file should be usable also with babel+uplatex
The documentation that is provided by running LaTeX on the italian.dtx file provides full documentation of every facility provided by the italian.ldf file.
+The documentation contains the licence clauses.
diff --git a/macros/latex/contrib/babel-contrib/italian/italian.dtx b/macros/latex/contrib/babel-contrib/italian/italian.dtx
index a7a234fea1..6d5a088d6b 100644
--- a/macros/latex/contrib/babel-contrib/italian/italian.dtx
+++ b/macros/latex/contrib/babel-contrib/italian/italian.dtx
@@ -60,7 +60,7 @@ This file is a self unpacking one.
%</driver>
%<code>\ProvidesLanguage{italian}
%<*code>
- [2019/01/05 v.1.4.01 Italian support for the babel system]
+ [2019/11/16 v.1.4.03 Italian support for the babel system]
%</code>
%%
%% Please report errors to: claudio dot beccari at gmail dot com
@@ -99,7 +99,7 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
%</driver>
%\fi
%
-% \CheckSum{755}
+% \CheckSum{753}
%
% \changes{italian-0.99}{1990/07/11}{First version, from english.doc}
% \changes{italian-1.0}{1991/04/23}{Modified for babel 3.0}
@@ -217,127 +217,130 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% \end{table}
%
% The features of this language definition file are the following:
-% \begin{enumerate}
-% \item The Italian hyphenation is invoked, provided that the Italian
-% hyphenation pattern files were loaded when the specific format file
-% was built.
-% \item The language dependent infix words to be inserted by such
-% commands as |\chapter|, |\caption|, |\tableofcontents|,
-% etc. are redefined in accordance with the Italian
-% typographical practice.
-% \item Since Italian can be easily hyphenated and Italian practice
-% allows to break a word before the last two letters, hyphenation
-% parameters have been set accordingly, but a very high demerit
-% value has been set in order to avoid word breaks in the
-% penultimate line of a paragraph. Specifically the |\clubpenalty|,
-% and the |\widowpenalty| are set to rather high values and
-% |\finalhyphendemerits| is set to such a high value that
-% hyphenation is strongly discouraged between the last two lines
-% of a paragraph.
+% \begin{enumerate}
+% \item The Italian hyphenation is invoked, provided that the Italian
+% hyphenation pattern files were loaded when the specific format file
+% was built.
+% \item The language dependent infix words to be inserted by such
+% commands as |\chapter|, |\caption|, |\tableofcontents|,
+% etc. are redefined in accordance with the Italian
+% typographical practice.
+% \item Since Italian can be easily hyphenated and Italian practice
+% allows to break a word before the last two letters, hyphenation
+% parameters have been set accordingly, but a very high demerit
+% value has been set in order to avoid word breaks in the
+% penultimate line of a paragraph. Specifically the |\clubpenalty|,
+% and the |\widowpenalty| are set to rather high values and
+% |\finalhyphendemerits| is set to such a high value that
+% hyphenation is strongly discouraged between the last two lines
+% of a paragraph.
%^^A
%^^A Qui ci si potrebbero mettere le indicazioni per gli attributi e modificatori
%^^A
-% \item Some language specific shorthands have been defined so as to
-% allow etymological hyphenation, specifically |"| inserts a
-% break point at any word boundary that the typesetter chooses,
-% provided it is not followed by an accented letter (very unlikely
-% in Italian, where compulsory accents fall only on the last and
-% ending vowel of a word, but it may take place with compound words
-% that include foreign roots), and \verb="|= when the desired break
-% point falls before an accented letter. As you can read in
-% table~\ref{t:itshrtct}, these shorthands are available only if
-% they get activated with |\setactivedoublequote| after
-% loading \babel\ but before the |\begin{docuemnt}| statement. This
-% is done in order to preserve the user from package conflicts:
-% if s/he wants to use these facilities s/he must remember that
-% conflicts may arise unless active characters are deactivated;
-% this can be done with the \babel\ command |\shorthadsoff{"}|
-% (and reactivated with |\shorthandson{"}|) when its wise to do
-% so; conflicts have been reported with package \file{xypic} and
-% with \texttt{TikZ}, but the latter has its own library to
-% deactivate all active characters, not just the double quotes,
-% the only Italian language possibly activated character.
-% \item Some Italian compound words have a connecting short dash (a
-% hyphen sign) between them without any space between the component
-% words and the short dash; in this situation standard \LaTeX\ allows
-% a line break only just after the short dash; this may lead to
-% paragraphs with protruding lines or with ugly looking wide inter
-% word spaces. If a break point is desired in the second word, one
-% may use a |"| sign just after the short dash; but if a line break
-% is required in the first word, them the |"-| shorthand comes in handy;
-% pay attention though, that if you use an en-dash or an em-dash (both
-% should not be used in Italian as compound words connectors, but\dots)
-% then the |"-| shorthand might impeach the |--| or |---| ligatures, thus
-% producing an unacceptable appearance.
-% \item The shorthand |""| introduces the raised (English) opening
-% double quotes; this shorthand proves its usefulness when one
-% reminds that the Italian keyboard misses the backtick key, and
-% the backtick on a Windows based platform may be obtained only by
-% pressing the \texttt{Alt} key while keying the numerical code
-% 0096 in the numeric keypad; very, very annoying!
-% \item The shorthands |"<| and |">| insert the guillemets sometimes
-% used also in Italian typography; with the T1 font encoding
-% the ligatures |<<| and |>>| should insert such signs directly,
-% but not all the virtual fonts that claim to follow the T1 font
-% encoding actually contain the guillemets; with the OT1 encoding
-% the guillemets are not available and must be faked in some
-% way. By using the |"<| and |">| shorthands (even with the T1
-% encoding) the necessary tests are performed and in case the
-% guillemets are faked by means of the special LaTeX math symbols.
-% At the same time if OpenType fonts are being used with XeLaTeX
-% or LuaLaTeX, there are no problems with guillemets.
-% \item Three new specific commands |\unit|, |\ped|, and |\ap| are
-% introduced so as to enable the correct composition of technical
-% mathematics according to the ISO~31/XI recommendations.
-% The definition of |\unit| takes place only at ``begin document''
-% so that it is possible to verify if some other similar functionalities
-% have already been defined by other packages, such as |units.sty|
-% or |siunitx.sty|. In particular command |\unit| is deactivated by
-% default; the user can activate it by entering the command
-% |\setISOcompliance| after loading the \babel\ package and before the
-% |\begin{document}| statement. The above checks will enter into
-% action even if this ISO compliance is set, in order to avoid conflicts
-% with the above named packages. The |\ap| and |\ped| commands remain
-% available because up to now no specific conflicts have been reported.
-% \item Since in all languages different from English the decimal separator
-% according to the ISO regulations \emph{must} be a comma\footnote{Actually
-% the Bureau International des Pois et M\'esures allows also the point
-% as a decimal separator without mentioning any language, but recommends
-% to follow the national typographical traditions}; since
-% no language description file nor the \babel\ package itself provides
-% for this functionality, a not so simple intelligent comma definition is
-% provided such that at least in mathematics it behaves correctly.
-% There are other packages that provide a similar functionality, for
-% example |icomma| and |ncccomma|; |icomma|, apparently is not in conflict
-% with |dcolomn|, but requires a space after the comma all the times it
-% plays the r\^ole of a punctuation mark; |ncccomma|, checks if the next
-% token is a digit, but it repeated ten tests every time it meets a comma,
-% irrespective from what it is followed by. I believe that my solution
-% is better than that provided by both those packages; but I assume that
-% if the user loads on of those packages, it prefers to use that
-% functionality; In case one of those pachages is loaded, this module
-% excludes its intelligent comma functionality.
-% By default this functionality is turned \emph{off}, therefore the user
-% should turn it on by means of the |\IntelligentComma| command; it can
-% turn it off by means of |\NoIntelligentComma|. Please, read
-% subsection~\ref{ssec:comma} to see the various situations where a
-% mathematical comma may be used and how to overcome the few cases when
-% the macros of this file don't behave as expected. The section describes
-% also some limitations when some cong=flicting packages are being loaded.
-% \item In Italian legal documents it is common to tag list-items
-% with the old fashioned 21-letter Italian alphabet, that differs from
-% the Latin one by the omission of the letters `j', `k', `w',`x', and
-% `y'. This applies for both upper and lower case tags.
-% This feature is obtained by using the commands |\XXIletters| and
-% |\XXVIletters| that allow to switch back and forth
-% between 21- and 26-letter tagging.
-% \end{enumerate}
-%
-% For this language a few shorthands have been defined,
-% table~\ref{t:itshrtct}, some of which are introduced to overcome
-% certain limitations of the Italian keyboard; in
-% section~\ref{s:itkbd} there are other comments and hints in order
-% to overcome some other keyboard limitations.
+% \item Some language specific shorthands have been defined so as to
+% allow etymological hyphenation, specifically |"| inserts a
+% break point at any word boundary that the typesetter chooses,
+% provided it is not followed by an accented letter (very unlikely
+% in Italian, where compulsory accents fall only on the last and
+% ending vowel of a word, but it may take place with compound words
+% that include foreign roots), and \verb="|= when the desired break
+% point falls before an accented letter. As you can read in
+% table~\ref{t:itshrtct}, these shorthands are available only if
+% they get activated with |\setactivedoublequote| after
+% loading \babel\ but before the |\begin{docuemnt}| statement. This
+% is done in order to preserve the user from package conflicts:
+% if s/he wants to use these facilities s/he must remember that
+% conflicts may arise unless active characters are deactivated;
+% this can be done with the \babel\ command |\shorthadsoff{"}|
+% (and reactivated with |\shorthandson{"}|) when its wise to do
+% so; conflicts have been reported with package \file{xypic} and
+% with \texttt{TikZ}, but the latter has its own library to
+% deactivate all active characters, not just the double quotes,
+% the only Italian language possibly activated character.
+% \item Some Italian compound words have a connecting short dash (a
+% hyphen sign) between them without any space between the component
+% words and the short dash; in this situation standard \LaTeX\ allows
+% a line break only just after the short dash; this may lead to
+% paragraphs with protruding lines or with ugly looking wide inter
+% word spaces. If a break point is desired in the second word, one
+% may use a |"| sign just after the short dash; but if a line break
+% is required in the first word, them the |"-| shorthand comes in
+% handy; pay attention though, that if you use an en-dash or an
+% em-dash (both should not be used in Italian as compound words
+% connectors, but\dots) then the |"-| shorthand might impeach the |--|
+% or |---| ligatures, thus producing an unacceptable appearance.
+% \item The shorthand |""| introduces the raised (English) opening
+% double quotes; this shorthand proves its usefulness when one
+% reminds that the Italian keyboard misses the back tick key, and
+% the back tick on a Windows based platform may be obtained only by
+% pressing the \texttt{Alt} key while keying the numerical code
+% 0096 in the numeric keypad; very, very annoying!
+% \item The shorthands |"<| and |">| insert the guillemets sometimes
+% used also in Italian typography; with the T1 font encoding
+% the ligatures |<<| and |>>| should insert such signs directly,
+% but not all the virtual fonts that claim to follow the T1 font
+% encoding actually contain the guillemets; with the OT1 encoding
+% the guillemets are not available and must be faked in some
+% way. By using the |"<| and |">| shorthands (even with the T1
+% encoding) the necessary tests are performed and in case the
+% guillemets are faked by means of the special LaTeX math symbols.
+% At the same time if OpenType fonts are being used with XeLaTeX
+% or LuaLaTeX, there are no problems with guillemets.
+% \item Three new specific commands |\unit|, |\ped|, and |\ap| are
+% introduced so as to enable the correct composition of technical
+% mathematics according to the ISO~31/XI recommendations.
+% The definition of |\unit| takes place only at ``begin document''
+% so that it is possible to verify if some other similar
+% functionalities have already been defined by other packages, such
+% as |units.sty| or |siunitx.sty|. In particular command |\unit| is
+% deactivated by default; the user can activate it by entering the
+% command |\setISOcompliance| after loading the \babel\ package and
+% before the |\begin{document}| statement. The above checks will enter
+% into action even if this ISO compliance is set, in order to avoid
+% conflicts with the above named packages. The |\ap| and |\ped|
+% commands remain available because up to now no specific conflicts
+% have been reported.
+% \item Since in all languages different from English the decimal
+% separator according to the ISO regulations \emph{must} be a
+% comma\footnote{Actually the Bureau International des Pois et
+% M\'esures allows also the point as a decimal separator without
+% mentioning any language, but recommends to follow the national
+% typographical traditions.}; since no language description file nor
+% the \babel\ package itself provides for this functionality, a not so
+% simple intelligent comma definition is provided such that at least
+% in mathematics it behaves correctly.
+% There are other packages that provide a similar functionality, for
+% example |icomma| and |ncccomma|; |icomma|, apparently is not in
+% conflict with |dcolomn|, but requires a space after the comma all
+% the times it plays the r\^ole of a punctuation mark; |ncccomma|,
+% checks if the next token is a digit, but it repeats ten tests every
+% time it meets a comma, irrespective from what it is followed by.
+% I believe that my solution is better than that provided by both
+% those packages; but I assume that if the user loads one of those
+% packages, it prefers to use their functionality; in case one of those
+% packages is loaded, this module excludes its intelligent comma
+% functionality. By default this functionality is turned \emph{off},
+% therefore the user should turn it on by means of the
+% |\IntelligentComma| command; it can turn it off by means of
+% |\NoIntelligentComma|. Please, read subsection~\ref{ssec:comma} to
+% see the various situations where a mathematical comma may be used
+% and how to overcome the few cases when the macros of this file don't
+% behave as expected. The section describes also some limitations when
+% some conflicting packages are being loaded.
+% \item In Italian legal documents it is common to tag list-items
+% with the old fashioned 21-letter Italian alphabet, that differs from
+% the Latin one by the omission of the letters `j', `k', `w',`x', and
+% `y'. This applies for both upper and lower case tags.
+% This feature is obtained by using the commands |\XXIletters| and
+% |\XXVIletters| that allow to switch back and forth
+% between 21- and 26-letter tagging.
+% \end{enumerate}
+%
+% For this language a few shorthands have been defined,
+% table~\ref{t:itshrtct}, some of which are introduced to overcome
+% certain limitations of the Italian keyboard; in
+% section~\ref{s:itkbd} there are other comments and hints in order
+% to overcome some other keyboard limitations.
%
% \subsection*{Acknowlegements}
% It is my pleasure to acknowledge the contributions of Giovanni Dore,
@@ -359,7 +362,7 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
%
% \StopEventually{}%
%
-%\subsection{The commented code}
+%\section{The commented code}
% The macro |\LdfInit| takes care of preventing that this file is
% loaded more than once, checking the category code of the
% \texttt{@} sign, etc.
@@ -494,47 +497,64 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% \changes{italian-1.2l}{1999/04/5}{Changed example ``begl'italiani''
% (obsolete spelling) with another, ``nell'altezza'', that behaves
% the same way}
+% \changes{italian 1.4.01}{2019-01-05}{Set the lccode of the apostrophe
+% that should be valid for both the pdflatex and the OpentType aware
+% typesetting engines xelatelx and lualatex.}
+% \changes{italian 1.4.03}{2019-11-16}{Adjust the lccode for the
+% apostrophe so as to work also with platex and uplatex. Thanks to
+% Hironobu Yamashita <h.y.acetaminophen@gmail.com> who spottes the
+% error and suggested the correction.}
+%
% In order to enable the hyphenation of words such as
% ``nell'altezza'' we give the \texttt{'} a non-zero lower case
-% code. When we do that \TeX\ finds the following hyphenation
+% code. When we do that, \TeX\ finds the following hyphenation
% points |nel-l'al-tez-za| instead of none. If this |italian.ldf| is
-% (improperly) used with |babel| when typesetting with |xelatex| or
+% used with |babel| when typesetting with |xelatex| or
% |lualatex| the apostrophe must receive a unicode code point.
-% Therefore we use the same test that is being used by the |iftex|
-% package in order to check if this option to |babel| is used while
-% typesetting with |pdflatex| or another typesetting engine.
+% Therefore we use a special test that was suggested by Hironobu
+% Yamashita\footnote{Thanks to Hironobu Yamashita
+% <h.y.acetaminophen@gmail.com>} if this |babel| language option
+% is used while using either |pdflatex| or a Unicode aware
+% typesetting engine.
% \begin{macrocode}
\addto\extrasitalian{%
-\lccode\string`'=`' \unless\ifcsname pdfmatch\endcsname
+\lccode\string`'=`' \ifcsname Umathcode\endcsname
\lccode\string"2019=\string"2019\fi}
\addto\noextrasitalian{%
-\lccode\string`'=0 \unless\ifcsname pdfmatch\endcsname
+\lccode\string`'=0 \ifcsname Umathcode\endcsname
\lccode\string"2019=0\fi}
% \end{macrocode}
-% Notice, though, that if you use |babel| when typesetting with |lualatex| or |xelatex| using the |fontspec| usual commands and options may not lead to their proper font alternative variants being used. Apparently the |\balefont| command is more performant in transmitting the proper information to |fontspec|. Of course |\babelfont| must be used after the |babel| package has been invoked; while there appears to be any loading precedence requirements when |fontspec| and |polyglossa| are used
+% Notice, though, that if you use |babel| when typesetting with |lualatex|
+% or |xelatex| using the |fontspec| usual commands and options may not
+% lead to their proper font alternative variants being used. Apparently
+% the |\babelfont| command is more performant in transmitting the proper
+% information to |fontspec|. Of course |\babelfont| must be used after the
+% |babel| package has been invoked; while there appears to be any loading
+% precedence requirements when |fontspec| and |polyglossia| are used
% \end{macro}
% \end{macro}
%
% \subsection{Traditionally labelled enumerate environment}
% \changes{italian-1.2v}{2010/01/02}{Support for traditional Italian}
-% In some traditional texts, especially of legal nature, enumerations labelled
-% with lower or upper case letters use the reduced Latin alphabet that omits
-% the so called ``non Italian letters'': j, k, w, x, and y.
-%
-% \changes{italian-1.2w}{2011/01/03}{Added switching mechanism between normal
-% and traditional enumeration labelling}
-% \changes{italian-1.3}{2013/09/27}{The |traditional| language attribute has
-% been dropped while the commands to switch back and forth from 21- to
-% 26-letter alphabet are retained}
+% In some traditional texts, especially of legal nature, enumerations
+% labelled with lower or upper case letters use the reduced Latin
+% alphabet that omits the so called ``non Italian letters'': j, k, w,
+% x, and y.
+%
+% \changes{italian-1.2w}{2011/01/03}{Added switching mechanism between
+% normal and traditional enumeration labelling}
+% \changes{italian-1.3}{2013/09/27}{The |traditional| language attribute
+% has been dropped while the commands to switch back and forth from
+% 21- to 26-letter alphabet are retained}
% \begin{macro}{\XXIletters}
% \begin{macro}{\XXVIletters}
% At the same time it is considered useful to have the possibility of
-% switching back and forth from the 21-letter tagging and the 26-letter one.
-% This requires a counter that keeps the switching status (0 for 21 letters
-% and 1 for 26 letters) and commands |\XXIletters| and |\XXVIletters|
-% to set the switch. Default is 26 letter tagging.
+% switching back and forth from the 21-letter tagging and the 26-letter
+% one. This requires a counter that keeps the switching status (0 for 21
+% letters and 1 for 26 letters) and commands |\XXIletters| and
+% |\XXVIletters| to set the switch. Default is 26 letter tagging.
% \begin{macrocode}
\newcount\it@lettering \it@lettering=\@ne
\newcommand*\XXIletters{\it@lettering=\z@}
@@ -546,8 +566,8 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% \end{macrocode}
% \end{macro}
% \end{macro}
-% To make this feasible it's necessary to redefine the way the \LaTeX\ |\@alph|
-% and |\@Alph| work. Let's make the alternate definitions:
+% To make this feasible it's necessary to redefine the way the \LaTeX\
+% |\@alph| and |\@Alph| work. Let's make the alternate definitions:
% \begin{macrocode}
\def\it@alph#1{%
\ifcase\it@lettering
@@ -572,31 +592,32 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% \end{macrocode}
%
% In order to have a complete description, the situation is as such:
-% \begin{enumerate}
-% \item If you want to always use the 21-letter item tagging, simply
-% use the |\XXIletters| declaration just after |\begin{document}|
-% and this setting remains global (provided, of course, that the
-% declaration is defined, i.e. that the Italian language is the
-% default one); in this way the setting is global while you use
-% the Italian language.
-% \item The |XXVIletter| command, issued outside any environment sets
-% the 26-letter item tagging in a global way; this setting is the default one.
-% \item If you specify |\XXIletters| just before entering an
-% environment that uses alphabetic tagging, this environment will
-% be tagged with the 21-letter alphabet, but this is a local setting,
-% because the letter tagging takes place only from the second level
-% of enumeration.
-% \item The declarations |\XXIletters| and |\XXVIletters| let you
-% switch back and forth between the two kinds of tagging, But this
-% kind of tagging, the 21-letter one, is meaningful only in Italian
-% and when you change language, letter tagging reverts to the 26-letter
-% one.
-% \end{enumerate}
+% \begin{enumerate}
+% \item If you want to always use the 21-letter item tagging, simply
+% use the |\XXIletters| declaration just after |\begin{document}|
+% and this setting remains global (provided, of course, that the
+% declaration is defined, i.e. that the Italian language is the
+% default one); in this way the setting is global while you use
+% the Italian language.
+% \item The |XXVIletter| command, issued outside any environment sets
+% the 26-letter item tagging in a global way; this setting is the
+% default one.
+% \item If you specify |\XXIletters| just before entering an
+% environment that uses alphabetic tagging, this environment will
+% be tagged with the 21-letter alphabet, but this is a local setting,
+% because the letter tagging takes place only from the second level
+% of enumeration.
+% \item The declarations |\XXIletters| and |\XXVIletters| let you
+% switch back and forth between the two kinds of tagging, But this
+% kind of tagging, the 21-letter one, is meaningful only in Italian
+% and when you change language, letter tagging reverts to the
+% 26-letter one.
+% \end{enumerate}
%
% \changes{italian-1.2m}{2000/01/05}{Support for etymological
% hyphenation}
%
-% \subsection{Support for etymological hyphenation}
+% \subsection{Support for etymological hyphenation}
% In Italian etymological hyphenation is desirable with
% technical terms, chemical names, and the like.
@@ -663,10 +684,10 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% \changes{italian-1.3g}{2014/01/22}{The active double straight
% quote conflicts with other packages; set as an optional facility.}
% Instead of a boolean switch we use a private counter so as to check
-% at |\begin{document}| if this facility has to be activated. The default
-% value is zero; anything different from zero means that the facility
-% has to be activated; this is done with command |\setactivedoublequote|
-% to be issued before |\begin{document}|
+% at |\begin{document}| if this facility has to be activated. The
+% default value is zero; anything different from zero means that the
+% facility has to be activated; this is done with command
+% |\setactivedoublequote| to be issued before |\begin{document}|
%
% \begin{macrocode}
\newcount\it@doublequoteactive \it@doublequoteactive=\z@
diff --git a/macros/latex/contrib/babel-contrib/italian/italian.pdf b/macros/latex/contrib/babel-contrib/italian/italian.pdf
index ecb435c1f3..7f0838f365 100644
--- a/macros/latex/contrib/babel-contrib/italian/italian.pdf
+++ b/macros/latex/contrib/babel-contrib/italian/italian.pdf
Binary files differ
diff --git a/macros/latex/contrib/grfext/README.md b/macros/latex/contrib/grfext/README.md
new file mode 100644
index 0000000000..647f723b09
--- /dev/null
+++ b/macros/latex/contrib/grfext/README.md
@@ -0,0 +1,7 @@
+# grfext
+
+grfext package for LaTeX
+
+
+This package provides macros for adding and reordering
+graphics extensions of the graphics package.
diff --git a/macros/latex/contrib/oberdiek/grfext.dtx b/macros/latex/contrib/grfext/grfext.dtx
index b52dee6151..3dcab07ef6 100644
--- a/macros/latex/contrib/oberdiek/grfext.dtx
+++ b/macros/latex/contrib/grfext/grfext.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
%
% File: grfext.dtx
-% Version: 2016/05/16 v1.2
+% Version: 2019/12/03 v1.3
% Info: Manage graphics extensions
%
% Copyright (C)
% 2007, 2010 Heiko Oberdiek
% 2016-2019 Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/grfext/issues
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -23,16 +23,15 @@
%
% The Current Maintainers of this work are
% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/grfext/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.
+% grfext.sty, grfext.pdf, grfext.ins, grfext.drv,
%
% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/grfext.dtx
-% CTAN:macros/latex/contrib/oberdiek/grfext.pdf
+% CTAN:macros/latex/contrib/grfext/grfext.dtx
+% CTAN:macros/latex/contrib/grfext/grfext.pdf
%
% Unpacking:
% (a) If grfext.ins is present:
@@ -61,11 +60,9 @@
% 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
+% TDS:tex/latex/grfext/grfext.sty
+% TDS:doc/latex/grfext/grfext.pdf
+% TDS:source/latex/grfext/grfext.dtx
%
%<*ignore>
\begingroup
@@ -82,7 +79,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)}
+\Msg{* Package: grfext 2019/12/03 v1.3 Manage graphics extensions (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -94,7 +91,7 @@
This is a generated file.
Project: grfext
-Version: 2016/05/16 v1.2
+Version: 2019/12/03 v1.3
Copyright (C)
2007, 2010 Heiko Oberdiek
@@ -114,13 +111,12 @@ 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
+https://github.com/ho-tex/grfext/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.
+ grfext.sty, grfext.pdf, grfext.ins, grfext.drv.
\endpreamble
\let\MetaPrefix\DoubleperCent
@@ -128,15 +124,11 @@ and the derived files
\generate{%
\file{grfext.ins}{\from{grfext.dtx}{install}}%
\file{grfext.drv}{\from{grfext.dtx}{driver}}%
- \usedir{tex/latex/oberdiek}%
+ \usedir{tex/latex/grfext}%
\file{grfext.sty}{\from{grfext.dtx}{package}}%
-% \usedir{doc/latex/oberdiek/test}%
+% \usedir{doc/latex/grfext/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
@@ -163,7 +155,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{grfext.drv}%
- [2016/05/16 v1.2 Manage graphics extensions (HO)]%
+ [2019/12/03 v1.3 Manage graphics extensions (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -173,28 +165,13 @@ 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{grfext.drv}
%
% \title{The \xpackage{grfext} package}
-% \date{2016/05/16 v1.2}
+% \date{2019/12/03 v1.3}
% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
+% {Please report any issues at \url{https://github.com/ho-tex/grfext/issues}}}
%
% \maketitle
%
@@ -390,7 +367,7 @@ and the derived files
\fi
\expandafter\x\csname ver@grfext.sty\endcsname
\ProvidesPackage{grfext}%
- [2016/05/16 v1.2 Manage graphics extensions (HO)]%
+ [2019/12/03 v1.3 Manage graphics extensions (HO)]%
% \end{macrocode}
%
% \subsection{Catcodes}
@@ -645,299 +622,6 @@ and the derived files
\grfext@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% Load \xfile{miniltx} for standard catcode test.
-% \begin{macrocode}
-%<*test1>
-\input miniltx.tex\relax
-\resetatcatcode
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input grfext.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\usepackage[pdftex]{graphics}
-\usepackage{grfext}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-% \end{macrocode}
-%
-% \subsubsection{Detection of unwanted space}
-%
-% \begin{macrocode}
-\let\orig@qstest\qstest
-\let\orig@endqstest\endqstest
-\def\qstest#1#2{%
- \orig@qstest{#1}{#2}%
- \setbox0\hbox\bgroup\begingroup\ignorespaces
-}
-\def\endqstest{%
- \endgroup\egroup
- \Expect*{\the\wd0}{0.0pt}%
- \orig@endqstest
-}
-% \end{macrocode}
-%
-% \subsubsection{Generic test macros}
-%
-% \begin{macrocode}
-\def\Test{\@ifnextchar\bgroup\TestInitList\TestInitCmd}%
-\def\TestInitList#1{%
- \def\Gin@extensions{#1}%
- \@Test
-}
-\def\TestInitCmd#1{%
- \let\Gin@extensions#1\relax
- \@Test
-}
-\def\@Test#1#2{%
- \TestCmd{#1}%
- \expandafter\Expect\expandafter*{\Gin@extensions}{#2}%
-}
-% \end{macrocode}
-%
-% \subsubsection{Test for \cs{AppendGraphicsExtensions}}
-%
-% \begin{macrocode}
-\begin{qstest}{AppendGraphicsExtensions}{AppendGraphicsExtensions}
- \let\TestCmd\AppendGraphicsExtensions
- \Test\@undefined{.test}{.test}%
- \Test\relax{.test}{.test}%
- \Test{}{.test}{.test}%
- \Test{.foo}{.test}{.foo,.test}%
- \Test{.foo,.bar}{.test}{.foo,.bar,.test}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.foo,.test}%
- \Test{.test,.foo}{.test}{.foo,.test}%
- \Test{.foo,.test,.bar}{.test}{.foo,.bar,.test}%
- \Test{.foo}{.test,.bar}{.foo,.test,.bar}%
- \Test{.foo}{.test,.foo}{.test,.foo}%
- \Test{.foo}{ .test ,.bar , .x, .y }{.foo,.test,.bar,.x,.y}%
- \def\TestCmd{\AppendGraphicsExtensions*}%
- \Test\@undefined{.test}{}%
- \Test\relax{.test}{}%
- \Test{}{.test}{}%
- \Test{.test}{.test}{.test}%
- \Test{.foo}{.test}{.foo}%
- \Test{.foo,.bar}{.test}{.foo,.bar}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.foo,.test}%
- \Test{.test,.foo}{.test}{.test,.foo}%
- \Test{.foo,.test,.bar}{.test}{.foo,.test,.bar}%
- \Test{.foo}{.test,.bar}{.foo}%
- \Test{.foo}{.test,.foo}{.foo}%
- \DeclareGraphicsRule{.test}{test}{.test}{}%
- \Test\@undefined{.test}{.test}%
- \Test\relax{.test}{.test}%
- \Test{}{.test}{.test}%
- \Test{.foo}{.test}{.foo,.test}%
- \Test{.foo,.bar}{.test}{.foo,.bar,.test}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.foo,.test}%
- \Test{.test,.foo}{.test}{.foo,.test}%
- \Test{.foo,.test,.bar}{.test}{.foo,.bar,.test}%
- \Test{.foo}{.test,.bar}{.foo,.test}%
- \Test{.foo}{.test,.foo}{.foo,.test}%
- \DeclareGraphicsRule{.bar}{bar}{.bar}{}%
- \Test{.foo}{.test,.bar}{.foo,.test,.bar}%
- \Test{.bar}{.test,.bar}{.test,.bar}%
- \Test{.bar}{.bar,.test}{.bar,.test}%
-\end{qstest}
-% \end{macrocode}
-%
-% \subsubsection{Test for \cs{PrependGraphicsExtensions}}
-%
-% \begin{macrocode}
-\begin{qstest}{PrependGraphicsExtensions}{PrependGraphicsExtensions}
- \let\TestCmd\PrependGraphicsExtensions
- \Test\@undefined{.test}{.test}%
- \Test\relax{.test}{.test}%
- \Test{}{.test}{.test}%
- \Test{.foo}{.test}{.test,.foo}%
- \Test{.foo,.bar}{.test}{.test,.foo,.bar}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.test,.foo}%
- \Test{.test,.foo}{.test}{.test,.foo}%
- \Test{.foo,.test,.bar}{.test}{.test,.foo,.bar}%
- \Test{.foo}{.test,.bar}{.test,.bar,.foo}%
- \Test{.foo}{.test,.foo}{.test,.foo}%
- \Test{.foo}{ .test ,.bar , .x, .y }{.test,.bar,.x,.y,.foo}%
- \def\TestCmd{\PrependGraphicsExtensions*}%
- \Test\@undefined{.test}{}%
- \Test\relax{.test}{}%
- \Test{}{.test}{}%
- \Test{.test}{.test}{.test}%
- \Test{.foo}{.test}{.foo}%
- \Test{.foo,.bar}{.test}{.foo,.bar}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.foo,.test}%
- \Test{.test,.foo}{.test}{.test,.foo}%
- \Test{.foo,.test,.bar}{.test}{.foo,.test,.bar}%
- \DeclareGraphicsRule{.test}{test}{.test}{}%
- \Test\@undefined{.test}{.test}%
- \Test\relax{.test}{.test}%
- \Test{}{.test}{.test}%
- \Test{.foo}{.test}{.test,.foo}%
- \Test{.foo,.bar}{.test}{.test,.foo,.bar}%
- \Test{.test}{.test}{.test}%
- \Test{.foo,.test}{.test}{.test,.foo}%
- \Test{.test,.foo}{.test}{.test,.foo}%
- \Test{.foo,.test,.bar}{.test}{.test,.foo,.bar}%
- \Test{.foo}{.test,.bar}{.test,.foo}%
- \Test{.foo}{.test,.foo}{.test,.foo}%
- \DeclareGraphicsRule{.bar}{bar}{.bar}{}%
- \Test{.foo}{.test,.bar}{.test,.bar,.foo}%
- \Test{.bar}{.test,.bar}{.test,.bar}%
- \Test{.bar}{.bar,.test}{.bar,.test}%
-\end{qstest}
-% \end{macrocode}
-%
-% \subsubsection{Test for \cs{RemoveGraphicsExtensions}}
-%
-% \begin{macrocode}
-\begin{qstest}{RemoveGraphicsExtensions}{RemoveGraphicsExtensions}
- \let\TestCmd\RemoveGraphicsExtensions
- \Test\@undefined{.test}{}%
- \Test\relax{.test}{}%
- \Test{}{.test}{}%
- \Test{.foo}{.test}{.foo}%
- \Test{.foo,.bar}{.test}{.foo,.bar}%
- \Test{.test}{.test}{}%
- \Test{.foo,.test}{.test}{.foo}%
- \Test{.test,.foo}{.test}{.foo}%
- \Test{.foo,.test,.bar}{.test}{.foo,.bar}%
- \Test{.test,.test}{.test}{}%
- \Test{.foo,.test,.bar,.test,.test,.bar}{.test}{.foo,.bar,.bar}%
- \Test{.foo,.test,.bar,.foo,.test,.bar}{.test,.bar}{.foo,.foo}%
- \Test{.foo,.test,.bar,.foo,.test,.bar}{ .test , .bar }{.foo,.foo}%
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -945,17 +629,17 @@ and the derived files
% \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.
+% \item[\CTAN{macros/latex/contrib/grfext/grfext.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/grfext/grfext.pdf}] Documentation.
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
+% \paragraph{Bundle.} All the packages of the bundle `grfext'
% 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}]
+% \item[\CTANinstall{install/macros/latex/contrib/grfext.tds.zip}]
% \end{description}
% \emph{TDS} refers to the standard ``A Directory Structure
% for \TeX\ Files'' (\CTANpkg{tds}). Directories
@@ -963,11 +647,11 @@ and the derived files
%
% \subsection{Bundle installation}
%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
+% \paragraph{Unpacking.} Unpack the \xfile{grfext.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|
+% |unzip grfext.tds.zip -d ~/texmf|
% \end{quote}
%
% \subsection{Package installation}
@@ -985,11 +669,9 @@ and the derived files
% \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\\
+% grfext.sty & tex/latex/grfext/grfext.sty\\
+% grfext.pdf & doc/latex/grfext/grfext.pdf\\
+% grfext.dtx & source/latex/grfext/grfext.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
@@ -1122,6 +804,10 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2019/12/03 v1.3}
+% \item
+% Documentation updates.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/grfext/grfext.pdf b/macros/latex/contrib/grfext/grfext.pdf
new file mode 100644
index 0000000000..7199ac71ce
--- /dev/null
+++ b/macros/latex/contrib/grfext/grfext.pdf
Binary files differ
diff --git a/macros/latex/contrib/infwarerr/README.md b/macros/latex/contrib/infwarerr/README.md
new file mode 100644
index 0000000000..4d4d3c7628
--- /dev/null
+++ b/macros/latex/contrib/infwarerr/README.md
@@ -0,0 +1,9 @@
+# infwarerr
+
+infwarerr package for LaTeX
+
+
+This package provides a complete set of macros for informations,
+warnings and error messages with support for plain TeX.
+
+
diff --git a/macros/latex/contrib/oberdiek/infwarerr.dtx b/macros/latex/contrib/infwarerr/infwarerr.dtx
index 89198d838a..e93fc77df3 100644
--- a/macros/latex/contrib/oberdiek/infwarerr.dtx
+++ b/macros/latex/contrib/infwarerr/infwarerr.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
%
% File: infwarerr.dtx
-% Version: 2016/05/16 v1.4
+% Version: 2019/12/03 v1.5
% 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
+% https://github.com/ho-tex/infwarerr/issues
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -23,7 +23,7 @@
%
% The Current Maintainers of this work are
% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/infwarerr/issues
%
% The Base Interpreter refers to any `TeX-Format',
% because some files are installed in TDS:tex/generic//.
@@ -35,8 +35,8 @@
% infwarerr-test3.tex.
%
% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/infwarerr.dtx
-% CTAN:macros/latex/contrib/oberdiek/infwarerr.pdf
+% CTAN:macros/latex/contrib/infwarerr/infwarerr.dtx
+% CTAN:macros/latex/contrib/infwarerr/infwarerr.pdf
%
% Unpacking:
% (a) If infwarerr.ins is present:
@@ -65,12 +65,9 @@
% 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
+% TDS:tex/generic/infwarerr/infwarerr.sty
+% TDS:doc/latex/infwarerr/infwarerr.pdf
+% TDS:source/latex/infwarerr/infwarerr.dtx
%
%<*ignore>
\begingroup
@@ -87,7 +84,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)}
+\Msg{* Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -99,7 +96,7 @@
This is a generated file.
Project: infwarerr
-Version: 2016/05/16 v1.4
+Version: 2019/12/03 v1.5
Copyright (C)
2007, 2010 Heiko Oberdiek
@@ -119,7 +116,7 @@ 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
+https://github.com/ho-tex/infwarerr/issues
The Base Interpreter refers to any `TeX-Format',
@@ -137,16 +134,12 @@ and the derived files
\generate{%
\file{infwarerr.ins}{\from{infwarerr.dtx}{install}}%
\file{infwarerr.drv}{\from{infwarerr.dtx}{driver}}%
- \usedir{tex/generic/oberdiek}%
+ \usedir{tex/generic/infwarerr}%
\file{infwarerr.sty}{\from{infwarerr.dtx}{package}}%
-% \usedir{doc/latex/oberdiek/test}%
+% \usedir{doc/latex/infwarerr/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
@@ -173,7 +166,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{infwarerr.drv}%
- [2016/05/16 v1.4 Providing info/warning/error messages (HO)]%
+ [2019/12/03 v1.5 Providing info/warning/error messages (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -183,28 +176,13 @@ 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{infwarerr.drv}
%
% \title{The \xpackage{infwarerr} package}
-% \date{2016/05/16 v1.4}
+% \date{2019/12/03 v1.5}
% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
+% {Please report any issues at \url{https://github.com/ho-tex/infwarerr/issues}}}
%
% \maketitle
%
@@ -324,7 +302,7 @@ and the derived files
\fi
\expandafter\x\csname ver@infwarerr.sty\endcsname
\ProvidesPackage{infwarerr}%
- [2016/05/16 v1.4 Providing info/warning/error messages (HO)]%
+ [2019/12/03 v1.5 Providing info/warning/error messages (HO)]%
% \end{macrocode}
%
% \subsection{Catcodes}
@@ -680,328 +658,6 @@ and the derived files
\InfWarErr@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input infwarerr.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2>
-\let\PackageInfo\relax
-\input infwarerr.sty\relax
-\let\OrgWrite\write
-\chardef\WriteUnused=16 %
-\def\msg#{\immediate\OrgWrite\WriteUnused}
-\msg{File: infwarerr-test2.tex 2016/05/16 v1.4 Test file for plain-TeX}
-\catcode64=11 %
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{infwarerr-test3.tex}[2016/05/16 v1.4 Test file for LaTeX]
-\RequirePackage{infwarerr}[2016/05/16]
-\makeatletter
-\let\OrgWrite\write
-\chardef\WriteUnused=\@unused
-\def\msg#{\immediate\OrgWrite\WriteUnused}
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2|test3>
-\def\pkgname{PACKAGE}
-\def\clsname{CLASS}
-\def\msgtext{MESSAGE\MessageBreak SECOND LINE}
-\def\hlptext{HELP\MessageBreak SECOND LINE}
-
-\let\OrgWrite\write
-\let\OrgErrMessage\errmessage
-
-\def\write#1#{%
- \@write{#1}%
-}
-\def\@write#1#2{%
- \OrgWrite#1{#2}%
- \xdef\WriteNum{\number#1}%
- \xdef\WriteText{#2}%
-}
-\def\TestFailed#1#2{%
- \OrgErrMessage{Test (\string#1) failed: #2}%
-}
-\def\TestWrite#1#2#3{%
- \ifnum\WriteNum=#2\relax
- \else
- \TestFailed#1{write stream number: \WriteNum <> #2}%
- \fi
- \begingroup
- \let~\space
- \edef\TestString{#3}%
- \ifx\WriteText\TestString
- \else
- \msg{}%
- \msg{[\WriteText]}%
- \msg{<>}%
- \msg{[#3]}% hash-ok
- \TestFailed#1{write text}%
- \fi
- \endgroup
-}
-\newtoks\ErrHelpToks
-\def\errmessage#1{%
- \global\ErrHelpToks=\expandafter{\the\errhelp}%
- \msg{**************** error message ****************}%
- \msg{! #1}%
- \msg{**************** help message *****************}%
- \msg{\the\errhelp}%
- \msg{***********************************************}%
- \xdef\ErrMessage{! #1}%
-}
-\def\TestInfo{%
- \@PackageInfo\pkgname\msgtext
- \TestWrite\@PackageInfo{-1}{%
- Package PACKAGE Info: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
- }%
- \@PackageInfoNoLine\pkgname\msgtext
- \TestWrite\@PackageInfoNoLine{-1}{%
- Package PACKAGE Info: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~SECOND LINE.%
- }%
- \@ClassInfo\clsname\msgtext
- \TestWrite\@ClassInfo{-1}{%
- Class CLASS Info: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
- }%
- \@ClassInfoNoLine\clsname\msgtext
- \TestWrite\@ClassInfoNoLine{-1}{%
- Class CLASS Info: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~SECOND LINE.%
- }%
-}
-\def\TestWarning{%
- \@PackageWarning\pkgname\msgtext
- \TestWrite\@PackageWarning\WriteUnused{%
- ^^J%
- Package PACKAGE Warning: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
- ^^J%
- }%
- \@PackageWarningNoLine\pkgname\msgtext
- \TestWrite\@PackageWarningNoLine\WriteUnused{%
- ^^J%
- Package PACKAGE Warning: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.%
- ^^J%
- }%
- \@ClassWarning\clsname\msgtext
- \TestWrite\@ClassWarning\WriteUnused{%
- ^^J%
- Class CLASS Warning: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~~~~SECOND LINE on input line \the\inputlineno.%
- ^^J%
- }%
- \@ClassWarningNoLine\clsname\msgtext
- \TestWrite\@ClassWarningNoLine\WriteUnused{%
- ^^J%
- Class CLASS Warning: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~~~~SECOND LINE.%
- ^^J%
- }%
-}
-\def\TestError{%
-%<test3> \let\write\OrgWrite
-%<test3> \def\plaindots{}
-%<test2> \def\plaindots{.^^J ...^^J}
- \@PackageError\pkgname\msgtext\hlptext
- \@TestError\@PackageError{%
- ! Package PACKAGE Error: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
- ^^J%
- See the PACKAGE package documentation for explanation.^^J%
- Type~~H <return>~~for immediate help\plaindots
- }{%
- HELP^^J%
- SECOND LINE%
- }%
- \@ClassError\clsname\msgtext\hlptext
- \@TestError\@ClassError{%
- ! Class CLASS Error: MESSAGE^^J%
- (CLASS)~~~~~~~~~~~~~~SECOND LINE.^^J%
- ^^J%
- See the CLASS class documentation for explanation.^^J%
- Type~~H <return>~~for immediate help\plaindots
- }{%
- HELP^^J%
- SECOND LINE%
- }%
- \@PackageError\pkgname\msgtext\@ehc
- \@TestError\@PackageError{%
- ! Package PACKAGE Error: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
- ^^J%
- See the PACKAGE package documentation for explanation.^^J%
- Type~~H <return>~~for immediate help\plaindots
- }{%
- Try typing~~<return>~~to proceed.^^J%
- If that doesn't work, type~~X <return>~~to quit.%
- }%
- \@PackageError\pkgname\msgtext\@ehd
- \@TestError\@PackageError{%
- ! Package PACKAGE Error: MESSAGE^^J%
- (PACKAGE)~~~~~~~~~~~~~~~~SECOND LINE.^^J%
- ^^J%
- See the PACKAGE package documentation for explanation.^^J%
- Type~~H <return>~~for immediate help\plaindots
- }{%
- You're in trouble here.~~Try typing~~<return>~~to proceed.^^J%
- If that doesn't work, type~~X <return>~~to quit.%
- }%
-}
-\def\@TestError#1#2#3{%
- \begingroup
- \let~\space
- \edef\x{#2}%
-%<test3> \@onelevel@sanitize\x
-%<test3> \@onelevel@sanitize\ErrMessage
- \ifx\x\ErrMessage
- \else
- \msg{}%
- \msg{[\ErrMessage]}%
- \msg{<>}%
- \msg{[\x]}%
- \TestFailed#1{errmessage text}%
- \fi
- \edef\x{\the\ErrHelpToks}%
- \edef\y{#3}%
- \ifx\x\y
- \else
- \msg{}%
- \msg{[\the\ErrHelpToks]}%
- \msg{<>}%
- \msg{[\y]}%
- \TestFailed#1{errhelp text}%
- \fi
- \endgroup
-}
-\TestInfo
-\TestWarning
-\TestError
-%</test2|test3>
-%<test2>\end
-%<test3>\@@end
-% \end{macrocode}
-%
-%
% \section{Installation}
%
% \subsection{Download}
@@ -1009,17 +665,17 @@ and the derived files
% \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.
+% \item[\CTAN{macros/latex/contrib/infwarerr/infwarerr.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/infwarerr/infwarerr.pdf}] Documentation.
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
+% \paragraph{Bundle.} All the packages of the bundle `infwarerr'
% 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}]
+% \item[\CTANinstall{install/macros/latex/contrib/infwarerr.tds.zip}]
% \end{description}
% \emph{TDS} refers to the standard ``A Directory Structure
% for \TeX\ Files'' (\CTANpkg{tds}). Directories
@@ -1027,11 +683,11 @@ and the derived files
%
% \subsection{Bundle installation}
%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
+% \paragraph{Unpacking.} Unpack the \xfile{infwarerr.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|
+% |unzip infwarerr.tds.zip -d ~/texmf|
% \end{quote}
%
% \subsection{Package installation}
@@ -1049,12 +705,9 @@ and the derived files
% \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\\
+% infwarerr.sty & tex/generic/infwarerr/infwarerr.sty\\
+% infwarerr.pdf & doc/latex/infwarerr/infwarerr.pdf\\
+% infwarerr.dtx & source/latex/infwarerr/infwarerr.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
@@ -1185,6 +838,10 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2019/12/03 v1.5}
+% \item
+% Documentation updates.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/infwarerr/infwarerr.pdf b/macros/latex/contrib/infwarerr/infwarerr.pdf
new file mode 100644
index 0000000000..6224227347
--- /dev/null
+++ b/macros/latex/contrib/infwarerr/infwarerr.pdf
Binary files differ
diff --git a/macros/latex/contrib/letltxmacro/README.md b/macros/latex/contrib/letltxmacro/README.md
new file mode 100644
index 0000000000..424339a06e
--- /dev/null
+++ b/macros/latex/contrib/letltxmacro/README.md
@@ -0,0 +1,12 @@
+# letltxmacro
+
+letltxmacro package for LaTeX
+
+
+TeX's \let assignment does not work for LaTeX macros
+with optional arguments or for macros that are defined
+as robust macros by \DeclareRobustCommand. This package
+defines \LetLtxMacro that also takes care of the involved
+internal macros.
+
+
diff --git a/macros/latex/contrib/oberdiek/letltxmacro.dtx b/macros/latex/contrib/letltxmacro/letltxmacro.dtx
index 86199e1063..76cb23cd9f 100644
--- a/macros/latex/contrib/oberdiek/letltxmacro.dtx
+++ b/macros/latex/contrib/letltxmacro/letltxmacro.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
%
% File: letltxmacro.dtx
-% Version: 2016/05/16 v1.5
+% Version: 2019/12/03 v1.6
% 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
+% https://github.com/ho-tex/letltxmacro/issues
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -23,7 +23,7 @@
%
% The Current Maintainers of this work are
% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/letltxmacro/issues
%
% This work consists of the main source file letltxmacro.dtx
% and the derived files
@@ -32,8 +32,8 @@
% letltxmacro-test2.tex.
%
% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/letltxmacro.dtx
-% CTAN:macros/latex/contrib/oberdiek/letltxmacro.pdf
+% CTAN:macros/latex/contrib/letltxmacro/letltxmacro.dtx
+% CTAN:macros/latex/contrib/letltxmacro/letltxmacro.pdf
%
% Unpacking:
% (a) If letltxmacro.ins is present:
@@ -62,12 +62,10 @@
% 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
+% TDS:tex/latex/letltxmacro/letltxmacro.sty
+% TDS:doc/latex/letltxmacro/letltxmacro.pdf
+% TDS:doc/latex/letltxmacro/letltxmacro-showcases.tex
+% TDS:source/latex/letltxmacro/letltxmacro.dtx
%
%<*ignore>
\begingroup
@@ -84,7 +82,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO)}
+\Msg{* Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -96,7 +94,7 @@
This is a generated file.
Project: letltxmacro
-Version: 2016/05/16 v1.5
+Version: 2019/12/03 v1.6
Copyright (C)
2008, 2010 Heiko Oberdiek
@@ -116,7 +114,7 @@ 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
+https://github.com/ho-tex/letltxmacro/issues
This work consists of the main source file letltxmacro.dtx
@@ -131,17 +129,13 @@ and the derived files
\generate{%
\file{letltxmacro.ins}{\from{letltxmacro.dtx}{install}}%
\file{letltxmacro.drv}{\from{letltxmacro.dtx}{driver}}%
- \usedir{tex/latex/oberdiek}%
+ \usedir{tex/latex/letltxmacro}%
\file{letltxmacro.sty}{\from{letltxmacro.dtx}{package}}%
- \usedir{doc/latex/oberdiek}%
+ \usedir{doc/latex/letltxmacro}%
\file{letltxmacro-showcases.tex}{\from{letltxmacro.dtx}{showcases}}%
-% \usedir{doc/latex/oberdiek/test}%
+% \usedir{doc/latex/letltxmacro/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
@@ -168,7 +162,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{letltxmacro.drv}%
- [2016/05/16 v1.5 Let assignment for LaTeX macros (HO)]%
+ [2019/12/03 v1.6 Let assignment for LaTeX macros (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -178,28 +172,13 @@ 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{letltxmacro.drv}
%
% \title{The \xpackage{letltxmacro} package}
-% \date{2016/05/16 v1.5}
+% \date{2019/12/03 v1.6}
% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
+% {Please report any issues at \url{https://github.com/ho-tex/letltxmacro/issues}}}
%
% \maketitle
%
@@ -253,7 +232,7 @@ and the derived files
% \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.
+% Since version 2019/12/03~v1.4.
%
% \subsection{Supported macro definition commands}
%
@@ -481,7 +460,7 @@ and the derived files
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{letltxmacro}%
- [2016/05/16 v1.5 Let assignment for LaTeX macros (HO)]
+ [2019/12/03 v1.6 Let assignment for LaTeX macros (HO)]
% \end{macrocode}
%
% \subsubsection{Main macros}
@@ -649,315 +628,6 @@ and the derived files
\llm@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
-}
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{127}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- \RequirePackage{letltxmacro}[2016/05/16]\relax
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Package tests}
-%
-% \begin{macrocode}
-%<*test2>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-
-\usepackage{letltxmacro}[2016/05/16]
-
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\makeatletter
-
-\def\TestDef#1{%
- \begingroup
- \@makeother\\%
- \@makeother\ %
- \expandafter\@TestDef\csname #1\endcsname
-}
-\def\@TestDef#1#2{%
- \edef\a{\expandafter\strip@prefix\meaning#1}%
- \edef\b{\detokenize{#2}}%
- \ifx\a\b
- \else
- \typeout{1 [\a]}%
- \typeout{2 [\b]}%
- \fi
- \endgroup
- \Expect*{\expandafter\strip@prefix\meaning#1}*{\detokenize{#2}}%
-}
-\def\TestEquals#1#2{%
- \Expect*{%
- \expandafter\ifx\csname#1\expandafter\endcsname
- \csname#2\endcsname
- equals%
- \else
- wrong%
- \fi
- }{equals}%
-}
-\def\SaveA{%
- \let\SavedA\TestA
- \expandafter\let\csname\string\SavedA\expandafter\endcsname
- \csname\string\TestA\endcsname
- \expandafter\let\csname SavedA \expandafter\endcsname
- \csname TestA \endcsname
-}
-\def\CheckA{%
- \TestEquals{SavedA}{TestA}%
- \TestEquals{\string\SavedA}{\string\TestA}%
- \TestEquals{SavedA }{TestA }%
-}
-
-\begin{qstest}{robust}{robust}
- \begingroup
- \DeclareRobustCommand*{\TestA}{Test}%
- \SaveA
- \TestDef{TestA}{\protect \TestA }%
- \CheckA
- \DeclareRobustCommand{\TestA}{Test}%
- \SaveA
- \TestDef{TestA}{\protect \TestA }%
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\protect \TestB }%
- \TestEquals{TestB }{TestA }%
- \CheckA
- \GlobalLetLtxMacro\TestC\TestA
- \CheckA
- \endgroup
- \TestDef{TestC}{\protect \TestC }%
- \DeclareRobustCommand{\TestA}{Test}%
- \TestEquals{TestC }{TestA }%
-\end{qstest}
-
-\begin{qstest}{default}{default}
- \begingroup
- \newcommand{\TestA}[1][\relax default \empty]{TestA #1}%
- \SaveA
- \TestDef
- {TestA}{\@protected@testopt \TestA \\TestA {\relax default \empty }}%
- \LetLtxMacro\TestB\TestA
- \TestDef
- {TestB}{\@protected@testopt \TestB \\TestB {\relax default \empty }}%
- \CheckA
- \TestEquals{\string\TestB}{\string\TestA}%
- \GlobalLetLtxMacro\TestC\TestA
- \CheckA
- \endgroup
- \TestDef
- {TestC}{\@protected@testopt \TestC \\TestC {\relax default \empty }}%
- \newcommand{\TestA}[1][\relax default \empty]{TestA #1}%
- \TestEquals{\string\TestC}{\string\TestA}%
-\end{qstest}
-
-\begin{qstest}{robustdefault}{robustdefault}
- \begingroup
- \DeclareRobustCommand{\TestA}[1][\default]{TestA}%
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\protect \TestB }%
- \TestDef{TestB }{\@protected@testopt \TestB \\TestB {\default }}%
- \CheckA
- \GlobalLetLtxMacro\TestC\TestA
- \CheckA
- \endgroup
- \TestDef{TestC}{\protect \TestC }%
- \TestDef{TestC }{\@protected@testopt \TestC \\TestC {\default }}%
-\end{qstest}
-
-\begin{qstest}{plain}{plain}
- \LetLtxMacro\NewRelax\relax
- \Expect*{\meaning\relax}*{\string\relax}%
- \Expect*{\meaning\NewRelax}*{\string\relax}%
- \LetLtxMacro\NewHbox\hbox
- \Expect*{\meaning\hbox}*{\string\hbox}%
- \Expect*{\meaning\NewHbox}*{\string\hbox}%
- \LetLtxMacro\NewEmpty\empty
- \Expect*{\meaning\empty}{macro:->}%
- \Expect*{\meaning\NewEmpty}{macro:->}%
- \def\TestA{\iffalse}%
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\iffalse }%
- \TestEquals{TestA}{TestB}%
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\usepackage{etoolbox}[2008/06/22]
-
-\begin{qstest}{oldnewrobustcmd}{oldnewrobustcmd}
- \begingroup
- \protected\edef\TestA{%
- \noexpand\@protected@testopt
- \noexpand\TestA
- \expandafter\noexpand\csname\string\TestA\endcsname
- {\noexpand\default}%
- }%
- \expandafter\protected\expandafter
- \def\csname\string\TestA\endcsname{TestA}%
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\@protected@testopt \TestB \\TestB {\default }}%
- \protected\edef\TestC{%
- \noexpand\@protected@testopt
- \noexpand\TestB
- \expandafter\noexpand\csname\string\TestB\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestB}{TestC}%
- \CheckA
- \GlobalLetLtxMacro\TestD\TestA
- \CheckA
- \endgroup
- \TestDef{TestD}{\@protected@testopt \TestD \\TestD {\default }}%
- \protected\edef\TestC{%
- \noexpand\@protected@testopt
- \noexpand\TestD
- \expandafter\noexpand\csname\string\TestD\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestD}{TestC}%
-\end{qstest}
-
-\begin{qstest}{newrobustcmd}{newrobustcmd}
- \begingroup
- \newrobustcmd{\TestA}[1][\default]{TestA}%
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\@testopt \\TestB {\default }}%
- \protected\edef\TestC{%
- \noexpand\@testopt
- \expandafter\noexpand\csname\string\TestB\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestB}{TestC}%
- \CheckA
- \GlobalLetLtxMacro\TestD\TestA
- \CheckA
- \endgroup
- \TestDef{TestD}{\@testopt \\TestD {\default }}%
- \protected\edef\TestC{%
- \noexpand\@testopt
- \expandafter\noexpand\csname\string\TestD\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestD}{TestC}%
-\end{qstest}
-
-\begin{qstest}{robustifyopt}{robustifyopt}
- \newcommand{\TestA}[2][\default]{}%
- \TestDef{TestA}{\@protected@testopt \TestA \\TestA {\default }}%
- \robustify\TestA
- \TestDef{TestA}{\@protected@testopt \TestA \\TestA {\default }}%
- \protected\edef\TestC{%
- \noexpand\@protected@testopt
- \noexpand\TestA
- \expandafter\noexpand\csname\string\TestA\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestA}{TestC}%
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\@protected@testopt \TestB \\TestB {\default }}%
- \protected\edef\TestC{%
- \noexpand\@protected@testopt
- \noexpand\TestB
- \expandafter\noexpand\csname\string\TestB\endcsname
- {\noexpand\default}%
- }%
- \TestEquals{TestB}{TestC}%
- \CheckA
-\end{qstest}
-
-\begin{qstest}{robustifydeclare}{robustifydeclare}
- \DeclareRobustCommand\TestA{\iffalse}%
- \robustify\TestA
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\iffalse }%
- % before etoolbox 2008/06/22: \protected\long\def
- % since etoolbox 2008/06/22: \protected\def
- \protected\def\TestC{\iffalse}%
- \TestEquals{TestB}{TestC}%
- \CheckA
-\end{qstest}
-
-\begin{qstest}{robustifydeclarelong}{robustifydeclarelong}
- \DeclareRobustCommand\TestA[1]{\iffalse}%
- \robustify\TestA
- \SaveA
- \LetLtxMacro\TestB\TestA
- \TestDef{TestB}{\iffalse }%
- % before etoolbox 2008/06/22: \protected\long\def
- % since etoolbox 2008/06/22: \protected\def
- \protected\long\def\TestC#1{\iffalse}%
- \TestEquals{TestB}{TestC}%
- \CheckA
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\csname @@end\endcsname
-% \end{macrocode}
-% \begin{macrocode}
-%</test2>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -965,17 +635,17 @@ and the derived files
% \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.
+% \item[\CTAN{macros/latex/contrib/letltxmacro/letltxmacro.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/letltxmacro/letltxmacro.pdf}] Documentation.
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
+% \paragraph{Bundle.} All the packages of the bundle `letltxmacro'
% 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}]
+% \item[\CTANinstall{install/macros/latex/contrib/letltxmacro.tds.zip}]
% \end{description}
% \emph{TDS} refers to the standard ``A Directory Structure
% for \TeX\ Files'' (\CTANpkg{tds}). Directories
@@ -983,11 +653,11 @@ and the derived files
%
% \subsection{Bundle installation}
%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
+% \paragraph{Unpacking.} Unpack the \xfile{letltxmacro.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|
+% |unzip letltxmacro.tds.zip -d ~/texmf|
% \end{quote}
%
% \subsection{Package installation}
@@ -1005,12 +675,10 @@ and the derived files
% \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\\
+% letltxmacro.sty & tex/latex/letltxmacro/letltxmacro.sty\\
+% letltxmacro.pdf & doc/latex/letltxmacro/letltxmacro.pdf\\
+% letltxmacro-showcases.tex & doc/latex/letltxmacro/letltxmacro-showcases.tex\\
+% letltxmacro.dtx & source/latex/letltxmacro/letltxmacro.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
@@ -1145,6 +813,10 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2019/12/03 v1.6}
+% \item
+% Documentation updates.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/letltxmacro/letltxmacro.pdf b/macros/latex/contrib/letltxmacro/letltxmacro.pdf
new file mode 100644
index 0000000000..758a8360dc
--- /dev/null
+++ b/macros/latex/contrib/letltxmacro/letltxmacro.pdf
Binary files differ
diff --git a/macros/latex/contrib/mleftright/README.md b/macros/latex/contrib/mleftright/README.md
new file mode 100644
index 0000000000..d4b097b0ea
--- /dev/null
+++ b/macros/latex/contrib/mleftright/README.md
@@ -0,0 +1,12 @@
+# mleftright
+
+mleftright package for LaTeX
+
+
+TeX sets subformulas by \left and \right as inner formulas
+with additional surrounding spaces in some situations. This package
+provides \mleft and \mright that call \left and \right,
+but the delimiters will act as normal \mathopen and \mathclose
+delimiters without the additional space of an inner formula.
+
+
diff --git a/macros/latex/contrib/oberdiek/mleftright.dtx b/macros/latex/contrib/mleftright/mleftright.dtx
index 5d7f837cae..ec52c6c3b5 100644
--- a/macros/latex/contrib/oberdiek/mleftright.dtx
+++ b/macros/latex/contrib/mleftright/mleftright.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
%
% File: mleftright.dtx
-% Version: 2016/05/16 v1.1
+% Version: 2019/12/03 v1.2
% 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
+% https://github.com/ho-tex/mleftright/issues
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -23,7 +23,7 @@
%
% The Current Maintainers of this work are
% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/mleftright/issues
%
% The Base Interpreter refers to any `TeX-Format',
% because some files are installed in TDS:tex/generic//.
@@ -34,8 +34,8 @@
% mleftright-test1.tex.
%
% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/mleftright.dtx
-% CTAN:macros/latex/contrib/oberdiek/mleftright.pdf
+% CTAN:macros/latex/contrib/mleftright/mleftright.dtx
+% CTAN:macros/latex/contrib/mleftright/mleftright.pdf
%
% Unpacking:
% (a) If mleftright.ins is present:
@@ -64,10 +64,9 @@
% 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
+% TDS:tex/generic/mleftright/mleftright.sty
+% TDS:doc/latex/mleftright/mleftright.pdf
+% TDS:source/latex/mleftright/mleftright.dtx
%
%<*ignore>
\begingroup
@@ -84,7 +83,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: mleftright 2016/05/16 v1.1 Math left/right delim. as open/close (HO)}
+\Msg{* Package: mleftright 2019/12/03 v1.2 Math left/right delim. as open/close (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -96,7 +95,7 @@
This is a generated file.
Project: mleftright
-Version: 2016/05/16 v1.1
+Version: 2019/12/03 v1.2
Copyright (C)
2010 Heiko Oberdiek
@@ -116,7 +115,7 @@ 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
+https://github.com/ho-tex/mleftright/issues
The Base Interpreter refers to any `TeX-Format',
@@ -133,14 +132,10 @@ and the derived files
\generate{%
\file{mleftright.ins}{\from{mleftright.dtx}{install}}%
\file{mleftright.drv}{\from{mleftright.dtx}{driver}}%
- \usedir{tex/generic/oberdiek}%
+ \usedir{tex/generic/mleftright}%
\file{mleftright.sty}{\from{mleftright.dtx}{package}}%
-% \usedir{doc/latex/oberdiek/test}%
+% \usedir{doc/latex/mleftright/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
@@ -167,10 +162,10 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{mleftright.drv}%
- [2016/05/16 v1.1 Math left/right delim. as open/close (HO)]%
+ [2019/12/03 v1.2 Math left/right delim. as open/close (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
-\usepackage{mleftright}[2016/05/16]
+\usepackage{mleftright}[2019/12/03]
\begin{document}
\DocInput{mleftright.dtx}%
\end{document}
@@ -178,28 +173,13 @@ 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{mleftright.drv}
%
% \title{The \xpackage{mleftright} package}
-% \date{2016/05/16 v1.1}
+% \date{2019/12/03 v1.2}
% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
+% {Please report any issues at \url{https://github.com/ho-tex/mleftright/issues}}}
%
% \maketitle
%
@@ -366,7 +346,7 @@ and the derived files
\fi
\expandafter\x\csname ver@mleftright.sty\endcsname
\ProvidesPackage{mleftright}%
- [2016/05/16 v1.1 Math left/right delim. as open/close (HO)]%
+ [2019/12/03 v1.2 Math left/right delim. as open/close (HO)]%
% \end{macrocode}
%
% \begin{macrocode}
@@ -606,135 +586,24 @@ and the derived files
\mleftright@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input mleftright.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \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.
+% \item[\CTAN{macros/latex/contrib/mleftright/mleftright.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/mleftright/mleftright.pdf}] Documentation.
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
+% \paragraph{Bundle.} All the packages of the bundle `mleftright'
% 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}]
+% \item[\CTANinstall{install/macros/latex/contrib/mleftright.tds.zip}]
% \end{description}
% \emph{TDS} refers to the standard ``A Directory Structure
% for \TeX\ Files'' (\CTANpkg{tds}). Directories
@@ -742,11 +611,11 @@ and the derived files
%
% \subsection{Bundle installation}
%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
+% \paragraph{Unpacking.} Unpack the \xfile{mleftright.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|
+% |unzip mleftright.tds.zip -d ~/texmf|
% \end{quote}
%
% \subsection{Package installation}
@@ -764,10 +633,9 @@ and the derived files
% \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\\
+% mleftright.sty & tex/generic/mleftright/mleftright.sty\\
+% mleftright.pdf & doc/latex/mleftright/mleftright.pdf\\
+% mleftright.dtx & source/latex/mleftright/mleftright.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
@@ -935,6 +803,10 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2019/12/03 v1.2}
+% \item
+% Documentation updates.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/mleftright/mleftright.pdf b/macros/latex/contrib/mleftright/mleftright.pdf
new file mode 100644
index 0000000000..1f44fb88d2
--- /dev/null
+++ b/macros/latex/contrib/mleftright/mleftright.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/README.txt b/macros/latex/contrib/oberdiek/README.txt
index 2b0a822793..238e572c18 100644
--- a/macros/latex/contrib/oberdiek/README.txt
+++ b/macros/latex/contrib/oberdiek/README.txt
@@ -1,4 +1,4 @@
-README 2019/11/29
+README 2019/12/03
This file describes the directory
CTAN:macros/latex/contrib/oberdiek/
diff --git a/macros/latex/contrib/oberdiek/accsupp.dtx b/macros/latex/contrib/oberdiek/accsupp.dtx
index 722b314284..5264aed3e2 100644
--- a/macros/latex/contrib/oberdiek/accsupp.dtx
+++ b/macros/latex/contrib/oberdiek/accsupp.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
% File: accsupp.dtx
-% Version: 2018/01/30 v0.5
+% Version: 2018/03/28 v0.5
% Info: Accessibility support by marked content
%
% Copyright (C)
@@ -72,7 +72,6 @@
% TDS:doc/latex/oberdiek/accsupp.pdf
% TDS:doc/latex/oberdiek/accsupp-example1.tex
% TDS:doc/latex/oberdiek/accsupp-example2.tex
-% TDS:doc/latex/oberdiek/test/accsupp-test1.tex
% TDS:source/latex/oberdiek/accsupp.dtx
%
%<*ignore>
@@ -150,10 +149,6 @@ and the derived files
\file{accsupp-example2.tex}{\from{accsupp.dtx}{example2}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{accsupp-test1.tex}{\from{accsupp.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{accsupp.xml}{\from{accsupp.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -191,21 +186,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{accsupp.drv}
%
@@ -900,63 +880,6 @@ ed as
% \begin{macrocode}
%</dvips>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
-}
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{127}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- \RequirePackage{accsupp}[2018/03/28]\relax
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -1012,7 +935,6 @@ ed as
% accsupp.pdf & doc/latex/oberdiek/accsupp.pdf\\
% accsupp-example1.tex & doc/latex/oberdiek/accsupp-example1.tex\\
% accsupp-example2.tex & doc/latex/oberdiek/accsupp-example2.tex\\
-% test/accsupp-test1.tex & doc/latex/oberdiek/test/accsupp-test1.tex\\
% accsupp.dtx & source/latex/oberdiek/accsupp.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/accsupp.pdf b/macros/latex/contrib/oberdiek/accsupp.pdf
index dfa902291b..6f35b10ffd 100644
--- a/macros/latex/contrib/oberdiek/accsupp.pdf
+++ b/macros/latex/contrib/oberdiek/accsupp.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/aliascnt.dtx b/macros/latex/contrib/oberdiek/aliascnt.dtx
index e3db954c80..60289eaeaf 100644
--- a/macros/latex/contrib/oberdiek/aliascnt.dtx
+++ b/macros/latex/contrib/oberdiek/aliascnt.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{aliascnt.drv}{\from{aliascnt.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{aliascnt.sty}{\from{aliascnt.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{aliascnt.xml}{\from{aliascnt.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{aliascnt.drv}
%
diff --git a/macros/latex/contrib/oberdiek/aliascnt.pdf b/macros/latex/contrib/oberdiek/aliascnt.pdf
index f9d784af69..5fc66906c5 100644
--- a/macros/latex/contrib/oberdiek/aliascnt.pdf
+++ b/macros/latex/contrib/oberdiek/aliascnt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/alphalph.dtx b/macros/latex/contrib/oberdiek/alphalph.dtx
index 2f22685dec..7c70cd4825 100644
--- a/macros/latex/contrib/oberdiek/alphalph.dtx
+++ b/macros/latex/contrib/oberdiek/alphalph.dtx
@@ -66,9 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/alphalph.sty
% TDS:doc/latex/oberdiek/alphalph.pdf
-% TDS:doc/latex/oberdiek/test/alphalph-test1.tex
-% TDS:doc/latex/oberdiek/test/alphalph-test2.tex
-% TDS:doc/latex/oberdiek/test/alphalph-test3.tex
% TDS:source/latex/oberdiek/alphalph.dtx
%
%<*ignore>
@@ -141,10 +138,6 @@ and the derived files
% \file{alphalph-test1.tex}{\from{alphalph.dtx}{test1}}%
% \file{alphalph-test2.tex}{\from{alphalph.dtx}{test2,etex}}%
% \file{alphalph-test3.tex}{\from{alphalph.dtx}{test2,noetex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{alphalph.xml}{\from{alphalph.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -207,21 +200,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{alphalph.drv}
%
@@ -1303,353 +1281,6 @@ and the derived files
%</package>
% \end{macrocode}
%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input alphalph.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Macro tests}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<*noetex>
-\makeatletter
-\let\saved@numexpr\numexpr
-\newcommand*{\DisableNumexpr}{%
- \let\numexpr\@undefined
-}
-\newcommand*{\RestoreNumexpr}{%
- \let\numexpr\saved@numexpr
-}
-\DisableNumexpr
-%</noetex>
-\usepackage{alphalph}[2016/05/16]
-%<noetex>\RestoreNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\TestCmd}[3]{%
- \setbox0=\hbox{%
-%<noetex> \DisableNumexpr
- \edef\TestString{#1{#2}}%
- \expandafter\Expect\expandafter{\TestString}{#3}%
- \edef\TestString{#1{#2} }%
- \expandafter\Expect\expandafter{\TestString}{#3 }%
- }%
- \Expect*{\the\wd0}{0.0pt}%
-}
-
-\makeatletter
-\newalphalph\LaTeXAlphAlph\@Alph{26}
-\newalphalph\LaTeXalphalph\@alph{26}
-\newalphalph\AlphWrap[wrap]\alphalph@Alph{26}
-\newalphalph\alphwrap[wrap]\alphalph@alph{26}
-\newalphalph\LaTeXAlphWrap[wrap]\@Alph{26}
-\newalphalph\LaTeXalphwrap[wrap]\@alph{26}
-\def\LastSymbol#1{%
- \ifx\\#1\\%
- \else
- \@LastSymbol#1\@nil
- \fi
-}
-\def\@LastSymbol#1#2\@nil{%
- \ifx\\#2\\%
- #1%
- \else
- \@LastSymbol#2\@nil
- \fi
-}
-\makeatother
-\newcommand*{\TestAlph}[2]{%
- \uppercase{\TestCallCmd\AlphAlph{#2}}{#1}%
- \lowercase{\TestCallCmd\alphalph{#2}}{#1}%
- \uppercase{\TestCallCmd\LaTeXAlphAlph{#2}}{#1}%
- \lowercase{\TestCallCmd\LaTeXalphalph{#2}}{#1}%
- \edef\WrapString{\LastSymbol{#2}}%
- \expandafter\TestAlphWrap\expandafter{\WrapString}{#1}%
-}
-\newcommand*{\TestAlphWrap}[2]{%
- \uppercase{\TestCallCmd\AlphWrap{#1}}{#2}%
- \lowercase{\TestCallCmd\alphwrap{#1}}{#2}%
- \uppercase{\TestCallCmd\LaTeXAlphWrap{#1}}{#2}%
- \lowercase{\TestCallCmd\LaTeXalphwrap{#1}}{#2}%
-}
-\newcommand*{\TestCallCmd}[3]{%
- \TestCmd#1{#3}{#2}%
-}
-\begin{qstest}{AlphSymbols}{alphalph, AlphAlph, symbols}
- \TestAlph{1}{a}%
- \TestAlph{2}{b}%
- \TestAlph{3}{c}%
- \TestAlph{4}{d}%
- \TestAlph{5}{e}%
- \TestAlph{6}{f}%
- \TestAlph{7}{g}%
- \TestAlph{8}{h}%
- \TestAlph{9}{i}%
- \TestAlph{10}{j}%
- \TestAlph{11}{k}%
- \TestAlph{12}{l}%
- \TestAlph{13}{m}%
- \TestAlph{14}{n}%
- \TestAlph{15}{o}%
- \TestAlph{16}{p}%
- \TestAlph{17}{q}%
- \TestAlph{18}{r}%
- \TestAlph{19}{s}%
- \TestAlph{20}{t}%
- \TestAlph{21}{u}%
- \TestAlph{22}{v}%
- \TestAlph{23}{w}%
- \TestAlph{24}{x}%
- \TestAlph{25}{y}%
- \TestAlph{26}{z}%
-\end{qstest}
-\begin{qstest}{AlphRange}{alphalph, range}
- \TestAlph{0}{}%
- \TestAlph{-1}{}%
- \TestAlph{-2147483647}{}%
- \TestAlph{27}{aa}%
- \TestAlph{28}{ab}%
- \TestAlph{52}{az}%
- \TestAlph{53}{ba}%
- \TestAlph{78}{bz}%
- \TestAlph{79}{ca}%
- \TestAlph{702}{zz}%
- \TestAlph{703}{aaa}%
- \TestAlph{2147483647}{fxshrxw}%
-\end{qstest}
-
-\makeatletter
-\newcommand*{\myvocals}[1]{%
- \ifcase#1X\or A\or E\or I\or O\or U\else Y\fi
-}
-\makeatother
-\newalphalph\vocalsvocals\myvocals{5}
-\newcommand*{\TestVocals}{%
- \TestCmd\vocalsvocals
-}
-\begin{qstest}{vocals}{vocals}
- \TestVocals{0}{}%
- \TestVocals{1}{A}%
- \TestVocals{2}{E}%
- \TestVocals{3}{I}%
- \TestVocals{4}{O}%
- \TestVocals{5}{U}%
- \TestVocals{6}{AA}%
- \TestVocals{7}{AE}%
- \TestVocals{8}{AI}%
- \TestVocals{9}{AO}%
- \TestVocals{10}{AU}%
- \TestVocals{11}{EA}%
- \TestVocals{24}{OO}%
- \TestVocals{25}{OU}%
- \TestVocals{26}{UA}%
- \TestVocals{29}{UO}%
- \TestVocals{30}{UU}%
- \TestVocals{31}{AAA}%
- \TestVocals{155}{UUU}%
- \TestVocals{156}{AAAA}%
- \TestVocals{2147483647}{AIIOOEEIOIIUOE}%
-\end{qstest}
-
-\makeatletter
-\newalphalph\AlphMult[mult]{\alphalph@Alph}{26}
-\newalphalph\alphmult[mult]{\alphalph@alph}{26}
-\newalphalph\LaTeXAlphMult[mult]{\@Alph}{26}
-\newalphalph\LaTeXalphmult[mult]{\@alph}{26}
-\makeatother
-\newcommand*{\TestMult}[2]{%
- \uppercase{\TestCallCmd\AlphMult{#2}}{#1}%
- \lowercase{\TestCallCmd\alphmult{#2}}{#1}%
- \uppercase{\TestCallCmd\LaTeXAlphMult{#2}}{#1}%
- \lowercase{\TestCallCmd\LaTeXalphmult{#2}}{#1}%
-}
-\begin{qstest}{mult}{mult}
- \TestMult{0}{}%
- \TestMult{-1}{}%
- \TestMult{-2147483647}{}%
- \TestMult{1}{a}%
- \TestMult{2}{b}%
- \TestMult{26}{z}%
- \TestMult{27}{aa}%
- \TestMult{28}{bb}%
- \TestMult{52}{zz}%
- \TestMult{53}{aaa}%
- \TestMult{54}{bbb}%
- \TestMult{259}{yyyyyyyyyy}%
- \TestMult{260}{zzzzzzzzzz}%
- \TestMult{261}{aaaaaaaaaaa}%
- \TestMult{262}{bbbbbbbbbbb}%
-\end{qstest}
-
-\def\myvocalsB#1{%
- \ifcase#1\or A\or E\or I\or O\or U\fi
-}
-\begin{qstest}{symbolnum}{symbolnum}
- \makeatletter
- \def\Test#1#2{%
- \let\TestCmd\relax
- \newalphalph\TestCmd{#1}{}%
- \Expect*{\AlPh@Number}{#2}%
- }%
- \Test\@alph{26}%
- \Test\@Alph{26}%
- \Test\@fnsymbol{9}%
- \Test\myvocalsB{5}%
- \Test\alphalph@alph{26}%
- \Test\alphalph@Alph{26}%
-\end{qstest}
-
-\begin{qstest}{list}{list}
- \makeatletter
- \def\catch#1\relax{%
- \def\FoundList{\catch#1}%
- }%
- \def\Test[#1]#2#3#4{%
- \let\testcmd\relax
- \newalphalph\testcmd[{#1}]{\catch}{#2}%
- \testcmd{#3}|\relax
- \expandafter\Expect\expandafter{\FoundList}{#4|}%
- %
- \let\SavedCatch\catch
- \def\catch{\noexpand\catch\noexpand\foo}%
- \edef\Result{#4|}%
- \@onelevel@sanitize\Result
- \let\catch\SavedCatch
- \let\testcmd\relax
- \newalphalph\testcmd[{#1}]{\catch\foo}{#2}%
- \testcmd{#3}|\relax
- \@onelevel@sanitize\FoundList
- \Expect*{\FoundList}*{\Result}%
- }%
- \Test[alph]{26}{3}{\catch{3}}%
- \Test[alph]{26}{12}{\catch{12}}%
- \Test[alph]{26}{27}{\catch{1}\catch{1}}%
- \Test[alph]{26}{78}{\catch{2}\catch{26}}%
- \Test[wrap]{26}{7}{\catch{7}}%
- \Test[wrap]{26}{14}{\catch{14}}%
- \Test[wrap]{26}{80}{\catch{2}}%
- \Test[wrap]{26}{700}{\catch{24}}%
- \Test[mult]{26}{4}{\catch{4}}%
- \Test[mult]{26}{17}{\catch{17}}%
- \Test[mult]{26}{54}{\catch{2}\catch{2}\catch{2}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -1699,9 +1330,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% alphalph.sty & tex/generic/oberdiek/alphalph.sty\\
% alphalph.pdf & doc/latex/oberdiek/alphalph.pdf\\
-% test/alphalph-test1.tex & doc/latex/oberdiek/test/alphalph-test1.tex\\
-% test/alphalph-test2.tex & doc/latex/oberdiek/test/alphalph-test2.tex\\
-% test/alphalph-test3.tex & doc/latex/oberdiek/test/alphalph-test3.tex\\
% alphalph.dtx & source/latex/oberdiek/alphalph.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/alphalph.pdf b/macros/latex/contrib/oberdiek/alphalph.pdf
index 4ad8540c81..5f7559119b 100644
--- a/macros/latex/contrib/oberdiek/alphalph.pdf
+++ b/macros/latex/contrib/oberdiek/alphalph.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/askinclude.dtx b/macros/latex/contrib/oberdiek/askinclude.dtx
index 4e109fbd5d..aa249c79fd 100644
--- a/macros/latex/contrib/oberdiek/askinclude.dtx
+++ b/macros/latex/contrib/oberdiek/askinclude.dtx
@@ -78,33 +78,6 @@
% Installation:
% TDS:tex/latex/oberdiek/askinclude.sty
% TDS:doc/latex/oberdiek/askinclude.pdf
-% TDS:doc/latex/oberdiek/test/askinclude-a.tex
-% TDS:doc/latex/oberdiek/test/askinclude-b.tex
-% TDS:doc/latex/oberdiek/test/askinclude-c.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test1.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test2.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test3.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test4.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test5.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test6.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test7.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test8.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test9.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test10.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test11.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test12.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test13.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test14.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test15.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test16.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test17.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test18.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test19.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test20.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test21.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test22.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test23.tex
-% TDS:doc/latex/oberdiek/test/askinclude-test24.tex
% TDS:source/latex/oberdiek/askinclude.dtx
%
%<*ignore>
@@ -217,10 +190,6 @@ and the derived files
% \file{askinclude-test22.tex}{\from{askinclude.dtx}{test0,test22}}%
% \file{askinclude-test23.tex}{\from{askinclude.dtx}{test0,test23}}%
% \file{askinclude-test24.tex}{\from{askinclude.dtx}{test0,test24}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{askinclude.xml}{\from{askinclude.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -304,21 +273,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{askinclude.drv}
%
@@ -1672,994 +1626,6 @@ and the derived files
\AskInc@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Included files}
-%
-% \begin{macrocode}
-%<*a>
-\chapter{Chapter A}
-\let\filea=Y
-%</a>
-% \end{macrocode}
-% \begin{macrocode}
-%<*b>
-\chapter{Chapter B}
-\let\fileb=Y
-%</b>
-% \end{macrocode}
-% \begin{macrocode}
-%<*c>
-\chapter{Chapter C}
-\let\filec=Y
-%</c>
-% \end{macrocode}
-%
-% \subsection{Special test setup}
-%
-% \begin{macrocode}
-%<*test18>
-\includeonly{askinclude-b}
-%</test18>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test20|test21|test22>
-\let\AtBeginDocumentMode=N%
-%</test20|test21|test22>
-% \end{macrocode}
-%
-% \subsection{Common start}
-%
-% \begin{macrocode}
-%<*test0>
-\ifx\CompatibilityMode Y%
- \documentstyle[filecontents,qstest,askinclude,pdftexcmds]{book}%
-\else
- \documentclass{book}%
- \usepackage{filecontents}%
- \usepackage{qstest}%
- \usepackage{pdftexcmds}%
-%<*test1>
- \makeatletter
- \def\RestoreCatcodes{}%
- \count@=0 %
- \loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
- \ifnum\count@<255 %
- \advance\count@\@ne
- \repeat
- \def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
- }%
- \def\Test#1\EndTest{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- #1\relax
- \RestoreCatcodes
- \makeatother
- }%
- \Test
-%</test1>
-%<*!test1>
- \ifx\AtBeginDocumentMode Y%
- \AtBeginDocument{%
- \usepackage{askinclude}[2018/11/01]%
- }%
- \else
-%</!test1>
- \usepackage{askinclude}[2018/11/01]%
-%<*!test1>
- \fi
-%</!test1>
-%<*test1>
- \EndTest
-%</test1>
-\fi
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-\let\org@typein\typein
-\def\typein[#1]#2{%
- \ifx\@Stack\@StackEmpty
- \begin{qstest}{StackNonEmpty}{StackNonEmpty}%
- \Expect{Error: empty stack}{}%
- \end{qstest}%
- \org@typein[{#1}]{#2}%
- \else
- \edef#1{%
- \unexpanded\expandafter\expandafter\expandafter{%
- \expandafter\@car\@Stack\@nil
- }%
- }%
- \xdef\@Stack{%
- \unexpanded\expandafter\expandafter\expandafter{%
- \expandafter\@cdr\@Stack\@nil
- }%
- }%
- \typeout{}%
- \typeout{\string#1=#1}%
- \fi
-}
-\def\@StackEmpty{\BOTTOM}
-\let\@Stack\@StackEmpty
-\newcommand*{\Stack}[1]{%
- \def\@Stack{#1\BOTTOM}%
-}
-\AtEndDocument{%
- \begin{qstest}{StackUsed}{StackUsed}%
- \Expect*{%
- \ifx\@Stack\@StackEmpty
- \else
- Error: Unused stack entries%
- \fi
- }{}%
- \end{qstest}%
-}
-\newcommand*{\CheckInclude}[2]{%
- \include{askinclude-#1}%
- \begin{qstest}{CheckInclude-#1}{CheckInclude-#1}%
- \Expect*{%
- \expandafter\ifx\csname file#1\endcsname Ytrue\else false\fi
- }{#2}%
- \end{qstest}%
-}
-\def\@EndChecks{}
-\AtBeginDocument{%
- \AtEndDocument{%
- \if@filesw
- \immediate\write\@mainaux{\string\@EndChecks}%
- \fi
- }%
-}
-\newcommand*{\CheckAnswer}[1]{%
- \gdef\AnswerText{#1}%
- \g@addto@macro\@EndChecks{\@CheckAnswer}%
-}
-\def\@CheckAnswer{%
- \begin{qstest}{CheckAnswer}{CheckAnswer}%
- \Expect*{\unexpanded\expandafter{\AskInc@Answer}}%
- *{\unexpanded\expandafter{\AnswerText}}%
- \end{qstest}%
-}
-\newcommand*{\CheckMatchMethod}[1]{%
- \gdef\MatchMethodText{#1}%
- \g@addto@macro\@EndChecks{\@CheckMatchMethod}%
-}
-\def\@CheckMatchMethod{%
- \begin{qstest}{CheckMatchMethod}{CheckMatchMethod}%
- \Expect*{\unexpanded\expandafter{\AskInc@MatchMethod}}%
- *{\unexpanded\expandafter{\MatchMethodText}}%
- \end{qstest}%
-}
-\def\@CheckAux{%
- \begin{qstest}{CheckAux}{CheckAux}%
- \def\GetFileContents##1{%
- \pdf@unescapehex{%
- \pdf@filedump{0}{\pdf@filesize{##1}}{##1}%
- }%
- }%
- \Expect*{\GetFileContents{\jobname.aux}}%
- *{\GetFileContents{\jobname-aux.aux}}%
- \end{qstest}%
-}
-\g@addto@macro\@EndChecks{\@CheckAux}
-\let\org@filec@ntents\filec@ntents
-\def\filec@ntents{%
- \catcode`\|=0 %
- \org@filec@ntents
-}
-\begingroup
- \endlinechar=-1 %
- \catcode`\|=0 %
- \@makeother\#%
- \@makeother\\%
- |gdef|AddList{%
- \providecommand*\AskInc@AddList[2]{%
- \ifcase\ifx#1\@undefined
- \else\ifx#1\relax
- \else\ifx#1\@empty
- \else1\fi\fi\fi0 %
- \gdef#1{#2}%
- \else
- \g@addto@macro#1{,#2}%
- \fi
- }%
- }%
- |gdef|AddFile{%
- \providecommand\AskInc@AddFile{%
- \AskInc@AddList\AskInc@Files
- }%
- }%
- |gdef|AddMatch{%
- \providecommand\AskInc@AddMatch{%
- \AskInc@AddList\AskInc@MatchFiles
- }%
- }%
-|endgroup
-%</test0>
-% \end{macrocode}
-%
-% \subsection{First run tests}
-%
-% \begin{macrocode}
-%<*test1>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\Stack{*}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\Stack{-}%
-\CheckAnswer{-}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{-}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4>
-\Stack{{askinclude-b}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test4>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test5>
-\Stack{{askinclude-a,askinclude-c}}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-a,askinclude-c}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test5>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test6>
-\Stack{?yny}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test6>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test7>
-\Stack{?yA}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test7>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test8>
-\Stack{?yD}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test8>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test9>
-\Stack{?yN}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test9>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test10>
-\Stack{?{}N}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test10>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test11>
-\Stack{?xxyxxN}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test11>
-% \end{macrocode}
-%
-% \subsection{Second run tests}
-%
-% \begin{macrocode}
-%<*test12>
-\Stack{{}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\AskInc@AddFile{askinclude-c}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test12>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test13>
-\Stack{{}}
-\CheckAnswer{askinclude-b}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-b}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test13>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test14>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test14>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test15>
-\Stack{?D}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test15>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test16>
-\Stack{?A}
-\CheckAnswer{askinclude-a,askinclude-b,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\gdef\AskInc@Answer{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\gdef\AskInc@Answer{askinclude-a,askinclude-b,askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test16>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test17>
-\Stack{?N}
-\CheckAnswer{}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test17>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test18>
-\Stack{}
-\CheckAnswer{askinclude-a}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{true}
-\CheckInclude{c}{false}
-%</test18>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test19>
-\Stack{?N}
-\CheckAnswer{}
-\begin{filecontents*}{\jobname.aux}
-\gdef\AskInc@Answer{askinclude-a}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\AskInc@AddFile{askinclude-b}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\ifx\AtBeginDocumentMode Y%
- \AtBeginDocument{\includeonly{askinclude-b}}%
-\else
- \includeonly{askinclude-b}%
-\fi
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test19>
-% \end{macrocode}
-%
-% \subsection{Compatibility for changing from old to new}
-%
-% \begin{macrocode}
-%<*test20>
-\Stack{{}}
-\CheckAnswer{*}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{*}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{true}
-\CheckInclude{c}{true}
-%</test20>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test21>
-\Stack{{}}
-\CheckAnswer{-}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{-}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{false}
-\CheckInclude{b}{false}
-\CheckInclude{c}{false}
-%</test21>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test22>
-\Stack{{}}
-\CheckAnswer{askinclude-a,askinclude-c}
-\begin{filecontents*}{\jobname.aux}
-\@includeonly{askinclude-a,askinclude-c}
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{askinclude-a,askinclude-c}
-\gdef\AskInc@MatchMethod{}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test22>
-% \end{macrocode}
-%
-% \subsection{Regular expressions}
-%
-% \begin{macrocode}
-%<*test23>
-\Stack{{makematch}{*,!askinclude-b}}
-\CheckAnswer{*,!askinclude-b}
-\CheckMatchMethod{makematch}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{*,!askinclude-b}
-\gdef\AskInc@MatchMethod{makematch}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-|AddMatch
-\AskInc@AddMatch{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\AskInc@AddMatch{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test23>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test24>
-\Stack{{pdfmatch}{.,!askinclude-b}}
-\CheckAnswer{.,!askinclude-b}
-\CheckMatchMethod{pdfmatch}
-\begin{filecontents*}{\jobname.aux}
-\relax
-\end{filecontents*}
-\begin{filecontents*}{\jobname-aux.aux}
-\relax|space
-\gdef\AskInc@Answer{.,!askinclude-b}
-\gdef\AskInc@MatchMethod{pdfmatch}
-|AddList
-|AddFile
-\AskInc@AddFile{askinclude-a}
-|AddMatch
-\AskInc@AddMatch{askinclude-a}
-\@input{askinclude-a.aux}
-\AskInc@AddFile{askinclude-b}
-\@input{askinclude-b.aux}
-\AskInc@AddFile{askinclude-c}
-\AskInc@AddMatch{askinclude-c}
-\@input{askinclude-c.aux}
-\@EndChecks
-\end{filecontents*}
-\begin{document}
-\CheckInclude{a}{true}
-\CheckInclude{b}{false}
-\CheckInclude{c}{true}
-%</test24>
-% \end{macrocode}
-%
-%
-% \subsection{Common end}
-%
-% \begin{macrocode}
-%<*test0>
-\end{document}
-%</test0>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -2709,33 +1675,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% askinclude.sty & tex/latex/oberdiek/askinclude.sty\\
% askinclude.pdf & doc/latex/oberdiek/askinclude.pdf\\
-% test/askinclude-a.tex & doc/latex/oberdiek/test/askinclude-a.tex\\
-% test/askinclude-b.tex & doc/latex/oberdiek/test/askinclude-b.tex\\
-% test/askinclude-c.tex & doc/latex/oberdiek/test/askinclude-c.tex\\
-% test/askinclude-test1.tex & doc/latex/oberdiek/test/askinclude-test1.tex\\
-% test/askinclude-test2.tex & doc/latex/oberdiek/test/askinclude-test2.tex\\
-% test/askinclude-test3.tex & doc/latex/oberdiek/test/askinclude-test3.tex\\
-% test/askinclude-test4.tex & doc/latex/oberdiek/test/askinclude-test4.tex\\
-% test/askinclude-test5.tex & doc/latex/oberdiek/test/askinclude-test5.tex\\
-% test/askinclude-test6.tex & doc/latex/oberdiek/test/askinclude-test6.tex\\
-% test/askinclude-test7.tex & doc/latex/oberdiek/test/askinclude-test7.tex\\
-% test/askinclude-test8.tex & doc/latex/oberdiek/test/askinclude-test8.tex\\
-% test/askinclude-test9.tex & doc/latex/oberdiek/test/askinclude-test9.tex\\
-% test/askinclude-test10.tex & doc/latex/oberdiek/test/askinclude-test10.tex\\
-% test/askinclude-test11.tex & doc/latex/oberdiek/test/askinclude-test11.tex\\
-% test/askinclude-test12.tex & doc/latex/oberdiek/test/askinclude-test12.tex\\
-% test/askinclude-test13.tex & doc/latex/oberdiek/test/askinclude-test13.tex\\
-% test/askinclude-test14.tex & doc/latex/oberdiek/test/askinclude-test14.tex\\
-% test/askinclude-test15.tex & doc/latex/oberdiek/test/askinclude-test15.tex\\
-% test/askinclude-test16.tex & doc/latex/oberdiek/test/askinclude-test16.tex\\
-% test/askinclude-test17.tex & doc/latex/oberdiek/test/askinclude-test17.tex\\
-% test/askinclude-test18.tex & doc/latex/oberdiek/test/askinclude-test18.tex\\
-% test/askinclude-test19.tex & doc/latex/oberdiek/test/askinclude-test19.tex\\
-% test/askinclude-test20.tex & doc/latex/oberdiek/test/askinclude-test20.tex\\
-% test/askinclude-test21.tex & doc/latex/oberdiek/test/askinclude-test21.tex\\
-% test/askinclude-test22.tex & doc/latex/oberdiek/test/askinclude-test22.tex\\
-% test/askinclude-test23.tex & doc/latex/oberdiek/test/askinclude-test23.tex\\
-% test/askinclude-test24.tex & doc/latex/oberdiek/test/askinclude-test24.tex\\
% askinclude.dtx & source/latex/oberdiek/askinclude.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/askinclude.pdf b/macros/latex/contrib/oberdiek/askinclude.pdf
index 12975d6a9a..fac4008a47 100644
--- a/macros/latex/contrib/oberdiek/askinclude.pdf
+++ b/macros/latex/contrib/oberdiek/askinclude.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/atbegshi.dtx b/macros/latex/contrib/oberdiek/atbegshi.dtx
index 3c8c5aa20a..7827606797 100644
--- a/macros/latex/contrib/oberdiek/atbegshi.dtx
+++ b/macros/latex/contrib/oberdiek/atbegshi.dtx
@@ -69,9 +69,6 @@
% TDS:doc/latex/oberdiek/atbegshi.pdf
% TDS:doc/latex/oberdiek/atbegshi-example1.tex
% TDS:doc/latex/oberdiek/atbegshi-example2.tex
-% TDS:doc/latex/oberdiek/test/atbegshi-test1.tex
-% TDS:doc/latex/oberdiek/test/atbegshi-test2.tex
-% TDS:doc/latex/oberdiek/test/atbegshi-test3.tex
% TDS:source/latex/oberdiek/atbegshi.dtx
%
%<*ignore>
@@ -148,10 +145,6 @@ and the derived files
% \file{atbegshi-test1.tex}{\from{atbegshi.dtx}{test1}}%
% \file{atbegshi-test2.tex}{\from{atbegshi.dtx}{test2}}%
% \file{atbegshi-test3.tex}{\from{atbegshi.dtx}{test3}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{atbegshi.xml}{\from{atbegshi.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -188,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{atbegshi.drv}
%
@@ -1866,272 +1844,7 @@ X \endgroup
\AtBegShi@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input atbegshi.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\input atbegshi.sty\relax
-\def\msg#{\immediate\write16}
-\msg{File: atbegshi-test2.tex 2016/06/09 v1.18 Test file for plain-TeX}
-\def\testmsg#1#2{%
- \msg{}%
- \msg{*** Test with box (#1), expected page output [#2]}% hash-ok
-}
-
-\newbox\voidbox
-\def\void{\box\voidbox}
-\begingroup
- \setbox\voidbox=\void
-\endgroup
-
-\count0=0\relax
-\AtBeginShipout{%
- \global\advance\count0 by 1\relax
- \msg{* Inside \string\AtBeginShipout: [\the\count0]}%
-}
-
-\AtBeginShipoutFirst{%
- \msg{* Inside \string\AtBeginShipoutFirst}%
- Hello World%
-}
-
-\testmsg{\string\null}{1}
-\shipout\null
-
-\AtBeginShipoutFirst{%
- This is too late%
-}
-
-\testmsg{void}{}
-\shipout\void
-
-\testmsg{\string\copy255 (not void)}{2}
-\setbox255\hbox{\vrule height 10bp width 10bp}
-\shipout\copy255 %
-
-\testmsg{\string\copy255 (again)}{3}
-\shipout\copy255 %
-
-\testmsg{\string\box255}{4}
-\shipout\box255 %
-
-\testmsg{\string\box255 (again)}{}
-\shipout\box255 %
-
-\testmsg{\string\hbox}{5}
-\shipout\hbox{\vrule height 5bp width 20bp}
-
-\testmsg{\string\vbox}{6}
-\shipout\vbox{\hrule height 20bp width 5bp}
-
-\testmsg{\string\null, voided by hook}{}
-\def\VoidBox{%
- \begingroup
- \setbox\AtBeginShipoutBox=\box\AtBeginShipoutBox
- \endgroup
-}
-\AtBeginShipout{\VoidBox}
-\shipout\null
-\def\VoidBox{}
-
-\msg{*** \string\begingroup}
-\begingroup
- \testmsg{void}{}%
- \shipout\void
-\msg{*** \string\endgroup}
-\endgroup
-
-\msg{*** \string\begingroup}
-\begingroup
- \testmsg{void}{}%
- \shipout\void
- \testmsg{\string\null}{8}%
- \shipout\null
-\msg{*** \string\endgroup}
-\endgroup
-
-\testmsg{output routine}{9}
-Hello World
-\vfill
-\eject
-
-\testmsg{\string\null\space(discarded)}{}
-\AtBeginShipout{%
- \msg{* Inside \string\AtBeginShipout: DISCARD}%
- \AtBeginShipoutDiscard
-}
-\shipout\null
-
-\end
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{atbegshi-test3.tex}[2016/06/09 v1.18 Test file for LaTeX]
-\RequirePackage{color}
-\pagecolor{yellow}
-\documentclass[a5paper,showtrims]{memoir}
-\usepackage{atbegshi}
-\AtBeginShipout{%
- \setbox\AtBeginShipoutBox=\vbox{%
- \vbox to 0pt{%
- \kern-1.5in %
- \hbox to 0pt{%
- \kern-1.5in %
- \color{blue}%
- \rule{1in}{1in}%
- \hss
- }%
- \vss
- }%
- \hrule
- \hbox{\vrule\box\AtBeginShipoutBox\vrule}%
- \hrule
- }%
-}
-\usepackage{eso-pic}
-\makeatletter
-\@ifundefined{@EveryShipout@Init}{%
- \typeout{Test skipped}%
- \@@end
-}{}
-\@EveryShipout@Init
-\let\@EveryShipout@Init\relax
-\makeatother
-\AddToShipoutPicture{%
- \hspace{.52\paperwidth}%
- \colorbox{cyan}{%
- \rule{0mm}{\paperheight}%
- \hspace{.48\paperwidth}%
- }%
-}
-% \end{macrocode}
-% Newer versions of class \xclass{memoir} emulate package
-% \xpackage{crop} and prevents its loading. This is undone
-% in next line for this test file.
-% \begin{macrocode}
-\expandafter\let\csname ver@crop.sty\endcsname\relax
-\usepackage[color=red,cross,a4,center]{crop}
-\begin{document}
-\shipout\null
-\shipout\box\csname voidb@x\endcsname
-\section{Hello World}
-\end{document}
-%</test3>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2182,9 +1895,6 @@ Hello World
% atbegshi.pdf & doc/latex/oberdiek/atbegshi.pdf\\
% atbegshi-example1.tex & doc/latex/oberdiek/atbegshi-example1.tex\\
% atbegshi-example2.tex & doc/latex/oberdiek/atbegshi-example2.tex\\
-% test/atbegshi-test1.tex & doc/latex/oberdiek/test/atbegshi-test1.tex\\
-% test/atbegshi-test2.tex & doc/latex/oberdiek/test/atbegshi-test2.tex\\
-% test/atbegshi-test3.tex & doc/latex/oberdiek/test/atbegshi-test3.tex\\
% atbegshi.dtx & source/latex/oberdiek/atbegshi.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/atbegshi.pdf b/macros/latex/contrib/oberdiek/atbegshi.pdf
index 669658c566..3423553408 100644
--- a/macros/latex/contrib/oberdiek/atbegshi.pdf
+++ b/macros/latex/contrib/oberdiek/atbegshi.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/atenddvi.dtx b/macros/latex/contrib/oberdiek/atenddvi.dtx
index 5ea70c80e5..b1b15af7ab 100644
--- a/macros/latex/contrib/oberdiek/atenddvi.dtx
+++ b/macros/latex/contrib/oberdiek/atenddvi.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{atenddvi.drv}{\from{atenddvi.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{atenddvi.sty}{\from{atenddvi.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{atenddvi.xml}{\from{atenddvi.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{atenddvi.drv}
%
diff --git a/macros/latex/contrib/oberdiek/atenddvi.pdf b/macros/latex/contrib/oberdiek/atenddvi.pdf
index 9d93a21ab7..24fbfaed17 100644
--- a/macros/latex/contrib/oberdiek/atenddvi.pdf
+++ b/macros/latex/contrib/oberdiek/atenddvi.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/atveryend.dtx b/macros/latex/contrib/oberdiek/atveryend.dtx
index 7801120e07..a6e2ef52fa 100644
--- a/macros/latex/contrib/oberdiek/atveryend.dtx
+++ b/macros/latex/contrib/oberdiek/atveryend.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/atveryend.sty
% TDS:doc/latex/oberdiek/atveryend.pdf
-% TDS:doc/latex/oberdiek/test/atveryend-test1.tex
% TDS:source/latex/oberdiek/atveryend.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{atveryend.sty}{\from{atveryend.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{atveryend-test1.tex}{\from{atveryend.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{atveryend.xml}{\from{atveryend.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{atveryend.drv}
%
@@ -1187,118 +1167,7 @@ and the derived files
\AtVeryEnd@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input atveryend.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1347,7 +1216,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% atveryend.sty & tex/latex/oberdiek/atveryend.sty\\
% atveryend.pdf & doc/latex/oberdiek/atveryend.pdf\\
-% test/atveryend-test1.tex & doc/latex/oberdiek/test/atveryend-test1.tex\\
% atveryend.dtx & source/latex/oberdiek/atveryend.dtx\\
% \end{tabular}^^A
% }^^A
@@ -1478,13 +1346,13 @@ and the derived files
% James Darrell McCauley, Jeff Goldberg:
% \textit{The \xpackage{endfloat} package};
% 1995/10/11 v2.4i;
-% \CTAN{macros/latex/contrib/endfloat/endfloat.pdf}.
+% \CTANpkg{endfloat}.
%
% \bibitem{etoolbox}
% Philipp Lehmann:
% \textit{The \xpackage{etoolbox} package};
% 2009/08/06 v1.8;
-% \CTAN{macros/latex/contrib/etoolbox/etoolbox.pdf}.
+% \CTANpkg{etoolbox}.
%
% \bibitem{hyperref}
% Sebastian Rahtz, Heiko Oberdiek:
diff --git a/macros/latex/contrib/oberdiek/atveryend.pdf b/macros/latex/contrib/oberdiek/atveryend.pdf
index e99485f48a..8a25fcdc9a 100644
--- a/macros/latex/contrib/oberdiek/atveryend.pdf
+++ b/macros/latex/contrib/oberdiek/atveryend.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/auxhook.dtx b/macros/latex/contrib/oberdiek/auxhook.dtx
index ac5711ed25..6a9674bcca 100644
--- a/macros/latex/contrib/oberdiek/auxhook.dtx
+++ b/macros/latex/contrib/oberdiek/auxhook.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{auxhook.drv}{\from{auxhook.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{auxhook.sty}{\from{auxhook.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{auxhook.xml}{\from{auxhook.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{auxhook.drv}
%
@@ -581,7 +562,7 @@ and the derived files
% \bibitem{hypdestopt}
% Heiko Oberdiek: \textit{The \xpackage{hypdestopt} package};
% 2006/05/30 v1.0;
-% \CTAN{macros/latex/contrib/oberdiek/hypdestopt.pdf}.
+% \CTANpkg{hypdestopt}.
%
% \bibitem{hyperref}
% Sebastian Rahtz, Heiko Oberdiek:
@@ -592,7 +573,7 @@ and the derived files
% \bibitem{zref}
% Heiko Oberdiek: \textit{The \xpackage{zref} package};
% 2006/05/25 v1.2;
-% \CTAN{macros/latex/contrib/oberdiek/zref.pdf}.
+% \CTANpkg{zref}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/auxhook.pdf b/macros/latex/contrib/oberdiek/auxhook.pdf
index b49a8bb86b..03097c28c7 100644
--- a/macros/latex/contrib/oberdiek/auxhook.pdf
+++ b/macros/latex/contrib/oberdiek/auxhook.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/bigintcalc.dtx b/macros/latex/contrib/oberdiek/bigintcalc.dtx
index 004fd97c14..40fa56ed1d 100644
--- a/macros/latex/contrib/oberdiek/bigintcalc.dtx
+++ b/macros/latex/contrib/oberdiek/bigintcalc.dtx
@@ -67,9 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/bigintcalc.sty
% TDS:doc/latex/oberdiek/bigintcalc.pdf
-% TDS:doc/latex/oberdiek/test/bigintcalc-test1.tex
-% TDS:doc/latex/oberdiek/test/bigintcalc-test2.tex
-% TDS:doc/latex/oberdiek/test/bigintcalc-test3.tex
% TDS:source/latex/oberdiek/bigintcalc.dtx
%
%<*ignore>
@@ -143,10 +140,6 @@ and the derived files
% \file{bigintcalc-test1.tex}{\from{bigintcalc.dtx}{test1}}%
% \file{bigintcalc-test2.tex}{\from{bigintcalc.dtx}{test2,etex}}%
% \file{bigintcalc-test3.tex}{\from{bigintcalc.dtx}{test2,noetex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{bigintcalc.xml}{\from{bigintcalc.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -218,21 +211,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{bigintcalc.drv}
%
@@ -3395,932 +3373,7 @@ $ \BIC@Temp 9{18\or27\or36\or45\or54\or63\or72\or81}%
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input bigintcalc.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble with test macro definitions}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedNumexpr\numexpr
-%<noetex>\let\numexpr\UNDEFINED
-\makeatletter
-\chardef\BIC@TestMode=1 %
-\makeatother
-\usepackage{bigintcalc}[2016/05/16]
-%<noetex>\let\numexpr\SavedNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\newcommand*{\TestSpaceAtEnd}[1]{%
-%<noetex> \let\SavedNumexpr\numexpr
-%<noetex> \let\numexpr\UNDEFINED
- \edef\resultA{#1}%
- \edef\resultB{#1 }%
-%<noetex> \let\numexpr\SavedNumexpr
- \Expect*{\resultA\space}*{\resultB}%
-}
-\newcommand*{\TestResult}[2]{%
-%<noetex> \let\SavedNumexpr\numexpr
-%<noetex> \let\numexpr\UNDEFINED
- \edef\result{#1}%
-%<noetex> \let\numexpr\SavedNumexpr
- \Expect*{\result}{#2}%
-}
-\newcommand*{\TestResultTwoExpansions}[2]{%
-%<*noetex>
- \begingroup
- \let\numexpr\UNDEFINED
- \expandafter\expandafter\expandafter
- \endgroup
-%</noetex>
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{#1}{#2}%
-}
-\newcount\TestCount
-%<etex>\newcommand*{\TestArg}[1]{\numexpr#1\relax}
-%<noetex>\newcommand*{\TestArg}[1]{#1}
-\newcommand*{\TestTeXDivide}[2]{%
- \TestCount=\TestArg{#1}\relax
- \divide\TestCount by \TestArg{#2}\relax
- \Expect*{\bigintcalcDiv{#1}{#2}}*{\the\TestCount}%
-}
-\newcommand*{\Test}[2]{%
- \TestResult{#1}{#2}%
- \TestResultTwoExpansions{#1}{#2}%
- \TestSpaceAtEnd{#1}%
-}
-\newcommand*{\TestExch}[2]{\Test{#2}{#1}}
-\newcommand*{\TestInv}[2]{%
- \Test{\bigintcalcInv{#1}}{#2}%
-}
-\newcommand*{\TestAbs}[2]{%
- \Test{\bigintcalcAbs{#1}}{#2}%
-}
-\newcommand*{\TestSgn}[2]{%
- \Test{\bigintcalcSgn{#1}}{#2}%
-}
-\newcommand*{\TestMin}[3]{%
- \Test{\bigintcalcMin{#1}{#2}}{#3}%
-}
-\newcommand*{\TestMax}[3]{%
- \Test{\bigintcalcMax{#1}{#2}}{#3}%
-}
-\newcommand*{\TestCmp}[3]{%
- \Test{\bigintcalcCmp{#1}{#2}}{#3}%
-}
-\newcommand*{\TestOdd}[2]{%
- \Test{\bigintcalcOdd{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcOdd
- \bigintcalcAbs{#1}!%
- }{#2}%
- }%
- \x
-}
-\newcommand*{\TestInc}[2]{%
- \Test{\bigintcalcInc{#1}}{#2}%
- \ifnum\bigintcalcSgn{#1}>-1 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcInc\bigintcalcNum{#1}!%
- }{#2}%
- }%
- \x
- \fi
-}
-\newcommand*{\TestDec}[2]{%
- \Test{\bigintcalcDec{#1}}{#2}%
- \ifnum\bigintcalcSgn{#1}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcDec\bigintcalcNum{#1}!%
- }{#2}%
- }%
- \x
- \fi
-}
-\newcommand*{\TestAdd}[3]{%
- \Test{\bigintcalcAdd{#1}{#2}}{#3}%
- \ifnum\bigintcalcSgn{#1}>0 %
- \ifnum\bigintcalcSgn{#2}> 0 %
- \ifnum\bigintcalcCmp{#1}{#2}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcAdd
- \bigintcalcNum{#1}!\bigintcalcNum{#2}!%
- }{#3}%
- }%
- \x
- \else
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcAdd
- \bigintcalcNum{#2}!\bigintcalcNum{#1}!%
- }{#3}%
- }%
- \x
- \fi
- \fi
- \fi
-}
-\newcommand*{\TestSub}[3]{%
- \Test{\bigintcalcSub{#1}{#2}}{#3}%
- \ifnum\bigintcalcSgn{#1}>0 %
- \ifnum\bigintcalcSgn{#2}> 0 %
- \ifnum\bigintcalcCmp{#1}{#2}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcSub
- \bigintcalcNum{#1}!\bigintcalcNum{#2}!%
- }{#3}%
- }%
- \x
- \fi
- \fi
- \fi
-}
-\newcommand*{\TestShl}[2]{%
- \Test{\bigintcalcShl{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcShl\bigintcalcAbs{#1}!%
- }{\bigintcalcAbs{#2}}%
- }%
- \x
-}
-\newcommand*{\TestShr}[2]{%
- \Test{\bigintcalcShr{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcShr\bigintcalcAbs{#1}!%
- }{\bigintcalcAbs{#2}}%
- }%
- \x
-}
-\newcommand*{\TestMul}[3]{%
- \Test{\bigintcalcMul{#1}{#2}}{#3}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcMul
- \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
- }{\bigintcalcAbs{#3}}%
- }%
- \x
-}
-\newcommand*{\TestSqr}[2]{%
- \Test{\bigintcalcSqr{#1}}{#2}%
-}
-\newcommand*{\TestFac}[2]{%
- \expandafter\TestExch\expandafter{%
- \the\numexpr#2%
- }{\bigintcalcFac{#1}}%
-}
-\newcommand*{\TestFacBig}[2]{%
- \Test{\bigintcalcFac{#1}}{#2}%
-}
-\newcommand*{\TestPow}[3]{%
- \Test{\bigintcalcPow{#1}{#2}}{#3}%
-}
-\newcommand*{\TestDiv}[3]{%
- \Test{\bigintcalcDiv{#1}{#2}}{#3}%
- \TestTeXDivide{#1}{#2}%
-}
-\newcommand*{\TestDivBig}[3]{%
- \Test{\bigintcalcDiv{#1}{#2}}{#3}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcDiv\bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
- }{\bigintcalcAbs{#3}}%
- }%
-}
-\newcommand*{\TestMod}[3]{%
- \Test{\bigintcalcMod{#1}{#2}}{#3}%
- \ifcase\ifcase\bigintcalcSgn{#1} 0%
- \or
- \ifcase\bigintcalcSgn{#2} 1%
- \or 0%
- \else 1%
- \fi
- \else
- \ifcase\bigintcalcSgn{#2} 1%
- \or 1%
- \else 0%
- \fi
- \fi\relax
- \edef\x{%
- \noexpand\Test{%
- \noexpand\BigIntCalcMod
- \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!%
- }{\bigintcalcAbs{#3}}%
- }%
- \x
- \fi
-}
-% \end{macrocode}
-%
-% \subsubsection{Time}
-%
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
- \makeatletter
- \newcount\SummaryTime
- \newcount\TestTime
- \SummaryTime=\z@
- \newcommand*{\PrintTime}[2]{%
- \typeout{%
- [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]%
- }%
- }%
- \newcommand*{\StartTime}[1]{%
- \renewcommand*{\TimeDescription}{#1}%
- \pdfresettimer
- }%
- \newcommand*{\TimeDescription}{}%
- \newcommand*{\StopTime}{%
- \TestTime=\pdfelapsedtime
- \global\advance\SummaryTime\TestTime
- \PrintTime\TimeDescription\TestTime
- }%
- \let\saved@qstest\qstest
- \let\saved@endqstest\endqstest
- \def\qstest#1#2{%
- \saved@qstest{#1}{#2}%
- \StartTime{#1}%
- }%
- \def\endqstest{%
- \StopTime
- \saved@endqstest
- }%
- \AtEndDocument{%
- \PrintTime{summary}\SummaryTime
- }%
- \makeatother
-\fi
-% \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-% \begin{macrocode}
-\makeatletter
-
-\begin{qstest}{inv}{inv}%
- \TestInv{0}{0}%
- \TestInv{1}{-1}%
- \TestInv{-1}{1}%
- \TestInv{10}{-10}%
- \TestInv{-10}{10}%
- \TestInv{2147483647}{-2147483647}%
- \TestInv{-2147483647}{2147483647}%
- \TestInv{12345678901234567890}{-12345678901234567890}%
- \TestInv{-12345678901234567890}{12345678901234567890}%
- \TestInv{ 0 }{0}%
- \TestInv{ 1 }{-1}%
- \TestInv{--1}{-1}%
- \TestInv{\number\z@}{0}%
- \TestInv{\ifx\relax\relax1\fi}{-1}%
- \TestInv{\ifx\relax\relax-\fi\ifx234\else1\fi}{1}%
-\end{qstest}
-
-\begin{qstest}{abs}{abs}%
- \TestAbs{0}{0}%
- \TestAbs{1}{1}%
- \TestAbs{-1}{1}%
- \TestAbs{10}{10}%
- \TestAbs{-10}{10}%
- \TestAbs{2147483647}{2147483647}%
- \TestAbs{-2147483647}{2147483647}%
- \TestAbs{12345678901234567890}{12345678901234567890}%
- \TestAbs{-12345678901234567890}{12345678901234567890}%
- \TestAbs{ 0 }{0}%
- \TestAbs{ 1 }{1}%
- \TestAbs{--1}{1}%
- \TestAbs{-+-+1}{1}%
- \TestAbs{00000000000}{0}%
- \TestAbs{00000001000}{1000}%
- \TestAbs{\ifx\relax\relax 0\else 1\fi}{0}%
-\end{qstest}
-
-\begin{qstest}{sign}{sign}%
- \TestSgn{0}{0}%
- \TestSgn{1}{1}%
- \TestSgn{-1}{-1}%
- \TestSgn{10}{1}%
- \TestSgn{-10}{-1}%
- \TestSgn{2147483647}{1}%
- \TestSgn{-2147483647}{-1}%
- \TestSgn{12345678901234567890}{1}%
- \TestSgn{-12345678901234567890}{-1}%
- \TestSgn{ 0 }{0}%
- \TestSgn{ 2 }{1}%
- \TestSgn{ -2 }{-1}%
- \TestSgn{--2}{1}%
- \TestSgn{\number\z@}{0}%
- \TestSgn{\number\@ne}{1}%
- \TestSgn{\number\m@ne}{-1}%
- \TestSgn{%
- -+-+\number\z@\number\z@
- \iftrue1\fi\iftrue2\fi\iftrue3\fi
- }{1}%
-\end{qstest}
-
-\begin{qstest}{min}{min}%
- \TestMin{0}{1}{0}%
- \TestMin{1}{0}{0}%
- \TestMin{-10}{-20}{-20}%
- \TestMin{ 1 }{ 2 }{1}%
- \TestMin{ 2 }{ 1 }{1}%
- \TestMin{1}{1}{1}%
- \TestMin{\number\z@}{\number\@ne}{0}%
- \TestMin{\number\@ne}{\number\m@ne}{-1}%
-\end{qstest}
-
-\begin{qstest}{max}{max}%
- \TestMax{0}{1}{1}%
- \TestMax{1}{0}{1}%
- \TestMax{-10}{-20}{-10}%
- \TestMax{ 1 }{ 2 }{2}%
- \TestMax{ 2 }{ 1 }{2}%
- \TestMax{1}{1}{1}%
- \TestMax{\number\z@}{\number\@ne}{1}%
- \TestMax{\number\@ne}{\number\m@ne}{1}%
-\end{qstest}
-
-\begin{qstest}{cmp}{cmp}%
- \TestCmp{0}{0}{0}%
- \TestCmp{-21}{17}{-1}%
- \TestCmp{3}{4}{-1}%
- \TestCmp{-10}{-10}{0}%
- \TestCmp{-10}{-11}{1}%
- \TestCmp{100}{5}{1}%
- \TestCmp{9}{10}{-1}%
- \TestCmp{10}{9}{1}%
- \TestCmp{ 3 }{ 3 }{0}%
- \TestCmp{-9}{-10}{1}%
- \TestCmp{-10}{-9}{-1}%
- \TestCmp{-3}{-3}{0}%
- \TestCmp{0}{-2}{1}%
- \TestCmp{0}{2}{-1}%
- \TestCmp{2}{0}{1}%
- \TestCmp{-2}{0}{-1}%
- \TestCmp{12}{11}{1}%
- \TestCmp{11}{12}{-1}%
- \TestCmp{2147483647}{-2147483647}{1}%
- \TestCmp{-2147483647}{2147483647}{-1}%
- \TestCmp{2147483647}{2147483647}{0}%
- \TestCmp{\number\z@}{\number\@ne}{-1}%
- \TestCmp{\number\@ne}{\number\m@ne}{1}%
- \TestCmp{ 4 }{ 5 }{-1}%
- \TestCmp{ -3 }{ -7 }{1}%
-\end{qstest}
-
-\begin{qstest}{odd}{odd}
-\tracingmacros=1
- \TestOdd{0}{0}%
- \TestOdd{1}{1}%
- \TestOdd{2}{0}%
- \TestOdd{3}{1}%
- \TestOdd{14}{0}%
- \TestOdd{15}{1}%
- \TestOdd{12345678901234567896}{0}%
- \TestOdd{12345678901234567897}{1}%
-\end{qstest}
-
-\begin{qstest}{inc}{inc}%
- \TestInc{0}{1}%
- \TestInc{1}{2}%
- \TestInc{-1}{0}%
- \TestInc{10}{11}%
- \TestInc{-10}{-9}%
- \TestInc{ 3 }{4}%
- \TestInc{999}{1000}%
- \TestInc{-1000}{-999}%
- \TestInc{129}{130}%
- \TestInc{2147483646}{2147483647}%
- \TestInc{-2147483647}{-2147483646}%
- \TestInc{12345678901234567890}{12345678901234567891}%
- \TestInc{99999999999999999999}{100000000000000000000}%
- \TestInc{-12345678901234567891}{-12345678901234567890}%
- \TestInc{-100000000000000000000}{-99999999999999999999}%
-\end{qstest}
-
-\begin{qstest}{dec}{dec}%
- \TestDec{0}{-1}%
- \TestDec{1}{0}%
- \TestDec{-1}{-2}%
- \TestDec{10}{9}%
- \TestDec{-10}{-11}%
- \TestDec{1000}{999}%
- \TestDec{-999}{-1000}%
- \TestDec{130}{129}%
- \TestDec{2147483647}{2147483646}%
- \TestDec{-2147483646}{-2147483647}%
- \TestDec{12345678901234567891}{12345678901234567890}%
- \TestDec{100000000000000000000}{99999999999999999999}%
- \TestDec{-12345678901234567890}{-12345678901234567891}%
- \TestDec{-99999999999999999999}{-100000000000000000000}%
-\end{qstest}
-
-\begin{qstest}{add}{add}%
- \TestAdd{0}{0}{0}%
- \TestAdd{1}{0}{1}%
- \TestAdd{0}{1}{1}%
- \TestAdd{1}{2}{3}%
- \TestAdd{-1}{-1}{-2}%
- \TestAdd{2147483646}{1}{2147483647}%
- \TestAdd{-2147483647}{2147483647}{0}%
- \TestAdd{20}{-5}{15}%
- \TestAdd{-4}{-1}{-5}%
- \TestAdd{-1}{-4}{-5}%
- \TestAdd{-4}{1}{-3}%
- \TestAdd{-1}{4}{3}%
- \TestAdd{4}{-1}{3}%
- \TestAdd{1}{-4}{-3}%
- \TestAdd{-4}{-1}{-5}%
- \TestAdd{-1}{-4}{-5}%
- \TestAdd{ -4 }{ -1 }{-5}%
- \TestAdd{ -1 }{ -4 }{-5}%
- \TestAdd{ -4 }{ 1 }{-3}%
- \TestAdd{ -1 }{ 4 }{3}%
- \TestAdd{ 4 }{ -1 }{3}%
- \TestAdd{ 1 }{ -4 }{-3}%
- \TestAdd{ -4 }{ -1 }{-5}%
- \TestAdd{ -1 }{ -4 }{-5}%
- \TestAdd{876543210}{111111111}{987654321}%
- \TestAdd{999999999}{2}{1000000001}%
-\end{qstest}
-
-\begin{qstest}{sub}{sub}
- \TestSub{0}{0}{0}%
- \TestSub{1}{0}{1}%
- \TestSub{1}{2}{-1}%
- \TestSub{-1}{-1}{0}%
- \TestSub{2147483646}{-1}{2147483647}%
- \TestSub{-2147483647}{-2147483647}{0}%
- \TestSub{-4}{-1}{-3}%
- \TestSub{-1}{-4}{3}%
- \TestSub{-4}{1}{-5}%
- \TestSub{-1}{4}{-5}%
- \TestSub{4}{-1}{5}%
- \TestSub{1}{-4}{5}%
- \TestSub{-4}{-1}{-3}%
- \TestSub{-1}{-4}{3}%
- \TestSub{ -4 }{ -1 }{-3}%
- \TestSub{ -1 }{ -4 }{3}%
- \TestSub{ -4 }{ 1 }{-5}%
- \TestSub{ -1 }{ 4 }{-5}%
- \TestSub{ 4 }{ -1 }{5}%
- \TestSub{ 1 }{ -4 }{5}%
- \TestSub{ -4 }{ -1 }{-3}%
- \TestSub{ -1 }{ -4 }{3}%
- \TestSub{1000000000}{2}{999999998}%
- \TestSub{987654321}{111111111}{876543210}%
-\end{qstest}
-
-\begin{qstest}{shl}{shl}
- \TestShl{0}{0}%
- \TestShl{1}{2}%
- \TestShl{2}{4}%
- \TestShl{5621}{11242}%
- \TestShl{1073741823}{2147483646}%
-\end{qstest}
-
-\begin{qstest}{shr}{shr}
- \TestShr{0}{0}%
- \TestShr{1}{0}%
- \TestShr{2}{1}%
- \TestShr{3}{1}%
- \TestShr{4}{2}%
- \TestShr{5}{2}%
- \TestShr{6}{3}%
- \TestShr{7}{3}%
- \TestShr{8}{4}%
- \TestShr{9}{4}%
- \TestShr{10}{5}%
- \TestShr{11}{5}%
- \TestShr{12}{6}%
- \TestShr{13}{6}%
- \TestShr{14}{7}%
- \TestShr{15}{7}%
- \TestShr{16}{8}%
- \TestShr{17}{8}%
- \TestShr{18}{9}%
- \TestShr{19}{9}%
- \TestShr{20}{10}%
- \TestShr{21}{10}%
- \TestShr{22}{11}%
- \TestShr{11241}{5620}%
- \TestShr{73054202}{36527101}%
- \TestShr{2147483646}{1073741823}%
-\end{qstest}
-
-\begin{qstest}{mul}{mul}
- \TestMul{0}{0}{0}%
- \TestMul{1}{0}{0}%
- \TestMul{0}{1}{0}%
- \TestMul{1}{1}{1}%
- \TestMul{3}{1}{3}%
- \TestMul{1}{-3}{-3}%
- \TestMul{-4}{-5}{20}%
- \TestMul{3}{7}{21}%
- \TestMul{7}{3}{21}%
- \TestMul{3}{-7}{-21}%
- \TestMul{7}{-3}{-21}%
- \TestMul{-3}{7}{-21}%
- \TestMul{-7}{3}{-21}%
- \TestMul{-3}{-7}{21}%
- \TestMul{-7}{-3}{21}%
- \TestMul{12}{11}{132}%
- \TestMul{999}{333}{332667}%
- \TestMul{1000}{4321}{4321000}%
- \TestMul{12345}{173955}{2147474475}%
- \TestMul{1073741823}{2}{2147483646}%
- \TestMul{2}{1073741823}{2147483646}%
- \TestMul{-1073741823}{2}{-2147483646}%
- \TestMul{2}{-1073741823}{-2147483646}%
- \TestMul{6706022400}{13}{87178291200}%
-\end{qstest}
-
-\begin{qstest}{sqr}{sqr}
- \TestSqr{0}{0}%
- \TestSqr{1}{1}%
- \TestSqr{2}{4}%
- \TestSqr{3}{9}%
- \TestSqr{4}{16}%
- \TestSqr{9}{81}%
- \TestSqr{10}{100}%
- \TestSqr{46340}{2147395600}%
- \TestSqr{-1}{1}%
- \TestSqr{-2}{4}%
- \TestSqr{-46340}{2147395600}%
-\end{qstest}
-
-\begin{qstest}{fac}{fac}
- \TestFac{0}{1}%
- \TestFac{1}{1}%
- \TestFac{2}{2}%
- \TestFac{3}{2*3}%
- \TestFac{4}{2*3*4}%
- \TestFac{5}{2*3*4*5}%
- \TestFac{6}{2*3*4*5*6}%
- \TestFac{7}{2*3*4*5*6*7}%
- \TestFac{8}{2*3*4*5*6*7*8}%
- \TestFac{9}{2*3*4*5*6*7*8*9}%
- \TestFac{10}{2*3*4*5*6*7*8*9*10}%
- \TestFac{11}{2*3*4*5*6*7*8*9*10*11}%
- \TestFac{12}{2*3*4*5*6*7*8*9*10*11*12}%
- \TestFacBig{13}{6227020800}%
- \TestFacBig{14}{87178291200}%
- \TestFacBig{15}{1307674368000}%
- \TestFacBig{16}{20922789888000}%
- \TestFacBig{17}{355687428096000}%
- \TestFacBig{18}{6402373705728000}%
- \TestFacBig{19}{121645100408832000}%
- \TestFacBig{20}{2432902008176640000}%
- \TestFacBig{21}{51090942171709440000}%
- \TestFacBig{22}{1124000727777607680000}%
-\end{qstest}
-
-\begin{qstest}{pow}{pow}
- \TestPow{-2}{0}{1}%
- \TestPow{-1}{0}{1}%
- \TestPow{0}{0}{1}%
- \TestPow{1}{0}{1}%
- \TestPow{2}{0}{1}%
- \TestPow{3}{0}{1}%
- \TestPow{-2}{1}{-2}%
- \TestPow{-1}{1}{-1}%
- \TestPow{1}{1}{1}%
- \TestPow{2}{1}{2}%
- \TestPow{3}{1}{3}%
- \TestPow{-2}{2}{4}%
- \TestPow{-1}{2}{1}%
- \TestPow{0}{2}{0}%
- \TestPow{1}{2}{1}%
- \TestPow{2}{2}{4}%
- \TestPow{3}{2}{9}%
- \TestPow{0}{1}{0}%
- \TestPow{1}{-2}{1}%
- \TestPow{1}{-1}{1}%
- \TestPow{-1}{-2}{1}%
- \TestPow{-1}{-1}{-1}%
- \TestPow{-1}{3}{-1}%
- \TestPow{-1}{4}{1}%
- \TestPow{-2}{-1}{0}%
- \TestPow{-2}{-2}{0}%
- \TestPow{2}{3}{8}%
- \TestPow{2}{4}{16}%
- \TestPow{2}{5}{32}%
- \TestPow{2}{6}{64}%
- \TestPow{2}{7}{128}%
- \TestPow{2}{8}{256}%
- \TestPow{2}{9}{512}%
- \TestPow{2}{10}{1024}%
- \TestPow{-2}{3}{-8}%
- \TestPow{-2}{4}{16}%
- \TestPow{-2}{5}{-32}%
- \TestPow{-2}{6}{64}%
- \TestPow{-2}{7}{-128}%
- \TestPow{-2}{8}{256}%
- \TestPow{-2}{9}{-512}%
- \TestPow{-2}{10}{1024}%
- \TestPow{3}{3}{27}%
- \TestPow{3}{4}{81}%
- \TestPow{3}{5}{243}%
- \TestPow{-3}{3}{-27}%
- \TestPow{-3}{4}{81}%
- \TestPow{-3}{5}{-243}%
- \TestPow{2}{30}{1073741824}%
- \TestPow{-3}{19}{-1162261467}%
- \TestPow{5}{13}{1220703125}%
- \TestPow{-7}{11}{-1977326743}%
-\end{qstest}
-
-\begin{qstest}{div}{div}
- \TestDiv{1}{1}{1}%
- \TestDiv{2}{1}{2}%
- \TestDiv{-2}{1}{-2}%
- \TestDiv{2}{-1}{-2}%
- \TestDiv{-2}{-1}{2}%
- \TestDiv{15}{2}{7}%
- \TestDiv{-16}{2}{-8}%
- \TestDiv{1}{2}{0}%
- \TestDiv{1}{3}{0}%
- \TestDiv{2}{3}{0}%
- \TestDiv{-2}{3}{0}%
- \TestDiv{2}{-3}{0}%
- \TestDiv{-2}{-3}{0}%
- \TestDiv{13}{3}{4}%
- \TestDiv{-13}{-3}{4}%
- \TestDiv{-13}{3}{-4}%
- \TestDiv{-6}{5}{-1}%
- \TestDiv{-5}{5}{-1}%
- \TestDiv{-4}{5}{0}%
- \TestDiv{-3}{5}{0}%
- \TestDiv{-2}{5}{0}%
- \TestDiv{-1}{5}{0}%
- \TestDiv{0}{5}{0}%
- \TestDiv{1}{5}{0}%
- \TestDiv{2}{5}{0}%
- \TestDiv{3}{5}{0}%
- \TestDiv{4}{5}{0}%
- \TestDiv{5}{5}{1}%
- \TestDiv{6}{5}{1}%
- \TestDiv{-5}{4}{-1}%
- \TestDiv{-4}{4}{-1}%
- \TestDiv{-3}{4}{0}%
- \TestDiv{-2}{4}{0}%
- \TestDiv{-1}{4}{0}%
- \TestDiv{0}{4}{0}%
- \TestDiv{1}{4}{0}%
- \TestDiv{2}{4}{0}%
- \TestDiv{3}{4}{0}%
- \TestDiv{4}{4}{1}%
- \TestDiv{5}{4}{1}%
- \TestDiv{12345}{678}{18}%
- \TestDiv{32372}{5952}{5}%
- \TestDiv{284271294}{18162}{15651}%
- \TestDiv{217652429}{12561}{17327}%
- \TestDiv{462028434}{5439}{84947}%
- \TestDiv{2147483647}{1000}{2147483}%
- \TestDiv{2147483647}{-1000}{-2147483}%
- \TestDiv{-2147483647}{1000}{-2147483}%
- \TestDiv{-2147483647}{-1000}{2147483}%
- \TestDiv{0}{3}{0}%
- \TestDiv{1}{3}{0}%
- \TestDiv{2}{3}{0}%
- \TestDiv{3}{3}{1}%
- \TestDiv{4}{3}{1}%
- \TestDiv{5}{3}{1}%
- \TestDiv{6}{3}{2}%
- \TestDiv{7}{3}{2}%
- \TestDiv{8}{3}{2}%
- \TestDiv{9}{3}{3}%
- \TestDiv{10}{3}{3}%
- \TestDiv{11}{3}{3}%
- \TestDiv{12}{3}{4}%
- \TestDiv{13}{3}{4}%
- \TestDiv{14}{3}{4}%
- \TestDiv{15}{3}{5}%
- \TestDiv{16}{3}{5}%
- \TestDiv{17}{3}{5}%
- \TestDiv{18}{3}{6}%
- \TestDiv{19}{3}{6}%
- \TestDiv{20}{3}{6}%
- \TestDiv{21}{3}{7}%
- \TestDiv{22}{3}{7}%
- \TestDiv{23}{3}{7}%
- \TestDiv{24}{3}{8}%
- \TestDiv{25}{3}{8}%
- \TestDiv{26}{3}{8}%
- \TestDiv{27}{3}{9}%
- \TestDiv{28}{3}{9}%
- \TestDiv{29}{3}{9}%
- \TestDiv{30}{3}{10}%
- \TestDiv{31}{3}{10}%
- \TestDivBig{17363436332507}{24702}{702916214}%
-\end{qstest}
-
-\begin{qstest}{mod}{mod}
- \TestMod{-6}{5}{4}%
- \TestMod{-5}{5}{0}%
- \TestMod{-4}{5}{1}%
- \TestMod{-3}{5}{2}%
- \TestMod{-2}{5}{3}%
- \TestMod{-1}{5}{4}%
- \TestMod{0}{5}{0}%
- \TestMod{1}{5}{1}%
- \TestMod{2}{5}{2}%
- \TestMod{3}{5}{3}%
- \TestMod{4}{5}{4}%
- \TestMod{5}{5}{0}%
- \TestMod{6}{5}{1}%
- \TestMod{-5}{4}{3}%
- \TestMod{-4}{4}{0}%
- \TestMod{-3}{4}{1}%
- \TestMod{-2}{4}{2}%
- \TestMod{-1}{4}{3}%
- \TestMod{0}{4}{0}%
- \TestMod{1}{4}{1}%
- \TestMod{2}{4}{2}%
- \TestMod{3}{4}{3}%
- \TestMod{4}{4}{0}%
- \TestMod{5}{4}{1}%
- \TestMod{-6}{-5}{-1}%
- \TestMod{-5}{-5}{0}%
- \TestMod{-4}{-5}{-4}%
- \TestMod{-3}{-5}{-3}%
- \TestMod{-2}{-5}{-2}%
- \TestMod{-1}{-5}{-1}%
- \TestMod{0}{-5}{0}%
- \TestMod{1}{-5}{-4}%
- \TestMod{2}{-5}{-3}%
- \TestMod{3}{-5}{-2}%
- \TestMod{4}{-5}{-1}%
- \TestMod{5}{-5}{0}%
- \TestMod{6}{-5}{-4}%
- \TestMod{-5}{-4}{-1}%
- \TestMod{-4}{-4}{0}%
- \TestMod{-3}{-4}{-3}%
- \TestMod{-2}{-4}{-2}%
- \TestMod{-1}{-4}{-1}%
- \TestMod{0}{-4}{0}%
- \TestMod{1}{-4}{-3}%
- \TestMod{2}{-4}{-2}%
- \TestMod{3}{-4}{-1}%
- \TestMod{4}{-4}{0}%
- \TestMod{5}{-4}{-3}%
- \TestMod{2147483647}{1000}{647}%
- \TestMod{2147483647}{-1000}{-353}%
- \TestMod{-2147483647}{1000}{353}%
- \TestMod{-2147483647}{-1000}{-647}%
- \TestMod{ 0 }{ 4 }{0}%
- \TestMod{ 1 }{ 4 }{1}%
- \TestMod{ -1 }{ 4 }{3}%
- \TestMod{ 0 }{ -4 }{0}%
- \TestMod{ 1 }{ -4 }{-3}%
- \TestMod{ -1 }{ -4 }{-1}%
- \TestMod{18362}{25}{12}%
-\end{qstest}
-
-\newcommand*{\TestError}[2]{%
- \begingroup
- \expandafter\def\csname BigIntCalcError:#1\endcsname{}%
- \Expect*{#2}{0}%
- \expandafter\def\csname BigIntCalcError:#1\endcsname{ERROR}%
- \Expect*{#2}{0ERROR}%
- \endgroup
-}
-\begin{qstest}{error}{error}
- \TestError{FacNegative}{\bigintcalcFac{-1}}%
- \TestError{FacNegative}{\bigintcalcFac{-2147483647}}%
- \TestError{DivisionByZero}{\bigintcalcPow{0}{-1}}%
- \TestError{DivisionByZero}{\bigintcalcDiv{1}{0}}%
- \TestError{DivisionByZero}{\bigintcalcMod{1}{0}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -4369,9 +3422,6 @@ $ \BIC@Temp 9{18\or27\or36\or45\or54\or63\or72\or81}%
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% bigintcalc.sty & tex/generic/oberdiek/bigintcalc.sty\\
% bigintcalc.pdf & doc/latex/oberdiek/bigintcalc.pdf\\
-% test/bigintcalc-test1.tex & doc/latex/oberdiek/test/bigintcalc-test1.tex\\
-% test/bigintcalc-test2.tex & doc/latex/oberdiek/test/bigintcalc-test2.tex\\
-% test/bigintcalc-test3.tex & doc/latex/oberdiek/test/bigintcalc-test3.tex\\
% bigintcalc.dtx & source/latex/oberdiek/bigintcalc.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/bigintcalc.pdf b/macros/latex/contrib/oberdiek/bigintcalc.pdf
index 2b05dfda17..35efdbd674 100644
--- a/macros/latex/contrib/oberdiek/bigintcalc.pdf
+++ b/macros/latex/contrib/oberdiek/bigintcalc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/bitset.dtx b/macros/latex/contrib/oberdiek/bitset.dtx
index d5808e0a27..dbb7c1ba2a 100644
--- a/macros/latex/contrib/oberdiek/bitset.dtx
+++ b/macros/latex/contrib/oberdiek/bitset.dtx
@@ -66,9 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/bitset.sty
% TDS:doc/latex/oberdiek/bitset.pdf
-% TDS:doc/latex/oberdiek/test/bitset-test1.tex
-% TDS:doc/latex/oberdiek/test/bitset-test2.tex
-% TDS:doc/latex/oberdiek/test/bitset-test3.tex
% TDS:source/latex/oberdiek/bitset.dtx
%
%<*ignore>
@@ -141,10 +138,6 @@ and the derived files
% \file{bitset-test1.tex}{\from{bitset.dtx}{test1}}%
% \file{bitset-test2.tex}{\from{bitset.dtx}{test2,etex}}%
% \file{bitset-test3.tex}{\from{bitset.dtx}{test2,noetex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{bitset.xml}{\from{bitset.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -188,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{bitset.drv}
%
@@ -2799,1223 +2777,7 @@ and the derived files
\BitSet@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input bitset.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\makeatletter
-%<*noetex>
-\let\SavedNumexpr\numexpr
-\let\SavedIfcsname\ifcsname
-\let\SavedCurrentgrouplevel\currentgrouplevel
-\def\ETeXDisable{%
- \let\ifcsname\@undefined
- \let\numexpr\@undefined
- \let\currentgrouplevel\@undefined
-}
-\ETeXDisable
-%</noetex>
-\makeatletter
-\chardef\BitSet@TestMode=1 %
-\makeatother
-\usepackage{bitset}[2016/05/16]
-%<*noetex>
-\def\ETeXEnable{%
- \let\numexpr\SavedNumexpr
- \let\ifcsname\SavedIfcsname
- \let\currentgrouplevel\SavedCurrentgrouplevel
-}
-\ETeXEnable
-%</noetex>
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-% \end{macrocode}
-%
-% \subsubsection{Time}
-%
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
- \newcount\SummaryTime
- \newcount\TestTime
- \SummaryTime=\z@
- \newcommand*{\PrintTime}[2]{%
- \typeout{%
- [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]%
- }%
- }%
- \newcommand*{\StartTime}[1]{%
- \renewcommand*{\TimeDescription}{#1}%
- \pdfresettimer
- }%
- \newcommand*{\TimeDescription}{}%
- \newcommand*{\StopTime}{%
- \TestTime=\pdfelapsedtime
- \global\advance\SummaryTime\TestTime
- \PrintTime\TimeDescription\TestTime
- }%
- \let\saved@qstest\qstest
- \let\saved@endqstest\endqstest
- \def\qstest#1#2{%
- \saved@qstest{#1}{#2}%
- \StartTime{#1}%
- }%
- \def\endqstest{%
- \StopTime
- \saved@endqstest
- }%
- \AtEndDocument{%
- \PrintTime{summary}\SummaryTime
- }%
-\fi
-% \end{macrocode}
-%
-% \subsubsection{Detection of unwanted space}
-%
-% \begin{macrocode}
-\let\orig@qstest\qstest
-\let\orig@endqstest\endqstest
-\def\qstest#1#2{%
- \orig@qstest{#1}{#2}%
- \setbox0\hbox\bgroup\begingroup\ignorespaces
-}
-\def\endqstest{%
- \endgroup\egroup
- \Expect*{\the\wd0}{0.0pt}%
- \orig@endqstest
-}
-% \end{macrocode}
-%
-% \subsubsection{Test macros}
-%
-% \begin{macrocode}
-\newcounter{Test}
-
-\def\TestError#1#2{%
- \begingroup
- \setcounter{Test}{0}%
- \sbox0{%
- \def\@PackageError##1##2##3{%
- \stepcounter{Test}%
- \begingroup
- \let\MessageBreak\relax
-%<*noetex>
- \ETeXEnable
-%</noetex>
- \Expect{##1}{bitset}%
- \Expect*{##2}*{#1}%
- \endgroup
- }%
-%<*noetex>
- \ETeXDisable
-%</noetex>
- #2%
- }%
- \Expect*{\theTest}{1}%
- \Expect*{\the\wd0}{0.0pt}%
- \endgroup
-}
-
-\def\TestErrorNegativeIndex#1#2{%
- \TestError{Invalid negative index (#1)}{#2}%
-}
-
-\def\TestGetterUndefined#1{%
- \CheckUndef{dummy}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{#1{dummy}}{0}%
-}
-
-\def\ExpectBitSet#1#2{%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter
- {\csname BS@#1\endcsname}*{#2}%
-}
-\def\Check#1#2{%
- \ExpectBitSet{#1}{#2}%
-}
-\def\CheckUndef#1{%
- \begingroup
- \Expect*{%
- \expandafter
- \ifx\csname BS@#1\endcsname\relax true\else false\fi
- }{true}%
- \endgroup
-}
-\def\RevCheck#1#2{%
- \ExpectBitSet{#1}{\Reverse#2!!}%
-}
-\def\Set#1#2{%
- \expandafter\def\csname BS@#1\endcsname{#2}%
-}
-\def\RevSet#1#2{%
- \expandafter\edef\csname BS@#1\endcsname{%
- \Reverse#2!!%
- }%
-}
-\def\Reverse#1#2!#3!{%
- \ifx\\#2\\%
- #1#3%
- \expandafter\@gobble
- \else
- \expandafter\@firstofone
- \fi
- {\Reverse#2!#1#3!}%
-}
-% \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-% \begin{macrocode}
-\begin{qstest}{Let}{Let}
- \CheckUndef{abc}%
- \CheckUndef{xyz}%
- \bitsetLet{xyz}{abc}%
- \CheckUndef{abc}%
- \Check{xyz}{0}%
- \Set{abc}{1}%
- \Check{abc}{1}%
- \Check{xyz}{0}%
- \bitsetLet{xyz}{abc}%
- \Check{abc}{1}%
- \Check{xyz}{1}%
- \Set{xyz}{11}%
- \Check{abc}{1}%
- \Check{xyz}{11}%
-\end{qstest}
-
-\begin{qstest}{Reset}{Reset}
- \bitsetReset{xyz}%
- \Check{xyz}{0}%
- \bitsetReset{abc}%
- \Check{abc}{0}%
- \Set{abc}{10101}%
- \bitsetReset{abc}%
- \Check{abc}{0}%
-\end{qstest}
-
-\begin{qstest}{Get/Query}{Get/Query}
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGet{dummy}{0}%
- }{0}%
- \begingroup
- \expandafter\def\csname BitSetError:NegativeIndex\endcsname{}%
- \Set{abc}{1}%
- \Expect*{\bitsetQuery{abc}{-1}{true}{false}}{false}%
- \endgroup
- \def\Test#1#2#3{%
- \Set{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{\bitsetGet{abc}{#2}}{#3}%
- \Expect*{\bitsetQuery{abc}{#2}{true}{false}}%
- *{\ifcase#3 false\or true\else error\fi}%
- }%
- \Test{1}{100}{0}%
- \Test{0}{0}{0}%
- \Test{1}{0}{1}%
- \Test{11}{1}{1}%
- \Test{111}{1}{1}%
- \Test{101}{1}{0}%
- \Test{101}{2}{1}%
- \Test{10100110011}{10}{1}%
-\end{qstest}
-
-\begin{qstest}{Size}{Size}
- \TestGetterUndefined\bitsetSize
- \def\Test#1#2{%
- \Set{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{\bitsetSize{abc}}{#2}%
- }%
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{00}{0}%
- \Test{0000000}{0}%
- \Test{10}{1}%
- \Test{01}{2}%
- \Test{11}{2}%
- \Test{010}{2}%
- \Test{011}{3}%
- \Test{100110011}{9}%
- \Test{0000011111000001111100000}{20}%
- \Test{000000000000000000000000011111111111111111111}{45}%
-\end{qstest}
-
-\begin{qstest}{Cardinality}{Cardinality}
- \TestGetterUndefined\bitsetCardinality
- \def\Test#1#2{%
- \Set{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetCardinality{abc}%
- }{#2}%
- }%
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{00}{0}%
- \Test{0000000}{0}%
- \Test{10}{1}%
- \Test{01}{1}%
- \Test{11}{2}%
- \Test{010}{1}%
- \Test{011}{2}%
- \Test{100110011}{5}%
- \Test{0000011111000001111100000}{10}%
- \Test{000000000000000000000000011111111111111111111}{20}%
-\end{qstest}
-
-\begin{qstest}{NextClearBit/NextSetBit}{NextClearBit/NextSetBit}
- \def\Test#1#2{%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \TestOp{abc}{#1}%
- }{#2}%
- }%
- \def\Clear{\let\TestOp\bitsetNextClearBit}%
- \def\Set{\let\TestOp\bitsetNextSetBit}%
- \begingroup
- \catcode`\:=11 %
- \bitsetSetBin{abc}{1}%
- \Clear
- \Test{-1}{1\BitSetError:NegativeIndex}%
- \Set
- \Test{-1}{0\BitSetError:NegativeIndex}%
- \endgroup
- \let\BS@abc\@undefined
- \Clear
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{2}{2}%
- \Test{100}{100}%
- \Set
- \Test{0}{-1}%
- \Test{1}{-1}%
- \Test{100}{-1}%
- \bitsetReset{abc}%
- \Clear
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{2}{2}%
- \Test{100}{100}%
- \Set
- \Test{0}{-1}%
- \Test{1}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{1}%
- \Clear
- \Test{0}{1}%
- \Test{1}{1}%
- \Test{2}{2}%
- \Test{100}{100}%
- \Set
- \Test{0}{0}%
- \Test{1}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{111000111000111000111}%
- \Clear
- \Test{0}{3}%
- \Test{1}{3}%
- \Test{2}{3}%
- \Test{3}{3}%
- \Test{4}{4}%
- \Test{5}{5}%
- \Test{6}{9}%
- \Test{7}{9}%
- \Test{8}{9}%
- \Test{9}{9}%
- \Test{10}{10}%
- \Test{11}{11}%
- \Test{12}{15}%
- \Test{13}{15}%
- \Test{14}{15}%
- \Test{15}{15}%
- \Test{16}{16}%
- \Test{17}{17}%
- \Test{18}{21}%
- \Test{19}{21}%
- \Test{20}{21}%
- \Test{21}{21}%
- \Test{22}{22}%
- \Test{100}{100}%
- \Set
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{2}{2}%
- \Test{3}{6}%
- \Test{4}{6}%
- \Test{5}{6}%
- \Test{6}{6}%
- \Test{7}{7}%
- \Test{8}{8}%
- \Test{9}{12}%
- \Test{10}{12}%
- \Test{11}{12}%
- \Test{12}{12}%
- \Test{13}{13}%
- \Test{14}{14}%
- \Test{15}{18}%
- \Test{16}{18}%
- \Test{17}{18}%
- \Test{18}{18}%
- \Test{19}{19}%
- \Test{20}{20}%
- \Test{21}{-1}%
- \Test{22}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{1111111}%
- \Clear
- \Test{6}{7}%
- \Test{7}{7}%
- \Test{8}{8}%
- \Test{100}{100}%
- \Set
- \Test{6}{6}%
- \Test{7}{-1}%
- \Test{8}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{11111111}%
- \Clear
- \Test{7}{8}%
- \Test{8}{8}%
- \Test{9}{9}%
- \Test{100}{100}%
- \Set
- \Test{7}{7}%
- \Test{8}{-1}%
- \Test{9}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{111111111}%
- \Clear
- \Test{8}{9}%
- \Test{9}{9}%
- \Test{10}{10}%
- \Test{100}{100}%
- \Set
- \Test{8}{8}%
- \Test{9}{-1}%
- \Test{10}{-1}%
- \Test{100}{-1}%
- \bitsetSetBin{abc}{1111111111}%
- \Clear
- \Test{9}{10}%
- \Test{10}{10}%
- \Test{11}{11}%
- \Test{100}{100}%
- \Set
- \Test{9}{9}%
- \Test{10}{-1}%
- \Test{11}{-1}%
- \Test{100}{-1}%
-\end{qstest}
-
-\begin{qstest}{GetSetBitList}{GetSetBitList}
- \let\BS@abc\@undefined
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetSetBitList{abc}%
- }{}%
- \def\Test#1#2{%
- \bitsetSetBin{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetSetBitList{abc}%
- }{#2}%
- }%
- \Test{0}{}%
- \Test{1}{0}%
- \Test{10}{1}%
- \Test{11}{0,1}%
- \Test{10110100}{2,4,5,7}%
- \Test{101101001010011}{0,1,4,6,9,11,12,14}%
-\end{qstest}
-
-\begin{qstest}{GetDec}{GetDec}
- \TestGetterUndefined\bitsetGetDec
- \def\Test#1#2{%
- \RevSet{abc}{#1}%
-%<*noetex>
- \begingroup\expandafter\expandafter\expandafter\endgroup
-%</noetex>
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetDec{abc}%
- }{#2}%
- }%
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{10}{2}%
- \Test{11}{3}%
- \Test{100}{4}%
- \Test{101}{5}%
- \Test{110}{6}%
- \Test{111}{7}%
- \Test{1000}{8}%
- \Test{000111}{7}%
- \Test{1111111111111111%
- 111111111111111}{2147483647}%
- \Test{0001111111111111111%
- 111111111111111}{2147483647}%
- \Test{1000000000000000%
- 0000000000000000}{2147483648}%
- \Test{1000000000000000%
- 00000000000000000}{4294967296}%
- \Test{0001000000000000000%
- 00000000000000000}{4294967296}%
- \Test{1100000000000000%
- 00000000000000011}{6442450947}%
-\end{qstest}
-
-\begin{qstest}{Clear}{Clear}
- \def\Test#1#2#3{%
- \RevSet{abc}{#1}%
- \bitsetClear{abc}{#2}%
- \Expect*{\BS@abc}*{\Reverse#3!!}%
- }%
- \bitsetClear{abc}{2}%
- \RevCheck{abc}{0}%
- \TestErrorNegativeIndex{-1}{\bitsetClear{abc}{-1}}%
- \RevCheck{abc}{0}%
- \Test{0}{0}{0}%
- \Test{1}{0}{0}%
- \Test{111}{1}{101}%
- \Test{111}{30}{111}%
- \Test{0000111}{5}{0000111}% 111 would also be ok
- \Test{10000111}{5}{10000111}%
- \Test{1001001}{3}{1000001}%
-\end{qstest}
-
-\begin{qstest}{Set}{Set}
- \def\Test#1#2#3{%
- \RevSet{abc}{#1}%
- \bitsetSet{abc}{#2}%
- \Expect*{\BS@abc}*{\Reverse#3!!}%
- }%
- \bitsetSet{abc}{2}%
- \RevCheck{abc}{100}%
- \TestErrorNegativeIndex{-1}{\bitsetSet{abc}{-1}}%
- \RevCheck{abc}{100}%
- \Test{0}{0}{1}%
- \Test{1}{0}{1}%
- \Test{100}{1}{110}%
- \Test{111}{1}{111}%
- \Test{11}{1}{11}%
- \Test{11}{2}{111}%
- \Test{11}{3}{1011}%
- \Test{111}{10}{10000000111}%
- \Test{0000111}{5}{0100111}% 100111 would also be ok
- \Test{10000111}{5}{10100111}%
- \Test{1000001}{3}{1001001}%
- \Test{1001001}{3}{1001001}%
-\end{qstest}
-
-\begin{qstest}{Flip}{Flip}
- \def\Test#1#2#3{%
- \RevSet{abc}{#1}%
- \bitsetFlip{abc}{#2}%
- \Expect*{\BS@abc}*{\Reverse#3!!}%
- }%
- \bitsetFlip{abc}{2}%
- \RevCheck{abc}{100}%
- \TestErrorNegativeIndex{-1}{\bitsetFlip{abc}{-1}}%
- \RevCheck{abc}{100}%
- \Test{0}{0}{1}%
- \Test{1}{0}{0}%
- \Test{0}{2}{100}%
- \Test{100}{1}{110}%
- \Test{111}{1}{101}%
- \Test{11}{1}{1}%
- \Test{11}{2}{111}%
- \Test{11}{3}{1011}%
- \Test{111}{10}{10000000111}%
- \Test{0000111}{5}{0100111}% 100111 would also be ok
- \Test{10000111}{5}{10100111}%
- \Test{1000001}{3}{1001001}%
- \Test{1001001}{3}{1000001}%
- \Test{11111}{2}{11011}%
-\end{qstest}
-
-\begin{qstest}{SetValue}{SetValue}
- \def\Test#1#2{%
- \TestError{Invalid bit value (#2) not in range 0..1}{%
- \bitsetSetValue{abc}{#1}{#2}%
- }%
- }%
- \Test{0}{-1}%
- \Test{0}{2}%
- \Test{0}{10}%
- \def\Test#1#2#3{%
- \let\BS@abc\@undefined
- \bitsetSetValue{abc}{#1}{#2}%
- \bitsetSetBin{result}{#3}%
- \Expect*{\BS@abc}*{\BS@result}%
- }%
- \Test{0}{0}{0}%
- \Test{0}{1}{1}%
- \Test{1}{0}{0}%
- \Test{1}{1}{10}%
- \def\Test#1#2#3#4{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetBin{result}{#4}%
- \bitsetSetValue{abc}{#2}{#3}%
- \Expect*{\BS@abc}*{\BS@result}%
- }%
- \Test{0}{0}{0}{0}%
- \Test{0}{0}{0}{0}%
- \Test{0}{0}{1}{1}%
- \Test{0}{1}{0}{0}%
- \Test{0}{1}{1}{10}%
- \Test{1010}{2}{1}{1110}%
- \Test{1010}{4}{1}{11010}%
- \Test{1010}{6}{1}{1001010}%
- \Test{1010}{1}{0}{1000}%
- \Test{1010}{2}{0}{1010}%
- \Test{1010}{3}{0}{10}%
- \Test{1010}{4}{0}{1010}%
- \Test{1010}{6}{0}{1010}%
- \Test{1010}{2}{\csname iffalse\endcsname 0\else 1\fi}{1110}%
- \Test{1010}{1}{\csname iffalse\endcsname 1\else 0\fi}{1000}%
-\end{qstest}
-
-\begin{qstest}{IsDefined}{IsDefined}
- \let\BS@abc\@undefined
- \Expect*{\bitsetIsDefined{abc}{true}{false}}{false}%
- \bitsetReset{abc}%
- \Expect*{\bitsetIsDefined{abc}{true}{false}}{true}%
-\end{qstest}
-
-\begin{qstest}{IsEmpty}{IsEmpty}
- \let\BS@abc\@undefined
- \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}%
- \bitsetReset{abc}%
- \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}%
- \bitsetSet{abc}{1}%
- \Expect*{\bitsetIsEmpty{abc}{true}{false}}{false}%
-\end{qstest}
-
-\begin{qstest}{Equals}{Equals}
- \def\Test#1#2#3{%
- \Expect*{\bitsetEquals{#1}{#2}{true}{false}}{#3}%
- }%
- \let\BS@abc\@undefined
- \Test{abc}{abc}{true}%
- \Test{abc}{foo}{true}%
- \Test{foo}{abc}{true}%
- \bitsetReset{abc}%
- \Test{abc}{abc}{true}%
- \Test{abc}{foo}{false}%
- \Test{foo}{abc}{false}%
- \bitsetReset{foo}%
- \Test{abc}{foo}{true}%
- \Test{foo}{abc}{true}%
- \bitsetSet{abc}{4}%
- \Test{abc}{foo}{false}%
- \Test{foo}{abc}{false}%
- \bitsetFlip{foo}{4}%
- \Test{abc}{foo}{true}%
- \Test{foo}{abc}{true}%
-\end{qstest}
-
-\begin{qstest}{Intersects}{Intersects}
- \def\Test#1{%
- \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#1}%
- }%
- \let\BS@abc\@undefined
- \let\BS@foo\@undefined
- \Test{false}%
- \Set{abc}{0}%
- \Test{false}%
- \Set{foo}{0}%
- \Test{false}%
- \let\BS@abc\@undefined
- \Test{false}%
- \Set{foo}{1}%
- \Test{false}%
- \Set{abc}{0}%
- \Test{false}%
- \Set{abc}{1}%
- \Test{true}%
- \let\BS@foo\@undefined
- \Test{false}%
- \Set{foo}{0}%
- \Test{false}%
- \def\Test#1#2#3{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetBin{foo}{#2}%
- \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#3}%
- }%
- \Test{1010}{0101}{false}%
- \Test{0}{10}{false}%
- \Test{1}{11}{true}%
- \Test{11}{1}{true}%
- \Test{10}{1}{false}%
-\end{qstest}
-
-\begin{qstest}{And/AndNot/Or/Xor}{And/AndNot/Or/Xor}
- \def\@Test#1#2#3#4#5{%
- \begingroup
- #5%
- \begingroup
- \let\BS@foo\@undefined
- \csname bitset#1\endcsname{abc}{foo}%
- \CheckUndef{foo}%
- \Check{abc}{#2}%
- \endgroup
- \begingroup
- \bitsetReset{foo}%
- \csname bitset#1\endcsname{abc}{foo}%
- \Check{foo}{0}%
- \Check{abc}{#3}%
- \endgroup
- \begingroup
- \def\BS@foo{0101}%
- \csname bitset#1\endcsname{abc}{foo}%
- \Check{foo}{0101}%
- \Check{abc}{#4}%
- \endgroup
- \endgroup
- }%
- \def\Test#1{%
- \def\Op{#1}%
- \Test@
- }%
- \def\Test@#1#2#3#4#5#6#7#8#9{%
- \@Test\Op{#1}{#2}{#3}{%
- \let\BS@abc\@undefined
- }%
- \@Test\Op{#4}{#5}{#6}{%
- \bitsetReset{abc}%
- }%
- \@Test\Op{#7}{#8}{#9}{%
- \def\BS@abc{1001}%
- }%
- }%
- \Test{And}%
- {0}{0}{0}%
- {0}{0}{0}%
- {0}{0}{0001}%
- \Test{AndNot}%
- {0}{0}{0}%
- {0}{0}{0}%
- {1001}{1001}{1}%
- \Test{Or}%
- {0}{0}{0101}%
- {0}{0}{0101}%
- {1001}{1001}{1101}%
- \Test{Xor}%
- {0}{0}{0101}%
- {0}{0}{0101}%
- {1001}{1001}{11}%
- \def\Test#1#2#3{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetBin{foo}{#2}%
- \csname bitset\Op\endcsname{abc}{foo}%
- \RevCheck{foo}{#2}%
- \RevCheck{abc}{#3}%
- }%
- \def\Op{And}%
- \Test{1}{111}{1}%
- \Test{111}{1}{1}%
- \Test{10}{111}{10}%
- \Test{111}{10}{10}%
- \Test{111}{1000}{0}%
- \Test{1000}{111}{0}%
- \def\Op{AndNot}%
- \Test{1010}{11}{1000}%
- \Test{100}{100}{0}%
- \Test{111}{1111}{0}%
- \Test{100}{111}{0}%
- \def\Op{Or}%
- \Test{0}{0}{0}%
- \Test{1}{0}{1}%
- \Test{0}{1}{1}%
- \Test{1}{1}{1}%
- \Test{1000}{10}{1010}%
- \Test{10}{1000}{1010}%
- \def\Op{Xor}%
- \Test{0}{0}{0}%
- \Test{1}{0}{1}%
- \Test{0}{1}{1}%
- \Test{1}{1}{0}%
- \Test{1000}{10}{1010}%
- \Test{10}{1000}{1010}%
- \Test {110011001100}%
- {111000111000111}%
- {111110100001011}%
- \Test{111000111000111}%
- {110011001100}%
- {111110100001011}%
-\end{qstest}
-
-\begin{qstest}{GetUndef}{GetUndef, GetBin, GetOct, GetHex}
- \def\TestUndef#1#2{%
- \let\BS@abc\@undefined
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \x{abc}{#1}%
- }{#2}%
- }%
- \let\x\bitsetGetBin
- \TestUndef{-1}{0}%
- \TestUndef{0}{0}%
- \TestUndef{1}{0}%
- \TestUndef{2}{00}%
- \TestUndef{8}{00000000}%
- \let\x\bitsetGetOct
- \TestUndef{-1}{0}%
- \TestUndef{0}{0}%
- \TestUndef{1}{0}%
- \TestUndef{2}{0}%
- \TestUndef{3}{0}%
- \TestUndef{4}{00}%
- \TestUndef{5}{00}%
- \TestUndef{6}{00}%
- \TestUndef{7}{000}%
- \TestUndef{8}{000}%
- \TestUndef{9}{000}%
- \TestUndef{10}{0000}%
- \let\x\bitsetGetHex
- \TestUndef{-1}{0}%
- \TestUndef{0}{0}%
- \TestUndef{1}{0}%
- \TestUndef{2}{0}%
- \TestUndef{3}{0}%
- \TestUndef{4}{0}%
- \TestUndef{5}{00}%
- \TestUndef{6}{00}%
- \TestUndef{7}{00}%
- \TestUndef{8}{00}%
- \TestUndef{9}{000}%
- \TestUndef{10}{000}%
- \TestUndef{12}{000}%
- \TestUndef{13}{0000}%
- \TestUndef{16}{0000}%
- \TestUndef{17}{00000}%
-\end{qstest}
-
-\begin{qstest}{SetBin}{SetBin}
- \def\Test#1#2{%
- \let\BS@abc\@undefined
- \bitsetSetBin{abc}{#1}%
- \expandafter\Expect\expandafter{\BS@abc}{#2}%
- }%
- \Test{}{0}%
- \Test{0}{0}%
- \Test{1}{1}%
- \Test{10}{01}%
- \Test{11}{11}%
- \Test{010}{01}%
- \Test{011}{11}%
- \Test{0010}{01}%
- \Test{1010}{0101}%
-\end{qstest}
-
-\begin{qstest}{SetOct}{SetOct}
- \def\Test#1#2{%
- \bitsetSetOct{abc}{#1}%
- \expandafter\Expect\expandafter{\BS@abc}{#2}%
- }%
- \Test{}{0}%
- \Test{0}{0}%
- \Test{000}{0}%
- \Test{1}{1}%
- \Test{001}{1}%
- \Test{010}{0001}%
- \Test{020}{00001}%
- \Test{42}{010001}%
- \Test{377}{11111111}%
- \Test{0377}{11111111}%
- \Test{76543210}{000100010110001101011111}%
- \Test{ 0 7 0 7 1 }{100111000111}%
-\end{qstest}
-
-\begin{qstest}{SetHex}{SetHex}
- \def\Test#1#2{%
- \bitsetSetHex{abc}{#1}%
- \expandafter\Expect\expandafter{\BS@abc}{#2}%
- }%
- \Test{}{0}%
- \Test{0}{0}%
- \Test{000}{0}%
- \Test{1}{1}%
- \Test{001}{1}%
- \Test{010}{00001}%
- \Test{020}{000001}%
- \Test{42}{0100001}%
- \Test{3F}{111111}%
- \Test{03F}{111111}%
- \Test{43210}{0000100001001100001}%
- \Test{98765}{10100110111000011001}%
- \Test{FEDCBA}{010111010011101101111111}%
- \Test{ 0 F 0 F 1 }{1000111100001111}%
-\end{qstest}
-
-\begin{qstest}{SetDec}{SetDec}
- \def\Test#1#2{%
- \bitsetSetDec{abc}{#1}%
- \expandafter\Expect\expandafter{\BS@abc}{#2}%
- }%
- \Test{}{0}%
- \Test{0}{0}%
- \Test{000}{0}%
- \Test{1}{1}%
- \Test{7}{111}%
- \Test{8}{0001}%
- \Test{001}{1}%
- \Test{010}{0101}%
- \Test{020}{00101}%
- \Test{53}{101011}%
- \Test{255}{11111111}%
- \Test{256}{000000001}%
- \Test{999999999}{111111111001001101011001110111}%
- \Test{1000000000}{000000000101001101011001110111}%
- \Test{4210987654}{01100001010010010111111101011111}%
- \Test{2147483647}{1111111111111111111111111111111}%
- \Test{2147483648}{00000000000000000000000000000001}%
-\end{qstest}
-
-\begin{qstest}{GetBin}{GetBin}
- \def\TestUndef#1#2{%
- \let\BS@abc\@undefined
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetBin{abc}{#1}%
- }{#2}%
- }%
- \TestUndef{-1}{0}%
- \TestUndef{0}{0}%
- \TestUndef{1}{0}%
- \TestUndef{2}{00}%
- \TestUndef{8}{00000000}%
- \def\Test#1#2{%
- \bitsetSetBin{abc}{#2}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetBin{abc}{#1}%
- }{#2}%
- }%
- \Test{-1}{0}%
- \Test{0}{0}%
- \Test{1}{0}%
- \Test{1}{1}%
- \Test{2}{01}%
- \Test{2}{10}%
- \Test{3}{010}%
- \Test{2}{00}%
- \Test{2}{01}%
- \Test{8}{00101100}%
- \Test{2}{10101}%
- \Test{-100}{11011}%
-\end{qstest}
-
-\begin{qstest}{GetOct}{GetOct}
- \def\Test#1#2#3{%
- \edef\x{\zap@space#1 \@empty}%
- \edef\x{\noexpand\bitsetSetBin{abc}{\x}}%
- \x
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetOct{abc}{#2}%
- }{#3}%
- }%
- \Test{111 110 101 100 011 010 001 000}{0}{76543210}%
- \Test{000 111}{0}{7}%
- \Test{101 000}{-1}{50}%
- \Test{111}{-1}{7}%
- \Test{111}{0}{7}%
- \Test{111}{1}{7}%
- \Test{111}{3}{7}%
- \Test{111}{4}{07}%
- \Test{111}{6}{07}%
- \Test{111}{7}{007}%
- \Test{111 010}{6}{72}%
- \Test{111 010}{7}{072}%
- \Test{011 111}{0}{37}%
- \Test{011 111}{6}{37}%
- \Test{011 111}{7}{037}%
- \Test{001 111}{0}{17}%
- \Test{001 111}{6}{17}%
- \Test{001 111}{7}{017}%
-\end{qstest}
-
-\begin{qstest}{GetHex}{GetHex}
- \def\Test#1#2#3{%
- \bitsetSetBin{abc}{#1}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{%
- \bitsetGetHex{abc}{#2}%
- }{#3}%
- }%
- \Test{1111 1110 1101 1100 1011 1010 1001 1000}{0}{FEDCBA98}%
- \Test{0111 0110 0101 0100 0011 0010 0001 0000}{0}{76543210}%
- \Test{0000 1111}{0}{F}%
- \Test{0101 0000}{-1}{50}%
- \Test{1111}{-1}{F}%
- \Test{1111}{0}{F}%
- \Test{1111}{1}{F}%
- \Test{1111}{4}{F}%
- \Test{1111}{5}{0F}%
- \Test{1111}{8}{0F}%
- \Test{1111}{9}{00F}%
- \Test{1111 0010}{8}{F2}%
- \Test{1111 0010}{9}{0F2}%
- \Test{0111 1111}{0}{7F}%
- \Test{0111 1111}{8}{7F}%
- \Test{0111 1111}{9}{07F}%
- \Test{0011 1111}{0}{3F}%
- \Test{0011 1111}{8}{3F}%
- \Test{0011 1111}{9}{03F}%
- \Test{0001 1111}{0}{1F}%
- \Test{0001 1111}{8}{1F}%
- \Test{0001 1111}{9}{01F}%
-\end{qstest}
-
-\begin{qstest}{Range}{Range}
- \TestError{%
- Wrong index numbers in range [9..8]\MessageBreak% hash-ok
- for clear/set/flip on bit set `abc'.\MessageBreak
- The lower index exceeds the upper index.\MessageBreak
- Canceling the operation as error recovery%
- }{%
- \bitsetSetRange{abc}{9}{8}%
- }%
- \def\TestErrorNegInd#1#2#3#4#5#6{%
- \TestError{%
- Negative index in range [#2..#3]\MessageBreak % hash-ok
- for \string\bitset #1Range on bit set `abc'.\MessageBreak
- Using [#4..#5] as error recovery% hash-ok
- }{%
- \csname bitset#1Range\endcsname{abc}{#2}{#3}%
- \global\let\BS@global\BS@abc
- }%
- \Check{global}{#6}%
- }%
- \Set{abc}{111}%
- \TestErrorNegInd{Clear}{-1}{0}{0}{0}{111}%
- \TestErrorNegInd{Clear}{0}{-1}{0}{0}{111}%
- \TestErrorNegInd{Clear}{-2}{2}{0}{2}{001}%
- \bitsetReset{abc}%
- \TestErrorNegInd{Set}{-1}{0}{0}{0}{0}%
- \TestErrorNegInd{Set}{0}{-1}{0}{0}{0}%
- \TestErrorNegInd{Set}{-2}{2}{0}{2}{11}%
- \Set{abc}{101}%
- \TestErrorNegInd{Flip}{-1}{0}{0}{0}{101}%
- \TestErrorNegInd{Flip}{0}{-1}{0}{0}{101}%
- \TestErrorNegInd{Flip}{-2}{2}{0}{2}{011}%
- \def\Test#1#2#3#4{%
- \bitsetSetBin{abc}{#1}%
- \csname bitset\TestOp Range\endcsname{abc}{#2}{#3}%
- \Expect*{\bitsetGetBin{abc}{0}}{#4}%
- }%
- \def\TestOp{Clear}%
- \Test{0}{0}{1}{0}%
- \Test{1111}{1}{2}{1101}%
- \Test{1111}{1}{3}{1001}%
- \Test{1111111100000000}{12}{14}{1100111100000000}%
- \def\TestOp{Set}%
- \Test{0}{0}{1}{1}%
- \Test{1000}{1}{2}{1010}%
- \Test{0}{1}{2}{10}%
- \Test{1}{12}{15}{111000000000001}%
- \Test{1111}{1}{3}{1111}%
- \Test{1000000000000000}{12}{14}{1011000000000000}%
- \def\TestOp{Flip}%
- \Test{0}{0}{1}{1}%
- \Test{1}{0}{1}{0}%
- \Test{10101010}{1}{5}{10110100}%
- \def\Test#1#2#3#4#5{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetValueRange{abc}{#2}{#3}{#4}%
- \Expect*{\bitsetGetBin{abc}{0}}{#5}%
- }%
- \Test{0}{0}{1}{0}{0}%
- \Test{0}{0}{1}{1}{1}%
- \Test{1010}{1}{3}{0}{1000}%
- \Test{1010}{1}{3}{1}{1110}%
-\end{qstest}
-
-\begin{qstest}{ShiftLeft/ShiftRight}{ShiftLeft/ShiftRight}
- \def\@Test#1#2{%
- \let\BS@abc\@undefined
- \csname bitsetShift#1\endcsname{abc}{#2}%
- \Expect*{\BS@abc}{0}%
- }%
- \def\Test#1{%
- \@Test{Left}{#1}%
- \@Test{Right}{#1}%
- }%
- \Test{-16}%
- \Test{-1}%
- \Test{0}%
- \Test{1}%
- \Test{16}%
- \def\Test#1#2#3{%
- \bitsetSetBin{abc}{#1}%
- \bitsetSetBin{result}{#3}%
- \csname bitsetShift\Op\endcsname{abc}{#2}%
- \Expect*{\bitsetGetBin{abc}{0}}*{\bitsetGetBin{result}{0}}%
- }%
- \def\Op{Left}%
- \Test{0}{0}{0}%
- \Test{0}{1}{0}%
- \Test{0}{-1}{0}%
- \Test{1}{0}{1}%
- \Test{1}{1}{10}%
- \Test{1}{-1}{0}%
- \Test{10}{1}{100}%
- \Test{10}{-1}{1}%
- \Test{1}{32}{100000000000000000000000000000000}%
- \Test{1}{-100}{0}%
- \def\Op{Right}%
- \Test{0}{0}{0}%
- \Test{0}{1}{0}%
- \Test{0}{-1}{0}%
- \Test{1}{0}{1}%
- \Test{1}{1}{0}%
- \Test{1}{-1}{10}%
- \Test{10}{1}{1}%
- \Test{10}{-1}{100}%
- \Test{1}{-32}{100000000000000000000000000000000}%
- \Test{1}{100}{0}%
- \Test{110110110110110}{10}{11011}%
- \Test{110110110110110}{100}{0}%
- \Test{1}{100000}{0}%
-\end{qstest}
-
-\begin{qstest}{Profile: Set}{Profile: Set}
- \bitsetSet{abc}{4095}%
- \global\let\BS@global\BS@abc
-\end{qstest}
-
-\begin{qstest}{Profile: Get}{Profile: Get}
- \edef\x{\bitsetGet{global}{4095}}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -4064,9 +2826,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% bitset.sty & tex/generic/oberdiek/bitset.sty\\
% bitset.pdf & doc/latex/oberdiek/bitset.pdf\\
-% test/bitset-test1.tex & doc/latex/oberdiek/test/bitset-test1.tex\\
-% test/bitset-test2.tex & doc/latex/oberdiek/test/bitset-test2.tex\\
-% test/bitset-test3.tex & doc/latex/oberdiek/test/bitset-test3.tex\\
% bitset.dtx & source/latex/oberdiek/bitset.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/bitset.pdf b/macros/latex/contrib/oberdiek/bitset.pdf
index 27ccddf492..63ca003658 100644
--- a/macros/latex/contrib/oberdiek/bitset.pdf
+++ b/macros/latex/contrib/oberdiek/bitset.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/bmpsize.dtx b/macros/latex/contrib/oberdiek/bmpsize.dtx
index a0d76210c2..a6c815e430 100644
--- a/macros/latex/contrib/oberdiek/bmpsize.dtx
+++ b/macros/latex/contrib/oberdiek/bmpsize.dtx
@@ -64,7 +64,6 @@
% Installation:
% TDS:tex/latex/oberdiek/bmpsize.sty
% TDS:tex/latex/oberdiek/bmpsize-base.sty
-% TDS:tex/latex/oberdiek/bmpsize-test.tex
% TDS:tex/latex/oberdiek/bmpsize-dvips.def
% TDS:tex/latex/oberdiek/bmpsize-dvipdfm.def
% TDS:tex/latex/oberdiek/bmpsize-dvipdfmx.def
@@ -140,10 +139,6 @@ and the derived files
\file{bmpsize-dvips.def}{\from{bmpsize.dtx}{dvips}}%
\file{bmpsize-dvipdfm.def}{\from{bmpsize.dtx}{dvipdfm}}%
\file{bmpsize-dvipdfmx.def}{\from{bmpsize.dtx}{dvipdfmx}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{bmpsize.xml}{\from{bmpsize.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -182,21 +177,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{bmpsize.drv}
%
@@ -3791,7 +3771,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% bmpsize.sty & tex/latex/oberdiek/bmpsize.sty\\
% bmpsize-base.sty & tex/latex/oberdiek/bmpsize-base.sty\\
-% bmpsize-test.tex & tex/latex/oberdiek/bmpsize-test.tex\\
% bmpsize-dvips.def & tex/latex/oberdiek/bmpsize-dvips.def\\
% bmpsize-dvipdfm.def & tex/latex/oberdiek/bmpsize-dvipdfm.def\\
% bmpsize-dvipdfmx.def & tex/latex/oberdiek/bmpsize-dvipdfmx.def\\
@@ -3911,7 +3890,7 @@ and the derived files
% D.\,P.\,Carlisle, The \LaTeX\ Project:
% \textit{Packages in the `graphics' bundle},
% 2005/11/14;
-% \CTAN{macros/latex/required/graphics/grfguide.pdf}.
+% \CTANpkg{grfguide}.
%
% \subsection{URLs for bitmap format descriptions}
%
diff --git a/macros/latex/contrib/oberdiek/bmpsize.pdf b/macros/latex/contrib/oberdiek/bmpsize.pdf
index 7361945b91..bd0bbf6032 100644
--- a/macros/latex/contrib/oberdiek/bmpsize.pdf
+++ b/macros/latex/contrib/oberdiek/bmpsize.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/catchfile.dtx b/macros/latex/contrib/oberdiek/catchfile.dtx
index 2f40cdd388..439a7871e7 100644
--- a/macros/latex/contrib/oberdiek/catchfile.dtx
+++ b/macros/latex/contrib/oberdiek/catchfile.dtx
@@ -67,9 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/catchfile.sty
% TDS:doc/latex/oberdiek/catchfile.pdf
-% TDS:doc/latex/oberdiek/test/catchfile-test1.tex
-% TDS:doc/latex/oberdiek/test/catchfile-test2.tex
-% TDS:doc/latex/oberdiek/test/catchfile-test3.tex
% TDS:source/latex/oberdiek/catchfile.dtx
%
%<*ignore>
@@ -143,10 +140,6 @@ and the derived files
% \file{catchfile-test1.tex}{\from{catchfile.dtx}{test1}}%
% \file{catchfile-test2.tex}{\from{catchfile.dtx}{test2}}%
% \file{catchfile-test3.tex}{\from{catchfile.dtx}{test3}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{catchfile.xml}{\from{catchfile.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -183,21 +176,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{catchfile.drv}
%
@@ -591,306 +569,7 @@ and the derived files
\CatchFile@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input catchfile.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{\LaTeX}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\listfiles
-\tracingnesting=2 %
-\documentclass{minimal}
-\usepackage{catchfile}[2016/05/16]
-\makeatletter
-\def\mysetup{%
- \let\do\@makeother
- \dospecials
-}
-\def\CheckContents{%
- \begingroup
- \expandafter\ifx\csname contents\endcsname\relax
- \PackageError{TEST}{\string\contents\space is not defined}\@ehc
- \fi
- \endgroup
-}
-\def\StartDisableUnexpanded{%
- \begingroup
- \let\etex@unexpanded\@undefined
-}
-\def\StopDisableUnexpanded{%
- \endgroup
-}
-\def\CheckCleanup{%
- \begingroup
- \edef\x{\the\toks0}%
- \def\y{ABC}%
- \ifx\x\y
- \else
- \PackageError{TEST}{\string\toks0 has changed}\@ehc
- \fi
- \ifx\CatchFile@gtemp\@undefined
- \else
- \PackageError{TEST}{Left over \string\CatchFile@gtemp}\@ehc
- \fi
- \endgroup
-}
-\def\Check{%
- \CheckContents
- \CheckCleanup
-}
-\makeatother
-\begin{document}
-\toks0{ABC}
-
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-
-\StartDisableUnexpanded
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\typeout{\meaning\contents}
-\Check
-\typeout{***********************************************************}%
-\StopDisableUnexpanded
-
-\CatchFileEdef\contents{catchfile.sty}{%
- \mysetup
- \def\par{^^J}%
- \obeylines
-}
-\typeout{\contents}
-\Check
-\typeout{***********************************************************}%
-\CatchFileEdef\contents{catchfile.sty}{%
- \catcode`\\=12 %
- \catcode`\#=12 %
- \def\par{^^J}%
- \obeylines
-}
-\typeout{\contents}
-\Check
-\typeout{***********************************************************}%
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \subsection{\plainTeX}
-%
-% \begin{macrocode}
-%<*test3>
-\def\msg#{\immediate\write16}
-\newlinechar=10 %
-\tracingnesting=2 %
-\input catchfile.sty\relax
-
-\def\mysetup{%
- \def\do##1{%
- \catcode`##1=12\relax
- }%
- \dospecials
-}
-\def\CheckContents{%
- \begingroup
- \expandafter\ifx\csname contents\endcsname\relax
- \def\space{ }%
- \errmessage{\string\contents\space is not defined.}%
- \fi
- \endgroup
-}
-\catcode`\@=11 %
-\def\CheckCleanup{%
- \begingroup
- \edef\x{\the\toks0}%
- \def\y{ABC}%
- \ifx\x\y
- \else
- \errmessage{\string\toks0 has changed}%
- \fi
- \ifx\CatchFile@gtemp\@undefined
- \else
- \errmessage{Left over \string\CatchFile@gtemp}%
- \fi
- \endgroup
-}
-\def\Check{%
- \CheckContents
- \CheckCleanup
-}
-\def\StartDisableUnexpanded{%
- \begingroup
- \let\etex@unexpanded\@undefined
-}
-\def\StopDisableUnexpanded{%
- \endgroup
-}
-\catcode`\@=12 %
-
-\toks0{ABC}
-
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-
-\StartDisableUnexpanded
-\CatchFileDef\contents{catchfile.sty}\mysetup
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileDef\contents{catchfile.sty}{}
-\msg{\meaning\contents}
-\Check
-\msg{***********************************************************}%
-\StopDisableUnexpanded
-
-\CatchFileEdef\contents{catchfile.sty}{%
- \mysetup
- \def\par{^^J}%
- \obeylines
-}
-\msg{\contents}
-\Check
-\msg{***********************************************************}%
-\CatchFileEdef\contents{catchfile.sty}{%
- \catcode`\\=12 %
- \catcode`\#=12 %
- \def\par{^^J}%
- \obeylines
-}
-\msg{\contents}
-\Check
-\msg{***********************************************************}%
-
-\csname @@end\endcsname
-\end
-%</test3>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -939,9 +618,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% catchfile.sty & tex/generic/oberdiek/catchfile.sty\\
% catchfile.pdf & doc/latex/oberdiek/catchfile.pdf\\
-% test/catchfile-test1.tex & doc/latex/oberdiek/test/catchfile-test1.tex\\
-% test/catchfile-test2.tex & doc/latex/oberdiek/test/catchfile-test2.tex\\
-% test/catchfile-test3.tex & doc/latex/oberdiek/test/catchfile-test3.tex\\
% catchfile.dtx & source/latex/oberdiek/catchfile.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/catchfile.pdf b/macros/latex/contrib/oberdiek/catchfile.pdf
index e80f9d2f22..79c8e5ec02 100644
--- a/macros/latex/contrib/oberdiek/catchfile.pdf
+++ b/macros/latex/contrib/oberdiek/catchfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/centernot.dtx b/macros/latex/contrib/oberdiek/centernot.dtx
index 44be798cbd..dd990a3319 100644
--- a/macros/latex/contrib/oberdiek/centernot.dtx
+++ b/macros/latex/contrib/oberdiek/centernot.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{centernot.drv}{\from{centernot.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{centernot.sty}{\from{centernot.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{centernot.xml}{\from{centernot.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +177,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{centernot.drv}
%
diff --git a/macros/latex/contrib/oberdiek/centernot.pdf b/macros/latex/contrib/oberdiek/centernot.pdf
index 312a833231..c2bf34846a 100644
--- a/macros/latex/contrib/oberdiek/centernot.pdf
+++ b/macros/latex/contrib/oberdiek/centernot.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/chemarr.dtx b/macros/latex/contrib/oberdiek/chemarr.dtx
index 528eef4571..78e1a3cbeb 100644
--- a/macros/latex/contrib/oberdiek/chemarr.dtx
+++ b/macros/latex/contrib/oberdiek/chemarr.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{chemarr.sty}{\from{chemarr.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{chemarr-example.tex}{\from{chemarr.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{chemarr.xml}{\from{chemarr.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -172,21 +168,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{chemarr.drv}
%
diff --git a/macros/latex/contrib/oberdiek/chemarr.pdf b/macros/latex/contrib/oberdiek/chemarr.pdf
index 9455775c80..a6494f979f 100644
--- a/macros/latex/contrib/oberdiek/chemarr.pdf
+++ b/macros/latex/contrib/oberdiek/chemarr.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/classlist.dtx b/macros/latex/contrib/oberdiek/classlist.dtx
index 978798a9d1..8b45464521 100644
--- a/macros/latex/contrib/oberdiek/classlist.dtx
+++ b/macros/latex/contrib/oberdiek/classlist.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{classlist.drv}{\from{classlist.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{classlist.sty}{\from{classlist.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{classlist.xml}{\from{classlist.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{classlist.drv}
%
diff --git a/macros/latex/contrib/oberdiek/classlist.pdf b/macros/latex/contrib/oberdiek/classlist.pdf
index f85b447aee..7aeefafc1f 100644
--- a/macros/latex/contrib/oberdiek/classlist.pdf
+++ b/macros/latex/contrib/oberdiek/classlist.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/colonequals.dtx b/macros/latex/contrib/oberdiek/colonequals.dtx
index c3f78e4c60..aeae542c39 100644
--- a/macros/latex/contrib/oberdiek/colonequals.dtx
+++ b/macros/latex/contrib/oberdiek/colonequals.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{colonequals.drv}{\from{colonequals.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{colonequals.sty}{\from{colonequals.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{colonequals.xml}{\from{colonequals.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -170,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{colonequals.drv}
%
diff --git a/macros/latex/contrib/oberdiek/colonequals.pdf b/macros/latex/contrib/oberdiek/colonequals.pdf
index 563da3658a..827f29fa40 100644
--- a/macros/latex/contrib/oberdiek/colonequals.pdf
+++ b/macros/latex/contrib/oberdiek/colonequals.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/dvipscol.dtx b/macros/latex/contrib/oberdiek/dvipscol.dtx
index 00840f825c..0141ae2a94 100644
--- a/macros/latex/contrib/oberdiek/dvipscol.dtx
+++ b/macros/latex/contrib/oberdiek/dvipscol.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{dvipscol.drv}{\from{dvipscol.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{dvipscol.sty}{\from{dvipscol.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{dvipscol.xml}{\from{dvipscol.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{dvipscol.drv}
%
diff --git a/macros/latex/contrib/oberdiek/dvipscol.pdf b/macros/latex/contrib/oberdiek/dvipscol.pdf
index cc6cd3dd0b..9b9773d2d4 100644
--- a/macros/latex/contrib/oberdiek/dvipscol.pdf
+++ b/macros/latex/contrib/oberdiek/dvipscol.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/engord.dtx b/macros/latex/contrib/oberdiek/engord.dtx
index e083c48ed1..6c75953200 100644
--- a/macros/latex/contrib/oberdiek/engord.dtx
+++ b/macros/latex/contrib/oberdiek/engord.dtx
@@ -65,7 +65,6 @@
% Installation:
% TDS:tex/generic/oberdiek/engord.sty
% TDS:doc/latex/oberdiek/engord.pdf
-% TDS:doc/latex/oberdiek/test/engord-test1.tex
% TDS:source/latex/oberdiek/engord.dtx
%
%<*ignore>
@@ -135,10 +134,6 @@ and the derived files
\file{engord.sty}{\from{engord.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{engord-test1.tex}{\from{engord.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{engord.xml}{\from{engord.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -175,21 +170,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{engord.drv}
%
@@ -655,118 +635,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input engord.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -815,7 +684,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% engord.sty & tex/generic/oberdiek/engord.sty\\
% engord.pdf & doc/latex/oberdiek/engord.pdf\\
-% test/engord-test1.tex & doc/latex/oberdiek/test/engord-test1.tex\\
% engord.dtx & source/latex/oberdiek/engord.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/engord.pdf b/macros/latex/contrib/oberdiek/engord.pdf
index 204f7c9be8..212962f233 100644
--- a/macros/latex/contrib/oberdiek/engord.pdf
+++ b/macros/latex/contrib/oberdiek/engord.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/enparen.dtx b/macros/latex/contrib/oberdiek/enparen.dtx
index be11acbd10..773ebc861c 100644
--- a/macros/latex/contrib/oberdiek/enparen.dtx
+++ b/macros/latex/contrib/oberdiek/enparen.dtx
@@ -163,21 +163,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{enparen.drv}
%
diff --git a/macros/latex/contrib/oberdiek/enparen.pdf b/macros/latex/contrib/oberdiek/enparen.pdf
index 8d539601a7..dfd4019199 100644
--- a/macros/latex/contrib/oberdiek/enparen.pdf
+++ b/macros/latex/contrib/oberdiek/enparen.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/eolgrab.dtx b/macros/latex/contrib/oberdiek/eolgrab.dtx
index 20d16b380e..d27e99d34e 100644
--- a/macros/latex/contrib/oberdiek/eolgrab.dtx
+++ b/macros/latex/contrib/oberdiek/eolgrab.dtx
@@ -71,8 +71,6 @@
% TDS:doc/latex/oberdiek/example/eolgrab-example-ltx.tex
% TDS:doc/latex/oberdiek/example/eolgrab-example-env.tex
% TDS:doc/latex/oberdiek/example/eolgrab-example-sec.tex
-% TDS:doc/latex/oberdiek/test/eolgrab-test1.tex
-% TDS:doc/latex/oberdiek/test/eolgrab-test2.tex
% TDS:source/latex/oberdiek/eolgrab.dtx
%
%<*ignore>
@@ -150,10 +148,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{eolgrab-test1.tex}{\from{eolgrab.dtx}{test1}}%
% \file{eolgrab-test2.tex}{\from{eolgrab.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{eolgrab.xml}{\from{eolgrab.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -190,21 +184,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{eolgrab.drv}
%
@@ -688,152 +667,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input eolgrab.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Tests for \hologo{plainTeX}}
-%
-% \begin{macrocode}
-%<*test2>
-\input eolgrab.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\eolgrab{\immediate\write16}Hello World
-\def\TestExpected{foo bar}
-\eolgrab{\def\TestResult}foo bar
-
-\ifx\TestExpected\TestResult
- \immediate\write16{* Ok (foo bar)}%
-\else
- \errmessage{Test failed (foo bar)}%
-\fi
-
-\begingroup
- \def\TestExpected{foobar}%
- \endlinechar=-1 %
- \eolgrab{\def\TestResult}foo
- bar
- ^^M
- \ifx\TestExpected\TestResult
- \immediate\write16{* Ok (foobar)}%
- \else
- \errmessage{Test failed (foobar)}%
- \fi
-\endgroup
-
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -885,8 +719,6 @@ and the derived files
% example/eolgrab-example-ltx.tex & doc/latex/oberdiek/example/eolgrab-example-ltx.tex\\
% example/eolgrab-example-env.tex & doc/latex/oberdiek/example/eolgrab-example-env.tex\\
% example/eolgrab-example-sec.tex & doc/latex/oberdiek/example/eolgrab-example-sec.tex\\
-% test/eolgrab-test1.tex & doc/latex/oberdiek/test/eolgrab-test1.tex\\
-% test/eolgrab-test2.tex & doc/latex/oberdiek/test/eolgrab-test2.tex\\
% eolgrab.dtx & source/latex/oberdiek/eolgrab.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/eolgrab.pdf b/macros/latex/contrib/oberdiek/eolgrab.pdf
index 109807d706..9040b72738 100644
--- a/macros/latex/contrib/oberdiek/eolgrab.pdf
+++ b/macros/latex/contrib/oberdiek/eolgrab.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/etexcmds.dtx b/macros/latex/contrib/oberdiek/etexcmds.dtx
index 6d8e95cbe5..236169a3af 100644
--- a/macros/latex/contrib/oberdiek/etexcmds.dtx
+++ b/macros/latex/contrib/oberdiek/etexcmds.dtx
@@ -67,10 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/etexcmds.sty
% TDS:doc/latex/oberdiek/etexcmds.pdf
-% TDS:doc/latex/oberdiek/test/etexcmds-test1.tex
-% TDS:doc/latex/oberdiek/test/etexcmds-test2.tex
-% TDS:doc/latex/oberdiek/test/etexcmds-test3.tex
-% TDS:doc/latex/oberdiek/test/etexcmds-test4.tex
% TDS:source/latex/oberdiek/etexcmds.dtx
%
%<*ignore>
@@ -145,10 +141,6 @@ and the derived files
% \file{etexcmds-test2.tex}{\from{etexcmds.dtx}{test2}}%
% \file{etexcmds-test3.tex}{\from{etexcmds.dtx}{test3}}%
% \file{etexcmds-test4.tex}{\from{etexcmds.dtx}{test4}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{etexcmds.xml}{\from{etexcmds.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -185,21 +177,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{etexcmds.drv}
%
@@ -555,180 +532,7 @@ and the derived files
\etexcmds@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input etexcmds.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2>
-\immediate\write16{etexcmds-test2.tex: test file for plainTeX}
-\input etexcmds.sty\relax
-\catcode`\@=11 %
-\edef\x{\string\unexpanded}
-\edef\y{\meaning\etex@unexpanded}
-\ifx\x\y
-\else
- \@PackageError{etexcmds-test2}{Test failed}\@ehc
-\fi
-\end
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{etexcmds-test3.tex}[2016/05/16 v1.6 Test file for LaTeX]
-\RequirePackage{etexcmds}
-\makeatletter
-\edef\x{\string\unexpanded}
-\edef\y{\meaning\etex@unexpanded}
-\ifx\x\y
-\else
- \@PackageError{etexcmds-test3}{Test failed}\@ehc
-\fi
-\stop
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{etexcmds-test4.tex}[2016/05/16 v1.6 Test file for LaTeX]
-\documentclass{article}
-\usepackage{m-pictex}
-\def\normalwritestatus#1#2{%
- \typeout{EMERGENCY HACK \string\normalwritestatus}%
- \typeout{#1: #2}%
-}
-\usepackage{m-ch-de}
-\usepackage{etexcmds}
-\makeatletter
-\ifetex@unexpanded
- \edef\x{\string\unexpanded}%
- \edef\y{\meaning\etex@unexpanded}%
- \ifx\x\y
- \else
- \@PackageWarningNoLine{etexcmds-test4}{Test failed}%
- \fi
-\else
- \@PackageWarningNoLine{etexcmds-test4}{%
- Test failed because of ConTeXt%
- }%
-\fi
-\stop
-%</test4>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -777,10 +581,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% etexcmds.sty & tex/generic/oberdiek/etexcmds.sty\\
% etexcmds.pdf & doc/latex/oberdiek/etexcmds.pdf\\
-% test/etexcmds-test1.tex & doc/latex/oberdiek/test/etexcmds-test1.tex\\
-% test/etexcmds-test2.tex & doc/latex/oberdiek/test/etexcmds-test2.tex\\
-% test/etexcmds-test3.tex & doc/latex/oberdiek/test/etexcmds-test3.tex\\
-% test/etexcmds-test4.tex & doc/latex/oberdiek/test/etexcmds-test4.tex\\
% etexcmds.dtx & source/latex/oberdiek/etexcmds.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/etexcmds.pdf b/macros/latex/contrib/oberdiek/etexcmds.pdf
index a8cd82cfd9..4015fb4ca4 100644
--- a/macros/latex/contrib/oberdiek/etexcmds.pdf
+++ b/macros/latex/contrib/oberdiek/etexcmds.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/fibnum.dtx b/macros/latex/contrib/oberdiek/fibnum.dtx
index 97c5591106..9c3f8f7986 100644
--- a/macros/latex/contrib/oberdiek/fibnum.dtx
+++ b/macros/latex/contrib/oberdiek/fibnum.dtx
@@ -67,8 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/fibnum.sty
% TDS:doc/latex/oberdiek/fibnum.pdf
-% TDS:doc/latex/oberdiek/test/fibnum-test1.tex
-% TDS:doc/latex/oberdiek/test/fibnum-test-calc.tex
% TDS:source/latex/oberdiek/fibnum.dtx
%
%<*ignore>
@@ -219,21 +217,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{fibnum.drv}
%
@@ -738,249 +721,7 @@ and the derived files
\FibNum@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input fibnum.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test calculations}
-%
-% \begin{macrocode}
-%<*test-calc>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input fibnum.sty\relax
-\else
- \RequirePackage{fibnum}[2016/05/16]%
-\fi
-\def\TestSet{%
- \test{0}{0}%
- \test{1}{1}%
- \test{2}{1}%
- \test{3}{2}%
- \test{4}{3}%
- \test{5}{5}%
- \test{6}{8}%
- \test{7}{13}%
- \test{8}{21}%
- \test{9}{34}%
- \test{10}{55}%
- \test{11}{89}%
- \test{12}{144}%
- \test{13}{233}%
- \test{14}{377}%
- \test{15}{610}%
- \test{16}{987}%
- \test{17}{1597}%
- \test{18}{2584}%
- \test{19}{4181}%
- \test{20}{6765}%
- \test{21}{10946}%
- \test{22}{17711}%
- \test{23}{28657}%
- \test{24}{46368}%
- \test{25}{75025}%
- \test{26}{121393}%
- \test{27}{196418}%
- \test{28}{317811}%
- \test{29}{514229}%
- \test{30}{832040}%
- \test{31}{1346269}%
- \test{32}{2178309}%
- \test{33}{3524578}%
- \test{34}{5702887}%
- \test{35}{9227465}%
- \test{36}{14930352}%
- \test{37}{24157817}%
- \test{38}{39088169}%
- \test{39}{63245986}%
- \test{40}{102334155}%
- \test{41}{165580141}%
- \test{42}{267914296}%
- \test{43}{433494437}%
- \test{44}{701408733}%
- \test{45}{1134903170}%
- \test{46}{1836311903}%
- \test{47}{2971215073}%
- \test{48}{4807526976}%
- \test{49}{7778742049}%
- \test{50}{12586269025}%
- \test{51}{20365011074}%
- \test{52}{32951280099}%
- \test{53}{53316291173}%
- \test{54}{86267571272}%
- \test{55}{139583862445}%
- \test{56}{225851433717}%
- \test{57}{365435296162}%
- \test{58}{591286729879}%
- \test{59}{956722026041}%
- \test{60}{1548008755920}%
- \test{61}{2504730781961}%
- \test{62}{4052739537881}%
- \test{63}{6557470319842}%
- \test{64}{10610209857723}%
- \test{65}{17167680177565}%
- \test{66}{27777890035288}%
- \test{67}{44945570212853}%
- \test{68}{72723460248141}%
- \test{69}{117669030460994}%
- \test{70}{190392490709135}%
- \test{71}{308061521170129}%
- \test{72}{498454011879264}%
- \test{73}{806515533049393}%
-}
-\def\msg#{\immediate\write16}
-\def\test#1#2{%
- \TestAux{#1}{#2}%
- \ifnum#1=0 %
- \else
- \ifodd#1 %
- \TestAux{-#1}{#2}%
- \else
- \TestAux{-#1}{-#2}%
- \fi
- \fi
-}
-\def\TestAux#1#2{%
- \def\Expected{#2}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\Result
- \expandafter\expandafter\expandafter{%
- \fibnum{#1}%
- }%
- \ltx@onelevel@sanitize\Result
- \ifx\Result\Expected
- \msg{* #1: ok.}%
- \else
- \msg{! fib(#1) = #2}%
- \errmessage{fib(#1) <> \Result}%
- \fi
-}
-\TestSet
-\setbox0=\hbox{%
- \msg{* PreCalc{73}}%
- \fibnumPreCalc{73}%
-}
-\ifdim\wd0=0pt
-\else
- \errmessage{Unwanted stuff in PreCalc}%
-\fi
-\TestSet
-\csname @@end\endcsname\end
-%</test-calc>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1029,8 +770,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% fibnum.sty & tex/generic/oberdiek/fibnum.sty\\
% fibnum.pdf & doc/latex/oberdiek/fibnum.pdf\\
-% test/fibnum-test1.tex & doc/latex/oberdiek/test/fibnum-test1.tex\\
-% test/fibnum-test-calc.tex & doc/latex/oberdiek/test/fibnum-test-calc.tex\\
% fibnum.dtx & source/latex/oberdiek/fibnum.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/fibnum.pdf b/macros/latex/contrib/oberdiek/fibnum.pdf
index 8787bf4d5a..a4c0823fe5 100644
--- a/macros/latex/contrib/oberdiek/fibnum.pdf
+++ b/macros/latex/contrib/oberdiek/fibnum.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/flags.dtx b/macros/latex/contrib/oberdiek/flags.dtx
index eccf6d3c9a..6a2d05c7b4 100644
--- a/macros/latex/contrib/oberdiek/flags.dtx
+++ b/macros/latex/contrib/oberdiek/flags.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{flags.drv}{\from{flags.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{flags.sty}{\from{flags.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{flags.xml}{\from{flags.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{flags.drv}
%
diff --git a/macros/latex/contrib/oberdiek/flags.pdf b/macros/latex/contrib/oberdiek/flags.pdf
index 36418b15f3..86af3a2b8a 100644
--- a/macros/latex/contrib/oberdiek/flags.pdf
+++ b/macros/latex/contrib/oberdiek/flags.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/gettitlestring.dtx b/macros/latex/contrib/oberdiek/gettitlestring.dtx
index 6d9dfad7c5..724ed7fecc 100644
--- a/macros/latex/contrib/oberdiek/gettitlestring.dtx
+++ b/macros/latex/contrib/oberdiek/gettitlestring.dtx
@@ -67,8 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/gettitlestring.sty
% TDS:doc/latex/oberdiek/gettitlestring.pdf
-% TDS:doc/latex/oberdiek/test/gettitlestring-test1.tex
-% TDS:doc/latex/oberdiek/test/gettitlestring-test2.tex
% TDS:source/latex/oberdiek/gettitlestring.dtx
%
%<*ignore>
@@ -141,10 +139,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{gettitlestring-test1.tex}{\from{gettitlestring.dtx}{test1}}%
% \file{gettitlestring-test2.tex}{\from{gettitlestring.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{gettitlestring.xml}{\from{gettitlestring.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +175,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{gettitlestring.drv}
%
@@ -616,158 +595,7 @@ and the derived files
\GTS@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input gettitlestring.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test of non-expand method}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{gettitlestring}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
-\begin{qstest}{non-expand}{non-expand}
- \def\test#1#2{%
- \sbox0{%
- \GetTitleString{#1}%
- \Expect{#2}*{\GetTitleStringResult}%
- }%
- \Expect{0.0pt}*{\the\wd0}%
- }%
- \test{}{}%
- \test{ }{}%
- \test{ x }{x}%
- \test{ x y }{x y}%
- \test{ \relax}{\relax}%
- \test{\label{f}a}{a}%
- \test{ \label{f}a}{a}%
- \test{\label{f} a}{a}%
- \test{ \label{f} a}{a}%
- \test{a\label{f}}{a}%
- \test{a\label{f} }{a}%
- \test{a \label{f}}{a}%
- \test{a \label{f} }{a}%
- \test{a\label{f}b\label{g}}{ab}%
- \test{a \label{f}b \label{g} }{a b}%
- \test{a\label{f} b \label{g} }{a b}%
-\end{qstest}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -816,8 +644,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% gettitlestring.sty & tex/generic/oberdiek/gettitlestring.sty\\
% gettitlestring.pdf & doc/latex/oberdiek/gettitlestring.pdf\\
-% test/gettitlestring-test1.tex & doc/latex/oberdiek/test/gettitlestring-test1.tex\\
-% test/gettitlestring-test2.tex & doc/latex/oberdiek/test/gettitlestring-test2.tex\\
% gettitlestring.dtx & source/latex/oberdiek/gettitlestring.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/gettitlestring.pdf b/macros/latex/contrib/oberdiek/gettitlestring.pdf
index eb62b74593..96c4bc13ae 100644
--- a/macros/latex/contrib/oberdiek/gettitlestring.pdf
+++ b/macros/latex/contrib/oberdiek/gettitlestring.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/grfext.pdf b/macros/latex/contrib/oberdiek/grfext.pdf
deleted file mode 100644
index 267c75785f..0000000000
--- a/macros/latex/contrib/oberdiek/grfext.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hologo.dtx b/macros/latex/contrib/oberdiek/hologo.dtx
index a94dd32e6d..0985ff21d9 100644
--- a/macros/latex/contrib/oberdiek/hologo.dtx
+++ b/macros/latex/contrib/oberdiek/hologo.dtx
@@ -68,9 +68,6 @@
% TDS:tex/generic/oberdiek/hologo.sty
% TDS:doc/latex/oberdiek/hologo.pdf
% TDS:doc/latex/oberdiek/example/hologo-example.tex
-% TDS:doc/latex/oberdiek/test/hologo-test1.tex
-% TDS:doc/latex/oberdiek/test/hologo-test-spacefactor.tex
-% TDS:doc/latex/oberdiek/test/hologo-test-list.tex
% TDS:source/latex/oberdiek/hologo.dtx
%
%<*ignore>
@@ -146,10 +143,6 @@ and the derived files
% \file{hologo-test1.tex}{\from{hologo.dtx}{test1}}%
% \file{hologo-test-spacefactor.tex}{\from{hologo.dtx}{test-spacefactor}}%
% \file{hologo-test-list.tex}{\from{hologo.dtx}{test-list}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hologo.xml}{\from{hologo.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -192,21 +185,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hologo.drv}
%
@@ -4455,250 +4433,7 @@ $ #1{\string ^^^^0395}{\string ^^^^03b5}%
\HOLOGO@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input hologo.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Spacefactor}
-%
-% The space factor must be 1000 after a logo. If it is greater 1000
-% then the following space is a space after a sentence closing point.
-% If the space factor is smaller 1000 then an immediate following
-% dot is interpreted as abbreviation, not sentence closing point.
-%
-% \begin{macrocode}
-%<*test-spacefactor>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{hologo}[2017/05/01]
-\usepackage{kvsetkeys}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
-\begin{qstest}{spacefactor}{spacefactor}
-\newcommand*{\Test}[1]{%
- \sbox0{%
- \hologo{#1}%
- \Expect*{1000 (#1)}*{\the\spacefactor\space(#1)}%
- }%
-}%
-\makeatletter
-\def\TestList{}
-\def\hologoEntry#1#2#3{%
- \edef\TestList{%
- \ifx\TestList\@empty
- \else
- \TestList,%
- \fi
- #1%
- \ifx\\#2\\%
- \else
- ={variant=#2}%
- \fi
- }%
-}
-\hologoList
-\expandafter\kv@parse@normalized\expandafter{%
- \TestList
-}{%
- \begingroup
- \let\@logo=\kv@key
- \ifx\kv@value\relax
- \else
- \expandafter\hologoLogoSetup\expandafter\@logo\expandafter{%
- \kv@value
- }%
- \fi
- \Test\@logo
- \endgroup
- \@gobbletwo
-}
-\end{qstest}
-\end{document}
-%</test-spacefactor>
-% \end{macrocode}
-%
-% \subsection{Complete list}
-%
-% \begin{macrocode}
-%<*test-list>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass[12pt,a4paper]{article}
-\usepackage{hologo}[2017/05/01]
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{parskip}
-\usepackage[unicode]{hyperref}[2011/09/28]
-\usepackage{bookmark}[2011/09/19]
-\bookmarksetup{%
- numbered,%
- open,%
- openlevel=2,%
-}
-\renewcommand*{\contentsname}{List of logos}
-\begin{document}
-\tableofcontents
-\def\TestFont#1#2#3#4#5#6{%
- \begingroup
- \usefont{#3}{#4}{#5}{#6}%
- \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2}%
- \quad
- \begingroup\scriptsize\hologoVariant{#1}{#2}\endgroup
- \quad
- \endgroup
- (#3/#4/#5/#6)%
- \par
-}
-\makeatletter
-\def\hologoEntry#1#2#3{%
- \section{%
- \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2} %
- {[#1\ifx\\#2\\\else\space(#2)\fi]}% hash-ok
- }% braces around [] because of bug in tex4ht
- \begingroup
- \hypersetup{unicode=false}%
- \bookmark[%
- dest=\@currentHref,%
- rellevel=1,%
- keeplevel,%
- ]{%
- \HologoVariant{#1}{#2}/\hologoVariant{#1}{#2} %
- (PDFDocEncoding)%
- }%
- \endgroup
- \TestFont{#1}{#2}{OT1}{cmr}{m}{n}%
- \TestFont{#1}{#2}{OT1}{cmss}{m}{n}%
- \TestFont{#1}{#2}{OT1}{cmr}{b}{n}%
- \TestFont{#1}{#2}{OT1}{cmr}{m}{it}%
- \TestFont{#1}{#2}{OT1}{cmtt}{m}{n}%
- \TestFont{#1}{#2}{T1}{lmr}{m}{n}%
- \TestFont{#1}{#2}{T1}{lmss}{m}{n}%
- \TestFont{#1}{#2}{T1}{lmr}{b}{n}%
- \TestFont{#1}{#2}{T1}{lmr}{m}{it}%
- \TestFont{#1}{#2}{T1}{lmtt}{m}{n}%
- \TestFont{#1}{#2}{T1}{lmvtt}{m}{n}%
- \TestFont{#1}{#2}{T1}{qtm}{m}{n}%
- \TestFont{#1}{#2}{T1}{qhv}{m}{n}%
- \TestFont{#1}{#2}{T1}{qtm}{b}{n}%
- \TestFont{#1}{#2}{T1}{qtm}{m}{it}%
- \TestFont{#1}{#2}{T1}{qcr}{m}{n}%
- \newpage
-}
-\makeatother
-\hologoList
-\end{document}
-%</test-list>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -4748,9 +4483,6 @@ $ #1{\string ^^^^0395}{\string ^^^^03b5}%
% hologo.sty & tex/generic/oberdiek/hologo.sty\\
% hologo.pdf & doc/latex/oberdiek/hologo.pdf\\
% example/hologo-example.tex & doc/latex/oberdiek/example/hologo-example.tex\\
-% test/hologo-test1.tex & doc/latex/oberdiek/test/hologo-test1.tex\\
-% test/hologo-test-spacefactor.tex & doc/latex/oberdiek/test/hologo-test-spacefactor.tex\\
-% test/hologo-test-list.tex & doc/latex/oberdiek/test/hologo-test-list.tex\\
% hologo.dtx & source/latex/oberdiek/hologo.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/hologo.pdf b/macros/latex/contrib/oberdiek/hologo.pdf
index bed7b7c96a..2a5dbfc9b7 100644
--- a/macros/latex/contrib/oberdiek/hologo.pdf
+++ b/macros/latex/contrib/oberdiek/hologo.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/holtxdoc.dtx b/macros/latex/contrib/oberdiek/holtxdoc.dtx
index 61057855b3..6c31061ccf 100644
--- a/macros/latex/contrib/oberdiek/holtxdoc.dtx
+++ b/macros/latex/contrib/oberdiek/holtxdoc.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{holtxdoc.drv}{\from{holtxdoc.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{holtxdoc.sty}{\from{holtxdoc.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{holtxdoc.xml}{\from{holtxdoc.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{holtxdoc.drv}
%
diff --git a/macros/latex/contrib/oberdiek/holtxdoc.pdf b/macros/latex/contrib/oberdiek/holtxdoc.pdf
index 804f85a5c8..f59f98fc88 100644
--- a/macros/latex/contrib/oberdiek/holtxdoc.pdf
+++ b/macros/latex/contrib/oberdiek/holtxdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hopatch.dtx b/macros/latex/contrib/oberdiek/hopatch.dtx
index 4957ec3e83..17712fc2cc 100644
--- a/macros/latex/contrib/oberdiek/hopatch.dtx
+++ b/macros/latex/contrib/oberdiek/hopatch.dtx
@@ -63,8 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/hopatch.sty
% TDS:doc/latex/oberdiek/hopatch.pdf
-% TDS:doc/latex/oberdiek/test/hopatch-test1.tex
-% TDS:doc/latex/oberdiek/test/hopatch-test2.tex
% TDS:source/latex/oberdiek/hopatch.dtx
%
%<*ignore>
@@ -133,10 +131,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{hopatch-test1.tex}{\from{hopatch.dtx}{test1}}%
% \file{hopatch-test2.tex}{\from{hopatch.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hopatch.xml}{\from{hopatch.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -177,21 +171,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hopatch.drv}
%
@@ -517,176 +496,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{hopatch}[2016/05/16]}
-%</test1>
-% \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input hopatch.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\providecommand\variant{0}
-\RequirePackage{filecontents}
-\begin{filecontents}{foo.sty}
-\ProvidesPackage{foo}
-\def\msg#{\immediate\write16}
-\def\foo#1{%
- \msg{\fooformat{#1}}%
-}
-\def\fooformat#1{[#1]}% hash-ok
-\foo{* Executing foo at package loading}
-\end{filecontents}
-
-\ifnum\variant=1 %
- \documentclass{memoir}%
-\else
- \documentclass{article}%
-\fi
-
-\ifcase\variant\relax
-\or % 1
-\or % 2
- \usepackage{etoolbox}%
-\or % 3
- \usepackage{scrlfile}%
-\or % 4
- \usepackage{filehook}%
-\fi
-
-\AtBeginDocument{\foo{* AtBeginDocument before hopatch}}
-\usepackage{hopatch}
-\AtBeginDocument{\foo{* AtBeginDocument after hopatch}}
-
-\makeatletter
-\hopatch@AfterPackage{foo}{%
- \def\fooformat#1{<<#1>>}%
-}
-\makeatother
-
-\AtBeginDocument{\foo{* AtBeginDocument before foo}}
-\usepackage{foo}
-\AtBeginDocument{\foo{* AtBeginDocument after foo}}
-
-\foo{* Executing in preamble}
-
-\begin{document}
-\foo{* Executing in document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -735,8 +545,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% hopatch.sty & tex/latex/oberdiek/hopatch.sty\\
% hopatch.pdf & doc/latex/oberdiek/hopatch.pdf\\
-% test/hopatch-test1.tex & doc/latex/oberdiek/test/hopatch-test1.tex\\
-% test/hopatch-test2.tex & doc/latex/oberdiek/test/hopatch-test2.tex\\
% hopatch.dtx & source/latex/oberdiek/hopatch.dtx\\
% \end{tabular}^^A
% }^^A
@@ -854,31 +662,31 @@ and the derived files
% Philipp Lehman:
% \textit{The etoolbox Package}
% 2011-01-03.
-% \CTAN{macros/latex/contrib/etoolbox/etoolbox.pdf}
+% \CTANpkg{etoolbox}
%
% \bibitem{filehook}
% Martin Scharrer:
% \textit{The filehook Package};
% 2011-01-09.
-% \CTAN{macros/latex/contrib/filehook/filehook.pdf}
+% \CTANpkg{filehook}
%
% \bibitem{ltxcmds}
% Heiko Oberdiek:
% \textit{The ltxcmds Package};
% 2010-12-12.
-% \CTAN{macros/latex/contrib/oberdiek/ltxcmds.pdf}
+% \CTANpkg{ltxcmds}
%
% \bibitem{memoir}
% Peter Wilson, Lars Madsen:
% \textit{The Memoir Class for Configurable Typesetting, User Guide};
% 2010.
-% \CTAN{macros/latex/contrib/memoir/memman.pdf}
+% \CTANpkg{memoir}
%
% \bibitem{scrlfile}
% Markus Kohm, Jens-Uwe Morawski:
% \textit{The Guide KOMA-Script};
% 2011-01-20.
-% \CTAN{macros/latex/contrib/koma-script/scrguien.pdf}
+% \CTANpkg{koma-script}
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/hopatch.pdf b/macros/latex/contrib/oberdiek/hopatch.pdf
index 3a445a5650..73d35e1b27 100644
--- a/macros/latex/contrib/oberdiek/hopatch.pdf
+++ b/macros/latex/contrib/oberdiek/hopatch.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hycolor.dtx b/macros/latex/contrib/oberdiek/hycolor.dtx
index 1a72eae9ce..d55a709153 100644
--- a/macros/latex/contrib/oberdiek/hycolor.dtx
+++ b/macros/latex/contrib/oberdiek/hycolor.dtx
@@ -67,13 +67,6 @@
% TDS:tex/latex/oberdiek/hycolor.sty
% TDS:tex/latex/oberdiek/xcolor-patch.sty
% TDS:doc/latex/oberdiek/hycolor.pdf
-% TDS:doc/latex/oberdiek/test/hycolor-test1.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test2.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test3.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test-xcol1.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test-xcol2.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test-xcol3.tex
-% TDS:doc/latex/oberdiek/test/hycolor-test-xcol4.tex
% TDS:source/latex/oberdiek/hycolor.dtx
%
%<*ignore>
@@ -151,10 +144,6 @@ and the derived files
% \file{hycolor-test-xcol2.tex}{\from{hycolor.dtx}{test-xcolor,xcol2}}%
% \file{hycolor-test-xcol3.tex}{\from{hycolor.dtx}{test-xcolor,xcol3}}%
% \file{hycolor-test-xcol4.tex}{\from{hycolor.dtx}{test-xcolor-fbox}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hycolor.xml}{\from{hycolor.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -226,21 +215,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hycolor.drv}
%
@@ -1443,526 +1417,7 @@ and the derived files
% \begin{macrocode}
%</xcolor>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\ProvidesFile{hycolor-test1.tex}[2016/05/16 test file 1]
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\ProvidesFile{hycolor-test2.tex}[2016/05/16 test file 2]
-\let\pdfmatch\relax
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<test3>\ProvidesFile{hycolor-test3.tex}[2016/05/16 test file 3]
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test>
-% \end{macrocode}
-% \begin{macrocode}
-\documentclass{article}
-
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\makeatletter
-
-\newcommand*{\TestPackageName}{test-package}
-\newcommand*{\TestOptionName}{test-option}
-
-\newcommand\Message{}
-\def\Message#1#{\immediate\write16}
-
-\newcommand*{\ExpectError}[2]{%
- \begingroup
- \global\let\saved@errhelp\errhelp
- \global\let\saved@errmessage\errmessage
- \let\errhelp\@gobble
- \def\errmessage##1{%
- \xdef\@ExpectErrorMessage{##1}%
- }%
- \PackageError\TestPackageName{#1}\@ehc
- \def\errhelp##1{%
- \global\let\errhelp\saved@errhelp
- }%
- \global\let\@ResultErrorMessage\@empty
- \def\errmessage##1{%
- \xdef\@ResultErrorMessage{##1}%
- \global\let\errmessage\saved@errmessage
- % \Message{[ ##1}%
- % \Message{] (ignored error)}%
- % \Message{}%
- }%
- #2%
- \endgroup
- \Expect*{\@ResultErrorMessage}*{\@ExpectErrorMessage}%
-}
-\usepackage{scrlfile}
-\usepackage{hycolor}[2016/05/16]
-%</test>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1>
-\begin{qstest}{NumNormalize}{num, normalize}
- \def\test#1#2{%
- \HyColor@NormalizeNum{#1}\cmd
- \Expect*{\cmd}{#2}%
- }%
- \test{0}{0}%
- \test{000}{0}%
- \test{-1}{0}%
- \test{ 0 }{0}%
- \test{1.1}{1}%
- \test{100}{1}%
- \test{00100}{1}%
- \test{99.99}{1}%
- \test{0.0}{0}%
- \test{00.00}{0}%
- \test{0.}{0}%
- \test{.0}{0}%
- \test{0.1}{.1}%
- \test{0.10}{.1}%
- \test{0.1000}{.1}%
- \test{.1000}{.1}%
- \test{0.01}{.01}%
- \test{0.01010}{.0101}%
- \test{.0000000001}{.0000000001}%
- \test{.9999999999}{.9999999999}%
-\end{qstest}
-
-\begin{qstest}{BookmarkColor without xcolor}{bookmark, noxcolor}
- \def\test#1#2{%
- \HyColor@BookmarkColor{#1}\cmd\TestPackageName\TestOptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[rgb]{1,0,0}}{1 0 0}%
- \test{[gray]{0.10}}{.1 .1 .1}%
- \test{}{}%
- \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
- \def\errortest[#1]#2{%
- \ExpectError{%
- Color model `#1' is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `\TestOptionName=[#1]{#2}'% hash-ok
- }{%
- \test{[#1]{#2}}{}% hash-ok
- }%
- }%
- \errortest[cmyk]{1,0,0,0}%
- \errortest[empty]{}%
- \def\errortest#1{%
- \ExpectError{%
- This color specification is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `\TestOptionName=#1'%
- }{%
- \test{#1}{}%
- }%
- }%
-\end{qstest}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1|test2>
-\begin{qstest}{X0134 without xcolor}{X0134, noxcolor}
- \def\test#1#2{%
- \HyColor@XZeroOneThreeFour{#1}\cmd\TestPackageName\TestOptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[empty]{}}{}%
- \test{[rgb]{1,0,0}}{1 0 0}%
- \test{[gray]{0.10}}{.1}%
- \test{[cmyk]{0,1,0,0}}{0 1 0 0}%
- \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
- \def\errortest[#1]#2{%
- \ExpectError{%
- Color model `#1' is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=[#1]{#2}'% hash-ok
- }{%
- \HyColor@XZeroOneThreeFour{[{#1}]{#2}}\cmd
- \TestPackageName\TestOptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
- }%
- }%
- \errortest[Gray]{10}%
- \errortest[cmy]{1,0,0}%
- \def\errortest#1{%
- \ExpectError{%
- This color specification is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=#1'%
- }{%
- \HyColor@XZeroOneThreeFour{#1}\cmd\TestPackageName\TestOptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
- }%
- }%
- \errortest{yellow}%
-\end{qstest}
-
-\begin{qstest}{HyperrefBorderColor without xcolor}%
- {hyperef bordercolor, noxcolor}%
- \def\test#1#2{%
- \HyColor@HyperrefBorderColor{#1}\cmd\TestPackageName\TestOptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[rgb]{1,0,0}}{1 0 0}%
- \test{[gray]{0.10}}{.1 .1 .1}%
- \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
- \def\errortest[#1]#2{%
- \ExpectError{%
- Color model `#1' is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=[#1]{#2}'% hash-ok
- }{%
- \HyColor@HyperrefBorderColor{[{#1}]{#2}}\cmd
- \TestPackageName\TestOptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
- }%
- }%
- \errortest[Gray]{10}%
- \errortest[cmy]{1,0,0}%
- \errortest[cmyk]{0,1,0,0}%
- \def\errortest#1{%
- \ExpectError{%
- This color specification is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=#1'%
- }{%
- \HyColor@HyperrefBorderColor{#1}\cmd
- \TestPackageName\TestOptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
- }%
- }%
- \errortest{yellow}%
-\end{qstest}
-%</test1|test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1|test2>
-\usepackage{xcolor}
-\definecolor[named]{MyGreen}{rgb}{0,0.7,0}
-\definecolor{mygreen}{named}{MyGreen}
-%</test1|test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1>
-\begin{qstest}{BookmarkColor with xcolor}{bookmark, xcolor}
- \def\test#1#2{%
- \HyColor@BookmarkColor{#1}\cmd\PackageName\OptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[rgb]{1,0,0}}{1 0 0}%
- \test{[gray]{0.10}}{.1 .1 .1}%
- \test{}{}%
- \test{[rgb]{ 1 , 1 , 0 }}{1 1 0}%
- \test{[cmyk]{1,0,0,0}}{0 1 1}%
- \test{red}{1 0 0}%
- \test{cyan}{0 1 1}%
- \test{red!40!blue}{.4 0 .6}%
- \test{[Gray]{10}}{.66667 .66667 .66667}%
- \test{[RGB]{100,200,50}}{.39217 .78432 .19609}%
- \test{[wave]{363}}{.00316 0 .00316}%
- \test{[wave]814}{.00797 0 0}%
- \test{[HSB]{100,200,50}}{.03473 .20833 .12152}%
- \test{[HTML]{A800FF}}{.65881 0 1}%
- \test{[cmy]{.3,.5,.2}}{.7 .5 .8}%
- \test{[cmyk]{.3,.5,.2,.1}}{.6 .4 .7}%
- \test{[hsb]{.3,.5,.2}}{.12 .2 .1}%
- \test{[Hsb]{120,.5,.2}}{.1 .2 .1}%
- \test{[tHsb]{120,.5,.2}}{.2 .2 .1}%
- \test{[named]{MyGreen}}{0 .7 0}%
- \test{mygreen}{0 .7 0}%
-\end{qstest}
-
-\begin{qstest}{HyperrefColor}{hyperref, color}
- \def\test#1#2{%
- \HyColor@HyperrefColor{#1}\cmd
- \Expect*{\cmd}{#2}%
- }%
- \test{red}{red}%
- \test{[rgb]{1,0,0}}{[{rgb}]{1,0,0}}%
- \HyColor@HyperrefColor{}\cmd
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-\end{qstest}
-%</test1>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test1|test2>
-\begin{qstest}{X0134 with xcolor}{hyperref, X0134, xcolor}
- \def\test#1#2{%
- \HyColor@XZeroOneThreeFour{#1}\cmd\PackageName\OptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{[empty]{}}{}%
- \test{[gray]{0.1}}{.1}%
- \test{[rgb]{1,0.5,0.0}}{1 .5 0}%
- \test{[cmyk]{0,1,0,0.5}}{0 1 0 .5}%
- \test{[Gray]{10}}{.66667}%
- \test{red}{1 0 0}%
- \test{1 0 0}{1 0 0}%
- \test{001.0 .23 0}{1 .23 0}%
- \test{[named]{MyGreen}}{0 .7 0}%
- \test{mygreen}{0 .7 0}%
- \HyColor@XZeroOneThreeFour{}\cmd\PackageName\OptionName
- \Expect{true}*{\ifx\cmd\relax true\else false\fi}%
-\end{qstest}
-
-\begin{qstest}{FieldColor}{hyperref, field, FieldColor}
- \def\test#1#2{%
- \HyColor@FieldColor{#1}\cmd\PackageName\OptionName
- \Expect*{\cmd}{#2}%
- }%
- \test{}{}%
- \test{[gray]{0.7}}{.7 g}%
- \test{[rgb]{1,0,0}}{1 0 0 rg}%
- \test{[cmyk]{0,1,0,0}}{0 1 0 0 k}%
- \test{[cmy]{.5,.4,.3}}{.5 .6 .7 rg}%
-\end{qstest}
-%</test1|test2>
-% \end{macrocode}
-%
-% \subsection{Test for package \xpackage{attachfile2}}
-%
-% \begin{macrocode}
-%<*test3>
-\def\atfi@SETRGBCOLORtest{set-rgb}
-\def\atfi@SETGRAYCOLORtest{set-gray}
-\def\atfi@SETCMYKCOLORtest{set-cmyk}
-\def\Test#1#2#3#4#5{%
- \begingroup
- \setbox0=\hbox{%
- \begingroup
- \chardef\HyColor@PdfVersion=6 %
- \HyColor@AttachfileColor{#1}\spec\inlinemacro\annot
- \TestPackageName\TestOptionName
- \edef\inline{\inlinemacro{test}}%
- \expandafter\Expect\expandafter{\spec}{#2}%
- \expandafter\Expect\expandafter{\inline}{#3}%
- \expandafter\Expect\expandafter{\annot}{#4}%
- \endgroup
- \begingroup
- \chardef\HyColor@PdfVersion=7 %
- \HyColor@AttachfileColor{#1}\spec\inlinemacro\annot
- \TestPackageName\TestOptionName
- \edef\inline{\inlinemacro{test}}%
- \expandafter\Expect\expandafter{\spec}{#2}%
- \expandafter\Expect\expandafter{\inline}{#3}%
- \expandafter\Expect\expandafter{\annot}{#5}%
- \endgroup
- }%
- \Expect*{\the\wd0}{0.0pt}%
- \endgroup
-}
-\newif\ifError
-\def\TestError[#1]#2#3#4#5#6{%
- \begingroup
- \global\Errorfalse
- \let\OrgPackageError\PackageError
- \def\PackageError##1##2##3{%
- \edef\TestTemp{##1}%
- \ifx\TestTemp\TestPackageName
- \Expect*{\ifError too many errors\else ok\fi}{ok}%
- \Expect*{#6}*{##2}%
- \global\Errortrue
- \else
- \OrgPackageError{##1}{##2}{##3}%
- \fi
- }%
- \setbox0=\hbox{%
- \begingroup
- \chardef\HyColor@PdfVersion=#1 %
- \HyColor@AttachfileColor{#2}\spec\inlinemacro\annot
- \TestPackageName\TestOptionName
- \edef\inline{\inlinemacro{test}}%
- \expandafter\Expect\expandafter{\spec}{#3}%
- \expandafter\Expect\expandafter{\inline}{#4}%
- \expandafter\Expect\expandafter{\annot}{#5}%
- \endgroup
- \ifx\\#6\\%
- \else
- \Expect*{\ifError ok\else missing error\fi}{ok}%
- \fi
- }%
- \Expect*{\the\wd0}{0.0pt}%
- \endgroup
-}
-\def\NoEmptyModel{%
- Color model `empty' is not permitted for option `\TestOptionName'%
-}
-\def\ModelNoXcolor#1#2{%
- Color model `#1' is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `\TestOptionName=[#1]{#2}'% hash-ok
-}
-\def\SpecNoXColor#1{%
- This color specification is not supported\MessageBreak
- without package `xcolor' in\MessageBreak
- `test-option=#1'%
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\begin{qstest}{AttachfileColor}{AttachfileColor}
- \Test{}{}{}{}{}%
- \Test{0.1 0.2 0.3}{[rgb]{.1,.2,.3}}{.1 .2 .3 set-rgb}%
- {/C[.1 .2 .3]}{/C[.1 .2 .3]}%
- \Test{[gray]{0.4}}{[gray]{0.4}}{.4 set-gray}%
- {/C[.4 .4 .4]}{/C[.4]}%
- \Test{[rgb]{0.3,.2,.1}}{[rgb]{0.3,.2,.1}}{.3 .2 .1 set-rgb}%
- {/C[.3 .2 .1]}{/C[.3 .2 .1]}%
- \Test{0.0 1.0 1}{[rgb]{0,1,1}}{0 1 1 set-rgb}%
- {/C[0 1 1]}{/C[0 1 1]}%
- \Test{[gray]1}{[gray]1}{1 set-gray}{/C[1 1 1]}{/C[1]}%
- \TestError[6]{[empty]{}}{}{}{}\NoEmptyModel
- \TestError[7]{[empty]{}}{}{}{}\NoEmptyModel
- \TestError[6]{[cmyk]{.1,.2,.3,.4}}{[cmyk]{.1,.2,.3,.4}}%
- {.1 .2 .3 .4 set-cmyk}{}%
- {\ModelNoXcolor{cmyk}{.1,.2,.3,.4}}%
- \TestError[7]{[cmyk]{.1,.2,.3,.4}}{[cmyk]{.1,.2,.3,.4}}%
- {.1 .2 .3 .4 set-cmyk}{/C[.1 .2 .3 .4]}{}%
- \TestError[6]{red}{red}{}{}{\SpecNoXColor{red}}%
- \TestError[7]{red}{red}{}{}{\SpecNoXColor{red}}%
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\usepackage{xcolor}
-\definecolor[named]{MyGreen}{rgb}{0,0.7,0}
-\definecolor{mygreen}{named}{MyGreen}
-\definecolor{graynine}{gray}{0.9}
-\definecolor{GraySix}{Gray}{9}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\begin{qstest}{AttachfileColorX}{AttachfileColorX}
- \Test{}{}{}{}{}%
- \Test{0.1 0.2 0.3}{[rgb]{.1,.2,.3}}{.1 .2 .3 set-rgb}%
- {/C[.1 .2 .3]}{/C[.1 .2 .3]}%
- \Test{[gray]{0.4}}{[gray]{0.4}}{.4 set-gray}%
- {/C[.4 .4 .4]}{/C[.4]}%
- \Test{[rgb]{0.3,.2,.1}}{[rgb]{0.3,.2,.1}}{.3 .2 .1 set-rgb}%
- {/C[.3 .2 .1]}{/C[.3 .2 .1]}%
- \Test{0.0 1.0 1}{[rgb]{0,1,1}}{0 1 1 set-rgb}%
- {/C[0 1 1]}{/C[0 1 1]}%
- \Test{[gray]1}{[gray]1}{1 set-gray}{/C[1 1 1]}{/C[1]}%
- \Test{red}{red}{1 0 0 set-rgb}{/C[1 0 0]}{/C[1 0 0]}%
- \Test{black}{black}{0 set-gray}{/C[0 0 0]}{/C[0]}%
- \Test{cyan}{cyan}{1 0 0 0 set-cmyk}{/C[0 1 1]}{/C[1 0 0 0]}%
- \Test{[named]{black}}{[named]{black}}{0 0 0 set-rgb}%
- {/C[0 0 0]}{/C[0 0 0]}%
- \Test{[Gray]{9}}{[Gray]{9}}{.6 set-gray}{/C[.6 .6 .6]}{/C[.6]}%
- \Test{[HTML]{0080FF}}{[HTML]{0080FF}}{0 .50195 1 set-rgb}%
- {/C[0 .50195 1]}{/C[0 .50195 1]}%
- \Test{graynine}{graynine}{.9 set-gray}{/C[.9 .9 .9]}{/C[.9]}%
- \Test{GraySix}{GraySix}{.6 set-gray}{/C[.6 .6 .6]}{/C[.6]}%
- \Test{[wave]{500}}{[wave]{500}}{0 1 .49846 set-rgb}%
- {/C[0 1 .49846]}{/C[0 1 .49846]}%
- \TestError[6]{[empty]{}}{}{}{}\NoEmptyModel
- \TestError[7]{[empty]{}}{}{}{}\NoEmptyModel
-\end{qstest}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test>
-\begin{document}
-\end{document}
-%</test>
-% \end{macrocode}
-%
-% \subsection{Test for package \xpackage{xcolor}}
-%
-% \begin{macrocode}
-%<*test-xcolor>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-%<*xcol1>
-\usepackage{xcolor}
-\usepackage{xcolor-patch}[2016/05/16]
-%</xcol1>
-%<*xcol2>
-\usepackage{scrlfile}
-\usepackage{xcolor-patch}[2016/05/16]
-\usepackage{xcolor}
-%</xcol2>
-%<*xcol3>
-\usepackage{xcolor-patch}[2016/05/16]
-\usepackage{xcolor}
-\begin{document}
-%</xcol3>
-\makeatletter
-\newcommand*{\ColModList}{%
- rgb,%
- cmy,%
- cmyk,%
- hsb,%
- Hsb,%
- tHsb,%
- gray,%
- RGB,%
- HTML,%
- HSB,%
- Gray,%
- % wave,
-}
-\newcommand*{\StartModel}{rgb}
-\newcommand*{\StartValues}{.1,.2,.3}
-\@for\x:=\ColModList\do{%
- \ifx\x\@empty
- \else
- \convertcolorspec\StartModel\StartValues\x\y
- \typeout{* [\StartModel]{\StartValues} ==> [\x]{\y}}%
- \@for\xx:=\ColModList\do{%
- \ifx\xx\@empty
- \else
- \convertcolorspec\x\y\xx\yy
- \typeout{* [\x]{\y} ==> [\xx]{\yy}}%
- \fi
- }%
- \fi
-}
-%<xcol3>\end{document}
-%<xcol1|xcol2>\@@end
-%</test-xcolor>
-% \end{macrocode}
-%
-% \subsubsection{Test for \cs{@frameb@x}/\cs{fbox}}
-%
-% \begin{macrocode}
-%<*test-xcolor-fbox>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{xcolor-patch}[2016/05/16]
-\makeatletter
-\protected@edef\x{\fbox{abc}}
-\let\@tempa\@undefined
-\protected@edef\x{\fbox{abc}}
-\makeatother
-\begin{document}
-\MakeUppercase{\fbox{abc}}
-\end{document}
-%</test-xcolor-fbox>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2012,13 +1467,6 @@ and the derived files
% hycolor.sty & tex/latex/oberdiek/hycolor.sty\\
% xcolor-patch.sty & tex/latex/oberdiek/xcolor-patch.sty\\
% hycolor.pdf & doc/latex/oberdiek/hycolor.pdf\\
-% test/hycolor-test1.tex & doc/latex/oberdiek/test/hycolor-test1.tex\\
-% test/hycolor-test2.tex & doc/latex/oberdiek/test/hycolor-test2.tex\\
-% test/hycolor-test3.tex & doc/latex/oberdiek/test/hycolor-test3.tex\\
-% test/hycolor-test-xcol1.tex & doc/latex/oberdiek/test/hycolor-test-xcol1.tex\\
-% test/hycolor-test-xcol2.tex & doc/latex/oberdiek/test/hycolor-test-xcol2.tex\\
-% test/hycolor-test-xcol3.tex & doc/latex/oberdiek/test/hycolor-test-xcol3.tex\\
-% test/hycolor-test-xcol4.tex & doc/latex/oberdiek/test/hycolor-test-xcol4.tex\\
% hycolor.dtx & source/latex/oberdiek/hycolor.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/hycolor.pdf b/macros/latex/contrib/oberdiek/hycolor.pdf
index 956dad2886..4dd03d9857 100644
--- a/macros/latex/contrib/oberdiek/hycolor.pdf
+++ b/macros/latex/contrib/oberdiek/hycolor.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypbmsec.dtx b/macros/latex/contrib/oberdiek/hypbmsec.dtx
index 8862e924bc..dd26b08d2b 100644
--- a/macros/latex/contrib/oberdiek/hypbmsec.dtx
+++ b/macros/latex/contrib/oberdiek/hypbmsec.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{hypbmsec.drv}{\from{hypbmsec.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{hypbmsec.sty}{\from{hypbmsec.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypbmsec.xml}{\from{hypbmsec.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypbmsec.drv}
%
diff --git a/macros/latex/contrib/oberdiek/hypbmsec.pdf b/macros/latex/contrib/oberdiek/hypbmsec.pdf
index a70e3dc559..fa74435f4d 100644
--- a/macros/latex/contrib/oberdiek/hypbmsec.pdf
+++ b/macros/latex/contrib/oberdiek/hypbmsec.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypcap.dtx b/macros/latex/contrib/oberdiek/hypcap.dtx
index 60d40a0678..a9bb106fe3 100644
--- a/macros/latex/contrib/oberdiek/hypcap.dtx
+++ b/macros/latex/contrib/oberdiek/hypcap.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{hypcap.drv}{\from{hypcap.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{hypcap.sty}{\from{hypcap.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypcap.xml}{\from{hypcap.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypcap.drv}
%
diff --git a/macros/latex/contrib/oberdiek/hypcap.pdf b/macros/latex/contrib/oberdiek/hypcap.pdf
index 70ffeebf81..66f5284fa7 100644
--- a/macros/latex/contrib/oberdiek/hypcap.pdf
+++ b/macros/latex/contrib/oberdiek/hypcap.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypdestopt.dtx b/macros/latex/contrib/oberdiek/hypdestopt.dtx
index fd2a76a482..254b3af7ea 100644
--- a/macros/latex/contrib/oberdiek/hypdestopt.dtx
+++ b/macros/latex/contrib/oberdiek/hypdestopt.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{hypdestopt.drv}{\from{hypdestopt.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{hypdestopt.sty}{\from{hypdestopt.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypdestopt.xml}{\from{hypdestopt.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypdestopt.drv}
%
@@ -928,7 +909,7 @@ and the derived files
% \bibitem{alphalph}
% Heiko Oberdiek: \textit{The \xpackage{alphalph} package};
% 2006/05/30 v1.4;
-% \CTAN{macros/latex/contrib/oberdiek/alphalph.pdf}.
+% \CTANpkg{alphalph}.
%
% \bibitem{hyperref}
% Sebastian Rahtz, Heiko Oberdiek:
diff --git a/macros/latex/contrib/oberdiek/hypdestopt.pdf b/macros/latex/contrib/oberdiek/hypdestopt.pdf
index e8c707ff19..7d23392768 100644
--- a/macros/latex/contrib/oberdiek/hypdestopt.pdf
+++ b/macros/latex/contrib/oberdiek/hypdestopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypdoc.dtx b/macros/latex/contrib/oberdiek/hypdoc.dtx
index 65771a31aa..481a53d852 100644
--- a/macros/latex/contrib/oberdiek/hypdoc.dtx
+++ b/macros/latex/contrib/oberdiek/hypdoc.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{hypdoc.drv}{\from{hypdoc.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{hypdoc.sty}{\from{hypdoc.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypdoc.xml}{\from{hypdoc.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypdoc.drv}
%
diff --git a/macros/latex/contrib/oberdiek/hypdoc.pdf b/macros/latex/contrib/oberdiek/hypdoc.pdf
index 6307212169..27d22afb5e 100644
--- a/macros/latex/contrib/oberdiek/hypdoc.pdf
+++ b/macros/latex/contrib/oberdiek/hypdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypgotoe.dtx b/macros/latex/contrib/oberdiek/hypgotoe.dtx
index 412c26f15a..e568ff4d91 100644
--- a/macros/latex/contrib/oberdiek/hypgotoe.dtx
+++ b/macros/latex/contrib/oberdiek/hypgotoe.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{hypgotoe.sty}{\from{hypgotoe.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{hypgotoe-example.tex}{\from{hypgotoe.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hypgotoe.xml}{\from{hypgotoe.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +167,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hypgotoe.drv}
%
diff --git a/macros/latex/contrib/oberdiek/hypgotoe.pdf b/macros/latex/contrib/oberdiek/hypgotoe.pdf
index a08bf8fe80..a6f500ff66 100644
--- a/macros/latex/contrib/oberdiek/hypgotoe.pdf
+++ b/macros/latex/contrib/oberdiek/hypgotoe.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hyphsubst.dtx b/macros/latex/contrib/oberdiek/hyphsubst.dtx
index 0bf2c7821a..e0fd44bf12 100644
--- a/macros/latex/contrib/oberdiek/hyphsubst.dtx
+++ b/macros/latex/contrib/oberdiek/hyphsubst.dtx
@@ -66,8 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/hyphsubst.sty
% TDS:doc/latex/oberdiek/hyphsubst.pdf
-% TDS:doc/latex/oberdiek/test/hyphsubst-test1.tex
-% TDS:doc/latex/oberdiek/test/hyphsubst-test2.tex
% TDS:source/latex/oberdiek/hyphsubst.dtx
%
%<*ignore>
@@ -139,10 +137,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{hyphsubst-test1.tex}{\from{hyphsubst.dtx}{test1}}%
% \file{hyphsubst-test2.tex}{\from{hyphsubst.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{hyphsubst.xml}{\from{hyphsubst.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -179,21 +173,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{hyphsubst.drv}
%
@@ -581,155 +560,7 @@ and the derived files
\HyphSubst@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input hyphsubst.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-%
-% \subsection{Main tests}
-%
-% \begin{macrocode}
-%<*test2>
-\input hyphsubst.sty\relax
-
-\catcode`\@=11\relax
-\ifx\et@xlang\@undefined
- \def\l#1{\csname l@#1\endcsname}%
-\else
- \def\l#1{\csname lang@#1\endcsname}%
-\fi
-\def\Check#1#2{%
- \ifnum#1=#2\relax
- \else
- \@PackageError{test}{Wrong number: #1 <> #2}\@ehc
- \fi
-}
-
-\language=0\relax
-\HyphSubstLet{ZeroSaved}{ngerman}
-\Check{\l{USenglish}}{0}%
-\HyphSubstLet{USenglish}{ngerman}
-\Check{\l{USenglish}}{\l{ngerman}}
-\ifnum\l{USenglish}>0 %
-\else
- \@PackageError{test}{\string\language\space is not updated}\@ehc
-\fi
-\HyphSubstLet{german}{ngerman}
-\Check{\l{german}}{\l{ngerman}}
-\Check{\l{USenglish}}{\l{ngerman}}
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -778,8 +609,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% hyphsubst.sty & tex/generic/oberdiek/hyphsubst.sty\\
% hyphsubst.pdf & doc/latex/oberdiek/hyphsubst.pdf\\
-% test/hyphsubst-test1.tex & doc/latex/oberdiek/test/hyphsubst-test1.tex\\
-% test/hyphsubst-test2.tex & doc/latex/oberdiek/test/hyphsubst-test2.tex\\
% hyphsubst.dtx & source/latex/oberdiek/hyphsubst.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/hyphsubst.pdf b/macros/latex/contrib/oberdiek/hyphsubst.pdf
index a5ed2c4237..b050f45e1f 100644
--- a/macros/latex/contrib/oberdiek/hyphsubst.pdf
+++ b/macros/latex/contrib/oberdiek/hyphsubst.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/ifdraft.dtx b/macros/latex/contrib/oberdiek/ifdraft.dtx
index e1f516cdc6..0b4918a6d0 100644
--- a/macros/latex/contrib/oberdiek/ifdraft.dtx
+++ b/macros/latex/contrib/oberdiek/ifdraft.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{ifdraft.drv}{\from{ifdraft.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{ifdraft.sty}{\from{ifdraft.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{ifdraft.xml}{\from{ifdraft.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{ifdraft.drv}
%
diff --git a/macros/latex/contrib/oberdiek/ifdraft.pdf b/macros/latex/contrib/oberdiek/ifdraft.pdf
index 0f091de22e..9d71e862eb 100644
--- a/macros/latex/contrib/oberdiek/ifdraft.pdf
+++ b/macros/latex/contrib/oberdiek/ifdraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/iflang.dtx b/macros/latex/contrib/oberdiek/iflang.dtx
index c5f2b85ae9..fa784b7d45 100644
--- a/macros/latex/contrib/oberdiek/iflang.dtx
+++ b/macros/latex/contrib/oberdiek/iflang.dtx
@@ -67,11 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/iflang.sty
% TDS:doc/latex/oberdiek/iflang.pdf
-% TDS:doc/latex/oberdiek/test/iflang-test1.tex
-% TDS:doc/latex/oberdiek/test/iflang-test2.tex
-% TDS:doc/latex/oberdiek/test/iflang-test3.tex
-% TDS:doc/latex/oberdiek/test/iflang-test4.tex
-% TDS:doc/latex/oberdiek/test/iflang-test5.tex
% TDS:source/latex/oberdiek/iflang.dtx
%
%<*ignore>
@@ -147,10 +142,6 @@ and the derived files
% \file{iflang-test3.tex}{\from{iflang.dtx}{test3}}%
% \file{iflang-test4.tex}{\from{iflang.dtx}{test4}}%
% \file{iflang-test5.tex}{\from{iflang.dtx}{test5}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{iflang.xml}{\from{iflang.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -187,21 +178,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{iflang.drv}
%
@@ -677,319 +653,7 @@ and the derived files
\IfLang@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input iflang.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test with \LaTeX}
-%
-% \begin{macrocode}
-%<*test2|test3>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-%<test3>\let\pdfstrcmp\relax
-\nofiles
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\usepackage[english,naustrian,ngerman]{babel}
-\usepackage{iflang}
-\begin{document}
-\begin{qstest}{IfLanguagePatterns}{language, pattern}
- \def\test#1#2{%
- \Expect*{\IfLanguagePatterns{#1}{true}{false}}{#2}%
- }%
- \test{ngerman}{true}%
- \test{naustrian}{true}%
- \test{english}{false}%
- \test{foobar}{false}%
-\end{qstest}
-\begin{qstest}{IfLanguageName}{language, name}
- \def\test#1#2{%
- \Expect*{\IfLanguageName{#1}{true}{false}}{#2}%
- }%
- \test{ngerman}{true}%
- \test{naustrian}{false}%
- \selectlanguage{naustrian}%
- \test{ngerman}{false}%
- \test{naustrian}{true}%
- \test{foobar}{false}%
- %
- \def\languagename{naustrian}%
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- %
- \edef\languagename{\string naustrian}%
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- %
- \def\languagename{naustrian}%
- \makeatletter
- \@onelevel@sanitize\languagename
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- %
- \def\languagename{naustrian}%
- \def\xaustrian{naustrian}%
- \def\xgerman{ngerman}%
- \test{\xaustrian}{true}%
- \test{\xgerman}{false}%
- %
- \def\languagename{\xaustrian}%
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- \test{\xaustrian}{true}%
- \test{\xgerman}{false}%
- \test{\languagename}{true}%
- \test{\languagename\space}{false}%
- %
- \def\languagename{\empty\xaustrian\empty}%
- \test{naustrian}{true}%
- \test{ngerman}{false}%
- \test{\empty\xaustrian\empty}{true}%
- \test{\empty\xgerman\empty}{false}%
-\end{qstest}
-\begin{qstest}{IfDefined}{defined}
- \makeatletter
- \let\foobar\relax
- \Expect*{\IfLang@IfDefined{foobar}{true}{false}}{false}%
- \Expect*{\ifx\foobar\relax true\else false\fi}{true}%
- \let\foobar\UNDEFINED
- \Expect*{\IfLang@IfDefined{foobar}{true}{false}}{false}%
- \Expect*{\ifx\foobar\relax true\else false\fi}{false}%
- \Expect*{\ifx\foobar\UNDEFINED true\else false\fi}{true}%
-\end{qstest}
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</test2|test3>
-% \end{macrocode}
-%
-% \subsection{Test with \plainTeX\ and \eTeX}
-%
-% \begin{macrocode}
-%<*test4>
-% \end{macrocode}
-% \begin{macrocode}
-%% Format `etex' based on `language.def'
-\input iflang.sty
-\catcode64=12
-
-\def\TestGeneric#1#2#3{%
- \begingroup
- \edef\x{#1{#2}{true}{false}}%
- \edef\y{#3}%
- \ifx\x\y
- \else
- \errmessage{Failed test: \string#1{#2} <> #3}%
- \fi
- \endgroup
-}
-\def\TestPatterns{\TestGeneric\IfLanguagePatterns}
-\def\TestName{\TestGeneric\IfLanguageName}
-
-\TestPatterns{USenglish}{true}
-\TestPatterns{ngerman}{false}
-
-\TestName{USenglish}{true}
-\TestName{ngerman}{false}
-
-\uselanguage{ngerman}
-
-\TestPatterns{USenglish}{false}
-\TestPatterns{ngerman}{true}
-
-\TestName{USenglish}{false}
-\TestName{ngerman}{true}
-
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test4>
-% \end{macrocode}
-%
-% \subsection{Test with \plainTeX\ and without \eTeX/\pdfTeX}
-%
-% \begin{macrocode}
-%<*test5>
-% \end{macrocode}
-% \begin{macrocode}
-%% Format `tex' (vanilla plain-TeX)
-\let\ifcsname\UNDEFINED
-\let\pdfstrcmp\UNDEFINED
-\input iflang.sty
-\catcode64=11
-
-\def\TestDefined#1{%
- \IfLang@IfDefined{foobar}{}{}%
- \ifx\foobar#1%
- \else
- \errmessage{Failed test: \string\foobar <> \string#1}%
- \fi
-}
-\let\foobar\relax
-\TestDefined\relax
-\let\foobar\UNDEFINED
-\TestDefined\relax
-
-\def\strip@prefix#1>{}
-\def\@onelevel@sanitize#1{%
- \edef#1{\expandafter\strip@prefix\meaning#1}%
-}
-\def\TestCompare#1#2#3{%
- \begingroup
- \edef\x{%
- \if\IfLang@StrEqual{#1}{#2}%
- true%
- \else
- false%
- \fi
- }%
- \def\expect{#3}%
- \ifx\x\expect
- \else
- \def\a{#1}%
- \@onelevel@sanitize\a
- \def\b{#2}%
- \@onelevel@sanitize\b
- \errmessage{Failed test: `\a'='\b' <> \expect}%
- \fi
- \endgroup
-}
-\TestCompare{junk}{junk}{true}
-\TestCompare{}{}{true}
-\TestCompare{a}{b}{false}
-\TestCompare{aa}{bb}{false}
-\def\a{ax}
-\def\b{bx}
-\def\c{\a\b}
-\def\d{\c\b}
-\def\exch#1#2{#2#1}
-\def\gobble#1{}
-\TestCompare{\gobble a}{}{true}
-\TestCompare{}{\gobble a}{true}
-\TestCompare{a\exch xyb}{ayxb}{true}
-\TestCompare{\c}{\c}{true}
-\TestCompare{\d}{\c\b}{true}
-
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test5>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1038,11 +702,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% iflang.sty & tex/generic/oberdiek/iflang.sty\\
% iflang.pdf & doc/latex/oberdiek/iflang.pdf\\
-% test/iflang-test1.tex & doc/latex/oberdiek/test/iflang-test1.tex\\
-% test/iflang-test2.tex & doc/latex/oberdiek/test/iflang-test2.tex\\
-% test/iflang-test3.tex & doc/latex/oberdiek/test/iflang-test3.tex\\
-% test/iflang-test4.tex & doc/latex/oberdiek/test/iflang-test4.tex\\
-% test/iflang-test5.tex & doc/latex/oberdiek/test/iflang-test5.tex\\
% iflang.dtx & source/latex/oberdiek/iflang.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/iflang.pdf b/macros/latex/contrib/oberdiek/iflang.pdf
index 27047b8df3..e755675d02 100644
--- a/macros/latex/contrib/oberdiek/iflang.pdf
+++ b/macros/latex/contrib/oberdiek/iflang.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/infwarerr.pdf b/macros/latex/contrib/oberdiek/infwarerr.pdf
deleted file mode 100644
index 7cbaae40f8..0000000000
--- a/macros/latex/contrib/oberdiek/infwarerr.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/intcalc.dtx b/macros/latex/contrib/oberdiek/intcalc.dtx
index 586ae3959e..245cc21812 100644
--- a/macros/latex/contrib/oberdiek/intcalc.dtx
+++ b/macros/latex/contrib/oberdiek/intcalc.dtx
@@ -67,10 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/intcalc.sty
% TDS:doc/latex/oberdiek/intcalc.pdf
-% TDS:doc/latex/oberdiek/test/intcalc-test1.tex
-% TDS:doc/latex/oberdiek/test/intcalc-test2.tex
-% TDS:doc/latex/oberdiek/test/intcalc-test3.tex
-% TDS:doc/latex/oberdiek/test/intcalc-test4.tex
% TDS:source/latex/oberdiek/intcalc.dtx
%
%<*ignore>
@@ -145,10 +141,6 @@ and the derived files
% \file{intcalc-test2.tex}{\from{intcalc.dtx}{test2,etex}}%
% \file{intcalc-test3.tex}{\from{intcalc.dtx}{test2,noetex}}%
% \file{intcalc-test4.tex}{\from{intcalc.dtx}{test4,etex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{intcalc.xml}{\from{intcalc.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -219,21 +211,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{intcalc.drv}
%
@@ -3119,955 +3096,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input intcalc.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble with test macro definitions}
-%
-% \begin{macrocode}
-%<*test2|test4>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedNumexpr\numexpr
-%<noetex>\let\numexpr\UNDEFINED
-\makeatletter
-\chardef\InCa@TestMode=1 %
-\makeatother
-\usepackage{intcalc}[2016/05/16]
-%<noetex>\let\numexpr\SavedNumexpr
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-%</test2|test4>
-%<*test2>
-\newcommand*{\TestSpaceAtEnd}[1]{%
-%<noetex> \let\SavedNumexpr\numexpr
-%<noetex> \let\numexpr\UNDEFINED
- \edef\resultA{#1}%
- \edef\resultB{#1 }%
-%<noetex> \let\numexpr\SavedNumexpr
- \Expect*{\resultA\space}*{\resultB}%
-}
-\newcommand*{\TestResult}[2]{%
-%<noetex> \let\SavedNumexpr\numexpr
-%<noetex> \let\numexpr\UNDEFINED
- \edef\result{#1}%
-%<noetex> \let\numexpr\SavedNumexpr
- \Expect*{\result}{#2}%
-}
-\newcommand*{\TestResultTwoExpansions}[2]{%
-%<*noetex>
- \begingroup
- \let\numexpr\UNDEFINED
- \expandafter\expandafter\expandafter
- \endgroup
-%</noetex>
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter{#1}{#2}%
-}
-\newcount\TestCount
-%<etex>\newcommand*{\TestArg}[1]{\numexpr#1\relax}
-%<noetex>\newcommand*{\TestArg}[1]{#1}
-\newcommand*{\TestTeXDivide}[2]{%
- \TestCount=\TestArg{#1}\relax
- \divide\TestCount by \TestArg{#2}\relax
- \Expect*{\intcalcDiv{#1}{#2}}*{\the\TestCount}%
-}
-\newcommand*{\Test}[2]{%
- \TestResult{#1}{#2}%
- \TestResultTwoExpansions{#1}{#2}%
- \TestSpaceAtEnd{#1}%
-}
-\newcommand*{\TestExch}[2]{\Test{#2}{#1}}
-\newcommand*{\TestInv}[2]{%
- \Test{\intcalcInv{#1}}{#2}%
-}
-\newcommand*{\TestNum}[2]{%
- \Test{\intcalcNum{#1}}{#2}%
-}
-\newcommand*{\TestAbs}[2]{%
- \Test{\intcalcAbs{#1}}{#2}%
-}
-\newcommand*{\TestSgn}[2]{%
- \Test{\intcalcSgn{#1}}{#2}%
-}
-\newcommand*{\TestMin}[3]{%
- \Test{\intcalcMin{#1}{#2}}{#3}%
-}
-\newcommand*{\TestMax}[3]{%
- \Test{\intcalcMax{#1}{#2}}{#3}%
-}
-\newcommand*{\TestCmp}[3]{%
- \Test{\intcalcCmp{#1}{#2}}{#3}%
-}
-\newcommand*{\TestInc}[2]{%
- \Test{\intcalcInc{#1}}{#2}%
- \ifnum\intcalcNum{#1}>-1 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcInc\intcalcNum{#1}!%
- }{#2}%
- }%
- \x
- \fi
-}
-\newcommand*{\TestDec}[2]{%
- \Test{\intcalcDec{#1}}{#2}%
- \ifnum\intcalcNum{#1}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcDec\intcalcNum{#1}!%
- }{#2}%
- }%
- \x
- \fi
-}
-\newcommand*{\TestAdd}[3]{%
- \Test{\intcalcAdd{#1}{#2}}{#3}%
- \ifnum\intcalcNum{#1}>0 %
- \ifnum\intcalcNum{#2}> 0 %
- \ifnum\intcalcCmp{#1}{#2}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcAdd
- \intcalcNum{#1}!\intcalcNum{#2}!%
- }{#3}%
- }%
- \x
- \else
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcAdd
- \intcalcNum{#2}!\intcalcNum{#1}!%
- }{#3}%
- }%
- \x
- \fi
- \fi
- \fi
-}
-\newcommand*{\TestSub}[3]{%
- \Test{\intcalcSub{#1}{#2}}{#3}%
- \ifnum\intcalcNum{#1}>0 %
- \ifnum\intcalcNum{#2}> 0 %
- \ifnum\intcalcCmp{#1}{#2}>0 %
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcSub
- \intcalcNum{#1}!\intcalcNum{#2}!%
- }{#3}%
- }%
- \x
- \fi
- \fi
- \fi
-}
-\newcommand*{\TestShl}[2]{%
- \Test{\intcalcShl{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcShl\intcalcAbs{#1}!%
- }{\intcalcAbs{#2}}%
- }%
- \x
-}
-\newcommand*{\TestShr}[2]{%
- \Test{\intcalcShr{#1}}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcShr\intcalcAbs{#1}!%
- }{\intcalcAbs{#2}}%
- }%
- \x
-}
-\newcommand*{\TestMul}[3]{%
- \Test{\intcalcMul{#1}{#2}}{#3}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcMul\intcalcAbs{#1}!\intcalcAbs{#2}!%
- }{\intcalcAbs{#3}}%
- }%
- \x
-}
-\newcommand*{\TestSqr}[2]{%
- \Test{\intcalcSqr{#1}}{#2}%
-}
-\newcommand*{\TestFac}[2]{%
- \expandafter\TestExch\expandafter{\the\numexpr#2}{\intcalcFac{#1}}%
-}
-\newcommand*{\TestPow}[3]{%
- \Test{\intcalcPow{#1}{#2}}{#3}%
-}
-\newcommand*{\TestDiv}[3]{%
- \Test{\intcalcDiv{#1}{#2}}{#3}%
- \TestTeXDivide{#1}{#2}%
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcDiv\intcalcAbs{#1}!\intcalcAbs{#2}!%
- }{\intcalcAbs{#3}}%
- }%
-}
-\newcommand*{\TestMod}[3]{%
- \Test{\intcalcMod{#1}{#2}}{#3}%
- \ifcase\ifcase\intcalcSgn{#1} 0%
- \or
- \ifcase\intcalcSgn{#2} 1%
- \or 0%
- \else 1%
- \fi
- \else
- \ifcase\intcalcSgn{#2} 1%
- \or 1%
- \else 0%
- \fi
- \fi\relax
- \edef\x{%
- \noexpand\Test{%
- \noexpand\IntCalcMod
- \intcalcAbs{#1}!\intcalcAbs{#2}!%
- }{\intcalcAbs{#3}}%
- }%
- \x
- \fi
-}
-%</test2>
-% \end{macrocode}
-%
-% \subsubsection{Time}
-%
-% \begin{macrocode}
-%<*test2>
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
- \makeatletter
- \newcount\SummaryTime
- \newcount\TestTime
- \SummaryTime=\z@
- \newcommand*{\PrintTime}[2]{%
- \typeout{%
- [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]%
- }%
- }%
- \newcommand*{\StartTime}[1]{%
- \renewcommand*{\TimeDescription}{#1}%
- \pdfresettimer
- }%
- \newcommand*{\TimeDescription}{}%
- \newcommand*{\StopTime}{%
- \TestTime=\pdfelapsedtime
- \global\advance\SummaryTime\TestTime
- \PrintTime\TimeDescription\TestTime
- }%
- \let\saved@qstest\qstest
- \let\saved@endqstest\endqstest
- \def\qstest#1#2{%
- \saved@qstest{#1}{#2}%
- \StartTime{#1}%
- }%
- \def\endqstest{%
- \StopTime
- \saved@endqstest
- }%
- \AtEndDocument{%
- \PrintTime{summary}\SummaryTime
- }%
- \makeatother
-\fi
-%</test2>
-% \end{macrocode}
-%
-% \subsubsection{Test 4: additional mod/div operations}
-%
-% \begin{macrocode}
-%<*test4>
-\newcommand*{\TestDo}[2]{%
- \ifcase\numexpr#2\relax
- \else
- \edef\temp{\intcalcMod{#1}{#2}}%
- \Expect*{%
- \the\numexpr
- \intcalcMul{%
- \intcalcDiv{\intcalcAbs{#1}}{\intcalcAbs{#2}}%
- }{\intcalcAbs{#2}}%
- +\intcalcMod{\intcalcAbs{#1}}{\intcalcAbs{#2}}\relax
- }*{\the\numexpr\intcalcAbs{#1}\relax}%
- \fi
-}
-\newcommand*{\TestOne}[2]{%
- \TestDo{#1}{#1}%
-}
-\newcommand*{\TestTwo}[3]{%
- \TestDo{#1}{#2}%
- \TestDo{#2}{#1}%
-}
-\let\TestNum\TestOne
-\let\TestInv\TestOne
-\let\TestAbs\TestOne
-\let\TestSgn\TestOne
-\let\TestMin\TestTwo
-\let\TestMax\TestTwo
-\let\TestCmp\TestTwo
-\let\TestInc\TestOne
-\let\TestDec\TestOne
-\let\TestAdd\TestTwo
-\let\TestSub\TestTwo
-\let\TestShl\TestOne
-\let\TestShr\TestOne
-\let\TestMul\TestTwo
-\let\TestSqr\TestOne
-\def\TestFac#1#2{}
-\let\TestPow\TestTwo
-\let\TestDiv\TestTwo
-\let\TestMod\TestTwo
-%</test4>
-% \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-% \begin{macrocode}
-%<*test2|test4>
-\makeatletter
-
-\begin{qstest}{num}{num}%
- \TestNum{0}{0}%
- \TestNum{1}{1}%
- \TestNum{-1}{-1}%
- \TestNum{10}{10}%
- \TestNum{-10}{-10}%
- \TestNum{2147483647}{2147483647}%
- \TestNum{-2147483647}{-2147483647}%
- \TestNum{ 0 }{0}%
- \TestNum{ 1 }{1}%
- \TestNum{--1}{1}%
- \TestNum{ - + - + 4 }{4}%
- \TestNum{\z@}{0}%
- \TestNum{\@ne}{1}%
- \TestNum{\m@ne}{-1}%
-%<*etex>
- \TestNum{-10+30}{20}%
- \TestNum{10-30}{-20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{inv}{inv}%
- \TestInv{0}{0}%
- \TestInv{1}{-1}%
- \TestInv{-1}{1}%
- \TestInv{10}{-10}%
- \TestInv{-10}{10}%
- \TestInv{2147483647}{-2147483647}%
- \TestInv{-2147483647}{2147483647}%
- \TestInv{ 0 }{0}%
- \TestInv{ 1 }{-1}%
- \TestInv{--1}{-1}%
- \TestInv{\z@}{0}%
- \TestInv{\@ne}{-1}%
- \TestInv{\m@ne}{1}%
-%<*etex>
- \TestInv{-10+30}{-20}%
- \TestInv{10-30}{20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{abs}{abs}%
- \TestAbs{0}{0}%
- \TestAbs{1}{1}%
- \TestAbs{-1}{1}%
- \TestAbs{10}{10}%
- \TestAbs{-10}{10}%
- \TestAbs{2147483647}{2147483647}%
- \TestAbs{-2147483647}{2147483647}%
- \TestAbs{ 0 }{0}%
- \TestAbs{ 1 }{1}%
- \TestAbs{--1}{1}%
- \TestAbs{\z@}{0}%
- \TestAbs{\@ne}{1}%
- \TestAbs{\m@ne}{1}%
-%<*etex>
- \TestAbs{-10+30}{20}%
- \TestAbs{10-30}{20}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sign}{sign}%
- \TestSgn{0}{0}%
- \TestSgn{1}{1}%
- \TestSgn{-1}{-1}%
- \TestSgn{10}{1}%
- \TestSgn{-10}{-1}%
- \TestSgn{2147483647}{1}%
- \TestSgn{-2147483647}{-1}%
- \TestSgn{ 0 }{0}%
- \TestSgn{ 2 }{1}%
- \TestSgn{ -2 }{-1}%
- \TestSgn{--2}{1}%
- \TestSgn{\z@}{0}%
- \TestSgn{\@ne}{1}%
- \TestSgn{\m@ne}{-1}%
-%<*etex>
- \TestSgn{-10+30}{1}%
- \TestSgn{10-30}{-1}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{min}{min}%
- \TestMin{0}{1}{0}%
- \TestMin{1}{0}{0}%
- \TestMin{-10}{-20}{-20}%
- \TestMin{ 1 }{ 2 }{1}%
- \TestMin{ 2 }{ 1 }{1}%
- \TestMin{1}{1}{1}%
- \TestMin{\z@}{\@ne}{0}%
- \TestMin{\@ne}{\m@ne}{-1}%
-%<*etex>
- \TestMin{1+2}{3+4}{3}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{max}{max}%
- \TestMax{0}{1}{1}%
- \TestMax{1}{0}{1}%
- \TestMax{-10}{-20}{-10}%
- \TestMax{ 1 }{ 2 }{2}%
- \TestMax{ 2 }{ 1 }{2}%
- \TestMax{1}{1}{1}%
- \TestMax{\z@}{\@ne}{1}%
- \TestMax{\@ne}{\m@ne}{1}%
-%<*etex>
- \TestMax{1+2}{3+4}{7}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{cmp}{cmp}%
- \TestCmp{0}{0}{0}%
- \TestCmp{-21}{17}{-1}%
- \TestCmp{3}{4}{-1}%
- \TestCmp{-10}{-10}{0}%
- \TestCmp{-10}{-11}{1}%
- \TestCmp{100}{5}{1}%
- \TestCmp{2147483647}{-2147483647}{1}%
- \TestCmp{-2147483647}{2147483647}{-1}%
- \TestCmp{2147483647}{2147483647}{0}%
- \TestCmp{\z@}{\@ne}{-1}%
- \TestCmp{\@ne}{\m@ne}{1}%
- \TestCmp{ 4 }{ 5 }{-1}%
- \TestCmp{ -3 }{ -7 }{1}%
-%<*etex>
- \TestCmp{1+2}{3+4}{-1}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{fac}{fac}
- \TestFac{0}{1}%
- \TestFac{1}{1}%
- \TestFac{2}{2}%
- \TestFac{3}{2*3}%
- \TestFac{4}{2*3*4}%
- \TestFac{5}{2*3*4*5}%
- \TestFac{6}{2*3*4*5*6}%
- \TestFac{7}{2*3*4*5*6*7}%
- \TestFac{8}{2*3*4*5*6*7*8}%
- \TestFac{9}{2*3*4*5*6*7*8*9}%
- \TestFac{10}{2*3*4*5*6*7*8*9*10}%
- \TestFac{11}{2*3*4*5*6*7*8*9*10*11}%
- \TestFac{12}{2*3*4*5*6*7*8*9*10*11*12}%
-\end{qstest}
-
-\begin{qstest}{inc}{inc}%
- \TestInc{0}{1}%
- \TestInc{1}{2}%
- \TestInc{-1}{0}%
- \TestInc{10}{11}%
- \TestInc{-10}{-9}%
- \TestInc{999}{1000}%
- \TestInc{-1000}{-999}%
- \TestInc{129}{130}%
- \TestInc{2147483646}{2147483647}%
- \TestInc{-2147483647}{-2147483646}%
-\end{qstest}
-
-\begin{qstest}{dec}{dec}%
- \TestDec{0}{-1}%
- \TestDec{1}{0}%
- \TestDec{-1}{-2}%
- \TestDec{10}{9}%
- \TestDec{-10}{-11}%
- \TestDec{1000}{999}%
- \TestDec{-999}{-1000}%
- \TestDec{130}{129}%
- \TestDec{2147483647}{2147483646}%
- \TestDec{-2147483646}{-2147483647}%
-\end{qstest}
-
-\begin{qstest}{add}{add}%
- \TestAdd{0}{0}{0}%
- \TestAdd{1}{0}{1}%
- \TestAdd{0}{1}{1}%
- \TestAdd{1}{2}{3}%
- \TestAdd{-1}{-1}{-2}%
- \TestAdd{2147483646}{1}{2147483647}%
- \TestAdd{-2147483647}{2147483647}{0}%
- \TestAdd{20}{-5}{15}%
- \TestAdd{-4}{-1}{-5}%
- \TestAdd{-1}{-4}{-5}%
- \TestAdd{-4}{1}{-3}%
- \TestAdd{-1}{4}{3}%
- \TestAdd{4}{-1}{3}%
- \TestAdd{1}{-4}{-3}%
- \TestAdd{-4}{-1}{-5}%
- \TestAdd{-1}{-4}{-5}%
- \TestAdd{ -4 }{ -1 }{-5}%
- \TestAdd{ -1 }{ -4 }{-5}%
- \TestAdd{ -4 }{ 1 }{-3}%
- \TestAdd{ -1 }{ 4 }{3}%
- \TestAdd{ 4 }{ -1 }{3}%
- \TestAdd{ 1 }{ -4 }{-3}%
- \TestAdd{ -4 }{ -1 }{-5}%
- \TestAdd{ -1 }{ -4 }{-5}%
- \TestAdd{876543210}{111111111}{987654321}%
- \TestAdd{999999999}{2}{1000000001}%
-%<*etex>
- \TestAdd{100}{50+150}{300}%
- \TestAdd{2147483647}{10-2147483647}{10}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sub}{sub}
- \TestSub{0}{0}{0}%
- \TestSub{1}{0}{1}%
- \TestSub{1}{2}{-1}%
- \TestSub{-1}{-1}{0}%
- \TestSub{2147483646}{-1}{2147483647}%
- \TestSub{-2147483647}{-2147483647}{0}%
- \TestSub{-4}{-1}{-3}%
- \TestSub{-1}{-4}{3}%
- \TestSub{-4}{1}{-5}%
- \TestSub{-1}{4}{-5}%
- \TestSub{4}{-1}{5}%
- \TestSub{1}{-4}{5}%
- \TestSub{-4}{-1}{-3}%
- \TestSub{-1}{-4}{3}%
- \TestSub{ -4 }{ -1 }{-3}%
- \TestSub{ -1 }{ -4 }{3}%
- \TestSub{ -4 }{ 1 }{-5}%
- \TestSub{ -1 }{ 4 }{-5}%
- \TestSub{ 4 }{ -1 }{5}%
- \TestSub{ 1 }{ -4 }{5}%
- \TestSub{ -4 }{ -1 }{-3}%
- \TestSub{ -1 }{ -4 }{3}%
- \TestSub{1000000000}{2}{999999998}%
- \TestSub{987654321}{111111111}{876543210}%
-%<*etex>
- \TestSub{100}{50+150}{-100}%
- \TestSub{2147483647}{-10+2147483647}{10}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{shl}{shl}
- \TestShl{0}{0}%
- \TestShl{1}{2}%
- \TestShl{5621}{11242}%
- \TestShl{1073741823}{2147483646}%
- \TestShl{-1}{-2}%
- \TestShl{-5621}{-11242}%
-\end{qstest}
-
-\begin{qstest}{shr}{shr}
- \TestShr{0}{0}%
- \TestShr{1}{0}%
- \TestShr{2}{1}%
- \TestShr{3}{1}%
- \TestShr{4}{2}%
- \TestShr{5}{2}%
- \TestShr{6}{3}%
- \TestShr{7}{3}%
- \TestShr{8}{4}%
- \TestShr{9}{4}%
- \TestShr{10}{5}%
- \TestShr{11}{5}%
- \TestShr{12}{6}%
- \TestShr{13}{6}%
- \TestShr{14}{7}%
- \TestShr{15}{7}%
- \TestShr{16}{8}%
- \TestShr{17}{8}%
- \TestShr{18}{9}%
- \TestShr{19}{9}%
- \TestShr{20}{10}%
- \TestShr{21}{10}%
- \TestShr{22}{11}%
- \TestShr{11241}{5620}%
- \TestShr{73054202}{36527101}%
- \TestShr{2147483646}{1073741823}%
- \TestShr{-1}{0}%
- \TestShr{-2}{-1}%
- \TestShr{-3}{-1}%
- \TestShr{-11241}{-5620}%
-\end{qstest}
-
-\begin{qstest}{mul}{mul}
- \TestMul{0}{0}{0}%
- \TestMul{1}{0}{0}%
- \TestMul{0}{1}{0}%
- \TestMul{1}{1}{1}%
- \TestMul{3}{1}{3}%
- \TestMul{1}{-3}{-3}%
- \TestMul{-4}{-5}{20}%
- \TestMul{3}{7}{21}%
- \TestMul{7}{3}{21}%
- \TestMul{3}{-7}{-21}%
- \TestMul{7}{-3}{-21}%
- \TestMul{-3}{7}{-21}%
- \TestMul{-7}{3}{-21}%
- \TestMul{-3}{-7}{21}%
- \TestMul{-7}{-3}{21}%
- \TestMul{12}{11}{132}%
- \TestMul{999}{333}{332667}%
- \TestMul{1000}{4321}{4321000}%
- \TestMul{12345}{173955}{2147474475}%
- \TestMul{1073741823}{2}{2147483646}%
- \TestMul{2}{1073741823}{2147483646}%
- \TestMul{-1073741823}{2}{-2147483646}%
- \TestMul{2}{-1073741823}{-2147483646}%
-%<*etex>
- \TestMul{2+3}{5+7}{60}%
- \TestMul{2147483647}{2147483647/2147483647}{2147483647}%
-%</etex>
-\end{qstest}
-
-\begin{qstest}{sqr}{sqr}
- \TestSqr{0}{0}%
- \TestSqr{1}{1}%
- \TestSqr{2}{4}%
- \TestSqr{3}{9}%
- \TestSqr{4}{16}%
- \TestSqr{9}{81}%
- \TestSqr{10}{100}%
- \TestSqr{46340}{2147395600}%
- \TestSqr{-1}{1}%
- \TestSqr{-2}{4}%
- \TestSqr{-46340}{2147395600}%
-\end{qstest}
-
-\begin{qstest}{pow}{pow}
- \TestPow{-2}{0}{1}%
- \TestPow{-1}{0}{1}%
- \TestPow{0}{0}{1}%
- \TestPow{1}{0}{1}%
- \TestPow{2}{0}{1}%
- \TestPow{3}{0}{1}%
- \TestPow{-2}{1}{-2}%
- \TestPow{-1}{1}{-1}%
- \TestPow{1}{1}{1}%
- \TestPow{2}{1}{2}%
- \TestPow{3}{1}{3}%
- \TestPow{-2}{2}{4}%
- \TestPow{-1}{2}{1}%
- \TestPow{0}{2}{0}%
- \TestPow{1}{2}{1}%
- \TestPow{2}{2}{4}%
- \TestPow{3}{2}{9}%
- \TestPow{0}{1}{0}%
- \TestPow{1}{-2}{1}%
- \TestPow{1}{-1}{1}%
- \TestPow{-1}{-2}{1}%
- \TestPow{-1}{-1}{-1}%
- \TestPow{-1}{3}{-1}%
- \TestPow{-1}{4}{1}%
- \TestPow{-2}{-1}{0}%
- \TestPow{-2}{-2}{0}%
- \TestPow{2}{3}{8}%
- \TestPow{2}{4}{16}%
- \TestPow{2}{5}{32}%
- \TestPow{2}{6}{64}%
- \TestPow{2}{7}{128}%
- \TestPow{2}{8}{256}%
- \TestPow{2}{9}{512}%
- \TestPow{2}{10}{1024}%
- \TestPow{-2}{3}{-8}%
- \TestPow{-2}{4}{16}%
- \TestPow{-2}{5}{-32}%
- \TestPow{-2}{6}{64}%
- \TestPow{-2}{7}{-128}%
- \TestPow{-2}{8}{256}%
- \TestPow{-2}{9}{-512}%
- \TestPow{-2}{10}{1024}%
- \TestPow{3}{3}{27}%
- \TestPow{3}{4}{81}%
- \TestPow{3}{5}{243}%
- \TestPow{-3}{3}{-27}%
- \TestPow{-3}{4}{81}%
- \TestPow{-3}{5}{-243}%
- \TestPow{2}{30}{1073741824}%
- \TestPow{-3}{19}{-1162261467}%
- \TestPow{5}{13}{1220703125}%
- \TestPow{-7}{11}{-1977326743}%
-\end{qstest}
-
-\begin{qstest}{div}{div}
- \TestDiv{1}{1}{1}%
- \TestDiv{2}{1}{2}%
- \TestDiv{-2}{1}{-2}%
- \TestDiv{2}{-1}{-2}%
- \TestDiv{-2}{-1}{2}%
- \TestDiv{15}{2}{7}%
- \TestDiv{-16}{2}{-8}%
- \TestDiv{1}{2}{0}%
- \TestDiv{1}{3}{0}%
- \TestDiv{2}{3}{0}%
- \TestDiv{-2}{3}{0}%
- \TestDiv{2}{-3}{0}%
- \TestDiv{-2}{-3}{0}%
- \TestDiv{13}{3}{4}%
- \TestDiv{-13}{-3}{4}%
- \TestDiv{-13}{3}{-4}%
- \TestDiv{-6}{5}{-1}%
- \TestDiv{-5}{5}{-1}%
- \TestDiv{-4}{5}{0}%
- \TestDiv{-3}{5}{0}%
- \TestDiv{-2}{5}{0}%
- \TestDiv{-1}{5}{0}%
- \TestDiv{0}{5}{0}%
- \TestDiv{1}{5}{0}%
- \TestDiv{2}{5}{0}%
- \TestDiv{3}{5}{0}%
- \TestDiv{4}{5}{0}%
- \TestDiv{5}{5}{1}%
- \TestDiv{6}{5}{1}%
- \TestDiv{-5}{4}{-1}%
- \TestDiv{-4}{4}{-1}%
- \TestDiv{-3}{4}{0}%
- \TestDiv{-2}{4}{0}%
- \TestDiv{-1}{4}{0}%
- \TestDiv{0}{4}{0}%
- \TestDiv{1}{4}{0}%
- \TestDiv{2}{4}{0}%
- \TestDiv{3}{4}{0}%
- \TestDiv{4}{4}{1}%
- \TestDiv{5}{4}{1}%
- \TestDiv{12345}{678}{18}%
- \TestDiv{32372}{5952}{5}%
- \TestDiv{284271294}{18162}{15651}%
- \TestDiv{217652429}{12561}{17327}%
- \TestDiv{462028434}{5439}{84947}%
- \TestDiv{2147483647}{1000}{2147483}%
- \TestDiv{2147483647}{-1000}{-2147483}%
- \TestDiv{-2147483647}{1000}{-2147483}%
- \TestDiv{-2147483647}{-1000}{2147483}%
-\end{qstest}
-
-\begin{qstest}{mod}{mod}
- \TestMod{-6}{5}{4}%
- \TestMod{-5}{5}{0}%
- \TestMod{-4}{5}{1}%
- \TestMod{-3}{5}{2}%
- \TestMod{-2}{5}{3}%
- \TestMod{-1}{5}{4}%
- \TestMod{0}{5}{0}%
- \TestMod{1}{5}{1}%
- \TestMod{2}{5}{2}%
- \TestMod{3}{5}{3}%
- \TestMod{4}{5}{4}%
- \TestMod{5}{5}{0}%
- \TestMod{6}{5}{1}%
- \TestMod{-5}{4}{3}%
- \TestMod{-4}{4}{0}%
- \TestMod{-3}{4}{1}%
- \TestMod{-2}{4}{2}%
- \TestMod{-1}{4}{3}%
- \TestMod{0}{4}{0}%
- \TestMod{1}{4}{1}%
- \TestMod{2}{4}{2}%
- \TestMod{3}{4}{3}%
- \TestMod{4}{4}{0}%
- \TestMod{5}{4}{1}%
- \TestMod{-6}{-5}{-1}%
- \TestMod{-5}{-5}{0}%
- \TestMod{-4}{-5}{-4}%
- \TestMod{-3}{-5}{-3}%
- \TestMod{-2}{-5}{-2}%
- \TestMod{-1}{-5}{-1}%
- \TestMod{0}{-5}{0}%
- \TestMod{1}{-5}{-4}%
- \TestMod{2}{-5}{-3}%
- \TestMod{3}{-5}{-2}%
- \TestMod{4}{-5}{-1}%
- \TestMod{5}{-5}{0}%
- \TestMod{6}{-5}{-4}%
- \TestMod{-5}{-4}{-1}%
- \TestMod{-4}{-4}{0}%
- \TestMod{-3}{-4}{-3}%
- \TestMod{-2}{-4}{-2}%
- \TestMod{-1}{-4}{-1}%
- \TestMod{0}{-4}{0}%
- \TestMod{1}{-4}{-3}%
- \TestMod{2}{-4}{-2}%
- \TestMod{3}{-4}{-1}%
- \TestMod{4}{-4}{0}%
- \TestMod{5}{-4}{-3}%
- \TestMod{2147483647}{1000}{647}%
- \TestMod{2147483647}{-1000}{-353}%
- \TestMod{-2147483647}{1000}{353}%
- \TestMod{-2147483647}{-1000}{-647}%
- \TestMod{ 0 }{ 4 }{0}%
- \TestMod{ 1 }{ 4 }{1}%
- \TestMod{ -1 }{ 4 }{3}%
- \TestMod{ 0 }{ -4 }{0}%
- \TestMod{ 1 }{ -4 }{-3}%
- \TestMod{ -1 }{ -4 }{-1}%
-%<*etex>
- \TestMod{1+2}{1+3}{3}%
- \TestMod{1-2}{1+3}{3}%
- \TestMod{1-2}{1-4}{-1}%
- \TestMod{1+2}{1-4}{0}%
- \TestMod{1+2}{1-5}{-1}%
-%</etex>
-\end{qstest}
-%</test2|test4>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test2>
-\newcommand*{\TestError}[2]{%
- \begingroup
- \expandafter\def\csname IntCalcError:#1\endcsname{}%
- \Expect*{#2}{0}%
- \expandafter\def\csname IntCalcError:#1\endcsname{ERROR}%
- \Expect*{#2}{0ERROR }%
- \endgroup
-}
-\begin{qstest}{error}{error}
- \TestError{FacNegative}{\intcalcFac{-1}}%
- \TestError{FacNegative}{\intcalcFac{-2147483647}}%
- \TestError{FacOverflow}{\intcalcFac{13}}%
- \TestError{FacOverflow}{\intcalcFac{2147483647}}%
- \TestError{DivisionByZero}{\intcalcPow{0}{-1}}%
- \TestError{DivisionByZero}{\intcalcDiv{1}{0}}%
- \TestError{DivisionByZero}{\intcalcMod{1}{0}}%
- \TestError{DivisionByZero}{\IntCalcDiv1!0!}%
- \TestError{DivisionByZero}{\IntCalcMod1!0!}%
-\end{qstest}
-%</test2>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test2|test4>
-\begin{document}
-\end{document}
-%</test2|test4>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -4116,10 +3145,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% intcalc.sty & tex/generic/oberdiek/intcalc.sty\\
% intcalc.pdf & doc/latex/oberdiek/intcalc.pdf\\
-% test/intcalc-test1.tex & doc/latex/oberdiek/test/intcalc-test1.tex\\
-% test/intcalc-test2.tex & doc/latex/oberdiek/test/intcalc-test2.tex\\
-% test/intcalc-test3.tex & doc/latex/oberdiek/test/intcalc-test3.tex\\
-% test/intcalc-test4.tex & doc/latex/oberdiek/test/intcalc-test4.tex\\
% intcalc.dtx & source/latex/oberdiek/intcalc.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/intcalc.pdf b/macros/latex/contrib/oberdiek/intcalc.pdf
index fc12045817..be33245d32 100644
--- a/macros/latex/contrib/oberdiek/intcalc.pdf
+++ b/macros/latex/contrib/oberdiek/intcalc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/kvdefinekeys.dtx b/macros/latex/contrib/oberdiek/kvdefinekeys.dtx
index f0fcac8889..3b864fc73b 100644
--- a/macros/latex/contrib/oberdiek/kvdefinekeys.dtx
+++ b/macros/latex/contrib/oberdiek/kvdefinekeys.dtx
@@ -66,7 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/kvdefinekeys.sty
% TDS:doc/latex/oberdiek/kvdefinekeys.pdf
-% TDS:doc/latex/oberdiek/test/kvdefinekeys-test1.tex
% TDS:source/latex/oberdiek/kvdefinekeys.dtx
%
%<*ignore>
@@ -137,10 +136,6 @@ and the derived files
\file{kvdefinekeys.sty}{\from{kvdefinekeys.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{kvdefinekeys-test1.tex}{\from{kvdefinekeys.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{kvdefinekeys.xml}{\from{kvdefinekeys.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -177,21 +172,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{kvdefinekeys.drv}
%
@@ -428,118 +408,7 @@ and the derived files
\KVD@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input kvdefinekeys.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -588,7 +457,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% kvdefinekeys.sty & tex/generic/oberdiek/kvdefinekeys.sty\\
% kvdefinekeys.pdf & doc/latex/oberdiek/kvdefinekeys.pdf\\
-% test/kvdefinekeys-test1.tex & doc/latex/oberdiek/test/kvdefinekeys-test1.tex\\
% kvdefinekeys.dtx & source/latex/oberdiek/kvdefinekeys.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/kvdefinekeys.pdf b/macros/latex/contrib/oberdiek/kvdefinekeys.pdf
index 3d11f7fbaa..04e7111c2d 100644
--- a/macros/latex/contrib/oberdiek/kvdefinekeys.pdf
+++ b/macros/latex/contrib/oberdiek/kvdefinekeys.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/kvsetkeys.dtx b/macros/latex/contrib/oberdiek/kvsetkeys.dtx
index b7377aaaa6..7bbd4fe568 100644
--- a/macros/latex/contrib/oberdiek/kvsetkeys.dtx
+++ b/macros/latex/contrib/oberdiek/kvsetkeys.dtx
@@ -69,10 +69,6 @@
% TDS:tex/generic/oberdiek/kvsetkeys.sty
% TDS:doc/latex/oberdiek/kvsetkeys.pdf
% TDS:doc/latex/oberdiek/kvsetkeys-example.tex
-% TDS:doc/latex/oberdiek/test/kvsetkeys-test1.tex
-% TDS:doc/latex/oberdiek/test/kvsetkeys-test2.tex
-% TDS:doc/latex/oberdiek/test/kvsetkeys-test3.tex
-% TDS:doc/latex/oberdiek/test/kvsetkeys-test4.tex
% TDS:source/latex/oberdiek/kvsetkeys.dtx
%
%<*ignore>
@@ -150,10 +146,6 @@ and the derived files
% \file{kvsetkeys-test2.tex}{\from{kvsetkeys.dtx}{test2}}%
% \file{kvsetkeys-test3.tex}{\from{kvsetkeys.dtx}{test2,noetex}}%
% \file{kvsetkeys-test4.tex}{\from{kvsetkeys.dtx}{test4}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{kvsetkeys.xml}{\from{kvsetkeys.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -190,21 +182,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{kvsetkeys.drv}
%
@@ -1426,440 +1403,7 @@ $ \x
\KVS@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input kvsetkeys.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-%<noetex>\let\SavedUnexpanded\unexpanded
-%<noetex>\let\unexpanded\UNDEFINED
-\makeatletter
-\chardef\KVS@TestMode=1 %
-\makeatother
-\usepackage{kvsetkeys}[2016/05/16]
-%<noetex>\let\unexpanded\SavedUnexpanded
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-% \end{macrocode}
-%
-% \subsubsection{Time}
-%
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfresettimer\endcsname\relax
-\else
- \makeatletter
- \newcount\SummaryTime
- \newcount\TestTime
- \SummaryTime=\z@
- \newcommand*{\PrintTime}[2]{%
- \typeout{%
- [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]%
- }%
- }%
- \newcommand*{\StartTime}[1]{%
- \renewcommand*{\TimeDescription}{#1}%
- \pdfresettimer
- }%
- \newcommand*{\TimeDescription}{}%
- \newcommand*{\StopTime}{%
- \TestTime=\pdfelapsedtime
- \global\advance\SummaryTime\TestTime
- \PrintTime\TimeDescription\TestTime
- }%
- \let\saved@qstest\qstest
- \let\saved@endqstest\endqstest
- \def\qstest#1#2{%
- \saved@qstest{#1}{#2}%
- \StartTime{#1}%
- }%
- \def\endqstest{%
- \StopTime
- \saved@endqstest
- }%
- \AtEndDocument{%
- \PrintTime{summary}\SummaryTime
- }%
- \makeatother
-\fi
-% \end{macrocode}
-%
-% \subsubsection{Test sets}
-%
-% \begin{macrocode}
-\makeatletter
-\def\@makeactive#1{%
- \catcode`#1=13\relax
-}
-\@makeactive\,
-\def,{\errmessage{COMMA}}
-\@makeother\,
-\@makeactive\=
-\def={\errmessage{EQUALS}}
-\@makeother\=
-
-\begin{qstest}{normalize}{normalize,active-chars,space-removal}%
- \long\def\Test#1#2{%
- \@makeother\,%
- \@makeother\=%
- \scantokens{\toks@={#2}}%
- \edef\Result{\the\toks@}%
- \@makeother\,%
- \@makeother\=%
- \@Test{#1}%
- \@makeactive\,%
- \@Test{#1}%
- \@makeactive\=%
- \@Test{#1}%
- \@makeother\,%
- \@Test{#1}%
- \@makeother\=%
- }%
- \long\def\@Test#1{%
- \scantokens{\kv@normalize{#1}}%
- \expandafter\expandafter\expandafter\Expect
- \expandafter\expandafter\expandafter
- {\expandafter\kv@list\expandafter}\expandafter{\Result}%
- \Expect*{\ifx\kv@list\Result true\else false\fi}{true}%
- }%
- \Test{}{,}%
- \Test{,}{,}%
- \Test{,,}{,}%
- \Test{,,,}{,}%
- \Test{ , }{,}%
- \Test{{a}}{,{a},}%
- \Test{,{a}}{,{a},}%
- \Test{{a},}{,{a},}%
- \Test{{a},{b}}{,{a},{b},}%
- \Test{{b}={c},{}=,{}={},{d}=}{,{b}={c},{}=,{}={},{d}=,}%
- \Test{{}}{,{},}%
- \Test{{},{},{}}{,{},{},{},}%
- \Test{=}{,=,}%
- \Test{=,=,=}{,=,=,=,}%
- \Test{a=\par}{,a=\par,}%
- \Test{\par}{,\par,}%
- \def\TestSet#1{%
- \Test{#1#1}{,}%
- \Test{#1#1,#1#1}{,}%
- \Test{#1#1,#1#1,#1#1}{,}%
- \Test{#1#1#1#1#1}{,}%
- \Test{{a}#1#1=#1#1{b}}{,{a}={b},}%
- }%
- \TestSet{ }%
- \begingroup
- \let\saved@normalize\kv@normalize
- \def\kv@normalize#1{%
- \saved@normalize{#1}%
- \@onelevel@sanitize\kv@list
- \@onelevel@sanitize\Result
- }%
- \Test{#,#=#,{#}={#},{#}=,{#}}{,#,#=#,{#}={#},{#}=,{#},}%
- \endgroup
- \begingroup
- \def\Test#1#2{%
- \edef\Result{#2}%
- \@Test{#1}%
- }%
- \Test{{ a = b }}{,{ a = b },}%
- \@makeactive\,%
- \Test{{,}}{\string,{\noexpand,}\string,}%
- \@makeother\,%
- \@makeactive\=%
- \Test{a={=}}{,a\string={\noexpand=},}%
- \endgroup
- \Test{a=b}{,a=b,}%
- \Test{a={b}}{,a={b},}%
- \Test{a ={b}}{,a={b},}%
- \Test{a= {b}}{,a={b},}%
- \Test{a = {b}}{,a={b},}%
- \Test{a = {b} ,}{,a={b},}%
- \Test{a}{,a,}%
- \Test{ a}{,a,}%
- \Test{a }{,a,}%
- \Test{ a }{,a,}%
- \Test{, a ,}{,a,}%
- \Test{, a b ,}{,a b,}%
- \Test{,a ,}{,a,}%
- \Test{ a =}{,a=,}%
- \Test{ a = }{,a=,}%
- \Test{a =}{,a=,}%
- \Test{{a} =}{,{a}=,}%
- \Test{{a}= {}}{,{a}={},}%
- \Test{, a = {}}{,a={},}%
- \Test{a,,b}{,a,b,}%
- \Test{a=\fi}{,a=\fi,}%
- \Test{a=\iffalse}{,a=\iffalse,}%
- \Test{a=\iffalse,b=\fi}{,a=\iffalse,b=\fi,}%
-\end{qstest}
-
-\begin{qstest}{parse}{parse,brace-removal}
- \def\Processor#1#2{%
- \expandafter\Expect\expandafter{\kv@key}{#1}%
- \toks@{#2}%
- \edef\x{\the\toks@}%
- \ifx\kv@value\relax
- \Expect*{\the\toks@}{}%
- \def\Value{<>}%
- \else
- \edef\Value{[\the\toks@]}%
- \@onelevel@sanitize\Value
- \fi
- \toks@{#1}%
- \ifx\Result\@empty
- \edef\Result{[\the\toks@]=\Value}%
- \else
- \edef\Result{\Result,[\the\toks@]=\Value}%
- \fi
- \@onelevel@sanitize\Result
- }%
- \def\Test#1#2{%
- \sbox0{%
- \let\Result\@empty
- \kv@parse{#1}\Processor
- \Expect*{\Result}{#2}%
- }%
- \Expect*{\the\wd0}{0.0pt}%
- }%
- \Test{}{}%
- \Test{{}}{}%
- \Test{{{}}}{[]=<>}%
- \Test{{{{}}}}{[{}]=<>}%
- \Test{a}{[a]=<>}%
- \Test{{a}}{[a]=<>}%
- \Test{{a}}{[a]=<>}%
- \Test{{{a}}}{[a]=<>}%
- \Test{{{{a}}}}{[{a}]=<>}%
- \Test{a=}{[a]=[]}%
- \Test{{a}=}{[a]=[]}%
- \Test{{{a}}=}{[{a}]=[]}%
- \Test{a={}}{[a]=[]}%
- \Test{{a}={{}}}{[a]=[{}]}%
- \Test{a=b}{[a]=[b]}%
- \Test{a=\fi}{[a]=[\fi]}%
- \Test{a=\iffalse}{[a]=[\iffalse]}%
- \Test{a=\iffalse,b=\fi}{[a]=[\iffalse],[b]=[\fi]}%
- \Test{{ a = b }}{[ a ]=[ b ]}%
- \Test{{{ a = b }}}{[ a = b ]=<>}%
-\end{qstest}
-
-\begin{qstest}{comma}{comma,parse}
- \def\Processor#1{%
- \expandafter\Expect\expandafter{\comma@entry}{#1}%
- \toks@{#1}%
- \ifx\Result\@empty
- \edef\Result{[\the\toks@]}%
- \else
- \edef\Result{\Result,[\the\toks@]}%
- \fi
- \@onelevel@sanitize\Result
- }%
- \def\Test#1#2{%
- \sbox0{%
- \let\Result\@empty
- \comma@parse{#1}\Processor
- \Expect*{\Result}{#2}%
- }%
- \Expect*{\the\wd0}{0.0pt}%
- }%
- \Test{}{}%
- \Test{{}}{}%
- \Test{{{}}}{[{}]}%
- \Test{a}{[a]}%
- \Test{{a}}{[a]}%
- \Test{{{a}}}{[{a}]}%
- \Test{a=}{[a=]}%
- \Test{a\fi}{[a\fi]}%
- \Test{a\iffalse}{[a\iffalse]}%
- \Test{\iffalse,\fi}{[\iffalse],[\fi]}%
- \Test{ a , b , c }{[a],[b],[c]}%
- \Test{ { } ,{ }, { }, { } , { } }{[ ],[ ],[ ],[ ],[ ]}%
- \Test{ {{}} ,{{}}, {{}}, {{}} , {{}} }{[{}],[{}],[{}],[{}],[{}]}%
-\end{qstest}
-
-\begin{document}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \subsection{Tests for key value processing handler}
-%
-% \begin{macrocode}
-%<*test4>
-\catcode`\{=1
-\catcode`\}=2
-\catcode`\#=6
-\catcode`\@=11
-\input kvdefinekeys.sty\relax
-\input kvsetkeys.sty\relax
-\input infwarerr.sty\relax
-\def\Error#1{%
- \@PackageError{test}{#1}\@ehc
-}
-% \end{macrocode}
-% \begin{macrocode}
-\def\temp#1#2{%
- \kv@define@key{#1}{#2}{%
- \edef\result{%
- \result
- [#1:#2=##1]% hash-ok
- }%
- }%
-}
-\temp{FA}{key1}
-\temp{FA}{key2}
-\temp{FB}{key3}
-\temp{FB}{key3}
-% \end{macrocode}
-% \begin{macrocode}
-\setbox0=\hbox{%
- \def\result{}%
- \kvsetknownkeys{FA}\cmd{key1=234,key3=456}%
- \def\expected{[FA:key1=234]}%
- \ifx\expected\result
- \else
- \Error{%
- \string\kvsetknownkeys/\string\result\MessageBreak
- Expected: \expected\MessageBreak
- Result: \space\result
- }%
- \fi
- \def\expected{{key3}={456}}%
- \ifx\cmd\expected
- \else
- \Error{%
- \string\kvsetknownkeys/\string\cmd\MessageBreak
- Expected: \expected\MessageBreak
- Result: \space\cmd
- }%
- \fi
-}
-\ifdim\wd0=0pt %
-\else
- \Error{Spurious spaces?}%
-\fi
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test4>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1909,10 +1453,6 @@ $ \x
% kvsetkeys.sty & tex/generic/oberdiek/kvsetkeys.sty\\
% kvsetkeys.pdf & doc/latex/oberdiek/kvsetkeys.pdf\\
% kvsetkeys-example.tex & doc/latex/oberdiek/kvsetkeys-example.tex\\
-% test/kvsetkeys-test1.tex & doc/latex/oberdiek/test/kvsetkeys-test1.tex\\
-% test/kvsetkeys-test2.tex & doc/latex/oberdiek/test/kvsetkeys-test2.tex\\
-% test/kvsetkeys-test3.tex & doc/latex/oberdiek/test/kvsetkeys-test3.tex\\
-% test/kvsetkeys-test4.tex & doc/latex/oberdiek/test/kvsetkeys-test4.tex\\
% kvsetkeys.dtx & source/latex/oberdiek/kvsetkeys.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/kvsetkeys.pdf b/macros/latex/contrib/oberdiek/kvsetkeys.pdf
index 421d79a864..c5afe2fbb5 100644
--- a/macros/latex/contrib/oberdiek/kvsetkeys.pdf
+++ b/macros/latex/contrib/oberdiek/kvsetkeys.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/letltxmacro.pdf b/macros/latex/contrib/oberdiek/letltxmacro.pdf
deleted file mode 100644
index bfdb7d1dce..0000000000
--- a/macros/latex/contrib/oberdiek/letltxmacro.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/listingsutf8.dtx b/macros/latex/contrib/oberdiek/listingsutf8.dtx
index 7a6ed74f37..1cf8b78795 100644
--- a/macros/latex/contrib/oberdiek/listingsutf8.dtx
+++ b/macros/latex/contrib/oberdiek/listingsutf8.dtx
@@ -65,11 +65,6 @@
% Installation:
% TDS:tex/latex/oberdiek/listingsutf8.sty
% TDS:doc/latex/oberdiek/listingsutf8.pdf
-% TDS:doc/latex/oberdiek/test/listingsutf8-test1.tex
-% TDS:doc/latex/oberdiek/test/listingsutf8-test2.tex
-% TDS:doc/latex/oberdiek/test/listingsutf8-test3.tex
-% TDS:doc/latex/oberdiek/test/listingsutf8-test4.tex
-% TDS:doc/latex/oberdiek/test/listingsutf8-test5.tex
% TDS:source/latex/oberdiek/listingsutf8.dtx
%
%<*ignore>
@@ -143,10 +138,6 @@ and the derived files
% \file{listingsutf8-test3.tex}{\from{listingsutf8.dtx}{test3,utf8x}}%
% \file{listingsutf8-test4.tex}{\from{listingsutf8.dtx}{test4,utf8,noetex}}%
% \file{listingsutf8-test5.tex}{\from{listingsutf8.dtx}{test5,utf8x,noetex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{listingsutf8.xml}{\from{listingsutf8.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -183,21 +174,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{listingsutf8.drv}
%
@@ -493,105 +469,7 @@ and the derived files
\lstU@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\makeatletter
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
-}
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{127}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- \RequirePackage{listingsutf8}[2016/05/16]\relax
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test example for latin1}
-%
-% \begin{macrocode}
-%<*test2>
-% \end{macrocode}
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{filecontents}
-\def\do#1{%
- \ifx#1\^%
- \else
- \noexpand\do\noexpand#1%
- \fi
-}
-\expandafter\let\expandafter\dospecials\expandafter\empty
-\expandafter\edef\expandafter\dospecials\expandafter{\dospecials}
-\begin{filecontents*}{ExampleUTF8.java}
-public class ExampleUTF8 {
- public static String testString =
- "Umlauts: " +
- "^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f";
- public static void main(String[] args) {
- System.out.println(testString);
- }
-}
-\end{filecontents*}
-\usepackage{listingsutf8}[2016/05/16]
-\def\Text{%
- Umlauts: %
- ^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f%
-}
-\begin{document}
-\lstinputlisting[%
- language=Java,%
- inputencoding=utf8/latin1,%
-]{ExampleUTF8.java}
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -640,11 +518,6 @@ public class ExampleUTF8 {
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% listingsutf8.sty & tex/latex/oberdiek/listingsutf8.sty\\
% listingsutf8.pdf & doc/latex/oberdiek/listingsutf8.pdf\\
-% test/listingsutf8-test1.tex & doc/latex/oberdiek/test/listingsutf8-test1.tex\\
-% test/listingsutf8-test2.tex & doc/latex/oberdiek/test/listingsutf8-test2.tex\\
-% test/listingsutf8-test3.tex & doc/latex/oberdiek/test/listingsutf8-test3.tex\\
-% test/listingsutf8-test4.tex & doc/latex/oberdiek/test/listingsutf8-test4.tex\\
-% test/listingsutf8-test5.tex & doc/latex/oberdiek/test/listingsutf8-test5.tex\\
% listingsutf8.dtx & source/latex/oberdiek/listingsutf8.dtx\\
% \end{tabular}^^A
% }^^A
@@ -760,7 +633,7 @@ public class ExampleUTF8 {
% \bibitem{inputenc}
% Alan Jeffrey, Frank Mittelbach,
% \textit{inputenc.sty}, 2006/05/05 v1.1b.
-% \CTAN{macros/latex/base/inputenc.dtx}
+% \CTANpkg{iputenc}
%
% \bibitem{listings}
% Carsten Heinz, Brooks Moses:
@@ -772,7 +645,7 @@ public class ExampleUTF8 {
% Heiko Oberdiek:
% \textit{The \xpackage{stringenc} package};
% 2007/10/22;\\
-% \CTAN{macros/latex/contrib/oberdiek/stringenc.pdf}.
+% \CTANpkg{stringenc}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/listingsutf8.pdf b/macros/latex/contrib/oberdiek/listingsutf8.pdf
index ff64d3ce1e..3644e9b320 100644
--- a/macros/latex/contrib/oberdiek/listingsutf8.pdf
+++ b/macros/latex/contrib/oberdiek/listingsutf8.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/ltxcmds.dtx b/macros/latex/contrib/oberdiek/ltxcmds.dtx
index 974a994380..7de6b53dfe 100644
--- a/macros/latex/contrib/oberdiek/ltxcmds.dtx
+++ b/macros/latex/contrib/oberdiek/ltxcmds.dtx
@@ -69,13 +69,6 @@
% Installation:
% TDS:tex/generic/oberdiek/ltxcmds.sty
% TDS:doc/latex/oberdiek/ltxcmds.pdf
-% TDS:doc/latex/oberdiek/test/ltxcmds-test1.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-gobble.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-ifempty.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-zapspace.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-ifboxempty.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-nextchar.tex
-% TDS:doc/latex/oberdiek/test/ltxcmds-test-carcdr.tex
% TDS:source/latex/oberdiek/ltxcmds.dtx
%
%<*ignore>
@@ -155,10 +148,6 @@ and the derived files
% \file{ltxcmds-test-ifboxempty.tex}{\from{ltxcmds.dtx}{test-ifboxempty}}%
% \file{ltxcmds-test-nextchar.tex}{\from{ltxcmds.dtx}{test-nextchar}}%
% \file{ltxcmds-test-carcdr.tex}{\from{ltxcmds.dtx}{test-carcdr}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{ltxcmds.xml}{\from{ltxcmds.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -198,21 +187,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{ltxcmds.drv}
%
@@ -2062,851 +2036,7 @@ $ \next
\LTXcmds@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input ltxcmds.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test \cs{ltx@GobbleNum}}
-%
-% \begin{macrocode}
-%<*test-gobble>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\catcode`\@=11 %
-\def\msg#{\immediate\write16}%
-\msg{[Test \string\ltx@GobbleNum]}%
-\long\def\Test#1=#2\\{%
- \edef\StrA{\ltx@GobbleNum#1}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\StrAA
- \expandafter\expandafter\expandafter{\ltx@GobbleNum#1}%
- \edef\StrB{#2}%
- \ifx\StrA\StrB
- \ifx\StrAA\StrB
- \msg{* ok.}%
- \else
- \msg{StrAA: \StrAA}%
- \msg{StrB: \StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (two expansions) failed}%
- \fi
- \else
- \msg{StrA: \StrA}%
- \msg{StrB: \StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (edef) failed!}%
- \fi
-}
-\Test0abc=abc\\
-\Test1abc=bc\\
-\Test2abc=c\\
-\Test3abcd=d\\
-\Test4abcde=e\\
-\Test5abcdef=f\\
-\Test6abcdefg=g\\
-\Test7abcdefgh=h\\
-\Test8abcdefghi=i\\
-\Test9abcdefghij=j\\
-\Test{10}0123456789X=X\\
-\Test{12}abcdefghijklm=m\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=X\\
-\Test{-1}abc=abc\\
-\Test2\par\par\relax=\relax\\
-
-\begingroup
- \count1=2 %
- \Test{\count1}abc=c\\%
-\endgroup
-
-\ltx@IfUndefined{numexpr}{%
-}{%
- \Test{1+1}abc=c\\%
-}
-
-\msg{[Test \string\ltx@CdrNum]}%
-\long\def\Test#1=#2\\{%
- \edef\StrA{\ltx@CdrNum#1\@nil}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\StrAA
- \expandafter\expandafter\expandafter{\ltx@CdrNum#1\@nil}%
- \edef\StrB{#2}%
- \ifx\StrA\StrB
- \ifx\StrAA\StrB
- \msg{* ok.}%
- \else
- \msg{StrAA: \meaning\StrAA}%
- \msg{StrB: \meaning\StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (two expansions) failed}%
- \fi
- \else
- \msg{StrA: \StrA}%
- \msg{StrB: \StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (edef) failed!}%
- \fi
-}
-\Test0abc=abc\\
-\Test1abc=bc\\
-\Test2abc=c\\
-\Test3abcd=d\\
-\Test4abcde=e\\
-\Test5abcdef=f\\
-\Test6abcdefg=g\\
-\Test7abcdefgh=h\\
-\Test8abcdefghi=i\\
-\Test9abcdefghij=j\\
-\Test{10}0123456789X=X\\
-\Test{12}abcdefghijklm=m\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=X\\
-\Test{-1}abc=abc\\
-\Test2\par\par\relax=\relax\\
-
-\msg{[Test \string\ltx@CarNum]}%
-\long\def\Test#1=#2\\{%
- \edef\StrA{\ltx@CarNum#1\@nil}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\StrAA
- \expandafter\expandafter\expandafter{\ltx@CarNum#1\@nil}%
- \edef\StrB{#2}%
- \ifx\StrA\StrB
- \ifx\StrAA\StrB
- \msg{* ok.}%
- \else
- \msg{StrAA: \meaning\StrAA}%
- \msg{StrB: \meaning\StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (two expansions) failed}%
- \fi
- \else
- \msg{StrA: \StrA}%
- \msg{StrB: \StrB}%
- \errhelp{Test: #1=#2}%
- \errmessage{Test (edef) failed!}%
- \fi
-}
-\Test0abc=\\
-\Test1abc=a\\
-\Test2abc=ab\\
-\Test3abc=abc\\
-\Test3abcd=abc\\
-\Test4abcde=abcd\\
-\Test{10}0123456789X=0123456789\\
-\Test{12}abcdefghijklm=abcdefghijkl\\
-\Test{700}%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-X=%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-0123456789012345678901234567890123456789012345678901234567890123456789%
-\\
-\Test{-1}abc=\\
-\Test2\par\par\relax=\par\par\\
-\csname @@end\endcsname\end
-%</test-gobble>
-% \end{macrocode}
-%
-% \subsection{Test \cs{ltx@ifempty}}
-%
-% \begin{macrocode}
-%<*test-ifempty>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\errorcontextlines=1000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
-\def\TestY{\Y}
-\def\TestN{\N}
-\msg{* \string\ltx@ifempty}
-\long\def\test#1{%
- \begingroup
- % Calculate expected test result via macro definition
- \def\Stuff{#1}%
- \ifx\Stuff\ltx@empty
- \def\StuffEmpty{\Y}%
- \else
- \def\StuffEmpty{\N}%
- \fi
- % Test \ltx@ifempty
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestEmpty
- \expandafter\expandafter\expandafter{%
- \ltx@ifempty{#1}{\Y}{\N}%
- }%
- \ifx\StuffEmpty\TestEmpty
- \msg{* Test OK}%
- \else
- \ltx@IfUndefined{detokenize}{}{%
- \msg{Stuff: [\detokenize{\Stuff}]}%
- }%
- \errmessage{Test failed!}%
- \fi
- \endgroup
-}
-\test{}
-\test{a}
-\test{abc}
-\test{\par}
-\test{ }
-\test{\if}
-\test{{\if}}
-\test{\else}
-\test{{\else}}
-\test{\fi}
-\test{{}\fi}
-\test{\or\ifcase}
-\test{{}}
-\test{{a}}
-\test{{}abc}
-\test{{\par}}
-\test{{}\par}
-% \end{macrocode}
-% \begin{macrocode}
-\def\SpaceTwo#1{%
- \def\SpaceTwo{#1#1}%
-}\SpaceTwo{ }
-\msg{* \string\ltx@ifblank}
-\long\def\test#1{%
- \begingroup
- % Calculate expected test result via macro definition
- \def\Stuff{#1}%
- \ifx\Stuff\ltx@empty
- \def\StuffEmpty{\Y}%
- \else
- \ifx\Stuff\ltx@space
- \def\StuffEmpty{\Y}%
- \else
- \ifx\Stuff\SpaceTwo
- \def\StuffEmpty{\Y}%
- \else
- \def\StuffEmpty{\N}%
- \fi
- \fi
- \fi
- % Test \ltx@ifblank
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestEmpty
- \expandafter\expandafter\expandafter{%
- \ltx@ifblank{#1}{\Y}{\N}%
- }%
- \ifx\StuffEmpty\TestEmpty
- \msg{* Test OK}%
- \else
- \ltx@IfUndefined{detokenize}{}{%
- \msg{Stuff: [\detokenize{\Stuff}]}%
- }%
- \errmessage{Test failed!}%
- \fi
- \endgroup
-}
-\test{}
-\test{a}
-\test{\if}
-\test{\else}
-\test{\fi}
-\test{ \fi}
-\test{\par}
-\test{ \par}
-\test{{}}
-\test{ {}}
-\def\x#1{%
- \test{#1#1}%
- \test{#1#1{}}%
- \test{#1#1\par}%
- \test{#1#1\else}%
-}\x{ }
-\csname @@end\endcsname\end
-%</test-ifempty>
-% \end{macrocode}
-%
-% \subsection{Test \cs{ltx@zap@space}}
-%
-% \begin{macrocode}
-%<*test-zapspace>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\errorcontextlines=1000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
-\def\space{ }
-\def\empty{}
-\msg{* \string\ltx@zapspace}
-\long\def\test#1#2{%
- \begingroup
- \def\TestInput{#1}%
- \def\TestExpected{#2}%
- % Test \ltx@zapspace
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- \ltx@zapspace{#1}%
- }%
- \ifx\TestResult\TestExpected
- \msg{* Test OK}%
- \else
- \ltx@onelevel@sanitize\TestInput
- \ltx@onelevel@sanitize\TestExpected
- \ltx@onelevel@sanitize\TestResult
- \msg{* Input: \space\space\space[\TestInput]}%
- \msg{ \space Result: \space\space[\TestResult]}%
- \msg{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \fi
- \endgroup
-}
-\long\def\etest#1#2{%
- \begingroup
- \edef\x{\endgroup
- \noexpand\test{#1}{#2}%
- }%
- \x
-}
-\catcode`\~=13 %
-\let~\noexpand
-% \end{macrocode}
-% \begin{macrocode}
-\test{}{}
-\test{{}}{{}}
-\test{ {}}{{}}
-\test{{ }}{{ }}
-\test{{} }{{}}
-\test{ {} }{{}}
-\test{ { } }{{ }}
-\test{a {b} c}{a{b}c}
-\test{a bb ccc}{abbccc}
-\test{{a} {bb} {ccc}}{{a}{bb}{ccc}}
-\test{\par}{\par}
-\test{\if}{\if}
-\test{\space}{\space}
-\etest{\par\space\par}{\par\par}
-\etest{~\empty\space~\empty}{~\empty~\empty}
-\etest{~\fi\space~\else\space}{~\fi~\else}
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test-zapspace>
-% \end{macrocode}
-%
-% \subsection{Test \cs{ltx@IfBoxEmpty}}
-%
-% \begin{macrocode}
-%<*test-ifboxempty>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
-\fi
-\def\msg#{\immediate\write16}
- % make box 0 void
-\begingroup
- \setbox0=\box0 %
-\endgroup
-\ifvoid0 %
-\else
- \errmessage{Voiding box 0 failed}%
-\fi
-\setbox2=\box0 %
-\def\test#1#2{%
- \@test{#1}{#2}%
- \@@test{#1}{#2}%
- \chardef\x=#1%
- \@test\x{#2}%
- \@@test\x{#2}%
-}
-\def\@test#1#2{%
- \begingroup
- \setbox9=\hbox{%
- \def\TestExpected{#2}%
- \ltx@IfBoxEmpty{#1}{%
- \def\TestResult{Y}%
- }{%
- \def\TestResult{N}%
- }%
- \ifx\TestExpected\TestResult
- \msg{* Test passed.}%
- \else
- \errmessage{Test failed!}%
- \fi
- }%
- \ifdim\wd9=0pt %
- \else
- \errmessage{Unwanted space?}%
- \fi
- \endgroup
-}
-\def\@@test#1#2{%
- \begingroup
- \setbox9=\hbox{%
- \def\TestExpected{#2}%
- \ifvoid#1\def\TestExpected{Y}\fi
- \ltx@IfBoxVoidOrEmpty{#1}{%
- \def\TestResult{Y}%
- }{%
- \def\TestResult{N}%
- }%
- \ifx\TestExpected\TestResult
- \msg{* Test passed.}%
- \else
- \errmessage{Test failed!}%
- \fi
- }%
- \ifdim\wd9=0pt %
- \else
- \errmessage{Unwanted space?}%
- \fi
- \endgroup
-}
-\test0N
-\test2N
-\setbox0=\hbox{}
-\test0Y
-\setbox2=\hbox{}
-\test2Y
-\setbox0=\vbox{}
-\test0Y
-\setbox2=\vbox{}
-\test0Y
-\setbox0=\hbox{ }%
-\test0N
-\setbox2=\hbox{ }%
-\test2N
-\setbox0=\hbox{\penalty1}%
-\test0N
-\setbox2=\hbox{\penalty1}%
-\test2N
-\csname @@end\endcsname\end
-%</test-ifboxempty>
-% \end{macrocode}
-%
-% \subsection{Test for next character detection}
-%
-% \begin{macrocode}
-%<*test-nextchar>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
- \input eolgrab.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
- \RequirePackage{eolgrab}[2011/01/12]%
-\fi
-\def\msg#{\immediate\write16}
-\begingroup
- \def\x#1{%
- \endgroup
- \let\TestSpaceToken= #1\relax
- }%
-\x{ }
-\def\TestSpace{ }
-\begingroup
- \lccode32=65 % space -> A
-\lowercase{%
- \endgroup
- \def\TestSpaceA{ }%
-}
-\def\TestCatch{%
- \eolgrab\@TestCatch
-}
-\def\@TestCatch#1{%
- \begingroup
- \def\x{#1}%
- \ifx\x\ltx@empty
- \else
- \ltx@onelevel@sanitize\x
- \errmessage{Unparsed stuff on line [\x]}%
- \fi
- \endgroup
-}
-\def\TestCmdM#1{%
- \TestCheckType{M}%
- \TestCatch
-}
-\def\TestCmdOM[#1]#2{%
- \TestCheckType{O}%
- \TestCatch
-}
-\def\TestCheckType#1{%
- \if\TestCmdType#1\relax
- \else
- \errmessage{Wrong type #1, expected: \TestCmdType}%
- \fi
-}
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar[\TestCmdOM\TestCmdM
-}
-\def\TestCmdExp#1{%
- \expandafter\TestCmd\expandafter#1%
-}
-\outer\def\TestOuter{}
-\TestCmd O[o]{m}
-\TestCmd M{m}
-\TestCmd O [o]{m}
-\TestCmd M {m}
-\def\x#1{\def\x{#1#1}}\x{ }
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x#1{\def\x{#1#1#1#1}}\x{ }
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x{\TestSpaceToken}
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\def\x{\TestSpaceToken\TestSpaceToken\TestSpaceToken}
-\TestCmdExp O\x[o]{m}
-\TestCmdExp M\x{m}
-\TestCmd M\TestSpace
-\TestOuter
-\TestCmd M \TestSpace
-\TestOuter
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M\iffalse
-\TestOuter
-\TestCmd M\else
-\TestOuter
-\TestCmd M\fi
-\TestOuter
-\TestCmd M \iftrue
-\TestOuter
-\TestCmd M \iffalse
-\TestOuter
-\TestCmd M \else
-\TestOuter
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar@nospace[\TestCmdOM\TestCmdM
-}
-\TestCmd O[o]{m}
-\TestCmd M{m}
-\TestCmd M [
-\TestOuter
-\TestCmd M {m}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M\iffalse
-\TestOuter
-\TestCmd M\else
-\TestCmd M\fi
-\TestOuter
-\TestOuter
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar(\TestCmdPM\TestCmdM
-}
-\def\TestCmdPM(#1)#2{%
- \TestCheckType{P}%
- \TestCatch
-}
-\TestCmd P(p){m}
-\TestCmd M{m}
-\TestCmd P (p){m}
-\TestCmd M {m}
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar{ }\TestCmdSM\TestCmdM
-}
-\def\TestCmdSM#1#{%
- \TestCheckType{S}%
- \begingroup
- \let\x= #1\relax
- \ifx\x\TestSpaceToken
- \else
- \errmessage{unexpected space token: \meaning#1}%
- \fi
- \endgroup
- \def\TestCmdType{M}%
- \TestCmdM
-}
-\TestCmd S {m}
-\TestCmd M{m}
-\def\x#1{\def\x{#1#1}}\x{ }
-\TestCmdExp S\x{m}
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar\iffalse\TestCmdIM\TestCmdM
-}
-\def\TestCmdIM\iffalse#1{%
- \TestCheckType{I}%
- \TestCatch
-}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd M \iftrue
-\TestCmd I\iffalse\iffalse
-\TestCmd I \iffalse\iffalse
-\TestOuter
-%
-\def\TestCmd#1{%
- \def\TestCmdType{#1}%
- \ltx@ifnextchar@nospace\iffalse\TestCmdIM\TestCmdM
-}
-\TestCmd M\iftrue
-\TestOuter
-\TestCmd I\iffalse\iffalse
-\TestOuter
-\csname @@end\endcsname\end
-%</test-nextchar>
-% \end{macrocode}
-%
-% \subsection{Test for list helpers}
-%
-% \begin{macrocode}
-%<*test-carcdr>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ltxcmds.sty\relax
- \input eolgrab.sty\relax
-\else
- \RequirePackage{ltxcmds}[2016/05/16]%
- \RequirePackage{eolgrab}[2011/01/12]%
-\fi
-\def\msg#{\immediate\write16}
-\def\space{ }
-\long\def\Test#1#2#3{%
- \begingroup
- \def\TestExpected{#3}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- #1#2\@nil
- }%
- \ifx\TestResult\TestExpected
- \else
- \msg{\string\TestExpected: [\meaning\TestExpected]}%
- \msg{\string\TestResult: \space\space[\meaning\TestResult]}%
- \errmessage{Test failed!}%
- \fi
- \endgroup
-}
-\Test\ltx@carzero{abc}{}
-\Test\ltx@carzero{}{}
-\Test\ltx@carzero{\par\par}{}
-\Test\ltx@cdrzero{}{}
-\Test\ltx@cdrzero{abc}{abc}
-\Test\ltx@cdrzero{ \par}{ \par}
-\Test\ltx@cdrzero{\@empty}{\@empty}
-\Test\ltx@cdrzero{{}}{{}}
-\Test\ltx@car{abc}{a}
-\Test\ltx@car{\par}{\par}
-\Test\ltx@cdr{abc}{bc}
-\Test\ltx@cdr{a \par}{ \par}
-\Test\ltx@cdr{a\@empty}{\@empty}
-\Test\ltx@cartwo{abc}{ab}
-\Test\ltx@cartwo{\par\@empty}{\par\@empty}
-\Test\ltx@carsecond{abc}{b}
-\Test\ltx@carsecond{\@empty b\@empty}{b}
-\Test\ltx@carsecond{\par\par\par}{\par}
-\Test\ltx@cdrtwo{abc}{c}
-\Test\ltx@cdrtwo{ab \par}{ \par}
-\Test\ltx@cdrtwo{ab\@empty}{\@empty}
-\Test\ltx@cdrtwo{ab{}}{{}}
-\Test\ltx@cdrthree{abcdefg}{defg}
-\Test\ltx@cdrfour{abcdefg}{efg}
-\Test{\ltx@CdrNum{5}}{abcdefg}{fg}
-\Test{\ltx@CdrNum{0}}{\par}{\par}
-\Test{\ltx@CdrNum{0}}{\@empty}{\@empty}
-\Test{\ltx@CdrNum{0}}{{}}{{}}
-\Test{\ltx@CdrNum{0}}{ }{ }
-\Test{\ltx@CdrNum{2}}{abcd}{cd}
-\Test{\ltx@CdrNum{2}}{\vbox\par\hbox\par}{\hbox\par}
-\Test{\ltx@carthree}{abcdefg}{abc}
-\Test{\ltx@carfour}{abcdefg}{abcd}
-\Test{\ltx@CarNum{5}}{abcdefg}{abcde}
-\Test{\ltx@CarNum{2}}{\@empty\par}{\@empty\par}
-\Test\ltx@carthird{abcdefg}{c}
-\Test\ltx@carfourth{abcdefg}{d}
-\Test{\ltx@CarNumth{5}}{abcdefg}{e}
-\Test{\ltx@CarNumth{2}}{\@empty\@empty\@empty}{\@empty}
-\Test{\ltx@CarNumth{2}}{\par\par\par}{\par}
-\Test{\ltx@CarNumth{2}}{ab}{b}
-\csname @@end\endcsname\end
-%</test-carcdr>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2955,13 +2085,6 @@ X=%
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% ltxcmds.sty & tex/generic/oberdiek/ltxcmds.sty\\
% ltxcmds.pdf & doc/latex/oberdiek/ltxcmds.pdf\\
-% test/ltxcmds-test1.tex & doc/latex/oberdiek/test/ltxcmds-test1.tex\\
-% test/ltxcmds-test-gobble.tex & doc/latex/oberdiek/test/ltxcmds-test-gobble.tex\\
-% test/ltxcmds-test-ifempty.tex & doc/latex/oberdiek/test/ltxcmds-test-ifempty.tex\\
-% test/ltxcmds-test-zapspace.tex & doc/latex/oberdiek/test/ltxcmds-test-zapspace.tex\\
-% test/ltxcmds-test-ifboxempty.tex & doc/latex/oberdiek/test/ltxcmds-test-ifboxempty.tex\\
-% test/ltxcmds-test-nextchar.tex & doc/latex/oberdiek/test/ltxcmds-test-nextchar.tex\\
-% test/ltxcmds-test-carcdr.tex & doc/latex/oberdiek/test/ltxcmds-test-carcdr.tex\\
% ltxcmds.dtx & source/latex/oberdiek/ltxcmds.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/ltxcmds.pdf b/macros/latex/contrib/oberdiek/ltxcmds.pdf
index 56d0939d06..5ad2de5379 100644
--- a/macros/latex/contrib/oberdiek/ltxcmds.pdf
+++ b/macros/latex/contrib/oberdiek/ltxcmds.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/mleftright.pdf b/macros/latex/contrib/oberdiek/mleftright.pdf
deleted file mode 100644
index 342e977b20..0000000000
--- a/macros/latex/contrib/oberdiek/mleftright.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
new file mode 100644
index 0000000000..8699846e18
--- /dev/null
+++ b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
@@ -0,0 +1,497 @@
+@manual{oberdiek:accsupp,
+ title={The accsupp package},
+ author={Heiko Oberdiek},
+ date={2018-03-28},
+ version={0.5},
+ url={https://ctan.org/pkg/accsupp},
+}
+@manual{oberdiek:aliascnt,
+ title={The aliascnt package},
+ author={Heiko Oberdiek},
+ date={2018-09-07},
+ version={1.5},
+ url={https://ctan.org/pkg/aliascnt},
+}
+@manual{oberdiek:alphalph,
+ title={The alphalph package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={2.5},
+ url={https://ctan.org/pkg/alphalph},
+}
+@manual{oberdiek:askinclude,
+ title={The askinclude package},
+ author={Pablo A. Straub and Heiko Oberdiek},
+ date={2018-11-01},
+ version={2.4},
+ url={https://ctan.org/pkg/askinclude},
+}
+@manual{oberdiek:atbegshi,
+ title={The atbegshi package},
+ author={Heiko Oberdiek},
+ date={2016-06-09},
+ version={1.18},
+ url={https://ctan.org/pkg/atbegshi},
+}
+@manual{oberdiek:atenddvi,
+ title={The atenddvi package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.2},
+ url={https://ctan.org/pkg/atenddvi},
+}
+@manual{oberdiek:atveryend,
+ title={The atveryend package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.9},
+ url={https://ctan.org/pkg/atveryend},
+}
+@manual{oberdiek:auxhook,
+ title={The auxhook package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/auxhook},
+}
+@manual{oberdiek:bigintcalc,
+ title={The bigintcalc package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/bigintcalc},
+}
+@manual{oberdiek:bitset,
+ title={The bitset package},
+ author={Heiko Oberdiek},
+ date={2016/05/16},
+ version={1.2},
+ url={https://ctan.org/pkg/bitset},
+}
+@manual{oberdiek:bmpsize,
+ title={The bmpsize package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.7},
+ url={https://ctan.org/pkg/bmpsize},
+}
+@manual{oberdiek:catchfile,
+ title={The catchfile package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.7},
+ url={https://ctan.org/pkg/catchfile},
+}
+@manual{oberdiek:centernot,
+ title={The centernot package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/centernot},
+}
+@manual{oberdiek:chemarr,
+ title={The chemarr package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/chemarr},
+}
+@manual{oberdiek:classlist,
+ title={The classlist package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.5},
+ url={https://ctan.org/pkg/classlist},
+}
+@manual{oberdiek:colonequals,
+ title={The colonequals package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/colonequals},
+}
+@manual{oberdiek:dvipscol,
+ title={The dvipscol package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/dvipscol},
+}
+@manual{oberdiek:engord,
+ title={The engord package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.9},
+ url={https://ctan.org/pkg/engord},
+}
+@manual{oberdiek:enparen,
+ title={The enparen package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/enparen},
+}
+@manual{oberdiek:eolgrab,
+ title={The eolgrab package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/eolgrab},
+}
+@manual{oberdiek:etexcmds,
+ title={The etexcmds package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.6},
+ url={https://ctan.org/pkg/etexcmds},
+}
+@manual{oberdiek:fibnum,
+ title={The fibnum package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/fibnum},
+}
+@manual{oberdiek:flags,
+ title={The flags package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={0.5},
+ url={https://ctan.org/pkg/flags},
+}
+@manual{oberdiek:gettitlestring,
+ title={The gettitlestring package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.5},
+ url={https://ctan.org/pkg/gettitlestring},
+}
+@manual{oberdiek:hologo,
+ title={The hologo package},
+ author={Heiko Oberdiek},
+ date={2017-05-01},
+ version={1.13},
+ url={https://ctan.org/pkg/hologo},
+}
+@manual{oberdiek:holtxdoc,
+ title={The holtxdoc package},
+ author={Heiko Oberdiek},
+ date={2019-11-12},
+ version={0.29},
+ url={https://ctan.org/pkg/holtxdoc},
+}
+@manual{oberdiek:hopatch,
+ title={The hopatch package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/hopatch},
+}
+@manual{oberdiek:hycolor,
+ title={The hycolor package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.8},
+ url={https://ctan.org/pkg/hycolor},
+}
+@manual{oberdiek:hypbmsec,
+ title={The hypbmsec package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={2.5},
+ url={https://ctan.org/pkg/hypbmsec},
+}
+@manual{oberdiek:hypcap,
+ title={The hypcap package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.12},
+ url={https://ctan.org/pkg/hypcap},
+}
+@manual{oberdiek:hypdestopt,
+ title={The hypdestopt package},
+ author={Heiko Oberdiek},
+ date={2016-05-21},
+ version={2.5},
+ url={https://ctan.org/pkg/hypdestopt},
+}
+@manual{oberdiek:hypdoc,
+ title={The hypdoc package},
+ author={Heiko Oberdiek},
+ date={2018-09-07},
+ version={1.14},
+ url={https://ctan.org/pkg/hypdoc},
+}
+@manual{oberdiek:hypgotoe,
+ title={The hypgotoe package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={0.2},
+ url={https://ctan.org/pkg/hypgotoe},
+}
+@manual{oberdiek:hyphsubst,
+ title={The hyphsubst package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={0.3},
+ url={https://ctan.org/pkg/hyphsubst},
+}
+@manual{oberdiek:ifdraft,
+ title={The ifdraft package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/ifdraft},
+}
+@manual{oberdiek:iflang,
+ title={The iflang package},
+ author={Heiko Oberdiek},
+ date={2018-01-21},
+ version={1.7},
+ url={https://ctan.org/pkg/iflang},
+}
+@manual{oberdiek:intcalc,
+ title={The intcalc package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.2},
+ url={https://ctan.org/pkg/intcalc},
+}
+@manual{oberdiek:kvdefinekeys,
+ title={The kvdefinekeys package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/kvdefinekeys},
+}
+@manual{oberdiek:kvsetkeys,
+ title={The kvsetkeys package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.17},
+ url={https://ctan.org/pkg/kvsetkeys},
+}
+@manual{oberdiek:listingsutf8,
+ title={The listingsutf8 package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/listingsutf8},
+}
+@manual{oberdiek:ltxcmds,
+ title={The ltxcmds package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.23},
+ url={https://ctan.org/pkg/ltxcmds},
+}
+@manual{oberdiek:pagegrid,
+ title={The pagegrid package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.5},
+ url={https://ctan.org/pkg/pagegrid},
+}
+@manual{oberdiek:pagesel,
+ title={The pagesel package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.9},
+ url={https://ctan.org/pkg/pagesel},
+}
+@manual{oberdiek:pdfcol,
+ title={The pdfcol package},
+ author={Heiko Oberdiek},
+ date={2018-11-01},
+ version={1.5},
+ url={https://ctan.org/pkg/pdfcol},
+}
+@manual{oberdiek:pdfcolfoot,
+ title={The pdfcolfoot package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/pdfcolfoot},
+}
+@manual{oberdiek:pdfcolparallel,
+ title={The pdfcolparallel package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/pdfcolparallel},
+}
+@manual{oberdiek:pdfcolparcolumns,
+ title={The pdfcolparcolumns package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/pdfcolparcolumns},
+}
+@manual{oberdiek:pdfcrypt,
+ title={The pdfcrypt package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/pdfcrypt},
+}
+@manual{oberdiek:pdfescape,
+ title={The pdfescape package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.14},
+ url={https://ctan.org/pkg/pdfescape},
+}
+@manual{oberdiek:pdflscape,
+ title={The pdflscape package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={0.11},
+ url={https://ctan.org/pkg/pdflscape},
+}
+@manual{oberdiek:pdfrender,
+ title={The pdfrender package},
+ author={Heiko Oberdiek},
+ date={2018-11-01},
+ version={1.5},
+ url={https://ctan.org/pkg/pdfrender},
+}
+@manual{oberdiek:picture,
+ title={The picture package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/picture},
+}
+@manual{oberdiek:pmboxdraw,
+ title={The pmboxdraw package},
+ author={Heiko Oberdiek},
+ date={2019-02-28},
+ version={1.3},
+ url={https://ctan.org/pkg/pmboxdraw},
+}
+@manual{oberdiek:protecteddef,
+ title={The protecteddef package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/protecteddef},
+}
+@manual{oberdiek:refcount,
+ title={The refcount package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={3.5},
+ url={https://ctan.org/pkg/refcount},
+}
+@manual{oberdiek:rerunfilecheck,
+ title={The rerunfilecheck package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.8},
+ url={https://ctan.org/pkg/rerunfilecheck},
+}
+@manual{oberdiek:resizegather,
+ title={The resizegather package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/resizegather},
+}
+@manual{oberdiek:rotchiffre,
+ title={The rotchiffre package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/rotchiffre},
+}
+@manual{oberdiek:scrindex,
+ title={The scrindex package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/scrindex},
+}
+@manual{oberdiek:selinput,
+ title={The selinput package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.4},
+ url={https://ctan.org/pkg/selinput},
+}
+@manual{oberdiek:setouterhbox,
+ title={The setouterhbox package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.8},
+ url={https://ctan.org/pkg/setouterhbox},
+}
+@manual{oberdiek:settobox,
+ title={The settobox package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.5},
+ url={https://ctan.org/pkg/settobox},
+}
+@manual{oberdiek:soulutf8,
+ title={The soulutf8 package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/soulutf8},
+}
+@manual{oberdiek:stackrel,
+ title={The stackrel package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/stackrel},
+}
+@manual{oberdiek:stampinclude,
+ title={The stampinclude package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/stampinclude},
+}
+@manual{oberdiek:tabularht,
+ title={The tabularht package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={2.6},
+ url={https://ctan.org/pkg/tabularht},
+}
+@manual{oberdiek:tabularkv,
+ title={The tabularkv package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.2},
+ url={https://ctan.org/pkg/tabularkv},
+}
+@manual{oberdiek:telprint,
+ title={The telprint package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.11},
+ url={https://ctan.org/pkg/telprint},
+}
+@manual{oberdiek:thepdfnumber,
+ title={The thepdfnumber package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.1},
+ url={https://ctan.org/pkg/thepdfnumber},
+}
+@manual{oberdiek:twoopt,
+ title={The twoopt package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.6},
+ url={https://ctan.org/pkg/twoopt},
+}
+@manual{oberdiek:uniquecounter,
+ title={The uniquecounter package},
+ author={Heiko Oberdiek},
+ date={2016-05-16},
+ version={1.3},
+ url={https://ctan.org/pkg/uniquecounter},
+}
diff --git a/macros/latex/contrib/oberdiek/oberdiek-source.bib b/macros/latex/contrib/oberdiek/oberdiek-source.bib
new file mode 100644
index 0000000000..36f546aa53
--- /dev/null
+++ b/macros/latex/contrib/oberdiek/oberdiek-source.bib
@@ -0,0 +1,27 @@
+@book{pdfspec-iso32000-1,
+ author={{Adobe Systems Incorporated}},
+ title={Document management -- Portable document format -- Part 1: PDF 1.7},
+ date={2008-07-01},
+ edition=1,
+ url={https://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf},
+ urldate={2011-11-25},
+}
+@manual{pdftex-manual,
+ sortname={Han, The Thanh},
+ author={{\hologo{HanTheThanh}} and Rahtz, Sebastian and Henkel, Hartmut
+ and Jackowski, Pawe{\l} and Schr{\"o}der, Martin},
+ title={The {\hologo{pdfTeX}} user manual},
+ version={655 (1.40.11)},
+ date={2010-11-23},
+ url={http://mirror.ctan.org/systems/pdftex/manual/pdftex-a.pdf},
+ urldate={2011-11-29},
+}
+@manual{luatex-manual,
+ sortname={LuaTeX, development team},
+ author={{\hologo{LuaTeX}} development team},
+ title={{\hologo{LuaTeX}} Reference},
+ version={beta 0.71.0},
+ date={2011-10-11},
+ url={http://www.luatex.org/svn/trunk/manual/luatex.pdf},
+ urldate={2011-11-29},
+}
diff --git a/macros/latex/contrib/oberdiek/oberdiek.ins b/macros/latex/contrib/oberdiek/oberdiek.ins
new file mode 100644
index 0000000000..d977aee442
--- /dev/null
+++ b/macros/latex/contrib/oberdiek/oberdiek.ins
@@ -0,0 +1,109 @@
+% oberdiek.ins
+% 2019/12/03
+%
+% Copyright (C)
+% 1999, 2001, 2006 Heiko Oberdiek
+% 2016-2019 Oberdiek Package Support Group
+% https://github.com/ho-tex/oberdiek/issues
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3 of this license or (at your option) any later
+% version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainers of this work are
+% Heiko Oberdiek and the Oberdiek Package Support Group
+% https://github.com/ho-tex/oberdiek/issues
+%
+% This work consists of the overview "oberdiek.pdf", its source
+% "oberdiek.tex", and the installation script "oberdiek.ins"
+% for the projects in CTAN:macros/latex/contrib/oberdiek/.
+%
+\input docstrip
+
+\batchinput{accsupp.dtx}
+\batchinput{aliascnt.dtx}
+\batchinput{alphalph.dtx}
+\batchinput{askinclude.dtx}
+\batchinput{atbegshi.dtx}
+\batchinput{atenddvi.dtx}
+\batchinput{atveryend.dtx}
+\batchinput{auxhook.dtx}
+\batchinput{bigintcalc.dtx}
+\batchinput{bitset.dtx}
+\batchinput{bmpsize.dtx}
+\batchinput{catchfile.dtx}
+\batchinput{centernot.dtx}
+\batchinput{chemarr.dtx}
+\batchinput{classlist.dtx}
+\batchinput{colonequals.dtx}
+\batchinput{dvipscol.dtx}
+\batchinput{engord.dtx}
+\batchinput{enparen.dtx}
+\batchinput{eolgrab.dtx}
+\batchinput{etexcmds.dtx}
+\batchinput{fibnum.dtx}
+\batchinput{flags.dtx}
+\batchinput{gettitlestring.dtx}
+\batchinput{hologo.dtx}
+\batchinput{holtxdoc.dtx}
+\batchinput{hopatch.dtx}
+\batchinput{hycolor.dtx}
+\batchinput{hypbmsec.dtx}
+\batchinput{hypcap.dtx}
+\batchinput{hypdestopt.dtx}
+\batchinput{hypdoc.dtx}
+\batchinput{hypgotoe.dtx}
+\batchinput{hyphsubst.dtx}
+\batchinput{ifdraft.dtx}
+\batchinput{iflang.dtx}
+\batchinput{intcalc.dtx}
+\batchinput{kvdefinekeys.dtx}
+\batchinput{kvsetkeys.dtx}
+\batchinput{listingsutf8.dtx}
+\batchinput{ltxcmds.dtx}
+\batchinput{pagegrid.dtx}
+\batchinput{pagesel.dtx}
+\batchinput{pdfcol.dtx}
+\batchinput{pdfcolfoot.dtx}
+\batchinput{pdfcolparallel.dtx}
+\batchinput{pdfcolparcolumns.dtx}
+\batchinput{pdfcrypt.dtx}
+\batchinput{pdfescape.dtx}
+\batchinput{pdflscape.dtx}
+\batchinput{pdfrender.dtx}
+\batchinput{picture.dtx}
+\batchinput{pmboxdraw.dtx}
+\batchinput{protecteddef.dtx}
+\batchinput{refcount.dtx}
+\batchinput{rerunfilecheck.dtx}
+\batchinput{resizegather.dtx}
+\batchinput{rotchiffre.dtx}
+\batchinput{scrindex.dtx}
+\batchinput{selinput.dtx}
+\batchinput{setouterhbox.dtx}
+\batchinput{settobox.dtx}
+\batchinput{soulutf8.dtx}
+\batchinput{stackrel.dtx}
+\batchinput{stampinclude.dtx}
+\batchinput{tabularht.dtx}
+\batchinput{tabularkv.dtx}
+\batchinput{telprint.dtx}
+\batchinput{thepdfnumber.dtx}
+\batchinput{twoopt.dtx}
+\batchinput{uniquecounter.dtx}
+
+\Msg{}
+\Msg{********************************************************}
+\Msg{*}
+\Msg{* Unpacking completed, now finish the installation.}
+\Msg{*}
+\Msg{********************************************************}
+\Msg{}
+
+\endbatchfile
diff --git a/macros/latex/contrib/oberdiek/oberdiek.pdf b/macros/latex/contrib/oberdiek/oberdiek.pdf
index 3810bd512d..c1b1fcd067 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.pdf
+++ b/macros/latex/contrib/oberdiek/oberdiek.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/oberdiek.tex b/macros/latex/contrib/oberdiek/oberdiek.tex
index aa80f29afb..4de3c5bbee 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.tex
+++ b/macros/latex/contrib/oberdiek/oberdiek.tex
@@ -3,6 +3,9 @@
\newcommand*{\Title}{Overview}
\newcommand*{\CTANdir}{macros/latex/contrib/oberdiek/}
\newcommand*{\CTANroot}{http://mirror.ctan.org/}
+\newcommand*{\CTANpkg}[1]{%
+ \href{http://ctan.org/pkg/#1}{[ctan]}%
+}
\newcommand*{\Subject}{CTAN:\CTANdir}
\newcommand*{\Author}{Heiko Oberdiek}
@@ -34,9 +37,7 @@
\usepackage{iftex}
\ifluatex
- \usepackage{fontspec}[2011/09/18]%
\usepackage{unicode-math}[2011/09/19]%
- \setmathfont{latinmodern-math.otf}%
\fi
\usepackage[
@@ -140,24 +141,20 @@
\newenvironment{overview}{%
\setlength{\tabcolsep}{0.8\tabcolsep}%
\setlength{\LTleft}{0pt}%
- \longtable{@{}llll@{}}
+ \longtable{@{}lll@{}}
}{%
\endlongtable
}
-\newcommand*{\entry}[4]{%
+\newcommand*{\entry}[2]{%
\href{file:#1.pdf}{%
\bfseries\xpackage{#1}%
}%
- & #2%
- & v#3%
- & \href{\CTANroot\CTANdir #1.pdf}{[pdf]} %
- \href{\CTANroot\CTANdir #1.dtx}{[dtx]}
+ &
+ #2%
+ & \CTANpkg{#1} %
\\*%
\hyperref[{#1}]{\small (contents)}%
&
- \multicolumn{2}{l}{%
- #4%
- }%
\\%
}
\newcommand*{\entrysep}{1.5ex}
@@ -177,165 +174,147 @@
\section{Overview}
\begin{overview}
-\entry{accsupp}{2010/01/16}{0.3}{Accessibility support by marked content}%
-[\entrysep]
-\entry{aliascnt}{2009/09/08}{1.3}{Alias counters}%
-[\entrysep]
-\entry{alphalph}{2011/05/13}{2.4}{Convert numbers to letters}%
-[\entrysep]
-\entry{askinclude}{2011/12/02}{2.2}{Interactive asking of included files}%
-[\entrysep]
-\entry{atbegshi}{2011/10/05}{1.16}{At begin shipout hook}%
-[\entrysep]
-\entry{atenddvi}{2007/04/17}{1.1}{At end DVI hook}%
-[\entrysep]
-\entry{atveryend}{2011/06/30}{1.8}{Hooks at the very end of document}%
+\entry{accsupp}{Accessibility support by marked content}%
[\entrysep]
-\entry{auxhook}{2011/03/04}{1.3}{Hooks for auxiliary files}%
+\entry{aliascnt}{Alias counters}%
[\entrysep]
-\entry{bigintcalc}{2012/04/08}{1.3}{Expandable calculations on big integers}%
+\entry{alphalph}{Convert numbers to letters}%
[\entrysep]
-\entry{bitset}{2011/01/30}{1.1}{Handle bit-vector datatype}%
+\entry{askinclude}{Interactive asking of included files}%
[\entrysep]
-\entry{bmpsize}{2009/09/04}{1.6}{Extract size/resolution from bitmap files}%
+\entry{atbegshi}{At begin shipout hook}%
[\entrysep]
-\entry{bookmark}{2011/12/02}{1.24}{PDF bookmarks}%
+\entry{atenddvi}{At end DVI hook}%
[\entrysep]
-\entry{catchfile}{2011/03/01}{1.6}{Catch the contents of a file}%
+\entry{atveryend}{Hooks at the very end of document}%
[\entrysep]
-\entry{centernot}{2011/07/11}{1.3}{Centers the not symbol horizontally}%
+\entry{auxhook}{Hooks for auxiliary files}%
[\entrysep]
-\entry{chemarr}{2006/02/20}{1.2}{Arrows for chemical reactions}%
+\entry{bigintcalc}{Expandable calculations on big integers}%
[\entrysep]
-\entry{classlist}{2011/10/17}{1.4}{Record classes used in a document}%
+\entry{bitset}{Handle bit-vector datatype}%
[\entrysep]
-\entry{colonequals}{2006/08/01}{1.0}{Colon equals symbols}%
+\entry{bmpsize}{Extract size/resolution from bitmap files}%
[\entrysep]
-\entry{dvipscol}{2008/08/11}{1.2}{Alter the usage of the dvips color stack}%
+\entry{catchfile}{Catch the contents of a file}%
[\entrysep]
-\entry{embedfile}{2011/04/13}{2.6}{Embed files into PDF}%
+\entry{centernot}{Centers the not symbol horizontally}%
[\entrysep]
-\entry{engord}{2010/03/01}{1.8}{Provides English ordinal numbers}%
+\entry{chemarr}{Arrows for chemical reactions}%
[\entrysep]
-\entry{enparen}{2012/01/07}{1.0}{Parentheses nesting}%
+\entry{classlist}{Record classes used in a document}%
[\entrysep]
-\entry{eolgrab}{2011/01/12}{1.0}{Catch arguments delimited by end of line}%
+\entry{colonequals}{Colon equals symbols}%
[\entrysep]
-\entry{etexcmds}{2011/02/16}{1.5}{Avoid name clashes with \hologo{eTeX} commands}%
+\entry{dvipscol}{Alter the usage of the dvips color stack}%
[\entrysep]
-\entry{fibnum}{2012/04/08}{1.0}{Fibonacci numbers}%
+\entry{engord}{Provides English ordinal numbers}%
[\entrysep]
-\entry{flags}{2007/09/30}{0.4}{Setting/clearing of flags in bit fields}%
+\entry{enparen}{Parentheses nesting}%
[\entrysep]
-\entry{gettitlestring}{2010/12/03}{1.4}{Cleanup title references}%
+\entry{eolgrab}{Catch arguments delimited by end of line}%
[\entrysep]
-\entry{grfext}{2010/08/19}{1.1}{Manage graphics extensions}%
+\entry{etexcmds}{Avoid name clashes with \hologo{eTeX} commands}%
[\entrysep]
-\entry{hologo}{2012/04/26}{1.10}{A logo collection with bookmark support}%
+\entry{fibnum}{Fibonacci numbers}%
[\entrysep]
-\entry{holtxdoc}{2012/03/21}{0.24}{Private additional ltxdoc support}%
+\entry{flags}{Setting/clearing of flags in bit fields}%
[\entrysep]
-\entry{hopatch}{2011/06/24}{1.1}{Wrapper for package hooks}%
+\entry{gettitlestring}{Cleanup title references}%
[\entrysep]
-\entry{hycolor}{2011/01/30}{1.7}{Color options for hyperref/bookmark}%
+\entry{hologo}{A logo collection with bookmark support}%
[\entrysep]
-\entry{hypbmsec}{2007/04/11}{2.4}{Bookmarks in sectioning commands}%
+\entry{holtxdoc}{Private additional ltxdoc support}%
[\entrysep]
-\entry{hypcap}{2011/02/16}{1.11}{Adjusting the anchors of captions}%
+\entry{hopatch}{Wrapper for package hooks}%
[\entrysep]
-\entry{hypdestopt}{2011/05/13}{2.3}{Hyperref destination optimizer}%
+\entry{hycolor}{Color options for hyperref/bookmark}%
[\entrysep]
-\entry{hypdoc}{2011/08/19}{1.11}{Hyper extensions for doc.sty}%
+\entry{hypbmsec}{Bookmarks in sectioning commands}%
[\entrysep]
-\entry{hypgotoe}{2007/10/30}{0.1}{Links to embedded files}%
+\entry{hypcap}{Adjusting the anchors of captions}%
[\entrysep]
-\entry{hyphsubst}{2008/06/09}{0.2}{Substitute hyphenation patterns}%
+\entry{hypdestopt}{Hyperref destination optimizer}%
[\entrysep]
-\entry{ifdraft}{2008/08/11}{1.3}{Detect class options draft and final}%
+\entry{hypdoc}{Hyper extensions for doc.sty}%
[\entrysep]
-\entry{iflang}{2007/11/11}{1.5}{Checks for the current language}%
+\entry{hypgotoe}{Links to embedded files}%
[\entrysep]
-% iftex distribution \entry{ifluatex}{2010/03/01}{1.3}{Provides the ifluatex switch}%
-% iftex distribution [\entrysep]
-% iftex distribution \entry{ifpdf}{2011/01/30}{2.3}{Provides the ifpdf switch}%
-% iftex distribution [\entrysep]
-% iftex distribution \entry{ifvtex}{2010/03/01}{1.5}{Detect \hologo{VTeX} and its facilities}%
-% iftex distribution [\entrysep]
-\entry{infwarerr}{2010/04/08}{1.3}{Providing info/warning/error messages}%
+\entry{hyphsubst}{Substitute hyphenation patterns}%
[\entrysep]
-\entry{intcalc}{2007/09/27}{1.1}{Expandable calculations with integers}%
+\entry{ifdraft}{Detect class options draft and final}%
[\entrysep]
-\entry{kvdefinekeys}{2011/04/07}{1.3}{Define keys}%
+\entry{iflang}{Checks for the current language}%
[\entrysep]
-\entry{kvsetkeys}{2012/04/25}{1.16}{Key value parser}%
+\entry{intcalc}{Expandable calculations with integers}%
[\entrysep]
-\entry{letltxmacro}{2010/09/02}{1.4}{Let assignment for \hologo{LaTeX} macros}%
+\entry{kvdefinekeys}{Define keys}%
[\entrysep]
-\entry{listingsutf8}{2011/11/10}{1.2}{Allow UTF-8 in listings input}%
+\entry{kvsetkeys}{Key value parser}%
[\entrysep]
-\entry{ltxcmds}{2011/11/09}{1.22}{\hologo{LaTeX} kernel commands for general use}%
+\entry{listingsutf8}{Allow UTF-8 in listings input}%
[\entrysep]
-\entry{mleftright}{2010/09/25}{1.0}{Math left/right delim.\@ as open/close}%
+\entry{ltxcmds}{\hologo{LaTeX} kernel commands for general use}%
[\entrysep]
-\entry{pagegrid}{2009/12/04}{1.4}{Print page grid in background}%
+\entry{pagegrid}{Print page grid in background}%
[\entrysep]
-\entry{pagesel}{2008/08/11}{1.8}{Select pages of a document for output}%
+\entry{pagesel}{Select pages of a document for output}%
[\entrysep]
-\entry{pdfcol}{2007/12/12}{1.2}{Handle new color stacks for \hologo{pdfTeX}}%
+\entry{pdfcol}{Handle new color stacks for \hologo{pdfTeX}}%
[\entrysep]
-\entry{pdfcolfoot}{2012/01/02}{1.2}{Color stack for footnotes with \hologo{pdfTeX}}%
+\entry{pdfcolfoot}{Color stack for footnotes with \hologo{pdfTeX}}%
[\entrysep]
-\entry{pdfcolparallel}{2010/01/11}{1.3}{Color stacks support for parallel}%
+\entry{pdfcolparallel}{Color stacks support for parallel}%
[\entrysep]
-\entry{pdfcolparcolumns}{2010/01/11}{1.3}{Color stacks for parcolumns}%
+\entry{pdfcolparcolumns}{Color stacks for parcolumns}%
[\entrysep]
-\entry{pdfcrypt}{2007/04/26}{1.0}{Allows the setting of PDF encryption}%
+\entry{pdfcrypt}{Allows the setting of PDF encryption}%
[\entrysep]
-\entry{pdfescape}{2011/11/25}{1.13}{Implements \hologo{pdfTeX}'s escape features}%
+\entry{pdfescape}{Implements \hologo{pdfTeX}'s escape features}%
[\entrysep]
-\entry{pdflscape}{2008/08/11}{0.10}{Display of landscape pages in PDF}%
+\entry{pdflscape}{Display of landscape pages in PDF}%
[\entrysep]
-\entry{pdfrender}{2010/01/28}{1.2}{Access to some PDF graphics parameters}%
+\entry{pdfrender}{Access to some PDF graphics parameters}%
[\entrysep]
-\entry{picture}{2009/10/11}{1.3}{Dimens for picture macros}%
+\entry{picture}{Dimens for picture macros}%
[\entrysep]
-\entry{pmboxdraw}{2011/03/24}{1.1}{Poor man's box drawing characters}%
+\entry{pmboxdraw}{Poor man's box drawing characters}%
[\entrysep]
-\entry{protecteddef}{2011/01/31}{1.0}{Define protected commands}%
+\entry{protecteddef}{Define protected commands}%
[\entrysep]
-\entry{refcount}{2011/10/16}{3.4}{Data extraction from label references}%
+\entry{refcount}{Data extraction from label references}%
[\entrysep]
-\entry{rerunfilecheck}{2011/04/15}{1.7}{Rerun checks for auxiliary files}%
+\entry{rerunfilecheck}{Rerun checks for auxiliary files}%
[\entrysep]
-\entry{resizegather}{2010/03/01}{1.2}{Resize overly large equations}%
+\entry{resizegather}{Resize overly large equations}%
[\entrysep]
-\entry{rotchiffre}{2010/11/12}{1.0}{Perform simple rotation ciphers}%
+\entry{rotchiffre}{Perform simple rotation ciphers}%
[\entrysep]
-\entry{scrindex}{2008/08/11}{1.1}{Package index with \hologo{KOMAScript} classes}%
+\entry{scrindex}{Package index with \hologo{KOMAScript} classes}%
[\entrysep]
-\entry{selinput}{2007/09/09}{1.2}{Semi-automatic input encoding detection}%
+\entry{selinput}{Semi-automatic input encoding detection}%
[\entrysep]
-\entry{setouterhbox}{2007/09/09}{1.7}{Set hbox in outer horizontal mode}%
+\entry{setouterhbox}{Set hbox in outer horizontal mode}%
[\entrysep]
-\entry{settobox}{2008/08/11}{1.4}{Assign box dimensions to length registers}%
+\entry{settobox}{Assign box dimensions to length registers}%
[\entrysep]
-\entry{soulutf8}{2007/09/09}{1.0}{Permit use of UTF-8 characters in soul}%
+\entry{soulutf8}{Permit use of UTF-8 characters in soul}%
[\entrysep]
-\entry{stackrel}{2007/11/11}{1.2}{Adding subscript option to stackrel}%
+\entry{stackrel}{Adding subscript option to stackrel}%
[\entrysep]
-\entry{stampinclude}{2008/07/14}{1.0}{Include files based on time stamps}%
+\entry{stampinclude}{Include files based on time stamps}%
[\entrysep]
-\entry{tabularht}{2007/04/11}{2.5}{Tabular with height specified}%
+\entry{tabularht}{Tabular with height specified}%
[\entrysep]
-\entry{tabularkv}{2006/02/20}{1.1}{Tabular with key value interface}%
+\entry{tabularkv}{Tabular with key value interface}%
[\entrysep]
-\entry{telprint}{2008/08/11}{1.10}{Format German phone numbers}%
+\entry{telprint}{Format German phone numbers}%
[\entrysep]
-\entry{thepdfnumber}{2011/11/24}{1.0}{Print PDF numbers with minimal digits}%
+\entry{thepdfnumber}{Print PDF numbers with minimal digits}%
[\entrysep]
-\entry{twoopt}{2008/08/11}{1.5}{Definitions with two optional arguments}%
+\entry{twoopt}{Definitions with two optional arguments}%
[\entrysep]
-\entry{uniquecounter}{2011/01/30}{1.2}{Provide unlimited unique counter}%
+\entry{uniquecounter}{Provide unlimited unique counter}%
\end{overview}
\section{Packages}
@@ -457,19 +436,6 @@ options \xoption{viewport}, \xoption{trim} and \xoption{clip}.
\tocinclude{bmpsize}
\newpage
-\subsection{\pkgsectformat{bookmark}}
-\label{bookmark}
-\begin{abstract}
-This package implements a new bookmark (outline) organization for
-package \xpackage{hyperref}. Bookmark properties such
-as style and color can now be set. Other action types
-are available (URI, GoToR, Named). The bookmarks are
-generated in the first compile run. Package \xpackage{hyperref}
-uses two runs.
-\end{abstract}
-\tocinclude{bookmark}
-
-\newpage
\subsection{\pkgsectformat{catchfile}}
\label{catchfile}
\begin{abstract}
@@ -530,14 +496,6 @@ uses of the stack to avoid the error ``out of coor stack space''.
\end{abstract}
\tocinclude{dvipscol}
-\newpage
-\subsection{\pkgsectformat{embedfile}}
-\label{embedfile}
-\begin{abstract}
-This package embeds files to a PDF document.
-Currently the only supported driver is \pdfTeX\ $>=$ 1.30 in PDF mode.
-\end{abstract}
-\tocinclude{embedfile}
\newpage
\subsection{\pkgsectformat{engord}}
@@ -608,16 +566,6 @@ commands from title strings.
\tocinclude{gettitlestring}
\newpage
-\subsection{\pkgsectformat{grfext}}
-\label{grfext}
-\begin{abstract}
-This package provides macros for adding and reordering
-graphics extensions of package \xpackage{graphics}.
-\end{abstract}
-\tocinclude{grfext}
-
-
-\newpage
\subsection{\pkgsectformat{hologo}}
\label{hologo}
\begin{abstract}
@@ -742,15 +690,6 @@ based on macro \cs{languagename} or hyphenation patterns.
\tocinclude{iflang}
\newpage
-\subsection{\pkgsectformat{infwarerr}}
-\label{infwarerr}
-\begin{abstract}
-This package provides a complete set of macros for informations,
-warnings and error messages with support for \plainTeX.
-\end{abstract}
-\tocinclude{infwarerr}
-
-\newpage
\subsection{\pkgsectformat{intcalc}}
\label{intcalc}
\begin{abstract}
@@ -782,18 +721,6 @@ only one level of curly braces is removed from the values.
\tocinclude{kvsetkeys}
\newpage
-\subsection{\pkgsectformat{letltxmacro}}
-\label{letltxmacro}
-\begin{abstract}
-\TeX's \cs{let} assignment does not work for \LaTeX\ macros
-with optional arguments or for macros that are defined
-as robust macros by \cs{DeclareRobustCommand}. This package
-defines \cs{LetLtxMacro} that also takes care of the involved
-internal macros.
-\end{abstract}
-\tocinclude{letltxmacro}
-
-\newpage
\subsection{\pkgsectformat{listingsutf8}}
\label{listingsutf8}
\begin{abstract}
@@ -816,18 +743,6 @@ also provides them for other formats such as plain-\TeX.
\tocinclude{ltxcmds}
\newpage
-\subsection{\pkgsectformat{mleftright}}
-\label{mleftright}
-\begin{abstract}
-\TeX\ sets subformulas by \cs{left} and \cs{right} as inner formulas
-with additional surrounding spaces in some situations. This package
-provides \cs{mleft} and \cs{mright} that call \cs{left} and \cs{right},
-but the delimiters will act as normal \cs{mathopen} and \cs{mathclose}
-delimiters without the additional space of an inner formula.
-\end{abstract}
-\tocinclude{mleftright}
-
-\newpage
\subsection{\pkgsectformat{pagegrid}}
\label{pagegrid}
\begin{abstract}
diff --git a/macros/latex/contrib/oberdiek/pagegrid.dtx b/macros/latex/contrib/oberdiek/pagegrid.dtx
index bfd57d7ba7..60c0794247 100644
--- a/macros/latex/contrib/oberdiek/pagegrid.dtx
+++ b/macros/latex/contrib/oberdiek/pagegrid.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pagegrid.sty
% TDS:doc/latex/oberdiek/pagegrid.pdf
-% TDS:doc/latex/oberdiek/test/pagegrid-test1.tex
% TDS:source/latex/oberdiek/pagegrid.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{pagegrid.sty}{\from{pagegrid.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pagegrid-test1.tex}{\from{pagegrid.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pagegrid.xml}{\from{pagegrid.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pagegrid.drv}
%
@@ -772,118 +752,7 @@ and the derived files
\pagegrid@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pagegrid.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -932,7 +801,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pagegrid.sty & tex/latex/oberdiek/pagegrid.sty\\
% pagegrid.pdf & doc/latex/oberdiek/pagegrid.pdf\\
-% test/pagegrid-test1.tex & doc/latex/oberdiek/test/pagegrid-test1.tex\\
% pagegrid.dtx & source/latex/oberdiek/pagegrid.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pagegrid.pdf b/macros/latex/contrib/oberdiek/pagegrid.pdf
index 976d9ae56d..c39dc8c8fe 100644
--- a/macros/latex/contrib/oberdiek/pagegrid.pdf
+++ b/macros/latex/contrib/oberdiek/pagegrid.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pagesel.dtx b/macros/latex/contrib/oberdiek/pagesel.dtx
index d0bddbefde..b674f803d4 100644
--- a/macros/latex/contrib/oberdiek/pagesel.dtx
+++ b/macros/latex/contrib/oberdiek/pagesel.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{pagesel.drv}{\from{pagesel.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{pagesel.sty}{\from{pagesel.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pagesel.xml}{\from{pagesel.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pagesel.drv}
%
diff --git a/macros/latex/contrib/oberdiek/pagesel.pdf b/macros/latex/contrib/oberdiek/pagesel.pdf
index 6e14e5ceb6..8d67402b44 100644
--- a/macros/latex/contrib/oberdiek/pagesel.pdf
+++ b/macros/latex/contrib/oberdiek/pagesel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcol.dtx b/macros/latex/contrib/oberdiek/pdfcol.dtx
index e9a5cd552e..c86a2e6720 100644
--- a/macros/latex/contrib/oberdiek/pdfcol.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcol.dtx
@@ -66,10 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/pdfcol.sty
% TDS:doc/latex/oberdiek/pdfcol.pdf
-% TDS:doc/latex/oberdiek/test/pdfcol-test1.tex
-% TDS:doc/latex/oberdiek/test/pdfcol-test2.tex
-% TDS:doc/latex/oberdiek/test/pdfcol-test3.tex
-% TDS:doc/latex/oberdiek/test/pdfcol-test4.tex
% TDS:source/latex/oberdiek/pdfcol.dtx
%
%<*ignore>
@@ -143,10 +139,6 @@ and the derived files
% \file{pdfcol-test2.tex}{\from{pdfcol.dtx}{test2}}%
% \file{pdfcol-test3.tex}{\from{pdfcol.dtx}{test3}}%
% \file{pdfcol-test4.tex}{\from{pdfcol.dtx}{test4}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcol.xml}{\from{pdfcol.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -183,21 +175,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcol.drv}
%
@@ -766,180 +743,7 @@ and the derived files
\PDFCOL@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pdfcol.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Very simple test}
-%
-% \begin{macrocode}
-%<*test2|test3>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{article}
-\usepackage{pdfcol}[2018/11/01]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\begin{document}
- \begin{qstest}{pdfcol}{}%
- \makeatletter
-%<*test2>
- \Expect*{\ifpdfcolAvailable true\else false\fi}{false}%
-%</test2>
-%<*test3>
- \Expect*{\ifpdfcolAvailable true\else false\fi}{true}%
- \Expect*{\number\@pdfcolorstack}{0}%
-%</test3>
- \setbox0=\hbox{%
- \pdfcolInitStack{test}%
-%<*test3>
- \Expect*{\number\pdfcol@Stack@test}{1}%
- \Expect*{\number\@pdfcolorstack}{0}%
-%</test3>
- \pdfcolSwitchStack{test}%
-%<*test3>
- \Expect*{\number\@pdfcolorstack}{1}%
-%</test3>
- \pdfcolSetCurrent{test}%
- \pdfcolSetCurrent{}%
- }%
- \Expect*{\the\wd0}{0.0pt}%
-%<*test3>
- \Expect*{\number\@pdfcolorstack}{0}%
- \Expect*{\number\pdfcol@Stack@test}{1}%
- \Expect*{\pdfcolIfStackExists{test}{true}{false}}{true}%
-%</test3>
- \Expect*{\pdfcolIfStackExists{dummy}{true}{false}}{false}%
- \end{qstest}%
-\end{document}
-%</test2|test3>
-% \end{macrocode}
-%
-% \subsection{Detection of package \xpackage{luacolor}}
-%
-% \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{luacolor}
-\usepackage{pdfcol}
-\makeatletter
-\ifpdfcolAvailable
- \@latex@error{Detection of package luacolor failed}%
-\fi
-\csname @@end\endcsname
-%</test4>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -988,10 +792,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfcol.sty & tex/generic/oberdiek/pdfcol.sty\\
% pdfcol.pdf & doc/latex/oberdiek/pdfcol.pdf\\
-% test/pdfcol-test1.tex & doc/latex/oberdiek/test/pdfcol-test1.tex\\
-% test/pdfcol-test2.tex & doc/latex/oberdiek/test/pdfcol-test2.tex\\
-% test/pdfcol-test3.tex & doc/latex/oberdiek/test/pdfcol-test3.tex\\
-% test/pdfcol-test4.tex & doc/latex/oberdiek/test/pdfcol-test4.tex\\
% pdfcol.dtx & source/latex/oberdiek/pdfcol.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pdfcol.pdf b/macros/latex/contrib/oberdiek/pdfcol.pdf
index bdb0447b13..09162628ac 100644
--- a/macros/latex/contrib/oberdiek/pdfcol.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcol.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcolfoot.dtx b/macros/latex/contrib/oberdiek/pdfcolfoot.dtx
index c2b22be98f..04aaf31a3a 100644
--- a/macros/latex/contrib/oberdiek/pdfcolfoot.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolfoot.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pdfcolfoot.sty
% TDS:doc/latex/oberdiek/pdfcolfoot.pdf
-% TDS:doc/latex/oberdiek/test/pdfcolfoot-test1.tex
% TDS:source/latex/oberdiek/pdfcolfoot.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{pdfcolfoot.sty}{\from{pdfcolfoot.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pdfcolfoot-test1.tex}{\from{pdfcolfoot.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcolfoot.xml}{\from{pdfcolfoot.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcolfoot.drv}
%
@@ -502,35 +482,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\NeedsTeXFormat{LaTeX2e}
-\AtEndDocument{%
- \typeout{}%
- \typeout{**************************************}%
- \typeout{*** \space Check the PDF file manually! \space ***}%
- \typeout{**************************************}%
- \typeout{}%
-}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname pdfcompresslevel\endcsname\relax
-\else
- \pdfcompresslevel=0 %
-\fi
-\documentclass[12pt,a5paper]{article}
-\usepackage{pdfcolfoot}[2016/05/16]
-\dimen\footins=\baselineskip % for testing
-\begin{document}
- Black\footnote{Black \textcolor{blue}{Blue\\Blue} Black} %
- \textcolor{red}{Red\newpage Red} Black%
-\end{document}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -579,7 +531,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfcolfoot.sty & tex/latex/oberdiek/pdfcolfoot.sty\\
% pdfcolfoot.pdf & doc/latex/oberdiek/pdfcolfoot.pdf\\
-% test/pdfcolfoot-test1.tex & doc/latex/oberdiek/test/pdfcolfoot-test1.tex\\
% pdfcolfoot.dtx & source/latex/oberdiek/pdfcolfoot.dtx\\
% \end{tabular}^^A
% }^^A
@@ -695,7 +646,7 @@ and the derived files
% \bibitem{pdfcol}
% Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
% 2007/09/09;\\
-% \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+% \CTANpkg{pdfcol}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf
index 122a60577e..df94353acb 100644
--- a/macros/latex/contrib/oberdiek/pdfcolfoot.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolfoot.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.dtx b/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
index dea067f7e0..bee619d642 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pdfcolparallel.sty
% TDS:doc/latex/oberdiek/pdfcolparallel.pdf
-% TDS:doc/latex/oberdiek/test/pdfcolparallel-test1.tex
% TDS:source/latex/oberdiek/pdfcolparallel.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{pdfcolparallel.sty}{\from{pdfcolparallel.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pdfcolparallel-test1.tex}{\from{pdfcolparallel.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcolparallel.xml}{\from{pdfcolparallel.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcolparallel.drv}
%
@@ -797,105 +777,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% The test file is a modified version of the file that
-% Alexander Hirsch has posted in \xnewsgroup{de.comp.text.tex}:
-% \URL{``\link{\texttt{parallel.sty} und farbiger Text}''}^^A
-% {https://groups.google.com/group/de.comp.text.tex/msg/6a759cf33bb071a5}
-% \begin{macrocode}
-%<*test1>
-\AtEndDocument{%
- \typeout{}%
- \typeout{**************************************}%
- \typeout{*** \space Check the PDF file manually! \space ***}%
- \typeout{**************************************}%
- \typeout{}%
-}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{pdfcolparallel}[2016/05/16]
-
-\begin{document}
- \color{green}%
- Green%
- \begin{Parallel}{0.47\textwidth}{0.47\textwidth}%
- \ParallelLText{%
- \textcolor{red}{%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
- }%
- }%
- \ParallelRText{%
- \textcolor{blue}{%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
- }%
- }%
- \ParallelPar
- \ParallelLText{%
- Default %
- \color{red}%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
- }%
- \ParallelRText{%
- Default %
- \color{blue}%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.%
- }%
- \ParallelPar
- \ParallelLText{%
- \begin{enumerate}%
- \item left text, left text, left text, left text, %
- left text, left text, left text, left text,%
- \item left text, left text, left text, left text, %
- left text, left text, left text, left text.%
- \end{enumerate}%
- }%
- \ParallelRText{%
- \begin{enumerate}%
- \item right text, right text, right text, right text, %
- right text, right text, right text, right text.%
- \item right text, right text, right text, right text, %
- right text, right text, right text, right text.%
- \end{enumerate}%
- }%
- \end{Parallel}%
- \begin{Parallel}[p]{\textwidth}{\textwidth}%
- \ParallelLText{%
- \textcolor{red}{%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Foo bar bla bla bla.%
- }%
- \par
- Und noch ein Absatz.%
- }%
- \ParallelRText{%
- \textcolor{blue}{%
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Ein Absatz, der sich ueber zwei Zeilen erstrecken soll. %
- Foo bar bla bla bla.%
- }%
- }%
- \end{Parallel}%
- \begin{Parallel}[p]{\textwidth}{\textwidth}%
- \ParallelLText{%
- \rule{1pt}{.98\textheight}\Huge g%
- }%
- \ParallelRText{%
- \rule{1pt}{.98\textheight}y%
- }%
- \end{Parallel}%
- Green%
-\end{document}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -944,7 +826,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfcolparallel.sty & tex/latex/oberdiek/pdfcolparallel.sty\\
% pdfcolparallel.pdf & doc/latex/oberdiek/pdfcolparallel.pdf\\
-% test/pdfcolparallel-test1.tex & doc/latex/oberdiek/test/pdfcolparallel-test1.tex\\
% pdfcolparallel.dtx & source/latex/oberdiek/pdfcolparallel.dtx\\
% \end{tabular}^^A
% }^^A
@@ -1065,7 +946,7 @@ and the derived files
% \bibitem{pdfcol}
% Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
% 2007/09/09;\\
-% \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+% \CTANpkg{pdfcol}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
index 9102ac4ae9..60a21023c0 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx b/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
index 9584b4d2e8..a7e89d131a 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pdfcolparcolumns.sty
% TDS:doc/latex/oberdiek/pdfcolparcolumns.pdf
-% TDS:doc/latex/oberdiek/test/pdfcolparcolumns-test1.tex
% TDS:source/latex/oberdiek/pdfcolparcolumns.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{pdfcolparcolumns.sty}{\from{pdfcolparcolumns.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pdfcolparcolumns-test1.tex}{\from{pdfcolparcolumns.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcolparcolumns.xml}{\from{pdfcolparcolumns.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +166,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcolparcolumns.drv}
%
@@ -525,60 +505,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% The test file is a modified version of the file that
-% Donald Goodman has posted in \xnewsgroup{comp.text.tex}: ^^A
-% \URL{``\link{Re: \xpackage{xcolor} glitches}''}^^A
-% {https://groups.google.com/group/comp.text.tex/msg/8eda74ed292012bb}
-% \begin{macrocode}
-%<*test1>
-\NeedsTeXFormat{LaTeX2e}
-\AtEndDocument{%
- \typeout{}%
- \typeout{**************************************}%
- \typeout{*** \space Check the PDF file manually! \space ***}%
- \typeout{**************************************}%
- \typeout{}%
-}
-\documentclass{article}
-\usepackage{xcolor}
-\usepackage{pdfcolparcolumns}
-
-\newcommand{\instruct}[1]{%
- \noindent
- \footnotesize
- \textcolor{red}{#1}%
-}
-
-\begin{document}
- \begin{parcolumns}[colwidths={1=2.3in,2=2.3in},sloppy]{2}%
- \colchunk[1]{%
- \instruct{Et non dicitur versus} %
- Fidelium anim\ae\ %
- \instruct{%
- sed immediate subiungitur antiphona finalis %
- beat\ae\ Mari\ae\ Virginis%
- } %
- 100.%
- }%
- \colchunk[2]{%
- \instruct{%
- And the verse %
- \textcolor{black}{May the souls of the faithful} %
- is not said, but the final antiphon of the %
- Blessed Virgin Mary, %
- \textcolor{black}{100,} %
- is immediately joined.%
- }%
- }%
- \end{parcolumns}%
-\end{document}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -627,7 +554,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfcolparcolumns.sty & tex/latex/oberdiek/pdfcolparcolumns.sty\\
% pdfcolparcolumns.pdf & doc/latex/oberdiek/pdfcolparcolumns.pdf\\
-% test/pdfcolparcolumns-test1.tex & doc/latex/oberdiek/test/pdfcolparcolumns-test1.tex\\
% pdfcolparcolumns.dtx & source/latex/oberdiek/pdfcolparcolumns.dtx\\
% \end{tabular}^^A
% }^^A
@@ -743,12 +669,12 @@ and the derived files
% \bibitem{parcolumns}
% Jonathan Sauer: \textit{The \xpackage{parcolumns} package};
% 2004/11/25;\\
-% \CTAN{macros/latex/contrib/sauerj/parcolumns.pdf}.
+% \CTANpkg{parcolumns}.
%
% \bibitem{pdfcol}
% Heiko Oberdiek: \textit{The \xpackage{pdfcol} package};
% 2007/09/09;\\
-% \CTAN{macros/latex/contrib/oberdiek/pdfcol.pdf}.
+% \CTANpkg{pdfcol}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
index 7d8325d939..c5515f1ea3 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.dtx b/macros/latex/contrib/oberdiek/pdfcrypt.dtx
index b3da5015d0..e4681efa8c 100644
--- a/macros/latex/contrib/oberdiek/pdfcrypt.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcrypt.dtx
@@ -132,10 +132,6 @@ and the derived files
\file{pdfcrypt.drv}{\from{pdfcrypt.dtx}{driver}}%
\usedir{tex/generic/oberdiek}%
\file{pdfcrypt.sty}{\from{pdfcrypt.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfcrypt.xml}{\from{pdfcrypt.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -172,21 +168,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfcrypt.drv}
%
diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.pdf b/macros/latex/contrib/oberdiek/pdfcrypt.pdf
index 2661342ae9..621d52f08c 100644
--- a/macros/latex/contrib/oberdiek/pdfcrypt.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcrypt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfescape.dtx b/macros/latex/contrib/oberdiek/pdfescape.dtx
index db40f23f4b..b405d7f7e1 100644
--- a/macros/latex/contrib/oberdiek/pdfescape.dtx
+++ b/macros/latex/contrib/oberdiek/pdfescape.dtx
@@ -68,12 +68,6 @@
% Installation:
% TDS:tex/generic/oberdiek/pdfescape.sty
% TDS:doc/latex/oberdiek/pdfescape.pdf
-% TDS:doc/latex/oberdiek/test/pdfescape-test1.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test2.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test3.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test4.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test5.tex
-% TDS:doc/latex/oberdiek/test/pdfescape-test6.tex
% TDS:source/latex/oberdiek/pdfescape.dtx
%
%<*ignore>
@@ -151,10 +145,6 @@ and the derived files
% \file{pdfescape-test4.tex}{\from{pdfescape.dtx}{test4}}%
% \file{pdfescape-test5.tex}{\from{pdfescape.dtx}{test5}}%
% \file{pdfescape-test6.tex}{\from{pdfescape.dtx}{test6}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfescape.xml}{\from{pdfescape.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -191,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfescape.drv}
%
@@ -1310,735 +1285,7 @@ $ \the\count\ltx@cclv
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pdfescape.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2|test3|test4|test5>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-% \end{macrocode}
-%
-% \subsection{Test with \cs{pdfescape...} commands}
-%
-% \begin{macrocode}
-%<*test2>
-\ProvidesFile{pdfescape-test2.tex}%
- [2016/05/16 v1.14 Test with \string\pdfescape... commands]%
-%</test2>
-% \end{macrocode}
-%
-% \subsection{Test without \cs{pdfescape...}, with \eTeX}
-%
-% \begin{macrocode}
-%<*test3>
-\ProvidesFile{pdfescape-test3.tex}%
- [2016/05/16 v1.14 Test without \string\pdfescape..., with e-TeX]%
-%</test3>
-% \end{macrocode}
-%
-% \subsection{Test without \cs{pdfescape...} and \eTeX}
-%
-% \begin{macrocode}
-%<*test4>
-\ProvidesFile{pdfescape-test4.tex}%
- [2016/05/16 v1.14 Test without \string\pdfescape... and e-TeX]%
-%</test4>
-% \end{macrocode}
-%
-% \subsection{Test with \LuaTeX}
-%
-% \begin{macrocode}
-%<*test5>
-\ProvidesFile{pdfescape-test5.tex}%
- [2016/05/16 v1.14 Test with LuaTeX]%
-%</test5>
-% \end{macrocode}
-%
-% \subsection{Check/ensure test preconditions}
-%
-% \subsubsection{Check \cs{pdfescape...}}
-%
-% \begin{macrocode}
-%<*test2>
-\@ifundefined{pdfescapehex}{%
- \PackageError{pdfescape-test2}{%
- Missing \string\pdfescape... commands%
- }{Test aborted.}%
- \stop
-}{}
-%</test2>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test3|test4>
-\let\pdfescapehex\@undefined
-\let\pdfunescapehex\@undefined
-\let\pdfescapename\@undefined
-\let\pdfescapestring\@undefined
-%</test3|test4>
-% \end{macrocode}
-%
-% \subsubsection{Check \eTeX}
-%
-% \begin{macrocode}
-%<*test3>
-\@ifundefined{numexpr}{%
- \PackageError{pdfescape-test3}{%
- Missing \eTeX
- }{Test aborted.}%
- \stop
-}{}
-%</test3>
-% \end{macrocode}
-% Package \xpackage{qstest} uses \eTeX, thus \eTeX's features
-% can only be disabled later during loading of package \xpackage{pdfescape}.
-%
-% \subsubsection{Check \LuaTeX}
-%
-% \begin{macrocode}
-%<*test5>
-\@ifundefined{directlua}{%
- \PackageError{pdfescape-test5}{%
- Missing LuaTeX%
- }{Test aborted.}%
- \stop
-}{}
-%</test5>
-% \end{macrocode}
-%
-% \subsection{Common part}
-%
-% The files for testing uses the framework, provided by the
-% new package \xpackage{qstest} of David Kastrup.
-% \begin{macrocode}
-\RequirePackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\ExpectVar}[2]{%
- \ifx#1#2%
- \else
- \begingroup
- \@onelevel@sanitize#1%
- \@onelevel@sanitize#2%
- \typeout{[#1] <> [#2]}% hash-ok
- \endgroup
- \fi
- \Expect*{\ifx#1#2true\else false\fi}{true}%
-}
-
-\makeatletter
-\begingroup
- \gdef\AllBytes{}%
- \count@=0 %
- \catcode0=12 %
- \@whilenum\count@<256 \do{%
- \lccode0=\count@
- \ifnum\count@=32 %
- \xdef\AllBytes{\AllBytes\space}%
- \else
- \lowercase{%
- \xdef\AllBytes{\AllBytes^^@}%
- }%
- \fi
- \advance\count@ by 1 %
- }%
-\endgroup
-\newcommand*{\AllBytesHex}{%
- 000102030405060708090A0B0C0D0E0F%
- 101112131415161718191A1B1C1D1E1F%
- 202122232425262728292A2B2C2D2E2F%
- 303132333435363738393A3B3C3D3E3F%
- 404142434445464748494A4B4C4D4E4F%
- 505152535455565758595A5B5C5D5E5F%
- 606162636465666768696A6B6C6D6E6F%
- 707172737475767778797A7B7C7D7E7F%
- 808182838485868788898A8B8C8D8E8F%
- 909192939495969798999A9B9C9D9E9F%
- A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
- B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
- C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
- D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
- E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
- F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
-}
-\@onelevel@sanitize\AllBytesHex
-\expandafter\lowercase\expandafter{%
- \expandafter\newcommand\expandafter*\expandafter\AllBytesHexLC
- \expandafter{\AllBytesHex}%
-}
-\newcommand*{\AllBytesName}{}
-\begingroup
- \catcode`\#=12 %
- \xdef\AllBytesName{%
- #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
- #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
- #20!"#23$#25&'#28#29*+,-.#2F%
- 0123456789:;#3C=#3E?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ#5B\@backslashchar#5D^_%
- `abcdefghijklmno%
- pqrstuvwxyz#7B|#7D\string~#7F%
- #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
- #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
- #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
- #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
- #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
- #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
- #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
- #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
- }%
-\endgroup
-\@onelevel@sanitize\AllBytesName
-
-\newcommand*{\AllBytesString}{}
-\begingroup
- \def\|{|}%
- \edef\%{\@percentchar}%
- \catcode`\|=0 %
- \catcode`\#=12 %
- \catcode`\~=12 %
- \catcode`\\=12 %
- |xdef|AllBytesString{%
- \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
- \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
- \040!"#$|%&'\(\)*+,-./%
- 0123456789:;<=>?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ[\\]^_%
- `abcdefghijklmno%
- pqrstuvwxyz{||}~\177%
- \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
- \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
- \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
- \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
- \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
- \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
- \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
- \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
- }%
-|endgroup
-\@onelevel@sanitize\AllBytesString
-
-%<*test4>
-\let\org@detokenize\detokenize
-\let\detokenize\@undefined
-\let\org@numexpr\numexpr
-\let\numexpr\@undefined
-%</test4>
-\RequirePackage{pdfescape}
-%<*test4>
-\let\detokenize\org@detokenize
-\let\numexpr\org@numexpr
-%</test4>
-
-\begin{qstest}{all-hex}{\AllBytes, escapehex}
- \EdefEscapeHex\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesHex}%
- \ExpectVar\x\AllBytesHex
-\end{qstest}
-
-\begin{qstest}{all-unhex}{\AllBytesHex, unescapehex}
- \EdefUnescapeHex\x{\AllBytesHex}%
- \Expect*{\x}*{\AllBytes}%
- \ExpectVar\x\AllBytes
-\end{qstest}
-
-\begin{qstest}{all-unhex-lc}{\AllBytesHexLC, unescapehex, lowercase}
- \EdefUnescapeHex\x{\AllBytesHexLC}%
- \Expect*{\x}*{\AllBytes}%
- \ExpectVar\x\AllBytes
-\end{qstest}
-
-\begin{qstest}{unhex-incomplete}{unescapehex, incomplete}
- \EdefUnescapeHex\x{4}%
- \Expect*{\x}{@}%
-\end{qstest}
-
-\begin{qstest}{unhex-space}{unescapehex, space}
- \EdefUnescapeHex\x{20}%
- \Expect*{\x}{ }%
- \ExpectVar\x\space
-\end{qstest}
-
-\begin{qstest}{unhex-spaces}{unescapehex, spaces}
- \EdefUnescapeHex\x{204020204120}%
- \def\y#1{%
- \edef\z{#1\string @#1#1\string A#1}%
- }\y{ }%
- \Expect*{\x}*{\z}%
- \ExpectVar\x\z
-\end{qstest}
-
-\begin{qstest}{unhex-hash}{unescapehex, hash}
- \catcode`\#=12 %
- \EdefUnescapeHex\x{#20}%
- \ExpectVar\x\space
-\end{qstest}
-
-\begin{qstest}{unhex-invalid}{unescapehex, invalid}
- \def\test#1#2{%
- \EdefUnescapeHex\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
-%<*test2>
- \edef\x{\pdfunescapehex{4X}}%
- \edef\y{\string @}%
- \ifx\x\y
- \else
- \def~{\space}%
- \typeout{************************************}%
- \typeout{* Your pdfTeX contains bug 777.~~~~*}%
- \typeout{* This test is redefined as dummy, *}%
- \typeout{* because it triggers the bug.~~~~~*}%
- \typeout{************************************}%
- \def\test#1#2{}%
- \fi
-%</test2>
- \test{X}{}%
- \test{XY}{}%
- \test{XYZ}{}%
- \test{A}{^^a0}%
- \test{AX}{^^a0}%
- \test{XA}{^^a0}%
- \test{XXAXX}{^^a0}%
-\end{qstest}
-
-\begin{qstest}{all-name}{\AllBytes, escapename}
- \EdefEscapeName\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesName}%
- \ExpectVar\x\AllBytesName
-\end{qstest}
-
-\begin{qstest}{all-string}{\AllBytes, escapestring}
- \EdefEscapeString\x{\AllBytes}%
- \Expect*{\x}*{\AllBytesString}%
- \ExpectVar\x\AllBytesString
-\end{qstest}
-
-\begin{qstest}{uchexdigit}{unescape, uppercase hex digit}
- \catcode`\@=11 %
- \catcode0=12 %
- \def\test#1#2{%
- \uccode0=#1\relax
- \uppercase{%
- \def\x{^^@}%
- }%
- \Expect*{%
- \ifcase\expandafter\PE@TestUcHexDigit\x
- true%
- \else
- false%
- \fi
- }{#2}%
- }%
- \def\range#1#2#3{%
- \count0=#1\relax
- \loop
- \ifnum\count0<#2\relax
- \test{\count0}{#3}%
- \advance\count0 by 1 %
- \repeat
- }%
- \range{0}{47}{false}%
- \range{48}{57}{true}%
- \range{58}{64}{false}%
- \range{65}{70}{true}%
- \range{71}{255}{false}%
-\end{qstest}
-
-\begin{qstest}{unescapename}{unescapename}
- \def\test#1#2{%
- \EdefUnescapeName\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
- \catcode`\#=12 %
- \catcode0=12 %
- \test{}{}%
- \test{x}{x}%
- \test{xy}{xy}%
- \test{#}{#}%
- \test{##}{##}%
- \test{###}{###}%
- \test{####}{####}%
- \test{#x}{#x}%
- \test{#xy}{#xy}%
- \test{#1}{#1}%
- \test{#40}{@}%
- \test{#400}{@0}%
- \test{#4x0}{#4x0}%
- \test{#ab}{^^ab}%
- \test{#00}{^^@}%
- \test{x#40y#40z}{x@y@z}%
- \test{#40#40#40#40}{@@@@}%
- \test{a#x}{a#x}%
- \test{a#xy}{a#xy}%
- \test{a#1}{a#1}%
- \test{a#40}{a@}%
- \test{a#400}{a@0}%
- \test{#20}{ }%
- \test{a#20}{a }%
- \test{a#20b}{a b}%
- \test{a#20#20#20b}{a \space\space b}%
-\end{qstest}
-
-\begin{qstest}{unescapestring}{unescapestring}
- \def\test#1#2{%
- \EdefUnescapeString\x{#1}%
- \edef\y{#2}%
- \@onelevel@sanitize\y
- \ExpectVar\x\y
- }%
- \catcode0=12 %
- \def\DefChar#1#2{%
- \begingroup
- \uccode0=#2\relax
- \uppercase{\endgroup
- \def#1{^^@}%
- }%
- }%
- \DefChar\nul{0}%
- \DefChar\one{1}%
- \DefChar\bel{8}%
- \DefChar\tab{9}%
- \DefChar\lf{10}%
- \DefChar\ff{12}%
- \DefChar\cr{13}%
- \DefChar\\{92}%
- \test{}{}%
- \test{a}{a}%
- \test{\\}{}%
- \test{\\\\}{\\}%
- \test{\\\\y}{\\y}%
- \test{\\000}{\nul}%
- \test{\\b}{\bel}%
- \test{\\t}{\tab}%
- \test{\\n}{\lf}%
- \test{\\f}{\ff}%
- \test{\\r}{\cr}%
- \test{\\(}{(}%
- \test{\\)}{)}%
- \test{\\040}{ }%
- \test{\\100}{@}%
- \test{\\40}{ }%
- \test{\\1}{\one}%
- \test{\\01}{\one}%
- \test{\\001}{\one}%
- \test{\\18}{\one8}%
- \test{\\018}{\one8}%
- \test{\\0018}{\one8}%
- \test{x\\}{x}%
- \test{x\\\\}{x\\}%
- \test{x\\\\y}{x\\y}%
- \test{x\\000}{x\nul}%
- \test{x\\b}{x\bel}%
- \test{x\\t}{x\tab}%
- \test{x\\n}{x\lf}%
- \test{x\\f}{x\ff}%
- \test{x\\r}{x\cr}%
- \test{x\\(}{x(}%
- \test{x\\)}{x)}%
- \test{x\\040}{x }%
- \test{x\\100}{x@}%
- \test{x\\40}{x }%
- \test{x\\1}{x\one}%
- \test{x\\01}{x\one}%
- \test{x\\001}{x\one}%
- \test{x\\18}{x\one8}%
- \test{x\\018}{x\one8}%
- \test{x\\0018}{x\one8}%
- \test{\\b\\t\\n\\f\\r\\(\\)\\\\\\000\\040}{%
- \bel\tab\lf\ff\cr()\\\nul\space
- }%
- \test{\\\lf}{}%
- \test{x\\\lf}{x}%
- \test{\cr}{\lf}%
- \test{\cr\lf}{\lf}%
- \test{\lf}{\lf}%
- \test{\lf\cr}{\lf\lf}%
- \test{x\cr}{x\lf}%
- \test{x\cr\lf}{x\lf}%
- \test{x\lf}{x\lf}%
- \test{x\lf\cr}{x\lf\lf}%
- \test{x\\\cr\lf y\cr}{xy\lf}%
-%
- \test{\\409}{ 9}%
- \test{\\800}{800}%
- \test{\\900}{900}%
- \test{\\578}{/8}%
- \test{\\477}{?}%
- \test{\\377}{^^ff}%
- \test{\\777}{^^ff}%
- \test{\\7777}{^^ff7}%
-\end{qstest}
-\stop
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</test2|test3|test4|test5>
-% \end{macrocode}
-%
-% \subsubsection{Test for \hologo{iniTeX}}
-%
-% \begin{macrocode}
-%<*test6>
-\input pdfescape.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\^=7 %
-\catcode`\@=11 %
-% \end{macrocode}
-% \begin{macrocode}
-\begingroup
- \catcode`\@=11 %
- \countdef\count@=255 %
- \def\space{ }%
- \long\def\@whilenum#1\do #2{%
- \ifnum #1\relax
- #2\relax
- \@iwhilenum{#1\relax#2\relax}%
- \fi
- }%
- \long\def\@iwhilenum#1{%
- \ifnum #1%
- \expandafter\@iwhilenum
- \else
- \expandafter\ltx@gobble
- \fi
- {#1}%
- }%
- \gdef\AllBytes{}%
- \count@=0 %
- \catcode0=12 %
- \@whilenum\count@<256 \do{%
- \lccode0=\count@
- \ifnum\count@=32 %
- \xdef\AllBytes{\AllBytes\space}%
- \else
- \lowercase{%
- \xdef\AllBytes{\AllBytes^^@}%
- }%
- \fi
- \advance\count@ by 1 %
- }%
-\endgroup
-\def\AllBytesHex{%
- 000102030405060708090A0B0C0D0E0F%
- 101112131415161718191A1B1C1D1E1F%
- 202122232425262728292A2B2C2D2E2F%
- 303132333435363738393A3B3C3D3E3F%
- 404142434445464748494A4B4C4D4E4F%
- 505152535455565758595A5B5C5D5E5F%
- 606162636465666768696A6B6C6D6E6F%
- 707172737475767778797A7B7C7D7E7F%
- 808182838485868788898A8B8C8D8E8F%
- 909192939495969798999A9B9C9D9E9F%
- A0A1A2A3A4A5A6A7A8A9AAABACADAEAF%
- B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF%
- C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF%
- D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF%
- E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF%
- F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF%
-}
-\ltx@onelevel@sanitize\AllBytesHex
-\expandafter\lowercase\expandafter{%
- \expandafter\def\expandafter\AllBytesHexLC
- \expandafter{\AllBytesHex}%
-}
-\begingroup
- \catcode`\#=12 %
- \xdef\AllBytesName{%
- #01#02#03#04#05#06#07#08#09#0A#0B#0C#0D#0E#0F%
- #10#11#12#13#14#15#16#17#18#19#1A#1B#1C#1D#1E#1F%
- #20!"#23$#25&'#28#29*+,-.#2F%
- 0123456789:;#3C=#3E?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ#5B\ltx@backslashchar#5D^_%
- `abcdefghijklmno%
- pqrstuvwxyz#7B|#7D\string~#7F%
- #80#81#82#83#84#85#86#87#88#89#8A#8B#8C#8D#8E#8F%
- #90#91#92#93#94#95#96#97#98#99#9A#9B#9C#9D#9E#9F%
- #A0#A1#A2#A3#A4#A5#A6#A7#A8#A9#AA#AB#AC#AD#AE#AF%
- #B0#B1#B2#B3#B4#B5#B6#B7#B8#B9#BA#BB#BC#BD#BE#BF%
- #C0#C1#C2#C3#C4#C5#C6#C7#C8#C9#CA#CB#CC#CD#CE#CF%
- #D0#D1#D2#D3#D4#D5#D6#D7#D8#D9#DA#DB#DC#DD#DE#DF%
- #E0#E1#E2#E3#E4#E5#E6#E7#E8#E9#EA#EB#EC#ED#EE#EF%
- #F0#F1#F2#F3#F4#F5#F6#F7#F8#F9#FA#FB#FC#FD#FE#FF%
- }%
-\endgroup
-\ltx@onelevel@sanitize\AllBytesName
-\edef\AllBytesFromName{\expandafter\ltx@gobble\AllBytes}
-
-\begingroup
- \def\|{|}%
- \edef\%{\ltx@percentchar}%
- \catcode`\|=0 %
- \catcode`\#=12 %
- \catcode`\~=12 %
- \catcode`\\=12 %
- |xdef|AllBytesString{%
- \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017%
- \020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037%
- \040!"#$|%&'\(\)*+,-./%
- 0123456789:;<=>?%
- @ABCDEFGHIJKLMNO%
- PQRSTUVWXYZ[\\]^_%
- `abcdefghijklmno%
- pqrstuvwxyz{||}~\177%
- \200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217%
- \220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237%
- \240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257%
- \260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277%
- \300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317%
- \320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337%
- \340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357%
- \360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377%
- }%
-|endgroup
-\ltx@onelevel@sanitize\AllBytesString
-% \end{macrocode}
-% \begin{macrocode}
-\def\msg#{\immediate\write16}
-\def\Test#1#2#3{%
- \begingroup
- #1\TestResult{#2}%
- \ifx\TestResult#3%
- \else
- \newlinechar=10 %
- \msg{Expect:^^J#3}%
- \msg{Result:^^J\TestResult}%
- \errmessage{\string#2 -\string#1-> \string#3}%
- \fi
- \endgroup
-}
-\Test\EdefEscapeHex\AllBytes\AllBytesHex
-\Test\EdefUnescapeHex\AllBytesHex\AllBytes
-\Test\EdefEscapeName\AllBytes\AllBytesName
-\Test\EdefUnescapeName\AllBytesName\AllBytesFromName
-\Test\EdefEscapeString\AllBytes\AllBytesString
-\Test\EdefUnescapeString\AllBytesString\AllBytes
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test6>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -2087,12 +1334,6 @@ $ \the\count\ltx@cclv
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfescape.sty & tex/generic/oberdiek/pdfescape.sty\\
% pdfescape.pdf & doc/latex/oberdiek/pdfescape.pdf\\
-% test/pdfescape-test1.tex & doc/latex/oberdiek/test/pdfescape-test1.tex\\
-% test/pdfescape-test2.tex & doc/latex/oberdiek/test/pdfescape-test2.tex\\
-% test/pdfescape-test3.tex & doc/latex/oberdiek/test/pdfescape-test3.tex\\
-% test/pdfescape-test4.tex & doc/latex/oberdiek/test/pdfescape-test4.tex\\
-% test/pdfescape-test5.tex & doc/latex/oberdiek/test/pdfescape-test5.tex\\
-% test/pdfescape-test6.tex & doc/latex/oberdiek/test/pdfescape-test6.tex\\
% pdfescape.dtx & source/latex/oberdiek/pdfescape.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pdfescape.pdf b/macros/latex/contrib/oberdiek/pdfescape.pdf
index 3f915ced82..4100374575 100644
--- a/macros/latex/contrib/oberdiek/pdfescape.pdf
+++ b/macros/latex/contrib/oberdiek/pdfescape.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdflscape.dtx b/macros/latex/contrib/oberdiek/pdflscape.dtx
index 8743b2ebbb..e808b973e3 100644
--- a/macros/latex/contrib/oberdiek/pdflscape.dtx
+++ b/macros/latex/contrib/oberdiek/pdflscape.dtx
@@ -66,14 +66,6 @@
% Installation:
% TDS:tex/latex/oberdiek/pdflscape.sty
% TDS:doc/latex/oberdiek/pdflscape.pdf
-% TDS:doc/latex/oberdiek/test/pdflscape-test1.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test2.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test3.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test4.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test5.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test6.tex
-% TDS:doc/latex/oberdiek/test/pdflscape-test6.txt
-% TDS:doc/latex/oberdiek/test/ExtractRotate.java
% TDS:source/latex/oberdiek/pdflscape.dtx
%
%<*ignore>
@@ -152,7 +144,7 @@ and the derived files
\nopreamble
\nopostamble
% \file{pdflscape-test6.txt}{\from{pdflscape.dtx}{result6}}%
- \file{ExtractRotate.java}{\from{pdflscape.dtx}{ExtractRotate}}%
+% \file{ExtractRotate.java}{\from{pdflscape.dtx}{ExtractRotate}}%
% \usedir{source/latex/oberdiek/catalogue}%
% \file{pdflscape.xml}{\from{pdflscape.dtx}{catalogue}}%
}
@@ -192,21 +184,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdflscape.drv}
%
@@ -617,216 +594,6 @@ and the derived files
%</package>
% \end{macrocode}
%
-% \section{Test}
-%
-% \subsection{Driver detection tests}
-% \begin{macrocode}
-%<*test0>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-%</test0>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test1>
-\usepackage{ifpdf}
-\ifpdf
- \def\ExpectDriver{pdftex}%
-\fi
-\usepackage{ifxetex}%
-\ifxetex
- \def\ExpectDriver{dvipdfm}%
-\fi
-\usepackage{pdflscape}[2016/05/14]
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\def\ExpectDriver{pdftex}
-\usepackage[pdftex]{pdflscape}[2016/05/14]
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\def\ExpectDriver{dvipdfm}
-\usepackage[dvipdfmx]{pdflscape}[2016/05/14]
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4>
-\def\ExpectDriver{dvips}
-\usepackage[dvipsone]{graphics}
-\usepackage{pdflscape}[2016/05/14]
-%</test4>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test0>
-\begin{document}
-\begin{qstest}{driver}{driver}
- \makeatletter
- \Expect*{\PLS@driver}*{\ExpectDriver}%
-\end{qstest}
-\end{document}
-%</test0>
-% \end{macrocode}
-%
-% \subsection{Test for \cs{PLS@CheckAngle}}
-%
-% \begin{macrocode}
-%<*test5>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\usepackage{pdflscape}[2016/05/14]
-\begin{document}
-\begin{qstest}{checkangle}{checkangle}
- \makeatletter
- \def\Result{%
- \def\ResultString{\the\count@}%
- }%
- \def\PackageError#1#2#3{%
- \def\Result{%
- \def\ResultString{error}%
- }%
- }%
- \def\Test#1#2{%
- \begingroup
- \PLS@CheckAngle{#1}%
- \Result
- \Expect*{\ResultString}{#2}%
- \endgroup
- }%
- \Test{0}{0}%
- \Test{90}{90}%
- \Test{180}{180}%
- \Test{270}{270}%
- \Test{360}{0}%
- \Test{450}{90}%
- \Test{540}{180}%
- \Test{630}{270}%
- \Test{720}{0}%
- \Test{3600}{0}%
- \Test{3690}{90}%
- \Test{-90}{270}%
- \Test{-180}{180}%
- \Test{-270}{-90}%
- \Test{-360}{0}%
- \Test{-450}{270}%
- \Test{540}{180}%
- \Test{-630}{90}%
- \Test{-720}{0}%
- \Test{-3600}{0}%
- \Test{-3690}{270}%
- \Test{1}{error}%
- \Test{-1}{error}%
- \Test{123}{error}%
-\end{qstest}
-\end{document}
-%</test5>
-% \end{macrocode}
-%
-% \subsection{Test for rotate}
-%
-% \begin{macrocode}
-%<*test6>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{pdflscape}[2016/05/14]
-\begin{document}
-\section{Portrait page}
-\begin{landscape}
-\section{Landscape page}
-Foo bar foo bar foo bar foo bar foo bar
-foo bar foo bar foo bar foo bar foo bar.
-\end{landscape}
-\section{Portrait Section}
-Foo bar
-\begin{landscape}
-\section{Again Landscape Section}
-\newpage
-\section{Second Page of Landscape Section}
-\end{landscape}
-\section{Second Last Portrait Page}
-\newpage
-\section{Last Portrait Page}
-\end{document}
-%</test6>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*result6>
-/Page 1 /Rotate 0
-/Page 2 /Rotate 90
-/Page 3 /Rotate 0
-/Page 4 /Rotate 90
-/Page 5 /Rotate 90
-/Page 6 /Rotate 0
-/Page 7 /Rotate 0
-%</result6>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*ExtractRotate>
-/**
- * ExtractRotate.java
- *
- * Copyright (C) 2007 by Heiko Oberdiek
- *
- * Requires: PDFBox (http://www.pdfbox.org/)
- *
- * Syntax: java ExtractRotate <pdffile> <textfile>
- *
- * The <pdffile> is analyzed and for each page its rotation
- * setting is printed in the <textfile>. Example:
- * /Page 1 /Rotate 0
- * /Page 2 /Rotate 90
- */
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import org.pdfbox.pdfparser.PDFParser;
-import org.pdfbox.pdmodel.PDDocument;
-import org.pdfbox.pdmodel.PDDocumentCatalog;
-import org.pdfbox.pdmodel.PDPage;
-
-public class ExtractRotate {
-
- public static void main(String[] args) {
- try {
- String infile = args[0];
- String outfile = args[1];
- FileWriter out = new FileWriter(outfile);
- PDFParser parser =
- new PDFParser(new FileInputStream(infile));
- parser.parse();
- PDDocument document = parser.getPDDocument();
- PDDocumentCatalog catalog = document.getDocumentCatalog();
- int i = 0;
- for (Object page: catalog.getAllPages()) {
- i++;
- out.write("/Page " + i + " " + "/Rotate "
- + ((PDPage)page).findRotation() + "\n");
- }
- document.close();
- out.close();
- }
- catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-}
-%</ExtractRotate>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -876,12 +643,6 @@ public class ExtractRotate {
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdflscape.sty & tex/latex/oberdiek/pdflscape.sty\\
% pdflscape.pdf & doc/latex/oberdiek/pdflscape.pdf\\
-% test/pdflscape-test1.tex & doc/latex/oberdiek/test/pdflscape-test1.tex\\
-% test/pdflscape-test2.tex & doc/latex/oberdiek/test/pdflscape-test2.tex\\
-% test/pdflscape-test3.tex & doc/latex/oberdiek/test/pdflscape-test3.tex\\
-% test/pdflscape-test4.tex & doc/latex/oberdiek/test/pdflscape-test4.tex\\
-% test/pdflscape-test5.tex & doc/latex/oberdiek/test/pdflscape-test5.tex\\
-% test/pdflscape-test6.tex & doc/latex/oberdiek/test/pdflscape-test6.tex\\
% test/pdflscape-test6.txt & doc/latex/oberdiek/test/pdflscape-test6.txt\\
% test/ExtractRotate.java & doc/latex/oberdiek/test/ExtractRotate.java\\
% pdflscape.dtx & source/latex/oberdiek/pdflscape.dtx\\
diff --git a/macros/latex/contrib/oberdiek/pdflscape.pdf b/macros/latex/contrib/oberdiek/pdflscape.pdf
index 6af1d671f2..39e9c4ff80 100644
--- a/macros/latex/contrib/oberdiek/pdflscape.pdf
+++ b/macros/latex/contrib/oberdiek/pdflscape.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfrender.dtx b/macros/latex/contrib/oberdiek/pdfrender.dtx
index 395d21ae50..7558ad61ac 100644
--- a/macros/latex/contrib/oberdiek/pdfrender.dtx
+++ b/macros/latex/contrib/oberdiek/pdfrender.dtx
@@ -68,11 +68,6 @@
% Installation:
% TDS:tex/generic/oberdiek/pdfrender.sty
% TDS:doc/latex/oberdiek/pdfrender.pdf
-% TDS:doc/latex/oberdiek/test/pdfrender-test1.tex
-% TDS:doc/latex/oberdiek/test/pdfrender-test2.tex
-% TDS:doc/latex/oberdiek/test/pdfrender-test3.tex
-% TDS:doc/latex/oberdiek/test/pdfrender-test4.tex
-% TDS:doc/latex/oberdiek/test/pdfrender-test5.tex
% TDS:source/latex/oberdiek/pdfrender.dtx
%
%<*ignore>
@@ -149,10 +144,6 @@ and the derived files
% \file{pdfrender-test3.tex}{\from{pdfrender.dtx}{test3}}%
% \file{pdfrender-test4.tex}{\from{pdfrender.dtx}{test4}}%
% \file{pdfrender-test5.tex}{\from{pdfrender.dtx}{test5}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pdfrender.xml}{\from{pdfrender.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -191,21 +182,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pdfrender.drv}
%
@@ -1383,286 +1359,7 @@ and the derived files
\PdfRender@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pdfrender.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Simple test file}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test2.tex}[2018/11/01]
-\documentclass{article}
-\usepackage{color}
-\usepackage{pdfrender}[2018/11/01]
-\begin{document}
-Hello World
-\newpage
-Start
-\textpdfrender{%
- TextRenderingMode=1,%
- LineWidth=.1,%
- LineCapStyle=2,%
- LineJoinStyle=1,%
- MiterLimit=1.2,%
- LineDashPattern=[2 2]0,%
- RenderingIntent=Saturation,%
-}{Hello\newpage World}
-Stop
-\par
-\newlength{\LineWidth}
-\setlength{\LineWidth}{.5pt}
-Start
-\textpdfrender{%
- FillColor=yellow,%
- StrokeColor=[cmyk]{1,.5,0,0},%
- TextRenderingMode=FillStroke,%
- LineWidth=.5\LineWidth,%
- LineCapStyle=Round,%
- LineJoinStyle=Bevel,%
-}{Out-\par\newpage line}
-Stop
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \subsection{Further tests}
-%
-% Robustness and bookmarks.
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test3.tex}[2018/11/01]
-\documentclass{article}
-\usepackage{pdfrender}[2018/11/01]
-\usepackage{hyperref}
-\usepackage{bookmark}
-\begin{document}
-\tableofcontents
-\section{%
- \textpdfrender{%
- TextRenderingMode=1,%
- LineCapStyle=2,%
- LineJoinStyle=1,%
- MiterLimit=1.2,%
- LineDashPattern=[2 2]0,%
- RenderingIntent=Saturation,%
- }{Hello World}%
-}
-\end{document}
-%</test3>
-% \end{macrocode}
-%
-% Color algorithm if \cs{pdfmatch} is not available.
-% \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{pdfrender-test4.tex}[2018/11/01]
-\documentclass[12pt]{article}
-\usepackage{pdfrender}[2018/11/01]
-\usepackage{color}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-\makeatletter
-\newcommand*{\CheckColor}[1]{%
- \Expect{#1}*{\current@color}%
-}
-\makeatother
-\begin{document}
- \begin{qstest}{color}{color}%
- \CheckColor{0 g 0 G}%
- \Huge\bfseries
- \noindent
- \textpdfrender{%
- TextRenderingMode=2,%
- LineWidth=.5,%
- FillColor=yellow,%
- StrokeColor=blue,%
- }{%
- \CheckColor{0 0 1 0 k 0 0 1 RG}%
- Blue(Yellow)\\%
- \textpdfrender{%
- FillColor=green,%
- }{%
- \CheckColor{0 1 0 rg 0 0 1 RG}%
- Blue(Green)%
- }\\%
- \CheckColor{0 0 1 0 k 0 0 1 RG}%
- Blue(Yellow)\\%
- \textpdfrender{%
- StrokeColor=red,%
- }{%
- \CheckColor{0 0 1 0 k 1 0 0 RG}%
- Red(Yellow)%
- }\\%
- \CheckColor{0 0 1 0 k 0 0 1 RG}%
- Blue(Yellow) %
- }%
- \end{qstest}%
- \begin{qstest}{colorlast}{colorlast}%
- \makeatletter
- \def\Test#1#2#3{%
- \begingroup
- \def\current@color{#1}%
- \textpdfrender{#2}{%
- \CheckColor{#3}%
- }%
- \endgroup
- }%
- \Test{1 g 0 0 1 RG 0 0 1 0 k 0.5 G}%
- {StrokeColor=green}%
- {0 0 1 0 k 0 1 0 RG}%
- \Test{1 g 0 0 1 RG 0 0 1 0 k 0.5 G}%
- {FillColor=red}%
- {1 0 0 rg 0.5 G}%
- \end{qstest}%
-\end{document}
-%</test4>
-% \end{macrocode}
-%
-% \subsection{Compatibility with \plainTeX}
-%
-% \begin{macrocode}
-%<*test5>
-\input luatex85.sty
-\pdfoutput=1 %
-\hsize=6.5in
-\vsize=8.9in
-\pdfpagewidth=\hsize
-\pdfpageheight=\vsize
-\parfillskip=0pt plus 1fil\relax
-\input pdfrender.sty\relax
-\catcode`\{=1 %
-\catcode`\}=2 %
-\let\OrgMakeFootLine\makefootline
-\def\makefootline{%
- \begingroup\normalcolor\OrgMakeFootLine\endgroup
-}
-\font\f=ec-lmr10 scaled 3000\relax
-\f
-Before %
-\textpdfrender{%
- TextRenderingMode=1,%
- LineWidth=.1,%
-}{Hello\par\vfill\penalty-10000 World} %
-After %
-\par
-\vfill
-\penalty-10000 %
-\csname @@end\endcsname\end
-%</test5>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1711,11 +1408,6 @@ After %
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% pdfrender.sty & tex/generic/oberdiek/pdfrender.sty\\
% pdfrender.pdf & doc/latex/oberdiek/pdfrender.pdf\\
-% test/pdfrender-test1.tex & doc/latex/oberdiek/test/pdfrender-test1.tex\\
-% test/pdfrender-test2.tex & doc/latex/oberdiek/test/pdfrender-test2.tex\\
-% test/pdfrender-test3.tex & doc/latex/oberdiek/test/pdfrender-test3.tex\\
-% test/pdfrender-test4.tex & doc/latex/oberdiek/test/pdfrender-test4.tex\\
-% test/pdfrender-test5.tex & doc/latex/oberdiek/test/pdfrender-test5.tex\\
% pdfrender.dtx & source/latex/oberdiek/pdfrender.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pdfrender.pdf b/macros/latex/contrib/oberdiek/pdfrender.pdf
index 1852c870e2..5379dd894b 100644
--- a/macros/latex/contrib/oberdiek/pdfrender.pdf
+++ b/macros/latex/contrib/oberdiek/pdfrender.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/picture.dtx b/macros/latex/contrib/oberdiek/picture.dtx
index 956110084e..ba4121a603 100644
--- a/macros/latex/contrib/oberdiek/picture.dtx
+++ b/macros/latex/contrib/oberdiek/picture.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{picture.sty}{\from{picture.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{picture-example.tex}{\from{picture.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{picture.xml}{\from{picture.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +167,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{picture.drv}
%
diff --git a/macros/latex/contrib/oberdiek/picture.pdf b/macros/latex/contrib/oberdiek/picture.pdf
index 18a51bc158..8d58447aa0 100644
--- a/macros/latex/contrib/oberdiek/picture.pdf
+++ b/macros/latex/contrib/oberdiek/picture.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pmboxdraw.dtx b/macros/latex/contrib/oberdiek/pmboxdraw.dtx
index ef4e491f31..480eac755d 100644
--- a/macros/latex/contrib/oberdiek/pmboxdraw.dtx
+++ b/macros/latex/contrib/oberdiek/pmboxdraw.dtx
@@ -64,7 +64,6 @@
% TDS:tex/latex/oberdiek/pmboxdraw.sty
% TDS:tex/latex/oberdiek/pmboxdrawenc.dfu
% TDS:doc/latex/oberdiek/pmboxdraw.pdf
-% TDS:doc/latex/oberdiek/test/pmboxdraw-test1.tex
% TDS:source/latex/oberdiek/pmboxdraw.dtx
%
%<*ignore>
@@ -133,10 +132,6 @@ and the derived files
\file{pmboxdrawenc.dfu}{\from{pmboxdraw.dtx}{utf8}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{pmboxdraw-test1.tex}{\from{pmboxdraw.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{pmboxdraw.xml}{\from{pmboxdraw.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +176,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{pmboxdraw.drv}
%
@@ -5266,123 +5246,7 @@ $ \kern.5\pmbd@C
% \begin{macrocode}
%</utf8>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{pmboxdraw}[2019/02/28]}
-%</test1>
-% \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input pmboxdraw.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -5432,7 +5296,6 @@ $ \kern.5\pmbd@C
% pmboxdraw.sty & tex/latex/oberdiek/pmboxdraw.sty\\
% pmboxdrawenc.dfu & tex/latex/oberdiek/pmboxdrawenc.dfu\\
% pmboxdraw.pdf & doc/latex/oberdiek/pmboxdraw.pdf\\
-% test/pmboxdraw-test1.tex & doc/latex/oberdiek/test/pmboxdraw-test1.tex\\
% pmboxdraw.dtx & source/latex/oberdiek/pmboxdraw.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/pmboxdraw.pdf b/macros/latex/contrib/oberdiek/pmboxdraw.pdf
index df43c95699..26299b48cd 100644
--- a/macros/latex/contrib/oberdiek/pmboxdraw.pdf
+++ b/macros/latex/contrib/oberdiek/pmboxdraw.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/protecteddef.dtx b/macros/latex/contrib/oberdiek/protecteddef.dtx
index 2ddc5c9cad..cff42cccf7 100644
--- a/macros/latex/contrib/oberdiek/protecteddef.dtx
+++ b/macros/latex/contrib/oberdiek/protecteddef.dtx
@@ -66,8 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/protecteddef.sty
% TDS:doc/latex/oberdiek/protecteddef.pdf
-% TDS:doc/latex/oberdiek/test/protecteddef-test1.tex
-% TDS:doc/latex/oberdiek/test/protecteddef-test2.tex
% TDS:source/latex/oberdiek/protecteddef.dtx
%
%<*ignore>
@@ -139,10 +137,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{protecteddef-test1.tex}{\from{protecteddef.dtx}{test1}}%
% \file{protecteddef-test2.tex}{\from{protecteddef.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{protecteddef.xml}{\from{protecteddef.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -179,21 +173,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{protecteddef.drv}
%
@@ -553,275 +532,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input protecteddef.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test without \hologo{LaTeX} and \cs{protected}}
-%
-% \begin{macrocode}
-%<*test2>
-\errorcontextlines=10000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input protecteddef.sty\relax
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
-\else
- \RequirePackage{protecteddef}[2016/05/16]%
-\fi
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
- \let\pdef\def
-\else
- \def\pdef{\protected\def}%
-\fi
-\def\msg#{\immediate\write16}
-\countdef\errcount=2 %
-\long\def\BeginCheck#1\ProtectedDef#2\EndCheck{%
- \begingroup
- \toks0={\ProtectedDef#2}%
- \msg{<<\the\toks0>>}%
- \endgroup
- \setbox0=\hbox{%
- #1%
- \ProtectedDef#2%
- \check\foo
- }%
- \ifdim\wd0=0pt\relax
- \else
- \errmessage{[Definition] Unwanted spaces?!}%
- \fi
- \setbox0=\hbox{%
- \def\fooinitial{XYZ}%
- \let\foo\fooinitial
- \errcount=0 %
- \expandafter\def\csname @PackageError\endcsname##1##2##3{%
- \advance\errcount by 1 %
- }%
- \expandafter\def\csname @notdefinable\endcsname{%
- \advance\errcount by 1 %
- }%
- \ProtectedDef#2%
- \ifnum\errcount=1 %
- \else
- \errmessage{1 error expected, but found: \the\errcount}%
- \fi
- \ifx\foo\fooinitial
- \else
- \def\space{ }%
- \errmessage{\string\foo\space is overwritten}%
- \fi
- }%
- \ifdim\wd0=0pt\relax
- \else
- \errmessage{[Error] Unwanted spaces?!}%
- \fi
-}
-\chardef\DeclareVersion=0 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname protected\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname DeclareRobustCommand\endcsname\relax
- \else
- \chardef\DeclareVersion=1 %
- \fi
-\fi
-\ifnum\DeclareVersion=0 %
- \def\check#1{%
- \ifx\cmp#1%
- \msg{* Test passed.}%
- \else
- \msg{}%
- \msg{[\meaning#1]}%
- \msg{[\meaning\cmp]}%
- \errmessage{Test failed!}%
- \fi
- }%
-\else
- \def\check#1{%
- \begingroup
- \escapechar=-1 %
- \edef\x{\endgroup
- \def\noexpand\cs/{\string#1}%
- }\x
- \edef\CMP{%
- \noexpand\protect
- \expandafter\noexpand\csname\cs/ \endcsname
- }%
- \ifx\CMP#1%
- \expandafter\ifx\csname\cs/ \endcsname\cmp
- \msg{Test passed.}%
- \else
- \msg{}%
- \msg{[\expandafter\meaning\csname\cs/ \endcsname]}%
- \msg{[\meaning\cmp]}%
- \errmessage{Test failed!}%
- \fi
- \else
- \msg{}%
- \msg{[\meaning#1]}%
- \msg{[\meaning\CMP]}%
- \errmessage{Test failed!}%
- \fi
- }%
-\fi
-
-\tracingmacros=1
-
-\BeginCheck
- \pdef\cmp{}%
- \ProtectedDef*\foo{}%
-\EndCheck
-
-\BeginCheck
- \pdef\cmp{}%
- \ProtectedDef*\foo[0]{}%
-\EndCheck
-
-\BeginCheck
- \pdef\cmp#1{<#1>}%
- \ProtectedDef*\foo[1]{<#1>}%
-\EndCheck
-
-\BeginCheck
- \pdef\cmp(#1){<#1>}%
- \ProtectedDef*\foo(#1){<#1>}%
-\EndCheck
-
-\BeginCheck
- \long\pdef\cmp{}%
- \ProtectedDef\foo{}%
-\EndCheck
-
-\BeginCheck
- \long\pdef\cmp{}%
- \ProtectedDef\foo[0]{}%
-\EndCheck
-
-\BeginCheck
- \long\pdef\cmp#1{<#1>}%
- \ProtectedDef\foo[1]{<#1>}%
-\EndCheck
-
-\BeginCheck
- \long\pdef\cmp(#1){<#1>}%
- \ProtectedDef\foo(#1){<#1>}%
-\EndCheck
-
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -870,8 +581,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% protecteddef.sty & tex/generic/oberdiek/protecteddef.sty\\
% protecteddef.pdf & doc/latex/oberdiek/protecteddef.pdf\\
-% test/protecteddef-test1.tex & doc/latex/oberdiek/test/protecteddef-test1.tex\\
-% test/protecteddef-test2.tex & doc/latex/oberdiek/test/protecteddef-test2.tex\\
% protecteddef.dtx & source/latex/oberdiek/protecteddef.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/protecteddef.pdf b/macros/latex/contrib/oberdiek/protecteddef.pdf
index d3ae88abbd..09203fa0d1 100644
--- a/macros/latex/contrib/oberdiek/protecteddef.pdf
+++ b/macros/latex/contrib/oberdiek/protecteddef.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/refcount.dtx b/macros/latex/contrib/oberdiek/refcount.dtx
index 3a2c961431..b70bd4799e 100644
--- a/macros/latex/contrib/oberdiek/refcount.dtx
+++ b/macros/latex/contrib/oberdiek/refcount.dtx
@@ -64,11 +64,6 @@
% Installation:
% TDS:tex/latex/oberdiek/refcount.sty
% TDS:doc/latex/oberdiek/refcount.pdf
-% TDS:doc/latex/oberdiek/test/refcount-test1.tex
-% TDS:doc/latex/oberdiek/test/refcount-test2.tex
-% TDS:doc/latex/oberdiek/test/refcount-test3.tex
-% TDS:doc/latex/oberdiek/test/refcount-test4.tex
-% TDS:doc/latex/oberdiek/test/refcount-test5.tex
% TDS:source/latex/oberdiek/refcount.dtx
%
%<*ignore>
@@ -141,10 +136,6 @@ and the derived files
% \file{refcount-test3.tex}{\from{refcount.dtx}{test3}}%
% \file{refcount-test4.tex}{\from{refcount.dtx}{test3,test4}}%
% \file{refcount-test5.tex}{\from{refcount.dtx}{test5}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{refcount.xml}{\from{refcount.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +172,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{refcount.drv}
%
@@ -899,416 +875,7 @@ and the derived files
\rc@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input refcount.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \begin{macrocode}
-%<*test2>
-\errorcontextlines=10000 %
-\showboxbreadth=10000 %
-\showboxdepth=10000 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input refcount.sty\relax
-\else
- \RequirePackage{refcount}[2016/05/16]%
-\fi
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @onelevel@sanitize\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname detokenize\endcsname\relax
- \def\strip@prefix#1->{}%
- \def\@onelevel@sanitize#1{%
- \edef#1{%
- \expandafter\strip@prefix\meaning#1%
- }%
- }%
- \else
- \def\@onelevel@sanitize#1{%
- \edef#1{%
- \detokenize\expandafter{#1}%
- }%
- }%
- \fi
-\fi
-\def\msg#{\immediate\write16}
-\def\empty{}
-\def\space{ }
-% \end{macrocode}
-% \begin{macrocode}
-\def\r@foo{{\empty 1}{\empty 2}}
-\long\def\test#1#2{%
- \begingroup
- \setbox0=\hbox{%
- \def\TestTask{#1}%
- \@onelevel@sanitize\TestTask
- \msg{* \TestTask}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- #1%
- }%
- \def\TestExpected{#2}%
- \ifx\TestResult\TestExpected
- \msg{ \space ok.}%
- \else
- \@onelevel@sanitize\TestResult
- \@onelevel@sanitize\TestExpected
- \msg{ \space Result: \space\space[\TestResult]}%
- \msg{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \fi
- }%
- \ifdim\wd0=0pt %
- \else
- \showbox0 %
- \fi
- \endgroup
-}
-\test{\getrefnumber{foo}}{\empty 1}
-\test{\getpagerefnumber{foo}}{\empty 2}
-\test{\getrefbykeydefault{foo}{}{\empty default}}{\empty 1}
-\test{\getrefbykeydefault{foo}{page}{\empty default}}{\empty 2}
-\test{\getrefbykeydefault{foo}{name}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{anchor}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{url}{\empty default}}{\empty default}
-\test{\getrefbykeydefault{foo}{title}{\empty default}}{\empty default}
-\msg{}
-\def\r@foo{{}{}{}{}{}{}{}{}{}{}}
-\def\Test#1#2\\{%
- \test{#1{foo}#2}{}%
-}
-\def\TestGroup{%
- \Test\getrefnumber\\%
- \Test\getpagerefnumber\\%
- \Test\getrefbykeydefault{}{}\\%
- \Test\getrefbykeydefault{page}{}\\%
- \Test\getrefbykeydefault{anchor}{}\\%
- \Test\getrefbykeydefault{name}{}\\%
- \Test\getrefbykeydefault{url}{}\\%
-}
-\TestGroup
-\Test\getrefbykeydefault{title}{}\\%
-\msg{}
-\def\r@foo{\par\par\par\par\par\par\par\par}
-\long\def\Test#1#2\\{%
- \test{#1{foo}#2}{\par}%
-}
-\TestGroup
-\test{\getrefbykeydefault{title}{}{}}{}
-\msg{}
-\def\r@foo{{ }{ }{ }{ }{ }}
-\def\Test#1#2\\{%
- \test{#1{foo}#2}{ }%
-}
-\TestGroup
-\msg{}
-\long\def\TestDefault#1{%
- \begingroup
- \setrefcountdefault{#1}%
- \test{\getrefnumber{foo}}{#1}%
- \test{\getpagerefnumber{foo}}{#1}%
- \endgroup
-}
-\def\TestDefaultX{%
- \TestDefault{}%
- \TestDefault{\par}%
- \TestDefault{ }%
- \TestDefault{\space}%
-}
-\let\r@foo\@undefined
-\TestDefaultX
-\let\r@foo\relax
-\TestDefaultX
-\def\r@foo{}
-\TestDefaultX
-% \end{macrocode}
-% \begin{macrocode}
-\msg{}
-\long\def\Test#1#2#3#4{%
- \begingroup
- \def\TestTask{#1}%
- \@onelevel@sanitize\TestTask
- \msg{* [\TestTask]}%
- \edef\TestResultA{\IfRefUndefinedExpandable{#1}{#2}{#3}}%
- \IfRefUndefinedBabel{#1}{%
- \def\TestResultB{#2}%
- }{%
- \def\TestResultB{#3}%
- }%
- \def\TestExpected{#4}%
- \ifx\TestResultA\TestExpected
- \msg{ \space ok.}%
- \else
- \begingroup
- \@onelevel@sanitize\TestResultA
- \@onelevel@sanitize\TestExpected
- \msg{ \space Result: \space\space[\TestResultA]}%
- \msg{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \endgroup
- \fi
- \ifx\TestResultB\TestExpected
- \msg{ \space ok.}%
- \else
- \begingroup
- \@onelevel@sanitize\TestResultB
- \@onelevel@sanitize\TestExpected
- \msg{ \space Result: \space\space[\TestResultB]}%
- \msg{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \endgroup
- \fi
- \endgroup
-}
-\begingroup
- \def\r@foo{{}{}}%
- \let\r@bar\@undefined
- \let\r@xyz\relax
- \Test{foo}{true}{false}{false}%
- \Test{bar}{true}{false}{true}%
- \Test{xyz}{true}{false}{true}%
-\endgroup
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-% \subsection{Test with package \xpackage{titleref}}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage{refcount}[2016/05/16]
-%<test4>\usepackage{nameref}
-\usepackage{titleref}
-\begin{document}
-\section{Hello World}
-\label{sec:hello}
-\section{\hbox{xy}}
-\label{sec:foo}
-%
-\makeatletter
-\@ifundefined{r@sec:hello}{%
- \typeout{==> Compile twice!}%
-}{%
- \def\test#1#2{%
- \begingroup
- \def\TestTask{#1}%
- \@onelevel@sanitize\TestTask
- \typeout{* \TestTask}%
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- #1%
- }%
- \def\TestExpected{#2}%
- \ifx\TestResult\TestExpected
- \typeout{ \space ok.}%
- \else
- \@onelevel@sanitize\TestResult
- \@onelevel@sanitize\TestExpected
- \typeout{ \space Result: \space\space[\TestResult]}%
- \typeout{ \space Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
- \fi
- \endgroup
- }%
- \test{\getrefbykeydefault{sec:hello}{title}{}}{Hello World}%
- \test{\getrefbykeydefault{sec:foo}{title}{}}{\hbox{xy}}%
- \begingroup
- \def\hbox#1{[#1]}% hash-ok
- \test{\getrefbykeydefault{sec:foo}{title}{}}{\hbox{xy}}%
- \endgroup
-}
-\makeatother
-% \end{macrocode}
-% \begin{macrocode}
-\end{document}
-%</test3>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test5>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{book}
-\usepackage{refcount}[2016/05/16]
-\usepackage{zref-runs}
-\newcounter{test}
-\begin{document}
-\ifnum\zruns>1 %
- \makeatletter
- \def\Test#1#2#3{%
- \begingroup
- \setcounter{test}{10}%
- \sbox0{%
- #1{test}{#2}%
- \ifnum#3=\value{test}%
- \else
- \PackageError{test}{\string#1{#2} <> #3 (\the\value{test})}%
- \fi
- }%
- \ifdim\wd0=0pt %
- \else
- \PackageError{test}{Non-empty box}\@ehc
- \fi
- \endgroup
- }%
- \makeatother
- \Test\setcounterpageref{ch:two}{1}%
- \Test\setcounterpageref{ch:three}{3}%
- \Test\setcounterpageref{ch:four}{5}%
- \Test\setcounterpageref{ch:five}{7}%
- \Test\setcounterpageref{ch:six}{9}%
- \Test\setcounterpageref{ch:seven}{13}%
- \Test\addtocounterpageref{ch:two}{11}%
- \Test\addtocounterpageref{ch:three}{13}%
- \Test\addtocounterpageref{ch:four}{15}%
- \Test\addtocounterpageref{ch:five}{17}%
- \Test\addtocounterpageref{ch:six}{19}%
- \Test\addtocounterpageref{ch:seven}{23}%
- \Test\setcounterref{ch:two}{1}%
- \Test\setcounterref{ch:three}{2}%
- \Test\setcounterref{ch:four}{11}%
- \Test\addtocounterref{ch:two}{11}%
- \Test\addtocounterref{ch:three}{12}%
- \Test\addtocounterref{ch:four}{21}%
-\fi
-\frontmatter
-\chapter{Chapter one}\label{ch:one}
-\cleardoublepage
-\mainmatter
-\chapter{Chapter two}\label{ch:two}
-\cleardoublepage
-\chapter{Chapter three}\label{ch:three}
-\cleardoublepage
-\setcounter{chapter}{10}
-\chapter{Chapter four}\label{ch:four}
-\cleardoublepage
-\appendix
-\chapter{Chapter five}\label{ch:five}
-\cleardoublepage
-\chapter{Chapter six}\label{ch:six}
-\cleardoublepage
-\null
-\cleardoublepage
-\chapter{Chapter seven}\label{ch:seven}
-\end{document}
-%</test5>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1357,11 +924,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% refcount.sty & tex/latex/oberdiek/refcount.sty\\
% refcount.pdf & doc/latex/oberdiek/refcount.pdf\\
-% test/refcount-test1.tex & doc/latex/oberdiek/test/refcount-test1.tex\\
-% test/refcount-test2.tex & doc/latex/oberdiek/test/refcount-test2.tex\\
-% test/refcount-test3.tex & doc/latex/oberdiek/test/refcount-test3.tex\\
-% test/refcount-test4.tex & doc/latex/oberdiek/test/refcount-test4.tex\\
-% test/refcount-test5.tex & doc/latex/oberdiek/test/refcount-test5.tex\\
% refcount.dtx & source/latex/oberdiek/refcount.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/refcount.pdf b/macros/latex/contrib/oberdiek/refcount.pdf
index ea859eda11..a50de50a98 100644
--- a/macros/latex/contrib/oberdiek/refcount.pdf
+++ b/macros/latex/contrib/oberdiek/refcount.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/rerunfilecheck.dtx b/macros/latex/contrib/oberdiek/rerunfilecheck.dtx
index 2687619377..173044c8c0 100644
--- a/macros/latex/contrib/oberdiek/rerunfilecheck.dtx
+++ b/macros/latex/contrib/oberdiek/rerunfilecheck.dtx
@@ -65,7 +65,6 @@
% TDS:tex/latex/oberdiek/rerunfilecheck.sty
% TDS:doc/latex/oberdiek/rerunfilecheck.pdf
% TDS:doc/latex/oberdiek/rerunfilecheck-example.cfg
-% TDS:doc/latex/oberdiek/test/rerunfilecheck-test1.tex
% TDS:source/latex/oberdiek/rerunfilecheck.dtx
%
%<*ignore>
@@ -176,21 +175,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{rerunfilecheck.drv}
%
@@ -724,123 +708,7 @@ and the derived files
\ReFiCh@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test1>
-\def\LoadCommand{\RequirePackage{rerunfilecheck}[2016/05/16]}
-%</test1>
-% \end{macrocode}
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input rerunfilecheck.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -890,7 +758,6 @@ and the derived files
% rerunfilecheck.sty & tex/latex/oberdiek/rerunfilecheck.sty\\
% rerunfilecheck.pdf & doc/latex/oberdiek/rerunfilecheck.pdf\\
% rerunfilecheck-example.cfg & doc/latex/oberdiek/rerunfilecheck-example.cfg\\
-% test/rerunfilecheck-test1.tex & doc/latex/oberdiek/test/rerunfilecheck-test1.tex\\
% rerunfilecheck.dtx & source/latex/oberdiek/rerunfilecheck.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/rerunfilecheck.pdf b/macros/latex/contrib/oberdiek/rerunfilecheck.pdf
index dfab7d9e4e..f0d393ffa1 100644
--- a/macros/latex/contrib/oberdiek/rerunfilecheck.pdf
+++ b/macros/latex/contrib/oberdiek/rerunfilecheck.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/resizegather.dtx b/macros/latex/contrib/oberdiek/resizegather.dtx
index 6f49f1c7ad..596446de2c 100644
--- a/macros/latex/contrib/oberdiek/resizegather.dtx
+++ b/macros/latex/contrib/oberdiek/resizegather.dtx
@@ -63,7 +63,6 @@
% Installation:
% TDS:tex/latex/oberdiek/resizegather.sty
% TDS:doc/latex/oberdiek/resizegather.pdf
-% TDS:doc/latex/oberdiek/test/resizegather-test1.tex
% TDS:source/latex/oberdiek/resizegather.dtx
%
%<*ignore>
@@ -131,10 +130,6 @@ and the derived files
\file{resizegather.sty}{\from{resizegather.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{resizegather-test1.tex}{\from{resizegather.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{resizegather.xml}{\from{resizegather.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -178,21 +173,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{resizegather.drv}
%
@@ -681,118 +661,7 @@ and the derived files
\ResizeGather@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input resizegather.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -841,7 +710,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% resizegather.sty & tex/latex/oberdiek/resizegather.sty\\
% resizegather.pdf & doc/latex/oberdiek/resizegather.pdf\\
-% test/resizegather-test1.tex & doc/latex/oberdiek/test/resizegather-test1.tex\\
% resizegather.dtx & source/latex/oberdiek/resizegather.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/resizegather.pdf b/macros/latex/contrib/oberdiek/resizegather.pdf
index db0ac7254f..a2535e2bd5 100644
--- a/macros/latex/contrib/oberdiek/resizegather.pdf
+++ b/macros/latex/contrib/oberdiek/resizegather.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/rotchiffre.dtx b/macros/latex/contrib/oberdiek/rotchiffre.dtx
index 7e9a9e980d..3023347fe1 100644
--- a/macros/latex/contrib/oberdiek/rotchiffre.dtx
+++ b/macros/latex/contrib/oberdiek/rotchiffre.dtx
@@ -66,8 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/rotchiffre.sty
% TDS:doc/latex/oberdiek/rotchiffre.pdf
-% TDS:doc/latex/oberdiek/test/rotchiffre-test1.tex
-% TDS:doc/latex/oberdiek/test/rotchiffre-test2.tex
% TDS:source/latex/oberdiek/rotchiffre.dtx
%
%<*ignore>
@@ -139,10 +137,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{rotchiffre-test1.tex}{\from{rotchiffre.dtx}{test1}}%
% \file{rotchiffre-test2.tex}{\from{rotchiffre.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{rotchiffre.xml}{\from{rotchiffre.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -181,21 +175,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{rotchiffre.drv}
%
@@ -719,412 +698,7 @@ and the derived files
\RotCh@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input rotchiffre.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\^=7 %
-\font\rmfont=ec-lmtt10\relax
-\rmfont
-\showboxbreadth=10000 %
-\showboxdepth=10000 %
-\errorcontextlines=10000
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input rotchiffre.sty\relax
-\else
- \RequirePackage{rotchiffre}[2016/05/16]%
- \RequirePackage{ifluatex}[2010/03/01]%
- \RequirePackage{ifxetex}[2010/09/12]%
-\fi
-\catcode`\@=11 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname @onelevel@sanitize\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname detokenize\endcsname\relax
- \def\strip@prefix#1->{}%
- \def\@onelevel@sanitize#1{%
- \edef#1{%
- \expandafter\strip@prefix\meaning#1%
- }%
- }%
- \else
- \def\@onelevel@sanitize#1{%
- \edef#1{%
- \detokenize\expandafter{#1}%
- }%
- }%
- \fi
-\fi
-\def\msg#{\immediate\write16}
-\def\empty{}
-\begingroup
- \def\x#1{%
- \def\space{#1}%
- \def\spacesII{#1#1}%
- \def\spacesIII{#1#1#1}%
- \def\spacesIV{#1#1#1#1}%
- }%
-\expandafter\endgroup\x{ }
-% \end{macrocode}
-% \begin{macrocode}
-\def\PrintStr#1#2{%
- \begingroup
- \@onelevel@sanitize#2%
- \msg{#1: [#2]}% hash-ok
- \endgroup
-}
-\def\CheckResult{%
- \PrintStr{Result}\StrResult
- \ifx\StrExpect\StrResult
- \msg{==> Ok}%
- \else
- \begingroup
- \edef\x{\endgroup
- \errmessage{Test failed (\chiffre)!}%
- }\x
- \fi
-}
-\long\def\test#1#2{%
- \msg{}%
- \begingroup
- \setbox0=\hbox{%
- \edef\StrInput{#1}%
- \@onelevel@sanitize\StrInput
- \PrintStr{ Input}\StrInput
- \edef\StrExpect{#2}%
- \@onelevel@sanitize\StrExpect
- \PrintStr{Expect}\StrExpect
- \action{#1}%
- \CheckResult
- }%
- \ifdim\wd0=0pt %
- \else
- \showbox0 %
- \fi
- \endgroup
-}
-\def\cmd#1{%
- \msg{* CMD: ROT#1}%
- \def\chiffre{ROT#1}%
- \def\action{\EdefRot{#1}\StrResult}%
-}
-% \end{macrocode}
-% \begin{macrocode}
-\def\TestIgnore#1{%
- \test{#1}{#1}%
-}
-\begingroup
- \lccode`\P=`\%%
- \lccode`\B=`\\%
- \lccode`\H=`\#%
-\lowercase{\endgroup
- \def\PercentChar{P}%
- \def\BackslashChar{B}%
- \def\HashChar{H}%
-}
-\def\TestI{%
- \TestIgnore{%
- \space!"\HashChar$\PercentChar&'()*+,-./%
- :;<=>?@%
- [\BackslashChar]^_`%
- \string{|\string}\string~%
- }%
-}
-\begingroup
- \catcode0=12 %
- \lccode`A=1 %
- \lccode`B=2 %
- \lccode`C=3 %
- \lccode`D=4 %
- \lccode`E=5 %
- \lccode`F=6 %
- \lccode`G=7 %
- \lccode`H=8 %
- \lccode`I=9 %
- \lccode`J=10 %
- \lccode`K=11 %
- \lccode`L=12 %
- \lccode`M=13 %
- \lccode`N=14 %
- \lccode`O=15 %
- \lccode`P=16 %
- \lccode`Q=17 %
- \lccode`R=18 %
- \lccode`S=19 %
- \lccode`T=20 %
- \lccode`U=21 %
- \lccode`V=22 %
- \lccode`W=23 %
- \lccode`X=24 %
- \lccode`Y=25 %
- \lccode`Z=26 %
- \lccode`a=27 %
- \lccode`b=28 %
- \lccode`c=29 %
- \lccode`d=30 %
- \lccode`e=31 %
- \lccode`f=127 %
- \lccode`g=128 %
- \lccode`h=129 %
- \lccode`y=254 %
- \lccode`z=255 %
-\lowercase{\endgroup
- \def\TestC{%
- \TestIgnore{%
- ^^@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhyz%
- }%
- }%
- \def\TestZ{%
- \TestIgnore{^^@}%
- }%
-}
-% \end{macrocode}
-%
-% \subsubsection{ROT13}
-%
-% \begin{macrocode}
-\cmd{13}
-\test{%
- 0123456789%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ%
- abcdefghijklmnopqrstuvwxyz%
-}{%
- 0123456789%
- NOPQRSTUVWXYZABCDEFGHIJKLM%
- nopqrstuvwxyzabcdefghijklm%
-}
-\TestI
-\TestC
-\test{}{}
-\test{A}{N}
-\test{N}{A}
-\test{ }{ }
-\test{0a}{0n}
-\test{\spacesIV}{\spacesIV}
-\test{{}}{{}}
-\test{\par}{\noexpand\cne}
-% \end{macrocode}
-%
-% \subsubsection{ROT5}
-%
-% \begin{macrocode}
-\cmd{5}
-\test{%
- 0123456789%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ%
- abcdefghijklmnopqrstuvwxyz%
-}{%
- 5678901234%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ%
- abcdefghijklmnopqrstuvwxyz%
-}
-\TestI
-\TestC
-% \end{macrocode}
-%
-% \subsubsection{ROT18}
-%
-% \begin{macrocode}
-\cmd{18}
-\test{%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789%
- abcdefghijklmnopqrstuvwxyz%
-}{%
- STUVWXYZ0123456789ABCDEFGHIJKLMNOPQR%
- nopqrstuvwxyzabcdefghijklm%
-}
-\TestI
-\TestC
-% \end{macrocode}
-%
-% \subsubsection{ROT47}
-%
-% \begin{macrocode}
-\cmd{47}
-\test{%
- !"\HashChar$\PercentChar&'()*+,-./%
- 0123456789%
- :;<=>?@%
- ABCDEFGHIJKLMNOPQRSTUVWXYZ%
- [\BackslashChar]^_`%
- abcdefghijklmnopqrstuvwxyz%
- \string{|\string}\string~%
-}{%
- PQRSTUVWXYZ%
- [\BackslashChar]^_`%
- abcdefghijklmnopqrstuvwxyz%
- \string{|\string}\string~%
- !"\HashChar$\PercentChar&'()*+,-./%
- 0123456789%
- :;<=>?@%
- ABCDEFGHIJKLMNO%
-}
-\TestZ
-\TestC
-% \end{macrocode}
-%
-% \subsubsection{Big chars}
-%
-% \begin{macrocode}
-\chardef\temp=0 %
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname XeTeXrevision\endcsname\relax
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ifluatex.sty\relax
- \else
- \RequirePackage{ifluatex}[2010/03/01]%
- \fi
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname luatexversion\endcsname\relax
- \else
- \chardef\temp=1 %
- \fi
-\else
- \chardef\temp=1 %
-\fi
-\ifcase\temp
- \csname @@end\expandafter\endcsname\expandafter\end
-\fi
-% \end{macrocode}
-% \begin{macrocode}
-\msg{* Big chars}
-\cmd{5}
-\test{}{}
-\test{ }{ }
-\test{ 0 1 }{ 5 6 }
-\begingroup
- \lccode`A=300 %
- \lccode`B=1000 %
- \lccode`C=10000 %
-\lowercase{\endgroup
- \TestIgnore{ABC}%
- \TestIgnore{x A By zC xAy AxB}%
-}%
-% \end{macrocode}
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1173,8 +747,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% rotchiffre.sty & tex/generic/oberdiek/rotchiffre.sty\\
% rotchiffre.pdf & doc/latex/oberdiek/rotchiffre.pdf\\
-% test/rotchiffre-test1.tex & doc/latex/oberdiek/test/rotchiffre-test1.tex\\
-% test/rotchiffre-test2.tex & doc/latex/oberdiek/test/rotchiffre-test2.tex\\
% rotchiffre.dtx & source/latex/oberdiek/rotchiffre.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/rotchiffre.pdf b/macros/latex/contrib/oberdiek/rotchiffre.pdf
index 698c213c9c..29808342d1 100644
--- a/macros/latex/contrib/oberdiek/rotchiffre.pdf
+++ b/macros/latex/contrib/oberdiek/rotchiffre.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/scrindex.dtx b/macros/latex/contrib/oberdiek/scrindex.dtx
index 68ba61790a..fea57fd1a9 100644
--- a/macros/latex/contrib/oberdiek/scrindex.dtx
+++ b/macros/latex/contrib/oberdiek/scrindex.dtx
@@ -133,10 +133,6 @@ and the derived files
\usedir{doc/latex/oberdiek}%
\file{scrindex-example1.tex}{\from{scrindex.dtx}{example1}}%
\file{scrindex-example2.tex}{\from{scrindex.dtx}{example2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{scrindex.xml}{\from{scrindex.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -174,21 +170,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{scrindex.drv}
%
diff --git a/macros/latex/contrib/oberdiek/scrindex.pdf b/macros/latex/contrib/oberdiek/scrindex.pdf
index eb5b144d21..887e13df7a 100644
--- a/macros/latex/contrib/oberdiek/scrindex.pdf
+++ b/macros/latex/contrib/oberdiek/scrindex.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/selinput.dtx b/macros/latex/contrib/oberdiek/selinput.dtx
index 1dcc45ff79..97fc336c3c 100644
--- a/macros/latex/contrib/oberdiek/selinput.dtx
+++ b/macros/latex/contrib/oberdiek/selinput.dtx
@@ -64,11 +64,6 @@
% Installation:
% TDS:tex/latex/oberdiek/selinput.sty
% TDS:doc/latex/oberdiek/selinput.pdf
-% TDS:doc/latex/oberdiek/test/selinput-test1.tex
-% TDS:doc/latex/oberdiek/test/selinput-test2.tex
-% TDS:doc/latex/oberdiek/test/selinput-test3.tex
-% TDS:doc/latex/oberdiek/test/selinput-test4.tex
-% TDS:doc/latex/oberdiek/test/selinput-test5.tex
% TDS:source/latex/oberdiek/selinput.dtx
%
%<*ignore>
@@ -141,10 +136,6 @@ and the derived files
% \file{selinput-test3.tex}{\from{selinput.dtx}{test,test3}}%
% \file{selinput-test4.tex}{\from{selinput.dtx}{test,test4}}%
% \file{selinput-test5.tex}{\from{selinput.dtx}{test,test5}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{selinput.xml}{\from{selinput.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -187,21 +178,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{selinput.drv}
%
@@ -666,123 +642,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \begin{macrocode}
-%<*test>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{minimal}
-\usepackage{textcomp}
-\usepackage{qstest}
-% \end{macrocode}
-% \begin{macrocode}
-%<*test1|test2|test3>
-\makeatletter
-\let\BeginDocumentText\@empty
-\def\TestEncoding#1#2{%
- \SelectInputMappings{#2}%
- \Expect*{\SIE@Encoding}{#1}%
- \Expect*{\inputencodingname}{#1}%
- \g@addto@macro\BeginDocumentText{%
- \SelectInputMappings{#2}%
- \Expect*{\SIE@Encoding}{#1}%
- \textbf{\SIE@Encoding:} %
- \kvsetkeys{test}{#2}\par
- }%
-}
-\def\TestKey#1#2{%
- \define@key{test}{#1}{%
- \sbox0{##1}%
- \sbox2{#2}%
- \Expect*{wd:\the\wd0, ht:\the\ht0, dp:\the\dp0}%
- *{wd:\the\wd2, ht:\the\ht2, dp:\the\dp2}%
- [#1=##1] % hash-ok
- }%
-}
-\RequirePackage{keyval}
-\TestKey{adieresis}{\"a}
-\TestKey{germandbls}{\ss}
-\TestKey{Euro}{\texteuro}
-\makeatother
-\usepackage[
- warning,%
-%<test2> utf8=utf-8,
-%<test3> ucs,
-]{selinput}
-%<test1|test3>\inputencoding{ascii}
-%<test2>\inputencoding{utf-8}
-%<test3>\usepackage{ucs}
-\begin{qstest}{preamble}{}
- \TestEncoding{x-iso-8859-15}{%
- adieresis=^^e4,%
- germandbls=^^df,%
- Euro=^^a4,%
- }%
- \TestEncoding{x-cp1252}{%
- adieresis=^^e4,%
- germandbls=^^df,%
- Euro=^^80,%
- }%
-%<test1> \TestEncoding{utf8}{%
-%<test2> \TestEncoding{utf-8}{%
-%<test3> \TestEncoding{utf8x}{%
- adieresis=^^c3^^a4,%
- germandbls=^^c3^^9f,%
-%<!test2> Euro=^^e2^^82^^ac,
- }%
-\end{qstest}
-%<test3>\let\ifUnicodeOptiongraphics\iffalse
-\begin{document}
-\begin{qstest}{document}{}
-%<test3>\makeatletter
- \BeginDocumentText
-\end{qstest}
-%</test1|test2|test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4>
-\usepackage[warning,ucs]{selinput}
-\SelectInputMappings{%
- adieresis=^^c3^^a4,%
- germandbls=^^c3^^9f,%
- Euro=^^e2^^82^^ac,%
-}
-\begin{qstest}{encoding}{}
- \Expect*{\inputencodingname}{utf8x}%
-\end{qstest}
-\begin{document}
- adieresis=^^c3^^a4, %
- germandbls=^^c3^^9f, %
- Euro=^^e2^^82^^ac%
-%</test4>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test5>
-\usepackage[warning,ucs]{selinput}
-\SelectInputMappings{%
- adieresis={\"a},%
- germandbls={{\ss}},%
- Euro=\texteuro{},%
-}
-\begin{qstest}{encoding}{}
- \Expect*{\inputencodingname}{ascii}%
-\end{qstest}
-\begin{document}
- adieresis={\"a}, %
- germandbls={{\ss}}, %
- Euro=\texteuro{}%
-%</test5>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\end{document}
-%</test>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -831,11 +691,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% selinput.sty & tex/latex/oberdiek/selinput.sty\\
% selinput.pdf & doc/latex/oberdiek/selinput.pdf\\
-% test/selinput-test1.tex & doc/latex/oberdiek/test/selinput-test1.tex\\
-% test/selinput-test2.tex & doc/latex/oberdiek/test/selinput-test2.tex\\
-% test/selinput-test3.tex & doc/latex/oberdiek/test/selinput-test3.tex\\
-% test/selinput-test4.tex & doc/latex/oberdiek/test/selinput-test4.tex\\
-% test/selinput-test5.tex & doc/latex/oberdiek/test/selinput-test5.tex\\
% selinput.dtx & source/latex/oberdiek/selinput.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/selinput.pdf b/macros/latex/contrib/oberdiek/selinput.pdf
index d92d4c725b..f851f0385c 100644
--- a/macros/latex/contrib/oberdiek/selinput.pdf
+++ b/macros/latex/contrib/oberdiek/selinput.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/setouterhbox.dtx b/macros/latex/contrib/oberdiek/setouterhbox.dtx
index baa5ac5573..001cd278d3 100644
--- a/macros/latex/contrib/oberdiek/setouterhbox.dtx
+++ b/macros/latex/contrib/oberdiek/setouterhbox.dtx
@@ -68,8 +68,6 @@
% TDS:tex/generic/oberdiek/setouterhbox.sty
% TDS:doc/latex/oberdiek/setouterhbox.pdf
% TDS:doc/latex/oberdiek/setouterhbox-example.tex
-% TDS:doc/latex/oberdiek/test/setouterhbox-test1.tex
-% TDS:doc/latex/oberdiek/test/setouterhbox-test2.tex
% TDS:source/latex/oberdiek/setouterhbox.dtx
%
%<*ignore>
@@ -144,10 +142,6 @@ and the derived files
% \usedir{doc/latex/oberdiek/test}%
% \file{setouterhbox-test1.tex}{\from{setouterhbox.dtx}{test1}}%
% \file{setouterhbox-test2.tex}{\from{setouterhbox.dtx}{test2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{setouterhbox.xml}{\from{setouterhbox.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -184,21 +178,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{setouterhbox.drv}
%
@@ -787,154 +766,7 @@ E \egroup
\setouterhboxAtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input setouterhbox.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Test with package \xpackage{url}}
-%
-% \begin{macrocode}
-%<*test2>
-\nofiles
-\documentclass[a5paper]{article}
-\usepackage{url}[2005/06/27]
-\usepackage{setouterhbox}
-
-\newsavebox{\testbox}
-
-\setlength{\parindent}{0pt}
-\setlength{\parskip}{2em}
-
-\begin{document}
-\raggedright
-
-\url{http://this.is.a.very.long.host.name/followed/%
-by/a/very_long_long_long_path.html}%
-
-\sbox\testbox{%
- \url{http://this.is.a.very.long.host.name/followed/%
- by/a/very_long_long_long_path.html}%
-}%
-\unhbox\testbox
-
-\begin{setouterhbox}{\testbox}%
- \url{http://this.is.a.very.long.host.name/followed/%
- by/a/very_long_long_long_path.html}%
-\end{setouterhbox}
-\unhbox\testbox
-
-\end{document}
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -984,8 +816,6 @@ by/a/very_long_long_long_path.html}%
% setouterhbox.sty & tex/generic/oberdiek/setouterhbox.sty\\
% setouterhbox.pdf & doc/latex/oberdiek/setouterhbox.pdf\\
% setouterhbox-example.tex & doc/latex/oberdiek/setouterhbox-example.tex\\
-% test/setouterhbox-test1.tex & doc/latex/oberdiek/test/setouterhbox-test1.tex\\
-% test/setouterhbox-test2.tex & doc/latex/oberdiek/test/setouterhbox-test2.tex\\
% setouterhbox.dtx & source/latex/oberdiek/setouterhbox.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/setouterhbox.pdf b/macros/latex/contrib/oberdiek/setouterhbox.pdf
index c2efdc3fb4..be203061ab 100644
--- a/macros/latex/contrib/oberdiek/setouterhbox.pdf
+++ b/macros/latex/contrib/oberdiek/setouterhbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/settobox.dtx b/macros/latex/contrib/oberdiek/settobox.dtx
index 7ff43430a5..c38d502a53 100644
--- a/macros/latex/contrib/oberdiek/settobox.dtx
+++ b/macros/latex/contrib/oberdiek/settobox.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{settobox.sty}{\from{settobox.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{settobox-example.tex}{\from{settobox.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{settobox.xml}{\from{settobox.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -173,21 +169,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{settobox.drv}
%
diff --git a/macros/latex/contrib/oberdiek/settobox.pdf b/macros/latex/contrib/oberdiek/settobox.pdf
index 7b1c067ae1..e9d22ad222 100644
--- a/macros/latex/contrib/oberdiek/settobox.pdf
+++ b/macros/latex/contrib/oberdiek/settobox.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/soulutf8.dtx b/macros/latex/contrib/oberdiek/soulutf8.dtx
index a25b50be1c..f5708e8ac2 100644
--- a/macros/latex/contrib/oberdiek/soulutf8.dtx
+++ b/macros/latex/contrib/oberdiek/soulutf8.dtx
@@ -67,11 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/soulutf8.sty
% TDS:doc/latex/oberdiek/soulutf8.pdf
-% TDS:doc/latex/oberdiek/test/soulutf8-test1.tex
-% TDS:doc/latex/oberdiek/test/soulutf8-test2.tex
-% TDS:doc/latex/oberdiek/test/soulutf8-test3.tex
-% TDS:doc/latex/oberdiek/test/soulutf8-test4.tex
-% TDS:doc/latex/oberdiek/test/soulutf8-test5.tex
% TDS:source/latex/oberdiek/soulutf8.dtx
%
%<*ignore>
@@ -147,10 +142,6 @@ and the derived files
% \file{soulutf8-test3.tex}{\from{soulutf8.dtx}{test3,utf8x}}%
% \file{soulutf8-test4.tex}{\from{soulutf8.dtx}{test4,utf8,noetex}}%
% \file{soulutf8-test5.tex}{\from{soulutf8.dtx}{test5,utf8x,noetex}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{soulutf8.xml}{\from{soulutf8.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -187,21 +178,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{soulutf8.drv}
%
@@ -1128,553 +1104,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input soulutf8.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{\LaTeX\space tests}
-%
-% \begin{macrocode}
-%<*test2|test3|test4|test5>
-% \end{macrocode}
-% \begin{macrocode}
-%<noetex>\let\SavedUnexpanded\unexpanded
-%<noetex>\let\unexpanded\UNDEFINED
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{textcomp}
-\usepackage[ngerman]{babel}
-\expandafter\def\csname ver@hypdestopt.sty\endcsname{}
-\usepackage[unicode]{hyperref}
-\usepackage{bookmark}
-\usepackage{color}
-\usepackage{soul}[2003/11/17]
-\makeatletter
-\newcommand*{\@ifDefined}[1]{%
- \@ifundefined{#1}{%
- \@latex@error{%
- \expandafter\noexpand\csname#1\endcsname undefined%
- }\@ehc
- }%
-}
-\newcommand*{\SaveOrg}[1]{%
- \@ifdefinable{ORG@SOUL@#1}{%
- \@ifDefined{SOUL@#1}{%
- \expandafter\let\csname ORG@SOUL@#1\expandafter\endcsname
- \csname SOUL@#1\endcsname
- }%
- }%
-}
-\newcommand*{\RestoreOrg}[1]{%
- \@ifDefined{ORG@SOUL@#1}{%
- \@ifDefined{SOUL@#1}{%
- \expandafter\let\csname SOUL@#1\expandafter\endcsname
- \csname ORG@SOUL@#1\endcsname
- }%
- }%
-}
-\makeatother
-\SaveOrg{eval}
-\SaveOrg{splittoken}
-\SaveOrg{flushcomma}
-\SaveOrg{flushapo}
-\SaveOrg{grave}
-\SaveOrg{addgroup}
-\SaveOrg{addmath}
-\SaveOrg{addprotect}
-\SaveOrg{addtoken}
-\usepackage{soulutf8}[2016/05/16]
-% \end{macrocode}
-% \begin{macrocode}
-%<noetex>\let\unexpanded\SavedUnexpanded
-% \end{macrocode}
-% Input encoding \xfile{utf8}.
-% \begin{macrocode}
-%<*utf8>
-\usepackage[utf8]{inputenc}
-\DeclareUnicodeCharacter{00A0}{\nobreakspace}
-%</utf8>
-% \end{macrocode}
-% Input encoding \xfile{utf8x}. Package \xpackage{ucs}
-% has a nasty bug, that it redefines \cs{show}.
-% \begin{macrocode}
-%<*utf8x>
-\let\origshow\show
-\usepackage[utf8x]{inputenc}
-\AtBeginDocument{%
- \let\show\origshow
-}
-%</utf8x>
-% \end{macrocode}
-%
-% \subsubsection{Driver definitions}
-%
-% \begin{macrocode}
-\makeatletter
-% \end{macrocode}
-% \begin{macro}{\an}
-% The definition for \cs{an} is taken from the documentation of
-% package \xpackage{soul}.
-% \begin{macrocode}
-\DeclareRobustCommand*{\an}{%
- \def\SOUL@preamble{$^{^P}$}%
- \def\SOUL@everyspace##1{##1\texttt{\char`\ }\linebreak[2]}%
- \def\SOUL@postamble{$^{^E}$}%
- \def\SOUL@everyhyphen{$^{^-}$\linebreak[1]}%
- \def\SOUL@everyexhyphen##1{##1$^{^=}$}%
- \def\SOUL@everysyllable{$^{^S}$}%
- \def\SOUL@everytoken{\the\SOUL@token$^{^T}$}%
- \def\SOUL@everylowerthan{$^{^L}$}%
- \SOUL@
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sy}
-% The definition for \cs{sy} is taken from the documentation of
-% package \xpackage{soul}.
-% \begin{macrocode}
-\DeclareRobustCommand*{\sy}{%
- \SOUL@setup
- \def\SOUL@preamble{%
- \lefthyphenmin=\z@
- \righthyphenmin=\z@
- }%
- \def\SOUL@everyspace##1{##1\space}%
- \def\SOUL@everysyllable{\the\SOUL@syllable}%
- \def\SOUL@everyhyphen{%
- \discretionary{%
- \SOUL@setkern\SOUL@hyphkern
- \SOUL@sethyphenchar
- }{}{%
- \hbox{\kern1pt$\cdot$}%
- }%
- }%
- \def\SOUL@everyexhyphen##1{%
- \SOUL@setkern\SOUL@hyphkern
- \hbox{##1}%
- \discretionary{}{}{%
- \SOUL@setkern\SOUL@charkern
- }%
- }%
- \SOUL@
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\soulH}
-% \begin{macrocode}
-\DeclareRobustCommand*{\soulH}{%
- \def\SOUL@preamble{%
- \gdef\SOULH{}%
- \soulHadd{[}%
- }%
- \def\SOUL@everyspace##1{%
- \soulHadd{Sp}%
- }%
- \def\SOUL@postamble{%
- \soulHadd{]}%
- }%
- \def\SOUL@everyhyphen{%
- \soulHadd{Hy}%
- }%
- \def\SOUL@everyexhyphen##1{%
- \soulHadd{Exhy}%
- }%
- \def\SOUL@everysyllable{%
- \soulHadd{Sy}%
- }%
- \def\SOUL@everytoken{%
- \soulHadd{T}%
- }%
- \def\SOUL@everylowerthan{%
- \soulHadd{<}%
- }%
- \SOUL@
-}
-\newcommand*{\soulHadd}[1]{%
- #1%
- \expandafter\gdef\expandafter\soulHstring\expandafter{%
- \soulHstring
- #1%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Test macros}
-%
-% \begin{macrocode}
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-% \end{macrocode}
-% \begin{macrocode}
-\newsavebox\boxA
-\newsavebox\boxB
-\newsavebox\boxC
-% \end{macrocode}
-% \begin{macro}{\TestDriver}
-% \begin{macrocode}
-\newcommand*{\TestDriver}[4]{%
- \subsection{Driver #1}%
- \@PackageInfo{soulutf8-test}{* Driver #1}%
- \expandafter\let\expandafter\testdriver\csname #1\endcsname
- \def\teststringA{#3}%
- \def\teststringB{#4}%
- \begin{qstest}{string-#2-driver-#1}{string,#2,driver,#1}%
- \@PackageInfo{soulutf8-test}{* Version: soulutf8}%
- \global\let\soulHstring\@empty
- \setbox0=\hbox{\expandafter\testdriver\expandafter{\teststringA}}%
- \let\HstringA\soulHstring
- \SetTestVBox{\boxA}{\teststringA}%
- %
- \@PackageInfo{soulutf8-test}{* Version: soul + patch}%
- \global\let\soulHstring\@empty
- \RestoreOrg{eval}%
- \setbox2=\hbox{\expandafter\testdriver\expandafter{\teststringB}}%
- \let\HstringB\soulHstring
- \SetTestVBox{\boxB}{\teststringB}%
- %
- \@PackageInfo{soulutf8-test}{* Version: original soul}%
- \global\let\soulHstring\@empty
- \RestoreOrg{splittoken}%
- \RestoreOrg{flushcomma}%
- \RestoreOrg{flushapo}%
- \RestoreOrg{grave}%
- \RestoreOrg{addgroup}%
- \RestoreOrg{addmath}%
- \RestoreOrg{addprotect}%
- \RestoreOrg{addtoken}%
- \setbox4=\hbox{\expandafter\testdriver\expandafter{\teststringB}}%
- \let\HstringC\soulHstring
- \SetTestVBox{\boxC}{\teststringB}%
- %
- \TestInfo{0}{soulutf8}%
- \TestInfo{2}{soul + patch}%
- \TestInfo{4}{original soul}%
- \TestInfoVBox
- \showboxdepth=\maxdimen
- \showboxbreadth=\maxdimen
- \tracingonline=\@ne
- \Expect*{\HstringA}*{\HstringB}%
- \Expect*{\HstringA}*{\HstringC}%
- \Expect*{\the\wd0}*{\the\wd2}%
- \ifdim\wd0=\wd2 %
- \else
- \showbox0 %
- \showbox2 %
- \fi
- \Expect*{\the\ht0}*{\the\ht2}%
- \Expect*{\the\dp0}*{\the\dp2}%
- \Expect*{\the\wd\boxB}*{\the\wd\boxA}%
- \Expect*{\the\wd\boxC}*{\the\wd\boxA}%
- \Expect*{\the\ht\boxB}*{\the\ht\boxA}%
- \ifdim\ht\boxB=\ht\boxA
- \else
- \showbox\boxA
- \showbox\boxB
- \fi
- \Expect*{\the\ht\boxC}*{\the\ht\boxA}%
- \Expect*{\the\dp\boxB}*{\the\dp\boxA}%
- \Expect*{\the\dp\boxC}*{\the\dp\boxA}%
- \end{qstest}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\SetTestVBox}
-% \begin{macrocode}
-\newcommand*{\SetTestVBox}[2]{%
- \setbox#1=\vbox{%
- \hsize=0pt\relax
- \hfuzz=100mm\relax
- \expandafter\testdriver\expandafter{#2}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\TestInfo}
-% \begin{macrocode}
-\newcommand*{\TestInfo}[2]{%
- \par
- \noindent
- \copy#1\relax
- \hfill
- \begingroup
- \small
- \ifdim\wd0=\wd2\relax
- \ifdim\wd0=\wd4\relax
- \else
- \ifnum#1=2 %
- \raisebox{.5\baselineskip}[0pt][0pt]{%
- \llap{$\}$ }%
- \rlap{width = \the\wd#1\relax\space$\{$}%
- \phantom{width = 999.99999pt}%
- \qquad
- }%
- \else
- \ifnum#1=4 %
- \rlap{width = \the\wd#1}%
- \phantom{width = 999.99999pt}%
- \qquad
- \fi
- \fi
- \fi
- \else
- \begingroup
- \bfseries
- \rlap{width = \the\wd#1}%
- \phantom{width = 999.99999pt}%
- \endgroup
- \qquad
- \fi
- \rlap{(#2)}%
- \phantom{(original soul)}%
- \endgroup
- \par
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\TestInfoVBox}
-% \begin{macrocode}
-\newcommand*{\TestInfoVBox}{%
- \par
- \noindent
- \mbox{\vrule\relax\space\copy\boxA}%
- \ifdim\ht\boxA=\ht\boxB
- \else
- \hfill
- \begingroup
- \small
- \rlap{(soulutf8)}%
- \phantom{(soulutf8)}%
- \endgroup
- \par
- \noindent
- \mbox{\vrule\relax\space\copy\boxB}%
- \hfill
- \begingroup
- \small
- \rlap{(soul)}%
- \phantom{(soulutf8)}%
- \endgroup
- \fi
- \par
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\Test}
-% \begin{macrocode}
-\makeatletter
-\newcommand*{\Test}[3]{%
- \clearpage
- \begingroup
- \def\linebreak{\textbackslash linebreak }%
- \def\\{\textbackslash\textbackslash}%
- \def\soulomit##1{%
- \textbackslash soulomit\textbraceleft##1\textbraceright
- }%
- \def\mbox##1{%
- \textbackslash mbox\textbraceleft##1\textbraceright
- }%
- \def\abc{\textbackslash abc }%
- \def\texttt##1{%
- \textbackslash texttt\textbraceleft##1\textbraceright
- }%
- \def\c##1{%
- \textbackslash c\textbraceleft##1\textbraceright
- }%
-%<*utf8x>
- \count@=128 %
- \loop
- \ifnum\count@<256 %
- \lccode`\~=\count@
- \lowercase{%
- \def~{\noexpand~}%
- }%
- \advance\count@\@ne
- \repeat
-%</utf8x>
- \csname protected@edef\endcsname\x{\endgroup
- \noexpand\section{String #1: #2}%
- }%
- \x
- \TestDriver{so}{#1}{#2}{#3}%
- \TestDriver{caps}{#1}{#2}{#3}%
- \TestDriver{ul}{#1}{#2}{#3}%
- \TestDriver{st}{#1}{#2}{#3}%
- \TestDriver{hl}{#1}{#2}{#3}%
- \TestDriver{an}{#1}{#2}{#3}%
- \TestDriver{sy}{#1}{#2}{#3}%
- \TestDriver{soulH}{#1}{#2}{#3}%
-}
-\makeatother
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Testing}
-%
-% \begin{macrocode}
-\begin{document}
- \Test A{}{}%
- \Test B{Hello World}{Hello World}%
- \Test C{%
- Umlauts: ^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f%
- }{%
- Umlauts: \"A\"O\"U\"a\"o\"u\ss
- }%
- \Test D{Euro: ^^e2^^82^^ac}{Euro: \texteuro}%
- \Test E{Stra^^c3^^9fe}{Stra\ss e}%
- \Test F{R^^c3^^b6mer}{R\"omer}%
- \Test G{A^^e2^^80^^93B^^e2^^80^^94C}{A--B---C}%
- \Test H{X^^c2^^a0Y}{X~Y}%
- \Test I{A^^c5^^a4}{A\v T}%
- \Test J{A,B,,C,,,D,,,,E}{A,B,,C,,,D,,,,E}%
- \Test K{A'B''C'''D''''E}{A'B''C'''D''''E}%
- \Test L{A`B``C```D````E}{A`B``C```D````E}%
- \Test M{A$x$B}{A$x$B}%
- \Test N{A\mbox{abc}B}{A\mbox{abc}B}%
- \Test O{,,TA''}{,,TA''}%
- \Test P{{!`}Hola{?`}}{{!`}Hola{?`}}%
- \Test Q{re-sent\slash x}{re-sent\slash x}%
- \Test R{new\\line}{new\\line}%
- \Test S{foo\linebreak bar}{foo\linebreak bar}%
- \Test T{Virchow{sche}}{Virchow{sche}}%
- \Test U{A\soulomit{foo}B}{A\soulomit{foo}B}%
- \Test V{A\texttt{xyz}B}{A\texttt{xyz}B}%
- \Test W{ffi}{ffi}%
- \Test X{f{}f{}i}{f{}f{}i}%
- \Test Y{f\mbox{}f\mbox{}i}{f\mbox{}f\mbox{}i}%
- \Test Z{\c{\"a}}{{\c{\"a}}}%
-%<*test2|test3>
- \let\abcx\UNDEFINED
- \def\abc{%
- \begingroup
- \def\abcx{x}%
- \abcx
- \endgroup
- }%
- \Test{AA}{[{x\abc x}]}{[{xxx}]}%
-%</test2|test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\end{document}
-% \end{macrocode}
-% \begin{macrocode}
-%</test2|test3|test4|test5>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1723,11 +1153,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% soulutf8.sty & tex/generic/oberdiek/soulutf8.sty\\
% soulutf8.pdf & doc/latex/oberdiek/soulutf8.pdf\\
-% test/soulutf8-test1.tex & doc/latex/oberdiek/test/soulutf8-test1.tex\\
-% test/soulutf8-test2.tex & doc/latex/oberdiek/test/soulutf8-test2.tex\\
-% test/soulutf8-test3.tex & doc/latex/oberdiek/test/soulutf8-test3.tex\\
-% test/soulutf8-test4.tex & doc/latex/oberdiek/test/soulutf8-test4.tex\\
-% test/soulutf8-test5.tex & doc/latex/oberdiek/test/soulutf8-test5.tex\\
% soulutf8.dtx & source/latex/oberdiek/soulutf8.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/soulutf8.pdf b/macros/latex/contrib/oberdiek/soulutf8.pdf
index 3efb582a11..cf4409cdda 100644
--- a/macros/latex/contrib/oberdiek/soulutf8.pdf
+++ b/macros/latex/contrib/oberdiek/soulutf8.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/stackrel.dtx b/macros/latex/contrib/oberdiek/stackrel.dtx
index 57cef731c3..6b3444c33c 100644
--- a/macros/latex/contrib/oberdiek/stackrel.dtx
+++ b/macros/latex/contrib/oberdiek/stackrel.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{stackrel.drv}{\from{stackrel.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{stackrel.sty}{\from{stackrel.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{stackrel.xml}{\from{stackrel.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -168,21 +164,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{stackrel.drv}
%
diff --git a/macros/latex/contrib/oberdiek/stackrel.pdf b/macros/latex/contrib/oberdiek/stackrel.pdf
index 57fa7b7944..8457865306 100644
--- a/macros/latex/contrib/oberdiek/stackrel.pdf
+++ b/macros/latex/contrib/oberdiek/stackrel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/stampinclude.dtx b/macros/latex/contrib/oberdiek/stampinclude.dtx
index 5824cf4425..9acd8a61f8 100644
--- a/macros/latex/contrib/oberdiek/stampinclude.dtx
+++ b/macros/latex/contrib/oberdiek/stampinclude.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{stampinclude.drv}{\from{stampinclude.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{stampinclude.sty}{\from{stampinclude.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{stampinclude.xml}{\from{stampinclude.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{stampinclude.drv}
%
@@ -610,13 +591,13 @@ and the derived files
% Pablo A. Straub, Heiko Oberdiek:
% \textit{The \xpackage{askinclude} package};
% 2007/10/23 v2.0;
-% \CTAN{macros/latex/contrib/oberdiek/askinclude.pdf}.
+% \CTANpkg{askinclude}.
%
% \bibitem{pdftexcmds}
% Heiko Oberdiek:
% \textit{The \xpackage{pdftexcmds} package};
% 2007/12/12 v0.3;
-% \CTAN{macros/latex/contrib/oberdiek/pdftexcmds.pdf}.
+% \CTANpkg{pdftexcmds}.
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/oberdiek/stampinclude.pdf b/macros/latex/contrib/oberdiek/stampinclude.pdf
index d020b7c68b..3e72ead4ae 100644
--- a/macros/latex/contrib/oberdiek/stampinclude.pdf
+++ b/macros/latex/contrib/oberdiek/stampinclude.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/tabularht.dtx b/macros/latex/contrib/oberdiek/tabularht.dtx
index dba2d2f899..8d1ef6cb74 100644
--- a/macros/latex/contrib/oberdiek/tabularht.dtx
+++ b/macros/latex/contrib/oberdiek/tabularht.dtx
@@ -133,10 +133,6 @@ and the derived files
\usedir{doc/latex/oberdiek}%
\file{tabularht-example1.tex}{\from{tabularht.dtx}{example1}}%
\file{tabularht-example2.tex}{\from{tabularht.dtx}{example2}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{tabularht.xml}{\from{tabularht.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -173,21 +169,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{tabularht.drv}
%
diff --git a/macros/latex/contrib/oberdiek/tabularht.pdf b/macros/latex/contrib/oberdiek/tabularht.pdf
index f2931eded6..92ea96cc84 100644
--- a/macros/latex/contrib/oberdiek/tabularht.pdf
+++ b/macros/latex/contrib/oberdiek/tabularht.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/tabularkv.dtx b/macros/latex/contrib/oberdiek/tabularkv.dtx
index 4bd350bd19..57ef5e8745 100644
--- a/macros/latex/contrib/oberdiek/tabularkv.dtx
+++ b/macros/latex/contrib/oberdiek/tabularkv.dtx
@@ -131,10 +131,6 @@ and the derived files
\file{tabularkv.sty}{\from{tabularkv.dtx}{package}}%
\usedir{doc/latex/oberdiek}%
\file{tabularkv-example.tex}{\from{tabularkv.dtx}{example}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{tabularkv.xml}{\from{tabularkv.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -171,21 +167,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{tabularkv.drv}
%
diff --git a/macros/latex/contrib/oberdiek/tabularkv.pdf b/macros/latex/contrib/oberdiek/tabularkv.pdf
index caaf4ef906..63951304d1 100644
--- a/macros/latex/contrib/oberdiek/tabularkv.pdf
+++ b/macros/latex/contrib/oberdiek/tabularkv.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/telprint.dtx b/macros/latex/contrib/oberdiek/telprint.dtx
index a2df3a6528..57152c6651 100644
--- a/macros/latex/contrib/oberdiek/telprint.dtx
+++ b/macros/latex/contrib/oberdiek/telprint.dtx
@@ -66,7 +66,6 @@
% Installation:
% TDS:tex/generic/oberdiek/telprint.sty
% TDS:doc/latex/oberdiek/telprint.pdf
-% TDS:doc/latex/oberdiek/test/telprint-test1.tex
% TDS:source/latex/oberdiek/telprint.dtx
%
%<*ignore>
@@ -137,10 +136,6 @@ and the derived files
\file{telprint.sty}{\from{telprint.dtx}{package}}%
% \usedir{doc/latex/oberdiek/test}%
% \file{telprint-test1.tex}{\from{telprint.dtx}{test1}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{telprint.xml}{\from{telprint.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -178,21 +173,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{telprint.drv}
%
@@ -628,118 +608,7 @@ and the derived files
\TELAtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input telprint.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -788,7 +657,6 @@ and the derived files
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% telprint.sty & tex/generic/oberdiek/telprint.sty\\
% telprint.pdf & doc/latex/oberdiek/telprint.pdf\\
-% test/telprint-test1.tex & doc/latex/oberdiek/test/telprint-test1.tex\\
% telprint.dtx & source/latex/oberdiek/telprint.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/telprint.pdf b/macros/latex/contrib/oberdiek/telprint.pdf
index aacc2fe448..090b5974ab 100644
--- a/macros/latex/contrib/oberdiek/telprint.pdf
+++ b/macros/latex/contrib/oberdiek/telprint.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.dtx b/macros/latex/contrib/oberdiek/thepdfnumber.dtx
index 5b56027d9d..61eb42684c 100644
--- a/macros/latex/contrib/oberdiek/thepdfnumber.dtx
+++ b/macros/latex/contrib/oberdiek/thepdfnumber.dtx
@@ -67,9 +67,6 @@
% Installation:
% TDS:tex/generic/oberdiek/thepdfnumber.sty
% TDS:doc/latex/oberdiek/thepdfnumber.pdf
-% TDS:doc/latex/oberdiek/test/thepdfnumber-test1.tex
-% TDS:doc/latex/oberdiek/test/thepdfnumber-test2.tex
-% TDS:doc/latex/oberdiek/test/thepdfnumber-test3.tex
% TDS:source/latex/oberdiek/thepdfnumber.dtx
%
%<*ignore>
@@ -186,21 +183,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{thepdfnumber.drv}
%
@@ -1102,303 +1084,7 @@ $ \else\ifnum`#2=46 % .
\ThPdNu@AtEnd%
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input thepdfnumber.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Preamble}
-%
-% \begin{macrocode}
-%<*test2>
-\catcode`\{=1
-\catcode`\}=2
-\catcode`\#=6
-\catcode`\@=11
-\errorcontextlines=10000 %
-\def\msg#{\immediate\write16}
-\def\space{ }
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input thepdfnumber.sty\relax
-\else
- \RequirePackage{thepdfnumber}[2016/05/16]%
-\fi
-% \end{macrocode}
-%
-% \begin{macro}{\Test}
-% \begin{macrocode}
-\def\Test#1#2{%
- \def\TestExpected{#2}%
-%<*active>
- \edef\TestExpected{\TestExpected}%
-%</active>
- \expandafter\expandafter\expandafter\def
- \expandafter\expandafter\expandafter\TestResult
- \expandafter\expandafter\expandafter{%
- \TestCommand{#1}%
- }%
- \begingroup
- \toks0\expandafter{\TestResult}%
- \toks2\expandafter{\TestExpected}%
- \ifx\TestResult\TestExpected
- \msg{* OK: #1 => \the\toks0}%
- \else
- \errmessage{FAILED: #1 => \the\toks0\space(\the\toks2)}%
- \fi
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\let\thepdfnumber@ErrorUnexpectedEnd\relax
-\let\thepdfnumber@ErrorInvalidToken\relax
-% \end{macrocode}
-%
-% \subsubsection{Test with active catcodes}
-%
-% \begin{macrocode}
-%<*active>
-\catcode`\~=13 %
-\def\ThPdNu@Temp#1{%
- \begingroup
- \lccode`\~=`#1 %
- \lowercase{\endgroup
- \edef~%
- }{\string#1}%
- \catcode`#1=13 %
-}
-\ThPdNu@Temp{.}
-\ThPdNu@Temp{-}
-\ThPdNu@Temp{+}
-%</active>
-% \end{macrocode}
-%
-% \subsubsection{Test cases for \cs{thepdfnumber}}
-%
-% \begin{macro}{\TestCommand}
-% \begin{macrocode}
-\let\TestCommand\thepdfnumber
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\Test{0}{0}
-\Test{1}{1}
-\Test{23}{23}
-\Test{0045}{45}
-\Test{4500}{4500}
-\Test{-0}{0}
-\Test{-1}{-1}
-\Test{-00002}{-2}
-\Test{-010203}{-10203}
-\Test{+0}{0}
-\Test{+123}{123}
-
-\Test{+-4}{-4}
-\Test{+-+-4}{4}
-\Test{++--++--++4}{4}
-\Test{+++---+++---+++---4}{-4}
-
-\Test{.}{0}
-\Test{0.}{0}
-\Test{.0}{0}
-\Test{0.}{0}
-\Test{-.}{0}
-\Test{-0.}{0}
-\Test{-.0}{0}
-\Test{-0.}{0}
-\Test{010.020}{10.02}
-\Test{123.456}{123.456}
-\Test{12.}{12}
-\Test{.123}{.123}
-\Test{.0001}{.0001}
-\Test{.00100}{.001}
-\Test{.12003400560078009}{.12003400560078009}
-\Test{-.12003400560078009}{-.12003400560078009}
-\Test{04.0500000}{4.05}
-
-\Test{}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{+}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{-}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{a}{0\thepdfnumber@ErrorInvalidToken}
-\Test{0x1}{0\thepdfnumber@ErrorInvalidToken}
-\Test{4x56}{4\thepdfnumber@ErrorInvalidToken}
-\Test{012,34}{12\thepdfnumber@ErrorInvalidToken}
-\Test{0.12x4}{.12\thepdfnumber@ErrorInvalidToken}
-% \end{macrocode}
-%
-% \subsubsection{Test cases for \cs{thepdfnumberNormZeroOne}}
-%
-% \begin{macro}{\TestCommand}
-% \begin{macrocode}
-\let\TestCommand\thepdfnumberNormZeroOne
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\Test{0}{0}
-\Test{1}{1}
-\Test{23}{1}
-\Test{12}{1}
-\Test{10}{1}
-\Test{0045}{1}
-\Test{001}{1}
-\Test{-0}{0}
-\Test{-1}{0}
-\Test{-01}{0}
-\Test{-4}{0}
-
-\Test{+-0}{0}
-\Test{+-+-1}{1}
-\Test{++--++--++1}{1}
-\Test{+++---+++---+++---1}{0}
-
-\Test{.}{0}
-\Test{0.}{0}
-\Test{.0}{0}
-\Test{0.}{0}
-\Test{-.}{0}
-\Test{-0.}{0}
-\Test{-.0}{0}
-\Test{-0.}{0}
-\Test{010.020}{1}
-\Test{123.456}{1}
-\Test{12.}{1}
-\Test{.123}{.123}
-\Test{.0001}{.0001}
-\Test{.00100}{.001}
-\Test{.12003400560078009}{.12003400560078009}
-\Test{-.12003400560078009}{0}
-\Test{04.0500000}{1}
-\Test{0.1200340056}{.1200340056}
-\Test{1.05}{1}
-
-\Test{}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{+}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{-}{0\thepdfnumber@ErrorUnexpectedEnd}
-\Test{a}{0\thepdfnumber@ErrorInvalidToken}
-\Test{0x1}{0\thepdfnumber@ErrorInvalidToken}
-\Test{4x56}{1}
-\Test{012,34}{1}
-\Test{.012x4}{.012\thepdfnumber@ErrorInvalidToken}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\csname @@end\endcsname\end
-%</test2>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -1447,9 +1133,6 @@ $ \else\ifnum`#2=46 % .
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
% thepdfnumber.sty & tex/generic/oberdiek/thepdfnumber.sty\\
% thepdfnumber.pdf & doc/latex/oberdiek/thepdfnumber.pdf\\
-% test/thepdfnumber-test1.tex & doc/latex/oberdiek/test/thepdfnumber-test1.tex\\
-% test/thepdfnumber-test2.tex & doc/latex/oberdiek/test/thepdfnumber-test2.tex\\
-% test/thepdfnumber-test3.tex & doc/latex/oberdiek/test/thepdfnumber-test3.tex\\
% thepdfnumber.dtx & source/latex/oberdiek/thepdfnumber.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.pdf b/macros/latex/contrib/oberdiek/thepdfnumber.pdf
index b4a0cdf495..b46cc89055 100644
--- a/macros/latex/contrib/oberdiek/thepdfnumber.pdf
+++ b/macros/latex/contrib/oberdiek/thepdfnumber.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/twoopt.dtx b/macros/latex/contrib/oberdiek/twoopt.dtx
index 4fc1bfec88..10334f0d3a 100644
--- a/macros/latex/contrib/oberdiek/twoopt.dtx
+++ b/macros/latex/contrib/oberdiek/twoopt.dtx
@@ -126,10 +126,6 @@ and the derived files
\file{twoopt.drv}{\from{twoopt.dtx}{driver}}%
\usedir{tex/latex/oberdiek}%
\file{twoopt.sty}{\from{twoopt.dtx}{package}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{twoopt.xml}{\from{twoopt.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -166,21 +162,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{twoopt.drv}
%
diff --git a/macros/latex/contrib/oberdiek/twoopt.pdf b/macros/latex/contrib/oberdiek/twoopt.pdf
index 6184989018..fcd3dea9b4 100644
--- a/macros/latex/contrib/oberdiek/twoopt.pdf
+++ b/macros/latex/contrib/oberdiek/twoopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/uniquecounter.dtx b/macros/latex/contrib/oberdiek/uniquecounter.dtx
index 16a2991048..172d081435 100644
--- a/macros/latex/contrib/oberdiek/uniquecounter.dtx
+++ b/macros/latex/contrib/oberdiek/uniquecounter.dtx
@@ -69,9 +69,6 @@
% TDS:tex/generic/oberdiek/uniquecounter.sty
% TDS:doc/latex/oberdiek/uniquecounter.pdf
% TDS:doc/latex/oberdiek/uniquecounter-example.tex
-% TDS:doc/latex/oberdiek/test/uniquecounter-test1.tex
-% TDS:doc/latex/oberdiek/test/uniquecounter-test2.tex
-% TDS:doc/latex/oberdiek/test/uniquecounter-test3.tex
% TDS:source/latex/oberdiek/uniquecounter.dtx
%
%<*ignore>
@@ -148,10 +145,6 @@ and the derived files
% \file{uniquecounter-test1.tex}{\from{uniquecounter.dtx}{test1}}%
% \file{uniquecounter-test2.tex}{\from{uniquecounter.dtx}{test2}}%
% \file{uniquecounter-test3.tex}{\from{uniquecounter.dtx}{test3}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/oberdiek/catalogue}%
-% \file{uniquecounter.xml}{\from{uniquecounter.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -188,21 +181,6 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{uniquecounter.drv}
%
@@ -530,291 +508,7 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input uniquecounter.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Macro tests}
-%
-% \subsubsection{Test with \LaTeX}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\nofiles
-\documentclass{minimal}
-\usepackage{uniquecounter}[2016/05/16]
-\usepackage{qstest}
-\IncludeTests{*}
-\LogTests{log}{*}{*}
-
-\newcommand*{\CheckValue}[2]{%
- \Expect*{#2}*{\UniqueCounterGet{#1}}%
-}
-\newcommand*{\CheckSpace}[1]{%
- \sbox0{#1}%
- \Expect{0.0pt}*{\the\wd0}%
-}
-
-\begin{qstest}{creation}{creation}
- \CheckSpace{%
- \UniqueCounterNew{test}%
- }%
- \CheckValue{test}{0}%
-\end{qstest}
-
-\begin{qstest}{increment}{increment}
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{1}%
- \makeatletter
- \def\uqc@cnt@test{2147483645}%
- \CheckValue{test}{2147483645}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483646}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \Expect{true}*{\ifx\uqc@inc\uqc@NumInc true\else false\fi}%
- \CheckValue{test}{2147483647}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483648}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483649}%
-\end{qstest}
-
-\begin{qstest}{call}{call}
- \def\CheckCall#1#2{%
- \Expect{#1}{#2}%
- }%
- \CheckSpace{%
- \UniqueCounterNew{foo}%
- }%
- \CheckValue{foo}{0}%
- \def\Check#1{%
- \CheckSpace{%
- \UniqueCounterCall{foo}{\CheckCall}{#1}%
- }%
- \CheckValue{foo}{#1}%
- }%
- \Check{1}%
- \Check{2}%
- \Check{3}%
- \Check{4}%
- \Check{5}%
- \Check{6}%
- \Check{7}%
- \Check{8}%
- \Check{9}%
- \Check{10}%
- \Check{11}%
- \Check{12}%
-\end{qstest}
-
-\csname @@end\endcsname
-%</test2>
-% \end{macrocode}
-% \subsubsection{Test with plain-\TeX}
-%
-% \begin{macrocode}
-%<*test3>
-\input uniquecounter.sty\relax
-\catcode`\@=11 %
-\def\CheckValue#1#2{%
- \begingroup
- \edef\A{#2}%
- \edef\B{\UniqueCounterGet{#1}}%
- \ifx\A\B
- \else
- \@PackageError{TEST}{Failed: \A\space<> \B}\@ehc
- \fi
- \endgroup
-}
-\def\CheckSpace#1{%
- \setbox0=\hbox{#1}%
- \ifdim\wd0=\z@
- \else
- \@PackageError{TEST}{Failed: 0.0pt <> \the\wd0}\@ehc
- \fi
-}
-
-\begingroup
- \CheckSpace{%
- \UniqueCounterNew{test}%
- }%
- \CheckValue{test}{0}%
-\endgroup
-
-\begingroup
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{1}%
- \def\uqc@cnt@test{2147483645}%
- \CheckValue{test}{2147483645}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483646}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \ifx\uqc@inc\uqc@NumInc
- \else
- \@PackageError{TEST}{Failed: wrong inc function}\@ehc
- \fi
- \CheckValue{test}{2147483647}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483648}%
- \CheckSpace{%
- \UniqueCounterIncrement{test}%
- }%
- \CheckValue{test}{2147483649}%
-\endgroup
-\begingroup
- \def\CheckCall#1#2{%
- \begingroup
- \def\A{#1}%
- \def\B{#2}%
- \ifx\A\B
- \else
- \@PackageError{TEST}{Failed: \A\space <> \B}\@ehc
- \fi
- \endgroup
- }%
- \CheckSpace{%
- \UniqueCounterNew{foo}%
- }%
- \CheckValue{foo}{0}%
- \CheckSpace{%
- \UniqueCounterCall{foo}{\CheckCall}{1}%
- }%
- \CheckSpace{%
- \UniqueCounterCall{foo}{\CheckCall}{2}%
- }%
- \CheckValue{foo}{2}%
-\endgroup
-\csname @@end\endcsname\end
-%</test3>
-% \end{macrocode}
-%
-% \section{Installation}
+%% \section{Installation}
%
% \subsection{Download}
%
@@ -864,9 +558,6 @@ and the derived files
% uniquecounter.sty & tex/generic/oberdiek/uniquecounter.sty\\
% uniquecounter.pdf & doc/latex/oberdiek/uniquecounter.pdf\\
% uniquecounter-example.tex & doc/latex/oberdiek/uniquecounter-example.tex\\
-% test/uniquecounter-test1.tex & doc/latex/oberdiek/test/uniquecounter-test1.tex\\
-% test/uniquecounter-test2.tex & doc/latex/oberdiek/test/uniquecounter-test2.tex\\
-% test/uniquecounter-test3.tex & doc/latex/oberdiek/test/uniquecounter-test3.tex\\
% uniquecounter.dtx & source/latex/oberdiek/uniquecounter.dtx\\
% \end{tabular}^^A
% }^^A
diff --git a/macros/latex/contrib/oberdiek/uniquecounter.pdf b/macros/latex/contrib/oberdiek/uniquecounter.pdf
index cf39951e59..78158e1f15 100644
--- a/macros/latex/contrib/oberdiek/uniquecounter.pdf
+++ b/macros/latex/contrib/oberdiek/uniquecounter.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/INSTALL.txt b/macros/luatex/generic/barracuda/INSTALL.txt
index 55ce68da5c..0c06f98488 100644
--- a/macros/luatex/generic/barracuda/INSTALL.txt
+++ b/macros/luatex/generic/barracuda/INSTALL.txt
@@ -1,30 +1,37 @@
Installation
-------------
+============
Installing `barracuda` for TeX Live
+-----------------------------------
-If you have TeX Live installed from CTAN or from DVD TeX Collection, check
-before any modification to your system if the package is already installed
+If you have TeX Live installed from CTAN or from DVD TeX Collection, before
+any modification to your system check if the package is already installed
looking for `installed` key in the output of the command:
-$ tlmgr show barracuda
+ $ tlmgr show barracuda
If `barracuda` is not present, run the command:
-$ tlmgr install barracuda
+ $ tlmgr install barracuda
If you have installed TeX Live via Linux OS repository try your distribution's
package management system.
It's also possible a manual installation:
-a. Grab the sources from CTAN or https://github.com/robitex/barracuda .
-b. Unzip it at the root of one or your TDS trees.
-c. You may need to update some filename database after this, see your TeX
- distribution's manual for details.
+ a. Grab the sources from CTAN or https://github.com/robitex/barracuda .
+ b. Unzip it at the root of one or your TDS trees.
+ c. You may need to update some filename database after this running `texhash`,
+ see your TeX distribution's manual for details.
+
+Any TeX Live documentation files can be easily opened on screen with the
+`texdoc` command line utility (this way is very handy).
+
+ $ texdoc pkgname
Installing for Lua
+------------------
-Manually copy `src` folder content to a suitable directory of your system that
-is reachable to Lua interpreter.
+Manually copy the `src` folder content to a suitable directory of your system
+that is reachable to a Lua interpreter.
diff --git a/macros/luatex/generic/barracuda/README.md b/macros/luatex/generic/barracuda/README.md
index e4ca271287..6dc3ccb2db 100644
--- a/macros/luatex/generic/barracuda/README.md
+++ b/macros/luatex/generic/barracuda/README.md
@@ -3,8 +3,8 @@
This Lua library is for drawing barcode symbols. The project delivers modules
to typeset barcode from within a LuaTeX document. Therefore is also possible
to use `barracuda` with a Lua standalone interpreter to draw barcodes with
-different graphic format such as `SVG`.
-The package does not have dependences.
+different graphic format such as `SVG` (see an example below).
+This package does not have dependences.
![a SVG formatted Code39 symbol](/test/test-ga-svg/test-code39.svg)
@@ -14,7 +14,12 @@ complete user control over barcode symbol parameters :thumbsup: .
Although development is in beta stage, `barracuda` has a good level of
stability.
-## Barcode symbologies
+## Current version information
+
+Version: v0.0.9.1
+Date: 2019-12-04
+
+## Barcode symbologies list
So far, are supported
@@ -23,15 +28,15 @@ So far, are supported
- Interleaved 2 of 5
- EAN family (EAN8, EAN13, and the add-ons EAN5 and EAN2)
-Other 1D encoding format will be added to the project, then it will be the
-turn for 2D barcode type.
+Other 1D encoding symbology will be added to the project, then it will be the
+turn of 2D barcode types like Datamatrix, QRCode or PDF417.
## A very simple LaTeX example
The LaTeX package `barracuda.sty` under the cover uses Lua code so you need to
compile your source files with LuaTeX or LuajitTeX with the LaTeX format.
-For instance here there is a minimal example for LuaLaTeX:
+For instance, here there is a minimal example for LuaLaTeX:
```latex
% !TeX program = LuaLaTeX
@@ -47,7 +52,7 @@ For instance here there is a minimal example for LuaLaTeX:
Details and package reference can be found in the manual delivered in the `doc`
project directory, even if it is very minimal at the moment.
-The directory `test` contains files that can be seen as code examples.
+Directory `test` contains files useful also for code examples.
## Installation
@@ -58,20 +63,33 @@ your system. Otherwise, you can install the package via `tlmgr` for your TeX
Live distribution.
If you have installed TeX Live with the `full` schema, `barracuda` is just
-available and no further action is required because the last package tagged
-version is periodically sent to CTAN.
+available and no further action is required. Please, take into account that
+only the tagged version (in the `git` sense) of the package will be sent to
+CTAN. This means that intermediate development version between consecutive
+releases can be found only at https://github.com/robitex/barracuda .
TeX Live distribution or Lua interpreter executable are available for a very
large number of Operating Systems so it is also for `barracuda`.
-More detailed istruction will come soon.
+Step by step istruction can be found in the INSTALL.txt file.
## Contribute
-Contributes are welcome in any form and for any topics.
+Contributes are welcome in any form and for any topics. You can contact me
+directly via email at giaconet.mailbox@gmail.com or via a pull request on the
+repository https://github.com/robitex/barracuda or writing a public message
+via the web page https://github.com/robitex/barracuda/issues for todos, bugs,
+feature requests, and more (press the bottom `New issue`).
+
+Anyway, as a starting point take a look of TODO.txt file for the next
+scheduled development tasks.
## License
-Please, for more legal details refer to LICENSE.txt file.
+`barracuda` project is released under the
+[GNU GPL v2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
+Please, for more legal details refer to LICENSE.txt file or visit the web page
+https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Copyright (C) 2019 Roberto Giacomelli
+
diff --git a/macros/luatex/generic/barracuda/TODO.txt b/macros/luatex/generic/barracuda/TODO.txt
new file mode 100644
index 0000000000..5b1970810c
--- /dev/null
+++ b/macros/luatex/generic/barracuda/TODO.txt
@@ -0,0 +1,92 @@
+Development Program Task Table
+
+Hypothetical developing tasks list:
+
+__.__: 20__-__-__: [dev] TiKz driver
+__.__: 20__-__-__: [dev] debug driver, ga code pretty printing
+__.__: 20__-__-__: [dev] make thing happen: font property for text
+__.__: 20__-__-__: [dev] develop LaTeX user package
+__.__: 20__-__-__: [dev] coherent error management
+__.__: 20__-__-__: [dev] proportional options
+__.__: 20__-__-__: [dev] a number parameter can be a string? unit measure...
+__.__: 20__-__-__: [prj] a command line program to print barcodes
+__.__: 20__-__-__: [man] put ga-asm-spec together with the manual
+__.__: 2019-__-__: [dev] guard text in EAN simbology
+__.__: 2019-__-__: [dev] ISBN support
+__.__: 2019-__-__: [dev] UPC support
+__.__: 2019-__-__: [dev] make optional file name in all the Driver methods
+__.__: 2019-__-__: [prj] use l3build for testing and CTAN files packaging
+
+Scheduled tasks (What we are working on):
+[ ] <v0.1> 2019-__-__: Data Matrix 2D symbology
+
+__.__: 2019-__-__: [dmx] data matrix first run
+__.__: 2019-__-__: [dmx] ecc200 error correction code
+__.__: 2019-__-__: [svg] opcode for grids
+__.__: 2019-__-__: [pdf] opcode for grids
+__.__: 2019-__-__: [gas] ga-asm grid opcode
+__.__: 2019-__-__: [geo] grid vector object
+_1.__: 2019-__-__: [dev] init source file encoder for Data Matrix
+
+[🎉] <v0.0.9.1> 2019-12-04: prelude to version v0.1
+09.15: 2019-11-29: [prj] upload to CTAN version v0.0.9.1 (CTAN conditions)
+09.14: 2019-11-29: [prj] upload to CTAN version v0.0.9
+09.13: 2019-11-26: [man] say something about barracuda.sty
+09.12: 2019-11-26: [man] edit the section 'A more deep look' for clearness
+09.11: 2019-11-26: [prj] reformat todo file: no more date at line end
+09.10: 2019-11-26: [svg] take dimensions as scaled point and then mm
+09.09: 2019-11-26: [prj] every dev task ends with a repository commit
+09.08: 2019-11-25: [prj] .gitignore .out file
+09.07: 2019-11-25: [svg] support for text
+09.06: 2019-11-25: [man] time to get an usable manual even if minimal
+09.05: 2019-11-23: [chk] some new test files
+09.04: 2019-11-23: [dev] new barracuda methods save() and hbox()
+09.03: 2019-11-20: [svg] driver first run
+09.02: 2019-11-10: [dev] implement ga opcode for line-join style and line-cap style
+09.01: 2019-11-10: [prj] make lib-parseopt a separated project
+
+Completed tasks:
+
+<Version 0.0.8> move costructors to the barcode abstract class 🎉 2019-11-09
+Task 8.5: adopted new Barcode costructors in the EAN encoder 2019-11-09
+Task 8.4: adopted new Barcode costructors in the ITF encoder 2019-11-09
+Task 8.3: adopted new Barcode costructors in the Code128 encoder 2019-11-09
+Task 8.2: adopted new Barcode costructors in the Code39 encoder 2019-11-04
+Task 8.1: new costructor method in the barcode superclass 2019-11-04
+
+<Version 0.0.7> code refactoring for ga-canvas 🎉 2019-11-02
+Task 7.5: recompile all the test files 2019-11-02
+Task 7.4: new functions canvas:encode_<obj>() 2019-11-02
+Task 7.3: text position options for Code39 became two indipendent 2019-11-02
+Task 7.2: added a new code39 test file (and bugs fixed) 2019-11-02
+Task 7.1: added subdirectories in the test tree 2019-11-02
+
+<Version 0.0.6> implement Interleaved 2 of 5 encoder 🎉 2019-07-02
+Task 6.4: test files 2019-07-02
+Task 6.3: add bearer bars for itf encoder 2019-07-02
+Task 6.2: check digit capability for itf 2 of 5 encoder 2019-07-02
+Task 6.1: implement basic Interleaved 2 of 5 encoder 2019-06-29
+
+<Version 0.0.5> implement Code128 and EAN family encoders 🎉 2019-01-27
+Task 5.5: test file 2019-01-27
+Task 5.4: implement EAN2 variant 2019-01-26
+Task 5.3: implement EAN5 variant 2019-01-26
+Task 5.2: new family encoder concept 2019-01-25
+Task 5.1: implement EAN13 encoder 2019-01-12
+Task 4.4: refactoring param iterator 2018-12-30
+Task 4.3: test the local system of option set up for Code128 2018-12-30
+Task 4.2: test the local system of option set up for Code39 2018-12-30
+Task 4.1: test for ga-canvas 2018-12-29
+Task 3.3: opt in Code 39 and Code 128 symbol constructors 2018-12-24
+Task 3.2: focus on a new constructor in Barcode Class for
+ better encoder implementation 2018-12-21
+Task 3.1: import and refactoring previous Code128 encoder code 2018-12-16
+
+<Version 0.0.2> 🎉 2018-12-11
+Task 2.5: option text_gap for code39 2018-12-11
+Task 2.4: resolved the horizontal correction in spaced text 2018-12-11
+Task 2.3: further text option for the Code39 encoder 2018-12-06
+Task 2.2: include minimal text ability to the system
+Task 2.1: design and implement a basic framework
+
+<Version 0.0.1> open 0.0.1 alpha dev master branch 🎉 2018-11-30
diff --git a/macros/luatex/generic/barracuda/barracuda.pdf b/macros/luatex/generic/barracuda/barracuda.pdf
deleted file mode 100644
index 3554d40a4a..0000000000
--- a/macros/luatex/generic/barracuda/barracuda.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/luatex/generic/barracuda/doc/barracuda-ga-asm.pdf b/macros/luatex/generic/barracuda/doc/barracuda-ga-asm.pdf
new file mode 100644
index 0000000000..18ba18b9c2
--- /dev/null
+++ b/macros/luatex/generic/barracuda/doc/barracuda-ga-asm.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/doc/barracuda-ga-asm.tex b/macros/luatex/generic/barracuda/doc/barracuda-ga-asm.tex
new file mode 100644
index 0000000000..1c403455f8
--- /dev/null
+++ b/macros/luatex/generic/barracuda/doc/barracuda-ga-asm.tex
@@ -0,0 +1,148 @@
+% !TeX program = LuaLaTeX
+% Copyright (C) 2019 Roberto Giacomelli
+
+\documentclass{article}
+
+\usepackage{fontspec}
+\setmainfont{Libertinus Serif}
+
+\usepackage[margin=18mm]{geometry}
+\usepackage{array}
+\usepackage{booktabs}
+
+\newcolumntype{C}{>{\ttfamily}c}
+\newcolumntype{L}{>{\ttfamily}l}
+
+\begin{document}
+Goal: describe geometrical object like lines and rectangles
+mainly for a barcode drawing library.
+
+
+
+\section{\texttt{ga} instruction set}
+
+A graphic data specification format called '\texttt{ga}' \emph{graphic alchemy},
+or if you want \emph{generic graphic assembler}.
+
+\begin{verbatim}
+ga<DIM, UINT> := generic graphic assembler
+ <DIM> := numeric type parameter for dimension, for example f64 or i32
+ <UINT> := numeric type parameter for quantity, an unsigned integer, i.e. u8
+
+ga<DIM, UINT> := +Elem<DIM, UINT>
+
+Elem<DIM, UINT> := Code<u8> + Args<DIM, UINT>
+
+Code<u8> := State<u8> | Object<u8> | Fn<u8>
+ State<u8> := 1 -> 31 -- graphic properties
+ Object<u8> := 32 -> 239 -- graphic objects
+ Fn<u8> := 240 -> 255 -- functions
+
+Args<DIM, UINT> : <x: DIM> | <e: u8> | <n: UINT> | <c: CHARS>
+ <x: DIM> := a dimension value of type DIM
+ <e: u8> := an enumeration value of type u8 (unsigned byte)
+ <n: UINT> := an unsigned integer for multiplicity
+ <c: CHARS> := chars sequence ended with 0
+\end{verbatim}
+
+
+
+\section{Properties}
+
+Colors, linecap style etc\dots
+
+\noindent\begin{tabular}{CLlL}
+\toprule
+OpCode & Mnemonic key & Graphic property & Operands\\
+\midrule
+ 1 & pen\_thick & Line thick & <w: DIM>\\
+ 2 & line\_cap\_style & Line cap style & <e: u8>\\
+ 3 & line\_join\_style & Line join style & <e: u8>\\
+ 8 & color & ... \\
+\midrule
+30 & start\_bbox\_group & Stop to check the bounding box & -\\
+31 & end\_bbox\_group & Set a bounding box and restart to check & <x1: DIM> <y1: DIM> <x2: DIM> <y2: DIM>\\
+\bottomrule
+\end{tabular}
+
+
+
+\section{Objects}
+
+\subsection{Lines}
+
+A segment that starts from point P1 (x1, y1) and ends to P2 (x2, y2).
+
+\noindent\begin{tabular}{CLlL}
+\toprule
+OpCode & Mnemonic key & Graphic object & Operands\\
+\midrule
+32 & line & Line & <x1: DIM> <y1: DIM> <x2: DIM> <y2: DIM>\\
+33 & hline & Horizontal line & <x1: DIM> <x2: DIM> <y: DIM>\\
+34 & vline & Vertical line & <y1: DIM> <y2: DIM> <x: DIM>\\
+\midrule
+36 & vbar & Vertical bars & <y1: DIM> <y2: DIM> <b: UINT> <x1: DIM> <t1: DIM> ...\\
+37 & hbar & Horizontal bars & <x1: DIM> <x2: DIM> <b: UINT> <y1: DIM> <t1: DIM> ...\\
+\midrule
+38 & polyline & Open polyline & <n: UINT> <x1: DIM> <y1: DIM> <x2: DIM> <y2: DIM> ...\\
+39 & c\_polyline & Closed polyline & <n: UINT> <x1: DIM> <y1: DIM> <x2: DIM> <y2: DIM> ...\\
+\bottomrule
+\end{tabular}
+
+
+\subsection{Rectangles}
+
+\noindent\begin{tabular}{CLlL}
+\toprule
+OpCode & Mnemonic key & Graphic object & Operands\\
+\midrule
+ 48 & rect & Rectangle & <x1: DIM> <y1: DIM> <x2: DIM> <y2: DIM>\\
+ 49 & f\_rect & Filled rectangle & <x1: DIM> <y1: DIM> <x2: DIM> <y2: DIM>\\
+ 50 & rect\_size & Rectangle & <x1: DIM> <y1: DIM> <w: DIM> <h: DIM>\\
+ 51 & f\_rect\_size & Filled rectangle & <x1: DIM> <y1: DIM> <w: DIM> <h: DIM>\\
+
+\bottomrule
+\end{tabular}
+
+
+\subsection{Text}
+
+\noindent\begin{tabular}{CLl}
+\toprule
+OpCode & Mnemonic key & Graphic object/Operands\\
+\midrule
+ 130 & text & A text with several glyphs\\
+ & & \ttfamily <ax: FLOAT> <ay: FLOAT> <xpos: DIM> <ypos: DIM> <c: CHARS>\\
+\midrule
+ 131 & text\_xspaced & A text with glyphs equally spaced on its vertical axis\\
+ & & \ttfamily <x1: DIM> <xgap: DIM> <ay: FLOAT> <ypos: DIM> <c: CHARS>\\
+\midrule
+ 132 & text\_xwidth & Glyphs equally spaced on vertical axis between two x coordinates\\
+ & & \ttfamily <ay: FLOAT> <x1: DIM> <x2: DIM> <y: DIM> <c: CHARS>\\
+\midrule
+ & under design assessment\\
+ 140 & \_text\_group & Texts on the same baseline \\
+ & & \ttfamily <ay: DIM> <y: DIM> <n: UINT> <<xi: DIM> <ai: FLOAT> <ci: CHARS>> \\
+\bottomrule
+\end{tabular}
+
+
+\subsection{Function}
+
+
+\noindent\begin{tabular}{CLlL}
+\toprule
+OpCode & Mnemonic key & Function & Operands\\
+\midrule
+ 240 & move & Translate objects & <n: UINT> <dx: DIM> <dy: UINT>\\
+ 241 & copy & Copy object & <n: UINT> <c: UINT> <dx1: DIM> <dy1: UINT> ...\\
+ 242 & and\_copy & Place and copy objects & <n: UINT> <c: UINT> <dx1: DIM> <dy1: UINT> ...\\
+ 243 & grid & Copy next \(n\) objects on a grid & <n: UINT> <col: UINT> <row: UINT> <dx: DIM> <dy: DIM>\\
+ 244 & sl\_grid\\
+ 250 & mirror\\
+ 255 & comment & A string comment & <s: STRING>\\
+\bottomrule
+\end{tabular}
+
+
+\end{document}
diff --git a/macros/luatex/generic/barracuda/doc/barracuda-manual-tool.tex b/macros/luatex/generic/barracuda/doc/barracuda-manual-tool.tex
new file mode 100644
index 0000000000..9e5f5f8a47
--- /dev/null
+++ b/macros/luatex/generic/barracuda/doc/barracuda-manual-tool.tex
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/macros/luatex/generic/barracuda/doc/barracuda.pdf b/macros/luatex/generic/barracuda/doc/barracuda.pdf
new file mode 100644
index 0000000000..6472da10ee
--- /dev/null
+++ b/macros/luatex/generic/barracuda/doc/barracuda.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/doc/barracuda.tex b/macros/luatex/generic/barracuda/doc/barracuda.tex
new file mode 100644
index 0000000000..e5d6b6acdb
--- /dev/null
+++ b/macros/luatex/generic/barracuda/doc/barracuda.tex
@@ -0,0 +1,331 @@
+% !TeX program = LuaLaTeX
+% Copyright (C) 2019 Roberto Giacomelli
+% Barracuda manual main source file
+
+\documentclass[11pt]{article}
+\usepackage{fontspec}
+\usepackage{geometry}
+\usepackage{fancyvrb}
+\usepackage{graphicx}
+\usepackage{hyperref}
+
+% special macro for manual typesetting
+\input{barracuda-manual-tool}
+
+\hypersetup{
+pdfinfo={
+ Title={Barracuda manual},
+ Subject={Barcode printing package},
+ Author={Roberto Giacomelli},
+ Keywords={Barcode EAN Code128 Lua}
+}}
+
+\setmainfont{Libertinus Serif}
+\setmonofont{IBM Plex Sans Condensed}
+\fvset{
+ fontsize=\small,
+ frame=single,
+ labelposition=topline,
+ framesep=6pt
+}
+\geometry{
+ left=32mm,
+ right=40mm,
+ top=28mm,
+ bottom=28mm
+}
+\newcommand{\code}[1]{\texttt{#1}}
+\newcommand{\brcd}{\code{barracuda}}
+
+\author{Roberto Giacomelli\\\small email: \url{giaconet.mailbox@gmail.com}}
+\title{\code{barracuda} manual\\[1ex]
+\small \url{https://github.com/robitex/barracuda}}
+\date{\small 2019-12-04\\Version v0.0.9.1}
+
+\begin{document}
+\maketitle
+
+\abstract{%
+Welcome to the \brcd{} software project devoted to barcodes printing.
+
+This manual shows you how to print barcodes in your \TeX{} documents and how to
+export such graphic content to an external file, using \brcd{}.
+
+\brcd{} is written in Lua programming language and is free software released
+under the GPL 2 License.%
+}
+
+
+\section{Introduction}
+
+Barcode symbols are usually a sequence of vertical lines representing encoded
+data that can be retrived with special laser scanner or more simpler with a
+smartphone running dedicated apps. Almost every store item has a label with a
+printed barcode for automatic identification purpose.
+
+So far, \brcd{} supported symbologies are as the following:
+\begin{itemize}
+ \item Code 39,
+ \item Code 128,
+ \item EAN family (EAN 8, EAN 13, and the add-ons EAN 2 and EAN 5),
+ \item ITF 2of5, interleaved Two of Five.
+\end{itemize}
+
+The package provides drivers for different graphic format, at the moment are:
+\begin{itemize}
+ \item PDF Portable Document Format (require a modern \TeX{} engine),
+ \item SVG Scalable Vector Graphic.
+\end{itemize}
+
+The name \brcd{} is an assonance with the name Barcode. I started the project
+back in 2016 for getting barcode in my \TeX{} generated PDF documents, studying
+the Lua\TeX{} technology.
+
+
+\subsection{Manual Content}
+
+The manual is divided into three parts. At section~\ref{secEnter} the first look
+gives to the user a proof of concept to how to use and how works the package
+while the next parts present details like how to change the \emph{module} width
+of a EAN-13 barcode or how to implement a barcode symbology not already included
+in the package.
+
+The plan of the manual is (but some sections are not completed yet):
+\begin{description}
+\item[Part 1:] Get started
+\begin{itemize}
+ \item print your first barcode \( \to \) \ref{secEnter}
+ \item installing \brcd{} on your system \( \to \) \ref{secInstall}
+ \item \brcd{} \LaTeX{} package \( \to \) \ref{secLaTeXPkg}
+\end{itemize}
+\item[Part 2:] Advanced Work with \brcd{}
+\begin{itemize}
+ \item Lua framework description \( \to \) \ref{secFramework}
+ \item working example and use cases \( \to \) \ref{secExample}
+\end{itemize}
+\item[Part 3:] Reference and parameters
+\begin{itemize}
+ \item barcode symbology reference \( \to \) \ref{secBcRef}
+ \item \code{ga} specification
+ \item API reference \( \to \) \ref{secAPI}
+\end{itemize}
+\end{description}
+
+\subsection{Required knowledge and useful resources}
+
+The \brcd{} is a Lua package that can be executed by any Lua interpreter. To use
+it, it's necessary some knowledge of Lua programming language and a certain
+ability with the terminal of your computer system in order to accomplish command
+tasks or software installations.
+
+It's also possible to run \brcd{} directly from within a \TeX{} source file,
+compiled with a suitable typesetting engine like Lua\TeX{}. To do so a minimal
+\TeX{} system knowledge is required. As an example of this workflow you simply
+can look to this manual because itself is typesetted with LuaLa\TeX{}, running
+\brcd{} to include barcodes as a vector graphic object.
+
+Here is a collection of useful learning resources\dots
+
+%
+%
+%
+%
+
+
+\section{Get Started with Barracuda}
+\label{secEnter}
+
+The starting point to work with \brcd{} is always a plain text file with some
+code, late processed by a command line program with a Lua interpreter.
+
+As a practical example producing an EAN-13 barcode, in a text editor of your
+choice on a empty file called \code{first-run.lua}, type the following two lines
+of code:
+\medskip
+\begin{Verbatim}[label=\footnotesize\code{first-run.lua}]
+local barracuda = require "barracuda"
+barracuda:save("ean-13", "8006194056290", "my_barcode", "svg")
+\end{Verbatim}
+
+What you have done is to write a \emph{script}. If you have installed a Lua
+interpreter and \brcd{}, open a terminal and run the command:
+\begin{Verbatim}
+$ lua first-run.lua
+\end{Verbatim}
+
+You will see in the same directory of your script, appearing the new file
+\code{my\_barcode.svg} with the drawing:
+\begin{center}
+\includegraphics{image/8006194056290}
+\end{center}
+
+Coming back to the script \code{first-run.lua}, first of all, it's necessary to
+load the library with the standard statement \code{require()}. What that Lua
+function returns is an object---more precisely a table reference---where are
+stored every package features.
+
+We can now produce the EAN-13 barcode using the method \code{save()} of the
+\brcd{} object. The \code{save()} method takes in order the barcode symbology
+identifier, the data to be encoded as a string or also a whole number, the
+output file name and the optional output format.
+
+
+\subsection{Running Lua\TeX}
+
+Barracuda can also running inside Lua\TeX{} and the others Lua powered \TeX{}
+engine. The text source file is a bit difference respect to a Lua script: Lua
+code have to bring place as the argument of directlua primitive... we must use
+a box register of type horizontal...
+
+\begin{Verbatim}
+% !TeX program = LuaTeX
+\nopagenumbers
+\newbox\mybox
+\directlua{
+ local require "barracuda"
+ barracuda:hbox("ean-13", "8006194056290", "mybox")
+}\box\mybox
+\bye
+\end{Verbatim}
+
+The method \code{hbox()} works only with Lua\TeX{}.
+
+
+\subsection{A more deep look}
+
+Barracuda is designed to be modular and flexible. For example it is possible
+to draw different barcodes on the same canvas or tune barcode parameters.
+
+The main workflow to draw a barcode object reveals more details on internal
+structure. In fact, to draw an EAN-13 barcode we must do at least the following
+steps:
+\begin{enumerate}
+\item load the library,
+\item get a reference to the \code{Barcode} class,
+\item build an EAN encoder,
+\item build an EAN symbol passing data to a costructor,
+\item get a reference to a new canvas object,
+\item draw barcode on canvas,
+\item get a reference of driver object,
+\item address canvas toward a driver.
+\end{enumerate}
+
+Follow that step by step procedure the corresponding code is in the next
+listing:
+\begin{Verbatim}
+local barracuda = require "barracuda"
+local barcode = barracuda:get_barcode_class()
+
+local ean13, err_enc = barcode:new_encoder("ean-13")
+assert(ean13, err_enc)
+
+local symb, err_symb = ean13:from_string("8006194056290")
+assert(symb, err_symb)
+
+local canvas = barracuda:new_canvas()
+symb:append_ga(canvas)
+
+local driver = barracuda:get_driver()
+local ok, err_out = driver:save("svg", canvas, "my_barcode", "svg")
+assert(ok, err_out)
+\end{Verbatim}
+
+
+\section{Installing}
+\label{secInstall}
+
+\subsection{Installing `barracuda` for TeX Live}
+
+If you have TeX Live installed from CTAN or from DVD TeX Collection, check
+before any modification to your system if the package is already installed
+looking for \emph{installed} key in the output of the command:
+\begin{Verbatim}
+$ tlmgr show barracuda
+\end{Verbatim}
+
+If `barracuda` is not present, run the command:
+\begin{Verbatim}
+$ tlmgr install barracuda
+\end{Verbatim}
+
+If you have installed TeX Live via Linux OS repository try your distribution's
+package management system.
+
+It's also possible a manual installation:
+\begin{enumerate}
+\item Grab the sources from CTAN or \url{https://github.com/robitex/barracuda}.
+\item Unzip it at the root of one or your TDS trees.
+\item You may need to update some filename database after this, see your \TeX{}
+distribution's manual for details.
+\end{enumerate}
+
+\subsection{Installing for Lua}
+
+Manually copy \code{src} folder content to a suitable directory of your system
+that is reachable to Lua interpreter.
+
+
+\section{Barracuda \LaTeX{} Package}
+\label{secLaTeXPkg}
+
+The \LaTeX{} package delivered with \brcd{} is still under an early stage of
+development. The only macro available is \verb=\barracuda{encoder}{data}=.
+A simple example is the following source file for Lua\LaTeX{}:
+\begin{Verbatim}
+% !TeX program = LuaLaTeX
+\documentclass{article}
+\usepackage{barracuda}
+\begin{document}
+\leavevmode
+\barracuda{code39}{123ABC}\\
+\barracuda{code128}{123ABC}
+\end{document}
+\end{Verbatim}
+
+Every macro \verb=\barracuda= typesets a barcode symbol represented with the
+encoder defined in the first argument, the information defined by the second.
+
+
+\section{The Barracuda Framework}
+\label{secFramework}
+
+The \brcd{} package framework consists in indipendet modules: a barcode class
+hierarchy encoding a text into a barcode symbology; a geometrical library called
+\code{libgeo} representing several graphic object; an encoding library for the
+\code{ga} format (graphic assembler) several driver to "print" a ga stream
+into a file or a \TeX{} hbox register.
+
+To implement a barcode encoder you need to write a component called
+\emph{encoder} defining every parameters and producing the encoder class, while
+a driver must understand ga opcode stream and print the corresponding graphic
+object.
+
+Every barcode encoder come with a set of parameters, some of them can be
+reserved and can be setting up by the user only through the encoder.
+
+So, you can create many instances of the same encoder for a single barcode
+type, with its own parameter set.
+
+The basic idea is getting faster encoder, for which the user may set up
+paramenters at any level: barcode abstract class, encoder, down to a single
+symbol.
+
+Barcode class is completely indipendent from the ouput driver and viceversa.
+
+
+\section{Example and use cases}
+\label{secExample}
+
+TODO
+
+\section{Barcode Reference}
+\label{secBcRef}
+
+TODO
+
+\section{API reference}
+\label{secAPI}
+
+TODO
+
+\end{document}
diff --git a/macros/luatex/generic/barracuda/doc/image/8006194056290.pdf b/macros/luatex/generic/barracuda/doc/image/8006194056290.pdf
new file mode 100644
index 0000000000..8effe87846
--- /dev/null
+++ b/macros/luatex/generic/barracuda/doc/image/8006194056290.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/lib/barracuda.lua b/macros/luatex/generic/barracuda/src/barracuda.lua
index 33e81be24f..4d587ef952 100644
--- a/macros/luatex/generic/barracuda/lib/barracuda.lua
+++ b/macros/luatex/generic/barracuda/src/barracuda.lua
@@ -25,7 +25,7 @@
-- modules.
local Barracuda = {
- _VERSION = "barracuda v0.0.9",
+ _VERSION = "barracuda v0.0.9.1",
_NAME = "barracuda",
_DESCRIPTION = "Lua library for barcode printing",
_URL = "https://github.com/robitex/barracuda",
@@ -33,9 +33,9 @@ local Barracuda = {
}
-- essential sub-module loading
-Barracuda._libgeo = require "lib-geo.libgeo" -- basic vectorial objects
-Barracuda._gacanvas = require "lib-geo.gacanvas" -- ga stream library
-Barracuda._barcode = require "lib-barcode.barcode" -- barcode abstract class
+Barracuda._libgeo = require "lib-geo.brcd-libgeo" -- basic vectorial objects
+Barracuda._gacanvas = require "lib-geo.brcd-gacanvas" -- ga stream library
+Barracuda._barcode = require "lib-barcode.brcd-barcode" -- barcode abstract class
local Barcode = Barracuda._barcode
Barcode._libgeo = Barracuda._libgeo
@@ -48,7 +48,7 @@ end
-- where we place output driver library
function Barracuda:get_driver() --> Driver object, err
if not self._lib_driver then
- self._lib_driver = require "lib-driver.driver"
+ self._lib_driver = require "lib-driver.brcd-driver"
end
return self._lib_driver
end
diff --git a/macros/luatex/generic/barracuda/lib/lib-barcode/barcode.lua b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-barcode.lua
index ed6204528a..415719a2f4 100644
--- a/macros/luatex/generic/barracuda/lib/lib-barcode/barcode.lua
+++ b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-barcode.lua
@@ -4,7 +4,7 @@
-- Please see LICENSE.TXT for any legal information about present software
local Barcode = {
- _VERSION = "Barcode v0.0.5",
+ _VERSION = "Barcode v0.0.9",
_NAME = "Barcode",
_DESCRIPTION = "Barcode abstract class",
}
@@ -12,10 +12,10 @@ Barcode.__index = Barcode
-- barcode_type/submodule name
Barcode._available_enc = {-- keys must be lowercase
- code39 = "lib-barcode.code39",
- code128 = "lib-barcode.code128",
- ean = "lib-barcode.ean",
- i2of5 = "lib-barcode.i2of5", -- Interleaved 2 of 5
+ code39 = "lib-barcode.brcd-code39", -- Code 39
+ code128 = "lib-barcode.brcd-code128", -- Code128
+ ean = "lib-barcode.brcd-ean", -- EAN family (ISBN, EAN8, etc)
+ i2of5 = "lib-barcode.brcd-i2of5", -- Interleaved 2 of 5
}
Barcode._builder_instances = {} -- encoder builder instances repository
diff --git a/macros/luatex/generic/barracuda/lib/lib-barcode/code128.lua b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-code128.lua
index 317b3de8f8..317b3de8f8 100644
--- a/macros/luatex/generic/barracuda/lib/lib-barcode/code128.lua
+++ b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-code128.lua
diff --git a/macros/luatex/generic/barracuda/lib/lib-barcode/code39.lua b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-code39.lua
index a639619c63..a639619c63 100644
--- a/macros/luatex/generic/barracuda/lib/lib-barcode/code39.lua
+++ b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-code39.lua
diff --git a/macros/luatex/generic/barracuda/lib/lib-barcode/ean.lua b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-ean.lua
index 6893550a5c..6893550a5c 100644
--- a/macros/luatex/generic/barracuda/lib/lib-barcode/ean.lua
+++ b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-ean.lua
diff --git a/macros/luatex/generic/barracuda/lib/lib-barcode/i2of5.lua b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-i2of5.lua
index 8097b855f7..8097b855f7 100644
--- a/macros/luatex/generic/barracuda/lib/lib-barcode/i2of5.lua
+++ b/macros/luatex/generic/barracuda/src/lib-barcode/brcd-i2of5.lua
diff --git a/macros/luatex/generic/barracuda/lib/lib-driver/driver.lua b/macros/luatex/generic/barracuda/src/lib-driver/brcd-driver.lua
index 956c1f1e9d..4827a190c5 100644
--- a/macros/luatex/generic/barracuda/lib/lib-driver/driver.lua
+++ b/macros/luatex/generic/barracuda/src/lib-driver/brcd-driver.lua
@@ -7,7 +7,7 @@
-- All dimensions are in scaled point (sp)
local Driver = {
- _VERSION = "Driver v0.0.1",
+ _VERSION = "Driver v0.0.9",
_NAME = "Driver",
_DESCRIPTION = "Driver for ga graphic assembler stream",
}
@@ -17,9 +17,8 @@ Driver._drv_instance = {} -- driver instances repository
-- driver_type/submodule name
Driver._drv_available_drv = { -- lowercase keys please
- native = "lib-driver.drv-pdfliteral", -- only LuaTeX driver
- svg = "lib-driver.drv-svg",
- -- tikz = "lib-driver.drv-tikz",
+ native = "lib-driver.brcd-drv-pdfliteral", -- only LuaTeX driver
+ svg = "lib-driver.brcd-drv-svg",
}
function Driver:_get_driver(id_drv) --> object, err
diff --git a/macros/luatex/generic/barracuda/lib/lib-driver/drv-pdfliteral.lua b/macros/luatex/generic/barracuda/src/lib-driver/brcd-drv-pdfliteral.lua
index 50baea1472..50baea1472 100644
--- a/macros/luatex/generic/barracuda/lib/lib-driver/drv-pdfliteral.lua
+++ b/macros/luatex/generic/barracuda/src/lib-driver/brcd-drv-pdfliteral.lua
diff --git a/macros/luatex/generic/barracuda/lib/lib-driver/drv-svg.lua b/macros/luatex/generic/barracuda/src/lib-driver/brcd-drv-svg.lua
index 7a2c5ab112..7a2c5ab112 100644
--- a/macros/luatex/generic/barracuda/lib/lib-driver/drv-svg.lua
+++ b/macros/luatex/generic/barracuda/src/lib-driver/brcd-drv-svg.lua
diff --git a/macros/luatex/generic/barracuda/lib/lib-geo/gacanvas.lua b/macros/luatex/generic/barracuda/src/lib-geo/brcd-gacanvas.lua
index cccc68f447..cccc68f447 100644
--- a/macros/luatex/generic/barracuda/lib/lib-geo/gacanvas.lua
+++ b/macros/luatex/generic/barracuda/src/lib-geo/brcd-gacanvas.lua
diff --git a/macros/luatex/generic/barracuda/lib/lib-geo/libgeo.lua b/macros/luatex/generic/barracuda/src/lib-geo/brcd-libgeo.lua
index fd53ca6509..fd53ca6509 100644
--- a/macros/luatex/generic/barracuda/lib/lib-geo/libgeo.lua
+++ b/macros/luatex/generic/barracuda/src/lib-geo/brcd-libgeo.lua
diff --git a/macros/luatex/generic/barracuda/example/01-latex-code39.pdf b/macros/luatex/generic/barracuda/test/test-barracuda-package/01-barracuda-latex-test.pdf
index d40c55f46c..a075d25db1 100644
--- a/macros/luatex/generic/barracuda/example/01-latex-code39.pdf
+++ b/macros/luatex/generic/barracuda/test/test-barracuda-package/01-barracuda-latex-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/example/01-latex-code39.tex b/macros/luatex/generic/barracuda/test/test-barracuda-package/01-barracuda-latex-test.tex
index c74935ed8d..33a81aeb5d 100644
--- a/macros/luatex/generic/barracuda/example/01-latex-code39.tex
+++ b/macros/luatex/generic/barracuda/test/test-barracuda-package/01-barracuda-latex-test.tex
@@ -1,14 +1,13 @@
% !TeX program = LuaLaTeX
% Copyright (C) 2019 Roberto Giacomelli
-\documentclass{article}
+% test file: make a Code39 barcodes in a LaTeX document
+\documentclass{article}
\usepackage{barracuda}
\begin{document}
-
A\barracuda{code39}{123QWE}A
-
\end{document}
diff --git a/macros/luatex/generic/barracuda/example/001-code128-test.lua b/macros/luatex/generic/barracuda/test/test-code128/001-code128-test.lua
index 78645612dc..78645612dc 100644
--- a/macros/luatex/generic/barracuda/example/001-code128-test.lua
+++ b/macros/luatex/generic/barracuda/test/test-code128/001-code128-test.lua
diff --git a/macros/luatex/generic/barracuda/test/test-code128/002-code128-test.pdf b/macros/luatex/generic/barracuda/test/test-code128/002-code128-test.pdf
new file mode 100644
index 0000000000..c3c8460bc7
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code128/002-code128-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/test/test-code128/002-code128-test.tex b/macros/luatex/generic/barracuda/test/test-code128/002-code128-test.tex
new file mode 100644
index 0000000000..eeaf60e483
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code128/002-code128-test.tex
@@ -0,0 +1,125 @@
+% !TeX program = LuaTeX
+% Copyright (C) 2019 Roberto Giacomelli
+
+\newbox\mybox
+\nopagenumbers
+
+Code 128 encoder test.
+
+Test 1: one simple barcode with default parameter:
+
+\directlua{
+barracuda = require "barracuda"
+}
+
+\directlua{
+local barcode = barracuda:get_barcode_class()
+
+local c128, err = barcode:new_encoder("code128")
+assert(not err, err)
+
+local symbo, err = c128:from_string("5465468132546812")
+assert(not err, err)
+
+local canvas = barracuda:new_canvas()
+symbo:append_ga(canvas)
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}
+\vrule A\vrule\box\mybox \vrule A\vrule
+
+Test 2: two symbols, different anchor. The first symbol (more longer than the
+second one) takes the anchor parameters from the super class Barcode, while
+the second one takes anchors from itself:
+
+\directlua{
+local barcode = barracuda:get_barcode_class()
+local ok, err = barcode:set_param{ax = 1, ay = 1} % super class set up
+assert(ok, err)
+assert(barcode.ax == 1, "barcode ax is "..tostring(barcode.ax))
+
+local c128, err = barcode:enc_by_name("code128")
+assert(c128.ax == 1, "c128 ax is "..tostring(c128.ax))
+
+local s1, err = c128:from_string("12345678901234567890"); assert(s1, err)
+local s2, err = c128:from_string("0987654321", {ax = 0, ay = 0}); assert(s2, err)
+
+local s1_ax = s1:get_param("ax")
+assert(s1.ax == 1, "1 ax is "..tostring(s1.ax))
+local s2_ax = s2:get_param("ax")
+assert(s2.ax == 0, "0 ax is "..tostring(s2.ax))
+
+local canvas = barracuda:new_canvas()
+s1:append_ga(canvas)
+s2:append_ga(canvas)
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}\box\mybox
+
+Test 3: play with the barcodes height (ydim parameter). The vertical anchor ay
+will take to super class Barcode, previously set to 1.0. So, the symbols will
+be aligned to the top:
+
+\directlua{
+local c128, err = barracuda:get_barcode_class()
+ :enc_by_name "code128"; assert(c128, err)
+
+local s, err = c128:from_string("123456"); assert(s, err)
+local canvas = barracuda:new_canvas()
+s:append_ga(canvas)
+
+local ok, err = s:set_param("ydim", tex.sp "30mm")
+s:append_ga(canvas, tex.sp "20mm")
+
+local ok, err = s:set_param("ydim", tex.sp "60mm")
+s:append_ga(canvas, tex.sp "40mm")
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}\box\mybox
+
+Test 4: set up vertical anchor globally to 0.0, locally to the encoder to 0.5
+and locally to 1.0:
+
+\directlua{
+local barcode = barracuda:get_barcode_class()
+% set ay globally to 0.0
+local ok, err = barcode:set_param("ay", 0); assert(ok, err)
+
+local c128, err = barcode:enc_by_name "code128"; assert(c128, err)
+local s, err = c128:from_string("ABCDEFGHI"); assert(s, err)
+
+local canvas = barracuda:new_canvas()
+local _, err = s:append_ga(canvas); assert(not err, err)
+
+% set ay to 0.5 for the encoder
+local ok, err = c128:set_param("ay", 0.5); assert(ok, err)
+local _, err = s:append_ga(canvas, tex.sp "30mm"); assert(not err, err)
+% set locally to the symbol ay to 1.0
+local ok, err = s:set_param("ay", 1)
+local _, err = s:append_ga(canvas, tex.sp "60mm"); assert(not err, err)
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}\box\mybox
+
+Test 5: uint() costructor and save a file with PDF literal code:
+
+\directlua{
+local barcode = barracuda:get_barcode_class()
+local c128, err = barcode:enc_by_name("code128"); assert(c128, err)
+local s, e = c128:from_uint(1234567890); assert(s, e)
+local canvas = barracuda:new_canvas()
+local _, errc = s:append_ga(canvas); assert(not errc, errc)
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+drv:save("native", canvas, "02-05-pdfliteral")
+}\box\mybox
+
+That's all folk!
+
+\bye
+
+function Driver:save(id_drv, ga, filename, ext) --> ok, err \ No newline at end of file
diff --git a/macros/luatex/generic/barracuda/test/test-code128/02-05-pdfliteral.txt b/macros/luatex/generic/barracuda/test/test-code128/02-05-pdfliteral.txt
new file mode 100644
index 0000000000..fe16d33c50
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code128/02-05-pdfliteral.txt
@@ -0,0 +1,43 @@
+q
+-53.574521 -14.173154 1.190545 28.346308 re
+-51.788704 -14.173154 0.595272 28.346308 re
+-50.002887 -14.173154 1.785817 28.346308 re
+f
+S
+-47.026524 -14.173154 0.595272 28.346308 re
+-45.835979 -14.173154 1.190545 28.346308 re
+-43.454889 -14.173154 1.785817 28.346308 re
+f
+S
+-40.478527 -14.173154 0.595272 28.346308 re
+-38.097437 -14.173154 0.595272 28.346308 re
+-36.906892 -14.173154 1.190545 28.346308 re
+f
+S
+-33.930530 -14.173154 1.785817 28.346308 re
+-30.358895 -14.173154 0.595272 28.346308 re
+-29.168350 -14.173154 1.190545 28.346308 re
+f
+S
+-27.382533 -14.173154 1.190545 28.346308 re
+-23.810898 -14.173154 0.595272 28.346308 re
+-22.620353 -14.173154 0.595272 28.346308 re
+f
+S
+-20.834536 -14.173154 1.190545 28.346308 re
+-19.048719 -14.173154 2.381090 28.346308 re
+-16.072356 -14.173154 1.190545 28.346308 re
+f
+S
+-14.286539 -14.173154 0.595272 28.346308 re
+-12.500722 -14.173154 2.381090 28.346308 re
+-8.929087 -14.173154 0.595272 28.346308 re
+f
+S
+-7.738542 -14.173154 1.190545 28.346308 re
+-4.762180 -14.173154 1.785817 28.346308 re
+-2.381090 -14.173154 0.595272 28.346308 re
+-1.190545 -14.173154 1.190545 28.346308 re
+f
+S
+Q \ No newline at end of file
diff --git a/macros/luatex/generic/barracuda/example/c128-123.svg b/macros/luatex/generic/barracuda/test/test-code128/c128-123.svg
index 9f5b5847aa..9f5b5847aa 100644
--- a/macros/luatex/generic/barracuda/example/c128-123.svg
+++ b/macros/luatex/generic/barracuda/test/test-code128/c128-123.svg
diff --git a/macros/luatex/generic/barracuda/test/test-code39/001-code39-test.lua b/macros/luatex/generic/barracuda/test/test-code39/001-code39-test.lua
new file mode 100644
index 0000000000..e4a8569e93
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code39/001-code39-test.lua
@@ -0,0 +1,41 @@
+-- Copyright (C) 2019 Roberto Giacomelli
+-- test Code 39 encoder
+
+local barracuda = require "barracuda"
+
+for k, v in pairs(barracuda) do
+ print(k,v)
+end
+
+local barcode = barracuda:get_barcode_class()
+
+local c39, err = barcode:new_encoder("code39")
+assert(not err, err)
+
+print(c39._NAME)
+print(c39._VERSION)
+
+local info = c39:info()
+
+print("encoder name = ", info.name)
+print("description = ", info.description)
+
+for k, tp in ipairs(info.param) do
+ print(k, tp.name, tp.value)
+end
+
+local symb = c39:from_string("123")
+
+print("print internal representation of chars")
+for _, c in ipairs(symb.code) do
+ print(c)
+end
+print()
+
+local canvas = barracuda:new_canvas()
+symb:append_ga(canvas)
+
+-- native driver
+local drv = barracuda:get_driver()
+
+for _, code in ipairs(canvas._data) do print(code) end
diff --git a/macros/luatex/generic/barracuda/test/test-code39/002-code39-test.pdf b/macros/luatex/generic/barracuda/test/test-code39/002-code39-test.pdf
new file mode 100644
index 0000000000..060a61e892
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code39/002-code39-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/test/test-code39/002-code39-test.tex b/macros/luatex/generic/barracuda/test/test-code39/002-code39-test.tex
new file mode 100644
index 0000000000..73f91aac43
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code39/002-code39-test.tex
@@ -0,0 +1,120 @@
+% !TeX program = LuaTeX
+% Copyright (C) 2019 Roberto Giacomelli
+
+\newbox\mybox
+\nopagenumbers
+
+Test 1: Code 39 symbol with default parameters:
+
+\directlua{
+local barracuda = require "barracuda"
+local c39, err = barracuda:get_barcode_class()
+ :new_encoder("code39")
+assert(not err, err)
+
+local symbol, err = c39:from_string("ABC12QJ31")
+assert(not err, err)
+
+local canvas = barracuda:new_canvas()
+symbol:append_ga(canvas)
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}
+\box\mybox
+
+Test 2: get the reference of the previous encoder and typeset two
+Code 39 symbols on the same canvas, one above to the other:
+
+\directlua{
+local barracuda = require "barracuda"
+local c39, err = barracuda:get_barcode_class()
+ :enc_by_name("code39")
+ assert(c39, err)
+
+local s1, err = c39:from_string("ZKPQJ31"); assert(s1, err)
+local s2, err = c39:from_string("RTFG746", {text_vpos="top"}); assert(s2, err)
+
+local canvas = barracuda:new_canvas()
+s1:append_ga(canvas)
+
+local h2 = s2:get_param("height")
+s2:append_ga(canvas, 0.0, h2 + tex.sp "5pt")
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}
+\box\mybox
+
+Test 3: with the same encoder print a symbol, change globally the height,
+and reprint the same symbol again on the same canvas:
+
+\directlua{
+local barracuda = require "barracuda"
+local c39, err = barracuda:get_barcode_class()
+ :enc_by_name("code39")
+ assert(c39, err)
+
+local s1, err = c39:from_string("ZKPQJ31"); assert(s1, err)
+
+local canvas = barracuda:new_canvas()
+s1:append_ga(canvas)
+
+local h = s1:get_param("height")
+c39:set_param("height", 2*h)
+c39:set_param {text_vpos = "top"}
+
+s1:append_ga(canvas, 0.0, h + tex.sp "5pt")
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}
+\box\mybox
+
+Test 4: do the same in test 3 but change locally parameters as
+height and text properties:
+
+\directlua{
+local barracuda = require "barracuda"
+local c39, err = barracuda:get_barcode_class()
+ :enc_by_name("code39")
+ assert(c39, err)
+
+local s1, err = c39:from_string("0123456789"); assert(s1, err)
+
+local canvas = barracuda:new_canvas()
+s1:append_ga(canvas)
+local h, err = s1:get_param("height"); assert(h, err)
+local ok, err = s1:set_param{
+ height = h/2,
+ text_enabled = true,
+ text_vpos = "bottom",
+ text_hpos = "spaced",
+ text_star = true,
+ ay = 1,
+}; assert(ok, err)
+s1:append_ga(canvas, 0.0, - tex.sp "5pt")
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}
+\box\mybox
+
+Test 5: create a new encoder with a large module value:
+
+\directlua{
+local barracuda = require "barracuda"
+local barcode = barracuda:get_barcode_class()
+
+local c39, err = barcode:new_encoder("code39", "e2", {module = tex.sp "0.5mm"})
+assert(c39, err)
+
+local s1, err = c39:from_string("02040608"); assert(s1, err)
+
+local canvas = barracuda:new_canvas()
+s1:append_ga(canvas)
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}
+\box\mybox
+
+\bye
diff --git a/macros/luatex/generic/barracuda/example/003-code39-test.pdf b/macros/luatex/generic/barracuda/test/test-code39/003-code39-test.pdf
index 4625a40010..66b04e61e3 100644
--- a/macros/luatex/generic/barracuda/example/003-code39-test.pdf
+++ b/macros/luatex/generic/barracuda/test/test-code39/003-code39-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/example/003-code39-test.tex b/macros/luatex/generic/barracuda/test/test-code39/003-code39-test.tex
index a4ba3d6e81..a4ba3d6e81 100644
--- a/macros/luatex/generic/barracuda/example/003-code39-test.tex
+++ b/macros/luatex/generic/barracuda/test/test-code39/003-code39-test.tex
diff --git a/macros/luatex/generic/barracuda/test/test-code39/004-code39-test.pdf b/macros/luatex/generic/barracuda/test/test-code39/004-code39-test.pdf
new file mode 100644
index 0000000000..3c96d9233b
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code39/004-code39-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/test/test-code39/004-code39-test.tex b/macros/luatex/generic/barracuda/test/test-code39/004-code39-test.tex
new file mode 100644
index 0000000000..559dc94383
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code39/004-code39-test.tex
@@ -0,0 +1,46 @@
+% !TeX program = LuaTeX
+% Copyright (C) 2019 Roberto Giacomelli
+
+\newbox\mybox
+\nopagenumbers
+
+Test 4: check uint costructor:
+
+\directlua{
+barracuda = require "barracuda"
+local c39, err = barracuda:get_barcode_class()
+ :new_encoder("code39")
+assert(not err, err)
+local err
+local symbol
+symbol, err = c39:from_uint(0, {text_hpos="center"})
+assert(not err, err)
+
+local canvas = barracuda:new_canvas()
+symbol:append_ga(canvas)
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}
+\box\mybox
+
+\directlua{
+local c39, err = barracuda:get_barcode_class()
+ :enc_by_name("code39")
+assert(c39, err)
+local e
+local symbol
+symbol, e = c39:from_uint(0123456789, {text_hpos="spaced",text_star=true})
+assert(not e, e)
+
+local canvas = barracuda:new_canvas()
+symbol:append_ga(canvas)
+
+local drv = barracuda:get_driver()
+drv:ga_to_hbox(canvas, "mybox")
+}
+\box\mybox
+
+\bye
+
+
diff --git a/macros/luatex/generic/barracuda/test/test-code39/005-code39-test.lua b/macros/luatex/generic/barracuda/test/test-code39/005-code39-test.lua
new file mode 100644
index 0000000000..4ac0ff171d
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code39/005-code39-test.lua
@@ -0,0 +1,8 @@
+
+-- Code 39 test file number 5
+
+local barracuda = require "barracuda"
+barracuda:save("code39", "ABCDEFG", "my_barcode")
+
+-- end of test file
+
diff --git a/macros/luatex/generic/barracuda/example/006-code39-test.lua b/macros/luatex/generic/barracuda/test/test-code39/006-code39-test.lua
index d33ad4ffaf..d33ad4ffaf 100644
--- a/macros/luatex/generic/barracuda/example/006-code39-test.lua
+++ b/macros/luatex/generic/barracuda/test/test-code39/006-code39-test.lua
diff --git a/macros/luatex/generic/barracuda/example/006-six.svg b/macros/luatex/generic/barracuda/test/test-code39/006-six.svg
index 25ce8bb34c..25ce8bb34c 100644
--- a/macros/luatex/generic/barracuda/example/006-six.svg
+++ b/macros/luatex/generic/barracuda/test/test-code39/006-six.svg
diff --git a/macros/luatex/generic/barracuda/test/test-code39/my_barcode.svg b/macros/luatex/generic/barracuda/test/test-code39/my_barcode.svg
new file mode 100644
index 0000000000..426fb3de86
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-code39/my_barcode.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Barracuda package (https://github.com/robitex/barracuda) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="27.177857mm" height="10.873169mm"
+ viewBox="-2.539987 -7.999958 27.177857 10.873169"
+>
+ <g stroke="black">
+ <path d="M0.095249 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M0.666746 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M1.142994 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M1.714491 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M2.190738 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ </g>
+ <g stroke="black">
+ <path d="M2.666986 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M3.143233 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M3.524231 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M4.095728 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M4.571976 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M5.048223 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M5.524471 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M6.000718 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M6.572215 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M7.048463 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M7.619960 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M8.191457 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M8.667704 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M9.239201 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M9.620199 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ </g>
+ <g stroke="black">
+ <path d="M10.001197 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M10.382195 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M10.858443 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M11.525189 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M12.001437 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M12.572934 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M13.049181 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M13.525429 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M14.192175 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M14.573173 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ </g>
+ <g stroke="black">
+ <path d="M14.954171 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M15.430419 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M16.001916 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M16.668662 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M17.049660 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ </g>
+ <g stroke="black">
+ <path d="M17.430658 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M17.811656 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M18.192654 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M18.859401 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M19.430898 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M19.907145 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M20.478642 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ <path d="M20.954890 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M21.526387 -7.999958V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M22.002634 -7.999958V-0.000000" style="stroke-width:0.190499"/>
+ </g>
+ <text x="0.000000" y="2.873212" font-family="Verdana" font-size="2.877000">
+ ABCDEFG </text>
+</svg>
+
diff --git a/macros/luatex/generic/barracuda/example/001-13-ean-test.pdf b/macros/luatex/generic/barracuda/test/test-ean/001-13-ean-test.pdf
index 925a8ad8f0..0e8abb933f 100644
--- a/macros/luatex/generic/barracuda/example/001-13-ean-test.pdf
+++ b/macros/luatex/generic/barracuda/test/test-ean/001-13-ean-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/example/001-13-ean-test.tex b/macros/luatex/generic/barracuda/test/test-ean/001-13-ean-test.tex
index c0a4db3894..c0a4db3894 100644
--- a/macros/luatex/generic/barracuda/example/001-13-ean-test.tex
+++ b/macros/luatex/generic/barracuda/test/test-ean/001-13-ean-test.tex
diff --git a/macros/luatex/generic/barracuda/test/test-ean/002-ean-test.pdf b/macros/luatex/generic/barracuda/test/test-ean/002-ean-test.pdf
new file mode 100644
index 0000000000..568050371c
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ean/002-ean-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/test/test-ean/002-ean-test.tex b/macros/luatex/generic/barracuda/test/test-ean/002-ean-test.tex
new file mode 100644
index 0000000000..2c82373b61
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ean/002-ean-test.tex
@@ -0,0 +1,12 @@
+% !TeX program = LuaTeX
+\nopagenumbers
+\newbox\mybox
+\directlua{
+ local barracuda = require "barracuda"
+ barracuda:hbox("ean-13", "8006194056290", "mybox")
+}
+\pagewidth=80mm
+\pageheight=60mm
+\box\mybox
+\bye
+
diff --git a/macros/luatex/generic/barracuda/example/003-ean-test.pdf b/macros/luatex/generic/barracuda/test/test-ean/003-ean-test.pdf
index e03c2d48d7..baa5a5b9cd 100644
--- a/macros/luatex/generic/barracuda/example/003-ean-test.pdf
+++ b/macros/luatex/generic/barracuda/test/test-ean/003-ean-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/example/003-ean-test.tex b/macros/luatex/generic/barracuda/test/test-ean/003-ean-test.tex
index 59b17c4c07..59b17c4c07 100644
--- a/macros/luatex/generic/barracuda/example/003-ean-test.tex
+++ b/macros/luatex/generic/barracuda/test/test-ean/003-ean-test.tex
diff --git a/macros/luatex/generic/barracuda/example/004-ean-test.lua b/macros/luatex/generic/barracuda/test/test-ean/004-ean-test.lua
index 017e0725b8..017e0725b8 100644
--- a/macros/luatex/generic/barracuda/example/004-ean-test.lua
+++ b/macros/luatex/generic/barracuda/test/test-ean/004-ean-test.lua
diff --git a/macros/luatex/generic/barracuda/example/8006194056290.svg b/macros/luatex/generic/barracuda/test/test-ean/8006194056290.svg
index f7965e94d4..f7965e94d4 100644
--- a/macros/luatex/generic/barracuda/example/8006194056290.svg
+++ b/macros/luatex/generic/barracuda/test/test-ean/8006194056290.svg
diff --git a/macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.pdf b/macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.pdf
new file mode 100644
index 0000000000..b8a7477c7f
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.tex b/macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.tex
new file mode 100644
index 0000000000..1a5ed80d0c
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.tex
@@ -0,0 +1,740 @@
+% !TeX program = LuaTeX
+% test for ga-canvas pdfliteral driver
+%
+% Copyright (C) 2019 Roberto Giacomelli
+% see LICENSE.txt file
+
+---ga--- is a binary format as an istruction set similar to
+a sort of assembler language that describes simple graphic
+objects like lines and rectangles.
+This file contains tests aiming to check the pdfliteral
+driver capability to render such ga streams---usually a Lua
+array.
+
+The pdfliteral driver directly inserts PDF vector graphic
+primitives within the output and should be intented as the
+"native" driver of barracuda package.
+
+The complete reference of the ---ga--- format is available
+throgh out the content of the "ga-grammar.tex" file.
+
+Please note that all dimensions are in scaled point, the
+very small \TeX{} internal unit, in fact we have that
+65536sp = 1pt.
+
+Running the source file with luatex. The typesetting engine
+executes the directlua macro, so vector graphics appear in
+the PDF output file.
+
+\newbox\mybox
+\directlua{
+ driver = require [[lib-driver.brcd-driver]] % global Lua variables
+ pt = tex.sp [[1pt]] % 1pt = 65536sp
+}
+
+Let's start drawing an horizontal line 100pt long:
+\directlua{
+ local ga = {_data = {33, 0*pt, 100*pt, 0*pt}}
+ driver:ga_to_hbox(ga, [[mybox]])
+}\box\mybox
+
+or two different parallel lines 24pt long:
+\directlua{
+ local ga = {_data = {33, 0*pt, 24*pt, 0*pt, 33, 0*pt, 24*pt, 5*pt}}
+ driver:ga_to_hbox(ga, [[mybox]])
+}\box\mybox
+
+and again two horizontal lines 10pt thick, touching a corner:
+\directlua{
+ local ga = {_data = {
+ 1, 10*pt,
+ 33, -24*pt, 0*pt, -5*pt,
+ 33, 0*pt, 24*pt, 5*pt,
+ }}
+ driver:ga_to_hbox(ga, [[mybox]])
+}\box\mybox
+
+Several vertical lines with its horizontal limits:
+\directlua{
+ local ga = { _data = {
+ 34, -20*pt, 20*pt, 0*pt,
+ 34, -15*pt, 15*pt, 5*pt,
+ 34, -10*pt, 10*pt, 10*pt,
+ 34, -5*pt, 5*pt, 15*pt,
+ 34, -.5*pt, .5*pt, 20*pt,
+ 34, -5*pt, 5*pt, 25*pt,
+ 34, -10*pt, 10*pt, 30*pt,
+ 34, -15*pt, 15*pt, 35*pt,
+ 34, -20*pt, 20*pt, 40*pt,
+ 1, .05*pt,
+ 33, 0*pt, 40*pt, -20*pt,
+ 33, 0*pt, 40*pt, 20*pt,
+ }}
+ driver:ga_to_hbox(ga, [[mybox]])
+}\box\mybox
+
+Finally a little rectangle:
+\directlua{
+ local ga = {_data = {
+ 1, 5*pt,
+ 48, 0*pt, 0*pt, 15*pt, 10*pt,
+ }}
+ driver:ga_to_hbox(ga, [[mybox]])
+}\box\mybox
+
+\bigskip
+Test number 1: a vbar 2pt width, 20pt height:
+\directlua{
+ % vbar: <36> y1 y2 <nbars> x1 w1 x2 w2 ... xn wn
+ local ga = {_data = {36, 0, 20*pt, 1, 0.0, 2*pt}}
+ driver:ga_to_hbox(ga, [[mybox]])
+}\box\mybox
+
+\bigskip
+Test number 2: ten vbars in a row equally spaced by 10pt:
+\directlua{
+ local ga = {36, 0, 10*pt, 10,}
+ for i = 0, 9 do
+ ga[i*2 + 5] = 5*pt + i*20*pt
+ ga[i*2 + 6] = 10*pt
+ end
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 3: two series of vbars 10pt and 5pt large:
+\directlua{
+ local ga = {36, 0, 10*pt, 10,}
+ for i = 0, 9 do
+ ga[i*2 + 5] = 5*pt + i*20*pt
+ ga[i*2 + 6] = 10*pt
+ end
+ ga[25] = 36 % vbar opcode
+ ga[26] = 2.5*pt % y1
+ ga[27] = 7.5*pt % y2
+ ga[28] = 9 % number of bars
+ for i = 0, 8 do
+ ga[i*2 + 29] = 15*pt + i*20*pt
+ ga[i*2 + 30] = 5*pt
+ end
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 4: a bunch of thin vertical bars (25):
+\directlua{
+ local ga = {}
+ ga[1] = 36 % vbar opcode
+ ga[2] = 5*pt % y1
+ ga[3] = 25*pt % y2
+ ga[4] = 25 % number of bars
+ for i = 0, 24 do
+ ga[i*2 + 5] = 1*pt + i*4*pt
+ ga[i*2 + 6] = 2*pt
+ end
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule A\box\mybox A\vrule
+
+\bigskip
+Test number 5: two rows of a bunch of thin bars:
+\directlua{
+ local ga = {}
+ ga[1] = 36 % vbar opcode
+ ga[2] = 5*pt % y1
+ ga[3] = 25*pt % y2
+ ga[4] = 25 % number of bars
+ for i = 0, 24 do
+ ga[i*2 + 5] = 1*pt + i*4*pt
+ ga[i*2 + 6] = 2*pt
+ end
+ ga[55] = 36 % vbar opcode
+ ga[56] = 25*pt % y1
+ ga[57] = 45*pt % y2
+ ga[58] = 24 % number of bars
+ for i = 0, 23 do
+ ga[i*2 + 59] = 3*pt + i*4*pt
+ ga[i*2 + 60] = 2*pt
+ end
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 6: staircase of Vbars (manually data definition):
+\directlua{
+ local ga = {
+ 36, % vbar opcode
+ 0*pt, % y1
+ 20*pt, % y2
+ 1, % number of bars
+ 5*pt, % x
+ 10*pt, % w
+ 36, % vbar opcode
+ 20*pt, % y1
+ 40*pt, % y2
+ 1, % number of bars
+ 15*pt, % x
+ 10*pt, % w
+ 36, % vbar opcode
+ 40*pt, % y1
+ 60*pt, % y2
+ 1, % number of bars
+ 25*pt, % x
+ 10*pt, % w
+ }
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 7: vbars with spaced text, in three different rows:
+\directlua{
+ local ga = {}
+ ga[1] = 36 % vbar opcode
+ ga[2] = 0*pt % y1
+ ga[3] = 20*pt % y2
+ ga[4] = 8 % number of bars
+ for i = 1,8 do
+ ga[3 + i*2] = i * 2 * 5*pt % x coordinate of bar axis
+ ga[4 + i*2] = 5*pt % bar width
+ end
+ ga[21] = 36 % vbar opcode
+ ga[22] = 30*pt % y1
+ ga[23] = 50*pt % y2
+ ga[24] = 8 % number of bars
+ for i = 1,8 do
+ ga[23 + i*2] = i * 2 * 5*pt % x coordinate of bar axis
+ ga[24 + i*2] = 5*pt % bar width
+ end
+ % 131 <x1: FLOAT> <xgap: FLOAT> <ay: DIM> <ypos: DIM> <c: CHARS>
+ ga[41] = 131 % opcode text_xspaced
+ ga[42] = 10*pt % x coordinate of the first glyph axis
+ ga[43] = 10*pt % x gap among glyphs
+ ga[44] = 0.5 % half height
+ ga[45] = 25*pt % y coordinate of glyps
+ ga[46] = 65 % A
+ ga[47] = 66 % B
+ ga[48] = 67 % C
+ ga[49] = 68 % D
+ ga[50] = 69 % E
+ ga[51] = 70 % F
+ ga[52] = 71 % G
+ ga[53] = 72 % H
+ ga[54] = 0
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 8: spaced text (checking the correct vertical alignment):
+\directlua{
+ local ga = {}
+ ga[1] = 36 % vbar opcode
+ ga[2] = 0*pt % y1
+ ga[3] = 20*pt % y2
+ ga[4] = 8 % number of bars
+ for i = 1,8 do
+ ga[3 + i*2] = i * 2 * 5*pt % x coordinate of bar axis
+ ga[4 + i*2] = 1*pt % bar width
+ end
+ ga[21] = 36 % vbar opcode
+ ga[22] = 40*pt % y1
+ ga[23] = 60*pt % y2
+ ga[24] = 8 % number of bars
+ for i = 1,8 do
+ ga[23 + i*2] = i * 2 * 5*pt % x coordinate of bar axis
+ ga[24 + i*2] = 1*pt % bar width
+ end
+ % 131 <x1: FLOAT> <xgap: FLOAT> <ay: DIM> <ypos: DIM> <c: CHARS>
+ ga[41] = 131 % opcode text_xspaced
+ ga[42] = 10*pt % x coordinate of the first glyph axis
+ ga[43] = 10*pt % x gap among glyphs
+ ga[44] = 0.0 % half height
+ ga[45] = 30*pt % y coordinate of glyps
+ ga[46] = 65 % A
+ ga[47] = 66 % B
+ ga[48] = 67 % C
+ ga[49] = string.byte("Q")
+ ga[50] = 69 % E
+ ga[51] = 70 % F
+ ga[52] = 71 % G
+ ga[53] = 72 % H
+ ga[54] = 0
+ ga[55] = 131 % opcode text_xspaced
+ ga[56] = 10*pt % x coordinate of the first glyph axis
+ ga[57] = 10*pt % x gap among glyphs
+ ga[58] = 1.0 % half height
+ ga[59] = 30*pt % y coordinate of glyps
+ ga[60] = 49 % 1
+ ga[61] = 50 % 2
+ ga[62] = 51 % 3
+ ga[63] = 52 % 4
+ ga[64] = 53 % 5
+ ga[65] = 54 % 6
+ ga[66] = 55 % 7
+ ga[67] = 56 % 8
+ ga[68] = 0
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 9: spaced text, check correct vertical alignment:
+\directlua{
+ local ga = {}
+ ga[1] = 36 % vbar opcode
+ ga[2] = 0*pt % y1
+ ga[3] = 20*pt % y2
+ ga[4] = 8 % number of bars
+ for i = 1,8 do
+ ga[3 + i*2] = i * 2 * 5*pt % x coordinate of bar axis
+ ga[4 + i*2] = 8*pt % bar width
+ end
+ ga[21] = 36 % vbar opcode
+ ga[22] = 40*pt % y1
+ ga[23] = 60*pt % y2
+ ga[24] = 8 % number of bars
+ for i = 1,8 do
+ ga[23 + i*2] = i * 2 * 5*pt % x coordinate of bar axis
+ ga[24 + i*2] = 8*pt % bar width
+ end
+ % 131 <x1: FLOAT> <xgap: FLOAT> <ay: DIM> <ypos: DIM> <c: CHARS>
+ ga[41] = 131 % opcode text_xspaced
+ ga[42] = 10*pt % x coordinate of the first glyph axis
+ ga[43] = 10*pt % x gap among glyphs
+ ga[44] = 0.0 % half height
+ ga[45] = 20*pt % y coordinate of glyps
+ ga[46] = 65 % A
+ ga[47] = 66 % B
+ ga[48] = 67 % C
+ ga[49] = 68 % D
+ ga[50] = 69 % E
+ ga[51] = 70 % F
+ ga[52] = 71 % G
+ ga[53] = 72 % H
+ ga[54] = 0
+ ga[55] = 131 % opcode text_xspaced
+ ga[56] = 10*pt % x coordinate of the first glyph axis
+ ga[57] = 10*pt % x gap among glyphs
+ ga[58] = 1.0 % half height
+ ga[59] = 40*pt % y coordinate of glyps
+ ga[60] = 49 % 1
+ ga[61] = 50 % 2
+ ga[62] = 51 % 3
+ ga[63] = 52 % 4
+ ga[64] = 53 % 5
+ ga[65] = 54 % 6
+ ga[66] = 55 % 7
+ ga[67] = 56 % 8
+ ga[68] = 0
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 10: two centered texts aligned to the baseline:
+\directlua{
+ local ga = {}
+ % 130 <ax: FLOAT> <ay: FLOAT> <xpos: DIM> <ypos: DIM> <c: CHARS>
+ ga[ 1] = 130 % opcode text
+ ga[ 2] = 0.5 % ax relative x coordinate
+ ga[ 3] = 1.0 % ay relative y coordinate
+ ga[ 4] = 0.0 % x position
+ ga[ 5] = 0.0 % y position
+ ga[ 6] = 65 % A
+ ga[ 7] = string.byte("Q") % Q depth glyph
+ ga[ 8] = 67 % C
+ ga[ 9] = 0
+ ga[10] = 130 % opcode text
+ ga[11] = 0.5 % ax
+ ga[12] = 0.0 % ay
+ ga[13] = 0.0 % x
+ ga[14] = 0.0 % y
+ ga[15] = 48 % 0
+ ga[16] = 49 % 1
+ ga[17] = 50 % 2
+ ga[18] = 51 % 3
+ ga[19] = 52 % 4
+ ga[20] = 53 % 5
+ ga[21] = 54 % 6
+ ga[22] = 55 % 7
+ ga[23] = 56 % 8
+ ga[24] = 57 % 9
+ ga[25] = 0
+ driver:ga_to_hbox({_data = ga}, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+So far, we have manually build data for ga stream. Next we are going to
+use the ga-canvas library.
+
+\bigskip
+In fact, all the previous tests are rebuild with the ga-canvas library.
+
+Test 1: a vbar 2pt width, 20pt height:
+\directlua{
+ gacanvas = require "lib-geo.brcd-gacanvas"
+ local ga = gacanvas:new()
+ local vbar = {_yline = {0.0, 2*pt}}
+ local err = ga:encode_Vbar(vbar, 0.0, 0.0, 20*pt) % x, w
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\box\mybox
+
+\bigskip
+Test 2: ten vbars equally spaced by 10pt:
+\directlua{
+ local ga = gacanvas:new()
+ local data = {}
+ for i = 0, 9 do
+ data[i*2 + 1] = 5*pt + i*20*pt % x
+ data[i*2 + 2] = 10*pt % w
+ end
+ local bars = {_yline = data}
+ local err = ga:encode_Vbar(bars, 0.0, 0.0, 10*pt)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test 3: two series of vbars 10pt and 5pt large:
+\directlua{
+ local b1 = {}
+ for i = 0, 9 do
+ b1[i*2 + 1] = i*20*pt
+ b1[i*2 + 2] = 10*pt
+ end
+ local b2 = {}
+ for i = 0, 8 do
+ b2[i*2 + 1] = i*20*pt
+ b2[i*2 + 2] = 5*pt
+ end
+ local ga = gacanvas:new()
+ local err = ga:encode_Vbar({_yline=b1}, 0.0, 0.0, 10*pt)
+ assert(not err, err)
+ err = ga:encode_Vbar({_yline=b2}, 10.0*pt, 2.5*pt, 7.5*pt)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test 4: a bunch of thin bars:
+\directlua{
+ local b = {}
+ for i = 0, 24 do
+ b[i*2 + 1] = 1*pt + i*4*pt
+ b[i*2 + 2] = 2*pt
+ end
+ local ga = gacanvas:new()
+ local err = ga:encode_Vbar({_yline=b}, 0.0, 5*pt, 25*pt)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule{ }\box\mybox{ }\vrule
+
+\bigskip
+Test 5: two levels of a bunch of thin bars:
+\directlua{
+ local b = {}
+ for i = 0, 24 do
+ b[i*2 + 1] = i*4*pt
+ b[i*2 + 2] = 2*pt
+ end
+ local b = {_yline=b}
+ local ga = gacanvas:new()
+ local err = ga:encode_Vbar(b, 0.0, 5*pt, 25*pt)
+ assert(not err, err)
+ err = ga:encode_Vbar(b, 2*pt, 25*pt, 45*pt, b)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 6: staircase of bars (manual insertion of data):
+\directlua{
+ local b = {_yline={0.0, 10*pt}}
+ local ga = gacanvas:new()
+ local err = ga:encode_Vbar(b, 0.0, 0.0, 20*pt)
+ assert(not err, err)
+ err = ga:encode_Vbar(b, 10*pt, 20*pt, 40*pt)
+ assert(not err, err)
+ err = ga:encode_Vbar(b, 20*pt, 40*pt, 60*pt)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 7: vbars with spaced text, all in three rows:
+\directlua{
+ local b = {}
+ for i = 0,7 do
+ b[i*2+1] = i*10*pt
+ b[i*2+2] = 5*pt
+ end
+ local vb = {_yline=b}
+ local ga = gacanvas:new()
+ local err = ga:encode_Vbar(vb, 0.0, 0.0, 20*pt)
+ assert(not err, err)
+ local err = ga:encode_Vbar(vb, 0.0, 30*pt, 50*pt)
+ assert(not err, err)
+ local txt = {codepoint = {
+ 65, % A
+ 66, % B
+ 67, % C
+ 68, % D
+ 69, % E
+ 70, % F
+ 71, % G
+ 72, % H
+ }}
+ err = ga:encode_Text_xspaced(txt, 0.0, 10*pt, 25*pt, 0.5)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test 8: spaced text, check correct vertical alignment:
+\directlua{
+ local b = {}
+ for i = 0,7 do
+ b[i*2+1] = i*10*pt
+ b[i*2+2] = 2*pt
+ end
+ b = {_yline=b}
+ local ga = gacanvas:new()
+ local err = ga:encode_Vbar(b, 0.0, 0.0, 20*pt)
+ assert(not err, err)
+ local err = ga:encode_Vbar(b, 0.0, 40*pt, 60*pt)
+ assert(not err, err)
+ local c = { codepoint = {
+ 65, % A
+ 66, % B
+ 67, % C
+ string.byte("Q"),
+ 69, % E
+ 70, % F
+ 71, % G
+ 72, % H
+ }}
+ err = ga:encode_Text_xspaced(c, 0.0, 10*pt, 30*pt, 0.0)
+ assert(not err, err)
+ local n = { codepoint = {
+ 49, % 1
+ 50, % 2
+ 51, % 3
+ 52, % 4
+ 53, % 5
+ 54, % 6
+ 55, % 7
+ 56, % 8
+ }}
+ err = ga:encode_Text_xspaced(n, 0.0, 10*pt, 30*pt, 1.0)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 9: spaced text, check correct vertical alignment:
+\directlua{
+ local b = {}
+ for i = 0,7 do
+ b[i*2+1] = i*10*pt
+ b[i*2+2] = 8*pt
+ end
+ b = {_yline = b}
+ local ga = gacanvas:new()
+ local err = ga:encode_Vbar(b, 0.0, 0.0, 20*pt)
+ assert(not err, err)
+ local err = ga:encode_Vbar(b, 0.0, 40*pt, 60*pt)
+ assert(not err, err)
+ local c = { codepoint = {
+ 65, % A
+ 66, % B
+ 67, % C
+ string.byte("Q"),
+ 69, % E
+ 70, % F
+ 71, % G
+ 72, % H
+ }}
+ err = ga:encode_Text_xspaced(c, 0.0, 10*pt, 20*pt, 0.0)
+ assert(not err, err)
+ local n = { codepoint = {
+ 49, % 1
+ 50, % 2
+ 51, % 3
+ 52, % 4
+ 53, % 5
+ 54, % 6
+ 55, % 7
+ 56, % 8
+ }}
+ err = ga:encode_Text_xspaced(n, 0.0, 10*pt, 40*pt, 1.0)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule{ }\box\mybox{ }\vrule
+
+\bigskip
+Test number 10: two centered texts and baseline aligned:
+\directlua{
+ local n = { codepoint = {
+ 48, % 0
+ 49, % 1
+ 50, % 2
+ 51, % 3
+ 52, % 4
+ 53, % 5
+ 54, % 6
+ 55, % 7
+ 56, % 8
+ 57, % 9
+ }}
+ local ga = gacanvas:new()
+ local err = ga:encode_Text(n, 0, 0, 0.5, 0)
+ assert(not err, err)
+ local a = { codepoint = {
+ 65, % A
+ string.byte("Q"), % Q
+ 67, % C
+ }}
+ err = ga:encode_Text(a, 0, 0, 0.5, 1)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 11: two centered texts aligned:
+\directlua{
+ local n = { codepoint = {
+ 48, % 0
+ 49, % 1
+ 50, % 2
+ 51, % 3
+ 52, % 4
+ 53, % 5
+ 54, % 6
+ 55, % 7
+ 56, % 8
+ 57, % 9
+ }}
+ local ga = gacanvas:new()
+ local err = ga:encode_Text(n, 0, 0, 0.5, 1)
+ assert(not err, err)
+ local a = { codepoint = {
+ 65, % A
+ string.byte("Q"), % Q
+ 67, % C
+ }}
+ err = ga:encode_Text(a, 0, 0, 0.5, 0)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 12: text\_xwidth opcode:
+
+\directlua{
+ local n = { codepoint = {
+ 48, % 0
+ 49, % 1
+ 50, % 2
+ 51, % 3
+ 52, % 4
+ 53, % 5
+ 54, % 6
+ 55, % 7
+ 56, % 8
+ 57, % 9
+ }}
+ local ga = gacanvas:new()
+ local err = ga:encode_Text_xwidth(n, 0, tex.sp "5cm", 0, 0)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\vrule\hbox to 5cm{0 \hfill9}\vrule
+
+\bigskip
+Test number 13: text\_xwidth with different size:
+\smallskip
+
+\directlua{
+ local n = {codepoint = {
+ 48, % 0
+ 49, % 1
+ 50, % 2
+ 51, % 3
+ 52, % 4
+ 53, % 5
+ 54, % 6
+ 55, % 7
+ 56, % 8
+ 57, % 9
+ }}
+ local ga = gacanvas:new()
+ % (txt, x1, x2, ypos, ay) --> err
+ local err = ga:encode_Text_xwidth(n, tex.sp "0mm", tex.sp "50mm", 0, 0)
+ assert(not err, err)
+ local err = ga:encode_Text_xwidth(n, tex.sp "5mm", tex.sp "45mm", tex.sp "3mm", 0)
+ assert(not err, err)
+ local err = ga:encode_Text_xwidth(n, tex.sp "10mm", tex.sp "40mm", tex.sp "6mm", 0)
+ assert(not err, err)
+ local err = ga:encode_Text_xwidth(n, tex.sp "15mm", tex.sp "35mm", tex.sp "9mm", 0)
+ assert(not err, err)
+ local err = ga:encode_Text_xwidth(n, tex.sp "20mm", tex.sp "30mm", tex.sp "12mm", 0)
+ assert(not err, err)
+ local err = ga:encode_Text_xwidth(n, tex.sp "24mm", tex.sp "26mm", tex.sp "15mm", 0)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 14: place bars and text as text\_xwidth:
+\smallskip
+
+\directlua{
+ local b = {}
+ for i = 0, 9 do
+ b[i*2 + 1] = i*12*pt
+ b[i*2 + 2] = 0.4*pt
+ end
+ b = {_yline = b}
+ local n = {codepoint = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,}}
+ local ga = gacanvas:new()
+ % (vbar, x0, y1, y2) --> err
+ local err = ga:encode_Vbar(b, 0.0, 0*pt, 25*pt)
+ local err = ga:encode_Vbar(b, 0.0, 32*pt, 42*pt)
+ assert(not err, err)
+ % (txt, x1, x2, ypos, ay) --> err
+ local err = ga:encode_Text_xwidth(n, 0*pt, 108*pt, 25*pt, 0)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\smallskip
+\directlua{
+ local b = {}
+ for i = 0, 8 do
+ b[i*2 + 1] = i*12*pt
+ b[i*2 + 2] = 0.2*pt
+ end
+ b = {_yline = b}
+ local n = { 48, 49, 50, 51, string.byte([[x]]), 53, 54, 55, 56,}
+ n = {codepoint = n}
+ local ga = gacanvas:new()
+ % x0, y1, y2, bars
+ local err = ga:encode_Vbar(b, 0.0, 0*pt, 25*pt)
+ local err = ga:encode_Vbar(b, 0.0, 32*pt, 42*pt)
+ assert(not err, err)
+ % (txt, x1, x2, ypos, ay) --> err
+ local err = ga:encode_Text_xwidth(n, 0*pt, 96*pt, 25*pt, 0)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bigskip
+Test number 15: place text\_xwidth when text is only two chars long:
+
+\directlua{
+ local n = {codepoint = { 48, 56,}} % 0 and 8
+ local ga = gacanvas:new()
+ % (txt, x1, x2, ypos, ay) --> err
+ local err = ga:encode_Text_xwidth(n, 0*pt, 32*pt, 25*pt, 0)
+ assert(not err, err)
+ driver:ga_to_hbox(ga, [[mybox]])
+}\vrule\box\mybox\vrule
+
+\bye
diff --git a/macros/luatex/generic/barracuda/test/test-ga-svg/001-ga-svg-test.lua b/macros/luatex/generic/barracuda/test/test-ga-svg/001-ga-svg-test.lua
new file mode 100644
index 0000000000..2f932235cb
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ga-svg/001-ga-svg-test.lua
@@ -0,0 +1,28 @@
+-- test SVG driver output
+
+local barracuda = require "barracuda"
+local driver = barracuda:get_driver()
+
+local mm = 186467.9811 -- 1 mm in sp
+local ga1 = { _data = { 1, 1*mm,
+ 34, 10*mm, 100*mm, 0*mm, -- vline, y1, y2, x
+ 34, 20*mm, 90*mm, 10*mm,
+ 34, 30*mm, 80*mm, 20*mm,
+ 34, 40*mm, 70*mm, 30*mm,
+ 34, 50*mm, 60*mm, 40*mm,
+}}
+
+driver:save("svg", ga1, "test-01")
+
+local ga2 = { _data = {
+ 1, 5*mm,
+ 34, 0*mm, 50*mm, 2.5*mm,
+ 33, 0*mm, 50*mm, 40*mm,
+}}
+
+driver:save("svg", ga2, "test-02")
+
+
+
+
+
diff --git a/macros/luatex/generic/barracuda/test/test-ga-svg/002-ga-svg-test.lua b/macros/luatex/generic/barracuda/test/test-ga-svg/002-ga-svg-test.lua
new file mode 100644
index 0000000000..8f10d6dfbf
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ga-svg/002-ga-svg-test.lua
@@ -0,0 +1,18 @@
+-- test SVG driver output
+
+local barracuda = require "barracuda"
+local barcode = barracuda:get_barcode_class()
+local driver = barracuda:get_driver()
+
+local opt = {module = 15 * 0.0254 * 186467, height = 12 * 186467}
+
+local c39, err = barcode:new_encoder("code39", nil, opt)
+assert(not err, err)
+
+local symbol, err = c39:from_string("ABC000Z")
+assert(not err, err)
+
+local canvas = barracuda:new_canvas()
+symbol:append_ga(canvas)
+
+driver:save("svg", canvas, "test-code39") \ No newline at end of file
diff --git a/macros/luatex/generic/barracuda/test/test-ga-svg/test-01.svg b/macros/luatex/generic/barracuda/test/test-ga-svg/test-01.svg
new file mode 100644
index 0000000000..77e3ba6e0c
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ga-svg/test-01.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Barracuda package (https://github.com/robitex/barracuda) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="41.000000mm" height="90.000000mm"
+ viewBox="-0.500000 -100.000000 41.000000 90.000000"
+>
+ <path d="M0.000000 -100.000000V-10.000000"
+ style="stroke:#000000;stroke-width:1.000000"
+ />
+ <path d="M10.000000 -90.000000V-20.000000"
+ style="stroke:#000000;stroke-width:1.000000"
+ />
+ <path d="M20.000000 -80.000000V-30.000000"
+ style="stroke:#000000;stroke-width:1.000000"
+ />
+ <path d="M30.000000 -70.000000V-40.000000"
+ style="stroke:#000000;stroke-width:1.000000"
+ />
+ <path d="M40.000000 -60.000000V-50.000000"
+ style="stroke:#000000;stroke-width:1.000000"
+ />
+</svg>
+
diff --git a/macros/luatex/generic/barracuda/test/test-ga-svg/test-02.svg b/macros/luatex/generic/barracuda/test/test-ga-svg/test-02.svg
new file mode 100644
index 0000000000..ff7862b12f
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ga-svg/test-02.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Barracuda package (https://github.com/robitex/barracuda) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="50.000000mm" height="50.000000mm"
+ viewBox="0.000000 -50.000000 50.000000 50.000000"
+>
+ <path d="M2.500000 -50.000000V-0.000000"
+ style="stroke:#000000;stroke-width:5.000000"
+ />
+ <path d="M0.000000 -40.000000H50.000000"
+ style="stroke:#000000;stroke-width:5.000000"
+ />
+</svg>
+
diff --git a/macros/luatex/generic/barracuda/test/test-ga-svg/test-code39.svg b/macros/luatex/generic/barracuda/test/test-ga-svg/test-code39.svg
new file mode 100644
index 0000000000..8453a6bdeb
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-ga-svg/test-code39.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Barracuda package (https://github.com/robitex/barracuda) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="51.815727mm" height="14.873148mm"
+ viewBox="-3.809980 -11.999937 51.815727 14.873148"
+>
+ <g stroke="black">
+ <path d="M0.190499 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M1.333493 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M2.285988 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M3.428982 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M4.381477 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M5.333972 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M6.286467 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M7.048463 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M8.191457 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M9.143952 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ </g>
+ <g stroke="black">
+ <path d="M10.096447 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M11.048942 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M12.001437 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M13.144431 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M14.096926 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ </g>
+ <g stroke="black">
+ <path d="M15.239920 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M16.382914 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M17.335409 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M18.478403 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M19.240399 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M20.002395 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M20.764391 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M22.097884 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M23.240878 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M24.193373 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M24.955369 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M25.717365 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M27.050858 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M28.193852 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M29.146347 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M29.908343 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M30.670339 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M32.003832 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M33.146826 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M34.099321 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M34.861317 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M36.194810 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M37.337804 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M38.290299 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M39.052295 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <g stroke="black">
+ <path d="M39.814291 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M40.957285 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ <path d="M41.909779 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M43.052773 -11.999937V-0.000000" style="stroke-width:0.761996"/>
+ <path d="M44.005268 -11.999937V-0.000000" style="stroke-width:0.380998"/>
+ </g>
+ <text x="0.000000" y="2.873212" font-family="Verdana" font-size="2.877000">
+ ABC000Z </text>
+</svg>
+
diff --git a/macros/luatex/generic/barracuda/example/001-i2of5-test.pdf b/macros/luatex/generic/barracuda/test/test-i2of5/001-i2of5-test.pdf
index c46bb12d50..3aa107681c 100644
--- a/macros/luatex/generic/barracuda/example/001-i2of5-test.pdf
+++ b/macros/luatex/generic/barracuda/test/test-i2of5/001-i2of5-test.pdf
Binary files differ
diff --git a/macros/luatex/generic/barracuda/example/001-i2of5-test.tex b/macros/luatex/generic/barracuda/test/test-i2of5/001-i2of5-test.tex
index 43c652d66a..43c652d66a 100644
--- a/macros/luatex/generic/barracuda/example/001-i2of5-test.tex
+++ b/macros/luatex/generic/barracuda/test/test-i2of5/001-i2of5-test.tex