summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-09-21 03:02:01 +0000
committerNorbert Preining <norbert@preining.info>2021-09-21 03:02:01 +0000
commit32e0f5d0a5abc4f2b6c7341f19b854b5945c3ebd (patch)
treed88327cf96992788ed82a343f071bbbf2ad4cc84
parentc9fcf97bc045a9d020980c33b6c7c1ee5aedef99 (diff)
CTAN sync 202109210302
-rw-r--r--FILES.byname1545
-rw-r--r--FILES.byname.gzbin2388058 -> 2388331 bytes
-rw-r--r--FILES.last07days1117
-rw-r--r--graphics/mcf2graph/CHANGELOG14
-rw-r--r--graphics/mcf2graph/README19
-rw-r--r--graphics/mcf2graph/mcf2graph.mf617
-rw-r--r--graphics/mcf2graph/mcf_data_base.mcf10
-rw-r--r--graphics/mcf2graph/mcf_exa_soc.mf27
-rw-r--r--graphics/mcf2graph/mcf_example.pdfbin314296 -> 314077 bytes
-rw-r--r--graphics/mcf2graph/mcf_example.tex4
-rw-r--r--graphics/mcf2graph/mcf_man_soc.mf8
-rw-r--r--graphics/mcf2graph/mcf_manual.pdfbin383098 -> 344886 bytes
-rw-r--r--graphics/mcf2graph/mcf_manual.tex85
-rw-r--r--graphics/mcf2graph/mcf_mplib_exa.pdfbin184493 -> 184158 bytes
-rw-r--r--graphics/mcf2graph/mcf_mplib_exa.tex22
-rw-r--r--graphics/mcf2graph/mcf_setup.sty5
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.pdfbin214710 -> 214710 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin242886 -> 242886 bytes
-rw-r--r--macros/latex-dev/base/changes.txt176
-rw-r--r--macros/latex-dev/base/classes.dtx8
-rw-r--r--macros/latex-dev/base/classes.pdfbin550002 -> 550711 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin402779 -> 402779 bytes
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin292317 -> 292317 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin239681 -> 239681 bytes
-rw-r--r--macros/latex-dev/base/doc.pdfbin676637 -> 676958 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin503316 -> 503607 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1316472 -> 1316472 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin212307 -> 212307 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin287672 -> 287672 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin493957 -> 493957 bytes
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin169323 -> 169323 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin220417 -> 220417 bytes
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin318168 -> 318168 bytes
-rw-r--r--macros/latex-dev/base/lamport-manual.err (renamed from macros/latex-dev/base/manual.err)58
-rw-r--r--macros/latex-dev/base/lamport-manual.pdf (renamed from macros/latex-dev/base/manual.pdf)bin160521 -> 170875 bytes
-rw-r--r--macros/latex-dev/base/latexchanges.pdfbin469966 -> 469966 bytes
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin290495 -> 290495 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin208359 -> 208359 bytes
-rw-r--r--macros/latex-dev/base/lb2.err21
-rw-r--r--macros/latex-dev/base/lb2.pdfbin252154 -> 252154 bytes
-rw-r--r--macros/latex-dev/base/letter.pdfbin328861 -> 328443 bytes
-rw-r--r--macros/latex-dev/base/lgc2.err21
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin215091 -> 215091 bytes
-rw-r--r--macros/latex-dev/base/lppl.pdfbin132373 -> 132373 bytes
-rw-r--r--macros/latex-dev/base/ltclass.dtx153
-rw-r--r--macros/latex-dev/base/ltcmd.dtx805
-rw-r--r--macros/latex-dev/base/ltcmdhooks-code.pdfbin693154 -> 699078 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks-doc.pdfbin479463 -> 479642 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks.dtx87
-rw-r--r--macros/latex-dev/base/ltcounts.dtx132
-rw-r--r--macros/latex-dev/base/lterror.dtx67
-rw-r--r--macros/latex-dev/base/ltexpl.dtx2
-rw-r--r--macros/latex-dev/base/ltfilehook-code.pdfbin795484 -> 795879 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-doc.pdfbin546050 -> 546791 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook.dtx164
-rw-r--r--macros/latex-dev/base/ltfiles.dtx20
-rw-r--r--macros/latex-dev/base/ltfinal.dtx40
-rw-r--r--macros/latex-dev/base/ltfntcmd.dtx5
-rw-r--r--macros/latex-dev/base/ltfssini.dtx383
-rw-r--r--macros/latex-dev/base/ltfsstrc.dtx2
-rw-r--r--macros/latex-dev/base/lthooks-code.pdfbin1029167 -> 1083948 bytes
-rw-r--r--macros/latex-dev/base/lthooks-doc.pdfbin683895 -> 703437 bytes
-rw-r--r--macros/latex-dev/base/lthooks.dtx1891
-rw-r--r--macros/latex-dev/base/ltluatex.dtx4
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin325289 -> 325107 bytes
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin1079232 -> 1116092 bytes
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin161518 -> 161518 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin150466 -> 150466 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin150493 -> 150493 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin143686 -> 143686 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin174488 -> 174488 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin142909 -> 142909 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin138044 -> 138044 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin155055 -> 155055 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin129032 -> 129032 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin159313 -> 159313 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin111955 -> 111955 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin147587 -> 147587 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin173323 -> 173323 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin161405 -> 161405 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin130447 -> 130447 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin146533 -> 146533 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin166368 -> 166368 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin38031 -> 38031 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin245818 -> 245818 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin297070 -> 297070 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin244869 -> 244869 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin318399 -> 318399 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin287125 -> 287125 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin265211 -> 265211 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin205162 -> 205162 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin379735 -> 379735 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin252432 -> 252432 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin387987 -> 387987 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin454808 -> 454808 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin511855 -> 511855 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin526312 -> 526312 bytes
-rw-r--r--macros/latex-dev/base/ltnews32.pdfbin546162 -> 546162 bytes
-rw-r--r--macros/latex-dev/base/ltnews33.pdfbin522413 -> 522413 bytes
-rw-r--r--macros/latex-dev/base/ltnews34.pdfbin310056 -> 505243 bytes
-rw-r--r--macros/latex-dev/base/ltnews34.tex512
-rw-r--r--macros/latex-dev/base/ltoutenc.dtx10
-rw-r--r--macros/latex-dev/base/ltoutput.dtx78
-rw-r--r--macros/latex-dev/base/ltpara-code.pdfbin664537 -> 666188 bytes
-rw-r--r--macros/latex-dev/base/ltpara-doc.pdfbin560270 -> 560534 bytes
-rw-r--r--macros/latex-dev/base/ltpara.dtx65
-rw-r--r--macros/latex-dev/base/ltplain.dtx20
-rw-r--r--macros/latex-dev/base/ltsect.dtx42
-rw-r--r--macros/latex-dev/base/ltshipout-code.pdfbin818942 -> 818929 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-doc.pdfbin564769 -> 564752 bytes
-rw-r--r--macros/latex-dev/base/ltshipout.dtx2
-rw-r--r--macros/latex-dev/base/ltvers.dtx14
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin219354 -> 219354 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin238577 -> 238577 bytes
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin173682 -> 173682 bytes
-rw-r--r--macros/latex-dev/base/manifest.txt2
-rw-r--r--macros/latex-dev/base/modguide.pdfbin243601 -> 243601 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin218782 -> 218782 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin233995 -> 233995 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin374051 -> 374051 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin234008 -> 234008 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin5280988 -> 5421635 bytes
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin197319 -> 197195 bytes
-rw-r--r--macros/latex-dev/base/tlc2.err25
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin289245 -> 289519 bytes
-rw-r--r--macros/latex-dev/base/tulm.fdd9
-rw-r--r--macros/latex-dev/base/tulm.pdfbin170529 -> 170530 bytes
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin430996 -> 430996 bytes
-rw-r--r--macros/latex-dev/base/usrguide3.pdfbin325349 -> 325727 bytes
-rw-r--r--macros/latex-dev/base/usrguide3.tex14
-rw-r--r--macros/latex-dev/base/utf8ienc.dtx16
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin362073 -> 361582 bytes
-rw-r--r--macros/latex-dev/base/webcomp.err21
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin146200 -> 146200 bytes
-rw-r--r--macros/latex-dev/required/amsmath/README.md6
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.pdfbin173746 -> 173746 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amscd.pdfbin178672 -> 178672 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.pdfbin176740 -> 176740 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.pdfbin508231 -> 508199 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.tex7
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.dtx29
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.pdfbin398817 -> 399552 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.dtx6
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.pdfbin138991 -> 138783 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amstext.dtx6
-rw-r--r--macros/latex-dev/required/amsmath/amstext.pdfbin215693 -> 215810 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.pdfbin112556 -> 112556 bytes
-rw-r--r--macros/latex-dev/required/amsmath/changes.txt5
-rw-r--r--macros/latex-dev/required/amsmath/subeqn.pdfbin109737 -> 109737 bytes
-rw-r--r--macros/latex-dev/required/amsmath/technote.pdfbin145610 -> 145610 bytes
-rw-r--r--macros/latex-dev/required/amsmath/testmath.pdfbin454662 -> 454662 bytes
-rw-r--r--macros/latex-dev/required/firstaid/changes.txt22
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx168
-rw-r--r--macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdfbin237390 -> 246012 bytes
-rw-r--r--macros/latex-dev/required/graphics/README.md2
-rw-r--r--macros/latex-dev/required/graphics/changes.txt14
-rw-r--r--macros/latex-dev/required/graphics/color.pdfbin215002 -> 215002 bytes
-rw-r--r--macros/latex-dev/required/graphics/drivers.pdfbin286309 -> 286309 bytes
-rw-r--r--macros/latex-dev/required/graphics/epsfig.pdfbin167686 -> 167686 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphics.pdfbin310676 -> 310676 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphicx.dtx11
-rw-r--r--macros/latex-dev/required/graphics/graphicx.pdfbin247910 -> 248231 bytes
-rw-r--r--macros/latex-dev/required/graphics/grfguide.pdfbin330071 -> 330071 bytes
-rw-r--r--macros/latex-dev/required/graphics/keyval.pdfbin239654 -> 239654 bytes
-rw-r--r--macros/latex-dev/required/graphics/lscape.pdfbin163584 -> 163584 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotating.pdfbin269186 -> 269103 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotex.pdfbin172231 -> 172231 bytes
-rw-r--r--macros/latex-dev/required/graphics/trig.dtx13
-rw-r--r--macros/latex-dev/required/graphics/trig.pdfbin207299 -> 206897 bytes
-rw-r--r--macros/latex-dev/required/tools/README.md2
-rw-r--r--macros/latex-dev/required/tools/afterpage.pdfbin205344 -> 205344 bytes
-rw-r--r--macros/latex-dev/required/tools/array.dtx8
-rw-r--r--macros/latex-dev/required/tools/array.pdfbin516483 -> 517124 bytes
-rw-r--r--macros/latex-dev/required/tools/bm.pdfbin331424 -> 331424 bytes
-rw-r--r--macros/latex-dev/required/tools/calc.pdfbin370414 -> 370414 bytes
-rw-r--r--macros/latex-dev/required/tools/changes.txt23
-rw-r--r--macros/latex-dev/required/tools/dcolumn.pdfbin220689 -> 220689 bytes
-rw-r--r--macros/latex-dev/required/tools/delarray.pdfbin198647 -> 198647 bytes
-rw-r--r--macros/latex-dev/required/tools/enumerate.pdfbin215355 -> 215355 bytes
-rw-r--r--macros/latex-dev/required/tools/fileerr.pdfbin195103 -> 195434 bytes
-rw-r--r--macros/latex-dev/required/tools/fontsmpl.pdfbin154034 -> 154034 bytes
-rw-r--r--macros/latex-dev/required/tools/ftnright.pdfbin369810 -> 370134 bytes
-rw-r--r--macros/latex-dev/required/tools/hhline.pdfbin189538 -> 189538 bytes
-rw-r--r--macros/latex-dev/required/tools/indentfirst.pdfbin157803 -> 157803 bytes
-rw-r--r--macros/latex-dev/required/tools/layout.pdfbin267761 -> 267761 bytes
-rw-r--r--macros/latex-dev/required/tools/longtable.dtx13
-rw-r--r--macros/latex-dev/required/tools/longtable.pdfbin382541 -> 382155 bytes
-rw-r--r--macros/latex-dev/required/tools/multicol.dtx4
-rw-r--r--macros/latex-dev/required/tools/multicol.pdfbin516139 -> 516148 bytes
-rw-r--r--macros/latex-dev/required/tools/rawfonts.pdfbin146534 -> 146534 bytes
-rw-r--r--macros/latex-dev/required/tools/shellesc.pdfbin183532 -> 183532 bytes
-rw-r--r--macros/latex-dev/required/tools/showkeys.pdfbin260624 -> 260624 bytes
-rw-r--r--macros/latex-dev/required/tools/somedefs.pdfbin175169 -> 175169 bytes
-rw-r--r--macros/latex-dev/required/tools/tabularx.pdfbin278041 -> 278041 bytes
-rw-r--r--macros/latex-dev/required/tools/theorem.pdfbin351317 -> 351657 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.pdfbin73674 -> 73674 bytes
-rw-r--r--macros/latex-dev/required/tools/trace.pdfbin229713 -> 229713 bytes
-rw-r--r--macros/latex-dev/required/tools/varioref.dtx6
-rw-r--r--macros/latex-dev/required/tools/varioref.pdfbin383483 -> 383524 bytes
-rw-r--r--macros/latex-dev/required/tools/verbatim.pdfbin330815 -> 330815 bytes
-rw-r--r--macros/latex-dev/required/tools/xr.pdfbin177595 -> 177595 bytes
-rw-r--r--macros/latex-dev/required/tools/xspace.pdfbin256897 -> 256897 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/LICENSE2
-rw-r--r--macros/latex/contrib/elteikthesis/README.md11
-rw-r--r--macros/latex/contrib/elteikthesis/README.pdfbin152282 -> 157578 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/README_hu.md11
-rw-r--r--macros/latex/contrib/elteikthesis/README_hu.pdfbin156453 -> 161570 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/chapters/impl.tex32
-rw-r--r--macros/latex/contrib/elteikthesis/chapters/user.tex4
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis-minted.pdfbin0 -> 20680 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis-minted.tex33
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis.cls105
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis.pdfbin461186 -> 446255 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis.tex26
-rw-r--r--macros/latex/contrib/elteikthesis/settings.tex16
-rw-r--r--macros/latex/contrib/genealogytree/CHANGES.md398
-rw-r--r--macros/latex/contrib/genealogytree/README48
-rw-r--r--macros/latex/contrib/genealogytree/README.md49
-rw-r--r--macros/latex/contrib/genealogytree/genealogytree-example-1.pdfbin202898 -> 207638 bytes
-rw-r--r--macros/latex/contrib/genealogytree/genealogytree-example-2.pdfbin251357 -> 259454 bytes
-rw-r--r--macros/latex/contrib/genealogytree/genealogytree-example-3.pdfbin197945 -> 205128 bytes
-rw-r--r--macros/latex/contrib/genealogytree/genealogytree-example-4.pdfbin254364 -> 307949 bytes
-rw-r--r--macros/latex/contrib/genealogytree/genealogytree-languages.pdfbin441585 -> 466559 bytes
-rw-r--r--macros/latex/contrib/genealogytree/genealogytree.pdfbin7328827 -> 8620249 bytes
-rw-r--r--macros/latex/contrib/genealogytree/genealogytree.sty9
-rw-r--r--macros/latex/contrib/genealogytree/gtrcore.contour.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrcore.drawing.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrcore.node.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrcore.options.code.tex18
-rw-r--r--macros/latex/contrib/genealogytree/gtrcore.parser.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrcore.processing.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrcore.symbols.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.danish.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.dutch.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.english.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.french.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.german.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.italian.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.portuguese.code.tex87
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.spanish.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlang.swedish.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlib.debug.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlib.fanchart.code.tex6
-rw-r--r--macros/latex/contrib/genealogytree/gtrlib.templates.code.tex6
-rw-r--r--macros/latex/contrib/lipsum/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/lipsum/README.md26
-rw-r--r--macros/latex/contrib/lipsum/lipsum.dtx159
-rw-r--r--macros/latex/contrib/lipsum/lipsum.ins2
-rw-r--r--macros/latex/contrib/lipsum/lipsum.pdfbin650470 -> 653611 bytes
-rw-r--r--macros/latex/contrib/spacingtricks/spacingtricks.dtx96
-rw-r--r--macros/latex/contrib/spacingtricks/spacingtricks.ins6
-rw-r--r--macros/latex/contrib/spacingtricks/spacingtricks.pdfbin124789 -> 125414 bytes
-rw-r--r--macros/luatex/generic/pdfextra/LICENSE (renamed from macros/luatex/optex/pdfextra/LICENSE)0
-rw-r--r--macros/luatex/generic/pdfextra/README.md (renamed from macros/luatex/optex/pdfextra/README.md)0
-rw-r--r--macros/luatex/generic/pdfextra/examples/pdfextra-example-latex.tex (renamed from macros/luatex/optex/pdfextra/examples/pdfextra-example-latex.tex)0
-rw-r--r--macros/luatex/generic/pdfextra/examples/pdfextra-example-part.prc (renamed from macros/luatex/optex/pdfextra/examples/pdfextra-example-part.prc)bin58592 -> 58592 bytes
-rw-r--r--macros/luatex/generic/pdfextra/examples/pdfextra-example.pdf (renamed from macros/luatex/optex/pdfextra/examples/pdfextra-example.pdf)bin385350 -> 385350 bytes
-rw-r--r--macros/luatex/generic/pdfextra/examples/pdfextra-example.tex (renamed from macros/luatex/optex/pdfextra/examples/pdfextra-example.tex)0
-rw-r--r--macros/luatex/generic/pdfextra/pdfextra-doc.pdf (renamed from macros/luatex/optex/pdfextra/pdfextra-doc.pdf)bin245952 -> 245952 bytes
-rw-r--r--macros/luatex/generic/pdfextra/pdfextra-doc.tex (renamed from macros/luatex/optex/pdfextra/pdfextra-doc.tex)0
-rw-r--r--macros/luatex/generic/pdfextra/pdfextra.opm (renamed from macros/luatex/optex/pdfextra/pdfextra.opm)0
-rw-r--r--macros/luatex/generic/pdfextra/pdfextra.sty (renamed from macros/luatex/optex/pdfextra/pdfextra.sty)0
-rw-r--r--macros/luatex/generic/pdfextra/pdfextra.tex (renamed from macros/luatex/optex/pdfextra/pdfextra.tex)0
-rw-r--r--systems/mac/mactex/ExtrasFolder.pdfbin38200 -> 38197 bytes
-rw-r--r--systems/mac/mactex/Licenses.txt4
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl4
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb237
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2311436 -> 2313876 bytes
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin614598 -> 615154 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin614469 -> 615217 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini10
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini12
-rw-r--r--timestamp2
277 files changed, 7117 insertions, 3107 deletions
diff --git a/FILES.byname b/FILES.byname
index baccaddfac..56d5d0b6f1 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5105,7 +5105,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2021/09/19 | 70048 | FILES.last07days
+2021/09/20 | 72426 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -149560,20 +149560,20 @@
2011/05/31 | 231925 | graphics/mathspic/perl/sourcecode113.html
2011/05/31 | 183530 | graphics/mathspic/perl/sourcecode113.nw
2011/05/31 | 2864043 | graphics/mathspic/perl/sourcecode113.pdf
-2021/09/05 | 15474 | graphics/mcf2graph/CHANGELOG
-2021/09/05 | 115008 | graphics/mcf2graph/mcf2graph.mf
-2021/09/05 | 97828 | graphics/mcf2graph/mcf_data_base.mcf
-2021/09/05 | 314296 | graphics/mcf2graph/mcf_example.pdf
-2021/08/24 | 2324 | graphics/mcf2graph/mcf_example.tex
-2021/09/05 | 2140 | graphics/mcf2graph/mcf_exa_soc.mf
-2021/09/05 | 44760 | graphics/mcf2graph/mcf_man_soc.mf
-2021/09/05 | 383098 | graphics/mcf2graph/mcf_manual.pdf
-2021/09/05 | 62996 | graphics/mcf2graph/mcf_manual.tex
-2021/09/05 | 184493 | graphics/mcf2graph/mcf_mplib_exa.pdf
-2021/09/05 | 16212 | graphics/mcf2graph/mcf_mplib_exa.tex
-2021/05/03 | 3843 | graphics/mcf2graph/mcf_setup.sty
-2021/09/05 | 4485 | graphics/mcf2graph/README
-2021/09/05 | 951194 | graphics/mcf2graph.zip
+2021/09/20 | 15807 | graphics/mcf2graph/CHANGELOG
+2021/09/20 | 116725 | graphics/mcf2graph/mcf2graph.mf
+2021/09/16 | 97963 | graphics/mcf2graph/mcf_data_base.mcf
+2021/09/20 | 314077 | graphics/mcf2graph/mcf_example.pdf
+2021/09/20 | 2325 | graphics/mcf2graph/mcf_example.tex
+2021/09/20 | 2117 | graphics/mcf2graph/mcf_exa_soc.mf
+2021/09/20 | 44742 | graphics/mcf2graph/mcf_man_soc.mf
+2021/09/20 | 344886 | graphics/mcf2graph/mcf_manual.pdf
+2021/09/20 | 63153 | graphics/mcf2graph/mcf_manual.tex
+2021/09/20 | 184158 | graphics/mcf2graph/mcf_mplib_exa.pdf
+2021/09/20 | 16122 | graphics/mcf2graph/mcf_mplib_exa.tex
+2021/09/20 | 3963 | graphics/mcf2graph/mcf_setup.sty
+2021/09/20 | 4579 | graphics/mcf2graph/README
+2021/09/20 | 914246 | graphics/mcf2graph.zip
2004/07/13 | 8567 | graphics/metaplot/axes.mp
2004/06/28 | 1122 | graphics/metaplot/examples/cap1.cc
2004/06/28 | 2178 | graphics/metaplot/examples/cap1.mp
@@ -158680,10 +158680,10 @@
2021/07/27 | 44151 | indexing/makeindexk/aclocal.m4
2009/04/23 | 341 | indexing/makeindexk/ac/withenable.ac
2021/06/30 | 5087 | indexing/makeindexk/c-auto.in
-2019/11/01 | 8501 | indexing/makeindexk/ChangeLog
+2021/09/19 | 8999 | indexing/makeindexk/ChangeLog
2007/07/03 | 710 | indexing/makeindexk/configure
-2013/10/01 | 988 | indexing/makeindexk/configure.ac
-2021/07/27 | 533226 | indexing/makeindexk/configure.texk
+2021/09/19 | 988 | indexing/makeindexk/configure.ac
+2021/09/19 | 533226 | indexing/makeindexk/configure.texk
2011/05/09 | 999 | indexing/makeindexk/CONTRIB
2011/09/24 | 2027 | indexing/makeindexk/COPYING
2014/06/19 | 11237 | indexing/makeindexk/genind.c
@@ -158703,25 +158703,44 @@
2013/04/16 | 12961 | indexing/makeindexk/mkind.c
2019/11/01 | 1097 | indexing/makeindexk/mkindex
2006/01/17 | 1128 | indexing/makeindexk/mkindex.1
-2019/03/21 | 14593 | indexing/makeindexk/mkind.h
+2021/09/19 | 14627 | indexing/makeindexk/mkind.h
2006/01/17 | 3419 | indexing/makeindexk/NOTES
2012/07/27 | 5836 | indexing/makeindexk/qsort.c
2012/07/28 | 400 | indexing/makeindexk/qsort.h
2011/09/24 | 2570 | indexing/makeindexk/README
-2014/06/19 | 17281 | indexing/makeindexk/scanid.c
-2011/09/24 | 3620 | indexing/makeindexk/scanid.h
-2011/09/24 | 15066 | indexing/makeindexk/scanst.c
+2021/09/19 | 17507 | indexing/makeindexk/scanid.c
+2021/09/19 | 3776 | indexing/makeindexk/scanid.h
+2021/09/19 | 15087 | indexing/makeindexk/scanst.c
2011/09/24 | 5321 | indexing/makeindexk/scanst.h
2013/04/16 | 7443 | indexing/makeindexk/sortid.c
-2017/11/15 | 550 | indexing/makeindexk/tests/makeindex.test
+2021/09/19 | 1944 | indexing/makeindexk/tests/makeindex.test
2011/09/24 | 225 | indexing/makeindexk/tests/nested-range-bb.idx
2011/09/24 | 2251 | indexing/makeindexk/tests/nested-range-bb.tex
2011/09/24 | 84 | indexing/makeindexk/tests/nested-range.idx
2011/09/30 | 876 | indexing/makeindexk/tests/nested-range-test.pl
2011/09/24 | 564 | indexing/makeindexk/tests/nested-range.tex
+2021/09/19 | 182 | indexing/makeindexk/tests/pprec0.ist
+2021/09/19 | 179 | indexing/makeindexk/tests/pprec1.ist
+2021/09/19 | 179 | indexing/makeindexk/tests/pprec2.ist
+2021/09/19 | 179 | indexing/makeindexk/tests/pprec3.ist
+2021/09/19 | 179 | indexing/makeindexk/tests/pprec4.ist
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecA-0.ind
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecA-1.ind
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecA-2.ind
+2021/09/19 | 213 | indexing/makeindexk/tests/pprecA.idx
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecB-3.ind
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecB-4.ind
+2021/09/19 | 207 | indexing/makeindexk/tests/pprecB.idx
+2021/09/19 | 1077 | indexing/makeindexk/tests/range1.ind
+2021/09/19 | 70 | indexing/makeindexk/tests/range1.ist
+2021/09/19 | 1169 | indexing/makeindexk/tests/range2.ind
+2021/09/19 | 92 | indexing/makeindexk/tests/range2.ist
+2021/09/19 | 1077 | indexing/makeindexk/tests/range3.ind
+2021/09/19 | 93 | indexing/makeindexk/tests/range3.ist
+2021/09/19 | 3278 | indexing/makeindexk/tests/range.idx
2012/07/27 | 459 | indexing/makeindexk/tests/sample.idx
2012/07/27 | 268 | indexing/makeindexk/tests/sample.ind
-2021/07/28 | 233647 | indexing/makeindexk.zip
+2021/09/20 | 239137 | indexing/makeindexk.zip
1989/08/31 | 10291 | indexing/makeindex/lib/idxmac-amstex.tex
1989/08/31 | 7082 | indexing/makeindex/lib/idxmac.tex
1989/08/31 | 280 | indexing/makeindex/lib/makeidx.doc
@@ -183072,7 +183091,7 @@
2011/06/06 | 351067 | install/macros/latex/contrib/footmisc.tds.zip
2019/11/24 | 417422 | install/macros/latex/contrib/footnoterange.tds.zip
2011/09/21 | 1010253 | install/macros/latex/contrib/frontespizio.tds.zip
-2020/07/28 | 5740461 | install/macros/latex/contrib/genealogytree.tds.zip
+2021/09/20 | 6112950 | install/macros/latex/contrib/genealogytree.tds.zip
2019/03/25 | 2001387 | install/macros/latex/contrib/getmap.tds.zip
2019/12/15 | 325426 | install/macros/latex/contrib/gettitlestring.tds.zip
2011/09/05 | 175901 | install/macros/latex/contrib/gincltex.tds.zip
@@ -183280,11 +183299,11 @@
2020/04/09 | 806385 | install/macros/latex/contrib/zhlipsum.tds.zip
2020/05/01 | 293478 | install/macros/latex/contrib/zhnumber.tds.zip
2020/10/09 | 728226 | install/macros/latex/contrib/zref.tds.zip
-2021/06/17 | 34703709 | install/macros/latex-dev/latex-base-dev.tds.zip
-2021/06/17 | 2763720 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
-2021/06/17 | 243419 | install/macros/latex-dev/required/latex-firstaid-dev.tds.zip
-2021/06/17 | 2666092 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
-2021/06/17 | 7348487 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
+2021/09/20 | 35213177 | install/macros/latex-dev/latex-base-dev.tds.zip
+2021/09/20 | 2767024 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
+2021/09/20 | 252568 | install/macros/latex-dev/required/latex-firstaid-dev.tds.zip
+2021/09/20 | 2667651 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
+2021/09/20 | 7357248 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
2021/06/15 | 34394602 | install/macros/latex/latex-base.tds.zip
2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip
2021/07/22 | 2824954 | install/macros/latex/required/babel-base.tds.zip
@@ -208296,23 +208315,24 @@
2019/03/20 | 4655 | macros/latex/contrib/els-cas-templates/thumbnails/cas-twitter.jpeg
2019/03/20 | 7736 | macros/latex/contrib/els-cas-templates/thumbnails/cas-url.jpeg
2021/05/12 | 844178 | macros/latex/contrib/els-cas-templates.zip
-2020/07/24 | 2501 | macros/latex/contrib/elteikthesis/appendices/sim.tex
-2020/07/24 | 5674 | macros/latex/contrib/elteikthesis/chapters/impl.tex
-2020/07/24 | 1211 | macros/latex/contrib/elteikthesis/chapters/intro.tex
-2020/07/24 | 1074 | macros/latex/contrib/elteikthesis/chapters/sum.tex
-2020/07/24 | 11886 | macros/latex/contrib/elteikthesis/chapters/user.tex
-2020/07/24 | 1512 | macros/latex/contrib/elteikthesis/elteikthesis.bib
-2020/07/24 | 15768 | macros/latex/contrib/elteikthesis/elteikthesis.cls
-2020/07/24 | 461186 | macros/latex/contrib/elteikthesis/elteikthesis.pdf
-2020/07/24 | 3408 | macros/latex/contrib/elteikthesis/elteikthesis.tex
+2021/09/20 | 2501 | macros/latex/contrib/elteikthesis/appendices/sim.tex
+2021/09/20 | 5692 | macros/latex/contrib/elteikthesis/chapters/impl.tex
+2021/09/20 | 1211 | macros/latex/contrib/elteikthesis/chapters/intro.tex
+2021/09/20 | 1074 | macros/latex/contrib/elteikthesis/chapters/sum.tex
+2021/09/20 | 11894 | macros/latex/contrib/elteikthesis/chapters/user.tex
+2021/09/20 | 1512 | macros/latex/contrib/elteikthesis/elteikthesis.bib
+2021/09/20 | 17382 | macros/latex/contrib/elteikthesis/elteikthesis.cls
+2021/09/20 | 20680 | macros/latex/contrib/elteikthesis/elteikthesis-minted.pdf
+2021/09/20 | 519 | macros/latex/contrib/elteikthesis/elteikthesis-minted.tex
+2021/09/20 | 446255 | macros/latex/contrib/elteikthesis/elteikthesis.pdf
+2021/09/20 | 3809 | macros/latex/contrib/elteikthesis/elteikthesis.tex
2020/07/24 | 1093458 | macros/latex/contrib/elteikthesis/images/elte_cimer_szines.eps
-2020/07/24 | 1424 | macros/latex/contrib/elteikthesis/LICENSE
-2020/07/24 | 3110 | macros/latex/contrib/elteikthesis/README_hu.md
-2020/07/24 | 156453 | macros/latex/contrib/elteikthesis/README_hu.pdf
-2020/07/24 | 2812 | macros/latex/contrib/elteikthesis/README.md
-2020/07/24 | 152282 | macros/latex/contrib/elteikthesis/README.pdf
-2020/07/24 | 480 | macros/latex/contrib/elteikthesis/settings.tex
-2020/07/24 | 1043736 | macros/latex/contrib/elteikthesis.zip
+2021/09/20 | 1424 | macros/latex/contrib/elteikthesis/LICENSE
+2021/09/20 | 3425 | macros/latex/contrib/elteikthesis/README_hu.md
+2021/09/20 | 161570 | macros/latex/contrib/elteikthesis/README_hu.pdf
+2021/09/20 | 3117 | macros/latex/contrib/elteikthesis/README.md
+2021/09/20 | 157578 | macros/latex/contrib/elteikthesis/README.pdf
+2021/09/20 | 1063568 | macros/latex/contrib/elteikthesis.zip
2009/06/22 | 24336 | macros/latex/contrib/eltex/eltex1.tex
2009/03/21 | 41235 | macros/latex/contrib/eltex/eltex2.tex
2009/03/21 | 9660 | macros/latex/contrib/eltex/eltex3.tex
@@ -210812,34 +210832,36 @@
2015/03/07 | 311223 | macros/latex/contrib/gender/gender.pdf
2015/03/07 | 614 | macros/latex/contrib/gender/README
2015/03/08 | 314717 | macros/latex/contrib/gender.zip
-2020/07/28 | 214029 | macros/latex/contrib/genealogytree/genealogytree.doc.sources.zip
-2020/07/28 | 202898 | macros/latex/contrib/genealogytree/genealogytree-example-1.pdf
-2020/07/28 | 251357 | macros/latex/contrib/genealogytree/genealogytree-example-2.pdf
-2020/07/28 | 197945 | macros/latex/contrib/genealogytree/genealogytree-example-3.pdf
-2020/07/28 | 254364 | macros/latex/contrib/genealogytree/genealogytree-example-4.pdf
-2020/07/28 | 441585 | macros/latex/contrib/genealogytree/genealogytree-languages.pdf
-2020/07/28 | 7328827 | macros/latex/contrib/genealogytree/genealogytree.pdf
-2020/07/28 | 5376 | macros/latex/contrib/genealogytree/genealogytree.sty
-2020/07/28 | 12266 | macros/latex/contrib/genealogytree/gtrcore.contour.code.tex
-2020/07/28 | 22483 | macros/latex/contrib/genealogytree/gtrcore.drawing.code.tex
-2020/07/28 | 33775 | macros/latex/contrib/genealogytree/gtrcore.node.code.tex
-2020/07/28 | 20406 | macros/latex/contrib/genealogytree/gtrcore.options.code.tex
-2020/07/28 | 21974 | macros/latex/contrib/genealogytree/gtrcore.parser.code.tex
-2020/07/28 | 21569 | macros/latex/contrib/genealogytree/gtrcore.processing.code.tex
-2020/07/28 | 9078 | macros/latex/contrib/genealogytree/gtrcore.symbols.code.tex
-2020/07/28 | 2866 | macros/latex/contrib/genealogytree/gtrlang.danish.code.tex
-2020/07/28 | 2732 | macros/latex/contrib/genealogytree/gtrlang.dutch.code.tex
-2020/07/28 | 2666 | macros/latex/contrib/genealogytree/gtrlang.english.code.tex
-2020/07/28 | 2964 | macros/latex/contrib/genealogytree/gtrlang.french.code.tex
-2020/07/28 | 2976 | macros/latex/contrib/genealogytree/gtrlang.german.code.tex
-2020/07/28 | 2825 | macros/latex/contrib/genealogytree/gtrlang.italian.code.tex
-2020/07/28 | 2817 | macros/latex/contrib/genealogytree/gtrlang.spanish.code.tex
-2020/07/28 | 2747 | macros/latex/contrib/genealogytree/gtrlang.swedish.code.tex
-2020/07/28 | 18924 | macros/latex/contrib/genealogytree/gtrlib.debug.code.tex
-2020/07/28 | 39385 | macros/latex/contrib/genealogytree/gtrlib.fanchart.code.tex
-2020/07/28 | 24366 | macros/latex/contrib/genealogytree/gtrlib.templates.code.tex
-2020/07/28 | 2402 | macros/latex/contrib/genealogytree/README
-2020/07/28 | 5766238 | macros/latex/contrib/genealogytree.zip
+2021/09/20 | 11739 | macros/latex/contrib/genealogytree/CHANGES.md
+2021/09/20 | 210338 | macros/latex/contrib/genealogytree/genealogytree.doc.sources.zip
+2021/09/20 | 207638 | macros/latex/contrib/genealogytree/genealogytree-example-1.pdf
+2021/09/20 | 259454 | macros/latex/contrib/genealogytree/genealogytree-example-2.pdf
+2021/09/20 | 205128 | macros/latex/contrib/genealogytree/genealogytree-example-3.pdf
+2021/09/20 | 307949 | macros/latex/contrib/genealogytree/genealogytree-example-4.pdf
+2021/09/20 | 466559 | macros/latex/contrib/genealogytree/genealogytree-languages.pdf
+2021/09/20 | 8620249 | macros/latex/contrib/genealogytree/genealogytree.pdf
+2021/09/20 | 5442 | macros/latex/contrib/genealogytree/genealogytree.sty
+2021/09/20 | 12268 | macros/latex/contrib/genealogytree/gtrcore.contour.code.tex
+2021/09/20 | 22485 | macros/latex/contrib/genealogytree/gtrcore.drawing.code.tex
+2021/09/20 | 33777 | macros/latex/contrib/genealogytree/gtrcore.node.code.tex
+2021/09/20 | 20461 | macros/latex/contrib/genealogytree/gtrcore.options.code.tex
+2021/09/20 | 21976 | macros/latex/contrib/genealogytree/gtrcore.parser.code.tex
+2021/09/20 | 21571 | macros/latex/contrib/genealogytree/gtrcore.processing.code.tex
+2021/09/20 | 9080 | macros/latex/contrib/genealogytree/gtrcore.symbols.code.tex
+2021/09/20 | 2868 | macros/latex/contrib/genealogytree/gtrlang.danish.code.tex
+2021/09/20 | 2734 | macros/latex/contrib/genealogytree/gtrlang.dutch.code.tex
+2021/09/20 | 2668 | macros/latex/contrib/genealogytree/gtrlang.english.code.tex
+2021/09/20 | 2966 | macros/latex/contrib/genealogytree/gtrlang.french.code.tex
+2021/09/20 | 2978 | macros/latex/contrib/genealogytree/gtrlang.german.code.tex
+2021/09/20 | 2827 | macros/latex/contrib/genealogytree/gtrlang.italian.code.tex
+2021/09/20 | 2833 | macros/latex/contrib/genealogytree/gtrlang.portuguese.code.tex
+2021/09/20 | 2819 | macros/latex/contrib/genealogytree/gtrlang.spanish.code.tex
+2021/09/20 | 2749 | macros/latex/contrib/genealogytree/gtrlang.swedish.code.tex
+2021/09/20 | 18926 | macros/latex/contrib/genealogytree/gtrlib.debug.code.tex
+2021/09/20 | 39387 | macros/latex/contrib/genealogytree/gtrlib.fanchart.code.tex
+2021/09/20 | 24368 | macros/latex/contrib/genealogytree/gtrlib.templates.code.tex
+2021/09/20 | 2227 | macros/latex/contrib/genealogytree/README.md
+2021/09/20 | 6141416 | macros/latex/contrib/genealogytree.zip
2020/05/24 | 75820 | macros/latex/contrib/gene/crossword/cwpuzzle.dtx
2020/05/24 | 1662 | macros/latex/contrib/gene/crossword/cwpuzzle.ins
2020/05/24 | 337589 | macros/latex/contrib/gene/crossword/cwpuzzle.pdf
@@ -215030,16 +215052,17 @@
2019/05/15 | 203 | macros/latex/contrib/lion-msc/minimal.tex
2020/06/03 | 677 | macros/latex/contrib/lion-msc/README.md
2020/06/04 | 1588710 | macros/latex/contrib/lion-msc.zip
-2021/08/02 | 1789 | macros/latex/contrib/lipsum/CHANGELOG.md
-2021/08/02 | 25 | macros/latex/contrib/lipsum/DEPENDS.txt
-2021/08/02 | 134671 | macros/latex/contrib/lipsum/lipsum-cicero.txt
-2021/08/02 | 98064 | macros/latex/contrib/lipsum/lipsum-cs.txt
-2021/08/02 | 58283 | macros/latex/contrib/lipsum/lipsum.dtx
-2021/08/02 | 3755 | macros/latex/contrib/lipsum/lipsum.ins
-2021/08/02 | 91127 | macros/latex/contrib/lipsum/lipsum-la.txt
-2021/08/02 | 650470 | macros/latex/contrib/lipsum/lipsum.pdf
-2021/08/02 | 1525 | macros/latex/contrib/lipsum/README.txt
-2021/08/02 | 781063 | macros/latex/contrib/lipsum.zip
+2021/09/20 | 1926 | macros/latex/contrib/lipsum/CHANGELOG.md
+2021/09/20 | 25 | macros/latex/contrib/lipsum/DEPENDS.txt
+2021/09/20 | 134671 | macros/latex/contrib/lipsum/lipsum-cicero.txt
+2021/09/20 | 98064 | macros/latex/contrib/lipsum/lipsum-cs.txt
+2021/09/20 | 58989 | macros/latex/contrib/lipsum/lipsum.dtx
+2021/09/20 | 3756 | macros/latex/contrib/lipsum/lipsum.ins
+2021/09/20 | 91127 | macros/latex/contrib/lipsum/lipsum-la.txt
+2021/09/20 | 653611 | macros/latex/contrib/lipsum/lipsum.pdf
+2021/09/20 | 575 | macros/latex/contrib/lipsum/README.md
+2021/09/20 | 1525 | macros/latex/contrib/lipsum/README.txt
+2021/09/20 | 784793 | macros/latex/contrib/lipsum.zip
2015/10/25 | 11875 | macros/latex/contrib/lisp-on-tex/examples/div2.pdf
2015/10/25 | 973 | macros/latex/contrib/lisp-on-tex/examples/div2.tex
2015/10/25 | 36632 | macros/latex/contrib/lisp-on-tex/examples/fact.pdf
@@ -222619,10 +222642,10 @@
2019/04/05 | 114796 | macros/latex/contrib/soup/soup.pdf
2019/04/06 | 120099 | macros/latex/contrib/soup.zip
2019/06/26 | 769 | macros/latex/contrib/spacingtricks/README.md
-2020/11/02 | 24236 | macros/latex/contrib/spacingtricks/spacingtricks.dtx
-2020/11/02 | 1998 | macros/latex/contrib/spacingtricks/spacingtricks.ins
-2020/11/02 | 124789 | macros/latex/contrib/spacingtricks/spacingtricks.pdf
-2020/11/02 | 109527 | macros/latex/contrib/spacingtricks.zip
+2021/09/20 | 24330 | macros/latex/contrib/spacingtricks/spacingtricks.dtx
+2021/09/20 | 2005 | macros/latex/contrib/spacingtricks/spacingtricks.ins
+2021/09/20 | 125414 | macros/latex/contrib/spacingtricks/spacingtricks.pdf
+2021/09/20 | 109969 | macros/latex/contrib/spacingtricks.zip
2016/10/06 | 1360 | macros/latex/contrib/spalign/README.md
2016/10/06 | 45312 | macros/latex/contrib/spalign/spalign.dtx
2016/10/05 | 1964 | macros/latex/contrib/spalign/spalign.ins
@@ -232312,421 +232335,421 @@
2020/02/28 | 475910 | macros/latex/contrib/zwpagelayout/zwpagelayout.pdf
2020/02/28 | 36153 | macros/latex/contrib/zwpagelayout/zwpagelayout.sty
2020/02/28 | 69481 | macros/latex/contrib/zwpagelayout/zwpagelayout.tex
-2021/06/17 | 7109 | macros/latex-dev/base/alltt.dtx
-2021/06/17 | 2890 | macros/latex-dev/base/alltt.ins
-2021/06/17 | 214710 | macros/latex-dev/base/alltt.pdf
-2021/06/17 | 3282 | macros/latex-dev/base/bugs.txt
-2021/06/17 | 242886 | macros/latex-dev/base/cfgguide.pdf
-2021/06/17 | 22456 | macros/latex-dev/base/cfgguide.tex
-2021/06/17 | 42708 | macros/latex-dev/base/changes.old.txt
-2021/06/17 | 377366 | macros/latex-dev/base/changes.txt
-2021/06/17 | 156210 | macros/latex-dev/base/classes.dtx
-2021/06/17 | 4087 | macros/latex-dev/base/classes.ins
-2021/06/17 | 550002 | macros/latex-dev/base/classes.pdf
-2021/06/17 | 402779 | macros/latex-dev/base/clsguide.pdf
-2021/06/17 | 69050 | macros/latex-dev/base/clsguide.tex
-2021/06/17 | 5273 | macros/latex-dev/base/cmextra.ins
-2021/06/17 | 43636 | macros/latex-dev/base/cmfonts.fdd
-2021/06/17 | 4324 | macros/latex-dev/base/cmfonts.ins
-2021/06/17 | 292317 | macros/latex-dev/base/cmfonts.pdf
-2021/06/17 | 239681 | macros/latex-dev/base/cyrguide.pdf
-2021/06/17 | 17495 | macros/latex-dev/base/cyrguide.tex
-2021/06/17 | 204063 | macros/latex-dev/base/doc.dtx
-2021/06/17 | 676637 | macros/latex-dev/base/doc.pdf
-2021/06/17 | 170214 | macros/latex-dev/base/docstrip.dtx
-2021/06/17 | 4221 | macros/latex-dev/base/docstrip.ins
-2021/06/17 | 503316 | macros/latex-dev/base/docstrip.pdf
-2021/06/17 | 41831 | macros/latex-dev/base/doc-v3beta.sty
-2021/06/17 | 4390 | macros/latex-dev/base/ec.ins
-2021/06/17 | 1316472 | macros/latex-dev/base/encguide.pdf
-2021/06/17 | 52813 | macros/latex-dev/base/encguide.tex
-2021/06/17 | 7221 | macros/latex-dev/base/exscale.dtx
-2021/06/17 | 3338 | macros/latex-dev/base/exscale.ins
-2021/06/17 | 212307 | macros/latex-dev/base/exscale.pdf
-2021/06/17 | 23521 | macros/latex-dev/base/fix-cm.dtx
-2021/06/17 | 2892 | macros/latex-dev/base/fix-cm.ins
-2021/06/17 | 287672 | macros/latex-dev/base/fix-cm.pdf
-2021/06/17 | 493957 | macros/latex-dev/base/fntguide.pdf
-2021/06/17 | 90917 | macros/latex-dev/base/fntguide.tex
-2021/06/17 | 60326 | macros/latex-dev/base/fontdef.dtx
-2021/06/17 | 9583 | macros/latex-dev/base/format.ins
-2021/06/17 | 5514 | macros/latex-dev/base/graphpap.dtx
-2021/06/17 | 2892 | macros/latex-dev/base/graphpap.ins
-2021/06/17 | 169323 | macros/latex-dev/base/graphpap.pdf
-2021/06/17 | 2705 | macros/latex-dev/base/idx.tex
-2021/06/17 | 18303 | macros/latex-dev/base/ifthen.dtx
-2021/06/17 | 2888 | macros/latex-dev/base/ifthen.ins
-2021/06/17 | 220417 | macros/latex-dev/base/ifthen.pdf
-2021/06/17 | 106908 | macros/latex-dev/base/inputenc.dtx
-2021/06/17 | 5714 | macros/latex-dev/base/inputenc.ins
-2021/06/17 | 318168 | macros/latex-dev/base/inputenc.pdf
-2021/06/17 | 4079 | macros/latex-dev/base/lablst.tex
-2021/06/17 | 38735 | macros/latex-dev/base/latex209.dtx
-2021/06/17 | 4219 | macros/latex-dev/base/latex209.ins
-2021/06/17 | 469966 | macros/latex-dev/base/latexchanges.pdf
-2021/06/17 | 41848 | macros/latex-dev/base/latexchanges.tex
-2021/06/17 | 44409 | macros/latex-dev/base/latexrelease.dtx
-2021/06/17 | 5917 | macros/latex-dev/base/latexrelease.ins
-2021/06/17 | 290495 | macros/latex-dev/base/latexrelease.pdf
-2021/06/17 | 6714 | macros/latex-dev/base/latexsym.dtx
-2021/06/17 | 5041 | macros/latex-dev/base/latexsym.ins
-2021/06/17 | 208359 | macros/latex-dev/base/latexsym.pdf
-2021/06/17 | 52578 | macros/latex-dev/base/lb2.err
-2021/06/17 | 252154 | macros/latex-dev/base/lb2.pdf
-2021/06/17 | 1279 | macros/latex-dev/base/legal.txt
-2021/06/17 | 63283 | macros/latex-dev/base/letter.dtx
-2021/06/17 | 3372 | macros/latex-dev/base/letter.ins
-2021/06/17 | 328861 | macros/latex-dev/base/letter.pdf
-2021/06/17 | 20486 | macros/latex-dev/base/lgc2.err
-2021/06/17 | 215091 | macros/latex-dev/base/lgc2.pdf
-2021/06/17 | 9068 | macros/latex-dev/base/lppl-1-0.txt
-2021/06/17 | 14341 | macros/latex-dev/base/lppl-1-1.txt
-2021/06/17 | 14421 | macros/latex-dev/base/lppl-1-2.txt
-2021/06/17 | 132373 | macros/latex-dev/base/lppl.pdf
-2021/06/17 | 23386 | macros/latex-dev/base/lppl.tex
-2021/06/17 | 19040 | macros/latex-dev/base/lppl.txt
-2021/06/17 | 4303 | macros/latex-dev/base/ltalloc.dtx
-2021/06/17 | 16105 | macros/latex-dev/base/ltbibl.dtx
-2021/06/17 | 43867 | macros/latex-dev/base/ltboxes.dtx
-2021/06/17 | 139369 | macros/latex-dev/base/ltclass.dtx
-2021/06/17 | 142847 | macros/latex-dev/base/ltcmd.dtx
-2021/06/17 | 693154 | macros/latex-dev/base/ltcmdhooks-code.pdf
-2021/06/17 | 103 | macros/latex-dev/base/ltcmdhooks-code.tex
-2021/06/17 | 479463 | macros/latex-dev/base/ltcmdhooks-doc.pdf
-2021/06/17 | 177 | macros/latex-dev/base/ltcmdhooks-doc.tex
-2021/06/17 | 40970 | macros/latex-dev/base/ltcmdhooks.dtx
-2021/06/17 | 9562 | macros/latex-dev/base/ltcntrl.dtx
-2021/06/17 | 22676 | macros/latex-dev/base/ltcounts.dtx
-2021/06/17 | 85862 | macros/latex-dev/base/ltdefns.dtx
-2021/06/17 | 35302 | macros/latex-dev/base/ltdirchk.dtx
-2021/06/17 | 25265 | macros/latex-dev/base/lterror.dtx
-2021/06/17 | 13920 | macros/latex-dev/base/ltexpl.dtx
-2021/06/17 | 795484 | macros/latex-dev/base/ltfilehook-code.pdf
-2021/06/17 | 105 | macros/latex-dev/base/ltfilehook-code.tex
-2021/06/17 | 546050 | macros/latex-dev/base/ltfilehook-doc.pdf
-2021/06/17 | 180 | macros/latex-dev/base/ltfilehook-doc.tex
-2021/06/17 | 63255 | macros/latex-dev/base/ltfilehook.dtx
-2021/06/17 | 55087 | macros/latex-dev/base/ltfiles.dtx
-2021/06/17 | 44724 | macros/latex-dev/base/ltfinal.dtx
-2021/06/17 | 54680 | macros/latex-dev/base/ltfloat.dtx
-2021/06/17 | 29191 | macros/latex-dev/base/ltfntcmd.dtx
-2021/06/17 | 58556 | macros/latex-dev/base/ltfssaxes.dtx
-2021/06/17 | 80726 | macros/latex-dev/base/ltfssbas.dtx
-2021/06/17 | 10375 | macros/latex-dev/base/ltfsscmp.dtx
-2021/06/17 | 61425 | macros/latex-dev/base/ltfssdcl.dtx
-2021/06/17 | 76725 | macros/latex-dev/base/ltfssini.dtx
-2021/06/17 | 72479 | macros/latex-dev/base/ltfsstrc.dtx
-2021/06/17 | 1029167 | macros/latex-dev/base/lthooks-code.pdf
-2021/06/17 | 102 | macros/latex-dev/base/lthooks-code.tex
-2021/06/17 | 683895 | macros/latex-dev/base/lthooks-doc.pdf
-2021/06/17 | 177 | macros/latex-dev/base/lthooks-doc.tex
-2021/06/17 | 187818 | macros/latex-dev/base/lthooks.dtx
-2021/06/17 | 4950 | macros/latex-dev/base/lthyphen.dtx
-2021/06/17 | 5864 | macros/latex-dev/base/ltidxglo.dtx
-2021/06/17 | 4762 | macros/latex-dev/base/ltlength.dtx
-2021/06/17 | 36157 | macros/latex-dev/base/ltlists.dtx
-2021/06/17 | 3730 | macros/latex-dev/base/ltlogos.dtx
-2021/06/17 | 64748 | macros/latex-dev/base/ltluatex.dtx
-2021/06/17 | 325289 | macros/latex-dev/base/ltluatex.pdf
-2021/06/17 | 39431 | macros/latex-dev/base/ltmath.dtx
-2021/06/17 | 58750 | macros/latex-dev/base/ltmiscen.dtx
-2021/06/17 | 161518 | macros/latex-dev/base/ltnews01.pdf
-2021/06/17 | 5246 | macros/latex-dev/base/ltnews01.tex
-2021/06/17 | 150466 | macros/latex-dev/base/ltnews02.pdf
-2021/06/17 | 5283 | macros/latex-dev/base/ltnews02.tex
-2021/06/17 | 150493 | macros/latex-dev/base/ltnews03.pdf
-2021/06/17 | 5200 | macros/latex-dev/base/ltnews03.tex
-2021/06/17 | 143686 | macros/latex-dev/base/ltnews04.pdf
-2021/06/17 | 5506 | macros/latex-dev/base/ltnews04.tex
-2021/06/17 | 174488 | macros/latex-dev/base/ltnews05.pdf
-2021/06/17 | 5608 | macros/latex-dev/base/ltnews05.tex
-2021/06/17 | 142909 | macros/latex-dev/base/ltnews06.pdf
-2021/06/17 | 5390 | macros/latex-dev/base/ltnews06.tex
-2021/06/17 | 138044 | macros/latex-dev/base/ltnews07.pdf
-2021/06/17 | 5425 | macros/latex-dev/base/ltnews07.tex
-2021/06/17 | 155055 | macros/latex-dev/base/ltnews08.pdf
-2021/06/17 | 5695 | macros/latex-dev/base/ltnews08.tex
-2021/06/17 | 129032 | macros/latex-dev/base/ltnews09.pdf
-2021/06/17 | 5293 | macros/latex-dev/base/ltnews09.tex
-2021/06/17 | 159313 | macros/latex-dev/base/ltnews10.pdf
-2021/06/17 | 5659 | macros/latex-dev/base/ltnews10.tex
-2021/06/17 | 111955 | macros/latex-dev/base/ltnews11.pdf
-2021/06/17 | 5529 | macros/latex-dev/base/ltnews11.tex
-2021/06/17 | 147587 | macros/latex-dev/base/ltnews12.pdf
-2021/06/17 | 5400 | macros/latex-dev/base/ltnews12.tex
-2021/06/17 | 173323 | macros/latex-dev/base/ltnews13.pdf
-2021/06/17 | 6871 | macros/latex-dev/base/ltnews13.tex
-2021/06/17 | 161405 | macros/latex-dev/base/ltnews14.pdf
-2021/06/17 | 6273 | macros/latex-dev/base/ltnews14.tex
-2021/06/17 | 130447 | macros/latex-dev/base/ltnews15.pdf
-2021/06/17 | 5839 | macros/latex-dev/base/ltnews15.tex
-2021/06/17 | 146533 | macros/latex-dev/base/ltnews16.pdf
-2021/06/17 | 5776 | macros/latex-dev/base/ltnews16.tex
-2021/06/17 | 166368 | macros/latex-dev/base/ltnews17.pdf
-2021/06/17 | 8863 | macros/latex-dev/base/ltnews17.tex
-2021/06/17 | 38031 | macros/latex-dev/base/ltnews18.pdf
-2021/06/17 | 1341 | macros/latex-dev/base/ltnews18.tex
-2021/06/17 | 245818 | macros/latex-dev/base/ltnews19.pdf
-2021/06/17 | 4170 | macros/latex-dev/base/ltnews19.tex
-2021/06/17 | 297070 | macros/latex-dev/base/ltnews20.pdf
-2021/06/17 | 7325 | macros/latex-dev/base/ltnews20.tex
-2021/06/17 | 244869 | macros/latex-dev/base/ltnews21.pdf
-2021/06/17 | 9809 | macros/latex-dev/base/ltnews21.tex
-2021/06/17 | 318399 | macros/latex-dev/base/ltnews22.pdf
-2021/06/17 | 10668 | macros/latex-dev/base/ltnews22.tex
-2021/06/17 | 287125 | macros/latex-dev/base/ltnews23.pdf
-2021/06/17 | 10687 | macros/latex-dev/base/ltnews23.tex
-2021/06/17 | 265211 | macros/latex-dev/base/ltnews24.pdf
-2021/06/17 | 12224 | macros/latex-dev/base/ltnews24.tex
-2021/06/17 | 205162 | macros/latex-dev/base/ltnews25.pdf
-2021/06/17 | 5473 | macros/latex-dev/base/ltnews25.tex
-2021/06/17 | 379735 | macros/latex-dev/base/ltnews26.pdf
-2021/06/17 | 10697 | macros/latex-dev/base/ltnews26.tex
-2021/06/17 | 252432 | macros/latex-dev/base/ltnews27.pdf
-2021/06/17 | 5506 | macros/latex-dev/base/ltnews27.tex
-2021/06/17 | 387987 | macros/latex-dev/base/ltnews28.pdf
-2021/06/17 | 14891 | macros/latex-dev/base/ltnews28.tex
-2021/06/17 | 454808 | macros/latex-dev/base/ltnews29.pdf
-2021/06/17 | 18940 | macros/latex-dev/base/ltnews29.tex
-2021/06/17 | 511855 | macros/latex-dev/base/ltnews30.pdf
-2021/06/17 | 23651 | macros/latex-dev/base/ltnews30.tex
-2021/06/17 | 526312 | macros/latex-dev/base/ltnews31.pdf
-2021/06/17 | 30456 | macros/latex-dev/base/ltnews31.tex
-2021/06/17 | 546162 | macros/latex-dev/base/ltnews32.pdf
-2021/06/17 | 33256 | macros/latex-dev/base/ltnews32.tex
-2021/06/17 | 522413 | macros/latex-dev/base/ltnews33.pdf
-2021/06/17 | 33916 | macros/latex-dev/base/ltnews33.tex
-2021/06/17 | 310056 | macros/latex-dev/base/ltnews34.pdf
-2021/06/17 | 4818 | macros/latex-dev/base/ltnews34.tex
-2021/06/17 | 20469 | macros/latex-dev/base/ltnews.cls
-2021/06/17 | 1079232 | macros/latex-dev/base/ltnews.pdf
-2021/06/17 | 8259 | macros/latex-dev/base/ltnews.tex
-2021/06/17 | 149221 | macros/latex-dev/base/ltoutenc.dtx
-2021/06/17 | 3367 | macros/latex-dev/base/ltoutenc.ins
-2021/06/17 | 175645 | macros/latex-dev/base/ltoutput.dtx
-2021/06/17 | 11590 | macros/latex-dev/base/ltpage.dtx
-2021/06/17 | 2733 | macros/latex-dev/base/ltpageno.dtx
-2021/06/17 | 664537 | macros/latex-dev/base/ltpara-code.pdf
-2021/06/17 | 99 | macros/latex-dev/base/ltpara-code.tex
-2021/06/17 | 560270 | macros/latex-dev/base/ltpara-doc.pdf
-2021/06/17 | 173 | macros/latex-dev/base/ltpara-doc.tex
-2021/06/17 | 48746 | macros/latex-dev/base/ltpara.dtx
-2021/06/17 | 6160 | macros/latex-dev/base/ltpar.dtx
-2021/06/17 | 69007 | macros/latex-dev/base/ltpictur.dtx
-2021/06/17 | 53199 | macros/latex-dev/base/ltplain.dtx
-2021/06/17 | 32648 | macros/latex-dev/base/ltsect.dtx
-2021/06/17 | 818942 | macros/latex-dev/base/ltshipout-code.pdf
-2021/06/17 | 104 | macros/latex-dev/base/ltshipout-code.tex
-2021/06/17 | 564769 | macros/latex-dev/base/ltshipout-doc.pdf
-2021/06/17 | 179 | macros/latex-dev/base/ltshipout-doc.tex
-2021/06/17 | 78332 | macros/latex-dev/base/ltshipout.dtx
-2021/06/17 | 45245 | macros/latex-dev/base/ltspace.dtx
-2021/06/17 | 47901 | macros/latex-dev/base/lttab.dtx
-2021/06/17 | 90126 | macros/latex-dev/base/lttextcomp.dtx
-2021/06/17 | 8736 | macros/latex-dev/base/ltthm.dtx
-2021/06/17 | 13902 | macros/latex-dev/base/ltvers.dtx
-2021/06/17 | 219354 | macros/latex-dev/base/ltx3info.pdf
-2021/06/17 | 18299 | macros/latex-dev/base/ltx3info.tex
-2021/06/17 | 27122 | macros/latex-dev/base/ltxcheck.tex
-2021/06/17 | 19064 | macros/latex-dev/base/ltxdoc.dtx
-2021/06/17 | 238577 | macros/latex-dev/base/ltxdoc.pdf
-2021/06/17 | 7524 | macros/latex-dev/base/ltxguide.cls
-2021/06/17 | 15625 | macros/latex-dev/base/ltxref.dtx
-2021/06/17 | 10603 | macros/latex-dev/base/makeindx.dtx
-2021/06/17 | 3434 | macros/latex-dev/base/makeindx.ins
-2021/06/17 | 173682 | macros/latex-dev/base/makeindx.pdf
-2021/06/17 | 10871 | macros/latex-dev/base/manifest.txt
-2021/06/17 | 12946 | macros/latex-dev/base/manual.err
-2021/06/17 | 160521 | macros/latex-dev/base/manual.pdf
-2021/06/17 | 1937 | macros/latex-dev/base/minimal.cls
-2021/06/17 | 243601 | macros/latex-dev/base/modguide.pdf
-2021/06/17 | 16233 | macros/latex-dev/base/modguide.tex
-2021/06/17 | 4254 | macros/latex-dev/base/newdc.ins
-2021/06/17 | 6362 | macros/latex-dev/base/newlfont.dtx
-2021/06/17 | 18404 | macros/latex-dev/base/nfssfont.dtx
-2021/06/17 | 2893 | macros/latex-dev/base/nfssfont.ins
-2021/06/17 | 218782 | macros/latex-dev/base/nfssfont.pdf
-2021/06/17 | 3960 | macros/latex-dev/base/olddc.ins
-2021/06/17 | 8631 | macros/latex-dev/base/oldlfont.dtx
-2021/06/17 | 9373 | macros/latex-dev/base/preload.dtx
-2021/06/17 | 13301 | macros/latex-dev/base/proc.dtx
-2021/06/17 | 3401 | macros/latex-dev/base/proc.ins
-2021/06/17 | 233995 | macros/latex-dev/base/proc.pdf
-2021/06/17 | 3514 | macros/latex-dev/base/README.md
-2021/06/17 | 7200 | macros/latex-dev/base/sample2e.tex
-2021/06/17 | 89718 | macros/latex-dev/base/slides.dtx
-2021/06/17 | 6760 | macros/latex-dev/base/slides.ins
-2021/06/17 | 374051 | macros/latex-dev/base/slides.pdf
-2021/06/17 | 15699 | macros/latex-dev/base/slifonts.fdd
-2021/06/17 | 234008 | macros/latex-dev/base/slifonts.pdf
-2021/06/17 | 1694 | macros/latex-dev/base/small2e.tex
-2021/06/17 | 8531 | macros/latex-dev/base/source2edoc.cls
-2021/06/17 | 5280988 | macros/latex-dev/base/source2e.pdf
-2021/06/17 | 15104 | macros/latex-dev/base/source2e.tex
-2021/06/17 | 9400 | macros/latex-dev/base/syntonly.dtx
-2021/06/17 | 2896 | macros/latex-dev/base/syntonly.ins
-2021/06/17 | 197319 | macros/latex-dev/base/syntonly.pdf
-2021/06/17 | 12520 | macros/latex-dev/base/testpage.tex
-2021/06/17 | 2738 | macros/latex-dev/base/tex2.txt
-2021/06/17 | 8496 | macros/latex-dev/base/texpert.txt
-2021/06/17 | 172278 | macros/latex-dev/base/tlc2.err
-2021/06/17 | 289245 | macros/latex-dev/base/tlc2.pdf
-2021/06/17 | 12119 | macros/latex-dev/base/tulm.fdd
-2021/06/17 | 3781 | macros/latex-dev/base/tulm.ins
-2021/06/17 | 170529 | macros/latex-dev/base/tulm.pdf
-2021/06/17 | 3181 | macros/latex-dev/base/unpack.ins
-2021/06/17 | 325349 | macros/latex-dev/base/usrguide3.pdf
-2021/06/17 | 29907 | macros/latex-dev/base/usrguide3.tex
-2021/06/17 | 430996 | macros/latex-dev/base/usrguide.pdf
-2021/06/17 | 68435 | macros/latex-dev/base/usrguide.tex
-2021/06/17 | 89942 | macros/latex-dev/base/utf8ienc.dtx
-2021/06/17 | 362073 | macros/latex-dev/base/utf8ienc.pdf
-2021/06/17 | 10105 | macros/latex-dev/base/webcomp.err
-2021/06/17 | 146200 | macros/latex-dev/base/webcomp.pdf
-2021/06/17 | 34212765 | macros/latex-dev/base.zip
-2021/06/17 | 8668 | macros/latex-dev/required/amsmath/amsbsy.dtx
-2021/06/17 | 1505 | macros/latex-dev/required/amsmath/amsbsy.ins
-2021/06/17 | 173746 | macros/latex-dev/required/amsmath/amsbsy.pdf
-2021/06/17 | 11289 | macros/latex-dev/required/amsmath/amscd.dtx
-2021/06/17 | 1487 | macros/latex-dev/required/amsmath/amscd.ins
-2021/06/17 | 178672 | macros/latex-dev/required/amsmath/amscd.pdf
-2021/06/17 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
-2021/06/17 | 13447 | macros/latex-dev/required/amsmath/amsgen.dtx
-2021/06/17 | 1484 | macros/latex-dev/required/amsmath/amsgen.ins
-2021/06/17 | 176740 | macros/latex-dev/required/amsmath/amsgen.pdf
-2021/06/17 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
-2021/06/17 | 508231 | macros/latex-dev/required/amsmath/amsldoc.pdf
-2021/06/17 | 104675 | macros/latex-dev/required/amsmath/amsldoc.tex
-2021/06/17 | 85099 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
-2021/06/17 | 225983 | macros/latex-dev/required/amsmath/amsmath.dtx
-2021/06/17 | 1504 | macros/latex-dev/required/amsmath/amsmath.ins
-2021/06/17 | 398817 | macros/latex-dev/required/amsmath/amsmath.pdf
-2021/06/17 | 9200 | macros/latex-dev/required/amsmath/amsopn.dtx
-2021/06/17 | 1490 | macros/latex-dev/required/amsmath/amsopn.ins
-2021/06/17 | 138991 | macros/latex-dev/required/amsmath/amsopn.pdf
-2021/06/17 | 69732 | macros/latex-dev/required/amsmath/amstex.sty
-2021/06/17 | 11403 | macros/latex-dev/required/amsmath/amstext.dtx
-2021/06/17 | 1492 | macros/latex-dev/required/amsmath/amstext.ins
-2021/06/17 | 215693 | macros/latex-dev/required/amsmath/amstext.pdf
-2021/06/17 | 4341 | macros/latex-dev/required/amsmath/amsxtra.dtx
-2021/06/17 | 1492 | macros/latex-dev/required/amsmath/amsxtra.ins
-2021/06/17 | 112556 | macros/latex-dev/required/amsmath/amsxtra.pdf
-2021/06/17 | 6735 | macros/latex-dev/required/amsmath/changes.txt
-2021/06/17 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
-2021/06/17 | 369 | macros/latex-dev/required/amsmath/manifest.txt
-2021/06/17 | 2726 | macros/latex-dev/required/amsmath/README.md
-2021/06/17 | 109737 | macros/latex-dev/required/amsmath/subeqn.pdf
-2021/06/17 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
-2021/06/17 | 145610 | macros/latex-dev/required/amsmath/technote.pdf
-2021/06/17 | 12005 | macros/latex-dev/required/amsmath/technote.tex
-2021/06/17 | 454662 | macros/latex-dev/required/amsmath/testmath.pdf
-2021/06/17 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
-2021/06/17 | 2733513 | macros/latex-dev/required/amsmath.zip
-2021/06/17 | 2317 | macros/latex-dev/required/firstaid/changes.txt
-2021/06/17 | 2740 | macros/latex-dev/required/firstaid/firstaid.ins
-2021/06/17 | 20131 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
-2021/06/17 | 237390 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
-2021/06/17 | 474 | macros/latex-dev/required/firstaid/README.md
-2021/06/17 | 238249 | macros/latex-dev/required/firstaid.zip
-2021/06/17 | 15737 | macros/latex-dev/required/graphics/cat.eps
-2021/06/17 | 33916 | macros/latex-dev/required/graphics/changes.txt
-2021/06/17 | 31659 | macros/latex-dev/required/graphics/color.dtx
-2021/06/17 | 215002 | macros/latex-dev/required/graphics/color.pdf
-2021/06/17 | 50810 | macros/latex-dev/required/graphics/drivers.dtx
-2021/06/17 | 286309 | macros/latex-dev/required/graphics/drivers.pdf
-2021/06/17 | 4113 | macros/latex-dev/required/graphics/epsfig.dtx
-2021/06/17 | 167686 | macros/latex-dev/required/graphics/epsfig.pdf
-2021/06/17 | 15429 | macros/latex-dev/required/graphics/graphics-2017-06-25.sty
-2021/06/17 | 2994 | macros/latex-dev/required/graphics/graphics-drivers.ins
-2021/06/17 | 70176 | macros/latex-dev/required/graphics/graphics.dtx
-2021/06/17 | 1128 | macros/latex-dev/required/graphics/graphics.ins
-2021/06/17 | 310676 | macros/latex-dev/required/graphics/graphics.pdf
-2021/06/17 | 30185 | macros/latex-dev/required/graphics/graphicx.dtx
-2021/06/17 | 247910 | macros/latex-dev/required/graphics/graphicx.pdf
-2021/06/17 | 330071 | macros/latex-dev/required/graphics/grfguide.pdf
-2021/06/17 | 37089 | macros/latex-dev/required/graphics/grfguide.tex
-2021/06/17 | 13880 | macros/latex-dev/required/graphics/keyval.dtx
-2021/06/17 | 239654 | macros/latex-dev/required/graphics/keyval.pdf
-2021/06/17 | 3937 | macros/latex-dev/required/graphics/lscape.dtx
-2021/06/17 | 163584 | macros/latex-dev/required/graphics/lscape.pdf
-2021/06/17 | 2092 | macros/latex-dev/required/graphics/README.md
-2021/06/17 | 21072 | macros/latex-dev/required/graphics/rotating.dtx
-2021/06/17 | 269186 | macros/latex-dev/required/graphics/rotating.pdf
-2021/06/17 | 172231 | macros/latex-dev/required/graphics/rotex.pdf
-2021/06/17 | 14575 | macros/latex-dev/required/graphics/rotex.tex
-2021/06/17 | 10682 | macros/latex-dev/required/graphics/trig.dtx
-2021/06/17 | 207299 | macros/latex-dev/required/graphics/trig.pdf
-2021/06/17 | 2632295 | macros/latex-dev/required/graphics.zip
-2021/06/17 | 14077 | macros/latex-dev/required/tools/afterpage.dtx
-2021/06/17 | 2538 | macros/latex-dev/required/tools/afterpage.ins
-2021/06/17 | 205344 | macros/latex-dev/required/tools/afterpage.pdf
-2021/06/17 | 11749 | macros/latex-dev/required/tools/array-2016-10-06.sty
-2021/06/17 | 12559 | macros/latex-dev/required/tools/array-2020-02-10.sty
-2021/06/17 | 127986 | macros/latex-dev/required/tools/array.dtx
-2021/06/17 | 516483 | macros/latex-dev/required/tools/array.pdf
-2021/06/17 | 61460 | macros/latex-dev/required/tools/bm.dtx
-2021/06/17 | 2524 | macros/latex-dev/required/tools/bm.ins
-2021/06/17 | 331424 | macros/latex-dev/required/tools/bm.pdf
-2021/06/17 | 53172 | macros/latex-dev/required/tools/calc.dtx
-2021/06/17 | 370414 | macros/latex-dev/required/tools/calc.pdf
-2021/06/17 | 59933 | macros/latex-dev/required/tools/changes.txt
-2021/06/17 | 12714 | macros/latex-dev/required/tools/dcolumn.dtx
-2021/06/17 | 220689 | macros/latex-dev/required/tools/dcolumn.pdf
-2021/06/17 | 6794 | macros/latex-dev/required/tools/delarray.dtx
-2021/06/17 | 198647 | macros/latex-dev/required/tools/delarray.pdf
-2021/06/17 | 10649 | macros/latex-dev/required/tools/enumerate.dtx
-2021/06/17 | 215355 | macros/latex-dev/required/tools/enumerate.pdf
-2021/06/17 | 4964 | macros/latex-dev/required/tools/fileerr.dtx
-2021/06/17 | 195103 | macros/latex-dev/required/tools/fileerr.pdf
-2021/06/17 | 10776 | macros/latex-dev/required/tools/fontsmpl.dtx
-2021/06/17 | 154034 | macros/latex-dev/required/tools/fontsmpl.pdf
-2021/06/17 | 39701 | macros/latex-dev/required/tools/ftnright.dtx
-2021/06/17 | 369810 | macros/latex-dev/required/tools/ftnright.pdf
-2021/06/17 | 11153 | macros/latex-dev/required/tools/hhline.dtx
-2021/06/17 | 189538 | macros/latex-dev/required/tools/hhline.pdf
-2021/06/17 | 2225 | macros/latex-dev/required/tools/indentfirst.dtx
-2021/06/17 | 157803 | macros/latex-dev/required/tools/indentfirst.pdf
-2021/06/17 | 32034 | macros/latex-dev/required/tools/layout.dtx
-2021/06/17 | 267761 | macros/latex-dev/required/tools/layout.pdf
-2021/06/17 | 12133 | macros/latex-dev/required/tools/longtable-2020-01-07.sty
-2021/06/17 | 76075 | macros/latex-dev/required/tools/longtable.dtx
-2021/06/17 | 2538 | macros/latex-dev/required/tools/longtable.ins
-2021/06/17 | 382541 | macros/latex-dev/required/tools/longtable.pdf
-2021/06/17 | 3284 | macros/latex-dev/required/tools/manifest.txt
-2021/06/17 | 29712 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
-2021/06/17 | 182354 | macros/latex-dev/required/tools/multicol.dtx
-2021/06/17 | 2576 | macros/latex-dev/required/tools/multicol.ins
-2021/06/17 | 516139 | macros/latex-dev/required/tools/multicol.pdf
-2021/06/17 | 8981 | macros/latex-dev/required/tools/rawfonts.dtx
-2021/06/17 | 146534 | macros/latex-dev/required/tools/rawfonts.pdf
-2021/06/17 | 1666 | macros/latex-dev/required/tools/README.md
-2021/06/17 | 9493 | macros/latex-dev/required/tools/shellesc.dtx
-2021/06/17 | 183532 | macros/latex-dev/required/tools/shellesc.pdf
-2021/06/17 | 29569 | macros/latex-dev/required/tools/showkeys.dtx
-2021/06/17 | 260624 | macros/latex-dev/required/tools/showkeys.pdf
-2021/06/17 | 5796 | macros/latex-dev/required/tools/somedefs.dtx
-2021/06/17 | 175169 | macros/latex-dev/required/tools/somedefs.pdf
-2021/06/17 | 35880 | macros/latex-dev/required/tools/tabularx.dtx
-2021/06/17 | 2535 | macros/latex-dev/required/tools/tabularx.ins
-2021/06/17 | 278041 | macros/latex-dev/required/tools/tabularx.pdf
-2021/06/17 | 43453 | macros/latex-dev/required/tools/theorem.dtx
-2021/06/17 | 351317 | macros/latex-dev/required/tools/theorem.pdf
-2021/06/17 | 5680 | macros/latex-dev/required/tools/tools.ins
-2021/06/17 | 73674 | macros/latex-dev/required/tools/tools-overview.pdf
-2021/06/17 | 5211 | macros/latex-dev/required/tools/tools-overview.tex
-2021/06/17 | 25151 | macros/latex-dev/required/tools/trace.dtx
-2021/06/17 | 229713 | macros/latex-dev/required/tools/trace.pdf
-2021/06/17 | 33863 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
-2021/06/17 | 114211 | macros/latex-dev/required/tools/varioref.dtx
-2021/06/17 | 2531 | macros/latex-dev/required/tools/varioref.ins
-2021/06/17 | 383483 | macros/latex-dev/required/tools/varioref.pdf
-2021/06/17 | 72141 | macros/latex-dev/required/tools/verbatim.dtx
-2021/06/17 | 330815 | macros/latex-dev/required/tools/verbatim.pdf
-2021/06/17 | 6223 | macros/latex-dev/required/tools/xr.dtx
-2021/06/17 | 177595 | macros/latex-dev/required/tools/xr.pdf
-2021/06/17 | 17861 | macros/latex-dev/required/tools/xspace.dtx
-2021/06/17 | 256897 | macros/latex-dev/required/tools/xspace.pdf
-2021/06/17 | 7266306 | macros/latex-dev/required/tools.zip
+2021/09/20 | 7109 | macros/latex-dev/base/alltt.dtx
+2021/09/20 | 2890 | macros/latex-dev/base/alltt.ins
+2021/09/20 | 214710 | macros/latex-dev/base/alltt.pdf
+2021/09/20 | 3282 | macros/latex-dev/base/bugs.txt
+2021/09/20 | 242886 | macros/latex-dev/base/cfgguide.pdf
+2021/09/20 | 22456 | macros/latex-dev/base/cfgguide.tex
+2021/09/20 | 42708 | macros/latex-dev/base/changes.old.txt
+2021/09/20 | 383566 | macros/latex-dev/base/changes.txt
+2021/09/20 | 156219 | macros/latex-dev/base/classes.dtx
+2021/09/20 | 4087 | macros/latex-dev/base/classes.ins
+2021/09/20 | 550711 | macros/latex-dev/base/classes.pdf
+2021/09/20 | 402779 | macros/latex-dev/base/clsguide.pdf
+2021/09/20 | 69050 | macros/latex-dev/base/clsguide.tex
+2021/09/20 | 5273 | macros/latex-dev/base/cmextra.ins
+2021/09/20 | 43636 | macros/latex-dev/base/cmfonts.fdd
+2021/09/20 | 4324 | macros/latex-dev/base/cmfonts.ins
+2021/09/20 | 292317 | macros/latex-dev/base/cmfonts.pdf
+2021/09/20 | 239681 | macros/latex-dev/base/cyrguide.pdf
+2021/09/20 | 17495 | macros/latex-dev/base/cyrguide.tex
+2021/09/20 | 204063 | macros/latex-dev/base/doc.dtx
+2021/09/20 | 676958 | macros/latex-dev/base/doc.pdf
+2021/09/20 | 170214 | macros/latex-dev/base/docstrip.dtx
+2021/09/20 | 4221 | macros/latex-dev/base/docstrip.ins
+2021/09/20 | 503607 | macros/latex-dev/base/docstrip.pdf
+2021/09/20 | 41831 | macros/latex-dev/base/doc-v3beta.sty
+2021/09/20 | 4390 | macros/latex-dev/base/ec.ins
+2021/09/20 | 1316472 | macros/latex-dev/base/encguide.pdf
+2021/09/20 | 52813 | macros/latex-dev/base/encguide.tex
+2021/09/20 | 7221 | macros/latex-dev/base/exscale.dtx
+2021/09/20 | 3338 | macros/latex-dev/base/exscale.ins
+2021/09/20 | 212307 | macros/latex-dev/base/exscale.pdf
+2021/09/20 | 23521 | macros/latex-dev/base/fix-cm.dtx
+2021/09/20 | 2892 | macros/latex-dev/base/fix-cm.ins
+2021/09/20 | 287672 | macros/latex-dev/base/fix-cm.pdf
+2021/09/20 | 493957 | macros/latex-dev/base/fntguide.pdf
+2021/09/20 | 90917 | macros/latex-dev/base/fntguide.tex
+2021/09/20 | 60326 | macros/latex-dev/base/fontdef.dtx
+2021/09/20 | 9583 | macros/latex-dev/base/format.ins
+2021/09/20 | 5514 | macros/latex-dev/base/graphpap.dtx
+2021/09/20 | 2892 | macros/latex-dev/base/graphpap.ins
+2021/09/20 | 169323 | macros/latex-dev/base/graphpap.pdf
+2021/09/20 | 2705 | macros/latex-dev/base/idx.tex
+2021/09/20 | 18303 | macros/latex-dev/base/ifthen.dtx
+2021/09/20 | 2888 | macros/latex-dev/base/ifthen.ins
+2021/09/20 | 220417 | macros/latex-dev/base/ifthen.pdf
+2021/09/20 | 106908 | macros/latex-dev/base/inputenc.dtx
+2021/09/20 | 5714 | macros/latex-dev/base/inputenc.ins
+2021/09/20 | 318168 | macros/latex-dev/base/inputenc.pdf
+2021/09/20 | 4079 | macros/latex-dev/base/lablst.tex
+2021/09/20 | 13759 | macros/latex-dev/base/lamport-manual.err
+2021/09/20 | 170875 | macros/latex-dev/base/lamport-manual.pdf
+2021/09/20 | 38735 | macros/latex-dev/base/latex209.dtx
+2021/09/20 | 4219 | macros/latex-dev/base/latex209.ins
+2021/09/20 | 469966 | macros/latex-dev/base/latexchanges.pdf
+2021/09/20 | 41848 | macros/latex-dev/base/latexchanges.tex
+2021/09/20 | 44409 | macros/latex-dev/base/latexrelease.dtx
+2021/09/20 | 5917 | macros/latex-dev/base/latexrelease.ins
+2021/09/20 | 290495 | macros/latex-dev/base/latexrelease.pdf
+2021/09/20 | 6714 | macros/latex-dev/base/latexsym.dtx
+2021/09/20 | 5041 | macros/latex-dev/base/latexsym.ins
+2021/09/20 | 208359 | macros/latex-dev/base/latexsym.pdf
+2021/09/20 | 52724 | macros/latex-dev/base/lb2.err
+2021/09/20 | 252154 | macros/latex-dev/base/lb2.pdf
+2021/09/20 | 1279 | macros/latex-dev/base/legal.txt
+2021/09/20 | 63283 | macros/latex-dev/base/letter.dtx
+2021/09/20 | 3372 | macros/latex-dev/base/letter.ins
+2021/09/20 | 328443 | macros/latex-dev/base/letter.pdf
+2021/09/20 | 20632 | macros/latex-dev/base/lgc2.err
+2021/09/20 | 215091 | macros/latex-dev/base/lgc2.pdf
+2021/09/20 | 9068 | macros/latex-dev/base/lppl-1-0.txt
+2021/09/20 | 14341 | macros/latex-dev/base/lppl-1-1.txt
+2021/09/20 | 14421 | macros/latex-dev/base/lppl-1-2.txt
+2021/09/20 | 132373 | macros/latex-dev/base/lppl.pdf
+2021/09/20 | 23386 | macros/latex-dev/base/lppl.tex
+2021/09/20 | 19040 | macros/latex-dev/base/lppl.txt
+2021/09/20 | 4303 | macros/latex-dev/base/ltalloc.dtx
+2021/09/20 | 16105 | macros/latex-dev/base/ltbibl.dtx
+2021/09/20 | 43867 | macros/latex-dev/base/ltboxes.dtx
+2021/09/20 | 141971 | macros/latex-dev/base/ltclass.dtx
+2021/09/20 | 171083 | macros/latex-dev/base/ltcmd.dtx
+2021/09/20 | 699078 | macros/latex-dev/base/ltcmdhooks-code.pdf
+2021/09/20 | 103 | macros/latex-dev/base/ltcmdhooks-code.tex
+2021/09/20 | 479642 | macros/latex-dev/base/ltcmdhooks-doc.pdf
+2021/09/20 | 177 | macros/latex-dev/base/ltcmdhooks-doc.tex
+2021/09/20 | 42705 | macros/latex-dev/base/ltcmdhooks.dtx
+2021/09/20 | 9562 | macros/latex-dev/base/ltcntrl.dtx
+2021/09/20 | 24291 | macros/latex-dev/base/ltcounts.dtx
+2021/09/20 | 85862 | macros/latex-dev/base/ltdefns.dtx
+2021/09/20 | 35302 | macros/latex-dev/base/ltdirchk.dtx
+2021/09/20 | 27074 | macros/latex-dev/base/lterror.dtx
+2021/09/20 | 13917 | macros/latex-dev/base/ltexpl.dtx
+2021/09/20 | 795879 | macros/latex-dev/base/ltfilehook-code.pdf
+2021/09/20 | 105 | macros/latex-dev/base/ltfilehook-code.tex
+2021/09/20 | 546791 | macros/latex-dev/base/ltfilehook-doc.pdf
+2021/09/20 | 180 | macros/latex-dev/base/ltfilehook-doc.tex
+2021/09/20 | 64242 | macros/latex-dev/base/ltfilehook.dtx
+2021/09/20 | 55654 | macros/latex-dev/base/ltfiles.dtx
+2021/09/20 | 46297 | macros/latex-dev/base/ltfinal.dtx
+2021/09/20 | 54680 | macros/latex-dev/base/ltfloat.dtx
+2021/09/20 | 29272 | macros/latex-dev/base/ltfntcmd.dtx
+2021/09/20 | 58556 | macros/latex-dev/base/ltfssaxes.dtx
+2021/09/20 | 80726 | macros/latex-dev/base/ltfssbas.dtx
+2021/09/20 | 10375 | macros/latex-dev/base/ltfsscmp.dtx
+2021/09/20 | 61425 | macros/latex-dev/base/ltfssdcl.dtx
+2021/09/20 | 84220 | macros/latex-dev/base/ltfssini.dtx
+2021/09/20 | 72480 | macros/latex-dev/base/ltfsstrc.dtx
+2021/09/20 | 1083948 | macros/latex-dev/base/lthooks-code.pdf
+2021/09/20 | 102 | macros/latex-dev/base/lthooks-code.tex
+2021/09/20 | 703437 | macros/latex-dev/base/lthooks-doc.pdf
+2021/09/20 | 177 | macros/latex-dev/base/lthooks-doc.tex
+2021/09/20 | 209026 | macros/latex-dev/base/lthooks.dtx
+2021/09/20 | 4950 | macros/latex-dev/base/lthyphen.dtx
+2021/09/20 | 5864 | macros/latex-dev/base/ltidxglo.dtx
+2021/09/20 | 4762 | macros/latex-dev/base/ltlength.dtx
+2021/09/20 | 36157 | macros/latex-dev/base/ltlists.dtx
+2021/09/20 | 3730 | macros/latex-dev/base/ltlogos.dtx
+2021/09/20 | 64850 | macros/latex-dev/base/ltluatex.dtx
+2021/09/20 | 325107 | macros/latex-dev/base/ltluatex.pdf
+2021/09/20 | 39431 | macros/latex-dev/base/ltmath.dtx
+2021/09/20 | 58750 | macros/latex-dev/base/ltmiscen.dtx
+2021/09/20 | 161518 | macros/latex-dev/base/ltnews01.pdf
+2021/09/20 | 5246 | macros/latex-dev/base/ltnews01.tex
+2021/09/20 | 150466 | macros/latex-dev/base/ltnews02.pdf
+2021/09/20 | 5283 | macros/latex-dev/base/ltnews02.tex
+2021/09/20 | 150493 | macros/latex-dev/base/ltnews03.pdf
+2021/09/20 | 5200 | macros/latex-dev/base/ltnews03.tex
+2021/09/20 | 143686 | macros/latex-dev/base/ltnews04.pdf
+2021/09/20 | 5506 | macros/latex-dev/base/ltnews04.tex
+2021/09/20 | 174488 | macros/latex-dev/base/ltnews05.pdf
+2021/09/20 | 5608 | macros/latex-dev/base/ltnews05.tex
+2021/09/20 | 142909 | macros/latex-dev/base/ltnews06.pdf
+2021/09/20 | 5390 | macros/latex-dev/base/ltnews06.tex
+2021/09/20 | 138044 | macros/latex-dev/base/ltnews07.pdf
+2021/09/20 | 5425 | macros/latex-dev/base/ltnews07.tex
+2021/09/20 | 155055 | macros/latex-dev/base/ltnews08.pdf
+2021/09/20 | 5695 | macros/latex-dev/base/ltnews08.tex
+2021/09/20 | 129032 | macros/latex-dev/base/ltnews09.pdf
+2021/09/20 | 5293 | macros/latex-dev/base/ltnews09.tex
+2021/09/20 | 159313 | macros/latex-dev/base/ltnews10.pdf
+2021/09/20 | 5659 | macros/latex-dev/base/ltnews10.tex
+2021/09/20 | 111955 | macros/latex-dev/base/ltnews11.pdf
+2021/09/20 | 5529 | macros/latex-dev/base/ltnews11.tex
+2021/09/20 | 147587 | macros/latex-dev/base/ltnews12.pdf
+2021/09/20 | 5400 | macros/latex-dev/base/ltnews12.tex
+2021/09/20 | 173323 | macros/latex-dev/base/ltnews13.pdf
+2021/09/20 | 6871 | macros/latex-dev/base/ltnews13.tex
+2021/09/20 | 161405 | macros/latex-dev/base/ltnews14.pdf
+2021/09/20 | 6273 | macros/latex-dev/base/ltnews14.tex
+2021/09/20 | 130447 | macros/latex-dev/base/ltnews15.pdf
+2021/09/20 | 5839 | macros/latex-dev/base/ltnews15.tex
+2021/09/20 | 146533 | macros/latex-dev/base/ltnews16.pdf
+2021/09/20 | 5776 | macros/latex-dev/base/ltnews16.tex
+2021/09/20 | 166368 | macros/latex-dev/base/ltnews17.pdf
+2021/09/20 | 8863 | macros/latex-dev/base/ltnews17.tex
+2021/09/20 | 38031 | macros/latex-dev/base/ltnews18.pdf
+2021/09/20 | 1341 | macros/latex-dev/base/ltnews18.tex
+2021/09/20 | 245818 | macros/latex-dev/base/ltnews19.pdf
+2021/09/20 | 4170 | macros/latex-dev/base/ltnews19.tex
+2021/09/20 | 297070 | macros/latex-dev/base/ltnews20.pdf
+2021/09/20 | 7325 | macros/latex-dev/base/ltnews20.tex
+2021/09/20 | 244869 | macros/latex-dev/base/ltnews21.pdf
+2021/09/20 | 9809 | macros/latex-dev/base/ltnews21.tex
+2021/09/20 | 318399 | macros/latex-dev/base/ltnews22.pdf
+2021/09/20 | 10668 | macros/latex-dev/base/ltnews22.tex
+2021/09/20 | 287125 | macros/latex-dev/base/ltnews23.pdf
+2021/09/20 | 10687 | macros/latex-dev/base/ltnews23.tex
+2021/09/20 | 265211 | macros/latex-dev/base/ltnews24.pdf
+2021/09/20 | 12224 | macros/latex-dev/base/ltnews24.tex
+2021/09/20 | 205162 | macros/latex-dev/base/ltnews25.pdf
+2021/09/20 | 5473 | macros/latex-dev/base/ltnews25.tex
+2021/09/20 | 379735 | macros/latex-dev/base/ltnews26.pdf
+2021/09/20 | 10697 | macros/latex-dev/base/ltnews26.tex
+2021/09/20 | 252432 | macros/latex-dev/base/ltnews27.pdf
+2021/09/20 | 5506 | macros/latex-dev/base/ltnews27.tex
+2021/09/20 | 387987 | macros/latex-dev/base/ltnews28.pdf
+2021/09/20 | 14891 | macros/latex-dev/base/ltnews28.tex
+2021/09/20 | 454808 | macros/latex-dev/base/ltnews29.pdf
+2021/09/20 | 18940 | macros/latex-dev/base/ltnews29.tex
+2021/09/20 | 511855 | macros/latex-dev/base/ltnews30.pdf
+2021/09/20 | 23651 | macros/latex-dev/base/ltnews30.tex
+2021/09/20 | 526312 | macros/latex-dev/base/ltnews31.pdf
+2021/09/20 | 30456 | macros/latex-dev/base/ltnews31.tex
+2021/09/20 | 546162 | macros/latex-dev/base/ltnews32.pdf
+2021/09/20 | 33256 | macros/latex-dev/base/ltnews32.tex
+2021/09/20 | 522413 | macros/latex-dev/base/ltnews33.pdf
+2021/09/20 | 33916 | macros/latex-dev/base/ltnews33.tex
+2021/09/20 | 505243 | macros/latex-dev/base/ltnews34.pdf
+2021/09/20 | 24782 | macros/latex-dev/base/ltnews34.tex
+2021/09/20 | 20469 | macros/latex-dev/base/ltnews.cls
+2021/09/20 | 1116092 | macros/latex-dev/base/ltnews.pdf
+2021/09/20 | 8259 | macros/latex-dev/base/ltnews.tex
+2021/09/20 | 149318 | macros/latex-dev/base/ltoutenc.dtx
+2021/09/20 | 3367 | macros/latex-dev/base/ltoutenc.ins
+2021/09/20 | 177935 | macros/latex-dev/base/ltoutput.dtx
+2021/09/20 | 11590 | macros/latex-dev/base/ltpage.dtx
+2021/09/20 | 2733 | macros/latex-dev/base/ltpageno.dtx
+2021/09/20 | 666188 | macros/latex-dev/base/ltpara-code.pdf
+2021/09/20 | 99 | macros/latex-dev/base/ltpara-code.tex
+2021/09/20 | 560534 | macros/latex-dev/base/ltpara-doc.pdf
+2021/09/20 | 173 | macros/latex-dev/base/ltpara-doc.tex
+2021/09/20 | 50193 | macros/latex-dev/base/ltpara.dtx
+2021/09/20 | 6160 | macros/latex-dev/base/ltpar.dtx
+2021/09/20 | 69007 | macros/latex-dev/base/ltpictur.dtx
+2021/09/20 | 54088 | macros/latex-dev/base/ltplain.dtx
+2021/09/20 | 33951 | macros/latex-dev/base/ltsect.dtx
+2021/09/20 | 818929 | macros/latex-dev/base/ltshipout-code.pdf
+2021/09/20 | 104 | macros/latex-dev/base/ltshipout-code.tex
+2021/09/20 | 564752 | macros/latex-dev/base/ltshipout-doc.pdf
+2021/09/20 | 179 | macros/latex-dev/base/ltshipout-doc.tex
+2021/09/20 | 78325 | macros/latex-dev/base/ltshipout.dtx
+2021/09/20 | 45245 | macros/latex-dev/base/ltspace.dtx
+2021/09/20 | 47901 | macros/latex-dev/base/lttab.dtx
+2021/09/20 | 90126 | macros/latex-dev/base/lttextcomp.dtx
+2021/09/20 | 8736 | macros/latex-dev/base/ltthm.dtx
+2021/09/20 | 14293 | macros/latex-dev/base/ltvers.dtx
+2021/09/20 | 219354 | macros/latex-dev/base/ltx3info.pdf
+2021/09/20 | 18299 | macros/latex-dev/base/ltx3info.tex
+2021/09/20 | 27122 | macros/latex-dev/base/ltxcheck.tex
+2021/09/20 | 19064 | macros/latex-dev/base/ltxdoc.dtx
+2021/09/20 | 238577 | macros/latex-dev/base/ltxdoc.pdf
+2021/09/20 | 7524 | macros/latex-dev/base/ltxguide.cls
+2021/09/20 | 15625 | macros/latex-dev/base/ltxref.dtx
+2021/09/20 | 10603 | macros/latex-dev/base/makeindx.dtx
+2021/09/20 | 3434 | macros/latex-dev/base/makeindx.ins
+2021/09/20 | 173682 | macros/latex-dev/base/makeindx.pdf
+2021/09/20 | 10896 | macros/latex-dev/base/manifest.txt
+2021/09/20 | 1937 | macros/latex-dev/base/minimal.cls
+2021/09/20 | 243601 | macros/latex-dev/base/modguide.pdf
+2021/09/20 | 16233 | macros/latex-dev/base/modguide.tex
+2021/09/20 | 4254 | macros/latex-dev/base/newdc.ins
+2021/09/20 | 6362 | macros/latex-dev/base/newlfont.dtx
+2021/09/20 | 18404 | macros/latex-dev/base/nfssfont.dtx
+2021/09/20 | 2893 | macros/latex-dev/base/nfssfont.ins
+2021/09/20 | 218782 | macros/latex-dev/base/nfssfont.pdf
+2021/09/20 | 3960 | macros/latex-dev/base/olddc.ins
+2021/09/20 | 8631 | macros/latex-dev/base/oldlfont.dtx
+2021/09/20 | 9373 | macros/latex-dev/base/preload.dtx
+2021/09/20 | 13301 | macros/latex-dev/base/proc.dtx
+2021/09/20 | 3401 | macros/latex-dev/base/proc.ins
+2021/09/20 | 233995 | macros/latex-dev/base/proc.pdf
+2021/09/20 | 3514 | macros/latex-dev/base/README.md
+2021/09/20 | 7200 | macros/latex-dev/base/sample2e.tex
+2021/09/20 | 89718 | macros/latex-dev/base/slides.dtx
+2021/09/20 | 6760 | macros/latex-dev/base/slides.ins
+2021/09/20 | 374051 | macros/latex-dev/base/slides.pdf
+2021/09/20 | 15699 | macros/latex-dev/base/slifonts.fdd
+2021/09/20 | 234008 | macros/latex-dev/base/slifonts.pdf
+2021/09/20 | 1694 | macros/latex-dev/base/small2e.tex
+2021/09/20 | 8531 | macros/latex-dev/base/source2edoc.cls
+2021/09/20 | 5421635 | macros/latex-dev/base/source2e.pdf
+2021/09/20 | 15104 | macros/latex-dev/base/source2e.tex
+2021/09/20 | 9400 | macros/latex-dev/base/syntonly.dtx
+2021/09/20 | 2896 | macros/latex-dev/base/syntonly.ins
+2021/09/20 | 197195 | macros/latex-dev/base/syntonly.pdf
+2021/09/20 | 12520 | macros/latex-dev/base/testpage.tex
+2021/09/20 | 2738 | macros/latex-dev/base/tex2.txt
+2021/09/20 | 8496 | macros/latex-dev/base/texpert.txt
+2021/09/20 | 172409 | macros/latex-dev/base/tlc2.err
+2021/09/20 | 289519 | macros/latex-dev/base/tlc2.pdf
+2021/09/20 | 12242 | macros/latex-dev/base/tulm.fdd
+2021/09/20 | 3781 | macros/latex-dev/base/tulm.ins
+2021/09/20 | 170530 | macros/latex-dev/base/tulm.pdf
+2021/09/20 | 3181 | macros/latex-dev/base/unpack.ins
+2021/09/20 | 325727 | macros/latex-dev/base/usrguide3.pdf
+2021/09/20 | 30453 | macros/latex-dev/base/usrguide3.tex
+2021/09/20 | 430996 | macros/latex-dev/base/usrguide.pdf
+2021/09/20 | 68435 | macros/latex-dev/base/usrguide.tex
+2021/09/20 | 90560 | macros/latex-dev/base/utf8ienc.dtx
+2021/09/20 | 361582 | macros/latex-dev/base/utf8ienc.pdf
+2021/09/20 | 10251 | macros/latex-dev/base/webcomp.err
+2021/09/20 | 146200 | macros/latex-dev/base/webcomp.pdf
+2021/09/20 | 34686730 | macros/latex-dev/base.zip
+2021/09/20 | 8668 | macros/latex-dev/required/amsmath/amsbsy.dtx
+2021/09/20 | 1505 | macros/latex-dev/required/amsmath/amsbsy.ins
+2021/09/20 | 173746 | macros/latex-dev/required/amsmath/amsbsy.pdf
+2021/09/20 | 11289 | macros/latex-dev/required/amsmath/amscd.dtx
+2021/09/20 | 1487 | macros/latex-dev/required/amsmath/amscd.ins
+2021/09/20 | 178672 | macros/latex-dev/required/amsmath/amscd.pdf
+2021/09/20 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
+2021/09/20 | 13447 | macros/latex-dev/required/amsmath/amsgen.dtx
+2021/09/20 | 1484 | macros/latex-dev/required/amsmath/amsgen.ins
+2021/09/20 | 176740 | macros/latex-dev/required/amsmath/amsgen.pdf
+2021/09/20 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
+2021/09/20 | 508199 | macros/latex-dev/required/amsmath/amsldoc.pdf
+2021/09/20 | 104792 | macros/latex-dev/required/amsmath/amsldoc.tex
+2021/09/20 | 85099 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+2021/09/20 | 227034 | macros/latex-dev/required/amsmath/amsmath.dtx
+2021/09/20 | 1504 | macros/latex-dev/required/amsmath/amsmath.ins
+2021/09/20 | 399552 | macros/latex-dev/required/amsmath/amsmath.pdf
+2021/09/20 | 9200 | macros/latex-dev/required/amsmath/amsopn.dtx
+2021/09/20 | 1490 | macros/latex-dev/required/amsmath/amsopn.ins
+2021/09/20 | 138783 | macros/latex-dev/required/amsmath/amsopn.pdf
+2021/09/20 | 69732 | macros/latex-dev/required/amsmath/amstex.sty
+2021/09/20 | 11403 | macros/latex-dev/required/amsmath/amstext.dtx
+2021/09/20 | 1492 | macros/latex-dev/required/amsmath/amstext.ins
+2021/09/20 | 215810 | macros/latex-dev/required/amsmath/amstext.pdf
+2021/09/20 | 4341 | macros/latex-dev/required/amsmath/amsxtra.dtx
+2021/09/20 | 1492 | macros/latex-dev/required/amsmath/amsxtra.ins
+2021/09/20 | 112556 | macros/latex-dev/required/amsmath/amsxtra.pdf
+2021/09/20 | 6998 | macros/latex-dev/required/amsmath/changes.txt
+2021/09/20 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
+2021/09/20 | 369 | macros/latex-dev/required/amsmath/manifest.txt
+2021/09/20 | 2724 | macros/latex-dev/required/amsmath/README.md
+2021/09/20 | 109737 | macros/latex-dev/required/amsmath/subeqn.pdf
+2021/09/20 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
+2021/09/20 | 145610 | macros/latex-dev/required/amsmath/technote.pdf
+2021/09/20 | 12005 | macros/latex-dev/required/amsmath/technote.tex
+2021/09/20 | 454662 | macros/latex-dev/required/amsmath/testmath.pdf
+2021/09/20 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
+2021/09/20 | 2734589 | macros/latex-dev/required/amsmath.zip
+2021/09/20 | 3024 | macros/latex-dev/required/firstaid/changes.txt
+2021/09/20 | 2740 | macros/latex-dev/required/firstaid/firstaid.ins
+2021/09/20 | 23162 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+2021/09/20 | 246012 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
+2021/09/20 | 474 | macros/latex-dev/required/firstaid/README.md
+2021/09/20 | 247461 | macros/latex-dev/required/firstaid.zip
+2021/09/20 | 15737 | macros/latex-dev/required/graphics/cat.eps
+2021/09/20 | 34281 | macros/latex-dev/required/graphics/changes.txt
+2021/09/20 | 31659 | macros/latex-dev/required/graphics/color.dtx
+2021/09/20 | 215002 | macros/latex-dev/required/graphics/color.pdf
+2021/09/20 | 50810 | macros/latex-dev/required/graphics/drivers.dtx
+2021/09/20 | 286309 | macros/latex-dev/required/graphics/drivers.pdf
+2021/09/20 | 4113 | macros/latex-dev/required/graphics/epsfig.dtx
+2021/09/20 | 167686 | macros/latex-dev/required/graphics/epsfig.pdf
+2021/09/20 | 15429 | macros/latex-dev/required/graphics/graphics-2017-06-25.sty
+2021/09/20 | 2994 | macros/latex-dev/required/graphics/graphics-drivers.ins
+2021/09/20 | 70176 | macros/latex-dev/required/graphics/graphics.dtx
+2021/09/20 | 1128 | macros/latex-dev/required/graphics/graphics.ins
+2021/09/20 | 310676 | macros/latex-dev/required/graphics/graphics.pdf
+2021/09/20 | 30455 | macros/latex-dev/required/graphics/graphicx.dtx
+2021/09/20 | 248231 | macros/latex-dev/required/graphics/graphicx.pdf
+2021/09/20 | 330071 | macros/latex-dev/required/graphics/grfguide.pdf
+2021/09/20 | 37089 | macros/latex-dev/required/graphics/grfguide.tex
+2021/09/20 | 13880 | macros/latex-dev/required/graphics/keyval.dtx
+2021/09/20 | 239654 | macros/latex-dev/required/graphics/keyval.pdf
+2021/09/20 | 3937 | macros/latex-dev/required/graphics/lscape.dtx
+2021/09/20 | 163584 | macros/latex-dev/required/graphics/lscape.pdf
+2021/09/20 | 2092 | macros/latex-dev/required/graphics/README.md
+2021/09/20 | 21072 | macros/latex-dev/required/graphics/rotating.dtx
+2021/09/20 | 269103 | macros/latex-dev/required/graphics/rotating.pdf
+2021/09/20 | 172231 | macros/latex-dev/required/graphics/rotex.pdf
+2021/09/20 | 14575 | macros/latex-dev/required/graphics/rotex.tex
+2021/09/20 | 10744 | macros/latex-dev/required/graphics/trig.dtx
+2021/09/20 | 206897 | macros/latex-dev/required/graphics/trig.pdf
+2021/09/20 | 2632331 | macros/latex-dev/required/graphics.zip
+2021/09/20 | 14077 | macros/latex-dev/required/tools/afterpage.dtx
+2021/09/20 | 2538 | macros/latex-dev/required/tools/afterpage.ins
+2021/09/20 | 205344 | macros/latex-dev/required/tools/afterpage.pdf
+2021/09/20 | 11749 | macros/latex-dev/required/tools/array-2016-10-06.sty
+2021/09/20 | 12559 | macros/latex-dev/required/tools/array-2020-02-10.sty
+2021/09/20 | 128187 | macros/latex-dev/required/tools/array.dtx
+2021/09/20 | 517124 | macros/latex-dev/required/tools/array.pdf
+2021/09/20 | 61460 | macros/latex-dev/required/tools/bm.dtx
+2021/09/20 | 2524 | macros/latex-dev/required/tools/bm.ins
+2021/09/20 | 331424 | macros/latex-dev/required/tools/bm.pdf
+2021/09/20 | 53172 | macros/latex-dev/required/tools/calc.dtx
+2021/09/20 | 370414 | macros/latex-dev/required/tools/calc.pdf
+2021/09/20 | 60699 | macros/latex-dev/required/tools/changes.txt
+2021/09/20 | 12714 | macros/latex-dev/required/tools/dcolumn.dtx
+2021/09/20 | 220689 | macros/latex-dev/required/tools/dcolumn.pdf
+2021/09/20 | 6794 | macros/latex-dev/required/tools/delarray.dtx
+2021/09/20 | 198647 | macros/latex-dev/required/tools/delarray.pdf
+2021/09/20 | 10649 | macros/latex-dev/required/tools/enumerate.dtx
+2021/09/20 | 215355 | macros/latex-dev/required/tools/enumerate.pdf
+2021/09/20 | 4964 | macros/latex-dev/required/tools/fileerr.dtx
+2021/09/20 | 195434 | macros/latex-dev/required/tools/fileerr.pdf
+2021/09/20 | 10776 | macros/latex-dev/required/tools/fontsmpl.dtx
+2021/09/20 | 154034 | macros/latex-dev/required/tools/fontsmpl.pdf
+2021/09/20 | 39701 | macros/latex-dev/required/tools/ftnright.dtx
+2021/09/20 | 370134 | macros/latex-dev/required/tools/ftnright.pdf
+2021/09/20 | 11153 | macros/latex-dev/required/tools/hhline.dtx
+2021/09/20 | 189538 | macros/latex-dev/required/tools/hhline.pdf
+2021/09/20 | 2225 | macros/latex-dev/required/tools/indentfirst.dtx
+2021/09/20 | 157803 | macros/latex-dev/required/tools/indentfirst.pdf
+2021/09/20 | 32034 | macros/latex-dev/required/tools/layout.dtx
+2021/09/20 | 267761 | macros/latex-dev/required/tools/layout.pdf
+2021/09/20 | 12133 | macros/latex-dev/required/tools/longtable-2020-01-07.sty
+2021/09/20 | 76402 | macros/latex-dev/required/tools/longtable.dtx
+2021/09/20 | 2538 | macros/latex-dev/required/tools/longtable.ins
+2021/09/20 | 382155 | macros/latex-dev/required/tools/longtable.pdf
+2021/09/20 | 3284 | macros/latex-dev/required/tools/manifest.txt
+2021/09/20 | 29712 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
+2021/09/20 | 182355 | macros/latex-dev/required/tools/multicol.dtx
+2021/09/20 | 2576 | macros/latex-dev/required/tools/multicol.ins
+2021/09/20 | 516148 | macros/latex-dev/required/tools/multicol.pdf
+2021/09/20 | 8981 | macros/latex-dev/required/tools/rawfonts.dtx
+2021/09/20 | 146534 | macros/latex-dev/required/tools/rawfonts.pdf
+2021/09/20 | 1666 | macros/latex-dev/required/tools/README.md
+2021/09/20 | 9493 | macros/latex-dev/required/tools/shellesc.dtx
+2021/09/20 | 183532 | macros/latex-dev/required/tools/shellesc.pdf
+2021/09/20 | 29569 | macros/latex-dev/required/tools/showkeys.dtx
+2021/09/20 | 260624 | macros/latex-dev/required/tools/showkeys.pdf
+2021/09/20 | 5796 | macros/latex-dev/required/tools/somedefs.dtx
+2021/09/20 | 175169 | macros/latex-dev/required/tools/somedefs.pdf
+2021/09/20 | 35880 | macros/latex-dev/required/tools/tabularx.dtx
+2021/09/20 | 2535 | macros/latex-dev/required/tools/tabularx.ins
+2021/09/20 | 278041 | macros/latex-dev/required/tools/tabularx.pdf
+2021/09/20 | 43453 | macros/latex-dev/required/tools/theorem.dtx
+2021/09/20 | 351657 | macros/latex-dev/required/tools/theorem.pdf
+2021/09/20 | 5680 | macros/latex-dev/required/tools/tools.ins
+2021/09/20 | 73674 | macros/latex-dev/required/tools/tools-overview.pdf
+2021/09/20 | 5211 | macros/latex-dev/required/tools/tools-overview.tex
+2021/09/20 | 25151 | macros/latex-dev/required/tools/trace.dtx
+2021/09/20 | 229713 | macros/latex-dev/required/tools/trace.pdf
+2021/09/20 | 33863 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
+2021/09/20 | 114351 | macros/latex-dev/required/tools/varioref.dtx
+2021/09/20 | 2531 | macros/latex-dev/required/tools/varioref.ins
+2021/09/20 | 383524 | macros/latex-dev/required/tools/varioref.pdf
+2021/09/20 | 72141 | macros/latex-dev/required/tools/verbatim.dtx
+2021/09/20 | 330815 | macros/latex-dev/required/tools/verbatim.pdf
+2021/09/20 | 6223 | macros/latex-dev/required/tools/xr.dtx
+2021/09/20 | 177595 | macros/latex-dev/required/tools/xr.pdf
+2021/09/20 | 17861 | macros/latex-dev/required/tools/xspace.dtx
+2021/09/20 | 256897 | macros/latex-dev/required/tools/xspace.pdf
+2021/09/20 | 7268047 | macros/latex-dev/required/tools.zip
1999/05/03 | 8998 | macros/latex/exptl/delimtxt/delimtxt.dtx
1999/03/28 | 143 | macros/latex/exptl/delimtxt/delimtxt.ins
2006/03/21 | 55074 | macros/latex/exptl/delimtxt/delimtxt.pdf
@@ -233698,6 +233721,18 @@
2020/10/23 | 281887 | macros/luatex/generic/nodetree/nodetree.pdf
2020/10/23 | 4029 | macros/luatex/generic/nodetree/README.md
2020/10/23 | 289509 | macros/luatex/generic/nodetree.zip
+2021/09/17 | 7235 | macros/luatex/generic/pdfextra/examples/pdfextra-example-latex.tex
+2021/09/17 | 58592 | macros/luatex/generic/pdfextra/examples/pdfextra-example-part.prc
+2021/09/17 | 385350 | macros/luatex/generic/pdfextra/examples/pdfextra-example.pdf
+2021/09/17 | 9600 | macros/luatex/generic/pdfextra/examples/pdfextra-example.tex
+2021/09/17 | 662 | macros/luatex/generic/pdfextra/LICENSE
+2021/09/17 | 245952 | macros/luatex/generic/pdfextra/pdfextra-doc.pdf
+2021/09/17 | 33962 | macros/luatex/generic/pdfextra/pdfextra-doc.tex
+2021/09/17 | 68819 | macros/luatex/generic/pdfextra/pdfextra.opm
+2021/09/17 | 69 | macros/luatex/generic/pdfextra/pdfextra.sty
+2021/09/17 | 9358 | macros/luatex/generic/pdfextra/pdfextra.tex
+2021/09/17 | 1101 | macros/luatex/generic/pdfextra/README.md
+2021/09/18 | 714993 | macros/luatex/generic/pdfextra.zip
2021/09/19 | 20067 | macros/luatex/generic/penlight/penlight.pdf
2021/09/19 | 1550 | macros/luatex/generic/penlight/penlight.sty
2021/09/19 | 3376 | macros/luatex/generic/penlight/penlight.tex
@@ -234444,18 +234479,6 @@
2017/10/17 | 704910 | macros/luatex/latex/wallcalendar/wallcalendar-layouts.png
2017/10/17 | 2896302 | macros/luatex/latex/wallcalendar/wallcalendar.pdf
2017/10/21 | 9209120 | macros/luatex/latex/wallcalendar.zip
-2021/09/17 | 7235 | macros/luatex/optex/pdfextra/examples/pdfextra-example-latex.tex
-2021/09/17 | 58592 | macros/luatex/optex/pdfextra/examples/pdfextra-example-part.prc
-2021/09/17 | 385350 | macros/luatex/optex/pdfextra/examples/pdfextra-example.pdf
-2021/09/17 | 9600 | macros/luatex/optex/pdfextra/examples/pdfextra-example.tex
-2021/09/17 | 662 | macros/luatex/optex/pdfextra/LICENSE
-2021/09/17 | 245952 | macros/luatex/optex/pdfextra/pdfextra-doc.pdf
-2021/09/17 | 33962 | macros/luatex/optex/pdfextra/pdfextra-doc.tex
-2021/09/17 | 68819 | macros/luatex/optex/pdfextra/pdfextra.opm
-2021/09/17 | 69 | macros/luatex/optex/pdfextra/pdfextra.sty
-2021/09/17 | 9358 | macros/luatex/optex/pdfextra/pdfextra.tex
-2021/09/17 | 1101 | macros/luatex/optex/pdfextra/README.md
-2021/09/18 | 714993 | macros/luatex/optex/pdfextra.zip
1993/02/12 | 2330 | macros/mathematica/CHANGES
1993/02/12 | 7699 | macros/mathematica/README
1993/02/12 | 40574 | macros/mathematica/tex-mma-j.ps.gz
@@ -283484,8 +283507,8 @@
2021/04/13 | 2246548 | systems/texlive/tlnet/archive/luajittex.x86_64-darwinlegacy.r58850.tar.xz
2021/04/13 | 3849324 | systems/texlive/tlnet/archive/luajittex.x86_64-linuxmusl.r58850.tar.xz
2021/04/15 | 2675100 | systems/texlive/tlnet/archive/luajittex.x86_64-linux.r58872.tar.xz
-2021/01/19 | 140576 | systems/texlive/tlnet/archive/luakeys.doc.r57463.tar.xz
-2021/01/19 | 4904 | systems/texlive/tlnet/archive/luakeys.r57463.tar.xz
+2021/09/20 | 154160 | systems/texlive/tlnet/archive/luakeys.doc.r60552.tar.xz
+2021/09/20 | 5008 | systems/texlive/tlnet/archive/luakeys.r60552.tar.xz
2019/02/28 | 137620 | systems/texlive/tlnet/archive/lualatex-doc-de.doc.r30474.tar.xz
2019/02/28 | 536 | systems/texlive/tlnet/archive/lualatex-doc-de.r30474.tar.xz
2019/02/28 | 112928 | systems/texlive/tlnet/archive/lualatex-doc.doc.r30473.tar.xz
@@ -285194,8 +285217,8 @@
2019/12/11 | 342644 | systems/texlive/tlnet/archive/pdfescape.doc.r53082.tar.xz
2019/12/11 | 4264 | systems/texlive/tlnet/archive/pdfescape.r53082.tar.xz
2019/12/11 | 8308 | systems/texlive/tlnet/archive/pdfescape.source.r53082.tar.xz
-2021/09/19 | 644568 | systems/texlive/tlnet/archive/pdfextra.doc.r60542.tar.xz
-2021/09/19 | 22584 | systems/texlive/tlnet/archive/pdfextra.r60542.tar.xz
+2021/09/20 | 641672 | systems/texlive/tlnet/archive/pdfextra.doc.r60553.tar.xz
+2021/09/20 | 25320 | systems/texlive/tlnet/archive/pdfextra.r60553.tar.xz
2019/11/19 | 340 | systems/texlive/tlnet/archive/pdfjam.aarch64-linux.r52858.tar.xz
2019/11/19 | 340 | systems/texlive/tlnet/archive/pdfjam.amd64-freebsd.r52858.tar.xz
2019/11/19 | 340 | systems/texlive/tlnet/archive/pdfjam.amd64-netbsd.r52858.tar.xz
@@ -285678,8 +285701,8 @@
2019/12/07 | 14376 | systems/texlive/tlnet/archive/pmboxdraw.source.r53046.tar.xz
2019/02/28 | 129312 | systems/texlive/tlnet/archive/pmgraph.doc.r15878.tar.xz
2019/02/28 | 10064 | systems/texlive/tlnet/archive/pmgraph.r15878.tar.xz
-2020/03/18 | 683796 | systems/texlive/tlnet/archive/pmhanguljamo.doc.r54378.tar.xz
-2020/03/18 | 5136 | systems/texlive/tlnet/archive/pmhanguljamo.r54378.tar.xz
+2021/09/20 | 679004 | systems/texlive/tlnet/archive/pmhanguljamo.doc.r60550.tar.xz
+2021/09/20 | 5168 | systems/texlive/tlnet/archive/pmhanguljamo.r60550.tar.xz
2021/08/30 | 681608 | systems/texlive/tlnet/archive/pm-isomath.doc.r60368.tar.xz
2021/08/30 | 2840 | systems/texlive/tlnet/archive/pm-isomath.r60368.tar.xz
2021/08/30 | 19428 | systems/texlive/tlnet/archive/pm-isomath.source.r60368.tar.xz
@@ -287880,7 +287903,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2021/09/19 | 400072 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60532.tar.xz
+2021/09/20 | 399960 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60545.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -287904,7 +287927,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2021/09/19 | 108292 | systems/texlive/tlnet/archive/texlive-scripts.r60532.tar.xz
+2021/09/20 | 108292 | systems/texlive/tlnet/archive/texlive-scripts.r60545.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -288329,8 +288352,8 @@
2021/08/12 | 12520 | systems/texlive/tlnet/archive/tipauni.source.r60220.tar.xz
2019/02/28 | 381176 | systems/texlive/tlnet/archive/tipfr.doc.r38646.tar.xz
2019/02/28 | 5880 | systems/texlive/tlnet/archive/tipfr.r38646.tar.xz
-2021/07/23 | 135332 | systems/texlive/tlnet/archive/tiscreen.doc.r60020.tar.xz
-2021/07/23 | 1184 | systems/texlive/tlnet/archive/tiscreen.r60020.tar.xz
+2021/09/20 | 152220 | systems/texlive/tlnet/archive/tiscreen.doc.r60551.tar.xz
+2021/09/20 | 1584 | systems/texlive/tlnet/archive/tiscreen.r60551.tar.xz
2019/02/28 | 261184 | systems/texlive/tlnet/archive/titlecaps.doc.r36170.tar.xz
2019/02/28 | 4148 | systems/texlive/tlnet/archive/titlecaps.r36170.tar.xz
2019/02/28 | 2928 | systems/texlive/tlnet/archive/titlefoot.r15878.tar.xz
@@ -289467,7 +289490,7 @@
2019/11/28 | 8464 | systems/texlive/tlnet/archive/xpdfopen.i386-solaris.r52917.tar.xz
2020/03/02 | 560 | systems/texlive/tlnet/archive/xpdfopen.r53998.tar.xz
2021/02/25 | 19720 | systems/texlive/tlnet/archive/xpdfopen.universal-darwin.r57908.tar.xz
-2021/05/30 | 629004 | systems/texlive/tlnet/archive/xpdfopen.win32.r59385.tar.xz
+2021/09/20 | 628828 | systems/texlive/tlnet/archive/xpdfopen.win32.r60546.tar.xz
2021/03/16 | 8636 | systems/texlive/tlnet/archive/xpdfopen.x86_64-cygwin.r58387.tar.xz
2020/03/13 | 8268 | systems/texlive/tlnet/archive/xpdfopen.x86_64-linuxmusl.r54264.tar.xz
2019/11/28 | 8072 | systems/texlive/tlnet/archive/xpdfopen.x86_64-linux.r52917.tar.xz
@@ -289634,16 +289657,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2021/05/02 | 105152 | systems/texlive/tlnet/install-tl
-2021/09/19 | 6811631 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/09/19 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/09/19 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/09/20 | 6811529 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/09/20 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/09/20 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2021/09/19 | 20875499 | systems/texlive/tlnet/install-tl-windows.exe
-2021/09/19 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/09/19 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/09/19 | 25629531 | systems/texlive/tlnet/install-tl.zip
-2021/09/19 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/09/19 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/09/20 | 20872840 | systems/texlive/tlnet/install-tl-windows.exe
+2021/09/20 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/09/20 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/09/20 | 25629535 | systems/texlive/tlnet/install-tl.zip
+2021/09/20 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/09/20 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2021/04/01 | 1229 | systems/texlive/tlnet/README.md
2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021
2021/07/03 | 7181 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -289653,7 +289676,7 @@
2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2021/07/02 | 49348 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2021/09/18 | 6845 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/09/19 | 6877 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/04/15 | 223687 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -289695,12 +289718,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/05/16 | 5402 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/05/16 | 27555 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/09/19 | 16885163 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/09/19 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/09/20 | 16885204 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/09/20 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/05/16 | 86511 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/09/19 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/09/19 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/09/19 | 2312048 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/09/20 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/09/20 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/09/20 | 2311436 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/05/16 | 58801 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2021/05/16 | 42084 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/05/16 | 16103 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -293914,9 +293937,9 @@
2019/10/26 | 1524278 | systems/win32/miktex/tm/packages/clearsans.tar.lzma
2020/08/09 | 822023 | systems/win32/miktex/tm/packages/clefval.tar.lzma
2018/04/22 | 493341 | systems/win32/miktex/tm/packages/cleveref.tar.lzma
-2021/09/18 | 258472 | systems/win32/miktex/tm/packages/clicks__doc.tar.lzma
-2021/09/18 | 2033 | systems/win32/miktex/tm/packages/clicks__source.tar.lzma
-2021/09/18 | 1740 | systems/win32/miktex/tm/packages/clicks.tar.lzma
+2021/09/20 | 261067 | systems/win32/miktex/tm/packages/clicks__doc.tar.lzma
+2021/09/20 | 2196 | systems/win32/miktex/tm/packages/clicks__source.tar.lzma
+2021/09/20 | 1740 | systems/win32/miktex/tm/packages/clicks.tar.lzma
2018/05/19 | 162774 | systems/win32/miktex/tm/packages/clipboard.tar.lzma
2016/07/20 | 71559 | systems/win32/miktex/tm/packages/clock.tar.lzma
2020/07/01 | 592006 | systems/win32/miktex/tm/packages/cloze.tar.lzma
@@ -294274,7 +294297,8 @@
2011/02/23 | 223824 | systems/win32/miktex/tm/packages/drv.tar.lzma
2014/07/30 | 182735 | systems/win32/miktex/tm/packages/dsptricks.tar.lzma
2020/01/08 | 329004 | systems/win32/miktex/tm/packages/dsserif.tar.lzma
-2021/06/04 | 414908 | systems/win32/miktex/tm/packages/dtk-bibliography.tar.lzma
+2021/09/20 | 48248 | systems/win32/miktex/tm/packages/dtk-bibliography__source.tar.lzma
+2021/09/20 | 377210 | systems/win32/miktex/tm/packages/dtk-bibliography.tar.lzma
2021/04/07 | 95995 | systems/win32/miktex/tm/packages/dtk.tar.lzma
2019/07/20 | 354196 | systems/win32/miktex/tm/packages/dtxdescribe.tar.lzma
2019/07/20 | 61900 | systems/win32/miktex/tm/packages/dtxgen.tar.lzma
@@ -294527,16 +294551,18 @@
2019/01/04 | 232811 | systems/win32/miktex/tm/packages/exercisepoints.tar.lzma
2020/05/18 | 368015 | systems/win32/miktex/tm/packages/exercises.tar.lzma
2014/11/20 | 341246 | systems/win32/miktex/tm/packages/exercise.tar.lzma
-2021/09/06 | 179591 | systems/win32/miktex/tm/packages/exesheet__doc.tar.lzma
-2021/09/06 | 16735 | systems/win32/miktex/tm/packages/exesheet__source.tar.lzma
-2021/09/06 | 3942 | systems/win32/miktex/tm/packages/exesheet.tar.lzma
+2021/09/20 | 178311 | systems/win32/miktex/tm/packages/exesheet__doc.tar.lzma
+2021/09/20 | 16691 | systems/win32/miktex/tm/packages/exesheet__source.tar.lzma
+2021/09/20 | 4086 | systems/win32/miktex/tm/packages/exesheet.tar.lzma
2020/02/25 | 450148 | systems/win32/miktex/tm/packages/exframe.tar.lzma
2008/06/26 | 80109 | systems/win32/miktex/tm/packages/expdlist.tar.lzma
2017/05/29 | 494705 | systems/win32/miktex/tm/packages/expex.tar.lzma
2021/07/08 | 444616 | systems/win32/miktex/tm/packages/expkv-cs__doc.tar.lzma
2021/07/08 | 26085 | systems/win32/miktex/tm/packages/expkv-cs__source.tar.lzma
2021/07/08 | 5754 | systems/win32/miktex/tm/packages/expkv-cs.tar.lzma
-2021/05/29 | 418975 | systems/win32/miktex/tm/packages/expkv-def.tar.lzma
+2021/09/20 | 398276 | systems/win32/miktex/tm/packages/expkv-def__doc.tar.lzma
+2021/09/20 | 17979 | systems/win32/miktex/tm/packages/expkv-def__source.tar.lzma
+2021/09/20 | 5260 | systems/win32/miktex/tm/packages/expkv-def.tar.lzma
2021/07/16 | 478234 | systems/win32/miktex/tm/packages/expkv__doc.tar.lzma
2021/04/07 | 276959 | systems/win32/miktex/tm/packages/expkv-opt.tar.lzma
2021/07/16 | 28281 | systems/win32/miktex/tm/packages/expkv__source.tar.lzma
@@ -294618,7 +294644,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2021/09/19 | 614598 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/09/20 | 615154 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -295421,9 +295447,9 @@
2019/10/25 | 3039369 | systems/win32/miktex/tm/packages/librefranklin.tar.lzma
2010/07/27 | 754595 | systems/win32/miktex/tm/packages/libris.tar.lzma
2020/02/04 | 588098 | systems/win32/miktex/tm/packages/lie-hasse.tar.lzma
-2021/08/19 | 154401 | systems/win32/miktex/tm/packages/light-latex-make__doc.tar.lzma
-2021/08/19 | 11698 | systems/win32/miktex/tm/packages/light-latex-make__source.tar.lzma
-2021/08/19 | 13459 | systems/win32/miktex/tm/packages/light-latex-make.tar.lzma
+2021/09/20 | 154495 | systems/win32/miktex/tm/packages/light-latex-make__doc.tar.lzma
+2021/09/20 | 11704 | systems/win32/miktex/tm/packages/light-latex-make__source.tar.lzma
+2021/09/20 | 13466 | systems/win32/miktex/tm/packages/light-latex-make.tar.lzma
2020/10/03 | 1578806 | systems/win32/miktex/tm/packages/lilyglyphs.tar.lzma
2017/07/23 | 286625 | systems/win32/miktex/tm/packages/limap.tar.lzma
2020/03/18 | 405237 | systems/win32/miktex/tm/packages/limecv.tar.lzma
@@ -295545,7 +295571,9 @@
2019/04/06 | 2685 | systems/win32/miktex/tm/packages/luaimageembed.tar.lzma
2011/02/19 | 180907 | systems/win32/miktex/tm/packages/luaindex.tar.lzma
2010/11/24 | 424357 | systems/win32/miktex/tm/packages/luainputenc.tar.lzma
-2021/01/22 | 145490 | systems/win32/miktex/tm/packages/luakeys.tar.lzma
+2021/09/20 | 149977 | systems/win32/miktex/tm/packages/luakeys__doc.tar.lzma
+2021/09/20 | 4992 | systems/win32/miktex/tm/packages/luakeys__source.tar.lzma
+2021/09/20 | 5601 | systems/win32/miktex/tm/packages/luakeys.tar.lzma
2013/05/21 | 154494 | systems/win32/miktex/tm/packages/lualatex-doc-de.tar.lzma
2013/05/21 | 128214 | systems/win32/miktex/tm/packages/lualatex-doc.tar.lzma
2021/07/06 | 201327 | systems/win32/miktex/tm/packages/lualatex-math__doc.tar.lzma
@@ -295574,9 +295602,9 @@
2021/06/06 | 4099 | systems/win32/miktex/tm/packages/luatex85__source.tar.lzma
2021/06/06 | 2000 | systems/win32/miktex/tm/packages/luatex85.tar.lzma
2015/10/06 | 276167 | systems/win32/miktex/tm/packages/luatexbase.tar.lzma
-2021/06/08 | 3067480 | systems/win32/miktex/tm/packages/luatexja__doc.tar.lzma
-2021/06/08 | 217931 | systems/win32/miktex/tm/packages/luatexja__source.tar.lzma
-2021/06/08 | 189831 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
+2021/09/20 | 3068790 | systems/win32/miktex/tm/packages/luatexja__doc.tar.lzma
+2021/09/20 | 218143 | systems/win32/miktex/tm/packages/luatexja__source.tar.lzma
+2021/09/20 | 190348 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
2021/07/12 | 338072 | systems/win32/miktex/tm/packages/luatexko__doc.tar.lzma
2021/07/12 | 12536 | systems/win32/miktex/tm/packages/luatexko__source.tar.lzma
2021/07/12 | 23646 | systems/win32/miktex/tm/packages/luatexko.tar.lzma
@@ -296006,9 +296034,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2021/08/07 | 39000 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2021/08/07 | 43393 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/09/19 | 240950 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/09/19 | 1356796 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/09/19 | 1261692 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/09/20 | 241657 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/09/20 | 1358118 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/09/20 | 1261940 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/08/07 | 13446 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2021/08/07 | 14327 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -296218,189 +296246,189 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2021/09/19 | 614469 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/09/19 | 51113 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/09/19 | 56476 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/09/19 | 975020 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/09/19 | 1077990 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/09/19 | 29037 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/09/19 | 31349 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/09/19 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/09/19 | 34666 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/09/19 | 50152 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/09/19 | 57547 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/09/19 | 83539 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/09/19 | 95400 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/09/19 | 67819 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/09/19 | 75791 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/09/19 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/09/19 | 30824 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/09/19 | 330787 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/09/19 | 392790 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/09/19 | 32674 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/09/19 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/09/19 | 51309 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/09/19 | 56684 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/09/19 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/09/19 | 263958 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/09/19 | 180009 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/09/19 | 195636 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/09/19 | 54632 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/09/19 | 61813 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/09/19 | 21225 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/09/19 | 23364 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/09/19 | 461811 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/09/19 | 45905 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/09/19 | 51202 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/09/19 | 284580 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/09/19 | 325044 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/09/19 | 41193 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/09/19 | 45310 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/09/19 | 119820 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/09/19 | 133864 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/09/19 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/09/19 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/09/19 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/09/19 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/09/19 | 43028 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/09/19 | 48253 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/09/19 | 25019 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/09/19 | 28177 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/09/19 | 56317 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/09/19 | 62787 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/09/19 | 136816 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/09/19 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/09/19 | 73196 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/09/19 | 77951 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/09/19 | 71668 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/09/19 | 80449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/09/19 | 258882 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/09/19 | 295204 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/09/19 | 22048 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/09/19 | 24992 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/09/19 | 97338 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/09/19 | 112086 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/09/19 | 64427 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/09/19 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/09/19 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/09/19 | 115350 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/09/19 | 38141 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/09/19 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/09/19 | 483653 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/09/19 | 566528 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/09/19 | 147372 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/09/19 | 159579 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/09/19 | 94800 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/09/19 | 109032 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/09/19 | 16357 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/09/19 | 17980 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/09/19 | 28391 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/09/19 | 30058 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/09/19 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/09/19 | 681250 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/09/19 | 531850 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/09/19 | 596929 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/09/19 | 476920 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/09/19 | 510588 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/09/19 | 94311 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/09/19 | 103400 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/09/19 | 1713894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/09/19 | 2009906 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/09/19 | 67619 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/09/19 | 74211 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/09/19 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/09/19 | 31620 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/09/19 | 7721 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/09/19 | 8768 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/09/19 | 196871 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/09/19 | 215248 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/09/19 | 250262 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/09/19 | 284023 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/09/19 | 98382 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/09/19 | 103205 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/09/19 | 60638 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/09/19 | 68024 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/09/19 | 124282 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/09/19 | 136819 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/09/19 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/09/19 | 196740 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/09/19 | 199732 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/09/19 | 180119 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/09/19 | 67484 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/09/19 | 76826 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/09/19 | 31232 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/09/19 | 35086 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/09/19 | 37805 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/09/19 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/09/19 | 42891 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/09/19 | 46906 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/09/19 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/09/19 | 52522 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/09/19 | 194383 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/09/19 | 206603 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/09/19 | 35691 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/09/19 | 40228 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/09/19 | 744117 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/09/19 | 815241 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/09/19 | 198171 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/09/19 | 202797 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/09/19 | 208047 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/09/19 | 243426 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/09/19 | 78774 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/09/19 | 87776 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/09/19 | 1169718 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/09/19 | 1301194 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/09/19 | 20138 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/09/19 | 23903 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/09/19 | 31537 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/09/19 | 37242 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/09/19 | 64185 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/09/19 | 72206 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/09/19 | 50396 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/09/19 | 57727 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/09/19 | 1340929 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/09/19 | 1464203 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/09/19 | 42386 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/09/19 | 51748 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/09/19 | 56515 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/09/19 | 60039 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/09/19 | 25292 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/09/19 | 27390 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/09/19 | 16413 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/09/19 | 18176 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/09/19 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/09/19 | 69914 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/09/19 | 154806 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/09/19 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/09/19 | 57014 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/09/19 | 65786 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/09/19 | 98262 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/09/19 | 105222 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/09/19 | 2672612 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/09/19 | 2796726 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/09/19 | 56356 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/09/19 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/09/19 | 33545 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/09/19 | 37360 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/09/19 | 27729 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/09/19 | 33633 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/09/19 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/09/19 | 70648 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/09/19 | 312108 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/09/19 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/09/19 | 55498 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/09/19 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/09/19 | 589841 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/09/19 | 624651 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/09/19 | 39129 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/09/19 | 43426 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/09/19 | 240974 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/09/19 | 1357977 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/09/19 | 1260116 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/09/19 | 13464 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/09/19 | 14349 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/09/20 | 615217 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/09/20 | 51113 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/09/20 | 56478 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/09/20 | 975020 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/09/20 | 1077990 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/09/20 | 29036 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/09/20 | 31351 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/09/20 | 29842 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/09/20 | 34665 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/09/20 | 50153 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/09/20 | 57549 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/09/20 | 83541 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/09/20 | 95400 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/09/20 | 67821 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/09/20 | 75793 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/09/20 | 27199 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/09/20 | 30825 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/09/20 | 330787 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/09/20 | 392794 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/09/20 | 32674 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/09/20 | 36629 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/09/20 | 51310 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/09/20 | 56686 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/09/20 | 241812 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/09/20 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/09/20 | 180010 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/09/20 | 195637 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/09/20 | 54633 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/09/20 | 61814 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/09/20 | 21226 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/09/20 | 23365 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/09/20 | 461813 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/09/20 | 45906 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/09/20 | 51204 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/09/20 | 284583 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/09/20 | 325044 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/09/20 | 41196 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/09/20 | 45311 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/09/20 | 119821 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/09/20 | 133865 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/09/20 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/09/20 | 1421868 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/09/20 | 100625 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/09/20 | 112985 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/09/20 | 43028 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/09/20 | 48252 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/09/20 | 25021 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/09/20 | 28181 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/09/20 | 56318 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/09/20 | 62786 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/09/20 | 136817 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/09/20 | 154427 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/09/20 | 73197 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/09/20 | 77954 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/09/20 | 71668 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/09/20 | 80450 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/09/20 | 258882 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/09/20 | 295203 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/09/20 | 22050 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/09/20 | 24996 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/09/20 | 97339 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/09/20 | 112088 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/09/20 | 64428 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/09/20 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/09/20 | 96635 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/09/20 | 115351 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/09/20 | 38142 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/09/20 | 43003 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/09/20 | 483653 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/09/20 | 566531 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/09/20 | 147373 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/09/20 | 159580 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/09/20 | 94800 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/09/20 | 109032 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/09/20 | 16358 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/09/20 | 17981 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/09/20 | 28390 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/09/20 | 30059 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/09/20 | 629400 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/09/20 | 681253 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/09/20 | 531849 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/09/20 | 596930 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/09/20 | 476922 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/09/20 | 510587 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/09/20 | 94310 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/09/20 | 103400 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/09/20 | 1713894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/09/20 | 2009904 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/09/20 | 67620 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/09/20 | 74211 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/09/20 | 27359 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/09/20 | 31620 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/09/20 | 7723 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/09/20 | 8769 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/09/20 | 196873 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/09/20 | 215249 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/09/20 | 250266 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/09/20 | 284025 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/09/20 | 98382 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/09/20 | 103206 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/09/20 | 60639 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/09/20 | 68025 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/09/20 | 124282 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/09/20 | 136822 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/09/20 | 178354 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/09/20 | 196742 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/09/20 | 199732 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/09/20 | 180121 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/09/20 | 67484 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/09/20 | 76826 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/09/20 | 31232 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/09/20 | 35085 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/09/20 | 37807 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/09/20 | 42713 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/09/20 | 42892 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/09/20 | 46907 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/09/20 | 45971 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/09/20 | 52524 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/09/20 | 194382 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/09/20 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/09/20 | 35692 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/09/20 | 40230 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/09/20 | 744117 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/09/20 | 815244 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/09/20 | 198170 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/09/20 | 202796 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/09/20 | 208049 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/09/20 | 243427 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/09/20 | 78775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/09/20 | 87777 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/09/20 | 1169718 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/09/20 | 1301193 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/09/20 | 20137 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/09/20 | 23903 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/09/20 | 31538 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/09/20 | 37238 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/09/20 | 64186 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/09/20 | 72208 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/09/20 | 50396 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/09/20 | 57729 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/09/20 | 1340933 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/09/20 | 1464203 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/09/20 | 42387 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/09/20 | 51750 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/09/20 | 56515 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/09/20 | 60040 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/09/20 | 25291 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/09/20 | 27392 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/09/20 | 16414 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/09/20 | 18177 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/09/20 | 63778 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/09/20 | 69915 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/09/20 | 154808 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/09/20 | 169243 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/09/20 | 57013 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/09/20 | 65788 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/09/20 | 98262 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/09/20 | 105225 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/09/20 | 2672610 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/09/20 | 2796726 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/09/20 | 56357 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/09/20 | 62231 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/09/20 | 33545 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/09/20 | 37360 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/09/20 | 27730 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/09/20 | 33634 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/09/20 | 65620 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/09/20 | 70649 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/09/20 | 312107 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/09/20 | 345737 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/09/20 | 55499 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/09/20 | 57141 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/09/20 | 589843 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/09/20 | 624652 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/09/20 | 39128 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/09/20 | 43426 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/09/20 | 241697 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/09/20 | 1358573 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/09/20 | 1262219 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/09/20 | 13467 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/09/20 | 14349 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2021/09/19 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/09/20 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -296598,7 +296626,9 @@
2005/06/13 | 408363 | systems/win32/miktex/tm/packages/pdfcprot.cab
2020/06/09 | 20406 | systems/win32/miktex/tm/packages/pdfcrop.tar.lzma
2019/12/13 | 355594 | systems/win32/miktex/tm/packages/pdfescape.tar.lzma
-2021/05/18 | 653196 | systems/win32/miktex/tm/packages/pdfextra.tar.lzma
+2021/09/20 | 242893 | systems/win32/miktex/tm/packages/pdfextra__doc.tar.lzma
+2021/09/20 | 400036 | systems/win32/miktex/tm/packages/pdfextra__source.tar.lzma
+2021/09/20 | 25552 | systems/win32/miktex/tm/packages/pdfextra.tar.lzma
2019/11/20 | 111715 | systems/win32/miktex/tm/packages/pdfjam.tar.lzma
2018/02/13 | 89850 | systems/win32/miktex/tm/packages/pdflatexpicscale.tar.lzma
2019/12/09 | 306824 | systems/win32/miktex/tm/packages/pdflscape.tar.lzma
@@ -296628,6 +296658,9 @@
2021/04/27 | 109202 | systems/win32/miktex/tm/packages/pdfxup.tar.lzma
2011/04/20 | 83564 | systems/win32/miktex/tm/packages/pecha.tar.lzma
2012/04/17 | 262270 | systems/win32/miktex/tm/packages/pedigree-perl.tar.lzma
+2021/09/20 | 18195 | systems/win32/miktex/tm/packages/penlight__doc.tar.lzma
+2021/09/20 | 100636 | systems/win32/miktex/tm/packages/penlight__source.tar.lzma
+2021/09/20 | 1556 | systems/win32/miktex/tm/packages/penlight.tar.lzma
2021/01/24 | 988837 | systems/win32/miktex/tm/packages/penrose.tar.lzma
2005/06/25 | 6737 | systems/win32/miktex/tm/packages/perception.cab
2019/07/27 | 173142 | systems/win32/miktex/tm/packages/perfectcut.tar.lzma
@@ -296746,7 +296779,9 @@
2021/06/08 | 17008 | systems/win32/miktex/tm/packages/pmdb__source.tar.lzma
2021/06/08 | 4053 | systems/win32/miktex/tm/packages/pmdb.tar.lzma
2008/11/07 | 139838 | systems/win32/miktex/tm/packages/pmgraph.tar.lzma
-2020/03/18 | 774591 | systems/win32/miktex/tm/packages/pmhanguljamo.tar.lzma
+2021/09/20 | 657179 | systems/win32/miktex/tm/packages/pmhanguljamo__doc.tar.lzma
+2021/09/20 | 168392 | systems/win32/miktex/tm/packages/pmhanguljamo__source.tar.lzma
+2021/09/20 | 5454 | systems/win32/miktex/tm/packages/pmhanguljamo.tar.lzma
2021/08/28 | 684701 | systems/win32/miktex/tm/packages/pm-isomath__doc.tar.lzma
2021/08/28 | 19851 | systems/win32/miktex/tm/packages/pm-isomath__source.tar.lzma
2021/08/28 | 3078 | systems/win32/miktex/tm/packages/pm-isomath.tar.lzma
@@ -296790,7 +296825,7 @@
2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2021/09/19 | 927 | systems/win32/miktex/tm/packages/pr.ini
+2021/09/20 | 961 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -297028,9 +297063,9 @@
2011/04/08 | 669307 | systems/win32/miktex/tm/packages/rcs-multi.tar.lzma
2007/06/09 | 163037 | systems/win32/miktex/tm/packages/rcs.tar.bz2
2021/01/15 | 211940 | systems/win32/miktex/tm/packages/readablecv.tar.lzma
-2021/08/11 | 492659 | systems/win32/miktex/tm/packages/readarray__doc.tar.lzma
-2021/08/11 | 12534 | systems/win32/miktex/tm/packages/readarray__source.tar.lzma
-2021/08/11 | 5500 | systems/win32/miktex/tm/packages/readarray.tar.lzma
+2021/09/20 | 494331 | systems/win32/miktex/tm/packages/readarray__doc.tar.lzma
+2021/09/20 | 13191 | systems/win32/miktex/tm/packages/readarray__source.tar.lzma
+2021/09/20 | 5739 | systems/win32/miktex/tm/packages/readarray.tar.lzma
2006/08/02 | 191 | systems/win32/miktex/tm/packages/README.TXT
2011/08/19 | 185962 | systems/win32/miktex/tm/packages/realboxes.tar.lzma
2019/11/20 | 137151 | systems/win32/miktex/tm/packages/realhats.tar.lzma
@@ -297147,7 +297182,9 @@
2009/01/22 | 155506 | systems/win32/miktex/tm/packages/schemabloc.tar.lzma
2021/03/03 | 844312 | systems/win32/miktex/tm/packages/schemata.tar.lzma
2021/04/07 | 2222920 | systems/win32/miktex/tm/packages/scholax.tar.lzma
-2020/07/19 | 920155 | systems/win32/miktex/tm/packages/schooldocs.tar.lzma
+2021/09/20 | 908269 | systems/win32/miktex/tm/packages/schooldocs__doc.tar.lzma
+2021/09/20 | 10748 | systems/win32/miktex/tm/packages/schooldocs__source.tar.lzma
+2021/09/20 | 3275 | systems/win32/miktex/tm/packages/schooldocs.tar.lzma
2021/08/11 | 3476704 | systems/win32/miktex/tm/packages/schule__doc.tar.lzma
2021/08/11 | 2813755 | systems/win32/miktex/tm/packages/schule__source.tar.lzma
2021/08/11 | 39647 | systems/win32/miktex/tm/packages/schule.tar.lzma
@@ -297664,9 +297701,9 @@
2021/08/19 | 13745 | systems/win32/miktex/tm/packages/tipauni__source.tar.lzma
2021/08/19 | 5930 | systems/win32/miktex/tm/packages/tipauni.tar.lzma
2015/01/13 | 388795 | systems/win32/miktex/tm/packages/tipfr.tar.lzma
-2021/07/24 | 134584 | systems/win32/miktex/tm/packages/tiscreen__doc.tar.lzma
-2021/07/24 | 2028 | systems/win32/miktex/tm/packages/tiscreen__source.tar.lzma
-2021/07/24 | 1391 | systems/win32/miktex/tm/packages/tiscreen.tar.lzma
+2021/09/20 | 151080 | systems/win32/miktex/tm/packages/tiscreen__doc.tar.lzma
+2021/09/20 | 2375 | systems/win32/miktex/tm/packages/tiscreen__source.tar.lzma
+2021/09/20 | 1777 | systems/win32/miktex/tm/packages/tiscreen.tar.lzma
2015/02/28 | 265279 | systems/win32/miktex/tm/packages/titlecaps.tar.lzma
2001/05/14 | 3146 | systems/win32/miktex/tm/packages/titlefoot.tar.lzma
2006/08/17 | 861587 | systems/win32/miktex/tm/packages/titlepage-uni-dortmund.tar.bz2
@@ -298158,7 +298195,7 @@
2007/02/12 | 6896 | systems/win32/texshell32/WinTeXShell32.txt
2007/02/12 | 395234 | systems/win32/texshell32/WinTeXShell32.zip
2021/08/29 | 1984 | systems/win32/TLW64/00README.TLW64
-2021/09/03 | 99339852 | systems/win32/TLW64/tl-win64.zip
+2021/09/19 | 99340207 | systems/win32/TLW64/tl-win64.zip
1996/11/26 | 1822 | systems/win32/tsconfig/readme
1996/11/26 | 30343 | systems/win32/tsconfig/tsconfig.zip
1998/01/20 | 766976 | systems/win32/util/cmdsh110.exe
@@ -298394,7 +298431,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/09/20 | 186 | timestamp
+2021/09/21 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/08/04 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index bfaa9d6ff0..6bb8812c1d 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index d5b8e490da..c86e1e540a 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,264 +1,835 @@
+2021/09/20 | 99 | macros/latex-dev/base/ltpara-code.tex
+2021/09/20 | 98382 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/09/20 | 98262 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/09/20 | 9809 | macros/latex-dev/base/ltnews21.tex
+2021/09/20 | 98064 | macros/latex/contrib/lipsum/lipsum-cs.txt
+2021/09/20 | 975020 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/09/20 | 97339 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/09/20 | 96635 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/09/20 | 961 | systems/win32/miktex/tm/packages/pr.ini
+2021/09/20 | 9583 | macros/latex-dev/base/format.ins
+2021/09/20 | 9562 | macros/latex-dev/base/ltcntrl.dtx
+2021/09/20 | 95400 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/09/20 | 9493 | macros/latex-dev/required/tools/shellesc.dtx
+2021/09/20 | 94800 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/09/20 | 94310 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/09/20 | 9400 | macros/latex-dev/base/syntonly.dtx
+2021/09/20 | 9373 | macros/latex-dev/base/preload.dtx
+2021/09/20 | 9200 | macros/latex-dev/required/amsmath/amsopn.dtx
+2021/09/20 | 914246 | graphics/mcf2graph.zip
+2021/09/20 | 91127 | macros/latex/contrib/lipsum/lipsum-la.txt
+2021/09/20 | 90917 | macros/latex-dev/base/fntguide.tex
+2021/09/20 | 908269 | systems/win32/miktex/tm/packages/schooldocs__doc.tar.lzma
+2021/09/20 | 9080 | macros/latex/contrib/genealogytree/gtrcore.symbols.code.tex
+2021/09/20 | 9068 | macros/latex-dev/base/lppl-1-0.txt
+2021/09/20 | 90560 | macros/latex-dev/base/utf8ienc.dtx
+2021/09/20 | 90126 | macros/latex-dev/base/lttextcomp.dtx
+2021/09/20 | 8981 | macros/latex-dev/required/tools/rawfonts.dtx
+2021/09/20 | 89718 | macros/latex-dev/base/slides.dtx
+2021/09/20 | 8863 | macros/latex-dev/base/ltnews17.tex
+2021/09/20 | 87777 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/09/20 | 8769 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/09/20 | 8736 | macros/latex-dev/base/ltthm.dtx
+2021/09/20 | 8668 | macros/latex-dev/required/amsmath/amsbsy.dtx
+2021/09/20 | 8631 | macros/latex-dev/base/oldlfont.dtx
+2021/09/20 | 8620249 | macros/latex/contrib/genealogytree/genealogytree.pdf
+2021/09/20 | 85862 | macros/latex-dev/base/ltdefns.dtx
+2021/09/20 | 8531 | macros/latex-dev/base/source2edoc.cls
+2021/09/20 | 85099 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+2021/09/20 | 8496 | macros/latex-dev/base/texpert.txt
+2021/09/20 | 84220 | macros/latex-dev/base/ltfssini.dtx
+2021/09/20 | 83541 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/09/20 | 8259 | macros/latex-dev/base/ltnews.tex
+2021/09/20 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
+2021/09/20 | 818929 | macros/latex-dev/base/ltshipout-code.pdf
+2021/09/20 | 815244 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/09/20 | 80726 | macros/latex-dev/base/ltfssbas.dtx
+2021/09/20 | 80450 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/09/20 | 795879 | macros/latex-dev/base/ltfilehook-code.pdf
+2021/09/20 | 78775 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/09/20 | 784793 | macros/latex/contrib/lipsum.zip
+2021/09/20 | 78325 | macros/latex-dev/base/ltshipout.dtx
+2021/09/20 | 77954 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/09/20 | 7723 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/09/20 | 76826 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/09/20 | 76402 | macros/latex-dev/required/tools/longtable.dtx
+2021/09/20 | 75793 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/09/20 | 7524 | macros/latex-dev/base/ltxguide.cls
+2021/09/20 | 744117 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/09/20 | 74211 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/09/20 | 73674 | macros/latex-dev/required/tools/tools-overview.pdf
+2021/09/20 | 7357248 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
+2021/09/20 | 7325 | macros/latex-dev/base/ltnews20.tex
+2021/09/20 | 73197 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/09/20 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/09/20 | 7268047 | macros/latex-dev/required/tools.zip
+2021/09/20 | 72480 | macros/latex-dev/base/ltfsstrc.dtx
+2021/09/20 | 7221 | macros/latex-dev/base/exscale.dtx
+2021/09/20 | 72208 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/09/20 | 72141 | macros/latex-dev/required/tools/verbatim.dtx
+2021/09/20 | 7200 | macros/latex-dev/base/sample2e.tex
+2021/09/20 | 71668 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/09/20 | 7109 | macros/latex-dev/base/alltt.dtx
+2021/09/20 | 70649 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/09/20 | 703437 | macros/latex-dev/base/lthooks-doc.pdf
+2021/09/20 | 70176 | macros/latex-dev/required/graphics/graphics.dtx
+2021/09/20 | 6998 | macros/latex-dev/required/amsmath/changes.txt
+2021/09/20 | 69915 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/09/20 | 699078 | macros/latex-dev/base/ltcmdhooks-code.pdf
+2021/09/20 | 69732 | macros/latex-dev/required/amsmath/amstex.sty
+2021/09/20 | 69050 | macros/latex-dev/base/clsguide.tex
+2021/09/20 | 69007 | macros/latex-dev/base/ltpictur.dtx
+2021/09/20 | 6871 | macros/latex-dev/base/ltnews13.tex
+2021/09/20 | 68435 | macros/latex-dev/base/usrguide.tex
+2021/09/20 | 681253 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/09/20 | 6811529 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/09/20 | 68025 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/09/20 | 6794 | macros/latex-dev/required/tools/delarray.dtx
+2021/09/20 | 679004 | systems/texlive/tlnet/archive/pmhanguljamo.doc.r60550.tar.xz
+2021/09/20 | 67821 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/09/20 | 676958 | macros/latex-dev/base/doc.pdf
+2021/09/20 | 67620 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/09/20 | 6760 | macros/latex-dev/base/slides.ins
+2021/09/20 | 67484 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/09/20 | 6714 | macros/latex-dev/base/latexsym.dtx
+2021/09/20 | 666188 | macros/latex-dev/base/ltpara-code.pdf
+2021/09/20 | 65788 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/09/20 | 657179 | systems/win32/miktex/tm/packages/pmhanguljamo__doc.tar.lzma
+2021/09/20 | 65620 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/09/20 | 653611 | macros/latex/contrib/lipsum/lipsum.pdf
+2021/09/20 | 64850 | macros/latex-dev/base/ltluatex.dtx
+2021/09/20 | 64428 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/09/20 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
+2021/09/20 | 64242 | macros/latex-dev/base/ltfilehook.dtx
+2021/09/20 | 64186 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/09/20 | 641672 | systems/texlive/tlnet/archive/pdfextra.doc.r60553.tar.xz
+2021/09/20 | 63778 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/09/20 | 6362 | macros/latex-dev/base/newlfont.dtx
+2021/09/20 | 63283 | macros/latex-dev/base/letter.dtx
+2021/09/20 | 63153 | graphics/mcf2graph/mcf_manual.tex
+2021/09/20 | 629400 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/09/20 | 628828 | systems/texlive/tlnet/archive/xpdfopen.win32.r60546.tar.xz
+2021/09/20 | 62786 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/09/20 | 6273 | macros/latex-dev/base/ltnews14.tex
+2021/09/20 | 624652 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/09/20 | 6223 | macros/latex-dev/required/tools/xr.dtx
+2021/09/20 | 62231 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/09/20 | 61814 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/09/20 | 6160 | macros/latex-dev/base/ltpar.dtx
+2021/09/20 | 615217 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/09/20 | 615154 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/09/20 | 61460 | macros/latex-dev/required/tools/bm.dtx
+2021/09/20 | 61425 | macros/latex-dev/base/ltfssdcl.dtx
+2021/09/20 | 6141416 | macros/latex/contrib/genealogytree.zip
+2021/09/20 | 6112950 | install/macros/latex/contrib/genealogytree.tds.zip
+2021/09/20 | 60699 | macros/latex-dev/required/tools/changes.txt
+2021/09/20 | 60639 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/09/20 | 60326 | macros/latex-dev/base/fontdef.dtx
+2021/09/20 | 60040 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/09/20 | 596930 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/09/20 | 5917 | macros/latex-dev/base/latexrelease.ins
+2021/09/20 | 58989 | macros/latex/contrib/lipsum/lipsum.dtx
+2021/09/20 | 589843 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/09/20 | 58750 | macros/latex-dev/base/ltmiscen.dtx
+2021/09/20 | 5864 | macros/latex-dev/base/ltidxglo.dtx
+2021/09/20 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
+2021/09/20 | 58556 | macros/latex-dev/base/ltfssaxes.dtx
+2021/09/20 | 5839 | macros/latex-dev/base/ltnews15.tex
+2021/09/20 | 5796 | macros/latex-dev/required/tools/somedefs.dtx
+2021/09/20 | 5776 | macros/latex-dev/base/ltnews16.tex
+2021/09/20 | 57729 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/09/20 | 575 | macros/latex/contrib/lipsum/README.md
+2021/09/20 | 57549 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/09/20 | 5739 | systems/win32/miktex/tm/packages/readarray.tar.lzma
+2021/09/20 | 5714 | macros/latex-dev/base/inputenc.ins
+2021/09/20 | 57141 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/09/20 | 57013 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/09/20 | 5695 | macros/latex-dev/base/ltnews08.tex
+2021/09/20 | 5692 | macros/latex/contrib/elteikthesis/chapters/impl.tex
+2021/09/20 | 5680 | macros/latex-dev/required/tools/tools.ins
+2021/09/20 | 56686 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/09/20 | 566531 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/09/20 | 5659 | macros/latex-dev/base/ltnews10.tex
+2021/09/20 | 56515 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/09/20 | 56478 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/09/20 | 564752 | macros/latex-dev/base/ltshipout-doc.pdf
+2021/09/20 | 56357 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/09/20 | 56318 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/09/20 | 5608 | macros/latex-dev/base/ltnews05.tex
+2021/09/20 | 560534 | macros/latex-dev/base/ltpara-doc.pdf
+2021/09/20 | 5601 | systems/win32/miktex/tm/packages/luakeys.tar.lzma
+2021/09/20 | 55654 | macros/latex-dev/base/ltfiles.dtx
+2021/09/20 | 55499 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/09/20 | 5529 | macros/latex-dev/base/ltnews11.tex
+2021/09/20 | 5514 | macros/latex-dev/base/graphpap.dtx
+2021/09/20 | 550711 | macros/latex-dev/base/classes.pdf
+2021/09/20 | 5506 | macros/latex-dev/base/ltnews27.tex
+2021/09/20 | 5506 | macros/latex-dev/base/ltnews04.tex
+2021/09/20 | 5473 | macros/latex-dev/base/ltnews25.tex
+2021/09/20 | 54680 | macros/latex-dev/base/ltfloat.dtx
+2021/09/20 | 546791 | macros/latex-dev/base/ltfilehook-doc.pdf
+2021/09/20 | 54633 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/09/20 | 546162 | macros/latex-dev/base/ltnews32.pdf
+2021/09/20 | 5454 | systems/win32/miktex/tm/packages/pmhanguljamo.tar.lzma
+2021/09/20 | 5442 | macros/latex/contrib/genealogytree/genealogytree.sty
+2021/09/20 | 5425 | macros/latex-dev/base/ltnews07.tex
+2021/09/20 | 5421635 | macros/latex-dev/base/source2e.pdf
+2021/09/20 | 54088 | macros/latex-dev/base/ltplain.dtx
+2021/09/20 | 5400 | macros/latex-dev/base/ltnews12.tex
+2021/09/20 | 5390 | macros/latex-dev/base/ltnews06.tex
+2021/09/20 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
+2021/09/20 | 531849 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/09/20 | 53172 | macros/latex-dev/required/tools/calc.dtx
+2021/09/20 | 5293 | macros/latex-dev/base/ltnews09.tex
+2021/09/20 | 5283 | macros/latex-dev/base/ltnews02.tex
+2021/09/20 | 52813 | macros/latex-dev/base/encguide.tex
+2021/09/20 | 5273 | macros/latex-dev/base/cmextra.ins
+2021/09/20 | 52724 | macros/latex-dev/base/lb2.err
+2021/09/20 | 526312 | macros/latex-dev/base/ltnews31.pdf
+2021/09/20 | 5260 | systems/win32/miktex/tm/packages/expkv-def.tar.lzma
+2021/09/20 | 52524 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/09/20 | 5246 | macros/latex-dev/base/ltnews01.tex
+2021/09/20 | 522413 | macros/latex-dev/base/ltnews33.pdf
+2021/09/20 | 5211 | macros/latex-dev/required/tools/tools-overview.tex
+2021/09/20 | 5200 | macros/latex-dev/base/ltnews03.tex
+2021/09/20 | 519 | macros/latex/contrib/elteikthesis/elteikthesis-minted.tex
+2021/09/20 | 51750 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/09/20 | 517124 | macros/latex-dev/required/tools/array.pdf
+2021/09/20 | 5168 | systems/texlive/tlnet/archive/pmhanguljamo.r60550.tar.xz
+2021/09/20 | 516148 | macros/latex-dev/required/tools/multicol.pdf
+2021/09/20 | 51310 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/09/20 | 51204 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/09/20 | 511855 | macros/latex-dev/base/ltnews30.pdf
+2021/09/20 | 51113 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/09/20 | 510587 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/09/20 | 508199 | macros/latex-dev/required/amsmath/amsldoc.pdf
+2021/09/20 | 50810 | macros/latex-dev/required/graphics/drivers.dtx
+2021/09/20 | 505243 | macros/latex-dev/base/ltnews34.pdf
+2021/09/20 | 5041 | macros/latex-dev/base/latexsym.ins
+2021/09/20 | 50396 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/09/20 | 503607 | macros/latex-dev/base/docstrip.pdf
+2021/09/20 | 50193 | macros/latex-dev/base/ltpara.dtx
+2021/09/20 | 50153 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/09/20 | 5008 | systems/texlive/tlnet/archive/luakeys.r60552.tar.xz
+2021/09/20 | 4992 | systems/win32/miktex/tm/packages/luakeys__source.tar.lzma
+2021/09/20 | 4964 | macros/latex-dev/required/tools/fileerr.dtx
+2021/09/20 | 4950 | macros/latex-dev/base/lthyphen.dtx
+2021/09/20 | 494331 | systems/win32/miktex/tm/packages/readarray__doc.tar.lzma
+2021/09/20 | 493957 | macros/latex-dev/base/fntguide.pdf
+2021/09/20 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/09/20 | 483653 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/09/20 | 48252 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/09/20 | 48248 | systems/win32/miktex/tm/packages/dtk-bibliography__source.tar.lzma
+2021/09/20 | 479642 | macros/latex-dev/base/ltcmdhooks-doc.pdf
+2021/09/20 | 47901 | macros/latex-dev/base/lttab.dtx
+2021/09/20 | 476922 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/09/20 | 4762 | macros/latex-dev/base/ltlength.dtx
+2021/09/20 | 474 | macros/latex-dev/required/firstaid/README.md
+2021/09/20 | 469966 | macros/latex-dev/base/latexchanges.pdf
+2021/09/20 | 46907 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/09/20 | 466559 | macros/latex/contrib/genealogytree/genealogytree-languages.pdf
+2021/09/20 | 46297 | macros/latex-dev/base/ltfinal.dtx
+2021/09/20 | 461813 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/09/20 | 45971 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/09/20 | 45906 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/09/20 | 4579 | graphics/mcf2graph/README
+2021/09/20 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/09/20 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/09/20 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/09/20 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/09/20 | 454808 | macros/latex-dev/base/ltnews29.pdf
+2021/09/20 | 454662 | macros/latex-dev/required/amsmath/testmath.pdf
+2021/09/20 | 45311 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/09/20 | 45245 | macros/latex-dev/base/ltspace.dtx
+2021/09/20 | 44742 | graphics/mcf2graph/mcf_man_soc.mf
+2021/09/20 | 446255 | macros/latex/contrib/elteikthesis/elteikthesis.pdf
+2021/09/20 | 44409 | macros/latex-dev/base/latexrelease.dtx
+2021/09/20 | 4390 | macros/latex-dev/base/ec.ins
+2021/09/20 | 43867 | macros/latex-dev/base/ltboxes.dtx
+2021/09/20 | 43636 | macros/latex-dev/base/cmfonts.fdd
+2021/09/20 | 43453 | macros/latex-dev/required/tools/theorem.dtx
+2021/09/20 | 43426 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/09/20 | 4341 | macros/latex-dev/required/amsmath/amsxtra.dtx
+2021/09/20 | 4324 | macros/latex-dev/base/cmfonts.ins
+2021/09/20 | 430996 | macros/latex-dev/base/usrguide.pdf
+2021/09/20 | 4303 | macros/latex-dev/base/ltalloc.dtx
+2021/09/20 | 43028 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/09/20 | 43003 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/09/20 | 42892 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/09/20 | 42713 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/09/20 | 42708 | macros/latex-dev/base/changes.old.txt
+2021/09/20 | 42705 | macros/latex-dev/base/ltcmdhooks.dtx
+2021/09/20 | 4254 | macros/latex-dev/base/newdc.ins
+2021/09/20 | 42387 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/09/20 | 4221 | macros/latex-dev/base/docstrip.ins
+2021/09/20 | 4219 | macros/latex-dev/base/latex209.ins
+2021/09/20 | 41848 | macros/latex-dev/base/latexchanges.tex
+2021/09/20 | 41831 | macros/latex-dev/base/doc-v3beta.sty
+2021/09/20 | 4170 | macros/latex-dev/base/ltnews19.tex
+2021/09/20 | 41196 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/09/20 | 4113 | macros/latex-dev/required/graphics/epsfig.dtx
+2021/09/20 | 4087 | macros/latex-dev/base/classes.ins
+2021/09/20 | 4086 | systems/win32/miktex/tm/packages/exesheet.tar.lzma
+2021/09/20 | 4079 | macros/latex-dev/base/lablst.tex
+2021/09/20 | 402779 | macros/latex-dev/base/clsguide.pdf
+2021/09/20 | 40230 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/09/20 | 400036 | systems/win32/miktex/tm/packages/pdfextra__source.tar.lzma
+2021/09/20 | 399960 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60545.tar.xz
+2021/09/20 | 399552 | macros/latex-dev/required/amsmath/amsmath.pdf
+2021/09/20 | 398276 | systems/win32/miktex/tm/packages/expkv-def__doc.tar.lzma
+2021/09/20 | 39701 | macros/latex-dev/required/tools/ftnright.dtx
+2021/09/20 | 3963 | graphics/mcf2graph/mcf_setup.sty
+2021/09/20 | 3960 | macros/latex-dev/base/olddc.ins
+2021/09/20 | 39431 | macros/latex-dev/base/ltmath.dtx
+2021/09/20 | 39387 | macros/latex/contrib/genealogytree/gtrlib.fanchart.code.tex
+2021/09/20 | 3937 | macros/latex-dev/required/graphics/lscape.dtx
+2021/09/20 | 392794 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/09/20 | 39128 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/09/20 | 387987 | macros/latex-dev/base/ltnews28.pdf
+2021/09/20 | 38735 | macros/latex-dev/base/latex209.dtx
+2021/09/20 | 383566 | macros/latex-dev/base/changes.txt
+2021/09/20 | 383524 | macros/latex-dev/required/tools/varioref.pdf
+2021/09/20 | 382155 | macros/latex-dev/required/tools/longtable.pdf
+2021/09/20 | 38142 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/09/20 | 3809 | macros/latex/contrib/elteikthesis/elteikthesis.tex
+2021/09/20 | 38031 | macros/latex-dev/base/ltnews18.pdf
+2021/09/20 | 379735 | macros/latex-dev/base/ltnews26.pdf
+2021/09/20 | 3781 | macros/latex-dev/base/tulm.ins
+2021/09/20 | 37807 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/09/20 | 377210 | systems/win32/miktex/tm/packages/dtk-bibliography.tar.lzma
+2021/09/20 | 3756 | macros/latex/contrib/lipsum/lipsum.ins
+2021/09/20 | 374051 | macros/latex-dev/base/slides.pdf
+2021/09/20 | 37360 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/09/20 | 3730 | macros/latex-dev/base/ltlogos.dtx
+2021/09/20 | 37238 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/09/20 | 37089 | macros/latex-dev/required/graphics/grfguide.tex
+2021/09/20 | 370414 | macros/latex-dev/required/tools/calc.pdf
+2021/09/20 | 370134 | macros/latex-dev/required/tools/ftnright.pdf
+2021/09/20 | 369 | macros/latex-dev/required/amsmath/manifest.txt
+2021/09/20 | 36629 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/09/20 | 361582 | macros/latex-dev/base/utf8ienc.pdf
+2021/09/20 | 36157 | macros/latex-dev/base/ltlists.dtx
+2021/09/20 | 35880 | macros/latex-dev/required/tools/tabularx.dtx
+2021/09/20 | 35692 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/09/20 | 35302 | macros/latex-dev/base/ltdirchk.dtx
+2021/09/20 | 35213177 | install/macros/latex-dev/latex-base-dev.tds.zip
+2021/09/20 | 351657 | macros/latex-dev/required/tools/theorem.pdf
+2021/09/20 | 3514 | macros/latex-dev/base/README.md
+2021/09/20 | 35085 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/09/20 | 34686730 | macros/latex-dev/base.zip
+2021/09/20 | 34665 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/09/20 | 345737 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/09/20 | 344886 | graphics/mcf2graph/mcf_manual.pdf
+2021/09/20 | 3434 | macros/latex-dev/base/makeindx.ins
+2021/09/20 | 34281 | macros/latex-dev/required/graphics/changes.txt
+2021/09/20 | 3425 | macros/latex/contrib/elteikthesis/README_hu.md
+2021/09/20 | 3401 | macros/latex-dev/base/proc.ins
+2021/09/20 | 33951 | macros/latex-dev/base/ltsect.dtx
+2021/09/20 | 33916 | macros/latex-dev/base/ltnews33.tex
+2021/09/20 | 33863 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
+2021/09/20 | 33777 | macros/latex/contrib/genealogytree/gtrcore.node.code.tex
+2021/09/20 | 3372 | macros/latex-dev/base/letter.ins
+2021/09/20 | 3367 | macros/latex-dev/base/ltoutenc.ins
+2021/09/20 | 33634 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/09/20 | 33545 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/09/20 | 3338 | macros/latex-dev/base/exscale.ins
+2021/09/20 | 33256 | macros/latex-dev/base/ltnews32.tex
+2021/09/20 | 331424 | macros/latex-dev/required/tools/bm.pdf
+2021/09/20 | 330815 | macros/latex-dev/required/tools/verbatim.pdf
+2021/09/20 | 330787 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/09/20 | 330071 | macros/latex-dev/required/graphics/grfguide.pdf
+2021/09/20 | 3284 | macros/latex-dev/required/tools/manifest.txt
+2021/09/20 | 328443 | macros/latex-dev/base/letter.pdf
+2021/09/20 | 3282 | macros/latex-dev/base/bugs.txt
+2021/09/20 | 3275 | systems/win32/miktex/tm/packages/schooldocs.tar.lzma
+2021/09/20 | 32674 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/09/20 | 325727 | macros/latex-dev/base/usrguide3.pdf
+2021/09/20 | 325107 | macros/latex-dev/base/ltluatex.pdf
+2021/09/20 | 325044 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/09/20 | 32034 | macros/latex-dev/required/tools/layout.dtx
+2021/09/20 | 318399 | macros/latex-dev/base/ltnews22.pdf
+2021/09/20 | 3181 | macros/latex-dev/base/unpack.ins
+2021/09/20 | 318168 | macros/latex-dev/base/inputenc.pdf
+2021/09/20 | 31659 | macros/latex-dev/required/graphics/color.dtx
+2021/09/20 | 31620 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/09/20 | 31538 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/09/20 | 314077 | graphics/mcf2graph/mcf_example.pdf
+2021/09/20 | 31351 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/09/20 | 31232 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/09/20 | 312107 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/09/20 | 3117 | macros/latex/contrib/elteikthesis/README.md
+2021/09/20 | 310676 | macros/latex-dev/required/graphics/graphics.pdf
+2021/09/20 | 30825 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/09/20 | 307949 | macros/latex/contrib/genealogytree/genealogytree-example-4.pdf
+2021/09/20 | 3068790 | systems/win32/miktex/tm/packages/luatexja__doc.tar.lzma
+2021/09/20 | 30456 | macros/latex-dev/base/ltnews31.tex
+2021/09/20 | 30455 | macros/latex-dev/required/graphics/graphicx.dtx
+2021/09/20 | 30453 | macros/latex-dev/base/usrguide3.tex
+2021/09/20 | 3024 | macros/latex-dev/required/firstaid/changes.txt
+2021/09/20 | 30059 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/09/20 | 2994 | macros/latex-dev/required/graphics/graphics-drivers.ins
+2021/09/20 | 29842 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/09/20 | 2978 | macros/latex/contrib/genealogytree/gtrlang.german.code.tex
+2021/09/20 | 29712 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
+2021/09/20 | 297070 | macros/latex-dev/base/ltnews20.pdf
+2021/09/20 | 2966 | macros/latex/contrib/genealogytree/gtrlang.french.code.tex
+2021/09/20 | 29569 | macros/latex-dev/required/tools/showkeys.dtx
+2021/09/20 | 295203 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/09/20 | 29272 | macros/latex-dev/base/ltfntcmd.dtx
+2021/09/20 | 292317 | macros/latex-dev/base/cmfonts.pdf
+2021/09/20 | 290495 | macros/latex-dev/base/latexrelease.pdf
+2021/09/20 | 29036 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/09/20 | 2896 | macros/latex-dev/base/syntonly.ins
+2021/09/20 | 289519 | macros/latex-dev/base/tlc2.pdf
+2021/09/20 | 2893 | macros/latex-dev/base/nfssfont.ins
+2021/09/20 | 2892 | macros/latex-dev/base/graphpap.ins
+2021/09/20 | 2892 | macros/latex-dev/base/fix-cm.ins
+2021/09/20 | 2890 | macros/latex-dev/base/alltt.ins
+2021/09/20 | 2888 | macros/latex-dev/base/ifthen.ins
+2021/09/20 | 287672 | macros/latex-dev/base/fix-cm.pdf
+2021/09/20 | 287125 | macros/latex-dev/base/ltnews23.pdf
+2021/09/20 | 2868 | macros/latex/contrib/genealogytree/gtrlang.danish.code.tex
+2021/09/20 | 286309 | macros/latex-dev/required/graphics/drivers.pdf
+2021/09/20 | 284583 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/09/20 | 284025 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/09/20 | 28390 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/09/20 | 2833 | macros/latex/contrib/genealogytree/gtrlang.portuguese.code.tex
+2021/09/20 | 2827 | macros/latex/contrib/genealogytree/gtrlang.italian.code.tex
+2021/09/20 | 2819 | macros/latex/contrib/genealogytree/gtrlang.spanish.code.tex
+2021/09/20 | 28181 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/09/20 | 2796726 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/09/20 | 278041 | macros/latex-dev/required/tools/tabularx.pdf
+2021/09/20 | 27730 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/09/20 | 2767024 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
+2021/09/20 | 2749 | macros/latex/contrib/genealogytree/gtrlang.swedish.code.tex
+2021/09/20 | 2740 | macros/latex-dev/required/firstaid/firstaid.ins
+2021/09/20 | 27392 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/09/20 | 2738 | macros/latex-dev/base/tex2.txt
+2021/09/20 | 27359 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/09/20 | 2734 | macros/latex/contrib/genealogytree/gtrlang.dutch.code.tex
+2021/09/20 | 2734589 | macros/latex-dev/required/amsmath.zip
+2021/09/20 | 2733 | macros/latex-dev/base/ltpageno.dtx
+2021/09/20 | 2724 | macros/latex-dev/required/amsmath/README.md
+2021/09/20 | 27199 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/09/20 | 27122 | macros/latex-dev/base/ltxcheck.tex
+2021/09/20 | 27074 | macros/latex-dev/base/lterror.dtx
+2021/09/20 | 2705 | macros/latex-dev/base/idx.tex
+2021/09/20 | 269103 | macros/latex-dev/required/graphics/rotating.pdf
+2021/09/20 | 267761 | macros/latex-dev/required/tools/layout.pdf
+2021/09/20 | 2672610 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/09/20 | 2668 | macros/latex/contrib/genealogytree/gtrlang.english.code.tex
+2021/09/20 | 2667651 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
+2021/09/20 | 265211 | macros/latex-dev/base/ltnews24.pdf
+2021/09/20 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/09/20 | 2632331 | macros/latex-dev/required/graphics.zip
+2021/09/20 | 261067 | systems/win32/miktex/tm/packages/clicks__doc.tar.lzma
+2021/09/20 | 260624 | macros/latex-dev/required/tools/showkeys.pdf
+2021/09/20 | 25 | macros/latex/contrib/lipsum/DEPENDS.txt
+2021/09/20 | 259454 | macros/latex/contrib/genealogytree/genealogytree-example-2.pdf
+2021/09/20 | 258882 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/09/20 | 2576 | macros/latex-dev/required/tools/multicol.ins
+2021/09/20 | 256897 | macros/latex-dev/required/tools/xspace.pdf
+2021/09/20 | 25629535 | systems/texlive/tlnet/install-tl.zip
+2021/09/20 | 25552 | systems/win32/miktex/tm/packages/pdfextra.tar.lzma
+2021/09/20 | 2538 | macros/latex-dev/required/tools/longtable.ins
+2021/09/20 | 2538 | macros/latex-dev/required/tools/afterpage.ins
+2021/09/20 | 2535 | macros/latex-dev/required/tools/tabularx.ins
+2021/09/20 | 25320 | systems/texlive/tlnet/archive/pdfextra.r60553.tar.xz
+2021/09/20 | 2531 | macros/latex-dev/required/tools/varioref.ins
+2021/09/20 | 25291 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/09/20 | 252568 | install/macros/latex-dev/required/latex-firstaid-dev.tds.zip
+2021/09/20 | 2524 | macros/latex-dev/required/tools/bm.ins
+2021/09/20 | 252432 | macros/latex-dev/base/ltnews27.pdf
+2021/09/20 | 252154 | macros/latex-dev/base/lb2.pdf
+2021/09/20 | 25151 | macros/latex-dev/required/tools/trace.dtx
+2021/09/20 | 250266 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/09/20 | 25021 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/09/20 | 2501 | macros/latex/contrib/elteikthesis/appendices/sim.tex
+2021/09/20 | 24996 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/09/20 | 248231 | macros/latex-dev/required/graphics/graphicx.pdf
+2021/09/20 | 24782 | macros/latex-dev/base/ltnews34.tex
+2021/09/20 | 247461 | macros/latex-dev/required/firstaid.zip
+2021/09/20 | 246012 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
+2021/09/20 | 245818 | macros/latex-dev/base/ltnews19.pdf
+2021/09/20 | 244869 | macros/latex-dev/base/ltnews21.pdf
+2021/09/20 | 24368 | macros/latex/contrib/genealogytree/gtrlib.templates.code.tex
+2021/09/20 | 243601 | macros/latex-dev/base/modguide.pdf
+2021/09/20 | 243427 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/09/20 | 24330 | macros/latex/contrib/spacingtricks/spacingtricks.dtx
+2021/09/20 | 24291 | macros/latex-dev/base/ltcounts.dtx
+2021/09/20 | 242893 | systems/win32/miktex/tm/packages/pdfextra__doc.tar.lzma
+2021/09/20 | 242886 | macros/latex-dev/base/cfgguide.pdf
+2021/09/20 | 241812 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/09/20 | 241697 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/09/20 | 241657 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/09/20 | 239681 | macros/latex-dev/base/cyrguide.pdf
+2021/09/20 | 239654 | macros/latex-dev/required/graphics/keyval.pdf
+2021/09/20 | 239137 | indexing/makeindexk.zip
+2021/09/20 | 23903 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/09/20 | 238577 | macros/latex-dev/base/ltxdoc.pdf
+2021/09/20 | 2375 | systems/win32/miktex/tm/packages/tiscreen__source.tar.lzma
+2021/09/20 | 23651 | macros/latex-dev/base/ltnews30.tex
+2021/09/20 | 23521 | macros/latex-dev/base/fix-cm.dtx
+2021/09/20 | 234008 | macros/latex-dev/base/slifonts.pdf
+2021/09/20 | 233995 | macros/latex-dev/base/proc.pdf
+2021/09/20 | 23386 | macros/latex-dev/base/lppl.tex
+2021/09/20 | 23365 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/09/20 | 2325 | graphics/mcf2graph/mcf_example.tex
+2021/09/20 | 23162 | macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+2021/09/20 | 2311436 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/09/20 | 229713 | macros/latex-dev/required/tools/trace.pdf
+2021/09/20 | 227034 | macros/latex-dev/required/amsmath/amsmath.dtx
+2021/09/20 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
+2021/09/20 | 22485 | macros/latex/contrib/genealogytree/gtrcore.drawing.code.tex
+2021/09/20 | 22456 | macros/latex-dev/base/cfgguide.tex
+2021/09/20 | 2227 | macros/latex/contrib/genealogytree/README.md
+2021/09/20 | 2225 | macros/latex-dev/required/tools/indentfirst.dtx
+2021/09/20 | 220689 | macros/latex-dev/required/tools/dcolumn.pdf
+2021/09/20 | 22050 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/09/20 | 220417 | macros/latex-dev/base/ifthen.pdf
+2021/09/20 | 21976 | macros/latex/contrib/genealogytree/gtrcore.parser.code.tex
+2021/09/20 | 2196 | systems/win32/miktex/tm/packages/clicks__source.tar.lzma
+2021/09/20 | 219354 | macros/latex-dev/base/ltx3info.pdf
+2021/09/20 | 218782 | macros/latex-dev/base/nfssfont.pdf
+2021/09/20 | 218143 | systems/win32/miktex/tm/packages/luatexja__source.tar.lzma
+2021/09/20 | 215810 | macros/latex-dev/required/amsmath/amstext.pdf
+2021/09/20 | 21571 | macros/latex/contrib/genealogytree/gtrcore.processing.code.tex
+2021/09/20 | 215355 | macros/latex-dev/required/tools/enumerate.pdf
+2021/09/20 | 215249 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/09/20 | 215091 | macros/latex-dev/base/lgc2.pdf
+2021/09/20 | 215002 | macros/latex-dev/required/graphics/color.pdf
+2021/09/20 | 214710 | macros/latex-dev/base/alltt.pdf
+2021/09/20 | 212307 | macros/latex-dev/base/exscale.pdf
+2021/09/20 | 21226 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/09/20 | 2117 | graphics/mcf2graph/mcf_exa_soc.mf
+2021/09/20 | 21072 | macros/latex-dev/required/graphics/rotating.dtx
+2021/09/20 | 210338 | macros/latex/contrib/genealogytree/genealogytree.doc.sources.zip
+2021/09/20 | 2092 | macros/latex-dev/required/graphics/README.md
+2021/09/20 | 209026 | macros/latex-dev/base/lthooks.dtx
+2021/09/20 | 20872840 | systems/texlive/tlnet/install-tl-windows.exe
+2021/09/20 | 208359 | macros/latex-dev/base/latexsym.pdf
+2021/09/20 | 208049 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/09/20 | 207638 | macros/latex/contrib/genealogytree/genealogytree-example-1.pdf
+2021/09/20 | 206897 | macros/latex-dev/required/graphics/trig.pdf
+2021/09/20 | 20680 | macros/latex/contrib/elteikthesis/elteikthesis-minted.pdf
+2021/09/20 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/09/20 | 20632 | macros/latex-dev/base/lgc2.err
+2021/09/20 | 205344 | macros/latex-dev/required/tools/afterpage.pdf
+2021/09/20 | 205162 | macros/latex-dev/base/ltnews25.pdf
+2021/09/20 | 205128 | macros/latex/contrib/genealogytree/genealogytree-example-3.pdf
+2021/09/20 | 20469 | macros/latex-dev/base/ltnews.cls
+2021/09/20 | 20461 | macros/latex/contrib/genealogytree/gtrcore.options.code.tex
+2021/09/20 | 204063 | macros/latex-dev/base/doc.dtx
+2021/09/20 | 202796 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/09/20 | 20137 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/09/20 | 2009904 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/09/20 | 2005 | macros/latex/contrib/spacingtricks/spacingtricks.ins
+2021/09/20 | 199732 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/09/20 | 198647 | macros/latex-dev/required/tools/delarray.pdf
+2021/09/20 | 198170 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/09/20 | 197195 | macros/latex-dev/base/syntonly.pdf
+2021/09/20 | 196873 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/09/20 | 196742 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/09/20 | 195637 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/09/20 | 195434 | macros/latex-dev/required/tools/fileerr.pdf
+2021/09/20 | 194382 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/09/20 | 1937 | macros/latex-dev/base/minimal.cls
+2021/09/20 | 1926 | macros/latex/contrib/lipsum/CHANGELOG.md
+2021/09/20 | 19064 | macros/latex-dev/base/ltxdoc.dtx
+2021/09/20 | 19040 | macros/latex-dev/base/lppl.txt
+2021/09/20 | 190348 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
+2021/09/20 | 189538 | macros/latex-dev/required/tools/hhline.pdf
+2021/09/20 | 18940 | macros/latex-dev/base/ltnews29.tex
+2021/09/20 | 18926 | macros/latex/contrib/genealogytree/gtrlib.debug.code.tex
+2021/09/20 | 184158 | graphics/mcf2graph/mcf_mplib_exa.pdf
+2021/09/20 | 18404 | macros/latex-dev/base/nfssfont.dtx
+2021/09/20 | 183532 | macros/latex-dev/required/tools/shellesc.pdf
+2021/09/20 | 18303 | macros/latex-dev/base/ifthen.dtx
+2021/09/20 | 18299 | macros/latex-dev/base/ltx3info.tex
+2021/09/20 | 182355 | macros/latex-dev/required/tools/multicol.dtx
+2021/09/20 | 18195 | systems/win32/miktex/tm/packages/penlight__doc.tar.lzma
+2021/09/20 | 18177 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/09/20 | 180 | macros/latex-dev/base/ltfilehook-doc.tex
+2021/09/20 | 180121 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/09/20 | 180010 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/09/20 | 179 | macros/latex-dev/base/ltshipout-doc.tex
+2021/09/20 | 17981 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/09/20 | 17979 | systems/win32/miktex/tm/packages/expkv-def__source.tar.lzma
+2021/09/20 | 178672 | macros/latex-dev/required/amsmath/amscd.pdf
+2021/09/20 | 17861 | macros/latex-dev/required/tools/xspace.dtx
+2021/09/20 | 178354 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/09/20 | 178311 | systems/win32/miktex/tm/packages/exesheet__doc.tar.lzma
+2021/09/20 | 177 | macros/latex-dev/base/lthooks-doc.tex
+2021/09/20 | 177 | macros/latex-dev/base/ltcmdhooks-doc.tex
+2021/09/20 | 177935 | macros/latex-dev/base/ltoutput.dtx
+2021/09/20 | 1777 | systems/win32/miktex/tm/packages/tiscreen.tar.lzma
+2021/09/20 | 177595 | macros/latex-dev/required/tools/xr.pdf
+2021/09/20 | 176740 | macros/latex-dev/required/amsmath/amsgen.pdf
+2021/09/20 | 175169 | macros/latex-dev/required/tools/somedefs.pdf
+2021/09/20 | 17495 | macros/latex-dev/base/cyrguide.tex
+2021/09/20 | 174488 | macros/latex-dev/base/ltnews05.pdf
+2021/09/20 | 1740 | systems/win32/miktex/tm/packages/clicks.tar.lzma
+2021/09/20 | 173 | macros/latex-dev/base/ltpara-doc.tex
+2021/09/20 | 17382 | macros/latex/contrib/elteikthesis/elteikthesis.cls
+2021/09/20 | 173746 | macros/latex-dev/required/amsmath/amsbsy.pdf
+2021/09/20 | 173682 | macros/latex-dev/base/makeindx.pdf
+2021/09/20 | 173323 | macros/latex-dev/base/ltnews13.pdf
+2021/09/20 | 172409 | macros/latex-dev/base/tlc2.err
+2021/09/20 | 172231 | macros/latex-dev/required/graphics/rotex.pdf
+2021/09/20 | 1713894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/09/20 | 171083 | macros/latex-dev/base/ltcmd.dtx
+2021/09/20 | 170875 | macros/latex-dev/base/lamport-manual.pdf
+2021/09/20 | 170530 | macros/latex-dev/base/tulm.pdf
+2021/09/20 | 170214 | macros/latex-dev/base/docstrip.dtx
+2021/09/20 | 1694 | macros/latex-dev/base/small2e.tex
+2021/09/20 | 169323 | macros/latex-dev/base/graphpap.pdf
+2021/09/20 | 169243 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/09/20 | 16885204 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/09/20 | 168392 | systems/win32/miktex/tm/packages/pmhanguljamo__source.tar.lzma
+2021/09/20 | 167686 | macros/latex-dev/required/graphics/epsfig.pdf
+2021/09/20 | 16691 | systems/win32/miktex/tm/packages/exesheet__source.tar.lzma
+2021/09/20 | 1666 | macros/latex-dev/required/tools/README.md
+2021/09/20 | 166368 | macros/latex-dev/base/ltnews17.pdf
+2021/09/20 | 16414 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/09/20 | 16358 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/09/20 | 163584 | macros/latex-dev/required/graphics/lscape.pdf
+2021/09/20 | 16233 | macros/latex-dev/base/modguide.tex
+2021/09/20 | 161570 | macros/latex/contrib/elteikthesis/README_hu.pdf
+2021/09/20 | 161518 | macros/latex-dev/base/ltnews01.pdf
+2021/09/20 | 161405 | macros/latex-dev/base/ltnews14.pdf
+2021/09/20 | 16122 | graphics/mcf2graph/mcf_mplib_exa.tex
+2021/09/20 | 16105 | macros/latex-dev/base/ltbibl.dtx
+2021/09/20 | 159580 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/09/20 | 159313 | macros/latex-dev/base/ltnews10.pdf
+2021/09/20 | 1584 | systems/texlive/tlnet/archive/tiscreen.r60551.tar.xz
+2021/09/20 | 15807 | graphics/mcf2graph/CHANGELOG
+2021/09/20 | 157803 | macros/latex-dev/required/tools/indentfirst.pdf
+2021/09/20 | 157578 | macros/latex/contrib/elteikthesis/README.pdf
+2021/09/20 | 15737 | macros/latex-dev/required/graphics/cat.eps
+2021/09/20 | 15699 | macros/latex-dev/base/slifonts.fdd
+2021/09/20 | 15625 | macros/latex-dev/base/ltxref.dtx
+2021/09/20 | 156219 | macros/latex-dev/base/classes.dtx
+2021/09/20 | 1556 | systems/win32/miktex/tm/packages/penlight.tar.lzma
+2021/09/20 | 155055 | macros/latex-dev/base/ltnews08.pdf
+2021/09/20 | 154808 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/09/20 | 154495 | systems/win32/miktex/tm/packages/light-latex-make__doc.tar.lzma
+2021/09/20 | 154427 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/09/20 | 15429 | macros/latex-dev/required/graphics/graphics-2017-06-25.sty
+2021/09/20 | 154160 | systems/texlive/tlnet/archive/luakeys.doc.r60552.tar.xz
+2021/09/20 | 154034 | macros/latex-dev/required/tools/fontsmpl.pdf
+2021/09/20 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/09/20 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/09/20 | 1525 | macros/latex/contrib/lipsum/README.txt
+2021/09/20 | 152220 | systems/texlive/tlnet/archive/tiscreen.doc.r60551.tar.xz
+2021/09/20 | 1512 | macros/latex/contrib/elteikthesis/elteikthesis.bib
+2021/09/20 | 151080 | systems/win32/miktex/tm/packages/tiscreen__doc.tar.lzma
+2021/09/20 | 15104 | macros/latex-dev/base/source2e.tex
+2021/09/20 | 1505 | macros/latex-dev/required/amsmath/amsbsy.ins
+2021/09/20 | 1504 | macros/latex-dev/required/amsmath/amsmath.ins
+2021/09/20 | 150493 | macros/latex-dev/base/ltnews03.pdf
+2021/09/20 | 150466 | macros/latex-dev/base/ltnews02.pdf
+2021/09/20 | 149977 | systems/win32/miktex/tm/packages/luakeys__doc.tar.lzma
+2021/09/20 | 149318 | macros/latex-dev/base/ltoutenc.dtx
+2021/09/20 | 1492 | macros/latex-dev/required/amsmath/amsxtra.ins
+2021/09/20 | 1492 | macros/latex-dev/required/amsmath/amstext.ins
+2021/09/20 | 1490 | macros/latex-dev/required/amsmath/amsopn.ins
+2021/09/20 | 14891 | macros/latex-dev/base/ltnews28.tex
+2021/09/20 | 1487 | macros/latex-dev/required/amsmath/amscd.ins
+2021/09/20 | 1484 | macros/latex-dev/required/amsmath/amsgen.ins
+2021/09/20 | 147587 | macros/latex-dev/base/ltnews12.pdf
+2021/09/20 | 147373 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/09/20 | 146534 | macros/latex-dev/required/tools/rawfonts.pdf
+2021/09/20 | 146533 | macros/latex-dev/base/ltnews16.pdf
+2021/09/20 | 1464203 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/09/20 | 146200 | macros/latex-dev/base/webcomp.pdf
+2021/09/20 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/09/20 | 14575 | macros/latex-dev/required/graphics/rotex.tex
+2021/09/20 | 145610 | macros/latex-dev/required/amsmath/technote.pdf
+2021/09/20 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/09/20 | 14421 | macros/latex-dev/base/lppl-1-2.txt
+2021/09/20 | 143686 | macros/latex-dev/base/ltnews04.pdf
+2021/09/20 | 14349 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/09/20 | 14341 | macros/latex-dev/base/lppl-1-1.txt
+2021/09/20 | 14293 | macros/latex-dev/base/ltvers.dtx
+2021/09/20 | 142909 | macros/latex-dev/base/ltnews06.pdf
+2021/09/20 | 1424 | macros/latex/contrib/elteikthesis/LICENSE
+2021/09/20 | 1421868 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/09/20 | 141971 | macros/latex-dev/base/ltclass.dtx
+2021/09/20 | 14077 | macros/latex-dev/required/tools/afterpage.dtx
+2021/09/20 | 13917 | macros/latex-dev/base/ltexpl.dtx
+2021/09/20 | 13880 | macros/latex-dev/required/graphics/keyval.dtx
+2021/09/20 | 138783 | macros/latex-dev/required/amsmath/amsopn.pdf
+2021/09/20 | 138044 | macros/latex-dev/base/ltnews07.pdf
+2021/09/20 | 13759 | macros/latex-dev/base/lamport-manual.err
+2021/09/20 | 136822 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/09/20 | 136817 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/09/20 | 1358573 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/09/20 | 1358118 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/09/20 | 13467 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/09/20 | 134671 | macros/latex/contrib/lipsum/lipsum-cicero.txt
+2021/09/20 | 13466 | systems/win32/miktex/tm/packages/light-latex-make.tar.lzma
+2021/09/20 | 13447 | macros/latex-dev/required/amsmath/amsgen.dtx
+2021/09/20 | 1341 | macros/latex-dev/base/ltnews18.tex
+2021/09/20 | 1340933 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/09/20 | 133865 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/09/20 | 13301 | macros/latex-dev/base/proc.dtx
+2021/09/20 | 132373 | macros/latex-dev/base/lppl.pdf
+2021/09/20 | 13191 | systems/win32/miktex/tm/packages/readarray__source.tar.lzma
+2021/09/20 | 1316472 | macros/latex-dev/base/encguide.pdf
+2021/09/20 | 130447 | macros/latex-dev/base/ltnews15.pdf
+2021/09/20 | 1301193 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/09/20 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/09/20 | 129032 | macros/latex-dev/base/ltnews09.pdf
+2021/09/20 | 128187 | macros/latex-dev/required/tools/array.dtx
+2021/09/20 | 1279 | macros/latex-dev/base/legal.txt
+2021/09/20 | 12714 | macros/latex-dev/required/tools/dcolumn.dtx
+2021/09/20 | 1262219 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/09/20 | 1261940 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/09/20 | 12559 | macros/latex-dev/required/tools/array-2020-02-10.sty
+2021/09/20 | 125414 | macros/latex/contrib/spacingtricks/spacingtricks.pdf
+2021/09/20 | 12520 | macros/latex-dev/base/testpage.tex
+2021/09/20 | 124282 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/09/20 | 12268 | macros/latex/contrib/genealogytree/gtrcore.contour.code.tex
+2021/09/20 | 12242 | macros/latex-dev/base/tulm.fdd
+2021/09/20 | 12224 | macros/latex-dev/base/ltnews24.tex
+2021/09/20 | 12133 | macros/latex-dev/required/tools/longtable-2020-01-07.sty
+2021/09/20 | 1211 | macros/latex/contrib/elteikthesis/chapters/intro.tex
+2021/09/20 | 12005 | macros/latex-dev/required/amsmath/technote.tex
+2021/09/20 | 119821 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/09/20 | 11894 | macros/latex/contrib/elteikthesis/chapters/user.tex
+2021/09/20 | 11749 | macros/latex-dev/required/tools/array-2016-10-06.sty
+2021/09/20 | 11739 | macros/latex/contrib/genealogytree/CHANGES.md
+2021/09/20 | 11704 | systems/win32/miktex/tm/packages/light-latex-make__source.tar.lzma
+2021/09/20 | 1169718 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/09/20 | 116725 | graphics/mcf2graph/mcf2graph.mf
+2021/09/20 | 11590 | macros/latex-dev/base/ltpage.dtx
+2021/09/20 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/09/20 | 115351 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/09/20 | 114351 | macros/latex-dev/required/tools/varioref.dtx
+2021/09/20 | 11403 | macros/latex-dev/required/amsmath/amstext.dtx
+2021/09/20 | 112985 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/09/20 | 1128 | macros/latex-dev/required/graphics/graphics.ins
+2021/09/20 | 11289 | macros/latex-dev/required/amsmath/amscd.dtx
+2021/09/20 | 112556 | macros/latex-dev/required/amsmath/amsxtra.pdf
+2021/09/20 | 112088 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/09/20 | 111955 | macros/latex-dev/base/ltnews11.pdf
+2021/09/20 | 1116092 | macros/latex-dev/base/ltnews.pdf
+2021/09/20 | 11153 | macros/latex-dev/required/tools/hhline.dtx
+2021/09/20 | 109969 | macros/latex/contrib/spacingtricks.zip
+2021/09/20 | 109737 | macros/latex-dev/required/amsmath/subeqn.pdf
+2021/09/20 | 109032 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/09/20 | 10896 | macros/latex-dev/base/manifest.txt
+2021/09/20 | 1083948 | macros/latex-dev/base/lthooks-code.pdf
+2021/09/20 | 108292 | systems/texlive/tlnet/archive/texlive-scripts.r60545.tar.xz
+2021/09/20 | 1077990 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/09/20 | 10776 | macros/latex-dev/required/tools/fontsmpl.dtx
+2021/09/20 | 1074 | macros/latex/contrib/elteikthesis/chapters/sum.tex
+2021/09/20 | 10748 | systems/win32/miktex/tm/packages/schooldocs__source.tar.lzma
+2021/09/20 | 10744 | macros/latex-dev/required/graphics/trig.dtx
+2021/09/20 | 10697 | macros/latex-dev/base/ltnews26.tex
+2021/09/20 | 106908 | macros/latex-dev/base/inputenc.dtx
+2021/09/20 | 10687 | macros/latex-dev/base/ltnews23.tex
+2021/09/20 | 10668 | macros/latex-dev/base/ltnews22.tex
+2021/09/20 | 10649 | macros/latex-dev/required/tools/enumerate.dtx
+2021/09/20 | 1063568 | macros/latex/contrib/elteikthesis.zip
+2021/09/20 | 10603 | macros/latex-dev/base/makeindx.dtx
+2021/09/20 | 105 | macros/latex-dev/base/ltfilehook-code.tex
+2021/09/20 | 105225 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/09/20 | 104 | macros/latex-dev/base/ltshipout-code.tex
+2021/09/20 | 104792 | macros/latex-dev/required/amsmath/amsldoc.tex
+2021/09/20 | 103 | macros/latex-dev/base/ltcmdhooks-code.tex
+2021/09/20 | 10375 | macros/latex-dev/base/ltfsscmp.dtx
+2021/09/20 | 103400 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/09/20 | 103206 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/09/20 | 102 | macros/latex-dev/base/lthooks-code.tex
+2021/09/20 | 10251 | macros/latex-dev/base/webcomp.err
+2021/09/20 | 100636 | systems/win32/miktex/tm/packages/penlight__source.tar.lzma
+2021/09/20 | 100625 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
2021/09/19 | 99421 | support/light-latex-make/llmk.pdf
-2021/09/19 | 98382 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/09/19 | 98262 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/09/19 | 975020 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/09/19 | 97338 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/09/19 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/09/19 | 95400 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/09/19 | 94800 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/09/19 | 94311 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/09/19 | 927 | systems/win32/miktex/tm/packages/pr.ini
+2021/09/19 | 99340207 | systems/win32/TLW64/tl-win64.zip
+2021/09/19 | 988 | indexing/makeindexk/configure.ac
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecB-4.ind
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecB-3.ind
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecA-2.ind
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecA-1.ind
+2021/09/19 | 96 | indexing/makeindexk/tests/pprecA-0.ind
+2021/09/19 | 93 | indexing/makeindexk/tests/range3.ist
+2021/09/19 | 92 | indexing/makeindexk/tests/range2.ist
2021/09/19 | 9234 | support/light-latex-make/README.md
2021/09/19 | 915258 | macros/latex/contrib/schooldocs.zip
-2021/09/19 | 87776 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/09/19 | 8768 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/09/19 | 8999 | indexing/makeindexk/ChangeLog
2021/09/19 | 863 | info/dtk-bibliography/dtk-bibliography.tex
-2021/09/19 | 83539 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2021/09/19 | 83276 | systems/texlive/tlnet/archive/luatexja.source.r60541.tar.xz
2021/09/19 | 828771 | language/korean/pmhanguljamo.zip
2021/09/19 | 8161 | support/light-latex-make/llmk-doc.cls
-2021/09/19 | 815241 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/09/19 | 80449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/09/19 | 78774 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/09/19 | 77951 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
2021/09/19 | 77263 | support/light-latex-make/llmk-logo.png
-2021/09/19 | 7721 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/09/19 | 76826 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2021/09/19 | 758 | macros/luatex/generic/luakeys/luakeys-debug.sty
-2021/09/19 | 75791 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/09/19 | 744117 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/09/19 | 74211 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/09/19 | 73196 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/09/19 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/09/19 | 72206 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/09/19 | 71668 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/09/19 | 70648 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/09/19 | 69914 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/09/19 | 681250 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/09/19 | 6811631 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/09/19 | 68024 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/09/19 | 67819 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/09/19 | 67619 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/09/19 | 67484 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/09/19 | 70 | indexing/makeindexk/tests/range1.ist
+2021/09/19 | 6877 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/09/19 | 657 | info/dtk-bibliography/README.md
-2021/09/19 | 65786 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/09/19 | 65619 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/09/19 | 644568 | systems/texlive/tlnet/archive/pdfextra.doc.r60542.tar.xz
-2021/09/19 | 64427 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/09/19 | 64185 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/09/19 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/09/19 | 629398 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/09/19 | 62787 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/09/19 | 624651 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/09/19 | 62227 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/09/19 | 61813 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/09/19 | 614598 | systems/win32/miktex/tm/packages/files.csv.lzma
-2021/09/19 | 614469 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/09/19 | 60638 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/09/19 | 60039 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/09/19 | 596929 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/09/19 | 589841 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/09/19 | 57727 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/09/19 | 57547 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/09/19 | 57138 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/09/19 | 57014 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/09/19 | 56684 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/09/19 | 566528 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/09/19 | 56515 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/09/19 | 56476 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/09/19 | 56356 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/09/19 | 56317 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/09/19 | 55498 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
2021/09/19 | 5492 | systems/texlive/tlnet/archive/readarray.r60540.tar.xz
-2021/09/19 | 54632 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2021/09/19 | 533270 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf
-2021/09/19 | 531850 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/09/19 | 52522 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/09/19 | 533226 | indexing/makeindexk/configure.texk
2021/09/19 | 522146 | info/dtk-bibliography/dtk-bibliography.bib
2021/09/19 | 520 | info/dtk-bibliography/dtk-authoryear.dbx
-2021/09/19 | 51748 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2021/09/19 | 51597 | language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
-2021/09/19 | 51309 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/09/19 | 51202 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/09/19 | 51113 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/09/19 | 510588 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2021/09/19 | 506352 | systems/texlive/tlnet/archive/readarray.doc.r60540.tar.xz
2021/09/19 | 5060 | systems/texlive/tlnet/archive/expkv-def.r60538.tar.xz
-2021/09/19 | 50396 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/09/19 | 50152 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/09/19 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2021/09/19 | 483653 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
2021/09/19 | 4834 | info/dtk-bibliography/dtk-logos.sty
-2021/09/19 | 48253 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/09/19 | 476920 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/09/19 | 46906 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/09/19 | 461811 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/09/19 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/09/19 | 45905 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/09/19 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/09/19 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2021/09/19 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/09/19 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2021/09/19 | 45310 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2021/09/19 | 436311 | info/dtk-bibliography.zip
-2021/09/19 | 43426 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/09/19 | 43028 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/09/19 | 43002 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/09/19 | 42891 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/09/19 | 42710 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/09/19 | 42386 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/09/19 | 41193 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/09/19 | 40228 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/09/19 | 400072 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60532.tar.xz
2021/09/19 | 396880 | systems/texlive/tlnet/archive/expkv-def.doc.r60538.tar.xz
2021/09/19 | 39513 | support/light-latex-make/llmk.lua
-2021/09/19 | 392790 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/09/19 | 39129 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
2021/09/19 | 3848 | systems/texlive/tlnet/archive/exesheet.r60537.tar.xz
-2021/09/19 | 38141 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2021/09/19 | 381060 | info/dtk-bibliography/dtk-bibliography.pdf
-2021/09/19 | 37805 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/09/19 | 37360 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/09/19 | 37242 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/09/19 | 3776 | indexing/makeindexk/scanid.h
2021/09/19 | 36697 | support/light-latex-make/llmk.tex
-2021/09/19 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/09/19 | 35691 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/09/19 | 35086 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/09/19 | 34666 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/09/19 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
2021/09/19 | 3376 | macros/luatex/generic/penlight/penlight.tex
-2021/09/19 | 33633 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/09/19 | 33545 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/09/19 | 330787 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/09/19 | 32674 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/09/19 | 325044 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/09/19 | 3278 | indexing/makeindexk/tests/range.idx
2021/09/19 | 3204664 | systems/texlive/tlnet/archive/luatexja.doc.r60541.tar.xz
-2021/09/19 | 31620 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/09/19 | 31537 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/09/19 | 31349 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/09/19 | 31232 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/09/19 | 312108 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/09/19 | 30824 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/09/19 | 30058 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/09/19 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/09/19 | 295204 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/09/19 | 29037 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/09/19 | 284580 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/09/19 | 284023 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/09/19 | 28391 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/09/19 | 28177 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/09/19 | 2796726 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/09/19 | 27729 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
2021/09/19 | 276 | systems/texlive/tlnet/archive/texlive-en.r60536.tar.xz
-2021/09/19 | 27390 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/09/19 | 27357 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/09/19 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/09/19 | 2672612 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/09/19 | 263958 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2021/09/19 | 260244 | systems/texlive/tlnet/archive/clicks.doc.r60539.tar.xz
-2021/09/19 | 258882 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/09/19 | 25629531 | systems/texlive/tlnet/install-tl.zip
-2021/09/19 | 25292 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/09/19 | 250262 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/09/19 | 25019 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/09/19 | 24992 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2021/09/19 | 24362 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.tex
-2021/09/19 | 243426 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/09/19 | 241811 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/09/19 | 240974 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/09/19 | 240950 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/09/19 | 23903 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2021/09/19 | 2341 | support/light-latex-make/llmk.1
-2021/09/19 | 23364 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/09/19 | 2312048 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
-2021/09/19 | 22584 | systems/texlive/tlnet/archive/pdfextra.r60542.tar.xz
-2021/09/19 | 22048 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/09/19 | 215248 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/09/19 | 21225 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/09/19 | 20875499 | systems/texlive/tlnet/install-tl-windows.exe
-2021/09/19 | 208047 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/09/19 | 206603 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/09/19 | 202797 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/09/19 | 20138 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/09/19 | 2009906 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/09/19 | 213 | indexing/makeindexk/tests/pprecA.idx
+2021/09/19 | 207 | indexing/makeindexk/tests/pprecB.idx
2021/09/19 | 20067 | macros/luatex/generic/penlight/penlight.pdf
-2021/09/19 | 199732 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/09/19 | 198171 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/09/19 | 196871 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/09/19 | 196740 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/09/19 | 195636 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/09/19 | 194383 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/09/19 | 1944 | indexing/makeindexk/tests/makeindex.test
2021/09/19 | 1939872 | systems/texlive/tlnet/archive/texlive-en.doc.r60536.tar.xz
2021/09/19 | 190612 | systems/texlive/tlnet/archive/luatexja.r60541.tar.xz
2021/09/19 | 1869 | info/dtk-bibliography/dtk-authoryear.bbx
-2021/09/19 | 18176 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/09/19 | 180119 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/09/19 | 180009 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/09/19 | 182 | indexing/makeindexk/tests/pprec0.ist
+2021/09/19 | 179 | indexing/makeindexk/tests/pprec4.ist
+2021/09/19 | 179 | indexing/makeindexk/tests/pprec3.ist
+2021/09/19 | 179 | indexing/makeindexk/tests/pprec2.ist
+2021/09/19 | 179 | indexing/makeindexk/tests/pprec1.ist
2021/09/19 | 179998 | support/light-latex-make.zip
-2021/09/19 | 17980 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/09/19 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
2021/09/19 | 178108 | systems/texlive/tlnet/archive/exesheet.doc.r60537.tar.xz
+2021/09/19 | 17507 | indexing/makeindexk/scanid.c
2021/09/19 | 17488 | systems/texlive/tlnet/archive/expkv-def.source.r60538.tar.xz
-2021/09/19 | 1713894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/09/19 | 169241 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/09/19 | 16885163 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/09/19 | 16413 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/09/19 | 16357 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2021/09/19 | 16324 | systems/texlive/tlnet/archive/exesheet.source.r60537.tar.xz
2021/09/19 | 1618 | macros/luatex/generic/luakeys/luakeys-debug.tex
-2021/09/19 | 159579 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2021/09/19 | 159022 | macros/luatex/generic/luakeys.zip
2021/09/19 | 1550 | macros/luatex/generic/penlight/penlight.sty
2021/09/19 | 1548 | systems/texlive/tlnet/archive/clicks.r60539.tar.xz
-2021/09/19 | 154806 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/09/19 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/09/19 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2021/09/19 | 153582 | macros/luatex/generic/luakeys/luakeys.pdf
-2021/09/19 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2021/09/19 | 152964 | macros/luatex/generic/penlight.zip
2021/09/19 | 152528 | macros/latex/contrib/tiscreen.zip
-2021/09/19 | 147372 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/09/19 | 15087 | indexing/makeindexk/scanst.c
2021/09/19 | 14658 | macros/luatex/generic/luakeys/luakeys.lua
-2021/09/19 | 1464203 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/09/19 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/09/19 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/09/19 | 14627 | indexing/makeindexk/mkind.h
2021/09/19 | 143726 | language/korean/pmhanguljamo/doc/munjangganghwa.jpg
-2021/09/19 | 14349 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2021/09/19 | 1433 | support/light-latex-make/llmk-logo-code.tex
-2021/09/19 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2021/09/19 | 13750 | language/korean/pmhanguljamo/tex/pmhanguljamo.sty
-2021/09/19 | 136819 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/09/19 | 136816 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/09/19 | 1357977 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/09/19 | 1356796 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
2021/09/19 | 13465 | macros/luatex/generic/luakeys/luakeys.tex
-2021/09/19 | 13464 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/09/19 | 1340929 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/09/19 | 133864 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2021/09/19 | 1319 | language/korean/pmhanguljamo/README.md
-2021/09/19 | 1301194 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2021/09/19 | 1300 | macros/luatex/generic/penlight/README.md
-2021/09/19 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
2021/09/19 | 128727 | language/korean/pmhanguljamo/doc/pmhanguljamo-doc.pdf
2021/09/19 | 12851 | language/korean/pmhanguljamo/tex/pmhanguljamo-rrk.sty
2021/09/19 | 1271 | macros/luatex/generic/luakeys/README.md
-2021/09/19 | 1261692 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2021/09/19 | 1260116 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/09/19 | 124282 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/09/19 | 119820 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/09/19 | 1169718 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/09/19 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2021/09/19 | 115350 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/09/19 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/09/19 | 112086 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/09/19 | 1169 | indexing/makeindexk/tests/range2.ind
2021/09/19 | 1091 | support/light-latex-make/LICENSE
-2021/09/19 | 109032 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/09/19 | 108292 | systems/texlive/tlnet/archive/texlive-scripts.r60532.tar.xz
-2021/09/19 | 1077990 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/09/19 | 105222 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/09/19 | 103400 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/09/19 | 103205 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/09/19 | 100624 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/09/19 | 1077 | indexing/makeindexk/tests/range3.ind
+2021/09/19 | 1077 | indexing/makeindexk/tests/range1.ind
2021/09/18 | 9765 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
2021/09/18 | 9730 | systems/win32/miktex/tm/packages/luaxml__source.tar.lzma
2021/09/18 | 968940 | systems/win32/miktex/tm/packages/latexindent__doc.tar.lzma
@@ -283,13 +854,12 @@
2021/09/18 | 72763 | systems/win32/miktex/tm/packages/lua-uca.tar.lzma
2021/09/18 | 7234446 | systems/win32/miktex/tm/packages/latex2nemeth.tar.lzma
2021/09/18 | 7234364 | systems/texlive/tlnet/archive/latex2nemeth.r60528.tar.xz
-2021/09/18 | 714993 | macros/luatex/optex/pdfextra.zip
+2021/09/18 | 714993 | macros/luatex/generic/pdfextra.zip
2021/09/18 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
2021/09/18 | 702212 | systems/texlive/tlnet/archive/njuthesis.doc.r60529.tar.xz
2021/09/18 | 694840 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
2021/09/18 | 69366 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
2021/09/18 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
-2021/09/18 | 6845 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/09/18 | 68418 | systems/win32/miktex/tm/packages/njuthesis.tar.lzma
2021/09/18 | 6822 | systems/win32/miktex/tm/packages/pst-tools.tar.lzma
2021/09/18 | 6768 | systems/win32/miktex/tm/packages/mindflow__source.tar.lzma
@@ -384,7 +954,6 @@
2021/09/18 | 260709 | macros/latex/contrib/clicks.zip
2021/09/18 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
2021/09/18 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
-2021/09/18 | 258472 | systems/win32/miktex/tm/packages/clicks__doc.tar.lzma
2021/09/18 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
2021/09/18 | 257190 | macros/latex/contrib/clicks/clicks.pdf
2021/09/18 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
@@ -404,7 +973,6 @@
2021/09/18 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
2021/09/18 | 2052 | systems/win32/miktex/tm/packages/ffcode.tar.lzma
2021/09/18 | 2037095 | systems/win32/miktex/tm/packages/siunitx__doc.tar.lzma
-2021/09/18 | 2033 | systems/win32/miktex/tm/packages/clicks__source.tar.lzma
2021/09/18 | 20106 | systems/win32/miktex/tm/packages/njuthesis__source.tar.lzma
2021/09/18 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
2021/09/18 | 200880 | macros/latex/contrib/exesheet.zip
@@ -426,7 +994,6 @@
2021/09/18 | 1788905 | systems/win32/miktex/tm/packages/nicematrix__doc.tar.lzma
2021/09/18 | 177581 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
2021/09/18 | 1765 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
-2021/09/18 | 1740 | systems/win32/miktex/tm/packages/clicks.tar.lzma
2021/09/18 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
2021/09/18 | 165264 | systems/texlive/tlnet/archive/latex2nemeth.doc.r60528.tar.xz
2021/09/18 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
@@ -470,34 +1037,34 @@
2021/09/18 | 107238 | systems/win32/miktex/tm/packages/siunitx__source.tar.lzma
2021/09/18 | 1055686 | systems/win32/miktex/tm/packages/zref-check__doc.tar.lzma
2021/09/18 | 1054416 | systems/texlive/tlnet/archive/zref-check.doc.r60527.tar.xz
-2021/09/17 | 9600 | macros/luatex/optex/pdfextra/examples/pdfextra-example.tex
-2021/09/17 | 9358 | macros/luatex/optex/pdfextra/pdfextra.tex
+2021/09/17 | 9600 | macros/luatex/generic/pdfextra/examples/pdfextra-example.tex
+2021/09/17 | 9358 | macros/luatex/generic/pdfextra/pdfextra.tex
2021/09/17 | 84739 | macros/unicodetex/latex/njuthesis/figure/njuname-large.pdf
2021/09/17 | 75268 | systems/texlive/tlnet/archive/lua-uca.doc.r60523.tar.xz
2021/09/17 | 7493000 | support/latex2nemeth.zip
2021/09/17 | 745 | macros/unicodetex/latex/njuthesis/README.md
2021/09/17 | 74132 | systems/texlive/tlnet/archive/lua-uca.r60523.tar.xz
2021/09/17 | 725848 | macros/unicodetex/latex/njuthesis.zip
-2021/09/17 | 7235 | macros/luatex/optex/pdfextra/examples/pdfextra-example-latex.tex
+2021/09/17 | 7235 | macros/luatex/generic/pdfextra/examples/pdfextra-example-latex.tex
2021/09/17 | 72250 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
-2021/09/17 | 69 | macros/luatex/optex/pdfextra/pdfextra.sty
-2021/09/17 | 68819 | macros/luatex/optex/pdfextra/pdfextra.opm
+2021/09/17 | 69 | macros/luatex/generic/pdfextra/pdfextra.sty
+2021/09/17 | 68819 | macros/luatex/generic/pdfextra/pdfextra.opm
2021/09/17 | 67528 | systems/texlive/tlnet/archive/latexindent.r60522.tar.xz
-2021/09/17 | 662 | macros/luatex/optex/pdfextra/LICENSE
+2021/09/17 | 662 | macros/luatex/generic/pdfextra/LICENSE
2021/09/17 | 6416 | systems/texlive/tlnet/archive/mindflow.source.r60520.tar.xz
2021/09/17 | 638180 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
-2021/09/17 | 58592 | macros/luatex/optex/pdfextra/examples/pdfextra-example-part.prc
+2021/09/17 | 58592 | macros/luatex/generic/pdfextra/examples/pdfextra-example-part.prc
2021/09/17 | 530275 | macros/latex/contrib/readarray/readarray.pdf
2021/09/17 | 41408 | macros/latex/contrib/readarray/readarray.tex
2021/09/17 | 4060720 | systems/texlive/tlnet/archive/latexindent.win32.r60522.tar.xz
2021/09/17 | 3938 | macros/unicodetex/latex/njuthesis/README_ZH_CN.md
-2021/09/17 | 385350 | macros/luatex/optex/pdfextra/examples/pdfextra-example.pdf
-2021/09/17 | 33962 | macros/luatex/optex/pdfextra/pdfextra-doc.tex
+2021/09/17 | 385350 | macros/luatex/generic/pdfextra/examples/pdfextra-example.pdf
+2021/09/17 | 33962 | macros/luatex/generic/pdfextra/pdfextra-doc.tex
2021/09/17 | 3356 | graphics/pstricks/contrib/luapstricks/README.md
2021/09/17 | 2704 | systems/texlive/tlnet/archive/mindflow.r60520.tar.xz
2021/09/17 | 26832 | systems/texlive/tlnet/archive/luamplib.source.r60521.tar.xz
2021/09/17 | 25311 | graphics/pstricks/contrib/luapstricks.zip
-2021/09/17 | 245952 | macros/luatex/optex/pdfextra/pdfextra-doc.pdf
+2021/09/17 | 245952 | macros/luatex/generic/pdfextra/pdfextra-doc.pdf
2021/09/17 | 21856 | macros/latex/contrib/readarray/readarray.sty
2021/09/17 | 21738 | macros/unicodetex/latex/njuthesis/figure/njulogo.pdf
2021/09/17 | 213608 | systems/texlive/tlnet/archive/mindflow.doc.r60520.tar.xz
@@ -510,9 +1077,10 @@
2021/09/17 | 1183078 | macros/latex/contrib/zref-check.zip
2021/09/17 | 117847490 | macros/context/latest/cont-tmf.zip
2021/09/17 | 1132 | systems/texlive/tlnet/archive/lua-uca.source.r60523.tar.xz
-2021/09/17 | 1101 | macros/luatex/optex/pdfextra/README.md
+2021/09/17 | 1101 | macros/luatex/generic/pdfextra/README.md
2021/09/17 | 1084236 | systems/texlive/tlnet/archive/latexindent.doc.r60522.tar.xz
2021/09/16 | 9809944 | support/latexindent/latexindent.exe
+2021/09/16 | 97963 | graphics/mcf2graph/mcf_data_base.mcf
2021/09/16 | 9537 | support/latexindent/LatexIndent/IfElseFi.pm
2021/09/16 | 93702 | macros/luatex/generic/luamplib/luamplib.dtx
2021/09/16 | 9243 | support/latexindent/LatexIndent/Lines.pm
@@ -793,110 +1361,3 @@
2021/09/14 | 10521 | graphics/pstricks/contrib/pst-mirror/doc/createEPS/xc.eps
2021/09/14 | 1011404 | systems/texlive/tlnet/archive/libertinust1math.r60495.tar.xz
2021/09/14 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2021/09/13 | 9762 | systems/win32/miktex/tm/packages/mcexam__source.tar.lzma
-2021/09/13 | 966 | graphics/pstricks/contrib/pst-tools/README
-2021/09/13 | 9654 | graphics/pstricks/contrib/pst-tools/tex/pst-tools.tex
-2021/09/13 | 888455 | systems/win32/miktex/tm/packages/hecthese__doc.tar.lzma
-2021/09/13 | 87293 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__source.tar.lzma
-2021/09/13 | 8399446 | fonts/newtx.zip
-2021/09/13 | 83022264 | systems/texlive/tlcontrib/archive/notocondensed.r349.tar.xz
-2021/09/13 | 8227 | graphics/pstricks/contrib/pst-tools/dvips/pst-tools.pro
-2021/09/13 | 77881217 | systems/win32/miktex/tm/packages/notocondensed.tar.lzma
-2021/09/13 | 7490 | macros/latex/contrib/huawei/huawei.tex
-2021/09/13 | 738340 | systems/texlive/tlnet/archive/pst-vectorian.doc.r60488.tar.xz
-2021/09/13 | 7340726 | systems/win32/miktex/tm/packages/pstricks__doc.tar.lzma
-2021/09/13 | 72858 | systems/win32/miktex/tm/packages/pstricks.tar.lzma
-2021/09/13 | 6993 | systems/win32/miktex/tm/packages/uwa-letterhead__source.tar.lzma
-2021/09/13 | 6246 | systems/win32/miktex/tm/packages/bithesis.tar.lzma
-2021/09/13 | 6076 | systems/win32/miktex/tm/packages/libertinust1math__source.tar.lzma
-2021/09/13 | 600346 | macros/latex/contrib/huawei.zip
-2021/09/13 | 597848 | systems/texlive/tlnet/archive/easybook.doc.r60484.tar.xz
-2021/09/13 | 5955 | systems/win32/miktex/tm/packages/ejpecp.tar.lzma
-2021/09/13 | 58 | systems/mac/mactex/MacTeXtras-20210913.zip.md5
-2021/09/13 | 583561 | systems/win32/miktex/tm/packages/beamertheme-trigon__source.tar.lzma
-2021/09/13 | 5820 | systems/win32/miktex/tm/packages/beamertheme-trigon.tar.lzma
-2021/09/13 | 580775 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma
-2021/09/13 | 57457 | systems/win32/miktex/tm/packages/uwa-letterhead__doc.tar.lzma
-2021/09/13 | 546776 | systems/texlive/tlnet/archive/pst-vectorian.r60488.tar.xz
-2021/09/13 | 54052 | systems/win32/miktex/tm/packages/xetexko.tar.lzma
-2021/09/13 | 5119 | macros/latex/contrib/crumbs/crumbs.tex
-2021/09/13 | 48 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.md5
-2021/09/13 | 484 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.sha512.asc
-2021/09/13 | 450735592 | systems/mac/mactex/MacTeXtras-20210913.zip
-2021/09/13 | 4447 | macros/latex/contrib/crumbs/crumbs.sty
-2021/09/13 | 437591 | systems/win32/miktex/tm/packages/newpx__doc.tar.lzma
-2021/09/13 | 433458 | systems/win32/miktex/tm/packages/xcharter__doc.tar.lzma
-2021/09/13 | 432 | graphics/pstricks/contrib/pst-tools/latex/pst-tools.sty
-2021/09/13 | 4328 | systems/texlive/tlnet/archive/pst-calendar.r60480.tar.xz
-2021/09/13 | 42 | macros/latex/contrib/crumbs/DEPENDS.txt
-2021/09/13 | 42377 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015.tar.lzma
-2021/09/13 | 4234 | macros/latex/contrib/ffcode/ffcode.tex
-2021/09/13 | 419 | macros/latex/contrib/huawei/DEPENDS.txt
-2021/09/13 | 4174 | systems/win32/miktex/tm/packages/hecthese.tar.lzma
-2021/09/13 | 40 | macros/latex/contrib/ffcode/DEPENDS.txt
-2021/09/13 | 38200 | systems/mac/mactex/ExtrasFolder.pdf
-2021/09/13 | 38009 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma
-2021/09/13 | 3756112 | systems/win32/miktex/tm/packages/media9__doc.tar.lzma
-2021/09/13 | 3528 | systems/win32/miktex/tm/packages/uwa-letterhead.tar.lzma
-2021/09/13 | 349862 | macros/latex/contrib/crumbs.zip
-2021/09/13 | 348272 | systems/win32/miktex/tm/packages/notocondensed__doc.tar.lzma
-2021/09/13 | 345876 | systems/texlive/tlcontrib/archive/notocondensed.doc.r349.tar.xz
-2021/09/13 | 345354 | macros/latex/contrib/crumbs/crumbs.pdf
-2021/09/13 | 342782 | systems/win32/miktex/tm/packages/noto__doc.tar.lzma
-2021/09/13 | 340436 | systems/texlive/tlnet/archive/noto.doc.r60482.tar.xz
-2021/09/13 | 3329 | systems/win32/miktex/tm/packages/uwa-colours__source.tar.lzma
-2021/09/13 | 332659 | macros/latex/contrib/huawei/huawei.pdf
-2021/09/13 | 3280 | systems/win32/miktex/tm/packages/beamertheme-trigon__doc.tar.lzma
-2021/09/13 | 3247630 | systems/texlive/tlnet/tlpkg/installer/wget/wget.exe
-2021/09/13 | 31139 | systems/win32/miktex/tm/packages/hecthese__source.tar.lzma
-2021/09/13 | 3018 | macros/latex/contrib/ffcode/ffcode.sty
-2021/09/13 | 266763 | systems/win32/miktex/tm/packages/ejpecp__doc.tar.lzma
-2021/09/13 | 26607576 | systems/texlive/tlnet/archive/noto.r60482.tar.xz
-2021/09/13 | 26433751 | systems/win32/miktex/tm/packages/noto.tar.lzma
-2021/09/13 | 26151 | systems/win32/miktex/tm/packages/ejpecp__source.tar.lzma
-2021/09/13 | 258814 | systems/win32/miktex/tm/packages/xetexko__doc.tar.lzma
-2021/09/13 | 253724 | macros/latex/contrib/huawei/huawei-cover-picture.pdf
-2021/09/13 | 252712 | systems/win32/miktex/tm/packages/bithesis__doc.tar.lzma
-2021/09/13 | 232948 | systems/texlive/tlnet/archive/mcexam.doc.r60481.tar.xz
-2021/09/13 | 22866 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
-2021/09/13 | 225810 | systems/win32/miktex/tm/packages/mcexam__doc.tar.lzma
-2021/09/13 | 2176954 | systems/win32/miktex/tm/packages/newpx.tar.lzma
-2021/09/13 | 2114 | macros/latex/contrib/huawei/samples/huawei-cfp.tex
-2021/09/13 | 2108 | macros/latex/contrib/huawei/samples/huawei-charter.tex
-2021/09/13 | 2056168 | systems/win32/miktex/tm/packages/xcharter.tar.lzma
-2021/09/13 | 199008 | systems/win32/miktex/tm/packages/pstricks__source.tar.lzma
-2021/09/13 | 190849 | macros/latex/contrib/ffcode.zip
-2021/09/13 | 1900655 | systems/win32/miktex/tm/packages/media9.tar.lzma
-2021/09/13 | 186641 | macros/latex/contrib/ffcode/ffcode.pdf
-2021/09/13 | 17628 | macros/latex/contrib/huawei/huawei.cls
-2021/09/13 | 1730145 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb
-2021/09/13 | 17232 | systems/texlive/tlnet/archive/easybook.source.r60484.tar.xz
-2021/09/13 | 17196 | systems/texlive/tlnet/archive/easybook.r60484.tar.xz
-2021/09/13 | 1711 | systems/mac/mactex/Licenses.txt
-2021/09/13 | 1636334 | systems/win32/miktex/tm/packages/csvsimple__doc.tar.lzma
-2021/09/13 | 16141 | systems/win32/miktex/tm/packages/easybook.tar.lzma
-2021/09/13 | 161069 | graphics/pstricks/contrib/pst-tools.zip
-2021/09/13 | 1580 | systems/texlive/tlnet/archive/collection-publishers.r60486.tar.xz
-2021/09/13 | 1552056 | systems/win32/miktex/tm/packages/circuitikz__doc.tar.lzma
-2021/09/13 | 151064 | graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdf
-2021/09/13 | 1497 | macros/latex/contrib/huawei/README.md
-2021/09/13 | 149225 | systems/win32/miktex/tm/packages/circuitikz.tar.lzma
-2021/09/13 | 1480 | systems/win32/miktex/tm/packages/uwa-colours.tar.lzma
-2021/09/13 | 14721 | systems/win32/miktex/tm/packages/newpx__source.tar.lzma
-2021/09/13 | 1461 | macros/latex/contrib/huawei/samples/huawei-main.bib
-2021/09/13 | 1450371 | systems/win32/miktex/tm/packages/libertinust1math__doc.tar.lzma
-2021/09/13 | 144 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.sha512
-2021/09/13 | 142076 | systems/texlive/tlnet/archive/pst-calendar.doc.r60480.tar.xz
-2021/09/13 | 1397 | graphics/pstricks/contrib/pst-tools/Changes
-2021/09/13 | 1385596 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__doc.tar.lzma
-2021/09/13 | 13087 | graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.tex
-2021/09/13 | 128415 | systems/win32/miktex/tm/packages/uwa-colours__doc.tar.lzma
-2021/09/13 | 1274 | macros/latex/contrib/ffcode/README.md
-2021/09/13 | 12364 | systems/win32/miktex/tm/packages/bithesis__source.tar.lzma
-2021/09/13 | 12167 | systems/win32/miktex/tm/packages/xetexko__source.tar.lzma
-2021/09/13 | 1207 | macros/latex/contrib/crumbs/README.md
-2021/09/13 | 11598 | systems/win32/miktex/tm/packages/mcexam.tar.lzma
-2021/09/13 | 11440 | systems/win32/miktex/tm/packages/csvsimple.tar.lzma
-2021/09/13 | 11396 | systems/texlive/tlnet/archive/mcexam.r60481.tar.xz
-2021/09/13 | 112776 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb.xz
-2021/09/13 | 1020392 | systems/win32/miktex/tm/packages/libertinust1math.tar.lzma
diff --git a/graphics/mcf2graph/CHANGELOG b/graphics/mcf2graph/CHANGELOG
index bb647d9145..4ed3c84848 100644
--- a/graphics/mcf2graph/CHANGELOG
+++ b/graphics/mcf2graph/CHANGELOG
@@ -1,6 +1,18 @@
*******************************************************************************
- Changelog of mcf2graph software package by Akira Yamaji 2021-09-05
+ Changelog of mcf2graph software package by Akira Yamaji 2021-09-20
*******************************************************************************
+[ver. 4.72 / 2021-09-20]
+ -change syntax of beginfont()
+ keep file open 'f+' => 'v+'
+ enable to use default input file name
+ -change syntax of query()
+ input file name 'i:' => 'f:'
+ -fix bug in beginfont(),endfont
+ -fix bug in query()
+ -fix bug in expand mode
+ -update mcf_data_base.mcf
+ -update MCF manual,example
+
[ver. 4.71 / 2021-09-05]
-add function query() for data base file
-update mcf_data_base.mcf
diff --git a/graphics/mcf2graph/README b/graphics/mcf2graph/README
index 1fe6d2a632..aa2aee88f5 100644
--- a/graphics/mcf2graph/README
+++ b/graphics/mcf2graph/README
@@ -1,7 +1,7 @@
********************************************************************************
mcf2graph : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
Author : Akira Yamaji
- version : 4.71 2021-09-05
+ version : 4.72 2021-09-20
E-mail : mcf2graph@gmail.com
Located at : http://www.ctan.org/pkg/mcf2graph
********************************************************************************
@@ -26,7 +26,7 @@
make file 'mcf_man_soc-***.mps' before typeset
>mpost mcf_man_soc.mf
( 7) mcf_man_soc.mf Molecular definition file for mcf_manual.tex
- ( 8) mcf_manual.pdf PDF of (4) (used pdftex(LaTeX),makeindex)
+ ( 8) mcf_manual.pdf PDF of (6) (used pdftex(LaTeX),makeindex)
( 9) mcf_example.tex LaTeX example
make file 'mcf_exa_soc-info.aux' before typeset
>mpost -s ahlength=1 mcf_exa_soc.mf
@@ -36,9 +36,9 @@
make file 'mcf_exa_soc-mf.aux' before typeset
>mpost -s ahlength=7 mcf_exa_soc.mf
(10) mcf_exa_soc.mf Metafont/Metapost souce file for mcf_example.tex
- (11) mcf_example.pdf PDF of (8) typeset with pdftex(LaTeX)
+ (11) mcf_example.pdf PDF of (9) typeset with pdftex(LaTeX)
(12) mcf_mplib_exa.tex luamplib(LuaLaTeX) example
- (13) mcf_mplib_exa.pdf PDF of (11) typeset with LuaTeX(LaTeX)
+ (13) mcf_mplib_exa.pdf PDF of (12) typeset with LuaTeX(LaTeX)
3. How to use mcf2graph with Metapost
Minimum requirement to use mcf2graph : mpost.exe,mpost.dll,mpost.mp,plain.mp
@@ -48,17 +48,18 @@
( 4) >mpost -s ahangle=11 FILENAME => output png file (1200dpi)
( 5) >mpost -s ahangle=2 FILENAME => output svg file
( 6) >mpost -s ahangle=3 FILENAME => output eps(.eps) file
- ( 7) >mpost -s ahlength=1 FILENAME => output info-aux file
+ ( 7) >mpost -s ahlength=1 FILENAME => output information-aux file
tag1:var1;tag2:var2;
- ( 8) >mpost -s ahlength=2 FILENAME => output aux file
+ ( 8) >mpost -s ahlength=2 FILENAME => output information-aux file
tag1;tag2;
var1;var2;
( 9) >mpost -s ahlength=3 FILENAME => output report file
(10) >mpost -s ahlength=5 FILENAME => output mol file(V2000)
(11) >mpost -s ahlength=6 FILENAME => output mol file(V3000)
- (12) >mpost -s ahlength=7 FILENAME => output mf-aux file
- (13) >mpost -s labeloffset=1 FILENAME => use plain.mp 'label','drawarrow'
- (14) >mpost -s labeloffset=2 FILENAME => atomfont="uhvr8r"
+ (12) >mpost -s ahlength=7 FILENAME => output metafont-aux file
+ (13) >mpost -s ahlength=8 FILENAME => output data-base-aux file
+ (14) >mpost -s labeloffset=1 FILENAME => use plain.mp 'label','drawarrow'
+ (15) >mpost -s labeloffset=2 FILENAME => atomfont="uhvr8r"
4. License
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/graphics/mcf2graph/mcf2graph.mf b/graphics/mcf2graph/mcf2graph.mf
index ff1cb14b3d..2dfefbba64 100644
--- a/graphics/mcf2graph/mcf2graph.mf
+++ b/graphics/mcf2graph/mcf2graph.mf
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.71 Copyright (c) 2013-2021 Akira Yamaji
+% mcf2graph ver 4.72 Copyright (c) 2013-2021 Akira Yamaji
%
% Permission is hereby granted, free of charge, to any person obtaining a copy of this software
% and associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -22,42 +22,44 @@
% This package is located at : http://www.ctan.org/pkg/mcf2graph
% Suggestion or request mail to : mcf2graph@gmail.com
%--------------------------------------------------------------------------------------------------
-% Set outputformat to "eps"(.mps) : mpost FILENAME
-% Set output first font only : mpost -s bboxmargin=1 FILENAME
-% Set outputformat to "png" : mpost -s ahangle=1 FILENAME
-% Set outputformat to "svg" : mpost -s ahangle=2 FILENAME
-% Set outputformat to "eps" (.eps) : mpost -s ahangle=3 FILENAME
-% Set output aux file (tag1:var1;tag2:var2) : mpost -s ahlength=1 FILENAME
-% Set output aux file (tag1;tag2 var1;var2) : mpost -s ahlength=2 FILENAME
-% Set output report : mpost -s ahlength=3 FILENAME
-% Set output MOL(V2000) : mpost -s ahlength=5 FILENAME
-% Set output MOL(V3000) : mpost -s ahlength=6 FILENAME
-% Set output aux file for metafont : mpost -s ahlength=7 FILENAME
-% Set to use plain.mp (label,arrow) : mpost -s labeloffset=1 FILENAME
-% Set to use plain.mp (label,arrow,atom) : mpost -s labeloffset=2 FILENAME
+% Set outputformat to "eps"(.mps) : mpost FILENAME
+% Set output first font only : mpost -s bboxmargin=1 FILENAME
+% Set outputformat to "png" : mpost -s ahangle=1 FILENAME
+% Set outputformat to "svg" : mpost -s ahangle=2 FILENAME
+% Set outputformat to "eps" (.eps) : mpost -s ahangle=3 FILENAME
+% Set output information aux file (tag1:var1;tag2:var2) : mpost -s ahlength=1 FILENAME
+% Set output information aux file (tag1;tag2 var1;var2) : mpost -s ahlength=2 FILENAME
+% Set output report : mpost -s ahlength=3 FILENAME
+% Set output MOL file (V2000) : mpost -s ahlength=5 FILENAME
+% Set output MOL file (V3000) : mpost -s ahlength=6 FILENAME
+% Set output aux metafont file : mpost -s ahlength=7 FILENAME
+% Set output aux data-base file : mpost -s ahlength=8 FILENAME
+% Set to use plain.mp (label,arrow) : mpost -s labeloffset=1 FILENAME
+% Set to use plain.mp (label,arrow,atom) : mpost -s labeloffset=2 FILENAME
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
tracingstats:=1;
-message "* This is mcf2graph ver 4.71 2021.09.05";
+message "* This is mcf2graph ver 4.72 2021.09.20";
%-------------------------------------------------------------------------------------------------
newinternal cntA,cntB,cntM,minX,minY,maxX,maxY,sftX,sftY,com,par,envT,envB,lenT,lineT,angT,rotT,
crR,nA,nB,nC,nD,nE,nF,nS,nL,nR,nU,nP,xpos,ypos,markA,markB,saveA,saveB,bondL;
numeric save_num[],comD[][],parD[][],adrD[][],cntD[],tbl_atom[],tbl_group[][],f_char[],
tbl_atom_wt[],tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],addA[],add_rot[],chargeA[],
com_group[][],par_group[][],cnt_group[],colorA[],colorB[],sumA[],bondC[],hideH[],lineB[],
- sB[],eB[],angB[],angA[],lenB[],angX[],numS[],wdM[],htM[],wdA[],dxA[],cmm_adr[],mc_indent[];
+ sB[],eB[],angB[],angA[],lenB[],angX[],numS[],wdM[],htM[],wdA[],dxA[],
+ cmm_adr[],mc_indent[],at_semicol[];
string save_str[],tbl_atom_str[],strD[],tag[],file_name_output,blank_str,aux_delimiter,atomfont,
- default_data_file,default_temp_file,mpfont,s_tag,s_var,cal_FM,cal_MW,cal_MI,
- inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW;
+ temps,default_data_file,default_temp_file,mpfont,tag_s,var_s,cal_FM,cal_MW,cal_MI,
+ inf_Cat,inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW;
pair save_pair[],posA[],posM[][],msize,mposition,fsize,fmargin,save_mposition,posBs,posBe,dum;
picture mol_stru[],atom_picture,save_picture,temp_picture;
path arrow_path,dottedline_path,line_path,arrow_head;
%-------------------------------------------------------------------------------------------------
char_num:=str_cnt:=tbl_cnt:=proc_end:=mangle:=sw_expand:=sw_frame:=sw_trimming:=sw_ext_all:=0;
-sw_abbreviate:=sw_arrow_emu:=sw_output:=sw_numbering:=0; numbering_start:=1; numbering_end:=4095;
+sw_abbreviate:=sw_arrow_emu:=sw_numbering:=sw_output:=0; numbering_start:=1; numbering_end:=4095;
%-------------------------------------------------------------------------------------------------
aux_max:=max_inf_num:=20; aux_delimiter:=";"; blank_str:= " "; dum:=(-4091,0);
for i=1 upto aux_max: tag[i]:=""; endfor
-Font:=1; Temp:=2; Info:=4; Table:=8; Report:=16; MOL2k:=32; MOL3k:=64; Mfont:=128; Mcode:=256;
+Font:=1; Mfont:=2; Mcode:=4; Temp:=8; Info:=16; Table:=32; Report:=64; MOL2k:=128; MOL3k:=256;
Atom:=8; Bond:=16; Brock:=32; Inverse:=64; Group:=32; Mol:=64;
Outside:=1; Inside:=2; Bothside:=Outside+Inside;
%-------------------------------------------------------------------------------------------------
@@ -110,11 +112,11 @@ if (known green)and(known ahlength):
if ahlength=1: sw_output:=Info; % output aux file
elseif ahlength=2: sw_output:=Info+Table; % output aux file(Table mode)
elseif ahlength=3: sw_output:=Report; % output report
- elseif ahlength=4: sw_output:=0; % *default
+ elseif ahlength=4: sw_output:=Font; % *default
elseif ahlength=5: sw_output:=MOL2k; % output MOL(V2000)
elseif ahlength=6: sw_output:=MOL3k; % output MOL(V3000)
elseif ahlength=7: sw_output:=Mfont; % output aux mf
- elseif ahlength=8: sw_output:=Mcode; % output aux mc
+ elseif ahlength=8: sw_output:=Mcode+Info; % output aux data-base
fi
%-- default bboxmargin=2------------------------------------------------------------------
if bboxmargin=1: proc_end:=1; fi % output first font only
@@ -135,6 +137,31 @@ if (known green)and(known ahlength):
if atomfont="": atomfont:="draw"; fi % default atom font
if defaultfont="": defaultfont:="draw"; fi % default label font
%-----------------------------------------------------------------------------------------
+ if sw_output>=Info:
+ if bboxmargin=1: message "* output first font only"; fi
+ message "* jobname="&jobname;
+ message "* numbersystem="&numbersystem;
+ if (ahlength=1)or(ahlength=2):
+ message "* output information file";
+ message "* file name="&jobname&"-info.aux";
+ message "* info delimiter="&aux_delimiter;
+ ef ahlength=3: message "* output report file";
+ message "* file name="&jobname&"-report.txt";
+ ef ahlength=5: message "* output MOL file(V2000)";
+ message "* "&jobname&"-nnn-"&"inf_EN"&".mol";
+ ef ahlength=6: message "* output MOL file(V3000)";
+ message "* "&jobname&"-nnn-"&"inf_EN"&".mol";
+ ef ahlength=7: message "* output metafont file";
+ message "* mf file name="&jobname&"-mf.aux";
+ ef ahlength=8: message "* output data-base file";
+ message "* data-base file name="&jobname&"-data.aux";
+ fi
+ message "* outputformat="&outputformat;
+ if outputformat="png": message "* hppp="&decimal(hppp)&"/vppp="&decimal(vppp); fi
+ message "* outputtemplate="&outputtemplate;
+ message "* atomfont="&atomfont;
+ message "* defaultfont="&defaultfont;
+ fi
else:
f_MP:=0;
def image = image_emu enddef;
@@ -149,34 +176,11 @@ else:
def color = transform enddef;
atomfont:="draw";
defaultfont:="draw";
+ sw_output:=Font;
mode_setup;
fi
clearit;
%--------------------------------------------------------------------------------------------------
-if f_MP=1:
- if bboxmargin=1: message "* output first font only"; fi
- message "* jobname="&jobname;
- message "* numbersystem="&numbersystem;
- if (ahlength=1)or(ahlength=2):
- message "* output info file";
- message "* file name="&jobname&"-info.aux";
- message "* info delimiter="&aux_delimiter;
- ef ahlength=3: message "* output report file";
- message "* file name="&jobname&"-report.txt";
- ef ahlength=5: message "* output MOL file(V2000)";
- message "* "&jobname&"-nnn-"&"inf_EN"&".mol";
- ef ahlength=6: message "* output MOL file(V3000)";
- message "* "&jobname&"-nnn-"&"inf_EN"&".mol";
- ef ahlength=7: message "* output mf file";
- message "* mf file name="&jobname&"-mf.aux";
- fi
- message "* outputformat="&outputformat;
- if outputformat="png": message "* hppp="&decimal(hppp)&"/vppp="&decimal(vppp); fi
- message "* outputtemplate="&outputtemplate;
- message "* atomfont="&atomfont;
- message "* defaultfont="&defaultfont;
-fi
-%--------------------------------------------------------------------------------------------------
?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1;
ratio_chain_ring:=0.66; ratio_atom_bond:=0.36; ratio_thickness_bond:=0.015;
ratio_thickness_char:=0.1; ratio_char_bond:=1.5; ratio_bondgap_bond:=0.15;
@@ -254,43 +258,47 @@ enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def beginfont(text s)=
begingroup
- save ',f_beginchar,f_ext,blen,ext,add,ang_br,n_fw,n_bw,at_colon,at_semicol,temps,t_tag,
+ save ',f_beginchar,f_ext,blen,ext,add,ang_br,fw_n,bw_n,at_colon,temp_tag,
mc,info,file_name_input,bond_cnt,warning_cnt,hideH_cnt,bondC,filter_s;
- numeric at_semicol[];
- string info[],mc[],mc,temps,file_name_input,t_tag,filter_s;
+ string info[],mc[],mc,file_name_input,temp_tag,filter_s;
%------------------------------------------------------------------------------------------------
def ext=ext_to_font enddef;
def add=add_to_molecule enddef;
def '=read_ud enddef;
%------------------------------------------------------------------------------------------------
- inf_NO:=inf_EN:=inf_JN:=inf_MW:=inf_FM:=inf_CAS:=inf_USE:=inf_EXA:=inf_EXB:="-";
- mc:=t_tag:=file_name_input:=cal_MW:=cal_MI:=cal_FM:=filter_s:="";
+ inf_NO:=inf_EN:=inf_JN:=inf_MW:=inf_FM:=inf_CAS:=inf_Cat:=inf_EXA:=inf_EXB:="-";
+ mc:=temp_tag:=cal_MW:=cal_MI:=cal_FM:=filter_s:="";
+ file_name_input:=default_data_file;
%------------------------------------------------------------------------------------------------
parts_cnt:=parts_usr_start;
parts_int:=parts_int_start;
%------------------------------------------------------------------------------------------------
char_num:=char_num+1;
store_par(parameter_list);
- f_ext:=cntM:=mc_row:=inf_num:=f_EOF:=f_close:=0;
- for list=s: inf_num:=inf_num+1; info[inf_num]:=list; mc[inf_num]:=""; endfor
+ f_ext:=cntM:=mc_row:=inf_num:=f_EOF:=0;
%------------------------------------------------------------------------------------------------
- for j=1 upto inf_num:
- at_colon:=scan_char(":",info[j],0,1);
+ for list=s:
+ at_colon:=scan_char(":",list,0,1);
if at_colon=1:
- n_fw:=scan_char(" ",info[j],1,2);
- n_bw:=scan_char(" ",info[j],-1,2);
+ fw_n:=scan_char(" ",list,1,2);
+ bw_n:=scan_char(" ",list,-1,2);
mc_row:=mc_row+1;
- mc_indent[mc_row]:=n_fw-2;
- mc[mc_row]:=substring (n_fw-1,n_bw) of info[j];
+ mc_indent[mc_row]:=fw_n-2;
+ mc[mc_row]:=substring (fw_n-1,bw_n) of list;
mc:=mc&mc[mc_row];
ef at_colon>=1:
- s_tag:=substring (0,at_colon-1) of info[j];
- s_var:=substring (at_colon,length(info[j])) of info[j];
- if s_tag="f": if f_MP=1: file_name_input:=s_var&".mcf"; f_close:=1; fi
- ef s_tag="f+": if f_MP=1: file_name_input:=s_var&".mcf"; fi
- ef s_tag="t": if f_MP=1: t_tag:=s_var; fi
- ef s_tag="v": if f_MP=1: pickup_data_unit(t_tag,s_var); fi
- else: if known scantokens("inf_"&s_tag): scantokens("inf_"&s_tag):=s_var; fi
+ tag_s:=substring (0,at_colon-1) of list;
+ var_s:=substring (at_colon,length(list)) of list;
+ if tag_s="f":
+ if f_MP=1:
+ if scan_char(".",var_s,0,1)=0: file_name_input:=var_s&".mcf";
+ else: file_name_input:=var_s;
+ fi
+ fi
+ ef tag_s="t": if f_MP=1: temp_tag:=var_s; fi
+ ef tag_s="v": if f_MP=1: pickup_data_unit(temp_tag,var_s,1); fi
+ ef tag_s="v+": if f_MP=1: pickup_data_unit(temp_tag,var_s,0); fi
+ else: if known scantokens("inf_"&tag_s): scantokens("inf_"&tag_s):=var_s; fi
fi
fi
endfor
@@ -299,88 +307,89 @@ def beginfont(text s)=
enddef;
%==================================================================================================
def endfont=
- %--------------------------------------------------------------------------------------------
if f_EOF=0:
- %--------------------------------------------------------------------------------------------
- if (sw_output=0)or(scan_bit(sw_output,Font)):
- if cntM>=1:
- if sw_ext_all=1: ext_to_font(EXT_ALL); fi
- if sw_trimming>=1:
- nA:=nC:=4095; nB:=nD:=-4095;
- for i=1 upto cntM:
- if xpart(posM[1][i])<nA: nA:=xpart(posM[1][i]); fi
- if xpart(posM[2][i])>nB: nB:=xpart(posM[2][i]); fi
- if ypart(posM[1][i])<nC: nC:=ypart(posM[1][i]); fi
- if ypart(posM[2][i])>nD: nD:=ypart(posM[2][i]); fi
- endfor
- font_wd:=nB-nA+2margin_lr;
- font_ht:=nD-nC+2margin_tb;
- fsize:=(font_wd,font_ht);
+ %--------------------------------------------------------------------------------------------
+ if scan_bit(sw_output,Font):
+ if cntM>=1:
+ if sw_ext_all=1: ext_to_font(EXT_ALL); fi
+ if sw_trimming>=1:
+ nA:=nC:=4095; nB:=nD:=-4095;
+ for i=1 upto cntM:
+ if xpart(posM[1][i])<nA: nA:=xpart(posM[1][i]); fi
+ if xpart(posM[2][i])>nB: nB:=xpart(posM[2][i]); fi
+ if ypart(posM[1][i])<nC: nC:=ypart(posM[1][i]); fi
+ if ypart(posM[2][i])>nD: nD:=ypart(posM[2][i]); fi
+ endfor
+ font_wd:=nB-nA+2margin_lr;
+ font_ht:=nD-nC+2margin_tb;
+ fsize:=(font_wd,font_ht);
+ for i=1 upto cntM:
+ posM[0][i]:=posM[0][i]+(margin_lr-nA,margin_tb-nC);
+ posM[1][i]:=posM[1][i]+(margin_lr-nA,margin_tb-nC);
+ endfor
+ fi
+ %----------------------------------------------------------------------------------------
+ if f_MP=0: beginchar(char_num,font_wd/bp*bp#,font_ht/bp*bp#,0)
+ else: beginfig(char_num) w:=charwd:=font_wd; h:=charht:=font_ht; chardp:=0;
+ if scan_bit(sw_frame,Outside): else: draw_corner((0,0),w,h,0.05bp); fi
+ fi
+ if scan_bit(sw_frame,Outside): draw_frame((0,0),w,h,thickness_frame); fi
+ if scan_bit(sw_frame,Inside):
+ draw_frame((margin_lr,margin_tb),w-2margin_lr,h-2margin_tb,thickness_frame);
+ fi
for i=1 upto cntM:
- posM[0][i]:=posM[0][i]+(margin_lr-nA,margin_tb-nC);
- posM[1][i]:=posM[1][i]+(margin_lr-nA,margin_tb-nC);
+ addto currentpicture also mol_stru[i] shifted posM[0][i]; mol_stru[i]:=nullpicture;
+ if scan_bit(sw_frame,Mol): ext(draw_frame(p[i],w[i],h[i],thickness_frame)) fi
endfor
+ if f_ext=1: addto currentpicture also mol_stru[0]; mol_stru[0]:=nullpicture; fi
+ %----------------------------------------------------------------------------------------
+ else:
+ font_wd:=xpart(fsize); font_ht:=ypart(fsize);
+ if f_MP=0: beginchar(char_num,font_wd/bp*bp#,font_ht/bp*bp#,0)
+ else: beginfig(char_num) w:=charwd:=font_wd; h:=charht:=font_ht;
+ fi
+ draw (0,h)--(0,0)--(w,0)--(w,h)--(0,h)--(w,0) wpcs thickness_frame;
fi
- %----------------------------------------------------------------------------------------
- if f_MP=0: beginchar(char_num,font_wd/bp*bp#,font_ht/bp*bp#,0)
- else: beginfig(char_num) w:=charwd:=font_wd; h:=charht:=font_ht; chardp:=0;
- if scan_bit(sw_frame,Outside): else: draw_corner((0,0),w,h,0.05bp); fi
- fi
- if scan_bit(sw_frame,Outside): draw_frame((0,0),w,h,thickness_frame); fi
- if scan_bit(sw_frame,Inside):
- draw_frame((margin_lr,margin_tb),w-2margin_lr,h-2margin_tb,thickness_frame);
- fi
- for i=1 upto cntM:
- addto currentpicture also mol_stru[i] shifted posM[0][i]; mol_stru[i]:=nullpicture;
- if scan_bit(sw_frame,Mol): ext(draw_frame(p[i],w[i],h[i],thickness_frame)) fi
- endfor
- if f_ext=1: addto currentpicture also mol_stru[0]; mol_stru[0]:=nullpicture; fi
%-----------------------------------------------------------------------------------------
- else:
- font_wd:=xpart(fsize); font_ht:=ypart(fsize);
- if f_MP=0: beginchar(char_num,font_wd/bp*bp#,font_ht/bp*bp#,0)
- else: beginfig(char_num) w:=charwd:=font_wd; h:=charht:=font_ht;
+ endchar;
+ clearit;
+ %-----------------------------------------------------------------------------------------
+ if sw_output=Font+Info+Temp: proc_info_out(1,1);
+ ef sw_output=Font+Mcode+Temp: proc_mc_out(1);
+ ef sw_output=Font+Info+Mcode+Temp: proc_info_out(1,1); proc_mc_out(1);
+ ef sw_output=Font+Report+Temp: proc_report_out(1);
fi
- draw (0,h)--(0,0)--(w,0)--(w,h)--(0,h)--(w,0) wpcs thickness_frame;
- fi
- %-----------------------------------------------------------------------------------------
- endchar;
- clearit;
- %-----------------------------------------------------------------------------------------
- if sw_output=Font+Info+Temp: proc_info_out(1,1);
- ef sw_output=Font+Mcode+Temp: proc_mc_out(1);
- ef sw_output=Font+Info+Mcode+Temp: proc_info_out(1,1); proc_mc_out(1);
- ef sw_output=Font+Report+Temp: proc_report_out(1);
+ %-----------------------------------------------------------------------------------------
+ ef sw_output=Info: proc_info_out(1,0);
+ ef sw_output=Info+Table: proc_info_out(2,0);
+ ef sw_output=Info+Temp: proc_info_out(1,1);
+ ef sw_output=Info+Mcode: proc_info_out(1,2);
+ ef sw_output=Mcode: proc_mc_out(0);
+ ef sw_output=Mcode+Temp: proc_mc_out(1);
+ ef sw_output=Mfont: proc_mf_out(1);
+ ef sw_output=Report: proc_report_out(0);
+ ef sw_output=Report+Temp: proc_report_out(1);
+ ef sw_output=MOL2k: proc_mol_out(1);
+ ef sw_output=MOL3k: proc_mol_out(2);
+ ef sw_output=Info+Mcode+Temp: proc_mc_out(1); proc_info_out(1,1);
fi
- %-----------------------------------------------------------------------------------------
- ef sw_output=Info: proc_info_out(1,0);
- ef sw_output=Info+Table: proc_info_out(2,0);
- ef sw_output=Info+Temp: proc_info_out(1,1);
- ef sw_output=Mcode: proc_mc_out(0);
- ef sw_output=Mcode+Temp: proc_mc_out(1);
- ef sw_output=Mfont: proc_mf_out(0);
- ef sw_output=Report: proc_report_out(0);
- ef sw_output=Report+Temp: proc_report_out(1);
- ef sw_output=MOL2k: proc_mol_out(1);
- ef sw_output=MOL3k: proc_mol_out(2);
- ef sw_output=Info+Mcode+Temp: proc_mc_out(1); proc_info_out(1,1);
- fi
- %-----------------------------------------------------------------------------------------------
- %% message "* parts_cnt (0)="& decimal(parts_cnt) &" "& decimal(parts_usr-parts_usr_start);
- %% message "* parts_int (0)="& decimal(parts_int) &" "& decimal(parts_int-parts_int_start);
- %-----------------------------------------------------------------------------------------------
+ %---------------------------------------------------------------------------------------------
+ %% message "* parts_cnt (0)="& decimal(parts_cnt) &" "& decimal(parts_usr-parts_usr_start);
+ %% message "* parts_int (0)="& decimal(parts_int) &" "& decimal(parts_int-parts_int_start);
+ %---------------------------------------------------------------------------------------------
fi
- %-----------------------------------------------------------------------------------------------
+ %---------------------------------------------------------------------------------------------
restore_par(parameter_list);
if proc_end=1: scantokens("bye"); fi
endgroup;
enddef;
%-------------------------------------------------------------------------------------------------
-def pickup_data_unit(expr t,v)=
+def pickup_data_unit(expr t,v,f)=
begingroup
- save unit_cnt,f_end,semicol_cnt,cond,n_var;
- f_end:=unit_cnt:=semicol_cnt:=cond:=at_semicol[0]:=inf_num:=0;
- if t="n": n_var:=scantokens(v); fi
+ save unit_cnt,f_end,semicol_cnt,f_match,var_n,info_s,tag_a,var_a;
+ string tag_a[],var_a[],info_s;
+ f_end:=unit_cnt:=semicol_cnt:=f_match:=inf_num:=0;
+ if t="n": var_n:=scantokens(v); fi
forever:
temps:=readfrom file_name_input;
if temps=EOF: f_EOF:=1; fi
@@ -388,11 +397,10 @@ def pickup_data_unit(expr t,v)=
if subc(1,temps)="%":
ef (subc(1,temps)="+")and(subc(2,temps)<>"-"):
unit_cnt:=unit_cnt+1;
- if v="*": cond:=1;
- ef t="n": if unit_cnt=n_var: cond:=1; fi
- else: if v=scantokens("inf_"&t): cond:=1; fi
+ if v="*": f_match:=1;
+ ef t="n": if unit_cnt=var_n: f_match:=1; fi
fi
- if cond=1:
+ if f_match=1:
forever:
temps:=readfrom file_name_input;
if temps=EOF: f_EOF:=1; fi
@@ -400,12 +408,15 @@ def pickup_data_unit(expr t,v)=
exitif subc(1,temps)="+";
if subc(1,temps)<>"%":
mc_row:=mc_row+1;
- n_fw:=scan_char(" ",temps,1,1);
- mc_indent[mc_row]:=n_fw-1;
- mc[mc_row]:=substring (n_fw-1,length(temps)) of temps;
+ fw_n:=scan_char(" ",temps,1,1);
+ mc_indent[mc_row]:=fw_n-1;
+ mc[mc_row]:=substring (fw_n-1,length(temps)) of temps;
mc:=mc&mc[mc_row];
fi
endfor
+ for i=1 upto inf_num:
+ if known scantokens("inf_"&tag_a[i]): scantokens("inf_"&tag_a[i]):=var_a[i]; fi
+ endfor
f_end:=1;
else:
forever:
@@ -416,21 +427,21 @@ def pickup_data_unit(expr t,v)=
endfor
fi
else:
- semicol_cnt:=count_char(";",temps);
+ semicol_cnt:=count_semicol(temps);
inf_num:=semicol_cnt+1;
for i=1 upto inf_num:
- if i<=semicol_cnt: info[i]:=substring (at_semicol[i-1],at_semicol[i]-1) of temps;
- else: info[i]:=substring (at_semicol[semicol_cnt],length(temps)) of temps;
+ if i<=semicol_cnt: info_s:=substring (at_semicol[i-1],at_semicol[i]-1) of temps;
+ else: info_s:=substring (at_semicol[semicol_cnt],length(temps)) of temps;
fi
- at_colon:=scan_char(":",info[i],0,1);
- s_tag:=substring (0,at_colon-1) of info[i];
- s_var:=substring (at_colon,length(info[i])) of info[i];
- if known scantokens("inf_"&s_tag): scantokens("inf_"&s_tag):=s_var; fi
+ at_colon:=scan_char(":",info_s,0,1);
+ tag_a[i]:=substring (0,at_colon-1) of info_s;
+ var_a[i]:=substring (at_colon,length(info_s)) of info_s;
+ if t=tag_a[i]: if v=var_a[i]: f_match:=1; fi fi
endfor
fi
exitif f_end=1;
endfor
- if f_close=1: closefrom file_name_input; fi
+ if f=1: closefrom file_name_input; fi
endgroup;
enddef;
%--------------------------------------------------------------------------------------------------
@@ -445,13 +456,6 @@ vardef scan_char(expr c,s,d,n)=
fi
n_s
enddef;
-%--------------------------------------------------------------------------------------------------
-vardef count_char(expr c,s)=
- save nS;
- nS:=0;
- for i=1 upto length(s): if subc(i,s)=c: nS:=nS+1; at_semicol[nS]:=i; fi endfor
- nS
-enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def set_def_MC=
save /,//,/*,*/,**,*/*,~,^,',`,<,>,:,=,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,inside_def_MC;
@@ -890,7 +894,7 @@ def MC(text TXT)=
pair temp_p;
%-----------------------------------------------------------------------------------------------
if sw_numbering>=1: ratio_atom_bond:=0.25; fi
- if (sw_expand=1)or(sw_output=MOL2k)or(sw_output=MOL3k):
+ if (sw_expand=1)or(scan_bit(sw_output,MOL2k))or(scan_bit(sw_output,MOL3k)):
expand_set; crR:=1; else: crR:=-ratio_chain_ring;
fi
cntA:=cntB:=cntC:=cnt_group:=0; strD[0]:="C"; str_cnt:=2000;
@@ -927,77 +931,86 @@ def MC(text TXT)=
endfor
if blen>max_blength: blen:=max_blength; proc_size_setup; proc_skeleton(0); proc_scaling; fi
fi
- %-draw atom-------------------------------------------------------------------------------------
- if sw_numbering=0: for i=1 upto cntA: draw_atom(i); endfor fi
- %-draw add to atom------------------------------------------------------------------------------
+ %-----------------------------------------------------------------------------------------------
for i=1 upto cntA:
if addA[i]<>0:
- temp_c:=char(addA[i]); nA:=angX[i]+add_rot[i]; nC:=nA mod 90;
+ temp_c:=char(addA[i]);
if temp_c="+": chargeA[i]:=1; elseif temp_c="-": chargeA[i]:=-1; else: chargeA[i]:=0; fi
- if numS[i]=0: nB:=.5atom_wd;
- else: nB:=.85wdA[i]+iif(nC<45,sind(nC),cosd(nC))*.5wdA[i];
- fi
- temp_p:=sfrt(posA[i]-(.35atom_wd,.35atom_wd),nB,nA);
- draw_char(temp_c,temp_p,atom_wd,bond_pen_wd*ratio_char_bond,0);
else: chargeA[i]:=0;
fi
endfor
- %-draw bond-------------------------------------------------------------------------------------
- for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i); fi endfor
- for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i); fi endfor
- %-atom numbering--------------------------------------------------------------------------------
- if scan_bit(sw_numbering,Atom):
+ %===============================================================================================
+ if scan_bit(sw_output,Font):
+ %-draw atom-----------------------------------------------------------------------------------
+ if sw_numbering=0: for i=1 upto cntA: draw_atom(i); endfor fi
+ %-draw add to atom----------------------------------------------------------------------------
for i=1 upto cntA:
- if (i>=numbering_start)and(i<=numbering_end):
- if scan_bit(sw_numbering,Brock): nA:=i-numbering_start+1;
- elseif scan_bit(sw_numbering,Inverse):
- nA:=iif(numbering_end<cntA,numbering_end-i+1,cntA-i+1);
- else: nA:=i;
+ if addA[i]<>0:
+ nA:=angX[i]+add_rot[i]; nC:=nA mod 90;
+ if numS[i]=0: nB:=.5atom_wd;
+ else: nB:=.85wdA[i]+iif(nC<45,sind(nC),cosd(nC))*.5wdA[i];
fi
- erase fill unitsquare xscaled (.8atom_wd*length(decimal(nA)))
- yscaled atom_wd shifted (posA[i]-(.5atom_wd,.5atom_wd));
- defaultsize:=atom_wd; defaultscale:=1;
- puts(posA[i]-(.5atom_wd,.5atom_wd))(decimal(nA));
+ temp_p:=sfrt(posA[i]-(.35atom_wd,.35atom_wd),nB,nA);
+ draw_char(temp_c,temp_p,atom_wd,bond_pen_wd*ratio_char_bond,0);
fi
endfor
- fi
- %-bond numbering--------------------------------------------------------------------------------
- if scan_bit(sw_numbering,Bond):
- for i=1 upto cntB:
- if (i>=numbering_start)and(i<=numbering_end):
- if scan_bit(sw_numbering,Brock): nB:=i-numbering_start+1;
- elseif scan_bit(sw_numbering,Inverse):
- nB:=iif(numbering_end<cntB,numbering_end-i+1,cntB-i+1);
- else: nB:=i;
+ %-draw bond-----------------------------------------------------------------------------------
+ for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i); fi endfor
+ for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i); fi endfor
+ %-atom numbering------------------------------------------------------------------------------
+ if scan_bit(sw_numbering,Atom):
+ for i=1 upto cntA:
+ if (i>=numbering_start)and(i<=numbering_end):
+ if scan_bit(sw_numbering,Brock): nA:=i-numbering_start+1;
+ elseif scan_bit(sw_numbering,Inverse):
+ nA:=iif(numbering_end<cntA,numbering_end-i+1,cntA-i+1);
+ else: nA:=i;
+ fi
+ erase fill unitsquare xscaled (.8atom_wd*length(decimal(nA)))
+ yscaled atom_wd shifted (posA[i]-(.5atom_wd,.5atom_wd));
+ defaultsize:=atom_wd; defaultscale:=1;
+ puts(posA[i]-(.5atom_wd,.5atom_wd))(decimal(nA));
fi
- erase fill unitsquare yscaled atom_wd xscaled (.8atom_wd*length(decimal(nB)))
- shifted (.5[posA[sB[i]],posA[eB[i]]]-(.5atom_wd,.5atom_wd));
- defaultsize:=atom_wd; defaultscale:=1;
- puts(0.5[posA[sB[i]],posA[eB[i]]]-(.5atom_wd,.5atom_wd))(decimal(nB));
- fi
- endfor
- fi
- %-----------------------------------------------------------------------------------------------
- if xpart(mposition)>1: sftX:=xpart(mposition)-minX;
- else: sftX:=margin_lr-minX+(font_wd-mol_wd-2margin_lr)*xpart(mposition);
- fi
- if ypart(mposition)>1: sftY:=ypart(mposition)-minY;
- else: sftY:=margin_tb-minY+(font_ht-mol_ht-2margin_tb)*ypart(mposition);
- fi
- cntM:=cntM+1;
- posM[0][cntM]:=(sftX,sftY);
- posM[1][cntM]:=(minX+sftX,minY+sftY);
- posM[2][cntM]:=(maxX+sftX,maxY+sftY);
- wdM[cntM]:=mol_wd;
- htM[cntM]:=mol_ht;
- mol_stru[cntM]:=currentpicture;
- clearit;
- endgroup;
- if sw_output>=1: proc_calc(0); fi
- if cntC>=1:
+ endfor
+ fi
+ %-bond numbering------------------------------------------------------------------------------
+ if scan_bit(sw_numbering,Bond):
+ for i=1 upto cntB:
+ if (i>=numbering_start)and(i<=numbering_end):
+ if scan_bit(sw_numbering,Brock): nB:=i-numbering_start+1;
+ elseif scan_bit(sw_numbering,Inverse):
+ nB:=iif(numbering_end<cntB,numbering_end-i+1,cntB-i+1);
+ else: nB:=i;
+ fi
+ erase fill unitsquare yscaled atom_wd xscaled (.8atom_wd*length(decimal(nB)))
+ shifted (.5[posA[sB[i]],posA[eB[i]]]-(.5atom_wd,.5atom_wd));
+ defaultsize:=atom_wd; defaultscale:=1;
+ puts(0.5[posA[sB[i]],posA[eB[i]]]-(.5atom_wd,.5atom_wd))(decimal(nB));
+ fi
+ endfor
+ fi
+ %---------------------------------------------------------------------------------------------
+ if xpart(mposition)>1: sftX:=xpart(mposition)-minX;
+ else: sftX:=margin_lr-minX+(font_wd-mol_wd-2margin_lr)*xpart(mposition);
+ fi
+ if ypart(mposition)>1: sftY:=ypart(mposition)-minY;
+ else: sftY:=margin_tb-minY+(font_ht-mol_ht-2margin_tb)*ypart(mposition);
+ fi
+ cntM:=cntM+1;
+ posM[0][cntM]:=(sftX,sftY);
+ posM[1][cntM]:=(minX+sftX,minY+sftY);
+ posM[2][cntM]:=(maxX+sftX,maxY+sftY);
+ wdM[cntM]:=mol_wd;
+ htM[cntM]:=mol_ht;
+ mol_stru[cntM]:=currentpicture;
+ clearit;
+ if cntC>=1:
for i=1 upto cntA: if colorA[i]<>0: colorA[i]:=0; fi endfor
for i=1 upto cntB: if colorB[i]<>0: colorB[i]:=0; fi endfor
+ fi
fi
+ if sw_output>=Info: proc_check_structure(0); fi
+ endgroup;
enddef;
%-------------------------------------------------------------------------------------------------
def add_group=
@@ -1591,7 +1604,7 @@ vardef erase_space(expr TXT)=
temp_s
enddef;
%=================================================================================================
-def proc_calc(expr n)=
+def proc_check_structure(expr n)=
begingroup
save knownA,tmp_wtp;
num_MW:=num_MI:=cen_MW:=cen_MI:=tbl_atom_max:=warning_cnt:=hideH_cnt:=0;
@@ -1669,6 +1682,7 @@ enddef;
def proc_info_out(expr n,f)=
message "["&decimal(char_num)&"]:"&inf_EN;
if f=1: file_name_output:="temp-info.aux";
+ ef f=2: file_name_output:=jobname&"-data.aux";
else: file_name_output:=jobname&"-info.aux";
fi
%--------------------------------------------------------------------------------------
@@ -1705,7 +1719,11 @@ def proc_info_out(expr n,f)=
ef tag[i]="MC": & inf_MC
fi
endfor ;
- if f=1: printf EOF; fi
+ if f=1: printf EOF;
+ ef f=2: printf "+";
+ for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blank_str)&mc[i]; endfor
+ printf "+-----------------------------------------------------------------------------";
+ fi
enddef;
%=================================================================================================
def proc_report_out(expr f)=
@@ -1823,12 +1841,10 @@ enddef;
def proc_mf_out(expr f)=
message "["&decimal(char_num)&"]:"&inf_EN;
file_name_output:=jobname&"-mf.aux";
- printf "beginfont("
- for i=1 upto inf_num: &ditto&info[i]&ditto&"," endfor ;
- for i=1 upto mc_row:
- printf ditto&": " if i=mc_row: &mc[i]&ditto&")"; else: &mc[i]&ditto&","; fi
- endfor
- printf "if check(mc)=0: MC(scantokens(mc)) fi";
+ printf "beginfont()";
+ printf "MC(";
+ for i=1 upto mc_row: printf mc[i]; endfor
+ printf ")";
printf "endfont";
if f=1: printf "%-------------------------------------------------------------------------"; fi
enddef;
@@ -1952,9 +1968,11 @@ R6:='("R6"); R7:='("{R^7^}"); R8:='("{R^8^}"); R9:='("{R^9^}"); R10:='("R^10^");
hexose_hp:='(#1.4,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##);
Pyranose_hp:='(#1.4,-35~wf_r,35~bd_r`1,30~wb_r,130`1.66,O,&1,##);
%-------------------------------------------------------------------------------------------------
-xCH3:='(/H,/H^60,60,H); xNH:='(N,/H); xNH2:='(N,/H,60,H); xNO2:='(N,//O,60~dm,O); xNO:='(N,!~dm,O);
-xSO2H:='(S,//O,!,O,!,H); xSO3H:='(S,//O^35,//O^-35,!,O,!,H); xCOO:='(//O,!,O);
-xOH:='(O,!,H); xCHO:='(//O,!,H); xCOOH:='(//O,!,O,!,H); xCN:='(!~tm,N); xSH:='(S,!,H);
+xCH3:='(/H,/H^60,/H^-60); xNH:='(N,/H); xNH2:='(N,/H^60,/H^-60); xNO2:='(N,//O^60,//O^-60);
+xOH:='(O,/H); xNO:='(N,//O); xSO2H:='(S,//O^60,/OH^-60); xSO3H:='(S,/OH,//O^60,//O^-60);
+xCHO:='(//O^-60,/H^60); xCOOH:='(//O^-60,/xOH^60); xCN:='(/N~tm); xSH:='(S,/H);
+!xOH:='(!,xOH); !xCHO:='(!,xCHO); !xCOOH:='(!,xCOOH); !xCH3:='(!,xCH3); !xCN:='(!,xCN);
+!xNH2:='(!,xNH2); !xNO2:='(!,xNO2); !xSH:='(!,xSH);
%=================================================================================================
init_par(parameter_list);
%-------------------------------------------------------------------------------------------------
@@ -1963,9 +1981,8 @@ init_par(parameter_list);
%-------------------------------------------------------------------------------------------------
def expand_set=
CH3:=xCH3; NH:=xNH; NH2:=xNH2; NO:=xNO; NO2:=xNO2; OH:=xOH; CHO:=xCHO; COOH:=xCOOH; CN:=xCN;
- SH:=xSH; SO2H:=xSO2H; SO3H:=xSO3H; COO[-1]:=xCOO;
- !CH3:='(!,CH3); !OH:='(!,OH); !NH2:='(!,NH2); !CHO:='(!,CHO); !COOH:='(!,COOH); !CN:='(!,CN);
- !SH:='(!,SH); !NO2:='(!,NO2);
+ SH:=xSH; SO2H:=xSO2H; SO3H:=xSO3H; !SH:=!xSH;
+ !CH3:=!xCH3; !OH:=!xOH; !NH2:=!xNH2; !CHO:=!xCHO; !COOH:=!xCOOH; !CN:=!xCN; !NO2:=!xNO2;
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
vardef check(expr s)=
@@ -2080,25 +2097,24 @@ enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def query(text s)=
begingroup
- save temps,file_name,f_mcf,f_line,unit_row,unit_cnt,line_s,unit_row_cnt,mc_row,line_cnt,
- semicol_cnt,inf_num,info_s,filter_n,tag_s,var_s,order,min_s,min_n,par_cnt,key_cnt,var_n,
- sign_at,sign_n,filter_tag,filter_var,filter_sign,filter_cnt,temp_s,
- at_semicol,at_colon,at_equal,at_less,at_greater,at_n;
- string line_s[][],sort_s[],par_list[],sort_all[],key_s[],filter_s[],filter_tag[],filter_var[],
- temps,file_name_input,info_s,tag_s,var_s,temp_s,min_s;
- numeric unit_row_cnt[],at_semicol[],order[],order_tbl[],filter_sign[];
- unit_row:=f_mcf:=mc_row:=line_cnt:=inf_num:=par_cnt:=key_cnt:=filter_cnt:=at_semicol[0]:=0;
+ save file_name,f_mcf,f_line,unit_row,unit_cnt,line_s,unit_row_cnt,mc_row,line_cnt,
+ semicol_cnt,info_cnt,info_s,filter_n,order,min_s,min_n,par_cnt,key_cnt,var_n,info_s,
+ sign_at,sign_n,filter_tag,filter_var,filter_sign,filter_cnt,filter_p,temp_s,par_s,
+ at_colon,at_equal,at_less,at_greater,at_n,info_cnt;
+ string line_s[][],sort_s[],par_s[],sort_all[],key_s[],filter_s[],filter_tag[],filter_var[],
+ info_s[],file_name_input,temp_s,min_s;
+ numeric unit_row_cnt[],order[],order_tbl[],filter_sign[],filter_p[];
+ unit_row:=f_mcf:=mc_row:=line_cnt:=info_cnt:=par_cnt:=key_cnt:=filter_cnt:=0;
unit_cnt:=1;
- for list=s: par_cnt:=par_cnt+1; par_list[par_cnt]:=list; endfor
%------------------------------------------------------------------------------------------------
file_name_input:=default_data_file;
file_name_output:=default_temp_file;
%------------------------------------------------------------------------------------------------
- for j=1 upto par_cnt:
- at_colon:=scan_char(":",par_list[j],0,1);
- at_equal:=scan_char("=",par_list[j],0,1);
- at_less:=scan_char("<",par_list[j],0,1);
- at_greater:=scan_char(">",par_list[j],0,1);
+ for list=s:
+ at_colon:=scan_char(":",list,0,1);
+ at_equal:=scan_char("=",list,0,1);
+ at_less:=scan_char("<",list,0,1);
+ at_greater:=scan_char(">",list,0,1);
%---------------------------------------------------------------------------------------------
if at_colon>=2: sign_at:=at_colon; sign_n:=0; at_n:=1;
ef at_equal>=2: if (at_equal-1)=at_less: sign_at:=at_equal; sign_n:=5; at_n:=2;
@@ -2108,12 +2124,18 @@ def query(text s)=
else: sign_at:=at_greater; sign_n:=4; at_n:=1; fi
ef at_less>=2: sign_at:=at_less; sign_n:=3; at_n:=1;
fi
- tag_s:=substring (0,sign_at-at_n) of par_list[j];
- var_s:=substring (sign_at,length(par_list[j])) of par_list[j];
+ tag_s:=substring (0,sign_at-at_n) of list;
+ var_s:=substring (sign_at,length(list)) of list;
%---------------------------------------------------------------------------------------------
if sign_n=0:
- if tag_s="i": file_name_input:=var_s;
- ef tag_s="o": file_name_output:=var_s;
+ if tag_s="f":
+ if scan_char(".",var_s,0,1)=0: file_name_input:=var_s&".mcf";
+ else: file_name_input:=var_s;
+ fi
+ ef tag_s="o":
+ if scan_char(".",var_s,0,1)=0: file_name_output:=var_s&".aux";
+ else: file_name_output:=var_s;
+ fi
ef tag_s="s": key_cnt:=key_cnt+1; key_s[key_cnt]:=var_s;
fi
%---------------------------------------------------------------------------------------------
@@ -2121,12 +2143,12 @@ def query(text s)=
filter_cnt:=filter_cnt+1;
filter_tag[filter_cnt]:=tag_s;
filter_sign[filter_cnt]:=sign_n;
- if (sign_n>=3)and(is_num(var_s)=1): filter_var[filter_cnt]:=fix_n(var_s);
+ if (sign_n>=3)and(is_num(var_s)=1): filter_var[filter_cnt]:=fix_num(var_s);
else: filter_var[filter_cnt]:=var_s;
fi
fi
endfor
- %------------------------------------------------------------------------------------------------
+ %-----------------------------------------------------------------------------------------------
forever:
temps:=readfrom file_name_input; exitif temps=EOF;
if subc(1,temps)<>"%":
@@ -2136,51 +2158,61 @@ def query(text s)=
ef (subc(1,temps)="+")and(subc(2,temps)="-"):
unit_row_cnt[unit_cnt]:=unit_row;
f_mcf:=unit_row:=0;
- if filter_n=1: unit_cnt:=unit_cnt+1; fi
- ef (subc(1,temps)<>"+")and(subc(1,temps)<>"%"):
- if f_mcf=1: mc_row:=mc_row+1;
- else:
- semicol_cnt:=count_char(";",temps);
- inf_num:=semicol_cnt+1;
- filter_n:=1;
- %---------------------------------------------------------------------------------------
- for i=1 upto inf_num:
- if i<=semicol_cnt: info_s:=substring (at_semicol[i-1],at_semicol[i]-1) of temps;
- else: info_s:=substring (at_semicol[semicol_cnt],length(temps)) of temps;
+ filter_n:=1;
+ for i=1 upto filter_cnt: filter_p[i]:=0; endfor
+ for i=1 upto key_cnt: sort_s[i]:=""; endfor
+ %---------------------------------------------------------------------------------------
+ for i=1 upto info_cnt:
+ at_colon:=scan_char(":",info_s[i],0,1);
+ tag_s:=substring (0,at_colon-1) of info_s[i];
+ var_s:=substring (at_colon,length(info_s[i])) of info_s[i];
+ %-------------------------------------------------------------------------------------
+ for j=1 upto key_cnt:
+ if key_s[j]=tag_s:
+ if is_num(var_s)=1: sort_s[j]:=fix_num(var_s); else: sort_s[j]:=var_s; fi
fi
- at_colon:=scan_char(":",info_s,0,1);
- tag_s:=substring (0,at_colon-1) of info_s;
- var_s:=substring (at_colon,length(info_s)) of info_s;
- %-------------------------------------------------------------------------------------
- for j=1 upto key_cnt:
- if key_s[j]=tag_s:
- if is_num(var_s)=1: sort_s[j]:=fix_n(var_s); else: sort_s[j]:=var_s; fi
+ endfor
+ %-------------------------------------------------------------------------------------
+ for j=1 upto filter_cnt:
+ if filter_tag[j]=tag_s:
+ filter_p[j]:=1;
+ if (filter_sign[j]>=3)and(is_num(var_s)=1): temp_s:=fix_num(var_s);
+ else: temp_s:=var_s;
fi
- endfor
- %-------------------------------------------------------------------------------------
- for j=1 upto filter_cnt:
- if filter_tag[j]=tag_s:
- if (filter_sign[j]>=3)and(is_num(var_s)=1): temp_s:=fix_n(var_s);
- else: temp_s:=var_s;
- fi
- if filter_sign[j]=1: if not(temp_s= filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=2: if not(temp_s<>filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=3: if not(temp_s< filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=4: if not(temp_s> filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=5: if not(temp_s<=filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=6: if not(temp_s>=filter_var[j]): filter_n:=0; fi
- fi
+ if filter_sign[j]=1: if not(temp_s= filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=2: if not(temp_s<>filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=3: if not(temp_s< filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=4: if not(temp_s> filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=5: if not(temp_s<=filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=6: if not(temp_s>=filter_var[j]): filter_n:=0; fi
fi
- endfor
+ fi
endfor
- %-------------------------------------------------------------------------------------
- sort_all[unit_cnt]:="";
- for j=1 upto key_cnt:
- if j=key_cnt: sort_all[unit_cnt]:=sort_all[unit_cnt]&sort_s[j];
- else: sort_all[unit_cnt]:=fix_s(15,sort_s[1]);
+ endfor
+ for i=1 upto filter_cnt: if filter_p[i]=0: filter_n:=0; fi endfor
+ %-------------------------------------------------------------------------------------
+ sort_all[unit_cnt]:="";
+ for j=1 upto key_cnt:
+ if j=key_cnt: sort_all[unit_cnt]:=sort_all[unit_cnt]&sort_s[j];
+ else: sort_all[unit_cnt]:=fix_str(15,sort_s[1]);
+ fi
+ endfor
+ %-------------------------------------------------------------------------------------
+ info_cnt:=0;
+ if filter_n=1: unit_cnt:=unit_cnt+1; fi
+ %-------------------------------------------------------------------------------------
+ ef (subc(1,temps)<>"+")and(subc(1,temps)<>"%"):
+ if f_mcf=1: mc_row:=mc_row+1;
+ else:
+ semicol_cnt:=count_semicol(temps);
+ for i=1 upto semicol_cnt+1:
+ info_cnt:=info_cnt+1;
+ if i<=semicol_cnt:
+ info_s[info_cnt]:=substring (at_semicol[i-1],at_semicol[i]-1) of temps;
+ else:
+ info_s[info_cnt]:=substring (at_semicol[semicol_cnt],length(temps)) of temps;
fi
endfor
- %-------------------------------------------------------------------------------------
fi
fi
fi
@@ -2206,7 +2238,7 @@ def query(text s)=
endgroup;
enddef;
%=============================================================================================
-vardef fix_s(expr n,s)=
+vardef fix_str(expr n,s)=
save temp_s;
string temp_s;
if length(s)<n: temp_s:=s&substring(0,n-length(s)) of blank_str;
@@ -2215,7 +2247,7 @@ vardef fix_s(expr n,s)=
temp_s
enddef;
%---------------------------------------------------------------------------------------------
-vardef fix_n(expr s)=
+vardef fix_num(expr s)=
save temp_s,at_dot;
string temp_s;
temp_s:=s;
@@ -2235,4 +2267,11 @@ vardef is_num(expr s)=
endfor
numeric_n
enddef;
+%--------------------------------------------------------------------------------------------------
+vardef count_semicol(expr s)=
+ save nS;
+ nS:=at_semicol[0]:=0;
+ for i=1 upto length(s): if subc(i,s)=";": nS:=nS+1; at_semicol[nS]:=i; fi endfor
+ nS
+enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/graphics/mcf2graph/mcf_data_base.mcf b/graphics/mcf2graph/mcf_data_base.mcf
index cb535a710f..8d41567570 100644
--- a/graphics/mcf2graph/mcf_data_base.mcf
+++ b/graphics/mcf2graph/mcf_data_base.mcf
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.09.05
+% molecular data base file mcf_data_base.mcf by Akira Yamaji 2021.09.20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% tag1:var1;tag2:var2;tag3:var3 .....
% first character of line "%" comment out
@@ -36,6 +36,10 @@ Cat:biological;EN:Glycine;MW:75.07;EXA:-
+
<30,NH2,!2,COOH
+------------------------------------------------------------------------------
+Cat:biological;EN:Glycine;MW:75.07;EXA:-
++
+<30,NH2,!2,COOH
++------------------------------------------------------------------------------
Cat:biological;EN:L-Alanine;MW:89.10;EXA:-
+
<30,NH2,!~wb,/_,!,COOH
@@ -46,9 +50,9 @@ Cat:biological;EN:L-Valine;MW:117.15;EXA:-
+------------------------------------------------------------------------------
Cat:biological;EN:L-Leucine;MW:131.16;EXA:1
+
-<30,NH2,!~wb,/'(!,?!),!,COOH
+<30,NH2,!~wb,/!?!,!,COOH
+------------------------------------------------------------------------------
-Cat:biological;EN:L-Isoleucine;MW:131.16;EXA:-
+Cat:biological;EN:L-Isoleucine;MW:131.16;EXA:9
+
<30,NH2,!~wb,/'(/*_,!2),!,COOH
+------------------------------------------------------------------------------
diff --git a/graphics/mcf2graph/mcf_exa_soc.mf b/graphics/mcf2graph/mcf_exa_soc.mf
index 5f0d263bbb..b5513ffbf0 100644
--- a/graphics/mcf2graph/mcf_exa_soc.mf
+++ b/graphics/mcf2graph/mcf_exa_soc.mf
@@ -1,8 +1,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.09.05
+% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2021.09.20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf; %%% it must be version 4.71
-message "* mcf_exa_soc 2021.09.05";
+input mcf2graph.mf; %%% it must be version 4.72
+message "* mcf_exa_soc 2021.09.20";
message "";
%------------------------------------------------------------------------------
fsize:=(35mm,24mm);
@@ -21,18 +21,19 @@ tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW";
if f_MP=0: input mcf_exa_soc-mf.aux; % (metafont) make aux file before typeset
else: % mpost -s ahlength=7 mcf_exa_soc.mf
%------------------------------------------------------------------------------
-%%%%%query("Cat=biological","MW<150","s:MW");
-%%%%%query("Cat=biological","MW<150.0","s:EN");
-%%%%%query("MW>=150","MW<=300","s:MW");
-%%%%%query("i:mcf_data_base","o:temp","s:MW","s:EN");
+%%%%query("Cat=biological","MW<200","s:MW");
+%%%%query("Cat=biological","MW<150.0","s:EN");
+%%%%query("MW>=150","MW<=200","s:MW");
%******************************************************************************
+%%%% beginfont("t:EN","v:Caffeine") % select EN=Caffeine
forever:
-%%%%%%% beginfont("f+:temp","v:*") % use query output
-%%%%%%% beginfont("f+:mcf_data_base","v:*") % select all
- beginfont("f+:mcf_data_base","t:EXA","v:1") % 'f+'=keep file open
- if f_EOF=0: if check(mc)=0: MC(scantokens(mc)) fi fi % 'v:1' select EXA=1
- endfont %
- exitif (f_EOF=1)or(f_close=1); % exit if file end
+%%%% beginfont("f:mcf_data_base","v+:*") % 'mcf_data_base.mcf'(default)
+%%%% beginfont("f:temp","v+:*") % use query output
+%%%% beginfont("v+:*") % select all
+ beginfont("t:EXA","v+:1") % 'v+:1': select EXA=1
+ if f_EOF=0: if check(mc)=0: MC(scantokens(mc)) fi fi
+ endfont
+ exitif f_EOF=1; % exit if file end
endfor
%******************************************************************************
fi
diff --git a/graphics/mcf2graph/mcf_example.pdf b/graphics/mcf2graph/mcf_example.pdf
index 7ed3fd35fa..6d2b88c7e0 100644
--- a/graphics/mcf2graph/mcf_example.pdf
+++ b/graphics/mcf2graph/mcf_example.pdf
Binary files differ
diff --git a/graphics/mcf2graph/mcf_example.tex b/graphics/mcf2graph/mcf_example.tex
index 46401394dd..a61439d39b 100644
--- a/graphics/mcf2graph/mcf_example.tex
+++ b/graphics/mcf2graph/mcf_example.tex
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.08.01
+% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2021.09.20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
\usepackage{graphicx}
@@ -10,7 +10,7 @@
%--------------------------------
%%%%\pdfpkresolution=1200
%--------------------------------
-%%%%\edef\f@ext{pk}%
+%%%%%\edef\f@ext{pk}%
\edef\f@ext{mps}%
%--------------------------------
\pagestyle{empty}
diff --git a/graphics/mcf2graph/mcf_man_soc.mf b/graphics/mcf2graph/mcf_man_soc.mf
index c9339f4fad..3b5e2ce307 100644
--- a/graphics/mcf2graph/mcf_man_soc.mf
+++ b/graphics/mcf2graph/mcf_man_soc.mf
@@ -1,9 +1,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.09.05
+% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2021.09.20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf; %% it must be version 4.71
+input mcf2graph.mf; %% it must be version 4.72
% ** use data base file 'mcf_data_base.mcf'
-message "mcf_man_soc 2021.09.05"; message "";
+message "mcf_man_soc 2021.09.20"; message "";
%------------------------------------------------------------------------
sw_mframe:=0;
sw_expand:=0;
@@ -1240,7 +1240,7 @@ beginfont("EN:?6")
endfont
defaultsize:=save_defaultsize;
%***************************************************************************
-beginfont("f:mcf_data_base","t:EN","v:Luciferin")
+beginfont("t:EN","v:Luciferin")
fsize:=(50mm,15mm);
if check(mc)=0: MC(scantokens(mc)) fi
endfont
diff --git a/graphics/mcf2graph/mcf_manual.pdf b/graphics/mcf2graph/mcf_manual.pdf
index 58e5597e79..070738c234 100644
--- a/graphics/mcf2graph/mcf_manual.pdf
+++ b/graphics/mcf2graph/mcf_manual.pdf
Binary files differ
diff --git a/graphics/mcf2graph/mcf_manual.tex b/graphics/mcf2graph/mcf_manual.tex
index dceb5999f3..59745ac19a 100644
--- a/graphics/mcf2graph/mcf_manual.tex
+++ b/graphics/mcf2graph/mcf_manual.tex
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format manual by Akira Yamaji 2021.09.05
+% Molecular Coding Format manual by Akira Yamaji 2021.09.20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
\usepackage[pdftex]{graphicx}
@@ -7,8 +7,8 @@
\usepackage{makeidx}
\makeindex
\hypersetup{colorlinks=true,linkcolor=blue}
-\makeatletter
\usepackage{mcf_setup}
+\edef\MCFjobname{mcf_man_soc}%
%----------------------------------------------------------------------------
%%%%\pdfpkresolution=1200
%----------------------------------------------------------------------------
@@ -38,7 +38,7 @@
\htmans=42mm%
\fnum=1%
%----------------------------------------------------------------------------
-\edef\MCFjobname{mcf_man_soc}%
+\makeatletter
%----------------------------------------------------------------------------
\font\@strufont=\MCFjobname\relax%
%----------------------------------------------------------------------------
@@ -52,7 +52,7 @@
\fi%
\global\advance\fnum\@ne\relax%
}%
-%---------------------------------------------------------------------------
+%----------------------------------------------------------------------------
\def\put@char{%
\begin{picture}(75,100)%
\put(0,95){\bf [\NO]\EN}%
@@ -1542,27 +1542,27 @@ beginfont("EN:Cholesterol","MW:386.65", >information
if check(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc4
endfont >
%------------------------------------------------------------------------------
-beginfont("f:mcf_data_base","t:EN","v:Adenine") > from mcf_data_base.mcf
+beginfont("f:mcf_data_base.mcf","t:EN","v:Adenine") > from mcf_data_base.mcf
if check(mc)=0: MC(scantokens(mc)) fi > select EN="Adenine"
endfont >
%------------------------------------------------------------------------------
-beginfont("f:mcf_data_base","t:EN","v:Guanine") > from mcf_data_base.mcf
- if check(mc)=0: MC(scantokens(mc)) fi > select EN="Guanine"
+beginfont("t:EN","v:Guanine") > select EN="Guanine"
+ if check(mc)=0: MC(scantokens(mc)) fi
endfont
%------------------------------------------------------------------------------
-beginfont("f:mcf_data_base","t:EN","v:Cytosine") > from mcf_data_base.mcf
- if check(mc)=0: MC(scantokens(mc)) fi > select EN="Cytosine"
+beginfont("t:EN","v:Cytosine") > select EN="Cytosine"
+ if check(mc)=0: MC(scantokens(mc)) fi >
endfont >
%------------------------------------------------------------------------------
-beginfont("f+:mcf_data_base","t:n","v:4") > from mcf_data_base.mcf
- if check(mc)=0: MC(scantokens(mc)) fi > v:4 select No.4
-endfont > 'f+' keep file open
+beginfont("t:n","v+:4") > v+:4 = select No.4
+ if check(mc)=0: MC(scantokens(mc)) fi > keep file open
+endfont >
%------------------------------------------------------------------------------
forever:
-%%%%%%%%%% beginfont("f+:mcf_data_base","v:*") > select all
- beginfont("f+:mcf_data_base","t:EXA","v:1") > 'f+'=keep file open
- if f_EOF=0: if check(mc)=0: MC(scantokens(mc)) fi fi > 'v:1' select EXA=1
- endfont >
+%%%%%%%%%% beginfont("f:mcf_data_base","v+:*") > select all
+ beginfont("f:mcf_data_base","t:EXA","v+:1") > 'v+:1'= select EXA=1
+ if f_EOF=0: if check(mc)=0: MC(scantokens(mc)) fi fi > keep file open
+ endfont >
exitif (f_EOF=1)or(f_close=1); > exit if file end
endfor
%------------------------------------------------------------------------------
@@ -1639,25 +1639,25 @@ Cat:biological;EN:Linoleic acid;MW:280.45
%--------------------------------------------------------------
% query()
%
-% "i:filename" : input file name (default "mcf_data_base.mcf")
+% "f:filename" : input file name (default "mcf_data_base.mcf")
% "o:filename" : output file name (default "temp.mcf")
% "s:sort-key" : sort by sort-key
%
-% = , <> , <= , >= , < , >
+% operator : = , <> , <= , >= , < , >
%
-% filter 1 : Cat=biological
-% filter 2 : MW>=285
-% filter 3 : MW<=295
+% filter 1 : Cat=biological
+% filter 2 : MW>=285
+% filter 3 : MW<=295
%--------------------------------------------------------------
query("s:EN",
-%%%%% "i:mcf_data_base.mcf","o:temp.mcf","s:EN",
+%%%%% "f:mcf_data_base.mcf","o:temp.mcf","s:EN",
"Cat=biological","MW>=285","MW<=295");
%--------------------------------------------------------------
forever:
- beginfont("f+:temp","v:*") % use file temp.mcf / select all
+ beginfont("f:temp","v+:*") % use file temp.mcf / select all
if f_EOF=0: if check(mc)=0: MC(scantokens(mc)) fi fi
endfont
- exitif (f_EOF=1)or(f_close=1);
+ exitif f_EOF=1;
endfor
%---------------------------------------------------------------
\end{verbatim}
@@ -1713,6 +1713,7 @@ Cat:biological;EN:Piperine;MW:285.343;EXA:1
sw_output:=Info; %% tag1:var1;tag2:var2
sw_output:=Info+Table; %% tag1;tag2 var1;var2
sw_output:=Info+Temp; %% tag1:var1;tag2:var2 / output 'temp-info.aux'
+ sw_output:=Info+Mcode; %% output jobname&'.aux'
sw_output:=Info+Mcode+Temp; %% output 'temp-info.aux','temp-mc.aux'
sw_output:=Font+Info+Temp; %% output font,'temp-info.aux','temp-mc.aux'
\end{verbatim}
@@ -1843,29 +1844,42 @@ endfont
\index{Mcode}%
\index{Temp}%
\begin{verbatim}
-sw_output:=Mcode;
+sw_output:=Mcode; %% output 'jobname-nnn-EN-mc.aux'
sw_output:=Mcode+Temp; %% output 'temp-mc.aux'
+sw_output:=Info+Mcode; %% output 'jobname-data.aux'
sw_output:=Info+Mcode+Temp; %% output 'temp-info.aux','temp-mc.aux'
sw_output:=Font+Mcode+Temp; %% output font,'temp-mc.aux'
sw_output:=Font+Info+Mcode+Temp; %% output font,'temp-info.aux','temp-mc.aux'
\end{verbatim}
\paragraph{(Command line)}
\begin{verbatim}
- >mpost -s ahlength=8 FILENAME (sw_output=Mcode)
+ >mpost -s ahlength=8 FILENAME (sw_output=Info+Mcode)
\end{verbatim}
-\paragraph{(file name)}
+\paragraph{(Output temporary file)}
\begin{verbatim}
sw_output=Mcode ** file name = 'jobname-nnn-EN-mc.aux'
sw_output=Mcode+Temp ** file name = 'temp-mc.aux'
(result)
<30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH
+
+\end{verbatim}
+\paragraph{(Output data-base file)}
+\begin{verbatim}
+sw_output=Mcode+Info ** file name = 'jobname-data.aux'
+
+(result)
+Cat:biological;EN:Adenine;MW:135.13;EXA:1
++
+<30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH
++--------------------------------------------------
+
\end{verbatim}
%------------------------------------------------------------------------
\paragraph{(Lualatex example)}
%-----------------------------------------------------------------------
\begin{verbatim}
-beginfont("f:mcf_data_base","t:EN","v:Adenine")
+beginfont("t:EN","v:Adenine")
sw_output:=Mcode+Temp;
endfont
\end{verbatim}
@@ -1873,7 +1887,7 @@ endfont
\begin{verbatim}
%-----------------------------------------------------------------------
\begin{mplibcode}
- beginfont("f:mcf_data_base","t:EN","v:Vancomycin")
+ beginfont("t:EN","v:Vancomycin")
sw_output:=Mcode+Temp; %%%% output temp-mc.aux %%%%
endfont;
\end{mplibcode}
@@ -1884,17 +1898,12 @@ endfont
%-----------------------------------------------------------------------
\begin{verbatim}
(result)
-
file name = 'temp-mc.aux'
-<-30,#1,!12,{1,3,12}=zf,7=wf,/H^-60,60,*/OH,60,
- Ph,-4:/Cl,@-3,\,O,!,Ph,@-4,\,O,!,Ph,-1^15:/Cl,@-3,\,/*OH,*/H^-60,&1,
- @7,&26,@$1,60,//O,60,NH,60,/*H,*/COOH^180,-60,
- Ph,{-2,-4}:/OH,@-1,\,Ph,-5:/OH,@-2,&4,##,
- {3^40,6,9,12}://O,{2,5,8,11}:NH,{1,4^180}:*/H,{7^-60,10^60,14^60}:/*H,
- @10,*\^-60,60,//O,!,NH2,@13,*\,NH,!,//O,!,/??!,*/H^60,!~zf,NH,!,
- @23,\,O,!,|,?6`.7,2:O,3^10:/!OH,{4,5}:/OH,
- @-1,\,O,!,|,?6`.7,6:O,{3^35,5}:/_,3^-35:/NH2,4:/OH
+<30,?6,@4,?6,@-4,\,!3,<-12,?5,@-3,<-12,?6,-3=?6,@-3,*\,!3,
+ ?6,@-4,?6,@6,\,!,/*Me^-40,*/OH^20,!,//O,!1,OH,
+ 3=wb,11=dl,15=dr,17=wf,19=wf,38=wb,{5,7,16,24,25,33,42}:O,
+ 32:*/H^60,10:/Me,{12,31}:*/_,27://_,37:/*_,28:/OH,{3,29}:/*OH
\end{verbatim}
%------------------------------------------------------------------------
\newpage
diff --git a/graphics/mcf2graph/mcf_mplib_exa.pdf b/graphics/mcf2graph/mcf_mplib_exa.pdf
index 0e527592eb..cb28688db6 100644
--- a/graphics/mcf2graph/mcf_mplib_exa.pdf
+++ b/graphics/mcf2graph/mcf_mplib_exa.pdf
Binary files differ
diff --git a/graphics/mcf2graph/mcf_mplib_exa.tex b/graphics/mcf2graph/mcf_mplib_exa.tex
index 825152629b..b204383651 100644
--- a/graphics/mcf2graph/mcf_mplib_exa.tex
+++ b/graphics/mcf2graph/mcf_mplib_exa.tex
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.09.05
+% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2021.09.20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% ** mcf2graph.mf must be version 4.71
+% ** mcf2graph.mf must be version 4.72
% ** use mcf_data_base.mcf
\documentclass{article}
%------------------------------------------------------------------------------
@@ -14,7 +14,7 @@
\everymplib{%
if unknown Ph1: input mcf2graph.mf; fi
outputformat:="eps";
- sw_output:=Font;
+ sw_output:=Font+Info+Temp;
tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW";
max_blength:=4.5mm;
defaultfont:="uhvr8r";
@@ -47,7 +47,7 @@
\subsection{Chlorophyll a}
\noindent%
\begin{verbatim}
-beginfont("f:mcf_data_base","t:EN","v:Chlorophyll a","NO:-",
+beginfont("f:mcf_data_base.mcf","t:EN","v:Chlorophyll a","NO:-",
":,||,{4,11,17,23}:red,27:green") %%%% change color of atoms %%%%
fsize:=(100mm,45mm);
if check(mc)=0: MC(scantokens(mc)) fi
@@ -59,7 +59,7 @@ endfont
\end{verbatim}
%------------------------------------------------------------------------------------
\begin{mplibcode}
-beginfont("f:mcf_data_base","t:EN","v:Chlorophyll a","NO:-",
+beginfont("f:mcf_data_base.mcf","t:EN","v:Chlorophyll a","NO:-",
":,||,{4,11,17,23}:red,27:green") %%%% change color of atoms %%%%
fsize:=(100mm,45mm);
if check(mc)=0: MC(scantokens(mc)) fi
@@ -73,7 +73,7 @@ endfont
\subsection{Dinophysistoxin-1}
\noindent%
\begin{verbatim}
-beginfont("f:mcf_data_base","t:EN","v:Okadaic acid","EN:Dinophysistoxin-1",
+beginfont("t:EN","v:Okadaic acid","EN:Dinophysistoxin-1",
"MW:819",":,38:*/_,65=red") %%%% add methyl group (color red) %%%%
fsize:=(150mm,35mm);
if check(mc)=0: MC(scantokens(mc)) fi
@@ -85,7 +85,7 @@ endfont;
\end{verbatim}
%----------------------------------------------------------------------------
\begin{mplibcode}
-beginfont("f:mcf_data_base","t:EN","v:Okadaic acid","EN:Dinophysistoxin-1",
+beginfont("t:EN","v:Okadaic acid","EN:Dinophysistoxin-1",
"MW:819",":,38:*/_,65=red") %%%% add methyl group (color red) %%%%
fsize:=(150mm,35mm);
if check(mc)=0: MC(scantokens(mc)) fi
@@ -198,13 +198,13 @@ endfont
\begin{verbatim}
%--------------------------------------------------------------------------------
\begin{mplibcode}
- beginfont("f:mcf_data_base","t:EN","v:Maitotoxin")
+ beginfont("t:EN","v:Maitotoxin")
sw_output:=Info+Mcode+Temp; %%%% output temp-info,temp-mc.aux %%%%
endfont;
\end{mplibcode}
\verbatiminput{temp-mc.aux} %%%% input temp-mc.aux %%%%
\begin{mplibcode}
- beginfont("f:mcf_data_base","t:EN","v:Maitotoxin")
+ beginfont("t:EN","v:Maitotoxin")
fsize:=(120mm,60mm); fmargin:=(0,3mm); sw_frame:=Outside;
if check(mc)=0: MC(scantokens(mc)) fi %%%% output font %%%%
endfont
@@ -220,13 +220,13 @@ endfont
\end{verbatim}
%--------------------------------------------------------------------------------
\begin{mplibcode}
- beginfont("f:mcf_data_base","t:EN","v:Maitotoxin")
+ beginfont("t:EN","v:Maitotoxin")
sw_output:=Info+Mcode+Temp; %%%% output temp-info.aux %%%%
if check(mc)=0: MC(scantokens(mc)) fi
endfont
\end{mplibcode}
\begin{mplibcode}
- beginfont("f:mcf_data_base","t:EN","v:Maitotoxin")
+ beginfont("t:EN","v:Maitotoxin")
fsize:=(120mm,60mm); fmargin:=(0,3mm); sw_frame:=Outside;
if check(mc)=0: MC(scantokens(mc)) fi %%%% output font %%%%
endfont
diff --git a/graphics/mcf2graph/mcf_setup.sty b/graphics/mcf2graph/mcf_setup.sty
index 57bcca621c..2b05d87138 100644
--- a/graphics/mcf2graph/mcf_setup.sty
+++ b/graphics/mcf2graph/mcf_setup.sty
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf_setup.sty for input aux file by Akira Yamaji 2021.05.05
+% mcf_setup.sty for input aux file by Akira Yamaji 2021.09.20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%------------------------------------
\edef\@J{J} \edef\Job{}% 1
@@ -27,6 +27,8 @@
%------------------------------------
\edef\@EXA{EXA} \edef\EXA{}% 19
\edef\@EXB{EXB} \edef\EXB{}% 20
+%------------------------------------
+\edef\@Cat{Cat} \edef\Cat{}% 21
%---------------------------------------------------------------------------
\edef\@pk{pk}%
\edef\@mps{mps}%
@@ -69,6 +71,7 @@
\ifx\@tag\@EXA\edef\EXA{\@var}\fi% 19
\ifx\@tag\@EXB\edef\EXB{\@var}\fi% 20
%----------------------------------------
+ \ifx\@tag\@Cat\edef\Cat{\@var}\fi% 21
\fi%
}%
%-----------------------------------------------------------------------------
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index cb626b79db..ae8444f5dd 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2021-11-15 pre-release 1
+Release 2021-11-15 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index 22f9cff11c..637e33bf8b 100644
--- a/macros/latex-dev/base/alltt.pdf
+++ b/macros/latex-dev/base/alltt.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf
index 5a8bf4282c..cc8ced07f7 100644
--- a/macros/latex-dev/base/cfgguide.pdf
+++ b/macros/latex-dev/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/changes.txt b/macros/latex-dev/base/changes.txt
index dfd7a9609f..50f916b233 100644
--- a/macros/latex-dev/base/changes.txt
+++ b/macros/latex-dev/base/changes.txt
@@ -6,6 +6,182 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
================================================================================
+2021-09-18 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltpara.dtx: use a \hskip rather than \kern as the guard to
+ prevent more than one glue item being removed when the primitive
+ par is called twice to process the end of paragraph hooks.
+
+2021-09-12 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfntcmd.dtx: guard definition in \text@command with \unexpanded (gh/665)
+
+2021-09-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltoutenc.dtx (subsection{Definitions for the OT1 encoding}):
+ Move zero skip between i and j for hyphenation (gh/658)
+
+2021-09-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfssini.dtx:
+ Improve handling of legacy changes to \bfdefault or \mddefault in
+ relation to \DeclareFontSeriesDefault setting (gh/663)
+
+2021-09-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfinal.dtx (subsection{Lccodes and uccodes}):
+ Correctly upper and lowercase \ij and \IJ (gh/658)
+
+2021-08-30 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * lthooks.dtx (subsection{Using the hook}):
+ Clean up after \UseOneTimeHook and prevent a second usage (gh/606).
+
+2021-08-30 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltcmd.dtx (subsubsection{Copying a command and its internal structure}):
+ Add support for copying and showing ltcmd commands (gh/569).
+
+2021-08-27 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltfilehook.dtx:
+ Use \msg_... instead of \__kernel_msg... commands for normalized
+ error and warning commands.
+
+ * ltfilehooks.dtx, lthooks.dtx, ltpara.dtx:
+ Internal changes to message names
+
+ * ltcmd.dtx:
+ Check for end-of-enviroment commands
+
+2021-08-25 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * lthooks.dtx, ltcmdhooks.dtx, ltfilehook.dtx, ltclass.dtx, ltfiles.dtx:
+ Standardise generic hook names (gh/648).
+
+2021-08-20 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx:
+ Documentation updates for generic hook commands (gh/638).
+
+ Deprecate \hook_disable:n, \hook_provide:n,
+ \hook_provide_reversed:n, \hook_provide_pair:nn,
+ \DisableHook, \ProvideHook, \ProvideReversedHook,
+ and \ProvideMirroredHookPair.
+
+ Instead: \hook_activate_generic:n, \hook_disable_generic:n,
+ \ActivateGenericHook and \DisableGenericHook.
+
+ * lterror.dtx (subsection{Specific errors}):
+ Improve \@badend error message (gh/587)
+
+2021-08-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx (subsubsection{Generic hooks for all environments}):
+ Fixed documentation of \AtBeginEnvironment and friends
+ -- was missing the main "env" argument (gh/646)
+
+2021-08-11 Marcel Krüger <Marcel.Krueger@latex-project.org>
+
+ * ltluatex.dtx:
+ Define missing local copy of flush_list in ltluatex.lua found
+ by Michal Vlasák.
+
+2021-08-10 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltvers.dtx (section{Version Identification}):
+ Throw an error when a date 0000/00/00 is misused in \IncludeInRelease.
+
+2021-08-08 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfinal.dtx (subsection{Prepare for suporting PDF management in backends}):
+ Default definition for \IfPDFManagementActiveTF added (gh/640)
+
+2021-08-07 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltcmd.dtx (subsection{Setting up a standard signature}):
+ Replicate argument processors for all embellishments (gh/639).
+
+2021-07-31 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltoutput.dtx (subsubsection{Float control}):
+ Add \ShowFloat to fltrace.sty so that you can easily display the
+ contents of a float register, argument is just the uppercase
+ letter (or letters or numbers) denoting the register.
+
+2021-07-28 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltsect.dtx (section| or |\caption|):
+ \contentsline now picks up all four arguments and doesn't rely on
+ the fourth being empty (gh/633)
+
+2021-07-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx:
+ Some clarification on hook command behavior.
+ Commands \ClearHookNext and \hook_gclear_next_code:n added (gh/565)
+
+2021-07-23 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltclass.dtx (section{Implementation}):
+ Make class/.../name one-time hooks;
+ Make package/.../name one-time hooks (gh/626)
+
+ * ltfiles.dtx (section{File Handling}):
+ Make include/.../name one-time hooks (gh/626)
+
+2021-07-23 Marcel Krüger <marcel.krueger@latex-project.org>
+
+ * tulm.fdd:
+ For Unicode engines, use OpenType version of Latin Modern Upright Italic.
+
+2021-07-20 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * lthooks.dtx:
+ Simplify \RemoveFromHook to not queue the removal of code chunks
+ that aren't yet in the hook (gh/625).
+
+2021-07-20 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltcmdhooks.dtx:
+ Fix usage of \@if@newcommand when patching a robust command (gh/623).
+
+2021-07-19 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltclass.dtx: Provide public names:
+ \IfPackageLoadedTF, \IfPackageLoadedWithOptionsTF,
+ \IfClassLoadedTF, \IfClassLoadedWithOptionsTF.
+
+ Drop \@onlypremable restriction for several commands.
+
+2021-07-16 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltplain.dtx (section{Plain \TeX}):
+ Use 2 as value for \tracinglostchars so that one gets at least warnings
+ on the terminal (3 would be better as a missing char is an error)
+
+2021-07-12 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltclass.dtx: fix for gh/617 prevent expansion in raw option list.
+
+2021-07-11 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lterror.dtx (subsection{General commands}):
+ Provide \ClassNote and \PackageNote that write information to the
+ terminal but labels it as "Info" and not as "Warning", i.e. a cross
+ between \PackageWarning and \PackageInfo
+
+2021-07-08 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltcounts.dtx (subsection{Environment Counter Macros}):
+ New implementation for \counterwithout and \counterwithin
+ with an additional optional arg so it becomes a drop-in
+ replacement for amsmath \numberwithin
+
+2021-06-21 David Carlisle <David.Carlisle@latex-project.org>
+
+ * base/utf8ienc.dtx: additional characters for gh/593
+
2021-06-09 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* ltshipout.dtx:
diff --git a/macros/latex-dev/base/classes.dtx b/macros/latex-dev/base/classes.dtx
index ffe04c620f..fdf0ef3a5b 100644
--- a/macros/latex-dev/base/classes.dtx
+++ b/macros/latex-dev/base/classes.dtx
@@ -53,7 +53,7 @@
%<*driver>
\ProvidesFile{classes.drv}
%</driver>
- [2021/02/12 v1.4n
+ [2021/09/11 v1.4n
%<article|report|book> Standard LaTeX document class]
%<10pt|11pt|12pt> Standard LaTeX file (size option)]
% \end{macrocode}
@@ -221,9 +221,9 @@
% file has version number \fileversion, last revised \filedate.}}
%
% \author{%
-% Copyright (C) 1992 by Leslie Lamport and
-% Copyright (C) 1994-2020 by Frank Mittelbach and Johannes Braams and
-% LaTeX Project Team
+% Copyright (C) 1992 by Leslie Lamport \and
+% Copyright (C) 1994-2021 by Frank Mittelbach, \and Johannes Braams and
+% the \LaTeX\ Project Team
% }
% \date{\filedate}
% \MaintainedByLaTeXTeam{latex}
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index 40f0cef13e..937b11968e 100644
--- a/macros/latex-dev/base/classes.pdf
+++ b/macros/latex-dev/base/classes.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf
index 9f39397b24..4d049fe540 100644
--- a/macros/latex-dev/base/clsguide.pdf
+++ b/macros/latex-dev/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf
index d1707408ad..bdb26b2672 100644
--- a/macros/latex-dev/base/cmfonts.pdf
+++ b/macros/latex-dev/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf
index 6b9ed561ea..5fca8b3953 100644
--- a/macros/latex-dev/base/cyrguide.pdf
+++ b/macros/latex-dev/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index b5254608ea..60f15ff69f 100644
--- a/macros/latex-dev/base/doc.pdf
+++ b/macros/latex-dev/base/doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf
index 08224e2a4c..325df35eb6 100644
--- a/macros/latex-dev/base/docstrip.pdf
+++ b/macros/latex-dev/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf
index 30aad2cd6c..98a03a7bb1 100644
--- a/macros/latex-dev/base/encguide.pdf
+++ b/macros/latex-dev/base/encguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf
index 9785c78a4d..e00c839154 100644
--- a/macros/latex-dev/base/exscale.pdf
+++ b/macros/latex-dev/base/exscale.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf
index d3e32f1678..cc3df9f5db 100644
--- a/macros/latex-dev/base/fix-cm.pdf
+++ b/macros/latex-dev/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf
index d1da1e3f19..976d306413 100644
--- a/macros/latex-dev/base/fntguide.pdf
+++ b/macros/latex-dev/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf
index 7d65e21df6..bc9c785398 100644
--- a/macros/latex-dev/base/graphpap.pdf
+++ b/macros/latex-dev/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf
index 289b5c7f37..a291da6184 100644
--- a/macros/latex-dev/base/ifthen.pdf
+++ b/macros/latex-dev/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf
index 64c99acc9a..d8a2f584ed 100644
--- a/macros/latex-dev/base/inputenc.pdf
+++ b/macros/latex-dev/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/manual.err b/macros/latex-dev/base/lamport-manual.err
index c6ea889ed3..1f72c34938 100644
--- a/macros/latex-dev/base/manual.err
+++ b/macros/latex-dev/base/lamport-manual.err
@@ -19,7 +19,7 @@
\def\ypmd{% %
% %
% %
- Last modified on Sat 13 October 2018 at 12:56:41 PST by lamport %
+ Last modified on Thu 5 August 2021 at 12:56:59 PST by lamport %
endypmd} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -56,7 +56,7 @@ Please report any additional errors to The \LaTeX\ Project at
Replace \verb|{\em all\/}| by \verb|\emph{all}|.
\reportedby{Rosemary Bailey}{29 Aug 1994}
-\erratum{page 28, first paragraph}
+\erratum{page 28, first paragraph}
Not an error, but it would be
helpful to add the following sentence to the end of that paragraph:
``(If a declaration has arguments, they become additional
@@ -78,7 +78,7 @@ Change \verb|{\em ...}| to \verb|\emph{...}|
\erratum{page 101}
This is not an error, but some readers will find it helpful if, in the
descriptions of \verb|\setlength| and \verb|\addtolength|,
-\verb|\gnat| were replaced by \verb|\parskip|.
+\verb|\gnat| were replaced by \verb|\parskip|.
\reportedby{Ellen Gilkerson}{9 Aug 1994}
\erratum{page 108, lines 7 and 10}
@@ -152,7 +152,7 @@ Change ``\verb|\resettime|'' to ``\verb|\settime|''.
\erratum{page 84, after line $11$} Add the following sentence: ``The
\hbox{\verb|\onlyslides|} and \hbox{\verb|\onlynotes|} commands may
not work right if a \texttt{slide}, \texttt{overlay}, or \texttt{note}
-environment appears in the argument of any command.''
+environment appears in the argument of any command.''
\reportedby{Eike Ritter}{May 1996}
\erratum{page 153, line 1}
@@ -163,11 +163,11 @@ Add ``or subentry'' after ``entry''.
Add the following before line $-4$:
\begin{description}
\item[\mytt \bs columnwidth]
-Normal width
+Normal width
\cindex{columnwidth}%
of a column;
-% \index{column!width}%
- \index{width!of column}%
+% \index{column!width}%
+ \index{width!of column}%
equals \verb|\textwidth| except for multiple-column styles.
Its value should not be changed with the length-setting commands.
\end{description}
@@ -175,7 +175,7 @@ Also, in line $-4$, change \verb|\textwidth| to \verb|\columnwidth|.
%\reportedby{Volker Kuhlmav}{20 Jan 1995}
\reportedby{Rosemary Bailey}{9 Sep 1994}
-\erratum{page 180, lines 15--19}
+\erratum{page 180, lines 15--19}
%
Replace these five lines (which begin ``These commands are overridden'')
with:
@@ -194,7 +194,7 @@ command immediately after the sectioning command.
\end{itemize}
\reportedby{Jerome Breitenbach}{14 Dec 1995}
-\erratum{page 182}
+\erratum{page 182}
The dimensions
\verb|\pageheight| and \verb|\pagewidth|
should be \verb|\paperheight| and \verb|\paperwidth|,
@@ -222,7 +222,7 @@ These declarations may not be used in math mode.
Replace lines 16-19 (beginning ``None of these commands'') with
\begin{quote}
When these commands are used in math mode, the \emph{text}
-argument is processed in LR mode.
+argument is processed in LR mode.
These commands and declarations are robust. Words typeset in
typewriter style are not hyphenated except where permitted by \verb|\-|
@@ -253,21 +253,21 @@ Change ``through a symbol'' by ``through a relation symbol''.
\erratum{page 137} This is not an error, but it would be better to
change lines 23 and 24 to:
\begin{quote}
-\LaTeX\
+\LaTeX\
\index{file!not found error}%
\index{file!nonexistent}%
is trying to read a file that apparently doesn't exist. If the missing
file has the extension \texttt{tex}, then \LaTeX\ is trying to
\index{input)@\verb+\input+!of nonexistent file}%
\index{include)@\verb+\include+!of nonexistent file}%
-\verb|\input| or \verb|\include| it; if it
+\verb|\input| or \verb|\include| it; if it
\end{quote}
\erratum{page 171, line 19}
Change the description of \verb|\indent| to:
\begin{description}
\item[\mytt \bs indent]
-Produces a
+Produces a
% \cindex{indent}%
% \index{paragraph!indentation}%
horizontal space whose width equals the width of the
@@ -279,7 +279,7 @@ try typing \verb|\indent\indent|.) Robust.
\erratum{page 179, line 19}
%
-Change to:
+Change to:
\begin{quote}
page style for the \texttt{article} and \texttt{report} document classes.
\end{quote}
@@ -292,7 +292,7 @@ with ``\textit{num}$_1$ and \textit{num}$_2$ are numbers''.
\erratum{page 196, line $-5$}
Change \verb|\newboolean{|\emph{name}\verb|}| to
-\verb|\newboolean{|\emph{nam}\verb|}|.
+\verb|\newboolean{|\emph{nam}\verb|}|.
\reportedby{Christopher von B\"{u}low}{28 Aug 2000}
@@ -321,14 +321,14 @@ Add a space after ``bibliography''.
\reportedby{Marcin Wolinski}{17 Sep 2003}
\subsection*{Error Corrected in the Twenty-First Printing}
-\erratum{page 198, line $-11$}
+\erratum{page 198, line $-11$}
The sentence beginning ``The last three rules'' is hard to read. Better
would be:
\begin{quote}
-\noindent The last three rules are suspended when a
+\noindent The last three rules are suspended when a
\verb|\clearpage|,\linebreak
\verb|\cleardoublepage|, or
- \verb|\end{document}| command occurs,
+ \verb|\end{document}| command occurs,
at which point all unprocessed figures and tables are allowed a
\hbox{\mytt p} option and printed.
\end{quote}
@@ -336,7 +336,7 @@ at which point all unprocessed figures and tables are allowed a
\subsection*{Error Corrected in the Twenty-Second Printing}
-\erratum{page 253, column 2, lines $-5$ and $-6$}
+\erratum{page 253, column 2, lines $-5$ and $-6$}
The two index entries for \verb|\ldots| should be combined.
@@ -359,7 +359,25 @@ argument with \verb|@{}| will suppress that space.
\end{quote}
\reportedby{Ulrike Fischer, Frank Mittelbach}{23 Sep 2018}
+
+\erratum{page 201, line $-1$ and page 202, line 1 (\emph{next\_tab\_stop}
+ explanation)}
+Change ``it is reset to the value of \emph{left\_margin\_tab}'' to ``it is
+reset to the value of $\mathit{left\_margin\_tab} + 1$''.
+\reportedby{Austin Kim}{25 June 2021}
+
+\erratum{page 202, lines 23--24 (\texttt{\string\\} command)
+ and lines 25--27 (\texttt{\string\kill} command)}
+Change ``to the value of
+\emph{left\_margin\_tab}'' to ``to the value of $\mathit{left\_margin\_tab} + 1$''.
+\reportedby{Austin Kim}{25 June 2021}
+
+% \erratum{page 202, line 25--27 (\texttt{\string\kill} command)}
+% Change ``sets the value of \emph{next\_tab\_stop} to the value of
+% \emph{left\_margin\_tab}'' to ``sets the value of \emph{next\_tab\_stop} equal
+% to the value of $\mathit{left\_margin\_tab} + 1$''.
+
\end{document}
%try
-%try
+%try \ No newline at end of file
diff --git a/macros/latex-dev/base/manual.pdf b/macros/latex-dev/base/lamport-manual.pdf
index 946069a0b4..06adb9a77a 100644
--- a/macros/latex-dev/base/manual.pdf
+++ b/macros/latex-dev/base/lamport-manual.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexchanges.pdf b/macros/latex-dev/base/latexchanges.pdf
index 5664c1789b..75144a2fd0 100644
--- a/macros/latex-dev/base/latexchanges.pdf
+++ b/macros/latex-dev/base/latexchanges.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index cdc6dec415..0bdfb2ccf3 100644
--- a/macros/latex-dev/base/latexrelease.pdf
+++ b/macros/latex-dev/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf
index 5f1b36c59a..5b7ae7f8b4 100644
--- a/macros/latex-dev/base/latexsym.pdf
+++ b/macros/latex-dev/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lb2.err b/macros/latex-dev/base/lb2.err
index 767cc86a05..53148e2833 100644
--- a/macros/latex-dev/base/lb2.err
+++ b/macros/latex-dev/base/lb2.err
@@ -36,9 +36,10 @@
%
% v1.0a - changed name from errata.cls to ttcterrata.cls
% v1.0b - added \arraybackslash
+% v1.0c - and took it out again and used \tabularnewline instead
\ProvidesClass{ttcterrata}
- [2021/04/22 v1.0b Mini class for errata files; subject to change (FMi)]
+ [2021/08/03 v1.0c Mini class for errata files; subject to change (FMi)]
\LoadClass{article}
@@ -63,7 +64,9 @@
\setbox\@tempboxa\vbox\bgroup
\let\endgobble\egroup
\let\hideamp\relax
- \let\\\relax\let\par\@@par}
+ \let\\\relax
+ \let\tabularnewline\relax
+ \let\par\@@par}
\newcommand*\hideamp{&}
@@ -140,7 +143,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
@@ -154,18 +157,18 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\fbox{\bfseries !!}\hfill
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
\newcommand\CHAPTER[1]{\endgobble
- &\\[4pt]%
- \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}
+ &\tabularnewline[4pt]%
+ \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \tabularnewline}
\newenvironment{erratalist}
- {\begin{longtable}{r>{\raggedright\arraybackslash}p{2cm}l>{\raggedright\arraybackslash}p{10cm}l}}
+ {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}}
{\endgobble\end{longtable}}
\newcommand\erratatitle[2]
@@ -213,7 +216,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
@@ -228,7 +231,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\fbox{\bfseries !!}\hfill
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
diff --git a/macros/latex-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf
index f8e5526427..6c01b2a28f 100644
--- a/macros/latex-dev/base/lb2.pdf
+++ b/macros/latex-dev/base/lb2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf
index 846fabe6bc..258a768277 100644
--- a/macros/latex-dev/base/letter.pdf
+++ b/macros/latex-dev/base/letter.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lgc2.err b/macros/latex-dev/base/lgc2.err
index cbee8d6f35..96fd378fe9 100644
--- a/macros/latex-dev/base/lgc2.err
+++ b/macros/latex-dev/base/lgc2.err
@@ -34,9 +34,10 @@
%
% v1.0a - changed name from errata.cls to ttcterrata.cls
% v1.0b - added \arraybackslash
+% v1.0c - and took it out again and used \tabularnewline instead
\ProvidesClass{ttcterrata}
- [2021/04/22 v1.0b Mini class for errata files; subject to change (FMi)]
+ [2021/08/03 v1.0c Mini class for errata files; subject to change (FMi)]
\LoadClass{article}
@@ -61,7 +62,9 @@
\setbox\@tempboxa\vbox\bgroup
\let\endgobble\egroup
\let\hideamp\relax
- \let\\\relax\let\par\@@par}
+ \let\\\relax
+ \let\tabularnewline\relax
+ \let\par\@@par}
\newcommand*\hideamp{&}
@@ -138,7 +141,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
@@ -152,18 +155,18 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\fbox{\bfseries !!}\hfill
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
\newcommand\CHAPTER[1]{\endgobble
- &\\[4pt]%
- \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}
+ &\tabularnewline[4pt]%
+ \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \tabularnewline}
\newenvironment{erratalist}
- {\begin{longtable}{r>{\raggedright\arraybackslash}p{2cm}l>{\raggedright\arraybackslash}p{10cm}l}}
+ {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}}
{\endgobble\end{longtable}}
\newcommand\erratatitle[2]
@@ -211,7 +214,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
@@ -226,7 +229,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\fbox{\bfseries !!}\hfill
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
diff --git a/macros/latex-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf
index 5ef3d28403..2bf91f2d66 100644
--- a/macros/latex-dev/base/lgc2.pdf
+++ b/macros/latex-dev/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf
index ce56cf02d9..f55fe97188 100644
--- a/macros/latex-dev/base/lppl.pdf
+++ b/macros/latex-dev/base/lppl.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltclass.dtx b/macros/latex-dev/base/ltclass.dtx
index 643587b0ef..06e0f437af 100644
--- a/macros/latex-dev/base/ltclass.dtx
+++ b/macros/latex-dev/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2021/06/09 v1.4c LaTeX Kernel (Class & Package Interface)]
+ [2021/08/25 v1.4f LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -68,6 +68,7 @@
% \changes{v1.0z}{1998/03/21}{Added to documentation of filecontents}
% \changes{v1.1c}{1998/08/17}{(RmS) Minor documentation fixes.}
% \changes{v1.3o}{2020/08/21}{Integration of new hook management interface}
+% \changes{v1.4f}{2021/08/25}{Standardise generic hook names (gh/648)}
%
%
% \section{Introduction}
@@ -311,27 +312,49 @@
% default option handler, which is not used for |landscape| as that
% option is explicitly declared.
%
+% \DescribeMacro\IfPackageLoadedTF
+% \DescribeMacro\IfClassLoadedTF
% \DescribeMacro\@ifpackageloaded
-% To find out if a package has already been loaded, use\\
% \DescribeMacro\@ifclassloaded
-% |\@ifpackageloaded{|\meta{package}|}{|\meta{true}|}{|\meta{false}|}|.
-%
+% To find out if a package has already been loaded, use
+% \begin{quote}
+% |\IfPackageLoadedTF{|\meta{package}|}{|\meta{true}|}{|\meta{false}|}|\\
+% \end{quote}
+% or the old name \cs{@ifpackageloaded}.
+%
+% \DescribeMacro\IfPackageAtLeastTF
+% \DescribeMacro\IfClassAtLeastTF
% \DescribeMacro\@ifpackagelater
+% \DescribeMacro\@ifclasslater
% \changes{v1.1i}{2013/07/07}{Correctly describe how the date in
% \cs{@ifpackagelater} is used}
% To find out if a package has already been loaded with a version
% equal to or more
-% recent than \meta{version}, use\\
-% \DescribeMacro\@ifclasslater
-% |\@ifpackagelater{|\meta{package}|}{|\meta{version}|}{|^^A
-% \meta{true}|}{|\meta{false}|}|.
-%
+% recent than \meta{date}, use
+% \begin{quote}
+% |\IfPackageAtLeastTF{|\meta{package}|}{|\meta{date}|}{|^^A
+% \meta{true}|}{|\meta{false}|}|
+% \end{quote}
+% or the old name \cs{@ifpackagelater}.
+
+% \DescribeMacro\IfFormatAtLeastTF
+% To test the format date use
+% \begin{quote}
+% |\IfFormatAtLeastTF{|\meta{date}|}{|^^A
+% \meta{true}|}{|\meta{false}|}|
+% \end{quote}
+%
+% \DescribeMacro\IfPackageLoadedWithOptionsTF
+% \DescribeMacro\IfClassLoadedWithOptionsTF
% \DescribeMacro\@ifpackagewith
+% \DescribeMacro\@ifclasswith
% To find out if a package has already been loaded with at least the
% options \meta{options}, use
-% \DescribeMacro\@ifclasswith
-% |\@ifpackagewith{|\meta{package}|}{|\meta{options}|}{|^^A
-% \meta{true}|}{|\meta{false}|}|.
+% \begin{quote}
+% |\IfPackageLoadedWithOptionsTF{|\meta{package}|}{|\meta{options}|}{|^^A
+% \meta{true}|}{|\meta{false}|}|
+% \end{quote}
+% or the old name \cs{@ifpackagewith}.
%
% There exists one package that can't be tested with the above
% commands: the \texttt{fontenc} package pretends that it was never
@@ -499,9 +522,10 @@
% \begin{macro}{\@classoptionslist}
% List of options of the main class.
% \changes{v1.0u}{1996/07/26}{made only preamble}
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
\let\@classoptionslist\relax
-\@onlypreamble\@classoptionslist
+%\@onlypreamble\@classoptionslist
% \end{macrocode}
% \end{macro}
%
@@ -517,9 +541,10 @@
% \changes{v1.0u}{1996/07/26}{made only preamble}
% List of options of the main class that haven't been declared or
% loaded as class option files.
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
\let\@unusedoptionlist\@empty
-\@onlypreamble\@unusedoptionlist
+%\@onlypreamble\@unusedoptionlist
% \end{macrocode}
% \end{macro}
%
@@ -571,11 +596,10 @@
% \begin{macro}{\@clsextension}
% \begin{macro}{\@pkgextension}
% The two possible values of |\@currext|.
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
\def\@clsextension{cls}
\def\@pkgextension{sty}
-\@onlypreamble\@clsextension
-\@onlypreamble\@pkgextension
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -811,10 +835,11 @@
%
% \begin{macro}{\@ptionlist}
% Returns the option list of the file.
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
\def\@ptionlist#1{%
\@ifundefined{opt@#1}\@empty{\csname opt@#1\endcsname}}
-\@onlypreamble\@ptionlist
+%\@onlypreamble\@ptionlist
% \end{macrocode}
% \end{macro}
%
@@ -824,11 +849,10 @@
% Checks to see whether a file has been loaded.
% \changes{v0.2t}{1994/01/18}
% {Fix typo \cs{@pkgetension}}
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
\def\@ifpackageloaded{\@ifl@aded\@pkgextension}
\def\@ifclassloaded{\@ifl@aded\@clsextension}
-\@onlypreamble\@ifpackageloaded
-\@onlypreamble\@ifclassloaded
% \end{macrocode}
%
% \begin{macrocode}
@@ -838,11 +862,12 @@
\else
\expandafter\@firstoftwo
\fi}
-\@onlypreamble\@ifl@aded
% \end{macrocode}
% \end{macro}
% \end{macro}
%
+%
+%
% \begin{macro}{\@ifpackagelater}
% \begin{macro}{\@ifclasslater}
% |\@ifpackagelater{|\meta{name}|}{YYYY/MM/DD}{|\meta{true
@@ -852,17 +877,17 @@
% A better name for it would therefore been
% |\@ifpackagelaterorequal| but it is in use for more than 30
% years, so \ldots
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
\def\@ifpackagelater{\@ifl@ter\@pkgextension}
\def\@ifclasslater{\@ifl@ter\@clsextension}
-\@onlypreamble\@ifpackagelater
-\@onlypreamble\@ifclasslater
% \end{macrocode}
% \end{macro}
% \end{macro}
%
%
%
+%
% \begin{macro}{\IfPackageAtLeastTF}
% \begin{macro}{\IfClassAtLeastTF}
% \begin{macro}{\IfFormatAtLeastTF}
@@ -870,6 +895,7 @@
% code}|}{|\meta{false code}|}|
% Test if the format is later or equal to the given date.
% \changes{v1.3k}{2020/04/07}{Macro added; also in rollback (gh/168)}
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
@@ -878,9 +904,6 @@
\def\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\let\IfPackageAtLeastTF\@ifpackagelater
\let\IfClassAtLeastTF\@ifclasslater
-\@onlypreamble\IfFormatAtLeastTF
-\@onlypreamble\IfPackageAtLeastTF
-\@onlypreamble\IfClassAtLeastTF
% \end{macrocode}
% For rollback pretend it was available since the beginning of dawn.
% \begin{macrocode}
@@ -899,11 +922,11 @@
% \end{macro}
%
% \begin{macro}{\@ifl@ter}
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
\def\@ifl@ter#1#2{%
\expandafter\@ifl@t@r
\csname ver@#2.#1\endcsname}
-\@onlypreamble\@ifl@ter
%</2ekernel>
% \end{macrocode}
%
@@ -942,9 +965,6 @@
%<*2ekernel>
% \end{macrocode}
%
-% \begin{macrocode}
-\@onlypreamble\@ifl@t@r
-% \end{macrocode}
% \end{macro}
%
% \changes{v1.1j}{2016/06/20}
@@ -974,17 +994,15 @@
% |\@ifpackagewith{|\meta{name}|}{|\meta{option-list}|}|
% Checks that \meta{option-list} is a subset of the options
% \textbf{with} which \meta{name} was loaded.
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
\def\@ifpackagewith{\@if@ptions\@pkgextension}
\def\@ifclasswith{\@if@ptions\@clsextension}
-\@onlypreamble\@ifpackagewith
-\@onlypreamble\@ifclasswith
% \end{macrocode}
%
% \begin{macrocode}
\def\@if@ptions#1#2{%
\@expandtwoargs\@if@pti@ns{\@ptionlist{#2.#1}}}
-\@onlypreamble\@if@ptions
% \end{macrocode}
%
% Probably shouldn't use |\CurrentOption| here\ldots (changed to
@@ -993,6 +1011,7 @@
% {Add extra ,s so `two' is not matched with `twocolumn'}
% \changes{v1.1i}{2011/08/19}
% {Re-jig definition after more stringent \cs{in@} test.}
+% \changes{v1.4e}{2021/07/19}{Drop \cs{@onlypreamble}}
% \begin{macrocode}
%</2ekernel>
%<latexrelease>\IncludeInRelease{2017/01/01}%
@@ -1038,12 +1057,45 @@
%<*2ekernel>
% \end{macrocode}
%
-% \begin{macrocode}
-\@onlypreamble\@if@pti@ns
-% \end{macrocode}
% \end{macro}
% \end{macro}
%
+%
+%
+%
+% \begin{macro}{\IfPackageLoadedTF,\IfPackageLoadedWithOptionsTF,
+% \IfClassLoadedTF,\IfClassLoadedWithOptionsTF}
+% More public names for the commands already available for a long time.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2021/11/15}%
+%<latexrelease> {\IfPackageLoadedtTF}{Test package loading}%
+\let \IfPackageLoadedTF \@ifpackageloaded
+\let \IfClassLoadedTF \@ifclassloaded
+\let \IfPackageLoadedWithOptionsTF \@ifpackagewith
+\let \IfClassLoadedWithOptionsTF \@ifclasswith
+% \end{macrocode}
+% For rollback pretend it was available since the beginning of dawn.
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\IfPackageLoadedtTF}{Test package loading}%
+%<latexrelease>
+%<latexrelease>\let \IfPackageLoadedTF \@ifpackageloaded
+%<latexrelease>\let \IfClassLoadedTF \@ifclassloaded
+%<latexrelease>\let \IfPackageLoadedWithOptionsTF \@ifpackagewith
+%<latexrelease>\let \IfClassLoadedWithOptionsTF \@ifclasswith
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
% \begin{macro}{\ProvidesPackage}
% Checks that the current filename is correct, and defines
% |\ver@filename|.
@@ -1979,8 +2031,9 @@
\ifx\@nnil##1\@nnil\else
% \end{macrocode}
%
+% \changes{v1.4d}{2021/07/12}{add \cs{unexpanded}}
% \begin{macrocode}
- \noexpand\@onefilewithoptions##1[{#2}][{#4}]%
+ \noexpand\@onefilewithoptions##1[{\unexpanded{#2}}][{#4}]%
\noexpand\@pkgextension
\fi
\expandafter\reserved@b
@@ -2289,7 +2342,7 @@
% \changes{v1.3u}{2020/11/20}
% {Copy option list to the requested package.}
% \changes{v1.4c}{2021/06/06}
-% {Copy raw raw options for gh/580}
+% {Copy raw options for gh/580}
% \begin{macrocode}
\expandafter\let
\csname opt@\@currpkg@reqd\expandafter\endcsname
@@ -2309,15 +2362,17 @@
% package otherwise, if it is \cs{@clsextension}, a class, so
% depending on that we execute different hooks. If the extension is
% neither, then it is another type of file without special hooks.
+% \changes{v1.4e}{2021/07/23}{Make class/name/before a one-time hook}
+% \changes{v1.4e}{2021/07/23}{Make package/name/before a one-time hook}
% \begin{macrocode}
%-----------------------------------------
\ifx\@currext\@pkgextension
\UseHook{package/before}%
- \UseHook{package/before/\@currname}%
+ \UseOneTimeHook{package/\@currname/before}%
\else
\ifx\@currext\@clsextension
\UseHook{class/before}%
- \UseHook{class/before/\@currname}%
+ \UseOneTimeHook{class/\@currname/before}%
\fi
\fi
% \end{macrocode}
@@ -2376,27 +2431,35 @@
% \end{macrocode}
% And same procedure, James, when we are finished loading, except
% that the hook order is now reversed.
+% \changes{v1.4e}{2021/07/23}{Make class/name/after a one-time hook}
+% \changes{v1.4e}{2021/07/23}{Make package/name/after a one-time hook}
% \begin{macrocode}
%-----------------------------------------
\ifx\@currext\@pkgextension
- \UseHook{package/after/\@currname}%
+ \UseOneTimeHook{package/\@currname/after}%
\UseHook{package/after}%
\else
\ifx\@currext\@clsextension
- \UseHook{class/after/\@currname}%
+ \UseOneTimeHook{class/\@currname/after}%
\UseHook{class/after}%
\fi
\fi}%
%-----------------------------------------
\@ifl@aded\@currext\@currname{}{\reserved@a}}
% \end{macrocode}
-% \end{macro}
-%
+%
+% \changes{v1.4f}{2021/08/25}{Declare non-generic package and class hooks}
+% Now declare the non-generic package and class hooks used above:
% \begin{macrocode}
-%</2ekernel|latexrelease>
+\NewHook{package/before}
+\NewHook{class/before}
+\NewReversedHook{package/after}
+\NewReversedHook{class/after}
% \end{macrocode}
-%
+% \end{macro}
+%
% \begin{macrocode}
+%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\@onefilewithoptions}{Hooks and unused options issue}%
diff --git a/macros/latex-dev/base/ltcmd.dtx b/macros/latex-dev/base/ltcmd.dtx
index 6f2153c6ea..04be2abfbf 100644
--- a/macros/latex-dev/base/ltcmd.dtx
+++ b/macros/latex-dev/base/ltcmd.dtx
@@ -34,8 +34,8 @@
%%% From File: ltcmd.dtx
%
% \begin{macrocode}
-\def\ltcmdversion{v1.0f}
-\def\ltcmddate{2021-06-04}
+\def\ltcmdversion{v1.0h}
+\def\ltcmddate{2021-08-30}
% \end{macrocode}
%
%<*driver>
@@ -343,8 +343,7 @@
%
% \begin{macro}{\@@_declare_cmd:Nnn, \@@_declare_expandable_cmd:Nnn}
% \begin{macro}{\@@_declare_cmd_aux:Nnn}
-% \begin{macro}
-% {\@@_declare_cmd_internal:Nnnn, \@@_declare_cmd_internal:cnxn}
+% \begin{macro}{\@@_declare_cmd_internal:Nnnn}
% The main functions for creating commands set the appropriate flag then
% use the same internal code to do the definition.
% \begin{macrocode}
@@ -400,7 +399,6 @@
#4
\@@_break_point:n {#2}
}
-\cs_generate_variant:Nn \@@_declare_cmd_internal:Nnnn { cnx }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -565,15 +563,8 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_declare_env_internal:nnnn #1#2#3#4
{
- \@@_declare_cmd_internal:cnxn { environment~ #1 } {#2}
- {
- \cs_set_nopar:Npx \exp_not:c { environment~ #1 ~end~aux }
- {
- \exp_not:N \exp_not:N \exp_not:c { environment~ #1~end~aux~ }
- \exp_not:n { \exp_not:o \l_@@_args_tl }
- }
- \exp_not:n {#3}
- }
+ \exp_args:Nc \@@_declare_cmd_internal:Nnnn { environment~ #1 } {#2}
+ {#3}
{
\cs_set_nopar:cpx { environment~ #1 ~end }
{ \exp_not:c { environment~ #1 ~end~aux } }
@@ -584,6 +575,14 @@
\cs_set_eq:cc { end #1 } { environment~ #1 ~end }
}
}
+\cs_new_protected:Npn \@@_set_environment_end:n #1
+ {
+ \cs_set_nopar:cpx { environment~ #1 ~end~aux }
+ {
+ \exp_not:c { environment~ #1 ~end~aux~ }
+ \exp_not:o \l_@@_args_tl
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -639,7 +638,10 @@
\tl_set:Nn \l_@@_fn_code_tl {#2}
\tl_set:Nn \l_@@_defaults_tl {#5}
\tl_set:Nn \l_@@_process_all_tl {#6}
- #4 \@@_run_code:
+ #4
+ \bool_if:NT \l_@@_environment_bool
+ { \exp_args:No \@@_set_environment_end:n \l_@@_environment_str }
+ \@@_run_code:
}
\cs_generate_variant:Nn \@@_start_aux:NNnnnn { cc }
% \end{macrocode}
@@ -1505,12 +1507,21 @@
%
% \begin{macro}{\@@_add_type_E:w}
% The \texttt{E}-type argument needs a special handling of default
-% values.
+% values. Since each embellishment is a separate argument, it
+% also needs to replicate the argument processors for each embellishment
+% argument so that the numbers of arguments and processors remain in sync.
+% \changes{v1.0g}{2021/08/07}
+% {Replicate argument processors for all embellishments (gh/639)}
% \begin{macrocode}
\cs_new_protected:Npn \@@_add_type_E:w #1#2
{
\@@_flush_m_args:
\@@_add_default_E:nn {#1} {#2}
+ \use:x
+ {
+ \@@_replicate_processor:nn { \tl_count:n {#1} }
+ { \exp_not:o \l_@@_process_one_tl }
+ }
\@@_add_grabber:N E
\tl_put_right:Nn \l_@@_signature_tl { {#1} }
\@@_prepare_signature:N
@@ -1518,6 +1529,48 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_replicate_processor:nn}
+% In the command's argument processor signature (the final argument of
+% \cs{@@_start:nNNnnn}) there is one braced item for each formal
+% argument (up to nine), and in each of these items there is one
+% braced item for each processor (as many as there were processors
+% declared for a given argument). Something like this:
+% \begin{quote}
+% \ttfamily \obeylines
+% \{ \% argument processors
+% \ \ \{ \% argument 1
+% \ \ \ \ \{ processor 1 \} \{ processor 2 \} \ldots\ \{ processor n \}
+% \ \ \} \% end argument 1
+% \ \ \{ \ldots\ \} \% argument 2
+% \ \ \ \ \ \vdots
+% \ \ \{ \ldots\ \} \% argument n
+% \} \% end argument processors
+% \end{quote}
+%
+% The function \cs{@@_add_grabber:N} adds one single grabber for an
+% argument, and adds the braced item for that one argument. However,
+% in an |E|-type argument each embellishment requires its own formal
+% argument, so we need to break out of one layer of braces in
+% \cs{l_@@_process_one_tl}, add copies of the processor as necessary,
+% and then return the removed brace. The function below does just
+% that: it defines \cs{l_@@_process_one_tl} starting with a |}|$_2$
+% and ending with a |{|$_1$, so that it adds as many processors as
+% needed when |x|-expanded.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_replicate_processor:nn #1 #2
+ {
+ \int_compare:nNnF {#1} > { 1 } { \use_none:nnn }
+ \tl_set:Nx \l_@@_process_one_tl
+ {
+ \exp_not:n { \exp_not:n {#2} \if_false: { \fi: } }
+ \prg_replicate:nn { #1 - 2 }
+ { \exp_not:n { \exp_not:n { {#2} } } }
+ \exp_not:n { { \if_false: } \fi: \exp_not:n {#2} }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@@_add_type_m:w}
% The \texttt{m} type is special as short arguments which are not
% post-processed are simply counted at this stage. Thus there is a check
@@ -1608,6 +1661,8 @@
% \cs{l_@@_obey_spaces_bool} boolean can only be \texttt{true} for
% trailing optional arguments. In that case spaces will not be
% ignored when looking for that optional argument.
+% \changes{v1.0g}{2021/08/07}
+% {Replicate argument processors for all embellishments (gh/639)}
% \begin{macrocode}
\cs_new_protected:Npn \@@_add_grabber:N #1
{
@@ -1624,7 +1679,12 @@
\bool_set_false:N \l_@@_long_bool
\bool_set_false:N \l_@@_obey_spaces_bool
\tl_put_right:Nx \l_@@_process_all_tl
- { { \exp_not:o \l_@@_process_one_tl } }
+ {
+ {
+ \if_charcode:w E #1 \use_i:nn \fi:
+ \exp_not:o \l_@@_process_one_tl
+ }
+ }
\tl_clear:N \l_@@_process_one_tl
}
% \end{macrocode}
@@ -1676,8 +1736,7 @@
% We have already checked that short arguments are before long
% arguments, so \cs{l_@@_long_bool} only changes from \texttt{false}
% to \texttt{true} once (and there is no need to reset it after each
-% argument). Also knock back the argument count because |+| is not an
-% argument. Continue the loop.
+% argument). Continue the loop.
% \begin{macrocode}
\cs_new_protected:cpn { @@_add_expandable_type_+:w }
{
@@ -1875,6 +1934,657 @@
% \end{macro}
% \end{macro}
%
+% \subsubsection{Copying a command and its internal structure}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\@@_copy:NN}%
+%<latexrelease> {Support~\NewCommandCopy~in~ltcmd}
+% \end{macrocode}
+%
+% \changes{v1.0h}{2021/08/30}{Added support for \cs{NewCommandCopy}}
+% Since the 2020-10-01 \LaTeXe{} release, support for copying, and
+% showing the definition of, robust commands has been available, but the
+% specifics of each command are implemented separately. Here we'll add
+% support for copying and showing \pkg{ltcmd} definitions.
+%
+% To fully support copying, we need two commands: a conditional to test
+% if a command is in fact a \pkg{ltcmd} command, and another command to
+% actually copy the command. The conditional is defined later as
+% \cs{__kernel_cmd_if_xparse:NTF}, so now to the copying:
+%
+% \begin{macro}{\@@_copy:NN}
+% \begin{macro}{\@@_set_eq_if_exist:NN,\@@_set_eq_if_exist:cc}
+% This macro just branches to the proper copying command by using
+% \cs{@@_cmd_type_cases:NnnnnF}. The copying command takes the names
+% of the commands to be copied to and from, and the actual commands
+% as its four arguments.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy:NN #1 #2
+ {
+ \use:x
+ {
+ \int_set:Nn \tex_escapechar:D { 92 }
+ \exp_not:N \@@_cmd_type_cases:NnnnnF \exp_not:N #2
+ { \@@_copy_command:nnNN }
+ { \@@_copy_expandable:nnNN }
+ { \@@_copy_environment:nnNN }
+ { \@@_copy_environment_end:nnNN }
+ { \@@_cant_copy:nwn { non-ltcmd } }
+ { \cs_to_str:N #1 } { \cs_to_str:N #2 }
+ \exp_not:N #1 \exp_not:N #2
+ \exp_not:N \@@_break_point:n { \cs_to_str:N #2 }
+ \int_set:Nn \tex_escapechar:D { \int_use:N \tex_escapechar:D }
+ }
+ }
+\cs_new_protected:Npn \@@_set_eq_if_exist:NN #1 #2
+ { \cs_if_exist:NTF #2 { \cs_set_eq:NN } { \use_none:nn } #1 #2 }
+\cs_generate_variant:Nn \@@_set_eq_if_exist:NN { cc }
+% \end{macrocode}
+%
+% \begin{macro}{\@@_cant_copy:nwn}
+% An utility macro similar to \cs{@@_bad_def:wn} to abort a command
+% copy. Contrary to \cs{@@_bad_def:wn} though, when this happens the
+% issue is most likely internal, because the command was already
+% (supposedly) correcly defined so it should be copyable. Hopefully
+% this macro will never be used ever, but if it does, apologise and
+% give the reason for the failure so the user can report.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cant_copy:nwn #1 #2 \@@_break_point:n #3
+ { \msg_error:nnnn { cmd } { copy-bug } {#1} {#3} }
+\msg_new:nnn { cmd } { copy-bug }
+ {
+ Error~while~copying~command~\iow_char:N\\#2:\\
+ \str_case:nn {#1}
+ {
+ { non-ltcmd } { Command~is~not~a~valid~ltcmd~command. }
+ { unknown-type } { Found~an~unknown~argument~type. }
+ { invalid-end }
+ { Target~command~is~not~named~\iow_char:N \\end<name>. }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% And, of course, add \cs{__kernel_cmd_if_xparse:NTF} and
+% \cs{@@_copy:NN} to \cs{@declarecommandcopylisthook}:
+% \begin{macrocode}
+\tl_gput_right:Nn \@declarecommandcopylisthook
+ { { \__kernel_cmd_if_xparse:NTF \@@_copy:NN } }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_copy_command:nnNN,\@@_copy_command:NnNNnnnn}
+% A normal (non-expandable) command has a pretty straightforward
+% structure. Its definition is stored in
+% \cs{\meta{cmd}\textvisiblespace code}, its defaults (if any) are
+% stored in \cs{\meta{cmd}\textvisiblespace defaults}, and its
+% top-level definition contains its signature, which can just be
+% copied over. \cs{@@_copy_command:nnNN} copies the command code and
+% defaults, and then defines the top-level command using the auxiliary
+% \cs{@@_copy_command:NnNNnnnn}. This macro takes the signature of
+% the command being copied from its top-level definition, and replaces
+% the named bits with the new name.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_command:nnNN #1 #2 #3 #4
+ {
+ \cs_set_eq:cc { #1 ~ code } { #2 ~ code }
+ \@@_set_eq_if_exist:cc { #1 ~ defaults } { #2 ~ defaults }
+ \cs_set_protected_nopar:Npx #3
+ { \exp_after:wN \@@_copy_command:NnNNnnnn #4 {#1} }
+ }
+\cs_new:Npn \@@_copy_command:NnNNnnnn #1 #2 #3 #4 #5 #6 #7 #8
+ {
+ #1 \exp_not:n { {#2} }
+ \exp_not:c { #8 ~ } \exp_not:c { #8 ~ code }
+ \exp_not:n { {#5} {#6} {#7} }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_copy_expandable:nnNN,\@@_copy_expandable:NnNNNNnnn}
+% An expandable command is slightly more complicated. Besides the
+% \cs{\meta{cmd}\textvisiblespace code}, and
+% \cs{\meta{cmd}\textvisiblespace defaults}, it also has an auxiliary
+% \cs{\meta{cmd}\textvisiblespace} for grabbing delimited arguments,
+% and possibly another auxiliary
+% \cs{\meta{cmd}\textvisiblespace\textvisiblespace}, if the command
+% has both long and short arguments. Then, its signature also has
+% several specific bits that are unique to that command; this is in contrast to
+% non-expandable commands, which use a common set of parsing functions.
+%
+% We start by copying the basics, then call
+% \cs{@@_copy_expandable_signature:NnNNNNnnn} to parse the signature
+% of the command and build up the modified copy in a temporary token list,
+% then we call \cs{@@_copy_expandable:NnNNNNnnn} that will copy the
+% top-level definition of the command, with the proper internal
+% renames.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_expandable:nnNN #1 #2 #3 #4
+ {
+ \cs_set_eq:cc { #1 ~ code } { #2 ~ code }
+ \@@_set_eq_if_exist:cc { #1 ~ } { #2 ~ }
+ \@@_set_eq_if_exist:cc { #1 ~ \c_space_tl } { #2 ~ \c_space_tl }
+ \@@_set_eq_if_exist:cc { #1 ~ defaults } { #2 ~ defaults }
+ \exp_after:wN \@@_copy_expandable_signature:NnNNNNnnn #4 {#1} {#2}
+ \cs_set_nopar:Npx #3
+ { \exp_after:wN \@@_copy_expandable:NnNNNNnnn #4 {#1} {#2} }
+ }
+\cs_new:Npn \@@_copy_expandable:NnNNNNnnn #1 #2 #3 #4 #5 #6 #7 #8 #9
+ {
+ \exp_not:N #1 \exp_not:n { {#2} }
+ \exp_not:c { #8 ~ }
+ \exp_not:c
+ {
+ #8 ~
+ \str_if_eq:eeT
+ { \exp_not:c { #9 ~ \c_space_tl } } { \exp_not:N #4 }
+ { \c_space_tl }
+ }
+ \exp_not:c { #8 ~ code }
+ \str_if_eq:eeTF { \exp_not:N #6 } { ? }
+ { ? }
+ { \exp_not:c { #8 ~ defaults } }
+ { \exp_not:V \l_@@_tmpa_tl }
+ }
+% \end{macrocode}
+%
+% \begin{macro}{
+% \@@_copy_expandable_signature:NnNNNNnnn,
+% \@@_copy_expandable:nnN,
+% \@@_copy_parse_grabber:w,
+% }
+% A signature for an expandable command contains as many
+% \cs{expandable_grab_\meta{type}:w} as there are arguments, and what
+% follows this macro depends on the \meta{type}. We'll start a loop
+% through the signature, and at each argument grabber, we'll step the
+% argument count, and look for the \meta{type} with
+% \cs{@@_copy_parse_grabber:w} so that we know which
+% \cs{@@_copy_grabber_\meta{type}:w} to call next.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_expandable_signature:NnNNNNnnn
+ #1 #2 #3 #4 #5 #6 #7 #8 #9
+ {
+ \int_zero:N \l_@@_current_arg_int
+ \tl_clear:N \l_@@_tmpa_tl
+ \@@_copy_expandable:nnN {#8} {#9} #7
+ \q_recursion_tail \q_recursion_stop
+ }
+\cs_new_protected:Npn \@@_copy_expandable:nnN #1 #2 #3
+ {
+ \quark_if_recursion_tail_stop:n {#3}
+ \int_incr:N \l_@@_current_arg_int
+ \exp_after:wN \@@_copy_parse_grabber:w \token_to_str:N #3 {#1} {#2}
+ }
+\use:x
+ {
+ \cs_new_protected:Npn \exp_not:N \@@_copy_parse_grabber:w ##1
+ \tl_to_str:n { expandable_grab_ } ##2 \tl_to_str:n { :w }
+ {
+ \tl_put_right:Nx \exp_not:N \l_@@_tmpa_tl
+ { \exp_not:N \exp_not:c { @@_expandable_grab_##2:w } }
+ \exp_not:N \cs_if_exist_use:cF { @@_copy_grabber_##2:w }
+ { \@@_cant_copy:nwn { unknown-type } }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macro}{
+% \@@_copy_grabber_D:w,\@@_copy_grabber_D_alt:w,
+% \@@_copy_grabber_R:w,\@@_copy_grabber_R_alt:w,
+% \@@_copy_grabber_E:w,\@@_copy_grabber_E_long:w,
+% \@@_copy_grabber_t:w,
+% \@@_copy_grabber_m:w,\@@_copy_grabber_m_long:w,
+% }
+% The most complicated is the |D|elimited argument: each argument has
+% a dedicated grabbing function named after the command that has to be
+% copied over (of the form
+% \cs{\meta{cmd}\textvisiblespace(arg\textvisiblespace\meta{num})}).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_grabber_D:w #1 #2 #3 #4 #5
+ {
+ \tl_put_right:Nx \l_@@_tmpa_tl
+ {
+ \exp_not:c { #1 ~ (arg ~ \int_use:N \l_@@_current_arg_int ) }
+ \exp_not:n { #4 #5 }
+ }
+ \cs_set_eq:cc
+ { #1 ~ (arg ~ \int_use:N \l_@@_current_arg_int ) }
+ { #2 ~ (arg ~ \int_use:N \l_@@_current_arg_int ) }
+ \@@_copy_expandable:nnN {#1} {#2}
+ }
+% \end{macrocode}
+%
+% |D_alt| is just a special case of |D| that uses a single delimiter
+% (used when both delimiters of the argument are identical):
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_grabber_D_alt:w #1 #2 #3 #4
+ { \@@_copy_grabber_D:w {#1} {#2} {#3} {#4} { } }
+% \end{macrocode}
+%
+% As far as copying is concerned, |R| is identical to |D|:
+% \begin{macrocode}
+\cs_new_eq:NN \@@_copy_grabber_R:w \@@_copy_grabber_D:w
+\cs_new_eq:NN \@@_copy_grabber_R_alt:w \@@_copy_grabber_D_alt:w
+% \end{macrocode}
+%
+% |E| is straightforward: we just copy the embellishments over, and
+% increase the current argument number \cs{l_@@_current_arg_int} by
+% the number of embellishments (minus one because there is a
+% \cs{int_incr:N} down the line).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_grabber_E:w #1 #2 #3 #4
+ {
+ \tl_put_right:Nn \l_@@_tmpa_tl { {#3} {#4} }
+ \int_add:Nn \l_@@_current_arg_int { \tl_count:n {#4} - 1 }
+ \@@_copy_expandable:nnN {#1} {#2}
+ }
+\cs_new_eq:NN \@@_copy_grabber_E_long:w \@@_copy_grabber_E:w
+% \end{macrocode}
+%
+% |t| just needs copying the token to be tested for:
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_grabber_t:w #1 #2 #3 #4
+ {
+ \tl_put_right:Nn \l_@@_tmpa_tl { #3 #4 }
+ \@@_copy_expandable:nnN {#1} {#2}
+ }
+% \end{macrocode}
+%
+% And last but not least, |m| is the simplest; the grabber is just
+% \cs{@@_expandable_grab_m:w}, which is already added to the new
+% command so here we just resume the loop:
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_grabber_m:w { \@@_copy_expandable:nnN }
+\cs_new_eq:NN \@@_copy_grabber_m_long:w \@@_copy_grabber_m:w
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_copy_environment:nnNN}
+% \begin{macro}{\@@_copy_environment:Nnnnnnn}
+% Copying an environment's \cs{begin} part is pretty much like copying
+% a command, except it has a longer name, and at the end we have to
+% copy \cs[no-index]{environment~\meta{name}} into
+% \cs[no-index]{\meta{name}}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_environment:nnNN #1 #2 #3 #4
+ {
+ \cs_set_eq:cc { environment~ #1 ~ code } { environment~ #2 ~ code }
+ \@@_set_eq_if_exist:cc
+ { environment~ #1 ~ defaults } { environment~ #2 ~ defaults }
+ \cs_set_protected_nopar:cpx { environment~ #1 }
+ { \exp_after:wN \@@_copy_environment:Nnnnnnn #4 {#1} }
+ \cs_set_eq:cc {#1} { environment~ #1 }
+ }
+\cs_new:Npn \@@_copy_environment:Nnnnnnn #1 #2 #3 #4 #5 #6 #7
+ { #1 \exp_not:n { {#2} } {#7} \exp_not:n { {#4} {#5} {#6} } }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_copy_environment_end:nnNN}
+% \begin{macro}{\@@_copy_environment_end_aux:nnNN}
+% Copying an environment's \cs{end} part is a bit trickier. We first
+% have to make sure that both parts are named
+% \cs[no-index]{end\meta{name}} (that's actually not a hard
+% requirement, but an environment \cs{end} command makes no sense
+% without the |end| in its name), and strip the leading |end| from the
+% strings. After that, copying is straightforward.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_environment_end:nnNN #1 #2
+ {
+ \@@_check_end:Nn \l_@@_tmpa_tl {#1}
+ \@@_check_end:Nn \l_@@_tmpb_tl {#2}
+ \exp_args:Noo \@@_copy_environment_end_aux:nnNN
+ { \l_@@_tmpa_tl } { \l_@@_tmpb_tl }
+ }
+\cs_new_protected:Npn \@@_copy_environment_end_aux:nnNN #1 #2 #3 #4
+ {
+ \cs_set_nopar:cpx { environment~ #1 ~end }
+ { \exp_not:c { environment~ #1 ~end~aux } }
+ \cs_set_eq:cc
+ { environment~ #1 ~end~aux~ } { environment~ #2 ~end~aux~ }
+ \cs_set_eq:cc { end #1 } { environment~ #1 ~end }
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\@@_check_end:Nn,\@@_check_end:n,\@@_check_end:w}
+% To check whether an \cs{end} command is valid, we look for the
+% string |end| at the beginning of the command name, and if not found,
+% raise an error:
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_check_end:Nn #1 #2
+ {
+ \tl_set:Nx #1 { \@@_check_end:n {#2} }
+ \token_if_eq_meaning:NNT #1 \q_nil
+ { \@@_cant_copy:nwn { invalid-end } }
+ }
+\cs_set_protected:Npn \@@_tmp:w #1
+ {
+ \cs_new:Npn \@@_check_end:n ##1
+ {
+ \exp_after:wN \@@_check_end:w \tl_to_str:n {##1}
+ #1 \q_mark #1 \q_stop
+ }
+ \cs_new:Npn \@@_check_end:w ##1 #1 ##2 #1 ##3 \q_stop
+ { \if_meaning:w ##2 \q_mark \exp_not:N \q_nil \else: ##2 \fi: }
+ }
+\exp_args:No \@@_tmp:w { \tl_to_str:n { end } }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% Not much to do regarding \pkg{latexrelease}: we could remove the
+% entries from \cs{@declarecommandcopylisthook}, but it doesn't seem
+% worth it.
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/10/01}{\@@_copy:NN}%
+%<latexrelease> {Support~\NewCommandCopy~in~ltcmd}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \subsubsection{Showing the definition of a command}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\@@_show:N}%
+%<latexrelease> {Support~\ShowCommand~in~ltcmd}
+% \end{macrocode}
+%
+% \changes{v1.0h}{2021/08/30}{Added support for \cs{ShowCommand}}
+% To show the definition of a command we need more or less the same
+% building blocks as for copying, except that instead of making a copy,
+% we'll just print stuff to the terminal.
+%
+% \begin{macro}{\@@_show:N}
+% This macro just branches to the proper showing command by using
+% \cs{@@_cmd_type_cases:NnnnnF}. The showing command takes the command
+% to be shown as argument.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_show:N #1
+ {
+ \use:x
+ {
+ \int_set:Nn \tex_escapechar:D { 92 }
+ \exp_not:N \@@_cmd_type_cases:NnnnnF \exp_not:N #1
+ { \@@_show_command:N }
+ { \@@_show_expandable:N }
+ { \@@_show_environment:N }
+ { \@@_show_environment_end:N }
+ { \@@_cant_copy:nwn { non-ltcmd } }
+ \exp_not:N #1
+ \exp_not:N \@@_break_point:n { \cs_to_str:N #1 }
+ \int_set:Nn \tex_escapechar:D { \int_use:N \tex_escapechar:D }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \@@_show_command:N,
+% \@@_show_command:NnNNwN,
+% \@@_show_expandable:N,
+% \@@_show_expandable:NnNNNNnN,
+% \@@_show_command_aux:nNNn,
+% \@@_show_environment:N,
+% }
+% These commands just expand the command once to reveal its innards,
+% then pass the type of command, the control sequence, the signature,
+% and the code macro to \cs{@@_show_command_aux:nNNn}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_show_command:N #1
+ { \exp_after:wN \@@_show_command:NnNNwN #1 \q_@@ #1 }
+\cs_new_protected:Npn \@@_show_command:NnNNwN #1 #2 #3 #4 #5 \q_@@ #6
+ { \@@_show_command_aux:nNNn { document~command } #6 #4 {#2} }
+\cs_new_protected:Npn \@@_show_expandable:N #1
+ { \exp_after:wN \@@_show_expandable:NnNNNNnN #1 #1 }
+\cs_new_protected:Npn \@@_show_expandable:NnNNNNnN #1 #2 #3 #4 #5 #6 #7 #8
+ { \@@_show_command_aux:nNNn { expandable~document~command } #8 #5 {#2} }
+% \end{macrocode}
+%
+% Now just print everything in the required format. The auxiliary
+% \cs{@@_split_signature:n} stores a ready-to-print token list in
+% \cs{l_@@_tmpa_tl}, so we ust use that here:
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_show_command_aux:nNNn #1 #2 #3 #4
+ {
+ \@@_split_signature:n {#4}
+ \iow_term:x
+ {
+ > ~ \token_to_str:N #2 = #1: \iow_newline:
+ \tl_use:N \l_@@_tmpa_tl
+ -> \cs_replacement_spec:N #3 .
+ }
+ }
+% \end{macrocode}
+%
+% We can reuse most of the above to show an environment, except that
+% we need to ensure that the proper \cs[no-index]{environment~\ldots}
+% are passed to \cs{@@_show_command_aux:nNNn}. Additionally, when
+% |\ShowCommand\foo| is used (if |foo| is an environment), we show
+% |\endfoo| as well, and when |\ShowCommand\endfoo| is used, change
+% that to |\ShowCommand\foo| and do the same.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_show_environment:N #1
+ {
+ \exp_after:wN \@@_show_environment:Nnnw #1 \q_@@
+ \iow_term:x
+ {
+ > ~ \token_to_str:N \end { \cs_to_str:N #1 } : \iow_newline:
+ -> \exp_args:Nc \cs_replacement_spec:N
+ { environment~ \cs_to_str:N #1 ~end~aux~ } .
+ }
+ }
+\cs_new_protected:Npn \@@_show_environment:Nnnw #1 #2 #3 #4 \q_@@
+ {
+ \use:x
+ {
+ \@@_show_command_aux:nNNn { document~environment }
+ { \exp_not:N \begin {#3} }
+ \exp_not:c { environment~ #3 ~ code }
+ {#2}
+ }
+ }
+\cs_new_protected:Npn \@@_show_environment_end:N #1
+ {
+ \exp_args:NNx \@@_check_end:Nn \l_@@_tmpa_tl { \cs_to_str:N #1 }
+ \exp_args:Nc \@@_show_environment:N { \l_@@_tmpa_tl }
+ }
+% \end{macrocode}
+%
+% And, of course, add \cs{__kernel_cmd_if_xparse:NTF} and
+% \cs{@@_show:N} to \cs{@showcommandlisthook}:
+% \begin{macrocode}
+\tl_gput_right:Nn \@showcommandlisthook
+ { { \__kernel_cmd_if_xparse:NTF \@@_show:N } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_split_signature:n}
+% Now we'll try a least-effort adventure into splitting the symbolic
+% user-provided signature for a command into individual parameters for
+% pretty-printing. A counter is used to keep track of the current
+% argument number, and two token lists are used: \cs{l_@@_tmpa_tl}
+% holds the final token list to be printed, and \cs{l_@@_tmpb_tl}
+% holds just the current item, so that we can make changes to an
+% individual item without having to dissect the whole thing (this is
+% used for |e|- and |E|-types).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_split_signature:n #1
+ {
+ \int_set:Nn \l_@@_current_arg_int { 1 }
+ \tl_clear:N \l_@@_tmpa_tl
+ \tl_clear:N \l_@@_tmpb_tl
+ \@@_split_signature_loop:Nw #1 \q_recursion_tail \q_recursion_stop
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\@@_split_signature_loop:Nw}
+% This is the main chunk of the loop: it starts an item with
+% \cs{@@_split_start_item:}
+% (this adds indentation and the argument number to
+% \cs{l_@@_tmpb_tl}), then checks if a special token list
+% \cs[no-index]{c_@@_show_type_\meta{type}_tl} exists. If it doesn't,
+% the current argument is a ``simple'' type which needs no extra
+% processing. Otherwise, call a specific function depending on the
+% value of said token list.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_split_signature_loop:Nw #1
+ {
+ \quark_if_recursion_tail_stop:N #1
+ \tl_if_empty:NT \l_@@_tmpb_tl { \@@_split_start_item: }
+ \tl_if_exist:cTF { c_@@_show_type_#1_tl }
+ {
+ \use:c
+ {
+ @@_show_
+ \if_case:w \tl_use:c { c_@@_show_type_#1_tl } \exp_stop_f:
+ delim \or: delims \or: delims_opt \or: opt \or:
+ e \or: E \or: prefix \or: processor \fi: :Nw
+ } #1
+ }
+ { \@@_split_end_item:n {#1} \@@_split_signature_loop:Nw }
+ }
+% \end{macrocode}
+%
+% \begin{macro}{
+% \c_@@_show_type_t_tl,
+% \c_@@_show_type_r_tl,\c_@@_show_type_d_tl,
+% \c_@@_show_type_R_tl,\c_@@_show_type_D_tl,
+% \c_@@_show_type_O_tl,
+% \c_@@_show_type_e_tl,
+% \c_@@_show_type_E_tl,
+% \c_@@_show_type_+_tl,\c_@@_show_type_!_tl,
+% \c_@@_show_type_>_tl,
+% }
+% The token lists \cs[no-index]{c_@@_show_type_\meta{type}_tl} exist
+% for nontrivial (for printing) \meta{types} that require special
+% parsing (like delimiters or optional arguments). Values from~0 to~7
+% are assigned to each type:
+% \begin{enumerate}
+% \item a single delimiter token;
+% \item two delimiter tokens;
+% \item two delimiter tokens plus a default value;
+% \item a default value;
+% \item a list of embellishments (exclusive for |e|-type);
+% \item embellishments plus defaults (exclusive for |E|-type);
+% \item simple prefixes;
+% \item prefixes with arguments (argument processors);
+% \end{enumerate}
+% \begin{macrocode}
+\cs_set_protected:Npn \@@_tmp:w #1 #2
+ {
+ \quark_if_nil:nF {#1}
+ { \tl_const:cn { c_@@_show_type_#1_tl } {#2} \@@_tmp:w }
+ }
+\@@_tmp:w t0 r1 d1 R2 D2 O3 e4 E5 +6 !6 >7 \q_nil \q_nil
+% \end{macrocode}
+%
+% \begin{macro}{
+% \@@_show_delim:Nw,\@@_show_delims:Nw,
+% \@@_show_delims_opt:Nw,\@@_show_opt:Nw,
+% \@@_show_e:Nw,\@@_show_E:Nw,
+% \@@_show_prefix:Nw,\@@_show_processor:Nw,
+% }
+% Now, based on each type we know how to act. In most cases it is
+% just a matter of feeding in the grabbed arguments and resuming the
+% loop. The embellishments require a bit more attention: the
+% |e|-type loops through the list of embellishments and adds each to
+% the token list as a separate argument. The |E|-type does more or
+% less the same, but uses \cs{@@_tl_mapthread_function:nnN} to map
+% over two lists simultaneously, adding each token and default to the
+% token list for printing.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_show_delim:Nw #1 #2
+ { \@@_split_end_item:n { #1 #2 } \@@_split_signature_loop:Nw }
+\cs_new_protected:Npn \@@_show_delims:Nw #1 #2 #3
+ { \@@_split_end_item:n { #1 #2 #3 } \@@_split_signature_loop:Nw }
+\cs_new_protected:Npn \@@_show_delims_opt:Nw #1 #2 #3 #4
+ { \@@_split_end_item:n { #1 #2 #3 {#4} } \@@_split_signature_loop:Nw }
+\cs_new_protected:Npn \@@_show_opt:Nw #1 #2
+ { \@@_split_end_item:n { #1 {#2} } \@@_split_signature_loop:Nw }
+\cs_new_protected:Npn \@@_show_e:Nw #1 #2
+ {
+ \tl_map_inline:nn {#2}
+ {
+ \@@_split_start_item:
+ \@@_split_end_item:n { #1 ##1 }
+ }
+ \@@_split_signature_loop:Nw
+ }
+\cs_set_protected:Npn \@@_tmp:w #1
+ {
+ \cs_new_protected:Npn \@@_show_E:Nw ##1 ##2 ##3
+ {
+ \cs_set_protected:Npn \@@_tmp:w ####1 ####2
+ {
+ \@@_split_start_item:
+ \@@_split_end_item:n { ##1 ####1 {####2} }
+ }
+ \@@_tl_mapthread_function:nnN {##2}
+ { ##3 {#1} {#1} {#1} {#1} {#1} {#1} {#1} {#1} {#1} } \@@_tmp:w
+ \@@_split_signature_loop:Nw
+ }
+ }
+\exp_args:NV \@@_tmp:w \c_novalue_tl
+% \end{macrocode}
+%
+% Minor wrinkle with the prefixes: they use \cs{@@_split_add_item:n}
+% instead of \cs{@@_split_end_item:n} (|add| \emph{vs.} |end|) because
+% they are followed by an argument, so they can't end the item.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_show_prefix:Nw #1
+ { \@@_split_add_item:n {#1} \@@_split_signature_loop:Nw }
+\cs_new_protected:Npn \@@_show_processor:Nw #1 #2
+ { \@@_split_add_item:n { #1 {#2} } \@@_split_signature_loop:Nw }
+% \end{macrocode}
+%
+% \begin{macro}{
+% \@@_split_start_item:,
+% \@@_split_add_item:n,
+% \@@_split_end_item:n,
+% }
+% And now the auxiliaries that store the strings to be printed.
+% \cs{@@_split_start_item:} starts an item from scratch,
+% \cs{@@_split_add_item:n} adds tokens to an item without adding a
+% newline, and \cs{@@_split_end_item:n} adds tokens, terminates the
+% item with a newline, and steps the argument count.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_split_start_item:
+ {
+ \tl_set:Nx \l_@@_tmpb_tl
+ { ~ \c_space_tl \c_hash_str \int_use:N \l_@@_current_arg_int : }
+ }
+\cs_new_protected:Npn \@@_split_add_item:n #1
+ { \tl_put_right:Nx \l_@@_tmpb_tl { \tl_to_str:n {#1} } }
+\cs_new_protected:Npn \@@_split_end_item:n #1
+ {
+ \tl_put_right:Nx \l_@@_tmpa_tl
+ { \l_@@_tmpb_tl \tl_to_str:n {#1} \iow_newline: }
+ \tl_clear:N \l_@@_tmpb_tl
+ \int_incr:N \l_@@_current_arg_int
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% Not much to do regarding \pkg{latexrelease}: we could remove the
+% entries from \cs{@showcommandlisthook}, but it doesn't seem
+% worth it.
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%
+%<latexrelease>\IncludeInRelease{2020/10/01}{\@@_show:N}%
+%<latexrelease> {Support~\ShowCommand~in~ltcmd}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
% \subsection{Grabbing arguments}
%
% All of the grabbers follow the same basic pattern. The initial
@@ -2023,6 +2733,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+%
% \begin{macro}{\@@_grab_D_nested:NNnN}
% \begin{macro}{\@@_grab_D_nested:w}
% \begin{macro}{\l_@@_nesting_a_tl}
@@ -3375,8 +4086,11 @@
% \end{macro}
%
% \begin{macro}{\__kernel_cmd_if_xparse:NTF}
+% \begin{macro}{\@@_cmd_type_cases:Nnnnn}
% \changes{v1.0d}{2021/04/19}{Renamed \cs{__cmd_cmd_if_xparse:NTF} to
% \cs{__kernel_cmd_if_xparse:NTF} for cross-module usage}
+% \changes{v1.0d}{2021/07/30}{Added \cs{@@_cmd_type_cases:Nnnnn} for
+% \cs{NewCommandCopy} and \cs{ShowCommand} support}
% \begin{macro}{\@@_cmd_if_xparse_aux:N}
%
% To determine whether the command is an \pkg{xparse} command check
@@ -3384,31 +4098,50 @@
% that its |replacement_spec| starts with either
% \cs{@@_start:nNNnnn} (non-expandable command) or
% \cs{@@_start_expandable:nNNNNn} (expandable command) or
-% \cs{@@_start_env:nnnnn} (environment).
+% \cs{@@_start_env:nnnnn} (environment) or
+% \cs[no-index]{environment~\#1~end~aux} (environment end).
%
% This conditional is needed in several kernel modules and is
% therefore has a kernel-internal name.
% \begin{macrocode}
-\cs_new_protected:Npn \__kernel_cmd_if_xparse:NTF #1
+\cs_new_protected:Npn \@@_cmd_type_cases:NnnnnF #1 #2 #3 #4 #5 #6
{
- \exp_args:Nf \str_case_e:nnTF
+ \exp_args:Ne \str_case_e:nnF
{
\exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
{
- \exp_last_unbraced:Nf \@@_cmd_if_xparse_aux:w
- { \cs_replacement_spec:N #1 } ~ \q_stop
+ \token_if_macro:NT #1
+ {
+ \exp_after:wN \exp_after:wN
+ \exp_after:wN \token_to_str:N
+ \exp_after:wN \use_i_delimit_by_q_stop:nw
+ #1 \scan_stop: \q_stop
+ }
}
}
{
- { \token_to_str:N \@@_start:nNNnnn } { }
- { \token_to_str:N \@@_start_expandable:nNNNNn } { }
- { \token_to_str:N \@@_start_env:nnnnn } { }
+ { \token_to_str:N \@@_start:nNNnnn } {#2}
+ { \token_to_str:N \@@_start_expandable:nNNNNn } {#3}
+ { \token_to_str:N \@@_start_env:nnnnn } {#4}
+ {
+ \exp_after:wN \token_to_str:N
+ \cs:w environment~
+ \exp_last_unbraced:Ne \use_none:nnn
+ { \cs_to_str:N #1 } ~end~aux \cs_end:
+ } {#5}
}
+ {#6}
+ }
+\cs_new_protected:Npn \__kernel_cmd_if_xparse:NTF #1
+ {
+ \@@_cmd_type_cases:NnnnnF #1
+ { } { } { } { } { \use_iii:nnn }
+ \use_i:nn
}
-\cs_new:Npn \@@_cmd_if_xparse_aux:w #1 ~ #2 \q_stop {#1}
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_peek_nonspace:NTF, \@@_peek_nonspace_remove:NTF, \@@_peek_nonspace_aux:nNNTF}
% Collect spaces in a loop, and put the collected spaces back in the
@@ -3434,7 +4167,7 @@
% token is a control sequence, also check that the \meta{csname} is
% the same as the control sequence peeked at. This extra verification
% is necessary when the command is delimited by control sequence tokens
-% (as opposed to character tokens), and we want the the exact same
+% (as opposed to character tokens), and we want the exact same
% control sequence to match.
% \begin{macrocode}
\cs_new_protected:Npn \@@_peek_meaning:NTF
@@ -3541,6 +4274,13 @@
with~an~environment~that~already~has~a~definition. \\ \\
The~existing~definition~of~'#1'~will~not~be~altered.
}
+\msg_new:nnnn { cmd } { env-end-already-defined }
+ { End~of~environment~'#1'~already~defined. }
+ {
+ You~have~used~\NewDocumentEnvironment
+ with~an~environment~that~already~has~a~definition~for~'end#1'. \\ \\
+ The~existing~definition~of~'#1'~will~not~be~altered.
+ }
\msg_new:nnnn { cmd } { env-undefined }
{ Environment~'#1'~undefined. }
{
@@ -3829,6 +4569,7 @@
% \end{macro}
%
% \begin{macro}{\NewDocumentEnvironment}
+% \changes{v1.0h}{2021/08/27}{Check for end-of-environment command}
% \begin{macro}{\RenewDocumentEnvironment}
% \begin{macro}{\ProvideDocumentEnvironment}
% \begin{macro}{\DeclareDocumentEnvironment}
@@ -3838,7 +4579,11 @@
{
\cs_if_exist:cTF {#1}
{ \msg_error:nnx { cmd } { env-already-defined } {#1} }
- { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+ {
+ \cs_if_exist:cTF { end #1 }
+ { \msg_error:nnx { cmd } { env-end-already-defined } {#1} }
+ { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+ }
}
\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
{
diff --git a/macros/latex-dev/base/ltcmdhooks-code.pdf b/macros/latex-dev/base/ltcmdhooks-code.pdf
index 093f9d41bb..7dc8850331 100644
--- a/macros/latex-dev/base/ltcmdhooks-code.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks-doc.pdf b/macros/latex-dev/base/ltcmdhooks-doc.pdf
index 75febb8f36..6ee7bc215c 100644
--- a/macros/latex-dev/base/ltcmdhooks-doc.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks.dtx b/macros/latex-dev/base/ltcmdhooks.dtx
index 40cd55e52c..b6c57a41ac 100644
--- a/macros/latex-dev/base/ltcmdhooks.dtx
+++ b/macros/latex-dev/base/ltcmdhooks.dtx
@@ -13,8 +13,8 @@
%
%%% From File: ltcmdhooks.dtx
%
-\def\ltcmdhooksversion{v1.0b}
-\def\ltcmdhooksdate{2021/05/26}
+\def\ltcmdhooksversion{v1.0d}
+\def\ltcmdhooksdate{2021/08/25}
%
%
%
@@ -400,24 +400,44 @@
%
% \subsection{Patching or delaying}
%
-% \begin{macro}{\@@_try_put_cmd_hook:n,\@@_try_put_cmd_hook:w}
% Before |\begin{document}| all patching is delayed.
+%
+% \begin{macro}{\@@_try_put_cmd_hook:n,\@@_try_put_cmd_hook:w}
% This function is called from within \cs{AddToHook}, when code is
-% added to a generic |cmd| hook is newly declared. It checks whether
-% the patch position is valid, then proceeds to trying to patch or
-% delaying to |\begin{document}| if in the preamble.
+% first added to a generic |cmd| hook.
+% If it is called within in the preamble, it delays the action
+% until |\begin{document}|;
+% otherwise it tries to update the hook.
+% \changes{v1.0d}{2021/08/25}{Simplify generic hook detection}
% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\@@_try_put_cmd_hook:n}%
+%<latexrelease> {Standardise~generic~hook~names}
\cs_new_protected:Npn \@@_try_put_cmd_hook:n #1
{ \@@_try_put_cmd_hook:w #1 / / / \s_@@_mark {#1} }
\cs_new_protected:Npn \@@_try_put_cmd_hook:w
#1 / #2 / #3 / #4 \s_@@_mark #5
{
\@@_debug:n { \iow_term:n { ->~Adding~cmd~hook~to~'#2'~(#3): } }
- \str_case:nnTF {#3}
- { { before } { } { after } { } }
- { \exp_args:Nc \@@_patch_cmd_or_delay:Nnn {#2} {#2} {#3} }
- { \msg_error:nnnn { hooks } { wrong-cmd-hook } {#2} {#3} }
+ \exp_args:Nc \@@_patch_cmd_or_delay:Nnn {#2} {#2} {#3}
}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/06/01}{\@@_try_put_cmd_hook:n}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\cs_new_protected:Npn \@@_try_put_cmd_hook:n #1
+%<latexrelease> { \@@_try_put_cmd_hook:w #1 / / / \s_@@_mark {#1} }
+%<latexrelease>\cs_new_protected:Npn \@@_try_put_cmd_hook:w
+%<latexrelease> #1 / #2 / #3 / #4 \s_@@_mark #5
+%<latexrelease> {
+%<latexrelease> \@@_debug:n { \iow_term:n { ->~Adding~cmd~hook~to~'#2'~(#3): } }
+%<latexrelease> \str_case:nnTF {#3}
+%<latexrelease> { { before } { } { after } { } }
+%<latexrelease> { \exp_args:Nc \@@_patch_cmd_or_delay:Nnn {#2} {#2} {#3} }
+%<latexrelease> { \msg_error:nnnn { hooks } { wrong-cmd-hook } {#2} {#3} }
+%<latexrelease> }
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
%
@@ -592,17 +612,28 @@
%
% With \cs{@@_patch_DeclareRobustCommand:Nnn} we check if the command
% has an optional argument (with a test counter-intuitively called
-% \tn{@if@newcommand}). If so, we forward the action to
-% \cs{@@_patch_newcommand:Nnn}, otherwise call the patching engine
+% \tn{@if@newcommand}; also make sure the command doesn't take args by
+% calling \cs{robust@command@chk@safe}). If so, we pass the patching action
+% to \cs{@@_patch_newcommand:Nnn}, otherwise we call the patching engine
% \cs{@@_patch_expand_redefine:NNnn} with a \cs{c_false_bool} to
% indicate that there is no optional argument.
+%
+% \changes{v1.0c}{2021/07/20}
+% {Use \cs{robust@command@chk@safe} before \cs{@if@newcommand}.}
% \begin{macrocode}
\cs_new_protected:Npn \@@_patch_DeclareRobustCommand:Nnn #1
{
- \exp_args:Nc \@if@newcommand { \cs_to_str:N #1 ~ }
- { \exp_args:Nc \@@_patch_newcommand:Nnn }
- { \exp_args:NNc \@@_patch_expand_redefine:NNnn \c_false_bool }
- { \cs_to_str:N #1 ~ }
+ \exp_args:Nc \@@_patch_DeclareRobustCommand_aux:Nnn
+ { \cs_to_str:N #1 ~ }
+ }
+\cs_new_protected:Npn \@@_patch_DeclareRobustCommand_aux:Nnn #1
+ {
+ \robust@command@chk@safe #1
+ { \@if@newcommand #1 }
+ { \use_ii:nn }
+ { \@@_patch_newcommand:Nnn }
+ { \@@_patch_expand_redefine:NNnn \c_false_bool }
+ #1
}
% \end{macrocode}
% \end{macro}
@@ -1039,15 +1070,21 @@
% \subsection{Messages}
%
% \begin{macrocode}
-\msg_new:nnnn { hooks } { wrong-cmd-hook }
- {
- Generic~hook~`cmd/#1/#2'~is~invalid.
-% The~hook~should~be~`cmd/#1/before'~or~`cmd/#1/after'.
- }
- {
- You~tried~to~add~a~generic~hook~to~command~\iow_char:N \\#1,~but~`#2'~
- is~an~invalid~component.~Only~`before'~or~`after'~are~allowed.
- }
+%<latexrelease>\IncludeInRelease{2021/11/15}{wrong-cmd-hook}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2021/11/15}{wrong-cmd-hook}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\msg_new:nnnn { hooks } { wrong-cmd-hook }
+%<latexrelease> {
+%<latexrelease> Generic~hook~`cmd/#1/#2'~is~invalid.
+%<latexrelease>% The~hook~should~be~`cmd/#1/before'~or~`cmd/#1/after'.
+%<latexrelease> }
+%<latexrelease> {
+%<latexrelease> You~tried~to~add~a~generic~hook~to~command~\iow_char:N \\#1,~but~`#2'~
+%<latexrelease> is~an~invalid~component.~Only~`before'~or~`after'~are~allowed.
+%<latexrelease> }
+%<latexrelease>\EndIncludeInRelease
\msg_new:nnnn { hooks } { cant-patch }
{
Generic~hooks~cannot~be~added~to~'#1'.
diff --git a/macros/latex-dev/base/ltcounts.dtx b/macros/latex-dev/base/ltcounts.dtx
index 445cac2f2e..39fb47728d 100644
--- a/macros/latex-dev/base/ltcounts.dtx
+++ b/macros/latex-dev/base/ltcounts.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltcounts.dtx}
- [2020/12/04 v1.1l LaTeX Kernel (Counters)]
+ [2021/07/08 v1.1m LaTeX Kernel (Counters)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltcounts.dtx}
@@ -106,20 +106,22 @@
%
%
% \DescribeMacro\counterwithin
-% |\counterwithin|\marg{counter}\marg{within-counter}:
+% |\counterwithin|\oarg{format}\marg{counter}\marg{within-counter}:
% Resets \meta{counter} whenever
% \meta{within-counter} is stepped. Also
% redefines |\the|\meta{counter} command to produce
-% |\the|\meta{within-counter}|.\arabic|\marg{counter}.
+% |\the|\meta{within-counter}.\meta{format}\marg{counter} with \cs{arabic} as
+% the default for \meta{format}.
% Star form omits redefining the print representation.
%
% \DescribeMacro\counterwithout
-% |\counterwithout|\marg{counter}\marg{within-counter}:
+% |\counterwithout|\oarg{format}\marg{counter}\marg{within-counter}:
% Removes \meta{counter} from the reset list of \meta{within-counter}.
% Also
% redefines |\the|\meta{counter} command to produce
-% |\arabic|\marg{counter}.
+% \meta{format}\marg{counter} with \cs{arabic} as
+% the default for \meta{format}.
% Star form omits redefining the print representation.
%
% \StopEventually{}
@@ -371,67 +373,94 @@
#3}}}
% \end{macrocode}
% \end{macro}
-
-
-% \begin{macro}{\counterwithout}
%
-% \changes{v1.1k}{2018/03/08}{Interface added}
% \begin{macrocode}
-\def\counterwithout {\@ifstar\counterwithout@s\counterwithout@x}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}
+%<latexrelease> {\@removefromreset}{Add interfaces}%
+%<latexrelease>\let \@removefromreset \undefined
+%<latexrelease>\let \@ifbothcounters \undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
%
-% \begin{macrocode}
-\def\counterwithout@s#1#2{%
- \@ifbothcounters{#1}{#2}{\@removefromreset{#1}{#2}}}
-% \end{macrocode}
%
-% \begin{macrocode}
-\def\counterwithout@x#1#2{%
- \@ifbothcounters{#1}{#2}%
- {\@removefromreset{#1}{#2}%
- \expandafter
- \gdef\csname the#1\expandafter\endcsname\expandafter
- {\expandafter
- \@arabic\csname c@#1\endcsname}}}
-% \end{macrocode}
-% \end{macro}
-
-
-
-% \begin{macro}{\counterwithin}
%
-% \changes{v1.1k}{2018/03/08}{Interface added}
+%
+% \begin{macro}{\counterwithout,\counterwithin}
+% New implementation using xparse and supporting an optional
+% format argument.
+% \changes{v1.1m}{2021/07/08}{New implementation for
+% \cs{counterwithout} and \cs{counterwithin}}
% \begin{macrocode}
-\def\counterwithin{\@ifstar\counterwithin@s\counterwithin@x}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2021/11/15}%
+%<latexrelease> {\counterwithout}{counter without/within}%
% \end{macrocode}
%
% \begin{macrocode}
-\def\counterwithin@s#1#2{%
- \@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}}
+\NewDocumentCommand \counterwithout {sO{\arabic}mm}{%
+ \@ifbothcounters{#3}{#4}{%
+ \@removefromreset{#3}{#4}%
+ \IfBooleanF #1%
+ {\expandafter
+ \gdef\csname the#3\endcsname {#2{#3}}}%
+ }%
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \counterwithin {sO{\arabic}mm}{%
+ \@ifbothcounters{#3}{#4}{%
+ \@addtoreset{#3}{#4}%
+ \IfBooleanF #1%
+ {\expandafter
+ \gdef\csname the#3\expandafter\endcsname
+ \expandafter
+ {\csname the#4\endcsname .#2{#3}}}%
+ }%
+}
% \end{macrocode}
%
-% \changes{v1.1l}{2018/04/11}{Correct default (issue/38)}
+% \changes{v1.1k}{2018/03/08}{Interface added}
% \begin{macrocode}
-\def\counterwithin@x#1#2{%
- \@ifbothcounters{#1}{#2}%
- {\@addtoreset{#1}{#2}%
- \expandafter
- \gdef\csname the#1\expandafter\endcsname\expandafter
- {\csname the#2\expandafter\endcsname\expandafter
- .\expandafter
- \@arabic\csname c@#1\endcsname}}}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2018-04-01}
+%<latexrelease> {\counterwithout}{counter without/within}%
+%<latexrelease>
+%<latexrelease>\def\counterwithout {\@ifstar\counterwithout@s\counterwithout@x}
+%<latexrelease>\def\counterwithout@s#1#2{%
+%<latexrelease> \@ifbothcounters{#1}{#2}{\@removefromreset{#1}{#2}}}
+%<latexrelease>\def\counterwithout@x#1#2{%
+%<latexrelease> \@ifbothcounters{#1}{#2}%
+%<latexrelease> {\@removefromreset{#1}{#2}%
+%<latexrelease> \expandafter
+%<latexrelease> \gdef\csname the#1\expandafter\endcsname\expandafter
+%<latexrelease> {\expandafter
+%<latexrelease> \@arabic\csname c@#1\endcsname}}}
+%<latexrelease>
+%<latexrelease>\def\counterwithin{\@ifstar\counterwithin@s\counterwithin@x}
+%<latexrelease>\def\counterwithin@s#1#2{%
+%<latexrelease> \@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}}
% \end{macrocode}
-% \end{macro}
-
-
%
+% \changes{v1.1l}{2018/04/11}{Correct default (issue/38)}
% \begin{macrocode}
-%</2ekernel|latexrelease>
+%<latexrelease>\def\counterwithin@x#1#2{%
+%<latexrelease> \@ifbothcounters{#1}{#2}%
+%<latexrelease> {\@addtoreset{#1}{#2}%
+%<latexrelease> \expandafter
+%<latexrelease> \gdef\csname the#1\expandafter\endcsname\expandafter
+%<latexrelease> {\csname the#2\expandafter\endcsname\expandafter
+%<latexrelease> .\expandafter
+%<latexrelease> \@arabic\csname c@#1\endcsname}}}
+%<latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000-00-00}
-%<latexrelease> {\@removefromreset}{Add interfaces}%
-%<latexrelease>\let \@removefromreset \undefined
-%<latexrelease>\let \@ifbothcounters \undefined
+%<latexrelease> {\counterwithout}{counter without/within}%
%<latexrelease>\let \counterwithout \undefined
%<latexrelease>\let \counterwithout@s \undefined
%<latexrelease>\let \counterwithout@x \undefined
@@ -441,6 +470,9 @@
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
+% \end{macro}
+%
+%
%
%
% Numbering commands for definitions of |\theCOUNTER| and |\list|
@@ -596,7 +628,7 @@
% recommended) this unfortunate side effect is not present.
% \begin{macrocode}
%</2ekernel>
-%<latexrelease>\IncludeInRelease{2015/01/01}{\@fnsymbol}{Use \TexOrMath}%
+%<latexrelease>\IncludeInRelease{2015/01/01}{\@fnsymbol}{Use \TextOrMath}%
%<*2ekernel|latexrelease>
\def\@fnsymbol#1{%
\ifcase#1\or \TextOrMath\textasteriskcentered *\or
@@ -612,7 +644,7 @@
}%
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
-%<latexrelease>\IncludeInRelease{0000/00/00}{\@fnsymbol}{Use \TexOrMath}%
+%<latexrelease>\IncludeInRelease{0000/00/00}{\@fnsymbol}{Use \TextOrMath}%
%<latexrelease>\def\@fnsymbol#1{\ensuremath{%
%<latexrelease> \ifcase#1\or *\or \dagger\or \ddagger\or \mathsection\or
%<latexrelease> \mathparagraph\or \|\or **\or \dagger\dagger
diff --git a/macros/latex-dev/base/lterror.dtx b/macros/latex-dev/base/lterror.dtx
index 43eef7b289..10d93a1dbd 100644
--- a/macros/latex-dev/base/lterror.dtx
+++ b/macros/latex-dev/base/lterror.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{lterror.dtx}
- [2021/06/09 v1.2r LaTeX Kernel (errors)]
+ [2021/08/20 v1.2t LaTeX Kernel (errors)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{lterror.dtx}
@@ -375,6 +375,58 @@ Type H <return> for immediate help.}%
% \end{macro}
% \end{macro}
%
+%
+%
+% \begin{macro}{\ClassNote,\ClassNoteNoLine,
+% \PackageNote,\PackageNoteNoLine}
+%
+% \changes{v1.2s}{2021/07/11}{Provide \cs{ClassNote} and \cs{PackageNote}}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2021/11/15}%
+%<latexrelease> {\ClassNote}{Notes for classes/packages}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\ClassNote#1#2{%
+ \GenericWarning{%
+ (#1) \space\space\@spaces\@spaces
+ }{%
+ Class #1 Info: #2%
+ }%
+}
+\def\ClassNoteNoLine#1#2{\ClassNote{#1}{#2\@gobble}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\PackageNote#1#2{%
+ \GenericWarning{%
+ (#1) \@spaces\@spaces\@spaces
+ }{%
+ Package #1 Info: #2%
+ }%
+}
+\def\PackageNoteNoLine#1#2{\PackageNote{#1}{#2\@gobble}}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+% We don't roll back, because if this code is used by packages then
+% most often they will not have rollback code implemented, so they
+% would immediately break even if they otherwise would work fine.
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\ClassNote}{Notes for classes/packages}%
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+%
% \begin{macro}{\@latex@error}
% \begin{macro}{\@latex@warning}
% \begin{macro}{\@latex@warning@no@line}
@@ -635,10 +687,19 @@ Type H <return> for immediate help.}%
% RmS 1992/08/24: added code to |\@badend| to display position of
% non-matching |\begin|.
% FMi 1993/01/14: missing space added.
+%
+% The environment name has to literally match, i.e., what is stored
+% in \cs{@currenvir} (after one expansion) must match what is
+% passed to \cs{end} (without expansion). If not we complain. Not
+% the absolute best solution but at least it avoids getting
+% \verb=\begin{foo} ended by \end{foo}= which was possible in the
+% past.
+% \changes{v1.2t}{2021/08/20}{Improve \cs{@badend} error message (gh/587)}
% \begin{macrocode}
\gdef\@badend#1{%
- \@latex@error{\protect\begin{\@currenvir}\@currenvline
- \space ended by \protect\end{#1}}\@eha}
+ \@latex@error{\protect\begin
+ {\detokenize\expandafter{\@currenvir}}\@currenvline
+ \space ended by \protect\end{\detokenize{#1}}}\@eha}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/ltexpl.dtx b/macros/latex-dev/base/ltexpl.dtx
index 6d7ec3ff60..021edc644c 100644
--- a/macros/latex-dev/base/ltexpl.dtx
+++ b/macros/latex-dev/base/ltexpl.dtx
@@ -86,7 +86,7 @@
% \end{macrocode}
% We only initialize these kernel hooks if they are not already
% existing. Otherwise they would be set to \cs{@empty} on rollback
-% which would be wrong because code that has been added to to them
+% which would be wrong because code that has been added to them
% may still have to be executed in the rollback situation . Instead
% code that writes to them needs to handle the rollback as needed.
% It is likely that we have to change that approach in the future,
diff --git a/macros/latex-dev/base/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf
index 029273e28d..01d8a52583 100644
--- a/macros/latex-dev/base/ltfilehook-code.pdf
+++ b/macros/latex-dev/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf
index 137af2e877..ed7c6213e6 100644
--- a/macros/latex-dev/base/ltfilehook-doc.pdf
+++ b/macros/latex-dev/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook.dtx b/macros/latex-dev/base/ltfilehook.dtx
index 5d0acc8fdf..000f4d8c2a 100644
--- a/macros/latex-dev/base/ltfilehook.dtx
+++ b/macros/latex-dev/base/ltfilehook.dtx
@@ -31,8 +31,8 @@
%%% From File: ltfilehook.dtx
%
% \begin{macrocode}
-\providecommand\ltfilehookversion{v1.0k}
-\providecommand\ltfilehookdate{2021/05/25}
+\providecommand\ltfilehookversion{v1.0l}
+\providecommand\ltfilehookdate{2021/08/27}
% \end{macrocode}
%
%<*driver>
@@ -48,7 +48,7 @@
\vbox_unpack_drop:N \l__codedoc_macro_box
\hbox { \llap { \__codedoc_print_macroname:nN {#1} #2
\MacroFont % <----- without it the \ is in lmr10 if a link is made
- \
+ \
} }
}
\int_incr:N \l__codedoc_macro_int
@@ -115,12 +115,12 @@
% \cs{usepackage}, etc. They are not called for files read using
% internal low-level methods, such as \cs{@input} or \cs{openin}.
%
-% \begin{variable}{file/before,file/before/...,
-% file/after/...,file/after,
+% \begin{variable}{file/before,file/.../before,
+% file/.../after,file/after,
% }
% These are:
% \begin{description}
-% \item[\texttt{file/before}, \texttt{file/before/\meta{file-name}}]
+% \item[\texttt{file/before}, \texttt{file/\meta{file-name}/before}]
%
% These hooks are executed in that order just before the file is
% loaded for reading. The code of the first hook is used
@@ -128,7 +128,7 @@
% file with matching \meta{file-name} allowing you to specify
% code that only applies to one file.
%
-% \item[\texttt{file/after/\meta{file-name}}, \texttt{file/after}]
+% \item[\texttt{file/\meta{file-name}/after}, \texttt{file/after}]
%
% These hooks are after the file with name \meta{file-name} has
% been fully consumed. The order is swapped (the specific one
@@ -149,9 +149,9 @@
% \begin{tabbing}
% mm\=mm\=mm\=mm\=\kill
% \>\cs{UseHook}\marg{\hook{file/before}} \\
-% \>\cs{UseHook}\marg{\hook{file/before/\meta{file name}}} \\
+% \>\cs{UseHook}\marg{\hook{file/\meta{file name}/before}} \\
% \>\> \meta{file contents} \\
-% \>\cs{UseHook}\marg{\hook{file/after/\meta{file name}}} \\
+% \>\cs{UseHook}\marg{\hook{file/\meta{file name}/after}} \\
% \>\cs{UseHook}\marg{\hook{file/after}}
% \end{tabbing}
%
@@ -172,8 +172,8 @@
%
% When a file is input, the \meta{file name} is available in
% \cs{CurrentFile}, which is then used when accessing the
-% \hook{file/before/\meta{file name}} and
-% \hook{file/after/\meta{file name}}.
+% \hook{file/\meta{file name}/before} and
+% \hook{file/\meta{file name}/after}.
%
% \begin{variable}{\CurrentFile}
% The name of the file about to be read (or just finished) is
@@ -216,7 +216,7 @@
% \cs{RequirePackage}, \cs{LoadPackageWithOptions}, etc.) offer the
% hooks from section~\ref{sec:general-file-hooks} when they are
% used to load a package or class file, e.g.,
-% \texttt{file/after/array.sty} would be called after the
+% \texttt{file/array.sty/after} would be called after the
% \pkg{array} package got loaded. But as packages and classes form as special group
% of files, there are some additional hooks available that only
% apply when a package or class is loaded.
@@ -224,9 +224,9 @@
%
% \begin{variable}{
% package/before,package/after,
-% package/before/...,package/after/...,
+% package/.../before,package/.../after,
% class/before,class/after,
-% class/before/...,class/after/...,
+% class/.../before,class/.../after,
% }
% These are:
% \begin{description}
@@ -234,8 +234,8 @@
%
% These hooks are called for each package being loaded.
%
-% \item[\texttt{package/before/\meta{name}},
-% \texttt{package/after/\meta{name}}]
+% \item[\texttt{package/\meta{name}/before},
+% \texttt{package/\meta{name}/after}]
%
% These hooks are additionally called if the package name is
% \meta{name} (without extension).
@@ -244,7 +244,7 @@
%
% These hooks are called for each class being loaded.
%
-% \item[\texttt{class/before/\meta{name}}, \texttt{class/after/\meta{name}}]
+% \item[\texttt{class/\meta{name}/before}, \texttt{class/\meta{name}/after}]
%
% These hooks are additionally called if the class name is
% \meta{name} (without extension).
@@ -258,16 +258,16 @@
% \begin{tabbing}
% mm\=mm\=mm\=mm\=\kill
% \>\cs{UseHook}\marg{\hook{package/before}} \\
-% \>\cs{UseHook}\marg{\hook{package/before/\meta{package name}}} \\[5pt]
+% \>\cs{UseHook}\marg{\hook{package/\meta{package name}/before}} \\[5pt]
% \>\>\cs{UseHook}\marg{\hook{file/before}} \\
-% \>\>\cs{UseHook}\marg{\hook{file/before/\meta{package name}.sty}} \\
+% \>\>\cs{UseHook}\marg{\hook{file/\meta{package name}.sty/before}} \\
% \>\>\> \meta{package contents} \\
-% \>\>\cs{UseHook}\marg{\hook{file/after/\meta{package name}.sty}} \\
+% \>\>\cs{UseHook}\marg{\hook{file/\meta{package name}.sty/after}} \\
% \>\>\cs{UseHook}\marg{\hook{file/after}} \\[5pt]
% \>\>\emph{code from \cs{AtEndOfPackage} if
% used inside the package} \\[5pt]
-% \>\cs{UseHook}\marg{\hook{package/after/\meta{package name}}} \\
-% \>\cs{UseHook}\marg{\hook{package/after}}
+% \>\cs{UseHook}\marg{\hook{package/\meta{package name}/after}} \\
+% \>\cs{UseHook}\marg{\hook{package/after}}
% \end{tabbing}
% and similar for class file loading, except that \texttt{package/}
% is replaced by \texttt{class/} and \cs{AtEndOfPackage} by
@@ -276,6 +276,20 @@
% If a package or class is not loaded (or it was loaded before the
% hooks were set) none of the hooks are executed!
%
+% All class or package hooks involving the name of the class or
+% package are implemented as
+% one-time hooks, whereas all other such hooks are normal hooks.
+% This allows for the following use case
+%\begin{verbatim}
+% \AddToHook{package/varioref/after}
+% { ... apply my customizations if the package gets
+% loaded (or was loaded already) ... }
+%\end{verbatim}
+% without the need to first test if the package is already loaded.
+%
+%
+%
+%
% \subsection{Hooks for \cs{include} files}
%
% To manage \cs{include} files, \LaTeX{} issues a \cs{clearpage}
@@ -300,14 +314,14 @@
% is \enquote{\texttt{No file \meta{filename}.tex}}).
%
%
-% \begin{variable}{include/before,include/before/...,
-% include/end,include/end/...,
-% include/after,include/after/...,
+% \begin{variable}{include/before,include/.../before,
+% include/end,include/.../end,
+% include/after,include/.../after,
% }
% These are:
% \begin{description}
%
-% \item[\texttt{include/before}, \texttt{include/before/\meta{name}}]
+% \item[\texttt{include/before}, \texttt{include/\meta{name}/before}]
%
% These hooks are executed (in that order) after the initial
% \cs{clearpage} and after \texttt{.aux} file is changed to use
@@ -317,14 +331,14 @@
% file.
%
%
-% \item[\texttt{include/end/\meta{name}}, \texttt{include/end}]
+% \item[\texttt{include/\meta{name}/end}, \texttt{include/end}]
%
% These hooks are executed (in that order) after \LaTeX{} has
% stopped reading from the \cs{include} file, but before it has
% issued a \cs{clearpage} to output any deferred floats.
%
%
-% \item[\texttt{include/after/\meta{name}}, \texttt{include/after}]
+% \item[\texttt{include/\meta{name}/after}, \texttt{include/after}]
%
% These hooks are executed (in that order) after \LaTeX{} has
% issued the \cs{clearpage} but before is has switched back
@@ -341,6 +355,13 @@
% normally does nothing, but starts a new page if further material
% got added this way.}
%
+%
+% All \hook{include} hooks involving the name of the included file are implemented as
+% one-time hooks (whereas all other such hooks are normal hooks).
+%
+%
+%
+%
% \subsection{High-level interfaces for \LaTeX{}}
%
% We do not provide any additional wrappers around the hooks (like
@@ -531,7 +552,7 @@
% The output of \cs{@@_file_parse_full_name:nN} is passed on to the
% |#2|---a 3-argument macro that takes the \meta{path}, \meta{base},
% and \meta{ext} parts of the file name.
-%
+%
% \begin{macrocode}
\cs_new:Npn \@@_file_parse_full_name:nN #1
{
@@ -591,6 +612,7 @@
% \changes{v1.0h}{2021/03/18}
% {Define \cs{g_@@_input_file_seq} to avoid losing data when
% rolling back.}
+% \changes{v1.0l}{2021/08/27}{Internal message name changes}
% \begin{macrocode}
\tl_new:N \l_@@_internal_tl
\seq_if_exist:NF \g_@@_input_file_seq
@@ -608,7 +630,7 @@
\seq_gpop:NNTF \g_@@_input_file_seq \l_@@_internal_tl
{ \exp_after:wN \@@_file_pop_assign:nnnn \l_@@_internal_tl }
{
- \msg_error:nnn { kernel } { should-not-happen }
+ \msg_error:nnn { latex2e } { should-not-happen }
{ Tried~to~pop~from~an~empty~file~name~stack. }
}
}
@@ -624,7 +646,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
-%
+%
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
@@ -683,7 +705,7 @@
%<latexrelease> { \use_none:n #1 \prg_do_nothing: }
%<latexrelease> {#2}
%<latexrelease> }
-%<latexrelease>}
+%<latexrelease>}
%<latexrelease>\ExplSyntaxOff
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
@@ -697,16 +719,17 @@
%
% \subsection{Declaring the file-related hooks}
%
-% All hooks starting with \texttt{file/} \texttt{include/},
-% \texttt{class/} or \texttt{package/} are generic and will be
-% allocated if code is added to them. Thus there is no need to
-% explicitly declare any hook in the code below.
-%
-% Furthermore, those named \texttt{.../after} or \texttt{.../end} are
-% automatically declared as reversed hooks if filled with code, so this
-% is also automatically taken care of.
-%
+% These hooks have names with three-parts that
+% start with \hook{file/}, \hook{include/},
+% \hook{class/} or \hook{package/} and end with \hook{/before} or
+% \hook{/after} (or \hook{/end} in the case of \hook{include/}).
+% They are all generic hooks
+% so will be declared only if code is added to them;
+% this declaration is done for you automatically and, indeed, they should
+% not be declared explicitly.
%
+% Those named \hook{.../after} and \texttt{include/.../end}
+% are, when code is added, declared as reversed hooks.
%
%
% \subsection{Patching \LaTeX{}'s \cs{InputIfFileExists} command}
@@ -760,7 +783,7 @@
% can't rely on that still being true after the file has been
% processed. Thus for using the name in the file hooks we need to
% preserve the name and then restore it for the
-% \texttt{file/after/...} hook.
+% \texttt{file/.../after} hook.
%
% The hook always refers to the file requested by the user. The hook
% is \emph{always} loaded for \cs{CurrentFile} which usually is the
@@ -814,20 +837,27 @@
% The current file name is available in \cs{CurrentFile} so we use
% that in the specific hook.
% \begin{macrocode}
- \UseHook{file/before/\CurrentFile}%
+ \UseHook{file/\CurrentFile/before}%
\@@input #1% <- trailing space comes from \@filef@und
}%
% \end{macrocode}
% And here, \cs{CurrentFile} is restored
% (by \cs{@expl@@@filehook@file@pop@assign@@nnnn}) so we can use it once more.
% \begin{macrocode}
- \UseHook{file/after/\CurrentFile}%
+ \UseHook{file/\CurrentFile/after}%
\UseHook{file/after}}
\def\unqu@tefilef@und"#1" \@nil{#1}
+% \end{macrocode}
+%
+% \changes{v1.0l}{2021/08/25}{Declare non-generic file hooks}
+% Now declare the non-generic file hooks used above:
+% \begin{macrocode}
+\NewHook{file/before}
+\NewReversedHook{file/after}
%<latexrelease>\EndIncludeInRelease
%</2ekernel|latexrelease>
% \end{macrocode}
-%
+%
% \changes{v0.9b}
% {1993/12/04}{Macro added}
% \changes{v0.9p}
@@ -949,7 +979,7 @@
{ \if_meaning:w #1 #2 .tex \else: \token_to_str:N #2 \fi: }
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}[int]{\use_ii_iii:nnn}
% A variant of \cs[no-index]{use_...} to discard the first of three
% arguments.
@@ -1085,7 +1115,7 @@
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
-%
+%
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2020/10/01}%
%<latexrelease> {\set@curr@file}{Setting current file name}%
@@ -1108,7 +1138,7 @@
%<latexrelease> \endgroup}
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
-%
+%
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2019/10/01}%
%<latexrelease> {\set@curr@file}{Setting current file name}%
@@ -1124,7 +1154,7 @@
%<latexrelease>}
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
-%
+%
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\set@curr@file}{Setting current file name}%
@@ -1383,6 +1413,7 @@
% \@@_file_subst_cycle_error:NN,
% \@@_file_subst_cycle_error:cN,
% }
+% \changes{v1.0l}{2021/08/27}{Use \cs{msg_...} not \cs{__kernel_msg_...}}
% Showing this type of error expandably is tricky, as we have a very
% limited amount of characters to show and a potentially large list.
% As a work around, several errors are printed, each showing one step
@@ -1390,7 +1421,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_file_subst_cycle_error:NN #1 #2
{
- \__kernel_msg_expandable_error:nnff { kernel } { file-cycle }
+ \msg_expandable_error:nnff { latex2e } { file-cycle }
{#1} { \use:c { @file-subst@ #1 } }
\token_if_eq_meaning:NNF #1 #2
{ \@@_file_subst_cycle_error:cN { @file-subst@ #1 } #2 }
@@ -1400,7 +1431,7 @@
%
% And the error message:
% \begin{macrocode}
-\__kernel_msg_new:nnn { kernel } { file-cycle }
+\msg_new:nnn { latex2e } { file-cycle }
{ File~loop!~#1~replaced~by~#2... }
% \end{macrocode}
% \end{macro}
@@ -1412,7 +1443,7 @@
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
-%
+%
%
% \begin{macrocode}
%<@@=>
@@ -1438,7 +1469,7 @@
\def\disable@package@load#1#2{%
\global\@namedef{@pkg-disable@#1.\@pkgextension}{#2}}
% \end{macrocode}
-%
+%
% \begin{macrocode}
\def\@disable@packageload@do#1#2{%
\@ifundefined{@pkg-disable@#1}{#2}%
@@ -1453,7 +1484,7 @@
\csname @pkg-disable@#1.\@pkgextension \endcsname \@undefined}
% \end{macrocode}
%
-%
+%
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
@@ -1502,7 +1533,7 @@
%<latexrelease> {\@expl@@@filehook@if@no@extension@@nTF}{2e tmp interfaces}%
\ExplSyntaxOn
% \end{macrocode}
-%
+%
% \begin{macrocode}
\cs_new_eq:NN \@expl@@@filehook@if@no@extension@@nTF
\__filehook_if_no_extension:nTF
@@ -1512,7 +1543,7 @@
\cs_new_eq:NN \@expl@@@filehook@set@curr@file@@nNN
\__filehook_set_curr_file:nNN
% \end{macrocode}
-%
+%
% \begin{macrocode}
\cs_new_eq:NN \@expl@@@filehook@resolve@file@subst@@w
\__filehook_resolve_file_subst:w
@@ -1522,7 +1553,7 @@
\cs_new_eq:NN \@expl@@@filehook@normalize@file@name@@w
\__filehook_normalize_file_name:w
% \end{macrocode}
-%
+%
% \begin{macrocode}
\cs_new_eq:NN \@expl@@@filehook@if@file@replaced@@TF
\__filehook_if_file_replaced:TF
@@ -1537,23 +1568,23 @@
\cs_new_eq:NN \@expl@@@filehook@drop@extension@@N
\__filehook_drop_extension:N
% \end{macrocode}
-%
+%
% \begin{macrocode}
\cs_new_eq:NN \@expl@@@filehook@file@push@@
\__filehook_file_push:
% \end{macrocode}
-%
+%
% \begin{macrocode}
\cs_new_eq:NN \@expl@@@filehook@file@pop@@
\__filehook_file_pop:
% \end{macrocode}
-%
+%
% \begin{macrocode}
\cs_new_eq:NN \@expl@@@filehook@file@pop@assign@@nnnn
\__filehook_file_pop_assign:nnnn
% \end{macrocode}
% \InternalDetectionOn
-%
+%
%
% \begin{macrocode}
\ExplSyntaxOff
@@ -1682,7 +1713,7 @@
%<*atveryend-ltx>
\ProvidesPackage{atveryend-ltx}
[2020/08/19 v1.0a
- Emulation of the original atvery package^^Jwith kernel methods]
+ Emulation of the original atveryend package^^Jwith kernel methods]
% \end{macrocode}
%
%
@@ -1698,14 +1729,14 @@
% \begin{macrocode}
\newcommand\AtEndAfterFileList{\AddToHook{enddocument/info}}
% \end{macrocode}
-%
+%
% \begin{macrocode}
\newcommand\AtVeryVeryEnd {\AddToHook{enddocument/end}}
% \end{macrocode}
%
% \begin{macro}{\BeforeClearDocument}
% This one is the only one we don't implement or rather don't have
-% a dedicated hook in the code.
+% a dedicated hook in the code.
% \begin{macrocode}
\ExplSyntaxOn
\newcommand\BeforeClearDocument[1]
@@ -1713,7 +1744,7 @@
\atveryend@DEPRECATED{BeforeClearDocument \tl_to_str:n{#1}}
}
% \end{macrocode}
-%
+%
% \begin{macrocode}
\cs_new:Npn\atveryend@DEPRECATED #1
{\iow_term:x{======~DEPRECATED~USAGE~#1~==========}}
@@ -1721,7 +1752,7 @@
% \end{macrocode}
% \end{macro}
%
-%
+%
% \begin{macrocode}
%</atveryend-ltx>
% \end{macrocode}
@@ -1735,4 +1766,3 @@
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-
diff --git a/macros/latex-dev/base/ltfiles.dtx b/macros/latex-dev/base/ltfiles.dtx
index bcaac58220..4dee83c4d6 100644
--- a/macros/latex-dev/base/ltfiles.dtx
+++ b/macros/latex-dev/base/ltfiles.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2021/04/17 v1.2m LaTeX Kernel (File Handling)]
+ [2021/08/25 v1.2o LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -850,16 +850,19 @@
% \end{macrocode}
% Execute the \texttt{before} hooks just after we switched the
% \texttt{.aux} file \ldots
+% \changes{v1.2n}{2021/07/23}{Make include/name/before a one-time hook}
+% \changes{v1.2o}{2021/08/25}{Standardise generic hook names (gh/648)}
% \begin{macrocode}
\UseHook{include/before}%
- \UseHook{include/before/#1}%
+ \UseOneTimeHook{include/#1/before}%
%-----------------------------------------
\@input@{#1.tex}%
%-----------------------------------------
% \end{macrocode}
% \ldots{} then \texttt{end} hooks \ldots
+% \changes{v1.2n}{2021/07/23}{Make include/name/end a one-time hook}
% \begin{macrocode}
- \UseHook{include/end/#1}%
+ \UseOneTimeHook{include/#1/end}%
\UseHook{include/end}%
%-----------------------------------------
\clearpage
@@ -869,8 +872,9 @@
% followed by another \cs{clearpage} just in case new material got
% added (after all we need to be in well defined state after the
% \cs{include}).
+% \changes{v1.2n}{2021/07/23}{Make include/name/after a one-time hook}
% \begin{macrocode}
- \UseHook{include/after/#1}%
+ \UseOneTimeHook{include/#1/after}%
\UseHook{include/after}%
\clearpage
%-----------------------------------------
@@ -889,6 +893,14 @@
\@nameuse{cp@#1}%
\fi
\let\@auxout\@mainaux}
+% \end{macrocode}
+%
+% \changes{v1.2o}{2021/08/25}{Declare non-generic include hooks}
+% Now declare the non-generic \hook{include} hooks used above:
+% \begin{macrocode}
+\NewHook{include/before}
+\NewReversedHook{include/end}
+\NewReversedHook{include/after}
%<latexrelease>\EndIncludeInRelease
%</2ekernel|latexrelease>
% \end{macrocode}
diff --git a/macros/latex-dev/base/ltfinal.dtx b/macros/latex-dev/base/ltfinal.dtx
index 19f82934aa..5d77fb2e83 100644
--- a/macros/latex-dev/base/ltfinal.dtx
+++ b/macros/latex-dev/base/ltfinal.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2021/04/18 v2.2o LaTeX Kernel (Final Settings)]
+ [2021/09/06 v2.2q LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -1074,9 +1074,11 @@
}}
% \end{macrocode}
%
+% \changes{v2.2q}{2021/09/06}{Correctly upper and lowercase
+% \cs{ij} and \cs{IJ} (gh/658)}
% \begin{macrocode}
\def\@uclclist{\oe\OE\o\O\ae\AE
- \dh\DH\dj\DJ\l\L\ng\NG\ss\SS\th\TH}
+ \dh\DH\dj\DJ\l\L\ng\NG\ss\SS\ij\IJ\th\TH}
% \end{macrocode}
% The above code works, but has the nasty side-effect that if you
% say something like:
@@ -1244,6 +1246,38 @@
% \end{macro}
% \end{macro}
%
+% \subsection{Prepare for supporting PDF management in backends}
+%
+% At the current point in time support for PDF management in
+% backends is not part of \LaTeX{} core but provided by external
+% packages. At some time in the future that work will be placed
+% into the kernel but for now it is separate and has to be
+% explicitly loaded in the document.
+%
+% There is a command \cs{IfPDFManagementActiveTF} in that code
+% which checks if the PDF management code is activated, which can
+% be used by packages to execute different code branches depending
+% on the state.
+%
+% To make this also work properly if the external package is not
+% loaded at all this command is already made available in the
+% kernel (with a trivial definition) so that other packages can
+% query the state in all circumstances. Once the PDF management
+% support moves to the kernel this definition here will vanish
+% again or rather will be replaced by a real test.
+%
+%
+% \begin{macro}{\IfPDFManagementActiveTF}
+% While the PDF management code is not loaded, the test will
+% always return the false branch. Once this code is loaded, it
+% is replaced by a real test (as then it is possible that the
+% management code is activate or not activated).
+% \changes{v2.2p}{2021/08/08}{Default definition added (gh/640)}
+% \begin{macrocode}
+\let \IfPDFManagementActiveTF \@secondoftwo
+% \end{macrocode}
+% \end{macro}
+%
%
%
% \subsection{Do some temporary work for pre-release}
@@ -1253,7 +1287,7 @@
% \begin{macrocode}
% \end{macrocode}
%
-% \subsection{Some last minute initializations \ldots}
+% \subsection{Some last minute initializations \ldots}
%
% Load the first aid set of definitions for external packages that await updates.
% \changes{v2.2j}{2020/09/26}
diff --git a/macros/latex-dev/base/ltfntcmd.dtx b/macros/latex-dev/base/ltfntcmd.dtx
index 5f70053a68..6c4ec4b3d1 100644
--- a/macros/latex-dev/base/ltfntcmd.dtx
+++ b/macros/latex-dev/base/ltfntcmd.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfntcmd.dtx}
- [2020/12/05 v3.4c LaTeX Kernel (Font commands)]
+ [2021/09/12 v3.5a LaTeX Kernel (Font commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfntcmd.dtx}
@@ -466,9 +466,10 @@
% Is this the correct action in the `empty' case? It is efficient but
% typographically it is, strictly, incorrect!
% \changes{v3.3l}{1994/06/18}{Added check for empty text}
+% \changes{v3.5a}{2021/09/12}{use \cs{unexpanded} to make \# safe}
% \begin{macrocode}
\def \text@command #1{%
- \def \reserved@a {#1}%
+ \edef \reserved@a {\unexpanded{#1}}%
\ifx \reserved@a \@empty
\let \check@icl \@empty
\let \check@icr \@empty
diff --git a/macros/latex-dev/base/ltfssini.dtx b/macros/latex-dev/base/ltfssini.dtx
index b06fc161b0..f817fdd847 100644
--- a/macros/latex-dev/base/ltfssini.dtx
+++ b/macros/latex-dev/base/ltfssini.dtx
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssini.dtx}
- [2021/04/26 v3.2h LaTeX Kernel (NFSS Initialisation)]
+ [2021/09/10 v3.2i LaTeX Kernel (NFSS Initialisation)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -207,7 +207,7 @@
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>\IncludeInRelease{2021/11/15}%
%<latexrelease> {\DeclareFontSeriesDefault}{Custom series}%
% \end{macrocode}
%
@@ -280,6 +280,17 @@
% \begin{macrocode}
\let\DeclareFontSeriesDefault\@undefined % for rollback
\newcommand\DeclareFontSeriesDefault[3][]{%
+% \end{macrocode}
+%
+% \changes{v3.2i}{2021/09/10}{Do delayed changes to \cs{bfdefault} or
+% \cs{mddefault} first (gh/663)}
+% \begin{macrocode}
+ \expand@font@defaults
+ \maybe@update@bfseries@defaults
+ \maybe@update@mdseries@defaults
+% \end{macrocode}
+%
+% \begin{macrocode}
\def\reserved@a{#1}%
% \end{macrocode}
% No optional argument: set up general default.
@@ -333,7 +344,77 @@
% \end{macro}
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease> {\DeclareFontSeriesDefault}{Custom series}%
+%<latexrelease>
+%<latexrelease>\let\DeclareFontSeriesDefault\@undefined % for rollback
+%<latexrelease>\newcommand\DeclareFontSeriesDefault[3][]{%
+%<latexrelease> \def\reserved@a{#1}%
+%<latexrelease> \ifx\reserved@a\@empty
+%<latexrelease> \ifcsname #2series\endcsname % supported are
+%<latexrelease> % \[md/bf]default
+%<latexrelease> \expandafter\def
+%<latexrelease> \csname #2default\endcsname{#3\@empty}%
+%<latexrelease> \expandafter\def
+%<latexrelease> \csname #2default@previous\endcsname{#3\@empty}%
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+%<latexrelease> {Mandatory first argument must be 'md' or 'bf'.}
+%<latexrelease> \fi
+%<latexrelease> \else
+%<latexrelease> \ifcsname #2series@#1\endcsname % supported are
+%<latexrelease> % \[md/bf]series@[rm/sf/tt]
+%<latexrelease> \expandafter\edef
+%<latexrelease> \csname #2series@#1\endcsname{#3}%
+%<latexrelease> \expandafter\let
+%<latexrelease> \csname #2series@#1@kernel\endcsname\@undefined
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+%<latexrelease> {Optional argument must be 'rm', 'sf', or 'tt'. \MessageBreak
+%<latexrelease> Mandatory first argument must be 'md' or 'bf'.}
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease>}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\DeclareFontSeriesDefault}{Custom series}%
+%<latexrelease>
+%<latexrelease>\let\DeclareFontSeriesDefault\@undefined
+%<latexrelease>\let\bfseries@rm\@undefined
+%<latexrelease>\let\bfseries@sf\@undefined
+%<latexrelease>\let\bfseries@tt\@undefined
+%<latexrelease>\let\bfseries@rm@kernel\@undefined
+%<latexrelease>\let\bfseries@sf@kernel\@undefined
+%<latexrelease>\let\bfseries@tt@kernel\@undefined
+%<latexrelease>\let\mdseries@rm\@undefined
+%<latexrelease>\let\mdseries@sf\@undefined
+%<latexrelease>\let\mdseries@tt\@undefined
+%<latexrelease>\expandafter\let\csname ver@mweights.sty\endcsname\@undefined
+%<latexrelease>
+%<latexrelease>\let\@meta@family@list\@undefined
+%<latexrelease>\let\prepare@family@series@update\@undefined
+%<latexrelease>\let\update@series@target@value\@undefined
+%<latexrelease>
+% \end{macrocode}
+% This is always called in \cs{document} so don't make it undefined.
+% \begin{macrocode}
+%<latexrelease>\let\init@series@setup\relax
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease> {\mdseries@rm}{Custom series}%
+% \end{macrocode}
% \begin{macro}{\mdseries@rm}
% \begin{macro}{\mdseries@sf}
@@ -704,9 +785,8 @@
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\DeclareFontSeriesDefault}{Custom series}%
+%<latexrelease> {\mdseries@rm}{Custom series}%
%<latexrelease>
-%<latexrelease>\let\DeclareFontSeriesDefault\@undefined
%<latexrelease>\let\bfseries@rm\@undefined
%<latexrelease>\let\bfseries@sf\@undefined
%<latexrelease>\let\bfseries@tt\@undefined
@@ -735,55 +815,11 @@
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease>\IncludeInRelease{2021/11/15}%
%<latexrelease> {\bfseries}{Custom series with hooks}%
% \end{macrocode}
-% \begin{macro}{\expand@font@defaults}
-% \begin{macro}{\rm@def@ult}
-% \begin{macro}{\sf@def@ult}
-% \begin{macro}{\tt@def@ult}
-% \begin{macro}{\md@def@ult}
-% \begin{macro}{\bf@def@ult}
-%
-% The family specific defaults are fully expanded, i.e., they are
-% defined via \cs{edef} inside \cs{DeclareFontSeriesDefault}.
-% However, the overall defaults, e.g., \cs{bfdefault} may have been
-% redefined by the user and thus may not be fully expanded. So to
-% enable reliable comparison we make expanded versions of
-% them. That we rerun each time. The alternative would be to only
-% allow for changes before begin document.
-% \begin{macrocode}
-\def\expand@font@defaults{%
- \edef\rmdef@ult{\rmdefault}%
- \edef\sfdef@ult{\sfdefault}%
- \edef\ttdef@ult{\ttdefault}%
-% \end{macrocode}
-% The series defaults may contain some surplus \texttt{m} that we
-% need to drop here.
-% \changes{v3.1j}{2020/02/25}{Drop surplus ``m'' from \cs{bfdef@ult}
-% and \cs{mddef@ult} (gh/291)}
-% \begin{macrocode}
- \series@maybe@drop@one@m\bfdefault\bfdef@ult
- \series@maybe@drop@one@m\mddefault\mddef@ult
-% \end{macrocode}
-% Formats that set up parallel fonts, e.g., for Japanese, can use
-% this hook to add additional code here.
-% \changes{v3.1m}{2020/04/06}{Hook added (gh/306)}
-% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
-% \begin{macrocode}
- \UseHook{expand@font@defaults}%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-
-
% \begin{macro}{\bfseries}
% This document command switches to the bold series.
% \begin{macrocode}
@@ -797,9 +833,35 @@
% \cs{ttdef@ult} and the select the correct family default in that case.
% \changes{v3.1i}{2020/02/18}{Make the \cs{ifx} selection outside
% of \cs{fontseries} argument so that it is not done several times}
+% \changes{v3.2i}{2021/09/10}{Do delayed changes to \cs{bfdefault} in
+% a separate macro for better reuse (gh/663)}
% \begin{macrocode}
\expand@font@defaults
+ \maybe@update@bfseries@defaults
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
+ \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
+ \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
+% \end{macrocode}
+% If not \cs{bfdefault} is used.
+% \begin{macrocode}
+ \else \fontseries\bfdefault
+ \fi\fi\fi
% \end{macrocode}
+% This hook in contrast is always executed.
+% \begin{macrocode}
+ \UseHook{bfseries}%
+ \selectfont
+}
+% \end{macrocode}
+% \end{macro}
+
+
+
+% \begin{macro}{\maybe@update@bfseries@defaults}
+%
% If \cs{bfdefault} and \cs{bfdefault@previous} are different then
% the default got changed directly through the legacy interface
% (i.e., via \cs{def} or \cs{renewcommand}. In that case we reset
@@ -807,7 +869,10 @@
% the case before the new mechanism was introduced.
% \changes{v3.1k}{2020/03/19}{Support legacy use of \cs{bfdefault}
% and \cs{mddefault} (gh/306)}
+% \changes{v3.2i}{2021/09/10}{Do delayed changes to \cs{bfdefault} in
+% a separate macro for better reuse (gh/663)}
% \begin{macrocode}
+\def\maybe@update@bfseries@defaults{%
\ifx\bfdefault\bfdefault@previous\else
% \end{macrocode}
% We add \cs{@empty} and then let \cs{bfdefault@previous} to
@@ -835,28 +900,11 @@
% \begin{macrocode}
\UseHook{bfseries/defaults}%
\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
- \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
- \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
-% \end{macrocode}
-% If not \cs{bfdefault} is used.
-% \begin{macrocode}
- \else \fontseries\bfdefault
- \fi\fi\fi
-% \end{macrocode}
-% This hook in contrast is always executed.
-% \begin{macrocode}
- \UseHook{bfseries}%
- \selectfont
}
% \end{macrocode}
% \end{macro}
-
% \begin{macro}{\mdseries}
% This document command switches to the medium series.
% \changes{v3.1i}{2020/02/18}{Make the \cs{ifx} selection outside
@@ -865,10 +913,30 @@
% and \cs{mddefault} (gh/306)}
% \changes{v3.2d}{2020/09/30}{\cs{mddefault@previous} not \cs{mdseries@previous}
% (gh/395)}
+% \changes{v3.2i}{2021/09/10}{Do delayed changes to \cs{mddefault} in
+% a separate macro for better reuse (gh/663)}
% \begin{macrocode}
\DeclareRobustCommand\mdseries{%
\not@math@alphabet\mdseries\relax
\expand@font@defaults
+ \maybe@update@mdseries@defaults
+ \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
+ \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
+ \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
+ \else \fontseries\mddefault
+ \fi\fi\fi
+ \UseHook{mdseries}%
+ \selectfont
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\maybe@update@mdseries@defaults}
+%
+% \changes{v3.2i}{2021/09/10}{Do delayed changes to \cs{mddefault} in
+% a separate macro for better reuse (gh/663)}
+% \begin{macrocode}
+\def\maybe@update@mdseries@defaults{%
\ifx\mddefault\mddefault@previous\else
\expandafter\def\expandafter\mddefault\expandafter{\mddefault\@empty}%
\let\mddefault@previous\mddefault
@@ -884,17 +952,161 @@
% \begin{macrocode}
\UseHook{mdseries/defaults}%
\fi
- \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
- \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
- \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
- \else \fontseries\mddefault
- \fi\fi\fi
- \UseHook{mdseries}%
- \selectfont
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\bfseries}{Custom series with hooks}%
+%<latexrelease>
+%<latexrelease>\let\maybe@update@bfseries@defaults\@undefined
+%<latexrelease>\let\maybe@update@mdseries@defaults\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\bfseries{%
+%<latexrelease> \not@math@alphabet\bfseries\mathbf
+%<latexrelease> \expand@font@defaults
+%<latexrelease> \ifx\bfdefault\bfdefault@previous\else
+%<latexrelease> \expandafter\def\expandafter\bfdefault
+%<latexrelease> \expandafter{\bfdefault\@empty}%
+%<latexrelease> \let\bfdefault@previous\bfdefault
+%<latexrelease> \let\bfseries@rm\bfdef@ult
+%<latexrelease> \let\bfseries@sf\bfdef@ult
+%<latexrelease> \let\bfseries@tt\bfdef@ult
+%<latexrelease> \UseHook{bfseries/defaults}%
+%<latexrelease> \fi
+%<latexrelease> \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
+%<latexrelease> \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
+%<latexrelease> \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
+%<latexrelease> \else \fontseries\bfdefault
+%<latexrelease> \fi\fi\fi
+%<latexrelease> \UseHook{bfseries}%
+%<latexrelease> \selectfont
+%<latexrelease>}
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\mdseries{%
+%<latexrelease> \not@math@alphabet\mdseries\relax
+%<latexrelease> \expand@font@defaults
+%<latexrelease> \ifx\mddefault\mddefault@previous\else
+%<latexrelease> \expandafter\def\expandafter\mddefault\expandafter{\mddefault\@empty}%
+%<latexrelease> \let\mddefault@previous\mddefault
+%<latexrelease> \let\mdseries@rm\mddef@ult
+%<latexrelease> \let\mdseries@sf\mddef@ult
+%<latexrelease> \let\mdseries@tt\mddef@ult
+%<latexrelease> \UseHook{mdseries/defaults}%
+%<latexrelease> \fi
+%<latexrelease> \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
+%<latexrelease> \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
+%<latexrelease> \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
+%<latexrelease> \else \fontseries\mddefault
+%<latexrelease> \fi\fi\fi
+%<latexrelease> \UseHook{mdseries}%
+%<latexrelease> \selectfont
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease> {\bfseries}{Custom series with hooks}%
+%<latexrelease>
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\bfseries{%
+%<latexrelease> \not@math@alphabet\bfseries\mathbf
+%<latexrelease> \expand@font@defaults
+%<latexrelease> \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
+%<latexrelease> \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
+%<latexrelease> \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
+%<latexrelease> \else \fontseries\bfdefault
+%<latexrelease> \fi\fi\fi
+%<latexrelease> \selectfont
+%<latexrelease>}
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\mdseries{%
+%<latexrelease> \not@math@alphabet\mdseries\relax
+%<latexrelease> \expand@font@defaults
+%<latexrelease> \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
+%<latexrelease> \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
+%<latexrelease> \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
+%<latexrelease> \else \fontseries\mddefault
+%<latexrelease> \fi\fi\fi
+%<latexrelease> \selectfont
+%<latexrelease>}
+%<latexrelease>
+%<latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\bfseries}{Custom series with hooks}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\bfseries
+%<latexrelease> {\not@math@alphabet\bfseries\mathbf
+%<latexrelease> \fontseries\bfdefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\mdseries
+%<latexrelease> {\not@math@alphabet\mdseries\relax
+%<latexrelease> \fontseries\mddefault\selectfont}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+
+
+
+
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\expand@font@defaults}{Custom series with hooks}%
+% \end{macrocode}
+
+
+
+% \begin{macro}{\expand@font@defaults}
+% \begin{macro}{\rm@def@ult}
+% \begin{macro}{\sf@def@ult}
+% \begin{macro}{\tt@def@ult}
+% \begin{macro}{\md@def@ult}
+% \begin{macro}{\bf@def@ult}
+%
+% The family specific defaults are fully expanded, i.e., they are
+% defined via \cs{edef} inside \cs{DeclareFontSeriesDefault}.
+% However, the overall defaults, e.g., \cs{bfdefault} may have been
+% redefined by the user and thus may not be fully expanded. So to
+% enable reliable comparison we make expanded versions of
+% them. That we rerun each time. The alternative would be to only
+% allow for changes before begin document.
+% \begin{macrocode}
+\def\expand@font@defaults{%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+% \end{macrocode}
+% The series defaults may contain some surplus \texttt{m} that we
+% need to drop here.
+% \changes{v3.1j}{2020/02/25}{Drop surplus ``m'' from \cs{bfdef@ult}
+% and \cs{mddef@ult} (gh/291)}
+% \begin{macrocode}
+ \series@maybe@drop@one@m\bfdefault\bfdef@ult
+ \series@maybe@drop@one@m\mddefault\mddef@ult
+% \end{macrocode}
+% Formats that set up parallel fonts, e.g., for Japanese, can use
+% this hook to add additional code here.
+% \changes{v3.1m}{2020/04/06}{Hook added (gh/306)}
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+ \UseHook{expand@font@defaults}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+
+
% \begin{macro}{\rmfamily}
% Here are the document level commands for changing the main font
@@ -1094,7 +1306,7 @@
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{2020/02/02}%
-%<latexrelease> {\bfseries}{Custom series with hooks}%
+%<latexrelease> {\expand@font@defaults}{Custom series with hooks}%
%<latexrelease>
%<latexrelease>\def\expand@font@defaults{%
%<latexrelease> \edef\rmdef@ult{\rmdefault}%
@@ -1105,27 +1317,6 @@
%<latexrelease> \edef\famdef@ult{\familydefault}%
%<latexrelease>}
%<latexrelease>
-%<latexrelease>\DeclareRobustCommand\bfseries{%
-%<latexrelease> \not@math@alphabet\bfseries\mathbf
-%<latexrelease> \expand@font@defaults
-%<latexrelease> \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
-%<latexrelease> \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
-%<latexrelease> \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
-%<latexrelease> \else \fontseries\bfdefault
-%<latexrelease> \fi\fi\fi
-%<latexrelease> \selectfont
-%<latexrelease>}
-%<latexrelease>
-%<latexrelease>\DeclareRobustCommand\mdseries{%
-%<latexrelease> \not@math@alphabet\mdseries\relax
-%<latexrelease> \expand@font@defaults
-%<latexrelease> \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
-%<latexrelease> \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
-%<latexrelease> \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
-%<latexrelease> \else \fontseries\mddefault
-%<latexrelease> \fi\fi\fi
-%<latexrelease> \selectfont
-%<latexrelease>}
%<latexrelease>
%<latexrelease>\DeclareRobustCommand\rmfamily{%
%<latexrelease> \not@math@alphabet\rmfamily\mathrm
@@ -1152,7 +1343,7 @@
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\bfseries}{Custom series with hooks}%
+%<latexrelease> {\expand@font@defaults}{Custom series with hooks}%
%<latexrelease>
%<latexrelease>\let\expand@font@defaults\@undefined
%<latexrelease>
diff --git a/macros/latex-dev/base/ltfsstrc.dtx b/macros/latex-dev/base/ltfsstrc.dtx
index c6aec105ba..f562a4fa90 100644
--- a/macros/latex-dev/base/ltfsstrc.dtx
+++ b/macros/latex-dev/base/ltfsstrc.dtx
@@ -495,7 +495,7 @@
\delayed@f@adjustment
% \end{macrocode}
% We then check if the resulting cominbation is valid but for this
-% we have to make sure the the appropiate \texttt{.fd} is loaded if
+% we have to make sure that the appropiate \texttt{.fd} is loaded if
% that hasn't happened so far.
% \begin{macrocode}
\maybe@load@fontshape
diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf
index 675f068676..8f563f3955 100644
--- a/macros/latex-dev/base/lthooks-code.pdf
+++ b/macros/latex-dev/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf
index 54f688d47b..9f6df1b13b 100644
--- a/macros/latex-dev/base/lthooks-doc.pdf
+++ b/macros/latex-dev/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks.dtx b/macros/latex-dev/base/lthooks.dtx
index 20e172a57f..3969a2be56 100644
--- a/macros/latex-dev/base/lthooks.dtx
+++ b/macros/latex-dev/base/lthooks.dtx
@@ -31,8 +31,8 @@
%%% From File: lthooks.dtx
%
% \begin{macrocode}
-\def\lthooksversion{v1.0n}
-\def\lthooksdate{2021/05/26}
+\def\lthooksversion{v1.0r}
+\def\lthooksdate{2021/09/06}
% \end{macrocode}
%
%<*driver>
@@ -47,7 +47,7 @@
\vbox_unpack_drop:N \l__codedoc_macro_box
\hbox { \llap { \__codedoc_print_macroname:nN {#1} #2
\MacroFont % <----- without it the \ is in lmr10 if a link is made
- \
+ \
} }
}
\int_incr:N \l__codedoc_macro_int
@@ -74,9 +74,9 @@
% \providecommand\pho[1]{\marginpar{\footnotesize PhO: #1}}
% \providecommand\phoinline[1]{\begin{quote}\itshape\footnotesize PhO: #1\end{quote}}
%
-%
%
-% \title{The \texttt{lthooks} package\thanks{This package has version
+%
+% \title{\LaTeX{}'s hook management\thanks{This module has version
% \lthooksversion\ dated \lthooksdate, \copyright\ \LaTeX\
% Project.}}
%
@@ -127,22 +127,18 @@
%
% \subsubsection{Declaring hooks}
%
-% With a few exceptions, hooks have to be declared before they can
-% be used. The exceptions are the generic hooks for commands,
-% environments (i.e., executed at \cs{begin} and \cs{end}) and
-% hooks run when loading files, e.g. before and after a package is
-% loaded, etc. Their hook names depend on the command,
-% environment or the
-% file name and so declaring them beforehand is not practical.
-%
+% With a few exceptions, hooks have to be declared before they can
+% be used. The exceptions are the generic hooks for commands and
+% environments (executed at \cs{begin} and \cs{end}), and the
+% hooks run when loading files (see section~\ref{sec:generic}).
%
% \begin{function}{\NewHook}
% \begin{syntax}
% \cs{NewHook} \Arg{hook}
% \end{syntax}
% Creates a new \meta{hook}.
-% If this is a hook provided as part of a package it is suggested
-% that the \meta{hook} name is always structured as follows:
+% If this hook is declared within a package it is suggested
+% that its name is always structured as follows:
% \meta{package-name}\texttt{/}\meta{hook-name}. If necessary you
% can further subdivide the name by adding more \texttt{/} parts.
% If a hook name is already taken, an error is raised and the hook
@@ -180,17 +176,19 @@
% \end{function}
%
%
-% \subsubsection{Special declarations for hooks}
+% \subsubsection{Special declarations for generic hooks}
%
% The declarations here should normally not be used. They are available
% to provide support for special use cases mainly involving
% generic command hooks.
%
-% \begin{function}{\DisableHook}
+% \changes{v1.0p}{2021/08/20}{Documentation updates for generic hook commands (gh/638)}
+%
+% \begin{function}{\DisableGenericHook}
% \begin{syntax}
-% \cs{DisableHook} \Arg{hook}
+% \cs{DisableGenericHook} \Arg{hook}
% \end{syntax}
-% After this declaration the \meta{hook} is no longer usable: Any
+% After this declaration\footnotemark{} the \meta{hook} is no longer usable: Any
% attempt to add further code to it will result in an error and any
% use, e.g., via \cs{UseHook}, will simply do nothing.
%
@@ -201,37 +199,27 @@
%
% The \meta{hook} can be specified using the dot-syntax to denote
% the current package name. See section~\ref{sec:default-label}.
-% \end{function}
+% \end{function}\footnotetext{In the 2020/06 release this command was
+% called \cs{DisableHook}, but that name was misleading as it
+% shouldn't be used to disable non-generic hooks.}
%
%
-% \begin{function}{\ProvideHook}
+% \begin{function}{\ActivateGenericHook}
% \begin{syntax}
-% \cs{ProvideHook} \Arg{hook}
+% \cs{ActivateGenericHook} \Arg{hook}
% \end{syntax}
-% Like \cs{NewHook} but does nothing if the hook was previously
-% declared with \cs{NewHook}. This declaration should only be used
-% in special situations, e.g., when command of another package
-% need to be altered and it is is not clear if for that command a
-% generic hook was already explicitly declared before.
-%
-% Normally \cs{NewHook} should be used instead.
+% This declaration activates a generic hook provided by a package/class
+% (e.g., one used in code with \cs{UseHook} or
+% \cs{UseOneTimeHook}) without it being explicitly declared with
+% \cs{NewHook}).
+% This command undoes the effect of \cs{DisableGenericHook}.
+% If the hook is already activated, this command does nothing.
+%
+% See section~\ref{sec:generic-hooks} for a discussion of when this
+% declaration is appropriate.
% \end{function}
%
-% \begin{function}{\ProvideReversedHook}
-% \begin{syntax}
-% \cs{ProvideReversedHook} \Arg{hook}
-% \end{syntax}
-% Like \cs{NewReversedHook} but does nothing if the hook was
-% previously declared as a reversed hook.
-% \end{function}
%
-% \begin{function}{\ProvideMirroredHookPair}
-% \begin{syntax}
-% \cs{ProvideMirroredHookPair} \Arg{hook-1} \Arg{hook-2}
-% \end{syntax}
-% A shorthand for
-% \cs{ProvideHook}\Arg{hook-1}\cs{ProvideReversedHook}\Arg{hook-2}.
-% \end{function}
%
%
%
@@ -272,12 +260,20 @@
% consumed and any further attempt to add to it will result in
% executing the code to be added immediately.
%
-% \fmiinline{Maybe add an error version as well?}
-%
% The \meta{hook} \emph{cannot} be specified using the dot-syntax.
% A leading |.| is treated literally. See
% section~\ref{sec:default-label} for details.
-
+%
+% Using \cs{UseOneTimeHook} several times with the same
+% \Arg{hook} means that it only executes the first time it is used.
+% For example, if it is used in a command that can be called several times
+% then the hook executes during only the \emph{first} invocation of that
+% command; this allows its use as an \enquote{initialization hook}.
+%
+% Mixing \cs{UseHook} and \cs{UseOneTimeHook} for the same
+% \Arg{hook} should be avoided, but if this is done then neither will execute
+% after the first \cs{UseOneTimeHook}.
+%
% \end{function}
%
%
@@ -321,15 +317,19 @@
% When the optional argument \meta{label} is not provided, the
% \meta{default label} is used (see section~\ref{sec:default-label}).
%
-% If the code for that \meta{label} wasn't yet added to the
-% \meta{hook}, an order is set so that when some code attempts to add
-% that label, the removal order takes action and the code is not
-% added.
+% If there is no code under the \meta{label} in the \meta{hook},
+% or if the \meta{hook} does not exist, a warning is issued when
+% you attempt to \cs{RemoveFromHook}, and the command is ignored.
+% \cs{RemoveFromHook} should be used only when you know exactly what
+% labels are in a hook. Typically this will be when some code gets added to a hook
+% by a package, then later this code is removed by that same package.
+% If you want to prevent the execution of code from another
+% package, use the |voids| rule instead (see section~\ref{sec:rules}).
%
% If the optional \meta{label} argument is \texttt{*}, then all code chunks are
-% removed. This is rather dangerous as it drops code from other
-% packages one may not know about and should therefore not by used
-% by packages but only in document preambles!
+% removed. This is rather dangerous as it may well drop code from other
+% packages (that one may not know about); it should therefore not be used
+% in packages but only in document preambles!
%
% The \meta{hook} and \meta{label} can be specified using the
% dot-syntax to denote the current package name.
@@ -378,14 +378,28 @@
% The code is executed after the normal hook code has finished and
% it is executed only once, i.e. it is deleted after it was used.
%
-% Using the declaration is a global operation, i.e., the code is
-% not lost, even if the declaration is used inside a group and the
-% next invocation happens after the group. If the declaration is
+% Using this declaration is a global operation, i.e., the code is
+% not lost even if the declaration is used inside a group and the
+% next invocation of the hook happens after the end of that group.
+% If the declaration is
% used several times before the hook is executed then all code is
% executed in the order in which it was declared.\footnotemark
%
-% It is possible to nest declarations using the same hook (or
-% different hooks), e.g.,
+% If this declaration is used with a one-time hook then the code
+% is only ever used if the declaration comes before the hook’s
+% invocation. This is because, in contrast
+% to \cs{AddToHook}, the code in this declaration is not
+% executed immediately in the case when the invocation of the hook
+% has already happened---in other words, this code will truly execute
+% only on the next invocation of the hook (and in the case of a
+% one-time hook there is no such \enquote{next invocation}).
+% This gives you a choice: should my code execute
+% always, or should it execute only at the point where the
+% one-time hook is used (and not at all if this is impossible)? For
+% both of these possibilities there are use cases.
+%
+% It is possible to nest this declaration using the same hook (or
+% different hooks): e.g.,
% \begin{quote}
% \cs{AddToHookNext}\Arg{hook}\verb={=\meta{code-1}^^A
% \cs{AddToHookNext}\Arg{hook}\Arg{code-2}\verb=}=
@@ -404,6 +418,25 @@
% \end{function}\footnotetext{There is
% no mechanism to reorder such code chunks (or delete them).}
%
+%
+%
+% \begin{function}{\ClearHookNext}
+% \begin{syntax}
+% \cs{ClearHookNext}\Arg{hook}
+% \end{syntax}
+% Normally \cs{AddToHookNext} is only used when you know precisely
+% where it will apply and why you want some extra code at that
+% point. However, there are a few use cases in which such a
+% declaration needs to be canceled, for example, when
+% discarding a page with \cs{DiscardShipoutBox} (but even then not
+% always), and in such situations \cs{ClearHookNext} can be
+% used.
+% \end{function}
+%
+%
+%
+%
+%
% \subsubsection{Hook names and default labels}
% \label{sec:default-label}
%
@@ -424,7 +457,7 @@
%
% Except for \cs{UseHook}, \cs{UseOneTimeHook} and \cs{IfHookEmptyTF}
% (and their \pkg{expl3} interfaces \cs{hook_use:n},
-% \cs{hook_use_once:n} and \cs{hook_if_empty:nTF}, all \meta{hook}
+% \cs{hook_use_once:n} and \cs{hook_if_empty:nTF}), all \meta{hook}
% and \meta{label} arguments are processed in the same way: first,
% spaces are trimmed around the argument, then it is fully expanded
% until only character tokens remain. If the full expansion of the
@@ -458,7 +491,7 @@
% \AddToHook {./hook}[.]{code} % Same as \AddToHook{./hook}{code}
% \AddToHook {./hook}[./sub]{code}
% \DeclareHookRule{begindocument}{.}{before}{babel}
-% \AddToHook {file/after/foo.tex}{code}
+% \AddToHook {file/foo.tex/after}{code}
% \end{verbatim}
% are equivalent to:
% \begin{verbatim}
@@ -466,7 +499,7 @@
% \AddToHook {mypackage/hook}[mypackage]{code}
% \AddToHook {mypackage/hook}[mypackage/sub]{code}
% \DeclareHookRule{begindocument}{mypackage}{before}{babel}
-% \AddToHook {file/after/foo.tex}{code} % unchanged
+% \AddToHook {file/foo.tex/after}{code} % unchanged
% \end{verbatim}
%
% The \meta{default label} is automatically set equal to the name of the
@@ -534,7 +567,7 @@
% Packages that provide their own package-like interfaces
% (Ti\textit{k}Z's \cs{usetikzlibrary}, for example) can use
% \cs{PushDefaultHookLabel} and \cs{PopDefaultHookLabel} to set
-% dedicated labels and emulate \cs{usepackage}-like hook behaviour
+% dedicated labels and to emulate \cs{usepackage}-like hook behavior
% within those contexts.
%
% The |top-level| label is treated differently, and is reserved to the
@@ -588,6 +621,7 @@
% with that label from a package results in an error.
%
% \subsubsection{Defining relations between hook code}
+% \label{sec:rules}
%
% The default assumption is that code added to hooks by different
% packages are independent and the order in which they are executed is
@@ -712,8 +746,8 @@
% \item exist and be non-empty; and
% \item not exist (in which case emptiness doesn't apply);
% \end{itemize}
-% Hooks are a bit more complicated:
-% a hook may exist or not, and either way it may or may not be empty.
+% Hooks are a bit more complicated:
+% a hook may exist or not, and independently it may or may not be empty.
% This means that even a hook that doesn't exist may be non-empty and
% it can also be disabled.
%
@@ -854,7 +888,7 @@
% \end{quote}
% which means that the \meta{relation} applies to \meta{label-1} and
% \meta{label-2}, in that order, as detailed in \cs{DeclareHookRule}.
-% If the relation is \texttt{default} it means that that rule applies
+% If the relation is \texttt{default} it means that this rule applies
% to \meta{label-1} and \meta{label-2} in \emph{all} hooks, (unless
% overridden by a non-default relation).
%
@@ -905,9 +939,9 @@
%
%
%
-% \begin{function}{\hook_disable:n}
+% \begin{function}{\hook_disable_generic:n}
% \begin{syntax}
-% \cs{hook_disable:n} \Arg{hook}
+% \cs{hook_disable_generic:n} \Arg{hook}
% \end{syntax}
% Marks \Arg{hook} as disabled. Any further attempt to add code to
% it or declare it, will result in an error and any call to
@@ -921,34 +955,19 @@
% the current package name. See section~\ref{sec:default-label}.
% \end{function}
%
-% \begin{function}{\hook_provide:n}
+% \begin{function}{\hook_activate_generic:n}
% \begin{syntax}
-% \cs{hook_provide:n} \Arg{hook}
+% \cs{hook_activate_generic:n} \Arg{hook}
% \end{syntax}
% Like \cs{hook_new:n} but does nothing if the hook was previously
% declared with \cs{hook_new:n}. This declaration should only be used
% in special situations, e.g., when a command of another package
-% needs to be altered and it is is not clear if for that command a
+% needs to be altered and it is not clear if for that command a
% generic \hook{cmd} hook was already explicitly declared before.
%
% Normally \cs{hook_new:n} should be used instead.
% \end{function}
%
-% \begin{function}{\hook_provide_reversed:n}
-% \begin{syntax}
-% \cs{hook_provide_reversed:n} \Arg{hook}
-% \end{syntax}
-% Like \cs{hook_new_reversed:n} but does nothing if the hook was
-% previously declared as a reversed hook.
-% \end{function}
-%
-% \begin{function}{\hook_provide_pair:nn}
-% \begin{syntax}
-% \cs{hook_provide_pair:nn} \Arg{hook-1} \Arg{hook-2}
-% \end{syntax}
-% A shorthand for
-% \cs{hook_provide:n}\Arg{hook-1}\cs{hook_provide_reversed:n}\Arg{hook-2}.
-% \end{function}
%
%
%
@@ -1013,6 +1032,15 @@
% \end{function}
%
%
+% \begin{function}
+% {\hook_gclear_next_code:n}
+% \begin{syntax}
+% \cs{hook_gclear_next_code:n} \Arg{hook}
+% \end{syntax}
+% Undo any earlier \cs{hook_gput_next_code:nn}.
+% \end{function}
+%
+%
%
% \begin{function}{\hook_gremove_code:nn}
% \begin{syntax}
@@ -1020,10 +1048,9 @@
% \end{syntax}
% Removes any code for \meta{hook} labeled \meta{label}.
%
-% If the code for that \meta{label} wasn't yet added to the
-% \meta{hook}, an order is set so that when some code attempts to add
-% that label, the removal order takes action and the code is not
-% added.
+% If there is no code under the \meta{label} in the \meta{hook},
+% or if the \meta{hook} does not exist, a warning is issued when
+% you attempt to use \cs{hook_gremove_code:nn}, and the command is ignored.
%
% If the second argument is \texttt{*}, then all code chunks are
% removed. This is rather dangerous as it drops code from other
@@ -1138,7 +1165,7 @@
% which key-value pairs got added. However, that is only true if
% nothing other than adding happens!
%
-% Suppose, or example, you want to replace the code chunk for
+% Suppose, for example, you want to replace the code chunk for
% \texttt{packageA}, e.g.,
%\begin{verbatim}
% \RemoveFromHook{myhook}[packageA]
@@ -1297,7 +1324,7 @@
% \cs{AtBeginDocument} which is why it is supported.} (all three
% code chunks are executed one after another), but it makes little
% sense with a normal hook, because with a normal hook the first time
-% \verb=\UseHook{myhook}= is executed it would
+% \verb=\UseHook{myhook}= is executed it would
% \begin{itemize}
% \item
% execute \meta{code-1},
@@ -1315,6 +1342,70 @@
%
%
%
+% \subsection{Generic hooks provided by packages}
+% \label{sec:generic-hooks}
+%
+% \changes{v1.0p}{2021/08/20}{Section on generic hooks added (gh/638)}
+%
+% The hook management system also implements a category of hooks
+% that are called \enquote{Generic Hooks}. Normally a hook has to
+% be explicitly declared before it can be used in code. This
+% ensures that different packages are not using the same hook name
+% for unrelated purposes---something that would result in absolute
+% chaos. However, there are a number of \enquote{standard} hooks
+% where it is unreasonable to declare them beforehand, e.g, each
+% and every command has (in theory) an associated \texttt{before}
+% and \texttt{after} hook. In such cases, i.e., for command,
+% environment or file hooks, they can be used simply by adding code
+% to them with \cs{AddToHook}. For more specialized generic hooks,
+% e.g., those provided by \pkg{babel}, you have to additionally
+% enable them with \cs{ActivateGenericHook} as explained below.
+%
+% The generic hooks provided by \LaTeX{} are those for
+% \hook{cmd},
+% \hook{env},
+% \hook{file},
+% \hook{include}
+% \hook{package}, and
+% \hook{class},
+% and all these are available out of the box: you only have to
+% use \cs{AddToHook} to
+% add code to them, but you don't have to add \cs{UseHook} or
+% \cs{UseOneTimeHook} to your code, because this is already done for
+% you (or, in the case of \hook{cmd} hooks, the command’s code is
+% patched at \verb=\begin{document}=, if necessary).
+%
+% However, if you want to provide further generic hooks in your own
+% code, the situation is slightly different. To do this you should
+% use \cs{UseHook} or \cs{UseOneTimeHook}, but
+% \emph{without declaring the hook} with \cs{NewHook}. As
+% mentioned earlier, a call to \cs{UseHook} with an undeclared hook
+% name does nothing. So as an additional setup step, you need to
+% explicitly activate your generic hook. Note that a generic hook
+% produced in this way is always a normal hook.
+%
+% For a truly generic hook, with a variable part in the hook name,
+% such upfront activation would be difficult or impossible, because
+% you typically do not know what kind of variable parts may come up
+% in real documents.
+%
+% For example, \pkg{babel} may want to provide hooks such as
+% \hook{babel/afterextras/\meta{language}}. Language support in
+% \pkg{babel} is often done through external language
+% packages. Thus doing the activation for all languages inside the
+% core \pkg{babel} code is not a viable approach. Instead it needs
+% to be done by each language package (or by the user who wants to
+% use a particular hook).
+%
+% Because the hooks are not declared with \cs{NewHook} their names
+% should be carefully chosen to ensure that they are (likely to be)
+% unique. Best practice is to include the package or
+% command name, as was done in the \pkg{babel} example above.
+%
+% Generic hooks defined in this way are always normal hooks (i.e.,
+% you can't implement reversed hooks this way). This is a
+% deliberate limitation, because it speeds up the processessing
+% conciderably.
%
%
% \subsection{Private \LaTeX{} kernel hooks}
@@ -1354,8 +1445,8 @@
%
% \subsection{Legacy \LaTeXe{} interfaces}
%
-% \newcommand\onetimetext{%
-% This is a one-time hook, so after it is executed, all further
+% \newcommand\onetimetext{This is a one-time hook, so after it
+% is executed, all further
% attempts to add code to it will execute such code immediately
% (see section~\ref{sec:onetime-hooks}).}
%
@@ -1363,7 +1454,7 @@
% add to them. They are listed here and are retained for backwards
% compatibility.
%
-% With the new hook management several additional hooks have been added
+% With the new hook management, several additional hooks have been added
% to \LaTeX\ and more will follow. See the next section for what
% is already available.
%
@@ -1374,7 +1465,7 @@
% \end{syntax}
% If used without the optional argument \meta{label}, it works essentially
% like before, i.e., it is adding \meta{code} to the hook
-% \hook{begindocument}
+% \hook{begindocument}
% (which is executed inside \verb=\begin{document}=).
% However, all code added this way is labeled with the label
% \hook{top-level} (see section~\ref{sec:top-level})
@@ -1430,10 +1521,54 @@
% the processing.
%
%
-% \subsection{\LaTeXe{} commands and environments augmented by
-% hooks}
-%
-% \emph{intro to be written}
+% \section{\LaTeXe{} commands and environments augmented by hooks}
+%
+% In this section we describe the standard hooks that are now
+% offered by \LaTeX{}, or give pointers to other documents in which
+% they are described. This section will grow over time (and
+% perhaps eventually move to usrguide3).
+%
+% \subsection{Generic hooks}
+% \label{sec:generic}
+%
+% As stated earlier, with the exception of generic hooks, all hooks must
+% be declared with \cs{NewHook} before they can be used.
+% All generic hooks have names of the form
+% \enquote{\meta{type}/\meta{name}/\meta{position}}, where \meta{type}
+% is from the predefined list shown below, and \meta{name} is the variable
+% part whose meaning will depend on the \meta{type}. The last component,
+% \meta{position}, has more complex possibilities:
+% it can always be |before| or |after|; for |env| hooks, it can also be |begin|
+% or |end|; and for |include| hooks it can also be |end|. Each specific
+% hook is documented below, or in \texttt{ltcmdhooks-doc.pdf} or
+% \texttt{ltfilehook-doc.pdf}.
+%
+% The generic hooks provided by \LaTeX{} belong to one of the six types:
+% \begin{description}
+% \item[env] Hooks executed before and after environments --
+% \meta{name} is the name of the environment, and available values
+% for \meta{position} are |before|, |begin|, |end|, and |after|;
+% \item[cmd] Hooks added to and executed before and after commands --
+% \meta{name} is the name of the command, and available values
+% for \meta{position} are |before| and |after|;
+% \item[file] Hooks executed before and after reading a file --
+% \meta{name} is the name of the file (with extension), and
+% available values for \meta{position} are |before| and |after|;
+% \item[package] Hooks executed before and after loading packages --
+% \meta{name} is the name of the package, and available values for
+% \meta{position} are |before| and |after|;
+% \item[class] Hooks executed before and after loading classes --
+% \meta{name} is the name of the class, and available values for
+% \meta{position} are |before| and |after|;
+% \item[include] Hooks executed before and after \cs{include}d files --
+% \meta{name} is the name of the included file (without the |.tex|
+% extension), and available values for \meta{position} are |before|,
+% |end|, and |after|.
+% \end{description}
+%
+% Each of the hooks above are detailed in the following sections and
+% in linked documentation.
+% ^^A^^A^^A \pho{Wouldn't it be better to document all hooks here?}
%
% \subsubsection{Generic hooks for all environments}
%
@@ -1495,9 +1630,15 @@
% to add the outer hooks, etc.
%
%
+% Largely for compatibility with existing packages, the following
+% four commands are also available to set the environment hooks; but for
+% new packages we recommend directly using the hook names and
+% \cs{AddToHook}.
+%
+%
% \begin{function}{\BeforeBeginEnvironment}
% \begin{syntax}
-% \cs{BeforeBeginEnvironment} \oarg{label} \Arg{code}
+% \cs{BeforeBeginEnvironment} \oarg{label} \Arg{env} \Arg{code}
% \end{syntax}
% This declaration adds to the \hook{env/\meta{env}/before} hook
% using the \meta{label}. If \meta{label} is not given, the
@@ -1506,23 +1647,23 @@
%
% \begin{function}{\AtBeginEnvironment}
% \begin{syntax}
-% \cs{AtBeginEnvironment} \oarg{label} \Arg{code}
+% \cs{AtBeginEnvironment} \oarg{label} \Arg{env} \Arg{code}
% \end{syntax}
-% Like \cs{BeforeBeginEnvironment} but adds to the \hook{env/\meta{env}/begin} hook.
+% This is like \cs{BeforeBeginEnvironment} but it adds to the \hook{env/\meta{env}/begin} hook.
% \end{function}
%
% \begin{function}{\AtEndEnvironment}
% \begin{syntax}
-% \cs{AtEndEnvironment} \oarg{label} \Arg{code}
+% \cs{AtEndEnvironment} \oarg{label} \Arg{env} \Arg{code}
% \end{syntax}
-% Like \cs{BeforeBeginEnvironment} but adds to the \hook{env/\meta{env}/end} hook.
+% This is like \cs{BeforeBeginEnvironment} but it adds to the \hook{env/\meta{env}/end} hook.
% \end{function}
%
% \begin{function}{\AfterEndEnvironment}
% \begin{syntax}
-% \cs{AfterEndEnvironment} \oarg{label} \Arg{code}
+% \cs{AfterEndEnvironment} \oarg{label} \Arg{env} \Arg{code}
% \end{syntax}
-% Like \cs{BeforeBeginEnvironment} but adds to the \hook{env/\meta{env}/after} hook.
+% This is like \cs{BeforeBeginEnvironment} but it adds to the \hook{env/\meta{env}/after} hook.
% \end{function}
%
%
@@ -1559,7 +1700,7 @@
%
%
%
-% \subsubsection{Hooks provided by \cs{begin}\texttt{\{document\}}}
+% \subsection{Hooks provided by \cs{begin}\texttt{\{document\}}}
% \label{sec:begindocument-hooks}
%
% Until 2020 \cs{begin}\texttt{\{document\}} offered exactly one
@@ -1618,7 +1759,7 @@
%
%
%
-% \subsubsection{Hooks provided by \cs{end}\texttt{\{document\}}}
+% \subsection{Hooks provided by \cs{end}\texttt{\{document\}}}
%
% \LaTeXe{} always provided \cs{AtEndDocument} to add code to the
% execution of \verb=\end{document}= just in front of the code that
@@ -1726,7 +1867,7 @@
%
%
%
-% \subsubsection{Hooks provided by \cs{shipout} operations}
+% \subsection{Hooks provided by \cs{shipout} operations}
% \label{sec:shipout}
%
% There are several hooks and mechanisms added to \LaTeX{}'s
@@ -1735,36 +1876,44 @@
% \texttt{ltshipout-code.pdf}.
%
%
+% \subsection{Hooks provided for paragraphs}
+% \label{sec:para}
+%
+% The paragraph processing has been augmented to include a number of
+% internal and public hooks. These are documented in
+% \texttt{ltpara-doc.pdf} or with code in
+% \texttt{ltpara-code.pdf}.
+%
+%
%
-% \subsubsection{Hooks provided in NFSS commands}
+% \subsection{Hooks provided in NFSS commands}
%
% In languages that need to support for more than one script in
-% parallel (and thus several sets of fonts), e.g., Latin and
-% Japanese fonts, NFSS font commands, such as \cs{sffamily}, need
+% parallel (and thus several sets of fonts, e.g., supporting both Latin and
+% Japanese fonts), NFSS font commands such as \cs{sffamily} need
% to switch both the Latin family to ``Sans Serif'' and in addition
% alter a second set of fonts.
%
-% To support this several NFSS have hooks in which such support can
-% be added.
+% To support this, several NFSS commands have hooks to which
+% such support can be added.
% \begin{description}
%
% \item[\hook{rmfamily}]
%
% After \cs{rmfamily} has done its initial checks and prepared a
-% any font series update this hook is executed and only
-% afterwards \cs{selectfont}.
+% font series update, this hook is executed before \cs{selectfont}.
%
% \item[\hook{sffamily}]
%
-% Like the \hook{rmfamily} hook but for the \cs{sffamily} command.
+% This is like the \hook{rmfamily} hook, but for the \cs{sffamily} command.
%
% \item[\hook{ttfamily}]
%
-% Like the \hook{rmfamily} hook but for the \cs{ttfamily} command.
+% This is like the \hook{rmfamily} hook, but for the \cs{ttfamily} command.
%
% \item[\hook{normalfont}]
%
-% The \cs{normalfont} command resets font encoding family series
+% The \cs{normalfont} command resets the font encoding, family, series
% and shape to their document defaults. It then executes this
% hook and finally calls \cs{selectfont}.
%
@@ -1779,21 +1928,36 @@
%
% \item[\hook{bfseries/defaults}, \hook{bfseries}]
%
-% If the \cs{bfdefault} was explicitly changed by the user its
+% If the \cs{bfdefault} was explicitly changed by the user, its
% new value is used to set the bf series defaults for the meta
-% families (rm/sf/tt) when \cs{bfseries} is called. In the
-% \hook{bfseries/defaults} hook further adjustments can be made
+% families (rm/sf/tt) when \cs{bfseries} is called. The
+% \hook{bfseries/defaults} hook allows further adjustments to be made
% in this case. This hook is only executed if such a change is
-% detected. In contrast the \hook{bfseries} hook is always
+% detected. In contrast, the \hook{bfseries} hook is always
% executed just before \cs{selectfont} is called to change to the
% new series.
%
%
% \item[\hook{mdseries/defaults}, \hook{mdseries}]
%
-% These two hooks are like the previous ones but used in
+% These two hooks are like the previous ones but they are in the
% \cs{mdseries} command.
%
+% \item[\hook{selectfont}]
+%
+% This hook is executed inside \cs{selectfont}, after the current
+% values for \textit{encoding}, \textit{family}, \textit{series},
+% \textit{shape}, and \textit{size} are evaluated and the new font
+% is selected (and if necessary loaded). After the hook has
+% executed, NFSS will still do any updates necessary for a new
+% \textit{size} (such as changing the size of \cs{strut}) and any
+% updates necessary to a change in \textit{encoding}.
+%
+% This hook is intended for use cases where, in parallel to a
+% change in the main font, some other fonts need to be altered
+% (e.g., in CJK processing where you may need to deal with several
+% different alphabets).
+%
% \end{description}
%
%
@@ -1859,7 +2023,7 @@
%
% \begin{macro}[EXP]{\@@_str_compare:nn}
% Private copy of \cs{__str_if_eq:nn}
-% \InternalDetectionOff
+% \InternalDetectionOff
% \begin{macrocode}
\cs_new_eq:NN \@@_str_compare:nn \__str_if_eq:nn
% \end{macrocode}
@@ -1892,13 +2056,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\g_@@_removal_list_prop}
-% A token list to hold delayed removals.
-% \begin{macrocode}
-\tl_new:N \g_@@_removal_list_tl
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\l_@@_cur_hook_tl}
% Stores the name of the hook currently being sorted.
% \begin{macrocode}
@@ -1916,13 +2073,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\g_@@_execute_immediately_prop}
-% List of hooks that from no on should not longer receive code.
-% \begin{macrocode}
-\prop_new:N \g_@@_execute_immediately_prop
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\g_@@_used_prop}
% All hooks that receive code (for use in debugging display).
% \begin{macrocode}
@@ -1963,6 +2113,13 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_clean_to_scan:w}
+% Removes tokens until the next \cs{s_@@_mark}.
+% \begin{macrocode}
+\cs_new:Npn \@@_clean_to_scan:w #1 \s_@@_mark { }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@@_tl_set:Nn,\@@_tl_set:Nx,
% \@@_tl_set:cn,\@@_tl_set:cx}
% Private copies of a few \pkg{expl3} functions. \pkg{l3debug} will
@@ -2055,7 +2212,7 @@
% \item[\cs{g_@@_\meta{hook}_code_prop}] A property list holding the code
% for the hook in separate chunks. The keys are by default the
% package names that add code to the hook, but it is possible
-% for packages to define other keys.
+% for packages to define other keys.
%
% \item[{\cs[no-index]{g_@@_\meta{hook}_rule_\meta{label1}\string|\meta{label2}_tl}}]
% A token list holding the relation between \meta{label1} and
@@ -2108,19 +2265,19 @@
% \label{sec:existence}
%
% A hook may be in different states of existence. Here we give an
-% overview of internal commands to set up hooks and explain how the
+% overview of the internal commands to set up hooks and explain how the
% different states are distinguished. The actual implementation
-% then follows in the next sections.
+% then follows in subsequent sections.
%
-% One problem we have to solve is, that we need to be able to add
+% One problem we have to solve is that we need to be able to add
% code to hooks (e.g., with \cs{AddToHook}) even if that code has
-% not been declared yet. For example, one package needs to write
-% into a hook of another package, but that package ay not get
-% loaded or only loaded later. Another problem most hooks require
-% declaration but this is not the case for the generic hooks.
+% not yet been declared. For example, one package needs to write
+% into a hook of another package, but that package may not get
+% loaded, or is loaded only later. Another problem is that most hooks,
+% but not the generic hooks, require a declaration.
%
-% We therefore distinguish the following states for a hook and they
-% are managed with four different tests: structure existence
+% We therefore distinguish the following states for a hook, which
+% are managed by four different tests: structure existence
% (\cs{@@_if_structure_exist:nTF}), creation
% (\cs{@@_if_usable:nTF}), declaration (\cs{@@_if_declared:nTF})
% and disabled or not (\cs{@@_if_disabled:nTF})
@@ -2151,12 +2308,12 @@
% \item [@@_if_disabled:nTF] returns |false|.
% \end{itemize}
%
-% The allowed acctions are the same as in the \enquote{not
+% The allowed actions are the same as in the \enquote{not
% existing} state.
%
% \item[declared]
%
-% A hook is in this state it is not disabled and was explicity declared (e.g.,
+% A hook is in this state it is not disabled and was explicitly declared (e.g.,
% with \cs{NewHook}). In this case the four tests give the
% following results:
% \begin{itemize}
@@ -2187,8 +2344,8 @@
%
% \item[disabled]
%
-% A hook in any state is moved to this state when
-% \cs{DisableHook} is used. This changes the tests to give the
+% A generic hook in any state is moved to this state when
+% \cs{DisableGenericHook} is used. This changes the tests to give the
% following results:
% \begin{itemize}
% \item [@@_if_structure_exist:nTF] \emph{unchanged}.
@@ -2197,7 +2354,7 @@
% \item [@@_if_disabled:nTF] returns |true|.
% \end{itemize}
% The structure test is unchanged (if the hook was unknown before it is
-% false, otherwise true). The usable test returns false so that
+% |false|, otherwise |true|). The usable test returns |false| so that
% any \cs{UseHook} will bypass the hook from now on. The
% declared test returns true so that any further \cs{NewHook}
% generates an error and the disabled test returns true so that
@@ -2240,8 +2397,8 @@
% \end{macrocode}
% \end{macro}
%
-%
-%
+%
+%
% \begin{macro}{\@@_make_usable:n}
%
% This initializes all hook data structures for the hook but if
@@ -2315,7 +2472,7 @@
% (\cs[no-index]{g_@@_\meta{hook}_code_prop}) and the |top-level|
% and |next| token lists. A hook is initialized with
% \cs{@@_init_structure:n} the first time anything is added to it.
-% Inizializing a hook just with \cs{@@_init_structure:n} will not
+% Initializing a hook just with \cs{@@_init_structure:n} will not
% make it usable with \cs{hook_use:n}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_init_structure:n #1
@@ -2407,7 +2564,9 @@
%
% \subsubsection{Disabling and providing hooks}
%
-% \begin{macro}{\hook_disable:n}
+% \changes{v1.0p}{2021/08/20}{Renames of generic hook commands (gh/638)}
+%
+% \begin{macro}{\hook_disable_generic:n}
% \begin{macro}{\@@_disable:n}
% \begin{macro}[pTF]{\@@_if_disabled:n}
%
@@ -2423,11 +2582,11 @@
%
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2021/06/01}%
-%<latexrelease> {\hook_disable:n}{Disable~hooks}
+%<latexrelease> {\hook_disable_generic:n}{Disable~hooks}
% \end{macrocode}
-%
+%
% \begin{macrocode}
-\cs_new_protected:Npn \hook_disable:n #1
+\cs_new_protected:Npn \hook_disable_generic:n #1
{ \@@_normalize_hook_args:Nn \@@_disable:n {#1} }
\cs_new_protected:Npn \@@_disable:n #1
{
@@ -2447,9 +2606,9 @@
%
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2020/10/01}
-%<latexrelease> {\hook_disable:n}{Disable~hooks}
+%<latexrelease> {\hook_disable_generic:n}{Disable~hooks}
%<latexrelease>
-%<latexrelease>\cs_new_protected:Npn \hook_disable:n #1 {}
+%<latexrelease>\cs_new_protected:Npn \hook_disable_generic:n #1 {}
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
@@ -2457,71 +2616,47 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\hook_provide:n}
-% \begin{macro}{\hook_provide_reversed:n}
-% \begin{macro}{\@@_provide:n}
-% The \cs{hook_provide:n} declaration declares a new hook if it
+% \begin{macro}{\hook_activate_generic:n}
+% \begin{macro}{\@@_activate_generic:n}
+% The \cs{hook_activate_generic:n} declaration declares a new hook if it
% wasn't declared already, in which case it only checks that the
% already existing hook is not a reversed hook.
-% The \cs{hook_provide_reversed:n} does the same for reversed hooks.
-% \hook{begindocument}.
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2021/06/01}%
-%<latexrelease> {\hook_provide:n}{Providing~hooks}
+%<latexrelease> {\hook_activate_generic:n}{Providing~hooks}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \hook_provide:n #1
- { \@@_normalize_hook_args:Nn \@@_provide:nn {#1} { } }
-\cs_new_protected:Npn \hook_provide_reversed:n #1
- { \@@_normalize_hook_args:Nn \@@_provide:nn {#1} { - } }
+\cs_new_protected:Npn \hook_activate_generic:n #1
+ { \@@_normalize_hook_args:Nn \@@_activate_generic:nn {#1} { } }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_provide:nn #1 #2
+\cs_new_protected:Npn \@@_activate_generic:nn #1 #2
{
% \end{macrocode}
-% If the hook to be provided was disabled we warn (for now --- this
+% If the hook to be activated was disabled we warn (for now --- this
% may change).
% \begin{macrocode}
\@@_if_disabled:nTF {#1}
- { \msg_warning:nnn { hooks } { provide-disabled } {#1} }
+ { \msg_warning:nnn { hooks } { activate-disabled } {#1} }
% \end{macrocode}
-% Otherwise we check if it was already declared.
+% Otherwise we check if the hook is not declared, and if it isn't,
+% figure out if it's reversed or not, then declare it accordingly.
% \begin{macrocode}
{
- \@@_if_declared:nTF {#1}
- {
-% \end{macrocode}
-% Issue an error if we try to provide a a hook that is reversed and
-% the already existing one is not (or vice versa).
-% \begin{macrocode}
- \str_if_eq:eeF { \tl_use:c { g_@@_#1_reversed_tl } } {#2}
- { \msg_error:nnn { hooks } { provide-error } {#1} }
- }
-% \end{macrocode}
-% If it wasn't declared, we declared as a normal or reversed hook
-% as appropriate.
-% \begin{macrocode}
+ \@@_if_declared:nF {#1}
{
\tl_new:c { g_@@_#1_declared_tl }
\@@_make_usable:n {#1}
- \tl_gset:cn { g_@@_#1_reversed_tl } {#2}
+ \tl_gset:cx { g_@@_#1_reversed_tl }
+ { \@@_if_generic_reversed:nT {#1} { - } }
}
}
}
% \end{macrocode}
% \end{macro}
% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\hook_provide_pair:nn}
-% A shorthand for providing a normal and a (matching) reversed hook in one go.
-% \begin{macrocode}
-\cs_new_protected:Npn \hook_provide_pair:nn #1#2
- { \hook_provide:n {#1} \hook_provide_reversed:n {#2} }
-% \end{macrocode}
-% \end{macro}
%
% \begin{macrocode}
%<latexrelease>\EndIncludeInRelease
@@ -2529,11 +2664,9 @@
%
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2020/10/01}
-%<latexrelease> {\hook_provide:n}{Providing~hooks}
+%<latexrelease> {\hook_activate_generic:n}{Providing~hooks}
%<latexrelease>
-%<latexrelease>\cs_new_protected:Npn \hook_provide_reversed:n #1 {}
-%<latexrelease>\cs_new_protected:Npn \hook_provide:n #1 {}
-%<latexrelease>\cs_new_protected:Npn \hook_provide_pair:nn #1#2 {}
+%<latexrelease>\cs_new_protected:Npn \hook_activate_generic:n #1 {}
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
@@ -2600,8 +2733,8 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_currname_or_default:}
-% Uses \cs{g_@@_hook_curr_name_tl} if it is set, otherwise tries
-% \cs{@currname}. If neither is set, raises an error and uses the
+% This uses \cs{g_@@_hook_curr_name_tl} if it is set, otherwise it tries
+% \cs{@currname}. If neither is set, it raises an error and uses the
% fallback value \verb|label-missing|.
% \begin{macrocode}
\cs_new:Npn \@@_currname_or_default:
@@ -2610,7 +2743,7 @@
{
\tl_if_empty:NTF \@currname
{
- \msg_expandable_error:nnn { kernel } { should-not-happen }
+ \msg_expandable_error:nnn { latex2e } { should-not-happen }
{ Empty~default~label. }
\@@_make_name:n { label-missing }
}
@@ -2622,7 +2755,7 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_make_name:n,\@@_make_name:w}
-% Provides a standard sanitization of a hook's name.
+% This provides a standard sanitization of a hook's name.
% It uses \cs{cs:w} to build a control sequence out of the hook name,
% then uses \cs{cs_to_str:N} to get the string representation of that,
% without the escape character. \cs{cs:w}-based expansion is used
@@ -2646,7 +2779,7 @@
% \begin{macro}{\@@_normalize_hook_args:Nnn}
% \begin{macro}{\@@_normalize_hook_rule_args:Nnnnn}
% \begin{macro}{\@@_normalize_hook_args_aux:Nn}
-% Standard route for normalising hook and label arguments. The main
+% This is the standard route for normalizing hook and label arguments. The main
% macro does the entire operation within a group so that csnames made
% by \cs{@@_make_name:n} are wiped off before continuing. This means
% that this function cannot be used for \cs{hook_use:n}!
@@ -2689,16 +2822,151 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\@@_curr_name_push:n,\@@_curr_name_push_aux:n}
+% \begin{macro}{\@@_curr_name_pop:}
+% \begin{macro}{\@@_end_document_label_check:}
+% The token list \cs{g_@@_hook_curr_name_tl} stores the name of the
+% current package/file to be used as the default label in hooks.
+% Providing a consistent interface is tricky because packages can
+% be loaded within packages, and some packages may not use
+% \cs{SetDefaultHookLabel} to change the default label (in which
+% case \cs{@currname} is used).
+%
+% To pull that one off, we keep a stack that contains the default
+% label for each level of input. The bottom of the stack contains the
+% default label for the |top-level| (this stack should never go
+% empty). If we're building the format, set the default label to be
+% |top-level|:
+% \begin{macrocode}
+\tl_gset:Nn \g_@@_hook_curr_name_tl { top-level }
+% \end{macrocode}
+%
+% Then, in case we're in \pkg{latexrelease} we push something on
+% the stack to support roll forward. But in some rare cases,
+% \pkg{latexrelease} may be loaded inside another package (notably
+% \pkg{platexrelease}), so we'll first push the |top-level| entry:
+% \changes{v1.0i}{2021/03/18}
+% {Only add \texttt{top-level} if not already there.}
+% \begin{macrocode}
+%<latexrelease>\seq_if_empty:NT \g_@@_name_stack_seq
+%<latexrelease> { \seq_gput_right:Nn \g_@@_name_stack_seq { top-level } }
+% \end{macrocode}
+% then we dissect the \cs{@currnamestack}, adding \cs{@currname} to
+% the stack:
+% \changes{v1.0f}{2020/11/24}{Support for roll forward (gh/434)}
+% \begin{macrocode}
+%<latexrelease>\cs_set_protected:Npn \@@_tmp:w #1 #2 #3
+%<latexrelease> {
+%<latexrelease> \quark_if_recursion_tail_stop:n {#1}
+%<latexrelease> \seq_gput_right:Nn \g_@@_name_stack_seq {#1}
+%<latexrelease> \@@_tmp:w
+%<latexrelease> }
+%<latexrelease>\exp_after:wN \@@_tmp:w \@currnamestack
+%<latexrelease> \q_recursion_tail \q_recursion_tail
+%<latexrelease> \q_recursion_tail \q_recursion_stop
+% \end{macrocode}
+% and finally set the default label to be the \cs{@currname}:
+% \changes{v1.0i}{2021/03/18}
+% {Remove the (empty) \enquote{top-level} from \cs{@currnamestack}.}
+% \begin{macrocode}
+%<latexrelease>\tl_gset:Nx \g_@@_hook_curr_name_tl { \@currname }
+%<latexrelease>\seq_gpop_right:NN \g_@@_name_stack_seq \l_@@_tmpa_tl
+% \end{macrocode}
+%
+% Two commands keep track of the stack: when a file is input,
+% \cs{@@_curr_name_push:n} pushes the current default label onto the
+% stack and sets the new default label (all in one go):
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_curr_name_push:n #1
+ { \exp_args:Nx \@@_curr_name_push_aux:n { \@@_make_name:n {#1} } }
+\cs_new_protected:Npn \@@_curr_name_push_aux:n #1
+ {
+ \tl_if_blank:nTF {#1}
+ { \msg_error:nn { hooks } { no-default-label } }
+ {
+ \str_if_eq:nnTF {#1} { top-level }
+ {
+ \msg_error:nnnnn { hooks } { set-top-level }
+ { to } { PushDefaultHookLabel } {#1}
+ }
+ {
+ \seq_gpush:NV \g_@@_name_stack_seq \g_@@_hook_curr_name_tl
+ \tl_gset:Nn \g_@@_hook_curr_name_tl {#1}
+ }
+ }
+ }
+% \end{macrocode}
+% and when an input is over, the topmost item of the stack is popped,
+% since that label will not be used again, and \cs{g_@@_hook_curr_name_tl}
+% is updated to equal the now topmost item of the stack:
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_curr_name_pop:
+ {
+ \seq_gpop:NNTF \g_@@_name_stack_seq \l_@@_return_tl
+ { \tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl }
+ { \msg_error:nn { hooks } { extra-pop-label } }
+ }
+% \end{macrocode}
+%
+% At the end of the document we want to check if there was no
+% \cs{@@_curr_name_push:n} without a matching \cs{@@_curr_name_pop:}
+% (not a critical error, but it might indicate that something else is
+% not quite right):
+% \begin{macrocode}
+\tl_gput_right:Nn \@kernel@after@enddocument@afterlastpage
+ { \@@_end_document_label_check: }
+\cs_new_protected:Npn \@@_end_document_label_check:
+ {
+ \seq_gpop:NNT \g_@@_name_stack_seq \l_@@_return_tl
+ {
+ \msg_error:nnx { hooks } { missing-pop-label }
+ { \g_@@_hook_curr_name_tl }
+ \tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl
+ \@@_end_document_label_check:
+ }
+ }
+% \end{macrocode}
+%
+% The token list \cs{g_@@_hook_curr_name_tl} is but a mirror of the
+% top of the stack.
%
+% \begin{macro}{\@@_set_default_hook_label:n,\@@_set_default_label:n}
+% Now define a wrapper that replaces the top of the stack with the
+% argument, and updates \cs{g_@@_hook_curr_name_tl} accordingly.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_default_hook_label:n #1
+ {
+ \seq_if_empty:NTF \g_@@_name_stack_seq
+ {
+ \msg_error:nnnnn { hooks } { set-top-level }
+ { for } { SetDefaultHookLabel } {#1}
+ }
+ { \exp_args:Nx \@@_set_default_label:n { \@@_make_name:n {#1} } }
+ }
+\cs_new_protected:Npn \@@_set_default_label:n #1
+ {
+ \str_if_eq:nnTF {#1} { top-level }
+ {
+ \msg_error:nnnnn { hooks } { set-top-level }
+ { to } { SetDefaultHookLabel } {#1}
+ }
+ { \tl_gset:Nn \g_@@_hook_curr_name_tl {#1} }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \subsection{Adding or removing hook code}
%
% \begin{macro}{\hook_gput_code:nnn}
-% \begin{macro}{\@@_gput_code:nnn,\@@_gput_code:nxv,\@@_hook_gput_code_do:nnn}
+% \begin{macro}{\@@_gput_code:nnn,\@@_hook_gput_code_do:nnn}
%
% With \cs{hook_gput_code:nnn}\Arg{hook}\Arg{label}\Arg{code} a
% chunk of \meta{code} is added to an existing \meta{hook} labeled
% with \meta{label}.
+% \changes{v1.0o}{2021/07/22}{Do not queue removals (gh/625)}
% \begin{macrocode}
\cs_new_protected:Npn \hook_gput_code:nnn #1 #2
{ \@@_normalize_hook_args:Nnn \@@_gput_code:nnn {#1} {#2} }
@@ -2708,61 +2976,46 @@
\cs_new_protected:Npn \@@_gput_code:nnn #1 #2 #3
{
% \end{macrocode}
-% First check if the hook was used as a one-time hook:
+% First check if the code should be executed immediately, rather than
+% stored:
+% \changes{v1.0r}{2021/09/06}{Use dedicated conditional (gh/606)}
% \begin{macrocode}
- \prop_if_in:NnTF \g_@@_execute_immediately_prop {#1}
+ \@@_if_execute_immediately:nTF {#1}
{#3}
{
% \end{macrocode}
-% Then check if the current \meta{hook}/\meta{label} pair was marked
-% for removal, in which case \cs{@@_unmark_removal:nn} is used to
-% remove that mark (once). This may happen when a package removes
-% code from another package which was not yet loaded: the removal
-% order is stored, and at this stage it is executed by not adding to
-% the hook.
-% \begin{macrocode}
- \@@_if_marked_removal:nnTF {#1} {#2}
- { \@@_unmark_removal:nn {#1} {#2} }
- {
-% \end{macrocode}
-% If no removal is queued, we are free to add. Start by checking if
-% the hook exists.
+% Then check if the hook is usable.
% \begin{macrocode}
- \@@_if_usable:nTF {#1}
+ \@@_if_usable:nTF {#1}
% \end{macrocode}
% If so we simply add (or append) the new code to the property list
% holding different chunks for the hook. At \verb=\begin{document}=
% this is then sorted into a token list for fast execution.
% \begin{macrocode}
- {
- \@@_hook_gput_code_do:nnn {#1} {#2} {#3}
+ {
+ \@@_hook_gput_code_do:nnn {#1} {#2} {#3}
% \end{macrocode}
% However, if there is an update within the document we need to alter
% this execution code which is done by
% \cs{@@_update_hook_code:n}. In the preamble this does nothing.
% \begin{macrocode}
- \@@_update_hook_code:n {#1}
- }
+ \@@_update_hook_code:n {#1}
+ }
% \end{macrocode}
%
-% If the hook does not exist, however, before giving up try to
-% declare it as a generic hook, if its name matches one of the valid
-% patterns.
+% If the hook is not usable, before giving up, check if it's not
+% disabled and otherwise try to declare it as a generic hook, if its
+% name matches one of the valid patterns.
% \begin{macrocode}
- {
- \@@_if_disabled:nTF {#1}
- { \msg_error:nnn { hooks } { hook-disabled } {#1} }
- { \@@_try_declaring_generic_hook:nnn {#1} {#2} {#3} }
- }
+ {
+ \@@_if_disabled:nTF {#1}
+ { \msg_error:nnn { hooks } { hook-disabled } {#1} }
+ { \@@_try_declaring_generic_hook:nnn {#1} {#2} {#3} }
}
}
}
% \end{macrocode}
%
-% \begin{macrocode}
-\cs_generate_variant:Nn \@@_gput_code:nnn { nxv }
-% \end{macrocode}
-%
% This macro will unconditionally add a chunk of code to the given hook.
% \begin{macrocode}
\cs_new_protected:Npn \@@_hook_gput_code_do:nnn #1 #2 #3
@@ -2839,21 +3092,40 @@
% next-execution hooks does the same: it defers the code to
% \cs{hook_gput_next_code:nn} if the generic hook was declared, or
% to \cs{@@_gput_next_do:nn} otherwise.
+% \changes{v1.0p}{2021/08/25}{Standardise generic hook names (gh/648)}
% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\@@_try_declaring_generic_hook:nnn}
+%<latexrelease> {Standardise~generic~hook~names}
\cs_new_protected:Npn \@@_try_declaring_generic_hook:nnn #1
{
- \@@_try_declaring_generic_hook:nNNnn {#1}
- \hook_gput_code:nnn \@@_gput_undeclared_hook:nnn
+ \@@_try_declaring_generic_hook:wnTF #1 / / / \scan_stop: {#1}
+ \hook_gput_code:nnn
+ \@@_gput_undeclared_hook:nnn
+ {#1}
}
\cs_new_protected:Npn \@@_try_declaring_generic_next_hook:nn #1
{
- \@@_try_declaring_generic_hook:nNNnn {#1}
- \hook_gput_next_code:nn \@@_gput_next_do:nn
+ \@@_try_declaring_generic_hook:wnTF #1 / / / \scan_stop: {#1}
+ \hook_gput_next_code:nn
+ \@@_gput_next_do:nn
+ {#1}
}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/10/01}{\@@_try_declaring_generic_hook:nnn}
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\cs_new_protected:Npn \@@_try_declaring_generic_hook:nnn #1
+%<latexrelease> {
+%<latexrelease> \@@_try_declaring_generic_hook:nNNnn {#1}
+%<latexrelease> \hook_gput_code:nnn \@@_gput_undeclared_hook:nnn
+%<latexrelease> }
+%<latexrelease>\cs_new_protected:Npn \@@_try_declaring_generic_next_hook:nn #1
+%<latexrelease> {
+%<latexrelease> \@@_try_declaring_generic_hook:nNNnn {#1}
+%<latexrelease> \hook_gput_next_code:nn \@@_gput_next_do:nn
+%<latexrelease> }
% \end{macrocode}
% \end{macro}
%
-%
% \begin{macro}{\@@_try_declaring_generic_hook:nNNnn,
% \@@_try_declaring_generic_hook_split:nNNnn}
%
@@ -2867,43 +3139,39 @@
% the function returns \meta{true} for a generic hook and \meta{false}
% in other cases.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_try_declaring_generic_hook:nNNnn #1
- {
- \@@_if_file_hook:wTF #1 / / \s_@@_mark
- {
- \exp_args:Ne \@@_try_declaring_generic_hook_split:nNNnn
- { \exp_args:Ne \@@_file_hook_normalize:n {#1} }
- }
- { \@@_try_declaring_generic_hook_split:nNNnn {#1} }
- }
+%<latexrelease>\cs_new_protected:Npn \@@_try_declaring_generic_hook:nNNnn #1
+%<latexrelease> {
+%<latexrelease> \@@_if_file_hook:wTF #1 / \s_@@_mark {#1}
+%<latexrelease> {
+%<latexrelease> \exp_args:Ne \@@_try_declaring_generic_hook_split:nNNnn
+%<latexrelease> { \exp_args:Ne \@@_file_hook_normalize:n {#1} }
+%<latexrelease> }
+%<latexrelease> { \@@_try_declaring_generic_hook_split:nNNnn {#1} }
+%<latexrelease> }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_try_declaring_generic_hook_split:nNNnn #1 #2 #3
- {
- \@@_try_declaring_generic_hook:wnTF #1 / / / \scan_stop: {#1}
- { #2 }
- { #3 } {#1}
- }
+%<latexrelease>\cs_new_protected:Npn \@@_try_declaring_generic_hook_split:nNNnn #1 #2 #3
+%<latexrelease> {
+%<latexrelease> \@@_try_declaring_generic_hook:wnTF #1 / / / \scan_stop: {#1}
+%<latexrelease> { #2 }
+%<latexrelease> { #3 } {#1}
+%<latexrelease> }
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
%
-%
% \begin{macro}[TF]{\@@_try_declaring_generic_hook:wn}
-%
% \begin{macrocode}
-%<latexrelease>\IncludeInRelease{2021/06/01}%
-%<latexrelease> {\@@_try_declaring_generic_hook:wn}{Support~cmd~hooks}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\@@_try_declaring_generic_hook:wn}%
+%<latexrelease> {Standardise~generic~hook~names}
\prg_new_protected_conditional:Npnn \@@_try_declaring_generic_hook:wn
#1 / #2 / #3 / #4 \scan_stop: #5 { TF }
{
- \tl_if_empty:nTF {#2}
- { \prg_return_false: }
+ \@@_if_generic:nTF {#5}
{
- \prop_if_in:NnTF \c_@@_generics_prop {#1}
+ \@@_if_usable:nF {#5}
{
- \@@_if_usable:nF {#5}
- {
% \end{macrocode}
% If the hook doesn't exist yet we check if it is a \texttt{cmd}
% hook and if so we attempt patching the command in addition to
@@ -2913,8 +3181,8 @@
% \cs{@@_patch_cmd_or_delay:Nnn} (defined in \texttt{ltcmdhooks})
% will generate an appropriate error message.
% \begin{macrocode}
- \str_if_eq:nnT {#1} { cmd }
- { \@@_try_put_cmd_hook:n {#5} }
+ \str_if_eq:nnT {#1} { cmd }
+ { \@@_try_put_cmd_hook:n {#5} }
% \end{macrocode}
%
% Declare the hook always even if it can't really be used (error
@@ -2923,26 +3191,125 @@
% Here we use \cs{@@_make_usable:n}, so that a \cs{hook_new:n} is still
% possible later.
% \begin{macrocode}
- \@@_make_usable:n {#5}
- }
- \prop_if_in:NnTF \c_@@_generics_reversed_ii_prop {#2}
- { \tl_gset:cn { g_@@_#5_reversed_tl } { - } }
- {
- \prop_if_in:NnT \c_@@_generics_reversed_iii_prop {#3}
- { \tl_gset:cn { g_@@_#5_reversed_tl } { - } }
- }
- \prg_return_true:
+ \@@_make_usable:n {#5}
+ }
+ \@@_if_generic_reversed:nT {#5}
+ { \tl_gset:cn { g_@@_#5_reversed_tl } { - } }
+ \prg_return_true:
+ }
+ {
+% \end{macrocode}
+%
+% Generic hooks are all named \meta{type}/\meta{name}/\meta{place},
+% where \meta{type} and \meta{place} are predefined
+% (\cs{c_@@_generic_\meta{type}/./\meta{place}_tl}), and \meta{name}
+% is the variable component. Older releases had some hooks with the
+% \meta{name} in the third part, so the code below supports that
+% syntax for a while, with a warning.
+%
+% The \cs{exp_after:wN} |...| \cs{exp:w} trick is there to remove the
+% conditional structure inserted by
+% \cs{@@_try_declaring_generic_hook:wnTF} and thus allow access to the
+% tokens that follow it, as is needed to keep things going.
+%
+% When the deprecation cycle ends, the lines below should all be
+% replaced by \cs{prg_return_false:}.
+% \begin{macrocode}
+ \@@_if_deprecated_generic:nTF {#5}
+ {
+ \@@_deprecated_generic_warn:n {#5}
+ \exp_after:wN \@@_declare_deprecated_generic:NNn
+ \exp:w % \exp_end:
}
{ \prg_return_false: }
}
}
+% \end{macrocode}
+%
+% \begin{macro}{
+% \@@_deprecated_generic_warn:Nn,
+% \@@_deprecated_generic_warn:Nw,
+% }
+% \cs{@@_deprecated_generic_warn:n} will issue a deprecation warning
+% for a given hook, and mark that hook such that the warning will not
+% be issued again (multiple warnings can be issued, but only once per
+% hook).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_deprecated_generic_warn:n #1
+ { \@@_deprecated_generic_warn:w #1 \s_@@_mark }
+\cs_new_protected:Npn \@@_deprecated_generic_warn:w
+ #1 / #2 / #3 \s_@@_mark
+ {
+ \if_cs_exist:w @@~#1/#2/#3 \cs_end: \else:
+ \msg_warning:nnnnn { hooks } { generic-deprecated } {#1} {#2} {#3}
+ \fi:
+ \cs_gset_eq:cN { @@~#1/#2/#3 } \scan_stop:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \@@_do_deprecated_generic:Nn,
+% \@@_do_deprecated_generic:Nw,
+% \@@_declare_deprecated_generic:NNw,
+% \@@_declare_deprecated_generic:NNw,
+% }
+% Now that the user has been told about the deprecation, we proceed by
+% swapping \meta{name} and \meta{place} and adding the code to the
+% correct hook.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_do_deprecated_generic:Nn #1 #2
+ { \@@_do_deprecated_generic:Nw #1 #2 \s_@@_mark }
+\cs_new_protected:Npn \@@_do_deprecated_generic:Nw #1
+ #2 / #3 / #4 \s_@@_mark
+ { #1 { #2 / #4 / #3 } }
+\cs_new_protected:Npn \@@_declare_deprecated_generic:NNn #1 #2 #3
+ { \@@_declare_deprecated_generic:NNw #1 #2 #3 \s_@@_mark }
+\cs_new_protected:Npn \@@_declare_deprecated_generic:NNw #1 #2
+ #3 / #4 / #5 \s_@@_mark
+ {
+ \@@_try_declaring_generic_hook:wnTF #3 / #5 / #4 / \scan_stop:
+ { #3 / #5 / #4 }
+ #1 #2 { #3 / #5 / #4 }
+ }
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
-%<latexrelease>\IncludeInRelease{2020/10/01}%
-%<latexrelease> {\@@_try_declaring_generic_hook:wn}{Support~cmd~hooks}
-%<latexrelease>
+%<latexrelease>\IncludeInRelease{2021/06/01}{\@@_try_declaring_generic_hook:wn}
+%<latexrelease> {Support~cmd~hooks}
+%<latexrelease>\prg_new_protected_conditional:Npnn \@@_try_declaring_generic_hook:wn
+%<latexrelease> #1 / #2 / #3 / #4 \scan_stop: #5 { TF }
+%<latexrelease> {
+%<latexrelease> \tl_if_empty:nTF {#2}
+%<latexrelease> { \prg_return_false: }
+%<latexrelease> {
+%<latexrelease> \prop_if_in:NnTF \c_@@_generics_prop {#1}
+%<latexrelease> {
+%<latexrelease> \@@_if_usable:nF {#5}
+%<latexrelease> {
+%<latexrelease> \str_if_eq:nnT {#1} { cmd }
+%<latexrelease> { \@@_try_put_cmd_hook:n {#5} }
+%<latexrelease> \@@_make_usable:n {#5}
+%<latexrelease> }
+%<latexrelease> \prop_if_in:NnTF \c_@@_generics_reversed_ii_prop {#2}
+%<latexrelease> { \tl_gset:cn { g_@@_#5_reversed_tl } { - } }
+%<latexrelease> {
+%<latexrelease> \prop_if_in:NnT \c_@@_generics_reversed_iii_prop {#3}
+%<latexrelease> { \tl_gset:cn { g_@@_#5_reversed_tl } { - } }
+%<latexrelease> }
+%<latexrelease> \prg_return_true:
+%<latexrelease> }
+%<latexrelease> { \prg_return_false: }
+%<latexrelease> }
+%<latexrelease> }
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}{\@@_try_declaring_generic_hook:wn}%
+%<latexrelease> {Support~cmd~hooks}
%<latexrelease>\prg_new_protected_conditional:Npnn \@@_try_declaring_generic_hook:wn
%<latexrelease> #1 / #2 / #3 / #4 \scan_stop: #5 { TF }
%<latexrelease> {
@@ -2968,77 +3335,107 @@
% \end{macrocode}
% \end{macro}
%
+%
% \begin{macro}[pTF]{\@@_if_file_hook:w}
% \cs{@@_if_file_hook:wTF} checks if the argument is a valid
% file-specific hook (not, for example, |file/before|, but
-% |file/before/foo.tex|). If it is a file-specific hook, then it
+% |file/foo.tex/before|). If it is a file-specific hook, then it
% executes the \meta{true} branch, otherwise \meta{false}.
-%
-% A file-specific hook is \hook{file/\meta{position}/\meta{name}}.
-% If any of these parts don't exist, it is a general file hook or not
-% a file hook at all, so the conditional evaluates to \meta{false}.
-% Otherwise, it checks that the first part is |file| and that the
-% \meta{position} is in the \cs{c_@@_generics_file_prop}.
-%
-% A property list is used here to avoid having to worry with catcodes,
-% because \pkg{expl3}'s file name parsing turns all characters into
-% catcode-12 tokens, which might differ from hand-input letters.
% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\@@_if_file_hook:w}%
+%<latexrelease> {Standardise~generic~hook~names}
\prg_new_conditional:Npnn \@@_if_file_hook:w
- #1 / #2 / #3 \s_@@_mark { TF }
+ #1 / #2 \s_@@_mark #3 { TF }
{
- \str_if_eq:nnTF {#1} { file }
+ \@@_if_generic:nTF {#3}
{
- \bool_lazy_or:nnTF
- { \tl_if_empty_p:n {#3} }
- { \str_if_eq_p:nn {#3} { / } }
+ \str_if_eq:nnTF {#1} { file }
+ { \prg_return_true: }
{ \prg_return_false: }
- {
- \prop_if_in:NnTF \c_@@_generics_file_prop {#2}
- { \prg_return_true: }
- { \prg_return_false: }
- }
}
{ \prg_return_false: }
}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}{\@@_if_file_hook:w}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\prg_new_conditional:Npnn \@@_if_file_hook:w
+%<latexrelease> #1 / #2 / #3 \s_@@_mark { TF }
+%<latexrelease> {
+%<latexrelease> \str_if_eq:nnTF {#1} { file }
+%<latexrelease> {
+%<latexrelease> \bool_lazy_or:nnTF
+%<latexrelease> { \tl_if_empty_p:n {#3} }
+%<latexrelease> { \str_if_eq_p:nn {#3} { / } }
+%<latexrelease> { \prg_return_false: }
+%<latexrelease> {
+%<latexrelease> \prop_if_in:NnTF \c_@@_generics_file_prop {#2}
+%<latexrelease> { \prg_return_true: }
+%<latexrelease> { \prg_return_false: }
+%<latexrelease> }
+%<latexrelease> }
+%<latexrelease> { \prg_return_false: }
+%<latexrelease> }
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
%
% \begin{macro}[EXP]{\@@_file_hook_normalize:n}
% \begin{macro}[EXP]{\@@_strip_double_slash:n,\@@_strip_double_slash:w}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\@@_file_hook_normalize:n}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
% When a file-specific hook is found, before being declared it is
% lightly normalized by \cs{@@_file_hook_normalize:n}. The current
% implementation just replaces two consecutive slashes (|//|) by a
% single one, to cope with simple cases where the user did something
% like \verb|\def\input@path{{./mypath/}}|, in which case a hook would
-% have to be \verb|\AddToHook{file/after/./mypath//file.tex}|.
+% have to be \verb|\AddToHook{file/./mypath//file.tex/after}|.
% \begin{macrocode}
-\cs_new:Npn \@@_file_hook_normalize:n #1
- { \@@_strip_double_slash:n {#1} }
-\cs_new:Npn \@@_strip_double_slash:n #1
- { \@@_strip_double_slash:w #1 // \s_@@_mark }
+%<latexrelease>\IncludeInRelease{2020/10/01}{\@@_file_hook_normalize:n}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\cs_new:Npn \@@_file_hook_normalize:n #1
+%<latexrelease> { \@@_strip_double_slash:n {#1} }
+%<latexrelease>\cs_new:Npn \@@_strip_double_slash:n #1
+%<latexrelease> { \@@_strip_double_slash:w #1 // \s_@@_mark }
% \end{macrocode}
% This function is always called after testing if the argument is a
% file hook with \cs{@@_if_file_hook:wTF}, so we can assume it has
-% three parts (it is either \verb|file/before/...| or
-% \verb|file/after/...|), so we use \verb|#1/#2/#3 //| instead of just
+% three parts (it is either \verb|file/.../before| or
+% \verb|file/.../after|), so we use \verb|#1/#2/#3 //| instead of just
% \verb|#1 //| to prevent losing a slash if the file name is empty.
% \changes{v1.0h}{2021/01/07}{Assume hook name has at least three
% nonempty parts (gh/464)}
% \begin{macrocode}
-\cs_new:Npn \@@_strip_double_slash:w #1/#2/#3 // #4 \s_@@_mark
- {
- \tl_if_empty:nTF {#4}
- { #1/#2/#3 }
- { \@@_strip_double_slash:w #1/#2/#3 / #4 \s_@@_mark }
- }
+%<latexrelease>\cs_new:Npn \@@_strip_double_slash:w #1/#2/#3 // #4 \s_@@_mark
+%<latexrelease> {
+%<latexrelease> \tl_if_empty:nTF {#4}
+%<latexrelease> { #1/#2/#3 }
+%<latexrelease> { \@@_strip_double_slash:w #1/#2/#3 / #4 \s_@@_mark }
+%<latexrelease> }
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\c_@@_generics_prop}
-% Property list holding the generic names. We don't provide any user
-% interface to this as this is meant to be static.
+% \begin{macro}{
+% \c_@@_generic_cmd/./before_tl,\c_@@_generic_cmd/./after_tl,
+% \c_@@_generic_env/./before_tl,\c_@@_generic_env/./after_tl,
+% \c_@@_generic_file/./before_tl,\c_@@_generic_file/./after_tl,
+% \c_@@_generic_package/./before_tl,\c_@@_generic_package/./after_tl,
+% \c_@@_generic_class/./before_tl,\c_@@_generic_class/./after_tl,
+% \c_@@_generic_include/./before_tl,\c_@@_generic_include/./after_tl,
+% \c_@@_generic_env/./begin_tl,\c_@@_generic_env/./end_tl,
+% \c_@@_generic_include/./end_tl
+% }
+% Token lists defining the possible generic hooks. We don't provide
+% any user interface to this as this is meant to be static.
% \begin{description}
% \item[\texttt{cmd}]
% The generic hooks used for commands.
@@ -3048,28 +3445,65 @@
% The generic hooks used when loading a file
% \end{description}
% \begin{macrocode}
-\prop_const_from_keyval:Nn \c_@@_generics_prop
- {cmd=,env=,file=,package=,class=,include=}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\c_@@_generics_prop}%
+%<latexrelease> {Standardise~generic~hook~names}
+\clist_map_inline:nn { cmd , env , file , package , class , include }
+ {
+ \tl_const:cn { c_@@_generic_#1/./before_tl } { + }
+ \tl_const:cn { c_@@_generic_#1/./after_tl } { - }
+ }
+\tl_const:cn { c_@@_generic_env/./begin_tl } { + }
+\tl_const:cn { c_@@_generic_env/./end_tl } { + }
+\tl_const:cn { c_@@_generic_include/./end_tl } { - }
+% \end{macrocode}
+%
+% Deprecated generic hooks:
+% \begin{macrocode}
+\clist_map_inline:nn { file , package , class , include }
+ {
+ \tl_const:cn { c_@@_deprecated_#1/./before_tl } { }
+ \tl_const:cn { c_@@_deprecated_#1/./after_tl } { }
+ }
+\tl_const:cn { c_@@_deprecated_include/./end_tl } { }
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}{\c_@@_generics_prop}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\prop_const_from_keyval:Nn \c_@@_generics_prop
+%<latexrelease> {cmd=,env=,file=,package=,class=,include=}
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\c_@@_generics_reversed_ii_prop,
% \c_@@_generics_reversed_iii_prop,
% \c_@@_generics_file_prop}
-% Some of the generic hooks are supposed to use reverse ordering, these are
-% the following (only the second or third sub-component is checked):
+% The following generic hooks are supposed to use reverse ordering
+% (the |ii| and |iii| names are kept for the deprecation cycle):
% \begin{macrocode}
-\prop_const_from_keyval:Nn \c_@@_generics_reversed_ii_prop {after=,end=}
-\prop_const_from_keyval:Nn \c_@@_generics_reversed_iii_prop {after=}
-\prop_const_from_keyval:Nn \c_@@_generics_file_prop {before=,after=}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\c_@@_generics_reversed_ii_prop}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}{\c_@@_generics_reversed_ii_prop}%
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\prop_const_from_keyval:Nn \c_@@_generics_reversed_ii_prop {after=,end=}
+%<latexrelease>\prop_const_from_keyval:Nn \c_@@_generics_reversed_iii_prop {after=}
+%<latexrelease>\prop_const_from_keyval:Nn \c_@@_generics_file_prop {before=,after=}
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\hook_gremove_code:nn}
% \begin{macro}{\@@_gremove_code:nn}
-%
+%
% With \cs{hook_gremove_code:nn}\Arg{hook}\Arg{label} any code
% for \meta{hook} stored under \meta{label} is removed.
+% \changes{v1.0o}{2021/07/22}{Do not queue removals (gh/625)}
% \begin{macrocode}
\cs_new_protected:Npn \hook_gremove_code:nn #1 #2
{ \@@_normalize_hook_args:Nnn \@@_gremove_code:nn {#1} {#2} }
@@ -3101,27 +3535,13 @@
{
% \end{macrocode}
% If the label is |top-level| then clear the token list, as all code
-% there is under the same label. Marked removal is not implemented
-% for |top-level| because it is hard to reliably know that no code
-% was added to \cs{@@_toplevel\textvisiblespace\meta{hook}} (granted that
-% an empty code could be interpreted as that, but then it differs in
-% behaviour from other labels, in which an empty chunk is still valid
-% for removal). Besides, it doesn't make much (if any) sense for
-% packages to remove |top-level| code. So here the chunk is just
-% cleared unconditionally.
+% there is under the same label.
% \begin{macrocode}
\str_if_eq:nnTF {#2} { top-level }
{ \@@_tl_gclear:c { @@_toplevel~#1 } }
{
-% \end{macrocode}
-% Otherwise check if the label being removed exists in the code pool.
-% If it does, just call \cs{@@_gremove_code_do:nn} to do the removal,
-% otherwise mark it to be removed.
-% \begin{macrocode}
- \prop_get:cnNTF { g_@@_#1_code_prop } {#2} \l_@@_return_tl
- { \@@_gremove_code_do:nn }
- { \@@_mark_removal:nn }
- {#1} {#2}
+ \prop_gpop:cnNF { g_@@_#1_code_prop } {#2} \l_@@_return_tl
+ { \msg_warning:nnnn { hooks } { cannot-remove } {#1} {#2} }
}
}
% \end{macrocode}
@@ -3132,82 +3552,21 @@
}
% \end{macrocode}
%
-% If the code pool for this hook doesn't exist it means that nothing
-% tried to add to it before, so we just queue this removal order for
-% later.
-% \begin{macrocode}
- { \@@_mark_removal:nn {#1} {#2} }
- }
-% \end{macrocode}
-%
-% \begin{macro}{\@@_gremove_code_do:nn}
-% Remove code for a given label.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_gremove_code_do:nn #1 #2
- { \prop_gremove:cn { g_@@_#1_code_prop } {#2} }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@@_mark_removal:nn}
-% Marks \meta{label} (\verb=#2=) to be removed from \meta{hook}
-% (\verb=#1=). The number of removals should be fairly small, and
-% \cs{tl_gremove_once:Nx} is fairly efficient even for longer token
-% lists, so we use a single global token list, rather than one for
-% each hook.
-%
-% A hand-crafted token list is used here because property lists don't
-% hold repeated items, so multiple usages of \cs{@@_mark_removal:nn}
-% would be cancelled by a single \cs{@@_unmark_removal:nn}.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_mark_removal:nn #1 #2
- {
- \tl_gput_right:Nx \g_@@_removal_list_tl
- { \@@_removal_tl:nn {#1} {#2} }
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@@_unmark_removal:nn}
-% Unmarks \meta{label} (\verb=#2=) to be removed from \meta{hook}
-% (\verb=#1=). \cs{tl_gremove_once:Nx} is used rather than
-% \cs{tl_gremove_all:Nx} so that two additions are needed to cancel
-% two marked removals, rather than only one.
+% If the code pool for this hook doesn't exist, show a warning:
% \begin{macrocode}
-\cs_new_protected:Npn \@@_unmark_removal:nn #1 #2
- {
- \tl_gremove_once:Nx \g_@@_removal_list_tl
- { \@@_removal_tl:nn {#1} {#2} }
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}[TF]{\@@_if_marked_removal:nn}
-% Checks if the \cs{g_@@_removal_list_tl} contains the current
-% \meta{label} (\verb=#2=) and \meta{hook} (\verb=#1=).
-% \begin{macrocode}
-\prg_new_protected_conditional:Npnn \@@_if_marked_removal:nn #1 #2 { TF }
- {
- \exp_args:NNx \tl_if_in:NnTF \g_@@_removal_list_tl
- { \@@_removal_tl:nn {#1} {#2} }
- { \prg_return_true: } { \prg_return_false: }
+ {
+ \@@_if_deprecated_generic:nTF {#1}
+ {
+ \@@_deprecated_generic_warn:n {#1}
+ \@@_do_deprecated_generic:Nn \@@_gremove_code:nn {#1} {#2}
+ }
+ { \msg_warning:nnnn { hooks } { cannot-remove } {#1} {#2} }
+ }
}
% \end{macrocode}
% \end{macro}
-%
-% \begin{macro}[rEXP]{\@@_removal_tl:nn}
-% Builds a token list with \verb=#1= and \verb=#2= which can only be
-% matched by \verb=#1= and \verb=#2=. The |&|$_4$ anchors a removal,
-% so that \verb=#1= can't be mistaken by \verb=#2= and vice versa, and
-% the two |$|$_3$ delimit the two arguments
-% \begin{macrocode}
-\cs_new:Npn \@@_removal_tl:nn #1 #2
- { & \tl_to_str:n {#2} $ \tl_to_str:n {#1} $ }
-% \end{macrocode}
% \end{macro}
%
-%
% \begin{macro}{
% \g_@@_??_code_prop,
% \@@~??,
@@ -3263,6 +3622,13 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_gset_rule:nnnn #1#2#3#4
{
+ \@@_if_deprecated_generic:nT {#1}
+ {
+ \@@_deprecated_generic_warn:n {#1}
+ \@@_do_deprecated_generic:Nn \@@_gset_rule:nnnn {#1}
+ {#2} {#3} {#4}
+ \exp_after:wN \use_none:nnnnnnnnn \use_none:n
+ }
% \end{macrocode}
% First we ensure the basic data structure of the hook exists:
% \begin{macrocode}
@@ -3399,12 +3765,12 @@
% |#1| is lexically greater, and \cs{use_iii:nn} otherwise.
% \begin{macrocode}
\cs_new:Npn \@@_if_label_case:nnnnn #1#2
- {
- \cs:w use_
- \if_case:w \@@_str_compare:nn {#1} {#2}
- i \or: ii \else: iii \fi: :nnn
- \cs_end:
- }
+ {
+ \cs:w use_
+ \if_case:w \@@_str_compare:nn {#1} {#2}
+ i \or: ii \else: iii \fi: :nnn
+ \cs_end:
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3440,7 +3806,7 @@
}
% \end{macrocode}
% If we are debugging we show results hook by hook for all hooks
-% that have data.
+% that have data.
% \begin{macrocode}
\@@_debug:n
{ \iow_term:x{^^JAll~ initialized~ (non-empty)~ hooks:}
@@ -3492,7 +3858,7 @@
% \begin{macrocode}
\@@_if_usable:nT {#1}
{
- \prop_if_empty:cTF {g_@@_#1_code_prop}
+ \prop_if_empty:cTF { g_@@_#1_code_prop }
{
\@@_tl_gset:co { @@~#1 }
{
@@ -3503,11 +3869,11 @@
{
% \end{macrocode}
% By default the algorithm sorts the code chunks and then saves the
-% result in a token list for fast execution by adding the code one
-% after another using \cs{tl_gput_right:NV}. When we sort code for
+% result in a token list for fast execution; this is done by adding the code chunks
+% one after another, using \cs{tl_gput_right:NV}. When we sort code for
% a reversed hook, all we have to do is to add the code chunks in
% the opposite order into the token list. So all we have to do
-% in preparation is to change two definitions used later on.
+% in preparation is to change two definitions that are used later on.
% \begin{macrocode}
\@@_if_reversed:nTF {#1}
{ \cs_set_eq:NN \@@_tl_gput:Nn \@@_tl_gput_left:Nn
@@ -3518,8 +3884,9 @@
%
% When sorting, some relations (namely \verb|voids|) need to
% act destructively on the code property lists to remove code that
-% shouldn't appear in the sorted hook token list, so we temporarily
-% save the old code property list so that it can be restored later.
+% shouldn't appear in the sorted hook token list, so we make a copy
+% of the code property list that we can safely work on without
+% changing the main one.
% \begin{macrocode}
\prop_set_eq:Nc \l_@@_work_prop { g_@@_#1_code_prop }
\@@_initialize_single:ccn
@@ -3606,8 +3973,8 @@
% alphanumeric labels. As usual Don's data structures are chosen in
% a way that one can omit a lot of tests and I have mimicked that as
% far as possible. The result is a restriction I do not test for at
-% the moment: a label can't be equal to the number 0! \fmi{Needs
-% checking for, just in case ... maybe}
+% the moment: a label can't be equal to the number 0!
+% \fmiinline{Needs checking for, just in case ... maybe}
%
% ^^A #1 <- \@@~#1
% ^^A #2 <- \g_@@_#1_labels_clist
@@ -3626,11 +3993,11 @@
% \begin{macrocode}
\tl_set:Nn \l_@@_cur_hook_tl {#3}
% \end{macrocode}
-%
+%
% We loop over the property list holding the code and record all
-% labels listed there. Only rules for those labels are of interest
+% the labels listed there. Only the rules for those labels are of interest
% to us. While we are at it we count them (which gives us the $N$
-% in Knuth's algorithm. The prefix |label_| is added to the variables
+% in Knuth's algorithm). The prefix |label_| is added to the variables
% to ensure that labels named |front|, |rear|, |labels|, or |return|
% don't interact with our code.
% \begin{macrocode}
@@ -3642,11 +4009,11 @@
\seq_clear_new:c { \@@_seq_csname:n {##1} }
}
% \end{macrocode}
-% Steps T2 and T3: Sort the relevant rules into the data structure\ldots
-%
+% Steps T2 and T3: Here we sort the relevant rules into the data structure\ldots
+%
% This loop constitutes a square matrix of the labels in
% \cs{l_@@_work_prop} in the
-% vertical and the horizontal directions. However since the rule
+% vertical and the horizontal directions. However, since the rule
% $l_A\meta{rel}l_B$ is the same as $l_B\meta{rel}^{-1}l_A$ we can cut
% the loop short at the diagonal of the matrix (\emph{i.e.}, when
% both labels are equal), saving a good amount of time. The way the
@@ -3668,12 +4035,12 @@
}
}
% \end{macrocode}
-% Take a breath and take a look at the data structures that have
+% Now take a breath, and look at the data structures that have
% been set up:
% \begin{macrocode}
\@@_debug:n { \@@_debug_label_data:N \l_@@_work_prop }
% \end{macrocode}
-%
+%
%
% Step T4:
% \begin{macrocode}
@@ -3689,13 +4056,13 @@
}
\tl_set_eq:Nc \l_@@_front_tl { \@@_tl_csname:n { 0 } }
% \end{macrocode}
-%
+%
% \begin{macrocode}
\@@_tl_gclear:N #1
\clist_gclear:N #2
% \end{macrocode}
%
-% The whole loop combines steps T5--T7:
+% The whole loop gets combined in steps T5--T7:
% \begin{macrocode}
\bool_while_do:nn { ! \str_if_eq_p:Vn \l_@@_front_tl { 0 } }
{
@@ -3706,13 +4073,13 @@
\prop_get:NVN \l_@@_work_prop \l_@@_front_tl \l_@@_return_tl
\exp_args:NNV \@@_tl_gput:Nn #1 \l_@@_return_tl
% \end{macrocode}
-%
+%
% \begin{macrocode}
\@@_clist_gput:NV #2 \l_@@_front_tl
\@@_debug:n{ \iow_term:x{Handled~ code~ for~ \l_@@_front_tl} }
% \end{macrocode}
%
-% This is step T6 except that we don't use a pointer $P$ to move
+% This is step T6, except that we don't use a pointer $P$ to move
% through the successors, but instead use \verb=##1= of the mapping
% function.
% \begin{macrocode}
@@ -3730,7 +4097,7 @@
}
}
% \end{macrocode}
-% and step T7:
+% and here is step T7:
% \begin{macrocode}
\tl_set_eq:Nc \l_@@_front_tl
{ \@@_tl_csname:n { \l_@@_front_tl } }
@@ -3748,14 +4115,14 @@
% \end{macrocode}
%
% This is not really the information one needs in the error case
-% but will do for now \ldots \fmi{improve output on a rainy day}
+% but it will do for now \ldots \fmiinline{improve output on a rainy day}
% \begin{macrocode}
\@@_debug_label_data:N \l_@@_work_prop
\iow_term:x{====================}
}
% \end{macrocode}
-% After we have added all hook code to \verb=#1= we finish it off
-% with adding extra code for the |top-level| (\verb=#2=) and for one
+% After we have added all hook code to \verb=#1=, we finish it off
+% by adding extra code for the |top-level| (\verb=#2=) and for one
% time execution (\verb=#3=). These should normally be empty. The
% |top-level| code is added with \cs{@@_tl_gput:Nn} as that might
% change for a reversed hook (then |top-level| is the very first code
@@ -3905,10 +4272,10 @@
% \begin{macro}{\@@_apply_rule_->:nnn,\@@_apply_rule_<-:nnn}
% If we see \texttt{\detokenize{->}} we have to drop code for label
% \verb=#3= and carry on. We could do a little better and drop
-% everything for that label since it doesn't matter where we sort
-% in the empty code. However that would complicate the algorithm a
-% lot with little gain.\footnote{This also hase the advantage that
-% the result of the sorting doesn't change which might otherwise
+% everything for that label since it doesn't matter where we put
+% such empty code. However that would complicate the algorithm a
+% lot with little gain.\footnote{This also has the advantage that
+% the result of the sorting doesn't change, as it might otherwise do
% (for unrelated chunks) if we aren't careful.} So we still
% unnecessarily try to sort it in and depending on the rules that
% might result in a loop that is otherwise resolved. If that turns
@@ -3916,8 +4283,8 @@
%
% Here the code is removed from \cs{l_@@_cur_hook_tl} rather than
% \verb=#3= because the latter may be \verb=??=, and the default
-% hook doesn't store any code. Removing from \cs{l_@@_cur_hook_tl}
-% makes default rules \verb=->= and \verb=<-= work properly.
+% hook doesn't store any code. Removing it instead from \cs{l_@@_cur_hook_tl}
+% makes the default rules \verb=->= and \verb=<-= work properly.
% \begin{macrocode}
\cs_new_protected:cpn { @@_apply_rule_->:nnn } #1#2#3
{
@@ -3978,7 +4345,7 @@
%
%
% \begin{macro}{\@@_debug_label_data:N}
-%
+%
% \begin{macrocode}
\cs_new_protected:Npn \@@_debug_label_data:N #1 {
\iow_term:x{Code~ labels~ for~ sorting:}
@@ -4024,8 +4391,15 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_log:nN #1 #2
{
+ \@@_if_deprecated_generic:nT {#1}
+ {
+ \@@_deprecated_generic_warn:n {#1}
+ \@@_do_deprecated_generic:Nn \@@_log:nN {#1} #2
+ \exp_after:wN \use_none:nnnnnnnnn \use_none:nnnnn
+ }
\@@_preamble_hook:n {#1}
- \@@_log_cmd:x { ^^J ->~The~hook~'#1': }
+ \@@_log_cmd:x
+ { ^^J ->~The~ \@@_if_generic:nT {#1} { generic~ } hook~'#1': }
% \end{macrocode}
%
% \begin{macrocode}
@@ -4234,16 +4608,14 @@
%
% \begin{macro}{\@@_gput_next_code:nn,
% \@@_gput_next_do:nn,
-% \@@_gput_next_do:Nnn,
-% \@@_clear_next:n}
+% \@@_gput_next_do:Nnn}
% \begin{macrocode}
\cs_new_protected:Npn \@@_gput_next_code:nn #1 #2
{
\@@_if_disabled:nTF {#1}
{ \msg_error:nnn { hooks } { hook-disabled } {#1} }
{
- \@@_init_structure:n {#1}
- \@@_if_usable:nTF {#1}
+ \@@_if_structure_exist:nTF {#1}
{ \@@_gput_next_do:nn {#1} {#2} }
{ \@@_try_declaring_generic_next_hook:nn {#1} {#2} }
}
@@ -4275,13 +4647,21 @@
{ \@@_tl_gset:Nn #1 { \@@_clear_next:n {#2} } }
\@@_tl_gput_right:Nn #1
}
-\cs_new_protected:Npn \@@_clear_next:n #1
- { \cs_gset_eq:cN { @@_next~#1 } \c_empty_tl }
% \end{macrocode}
% \end{macro}
%
%
%
+% \begin{macro}{\hook_gclear_next_code:n,\@@_clear_next:n}
+% Discard anything set up for next invocation of the hook.
+% \changes{v1.0o}{2021/07/27}{Macro made public}
+% \begin{macrocode}
+\cs_new_protected:Npn \hook_gclear_next_code:n #1
+ { \@@_normalize_hook_args:Nn \@@_clear_next:n {#1} }
+\cs_new_protected:Npn \@@_clear_next:n #1
+ { \cs_gset_eq:cN { @@_next~#1 } \c_empty_tl }
+% \end{macrocode}
+% \end{macro}
%
%
%
@@ -4302,44 +4682,68 @@
% the preamble. \cs{@@_preamble_hook:n} initializes the hook in the
% preamble, and is redefined to \cs{use_none:n} at |\begin{document}|.
%
-% Both versions do the same internally: check if the hook exist as
-% given, and if so use it as quickly as possible. If it doesn't
-% exist, the a call to \cs{@@_use:wn} checks for file hooks.
+% Both versions do the same thing internally: they check that the hook exists as
+% given, and if so they use it as quickly as possible.
%
% At |\begin{document}|, all hooks are initialized, and any change in
% them causes an update, so \cs{hook_use:n} can be made expandable.
% This one is better not protected so that it can expand into nothing
% if containing no code. Also important in case of generic hooks that
-% we do not generate a \cs[no-index]{relax} as a side effect of checking for a
-% csname. In contrast to the \TeX{} low-level
+% we do not generate a \cs[no-index]{relax} as a side effect of
+% checking for a csname. In contrast to the \TeX{} low-level
% \verb=\csname ...\endcsname= construct \cs{tl_if_exist:c} is
% careful to avoid this.
% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/11/15}{\hook_use:n}
+%<latexrelease> {Standardise~generic~hook~names}
\cs_new_protected:Npn \hook_use:n #1
{
- \tl_if_exist:cTF { @@~#1 }
+ \tl_if_exist:cT { @@~#1 }
{
\@@_preamble_hook:n {#1}
\cs:w @@~#1 \cs_end:
}
- { \@@_use:wn #1 / \s_@@_mark {#1} }
}
\cs_new:Npn \@@_use_initialized:n #1
{
\if_cs_exist:w @@~#1 \cs_end:
- \else:
- \@@_use_undefined:w
+ \cs:w @@~#1 \exp_after:wN \cs_end:
\fi:
- \cs:w @@~#1 \@@_use_end:
- }
-\cs_new:Npn \@@_use_undefined:w #1 #2 @@~#3 \@@_use_end:
- {
- #1 % fi
- \@@_use:wn #3 / \s_@@_mark {#3}
}
\cs_new_protected:Npn \@@_preamble_hook:n #1
{ \@@_initialize_hook_code:n {#1} }
-\cs_new_eq:NN \@@_use_end: \cs_end:
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}{\hook_use:n}
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\cs_new_protected:Npn \hook_use:n #1
+%<latexrelease> {
+%<latexrelease> \tl_if_exist:cTF { @@~#1 }
+%<latexrelease> {
+%<latexrelease> \@@_preamble_hook:n {#1}
+%<latexrelease> \cs:w @@~#1 \cs_end:
+%<latexrelease> }
+%<latexrelease> { \@@_use:wn #1 / \s_@@_mark {#1} }
+%<latexrelease> }
+%<latexrelease>\cs_new:Npn \@@_use_initialized:n #1
+%<latexrelease> {
+%<latexrelease> \if_cs_exist:w @@~#1 \cs_end:
+%<latexrelease> \else:
+%<latexrelease> \@@_use_undefined:w
+%<latexrelease> \fi:
+%<latexrelease> \cs:w @@~#1 \@@_use_end:
+%<latexrelease> }
+%<latexrelease>\cs_new:Npn \@@_use_undefined:w #1 #2 @@~#3 \@@_use_end:
+%<latexrelease> {
+%<latexrelease> #1 % fi
+%<latexrelease> \@@_use:wn #3 / \s_@@_mark {#3}
+%<latexrelease> }
+%<latexrelease>\cs_new_protected:Npn \@@_preamble_hook:n #1
+%<latexrelease> { \@@_initialize_hook_code:n {#1} }
+%<latexrelease>\cs_new_eq:NN \@@_use_end: \cs_end:
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -4360,63 +4764,121 @@
% \cs{@@_if_usable_use:n} checks if the hook exist, and calls
% \cs{@@_preamble_hook:n} if so, then uses the hook.
% \begin{macrocode}
-\cs_new:Npn \@@_use:wn #1 / #2 \s_@@_mark #3
- {
- \str_if_eq:nnTF {#1} { file }
- { \@@_try_file_hook:n {#3} }
- { } % Hook doesn't exist
- }
+%<latexrelease>\IncludeInRelease{2021/11/15}{\@@_use:wn}
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/10/01}{\@@_use:wn}
+%<latexrelease> {Standardise~generic~hook~names}
+%<latexrelease>\cs_new:Npn \@@_use:wn #1 / #2 \s_@@_mark #3
+%<latexrelease> {
+%<latexrelease> \str_if_eq:nnTF {#1} { file }
+%<latexrelease> { \@@_try_file_hook:n {#3} }
+%<latexrelease> { } % Hook doesn't exist
+%<latexrelease> }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_try_file_hook:n #1
- {
- \@@_if_file_hook:wTF #1 / / \s_@@_mark
- {
- \exp_args:Ne \@@_if_usable_use:n
- { \exp_args:Ne \@@_file_hook_normalize:n {#1} }
- }
- { \@@_if_usable_use:n {#1} } % file/ generic hook (e.g. file/before)
- }
+%<latexrelease>\cs_new_protected:Npn \@@_try_file_hook:n #1
+%<latexrelease> {
+%<latexrelease> \@@_if_file_hook:wTF #1 / \s_@@_mark {#1}
+%<latexrelease> {
+%<latexrelease> \exp_args:Ne \@@_if_usable_use:n
+%<latexrelease> { \exp_args:Ne \@@_file_hook_normalize:n {#1} }
+%<latexrelease> }
+%<latexrelease> { \@@_if_usable_use:n {#1} } % file/ generic hook (e.g. file/before)
+%<latexrelease> }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_if_usable_use:n #1
- {
- \tl_if_exist:cT { @@~#1 }
- {
- \@@_preamble_hook:n {#1}
- \cs:w @@~#1 \cs_end:
- }
- }
+%<latexrelease>\cs_new_protected:Npn \@@_if_usable_use:n #1
+%<latexrelease> {
+%<latexrelease> \tl_if_exist:cT { @@~#1 }
+%<latexrelease> {
+%<latexrelease> \@@_preamble_hook:n {#1}
+%<latexrelease> \cs:w @@~#1 \cs_end:
+%<latexrelease> }
+%<latexrelease> }
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\hook_use_once:n}
-% For hooks that can and should be used only once we have a special
-% use command that remembers the hook name in
-% \cs{g_@@_execute_immediately_prop}. This has the effect that any
-% further code added to the hook is executed immediately rather
-% than stored in the hook.
+% \begin{macro}{\hook_use_once:n}
+% \begin{macro}{\@@_use_once:n}
+% For hooks that can and should be used only once we have a special
+% use command that further inhibits the hook from getting more code
+% added to it. This has the effect that any
+% further code added to the hook is executed immediately rather
+% than stored in the hook.
%
-% The code needs some gymnastics to prevent space trimming from the
-% hook name, since \cs{hook_use:n} and \cs{hook_use_once:n} are
-% documented to not trim spaces.
+% The code needs some gymnastics to prevent space trimming from the
+% hook name, since \cs{hook_use:n} and \cs{hook_use_once:n} are
+% documented to not trim spaces.
%
+% \changes{v1.0r}{2021/09/06}{Clean up after \cs{UseOneTimeHook} (gh/606)}
% \begin{macrocode}
\cs_new_protected:Npn \hook_use_once:n #1
{
- \tl_if_exist:cT { @@~#1 }
+ \@@_if_execute_immediately:nF {#1}
+ { \@@_normalize_hook_args:Nn \@@_use_once:n { \use:n {#1} } }
+ }
+\cs_new_protected:Npn \@@_use_once:n #1
+ {
+ \@@_preamble_hook:n {#1}
+ \@@_use_once_set:n {#1}
+ \@@_use_initialized:n {#1}
+ \@@_use_once_clear:n {#1}
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\@@_use_once_set:n}
+% \begin{macro}{\@@_use_once_clear:n}
+% \cs{@@_use_once_set:n} is used before the actual hook code is
+% executed so that any usage of \cs{AddToHook} inside the hook causes
+% the code to execute immediately. Setting
+% \cs[no-index]{g_@@_\meta{hook}_reversed_tl} to |I| prevents further
+% code from being added to the hook. \cs{@@_use_once_clear:n} then
+% clears the hook so that any further call to \cs{hook_use:n} or
+% \cs{hook_use_once:n} will expand to nothing.
+% \changes{v1.0r}{2021/09/06}{Clean up after \cs{UseOneTimeHook} (gh/606)}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_use_once_set:n #1
+ { \@@_tl_gset:cn { g_@@_#1_reversed_tl } { I } }
+\cs_new_protected:Npn \@@_use_once_clear:n #1
+ {
+ \@@_tl_gclear:c { @@~#1 }
+ \@@_tl_gclear:c { @@_next~#1 }
+ \@@_tl_gclear:c { @@_toplevel~#1 }
+ \prop_gclear:c { g_@@_#1_code_prop }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[pTF]{\@@_if_execute_immediately:n}
+% To check whether the code being added should be executed immediately (that
+% is, if the hook is a one-time hook), we check if it's usable (it
+% can't be one-time if it was not already usable), then we check that
+% \cs[no-index]{g_@@_\meta{hook}_reversed_tl} is |I|. The gymnastics
+% around \cs{if:w} is there to allow the |reversed| token list to be
+% empty.
+% \changes{v1.0r}{2021/09/06}{Macro added (gh/606)}
+% \begin{macrocode}
+\prg_new_conditional:Npnn \@@_if_execute_immediately:n #1 { F, TF }
+ {
+ \@@_if_usable:nTF {#1}
{
- \tl_set:Nn \l_@@_return_tl {#1}
- \@@_normalize_hook_args:Nn \@@_use_once_store:n
- { \l_@@_return_tl }
- \hook_use:n {#1}
+ \exp_after:wN \@@_clean_to_scan:w
+ \if:w I \cs:w g_@@_#1_reversed_tl \cs_end:
+ \s_@@_mark \prg_return_true:
+ \else:
+ \s_@@_mark \prg_return_false:
+ \fi:
}
+ { \prg_return_false: }
}
-\cs_new_protected:Npn \@@_use_once_store:n #1
- { \prop_gput:Nnn \g_@@_execute_immediately_prop {#1} { } }
% \end{macrocode}
% \end{macro}
%
@@ -4504,9 +4966,8 @@
}
% \end{macrocode}
% \end{macro}
-%
-%
-%
+%
+%
% \begin{macro}[pTF]{\@@_if_declared:n}
%
% Internal test to check if the hook was officially declared with
@@ -4526,28 +4987,76 @@
% \begin{macrocode}
\prg_new_conditional:Npnn \@@_if_reversed:n #1 { p , T , F , TF }
{
- \if_int_compare:w \cs:w g_@@_#1_reversed_tl \cs_end: 1 < 0 \exp_stop_f:
+ \exp_after:wN \@@_clean_to_scan:w
+ \if:w - \cs:w g_@@_#1_reversed_tl \cs_end:
+ \s_@@_mark \prg_return_true:
+ \else:
+ \s_@@_mark \prg_return_false:
+ \fi:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[pTF]{\@@_if_generic:n}
+% \begin{macro}[pTF]{\@@_if_deprecated_generic:n}
+% An internal conditional that checks if a name belongs to a generic
+% hook. The deprecated version needs to check if |#3| is empty to
+% avoid returning true on \hook{file/before}, for example.
+% \begin{macrocode}
+\prg_new_conditional:Npnn \@@_if_generic:n #1 { T, TF }
+ { \@@_if_generic:w #1 / / / \s_@@_mark }
+\cs_new:Npn \@@_if_generic:w #1 / #2 / #3 / #4 \s_@@_mark
+ {
+ \cs_if_exist:cTF { c_@@_generic_#1/./#3_tl }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+\prg_new_conditional:Npnn \@@_if_deprecated_generic:n #1 { T, TF }
+ { \@@_if_deprecated_generic:w #1 / / / \s_@@_mark }
+\cs_new:Npn \@@_if_deprecated_generic:w #1 / #2 / #3 / #4 \s_@@_mark
+ {
+ \cs_if_exist:cTF { c_@@_deprecated_#1/./#2_tl }
+ {
+ \tl_if_empty:nTF {#3}
+ { \prg_return_false: }
+ { \prg_return_true: }
+ }
+ { \prg_return_false: }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[pTF]{\@@_if_generic_reversed:n}
+% An internal conditional that checks if a name belongs to a generic
+% reversed hook.
+% \begin{macrocode}
+\prg_new_conditional:Npnn \@@_if_generic_reversed:n #1 { T }
+ { \@@_if_generic_reversed:w #1 / / / \scan_stop: }
+\cs_new:Npn \@@_if_generic_reversed:w #1 / #2 / #3 / #4 \scan_stop:
+ {
+ \if_charcode:w - \cs:w c_@@_generic_#1/./#3_tl \cs_end:
\prg_return_true:
\else:
\prg_return_false:
\fi:
}
% \end{macrocode}
-% \end{macro}
-%
+% \end{macro}
%
% \subsection{Messages}
%
-% Hook errors are LaTeX kernel errors:
+% Hook errors are LaTeX kernel errors:
% \begin{macrocode}
\prop_gput:Nnn \g_msg_module_type_prop { hooks } { LaTeX }
% \end{macrocode}
+% \changes{v1.0q}{2021/08/27}{Internal message name changes}
% And so are kernel errors (this should move elsewhere eventually).
% \begin{macrocode}
-\prop_gput:Nnn \g_msg_module_type_prop { kernel } { LaTeX }
-%\prop_gput:Nnn \g_msg_module_name_prop { kernel } { } % <-- currently not working
+\prop_gput:Nnn \g_msg_module_type_prop { latex2e } { LaTeX }
+\prop_gput:Nnn \g_msg_module_name_prop { latex2e } { kernel }
% \end{macrocode}
-%
+%
% \begin{macrocode}
\msg_new:nnnn { hooks } { labels-incompatible }
{
@@ -4560,7 +5069,7 @@
{ LaTeX~found~two~incompatible~labels~in~the~same~hook.~
This~indicates~an~incompatibility~between~packages. }
% \end{macrocode}
-%
+%
% \begin{macrocode}
\msg_new:nnnn { hooks } { exists }
{ Hook~'#1'~ has~ already~ been~ declared. }
@@ -4568,14 +5077,14 @@
name.\\
Please~ use~ a~ different~ name~ for~ your~ hook.}
% \end{macrocode}
-%
+%
%
% \begin{macrocode}
\msg_new:nnnn { hooks } { hook-disabled }
{ Cannot~add~code~to~disabled~hook~'#1'. }
{
The~hook~'#1'~you~tried~to~add~code~to~was~previously~disabled~
- with~\iow_char:N\\hook_disable:n~or~\iow_char:N\\DisableHook,~so~
+ with~\iow_char:N\\hook_disable_generic:n~or~\iow_char:N\\DisableGenericHook,~so~
it~cannot~have~code~added~to~it.
}
% \end{macrocode}
@@ -4601,7 +5110,7 @@
{ Unknown~ relationship~ '#3'~
between~ labels~ '#2'~ and~ '#4'~
\str_if_eq:nnF {#1} {??} { ~in~hook~'#1' }. ~
- Perhaps~ a~ missspelling?
+ Perhaps~ a~ misspelling?
}
{
The~ relation~ used~ not~ known~ to~ the~ system.~ Allowed~ values~ are~
@@ -4613,7 +5122,7 @@
'unrelated'.
}
% \end{macrocode}
-%
+%
% \begin{macrocode}
\msg_new:nnnn { hooks } { misused-top-level }
{
@@ -4651,7 +5160,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\msg_new:nnn { kernel } { should-not-happen }
+\msg_new:nnn { latex2e } { should-not-happen }
{
This~should~not~happen.~#1 \\
Please~report~at~https://github.com/latex3/latex2e.
@@ -4661,32 +5170,31 @@
%
%
% \begin{macrocode}
-\msg_new:nnn { hooks } { provide-disabled }
+\msg_new:nnn { hooks } { activate-disabled }
{
- Cannot~ provide~ hook~ '#1'~ because~ it~ is~ disabled!
+ Cannot~ activate~ hook~ '#1'~ because~ it~ is~ disabled!
}
% \end{macrocode}
%
% \begin{macrocode}
-\msg_new:nnnn { hooks } { provide-error }
+\msg_new:nnn { hooks } { cannot-remove }
{
- Hook~'#1'~ already~ declared~ as~ a~
- \@@_if_reversed:nTF {#1} { reversed } { normal }~ hook!
+ Cannot~remove~chunk~'#2'~from~hook~'#1'~because~
+ \@@_if_structure_exist:nTF {#1}
+ { it~does~not~exist~in~that~hook. }
+ { the~hook~does~not~exist. }
}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\msg_new:nnn { hooks } { generic-deprecated }
{
- You~ attempted~ to~ provide~ the~ hook~'#1'~ as~ a~
- \@@_if_reversed:nTF {#1} { normal } { reversed }~ hook,~ but~ it~
- was~ already~ previously~ declared~ as~ a~
- \@@_if_reversed:nTF {#1} { reversed } { normal }~ hook.~
- A~ redeclaration~ is~ not~ possible.
+ Generic~hook~'#1/#2/#3'~is~deprecated. \\
+ Use~hook~'#1/#3/#2'~instead.
}
% \end{macrocode}
%
%
-%
-%
-%
-%
% \subsection{\LaTeXe{} package interface commands}
%
%
@@ -4704,42 +5212,38 @@
%
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2021/06/01}%
-%<latexrelease> {\hook_provide:n}{Providing~hooks}
+%<latexrelease> {\hook_activate_generic:n}{Providing~hooks}
% \end{macrocode}
%
-% \begin{macro}{\ProvideHook,\ProvideReversedHook,\ProvideMirroredHookPair}
+% \begin{macro}{\ActivateGenericHook}
% Providing new hooks \ldots
% \changes{v1.0m}{2021/04/29}{Add \cs{ProvideHook} etc.}
+% \changes{v1.0o}{2021/08/02}{Change name}
% \begin{macrocode}
-\NewDocumentCommand \ProvideHook { m }{ \hook_provide:n {#1} }
-\NewDocumentCommand \ProvideReversedHook { m }{ \hook_provide_reversed:n {#1} }
-\NewDocumentCommand \ProvideMirroredHookPair { mm }{ \hook_provide_pair:nn {#1}{#2} }
+\NewDocumentCommand \ActivateGenericHook { m }{ \hook_activate_generic:n {#1} }
% \end{macrocode}
% \end{macro}
%
-%
-% \begin{macro}{\DisableHook}
-% Disabling a (generic) hook.
+% \begin{macro}{\DisableGenericHook}
+% Disabling a generic hook.
+% \changes{v1.0o}{2021/08/02}{Change name}
% \begin{macrocode}
-\NewDocumentCommand \DisableHook { m }{ \hook_disable:n {#1} }
+\NewDocumentCommand \DisableGenericHook { m }{ \hook_disable_generic:n {#1} }
% \end{macrocode}
% \end{macro}
%
% \begin{macrocode}
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{2020/10/01}
-%<latexrelease> {\hook_provide:n}{Providing~hooks}
+%<latexrelease> {\hook_activate_generic:n}{Providing~hooks}
%<latexrelease>
-%<latexrelease>\def \ProvideHook#1{}
-%<latexrelease>\def \ProvideReversedHook#1{}
-%<latexrelease>\def \ProvideMirroredHookPair#1#2{}
+%<latexrelease>\def \ActivateGenericHook#1{}
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
%
%
% \begin{macro}{\AddToHook}
-%
% \begin{macrocode}
\NewDocumentCommand \AddToHook { m o +m }
{ \hook_gput_code:nnn {#1} {#2} {#3} }
@@ -4747,16 +5251,22 @@
% \end{macro}
%
% \begin{macro}{\AddToHookNext}
-%
% \begin{macrocode}
\NewDocumentCommand \AddToHookNext { m +m }
{ \hook_gput_next_code:nn {#1} {#2} }
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ClearHookNext}
+% \changes{v1.0o}{2021/07/27}{Macro added}
+% \begin{macrocode}
+\NewDocumentCommand \ClearHookNext { m }
+ { \hook_gclear_next_code:n {#1} }
+% \end{macrocode}
+% \end{macro}
+%
%
% \begin{macro}{\RemoveFromHook}
-%
% \begin{macrocode}
\NewDocumentCommand \RemoveFromHook { m o }
{ \hook_gremove_code:nn {#1} {#2} }
@@ -4766,140 +5276,11 @@
% \begin{macro}{\SetDefaultHookLabel}
% \begin{macro}{\PushDefaultHookLabel}
% \begin{macro}{\PopDefaultHookLabel}
-%
-% \fmiinline{Docu task: At some point this code for this should be moved to the
-% label section earlier and here we should keep only the interface commands.}
-%
-% \begin{macro}{\@@_curr_name_push:n,\@@_curr_name_push_aux:n}
-% \begin{macro}{\@@_curr_name_pop:}
-% \begin{macro}{\@@_end_document_label_check:}
-% The token list \cs{g_@@_hook_curr_name_tl} stores the name of the
-% current package/file to be used as label for hooks.
-% Providing a consistent interface is tricky, because packages can
-% be loaded within packages, and some packages may not use
-% \cs{SetDefaultHookLabel} to change the default label (in which
-% case \cs{@currname} is used).
-%
-% To pull that one off, we keep a stack that contains the default
-% label for each level of input. The bottom of the stack contains the
-% default label for the |top-level| (this stack should never go
-% empty). If we're building the format, set the default label to be
-% |top-level|:
-% \begin{macrocode}
-\tl_gset:Nn \g_@@_hook_curr_name_tl { top-level }
-% \end{macrocode}
-%
-% Then, in case we're in \pkg{latexrelease} we push something on
-% the stack to support roll forward. But in some rare cases,
-% \pkg{latexrelease} may be loaded inside another package (notably
-% \pkg{platexrelease}), so we'll first push the |top-level| entry:
-% \changes{v1.0i}{2021/03/18}
-% {Only add \texttt{top-level} if not already there.}
-% \begin{macrocode}
-%<latexrelease>\seq_if_empty:NT \g_@@_name_stack_seq
-%<latexrelease> { \seq_gput_right:Nn \g_@@_name_stack_seq { top-level } }
-% \end{macrocode}
-% then we dissect the \cs{@currnamestack}, adding \cs{@currname} to
-% the stack:
-% \changes{v1.0f}{2020/11/24}{Support for roll forward (gh/434)}
-% \begin{macrocode}
-%<latexrelease>\cs_set_protected:Npn \@@_tmp:w #1 #2 #3
-%<latexrelease> {
-%<latexrelease> \quark_if_recursion_tail_stop:n {#1}
-%<latexrelease> \seq_gput_right:Nn \g_@@_name_stack_seq {#1}
-%<latexrelease> \@@_tmp:w
-%<latexrelease> }
-%<latexrelease>\exp_after:wN \@@_tmp:w \@currnamestack
-%<latexrelease> \q_recursion_tail \q_recursion_tail
-%<latexrelease> \q_recursion_tail \q_recursion_stop
-% \end{macrocode}
-% and finally set the default label to be the \cs{@currname}:
-% \changes{v1.0i}{2021/03/18}
-% {Remove the (empty) \enquote{top-level} from \cs{@currnamestack}.}
-% \begin{macrocode}
-%<latexrelease>\tl_gset:Nx \g_@@_hook_curr_name_tl { \@currname }
-%<latexrelease>\seq_gpop_right:NN \g_@@_name_stack_seq \l_@@_tmpa_tl
-% \end{macrocode}
-%
-% Two commands keep track of the stack: when a file is input,
-% \cs{@@_curr_name_push:n} pushes the current default label to the
-% stack, and sets the new default label in one go:
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_curr_name_push:n #1
- { \exp_args:Nx \@@_curr_name_push_aux:n { \@@_make_name:n {#1} } }
-\cs_new_protected:Npn \@@_curr_name_push_aux:n #1
- {
- \tl_if_blank:nTF {#1}
- { \msg_error:nn { hooks } { no-default-label } }
- {
- \str_if_eq:nnTF {#1} { top-level }
- {
- \msg_error:nnnnn { hooks } { set-top-level }
- { to } { PushDefaultHookLabel } {#1}
- }
- {
- \seq_gpush:NV \g_@@_name_stack_seq \g_@@_hook_curr_name_tl
- \tl_gset:Nn \g_@@_hook_curr_name_tl {#1}
- }
- }
- }
-% \end{macrocode}
-% and when an input is over, the topmost item of the stack is popped,
-% since the label will not be used again, and \cs{g_@@_hook_curr_name_tl}
-% is updated to the now topmost item of the stack:
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_curr_name_pop:
- {
- \seq_gpop:NNTF \g_@@_name_stack_seq \l_@@_return_tl
- { \tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl }
- { \msg_error:nn { hooks } { extra-pop-label } }
- }
-% \end{macrocode}
-%
-% At the end of the document we want to check if there was no
-% \cs{@@_curr_name_push:n} without a matching \cs{@@_curr_name_pop:}
-% (not a critical error, but it might indicate that something else is
-% not quite right):
-% \begin{macrocode}
-\tl_gput_right:Nn \@kernel@after@enddocument@afterlastpage
- { \@@_end_document_label_check: }
-\cs_new_protected:Npn \@@_end_document_label_check:
- {
- \seq_gpop:NNT \g_@@_name_stack_seq \l_@@_return_tl
- {
- \msg_error:nnx { hooks } { missing-pop-label }
- { \g_@@_hook_curr_name_tl }
- \tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl
- \@@_end_document_label_check:
- }
- }
-% \end{macrocode}
-%
-% The token list \cs{g_@@_hook_curr_name_tl} is but a mirror of the top
-% of the stack.
-%
% Now define a wrapper that replaces the top of the stack with the
% argument, and updates \cs{g_@@_hook_curr_name_tl} accordingly.
% \begin{macrocode}
\NewDocumentCommand \SetDefaultHookLabel { m }
- {
- \seq_if_empty:NTF \g_@@_name_stack_seq
- {
- \msg_error:nnnnn { hooks } { set-top-level }
- { for } { SetDefaultHookLabel } {#1}
- }
- { \exp_args:Nx \@@_set_default_label:n { \@@_make_name:n {#1} } }
- }
-\cs_new_protected:Npn \@@_set_default_label:n #1
- {
- \str_if_eq:nnTF {#1} { top-level }
- {
- \msg_error:nnnnn { hooks } { set-top-level }
- { to } { SetDefaultHookLabel } {#1}
- }
- { \tl_gset:Nn \g_@@_hook_curr_name_tl {#1} }
- }
-% \end{macrocode}
+ { \@@_set_default_hook_label:n {#1} }
%
% The label is only automatically updated with \cs{@onefilewithoptions}
% (\cs{usepackage} and \cs{documentclass}), but some packages, like
@@ -4907,7 +5288,7 @@
% \cs{usetikzlibrary} that are wrappers around \cs{input}, so they
% inherit the default label currently in force (usually |top-level|,
% but it may change if loaded in another package). To provide a
-% package-like behaviour also for hooks in these files, we provide
+% package-like behavior also for hooks in these files, we provide
% high-level access to the default label stack.
% \begin{macrocode}
\NewDocumentCommand \PushDefaultHookLabel { m }
@@ -4935,9 +5316,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
%
%
%
@@ -4961,7 +5339,7 @@
% \end{macro}
%
% \begin{macro}{\DebugHooksOn,\DebugHooksOff}
-%
+%
% \begin{macrocode}
\cs_new_protected:Npn \DebugHooksOn { \hook_debug_on: }
\cs_new_protected:Npn \DebugHooksOff { \hook_debug_off: }
@@ -4971,7 +5349,7 @@
%
%
% \begin{macro}{\DeclareHookRule}
-%
+%
% \begin{macrocode}
\NewDocumentCommand \DeclareHookRule { m m m m }
{ \hook_gset_rule:nnnn {#1}{#2}{#3}{#4} }
@@ -5001,7 +5379,7 @@
% \begin{macro}[EXP]{\IfHookEmptyTF}
% Here we avoid the overhead of \pkg{xparse}, since \cs{IfHookEmptyTF}
% is used in \cs{end} (that is, every \LaTeX{} environment). As a
-% further optimisation, use \cs{let} rather than \cs{def} to avoid one
+% further optimization, use \cs{let} rather than \cs{def} to avoid one
% expansion step.
% \begin{macrocode}
\cs_new_eq:NN \IfHookEmptyTF \hook_if_empty:nTF
@@ -5025,6 +5403,111 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
+% \subsection{Deprecated that needs cleanup at some point}
+%
+% \changes{v1.0p}{2021/08/20}{Added deprecation warnings for
+% old generic hook commands (gh/638)}
+%
+% \begin{macro}{
+% \hook_disable:n,
+% \hook_provide:n,
+% \hook_provide_reversed:n,
+% \hook_provide_pair:nn,
+% \@@_activate_generic_reversed:n,
+% \@@_activate_generic_pair:nn,
+% }
+% Deprecated.
+% \begin{macrocode}
+\cs_new_protected:Npn \hook_disable:n
+ {
+ \@@_deprecated_warn:nn
+ { hook_disable:n }
+ { hook_disable_generic:n }
+ \hook_disable_generic:n
+ }
+\cs_new_protected:Npn \hook_provide:n
+ {
+ \@@_deprecated_warn:nn
+ { hook_provide:n }
+ { hook_activate_generic:n }
+ \hook_activate_generic:n
+ }
+\cs_new_protected:Npn \hook_provide_reversed:n
+ {
+ \@@_deprecated_warn:nn
+ { hook_provide_reversed:n }
+ { hook_activate_generic:n }
+ \@@_activate_generic_reversed:n
+ }
+\cs_new_protected:Npn \hook_provide_pair:nn
+ {
+ \@@_deprecated_warn:nn
+ { hook_provide_pair:nn }
+ { hook_activate_generic:n }
+ \@@_activate_generic_pair:nn
+ }
+\cs_new_protected:Npn \@@_activate_generic_reversed:n #1
+ { \@@_normalize_hook_args:Nn \@@_activate_generic:nn {#1} { - } }
+\cs_new_protected:Npn \@@_activate_generic_pair:nn #1#2
+ { \hook_activate_generic:n {#1} \@@_activate_generic_reversed:n {#2} }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \DisableHook,
+% \ProvideHook,
+% \ProvideReversedHook,
+% \ProvideMirroredHookPair,
+% }
+% Deprecated.
+% \begin{macrocode}
+\cs_new_protected:Npn \DisableHook
+ {
+ \@@_deprecated_warn:nn
+ { DisableHook }
+ { DisableGenericHook }
+ \hook_disable_generic:n
+ }
+\cs_new_protected:Npn \ProvideHook
+ {
+ \@@_deprecated_warn:nn
+ { ProvideHook }
+ { ActivateGenericHook }
+ \hook_activate_generic:n
+ }
+\cs_new_protected:Npn \ProvideReversedHook
+ {
+ \@@_deprecated_warn:nn
+ { ProvideReversedHook }
+ { ActivateGenericHook }
+ \@@_activate_generic_reversed:n
+ }
+\cs_new_protected:Npn \ProvideMirroredHookPair
+ {
+ \@@_deprecated_warn:nn
+ { ProvideMirroredHookPair }
+ { ActivateGenericHook }
+ \@@_activate_generic_pair:nn
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_deprecated_warn:nn}
+% Warns about a deprecation, telling what should be used instead.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_deprecated_warn:nn #1 #2
+ { \msg_warning:nnnn { hooks } { deprecated } {#1} {#2} }
+\msg_new:nnn { hooks } { deprecated }
+ {
+ Command~\iow_char:N\\#1~is~deprecated~and~will~be~removed~in~a~
+ future~release. \\ \\
+ Use~\iow_char:N\\#2~instead.
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
%
% \subsection{Internal commands needed elsewhere}
%
@@ -5068,7 +5551,7 @@
%<latexrelease>\def \NewReversedHook#1{}
%<latexrelease>\def \NewMirroredHookPair#1#2{}
%<latexrelease>
-%<latexrelease>\def \DisableHook #1{}
+%<latexrelease>\def \DisableGenericHook #1{}
%<latexrelease>
%<latexrelease>\long\def\AddToHookNext#1#2{}
%<latexrelease>
@@ -5105,6 +5588,6 @@
% \Finale
%
%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex-dev/base/ltluatex.dtx b/macros/latex-dev/base/ltluatex.dtx
index 3b9a337731..2508f5a7cc 100644
--- a/macros/latex-dev/base/ltluatex.dtx
+++ b/macros/latex-dev/base/ltluatex.dtx
@@ -28,7 +28,7 @@
\ProvidesFile{ltluatex.dtx}
%</driver>
%<*tex>
-[2021/04/18 v1.1t
+[2021/08/11 v1.1u
%</tex>
%<plain> LuaTeX support for plain TeX (core)
%<*tex>
@@ -912,12 +912,14 @@ local luatexbase = luatexbase
% \end{macro}
%
% Some Lua best practice: use local versions of functions where possible.
+% \changes{v1.1u}{2021/08/11}{Define missing local function}
% \begin{macrocode}
local string_gsub = string.gsub
local tex_count = tex.count
local tex_setattribute = tex.setattribute
local tex_setcount = tex.setcount
local texio_write_nl = texio.write_nl
+local flush_list = node.flush_list
% \end{macrocode}
% \changes{v1.0i}{2015/11/29}{Declare this as local before used in the module error definitions (PHG)}
% \begin{macrocode}
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index d67b1c48f9..6eeefd94d4 100644
--- a/macros/latex-dev/base/ltluatex.pdf
+++ b/macros/latex-dev/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index 7fbbd4e7bf..2869b242c9 100644
--- a/macros/latex-dev/base/ltnews.pdf
+++ b/macros/latex-dev/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf
index 702de3cb4a..cfcc5d6c60 100644
--- a/macros/latex-dev/base/ltnews01.pdf
+++ b/macros/latex-dev/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf
index 2996986cf0..4d389f4e2c 100644
--- a/macros/latex-dev/base/ltnews02.pdf
+++ b/macros/latex-dev/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf
index 00e326d04e..4ad827fbe1 100644
--- a/macros/latex-dev/base/ltnews03.pdf
+++ b/macros/latex-dev/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf
index 4c7e8605ee..3e3948c941 100644
--- a/macros/latex-dev/base/ltnews04.pdf
+++ b/macros/latex-dev/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf
index 0c5fe190a5..6619a66579 100644
--- a/macros/latex-dev/base/ltnews05.pdf
+++ b/macros/latex-dev/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf
index 43bf07971f..85e4996709 100644
--- a/macros/latex-dev/base/ltnews06.pdf
+++ b/macros/latex-dev/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf
index 14a96266db..79b731a27b 100644
--- a/macros/latex-dev/base/ltnews07.pdf
+++ b/macros/latex-dev/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf
index 50a61a1f6e..2ae4ed4d23 100644
--- a/macros/latex-dev/base/ltnews08.pdf
+++ b/macros/latex-dev/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf
index 334fd2fc9a..0bce55eaa5 100644
--- a/macros/latex-dev/base/ltnews09.pdf
+++ b/macros/latex-dev/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf
index 1702b9dd60..437faed1d7 100644
--- a/macros/latex-dev/base/ltnews10.pdf
+++ b/macros/latex-dev/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf
index 4c5a9ef0e8..45c6fd4d57 100644
--- a/macros/latex-dev/base/ltnews11.pdf
+++ b/macros/latex-dev/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf
index 68c5fd29c2..69b3920e0a 100644
--- a/macros/latex-dev/base/ltnews12.pdf
+++ b/macros/latex-dev/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf
index 315c89b06d..304fe2ab43 100644
--- a/macros/latex-dev/base/ltnews13.pdf
+++ b/macros/latex-dev/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf
index cb07e551cf..e6b444ca02 100644
--- a/macros/latex-dev/base/ltnews14.pdf
+++ b/macros/latex-dev/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf
index 798c8b1222..e8b197ddc1 100644
--- a/macros/latex-dev/base/ltnews15.pdf
+++ b/macros/latex-dev/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf
index 8acc6372f1..6ef0fdbd51 100644
--- a/macros/latex-dev/base/ltnews16.pdf
+++ b/macros/latex-dev/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf
index 7b0b085727..1475bf5fb5 100644
--- a/macros/latex-dev/base/ltnews17.pdf
+++ b/macros/latex-dev/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf
index ddecd73fc1..368f808908 100644
--- a/macros/latex-dev/base/ltnews18.pdf
+++ b/macros/latex-dev/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf
index f0f6e8dfb0..aa2c6801a4 100644
--- a/macros/latex-dev/base/ltnews19.pdf
+++ b/macros/latex-dev/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf
index 5b0f456379..d0dcaaad1b 100644
--- a/macros/latex-dev/base/ltnews20.pdf
+++ b/macros/latex-dev/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf
index 3d67ec6827..258f2ad4d6 100644
--- a/macros/latex-dev/base/ltnews21.pdf
+++ b/macros/latex-dev/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf
index ae3c410845..878636b1f7 100644
--- a/macros/latex-dev/base/ltnews22.pdf
+++ b/macros/latex-dev/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf
index 6c88bbe343..7978622df5 100644
--- a/macros/latex-dev/base/ltnews23.pdf
+++ b/macros/latex-dev/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf
index 2fe187077e..1752ed71a7 100644
--- a/macros/latex-dev/base/ltnews24.pdf
+++ b/macros/latex-dev/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf
index d5ac053d58..6314a5dce5 100644
--- a/macros/latex-dev/base/ltnews25.pdf
+++ b/macros/latex-dev/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf
index c370c8bfff..1e9afbaf6d 100644
--- a/macros/latex-dev/base/ltnews26.pdf
+++ b/macros/latex-dev/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf
index e99eb47223..cc752c82a0 100644
--- a/macros/latex-dev/base/ltnews27.pdf
+++ b/macros/latex-dev/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf
index 57d6163994..ac35b00b69 100644
--- a/macros/latex-dev/base/ltnews28.pdf
+++ b/macros/latex-dev/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf
index 6887325d79..fc3b51d12b 100644
--- a/macros/latex-dev/base/ltnews29.pdf
+++ b/macros/latex-dev/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf
index 47a6003be5..a02ff71f46 100644
--- a/macros/latex-dev/base/ltnews30.pdf
+++ b/macros/latex-dev/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf
index c169d35899..42ba4d841e 100644
--- a/macros/latex-dev/base/ltnews31.pdf
+++ b/macros/latex-dev/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf
index 2ad8dc792b..9061a66608 100644
--- a/macros/latex-dev/base/ltnews32.pdf
+++ b/macros/latex-dev/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews33.pdf b/macros/latex-dev/base/ltnews33.pdf
index fe95ad1a99..a4344abff5 100644
--- a/macros/latex-dev/base/ltnews33.pdf
+++ b/macros/latex-dev/base/ltnews33.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews34.pdf b/macros/latex-dev/base/ltnews34.pdf
index 174751f9d9..cf2cdcf139 100644
--- a/macros/latex-dev/base/ltnews34.pdf
+++ b/macros/latex-dev/base/ltnews34.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews34.tex b/macros/latex-dev/base/ltnews34.tex
index 94d2d595df..7497b71879 100644
--- a/macros/latex-dev/base/ltnews34.tex
+++ b/macros/latex-dev/base/ltnews34.tex
@@ -106,14 +106,18 @@
\let\finalvspace\vspace % for document layout fixes
-
+% Undo ltnews's \verbatim@font with active < and >
+\makeatletter
+\def\verbatim@font{%
+ \normalsize\ttfamily}
+\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand\tubcommand[1]{}
\tubcommand{\input{tubltmac}}
\publicationmonth{November}
-\publicationyear{2021 --- Draft Version}
+\publicationyear{2021 --- Draft Version (with many unfinished blocks)}
\publicationissue{34}
@@ -138,13 +142,313 @@
\emph{write}
-\section{???}
-\emph{write}
+
+
+\section{Hook business}
+
+After the introduction of the hook management system in the 2020
+release of \LaTeX{}~\cite{34:ltnews32} package developers have started
+to make more and more use of the new functionality. This resulted in a
+number of queries showing that some of the documentation was not
+precise enough and that one or the other clarification was
+needed. This has now been addressed in the documentation. The extended
+usage also showed a small number of deficiencies that we thought
+should be corrected now while the adoption rate is still relatively
+small. These are addressed in this release and documented below.
+
+
+\subsection{Providing \cs{ActivateGenericHook}}
+
+The hook management system offers a number of generic hooks, i.e.,
+hooks whose names contain a variable component, for example the name
+of an environment. Predeclaring such hooks as not really feasible
+which is why these hooks use a different mechanism: they are
+implicitly available end spring into life the moment a package or the
+user in the preamble adds code to them using \cs{AddToHook}. The
+kernel offers such hooks for environments \texttt{env/...}, commands
+\texttt{cmd/...}, and files, package or classes, \texttt{file/...},
+\texttt{include/...}, \texttt{package/...}, and \texttt{class/...}.
+
+It is possible to offer generic hooks in packages, e.g., if you have
+hooks that depend on the current language and therefore need the
+language name as part of the hook name and you don't know all possible
+names beforehand.
+
+If you want to offer your generic hooks you do this by using
+\cs{UseHook} or \cs{UseOneTimeHook} in your (package) code, but
+\emph{without declaring the hook} with \cs{NewHook}. Without any
+further work a call to \cs{UseHook} with an undeclared hook name does
+nothing. So as an additional setup step, it is necessary to explicitly
+activate the generic hook with \cs{ActivateGenericHook}.\footnote{Note
+ that in the previous release we offered \cs{ProvideHook} as a means
+ to achieve this effect, but the name was badly chosen so we decided
+ to deprecate it and now offer \cs{ActivateGenericHook} instead
+ because that is what it is meant for.}
+
+Assuming
+that you don't know all the different hook names up front it will
+remain the task of the users of your package to activate the hook
+themselves before adding code to it. For example, Babel offers hooks
+such as \texttt{babel/afterextras/\meta{language}} enabling the user
+to add language specific declarations there. They can then write
+\begin{verbatim}
+\ActivateGenericHook
+ {babel/afterextras/ngerman}
+\AddToHook{babel/afterextras/ngerman}
+ {\color{blue}}
+\end{verbatim}
+after which all German words would be colored blue in the text.
+
+Note that a generic hook produced in this way is always a normal hook.
+
+
+
+
+\subsection{Clear extra hook code for next invocation}
+
+There are a few use cases where it would be helpful if one can cancel
+an earlier use of \cs{AddToHookNext}, for example, when a page is
+discarded with \cs{DiscardShipoutBox} because only some pages of the
+document are printed. For such situations the new command
+\cs{ClearHookNext} is provided.
+%
+\githubissue{565}
+
+
+
+\subsection{Clean up after \cs{UseOneTimeHook}}
+
+Some hooks are meant to be used only once in a document, and any
+further attempt to add code to them causes the code to be executed
+immediately instead of being added to the hook. The initial implementation of
+this concept was very simple and didn't anticipate that packages may try to
+execute a one-time hook several times resulting in the hook code
+being executed repeatedly. Thus, the implementation was fine for
+simple usages (e.g., the \hook{begindocument} hook), but caused
+trouble if the one-time hook was intended, for example, as an
+initialization hook that is used once when a command is first
+called, but then ignored in further calls.
+
+This deficiency has been addressed, and now a one-time hook will only be executed once
+and the hook code is removed after usage to free up the memory.
+%
+\githubissue{565}
+
+
+
+\subsection{Class, package, and include hook improvements}
+
+Classes, packages and include files can only be loaded once in a
+\LaTeX{} document. For that reasons hooks that are specific to such
+files have been made one-time hooks. Beside being more efficient this
+supports the following important use case
+\begin{verbatim}
+\AddToHook{package/varioref/after}
+ { ... apply my customizations if the package
+ gets loaded (or was loaded already) ... }
+\end{verbatim}
+without the need to first test if the package was already loaded
+before.
+%
+\githubissue{623}
+
+
+\subsection{Standardizing generic hook names}
+
+The initial set of generic hooks provided by the \LaTeXe{} kernel had
+two patterns of hook names: ones like
+\verb|env/|\meta{name}\verb|/after|, with the variable (\meta{name})
+part in the middle position, and ones like
+\verb|file/after/|\meta{name}, with the variable part in the third
+position. The coexistence of these two types caused confusion, because
+the user had to remember in which position was the variable part
+supposed to go, and made the code more complicated and slower.
+
+The file-related hooks have been renamed so that the variable part of
+their is in the middle, as with other hooks. The changes were:
+\begin{center}
+ \small\ttfamily
+ \begin{tabular}{l@{\;$\rightarrow$\;}l}
+ \hline
+ \multicolumn{1}{l}{Old name} & \rmfamily New name \\
+ \hline
+ file/before/\meta{name} & file/\meta{name}/before \\
+ file/after/\meta{name} & file/\meta{name}/after \\
+ package/before/\meta{name} & package/\meta{name}/before \\
+ package/after/\meta{name} & package/\meta{name}/after \\
+ class/before/\meta{name} & class/\meta{name}/before \\
+ class/after/\meta{name} & class/\meta{name}/after \\
+ include/before/\meta{name} & include/\meta{name}/before \\
+ include/end/\meta{name} & include/\meta{name}/end \\
+ include/after/\meta{name} & include/\meta{name}/after \\
+ \hline
+ \end{tabular}
+\end{center}
+
+Since this is a breaking change, the old names will still work for a
+while, so that users and package authors have enough time to adjust, and
+a warning will be issued when the old names are used. Eventually the
+deprecated names will be turned into errors and then removed completely.
+%
+\githubissue{648}
+
+
+
+\subsection{Changed how \cs{RemoveFromHook} treats code that isn't in the hook}
+
+In the first version of \cs{RemoveFromHook}, in case the code label
+being removed didn't exist in the hook, a ``removal order'' would be
+queued, and the next time something tried to add that label to the hook,
+the \cs{AddToHook} would be cancelled by the removal order, and no code
+would be added that once. This was so that in principle package loading
+order wouldn't matter. However this implementation didn't work quite as
+intended, because while two \cs{AddToHook} to a given label would be
+removed by a single \cs{RemoveFromHook}, one \cs{RemoveFromHook} could
+not cancel two \cs{AddToHook} to that label, and this asymmetry caused
+confusion and was a recipe for further problems.
+
+The implementation was changed and now \cs{RemoveFromHook} only removes
+labels that already exist in a hook, and will display a warning if they
+don't. For usage across packages, for removing code in a hook, the
+\texttt{voids} relation should be used instead: this relation is
+non-destructive (meaning it can be later reverted with another one), and
+it is truly independent of package loading order, so it should be
+preferred.
+%
+\githubissue{625}
+
+
+
+
+\subsection{???}
+
+%
+\githubissue{000}
+
+
\section{New or improved commands}
+
+\subsection{Added \cs{PackageNote} and \cs{ClassNote}}
+
+\LaTeX{} offers \cs{PackageError} to signal errors that stop
+processing, \cs{PackageWarning} that generates a warning message on the
+terminal, but continues with the processing and also \cs{PackageInfo}
+to provide some information that is only written to the \texttt{.log}
+file. What hasn't existed up to now is a way to provide some
+information on the terminal that is identifying itself as coming from
+a specific package but which isn't claiming to be a warning. Thus,
+packages that wanted to write to the terminal used \cs{PackageWarning}
+even though the information wasn't really warning the user. For this
+we now have \cs{PackageNote} and \cs{PackageNoteNoLine}, that identify
+themselves as \enquote{informational}, but still go to the terminal and
+not only to the transcript.
+
+Similar commands exist for classes and there we have added the missing
+\cs{ClassNote} and \cs{ClassNoteNoLine} as well.
+%
+\githubissue{613}
+
+
+\subsection{New implementation for \cs{counterwithin}}
+
+New implementation for \cs{counterwithout} and \cs{counterwithin} with
+an additional optional arg so it becomes a drop-in replacement for
+amsmath \cs{numberwithin}.
+
+\emph{write appropriate description}
+
+
+
+\subsection{New default for \cs{tracinglostchars}}
+
+In 2021 the \TeX{} engines got enhanced so that \cs{tracinglostchars}
+is now also supporting the value \texttt{3}, turning missing
+characters into errors and not just warnings. This change made us
+realize that \LaTeX{} should use a better default for this parameter
+(so far the warning was only written to the transcript file).
+Using the now available \texttt{3} would really be the best, but for
+compatibility reasons we only set it to \texttt{2} in the kernel.
+However, we recommend adding \cs{tracinglostchars}\texttt{=3} to the
+preamble of documents, because missing glyphs in the output are an
+error and should therefore be properly looked at.
+
+
+
+
+
+
+\subsection{Provide tests for package and class loading}
+
+To test if a package was loaded you can now use \cs{IfPackageLoadedTF}
+\Arg{package} \Arg{true} \Arg{false} and based on the result execute
+different code. It is also possible to check if the package was loaded
+with certain options. This is done with
+\cs{IfPackageLoadedWithOptionsTF}. It takes four arguments:
+\Arg{package}\Arg{option-list}\Arg{true}\Arg{false}. It uses the
+\meta{false} code if at least one option in the \meta{option-list} has
+not been used during loading or if the package hasn't been loaded at
+all.
+%
+Both commands can be used anywhere in the document, i.e., they are not
+restricted to the preamble.\footnote{This is now also true for the
+ corresponding internal commands, e.g., \cs{@ifpackageloaded}, that
+ had this restriction in the past.}
+
+For classes similar commands (\texttt{Package} replaced by
+\texttt{Class} in the name) are provided.
+%
+\githubissue{621}
+
+
+
+
+
+
+
+
+
+\subsection{New \cs{ShowFloat} command}
+
+The package \pkg{fltrace} offers a (fairly low-level but very
+detailed) way to trace \LaTeX's float mechanism. This can help to
+understand why a certain float is placed into a certain region or why
+it shows up unexpectedly on a later page. \LaTeX{} stores floats in
+registers named \cs{bx@A}, \cs{bx@B}, etc., and these names show up in
+the tracing information.
+%
+To display their contents you can now say
+\verb=\ShowFloat{=\textit{identifier}\verb=}= where
+\textit{identifier} is the uppercase letter (or letters) after
+\texttt{bx@} in the register name shown in the tracing. If additional
+registers have been allocated with \cs{extrafloats}, the
+\textit{identifier} can also be a number. The command is generally
+available, whether or not you have loaded \pkg{fltrace}, because it is
+also useful when interpreting the tracing output of the
+\pkg{fewerfloatpages} package.
+
+
+\subsection{Add \pkg{ltcmd} support for \cs{NewCommandCopy} and \cs{ShowCommand}}
+
+Since the 2020-10-01 release (see~\cite{34:ltnews32}), \LaTeX{} provides
+\cs{NewCommandCopy} to copy robust commands, and \cs{ShowCommand} to
+show their definition in the terminal. In the same release, the
+\pkg{xparse} package was integrated in the kernel (now called
+\pkg{ltcmd}). However, the extended support for \cs{NewCommandCopy} and
+\cs{ShowCommand} was not implemented in \pkg{ltcmd}. The present
+\LaTeX{} release ships with that support implemented, so now commands
+defined with \pkg{xparse}/\pkg{ltcmd} can be copied and their definition
+can be easily shown in the terminal without \cs{csname} gymnastics.
+%
+\githubissue{569}
+
+
+
+
+
\subsection{???}
%
@@ -155,6 +459,68 @@
\section{Code improvements}
+\subsection{Detect ``\cs{endfoo}'' when using \cs{NewDocumentEnvironment}}
+
+The \cs{newenvironment} command has always checked that both \cs{foo} and
+\cs{endfoo} do not exist before creating a \texttt{foo} environment. In
+contrast, \cs{NewDocumentEnvironment} has only to date checked for \cs{foo};
+this reflects the fact that historically the code was designed around the
+target of an entirely new format. The behavior of \cs{NewDocumentEnvironment}
+now aligns with \cs{newenvironment}, except that it gives separate errors
+for the existence of \cs{foo} and \cs{endfoo}.
+
+\subsection{Improve ``\cs{begin} ended by'' error message}
+
+In the past it was possible to get an error message stating something
+like \verb=\begin{foo} ended by \end{foo}=. This could happen when the
+environment name was partly hidden inside a macro, because the test was
+comparing the literal strings while the error message expanded the
+strings fully. This has now been changed to show a more sensible error
+message in this instance.
+%
+\githubissue{587}
+
+
+
+\subsection{Additional Extended Latin characters predefined}
+Some additional characters such as \'k (U+1E131) are now pre-defined and
+will work without needing \verb|\DeclareUnicodeCharacter| declarations.
+%
+\githubissue{593}
+
+
+\subsection{Use OpenType version of Latin Modern Upright Italic}
+When Latin Modern is used with the TU encoding under \XeTeX\ or \LuaTeX\
+and fontshape \texttt{ui} is requested, \LaTeX\ now uses the OpenType
+version instead of substituting the (T1 encoded) Type 1 version.
+
+
+\subsection{Pick up all arguments to \cs{contentsline}}
+
+The \cs{contentsline} commands in the TOC file are always followed by
+four arguments, the last one being empty by default and only used by
+\pkg{hyperref}. The \cs{contentsline} command itself only used the
+first three arguments and relied on the fourth being empty (and thus
+doing no harm). But this assumption is not always correct, e.g., if
+you use \pkg{hyperref} and then remove it from the preamble.
+
+So now we pick up all four arguments and save the last one away, so
+that it can be used by \pkg{hyperref}.
+%
+\githubissue{633}
+
+
+\subsection{Fix dropping math lists in \LuaTeX\ callbacks}
+
+The \LuaTeX\ callbacks \texttt{pre\_mlist\_to\_hlist\_filter}
+and \texttt{post\_mlist\_to\_hlist\_filter} no longer create an error if
+the callback handler indicates to remove the entire math block.
+%
+\githubissue{644}
+
+
+
+
\subsection{???}
%
@@ -163,7 +529,82 @@
-\section{Changes to packages in the \pkg{graphics} category}
+\section{Bug fixes}
+
+\subsection{Replicate argument processors for all embellishments}
+
+There was a bug in \pkg{ltcmd} (former \pkg{xparse}) that caused
+commands to misbehave if they were defined with embellishments and
+argument processors. In that case, only one (possibly void) argument
+processor would be added to the full set of embellishment arguments,
+resulting in too few processors in some cases, leading to unpredictable
+behavior. This bug has been fixed by applying the same argument
+processors to all the embellishments in a set, so a declaration like:
+\begin{verbatim}
+\NewDocumentCommand\foo{>{\TrimSpaces}e{_^}}
+ {(#1)[#2]}
+\foo^{ a }_{ b }
+\end{verbatim}
+will now correctly apply \cs{TrimSpaces} to both arguments.
+%
+\githubissue{639}
+
+
+
+\subsection{Correct case changes for \cs{ij} and \cs{IJ}}
+
+
+The ligatures \enquote{\ij} and \enquote{\IJ}, as used in Dutch,
+are only available in most \TeX{} fonts, if the commands \cs{ij} or
+\cs{IJ} are used or when you enter them as UTF-8 characters U+0133 or
+U+0132.
+%
+However, when using \texttt{OT1} or \texttt{T1} encoded fonts in
+\pdfTeX, the upper or lower casing with \cs{MakeUppercase} and
+\cs{MakeLowercase} would always fail regardless of the input method.
+This has now been corrected. At the same time we improved the
+hyphenation results for words containing this ligature (when
+typesetting is done in \texttt{OT1} encoding).
+%
+\githubissue{658}
+
+
+
+\subsection{Improve handling of legacy \cs{bfdefault} changes}
+
+In the past, changes to the font series defaults were made by directly
+altering \cs{bfdefault} or \cs{mddefault}. Since 2020 there is now
+\cs{DeclareFontSeriesDefault} that allows more granular control,
+i.e., with that declaration you can alter the default for individual meta
+font families, for example, by only altering the bold settings for the
+sans serif family without changing it for \cs{rmfamily} or \cs{ttfamily}.
+See~\cite{34:ltnews31} for more details.
+
+For backwards compatibility, changing \cs{bfdefault} with
+\cs{renewcommand} remained possible. If used, it alters the setting
+for all meta families in one go. This cannot be done when the
+\cs{renewcommand} happens and was therefore delayed until the next
+time \cs{bfseries} or \cs{mdseries} was executed.
+
+However, the problem with that
+approach was that any call to \cs{DeclareFontSeriesDefault} that
+happened in the mean time was overwritten---the two approaches didn't
+work well side by side. This is a problem because older font packages
+use the legacy method while newer ones use
+\cs{DeclareFontSeriesDefault}. This has now been corrected by changing
+\cs{DeclareFontSeriesDefault} to do any necessary resetting prior to
+setting new defaults.
+%
+\githubissue{663}
+
+
+\subsection{Use of \# in \cs{textbf} and similar commands}
+Previously you could not use the macro parameter character \# in inline functions
+in the argument of \cs{texbf} and similar text font commands.
+An internal definition is now guarded with \cs{unexpanded}
+so that \# does not generate an error.
+%
+\githubissue{665}
\subsection{???}
@@ -173,8 +614,56 @@
+
+
+
+\section{Changes to packages in the \pkg{graphics} category}
+
+
+\subsection{Key for alt text}
+A new key \texttt{alt} has been added to \verb|\includegraphics| allowing specification
+of an alternative text for accessibility.
+This is unused by default but may be used by extension packages and possible future use.
+%
+\githubissue{651}
+
+
+
\section{Changes to packages in the \pkg{tools} category}
+\subsection{\pkg{varioref}: Improve missing label handling}
+
+If an undefined label is referenced, \pkg{varioref} makes a default
+definition so that later processing finds the right structure (two
+brace groups inside \cs{r@}\meta{label}) However, if \pkg{nameref} or
+\pkg{hyperref} is loaded, the data structure changes to five
+arguments, resulting in low-evel errors in some cases. The code has
+been changed to avoid these errors.
+%
+\sxissue{603948}
+
+
+\subsection{\pkg{array}: Cancel \cs{mathsurround} for \env{tabular}}
+
+A \env{tabular} environment is internally typeset as an \env{array}
+environment with special settings and therefore in math mode. This
+math group should not get any \cs{mathsuround} added as it isn't a
+real formula because otherwise the spacing around the \env{tabular}
+changes. This bug has been there forever (which means not many people
+use \cs{mathsurround} or noticed the difference). Anyhow, this now got
+fixed.
+%
+\githubissue{614}
+
+\subsection{\pkg{longtable}: Improve behavior after a section heading}
+The \env{longtable} environment now sets the \cs{@nobreakfalse} flag so that
+spacing and indentation changes after a section heading are not triggered by
+a paragraph which follows a table which starts a section. Similarly a test for
+\cs{if@noskipsec} added so that a table follows a run-in heading
+rather than appearing before it.
+%
+\githubissue[s]{131 and 173}
+
\subsection{???}
%
@@ -182,6 +671,15 @@
\section{Changes to packages in the \pkg{amsmath} category}
+\subsection{Improve compability with hyperref}
+
+When \pkg{hyperref} is used, incrementing a counter creates anchors and this can affect spacing.
+For a long time \pkg{hyperref} patched the \env{equation} environment to
+avoid some of the side effects. This patch has now been moved directly into \pkg{amsmath}.
+Additionally,
+a \cs{mathopen} has been added to avoid that the anchor affects a following unary symbol.
+%
+\githubissue{652}
\subsection{???}
@@ -205,6 +703,10 @@
\emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
\url{https://latex-project.org/help/documentation/}
+\bibitem{34:ltnews31} \LaTeX{} Project Team:
+ \emph{\LaTeXe{} news 31}.\\
+ \url{https://latex-project.org/news/latex2e-news/ltnews31.pdf}
+
\bibitem{34:ltnews32} \LaTeX{} Project Team:
\emph{\LaTeXe{} news 32}.\\
\url{https://latex-project.org/news/latex2e-news/ltnews32.pdf}
diff --git a/macros/latex-dev/base/ltoutenc.dtx b/macros/latex-dev/base/ltoutenc.dtx
index eb2ecd1e53..14518d2fb2 100644
--- a/macros/latex-dev/base/ltoutenc.dtx
+++ b/macros/latex-dev/base/ltoutenc.dtx
@@ -44,7 +44,7 @@
%<*driver>
% \fi
\ProvidesFile{ltoutenc.dtx}
- [2021/04/29 v2.0v LaTeX Kernel (font encodings)]
+ [2021/09/12 v2.0w LaTeX Kernel (font encodings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutenc.dtx}
@@ -1783,12 +1783,14 @@
% {Added \cs{ij} and \cs{IJ} from babel. (pr/3771)}
% The dutch language uses the letter `ij'. It is available in
% \texttt{T1} encoded fonts, but not in the \texttt{OT1} encoded
-% fonts. Therefor we fake it for the \texttt{OT1} encoding.
+% fonts. Therefore we fake it for the \texttt{OT1} encoding.
+% \changes{v2.0w}{2021/09/12}{Move zero skip between
+% i and j for hyphenation (gh/658)}
% \begin{macrocode}
\DeclareTextCommand{\ij}{OT1}{%
- \nobreak\hskip\z@skip i\kern-0.02em j\nobreak\hskip\z@skip}
+ \nobreak\hskip\z@skip i\kern-0.02em\nobreak\hskip\z@skip j}
\DeclareTextCommand{\IJ}{OT1}{%
- \nobreak\hskip\z@skip I\kern-0.02em J\nobreak\hskip\z@skip}
+ \nobreak\hskip\z@skip I\kern-0.02em\nobreak\hskip\z@skip J}
% \end{macrocode}
% In the OT1 encoding, \pounds~and \$ share a slot.
% \changes{v1.9y}{2000/01/30}{Use \cs{hmode@bgroup} where applicable
diff --git a/macros/latex-dev/base/ltoutput.dtx b/macros/latex-dev/base/ltoutput.dtx
index b1b3a24096..78b0f2335f 100644
--- a/macros/latex-dev/base/ltoutput.dtx
+++ b/macros/latex-dev/base/ltoutput.dtx
@@ -30,14 +30,14 @@
%%% From File: ltoutput.dtx
%<flafter>\ProvidesPackage{flafter}
%<fltrace>\ProvidesPackage{fltrace}
-%<flafter,fltrace> [2018/11/28 v1.4d
+%<flafter,fltrace> [2021/07/31 v1.4e
%<flafter> Standard LaTeX floats after reference (FMi)]
%<fltrace> Tracing LaTeX floats algorithm (FMi)]
%
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2021/05/05 v1.4g LaTeX Kernel (Output Routine)]
+ [2021/09/03 v1.4h LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -3945,10 +3945,69 @@
\fi
\fi
}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+%
+% \begin{macro}{\ShowFloat}
+% This command provides some information about the contenta of a
+% float register. Float registers have internal names of the form
+% \cs{bx@}\meta{Uppercase-letter(s)-or numbers} and you specify just this
+% letter or letters as the argument, e.g., \verb=\ShowFloat{A}=.
+% (There is not much error recovery if you specify something that
+% isn't a float.)
+% \changes{v1.4g}{2021/07/31}{Macro added}
+% \changes{v1.4h}{2021/09/03}{Renamed, original name never distributed}
+% \begin{macrocode}
%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2021/11/15}%
+%<latexrelease> {\ShowFloat}{Show float register contents}%
+\def\ShowFloat#1{\begingroup
+ \let \fl@trace \fl@tracemessage
+ \fl@trace{***Float #1 details:}%
+ \ifcsname bx@#1\endcsname
+ \expandafter\fl@ShowFloat\csname bx@#1\endcsname
+ \else
+ \fl@trace{Not a float!}%
+ \fi
+ \endgroup
+}
+\def\fl@ShowFloat#1{%
+ \fl@traceval{\count#1}% % this here should be interpreted on day
+ \fl@traceval{\ht#1}%
+ \fl@traceval{\dp#1}%
+ \fl@traceval{\wd#1}%
+ {\tracingonline1\showboxbreadth10\showboxdepth3\showbox#1}%
+}
+% \end{macrocode}
+% Here are two definitions from \texttt{fltrace} that make the above
+% code work:
+% \begin{macrocode}
+\def \fl@traceval #1{\fl@trace{\string #1 = \the #1}}
+\def \fl@tracemessage #1{{\let\@elt\@empty\typeout{LaTeX2e: #1}}}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\ShowFloat}{Show float register contents}%
+%<latexrelease>
+%<latexrelease>\let\ShowFloat\@undefined
+%<latexrelease>\let\fl@ShowFloat\@undefined
+%<latexrelease>\let\fl@traceval\@undefined
+%<latexrelease>\let\fl@tracemessage\@undefined
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
%
+%
+%
+%
% \subsubsection{Float control}
%
% This part implements controllable floats and other changes
@@ -4025,6 +4084,16 @@
% wrong value.\footnote{This is a somewhat questionable design.}
% \begin{macrocode}
\begingroup
+% \end{macrocode}
+% When the user requests \cs{tracefloatvals} then they should show
+% regardless of the tracing state, so locally we make sure that it
+% is activated.
+% \changes{v1.4e}{2021/07/31}{Enable display when doing \cs{tracefloatvals}}
+% \begin{macrocode}
+ \tracefloats
+% \end{macrocode}
+%
+% \begin{macrocode}
\@dblfloatplacement
\@floatplacement
\fl@trace{***Float placement parameters:}%
@@ -4052,6 +4121,7 @@
{trace float vals}%
\def \tracefloatvals{%
\begingroup
+ \tracefloats
\@dblfloatplacement
\@floatplacement
\fl@trace{***Float placement parameters:}%
@@ -4077,6 +4147,10 @@
}
\EndIncludeInRelease
% \end{macrocode}
+%
+%
+%
+%
% We need to make sure that \texttt{fltrace} comes before
% \texttt{flafter} to make the tracing work.
% \begin{macrocode}
diff --git a/macros/latex-dev/base/ltpara-code.pdf b/macros/latex-dev/base/ltpara-code.pdf
index 5a16a8c1e4..c39ce4eb6b 100644
--- a/macros/latex-dev/base/ltpara-code.pdf
+++ b/macros/latex-dev/base/ltpara-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara-doc.pdf b/macros/latex-dev/base/ltpara-doc.pdf
index 296d020142..2d05e77304 100644
--- a/macros/latex-dev/base/ltpara-doc.pdf
+++ b/macros/latex-dev/base/ltpara-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara.dtx b/macros/latex-dev/base/ltpara.dtx
index 5ab52a5e9b..bc51e4688f 100644
--- a/macros/latex-dev/base/ltpara.dtx
+++ b/macros/latex-dev/base/ltpara.dtx
@@ -14,8 +14,8 @@
%%% From File: ltpara.dtx
%
% \begin{macrocode}
-\def\ltparaversion{v1.0g}
-\def\ltparadate{2021/05/27}
+\def\ltparaversion{v1.0j}
+\def\ltparadate{2021/09/18}
% \end{macrocode}
%<*driver>
\documentclass{l3doc}
@@ -468,7 +468,7 @@
%
% The commands \cs{RawIndent} and \cs{RawNoindent} are not meant
% for normal paragraph building (where the result is a textual
-% paragraph in the the traditional meaning of the word), but for
+% paragraph in the traditional meaning of the word), but for
% special cases where \TeX{}'s low-level algorithm is used to
% achieve special effects, but where the result is not a
% \enquote{paragraph}.
@@ -972,6 +972,30 @@
% above construct but two conditionals instead. Using low-level
% \cs{if_mode...} conditions would be even faster but has the
% danger to conflict with conditionals in the user hooks.
+%
+% If \cs{para_end:} is executed while \TeX{} is currently doing a
+% low-level assignment the test for horizontal mode may get
+% executed as part of the assignment. That is normally not an issue
+% but we just found one case where it is:
+%\begin{verbatim}
+% \afterassignment\lst@vskip\@tempskipa \z@ \par
+%\end{verbatim}
+% If \TeX{} is in hmode while that assignment happens then the
+% \cs{par} is seen in hmode (because in the above case the
+% assignment isn't finished (one should have used \cs{z@skip} and
+% the \cs{lst@vskip} will get inserted into the middle of the
+% conditional. The \cs{lst@vskip} then changes to vmode and you get
+% a surprising error about the \texttt{para/end} hook having
+% changed modes even if you don't have any hook code because it is
+% the instered \cs{lst@vskip} that is causing it. That happened
+% when the output routines got started while a \texttt{lstlisting}
+% environment (that redefines \cs{vskip} in this way) was
+% active. This is really faulty coding, but we try to be proactive
+% and guard the conditional so thatany scanning is stopped before it:
+% \begin{macrocode}
+ \scan_stop:
+% \end{macrocode}
+%
% \begin{macrocode}
\mode_if_horizontal:TF {
\mode_if_inner:F {
@@ -1008,12 +1032,13 @@
\mode_if_horizontal:TF {
% \end{macrocode}
% The final action (before getting to the point where
-% \cs{tex_par:D} is called) is to add a kern item so that the
+% \cs{tex_par:D} is called) is to add a glue item so that the
% primitive is prevented from removing glue (if there was some). If
% we don't do this and the
% horizontal list ended in several glue items we would end up with
% removing two instead of just the last one, which would be wrong.
-% We use a kern as that is minimally faster.
+% We use glue (rather than a kern) as that will be removed by the primitive
+% par.
%
% There is however one other \TeX{} optimization that hurts: in a
% sequence like this \verb=$$ ... $$ \par= \TeX{} will be in
@@ -1023,17 +1048,19 @@
% away. The space between \verb=$$= and \cs{par} got already
% dropped during the display processing so the \cs{par} is not
% removing any space and appending \cs{parfillskip}, instead it
-% simply goes silently to vmode. Now if we would had added something (to
+% simply goes silently to vmode. Now if we would have added something (to
% prevent glue removal) that would look to \TeX{} like material
% after the display and so we would end up with an empty paragraph
% just containing \cs{parfillskip}.
%
-% We therefore check if the current hlist is empty
-% (\cs{tex_lastnodetype:D} has the value \texttt{-1} and
-% only if not we add our kern.
+% We therefore check if the current hlist does end in glue
+% (\cs{tex_lastnodetype:D} has the value \texttt{11}) and
+% if so we add a zero-length guard skip which will be removed by the
+% following \cs{tex_par:D}.
+% \changes{v1.0i}{2021/09/18}{Use skip rather than kern as guard.}
% \begin{macrocode}
- \if_int_compare:w 0 < \tex_lastnodetype:D
- \tex_kern:D \c_zero_dim
+ \if_int_compare:w 11 = \tex_lastnodetype:D
+ \tex_hskip:D \c_zero_dim
\fi:
% \end{macrocode}
% To run the \hook{para/after} hook we first end the
@@ -1054,7 +1081,7 @@
% Finally close out the nested conditionals.
% \begin{macrocode}
}
- }
+ }
% \end{macrocode}
%
% \begin{macrocode}
@@ -1090,7 +1117,7 @@
\@@_handle_indent:
\the\everypar }
}
- { \msg_error:nn { kernel }{ raw-para } }
+ { \msg_error:nn { latex2e }{ raw-para } }
\tex_indent:D
}
% \end{macrocode}
@@ -1103,7 +1130,7 @@
\tex_everypar:D { \g_@@_standard_everypar_tl }
\the\everypar }
}
- { \msg_error:nn { kernel }{ raw-para } }
+ { \msg_error:nn { latex2e }{ raw-para } }
\tex_noindent:D
}
% \end{macrocode}
@@ -1161,7 +1188,7 @@
% The first argument is the hook name second the mode
% it should have stayed in but didn't.
%
-% \begin{macrocode}
+% \begin{macrocode}
\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
@@ -1175,10 +1202,11 @@
}
% \end{macrocode}
%
+% \changes{v1.0i}{2021/08/27}{Internal message name changes}
% And here is one used in the \enquote{raw} commands when they are
-% used outside of vertical mode.
+% used outside of vertical mode.
% \begin{macrocode}
-\msg_new:nnnn { kernel } { raw-para }
+\msg_new:nnnn { latex2e } { raw-para }
{
Not~ in~ vertical~ mode.
}
@@ -1206,7 +1234,7 @@
%<latexrelease>\cs_set_eq:NN \par \tex_par:D
%<latexrelease>\cs_set_eq:NN \@@par \tex_par:D
%<latexrelease>\cs_set_eq:NN \endgraf \tex_par:D
-%<latexrelease>
+%<latexrelease>
%<latexrelease>\EndModuleRelease
\ExplSyntaxOff
%</2ekernel|latexrelease>
@@ -1220,4 +1248,3 @@
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-
diff --git a/macros/latex-dev/base/ltplain.dtx b/macros/latex-dev/base/ltplain.dtx
index e0fbcecf1b..5fa7039679 100644
--- a/macros/latex-dev/base/ltplain.dtx
+++ b/macros/latex-dev/base/ltplain.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltplain.dtx}
- [2021/04/18 v2.3f LaTeX Kernel (Plain TeX)]
+ [2021/07/16 v2.3g LaTeX Kernel (Plain TeX)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltplain.dtx}
@@ -906,6 +906,7 @@
\finalhyphendemerits=5000
\adjdemerits=10000
% \end{macrocode}
+% \begin{macrocode}
% \looseness=0, cleared by TeX after each paragraph
% \pausing=0
% \holdinginserts=0
@@ -915,9 +916,24 @@
% \tracingparagraphs=0
% \tracingpages=0
% \tracingoutput=0
+% \end{macrocode}
+% In the past \LaTeX{} used the default value of \texttt{1} for
+% \cs{tracinglostchars} because this was the best it could do. This
+% way one would at least get a warning in the \texttt{.log}
+% file. e-\TeX{} improved on that and supported a value of \texttt{2}
+% to show the warning on the terminal, so we could have changed the
+% default when we made the e-\TeX{} extensions required---however,
+% we overlooked that oportunity.
+% In 2021 this parameter was improved on again and now also accepts
+% the value \texttt{3}
+% (error on the terminal). This made us realize that we should
+% change the default. Using \texttt{3} would really be the
+% best, but for compatibility reasons we only use \texttt{2}.
+% \changes{v2.3g}{2021/07/16}{Use 2 as default value for \cs{tracinglostchars}}
% \begin{macrocode}
-\tracinglostchars=1
+\tracinglostchars=2
% \end{macrocode}
+% \begin{macrocode}
% \tracingcommands=0
% \tracingrestores=0
% \end{macrocode}
diff --git a/macros/latex-dev/base/ltsect.dtx b/macros/latex-dev/base/ltsect.dtx
index 29ea142ba6..67974c7387 100644
--- a/macros/latex-dev/base/ltsect.dtx
+++ b/macros/latex-dev/base/ltsect.dtx
@@ -31,7 +31,7 @@
%%% From File: ltsect.dtx
%<*driver>
% \fi
-\ProvidesFile{ltsect.dtx}[2020/12/05 v1.1e LaTeX Kernel (Sectioning)]
+\ProvidesFile{ltsect.dtx}[2021/07/28 v1.1f LaTeX Kernel (Sectioning)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltsect.dtx}
@@ -765,7 +765,7 @@
% The |\addcontentsline{|\meta{table}|}{|\meta{type}|}{|%
% \meta{entry}|}| command allows the user to add
% his/her own entry to a table of contents, etc. The command adds the
-% entry |\contentsline{|\meta{type}|}{|\meta{entry}|}{|\meta{page}|}|
+% entry |\contentsline{|\meta{type}|}{|\meta{entry}|}{|\meta{page}|}{}|
% to the |.|\meta{table} file.
%
% This macro is implemented as an application of |\addtocontents|.
@@ -833,7 +833,7 @@
% \end{macro}
%
% \begin{macro}{\contentsline}
-% The |\contentsline{|\meta{type}|}{|\meta{entry}|}{|\meta{page}|}|
+% The |\contentsline{|\meta{type}|}{|\meta{entry}|}{|\meta{page}|}{}|
% macro produces a \meta{type} entry in a table of contents, etc.
% It will appear in the |.toc| or other file. For example,
% The entry for subsection 1.4.3 in the table of contents for
@@ -848,10 +848,44 @@
% without expanding them.
%
% \begin{macrocode}
-\def\contentsline#1{\csname l@#1\endcsname}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2021/11/15}%
+%<latexrelease> {\contentsline}{Four arguments}%
+% \end{macrocode}
+%
+% In the toc file \cs{contentsline} is followed by 4 arguments
+% these days, but only the first 3 are used in the old
+% interface. The fourth was by default empty and only used when
+% \pkg{hyperref} was loaded. We now pick up all 4 arguments, save
+% the last one away in \cs{@contentsline@destination} and then call
+% the old interface. This is done to simplify the interface to
+% \pkg{hyperref} and to prepare for future changes.
+% \changes{v1.1f}{2021/07/28}{Pick up four arguments (gh/633)}
+% \begin{macrocode}
+\def\contentsline#1#2#3#4{\gdef\@contentsline@destination{#4}%
+ \csname l@#1\endcsname{#2}{#3}}
+% \end{macrocode}
+% Default definition.
+% \begin{macrocode}
+\let\@contentsline@destination\@empty
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\contentsline}{Four arguments}%
+%<latexrelease>
+%<latexrelease>\def\contentsline#1{\csname l@#1\endcsname}
+%<latexrelease>\let\@contentsline@destination\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
+%
+%
% |\@dottedtocline{|\meta{level}|}{|\meta{indent}|}{|\meta{numwidth}%
% |}{|\meta{title}|}{|\meta{page}|}|:
% Macro to produce a table of contents line with the following
diff --git a/macros/latex-dev/base/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf
index b9b89d57e0..2bb3e8e560 100644
--- a/macros/latex-dev/base/ltshipout-code.pdf
+++ b/macros/latex-dev/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf
index 288b55cce9..c422ae9794 100644
--- a/macros/latex-dev/base/ltshipout-doc.pdf
+++ b/macros/latex-dev/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltshipout.dtx b/macros/latex-dev/base/ltshipout.dtx
index 6e687ee444..7f6555d18c 100644
--- a/macros/latex-dev/base/ltshipout.dtx
+++ b/macros/latex-dev/base/ltshipout.dtx
@@ -283,7 +283,7 @@
% includes the background and foreground material).
%
% \textbf{Note:} Just like \hook{shipout/before} this hook is
-% not meant to be used for adding adding typeset material back
+% not meant to be used for adding typeset material back
% to the main vertical list---it might vanish or the
% vertical spacing will be wrong!
%
diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx
index 9ccd2bd02e..3f2f119cb1 100644
--- a/macros/latex-dev/base/ltvers.dtx
+++ b/macros/latex-dev/base/ltvers.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltvers.dtx}
- [2021/04/16 v1.1g LaTeX Kernel (Version Info)]
+ [2021/08/10 v1.1h LaTeX Kernel (Version Info)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltvers.dtx}
@@ -115,7 +115,7 @@
{2021-11-15}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{-1}
+\def\patch@level{-2}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
@@ -230,6 +230,7 @@
% \changes{v1.0o}{2015/01/19}{Optional argument}
% \changes{v1.0q}{2015/02/19}{Swap argument order}
% \changes{v1.1f}{2021/03/18}{Add support for usage in \cs{NewModuleRelease}}
+% \changes{v1.1h}{2021/08/10}{Add error to aid debugging}
%
% \begin{macrocode}
%<*2ekernel|latexrelease>
@@ -257,6 +258,15 @@
{\@IncludeInRelease{#1}[#1]}}}
\def\finish@module@release#1#2#3{%
\toks@{[#1] #3}%
+ \begingroup
+ \edef\x{\detokenize\expandafter{\new@modulename}}%
+ \edef\y{\detokenize{#2}}%
+ \expandafter\endgroup
+ \ifx\x\y \else
+ \@latex@error{\noexpand\IncludeInRelease dated #1 in a module is not
+ allowed.\MessageBreak Use a date at least equal to \new@moduledate
+ \space for complete rollback}\@ehd
+ \fi
\ifnum\expandafter\@parse@version\new@moduledate//00\@nil
>\expandafter\@parse@version\fmtversion//00\@nil
\GenericInfo{}{Applying: \the\toks@}%
diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf
index 595d23353b..3f492d24c7 100644
--- a/macros/latex-dev/base/ltx3info.pdf
+++ b/macros/latex-dev/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf
index e149e03cf9..7f3de03312 100644
--- a/macros/latex-dev/base/ltxdoc.pdf
+++ b/macros/latex-dev/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf
index 47e9bbe4fe..736ef277a2 100644
--- a/macros/latex-dev/base/makeindx.pdf
+++ b/macros/latex-dev/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex-dev/base/manifest.txt b/macros/latex-dev/base/manifest.txt
index 65e6f80389..f6afcccce7 100644
--- a/macros/latex-dev/base/manifest.txt
+++ b/macros/latex-dev/base/manifest.txt
@@ -76,7 +76,7 @@
%
% ltx3info.tex -- Information about the LaTeX3 project.
%
-% manual.err -- Errata for the LaTeX Manual.
+% lamport-manual.err -- Errata for the LaTeX Manual book, second edition.
% tlc2.err -- Errata for the LaTeX Companion, second edition.
% lb2.err -- Errata for the LaTeX-Begleiter, 2te erw. Auflage (German).
% lgc2.err -- Errata for the LaTeX Graphics Companion, second edition.
diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf
index 4c1ddbe949..73386625ce 100644
--- a/macros/latex-dev/base/modguide.pdf
+++ b/macros/latex-dev/base/modguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf
index 82938a5bd8..904aafcd7d 100644
--- a/macros/latex-dev/base/nfssfont.pdf
+++ b/macros/latex-dev/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf
index 2997bbec09..7edbb77c6b 100644
--- a/macros/latex-dev/base/proc.pdf
+++ b/macros/latex-dev/base/proc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf
index e71d6e8bc2..69e2a0c1ae 100644
--- a/macros/latex-dev/base/slides.pdf
+++ b/macros/latex-dev/base/slides.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf
index f0de95ec17..c18e1a26d2 100644
--- a/macros/latex-dev/base/slifonts.pdf
+++ b/macros/latex-dev/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf
index d400012bb0..cb22937a33 100644
--- a/macros/latex-dev/base/source2e.pdf
+++ b/macros/latex-dev/base/source2e.pdf
Binary files differ
diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf
index 6b6d25627d..4ab7c3814b 100644
--- a/macros/latex-dev/base/syntonly.pdf
+++ b/macros/latex-dev/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc2.err b/macros/latex-dev/base/tlc2.err
index a361d1673a..46ba9ed845 100644
--- a/macros/latex-dev/base/tlc2.err
+++ b/macros/latex-dev/base/tlc2.err
@@ -19,7 +19,7 @@
\begin{filecontents}{ttcterrata.cls}
%%
-%% Copyright (C) 1997,2004,2005,2007, 2014 Frank Mittelbach
+%% Copyright (C) 1997-2021 Frank Mittelbach
%% This class file is licenced under LPPL latest version;
%% see https://www.latex-project.org/lppl
%
@@ -36,9 +36,10 @@
%
% v1.0a - changed name from errata.cls to ttcterrata.cls
% v1.0b - added \arraybackslash
+% v1.0c - and took it out again and used \tabularnewline instead
\ProvidesClass{ttcterrata}
- [2021/04/22 v1.0b Mini class for errata files; subject to change (FMi)]
+ [2021/08/03 v1.0c Mini class for errata files; subject to change (FMi)]
\LoadClass{article}
@@ -63,7 +64,9 @@
\setbox\@tempboxa\vbox\bgroup
\let\endgobble\egroup
\let\hideamp\relax
- \let\\\relax\let\par\@@par}
+ \let\\\relax
+ \let\tabularnewline\relax
+ \let\par\@@par}
\newcommand*\hideamp{&}
@@ -140,7 +143,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
@@ -154,18 +157,18 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\fbox{\bfseries !!}\hfill
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
\newcommand\CHAPTER[1]{\endgobble
- &\\[4pt]%
- \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}
+ &\tabularnewline[4pt]%
+ \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \tabularnewline}
\newenvironment{erratalist}
- {\begin{longtable}{r>{\raggedright\arraybackslash}p{2cm}l>{\raggedright\arraybackslash}p{10cm}l}}
+ {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}}
{\endgobble\end{longtable}}
\newcommand\erratatitle[2]
@@ -213,7 +216,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
@@ -228,7 +231,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\fbox{\bfseries !!}\hfill
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
@@ -420,7 +423,7 @@ Contest period ends & Winner \\[4pt]
-\CHAPTER{Front matter}
+\CHAPTER{Front matter}
\erroronpage{iv}{bottom}{FMi}{2004/04/23}{2}
Some updates indicating second printing (with corrections)
diff --git a/macros/latex-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf
index b31dc5d637..60c2def519 100644
--- a/macros/latex-dev/base/tlc2.pdf
+++ b/macros/latex-dev/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tulm.fdd b/macros/latex-dev/base/tulm.fdd
index 5c1566a5ba..243cbe30cc 100644
--- a/macros/latex-dev/base/tulm.fdd
+++ b/macros/latex-dev/base/tulm.fdd
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 2016-2019
+% Copyright 2016-2021
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
@@ -30,7 +30,7 @@
%\iffalse This is a META comment
%
% File `cmfonts.fdd'.
-% Copyright (C) 2016-2019 LaTeX Project
+% Copyright (C) 2016-2021 LaTeX Project
%
%
%<TUlmr>\ProvidesFile{tulmr.fd}
@@ -42,7 +42,7 @@
%<*driver>
\ProvidesFile{tulm.drv}
%</driver>
- [2017/01/26 v1.8 Standard LaTeX font definitions for Latin Modern]
+ [2021/07/23 v1.8a Standard LaTeX font definitions for Latin Modern]
%
%<*driver>
\documentclass{ltxdoc}
@@ -63,6 +63,7 @@
%\fi
%
% \section{TUlmr}
+% \changes{v1.8a}{2021/07/23}{Use OpenType font for TU/lmr/m/ui}
% \begin{macrocode}
%<*TUlmr>
\DeclareFontFamily{TU}{lmr}{}
@@ -93,7 +94,7 @@
\DeclareFontShape{TU}{lmr}{m}{sc}%
{<-> \UnicodeFontFile{lmromancaps10-regular}{\UnicodeFontTeXLigatures}}{}
\DeclareFontShape{TU}{lmr}{m}{ui}%
- {<-> ec-lmu10}{}
+ {<-> \UnicodeFontFile{lmromanunsl10-regular}{\UnicodeFontTeXLigatures}}{}
\DeclareFontShape{TU}{lmr}{m}{scsl}%
{<-> \UnicodeFontFile{lmromancaps10-oblique}{\UnicodeFontTeXLigatures}}{}
\DeclareFontShape{TU}{lmr}{b}{n}
diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf
index 5aa6b50141..eae26e7a6c 100644
--- a/macros/latex-dev/base/tulm.pdf
+++ b/macros/latex-dev/base/tulm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf
index 423fe4c8b4..35201e63bd 100644
--- a/macros/latex-dev/base/usrguide.pdf
+++ b/macros/latex-dev/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide3.pdf b/macros/latex-dev/base/usrguide3.pdf
index 347116d157..bf279eb39a 100644
--- a/macros/latex-dev/base/usrguide3.pdf
+++ b/macros/latex-dev/base/usrguide3.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide3.tex b/macros/latex-dev/base/usrguide3.tex
index e86b2d8b0a..82c1c06863 100644
--- a/macros/latex-dev/base/usrguide3.tex
+++ b/macros/latex-dev/base/usrguide3.tex
@@ -302,7 +302,7 @@ argument specification:
\end{verbatim}
where \verb*|\foobar{arg1} [arg2]| will not find an optional argument.
-There is one subtly here due to the difference in handling by \TeX{} of
+There is one subtlety here due to the difference in handling by \TeX{} of
`control symbols', where the command name is made up of a single
character, such as `\texttt{\textbackslash\textbackslash}'.
Spaces are not ignored by \TeX{} here,
@@ -454,6 +454,18 @@ category code $13$ (active) character matching the \meta{token} will
be replaced before the split takes place.
Spaces are trimmed at each end of each item parsed.
+The \texttt{E} argument type is somewhat special, because with a single
+\texttt{E} in the command declaration you may end up with several
+arguments in a command (one formal argument per embellishment token).
+Therefore, when an argument processor is applied to an \texttt{E}-type
+argument, all the arguments pass through that processor before being fed
+to the \meta{code}. For example, this command
+\begin{verbatim}
+ \NewDocumentCommand \foo { >{\TrimSpaces} e{_^} }
+ { [#1](#2) }
+\end{verbatim}
+applies \cs{TrimSpaces} to both arguments.
+
\begin{decl}
|\SplitList| \arg{token(s)}
\end{decl}
diff --git a/macros/latex-dev/base/utf8ienc.dtx b/macros/latex-dev/base/utf8ienc.dtx
index a517459441..75990d1b03 100644
--- a/macros/latex-dev/base/utf8ienc.dtx
+++ b/macros/latex-dev/base/utf8ienc.dtx
@@ -216,7 +216,7 @@
%<+ts1> \ProvidesFile{ts1enc.dfu}
%<+x2> \ProvidesFile{x2enc.dfu}
%<+all> \ProvidesFile{utf8enc.dfu}
-%<-utf8-2018> [2021/06/08 v1.2m UTF-8 support]
+%<-utf8-2018> [2021/06/21 v1.2n UTF-8 support]
% \end{macrocode}
%
% \begin{macrocode}
@@ -1704,17 +1704,31 @@
%<all,t1>\DeclareUnicodeCharacter{1E03}{\.b}
% \end{macrocode}
% \changes{v1.2k}{2021/01/27}{Added various additional dot accents (gh/484)}
+% \changes{v1.2n}{2021/06/21}{more extended latin entries for gh/593}
% \begin{macrocode}
%<all,t1>\DeclareUnicodeCharacter{1E0D}{\d d}
+%<all,t1>\DeclareUnicodeCharacter{1E1E}{\.F}
+%<all,t1>\DeclareUnicodeCharacter{1E1F}{\.f}
%<all,t1>\DeclareUnicodeCharacter{1E25}{\d h}
+%<all,t1>\DeclareUnicodeCharacter{1E30}{\@tabacckludge'K}
+%<all,t1>\DeclareUnicodeCharacter{1E31}{\@tabacckludge'k}
%<all,t1>\DeclareUnicodeCharacter{1E37}{\d l}
+%<all,t1>\DeclareUnicodeCharacter{1E8E}{\.Y}
+%<all,t1>\DeclareUnicodeCharacter{1E8F}{\.y}
%<all,t1>\DeclareUnicodeCharacter{1E43}{\d m}
%<all,t1>\DeclareUnicodeCharacter{1E45}{\.n}
%<all,t1>\DeclareUnicodeCharacter{1E47}{\d n}
%<all,t1>\DeclareUnicodeCharacter{1E5B}{\d r}
%<all,t1>\DeclareUnicodeCharacter{1E63}{\d s}
%<all,t1>\DeclareUnicodeCharacter{1E6D}{\d t}
+%<all,t1>\DeclareUnicodeCharacter{1E90}{\^Z}
+%<all,t1>\DeclareUnicodeCharacter{1E91}{\^z}
%<all,t1>\DeclareUnicodeCharacter{1E9E}{\SS}
+%<all,t1>\DeclareUnicodeCharacter{1EF2}{\@tabacckludge`Y}
+%<all,t1>\DeclareUnicodeCharacter{1EF3}{\@tabacckludge`y}
+% \end{macrocode}
+%
+% \begin{macrocode}
%<all,x2,t2c,t2b,t2a,t1,utf8>\DeclareUnicodeCharacter{200C}{\textcompwordmark}
% \end{macrocode}
% \changes{v1.1s}{2016/02/28}{Add more hyphens and dashes}
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index ac07119618..bbcff9bc6f 100644
--- a/macros/latex-dev/base/utf8ienc.pdf
+++ b/macros/latex-dev/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/webcomp.err b/macros/latex-dev/base/webcomp.err
index 6a62e258c5..1b3b7a2475 100644
--- a/macros/latex-dev/base/webcomp.err
+++ b/macros/latex-dev/base/webcomp.err
@@ -29,9 +29,10 @@
%
% v1.0a - changed name from errata.cls to ttcterrata.cls
% v1.0b - added \arraybackslash
+% v1.0c - and took it out again and used \tabularnewline instead
\ProvidesClass{ttcterrata}
- [2021/04/22 v1.0b Mini class for errata files; subject to change (FMi)]
+ [2021/08/03 v1.0c Mini class for errata files; subject to change (FMi)]
\LoadClass{article}
@@ -56,7 +57,9 @@
\setbox\@tempboxa\vbox\bgroup
\let\endgobble\egroup
\let\hideamp\relax
- \let\\\relax\let\par\@@par}
+ \let\\\relax
+ \let\tabularnewline\relax
+ \let\par\@@par}
\newcommand*\hideamp{&}
@@ -133,7 +136,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
@@ -147,18 +150,18 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\fbox{\bfseries !!}\hfill
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
\newcommand\CHAPTER[1]{\endgobble
- &\\[4pt]%
- \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \\}
+ &\tabularnewline[4pt]%
+ \multicolumn{4}{l}{\framebox[10cm][l]{\textbf{\normalsize\strut#1}}} \tabularnewline}
\newenvironment{erratalist}
- {\begin{longtable}{r>{\raggedright\arraybackslash}p{2cm}l>{\raggedright\arraybackslash}p{10cm}l}}
+ {\begin{longtable}{r>{\raggedright}p{2cm}l>{\raggedright}p{10cm}l}}
{\endgobble\end{longtable}}
\newcommand\erratatitle[2]
@@ -206,7 +209,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
}
@@ -221,7 +224,7 @@
\typeout{Ignoring entry #1 #2 #3 #4}%
\expandafter\gobbleerrata
\fi
- \hideamp \\%
+ \hideamp \tabularnewline
\fbox{\bfseries !!}\hfill
\displayrevisionfix{#1}{#5}
\hideamp #2 \hideamp (\textsf{#3}) \hideamp
diff --git a/macros/latex-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf
index 6451799f0d..c28756a894 100644
--- a/macros/latex-dev/base/webcomp.pdf
+++ b/macros/latex-dev/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/README.md b/macros/latex-dev/required/amsmath/README.md
index 4054197883..48f1e27234 100644
--- a/macros/latex-dev/required/amsmath/README.md
+++ b/macros/latex-dev/required/amsmath/README.md
@@ -1,7 +1,7 @@
The amsmath bundle for LaTeX
============================
-Release 2021-11-15 pre-release 1
+Release 2021-11-15 pre-release 2
Overview
--------
@@ -12,7 +12,7 @@ developed by the American Mathematical Society (AMS) and released for general
use as a service to the mathematical community. A number of smaller
auxiliary packages are also distributed with the `amsmath` package.
-Effective in 2016, maintenance of `amsmath was transferred from AMS to
+Effective in 2016, maintenance of `amsmath` was transferred from AMS to
the LaTeX Project; as `amsmath` is considered a "required" package, this
centralizes control over the core LaTeX components.
@@ -28,7 +28,7 @@ Release distribution is carried out only through the CTAN archives.
Documentation
-------------
-The primary documentation for `amsmath` is in provided as `amsldoc.pdf`.
+The primary documentation for `amsmath` is provided as `amsldoc.pdf`.
Additional documentation files include:
diff --git a/macros/latex-dev/required/amsmath/amsbsy.pdf b/macros/latex-dev/required/amsmath/amsbsy.pdf
index 9766310c66..b85ad28df0 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.pdf
+++ b/macros/latex-dev/required/amsmath/amsbsy.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amscd.pdf b/macros/latex-dev/required/amsmath/amscd.pdf
index ef305b0d62..23a47f71d6 100644
--- a/macros/latex-dev/required/amsmath/amscd.pdf
+++ b/macros/latex-dev/required/amsmath/amscd.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsgen.pdf b/macros/latex-dev/required/amsmath/amsgen.pdf
index 1872ad8fe1..b5dda96a10 100644
--- a/macros/latex-dev/required/amsmath/amsgen.pdf
+++ b/macros/latex-dev/required/amsmath/amsgen.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsldoc.pdf b/macros/latex-dev/required/amsmath/amsldoc.pdf
index caf0dffb06..38f627d41d 100644
--- a/macros/latex-dev/required/amsmath/amsldoc.pdf
+++ b/macros/latex-dev/required/amsmath/amsldoc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsldoc.tex b/macros/latex-dev/required/amsmath/amsldoc.tex
index 26ea6cf808..97294772e7 100644
--- a/macros/latex-dev/required/amsmath/amsldoc.tex
+++ b/macros/latex-dev/required/amsmath/amsldoc.tex
@@ -69,6 +69,11 @@ Bug reports can be opened (category \texttt{#1}) at\\%
\def\@thanks{\bigskip\MaintainedByLaTeXTeam{amslatex}}
\makeatother
+% Very minor changes are not listed in the \date above:
+%
+% 2021-08-22: reported typo fixed mathools -> mathtools
+
+
% Use the amsmath package and amscd package in order to print
% examples.
\usepackage{amsmath}
@@ -1616,7 +1621,7 @@ bar symbols:
\end{verbatim}
whereupon the document would contain |\abs{z}| to produce $\lvert
z\rvert$ and |\norm{v}| to produce $\lVert v\rVert$.
-The \pkg{mathools} provides the command \cn{DeclarePairedDelimiter}
+The \pkg{mathtools} provides the command \cn{DeclarePairedDelimiter}
for defining |\abs|-like macros with scaling delimiters.
\index{delimiters|)}
diff --git a/macros/latex-dev/required/amsmath/amsmath.dtx b/macros/latex-dev/required/amsmath/amsmath.dtx
index 8857861101..eec51f50cb 100644
--- a/macros/latex-dev/required/amsmath/amsmath.dtx
+++ b/macros/latex-dev/required/amsmath/amsmath.dtx
@@ -86,7 +86,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesPackage{amsmath}[2021/04/20 v2.17j AMS math features]
+\ProvidesPackage{amsmath}[2021/08/28 v2.17k AMS math features]
% \end{macrocode}
%
% \section{Catcode defenses}
@@ -2627,7 +2627,9 @@ ill-advised in LaTeX.%
%
% \begin{macro}{\numberwithin}
% Provide a convenient way to specify that equations should be
-% numbered within sections.
+% numbered within sections. The \LaTeX{} kernel contains a similar command
+% \cs{counterwithin} (with a slightly extended syntax) that can be used
+% as a drop-in replacement for \cs{numberwithin}.
% \begin{macrocode}
\newcommand{\numberwithin}[3][\arabic]{%
\@ifundefined{c@#2}{\@nocounterr{#2}}{%
@@ -6500,8 +6502,17 @@ Cannot use `split' here;\MessageBreak trying to recover with `aligned'}%
\let\mathdisplay@pop\@empty
\def\mathdisplay@@pop{\the\mathdisplay@stack}
% \end{macrocode}
-%
+%\changes{v2.17k}{2021/08/24}{Move the counter inside the equation and guard
+% with a mathopen for better compability with hyperref, issue gh/652}
+% As with hyperref incrementing the counter creates a box to raise the anchor
+% it should be in a place where is doesn't affect spacing.
+% Currently the code from hyperref is used to avoid this problem:
+% If fleqn isn't active the counter is set inside the equation and the potential
+% box guarded by a mathopen to avoid side effects on following unary symbols.
+% If fleqn is activated it has to be outside to avoid problems with labels.
+% This solution is temporary and not necessarly the best.
% \begin{macrocode}
+\if@fleqn
\renewenvironment{equation}{%
\incr@eqnum
\mathdisplay@push
@@ -6512,6 +6523,18 @@ Cannot use `split' here;\MessageBreak trying to recover with `aligned'}%
\mathdisplay@pop
\ignorespacesafterend
}
+\else
+\renewenvironment{equation}{%
+ \mathdisplay@push
+ \st@rredfalse \global\@eqnswtrue
+ \mathdisplay{equation}%
+ \incr@eqnum\mathopen{}%
+}{%
+ \endmathdisplay{equation}%
+ \mathdisplay@pop
+ \ignorespacesafterend
+}
+\fi
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/macros/latex-dev/required/amsmath/amsmath.pdf b/macros/latex-dev/required/amsmath/amsmath.pdf
index 7bce876d7b..e845d54387 100644
--- a/macros/latex-dev/required/amsmath/amsmath.pdf
+++ b/macros/latex-dev/required/amsmath/amsmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsopn.dtx b/macros/latex-dev/required/amsmath/amsopn.dtx
index a71c13d6c8..03df1a116b 100644
--- a/macros/latex-dev/required/amsmath/amsopn.dtx
+++ b/macros/latex-dev/required/amsmath/amsopn.dtx
@@ -58,7 +58,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must December 1994 or later
-\ProvidesPackage{amsopn}[2016/03/08 v2.02 operator names]
+\ProvidesPackage{amsopn}[2021/08/26 v2.02 operator names]
% \end{macrocode}
%
% What \cs{nolimits@} does is keep a \cn{limits} typed by the user
@@ -72,13 +72,13 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% punctuation characters such as |*-/:'|.
% Because the body of an
% operator name is set in math mode, these few punctuation
-% characters will not come out right (wrong symbol/and or wrong
+% characters will not come out right (wrong symbol and/or wrong
% spacing). The purpose of \cs{newmcodes@} is to make them act like
% their normal text versions.
%
% Where practical, we use decimal numbers to cut down main mem
% usage (\qc{\"} not needed).
-% use |\Umathcodedefnum| with xetex and LuaTeX to avoid problems
+% Use |\Umathcodedefnum| with xetex and LuaTeX to avoid problems
% using |\mathcode| if |-| has already been defined using |\Umathcode|.
% \changes{v2.02}{2016/03/08}{Unicode TeX version of \cs{newmcodes@}}
% \begin{macrocode}
diff --git a/macros/latex-dev/required/amsmath/amsopn.pdf b/macros/latex-dev/required/amsmath/amsopn.pdf
index 4665ba523b..bc4a3590d9 100644
--- a/macros/latex-dev/required/amsmath/amsopn.pdf
+++ b/macros/latex-dev/required/amsmath/amsopn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amstext.dtx b/macros/latex-dev/required/amsmath/amstext.dtx
index d6475561fb..88cc837f03 100644
--- a/macros/latex-dev/required/amsmath/amstext.dtx
+++ b/macros/latex-dev/required/amsmath/amstext.dtx
@@ -77,7 +77,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must be December 1994 or later
-\ProvidesPackage{amstext}[2000/06/29 v2.01 AMS text]
+\ProvidesPackage{amstext}[2021/08/26 v2.01 AMS text]
% \end{macrocode}
%
% \section{The implementation}
@@ -108,7 +108,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% If \cn{text} is encountered inside math mode the macro
% \cs{text@} is called. It has one mandatory argument, the text
% which should be produced. Since we do not know in which math
-% style we are currently in we call \cs{mathchoice} to tyeset
+% style we are currently in we call \cs{mathchoice} to typeset
% our text in all four possible styles.
% \begin{macrocode}
\def\text@#1{{\mathchoice
@@ -277,7 +277,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
%\subsection{Applications of \cn{text}}
%
% \begin{macro}{\mathhexbox}
-% We start with an re-definition of the \fn{plain.tex} macro
+% We start with a re-definition of the \fn{plain.tex} macro
% \cs{mathhexbox}. (Although M. Spivak in \amstex/ uses the name
% \cs{mathhexbox@} for this purpose, I [FMi] don't see any reason
% to use a new name since the new definition is superior, has the
diff --git a/macros/latex-dev/required/amsmath/amstext.pdf b/macros/latex-dev/required/amsmath/amstext.pdf
index a612a817cf..d3d5dbf093 100644
--- a/macros/latex-dev/required/amsmath/amstext.pdf
+++ b/macros/latex-dev/required/amsmath/amstext.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsxtra.pdf b/macros/latex-dev/required/amsmath/amsxtra.pdf
index 2005cf8843..485d56d23e 100644
--- a/macros/latex-dev/required/amsmath/amsxtra.pdf
+++ b/macros/latex-dev/required/amsmath/amsxtra.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/changes.txt b/macros/latex-dev/required/amsmath/changes.txt
index 63bea7e727..a07a5cee26 100644
--- a/macros/latex-dev/required/amsmath/changes.txt
+++ b/macros/latex-dev/required/amsmath/changes.txt
@@ -2,6 +2,11 @@
All changes above are only part of the development branch for the next release.
================================================================================
+2021-08-24 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * amsmath.dtx (subsection{Implementing tags and labels}):
+ move \incr@eqnum inside the equation if fleqn isn't used and guard
+ it with a mathopen for better compability with hyperref, issue gh/652
+
#########################
# 2021-06-01 Release
#########################
diff --git a/macros/latex-dev/required/amsmath/subeqn.pdf b/macros/latex-dev/required/amsmath/subeqn.pdf
index 9b600cf7e6..88db5466cd 100644
--- a/macros/latex-dev/required/amsmath/subeqn.pdf
+++ b/macros/latex-dev/required/amsmath/subeqn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/technote.pdf b/macros/latex-dev/required/amsmath/technote.pdf
index dc43245376..73fafa5f80 100644
--- a/macros/latex-dev/required/amsmath/technote.pdf
+++ b/macros/latex-dev/required/amsmath/technote.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/testmath.pdf b/macros/latex-dev/required/amsmath/testmath.pdf
index 3376cc9958..811bb8be8b 100644
--- a/macros/latex-dev/required/amsmath/testmath.pdf
+++ b/macros/latex-dev/required/amsmath/testmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/firstaid/changes.txt b/macros/latex-dev/required/firstaid/changes.txt
index 634e3e5c9b..f84c9dbc5b 100644
--- a/macros/latex-dev/required/firstaid/changes.txt
+++ b/macros/latex-dev/required/firstaid/changes.txt
@@ -1,8 +1,28 @@
+2021-06-28 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Add first aid for strange bogus para/end error due to listings's
+ redefinition of \vskip.
+
+2021-06-24 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx (subsection{\footref first aid}):
+ Taken out first aid for memoir and scrbase, they are now fixed
+
+ (section{The Implementation}): show more details if a first aid
+ is not applied.
+
+2021-06-23 Marcel Krüger <Marcel.Krueger@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Temporary fix for gh591 to be taken out when the engine is fixed.
+
2021-06-08 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* latex2e-first-aid-for-external-files.dtx:
ulem doesn't handle \hspace gracefully now that it is calc aware.
- varwidth needs an additional \unskip when unraveling a vertical list.
+ varwidth needs an additional \unskip when unraveling a vertical list
+ (but only if that skip is 0pt)
2021-03-15 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
index 84ddacb269..702dca0229 100644
--- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -111,8 +111,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2021/06/08}
-\def\LaTeXFirstAidVersion{v1.0m}
+\def\LaTeXFirstAidDate{2021/06/28}
+\def\LaTeXFirstAidVersion{v1.0o}
% \end{macrocode}
%
% \begin{macrocode}
@@ -120,8 +120,8 @@
[\LaTeXFirstAidDate\space \LaTeXFirstAidVersion\space
LaTeX kernel fixes to external files and packages]
% \end{macrocode}
- %
-
+%
+%
% \begin{macro}{\FirstAidNeededT}
% This is a very simple help to ensure that we only apply first aid
% to an unmodified package or class. It only works in the case the
@@ -135,7 +135,13 @@
\ExplSyntaxOn
\cs_new:Npn\FirstAidNeededT#1#2#3{
\exp_args:Ncx\str_if_eq:onF{ver@#1.#2}{#3}
- { \typeout{==>~ First~ Aid~ for~ #1.#2~ no~ longer~ applied!} }
+ { \typeout{==>~ First~ Aid~ for~ #1.#2~ no~ longer~ applied!^^J
+ \@spaces Expected:^^J
+ \@spaces\@spaces #3^^J
+ \@spaces but~ found:^^J
+ \@spaces\@spaces \use:c{ver@#1.#2}^^J
+ \@spaces so~ I'm~ assuming~ it~ got~ fixed.
+ } }
\exp_args:Ncx\str_if_eq:onT{ver@#1.#2}{#3}
}
\ExplSyntaxOff
@@ -221,9 +227,9 @@
%
% \begin{macrocode}
\newcommand\AtBeginOfFile [2]
- {\AddToHook{file/before/#1}{#2}}
+ {\AddToHook{file/#1/before}{#2}}
\newcommand\AtEndOfFile [2]
- {\AddToHook{file/after/#1}{#2}}
+ {\AddToHook{file/#1/after}{#2}}
% \end{macrocode}
%
% Some commands offered a starred form
@@ -232,8 +238,8 @@
{\IfBooleanTF{#1}%
{\@ifpackageloaded{#2}%
{#3}%
- {\AddToHook{package/before/#2}{#3}}}%
- {\AddToHook{package/before/#2}{#3}}%
+ {\AddToHook{package/#2/before}{#3}}}%
+ {\AddToHook{package/#2/before}{#3}}%
}
% \end{macrocode}
%
@@ -242,8 +248,8 @@
{\IfBooleanTF{#1}%
{\@ifpackageloaded{#2}%
{#3}%
- {\AddToHook{package/after/#2}{#3}}}%
- {\AddToHook{package/after/#2}{#3}}%
+ {\AddToHook{package/#2/after}{#3}}}%
+ {\AddToHook{package/#2/after}{#3}}%
}
% \end{macrocode}
%
@@ -254,25 +260,25 @@
{\IfBooleanTF{#1}%
{\@ifclassloaded{#2}%
{#3}%
- {\AddToHook{class/before/#2}{#3}}}%
- {\AddToHook{class/before/#2}{#3}}%
+ {\AddToHook{class/#2/before}{#3}}}%
+ {\AddToHook{class/#2/before}{#3}}%
}
\DeclareDocumentCommand \AtEndOfClassFile {smm}
{\IfBooleanTF{#1}%
{\@ifclassloaded{#2}%
{#3}%
- {\AddToHook{class/after/#2}{#3}}}%
- {\AddToHook{class/after/#2}{#3}}%
+ {\AddToHook{class/#2/after}{#3}}}%
+ {\AddToHook{class/#2/after}{#3}}%
}
% \end{macrocode}
%
% \begin{macrocode}
\newcommand\AtBeginOfIncludeFile [2]
- {\AddToHook{include/before/#1}{#2}}
+ {\AddToHook{include/#1/before}{#2}}
\newcommand\AtEndOfIncludeFile [2]
- {\AddToHook{include/end/#1}{#2}}
+ {\AddToHook{include/#1/end}{#2}}
\newcommand\AfterIncludeFile [2]
- {\AddToHook{include/after/#1}{#2}}
+ {\AddToHook{include/#1/after}{#2}}
% \end{macrocode}
%
% \begin{macrocode}
@@ -296,7 +302,7 @@
% If the package gets updated one can easily take that out simply
% through
%\begin{verbatim}
-% \RemoveFromHook{file/after/biditools.sty}[firstaid]
+% \RemoveFromHook{file/biditools.sty/after}[firstaid]
%\end{verbatim}
% This makes it easy to test new bidi code while the first aid code
% is still in the kernel.
@@ -306,7 +312,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\AddToHook{file/after/biditools.sty}[firstaid]{%
+\AddToHook{file/biditools.sty/after}[firstaid]{%
\FirstAidNeededT{biditools}{sty}%
{2020/05/13 v2 Programming tools for bidi package}%
{%
@@ -341,7 +347,7 @@
% Again a case of a no longer correct \cs{endgroup} in document.
% Here the fix is simply though.
% \begin{macrocode}
-\AddToHook{file/after/dinbrief.cls}[firstaid]{%
+\AddToHook{file/dinbrief.cls/after}[firstaid]{%
\FirstAidNeededT{dinbrief}{cls}{2000/03/02 LaTeX2e class}%
{\AddToHook{env/document/begin}{\begingroup}}%
}
@@ -363,7 +369,7 @@
%
% \begin{macrocode}
\ExplSyntaxOn
-\AddToHook{file/after/pgfpages.sty}[firstaid]{%
+\AddToHook{file/pgfpages.sty/after}[firstaid]{%
% \end{macrocode}
% Undo overwriting \cs{shipout}:
% \begin{macrocode}
@@ -390,7 +396,7 @@
%
% \begin{macrocode}
\ExplSyntaxOn
-\AddToHook{file/after/pgfmorepages.sty}[firstaid]{
+\AddToHook{file/pgfmorepages.sty/after}[firstaid]{
\cs_set_nopar:Npn \pgfhookintoshipout {
\cs_set_eq:NN \pgfpages@originalshipout \tex_shipout:D
\cs_set_eq:NN \tex_shipout:D \pgfpages@interceptshipout
@@ -468,7 +474,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\AddToHook{file/after/CJK.sty}[firstaid]{%
+\AddToHook{file/CJK.sty/after}[firstaid]{%
\FirstAidNeededT{CJK}{sty}%
{2015/04/18 4.8.4}%
{%
@@ -493,20 +499,22 @@
%
% A few classes unconditionally define \cs{footref}. Until that has
% changed we provide some first aid to let them do this.
+%
+% --- This seems to be resolved now ---
%
% \begin{macrocode}
-\AddToHook{file/after/scrkbase.sty}[firstaid]{%
- \FirstAidNeededT{scrkbase}{sty}%
- {2020/09/21 v3.32 KOMA-Script package (KOMA-Script-dependent basics and keyval usage)}%
- {\let\footref\@undefined}
- }
+%\AddToHook{file/scrkbase.sty/after}[firstaid]{%
+% \FirstAidNeededT{scrkbase}{sty}%
+% {2020/09/21 v3.32 KOMA-Script package (KOMA-Script-dependent basics and keyval usage)}%
+% {\let\footref\@undefined}
+% }
% \end{macrocode}
%
% \begin{macrocode}
-\AddToHook{class/before/memoir}[firstaid]{%
- % for version {2020/10/04 v3.7n configurable book, report, article document class}%
- \let\footref\@undefined
-}
+%\AddToHook{class/memoir/before}[firstaid]{%
+% % for version {2020/10/04 v3.7n configurable book, report, article document class}%
+% \let\footref\@undefined
+%}
% \end{macrocode}
%
%
@@ -528,7 +536,7 @@
% This firstaid therefore jumps over the problematical point by
% pushing the count allocation to a safe value if necessary.
% \begin{macrocode}
-\AddToHook{file/after/bigfoot.sty}{%
+\AddToHook{file/bigfoot.sty/after}{%
\ifnum\count10<\insc@unt
\global\count10=\insc@unt
\fi
@@ -548,7 +556,7 @@
%
%
%
-% \subsection{\cs{ulem} first aid}
+% \subsection{\pkg{ulem} first aid}
%
% In 2020 we fixed various kernel commands to accept \pkg{calc}
% syntax. The \pkg{ulem} package redefines some internals and that
@@ -558,14 +566,14 @@
% moment \pkg{ulem} gets adjusted.
%
% \begin{macrocode}
-\AddToHook{file/after/ulem.sty}[firstaid]{%
+\AddToHook{file/ulem.sty/after}[firstaid]{%
\def\@hspace#1{\begingroup\setlength\skip@{#1}%
\edef\x{\endgroup\hskip\the\skip@\relax}\x}%
}
% \end{macrocode}
%
%
-% \subsection{\cs{varwidth} first aid}
+% \subsection{\pkg{varwidth} first aid}
%
% The \pkg{varwidth} package does a lot of low-level paragraph
% manipulation assuming traditional \TeX{} paragraphs. However, with
@@ -577,13 +585,13 @@
% \cs{unskip}.
%
% \begin{macrocode}
-\AddToHook{file/after/varwidth.sty}[firstaid]{%
+\AddToHook{file/varwidth.sty/after}[firstaid]{%
\FirstAidNeededT{varwidth}{sty}%
{2009/03/30 ver 0.92; \space Variable-width minipages}%
{%
\def\@vwid@sift{%
\skip@\lastskip\unskip
- \unskip % <---- the first aid here
+ \ifdim\lastskip=\z@\unskip\fi % <---- the first aid here (not just unskip)
\dimen@\lastkern\unkern
\count@\lastpenalty\unpenalty
\setbox\z@\lastbox
@@ -618,6 +626,88 @@
% {Temporary fixes for the kernel \\
% (until the next patch-level release)}
%
+% This fixes GitHub issue 591. It is only needed in Lua\TeX\ and replaces just one
+% instance of \cs{tex\_par:D} with the following version which removes
+% other nodes in the current list first.
+% \begin{macrocode}
+\ExplSyntaxOn
+\sys_if_engine_luatex:T
+ {
+ \newluafunction \g__para_end_empty_par_id_int
+ \exp_args:Nx \everyjob {
+ \exp_not:V \everyjob
+ \exp_not:N \lua_now:n {
+ local~texnest, flush_list, par_token = tex.nest, node.flush_list, token.create'tex_par:D'~
+ lua.get_functions_table()[\int_use:N \g__para_end_empty_par_id_int] = function()
+ local~nest_level = texnest.top~
+ local~cur_head = nest_level.head~
+ flush_list(cur_head.next)
+ nest_level.tail, cur_head.next = cur_head, nil~
+ token.put_next(par_token)
+ end
+ }
+ }
+ \protected \luadef \__para_end_empty_par: \g__para_end_empty_par_id_int
+ \group_begin:
+ \cs_set:Npn \__para_extract_everypar:w #1 \the \toks #2 \s_stop
+ {
+ \tl_gset:Nn \g__para_standard_everypar_tl {
+ \box_gset_to_last:N \g_para_indent_box
+ \group_begin:
+ \__para_end_empty_par:
+ \group_end:
+ \tex_everypar:D { \msg_error:nnnn { hooks }{ para-mode }{before}{vertical} }
+ \@kernel@before@para@before
+ \hook_use:n {para/before}
+ \group_begin:
+ \tex_everypar:D {}
+ \skip_zero:N \tex_parskip:D
+ \tex_noindent:D
+ \group_end:
+ \tex_everypar:D{\g__para_standard_everypar_tl}
+ \@kernel@before@para@begin
+ \hook_use:n {para/begin}
+ \if_mode_horizontal: \else:
+ \msg_error:nnnn { hooks }{ para-mode }{begin}{vertical} \fi:
+ \__para_handle_indent:
+ \the \toks #2
+ }
+ }
+ \exp_last_unbraced:No \__para_extract_everypar:w \g__para_standard_everypar_tl \s_stop
+ \group_end:
+ }
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% The next fixes Github issue 605 (by inserting a \cs{scan\_stop:}
+% before doing the check for hmode).
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_set_protected:Npn \para_end: {
+ \scan_stop:
+ \mode_if_horizontal:TF {
+ \mode_if_inner:F {
+ \tex_unskip:D
+ \hook_use:n{para/end}
+ \@kernel@after@para@end
+ \mode_if_horizontal:TF {
+ \if_int_compare:w 0 < \tex_lastnodetype:D
+ \tex_kern:D \c_zero_dim
+ \fi:
+ \tex_par:D
+ \hook_use:n{para/after}
+ \@kernel@after@para@after
+ }
+ { \msg_error:nnnn { hooks }{ para-mode }{end}{horizontal} }
+ }
+ }
+ \tex_par:D
+}
+\cs_set_eq:NN \par \para_end:
+\cs_set_eq:NN \@@par \para_end:
+\cs_set_eq:NN \endgraf \para_end:
+\ExplSyntaxOff
+% \end{macrocode}
%
% \begin{macrocode}
%</kernel>
diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
index 137d4a9274..d57cfbc166 100644
--- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
+++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/README.md b/macros/latex-dev/required/graphics/README.md
index 51707022ae..c2ba96233d 100644
--- a/macros/latex-dev/required/graphics/README.md
+++ b/macros/latex-dev/required/graphics/README.md
@@ -1,7 +1,7 @@
The LaTeX `graphics` bundle
===========================
-Release 2021-11-15 pre-release 1
+Release 2021-11-15 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/required/graphics/changes.txt b/macros/latex-dev/required/graphics/changes.txt
index 0616e3b692..bd328646f1 100644
--- a/macros/latex-dev/required/graphics/changes.txt
+++ b/macros/latex-dev/required/graphics/changes.txt
@@ -4,12 +4,24 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2021-09-16 David Carlisle <David.Carlisle@latex-project.org>
+
+ * graphicx.dtx: Add an alt key to \includegraphics gh/651
+
+2021-08-13 David Carlisle <David.Carlisle@latex-project.org>
+
+ * longtable.dtx: ensure \ext@table is defined (gh/g37)
+
+2021-08-11 David Carlisle <David.Carlisle@latex-project.org>
+
+ * trig.dtx: correct csname for 180 \@clxxx not \@clxx
+
================================================================================
All changes above are only part of the development branch for the next release.
================================================================================
#########################
-# 2021-16-01 Release
+# 2021-06-01 Release
#########################
2021-03-04 Phelype Oleinik <phelype.oleinik@latex-project.org>
diff --git a/macros/latex-dev/required/graphics/color.pdf b/macros/latex-dev/required/graphics/color.pdf
index 1118a879ed..dbc9c25788 100644
--- a/macros/latex-dev/required/graphics/color.pdf
+++ b/macros/latex-dev/required/graphics/color.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/drivers.pdf b/macros/latex-dev/required/graphics/drivers.pdf
index 009b496ee6..ecd63d0fb4 100644
--- a/macros/latex-dev/required/graphics/drivers.pdf
+++ b/macros/latex-dev/required/graphics/drivers.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/epsfig.pdf b/macros/latex-dev/required/graphics/epsfig.pdf
index 40ba161410..5787ecf75b 100644
--- a/macros/latex-dev/required/graphics/epsfig.pdf
+++ b/macros/latex-dev/required/graphics/epsfig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphics.pdf b/macros/latex-dev/required/graphics/graphics.pdf
index d52ec97ee7..2a78345161 100644
--- a/macros/latex-dev/required/graphics/graphics.pdf
+++ b/macros/latex-dev/required/graphics/graphics.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphicx.dtx b/macros/latex-dev/required/graphics/graphicx.dtx
index a2fc17e393..29e0db5b12 100644
--- a/macros/latex-dev/required/graphics/graphicx.dtx
+++ b/macros/latex-dev/required/graphics/graphicx.dtx
@@ -19,7 +19,7 @@
%<driver> \ProvidesFile{graphicx.drv}
% \fi
% \ProvidesFile{graphicx.dtx}
- [2020/12/05 v1.2c Enhanced LaTeX Graphics (DPC,SPQR)]
+ [2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)]
%
% \iffalse
%<*driver>
@@ -565,6 +565,15 @@
% \end{macrocode}
% \end{key}
%
+% \begin{key}{Gin}{alt}
+% \changes{v1.2d}{2021/09/16 }{alt key gh/651}
+% By default the |alt| key does nothing but may be used
+% for alternative text for accessibility uses in extensions.
+% \begin{macrocode}
+\define@key{Gin}{alt}{}
+% \end{macrocode}
+% \end{key}
+%
% \begin{macro}{\Gin@boolkey}
% Helper function for defining boolean valued functions. The order of
% arguments allows |\lowercase| to only act on the user-supplied
diff --git a/macros/latex-dev/required/graphics/graphicx.pdf b/macros/latex-dev/required/graphics/graphicx.pdf
index 01724f9bb3..210d251efc 100644
--- a/macros/latex-dev/required/graphics/graphicx.pdf
+++ b/macros/latex-dev/required/graphics/graphicx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/grfguide.pdf b/macros/latex-dev/required/graphics/grfguide.pdf
index b5e770a191..792686e0af 100644
--- a/macros/latex-dev/required/graphics/grfguide.pdf
+++ b/macros/latex-dev/required/graphics/grfguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/keyval.pdf b/macros/latex-dev/required/graphics/keyval.pdf
index ff9f10e7e0..3571d1347e 100644
--- a/macros/latex-dev/required/graphics/keyval.pdf
+++ b/macros/latex-dev/required/graphics/keyval.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/lscape.pdf b/macros/latex-dev/required/graphics/lscape.pdf
index d2bd4fa457..caf9f95ee7 100644
--- a/macros/latex-dev/required/graphics/lscape.pdf
+++ b/macros/latex-dev/required/graphics/lscape.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotating.pdf b/macros/latex-dev/required/graphics/rotating.pdf
index 1f257d72e5..e4c4a0df13 100644
--- a/macros/latex-dev/required/graphics/rotating.pdf
+++ b/macros/latex-dev/required/graphics/rotating.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotex.pdf b/macros/latex-dev/required/graphics/rotex.pdf
index 6d963e82bd..6a89c2edff 100644
--- a/macros/latex-dev/required/graphics/rotex.pdf
+++ b/macros/latex-dev/required/graphics/rotex.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/trig.dtx b/macros/latex-dev/required/graphics/trig.dtx
index 83e774ff20..533f3b0648 100644
--- a/macros/latex-dev/required/graphics/trig.dtx
+++ b/macros/latex-dev/required/graphics/trig.dtx
@@ -19,7 +19,7 @@
%<driver> \ProvidesFile{trig.drv}
% \fi
% \ProvidesFile{trig.dtx}
- [2016/01/03 v1.10 sin cos tan (DPC)]
+ [2021/08/11 v1.11 sin cos tan (DPC)]
%
% \iffalse
%</!plain>
@@ -86,13 +86,16 @@
%<*package>
% \end{macrocode}
%
-% \begin{macro}{\nin@ty}\begin{macro}{\@clxx}
-% \begin{macro}{\@lxxi}\begin{macro}{\@mmmmlxviii}
+% \begin{macro}{\nin@ty}
+% \begin{macro}{\@clxxx}
+% \changes{v1.11}{2021/08/11}{180 is clxxx not clxx}
+% \begin{macro}{\@lxxi}
+% \begin{macro}{\@mmmmlxviii}
% Some useful constants for converting between degrees and radians.
% $$\frac{\pi}{180}\simeq\frac{355}{113\times180}=\frac{71}{4068}$$
% \begin{macrocode}
\chardef\nin@ty=90
-\chardef\@clxx=180
+\chardef\@clxxx=180
\chardef\@lxxi=71
\mathchardef\@mmmmlxviii=4068
% \end{macrocode}
@@ -217,7 +220,7 @@
% \begin{macrocode}
\def\TG@reduce#1#2{%
\dimen@#1#2\nin@ty\p@
- \advance\dimen@#2-\@clxx\p@
+ \advance\dimen@#2-\@clxxx\p@
\dimen@-\dimen@
\TG@@sin}
% \end{macrocode}
diff --git a/macros/latex-dev/required/graphics/trig.pdf b/macros/latex-dev/required/graphics/trig.pdf
index fce1bfec2f..fcfbf0a4da 100644
--- a/macros/latex-dev/required/graphics/trig.pdf
+++ b/macros/latex-dev/required/graphics/trig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/README.md b/macros/latex-dev/required/tools/README.md
index d2f51a78c9..4eb7829acd 100644
--- a/macros/latex-dev/required/tools/README.md
+++ b/macros/latex-dev/required/tools/README.md
@@ -1,7 +1,7 @@
The LaTeX `tools` bundle
========================
-Release 2021-11-15 pre-release 1
+Release 2021-11-15 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/required/tools/afterpage.pdf b/macros/latex-dev/required/tools/afterpage.pdf
index 118a18b658..f1532c82b6 100644
--- a/macros/latex-dev/required/tools/afterpage.pdf
+++ b/macros/latex-dev/required/tools/afterpage.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/array.dtx b/macros/latex-dev/required/tools/array.dtx
index 84376a486b..eab451fccd 100644
--- a/macros/latex-dev/required/tools/array.dtx
+++ b/macros/latex-dev/required/tools/array.dtx
@@ -33,7 +33,7 @@
%<+package>\DeclareCurrentRelease{}{2020-10-01}
%<+package>
%<+package>\ProvidesPackage{array}
-%<+package> [2021/04/20 v2.5e Tabular extension package (FMi)]
+%<+package> [2021/07/12 v2.5f Tabular extension package (FMi)]
%
% \fi
%
@@ -2489,9 +2489,11 @@
% \begin{macro}{\endtabular*}
% To end a \textsf{tabular} or \textsf{tabular$*$} environment we
% call up =\endarray=, close the math mode and then the surrounding
-% =\hbox=.
+% =\hbox=. This math mode around the tabular should not be surrounded by
+% any =\mathsurround= so we cancel that with =\m@th=.
+% \changes{v2.5f}{2021/07/12}{Cancel any outside \cs{mathsurround} (gh/614)}
% \begin{macrocode}
-\def\endtabular{\endarray $\egroup}
+\def\endtabular{\endarray\m@th $\egroup}
\expandafter\let\csname endtabular*\endcsname=\endtabular
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex-dev/required/tools/array.pdf b/macros/latex-dev/required/tools/array.pdf
index a0b803946e..28778ed39c 100644
--- a/macros/latex-dev/required/tools/array.pdf
+++ b/macros/latex-dev/required/tools/array.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/bm.pdf b/macros/latex-dev/required/tools/bm.pdf
index 2e7cf36c46..e69390ef57 100644
--- a/macros/latex-dev/required/tools/bm.pdf
+++ b/macros/latex-dev/required/tools/bm.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/calc.pdf b/macros/latex-dev/required/tools/calc.pdf
index dd772bbba3..327661413a 100644
--- a/macros/latex-dev/required/tools/calc.pdf
+++ b/macros/latex-dev/required/tools/calc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/changes.txt b/macros/latex-dev/required/tools/changes.txt
index 17278e4a54..aa5a341960 100644
--- a/macros/latex-dev/required/tools/changes.txt
+++ b/macros/latex-dev/required/tools/changes.txt
@@ -1,4 +1,3 @@
-
=======================================================================
This file lists changes to the LaTeX2e files in reverse chronological order.
It is provided for convenience only. It therefore makes no claims to
@@ -6,6 +5,28 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2021-09-01 David Carlisle <David.Carlisle@latex-project.org>
+
+ * longtable.dtx: add \@nobreakfalse for github/173 and \if@noskipsec for gh/131
+
+2021-07-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * array.dtx (section{The Environment Definitions}):
+ Cancel any outside \mathsurround on the outside of tabular which is
+ internally execuded in math mode (gh/614)
+
+2021-07-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * varioref.dtx (subsubsection{Supporting ranges}):
+ Use 3 additional (empty) arguments as default in case
+ nameref is active (sx/603948)
+
+2021-07-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * multicol.dtx (subsection{The output routines}]):
+ Removed spurious but harmless empty line (\par) in
+ code.
+
================================================================================
All changes above are only part of the development branch for the next release.
================================================================================
diff --git a/macros/latex-dev/required/tools/dcolumn.pdf b/macros/latex-dev/required/tools/dcolumn.pdf
index 8384bed482..c6e3921f1e 100644
--- a/macros/latex-dev/required/tools/dcolumn.pdf
+++ b/macros/latex-dev/required/tools/dcolumn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/delarray.pdf b/macros/latex-dev/required/tools/delarray.pdf
index 81c884c7ff..e5ad5342da 100644
--- a/macros/latex-dev/required/tools/delarray.pdf
+++ b/macros/latex-dev/required/tools/delarray.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/enumerate.pdf b/macros/latex-dev/required/tools/enumerate.pdf
index 4e13322604..1cf36525a6 100644
--- a/macros/latex-dev/required/tools/enumerate.pdf
+++ b/macros/latex-dev/required/tools/enumerate.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fileerr.pdf b/macros/latex-dev/required/tools/fileerr.pdf
index 95ef092d45..9c6316e99a 100644
--- a/macros/latex-dev/required/tools/fileerr.pdf
+++ b/macros/latex-dev/required/tools/fileerr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fontsmpl.pdf b/macros/latex-dev/required/tools/fontsmpl.pdf
index 2e852de100..123c70457c 100644
--- a/macros/latex-dev/required/tools/fontsmpl.pdf
+++ b/macros/latex-dev/required/tools/fontsmpl.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/ftnright.pdf b/macros/latex-dev/required/tools/ftnright.pdf
index 55a28a91a3..78e4d069f7 100644
--- a/macros/latex-dev/required/tools/ftnright.pdf
+++ b/macros/latex-dev/required/tools/ftnright.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/hhline.pdf b/macros/latex-dev/required/tools/hhline.pdf
index fc6171e454..36a4dd7104 100644
--- a/macros/latex-dev/required/tools/hhline.pdf
+++ b/macros/latex-dev/required/tools/hhline.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/indentfirst.pdf b/macros/latex-dev/required/tools/indentfirst.pdf
index 5d10ea37a8..709cf3fef5 100644
--- a/macros/latex-dev/required/tools/indentfirst.pdf
+++ b/macros/latex-dev/required/tools/indentfirst.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/layout.pdf b/macros/latex-dev/required/tools/layout.pdf
index 7d34729a49..5b447f8f6d 100644
--- a/macros/latex-dev/required/tools/layout.pdf
+++ b/macros/latex-dev/required/tools/layout.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/longtable.dtx b/macros/latex-dev/required/tools/longtable.dtx
index 457891dac7..b66aef075e 100644
--- a/macros/latex-dev/required/tools/longtable.dtx
+++ b/macros/latex-dev/required/tools/longtable.dtx
@@ -37,7 +37,7 @@
%<driver> \ProvidesFile{longtable.drv}
% \fi
% \ProvidesFile{longtable.dtx}
- [2021-05-07 v4.16 Multi-page Table package (DPC)]
+ [2021-09-01 v4.17 Multi-page Table package (DPC)]
%
% \iffalse
%<*driver>
@@ -973,6 +973,9 @@
% \begin{macro}{\c@table}
% \begin{macro}{\fnum@table}
% \begin{macro}{\tablename}
+% \begin{macro}{\ext@table}
+% \changes{v4.17}{2021/09/01}
+% {ensure \cs{ext@table} is defined gh/637}
% If the "table" counter is not defined (eg in "letter" style), define
% it. (Added in V3.06.)
% \begin{macrocode}
@@ -983,10 +986,14 @@
\ifx\tablename\undefined
\def\tablename{Table}
\fi
+\ifx\ext@table\undefined
+ \def\ext@table{lot}
+\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\LT@out}
% In a normal style, "longtable" uses the ".aux" file to record the
@@ -1023,11 +1030,15 @@
% \subsection{The \env{longtable} environment}
%
% \begin{macro}{\longtable}
+% \changes{v4.17}{2021/09/01}
+% {\cs{@nobreakfalse} gh/173 \cs{ifnoskipsec} test for gh/131}
% Called by "\begin{longtable}". This implementation does not work in
% multiple column formats. "\par" added at V3.04.
% \begin{macrocode}
\def\longtable{%
\par
+ \if@noskipsec\mbox{}\par\fi
+ \@nobreakfalse
\ifx\multicols\@undefined
\else
\ifnum\col@number>\@ne
diff --git a/macros/latex-dev/required/tools/longtable.pdf b/macros/latex-dev/required/tools/longtable.pdf
index 80927e9f7b..05c3f41a99 100644
--- a/macros/latex-dev/required/tools/longtable.pdf
+++ b/macros/latex-dev/required/tools/longtable.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/multicol.dtx b/macros/latex-dev/required/tools/multicol.dtx
index 1d16a01c15..25d4bc68db 100644
--- a/macros/latex-dev/required/tools/multicol.dtx
+++ b/macros/latex-dev/required/tools/multicol.dtx
@@ -98,7 +98,7 @@
%<driver> \ProvidesFile{multicol.drv}
% \fi
% \ProvidesFile{multicol.dtx}
- [2019/12/09 v1.8y multicolumn formatting (FMi)]
+ [2021/07/06 v1.8z multicolumn formatting (FMi)]
%
%
%%
@@ -2281,7 +2281,7 @@
% |\@kludgeins| box will be the negation of the size by which the
% page should be enlarged. If the star form of this command has
% been used then we also need to shrink the resulting column.
-
+%
% That local change will be reverted at the end of the output
% routine So for the next page the original state will be
% reestablished. However, in theory there is a possibility to sneak
diff --git a/macros/latex-dev/required/tools/multicol.pdf b/macros/latex-dev/required/tools/multicol.pdf
index 82adeb962e..e76bfdc8cc 100644
--- a/macros/latex-dev/required/tools/multicol.pdf
+++ b/macros/latex-dev/required/tools/multicol.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/rawfonts.pdf b/macros/latex-dev/required/tools/rawfonts.pdf
index 223b57484d..e6163af063 100644
--- a/macros/latex-dev/required/tools/rawfonts.pdf
+++ b/macros/latex-dev/required/tools/rawfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/shellesc.pdf b/macros/latex-dev/required/tools/shellesc.pdf
index 87a3c463e5..2897cfc51a 100644
--- a/macros/latex-dev/required/tools/shellesc.pdf
+++ b/macros/latex-dev/required/tools/shellesc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/showkeys.pdf b/macros/latex-dev/required/tools/showkeys.pdf
index 7d9da9be0c..239bf98ed9 100644
--- a/macros/latex-dev/required/tools/showkeys.pdf
+++ b/macros/latex-dev/required/tools/showkeys.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/somedefs.pdf b/macros/latex-dev/required/tools/somedefs.pdf
index 0bf8da7a7a..35da07a943 100644
--- a/macros/latex-dev/required/tools/somedefs.pdf
+++ b/macros/latex-dev/required/tools/somedefs.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tabularx.pdf b/macros/latex-dev/required/tools/tabularx.pdf
index 101fd32634..ac4f8d0765 100644
--- a/macros/latex-dev/required/tools/tabularx.pdf
+++ b/macros/latex-dev/required/tools/tabularx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/theorem.pdf b/macros/latex-dev/required/tools/theorem.pdf
index 5ac9039239..7464f0e78e 100644
--- a/macros/latex-dev/required/tools/theorem.pdf
+++ b/macros/latex-dev/required/tools/theorem.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tools-overview.pdf b/macros/latex-dev/required/tools/tools-overview.pdf
index 9c9f973bcd..8292ac5e8d 100644
--- a/macros/latex-dev/required/tools/tools-overview.pdf
+++ b/macros/latex-dev/required/tools/tools-overview.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/trace.pdf b/macros/latex-dev/required/tools/trace.pdf
index 9c6c99faf9..ce8a6d778f 100644
--- a/macros/latex-dev/required/tools/trace.pdf
+++ b/macros/latex-dev/required/tools/trace.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/varioref.dtx b/macros/latex-dev/required/tools/varioref.dtx
index eac06580e7..faf8b0383c 100644
--- a/macros/latex-dev/required/tools/varioref.dtx
+++ b/macros/latex-dev/required/tools/varioref.dtx
@@ -40,7 +40,7 @@
%<package>\DeclareCurrentRelease{}{2019-10-01}
%<package>
%<package>\ProvidesPackage{varioref}
-%<package> [2020/08/11 v1.6e package for extended references (FMi)]
+%<package> [2021/07/07 v1.6f package for extended references (FMi)]
% \fi
%
%%
@@ -2413,9 +2413,11 @@
% and the page, thus defining the label this way. This means that
% no label warning is generated for this label in case it is
% undefined.
+% \changes{v1.6f}{2021/07/07}{Use 3 additional (empty) arguments as
+% default in case nameref is active}
% \begin{macrocode}
\def\vref@pagenum#1#2{%
- \@ifundefined{r@#2}{\@namedef{r@#2}{{??}{??}}}{}%
+ \@ifundefined{r@#2}{\@namedef{r@#2}{{??}{??}{}{}{}}}{}%
% \end{macrocode}
% Extracting and saving the page number turned out to be a source of subtle
% bugs. Initially it was done through an |\edef| with a bunch of
diff --git a/macros/latex-dev/required/tools/varioref.pdf b/macros/latex-dev/required/tools/varioref.pdf
index 5b72c6e823..3504106b14 100644
--- a/macros/latex-dev/required/tools/varioref.pdf
+++ b/macros/latex-dev/required/tools/varioref.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/verbatim.pdf b/macros/latex-dev/required/tools/verbatim.pdf
index 768d0fa36b..11e237e5e3 100644
--- a/macros/latex-dev/required/tools/verbatim.pdf
+++ b/macros/latex-dev/required/tools/verbatim.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xr.pdf b/macros/latex-dev/required/tools/xr.pdf
index 2e53781fce..8b1eeee496 100644
--- a/macros/latex-dev/required/tools/xr.pdf
+++ b/macros/latex-dev/required/tools/xr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xspace.pdf b/macros/latex-dev/required/tools/xspace.pdf
index cb250640f3..db9fa6bb44 100644
--- a/macros/latex-dev/required/tools/xspace.pdf
+++ b/macros/latex-dev/required/tools/xspace.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/LICENSE b/macros/latex/contrib/elteikthesis/LICENSE
index 569279193f..d760da3dee 100644
--- a/macros/latex/contrib/elteikthesis/LICENSE
+++ b/macros/latex/contrib/elteikthesis/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2013-2020 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
+Copyright (c) 2013-2021 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/latex/contrib/elteikthesis/README.md b/macros/latex/contrib/elteikthesis/README.md
index fc0e06a1c4..4b8add09a0 100644
--- a/macros/latex/contrib/elteikthesis/README.md
+++ b/macros/latex/contrib/elteikthesis/README.md
@@ -27,12 +27,17 @@ pdflatex elteikthesis.tex
Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https://www.texstudio.org/)), given the same commands should be executed.
+## Syntax highlighting of code blocks
+
+The minted package is also supported for syntax highlighting. For its usage the Python interpreter and the `Pygments` package must be installed as a prerequisite.
+See the `elteikthesis-minted.tex` file for example.
+
## Required packages (without completeness)
**Image handling:**
* Minimal and maximal size: [adjustbox](https://ctan.org/pkg/adjustbox)
-* Subfigures: [subfigure](https://ctan.org/pkg/subfigure)
+* Subfigures: [subcaption](https://ctan.org/pkg/subcaption)
* Rotation: [rotating](https://ctan.org/pkg/rotating)
**Table management:**
@@ -51,8 +56,8 @@ Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https
* Mathematical formulas: [amsmath](https://ctan.org/pkg/amsmath)
* Mathematical definitions: [amsthm](https://ctan.org/pkg/amsthm)
* Mathematical symbols: [amsfonts](https://ctan.org/pkg/amsfonts)
-* Algorithms: [algorithmic](https://ctan.org/pkg/algorithms)
-* Code blocks: [listingsutf8](https://ctan.org/pkg/listingsutf8)
+* Algorithms: [algpseudocode](https://www.ctan.org/pkg/algorithmicx)
+* Code blocks: [listingsutf8](https://ctan.org/pkg/listingsutf8), [minted](https://ctan.org/pkg/minted)
**Miscellaneous:**
diff --git a/macros/latex/contrib/elteikthesis/README.pdf b/macros/latex/contrib/elteikthesis/README.pdf
index 4392582e6e..0cfeb82960 100644
--- a/macros/latex/contrib/elteikthesis/README.pdf
+++ b/macros/latex/contrib/elteikthesis/README.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/README_hu.md b/macros/latex/contrib/elteikthesis/README_hu.md
index 3e39384717..0f9550a339 100644
--- a/macros/latex/contrib/elteikthesis/README_hu.md
+++ b/macros/latex/contrib/elteikthesis/README_hu.md
@@ -27,12 +27,17 @@ pdflatex elteikthesis.tex
A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStudio](https://www.texstudio.org/)), ugyanezen utasítások kiadásával.
+## Kódblokkok szintaxis kiemelése
+
+A *minted* csomag támogatott a forráskódok szedésére és szintaxis kiemelésére. Használatához szükséges a Python interpreter és a `Pygments` csomag telepítése.
+Lásd a `elteikthesis-minted.tex` fájlt példaként.
+
## Fontosabb függőségi csomagok
**Képkezelés:**
* Minimális és maximális méret: [adjustbox](https://ctan.org/pkg/adjustbox)
-* Alábrák: [subfigure](https://ctan.org/pkg/subfigure)
+* Alábrák: [subcaption](https://ctan.org/pkg/subcaption)
* Forgatás: [rotating](https://ctan.org/pkg/rotating)
**Táblázatkezelés:**
@@ -51,8 +56,8 @@ A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStu
* Matematikai formulák: [amsmath](https://ctan.org/pkg/amsmath)
* Matematikai definíciók: [amsthm](https://ctan.org/pkg/amsthm)
* Matematikai szimbólumok: [amsfonts](https://ctan.org/pkg/amsfonts)
-* Algoritmusok: [algorithmic](https://ctan.org/pkg/algorithms)
-* Kódblokkok: [listingsutf8](https://ctan.org/pkg/listingsutf8)
+* Algoritmusok: [algpseudocode](https://www.ctan.org/pkg/algorithmicx)
+* Kódblokkok: [listingsutf8](https://ctan.org/pkg/listingsutf8), [minted](https://ctan.org/pkg/minted)
**Egyebek:**
diff --git a/macros/latex/contrib/elteikthesis/README_hu.pdf b/macros/latex/contrib/elteikthesis/README_hu.pdf
index d1f7c5f38e..dc5029c0b5 100644
--- a/macros/latex/contrib/elteikthesis/README_hu.pdf
+++ b/macros/latex/contrib/elteikthesis/README_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/chapters/impl.tex b/macros/latex/contrib/elteikthesis/chapters/impl.tex
index aad6f326f3..7f9e0a81fc 100644
--- a/macros/latex/contrib/elteikthesis/chapters/impl.tex
+++ b/macros/latex/contrib/elteikthesis/chapters/impl.tex
@@ -95,21 +95,21 @@ Példa forrása: \href{https://www.inf.u-szeged.hu/actacybernetica/}{Acta Cybern
\label{alg:ibb}
\textbf{\underline{Funct}} IBB($S,f$)
\begin{algorithmic}[1] % sorszámok megjelenítése minden n. sor előtt, most n = 1
-\STATE Set the working list ${\cal L}_W$ := $\{S\}$ and the final list ${\cal L}_Q$ := $\{\}$
-\WHILE{( ${\cal L}_W \neq \emptyset$ )} \label{alg:igoend}
- \STATE Select an interval $X$ from ${\cal L}_W$ \label{step:selrule}\COMMENT{Selection rule}
- \STATE Compute $lbf(X)$ \COMMENT{Bounding rule}
- \IF[Elimination rule]{$X$ cannot be eliminated}
- \STATE Divide $X$ into $X^j,\ j=1,\dots, p$, subintervals \COMMENT{Division rule}
- \FOR{$j=1,\ldots,p$}
- \IF[Termination rule]{$X^j$ satisfies the termination criterion}
- \STATE Store $X^j$ in ${\cal L}_W$
- \ELSE
- \STATE Store $X^j$ in ${\cal L}_W$
- \ENDIF
- \ENDFOR
- \ENDIF
-\ENDWHILE
-\STATE \textbf{return} ${\cal L}_Q$
+\State Set the working list ${\cal L}_W$ := $\{S\}$ and the final list ${\cal L}_Q$ := $\{\}$
+\While{( ${\cal L}_W \neq \emptyset$ )} \label{alg:igoend}
+ \State Select an interval $X$ from ${\cal L}_W$ \label{step:selrule}\Comment{Selection rule}
+ \State Compute $lbf(X)$ \Comment{Bounding rule}
+ \If{$X$ cannot be eliminated} \Comment{Elimination rule}
+ \State Divide $X$ into $X^j,\ j=1,\dots, p$, subintervals \Comment{Division rule}
+ \For{$j=1,\ldots,p$}
+ \If{$X^j$ satisfies the termination criterion} \Comment{Termination rule}
+ \State Store $X^j$ in ${\cal L}_W$
+ \Else
+ \State Store $X^j$ in ${\cal L}_W$
+ \EndIf
+ \EndFor
+ \EndIf
+\EndWhile
+\State \textbf{return} ${\cal L}_Q$
\end{algorithmic}
\end{algorithm}
diff --git a/macros/latex/contrib/elteikthesis/chapters/user.tex b/macros/latex/contrib/elteikthesis/chapters/user.tex
index 47e302f99e..f0318a5c2f 100644
--- a/macros/latex/contrib/elteikthesis/chapters/user.tex
+++ b/macros/latex/contrib/elteikthesis/chapters/user.tex
@@ -85,10 +85,10 @@ In non ipsum fermentum urna feugiat rutrum a at odio. Pellentesque habitant morb
\begin{figure}[H]
\centering
- \subfigure[Vestibulum quis mattis urna]{
+ \subcaptionbox{Vestibulum quis mattis urna}{
\includegraphics[width=0.45\linewidth]{elte_cimer_szines}}
\hspace{5pt}
- \subfigure[Donec hendrerit quis dui sit amet venenatis]{
+ \subcaptionbox{Donec hendrerit quis dui sit amet venenatis}{
\includegraphics[width=0.45\linewidth]{elte_cimer_szines}}
\caption{Aenean porttitor mi volutpat massa gravida}
\label{fig:example-2}
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis-minted.pdf b/macros/latex/contrib/elteikthesis/elteikthesis-minted.pdf
new file mode 100644
index 0000000000..409b970455
--- /dev/null
+++ b/macros/latex/contrib/elteikthesis/elteikthesis-minted.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis-minted.tex b/macros/latex/contrib/elteikthesis/elteikthesis-minted.tex
new file mode 100644
index 0000000000..c45a1afa5c
--- /dev/null
+++ b/macros/latex/contrib/elteikthesis/elteikthesis-minted.tex
@@ -0,0 +1,33 @@
+\documentclass{elteikthesis}[2021/09/20]
+
+\usepackage[newfloat]{minted}
+
+\begin{document}
+\documentlang{magyar}
+
+\chapter{Minted forráskód}
+\label{ch:chapter}
+
+\begin{listing}[H]
+\begin{minted}{cpp}
+#include <stdio>
+
+int main()
+{
+ int c;
+ std::cout << "Hello World!" << std::endl;
+
+ std::cout << "Press any key to exit." << std::endl;
+ std::cin >> c;
+
+ return 0;
+}
+\end{minted}
+\caption{Hello World in C++}
+\end{listing}
+
+\phantomsection
+\addcontentsline{toc}{chapter}{\lstcodelabel}
+\listoflistings
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis.cls b/macros/latex/contrib/elteikthesis/elteikthesis.cls
index 347404ee8f..bdb616649f 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis.cls
+++ b/macros/latex/contrib/elteikthesis/elteikthesis.cls
@@ -1,7 +1,7 @@
%% MIT License
%%
-%% Version 2.1, 2020/05/15
-%% Copyright (c) 2013-2020 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
+%% Version 2.2, 2021/09/20
+%% Copyright (c) 2013-2021 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the "Software"), to deal
@@ -29,7 +29,7 @@
%% to the original package.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{elteikthesis}[2020/05/15 ELTE FI bachelor and master thesis template]
+\ProvidesClass{elteikthesis}[2021/09/20 ELTE FI bachelor and master thesis template]
% LaTeX programozói eszközök
\RequirePackage{etoolbox}
@@ -60,8 +60,13 @@
% ------------------------------
% Karakterkódolás, nyelv
-\RequirePackage[utf8]{inputenc}
-\RequirePackage[T1]{fontenc}
+\RequirePackage{iftex} % XeTex or LuaTex
+\iftutex
+ \RequirePackage{fontspec}
+\else % other (PdfTex)
+ \RequirePackage[utf8]{inputenc}
+ \RequirePackage[T1]{fontenc}
+\fi
\RequirePackage[english,magyar]{babel}
\RequirePackage{indentfirst}
% ------------------------------
@@ -109,6 +114,7 @@
\newcommand{\alglabel}{Algoritmus}
\newcommand{\biblabel}{Irodalomjegyzék}
+ \newcommand{\lstalgorithmlabel}{Algoritmusjegyzék}
\newcommand{\lstfigurelabel}{Ábrajegyzék}
\newcommand{\lsttablelabel}{Táblázatjegyzék}
\newcommand{\lstcodelabel}{Forráskódjegyzék}
@@ -132,6 +138,7 @@
\newcommand{\alglabel}{Algorithm}
\newcommand{\biblabel}{Bibliography}
+ \newcommand{\lstalgorithmlabel}{List of Algorithms}
\newcommand{\lstfigurelabel}{List of Figures}
\newcommand{\lsttablelabel}{List of Tables}
\newcommand{\lstcodelabel}{List of Codes}
@@ -144,6 +151,13 @@
% ------------------------------
% ------------------------------
+% Margók
+\RequirePackage[left=35mm, right=25mm, top=25mm, bottom=25mm, headheight=16pt]{geometry}
+%\setlength{\textwidth}{150mm}
+%\setlength{\textheight}{247mm}
+% ------------------------------
+
+% ------------------------------
% Fejlécek és láblécek
\RequirePackage{fancyhdr}
\pagestyle{fancy}
@@ -201,7 +215,7 @@
% Maximális ill. minimális méret megadása ábráknak
\RequirePackage[export]{adjustbox}
% Több ábra egy figure-on belül
-\RequirePackage[center]{subfigure}
+\RequirePackage{subcaption}
% Ábrák forgatása
\RequirePackage{rotating}
@@ -222,13 +236,6 @@
% ------------------------------
% ------------------------------
-% Margók
-\RequirePackage[left=35mm, right=25mm, top=25mm, bottom=25mm]{geometry}
-%\setlength{\textwidth}{150mm}
-%\setlength{\textheight}{247mm}
-% ------------------------------
-
-% ------------------------------
% Térköz bekezdések közé
\iftoggle{parspace}{
\RequirePackage{parskip}
@@ -254,7 +261,6 @@
% ------------------------------
% Helyközök és tördelés
-\linespread{1.5}
% Egyszeres helyköz a mondatok végén
\frenchspacing
% Szavak jobb margón túlnyúlásának tiltása
@@ -263,10 +269,15 @@
\nottoggle{hypenation}{\RequirePackage[none]{hyphenat}}{}
% Beállítás alternatív módon
-%\RequirePackage{setspace}
-%\singlespacing % ~1.0 linespread
-%\onehalfspacing % ~1.3 linespread
-%\doublespacing % ~1.6 linespread
+\RequirePackage{setspace}
+% According to
+% https://tex.stackexchange.com/questions/442030/setting-spaces-with-titlespacing-and-fonts
+% this matches the 1.5 linespacing in MS Word
+\setstretch{1.427465}
+
+% Vektorok és mátrixok egyszeres sorközzel
+% https://tex.stackexchange.com/questions/568084/problem-with-matrices-using-linespread
+\everydisplay=\expandafter{\the\everydisplay\linespread{1}\selectfont}
% Azonos sorköz használata láblácben
%\RequirePackage{footmisc}
@@ -293,8 +304,13 @@
% ------------------------------
% Tételek, definíciók
+\theoremstyle{definition}
\newtheorem{definition}{\deflabel}
+
+\theoremstyle{plain}
\newtheorem{theorem}{\theolabel}
+
+\theoremstyle{remark}
\newtheorem*{remark}{\remlabel}
\newtheorem*{note}{\notelabel}
% ------------------------------
@@ -322,7 +338,7 @@
% pdflatex-hez
\newcommand{\hyperrefComp}{}
-\RequirePackage[pdfborder={0 0 0}, unicode, \hyperrefComp]{hyperref}
+\RequirePackage[pdfborder={0 0 0}, unicode, pdfusetitle, \hyperrefComp]{hyperref}
\RequirePackage[all]{hypcap}
\RequirePackage{url}
\RequirePackage{bookmark}
@@ -351,6 +367,9 @@
% ------------------------------
% Számozott elemek kezelése
\RequirePackage{chngcntr}
+% Lábjegyzet folytonos számozása fejezetek között
+% Continuous counting of footnotes among chapters
+\counterwithout{footnote}{chapter}
% Lábjegyzet oldalak közti eltörésének tiltása
\interfootnotelinepenalty=10000
% ------------------------------
@@ -381,7 +400,7 @@
% ------------------------------
% Feliratok, tartalomjegyzék, ábrajegyzék, táblázatjegyzék
\RequirePackage[justification=centering]{caption}
-\RequirePackage[subfigure]{tocloft}
+\RequirePackage{tocloft}
% ------------------------------
@@ -409,7 +428,7 @@
% ------------------------------
% Algoritmusok és kódblokkok írása
\RequirePackage{algorithm}
-\RequirePackage{algorithmic}
+\RequirePackage{algpseudocode}
\RequirePackage{listingsutf8}
\lstset{
basicstyle=\footnotesize\ttfamily,
@@ -429,17 +448,16 @@
breaklines=true,
breakatwhitespace=false,
float,
- frame=linesc,
+ frame=lines,
captionpos=b
}
% Forráskód elnevezése
\renewcommand{\lstlistingname}{\codelabel}
% Forráskódjegyzék elnevezése
\renewcommand{\lstlistlistingname}{\lstcodelabel}
-% Algoritmus kommentek jobb szélre igazítása
-\renewcommand{\algorithmiccomment}[1]{\hfill {\it #1}}
% Algoritmus elnevezése
-\renewcommand{\ALG@name}{\alglabel}
+\floatname{algorithm}{\alglabel}
+\renewcommand{\listalgorithmname}{\lstalgorithmlabel}
% ------------------------------
% ------------------------------
@@ -534,3 +552,40 @@
\setcounter{page}{1}
}
% ------------------------------
+
+\AtBeginDocument{
+ % If the minted package is loaded, then provide a default for the formatting,
+ % and set the labels for the listings
+ \@ifpackageloaded{minted}{
+ \setminted{
+ style=tango,
+ numbers=left,
+ stepnumber=1,
+ firstnumber=1,
+ numbersep=5pt,
+ showspaces=false,
+ showtabs=false,
+ tabsize=2,
+ breaklines=true,
+ frame=lines,
+ bgcolor=codebackg,
+ }
+ \SetupFloatingEnvironment{listing}{
+ name=\codelabel, % Forráskód elnevezése
+ listname=\lstcodelabel, % Forráskódjegyzék elnevezése
+ }
+ }
+
+ % Az oldalszámozás a tartalomjegyzékkel kezdődik, de ott nem látható
+ \let\oldtableofcontents\tableofcontents
+ \renewcommand{\tableofcontents}{
+ \pagenumbering{gobble}
+ \oldtableofcontents
+ \cleardoublepage
+ % Oldalszám mentése és betöltésem mert a \pagenumbering visszállítja
+ \newcounter{conpageno}
+ \defcounter{conpageno}{\value{page}}
+ \pagenumbering{arabic}
+ \setcounter{page}{\value{conpageno}}
+ }
+}
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis.pdf b/macros/latex/contrib/elteikthesis/elteikthesis.pdf
index 58ec02b7cf..a637d85d32 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis.pdf
+++ b/macros/latex/contrib/elteikthesis/elteikthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis.tex b/macros/latex/contrib/elteikthesis/elteikthesis.tex
index 162ce58e7c..c72a65a4e1 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis.tex
+++ b/macros/latex/contrib/elteikthesis/elteikthesis.tex
@@ -3,13 +3,18 @@
%noindent, % Bekezdésének első sora ne legyen behúzva / No indentation of first lines in each paragraph
%nohyp, % Szavak sorvégi elválasztásának tiltása / No hyphenation of words
%twoside, % Kétoldalas nyomtatás / Double sided format
+ %draft, % Gyorsabb fordítás ábrák rajzolása nélkül / Quicker draft compilation without rendering images
%final, % Teendők elrejtése / Set final to hide todos
-]{elteikthesis}[2020/05/15]
+]{elteikthesis}[2021/09/20]
+
+% A minted csomag támogatott a forráskódok szedésére
+% The minted package is also supported for source highlighting
+%\usepackage[newfloat]{minted}
% Dolgozat metaadatai
% Document's metadata
\title{Dolgozat címe} % cím / title
-\date{2020} % védés éve / year of defense
+\date{2021} % védés éve / year of defense
% Szerző metaadatai
% Author's metadata
@@ -46,11 +51,7 @@
% Teendők listája (final dokumentumban nincs)
% List of todos (not in the final document)
-\listoftodos[\todolabel]
-
-% Dokumentum beállítások
-% Some document settings
-\input{settings.tex}
+%\listoftodos[\todolabel]
% Címlap (kötelező)
% Title page (mandatory)
@@ -84,24 +85,35 @@
% Irodalomjegyzék (kötelező)
% Bibliography (mandatory)
+\phantomsection
\addcontentsline{toc}{chapter}{\biblabel}
\printbibliography[title=\biblabel]
\cleardoublepage
% Ábrajegyzék (opcionális) - 3-5 ábra fölött érdemes
% List of figures (optional) - useful over 3-5 figures
+\phantomsection
\addcontentsline{toc}{chapter}{\lstfigurelabel}
\listoffigures
\cleardoublepage
% Táblázatjegyzék (opcionális) - 3-5 táblázat fölött érdemes
% List of tables (optional) - useful over 3-5 tables
+\phantomsection
\addcontentsline{toc}{chapter}{\lsttablelabel}
\listoftables
\cleardoublepage
+% Algorithmusjegyzék
+% List of algorithms
+\phantomsection
+\addcontentsline{toc}{chapter}{\lstalgorithmlabel}
+\listofalgorithms
+\cleardoublepage
+
% Forráskódjegyzék (opcionális) - 3-5 kódpélda fölött érdemes
% List of codes (optional) - useful over 3-5 code samples
+\phantomsection
\addcontentsline{toc}{chapter}{\lstcodelabel}
\lstlistoflistings
\cleardoublepage
diff --git a/macros/latex/contrib/elteikthesis/settings.tex b/macros/latex/contrib/elteikthesis/settings.tex
deleted file mode 100644
index d2040f9d24..0000000000
--- a/macros/latex/contrib/elteikthesis/settings.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-% Lábjegyzet folytonos számozása fejezetek között
-% Continuous counting of footnotes among chapters
-\counterwithout{footnote}{chapter}
-
-% Tartalomjegyzék oldalszámozásának rejtése
-% Hide page numbering of ToC
-\newcounter{conpageno}
-\let\oldtableofcontents\tableofcontents
-\renewcommand{\tableofcontents}{
- \pagenumbering{gobble}
- \oldtableofcontents
- \cleardoublepage
- \setcounter{conpageno}{\value{page}}
- \pagenumbering{arabic}
- \setcounter{page}{\value{conpageno}}
-}
diff --git a/macros/latex/contrib/genealogytree/CHANGES.md b/macros/latex/contrib/genealogytree/CHANGES.md
new file mode 100644
index 0000000000..cdf54934e1
--- /dev/null
+++ b/macros/latex/contrib/genealogytree/CHANGES.md
@@ -0,0 +1,398 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on
+[Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to
+[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+### Added
+### Changed
+### Deprecated
+### Removed
+### Fixed
+### Security
+
+
+
+## [2.1.0] - 2021-09-20
+
+### Added
+- Portuguese translation provided by Natan de Almeida Laverde
+- Value `portuguese` for option `language`
+
+### Changed
+- Readme moved and adapted from README to README.md
+- Changelog moved from documentation `genealogytree.pdf` to CHANGES.md and adapted to
+ [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
+- From now on version numbers adhere to
+ [Semantic Versioning](http://semver.org/spec/v2.0.0.html)
+
+### Fixed
+- `options for subtree` had no effect in v2.01 (issue #39)
+
+
+
+## [2.01] - 2020-07-28
+
+### Added
+- New *LaTeXÜ macros added corresponding to existing macros:
+ - `\getree_set_options_for_subtree:nn`
+ - `\getree_set_options_for_family:nn`
+ - `\getree_set_options_for_node:nn`
+- Some hints for events with unknown dates added
+ to the documentation (issue #36)
+
+### Changed
+- Implementation changed to avoid problems with spurious blanks
+ and resulting errors for
+ - Option `tcb/if image defined`
+ - Option `date range before`
+ - Option `date range after`
+ - Option `place text`
+ - Option `options for subtree`
+ - Option `options for family`
+ - Option `options for node`
+ - Option `ignore subtree`
+ - Option `ignore node`
+ - `\gtrsetoptionsforsubtree`
+ - `\gtrsetoptionsforfamily`
+ - `\gtrsetoptionsfornode`
+ - `\gtrignoresubtree`
+ - `\gtrignorenode`
+ - `\gtrloadlanguage`
+ - `\gtrSymbolsSetCreateSelected`
+
+
+
+## [2.00] - 2020-06-19
+
+### Added
+- New options for influencing the autolayout algorithm to avoid
+ overlapping edges for childless families (issue #34):
+ - Option `insert for childless families`
+ - Option `insert phantom for childless families`
+ - Option `insert for childless families level limit`
+- New algorithm for automatic ancestor completion. This autofill is
+ controlled by the new options
+ - Option `autofill parents unspecific`
+ - Option `autofill parents unspecific*`
+ - Option `autofill parents male female`
+ - Option `autofill parents male female*`
+ - Option `autofill parents female male`
+ - Option `autofill parents female male*`
+ - Option `autofill parents none`
+ - Option `complemented`
+ - Option `complemented phantom`
+- New option `ignore parent childs` to remove all
+ siblings in an ancestor tree.
+- New data base keys for holding relation information:
+ - Option `database/relation`
+ - Option `database/ancestor`
+ - Option `database/descendant`
+ - Option `database/sibling`
+ - Option `database/unrelated`
+- New data base key for holding age information and accompanying
+ options and macros:
+ - Option `database/age`
+ - Option `age code`
+ - `\gtrPrintAge`
+ - `\gtrifagedefined`
+ - `\gtrDBage`
+- Conversion with MuPDF added and externalization rewritten for MuPDF.
+- New auxiliary tools for graph (picture) sizing
+ - `\gtrautosizebox`
+ - `\gtrautosizebox*`
+ - Environment `autosizetikzpicture`
+ - Environment `autosizetikzpicture*`
+- Graph example file `example.neumann.graph`
+- New library `fanchart` to draw fan chart diagrams
+ with a plethora of macros and options (issue #31):
+ - `\gtrfanchart`
+ - `\gtrfanchartinput`
+ - Option `fanchart radii`
+ - Option `fanchart inner offset`
+ - Option `fanchart outer offset`
+ - Option `fanchart minor angle`
+ - Option `fanchart major angle`
+ - Option `fanchart angles`
+ - Option `fanchart open full`
+ - Option `fanchart open up`
+ - Option `fanchart open down`
+ - Option `fanchart open left`
+ - Option `fanchart open right`
+ - Option `fanchart open for`
+ - Option `fanchart reset bounds`
+ - Option `fanchart bounds border`
+ - Option `fanchart landscape from level`
+ - Option `fanchart text portrait`
+ - Option `fanchart text landscape`
+ - Option `fanchart boundary color`
+ - Option `fanchart boundary width`
+ - Option `fanchart root style`
+ - Option `fanchart root malefemale`
+ - Option `fanchart segment style`
+ - Option `fanchart segment malefemale`
+ - Option `fanchart segment relation`
+ - Option `fanchart segment wave`
+ - Option `fanchart segment colorwheel`
+ - Option `fanchart segment radial`
+ - Option `fanchart marker style`
+ - Option `fanchart marker malefemale`
+ - Option `fanchart marker relation`
+ - Option `fanchart marker wave`
+ - Option `fanchart marker colorwheel`
+ - Option `fanchart marker radial`
+ - Option `tikz/gtr set color wave`
+ - Option `tikz/gtr set color colorwheel`
+ - Option `tikz/gtr set color series`
+ - Option `fanchart complemented segment style`
+ - Option `fanchart complemented marker style`
+ - Option `fanchart segment style for levels`
+ - Option `fanchart marker style for levels`
+ - Option `fanchart segment style for ids`
+ - Option `fanchart marker style for ids`
+ - Option `fanchart male style`
+ - Option `fanchart female style`
+ - Option `fanchart neuter style`
+ - Option `fanchart ancestor style`
+ - Option `fanchart descendant style`
+ - Option `fanchart sibling style`
+ - Option `fanchart unrelated style`
+- Option `fanchart template` with
+ - Template `malefemale sober`
+ - Template `malefemale relation`
+ - Template `colorwheel sober`
+ - Template `colorwheel serious`
+ - Template `colorwheel malefemale`
+ - Template `colorwheel rich`
+ - Template `colorwheel opulent`
+ - Template `wave sober`
+ - Template `wave serious`
+ - Template `wave malefemale`
+ - Template `wave rich`
+ - Template `wave opulent`
+ - Template `radial sober`
+ - Template `radial serious`
+ - Template `radial malefemale`
+ - Template `radial rich`
+ - Template `radial opulent`
+- Advanced customization by
+ - `\gtrcomplemented`
+ - Option `fanchart-segment-definition`
+ - Option `fanchart-marker-definition`
+ - Option `fanchart-segment-code`
+ - Option `fanchart-root-code`
+ - `\l_getree_fanchart_minor_angle_tl`
+ - `\l_getree_fanchart_major_angle_tl`
+ - `\l_getree_fanchart_angle_a_tl`
+ - `\l_getree_fanchart_angle_b_tl`
+ - `\l_getree_fanchart_radius_a_tl`
+ - `\l_getree_fanchart_radius_b_tl`
+ - `\l_getree_fanchart_offset_a_tl`
+ - `\l_getree_fanchart_offset_b_tl`
+ - `\l_getree_fanchart_line_width_tl`
+ - `\l_getree_fanchart_level_tl`
+ - `\l_getree_fanchart_ratio_tl`
+ - `\l_getree_fanchart_id_tl`
+ - `\c_getree_fanchart_maximum_rings_tl`
+ - `\getree_fanchart_if_complemented_node_p:`
+ - `\getree_fanchart_if_complemented_node:TF`
+ - `\getree_fanchart_set_segment_style:n`
+ - `\getree_fanchart_set_marker_style:n`
+ - `\getree_fanchart_set_color_wave:n`
+ - `\getree_fanchart_set_color_colorwheel:n`
+ - `\getree_fanchart_draw_path:n`
+ - `\getree_fanchart_draw_path:nnn`
+ - `\getree_fanchart_draw_root_style:n`
+ - `\getree_fanchart_draw_segment_standard:`
+
+### Changed
+- Implementation of `\genealogytree` slightly changed.
+
+### Fixed
+- Template `database sideways` et.al. raised errors when used in combination with
+ `family database` (issue #31).
+
+
+
+## [1.32] - 2019-04-08
+
+### Added
+- Internal database print command documented `\gtrPrintDatabase` (issue #24)
+
+### Changed
+- `tcolorbox` needs to be version 4.20 (2019/03/02) or newer.
+
+### Fixed
+- The templates library used some internal color names of `tcolorbox`.
+ They are adapted now to the new official names (issue #30).
+
+
+
+## [1.31] - 2018-04-17
+
+### Added
+- Option `database/imageopt`
+- Option `database/viewport`
+- `\gtrDBimageopt`
+- `\gtrincludeDBimage`
+- TikZ-Option `fill overzoom DBimage`
+
+### Changed
+- `tcolorbox` needs to be version 4.13 (2018/03/22) or newer.
+
+
+
+## [1.30] - 2017-12-08
+
+### Added
+- Spanish translation `language=spanish` provided by Francisco G. Pérez Sánchez
+- Swedish translation `language=swedish` provided by Per Starbäck
+- New values `date format`: `d/m yyyy`, `yyyy d/m`
+- Warnings for missing language strings added to \url{genealogytree-languages.pdf}
+- Option `edges shift`
+- Option `edges up`
+- Option `edges down`
+- Option `edges up by`
+- Option `edges down by`
+- Option `reset edge level shift`
+- Option `switch edge level shift`
+- Option `nullify edge level shift`
+
+
+
+## [1.21] - 2017-09-15
+
+### Added
+- Italian translation `language=italian` provided by Andrea Vaccari
+- Template `database pole reduced`
+- Template `database poleportrait`
+- Template `database poleportrait reduced`
+- Template `database portrait reduced`
+- Template `database traditional reduced`
+- Template `database sideways reduced`
+- Template `database sidewaysportait`
+- Template `database sidewaysportait reduced`
+
+### Changed
+- `\gtrsymFloruit` symbol rotated by 36 degrees for an enhanced
+ optical differentiation from `\gtrsymBorn`.
+
+
+
+## [1.20] - 2017-07-18
+
+### Added
+- Dutch translation `language=dutch` provided by Dirk Bosmans
+- New event `floruit` with symbol `\gtrsymFloruit` proposed by Mikkel Eide Eriksen
+ Accompanying keys are
+ `database/floruit`, `database/floruit+`, `database/floruit-`, `symlang/Floruit`, `event prefix/floruit`.
+ The standard options for `database format` were extended for floruit.
+ The standard options for `database format` were extended for floruit.
+
+
+
+## [1.10] - 2017-01-29
+
+### Added
+- Danish translation `language=danish` provided by Mikkel Eide Eriksen
+- French translation `language=french` provided by Denis Bitouzé
+- Separate document `genealogytree-languages` added to give a short survey
+ of language settings.
+- New values for `date format`:
+ `typical`, `dd mon.yyyy`, `d mon.yyyy`, `dd/mm yyyy`, `yyyymmdd`
+- Option `database/profession`
+- Option `profession code`
+- Option `info separators`
+- `\gtrDBprofession`
+- `\gtrPrintProfession`
+- `\gtrifprofessiondefined`
+- Environment `gtrinfolist`
+- ``
+
+### Changed
+- Option settings for `database format`
+ updated to process `database/comment` and `database/profession`.
+- Implementation for level sensitive variables changed to
+ support extension packages.
+- Implementation for `\gtruselibrary` changed to support
+ third party extension packages.
+
+
+
+## [1.01] - 2016-07-29
+
+### Added
+- Option `tikz`
+- Option `genealogytree extra edges scope`
+- Tutorial *Multi-Ancestors*
+
+### Changed
+- Family options like `pivot shift` are now applicable
+ for `options for family` and `gtrsetoptionsforfamily`.
+
+
+
+## [1.00] - 2015-09-21
+
+### Added
+- Template `database relationship`
+
+### Changed
+- Library loading made compatible with expl3.
+
+
+
+## [0.91 beta] - 2015-06-22
+
+### Added
+- Option `id prefix`
+- Option `id suffix`
+- Template `database sideways`
+- Tutorial *Externalization*
+- Tutorial *Conversion*
+- Option `date format` complemented with many more formats.
+
+### Changed
+- Settings for `date range full` and `date range separator` changed.
+
+### Fixed
+- `phantom` and `phantom*` switch off more settings of `tcolorbox`.
+
+
+
+## [0.90 beta] - 2015-05-22
+
+### Added
+- First functional beta release.
+- Full genealogy tree customization, tree positioning, input insertion and deletion,
+ edge customization.
+- Database processing.
+- Genealogy symbols.
+- Internationalization.
+- Templates library.
+- Tutorials.
+
+
+
+## [0.10 alpha] - 2015-01-12
+
+### Added
+- Initial public release (alpha version).
+- Grammar and Debugger as preview release.
+
+
+
+## [0.00] - 2013-2014
+
+### Added
+- Pre publication development.
+
+
+
+[v2.1.0] https://github.com/T-F-S/genealogytree/compare/v2.01...2.1.0
+[v2.01] https://github.com/T-F-S/genealogytree/compare/v2.00...v2.01
+
diff --git a/macros/latex/contrib/genealogytree/README b/macros/latex/contrib/genealogytree/README
deleted file mode 100644
index 3b793e1cef..0000000000
--- a/macros/latex/contrib/genealogytree/README
+++ /dev/null
@@ -1,48 +0,0 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
-%%
-%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
-%% -------------------------------------------------------------------------------------------
-%%
-%% 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 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `author-maintained'.
-%%
-%% This work consists of all files listed in README
-%%
-
-Pedigree and genealogical tree diagrams are proven tools to visualize genetic
-and relational connections between individuals. The naming for mathematical tree
-structures with parent nodes and child nodes is traded from historical family
-diagrams. However, even the smallest family entity consisting of two parents and
-several children is no mathematical tree but a more general graph. The
-genealogytree packages provides a set of tools to typeset such genealogical
-trees or, more precisely, to typeset a set of special graphs for the description
-of family-like structures. The package uses an autolayout algorithm which can be
-customized to e.g. prioritize certain paths.
-
-Contents of the package
-=======================
- 'README' this file
- 'genealogytree.sty' LaTeX package file (style file)
- '*.code.tex' LaTeX package file (library of genealogytree)
- 'genealogytree.pdf' Documentation for genealogytree
- 'genealogytree-example-*.pdf' Example pedigree charts
- 'genealogytree-languages.pdf' Short language survey
- 'genealogytree.doc.sources.zip' Source code of the documentation
-
-Installation
-============
-Copy the contents of the 'genealogytree.tds.zip' from CTAN to your local TeX
-file tree.
-
-Alternatively, put the files to their respective locations within the TeX installation:
- 'genealogytree.sty' -> /tex/latex/genealogytree
- '*.code.tex' -> /tex/latex/genealogytree
- all other files -> /doc/latex/genealogytree
diff --git a/macros/latex/contrib/genealogytree/README.md b/macros/latex/contrib/genealogytree/README.md
new file mode 100644
index 0000000000..5d22561834
--- /dev/null
+++ b/macros/latex/contrib/genealogytree/README.md
@@ -0,0 +1,49 @@
+# The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
+
+> Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+
+> 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 2005/12/01 or later.
+
+> This work has the LPPL maintenance status `author-maintained`.
+
+> This work consists of all files listed in README.md
+
+
+Pedigree and genealogical tree diagrams are proven tools to visualize genetic
+and relational connections between individuals. The naming for mathematical tree
+structures with parent nodes and child nodes is traded from historical family
+diagrams. However, even the smallest family entity consisting of two parents and
+several children is no mathematical tree but a more general graph. The
+`genealogytree` packages provides a set of tools to typeset such genealogical
+trees or, more precisely, to typeset a set of special graphs for the description
+of family-like structures. The package uses an autolayout algorithm which can be
+customized to e.g. prioritize certain paths.
+
+
+## Contents of the package
+
+- `README.md` this file
+- `CHANGES.md` log of changes (history)
+- `genealogytree.sty` LaTeX package file (style file)
+- `*.code.tex` LaTeX package file (library of genealogytree)
+- `genealogytree.pdf` Documentation for genealogytree
+- `genealogytree-example-*.pdf` Example pedigree charts
+- `genealogytree-languages.pdf` Short language survey
+- `genealogytree.doc.sources.zip` Source code of the documentation
+
+
+## Installation
+
+Copy the contents of the `genealogytree.tds.zip` from CTAN to your local TeX file tree.
+
+Alternatively, put the files to their respective locations within the TeX installation:
+
+- `genealogytree.sty` -> /tex/latex/genealogytree
+- `*.code.tex` -> /tex/latex/genealogytree
+- all other files -> /doc/latex/genealogytree
diff --git a/macros/latex/contrib/genealogytree/genealogytree-example-1.pdf b/macros/latex/contrib/genealogytree/genealogytree-example-1.pdf
index 0f4311d752..d05dc7aad8 100644
--- a/macros/latex/contrib/genealogytree/genealogytree-example-1.pdf
+++ b/macros/latex/contrib/genealogytree/genealogytree-example-1.pdf
Binary files differ
diff --git a/macros/latex/contrib/genealogytree/genealogytree-example-2.pdf b/macros/latex/contrib/genealogytree/genealogytree-example-2.pdf
index ef6cb5cef5..1977763919 100644
--- a/macros/latex/contrib/genealogytree/genealogytree-example-2.pdf
+++ b/macros/latex/contrib/genealogytree/genealogytree-example-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/genealogytree/genealogytree-example-3.pdf b/macros/latex/contrib/genealogytree/genealogytree-example-3.pdf
index fb446c4923..1214fcfc3c 100644
--- a/macros/latex/contrib/genealogytree/genealogytree-example-3.pdf
+++ b/macros/latex/contrib/genealogytree/genealogytree-example-3.pdf
Binary files differ
diff --git a/macros/latex/contrib/genealogytree/genealogytree-example-4.pdf b/macros/latex/contrib/genealogytree/genealogytree-example-4.pdf
index cd3c8ec48e..7a3beb3f52 100644
--- a/macros/latex/contrib/genealogytree/genealogytree-example-4.pdf
+++ b/macros/latex/contrib/genealogytree/genealogytree-example-4.pdf
Binary files differ
diff --git a/macros/latex/contrib/genealogytree/genealogytree-languages.pdf b/macros/latex/contrib/genealogytree/genealogytree-languages.pdf
index 023068205a..44c63e7500 100644
--- a/macros/latex/contrib/genealogytree/genealogytree-languages.pdf
+++ b/macros/latex/contrib/genealogytree/genealogytree-languages.pdf
Binary files differ
diff --git a/macros/latex/contrib/genealogytree/genealogytree.pdf b/macros/latex/contrib/genealogytree/genealogytree.pdf
index fb25a1a87c..933a55d001 100644
--- a/macros/latex/contrib/genealogytree/genealogytree.pdf
+++ b/macros/latex/contrib/genealogytree/genealogytree.pdf
Binary files differ
diff --git a/macros/latex/contrib/genealogytree/genealogytree.sty b/macros/latex/contrib/genealogytree/genealogytree.sty
index e9675d9491..f6be902292 100644
--- a/macros/latex/contrib/genealogytree/genealogytree.sty
+++ b/macros/latex/contrib/genealogytree/genealogytree.sty
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% genealogytree.sty: genealogy trees (graphs)
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{genealogytree}[2020/07/28 version 2.01 genealogy trees]
-\def\gtr@version{2.01}
+\ProvidesPackage{genealogytree}[2021/09/20 version 2.1.0 genealogy trees]
+\def\gtr@version{2.1.0}
\RequirePackage{expl3}[2020/02/25]
\RequirePackage{xparse}
@@ -140,6 +140,7 @@
\gtr@add@library{lang.french}{gtrlang.french.code.tex}
\gtr@add@library{lang.german}{gtrlang.german.code.tex}
\gtr@add@library{lang.italian}{gtrlang.italian.code.tex}
+\gtr@add@library{lang.portuguese}{gtrlang.portuguese.code.tex}
\gtr@add@library{lang.spanish}{gtrlang.spanish.code.tex}
\gtr@add@library{lang.swedish}{gtrlang.swedish.code.tex}
diff --git a/macros/latex/contrib/genealogytree/gtrcore.contour.code.tex b/macros/latex/contrib/genealogytree/gtrcore.contour.code.tex
index 70b302a0cb..cf4bb3d9e7 100644
--- a/macros/latex/contrib/genealogytree/gtrcore.contour.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrcore.contour.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrcore.contour.code.tex: Contours
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
%%%%%%%%%%%%%%%%%%%%%%%
%% Contour
diff --git a/macros/latex/contrib/genealogytree/gtrcore.drawing.code.tex b/macros/latex/contrib/genealogytree/gtrcore.drawing.code.tex
index f917d7cc92..1112737c57 100644
--- a/macros/latex/contrib/genealogytree/gtrcore.drawing.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrcore.drawing.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrcore.drawing.code.tex: Drawing
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
%%%%%%%%%%%%%%%%%%%%%%%
%% Auxiliary Tools
diff --git a/macros/latex/contrib/genealogytree/gtrcore.node.code.tex b/macros/latex/contrib/genealogytree/gtrcore.node.code.tex
index a02204cef1..5baae2638b 100644
--- a/macros/latex/contrib/genealogytree/gtrcore.node.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrcore.node.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrcore.node.code.tex: Node Boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
%%%%%%%%%%%%%%
% Processors %
diff --git a/macros/latex/contrib/genealogytree/gtrcore.options.code.tex b/macros/latex/contrib/genealogytree/gtrcore.options.code.tex
index 10eb3711a7..592ac1ea54 100644
--- a/macros/latex/contrib/genealogytree/gtrcore.options.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrcore.options.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrcore.options.code.tex: Options
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
%%%%%%%%%%%%%%%%%%%%%%%
%% General handling
@@ -102,7 +102,7 @@
\clist_set:Nn \l_tmpa_clist { #1 }
\clist_map_inline:Nn \l_tmpa_clist
{
- \gtr@keys@addvalue{/gtr/sopt/##1}{#2}
+ \gtr@keys@addvalue{/gtr/sopt/##1}{subtree={#2}}
}
}
@@ -147,7 +147,11 @@
\NewDocumentCommand{\gtrignoresubtree}{ m }
{
- \getree_set_options_for_subtree:nn{#1}{ignore}
+ \clist_set:Nn \l_tmpa_clist { #1 }
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \gtr@keys@addvalue{/gtr/sopt/##1}{ignore}
+ }
}
@@ -162,8 +166,8 @@
options~for~family/.code~n~args={2}{\getree_set_options_for_family:nn{#1}{#2}},
options~for~node/.code~n~args={2}{\getree_set_options_for_node:nn{#1}{#2}},
%
- ignore~subtree/.code={\getree_set_options_for_subtree:nn{#1}{ignore}},
- ignore~node/.code={\getree_set_options_for_node:nn{#1}{ignore}},
+ ignore~subtree/.code={\gtrignoresubtree{#1}},
+ ignore~node/.code={\gtrignorenode{#1}},
}
\ExplSyntaxOff
diff --git a/macros/latex/contrib/genealogytree/gtrcore.parser.code.tex b/macros/latex/contrib/genealogytree/gtrcore.parser.code.tex
index 6b11207edd..239a0afa05 100644
--- a/macros/latex/contrib/genealogytree/gtrcore.parser.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrcore.parser.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrcore.parser.code.tex: Parser
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
%% (local) stack implementation
\def\gtrnewstack#1{%
diff --git a/macros/latex/contrib/genealogytree/gtrcore.processing.code.tex b/macros/latex/contrib/genealogytree/gtrcore.processing.code.tex
index 2720096a29..dcc54415c2 100644
--- a/macros/latex/contrib/genealogytree/gtrcore.processing.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrcore.processing.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrcore.processing.code.tex: Processing
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
%%%%%%%%%%%%%%%%%%%%%%%
%% Processing - common
%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/genealogytree/gtrcore.symbols.code.tex b/macros/latex/contrib/genealogytree/gtrcore.symbols.code.tex
index 783a75ca05..f95179043f 100644
--- a/macros/latex/contrib/genealogytree/gtrcore.symbols.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrcore.symbols.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrcore.symbols.code.tex: Symbols
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
%%%%%%%%%%%%%%%%%%%%%%%
%% Symbols
diff --git a/macros/latex/contrib/genealogytree/gtrlang.danish.code.tex b/macros/latex/contrib/genealogytree/gtrlang.danish.code.tex
index 9596726bbe..bb03fc5b40 100644
--- a/macros/latex/contrib/genealogytree/gtrlang.danish.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlang.danish.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlang.danish.code.tex: Danish language
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% Translation by Mikkel Eide Eriksen <mikkel dot eriksen at gmail dot com>
%% -------------------------------------------------------------------------------------------
%%
@@ -18,7 +18,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\gtrset{language@/danish/.code={%
\gtrset{symlang/.cd,
diff --git a/macros/latex/contrib/genealogytree/gtrlang.dutch.code.tex b/macros/latex/contrib/genealogytree/gtrlang.dutch.code.tex
index 7b068271da..0410fa7819 100644
--- a/macros/latex/contrib/genealogytree/gtrlang.dutch.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlang.dutch.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlang.dutch.code.tex: Dutch language
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% Translation by Dirk Bosmans <onstrees at myonline be>
%% -------------------------------------------------------------------------------------------
%%
@@ -18,7 +18,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\gtrset{language@/dutch/.code={%
\gtrset{symlang/.cd,
diff --git a/macros/latex/contrib/genealogytree/gtrlang.english.code.tex b/macros/latex/contrib/genealogytree/gtrlang.english.code.tex
index ba77f95949..a208c468bc 100644
--- a/macros/latex/contrib/genealogytree/gtrlang.english.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlang.english.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlang.english.code.tex: English language
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\gtrset{language@/english/.code={%
\gtrset{symlang/.cd,
diff --git a/macros/latex/contrib/genealogytree/gtrlang.french.code.tex b/macros/latex/contrib/genealogytree/gtrlang.french.code.tex
index cfe2af2b63..011443f392 100644
--- a/macros/latex/contrib/genealogytree/gtrlang.french.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlang.french.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlang.french.code.tex: French language
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% Translation by Denis Bitouze <denis dot bitouze at univ-littoral fr>
%% -------------------------------------------------------------------------------------------
%%
@@ -18,7 +18,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\gtrset{language@/french/.code={%
\gtrset{symlang/.cd,
diff --git a/macros/latex/contrib/genealogytree/gtrlang.german.code.tex b/macros/latex/contrib/genealogytree/gtrlang.german.code.tex
index e084601e0c..0e52d7c7dc 100644
--- a/macros/latex/contrib/genealogytree/gtrlang.german.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlang.german.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlang.german.code.tex: German language
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\gtrset{language@/german/.code={%
\gtrset{symlang/.cd,
diff --git a/macros/latex/contrib/genealogytree/gtrlang.italian.code.tex b/macros/latex/contrib/genealogytree/gtrlang.italian.code.tex
index bc99cced20..8368cfcd37 100644
--- a/macros/latex/contrib/genealogytree/gtrlang.italian.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlang.italian.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlang.italian.code.tex: Italian language
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% Translation by Andrea Vaccari <ing dot andrea dot vaccari at gmail com>
%% -------------------------------------------------------------------------------------------
%%
@@ -18,7 +18,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\gtrset{language@/italian/.code={%
\gtrset{symlang/.cd,
diff --git a/macros/latex/contrib/genealogytree/gtrlang.portuguese.code.tex b/macros/latex/contrib/genealogytree/gtrlang.portuguese.code.tex
new file mode 100644
index 0000000000..8bdb4640b3
--- /dev/null
+++ b/macros/latex/contrib/genealogytree/gtrlang.portuguese.code.tex
@@ -0,0 +1,87 @@
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
+%% gtrlang.portuguese.code.tex: Portuguese language
+%%
+%% -------------------------------------------------------------------------------------------
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Translation by Natan de Almeida Laverde <natanlaverde at gmail dot com>
+%% -------------------------------------------------------------------------------------------
+%%
+%% 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 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of all files listed in README
+%%
+\gtr@set@library@version{2.1.0}
+
+\gtrset{language@/portuguese/.code={%
+ \gtrset{symlang/.cd,
+ Born=nascimento,
+ Bornoutofwedlock=nascimento fora do matrim\^onio,
+ Stillborn=natimorto,
+ Diedonbirthday=morreu ao nascer,
+ Baptized=batizado,
+ Engaged=compromisso,
+ Married=matrim\^onio,
+ Divorced=div\'orcio,
+ Partnership=parceiros n\~ao casados,
+ Floruit=floruit,
+ Died=falecimento,
+ Killed=morreu em a\c{c}\~ao,
+ Buried=sepultamento,
+ Funeralurn=cremado(a),
+ Female=mulher,
+ Male=homem,
+ Neuter=neutro
+ }%
+ \gtrset{%
+ month long/.cd,
+ 01/.initial=janeiro,
+ 02/.initial=fevereiro,
+ 03/.initial=mar\c{c}o,
+ 04/.initial=abril,
+ 05/.initial=maio,
+ 06/.initial=junho,
+ 07/.initial=julho,
+ 08/.initial=agosto,
+ 09/.initial=setembro,
+ 10/.initial=outubro,
+ 11/.initial=novembro,
+ 12/.initial=dezembro,
+ }%
+ \gtrset{%
+ month short/.cd,
+ 01/.initial=jan\protect\dot,
+ 02/.initial=fev\protect\dot,
+ 03/.initial=mar\protect\dot,
+ 04/.initial=abr\protect\dot,
+ 05/.initial=mai\protect\dot,
+ 06/.initial=jun\protect\dot,
+ 07/.initial=jul\protect\dot,
+ 08/.initial=ago\protect\dot,
+ 09/.initial=set\protect\dot,
+ 10/.initial=out\protect\dot,
+ 11/.initial=nov\protect\dot,
+ 12/.initial=dez\protect\dot,
+ }%
+ \gtrset{%
+ set@typical@date@format=dd/mm/yyyy,
+ calendar text for=AD is {}{ d.~C.},
+ calendar text for=BC is {}{ a.~C.},
+ calendar text for=GR is {}{\protect\textsuperscript{greg.}},
+ calendar text for=JU is {}{\protect\textsuperscript{jul.}},
+ calendar text for=caAD is {ca.~}{ d.~C.},
+ calendar text for=caBC is {ca.~}{ a.~C.},
+ calendar text for=ca is {ca.~}{},
+ date range full={}{ a }{},
+ date range before={antes de }{},
+ date range after={depois de }{},
+ place text={em }{},
+ }%
+}}
diff --git a/macros/latex/contrib/genealogytree/gtrlang.spanish.code.tex b/macros/latex/contrib/genealogytree/gtrlang.spanish.code.tex
index 81ffcee6f8..810aa3add4 100644
--- a/macros/latex/contrib/genealogytree/gtrlang.spanish.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlang.spanish.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlang.spanish.code.tex: Spanish language
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% Translation by Francisco G. Perez Sanchez <ozo.froid at gmail dot com>
%% -------------------------------------------------------------------------------------------
%%
@@ -18,7 +18,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\gtrset{language@/spanish/.code={%
\gtrset{symlang/.cd,
diff --git a/macros/latex/contrib/genealogytree/gtrlang.swedish.code.tex b/macros/latex/contrib/genealogytree/gtrlang.swedish.code.tex
index 0b4f57c79e..708ffb79f1 100644
--- a/macros/latex/contrib/genealogytree/gtrlang.swedish.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlang.swedish.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlang.swedish.code.tex: Swedish language
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% Translation by Per Starbaeck <per at starback.se>
%% -------------------------------------------------------------------------------------------
%%
@@ -18,7 +18,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\gtrset{language@/swedish/.code={%
\gtrset{symlang/.cd,
diff --git a/macros/latex/contrib/genealogytree/gtrlib.debug.code.tex b/macros/latex/contrib/genealogytree/gtrlib.debug.code.tex
index 2fd01928b0..5450d3f69b 100644
--- a/macros/latex/contrib/genealogytree/gtrlib.debug.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlib.debug.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlib.debug.code.tex: Debugger
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\RequirePackage{array,tabularx}
\tcbuselibrary{breakable}
diff --git a/macros/latex/contrib/genealogytree/gtrlib.fanchart.code.tex b/macros/latex/contrib/genealogytree/gtrlib.fanchart.code.tex
index e62e479bdc..d9e485bc02 100644
--- a/macros/latex/contrib/genealogytree/gtrlib.fanchart.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlib.fanchart.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlib.fanchart.code.tex: Fancharts
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/genealogytree/gtrlib.templates.code.tex b/macros/latex/contrib/genealogytree/gtrlib.templates.code.tex
index d0d9564701..6460a178c7 100644
--- a/macros/latex/contrib/genealogytree/gtrlib.templates.code.tex
+++ b/macros/latex/contrib/genealogytree/gtrlib.templates.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package genealogytree - version 2.01 (2020/07/28)
+%% The LaTeX package genealogytree - version 2.1.0 (2021/09/20)
%% gtrlib.templates.code.tex: Templates
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2013-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2013-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\gtr@set@library@version{2.01}
+\gtr@set@library@version{2.1.0}
% Templates
diff --git a/macros/latex/contrib/lipsum/CHANGELOG.md b/macros/latex/contrib/lipsum/CHANGELOG.md
index 470e445784..a11ca10e43 100644
--- a/macros/latex/contrib/lipsum/CHANGELOG.md
+++ b/macros/latex/contrib/lipsum/CHANGELOG.md
@@ -5,6 +5,14 @@ documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project uses major+minor version identifiers.
+## [2.7]
+
+### Changed
+- Rework language loading mechanism (gh/10).
+
+### Fixed
+- Hyphenation pattern setting with `polyglossia` (gh/10).
+
## [v2.6]
### Changed
diff --git a/macros/latex/contrib/lipsum/README.md b/macros/latex/contrib/lipsum/README.md
new file mode 100644
index 0000000000..6f527351b1
--- /dev/null
+++ b/macros/latex/contrib/lipsum/README.md
@@ -0,0 +1,26 @@
+# lipsum
+
+150 paragraphs of Lorem ipsum dummy text for LaTeX.
+
+## Install
+
+In most cases it is not requried to install this package manually, it is
+included in the major tex-distributions. If, for some reason, you want install
+it manually, run lipsum.ins through (pdf)latex to generate the style file. To
+generate the documentation, run lispum.dtx through a latex program that
+understands utf8 input (XeLaTeX or lualatex).
+
+## Usage
+
+See the documentation.
+
+## Quick'n'dirty
+
+```latex
+\documentclass{article}
+\usepackage{lipsum}
+
+\begin{document}
+\lipsum
+\end {document}
+```
diff --git a/macros/latex/contrib/lipsum/lipsum.dtx b/macros/latex/contrib/lipsum/lipsum.dtx
index 944dac139f..fb81e62771 100644
--- a/macros/latex/contrib/lipsum/lipsum.dtx
+++ b/macros/latex/contrib/lipsum/lipsum.dtx
@@ -15,8 +15,8 @@
% Please send error reports and suggestions for improvements to
% https://github.com/PhelypeOleinik/lipsum
%
-\def\lipsumversion{2.5}
-\def\lipsumdate{2021-08-01}
+\def\lipsumversion{2.7}
+\def\lipsumdate{2021-09-20}
%<*driver>
\ProvidesFile{lipsum.dtx}%
[\lipsumdate\space v\lipsumversion\space
@@ -84,6 +84,9 @@
\emergencystretch 2em
\newcommand\secref[1]{(see section~\ref{#1})}
\usepackage{hyperref}
+\def\ghissue#1{%
+ \texttt{\##1}\footnote{%
+ \url{https://github.com/PhelypeOleinik/lipsum/issues/#1}}}
\begin{document}
\DocInput{lipsum.dtx}
\end{document}
@@ -467,12 +470,6 @@
% disable automatic language switching with
% |\setlipsum{auto-lang=false}|.
%
-% \pkg{lipsum} relies on \pkg{babel}'s \cs{hyphenrules} command to
-% change the hyphenation patterns, thus it requires \pkg{babel} to be
-% loaded in the document if |auto-lang=true|. If \pkg{babel} is not
-% loaded, a warning is printed and the default language is used for
-% hyphenation instead.
-%
% The language is defined individually for each dummy text
% \secref{sec:other-texts}, but you may change it for the current dummy
% text by using |\setlipsum{language=|\meta{lang}|}|. If you load
@@ -1258,12 +1255,11 @@
%
% \begin{macro}{\@@_set_hyphens:,\@@_restore_hyphens:}
% Selects the hyphenation patterns for the language of the dummy text,
-% using \pkg{babel}'s \cs{hyphenrules} if that's defined.
-% If \cs{hyphenrules} doesn't exist (thus \pkg{babel} not loaded),
-% call \cs{@@_set_hyphens_babel_missing:} which will behave in a
-% slightly different way if encountered in the preamble or in the
-% document body. The hyphenation patterns are properly restored by
-% \cs{@@_restore_hypehens:} when the text ends.
+% using \cs{hyphenrules} if that's defined. If \cs{hyphenrules}
+% doesn't exist try setting hyphenation with \cs{@@_set_hyphens_raw:}.
+% Each \cs[no-index]{@@_set_hyphens_\meta{method}:} function
+% appropriately redefines \cs{@@_restore_hypehens:} to reset the
+% hyphenation patterns.
% \begin{macrocode}
\cs_new_protected:Npn \@@_set_hyphens:
{
@@ -1272,15 +1268,11 @@
{
\cs_if_exist:NTF \hyphenrules
{
- \cs_if_exist:cTF { l@ \g_@@_language_tl }
- {
- \exp_args:NV \hyphenrules \g_@@_language_tl
- \cs_set_protected:Npx \@@_restore_hyphens:
- { \exp_not:N \hyphenrules { \languagename } }
- }
- { \@@_missing_language_warning: }
+ \cs_if_exist:cTF { ver@polyglossia.sty }
+ { \@@_set_hyphens_polyglossia: }
+ { \@@_set_hyphens_babel: }
}
- { \@@_set_hyphens_babel_missing: }
+ { \@@_set_hyphens_raw: }
}
}
\cs_new_protected:Npn \@@_restore_hyphens:
@@ -1288,43 +1280,86 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_set_hyphens_babel_missing:}
-% In the document preamble this emits a warning telling the user that
-% the proper hyphenations can't be used because \pkg{babel} isn't
-% loaded, then shut up for the rest of the preamble. In the document
-% body however, this is more serious, so we give a final warning and
-% deactivate automatic hyphenation setting.
+% \begin{macro}{\@@_set_hyphens_babel:}
+% \pkg{babel} makes things pretty simple. We just check if
+% \cs[no-index]{l@\meta{lang}} is defined, and if so, use
+% \cs{hyphenrules} to set it, and once more to reset in
+% \cs{@@_restore_hyphens:}. \cs{hyphenrules} is actually an
+% environment, but in \pkg{babel} its \cs[no-index]{end} part does
+% nothing, and its effect can be undone by just using another
+% \cs{hyphenrules} on top of it.
+%
+% If the language is not defined, the language either doesn't exist at
+% all, or we are using Lua\TeX. Both cases are handled by
+% \cs{@@_lang_not_available:}.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_hyphens_babel_missing:
+\cs_new_protected:Npn \@@_set_hyphens_babel:
{
- \msg_warning:nnn { lipsum } { missing-babel } { preamble }
- \cs_gset_eq:NN \@@_set_hyphens_babel_missing: \prg_do_nothing:
+ \cs_if_exist:cTF { l@ \g_@@_language_tl }
+ {
+ \exp_args:NV \hyphenrules \g_@@_language_tl
+ \cs_set_protected:Npx \@@_restore_hyphens:
+ { \exp_not:N \hyphenrules { \languagename } }
+ }
+ { \@@_lang_not_available: }
}
-\AtBeginDocument
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_set_hyphens_polyglossia:}
+% \pkg{polyglossia} less friendly. We also check if the language is
+% loaded (looking at \cs[no-index]{\meta{lang}@loaded}), and if it
+% is, load it with the \env{hyphenrules} environment. Here we can't
+% use the command form, as the \cs[no-index]{end} part is not a no-op.
+% This also means that an extra group is added around the dummy text,
+% which causes issue \ghissue{1} when used with \pkg{wrapfig}, for
+% example. But not too much we can do about that for now.
+%
+% In case the language is not loaded, fall back to
+% \cs{@@_set_hyphens_raw:} for a final attempt before giving up.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_hyphens_polyglossia:
{
- \cs_gset_protected:Npx \@@_set_hyphens_babel_missing:
+ \cs_if_exist:cTF { \g_@@_language_tl @loaded }
{
- \@ifpackageloaded { babel }
- { \msg_error:nnn { lipsum } { missing-babel } { impossible } }
- { \msg_warning:nnn { lipsum } { missing-babel } { document } }
- \setlipsum { auto-lang = false }
+ \exp_args:NnV \begin{hyphenrules} \g_@@_language_tl
+ \cs_set_protected:Npn \@@_restore_hyphens:
+ { \end{hyphenrules} }
}
+ { \@@_set_hyphens_raw: }
}
-\cs_if_exist:NT \DeclareHookRule
- { \DeclareHookRule { begindocument } { lipsum } { after } { babel } }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_missing_language_warning:}
-% Warn the user about an unknown/missing language. Most of the time
-% the issue is a minimal installation that doesn't have Latin, but
-% sometimes it may be a typo. Regardless of the case, warn the user
-% then change the language to \cs{languagename} so the warning appears
-% only once, at least until it is changed again.
+% \begin{macro}{\@@_set_hyphens_raw:}
+% If nothing else is available, try setting the language using
+% \cs{language}\meta{number}. This is always available,
+% except with Lua\TeX, which loads languages on-the-fly.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_missing_language_warning:
+\cs_new_protected:Npn \@@_set_hyphens_raw:
{
- \msg_warning:nn { lipsum } { missing-language }
+ \cs_if_exist:cTF { l@ \g_@@_language_tl }
+ {
+ \use:x
+ {
+ \language \use:c { l@ \g_@@_language_tl }
+ \cs_set_protected:Npn \@@_restore_hyphens:
+ { \language \int_eval:n { \language } \scan_stop: }
+ }
+ }
+ { \@@_lang_not_available: }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_lang_not_available:}
+% If the requested language is for some reason unavailable, warn the
+% user, then fall back to the current language.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_lang_not_available:
+ {
+ \msg_warning:nnx { lipsum } { missing-language }
+ { \g_@@_language_tl }
\tl_gset_eq:NN \g_@@_language_tl \languagename
}
% \end{macrocode}
@@ -1523,32 +1558,24 @@
Command~'\iow_char:N\\#1'~deprecated. \\
See~the~lipsum~documentation~for~help.
}
-\msg_new:nnn { lipsum } { missing-babel }
+\msg_new:nnn { lipsum } { missing-language }
{
- Hyphenation~patterns~for~'\g_@@_language_tl'~
- cannot~be~used~because~babel~is~not~loaded.~
- \str_case:nn {#1}
+ Unknown~language~'#1'.~Hyphenation~patterns~for~
+ '\languagename'~will~be~used~instead.
+ \sys_if_engine_luatex:T
{
- { preamble }
- { Loading~lipsum~after~babel~should~fix~the~issue. }
- { document }
+ \\ \\
+ \cs_if_exist:cTF { ver@polyglossia.sty }
{
- The~default~document~language~will~be~used~
- for~hyphenation~instead.
+ With~polyglossia,~you~have~to~explicitly~load~languages~
+ with~\iow_char:N\\setotherlanguage{#1}~or~similar.
}
- { impossible }
{
- Something~wrong~happened~and~the~command~
- \iow_char:N\\hyphenrules~is~not~available. \\ \\
- Please~report!
+ With~LuaTeX,~lipsum~requires~babel~to~get~proper~
+ hyphenation~(you~can~use~
+ \iow_char:N\\usepackage[base]{babel}).
}
}
- \\ \\ This~message~won't~be~shown~again.
- }
-\msg_new:nnn { lipsum } { missing-language }
- {
- Unknown~language~'\g_@@_language_tl'.~
- Hyphenation~patterns~for~'\languagename'~will~be~used~instead.
}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/lipsum/lipsum.ins b/macros/latex/contrib/lipsum/lipsum.ins
index e22af4b0c8..8a43f332fb 100644
--- a/macros/latex/contrib/lipsum/lipsum.ins
+++ b/macros/latex/contrib/lipsum/lipsum.ins
@@ -85,7 +85,7 @@ Please send error reports and suggestions for improvements to
\else
\inpartrue
\advance\parno by 1
- \wline{\string\NewLipsumPar\lb\pc~{\the\parno}}%
+ \wline{\string\NewLipsumPar\lb\pc\~{\the\parno}}%
\fi
\fi
\ifeof\lipsread\expandafter\genlipsumend\fi
diff --git a/macros/latex/contrib/lipsum/lipsum.pdf b/macros/latex/contrib/lipsum/lipsum.pdf
index a9a5d52217..1c8919dd72 100644
--- a/macros/latex/contrib/lipsum/lipsum.pdf
+++ b/macros/latex/contrib/lipsum/lipsum.pdf
Binary files differ
diff --git a/macros/latex/contrib/spacingtricks/spacingtricks.dtx b/macros/latex/contrib/spacingtricks/spacingtricks.dtx
index 3c22a98a8a..d9ff9bc46d 100644
--- a/macros/latex/contrib/spacingtricks/spacingtricks.dtx
+++ b/macros/latex/contrib/spacingtricks/spacingtricks.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2019-2020 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+% Copyright (C) 2019-2021 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%
% This file may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, either version 1.3 of this license
@@ -19,8 +19,8 @@
%</driver>
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{spacingtricks}
- [2020/11/02 v1.3 .dtx spacingtricks file]
+\ProvidesPackage{spacingtricks}
+ [2021/09/20 v1.4 .dtx spacingtricks file]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -32,24 +32,24 @@
\usepackage{pifont}
\usepackage{amsmath}
\usepackage{pstricks-add}
-\DisableCrossrefs
+\DisableCrossrefs
%\CodelineIndex
%\RecordChanges
\usepackage{hyperref}
\hypersetup{%
- colorlinks,
+ colorlinks,
linkcolor=blue,
citecolor=blue,
- pdftitle={spacingtricks},
- pdfsubject={LaTeX package},
+ pdftitle={spacingtricks},
+ pdfsubject={LaTeX package},
pdfauthor={Antoine Missier}
}
\begin{document}
- \DeleteShortVerb{\|}
- \MakeShortVerb{\"}
- \DocInput{spacingtricks.dtx}
- %\PrintChanges
- %\PrintIndex
+\DeleteShortVerb{\|}
+\MakeShortVerb{\"}
+\DocInput{spacingtricks.dtx}
+%\PrintChanges
+%\PrintIndex
\end{document}
%</driver>
% \fi
@@ -81,13 +81,14 @@
% \changes{v1.2}{2019/09/09}{A bug correction in the last update}
% \changes{v1.3}{2020/11/02}{Loading the setspace package,
% small changes in compactlist environment, improvement in dualboxes macro}
+% \changes{v1.4}{2021/09/21}{A mistake in the documentation is now corrected}
%
% \GetFileInfo{spacingtricks.sty}
%
% \title{The \texttt{spacingtricks} package\thanks{This document
% corresponds to \textsf{spacingtricks}~\fileversion, dated \filedate.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{November 02, 2020}
+% \date{September 20, 2021}
% \maketitle
%
% \section{Introduction}
@@ -95,7 +96,7 @@
% This package offers some macros to deal with spacing issues. Thus:
% \begin{compactlist}
% \item "\centered" yields good horizontal centering without vertical spacing;
-% \item "\footnote" has been redefined to avoid unsuitable spacings;
+% \item "\footnote" has been redefined to avoid unsuitable spacing;
% \item "\vstrut" produces a strut with variable height or depth;
% \item "\indent" has been redefined to indent a line at the beginning
% of a particular paragraph even if "\parindent" has been set to 0;
@@ -105,7 +106,7 @@
% several aliases are provided to type some list symbols shorter:
% "\bul", "\dash", "\ddash", "\aster", "\hand", "\checksymb", "\arrowsymb";
% \item the macros "\ie" and "\eg" attends to typeset common abbreviations
-% \ie and \eg with correct spacings;
+% \ie and \eg with correct spacing;
% \item the "\dualboxes" command attends to place two boxes
% (figures, tables, text) side by side by adjusting the vertical positioning.
% \end{compactlist}
@@ -115,12 +116,13 @@
% \textsf{setspace} (natively in \LaTeXe),
% for setting line spacing in a piece of text
% (with the \texttt{spacing} environment), and
-% \textsf{xspace}~\cite{XSP}, which adds an interword space unless the macro
+% \textsf{xspace}~\cite{XSP}, which adds an inter-word space unless the macro
% is followed by a punctuation character.
%
% Otherwise, we provide the package \textsf{arraycols}~\cite{ARCOL},
-% wich allows a good management of spacings in \texttt{tabular} and \texttt{array} environments,
-% and \textsf{mismath}~\cite{MSMATH} of which several macros tends to improve spacings
+% which allows a good management of spacing in \texttt{tabular}
+% and \texttt{array} environments,
+% and \textsf{mismath}~\cite{MSMATH} of which several macros tends to improve spacing
% in mathematical formulas.
%
% \section{Usage}
@@ -216,11 +218,11 @@
%
% \medskip
% \DescribeMacro{\footnotespace} \DescribeMacro{\footenoteindent}
-% Like the old one, the new "\footnote" command can take an opional argument
+% Like the old one, the new "\footnote" command can take an optional argument
% to force the number of the note.
% Likewise, we have always the customization macros
% "\footnotesize", "\footnotesep", "\footnoterule",
-% but two new macros have been added to manage spacings:
+% but two new macros have been added to manage spacing:
% "\footnotespace" produces the space before the note call symbol
% and "\footnoteindent" produces the space at the beginning of the footnote text.
% For instance, with "\renewcommand{\footnotespace}{\,}"
@@ -373,7 +375,7 @@
% \DescribeMacro{\checksymb}\DescribeMacro{\arrowsymb}
% The following example is obtained with "\begin{compactlist}[\checksymb]":
% \begin{compactlist}[\checksymb]
-% \item Fisrt item.
+% \item First item.
% \item Second item.
% \item Third item.
% \end{compactlist}
@@ -392,7 +394,7 @@
% \medskip
% \DescribeMacro{\ie} \DescribeMacro{\eg}
% In English, at the end of a sentence, the point is followed by an em space
-% which is larger than an interword space.
+% which is larger than an inter-word space.
% We provide the "\ie" (\textit{id est}) and "\eg" (\textit{exempli gratia}) macros,
% suggested in The \LaTeX\ Companion \cite{COMP},
% to get correct spacing after these abbreviations \eg here.
@@ -433,11 +435,11 @@
% }
%
% \noindent
-% The horizontal space is equally shared between left margin, interbox space and right margin.
+% The horizontal space is equally shared between left margin, inter-box space and right margin.
%
% \medskip
% In the following example the right box has been shifted back
-% to make an overlaping with the left one, what \textsf{picins} cannot do.
+% to make an overlapping with the left one, what \textsf{picins} cannot do.
%
%\dualboxes{\footnotesize
% $\begin{array}{|*{7}{c|}} \hline
@@ -452,7 +454,7 @@
% \end{pspicture}
%}
% \begin{verbatim}
-% \dualboxes*{\footnotesize
+% \dualboxes{\footnotesize
% $\begin{array}{|*{7}{c|}} \hline
% x & -2 & -1 & 0 & 1 & 2 & 3 \\ \hline
% f(x) & -0.96 & -0.71 & 0 & 0.59 & 0.38 & 0.18 \\ \hline
@@ -498,8 +500,8 @@
\RequirePackage{setspace}
\RequirePackage{xspace}
-\newcommand*{\centered}[1]{{\setlength{\parskip}{0pt}\par\noindent\hfill
- #1\hfill\mbox{}}}
+\newcommand*{\centered}[1]{{\setlength{\parskip}{0pt}\par\noindent\hfill
+ #1\hfill\mbox{}}}
% \end{macrocode}
% The double braces are necessary here to ensure that the "\parskip" modification applies
% locally within the command and not globally to the rest of the document.
@@ -534,29 +536,29 @@
\newenvironment*{indentblock}[1][\parindentlength]{
\begin{list}{}{%
- \setlength{\leftmargin}{#1}
- \setlength{\itemsep}{0pt}
- \setlength{\topsep}{1ex}
- \setlength{\partopsep}{0pt}
+ \setlength{\leftmargin}{#1}
+ \setlength{\itemsep}{0pt}
+ \setlength{\topsep}{1ex}
+ \setlength{\partopsep}{0pt}
}
- \item[]
- }{\end{list}}
+ \item[]
+ }{\end{list}}
\newlength{\compactlistindent}
\setlength{\compactlistindent}{0.5em}
\newenvironment*{compactlist}[1][\textbullet]{
\par % sometimes necessary
\begin{list}{#1\unskip}{% \unskip suppresses the space created by \xspace
- \setlength{\itemsep}{0pt}
- \setlength{\parsep}{0pt}
- \setlength{\topsep}{0ex}
- \setlength{\partopsep}{0pt}
- \setlength{\labelwidth}{1em}
- \setlength{\leftmargin}{\labelwidth}
- \addtolength{\leftmargin}{\labelsep}
- \addtolength{\leftmargin}{\compactlistindent}
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0ex}
+ \setlength{\partopsep}{0pt}
+ \setlength{\labelwidth}{1em}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \addtolength{\leftmargin}{\compactlistindent}
}
- }{\end{list}}
+ }{\end{list}}
\providecommand{\bul}{\textbullet}
\providecommand{\dash}{\textendash}
@@ -571,19 +573,19 @@
\providecommand{\checksymb}{\ding{51}\xspace}
\providecommand{\arrowsymb}{\ding{226}\xspace}
-\providecommand{\ie}{i.e.\@\xspace}
+\providecommand{\ie}{i.e.\@\xspace}
\providecommand{\eg}{e.g.\@\xspace}
\newcommand{\@@dualboxes}[3][1]{
\par\noindent
\raisebox{\depth-#1\totalheight}{#2} \hfill
\raisebox{\depth-#1\totalheight}{#3} \smallskip
- }
+}
\newcommand{\@dualboxes}[3][1]{
\par\noindent \hfill
\raisebox{\depth-#1\totalheight}{#2} \hfill
\raisebox{\depth-#1\totalheight}{#3} \hfill\mbox{}\smallskip
- }
+}
\newcommand{\dualboxes}{\@ifstar{\@@dualboxes}{\@dualboxes}}
% \end{macrocode}
%
@@ -597,9 +599,9 @@
% \bibitem{CELLSP} \emph{The \textsf{cellspace} package}, Josselin Noirel, CTAN, v1.8 2019/03/11.
% \bibitem{ENUM} \emph{Customizing lists with the \textsf{enumitem} package}, Javier Bezos,
% CTAN, v3.9 2019/06/20.
-% \bibitem{ARCOL} \emph{The \textsf{arraycols} package}, Antoine Missier, CTAN, v1.0 2019/06/26.
+% \bibitem{ARCOL} \emph{The \textsf{arraycols} package}, Antoine Missier, CTAN, v1.2 2021/09/20.
% \bibitem{MSMATH} \emph{\textsf{mismath} -- Miscellaneous mathematical macros}, Antoine Missier,
-% CTAN, v1.6 2019/09/06.
+% CTAN, v1.8 2020/11/15.
% \bibitem{PICINS} \emph{Bilder in \LaTeX -Dokumenten -- PicIns-Benutzerhandbuch},
% Joachim Bleser, Edmund Lang, CTAN, v3.0 sept. 1992.
% \bibitem{COMP} \emph{The \LaTeX\ Companion}. Frank Mittelbach, Michel Goossens,
diff --git a/macros/latex/contrib/spacingtricks/spacingtricks.ins b/macros/latex/contrib/spacingtricks/spacingtricks.ins
index 28f889e0f1..fb950279c3 100644
--- a/macros/latex/contrib/spacingtricks/spacingtricks.ins
+++ b/macros/latex/contrib/spacingtricks/spacingtricks.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2019-2020 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%% Copyright (C) 2019-2021 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
@@ -15,13 +15,13 @@
\input docstrip.tex
\keepsilent
-\usedir{tex/latex/mismac}
+\usedir{tex/latex/spacingtricks}
\preamble
This is a generated file.
-Copyright (C) 2019-2020 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+Copyright (C) 2019-2021 by Antoine Missier <antoine.missier@ac-toulouse.fr>
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3 of this license
diff --git a/macros/latex/contrib/spacingtricks/spacingtricks.pdf b/macros/latex/contrib/spacingtricks/spacingtricks.pdf
index 58d3a0602a..a7ab69f54e 100644
--- a/macros/latex/contrib/spacingtricks/spacingtricks.pdf
+++ b/macros/latex/contrib/spacingtricks/spacingtricks.pdf
Binary files differ
diff --git a/macros/luatex/optex/pdfextra/LICENSE b/macros/luatex/generic/pdfextra/LICENSE
index 7468558136..7468558136 100644
--- a/macros/luatex/optex/pdfextra/LICENSE
+++ b/macros/luatex/generic/pdfextra/LICENSE
diff --git a/macros/luatex/optex/pdfextra/README.md b/macros/luatex/generic/pdfextra/README.md
index 70ef8febf7..70ef8febf7 100644
--- a/macros/luatex/optex/pdfextra/README.md
+++ b/macros/luatex/generic/pdfextra/README.md
diff --git a/macros/luatex/optex/pdfextra/examples/pdfextra-example-latex.tex b/macros/luatex/generic/pdfextra/examples/pdfextra-example-latex.tex
index dc5a31f9f1..dc5a31f9f1 100644
--- a/macros/luatex/optex/pdfextra/examples/pdfextra-example-latex.tex
+++ b/macros/luatex/generic/pdfextra/examples/pdfextra-example-latex.tex
diff --git a/macros/luatex/optex/pdfextra/examples/pdfextra-example-part.prc b/macros/luatex/generic/pdfextra/examples/pdfextra-example-part.prc
index 812479dcbb..812479dcbb 100644
--- a/macros/luatex/optex/pdfextra/examples/pdfextra-example-part.prc
+++ b/macros/luatex/generic/pdfextra/examples/pdfextra-example-part.prc
Binary files differ
diff --git a/macros/luatex/optex/pdfextra/examples/pdfextra-example.pdf b/macros/luatex/generic/pdfextra/examples/pdfextra-example.pdf
index 24ca714a75..24ca714a75 100644
--- a/macros/luatex/optex/pdfextra/examples/pdfextra-example.pdf
+++ b/macros/luatex/generic/pdfextra/examples/pdfextra-example.pdf
Binary files differ
diff --git a/macros/luatex/optex/pdfextra/examples/pdfextra-example.tex b/macros/luatex/generic/pdfextra/examples/pdfextra-example.tex
index 6704ac4b98..6704ac4b98 100644
--- a/macros/luatex/optex/pdfextra/examples/pdfextra-example.tex
+++ b/macros/luatex/generic/pdfextra/examples/pdfextra-example.tex
diff --git a/macros/luatex/optex/pdfextra/pdfextra-doc.pdf b/macros/luatex/generic/pdfextra/pdfextra-doc.pdf
index 9534e46bfa..9534e46bfa 100644
--- a/macros/luatex/optex/pdfextra/pdfextra-doc.pdf
+++ b/macros/luatex/generic/pdfextra/pdfextra-doc.pdf
Binary files differ
diff --git a/macros/luatex/optex/pdfextra/pdfextra-doc.tex b/macros/luatex/generic/pdfextra/pdfextra-doc.tex
index 292bb34ab2..292bb34ab2 100644
--- a/macros/luatex/optex/pdfextra/pdfextra-doc.tex
+++ b/macros/luatex/generic/pdfextra/pdfextra-doc.tex
diff --git a/macros/luatex/optex/pdfextra/pdfextra.opm b/macros/luatex/generic/pdfextra/pdfextra.opm
index bccf096484..bccf096484 100644
--- a/macros/luatex/optex/pdfextra/pdfextra.opm
+++ b/macros/luatex/generic/pdfextra/pdfextra.opm
diff --git a/macros/luatex/optex/pdfextra/pdfextra.sty b/macros/luatex/generic/pdfextra/pdfextra.sty
index 2ebe8354c5..2ebe8354c5 100644
--- a/macros/luatex/optex/pdfextra/pdfextra.sty
+++ b/macros/luatex/generic/pdfextra/pdfextra.sty
diff --git a/macros/luatex/optex/pdfextra/pdfextra.tex b/macros/luatex/generic/pdfextra/pdfextra.tex
index cbbeca0c17..cbbeca0c17 100644
--- a/macros/luatex/optex/pdfextra/pdfextra.tex
+++ b/macros/luatex/generic/pdfextra/pdfextra.tex
diff --git a/systems/mac/mactex/ExtrasFolder.pdf b/systems/mac/mactex/ExtrasFolder.pdf
index c2882ce3ce..f549c2acc3 100644
--- a/systems/mac/mactex/ExtrasFolder.pdf
+++ b/systems/mac/mactex/ExtrasFolder.pdf
Binary files differ
diff --git a/systems/mac/mactex/Licenses.txt b/systems/mac/mactex/Licenses.txt
index 0cd4629e07..f5950891c1 100644
--- a/systems/mac/mactex/Licenses.txt
+++ b/systems/mac/mactex/Licenses.txt
@@ -1,6 +1,6 @@
$Id: Licenses.txt,v 1.14 2007/02/28 14:23:19 herbs Exp $
-Brief summary of the licensing of the various applications included as of 2021/09/13
+Brief summary of the licensing of the various applications included as of 2021/09/20
Aquamacs Emacs (Intel) - 3.5 - gpl - http://aquamacs.org/
Aquatkbibtex - 1.3 - gpl - http://aquatkbibtex.sourceforge.net/
@@ -13,7 +13,7 @@ LaTeXiT (10.9+) - 2.16.4 - CeCILL - http://ktd.club.fr/programm
Lyx (10.6+) - 2.3.6.2 - gpl - http://wiki.lyx.org/Mac/Mac
Présentation - 2.3.1 - gpl - http://iihm.imag.fr/blanch/software/osx-presentation/
SimpleTeX4ht - 3.3 - gpl - http://www.simpletex4ht.free.fr/
-Skim (10.10+) - 1.6.4 - bsd - http://skim-app.sourceforge.net/
+Skim (10.10+) - 1.6.5 - bsd - http://skim-app.sourceforge.net/
Symbols Widget - 1.4.3 - gpl - http://vocaro.com/trevor/software/widgets/
TeX FoG (10.4+) - 1.3.2 - gpl - http://homepage.mac.com/marco_coisson/TeXFoG/
TeX Live Utility (10.9+) - 1.49 - bsd - https://github.com/amaxwell/tlutility/releases
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 066b00dc84..9325e7ff29 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -17,7 +17,6 @@ $mirrors = {
'https://mirror.bjtu.edu.cn/CTAN/' => 1,
'https://mirrors.aliyun.com/CTAN/' => 1,
'https://mirrors.bfsu.edu.cn/CTAN/' => 1,
- 'https://mirrors.cqu.edu.cn/CTAN/' => 1,
'https://mirrors.dgut.edu.cn/CTAN/' => 1,
'https://mirrors.hit.edu.cn/CTAN/' => 1,
'https://mirrors.nju.edu.cn/CTAN/' => 1,
@@ -50,6 +49,7 @@ $mirrors = {
'https://cran.asia/tex/' => 1,
'https://ftp.harukasan.org/CTAN/' => 1,
'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
+ 'https://mirror.kakao.com/CTAN/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
'https://mirror.yongbok.net/ctan/' => 1,
},
@@ -87,7 +87,6 @@ $mirrors = {
'https://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/' => 1,
'https://mirror.ibcp.fr/pub/CTAN/' => 1,
'https://mirrors.chevalier.io/CTAN/' => 1,
- 'https://mirrors.ircam.fr/pub/CTAN/' => 1,
'https://texlive.mycozy.space/' => 1,
},
'Germany' => {
@@ -160,7 +159,6 @@ $mirrors = {
},
'Sweden' => {
'https://ftp.acc.umu.se/mirror/CTAN/' => 1,
- 'https://ftpmirror1.infania.net/mirror/CTAN/' => 1,
},
'Switzerland' => {
'https://mirror.foobar.to/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 31b7862853..aa6bb7b913 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2021
-depend revision/60554
+depend revision/60566
name 00texlive.image
category TLCore
-revision 60554
+revision 60566
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -4458,7 +4458,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 60545
+revision 60556
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -95313,30 +95313,31 @@ catalogue-version 2.08j
name dtk-bibliography
category Package
-revision 59447
+revision 60564
shortdesc Bibliography of "Die TeXnische Komodie"
relocated 1
longdesc This package contains the bibliography for "Die TeXnische
longdesc Komodie", the journal of the German-speaking TeX User Group. It
longdesc is updated on a quarterly basis.
containersize 516
-containerchecksum 8b52e1235cd868ad6efda3155f94bdd203e068392a13266c3a3156655a81791fccce11d8061ca6967b9c943a2e310c7c4a0be4eb73ed0ad03410137fad7a7004
-doccontainersize 412992
-doccontainerchecksum b82a6411a25f78302d81f9f0072ad4ed65fd878a357f1b2e150d8894e75a24d3fccb506bc259f390d06039751a8a1ec3afafd03a4a0f8abe3bb2c303466c315e
-docfiles size=221
+containerchecksum d6a5ab5e315698e930058c649c4eaf92e4698aff1f7cc7b1841bdc4e91612c7dc59414e04b3dba2c383533c73d53f1bb5c9655ff006f527020d9c6ff15b77de0
+doccontainersize 425052
+doccontainerchecksum dce7372c0506cec21f8920c070d0ea93ee18dc2d6800cdb8f87338352f2bf955d5155929687b3670c22a4685fefead7986784168dbbcf4c89e10c02ab354e958
+docfiles size=228
RELOC/doc/bibtex/dtk-bibliography/README.md details="Readme"
RELOC/doc/bibtex/dtk-bibliography/dtk-authoryear.bbx
RELOC/doc/bibtex/dtk-bibliography/dtk-authoryear.dbx
RELOC/doc/bibtex/dtk-bibliography/dtk-bibliography.bib
RELOC/doc/bibtex/dtk-bibliography/dtk-bibliography.pdf details="The document itself"
RELOC/doc/bibtex/dtk-bibliography/dtk-bibliography.tex
+ RELOC/doc/bibtex/dtk-bibliography/dtk-logos.sty
catalogue-contact-bugs https://github.com/dante-ev/dtk-bibliography/issues
catalogue-contact-repository https://github.com/dante-ev/dtk-bibliography
catalogue-contact-support https://github.com/dante-ev/dtk-bibliography/issues
catalogue-ctan /info/dtk-bibliography
catalogue-license lppl1.3c
catalogue-topics journ-digest review-document german-doc
-catalogue-version 2021-02
+catalogue-version 2021/03
name dtl
category TLCore
@@ -104947,18 +104948,18 @@ catalogue-version 3.3
name elteikthesis
category Package
-revision 55928
+revision 60563
shortdesc Thesis template for Eotvos Lorand University (Informatics)
relocated 1
longdesc This package provides a Bachelor and Master thesis template for
longdesc the Eotvos Lorand University, Faculty of Informatics (Budapest,
longdesc Hungary). The template supports producing both Hungarian and
longdesc English theses.
-containersize 5624
-containerchecksum d1aca54ddbcfcc7c6635768cf7012508ea00e775d5dc02ea86054542941d9438516ada2698897f7d97c3807eaf8fb23967db371c499e1919e4b4b9f290b13997
-doccontainersize 951476
-doccontainerchecksum 77481cded400c3dffd86be5090db28954823a92d4e8d4a676ec540d8cbe8a51331722b760a200c8ab84132ce668ed88da4c4e689f18d58528003b1c71f750337
-docfiles size=471
+containersize 6196
+containerchecksum bafcb4abcca97afa1fe1d92913a0ecce4da799d1bf8644fd2eea1acd35f51cbcc935efd7f940463267bb71b6396a0d5a3b5293de9fde4494b4f0fca62b7383b6
+doccontainersize 967084
+doccontainerchecksum b080cac66f855b99e515ca8f96f493ff1ef148806cbe99ac142fd48bc0d9fa0cf8ee24ccf64101143512b6670aaaba245bacc3d2fddf25c503fc1e3e67f7e4ea
+docfiles size=475
RELOC/doc/latex/elteikthesis/LICENSE
RELOC/doc/latex/elteikthesis/README.md details="Readme"
RELOC/doc/latex/elteikthesis/README.pdf
@@ -104969,18 +104970,19 @@ docfiles size=471
RELOC/doc/latex/elteikthesis/chapters/intro.tex
RELOC/doc/latex/elteikthesis/chapters/sum.tex
RELOC/doc/latex/elteikthesis/chapters/user.tex
+ RELOC/doc/latex/elteikthesis/elteikthesis-minted.pdf
+ RELOC/doc/latex/elteikthesis/elteikthesis-minted.tex
RELOC/doc/latex/elteikthesis/elteikthesis.bib
RELOC/doc/latex/elteikthesis/elteikthesis.pdf details="Example of use" language="hu"
RELOC/doc/latex/elteikthesis/elteikthesis.tex
RELOC/doc/latex/elteikthesis/images/elte_cimer_szines.eps
- RELOC/doc/latex/elteikthesis/settings.tex
-runfiles size=4
+runfiles size=5
RELOC/tex/latex/elteikthesis/elteikthesis.cls
catalogue-contact-repository https://github.com/mcserep/elteikthesis
catalogue-ctan /macros/latex/contrib/elteikthesis
catalogue-license mit
catalogue-topics dissertation hungarian class
-catalogue-version 2.1
+catalogue-version 2.2
name eltex
category Package
@@ -127268,7 +127270,7 @@ catalogue-topics genealogy font font-symbol font-specialist font-mf
name genealogytree
category Package
-revision 55978
+revision 60562
shortdesc Pedigree and genealogical tree diagrams
relocated 1
longdesc Pedigree and genealogical tree diagrams are proven tools to
@@ -127280,13 +127282,14 @@ longdesc tree -- it is a more general graph. The package provides a set
longdesc of tools to typeset genealogical trees (i.e., to typeset a set
longdesc of special graphs for the description of family-like
longdesc structures). The package uses an autolayout algorithm which can
-longdesc be customized, e.g., to prioritize certain paths.
-containersize 34104
-containerchecksum 80ff65cb67a5d431e316b6cb52d001ba63b346f117251a06c560c506f8adfc81644cc36d113b0a612acbc9b78c8627ead8c75a449486982ec786accaa79d2af5
-doccontainersize 4430236
-doccontainerchecksum 708639b248db280a26291d24594c70fdbefb8a4f6cb581ab5e95e1d2e1f122f29a5412ce876604afed42c881d02c4baaaae73aade99b246160895087394b7906
-docfiles size=2176
- RELOC/doc/latex/genealogytree/README details="Readme"
+longdesc be customized, e. g., to prioritize certain paths.
+containersize 34380
+containerchecksum f364f331d9e3769bf25130edce8cef5b9c30db51ccbd9517f1e335ffce0d2d8a362114dbb1471856746bf5737eb89c773fbabc4225b5cd655b1daad6153b0004
+doccontainersize 4494164
+doccontainerchecksum 64bbcaecd5cc923bfe38273fbf01bd2dfc2fbfcfb14b2a5cd815704bc7e5f043cc3794ceb891cf018a1735441e225539dd21187606b6188d7eab4862224e43dd
+docfiles size=2517
+ RELOC/doc/latex/genealogytree/CHANGES.md
+ RELOC/doc/latex/genealogytree/README.md details="Readme"
RELOC/doc/latex/genealogytree/genealogytree-example-1.pdf details="Example 1"
RELOC/doc/latex/genealogytree/genealogytree-example-2.pdf details="Example 2"
RELOC/doc/latex/genealogytree/genealogytree-example-3.pdf details="Example 3"
@@ -127294,7 +127297,7 @@ docfiles size=2176
RELOC/doc/latex/genealogytree/genealogytree-languages.pdf
RELOC/doc/latex/genealogytree/genealogytree.doc.sources.zip
RELOC/doc/latex/genealogytree/genealogytree.pdf details="Package documentation"
-runfiles size=69
+runfiles size=70
RELOC/tex/latex/genealogytree/genealogytree.sty
RELOC/tex/latex/genealogytree/gtrcore.contour.code.tex
RELOC/tex/latex/genealogytree/gtrcore.drawing.code.tex
@@ -127309,6 +127312,7 @@ runfiles size=69
RELOC/tex/latex/genealogytree/gtrlang.french.code.tex
RELOC/tex/latex/genealogytree/gtrlang.german.code.tex
RELOC/tex/latex/genealogytree/gtrlang.italian.code.tex
+ RELOC/tex/latex/genealogytree/gtrlang.portuguese.code.tex
RELOC/tex/latex/genealogytree/gtrlang.spanish.code.tex
RELOC/tex/latex/genealogytree/gtrlang.swedish.code.tex
RELOC/tex/latex/genealogytree/gtrlib.debug.code.tex
@@ -127318,7 +127322,7 @@ catalogue-also pst-pdgr
catalogue-ctan /macros/latex/contrib/genealogytree
catalogue-license lppl1.3
catalogue-topics genealogy pgf-tikz humanities
-catalogue-version 2.01
+catalogue-version 2.1.0
name genmpage
category Package
@@ -164517,17 +164521,17 @@ catalogue-version 2021-06-01
name latex-amsmath-dev
category Package
-revision 59616
+revision 60566
shortdesc Development pre-release of the LaTeX amsmath bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX amsmath
longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 30620
-containerchecksum 407fe727bb17f640f8eb51939c76543dd6624567ef019f511e3b2cd0c9ac35ae73cb1a0f3066ddf27462079b975a9562b93d3ec2147639a2c90002ac8c556f82
-doccontainersize 2393956
-doccontainerchecksum 1fa5627fb6f4e2a77cc9154775dd291a28f9ca19fae82ba15c99c5ebd537e032e1259751442c094b4b1eae88689d92958f87c8f4482ac50d4d058df60c66c63b
+containersize 30640
+containerchecksum 2631323bb121fa5f6787426095c0e88261403ffb841f6c9bf4201f1c6046cbbab694a97e1e6af9bc3acada4d0bcc52dc1e709ba7ce01e4e0248151d516ff4676
+doccontainersize 2394524
+doccontainerchecksum 99515c285dd1938a9be6e7e2b07cff1232f6dc29dc7c16d9d03f9d574541fb3cbb0908965808130666b7a87c8daa884269c93eca163b408e397213c85ad26ca3
docfiles size=710
RELOC/doc/latex-dev/amsmath/README.md details="Readme"
RELOC/doc/latex-dev/amsmath/ams-external.txt
@@ -164550,8 +164554,8 @@ docfiles size=710
RELOC/doc/latex-dev/amsmath/technote.tex
RELOC/doc/latex-dev/amsmath/testmath.pdf details="Examples paper" language="en"
RELOC/doc/latex-dev/amsmath/testmath.tex
-srccontainersize 65468
-srccontainerchecksum 37ea346d2c32c35844dcaad0554bf152ccbf08cca9a55d2c8c903dcd9aa8f3f8495d647a7a408b9c1251d34483257938ecff49b6c09583b75368b8c3f59dadd6
+srccontainersize 65756
+srccontainerchecksum ba1482cd6783da5cd3c20802338996f4202a3af2d717e1948f64799159f21a3d69cac407f49d64e96439fad5051130ea0d9153c1ed681cac079e5e0d0ccae925
srcfiles size=81
RELOC/source/latex-dev/amsmath/amsbsy.dtx
RELOC/source/latex-dev/amsmath/amsbsy.ins
@@ -164580,11 +164584,11 @@ runfiles size=70
catalogue-ctan /macros/latex-dev/required/amsmath
catalogue-license lppl1.3c
catalogue-topics maths
-catalogue-version 2021-11-15 pre-release 1
+catalogue-version 2021-11-15 pre-release 2
name latex-base-dev
category Package
-revision 59616
+revision 60566
shortdesc Development pre-release of the LaTeX kernel
relocated 1
longdesc This package provides a testing release for upcoming LaTeX2e
@@ -164594,11 +164598,11 @@ longdesc users is required by adding these changes to the release LaTeX
longdesc kernel. Typically, the code here will be used by a TeX system
longdesc to create dedicated formats, for example pdflatex-dev, which
longdesc can then be used explicitly for testing.
-containersize 215796
-containerchecksum 599bbcefd12ca75aff15f4a7e6300f27c853b40eab5e0c5c8206ce2d31e905d49335c6a050ff0a3e0ad454f8e73dea1685cd42c0e552d89f1399aba70b3c39ee
-doccontainersize 27755192
-doccontainerchecksum 659eacee370dfcf35a617e622d5156b1125c28e9479caab1e256bb3c713f25fe7a43e8a1c53dc4abe7eae825f7324b3430b52d922b8660267701875b60468ad0
-docfiles size=8750
+containersize 219404
+containerchecksum 32413bcaca033bd654b667ff8d48dabd563570adf28f7dc95f08ac8c024c779d7e7056b3316939903dab5475c2968c143cd2f28437baebac3501b57ed3c47d7e
+doccontainersize 28219892
+doccontainerchecksum 08c3c1a837e7a814ed3a34312d028abf2b6fedd957ff5d427f58556135b48db6d9b64728c892021a321568e17cf7d9e9e77d1ba9e429ecc1537b975ba7349fa3
+docfiles size=8868
RELOC/doc/latex-dev/base/README.md details="Readme"
RELOC/doc/latex-dev/base/alltt.pdf
RELOC/doc/latex-dev/base/bugs.txt
@@ -164623,6 +164627,8 @@ docfiles size=8750
RELOC/doc/latex-dev/base/graphpap.pdf
RELOC/doc/latex-dev/base/ifthen.pdf
RELOC/doc/latex-dev/base/inputenc.pdf
+ RELOC/doc/latex-dev/base/lamport-manual.err
+ RELOC/doc/latex-dev/base/lamport-manual.pdf
RELOC/doc/latex-dev/base/latexchanges.pdf details="Details of changes to LaTeX2e"
RELOC/doc/latex-dev/base/latexchanges.tex
RELOC/doc/latex-dev/base/latexrelease.pdf
@@ -164734,8 +164740,6 @@ docfiles size=8750
RELOC/doc/latex-dev/base/ltxdoc.pdf
RELOC/doc/latex-dev/base/makeindx.pdf
RELOC/doc/latex-dev/base/manifest.txt
- RELOC/doc/latex-dev/base/manual.err
- RELOC/doc/latex-dev/base/manual.pdf
RELOC/doc/latex-dev/base/modguide.pdf details="Modification guide"
RELOC/doc/latex-dev/base/modguide.tex
RELOC/doc/latex-dev/base/nfssfont.pdf
@@ -164757,9 +164761,9 @@ docfiles size=8750
RELOC/doc/latex-dev/base/utf8ienc.pdf
RELOC/doc/latex-dev/base/webcomp.err
RELOC/doc/latex-dev/base/webcomp.pdf
-srccontainersize 666132
-srccontainerchecksum 8028e835fb3320a70fb171e44e610f680dca322e41bcfa89563d184167233bbe881a2e327a77e14c868af5f13dd6916134532d3fdada227859038e2422ff17ba
-srcfiles size=975
+srccontainersize 677616
+srccontainerchecksum 1ed12caeba861007636dd205b516452620c1cf118f90ecd7da8c6e9b0fd42b3bccfd4c83b1346eed3132e4b667f5cf4863c499455c3cfdb117ec8155cd5402f6
+srcfiles size=996
RELOC/source/latex-dev/base/alltt.dtx
RELOC/source/latex-dev/base/alltt.ins
RELOC/source/latex-dev/base/classes.dtx
@@ -164861,7 +164865,7 @@ srcfiles size=975
RELOC/source/latex-dev/base/tulm.ins
RELOC/source/latex-dev/base/unpack.ins
RELOC/source/latex-dev/base/utf8ienc.dtx
-runfiles size=597
+runfiles size=610
RELOC/tex/latex-dev/base/alltt.sty
RELOC/tex/latex-dev/base/ansinew.def
RELOC/tex/latex-dev/base/applemac.def
@@ -165029,7 +165033,7 @@ catalogue-also latex-base
catalogue-ctan /macros/latex-dev/base
catalogue-license lppl1.3c
catalogue-topics format class
-catalogue-version 2021-11-15 pre-release 1
+catalogue-version 2021-11-15 pre-release 2
name latex-bin
category TLCore
@@ -165617,24 +165621,24 @@ catalogue-topics latex-doc
name latex-firstaid-dev
category Package
-revision 59616
+revision 60566
shortdesc Development pre-release of the LaTeX firstaid package
relocated 1
longdesc This is a pre-release version of the standard LaTeX firstaid
longdesc package. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 2888
-containerchecksum 0c13511bd3adb9e93693f9c3e6268b3cfb565ca009d0711ed41f222fe12c73b41bc8b6d8bfe548e6c987f0b541cb88ce8c33fd2a3c9a88a1bf6ab5dd39abe375
-doccontainersize 231624
-doccontainerchecksum 3c7b316b427d71b6e9b17d560cf981d9cf360d00e2166778beb7c32ef2e0c362b46b1254b171bac46836142fc6e9021f312b47539961705e797df8f8c2838a78
-docfiles size=60
+containersize 3536
+containerchecksum 651e380312df091ddfc18186942b907d4b62cab9181b0592562d6d619669b305a0e889028fefbeed14c4288cafd669257fafed9eef2a20634631e21f8bb52289
+doccontainersize 239964
+doccontainerchecksum fe29a8fb52fffd9ff148aee2537abccf903e089ac647a38a068a8e6e9c453bab36ba6814be8ec001f725cc4f555f88c6c2389c815bbe183abd2ebd78cf64728f
+docfiles size=63
RELOC/doc/latex-dev/firstaid/README.md details="Readme"
RELOC/doc/latex-dev/firstaid/changes.txt
RELOC/doc/latex-dev/firstaid/latex2e-first-aid-for-external-files.pdf details="Package documentation"
-srccontainersize 7248
-srccontainerchecksum 361e0fd3fe802f4a2add67012d0402b74c3a5fb865f52cc34e488b39abc541a233e419b210f57a0f3d4a7ad9aef4894b4efe588d985dc38bb7451555e925ae73
-srcfiles size=6
+srccontainersize 8180
+srccontainerchecksum 1e3a37e63769ff537560dbd314a613efe1994535c9b27cabec9e77eafa29eba55111ca974c76f6a1db5ba875bdb912728d30070e32a78fa2a1fad070907902f5
+srcfiles size=7
RELOC/source/latex-dev/firstaid/firstaid.ins
RELOC/source/latex-dev/firstaid/latex2e-first-aid-for-external-files.dtx
runfiles size=4
@@ -165644,7 +165648,7 @@ runfiles size=4
catalogue-ctan /macros/latex-dev/required/firstaid
catalogue-license lppl1.3c
catalogue-topics format bugfix
-catalogue-version 1.0m
+catalogue-version 1.0o
name latex-fonts
category Package
@@ -166353,7 +166357,7 @@ catalogue-topics book-ex
name latex-graphics-dev
category Package
-revision 59616
+revision 60566
shortdesc Development pre-release of the LaTeX graphics bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX graphics
@@ -166361,10 +166365,10 @@ longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
depend graphics-cfg
-containersize 15148
-containerchecksum 7e5a72bc1ca7c9649b5f4689f486f356f3b5433bbfd3e9fe804ac24b9516d9bc5d328e987e2ce612e5a6e42d23d2e08158676c4ca42d0ea6654243e0c6ec1a41
-doccontainersize 2027924
-doccontainerchecksum 9a535fe90f3e0a2bb8b93dfd6a3ab8ed8f2bc4ffa3a1de706ded4df201d9d291d59f7dcc95b5f42678cb8b290df49098f5443d5049aa960c8e5ac93fe787cf50
+containersize 15160
+containerchecksum 53488a5173f481270aa470c1944b2eddb02b8c36e5accbfeebb416fb85d9368460392dbb7cef313a1b5a5ffba15d5314578675734214c21af133a20a741db944
+doccontainersize 2027612
+doccontainerchecksum dea4627e67c50e1c09fefae8d53c441447b0813ea2c0a071902d4f690fa53aa8572dbfb1c72fd8f18dcc36d0ac12a5e5e42cd43704b87e09cd2d439c3be8e2b5
docfiles size=669
RELOC/doc/latex-dev/graphics/README.md details="Readme"
RELOC/doc/latex-dev/graphics/cat.eps
@@ -166382,8 +166386,8 @@ docfiles size=669
RELOC/doc/latex-dev/graphics/rotex.pdf
RELOC/doc/latex-dev/graphics/rotex.tex
RELOC/doc/latex-dev/graphics/trig.pdf
-srccontainersize 52256
-srccontainerchecksum a6571b56c13015580a53ee10e0d8f6c871db127a3ef30fabe1d1893b872a24b80067ba7c7317496743d265f912fbc879fb5b750efbaea79fb0e2cd9813eb2cc6
+srccontainersize 52344
+srccontainerchecksum 181dae774b93b0f11bc0b56e2cb0852c09a1af7eab9aa0ed7c0d5d9cdab253f7a017d8f150fcd61aa7e47ee3e617632ae2ea8300c1894c41204ce0926d261693
srcfiles size=65
RELOC/source/latex-dev/graphics/color.dtx
RELOC/source/latex-dev/graphics/drivers.dtx
@@ -166421,7 +166425,7 @@ catalogue-also latex-graphics
catalogue-ctan /macros/latex-dev/required/graphics
catalogue-license lppl1.3c
catalogue-topics graphics collection
-catalogue-version 2021-11-15 pre-release 1
+catalogue-version 2021-11-15 pre-release 2
name latex-make
category Package
@@ -166778,17 +166782,17 @@ catalogue-version 1.2
name latex-tools-dev
category Package
-revision 59616
+revision 60566
shortdesc Development pre-release of the LaTeX tools bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX tools
longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 42460
-containerchecksum b0f038aa1872bc269a2b14833d974fc78e98765d27a1949ce8b2c8136fb8d1e7b095d09461c0d28ee5b33f1175f1283ec106379aaadec772ade5ca40c67bd79d
-doccontainersize 5280936
-doccontainerchecksum 4f53617eea06339447dad7ac94d4604bd53f87f5a0ebac610c849ac671633f1ed0fc89840d18a16a021e2eca2728e30b35c26300ea2e56071295291bd2067e25
+containersize 42536
+containerchecksum 981ae5849efba60317088528f9ef6d1be439db981d1517c24fb5ef38fdf0d40245a876ec777866e4f174a1266e17b1cda3e81254b2eaa896ecc0452b3dfdec64
+doccontainersize 5282740
+doccontainerchecksum 32bfac5151a147a4cef975a0ea195af925fd85fe70595568789050284703ff4affbd07bbaa744328815b569497e8fbfe9fe3c05208d7d42d16e606e7c7729c06
docfiles size=1774
RELOC/doc/latex-dev/tools/README.md details="Readme"
RELOC/doc/latex-dev/tools/afterpage.pdf
@@ -166821,8 +166825,8 @@ docfiles size=1774
RELOC/doc/latex-dev/tools/verbatim.pdf
RELOC/doc/latex-dev/tools/xr.pdf
RELOC/doc/latex-dev/tools/xspace.pdf
-srccontainersize 227880
-srccontainerchecksum b356ded42a20e9be5caa1729c6eacf895e8a3ffcec59a7fa234fe017f888c7f991a78d3127957160c9eea793cc013c80c6d08c16df9e112b9dcc674485626b98
+srccontainersize 228044
+srccontainerchecksum 1ad626033a46d82c82cae68ac0d2d6f97eb13a87be3edfb6faf9a2af5f32db69e0a26daff28e0f80d9099a6a82c737485d3c3e2b571e34366127dfb9beebfadb
srcfiles size=269
RELOC/source/latex-dev/tools/afterpage.dtx
RELOC/source/latex-dev/tools/afterpage.ins
@@ -166906,7 +166910,7 @@ runfiles size=110
catalogue-ctan /macros/latex-dev/required/tools
catalogue-license lppl1.3c
catalogue-topics collection
-catalogue-version 2021-11-15 pre-release 1
+catalogue-version 2021-11-15 pre-release 2
name latex-uni8
category Package
@@ -179338,7 +179342,7 @@ catalogue-version 1.0
name light-latex-make
category Package
-revision 60251
+revision 60558
shortdesc llmk: A build tool for LaTeX documents
longdesc Light LaTeX Make (llmk) is yet another build tool specific for
longdesc LaTeX documents. Its aim is to provide a simple way to specify
@@ -179359,9 +179363,9 @@ longdesc typesetting the document will be reproduced in any TeX
longdesc environment with the program.
depend light-latex-make.ARCH
containersize 10568
-containerchecksum fdaa73224c407e31dd29f49ff5167eaff4550c46ef81b0de31238e21d3b372a353c5df85d4b1b90922e29f4e8026451b48c1d97a135ecaf8b4a5ffd32e0c748c
-doccontainersize 185636
-doccontainerchecksum 3082c3906c773308a04f573f8e1ef9c08cc39ae62a8e041a77427f85bb2872c9c4431fa525f6d0855cd2c73602b5ba7a395e7d25d2f684a67fbb7753c97f5c12
+containerchecksum 10ebf02409748bfcd1f7d2a202f22eafc309ae8bf0633da7b0fbad84eef7e94cad6f716085e953205b7f6aeefc78ea9a52fd5459582f4fcdaab9020af81d965f
+doccontainersize 185760
+doccontainerchecksum 9d7c6c8c11f93fe9019e593d6b63983e7b5235c6270d8940e5de6352c31586bf4afb81cd38b9b0c769d26058b150864c6a19f133fbb1a6249416266f03d07dc1
docfiles size=67
texmf-dist/doc/man/man1/llmk.1
texmf-dist/doc/man/man1/llmk.man1.pdf
@@ -179380,7 +179384,7 @@ catalogue-contact-repository https://github.com/wtsnjp/llmk
catalogue-ctan /support/light-latex-make
catalogue-license mit
catalogue-topics comp-supp compilation use-lua
-catalogue-version 1.0.0
+catalogue-version 1.1.0
name light-latex-make.aarch64-linux
category Package
@@ -180491,30 +180495,31 @@ catalogue-version 0.30
name lipsum
category Package
-revision 60146
+revision 60561
shortdesc Easy access to the Lorem Ipsum and other dummy texts
relocated 1
longdesc This package gives you easy access to 150 paragraphs of the
longdesc Lorem Ipsum dummy text provided by https://lipsum.com, plus a
longdesc growing list of other dummy texts in different languages.
-containersize 126440
-containerchecksum 7f6a27616f44751513db83e35178d62ada771d770ee157988288c6ef56aeabece98fbfb0525056b97c1ae53a91e3a80e1eec02cd2db274c6e960164d21c03834
-doccontainersize 753720
-doccontainerchecksum 8a7df1ec81d403c6dfdf864c3686727a2a815ae54a80c6b67b323ee16cafc9177cbaa6c3333c903a5f9233785615a3d7ed2024242a23ed78e40dce2a8308e64d
-docfiles size=242
+containersize 125324
+containerchecksum 24697be378aa490bf71194c8622400c11e27d5c6549caf2362250017ac97b4443986a4ad5f8d2d96aa53cfd7bcf5cd7ada0e1ddbbbfd27135e2a23bbad21563a
+doccontainersize 757020
+doccontainerchecksum ce44b2d4acab295bdcb2d0edcefedea449c4dae7cc4c0d62ef73e36169b0858863003bec1575000bfb78b1ecd9e5413807a89bc464b5d173f05a43313c7a22de
+docfiles size=244
RELOC/doc/latex/lipsum/CHANGELOG.md
RELOC/doc/latex/lipsum/DEPENDS.txt
+ RELOC/doc/latex/lipsum/README.md
RELOC/doc/latex/lipsum/README.txt details="Readme"
RELOC/doc/latex/lipsum/lipsum-cicero.txt
RELOC/doc/latex/lipsum/lipsum-cs.txt
RELOC/doc/latex/lipsum/lipsum-la.txt
RELOC/doc/latex/lipsum/lipsum.pdf details="Package documentation"
-srccontainersize 16876
-srccontainerchecksum 1b432adfc3c718245f3cd5fdf3a58d5fca9e5d3a321eb582ed19d74252cb746608ca47bfb7be8dece54cf013e84d4ee6ee1251db0ab91c2c3f055fadb4ce3903
+srccontainersize 17004
+srccontainerchecksum 5984bb97fbecbecb5aaf26f788a6879682f6ec39c87e01c834533a779384b20ad02f1825cf5c2339b288cc61ed716eb3a76e51c45ccf80849b4434132e0c4081
srcfiles size=16
RELOC/source/latex/lipsum/lipsum.dtx
RELOC/source/latex/lipsum/lipsum.ins
-runfiles size=94
+runfiles size=88
RELOC/tex/latex/lipsum/cicero.ltd.tex
RELOC/tex/latex/lipsum/lipsum-cs.ltd.tex
RELOC/tex/latex/lipsum/lipsum.ltd.tex
@@ -180525,7 +180530,7 @@ catalogue-contact-repository https://github.com/PhelypeOleinik/lipsum
catalogue-ctan /macros/latex/contrib/lipsum
catalogue-license lppl1.3
catalogue-topics macro-supp dummy-gen multilingual expl3
-catalogue-version 2.6
+catalogue-version 2.7
name lisp-on-tex
category Package
@@ -193427,17 +193432,17 @@ catalogue-version 0.5
name mcf2graph
category Package
-revision 60428
+revision 60565
shortdesc Draw chemical structure diagrams with Metafont/MetaPost
relocated 1
longdesc The Molecular Coding Format (MCF) is a linear notation for
longdesc describing chemical structure diagrams. This package converts
longdesc MCF to graphic files using Metafont / MetaPost.
-containersize 25168
-containerchecksum 27b9df43dfe4b690628016d01d5b8418a891eead45c4db79cec1826da88b1bc2653ca4ff6964d252b164bfc6085aef4624705decf97c580a6ed9ef936e59a246
-doccontainersize 917720
-doccontainerchecksum 9bd0688b46992dd86705bf26baf55343de6d5a6b03e78a88ef3b9118ba9890a6f6eaefa6fbaa3dd1bf4e89b69211ef0cbde01a65380f02273bc06eafb2b62851
-docfiles size=280
+containersize 25376
+containerchecksum 435821229621ac6a49c0db17ca0a9ca65656cae9980991aa62e10643b190cbee8a53ae802bbfa41409ac2ae44ee33e0117965bb0bf8d353f6e029a3c86b1f07f
+doccontainersize 879392
+doccontainerchecksum 1121e4b5f1e0915741a0a74ce2e07c4b74e316c9f857dc1508f74ee4aac7c505cb9fb910f300dada87395c0a27b4631051297a9c75926dba46eee6fce2783405
+docfiles size=270
RELOC/doc/metapost/mcf2graph/CHANGELOG
RELOC/doc/metapost/mcf2graph/README details="Readme"
RELOC/doc/metapost/mcf2graph/mcf_data_base.mcf
@@ -193455,7 +193460,7 @@ runfiles size=30
catalogue-ctan /graphics/mcf2graph
catalogue-license mit
catalogue-topics graphics graphics-mpost chemistry
-catalogue-version 4.71
+catalogue-version 4.72
name mcite
category Package
@@ -265390,7 +265395,7 @@ catalogue-version 1.030
name schooldocs
category Package
-revision 55838
+revision 60560
shortdesc Various layout styles for school documents
relocated 1
longdesc The purpose of this package is to provide several layout styles
@@ -265399,16 +265404,16 @@ longdesc course materials. The package sets the page geometry
longdesc (dimensions of text and margins) and the title typesetting; the
longdesc various styles define the header, footer and title formatting.
longdesc Many features are freely configurable.
-containersize 3028
-containerchecksum baaa044e2e70c65c91acbb5a2d1add045f24be9361bc4b1c4761a09974b070223144ed9b41a9e5c41cb1846a271cc3338b1f44ec7b8af35cd82e7cb7ee490236
-doccontainersize 904720
-doccontainerchecksum 6860607cbaa4205b41d0e4145c3579f6a40ba27a4047c1c614a2134fa2c34aae16fd4b56dce0720813f62ac7473711a32a2ff74d7cd5288694810942d99f9ca8
+containersize 3048
+containerchecksum 295228025ce4884ae987ecf329d957ad220306c7bb44369e40c6d42a2564b78194a3cf32571f4f188e9557f9db7281bcaf1ade341b39e3eee300e58fbc278213
+doccontainersize 905936
+doccontainerchecksum f62105d0f0c130d718db6b91fc3768d81e97b6ee24af4ac1eee00cd4e5d3ea605f2168883340e5662b18b2791fc3aadf405f8287a0562e9e13a254776878448e
docfiles size=226
RELOC/doc/latex/schooldocs/README.md details="Readme"
RELOC/doc/latex/schooldocs/schooldocs-examples.pdf details="Example of use"
RELOC/doc/latex/schooldocs/schooldocs.pdf details="Package documentation"
-srccontainersize 10336
-srccontainerchecksum 078875026c92538b9086945c6b3b4d3a8121e834b81156baba3d454f3f6bf199b484718c3da7dcca3da837bc345ca80ea311448680720a87150c40f2f629062d
+srccontainersize 10412
+srccontainerchecksum c7717a15ac1170275cf2dda3905f0f6cc504e8b3eaeb6a41ae58c32e2a8d22fb752aaad588526914bfc28905bc4d2af77fdffb3df6881467415c78131d34c60f
srcfiles size=11
RELOC/source/latex/schooldocs/schooldocs.dtx
RELOC/source/latex/schooldocs/schooldocs.ins
@@ -274018,22 +274023,22 @@ catalogue-version 1.4
name spacingtricks
category Package
-revision 56840
+revision 60559
shortdesc Dealing with some spacing issues
relocated 1
longdesc This package provides macros for dealing with some spacing
longdesc issues, e.g. centering a single line, making a variable strut,
longdesc indenting a block, typesetting a compact list, placing two
longdesc boxes side by side with vertical adjustment.
-containersize 1628
-containerchecksum 9cb9ef080cb14f9a4c7004221cdf8f3d5b90a74ba90a37960b6efa3a33aed501a68e2d8ae23d3262e8fb17816e4565e26722b78e1caa14b7455199e52d8fd3cd
-doccontainersize 98196
-doccontainerchecksum d5ab0e38687f00099830015bc469060e6e7a96ef5a199b0352e4a6ce82d50ff6df0b04de20bd683a03d9980a3c45c63905043177fd8ca9cf1f009e978d5dc12f
+containersize 1636
+containerchecksum 0b8c685eb4ea6748e00b3bd2d23bf71a0b5309fb5b89a0e02d767beacb8b4a29eee5d874453a57461ace4d9c1d2e3f7f376fde00b12564e8acdf2a5bc1b968c8
+doccontainersize 98732
+doccontainerchecksum fa91577ffd949619f19deab17f6e9d1d4949aed4477b2ff870642edc03b5321eafc50efbc046308d664f1a391b0f414d1ecd542b6a0ace210a32b6dab1f9f44c
docfiles size=32
RELOC/doc/latex/spacingtricks/README.md details="Readme"
RELOC/doc/latex/spacingtricks/spacingtricks.pdf details="Package documentation"
-srccontainersize 8472
-srccontainerchecksum dcdc75265a9cf0131cf90beae018f35a54fdd201a641368c5380f82258e7c1bb5a680d1b104146c886df56f148921db0ca304063b2cc9532b0aa32b3288812c7
+srccontainersize 8468
+srccontainerchecksum b40a242ce6fa0b425a5a9ee0acbae8ac407fab0def30a9783e72fd4c8c3841931d21d773cb1569eb8fe662c51a441fed59c58849bd2a2b827854a3d1670be486
srcfiles size=7
RELOC/source/latex/spacingtricks/spacingtricks.dtx
RELOC/source/latex/spacingtricks/spacingtricks.ins
@@ -274042,7 +274047,7 @@ runfiles size=1
catalogue-ctan /macros/latex/contrib/spacingtricks
catalogue-license lppl1.3
catalogue-topics typesetting footnote list layout abbrev
-catalogue-version 1.3
+catalogue-version 1.4
name spalign
category Package
@@ -295275,7 +295280,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 60545
+revision 60556
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -295283,10 +295288,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 108292
-containerchecksum 5229a47b5bf1038d7b385e66f4d84b9f4a2bc83d33e2b09cc1097cddf88a78d58938565454522ca20180e242dd4d1a14d89831b9691bb980821a82296febe783
+containersize 108280
+containerchecksum 7792c756c1dde8d698e2f89697a8613f762920f418d42d1d099f004d255069aaa70dfd6304588869187b5e07f8d9e39174916f7e43ec47118e534ec084350043
doccontainersize 399960
-doccontainerchecksum b33a03a0df578e035388c7899eb727d21810bf0cdbbd72166bd1031d6f07ce22c78bead2f326655ff13f6f9ea73314ce21a4df8b4dbe3f3dac297648f44cf367
+doccontainerchecksum 3764288fb68786fb112dc5734a89e43084cf104021874fe5717462b4e13686e4a065cfff0874fc9dc887b9e15a307f0d1403e003cae4db817cc9157e70919127
docfiles size=495
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index a95e1a2ae0..9a38e39eed 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-3353508762ec8c14d9b18d6d837e25e9 texlive.tlpdb
+391d4e749d215761bfb335ff17027a1b texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 0107280157..570f5afc62 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-1b61cd651accd98a6e8dd2162f27a401f1be922747e61b88161a74d6527f7742084f7f7acf58f96bb9ac519b2dcd7344aedde4ff27facae2d5d1cfbdb2e2803a texlive.tlpdb
+1c800eb7cf4ce8f3901a4694aaace198074ad17f8f9c15d5757ed2b05792bf7635d6678d5897557fbdcee6d57cd867cf620834acf9cc7797df8806b83f1e867a texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index b8f2dc26c2..6c875832b6 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJhR81gAAoJEEzhh34ZQ4xwYb4H/iA1TE5B3STBVuchvk0QdtCw
-XklW0onwJsMlKUZnBKM9UF5R48XgBKBz4eRHySbjowD9FRTsFpJgUa59DfN6F1dp
-T5TTrR9jOdovu24vbWGRfYG3sGTgjm4uzZsQHw2QLqtkOUVSYnwNnEMt4uu8zMyH
-qx2nMtF7CG4jCeVX1S7ZdKHaPxu6aO+7phuSbyq6XO758q2JHV7pqpfaBJSBYTZc
-QB78noIAWthByMy05WUv911qUnQshl1EDe1exzx4ungn83nKfflrnb9sb2ch2raz
-lSQ3P6+N6qTgjo6CZy74mRPyQcvLt7bLNzJ24/4rSj9GuD/aMu+O4MgAZ0kyTe4=
-=dIK1
+iQEcBAEBCgAGBQJhSR7zAAoJEEzhh34ZQ4xwnIwIAI0ok0nIskfW7cWfzyUU2ntI
+DuZZi4TdRnqD7Bx4xphaltWfAS3JGTvipefSO2pCt5S2O3rUfM9CbV0Z8egFpGoM
+5XaTVPPH3rEc9KVeG47OD8izOrjSz+z7WAw8tmcnK4fF9SVN7sIpR4D/cfHTguAc
+9HQflq1Ap19SqFOySUDH74xYdsMYHzOZB3nLjtRmU5n4Qv3Iyi0oGG9a253aDWkj
+HiC0C/YJAGHOjIjW9Hf1hTJNNiXueINvd27r4F6atMFb0DTtNOlVHXA/Y3bmg1j0
+2x+Ps0Bh7WLs7LYIk5EYHERoXDQTt2+5q3KMXN9ObGJ2lpiEgRhIdn3RBaApTdk=
+=P3MC
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index dd4f2888e2..07630d07ea 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index 1c19bf5f13..d97e219182 100644
--- a/systems/win32/miktex/tm/packages/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma
index ef30fc7db8..65c9ffaaf6 100644
--- a/systems/win32/miktex/tm/packages/next/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/next/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index c81159d640..5f327f5bb0 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1632082534
+date=1632168993
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=67e59890212ddd3b54fa6d7e1d45410a
-numpkg=4802
+lstdigest=ffa20a419837f46e9382b3492df9fe2f
+numpkg=4816
relstate=next
-version=7932
+version=7933
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: JbLfNeWiXlsyS521ppv+KXPA/a2sOMNIitPU9hE/dcHbc/mFdZj/14CmyT+W8cAcLYwcMtWie3ITUsIR+C8gXG8k89OOP7k0x2nfWDhQNa9J9SdPR+D/n2+BZ4b1PpXq8IremH5XcQISdDrtJ2aSHONbjQG4m0UzR3XOQvPhhAupgWdMMcXvnSANSwV3VXdrwSVqdQoNFTQlKLGWDdtdlQvQd5SYuMvzrDS+Q2ghNj0yRzjjvkj+mWaKQ6GLzeOPE8erQEgHuk+w3ZdFfkwEjTIOuFlt7Mj6LcCFk6M2/topjM0hIj/PDUIwK/BOdiMpLm5L7BXPgzH/rcFQfWj0IA==
+;;;; signature/miktex: vw7AsYPGOE+SaXnQ9ND36Yp/aGmeFD2IUtEiWOCIVj64t9VuqIeNd+59d0/5oTdfBvuD/r6Q25vS4LHoLX+rlqyxPZZpzHvUwhCP9SCiczXA0mZ44ns72nc50l3v7Eabt+MmoHJkOP6qUdX79FcGpnUUbm1ZFGB2u4ZbK7ucNKT0EMy9Cjca5YNM3M1NiVQr3jB/QYBiyQoZ6GjPTHwGVjkHaz6IhdMu9ygwG/5mwHFOVAa9tRIAFPThPW2Ohw3QF9DnKm2hUM+Fx2BkLi9j/6zJqZZq0R6FNkho/7p6KyIypKvDC4L0EoUzHqbLReQRtL4ClOJIf6qZfPJy3Y2zPg==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 4040740dbc..dbaf047897 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1632082316
-lastupd=clicks clicks__doc clicks__source crumbs crumbs__doc crumbs__source ffcode ffcode__doc ffcode__source huawei huawei__doc huawei__source kpfonts-otf kpfonts-otf__doc kpfonts-otf__source latex2nemeth latex2nemeth__doc latex2nemeth__source latexindent latexindent__doc
-lstdigest=dd777ba4b5affb9c7ac82aeef02689d6
-numpkg=4802
+date=1632168711
+lastupd=clicks clicks__doc clicks__source dtk-bibliography dtk-bibliography__source exesheet exesheet__doc exesheet__source expkv-def expkv-def__doc expkv-def__source light-latex-make light-latex-make__doc light-latex-make__source luakeys luakeys__doc luakeys__source luatexja luatexja__doc luatexja__source
+lstdigest=fa08ef8a327021db21f2a8ae3df70bd8
+numpkg=4816
relstate=stable
-version=7932
+version=7933
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: g4VympRalq1ODqbHHTFdMl5t925OGRIjtlmmOXr0k4Wf1HGoO9BShxKABqdYgaDTzEbJ8/aSkeBZvDhB6Z8cYwGzegXdHeEjuhTDBLLiq17gg/O6RBPMpD/2GLnlxCZMhKVTVR1RZC+NtTAOSLfnUnkUTYPzqvz5oquNlBVTj7ghR7wk4u1cznefvrVmIFG/j4mzQyIt4rB4k9HFDV//U2B8YbdZwLGMNn8hfKJPPelcDHKKNl+G7fyHORBBmQPFsZB58KfAHgVrU5/ndB3h+RkjtXJhX4uDdItCL6gTlcb4tRzbUdK3rX7eIHVdZQ8JFR2zv1AK9wSG7Rcatk9Zww==
+;;;; signature/miktex: MWGRspSAu5YGU94Dns/0o1sO1ZIapKI7+rYPXAmXbHoepPvmOArom9zcjSYw4GZOFbe4yYap8nmvnum0bh/920NJ/HVYm1J3w/xc+1E+Y1acwTORcc73pAVN+yLrBv0qaPJgEfSYi6Y1vhyjE/XX/eFi6hnVot3KZVmTnfFMwzbVirZNJWyGvD4h1r5Gb8quVm+P8mll8/ljA6F/5B//+yirjPUiFSVaZj5/ocsQdRg6icu8Qaa88wPLqFUs+DxjI5D+Dz1tx26ucbag2i6W+XtQw5HgKmCpH/kSidh/KMzWCCHQUBIUDG0ohodgNgjcjbDBLuRFELRiV/aNXt1m9w==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index fe4887f881..f98e70c043 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2021-09-20-02-02
+2021-09-21-02-02