diff options
author | Norbert Preining <norbert@preining.info> | 2021-09-21 03:02:01 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-09-21 03:02:01 +0000 |
commit | 32e0f5d0a5abc4f2b6c7341f19b854b5945c3ebd (patch) | |
tree | d88327cf96992788ed82a343f071bbbf2ad4cc84 | |
parent | c9fcf97bc045a9d020980c33b6c7c1ee5aedef99 (diff) |
CTAN sync 202109210302
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 Binary files differindex bfaa9d6ff0..6bb8812c1d 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz 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 Binary files differindex 7ed3fd35fa..6d2b88c7e0 100644 --- a/graphics/mcf2graph/mcf_example.pdf +++ b/graphics/mcf2graph/mcf_example.pdf 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 Binary files differindex 58e5597e79..070738c234 100644 --- a/graphics/mcf2graph/mcf_manual.pdf +++ b/graphics/mcf2graph/mcf_manual.pdf 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 Binary files differindex 0e527592eb..cb28688db6 100644 --- a/graphics/mcf2graph/mcf_mplib_exa.pdf +++ b/graphics/mcf2graph/mcf_mplib_exa.pdf 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 Binary files differindex 22f9cff11c..637e33bf8b 100644 --- a/macros/latex-dev/base/alltt.pdf +++ b/macros/latex-dev/base/alltt.pdf diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf Binary files differindex 5a8bf4282c..cc8ced07f7 100644 --- a/macros/latex-dev/base/cfgguide.pdf +++ b/macros/latex-dev/base/cfgguide.pdf 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 Binary files differindex 40f0cef13e..937b11968e 100644 --- a/macros/latex-dev/base/classes.pdf +++ b/macros/latex-dev/base/classes.pdf diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf Binary files differindex 9f39397b24..4d049fe540 100644 --- a/macros/latex-dev/base/clsguide.pdf +++ b/macros/latex-dev/base/clsguide.pdf diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf Binary files differindex d1707408ad..bdb26b2672 100644 --- a/macros/latex-dev/base/cmfonts.pdf +++ b/macros/latex-dev/base/cmfonts.pdf diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf Binary files differindex 6b9ed561ea..5fca8b3953 100644 --- a/macros/latex-dev/base/cyrguide.pdf +++ b/macros/latex-dev/base/cyrguide.pdf diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf Binary files differindex b5254608ea..60f15ff69f 100644 --- a/macros/latex-dev/base/doc.pdf +++ b/macros/latex-dev/base/doc.pdf diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf Binary files differindex 08224e2a4c..325df35eb6 100644 --- a/macros/latex-dev/base/docstrip.pdf +++ b/macros/latex-dev/base/docstrip.pdf diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf Binary files differindex 30aad2cd6c..98a03a7bb1 100644 --- a/macros/latex-dev/base/encguide.pdf +++ b/macros/latex-dev/base/encguide.pdf diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf Binary files differindex 9785c78a4d..e00c839154 100644 --- a/macros/latex-dev/base/exscale.pdf +++ b/macros/latex-dev/base/exscale.pdf diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf Binary files differindex d3e32f1678..cc3df9f5db 100644 --- a/macros/latex-dev/base/fix-cm.pdf +++ b/macros/latex-dev/base/fix-cm.pdf diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf Binary files differindex d1da1e3f19..976d306413 100644 --- a/macros/latex-dev/base/fntguide.pdf +++ b/macros/latex-dev/base/fntguide.pdf diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf Binary files differindex 7d65e21df6..bc9c785398 100644 --- a/macros/latex-dev/base/graphpap.pdf +++ b/macros/latex-dev/base/graphpap.pdf diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf Binary files differindex 289b5c7f37..a291da6184 100644 --- a/macros/latex-dev/base/ifthen.pdf +++ b/macros/latex-dev/base/ifthen.pdf diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf Binary files differindex 64c99acc9a..d8a2f584ed 100644 --- a/macros/latex-dev/base/inputenc.pdf +++ b/macros/latex-dev/base/inputenc.pdf 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 Binary files differindex 946069a0b4..06adb9a77a 100644 --- a/macros/latex-dev/base/manual.pdf +++ b/macros/latex-dev/base/lamport-manual.pdf diff --git a/macros/latex-dev/base/latexchanges.pdf b/macros/latex-dev/base/latexchanges.pdf Binary files differindex 5664c1789b..75144a2fd0 100644 --- a/macros/latex-dev/base/latexchanges.pdf +++ b/macros/latex-dev/base/latexchanges.pdf diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf Binary files differindex cdc6dec415..0bdfb2ccf3 100644 --- a/macros/latex-dev/base/latexrelease.pdf +++ b/macros/latex-dev/base/latexrelease.pdf diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf Binary files differindex 5f1b36c59a..5b7ae7f8b4 100644 --- a/macros/latex-dev/base/latexsym.pdf +++ b/macros/latex-dev/base/latexsym.pdf 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 Binary files differindex f8e5526427..6c01b2a28f 100644 --- a/macros/latex-dev/base/lb2.pdf +++ b/macros/latex-dev/base/lb2.pdf diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf Binary files differindex 846fabe6bc..258a768277 100644 --- a/macros/latex-dev/base/letter.pdf +++ b/macros/latex-dev/base/letter.pdf 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 Binary files differindex 5ef3d28403..2bf91f2d66 100644 --- a/macros/latex-dev/base/lgc2.pdf +++ b/macros/latex-dev/base/lgc2.pdf diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf Binary files differindex ce56cf02d9..f55fe97188 100644 --- a/macros/latex-dev/base/lppl.pdf +++ b/macros/latex-dev/base/lppl.pdf 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 Binary files differindex 093f9d41bb..7dc8850331 100644 --- a/macros/latex-dev/base/ltcmdhooks-code.pdf +++ b/macros/latex-dev/base/ltcmdhooks-code.pdf diff --git a/macros/latex-dev/base/ltcmdhooks-doc.pdf b/macros/latex-dev/base/ltcmdhooks-doc.pdf Binary files differindex 75febb8f36..6ee7bc215c 100644 --- a/macros/latex-dev/base/ltcmdhooks-doc.pdf +++ b/macros/latex-dev/base/ltcmdhooks-doc.pdf 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 Binary files differindex 029273e28d..01d8a52583 100644 --- a/macros/latex-dev/base/ltfilehook-code.pdf +++ b/macros/latex-dev/base/ltfilehook-code.pdf diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf Binary files differindex 137af2e877..ed7c6213e6 100644 --- a/macros/latex-dev/base/ltfilehook-doc.pdf +++ b/macros/latex-dev/base/ltfilehook-doc.pdf 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 Binary files differindex 675f068676..8f563f3955 100644 --- a/macros/latex-dev/base/lthooks-code.pdf +++ b/macros/latex-dev/base/lthooks-code.pdf diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf Binary files differindex 54f688d47b..9f6df1b13b 100644 --- a/macros/latex-dev/base/lthooks-doc.pdf +++ b/macros/latex-dev/base/lthooks-doc.pdf 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 Binary files differindex d67b1c48f9..6eeefd94d4 100644 --- a/macros/latex-dev/base/ltluatex.pdf +++ b/macros/latex-dev/base/ltluatex.pdf diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf Binary files differindex 7fbbd4e7bf..2869b242c9 100644 --- a/macros/latex-dev/base/ltnews.pdf +++ b/macros/latex-dev/base/ltnews.pdf diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf Binary files differindex 702de3cb4a..cfcc5d6c60 100644 --- a/macros/latex-dev/base/ltnews01.pdf +++ b/macros/latex-dev/base/ltnews01.pdf diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf Binary files differindex 2996986cf0..4d389f4e2c 100644 --- a/macros/latex-dev/base/ltnews02.pdf +++ b/macros/latex-dev/base/ltnews02.pdf diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf Binary files differindex 00e326d04e..4ad827fbe1 100644 --- a/macros/latex-dev/base/ltnews03.pdf +++ b/macros/latex-dev/base/ltnews03.pdf diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf Binary files differindex 4c7e8605ee..3e3948c941 100644 --- a/macros/latex-dev/base/ltnews04.pdf +++ b/macros/latex-dev/base/ltnews04.pdf diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf Binary files differindex 0c5fe190a5..6619a66579 100644 --- a/macros/latex-dev/base/ltnews05.pdf +++ b/macros/latex-dev/base/ltnews05.pdf diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf Binary files differindex 43bf07971f..85e4996709 100644 --- a/macros/latex-dev/base/ltnews06.pdf +++ b/macros/latex-dev/base/ltnews06.pdf diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf Binary files differindex 14a96266db..79b731a27b 100644 --- a/macros/latex-dev/base/ltnews07.pdf +++ b/macros/latex-dev/base/ltnews07.pdf diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf Binary files differindex 50a61a1f6e..2ae4ed4d23 100644 --- a/macros/latex-dev/base/ltnews08.pdf +++ b/macros/latex-dev/base/ltnews08.pdf diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf Binary files differindex 334fd2fc9a..0bce55eaa5 100644 --- a/macros/latex-dev/base/ltnews09.pdf +++ b/macros/latex-dev/base/ltnews09.pdf diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf Binary files differindex 1702b9dd60..437faed1d7 100644 --- a/macros/latex-dev/base/ltnews10.pdf +++ b/macros/latex-dev/base/ltnews10.pdf diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf Binary files differindex 4c5a9ef0e8..45c6fd4d57 100644 --- a/macros/latex-dev/base/ltnews11.pdf +++ b/macros/latex-dev/base/ltnews11.pdf diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf Binary files differindex 68c5fd29c2..69b3920e0a 100644 --- a/macros/latex-dev/base/ltnews12.pdf +++ b/macros/latex-dev/base/ltnews12.pdf diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf Binary files differindex 315c89b06d..304fe2ab43 100644 --- a/macros/latex-dev/base/ltnews13.pdf +++ b/macros/latex-dev/base/ltnews13.pdf diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf Binary files differindex cb07e551cf..e6b444ca02 100644 --- a/macros/latex-dev/base/ltnews14.pdf +++ b/macros/latex-dev/base/ltnews14.pdf diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf Binary files differindex 798c8b1222..e8b197ddc1 100644 --- a/macros/latex-dev/base/ltnews15.pdf +++ b/macros/latex-dev/base/ltnews15.pdf diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf Binary files differindex 8acc6372f1..6ef0fdbd51 100644 --- a/macros/latex-dev/base/ltnews16.pdf +++ b/macros/latex-dev/base/ltnews16.pdf diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf Binary files differindex 7b0b085727..1475bf5fb5 100644 --- a/macros/latex-dev/base/ltnews17.pdf +++ b/macros/latex-dev/base/ltnews17.pdf diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf Binary files differindex ddecd73fc1..368f808908 100644 --- a/macros/latex-dev/base/ltnews18.pdf +++ b/macros/latex-dev/base/ltnews18.pdf diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf Binary files differindex f0f6e8dfb0..aa2c6801a4 100644 --- a/macros/latex-dev/base/ltnews19.pdf +++ b/macros/latex-dev/base/ltnews19.pdf diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf Binary files differindex 5b0f456379..d0dcaaad1b 100644 --- a/macros/latex-dev/base/ltnews20.pdf +++ b/macros/latex-dev/base/ltnews20.pdf diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf Binary files differindex 3d67ec6827..258f2ad4d6 100644 --- a/macros/latex-dev/base/ltnews21.pdf +++ b/macros/latex-dev/base/ltnews21.pdf diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf Binary files differindex ae3c410845..878636b1f7 100644 --- a/macros/latex-dev/base/ltnews22.pdf +++ b/macros/latex-dev/base/ltnews22.pdf diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf Binary files differindex 6c88bbe343..7978622df5 100644 --- a/macros/latex-dev/base/ltnews23.pdf +++ b/macros/latex-dev/base/ltnews23.pdf diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf Binary files differindex 2fe187077e..1752ed71a7 100644 --- a/macros/latex-dev/base/ltnews24.pdf +++ b/macros/latex-dev/base/ltnews24.pdf diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf Binary files differindex d5ac053d58..6314a5dce5 100644 --- a/macros/latex-dev/base/ltnews25.pdf +++ b/macros/latex-dev/base/ltnews25.pdf diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf Binary files differindex c370c8bfff..1e9afbaf6d 100644 --- a/macros/latex-dev/base/ltnews26.pdf +++ b/macros/latex-dev/base/ltnews26.pdf diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf Binary files differindex e99eb47223..cc752c82a0 100644 --- a/macros/latex-dev/base/ltnews27.pdf +++ b/macros/latex-dev/base/ltnews27.pdf diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf Binary files differindex 57d6163994..ac35b00b69 100644 --- a/macros/latex-dev/base/ltnews28.pdf +++ b/macros/latex-dev/base/ltnews28.pdf diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf Binary files differindex 6887325d79..fc3b51d12b 100644 --- a/macros/latex-dev/base/ltnews29.pdf +++ b/macros/latex-dev/base/ltnews29.pdf diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf Binary files differindex 47a6003be5..a02ff71f46 100644 --- a/macros/latex-dev/base/ltnews30.pdf +++ b/macros/latex-dev/base/ltnews30.pdf diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf Binary files differindex c169d35899..42ba4d841e 100644 --- a/macros/latex-dev/base/ltnews31.pdf +++ b/macros/latex-dev/base/ltnews31.pdf diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf Binary files differindex 2ad8dc792b..9061a66608 100644 --- a/macros/latex-dev/base/ltnews32.pdf +++ b/macros/latex-dev/base/ltnews32.pdf diff --git a/macros/latex-dev/base/ltnews33.pdf b/macros/latex-dev/base/ltnews33.pdf Binary files differindex fe95ad1a99..a4344abff5 100644 --- a/macros/latex-dev/base/ltnews33.pdf +++ b/macros/latex-dev/base/ltnews33.pdf diff --git a/macros/latex-dev/base/ltnews34.pdf b/macros/latex-dev/base/ltnews34.pdf Binary files differindex 174751f9d9..cf2cdcf139 100644 --- a/macros/latex-dev/base/ltnews34.pdf +++ b/macros/latex-dev/base/ltnews34.pdf 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 Binary files differindex 5a16a8c1e4..c39ce4eb6b 100644 --- a/macros/latex-dev/base/ltpara-code.pdf +++ b/macros/latex-dev/base/ltpara-code.pdf diff --git a/macros/latex-dev/base/ltpara-doc.pdf b/macros/latex-dev/base/ltpara-doc.pdf Binary files differindex 296d020142..2d05e77304 100644 --- a/macros/latex-dev/base/ltpara-doc.pdf +++ b/macros/latex-dev/base/ltpara-doc.pdf 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 Binary files differindex b9b89d57e0..2bb3e8e560 100644 --- a/macros/latex-dev/base/ltshipout-code.pdf +++ b/macros/latex-dev/base/ltshipout-code.pdf diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf Binary files differindex 288b55cce9..c422ae9794 100644 --- a/macros/latex-dev/base/ltshipout-doc.pdf +++ b/macros/latex-dev/base/ltshipout-doc.pdf 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 Binary files differindex 595d23353b..3f492d24c7 100644 --- a/macros/latex-dev/base/ltx3info.pdf +++ b/macros/latex-dev/base/ltx3info.pdf diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf Binary files differindex e149e03cf9..7f3de03312 100644 --- a/macros/latex-dev/base/ltxdoc.pdf +++ b/macros/latex-dev/base/ltxdoc.pdf diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf Binary files differindex 47e9bbe4fe..736ef277a2 100644 --- a/macros/latex-dev/base/makeindx.pdf +++ b/macros/latex-dev/base/makeindx.pdf 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 Binary files differindex 4c1ddbe949..73386625ce 100644 --- a/macros/latex-dev/base/modguide.pdf +++ b/macros/latex-dev/base/modguide.pdf diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf Binary files differindex 82938a5bd8..904aafcd7d 100644 --- a/macros/latex-dev/base/nfssfont.pdf +++ b/macros/latex-dev/base/nfssfont.pdf diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf Binary files differindex 2997bbec09..7edbb77c6b 100644 --- a/macros/latex-dev/base/proc.pdf +++ b/macros/latex-dev/base/proc.pdf diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf Binary files differindex e71d6e8bc2..69e2a0c1ae 100644 --- a/macros/latex-dev/base/slides.pdf +++ b/macros/latex-dev/base/slides.pdf diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf Binary files differindex f0de95ec17..c18e1a26d2 100644 --- a/macros/latex-dev/base/slifonts.pdf +++ b/macros/latex-dev/base/slifonts.pdf diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf Binary files differindex d400012bb0..cb22937a33 100644 --- a/macros/latex-dev/base/source2e.pdf +++ b/macros/latex-dev/base/source2e.pdf diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf Binary files differindex 6b6d25627d..4ab7c3814b 100644 --- a/macros/latex-dev/base/syntonly.pdf +++ b/macros/latex-dev/base/syntonly.pdf 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 Binary files differindex b31dc5d637..60c2def519 100644 --- a/macros/latex-dev/base/tlc2.pdf +++ b/macros/latex-dev/base/tlc2.pdf 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 Binary files differindex 5aa6b50141..eae26e7a6c 100644 --- a/macros/latex-dev/base/tulm.pdf +++ b/macros/latex-dev/base/tulm.pdf diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf Binary files differindex 423fe4c8b4..35201e63bd 100644 --- a/macros/latex-dev/base/usrguide.pdf +++ b/macros/latex-dev/base/usrguide.pdf diff --git a/macros/latex-dev/base/usrguide3.pdf b/macros/latex-dev/base/usrguide3.pdf Binary files differindex 347116d157..bf279eb39a 100644 --- a/macros/latex-dev/base/usrguide3.pdf +++ b/macros/latex-dev/base/usrguide3.pdf 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 Binary files differindex ac07119618..bbcff9bc6f 100644 --- a/macros/latex-dev/base/utf8ienc.pdf +++ b/macros/latex-dev/base/utf8ienc.pdf 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 Binary files differindex 6451799f0d..c28756a894 100644 --- a/macros/latex-dev/base/webcomp.pdf +++ b/macros/latex-dev/base/webcomp.pdf 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 Binary files differindex 9766310c66..b85ad28df0 100644 --- a/macros/latex-dev/required/amsmath/amsbsy.pdf +++ b/macros/latex-dev/required/amsmath/amsbsy.pdf diff --git a/macros/latex-dev/required/amsmath/amscd.pdf b/macros/latex-dev/required/amsmath/amscd.pdf Binary files differindex ef305b0d62..23a47f71d6 100644 --- a/macros/latex-dev/required/amsmath/amscd.pdf +++ b/macros/latex-dev/required/amsmath/amscd.pdf diff --git a/macros/latex-dev/required/amsmath/amsgen.pdf b/macros/latex-dev/required/amsmath/amsgen.pdf Binary files differindex 1872ad8fe1..b5dda96a10 100644 --- a/macros/latex-dev/required/amsmath/amsgen.pdf +++ b/macros/latex-dev/required/amsmath/amsgen.pdf diff --git a/macros/latex-dev/required/amsmath/amsldoc.pdf b/macros/latex-dev/required/amsmath/amsldoc.pdf Binary files differindex caf0dffb06..38f627d41d 100644 --- a/macros/latex-dev/required/amsmath/amsldoc.pdf +++ b/macros/latex-dev/required/amsmath/amsldoc.pdf 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 Binary files differindex 7bce876d7b..e845d54387 100644 --- a/macros/latex-dev/required/amsmath/amsmath.pdf +++ b/macros/latex-dev/required/amsmath/amsmath.pdf 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 Binary files differindex 4665ba523b..bc4a3590d9 100644 --- a/macros/latex-dev/required/amsmath/amsopn.pdf +++ b/macros/latex-dev/required/amsmath/amsopn.pdf 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 Binary files differindex a612a817cf..d3d5dbf093 100644 --- a/macros/latex-dev/required/amsmath/amstext.pdf +++ b/macros/latex-dev/required/amsmath/amstext.pdf diff --git a/macros/latex-dev/required/amsmath/amsxtra.pdf b/macros/latex-dev/required/amsmath/amsxtra.pdf Binary files differindex 2005cf8843..485d56d23e 100644 --- a/macros/latex-dev/required/amsmath/amsxtra.pdf +++ b/macros/latex-dev/required/amsmath/amsxtra.pdf 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 Binary files differindex 9b600cf7e6..88db5466cd 100644 --- a/macros/latex-dev/required/amsmath/subeqn.pdf +++ b/macros/latex-dev/required/amsmath/subeqn.pdf diff --git a/macros/latex-dev/required/amsmath/technote.pdf b/macros/latex-dev/required/amsmath/technote.pdf Binary files differindex dc43245376..73fafa5f80 100644 --- a/macros/latex-dev/required/amsmath/technote.pdf +++ b/macros/latex-dev/required/amsmath/technote.pdf diff --git a/macros/latex-dev/required/amsmath/testmath.pdf b/macros/latex-dev/required/amsmath/testmath.pdf Binary files differindex 3376cc9958..811bb8be8b 100644 --- a/macros/latex-dev/required/amsmath/testmath.pdf +++ b/macros/latex-dev/required/amsmath/testmath.pdf 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 Binary files differindex 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 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 Binary files differindex 1118a879ed..dbc9c25788 100644 --- a/macros/latex-dev/required/graphics/color.pdf +++ b/macros/latex-dev/required/graphics/color.pdf diff --git a/macros/latex-dev/required/graphics/drivers.pdf b/macros/latex-dev/required/graphics/drivers.pdf Binary files differindex 009b496ee6..ecd63d0fb4 100644 --- a/macros/latex-dev/required/graphics/drivers.pdf +++ b/macros/latex-dev/required/graphics/drivers.pdf diff --git a/macros/latex-dev/required/graphics/epsfig.pdf b/macros/latex-dev/required/graphics/epsfig.pdf Binary files differindex 40ba161410..5787ecf75b 100644 --- a/macros/latex-dev/required/graphics/epsfig.pdf +++ b/macros/latex-dev/required/graphics/epsfig.pdf diff --git a/macros/latex-dev/required/graphics/graphics.pdf b/macros/latex-dev/required/graphics/graphics.pdf Binary files differindex d52ec97ee7..2a78345161 100644 --- a/macros/latex-dev/required/graphics/graphics.pdf +++ b/macros/latex-dev/required/graphics/graphics.pdf 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 Binary files differindex 01724f9bb3..210d251efc 100644 --- a/macros/latex-dev/required/graphics/graphicx.pdf +++ b/macros/latex-dev/required/graphics/graphicx.pdf diff --git a/macros/latex-dev/required/graphics/grfguide.pdf b/macros/latex-dev/required/graphics/grfguide.pdf Binary files differindex b5e770a191..792686e0af 100644 --- a/macros/latex-dev/required/graphics/grfguide.pdf +++ b/macros/latex-dev/required/graphics/grfguide.pdf diff --git a/macros/latex-dev/required/graphics/keyval.pdf b/macros/latex-dev/required/graphics/keyval.pdf Binary files differindex ff9f10e7e0..3571d1347e 100644 --- a/macros/latex-dev/required/graphics/keyval.pdf +++ b/macros/latex-dev/required/graphics/keyval.pdf diff --git a/macros/latex-dev/required/graphics/lscape.pdf b/macros/latex-dev/required/graphics/lscape.pdf Binary files differindex d2bd4fa457..caf9f95ee7 100644 --- a/macros/latex-dev/required/graphics/lscape.pdf +++ b/macros/latex-dev/required/graphics/lscape.pdf diff --git a/macros/latex-dev/required/graphics/rotating.pdf b/macros/latex-dev/required/graphics/rotating.pdf Binary files differindex 1f257d72e5..e4c4a0df13 100644 --- a/macros/latex-dev/required/graphics/rotating.pdf +++ b/macros/latex-dev/required/graphics/rotating.pdf diff --git a/macros/latex-dev/required/graphics/rotex.pdf b/macros/latex-dev/required/graphics/rotex.pdf Binary files differindex 6d963e82bd..6a89c2edff 100644 --- a/macros/latex-dev/required/graphics/rotex.pdf +++ b/macros/latex-dev/required/graphics/rotex.pdf 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 Binary files differindex fce1bfec2f..fcfbf0a4da 100644 --- a/macros/latex-dev/required/graphics/trig.pdf +++ b/macros/latex-dev/required/graphics/trig.pdf 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 Binary files differindex 118a18b658..f1532c82b6 100644 --- a/macros/latex-dev/required/tools/afterpage.pdf +++ b/macros/latex-dev/required/tools/afterpage.pdf 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 Binary files differindex a0b803946e..28778ed39c 100644 --- a/macros/latex-dev/required/tools/array.pdf +++ b/macros/latex-dev/required/tools/array.pdf diff --git a/macros/latex-dev/required/tools/bm.pdf b/macros/latex-dev/required/tools/bm.pdf Binary files differindex 2e7cf36c46..e69390ef57 100644 --- a/macros/latex-dev/required/tools/bm.pdf +++ b/macros/latex-dev/required/tools/bm.pdf diff --git a/macros/latex-dev/required/tools/calc.pdf b/macros/latex-dev/required/tools/calc.pdf Binary files differindex dd772bbba3..327661413a 100644 --- a/macros/latex-dev/required/tools/calc.pdf +++ b/macros/latex-dev/required/tools/calc.pdf 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 Binary files differindex 8384bed482..c6e3921f1e 100644 --- a/macros/latex-dev/required/tools/dcolumn.pdf +++ b/macros/latex-dev/required/tools/dcolumn.pdf diff --git a/macros/latex-dev/required/tools/delarray.pdf b/macros/latex-dev/required/tools/delarray.pdf Binary files differindex 81c884c7ff..e5ad5342da 100644 --- a/macros/latex-dev/required/tools/delarray.pdf +++ b/macros/latex-dev/required/tools/delarray.pdf diff --git a/macros/latex-dev/required/tools/enumerate.pdf b/macros/latex-dev/required/tools/enumerate.pdf Binary files differindex 4e13322604..1cf36525a6 100644 --- a/macros/latex-dev/required/tools/enumerate.pdf +++ b/macros/latex-dev/required/tools/enumerate.pdf diff --git a/macros/latex-dev/required/tools/fileerr.pdf b/macros/latex-dev/required/tools/fileerr.pdf Binary files differindex 95ef092d45..9c6316e99a 100644 --- a/macros/latex-dev/required/tools/fileerr.pdf +++ b/macros/latex-dev/required/tools/fileerr.pdf diff --git a/macros/latex-dev/required/tools/fontsmpl.pdf b/macros/latex-dev/required/tools/fontsmpl.pdf Binary files differindex 2e852de100..123c70457c 100644 --- a/macros/latex-dev/required/tools/fontsmpl.pdf +++ b/macros/latex-dev/required/tools/fontsmpl.pdf diff --git a/macros/latex-dev/required/tools/ftnright.pdf b/macros/latex-dev/required/tools/ftnright.pdf Binary files differindex 55a28a91a3..78e4d069f7 100644 --- a/macros/latex-dev/required/tools/ftnright.pdf +++ b/macros/latex-dev/required/tools/ftnright.pdf diff --git a/macros/latex-dev/required/tools/hhline.pdf b/macros/latex-dev/required/tools/hhline.pdf Binary files differindex fc6171e454..36a4dd7104 100644 --- a/macros/latex-dev/required/tools/hhline.pdf +++ b/macros/latex-dev/required/tools/hhline.pdf diff --git a/macros/latex-dev/required/tools/indentfirst.pdf b/macros/latex-dev/required/tools/indentfirst.pdf Binary files differindex 5d10ea37a8..709cf3fef5 100644 --- a/macros/latex-dev/required/tools/indentfirst.pdf +++ b/macros/latex-dev/required/tools/indentfirst.pdf diff --git a/macros/latex-dev/required/tools/layout.pdf b/macros/latex-dev/required/tools/layout.pdf Binary files differindex 7d34729a49..5b447f8f6d 100644 --- a/macros/latex-dev/required/tools/layout.pdf +++ b/macros/latex-dev/required/tools/layout.pdf 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 Binary files differindex 80927e9f7b..05c3f41a99 100644 --- a/macros/latex-dev/required/tools/longtable.pdf +++ b/macros/latex-dev/required/tools/longtable.pdf 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 Binary files differindex 82adeb962e..e76bfdc8cc 100644 --- a/macros/latex-dev/required/tools/multicol.pdf +++ b/macros/latex-dev/required/tools/multicol.pdf diff --git a/macros/latex-dev/required/tools/rawfonts.pdf b/macros/latex-dev/required/tools/rawfonts.pdf Binary files differindex 223b57484d..e6163af063 100644 --- a/macros/latex-dev/required/tools/rawfonts.pdf +++ b/macros/latex-dev/required/tools/rawfonts.pdf diff --git a/macros/latex-dev/required/tools/shellesc.pdf b/macros/latex-dev/required/tools/shellesc.pdf Binary files differindex 87a3c463e5..2897cfc51a 100644 --- a/macros/latex-dev/required/tools/shellesc.pdf +++ b/macros/latex-dev/required/tools/shellesc.pdf diff --git a/macros/latex-dev/required/tools/showkeys.pdf b/macros/latex-dev/required/tools/showkeys.pdf Binary files differindex 7d9da9be0c..239bf98ed9 100644 --- a/macros/latex-dev/required/tools/showkeys.pdf +++ b/macros/latex-dev/required/tools/showkeys.pdf diff --git a/macros/latex-dev/required/tools/somedefs.pdf b/macros/latex-dev/required/tools/somedefs.pdf Binary files differindex 0bf8da7a7a..35da07a943 100644 --- a/macros/latex-dev/required/tools/somedefs.pdf +++ b/macros/latex-dev/required/tools/somedefs.pdf diff --git a/macros/latex-dev/required/tools/tabularx.pdf b/macros/latex-dev/required/tools/tabularx.pdf Binary files differindex 101fd32634..ac4f8d0765 100644 --- a/macros/latex-dev/required/tools/tabularx.pdf +++ b/macros/latex-dev/required/tools/tabularx.pdf diff --git a/macros/latex-dev/required/tools/theorem.pdf b/macros/latex-dev/required/tools/theorem.pdf Binary files differindex 5ac9039239..7464f0e78e 100644 --- a/macros/latex-dev/required/tools/theorem.pdf +++ b/macros/latex-dev/required/tools/theorem.pdf diff --git a/macros/latex-dev/required/tools/tools-overview.pdf b/macros/latex-dev/required/tools/tools-overview.pdf Binary files differindex 9c9f973bcd..8292ac5e8d 100644 --- a/macros/latex-dev/required/tools/tools-overview.pdf +++ b/macros/latex-dev/required/tools/tools-overview.pdf diff --git a/macros/latex-dev/required/tools/trace.pdf b/macros/latex-dev/required/tools/trace.pdf Binary files differindex 9c6c99faf9..ce8a6d778f 100644 --- a/macros/latex-dev/required/tools/trace.pdf +++ b/macros/latex-dev/required/tools/trace.pdf 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 Binary files differindex 5b72c6e823..3504106b14 100644 --- a/macros/latex-dev/required/tools/varioref.pdf +++ b/macros/latex-dev/required/tools/varioref.pdf diff --git a/macros/latex-dev/required/tools/verbatim.pdf b/macros/latex-dev/required/tools/verbatim.pdf Binary files differindex 768d0fa36b..11e237e5e3 100644 --- a/macros/latex-dev/required/tools/verbatim.pdf +++ b/macros/latex-dev/required/tools/verbatim.pdf diff --git a/macros/latex-dev/required/tools/xr.pdf b/macros/latex-dev/required/tools/xr.pdf Binary files differindex 2e53781fce..8b1eeee496 100644 --- a/macros/latex-dev/required/tools/xr.pdf +++ b/macros/latex-dev/required/tools/xr.pdf diff --git a/macros/latex-dev/required/tools/xspace.pdf b/macros/latex-dev/required/tools/xspace.pdf Binary files differindex cb250640f3..db9fa6bb44 100644 --- a/macros/latex-dev/required/tools/xspace.pdf +++ b/macros/latex-dev/required/tools/xspace.pdf 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 Binary files differindex 4392582e6e..0cfeb82960 100644 --- a/macros/latex/contrib/elteikthesis/README.pdf +++ b/macros/latex/contrib/elteikthesis/README.pdf 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 Binary files differindex d1f7c5f38e..dc5029c0b5 100644 --- a/macros/latex/contrib/elteikthesis/README_hu.pdf +++ b/macros/latex/contrib/elteikthesis/README_hu.pdf 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 Binary files differnew file mode 100644 index 0000000000..409b970455 --- /dev/null +++ b/macros/latex/contrib/elteikthesis/elteikthesis-minted.pdf 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 Binary files differindex 58ec02b7cf..a637d85d32 100644 --- a/macros/latex/contrib/elteikthesis/elteikthesis.pdf +++ b/macros/latex/contrib/elteikthesis/elteikthesis.pdf 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 Binary files differindex 0f4311d752..d05dc7aad8 100644 --- a/macros/latex/contrib/genealogytree/genealogytree-example-1.pdf +++ b/macros/latex/contrib/genealogytree/genealogytree-example-1.pdf diff --git a/macros/latex/contrib/genealogytree/genealogytree-example-2.pdf b/macros/latex/contrib/genealogytree/genealogytree-example-2.pdf Binary files differindex ef6cb5cef5..1977763919 100644 --- a/macros/latex/contrib/genealogytree/genealogytree-example-2.pdf +++ b/macros/latex/contrib/genealogytree/genealogytree-example-2.pdf diff --git a/macros/latex/contrib/genealogytree/genealogytree-example-3.pdf b/macros/latex/contrib/genealogytree/genealogytree-example-3.pdf Binary files differindex fb446c4923..1214fcfc3c 100644 --- a/macros/latex/contrib/genealogytree/genealogytree-example-3.pdf +++ b/macros/latex/contrib/genealogytree/genealogytree-example-3.pdf diff --git a/macros/latex/contrib/genealogytree/genealogytree-example-4.pdf b/macros/latex/contrib/genealogytree/genealogytree-example-4.pdf Binary files differindex cd3c8ec48e..7a3beb3f52 100644 --- a/macros/latex/contrib/genealogytree/genealogytree-example-4.pdf +++ b/macros/latex/contrib/genealogytree/genealogytree-example-4.pdf diff --git a/macros/latex/contrib/genealogytree/genealogytree-languages.pdf b/macros/latex/contrib/genealogytree/genealogytree-languages.pdf Binary files differindex 023068205a..44c63e7500 100644 --- a/macros/latex/contrib/genealogytree/genealogytree-languages.pdf +++ b/macros/latex/contrib/genealogytree/genealogytree-languages.pdf diff --git a/macros/latex/contrib/genealogytree/genealogytree.pdf b/macros/latex/contrib/genealogytree/genealogytree.pdf Binary files differindex fb25a1a87c..933a55d001 100644 --- a/macros/latex/contrib/genealogytree/genealogytree.pdf +++ b/macros/latex/contrib/genealogytree/genealogytree.pdf 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 Binary files differindex a9a5d52217..1c8919dd72 100644 --- a/macros/latex/contrib/lipsum/lipsum.pdf +++ b/macros/latex/contrib/lipsum/lipsum.pdf 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 Binary files differindex 58d3a0602a..a7ab69f54e 100644 --- a/macros/latex/contrib/spacingtricks/spacingtricks.pdf +++ b/macros/latex/contrib/spacingtricks/spacingtricks.pdf 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 Binary files differindex 812479dcbb..812479dcbb 100644 --- a/macros/luatex/optex/pdfextra/examples/pdfextra-example-part.prc +++ b/macros/luatex/generic/pdfextra/examples/pdfextra-example-part.prc diff --git a/macros/luatex/optex/pdfextra/examples/pdfextra-example.pdf b/macros/luatex/generic/pdfextra/examples/pdfextra-example.pdf Binary files differindex 24ca714a75..24ca714a75 100644 --- a/macros/luatex/optex/pdfextra/examples/pdfextra-example.pdf +++ b/macros/luatex/generic/pdfextra/examples/pdfextra-example.pdf 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 Binary files differindex 9534e46bfa..9534e46bfa 100644 --- a/macros/luatex/optex/pdfextra/pdfextra-doc.pdf +++ b/macros/luatex/generic/pdfextra/pdfextra-doc.pdf 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 Binary files differindex c2882ce3ce..f549c2acc3 100644 --- a/systems/mac/mactex/ExtrasFolder.pdf +++ b/systems/mac/mactex/ExtrasFolder.pdf 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 Binary files differindex dd4f2888e2..07630d07ea 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma Binary files differindex 1c19bf5f13..d97e219182 100644 --- a/systems/win32/miktex/tm/packages/files.csv.lzma +++ b/systems/win32/miktex/tm/packages/files.csv.lzma diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma Binary files differindex ef30fc7db8..65c9ffaaf6 100644 --- a/systems/win32/miktex/tm/packages/next/files.csv.lzma +++ b/systems/win32/miktex/tm/packages/next/files.csv.lzma 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-----
@@ -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 |