diff options
author | Norbert Preining <norbert@preining.info> | 2024-04-05 03:01:13 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-04-05 03:01:13 +0000 |
commit | 593142f36834bedc8b6afe512e52bca2ee042dad (patch) | |
tree | a72b25eb6a1bddb1565a3003e488e3b91b7fa13c | |
parent | 00e667637a3a526b577b05c4d9fead45d65c4c57 (diff) |
CTAN sync 202404050301
55 files changed, 1998 insertions, 1154 deletions
diff --git a/FILES.byname b/FILES.byname index 260f5ff379..d2d1a9dcf3 100644 --- a/FILES.byname +++ b/FILES.byname @@ -2081,12 +2081,12 @@ 2024/03/12 | 1837 | biblio/citation-style-language/README.md 2024/03/12 | 12878 | biblio/citation-style-language/vancouver.csl 2024/03/12 | 4553440 | biblio/citation-style-language.zip -2024/04/03 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/04/04 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx -2024/04/03 | 2859814 | biblio/ctan-bibdata/ctan.bib -2024/04/03 | 3708800 | biblio/ctan-bibdata/ctan.pdf +2024/04/04 | 2859814 | biblio/ctan-bibdata/ctan.bib +2024/04/04 | 3708800 | biblio/ctan-bibdata/ctan.pdf 2023/01/16 | 1489 | biblio/ctan-bibdata/README -2024/04/03 | 4120011 | biblio/ctan-bibdata.zip +2024/04/04 | 4120023 | biblio/ctan-bibdata.zip 2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk 2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh 2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst @@ -5448,7 +5448,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 -2024/04/03 | 117125 | FILES.last07days +2024/04/04 | 68925 | 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 @@ -206686,7 +206686,7 @@ 2023/01/23 | 862071 | install/macros/generic/expkv-bundle.tds.zip 2022/02/04 | 232668 | install/macros/generic/iftex.tds.zip 2012/09/20 | 321508 | install/macros/generic/langcode.tds.zip -2024/03/09 | 1578620 | install/macros/generic/markdown.tds.zip +2024/04/04 | 1591206 | install/macros/generic/markdown.tds.zip 2014/06/11 | 428488 | install/macros/generic/mathdots.tds.zip 2024/04/02 | 2935898 | install/macros/generic/memoize.tds.zip 2014/01/02 | 496633 | install/macros/generic/minifp.tds.zip @@ -206758,7 +206758,7 @@ 2008/05/21 | 226177 | install/macros/latex/contrib/conferences/icsv.tds.zip 2024/02/08 | 941417 | install/macros/latex/contrib/contract.tds.zip 2009/06/06 | 535939 | install/macros/latex/contrib/cpssp.tds.zip -2022/09/14 | 349032 | install/macros/latex/contrib/csquotes.tds.zip +2024/04/04 | 348887 | install/macros/latex/contrib/csquotes.tds.zip 2024/01/19 | 2140492 | install/macros/latex/contrib/csvsimple.tds.zip 2014/05/27 | 124630 | install/macros/latex/contrib/cv4tw.tds.zip 2013/03/29 | 241651 | install/macros/latex/contrib/dashrule.tds.zip @@ -207012,7 +207012,7 @@ 2016/09/02 | 108688 | install/macros/luatex/generic/cstypo.tds.zip 2015/10/01 | 154538 | install/macros/luatex/generic/ctablestack.tds.zip 2023/08/20 | 288576 | install/macros/luatex/generic/lualibs.tds.zip -2024/03/29 | 209399 | install/macros/luatex/generic/luamplib.tds.zip +2024/04/04 | 210667 | install/macros/luatex/generic/luamplib.tds.zip 2024/02/28 | 1996110 | install/macros/luatex/generic/luaotfload.tds.zip 2015/10/04 | 277014 | install/macros/luatex/generic/luatexbase.tds.zip 2024/03/11 | 1408589 | install/macros/luatex/generic/lua-widow-control.tds.zip @@ -215322,24 +215322,24 @@ 2016/06/15 | 170646 | macros/generic/luatex85/luatex85.pdf 2016/06/15 | 316 | macros/generic/luatex85/README.md 2016/06/15 | 173375 | macros/generic/luatex85.zip -2024/03/09 | 43900 | macros/generic/markdown/CHANGES.md -2024/03/09 | 4405 | macros/generic/markdown/docstrip.cfg -2024/03/09 | 2189 | macros/generic/markdown/examples/context-mkiv.tex -2024/03/09 | 3832 | macros/generic/markdown/examples/example.md -2024/03/09 | 1369 | macros/generic/markdown/examples/latex-luatex.tex -2024/03/09 | 1778 | macros/generic/markdown/examples/latex-pdftex.tex -2024/03/09 | 9855 | macros/generic/markdown/examples/optex.tex -2024/03/09 | 75 | macros/generic/markdown/examples/scientists.csv -2024/03/09 | 22881 | macros/generic/markdown/libraries/markdown-tinyyaml.lua -2024/03/09 | 4681 | macros/generic/markdown/markdown.css -2024/03/09 | 952204 | macros/generic/markdown/markdown.dtx -2024/03/09 | 1037811 | macros/generic/markdown/markdown.html -2024/03/09 | 1650 | macros/generic/markdown/markdown.ins -2024/03/09 | 1089312 | macros/generic/markdown/markdown.pdf -2024/03/09 | 140951 | macros/generic/markdown/markdown.png -2024/03/09 | 21983 | macros/generic/markdown/README.md -2024/03/09 | 31 | macros/generic/markdown/VERSION -2024/03/09 | 1483232 | macros/generic/markdown.zip +2024/04/04 | 44957 | macros/generic/markdown/CHANGES.md +2024/04/04 | 4405 | macros/generic/markdown/docstrip.cfg +2024/04/04 | 2189 | macros/generic/markdown/examples/context-mkiv.tex +2024/04/04 | 3832 | macros/generic/markdown/examples/example.md +2024/04/04 | 1369 | macros/generic/markdown/examples/latex-luatex.tex +2024/04/04 | 1778 | macros/generic/markdown/examples/latex-pdftex.tex +2024/04/04 | 9855 | macros/generic/markdown/examples/optex.tex +2024/04/04 | 75 | macros/generic/markdown/examples/scientists.csv +2024/04/04 | 22881 | macros/generic/markdown/libraries/markdown-tinyyaml.lua +2024/04/04 | 4681 | macros/generic/markdown/markdown.css +2024/04/04 | 959268 | macros/generic/markdown/markdown.dtx +2024/04/04 | 1037601 | macros/generic/markdown/markdown.html +2024/04/04 | 1650 | macros/generic/markdown/markdown.ins +2024/04/04 | 1099548 | macros/generic/markdown/markdown.pdf +2024/04/04 | 140951 | macros/generic/markdown/markdown.png +2024/04/04 | 22528 | macros/generic/markdown/README.md +2024/04/04 | 31 | macros/generic/markdown/VERSION +2024/04/04 | 1494756 | macros/generic/markdown.zip 2014/06/11 | 20744 | macros/generic/mathdots/mathdots.dtx 2014/06/11 | 1203 | macros/generic/mathdots/mathdots.ins 2014/06/11 | 258547 | macros/generic/mathdots/mathdots.pdf @@ -223766,44 +223766,44 @@ 2024/01/30 | 464 | macros/latex/contrib/achemso/LICENSE.md 2024/01/30 | 1333 | macros/latex/contrib/achemso/README.md 2024/01/30 | 918111 | macros/latex/contrib/achemso.zip -2024/04/01 | 2773 | macros/latex/contrib/acmart/acmart.bib -2024/04/01 | 291391 | macros/latex/contrib/acmart/acmart.dtx +2024/04/04 | 2773 | macros/latex/contrib/acmart/acmart.bib +2024/04/04 | 291479 | macros/latex/contrib/acmart/acmart.dtx 2023/03/26 | 1016 | macros/latex/contrib/acmart/acmart.ins -2024/04/01 | 915513 | macros/latex/contrib/acmart/acmart.pdf +2024/04/04 | 915325 | macros/latex/contrib/acmart/acmart.pdf 2023/03/26 | 20721 | macros/latex/contrib/acmart/acmauthoryear.bbx 2023/03/26 | 6245 | macros/latex/contrib/acmart/acmauthoryear.cbx 2023/03/26 | 1093 | macros/latex/contrib/acmart/acmdatamodel.dbx -2024/04/01 | 441025 | macros/latex/contrib/acmart/acmguide.pdf +2024/04/04 | 441031 | macros/latex/contrib/acmart/acmguide.pdf 2023/06/12 | 19718 | macros/latex/contrib/acmart/acm-jdslogo.png 2023/03/26 | 19840 | macros/latex/contrib/acmart/acmnumeric.bbx 2023/03/26 | 90 | macros/latex/contrib/acmart/acmnumeric.cbx 2023/03/31 | 90332 | macros/latex/contrib/acmart/ACM-Reference-Format.bst -2024/04/01 | 5512 | macros/latex/contrib/acmart/Makefile -2024/04/01 | 13491 | macros/latex/contrib/acmart/README +2024/04/04 | 5512 | macros/latex/contrib/acmart/Makefile +2024/04/04 | 13531 | macros/latex/contrib/acmart/README 2023/03/26 | 4825 | macros/latex/contrib/acmart/samples/abbrev.bib 2024/02/06 | 12834 | macros/latex/contrib/acmart/samples/acmengage.dtx -2024/04/01 | 215115 | macros/latex/contrib/acmart/samples/sample-acmcp.pdf -2024/04/01 | 400681 | macros/latex/contrib/acmart/samples/sample-acmengage.pdf -2024/04/01 | 611834 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf -2024/04/01 | 634465 | macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf -2024/04/01 | 1057103 | macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf -2024/04/01 | 621763 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf -2024/04/01 | 624275 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf -2024/04/01 | 569862 | macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf -2024/04/01 | 569337 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf +2024/04/04 | 215115 | macros/latex/contrib/acmart/samples/sample-acmcp.pdf +2024/04/04 | 400681 | macros/latex/contrib/acmart/samples/sample-acmengage.pdf +2024/04/04 | 611834 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf +2024/04/04 | 634465 | macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf +2024/04/04 | 1057098 | macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf +2024/04/04 | 621763 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf +2024/04/04 | 624275 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf +2024/04/04 | 569862 | macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf +2024/04/04 | 569337 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf 2023/03/26 | 53502 | macros/latex/contrib/acmart/samples/sample-base.bib 2023/03/26 | 95030 | macros/latex/contrib/acmart/samples/sample-franklin.png -2024/04/01 | 623270 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf -2024/04/01 | 39784 | macros/latex/contrib/acmart/samples/samples.dtx -2024/04/01 | 1048896 | macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf -2024/04/01 | 622211 | macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf -2024/04/01 | 1060387 | macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf -2024/04/01 | 1045103 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf -2024/04/01 | 1053568 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf -2024/04/01 | 1560 | macros/latex/contrib/acmart/samples/samples.ins +2024/04/04 | 623270 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf +2024/04/04 | 39784 | macros/latex/contrib/acmart/samples/samples.dtx +2024/04/04 | 1048892 | macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf +2024/04/04 | 622211 | macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf +2024/04/04 | 1060387 | macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf +2024/04/04 | 1045103 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf +2024/04/04 | 1053568 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf +2024/04/04 | 1560 | macros/latex/contrib/acmart/samples/samples.ins 2023/03/26 | 439021 | macros/latex/contrib/acmart/samples/sampleteaser.pdf 2023/03/26 | 5221 | macros/latex/contrib/acmart/samples/software.bib -2024/04/01 | 12332568 | macros/latex/contrib/acmart.zip +2024/04/04 | 12332773 | macros/latex/contrib/acmart.zip 2000/05/18 | 66049 | macros/latex/contrib/acmconf/acmconf.dtx 2000/05/18 | 4408 | macros/latex/contrib/acmconf/acmconf.ins 2008/05/14 | 96012 | macros/latex/contrib/acmconf/acmconf.pdf @@ -230800,14 +230800,14 @@ 2022/12/12 | 17445 | macros/latex/contrib/csbulletin/tex/csbulobalka.sty 2022/12/12 | 1126 | macros/latex/contrib/csbulletin/tex/csbulv1.cls 2022/12/12 | 298869 | macros/latex/contrib/csbulletin.zip -2022/09/14 | 3753 | macros/latex/contrib/csquotes/csq-compat.def -2022/09/14 | 7068 | macros/latex/contrib/csquotes/csquotes.cfg -2022/09/14 | 21994 | macros/latex/contrib/csquotes/csquotes.def -2022/09/14 | 304934 | macros/latex/contrib/csquotes/csquotes.pdf -2022/09/14 | 62761 | macros/latex/contrib/csquotes/csquotes.sty -2022/09/14 | 123961 | macros/latex/contrib/csquotes/csquotes.tex -2022/09/14 | 3282 | macros/latex/contrib/csquotes/README.md -2022/09/14 | 348574 | macros/latex/contrib/csquotes.zip +2024/04/04 | 3753 | macros/latex/contrib/csquotes/csq-compat.def +2024/04/04 | 7068 | macros/latex/contrib/csquotes/csquotes.cfg +2024/04/04 | 22135 | macros/latex/contrib/csquotes/csquotes.def +2024/04/04 | 305085 | macros/latex/contrib/csquotes/csquotes.pdf +2024/04/04 | 62767 | macros/latex/contrib/csquotes/csquotes.sty +2024/04/04 | 124224 | macros/latex/contrib/csquotes/csquotes.tex +2024/04/04 | 3282 | macros/latex/contrib/csquotes/README.md +2024/04/04 | 348332 | macros/latex/contrib/csquotes.zip 2016/12/22 | 2097610 | macros/latex/contrib/css-colors/css-colors.pdf 2017/04/19 | 7201 | macros/latex/contrib/css-colors/css-colors.sty 2017/04/19 | 25397 | macros/latex/contrib/css-colors/css-colors.xlsx @@ -230978,15 +230978,15 @@ 2008/08/25 | 8826 | macros/latex/contrib/custom-bib/suppjour.mbs 2008/08/25 | 7460 | macros/latex/contrib/custom-bib/svenska.mbs 2011/11/18 | 900708 | macros/latex/contrib/custom-bib.zip -2024/03/30 | 116272 | macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf -2024/03/30 | 13312 | macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex -2024/03/30 | 519283 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf -2024/03/30 | 34437 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex +2024/04/04 | 182916 | macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf +2024/04/04 | 16453 | macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex +2024/04/04 | 1399073 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf +2024/04/04 | 38022 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex 2024/03/30 | 177853 | macros/latex/contrib/customenvs/doc/envtexo_exemples.pdf -2024/03/30 | 2034 | macros/latex/contrib/customenvs/doc/envtexo_exemples.tex +2024/03/30 | 2112 | macros/latex/contrib/customenvs/doc/envtexo_exemples.tex 2024/03/18 | 593 | macros/latex/contrib/customenvs/README.md -2024/03/30 | 44438 | macros/latex/contrib/customenvs/tex/customenvs.sty -2024/03/30 | 819956 | macros/latex/contrib/customenvs.zip +2024/04/04 | 56521 | macros/latex/contrib/customenvs/tex/customenvs.sty +2024/04/04 | 1768114 | macros/latex/contrib/customenvs.zip 2021/10/30 | 33647 | macros/latex/contrib/cutwin/cutwin.dtx 2021/10/30 | 2844 | macros/latex/contrib/cutwin/cutwin.ins 2021/10/30 | 341874 | macros/latex/contrib/cutwin/cutwin.pdf @@ -248418,10 +248418,11 @@ 2024/03/29 | 62779 | macros/latex/contrib/rec-thy/rec-thy.sty 2024/03/29 | 65516 | macros/latex/contrib/rec-thy/rec-thy.tex 2024/03/29 | 145187 | macros/latex/contrib/rec-thy.zip -2002/01/08 | 3262 | macros/latex/contrib/rectopma/rectopma.sty -2010/10/02 | 114178 | macros/latex/contrib/rectopma/TestTitle.pdf -2002/01/08 | 2035 | macros/latex/contrib/rectopma/TestTitle.tex -2010/10/02 | 115711 | macros/latex/contrib/rectopma.zip +2024/04/04 | 908 | macros/latex/contrib/rectopma/README.txt +2024/04/04 | 6777 | macros/latex/contrib/rectopma/rectopma.dtx +2024/04/04 | 141599 | macros/latex/contrib/rectopma/rectopma.pdf +2024/04/04 | 101830 | macros/latex/contrib/rectopma/TestTitle.pdf +2024/04/04 | 237124 | macros/latex/contrib/rectopma.zip 2013/02/14 | 333 | macros/latex/contrib/refcheck/README 2013/02/14 | 9318 | macros/latex/contrib/refcheck/refcheck.sty 2013/02/14 | 41597 | macros/latex/contrib/refcheck/refdemo.pdf @@ -258432,14 +258433,14 @@ 2023/08/20 | 3334 | macros/luatex/generic/lualibs/NEWS 2023/08/20 | 4823 | macros/luatex/generic/lualibs/README.md 2023/08/20 | 282788 | macros/luatex/generic/lualibs.zip -2024/03/29 | 100894 | macros/luatex/generic/luamplib/luamplib.dtx -2024/03/29 | 158381 | macros/luatex/generic/luamplib/luamplib.pdf -2024/03/29 | 2752 | macros/luatex/generic/luamplib/Makefile -2024/03/29 | 11471 | macros/luatex/generic/luamplib/NEWS -2024/03/29 | 2058 | macros/luatex/generic/luamplib/README -2024/03/29 | 5729 | macros/luatex/generic/luamplib/test-luamplib-latex.tex -2024/03/29 | 3896 | macros/luatex/generic/luamplib/test-luamplib-plain.tex -2024/03/29 | 193933 | macros/luatex/generic/luamplib.zip +2024/04/04 | 101201 | macros/luatex/generic/luamplib/luamplib.dtx +2024/04/04 | 159122 | macros/luatex/generic/luamplib/luamplib.pdf +2024/04/04 | 2752 | macros/luatex/generic/luamplib/Makefile +2024/04/04 | 11897 | macros/luatex/generic/luamplib/NEWS +2024/04/04 | 2058 | macros/luatex/generic/luamplib/README +2024/04/04 | 5729 | macros/luatex/generic/luamplib/test-luamplib-latex.tex +2024/04/04 | 3896 | macros/luatex/generic/luamplib/test-luamplib-plain.tex +2024/04/04 | 194977 | macros/luatex/generic/luamplib.zip 2024/02/28 | 18714 | macros/luatex/generic/luaotfload/COPYING 2024/02/28 | 40007 | macros/luatex/generic/luaotfload/filegraph.pdf 2024/02/28 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex @@ -306706,7 +306707,7 @@ 2023/12/14 | 704 | systems/texlive/tlnet/archive/collection-latex.r69131.tar.xz 2024/02/14 | 740 | systems/texlive/tlnet/archive/collection-latexrecommended.r69841.tar.xz 2024/03/26 | 1040 | systems/texlive/tlnet/archive/collection-luatex.r70765.tar.xz -2024/03/28 | 1748 | systems/texlive/tlnet/archive/collection-mathscience.r70789.tar.xz +2024/04/04 | 1748 | systems/texlive/tlnet/archive/collection-mathscience.r70842.tar.xz 2023/05/12 | 564 | systems/texlive/tlnet/archive/collection-metapost.r67071.tar.xz 2024/01/28 | 508 | systems/texlive/tlnet/archive/collection-music.r69613.tar.xz 2024/03/10 | 1684 | systems/texlive/tlnet/archive/collection-pictures.r70530.tar.xz @@ -306730,6 +306731,8 @@ 2020/10/20 | 231020 | systems/texlive/tlnet/archive/color-edits.doc.r56707.tar.xz 2020/10/20 | 1920 | systems/texlive/tlnet/archive/color-edits.r56707.tar.xz 2020/10/20 | 7604 | systems/texlive/tlnet/archive/color-edits.source.r56707.tar.xz +2024/04/04 | 205716 | systems/texlive/tlnet/archive/coloredtheorem.doc.r70842.tar.xz +2024/04/04 | 1336 | systems/texlive/tlnet/archive/coloredtheorem.r70842.tar.xz 2022/09/30 | 30740 | systems/texlive/tlnet/archive/colorframed.doc.r64551.tar.xz 2022/09/30 | 3060 | systems/texlive/tlnet/archive/colorframed.r64551.tar.xz 2019/02/28 | 784 | systems/texlive/tlnet/archive/colorinfo.doc.r15878.tar.xz @@ -307264,7 +307267,7 @@ 2024/03/11 | 155424 | systems/texlive/tlnet/archive/cweb.amd64-freebsd.r70571.tar.xz 2024/03/26 | 151140 | systems/texlive/tlnet/archive/cweb.amd64-netbsd.r70758.tar.xz 2024/03/12 | 121472 | systems/texlive/tlnet/archive/cweb.armhf-linux.r70588.tar.xz -2024/03/14 | 77276 | systems/texlive/tlnet/archive/cweb.doc.r70629.tar.xz +2024/04/04 | 77268 | systems/texlive/tlnet/archive/cweb.doc.r70837.tar.xz 2024/03/11 | 155404 | systems/texlive/tlnet/archive/cweb.i386-freebsd.r70571.tar.xz 2024/03/11 | 148020 | systems/texlive/tlnet/archive/cweb.i386-linux.r70571.tar.xz 2024/03/26 | 120124 | systems/texlive/tlnet/archive/cweb.i386-netbsd.r70758.tar.xz @@ -307272,7 +307275,7 @@ 2019/02/28 | 240884 | systems/texlive/tlnet/archive/cweb-latex.doc.r28878.tar.xz 2019/02/28 | 36236 | systems/texlive/tlnet/archive/cweb-latex.r28878.tar.xz 2019/02/28 | 9720 | systems/texlive/tlnet/archive/cweb-old.r49271.tar.xz -2024/03/14 | 26696 | systems/texlive/tlnet/archive/cweb.r70629.tar.xz +2024/04/04 | 26700 | systems/texlive/tlnet/archive/cweb.r70837.tar.xz 2024/03/11 | 342540 | systems/texlive/tlnet/archive/cweb.universal-darwin.r70570.tar.xz 2024/03/11 | 112664 | systems/texlive/tlnet/archive/cweb.windows.r70576.tar.xz 2024/03/26 | 114396 | systems/texlive/tlnet/archive/cweb.x86_64-cygwin.r70766.tar.xz @@ -308081,9 +308084,9 @@ 2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz 2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz 2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz -2024/03/16 | 633684 | systems/texlive/tlnet/archive/easybook.doc.r70651.tar.xz -2024/03/16 | 16844 | systems/texlive/tlnet/archive/easybook.r70651.tar.xz -2024/03/16 | 16732 | systems/texlive/tlnet/archive/easybook.source.r70651.tar.xz +2024/04/04 | 633812 | systems/texlive/tlnet/archive/easybook.doc.r70843.tar.xz +2024/04/04 | 16828 | systems/texlive/tlnet/archive/easybook.r70843.tar.xz +2024/04/04 | 16724 | systems/texlive/tlnet/archive/easybook.source.r70843.tar.xz 2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz 2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.aarch64-linux.r68514.tar.xz 2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.amd64-freebsd.r68514.tar.xz @@ -309282,9 +309285,9 @@ 2019/02/28 | 180884 | systems/texlive/tlnet/archive/fundus-sueterlin.doc.r26030.tar.xz 2019/02/28 | 1556 | systems/texlive/tlnet/archive/fundus-sueterlin.r26030.tar.xz 2019/02/28 | 3576 | systems/texlive/tlnet/archive/fundus-sueterlin.source.r26030.tar.xz -2023/11/30 | 882620 | systems/texlive/tlnet/archive/fvextra.doc.r69001.tar.xz -2023/11/30 | 13720 | systems/texlive/tlnet/archive/fvextra.r69001.tar.xz -2023/11/30 | 59784 | systems/texlive/tlnet/archive/fvextra.source.r69001.tar.xz +2024/04/04 | 882620 | systems/texlive/tlnet/archive/fvextra.doc.r70838.tar.xz +2024/04/04 | 13728 | systems/texlive/tlnet/archive/fvextra.r70838.tar.xz +2024/04/04 | 59788 | systems/texlive/tlnet/archive/fvextra.source.r70838.tar.xz 2019/02/28 | 36676 | systems/texlive/tlnet/archive/fwlw.doc.r29803.tar.xz 2019/02/28 | 3064 | systems/texlive/tlnet/archive/fwlw.r29803.tar.xz 2019/02/28 | 124196 | systems/texlive/tlnet/archive/gaceta.doc.r15878.tar.xz @@ -309450,8 +309453,8 @@ 2019/02/28 | 137796 | systems/texlive/tlnet/archive/gitinfo2.doc.r38913.tar.xz 2019/02/28 | 3592 | systems/texlive/tlnet/archive/gitinfo2.r38913.tar.xz 2019/02/28 | 83948 | systems/texlive/tlnet/archive/gitinfo.doc.r34049.tar.xz -2024/02/24 | 117708 | systems/texlive/tlnet/archive/gitinfo-lua.doc.r70112.tar.xz -2024/02/24 | 5012 | systems/texlive/tlnet/archive/gitinfo-lua.r70112.tar.xz +2024/04/04 | 117932 | systems/texlive/tlnet/archive/gitinfo-lua.doc.r70849.tar.xz +2024/04/04 | 5240 | systems/texlive/tlnet/archive/gitinfo-lua.r70849.tar.xz 2019/02/28 | 1952 | systems/texlive/tlnet/archive/gitinfo.r34049.tar.xz 2020/04/15 | 340 | systems/texlive/tlnet/archive/git-latexdiff.aarch64-linux.r54732.tar.xz 2020/04/15 | 340 | systems/texlive/tlnet/archive/git-latexdiff.amd64-freebsd.r54732.tar.xz @@ -310782,12 +310785,12 @@ 2024/03/18 | 352 | systems/texlive/tlnet/archive/l3sys-query.amd64-freebsd.r70681.tar.xz 2024/03/18 | 352 | systems/texlive/tlnet/archive/l3sys-query.amd64-netbsd.r70681.tar.xz 2024/03/18 | 352 | systems/texlive/tlnet/archive/l3sys-query.armhf-linux.r70681.tar.xz -2024/03/29 | 381664 | systems/texlive/tlnet/archive/l3sys-query.doc.r70797.tar.xz +2024/04/04 | 383644 | systems/texlive/tlnet/archive/l3sys-query.doc.r70851.tar.xz 2024/03/18 | 352 | systems/texlive/tlnet/archive/l3sys-query.i386-freebsd.r70681.tar.xz 2024/03/18 | 348 | systems/texlive/tlnet/archive/l3sys-query.i386-linux.r70681.tar.xz 2024/03/18 | 348 | systems/texlive/tlnet/archive/l3sys-query.i386-netbsd.r70681.tar.xz 2024/03/18 | 352 | systems/texlive/tlnet/archive/l3sys-query.i386-solaris.r70681.tar.xz -2024/03/29 | 5412 | systems/texlive/tlnet/archive/l3sys-query.r70797.tar.xz +2024/04/04 | 5404 | systems/texlive/tlnet/archive/l3sys-query.r70851.tar.xz 2024/03/18 | 352 | systems/texlive/tlnet/archive/l3sys-query.universal-darwin.r70681.tar.xz 2024/03/18 | 2320 | systems/texlive/tlnet/archive/l3sys-query.windows.r70681.tar.xz 2024/03/18 | 352 | systems/texlive/tlnet/archive/l3sys-query.x86_64-cygwin.r70681.tar.xz @@ -311072,12 +311075,12 @@ 2019/02/28 | 340 | systems/texlive/tlnet/archive/latexmk.amd64-freebsd.r16472.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/latexmk.amd64-netbsd.r30191.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/latexmk.armhf-linux.r30015.tar.xz -2024/04/03 | 554708 | systems/texlive/tlnet/archive/latexmk.doc.r70835.tar.xz +2024/04/04 | 551848 | systems/texlive/tlnet/archive/latexmk.doc.r70853.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/latexmk.i386-freebsd.r16472.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/latexmk.i386-linux.r10937.tar.xz 2019/02/28 | 336 | systems/texlive/tlnet/archive/latexmk.i386-netbsd.r30191.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/latexmk.i386-solaris.r10937.tar.xz -2024/04/03 | 117260 | systems/texlive/tlnet/archive/latexmk.r70835.tar.xz +2024/04/04 | 117260 | systems/texlive/tlnet/archive/latexmk.r70853.tar.xz 2021/02/25 | 340 | systems/texlive/tlnet/archive/latexmk.universal-darwin.r57908.tar.xz 2023/02/20 | 2300 | systems/texlive/tlnet/archive/latexmk.windows.r65891.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/latexmk.x86_64-cygwin.r33557.tar.xz @@ -311770,8 +311773,8 @@ 2020/04/19 | 1700 | systems/texlive/tlnet/archive/luapackageloader.r54779.tar.xz 2021/05/09 | 415236 | systems/texlive/tlnet/archive/lua-physical.doc.r59138.tar.xz 2021/05/09 | 359576 | systems/texlive/tlnet/archive/lua-physical.r59138.tar.xz -2024/02/22 | 268152 | systems/texlive/tlnet/archive/lua-placeholders.doc.r70048.tar.xz -2024/02/22 | 5592 | systems/texlive/tlnet/archive/lua-placeholders.r70048.tar.xz +2024/04/04 | 271004 | systems/texlive/tlnet/archive/lua-placeholders.doc.r70850.tar.xz +2024/04/04 | 5652 | systems/texlive/tlnet/archive/lua-placeholders.r70850.tar.xz 2023/11/21 | 127776 | systems/texlive/tlnet/archive/luaplot.doc.r68918.tar.xz 2023/11/21 | 2232 | systems/texlive/tlnet/archive/luaplot.r68918.tar.xz 2020/08/15 | 442728 | systems/texlive/tlnet/archive/luaprogtable.doc.r56113.tar.xz @@ -312111,9 +312114,9 @@ 2019/02/28 | 340 | systems/texlive/tlnet/archive/mathspic.x86_64-solaris.r23661.tar.xz 2019/02/28 | 348784 | systems/texlive/tlnet/archive/maths-symbols.doc.r37763.tar.xz 2019/02/28 | 520 | systems/texlive/tlnet/archive/maths-symbols.r37763.tar.xz -2024/03/12 | 1044788 | systems/texlive/tlnet/archive/mathtools.doc.r70596.tar.xz -2024/03/12 | 20532 | systems/texlive/tlnet/archive/mathtools.r70596.tar.xz -2024/03/12 | 91180 | systems/texlive/tlnet/archive/mathtools.source.r70596.tar.xz +2024/04/04 | 1044780 | systems/texlive/tlnet/archive/mathtools.doc.r70838.tar.xz +2024/04/04 | 20532 | systems/texlive/tlnet/archive/mathtools.r70838.tar.xz +2024/04/04 | 91172 | systems/texlive/tlnet/archive/mathtools.source.r70838.tar.xz 2019/02/28 | 663904 | systems/texlive/tlnet/archive/matlab-prettifier.doc.r34323.tar.xz 2019/02/28 | 4140 | systems/texlive/tlnet/archive/matlab-prettifier.r34323.tar.xz 2019/02/28 | 21700 | systems/texlive/tlnet/archive/matlab-prettifier.source.r34323.tar.xz @@ -312183,13 +312186,13 @@ 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.amd64-freebsd.r68515.tar.xz 2023/10/12 | 392 | systems/texlive/tlnet/archive/memoize.amd64-netbsd.r68515.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.armhf-linux.r68515.tar.xz -2024/03/19 | 2565724 | systems/texlive/tlnet/archive/memoize.doc.r70690.tar.xz +2024/04/04 | 2576944 | systems/texlive/tlnet/archive/memoize.doc.r70841.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.i386-freebsd.r68515.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.i386-linux.r68515.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.i386-netbsd.r68515.tar.xz 2023/10/12 | 392 | systems/texlive/tlnet/archive/memoize.i386-solaris.r68515.tar.xz -2024/03/19 | 28388 | systems/texlive/tlnet/archive/memoize.r70690.tar.xz -2024/03/19 | 40136 | systems/texlive/tlnet/archive/memoize.source.r70690.tar.xz +2024/04/04 | 28452 | systems/texlive/tlnet/archive/memoize.r70841.tar.xz +2024/04/04 | 40252 | systems/texlive/tlnet/archive/memoize.source.r70841.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.universal-darwin.r68515.tar.xz 2023/10/12 | 2404 | systems/texlive/tlnet/archive/memoize.windows.r68515.tar.xz 2023/10/12 | 400 | systems/texlive/tlnet/archive/memoize.x86_64-cygwin.r68515.tar.xz @@ -312429,16 +312432,16 @@ 2019/02/28 | 43836 | systems/texlive/tlnet/archive/minifp.source.r32559.tar.xz 2024/03/01 | 8120 | systems/texlive/tlnet/archive/minimalist.doc.r70302.tar.xz 2024/03/01 | 13100 | systems/texlive/tlnet/archive/minimalist.r70302.tar.xz -2024/03/04 | 362300 | systems/texlive/tlnet/archive/minim.doc.r70379.tar.xz +2024/04/04 | 375300 | systems/texlive/tlnet/archive/minim.doc.r70848.tar.xz 2022/03/05 | 26048 | systems/texlive/tlnet/archive/minim-hatching.doc.r62395.tar.xz 2022/03/05 | 2232 | systems/texlive/tlnet/archive/minim-hatching.r62395.tar.xz 2024/01/09 | 100224 | systems/texlive/tlnet/archive/minim-math.doc.r69352.tar.xz 2024/01/09 | 34080 | systems/texlive/tlnet/archive/minim-math.r69352.tar.xz -2024/03/01 | 117156 | systems/texlive/tlnet/archive/minim-mp.doc.r70310.tar.xz -2024/03/01 | 21100 | systems/texlive/tlnet/archive/minim-mp.r70310.tar.xz +2024/04/04 | 131668 | systems/texlive/tlnet/archive/minim-mp.doc.r70847.tar.xz +2024/04/04 | 22564 | systems/texlive/tlnet/archive/minim-mp.r70847.tar.xz 2024/03/01 | 142708 | systems/texlive/tlnet/archive/minim-pdf.doc.r70311.tar.xz 2024/03/01 | 17504 | systems/texlive/tlnet/archive/minim-pdf.r70311.tar.xz -2024/03/04 | 25248 | systems/texlive/tlnet/archive/minim.r70379.tar.xz +2024/04/04 | 25344 | systems/texlive/tlnet/archive/minim.r70848.tar.xz 2024/01/09 | 61960 | systems/texlive/tlnet/archive/minim-xmp.doc.r69352.tar.xz 2024/01/09 | 6392 | systems/texlive/tlnet/archive/minim-xmp.r69352.tar.xz 2019/02/28 | 72252 | systems/texlive/tlnet/archive/minipage-marginpar.doc.r15878.tar.xz @@ -312450,9 +312453,9 @@ 2022/01/24 | 41912 | systems/texlive/tlnet/archive/minitoc.r61719.tar.xz 2019/02/28 | 166396 | systems/texlive/tlnet/archive/minorrevision.doc.r32165.tar.xz 2019/02/28 | 1584 | systems/texlive/tlnet/archive/minorrevision.r32165.tar.xz -2023/12/19 | 850300 | systems/texlive/tlnet/archive/minted.doc.r69163.tar.xz -2023/12/19 | 10148 | systems/texlive/tlnet/archive/minted.r69163.tar.xz -2023/12/19 | 47940 | systems/texlive/tlnet/archive/minted.source.r69163.tar.xz +2024/04/04 | 850304 | systems/texlive/tlnet/archive/minted.doc.r70838.tar.xz +2024/04/04 | 10156 | systems/texlive/tlnet/archive/minted.r70838.tar.xz +2024/04/04 | 47940 | systems/texlive/tlnet/archive/minted.source.r70838.tar.xz 2022/09/23 | 308412 | systems/texlive/tlnet/archive/mintspirit.doc.r64461.tar.xz 2022/09/23 | 1105472 | systems/texlive/tlnet/archive/mintspirit.r64461.tar.xz 2019/02/28 | 393404 | systems/texlive/tlnet/archive/minutes.doc.r42186.tar.xz @@ -312571,8 +312574,8 @@ 2019/02/28 | 14064 | systems/texlive/tlnet/archive/mnsymbol.source.r18651.tar.xz 2023/08/08 | 260140 | systems/texlive/tlnet/archive/modeles-factures-belges-assocs.doc.r67840.tar.xz 2023/08/08 | 3036 | systems/texlive/tlnet/archive/modeles-factures-belges-assocs.r67840.tar.xz -2022/02/22 | 246664 | systems/texlive/tlnet/archive/moderncv.doc.r62128.tar.xz -2022/02/22 | 34180 | systems/texlive/tlnet/archive/moderncv.r62128.tar.xz +2024/04/04 | 246668 | systems/texlive/tlnet/archive/moderncv.doc.r70838.tar.xz +2024/04/04 | 34204 | systems/texlive/tlnet/archive/moderncv.r70838.tar.xz 2019/02/28 | 391208 | systems/texlive/tlnet/archive/modernposter.doc.r47269.tar.xz 2019/02/28 | 2552 | systems/texlive/tlnet/archive/modernposter.r47269.tar.xz 2020/06/12 | 186684 | systems/texlive/tlnet/archive/moderntimeline.doc.r55518.tar.xz @@ -312686,8 +312689,8 @@ 2020/03/04 | 8972 | systems/texlive/tlnet/archive/mslapa.r54080.tar.xz 2021/01/20 | 3064 | systems/texlive/tlnet/archive/ms.r57473.tar.xz 2021/01/20 | 10948 | systems/texlive/tlnet/archive/ms.source.r57473.tar.xz -2023/10/09 | 539772 | systems/texlive/tlnet/archive/msu-thesis.doc.r68480.tar.xz -2023/10/09 | 13332 | systems/texlive/tlnet/archive/msu-thesis.r68480.tar.xz +2024/04/04 | 539736 | systems/texlive/tlnet/archive/msu-thesis.doc.r70844.tar.xz +2024/04/04 | 13516 | systems/texlive/tlnet/archive/msu-thesis.r70844.tar.xz 2019/02/28 | 160144 | systems/texlive/tlnet/archive/mtgreek.doc.r17967.tar.xz 2019/02/28 | 1744 | systems/texlive/tlnet/archive/mtgreek.r17967.tar.xz 2019/02/28 | 2800 | systems/texlive/tlnet/archive/mtgreek.source.r17967.tar.xz @@ -312946,8 +312949,8 @@ 2019/02/28 | 196212 | systems/texlive/tlnet/archive/newspaper.doc.r15878.tar.xz 2019/02/28 | 1924 | systems/texlive/tlnet/archive/newspaper.r15878.tar.xz 2019/02/28 | 6804 | systems/texlive/tlnet/archive/newspaper.source.r15878.tar.xz -2024/03/26 | 974528 | systems/texlive/tlnet/archive/newtx.doc.r70760.tar.xz -2024/03/26 | 6063364 | systems/texlive/tlnet/archive/newtx.r70760.tar.xz +2024/04/04 | 974552 | systems/texlive/tlnet/archive/newtx.doc.r70839.tar.xz +2024/04/04 | 6063380 | systems/texlive/tlnet/archive/newtx.r70839.tar.xz 2024/01/27 | 263284 | systems/texlive/tlnet/archive/newtxsf.doc.r69597.tar.xz 2024/01/27 | 106028 | systems/texlive/tlnet/archive/newtxsf.r69597.tar.xz 2024/03/14 | 338392 | systems/texlive/tlnet/archive/newtxtt.doc.r70620.tar.xz @@ -313822,8 +313825,8 @@ 2023/10/31 | 1350376 | systems/texlive/tlnet/archive/pgfornament-han.doc.r68704.tar.xz 2023/10/31 | 96368 | systems/texlive/tlnet/archive/pgfornament-han.r68704.tar.xz 2020/05/29 | 616692 | systems/texlive/tlnet/archive/pgfornament.r55326.tar.xz -2024/02/17 | 5570956 | systems/texlive/tlnet/archive/pgf-periodictable.doc.r69913.tar.xz -2024/02/17 | 513108 | systems/texlive/tlnet/archive/pgf-periodictable.r69913.tar.xz +2024/04/04 | 5567308 | systems/texlive/tlnet/archive/pgf-periodictable.doc.r70840.tar.xz +2024/04/04 | 515796 | systems/texlive/tlnet/archive/pgf-periodictable.r70840.tar.xz 2022/06/16 | 222616 | systems/texlive/tlnet/archive/pgf-pie.doc.r63603.tar.xz 2022/06/16 | 3744 | systems/texlive/tlnet/archive/pgf-pie.r63603.tar.xz 2022/01/24 | 13086868 | systems/texlive/tlnet/archive/pgfplots.doc.r61719.tar.xz @@ -314951,8 +314954,8 @@ 2022/12/28 | 67908 | systems/texlive/tlnet/archive/resmes.doc.r65375.tar.xz 2022/12/28 | 940 | systems/texlive/tlnet/archive/resmes.r65375.tar.xz 2022/12/28 | 1404 | systems/texlive/tlnet/archive/resmes.source.r65375.tar.xz -2023/02/27 | 475044 | systems/texlive/tlnet/archive/resolsysteme.doc.r66192.tar.xz -2023/02/27 | 8356 | systems/texlive/tlnet/archive/resolsysteme.r66192.tar.xz +2024/04/04 | 475128 | systems/texlive/tlnet/archive/resolsysteme.doc.r70845.tar.xz +2024/04/04 | 8376 | systems/texlive/tlnet/archive/resolsysteme.r70845.tar.xz 2019/05/03 | 525148 | systems/texlive/tlnet/archive/resphilosophica.doc.r50935.tar.xz 2019/05/03 | 12052 | systems/texlive/tlnet/archive/resphilosophica.r50935.tar.xz 2019/05/03 | 17828 | systems/texlive/tlnet/archive/resphilosophica.source.r50935.tar.xz @@ -315205,8 +315208,8 @@ 2024/02/02 | 404200 | systems/texlive/tlnet/archive/schooldocs.doc.r69659.tar.xz 2024/02/02 | 3060 | systems/texlive/tlnet/archive/schooldocs.r69659.tar.xz 2024/02/02 | 11388 | systems/texlive/tlnet/archive/schooldocs.source.r69659.tar.xz -2023/10/09 | 3882572 | systems/texlive/tlnet/archive/schule.doc.r68483.tar.xz -2023/10/09 | 40496 | systems/texlive/tlnet/archive/schule.r68483.tar.xz +2024/04/04 | 3887680 | systems/texlive/tlnet/archive/schule.doc.r70846.tar.xz +2024/04/04 | 40900 | systems/texlive/tlnet/archive/schule.r70846.tar.xz 2023/12/31 | 304816 | systems/texlive/tlnet/archive/schulmathematik.doc.r69244.tar.xz 2023/12/31 | 13924 | systems/texlive/tlnet/archive/schulmathematik.r69244.tar.xz 2021/05/30 | 720848 | systems/texlive/tlnet/archive/schulschriften.doc.r59388.tar.xz @@ -316076,8 +316079,8 @@ 2019/02/28 | 462992 | systems/texlive/tlnet/archive/tcldoc.doc.r22018.tar.xz 2019/02/28 | 7004 | systems/texlive/tlnet/archive/tcldoc.r22018.tar.xz 2019/02/28 | 41140 | systems/texlive/tlnet/archive/tcldoc.source.r22018.tar.xz -2024/01/11 | 5178032 | systems/texlive/tlnet/archive/tcolorbox.doc.r69370.tar.xz -2024/01/11 | 233576 | systems/texlive/tlnet/archive/tcolorbox.r69370.tar.xz +2024/04/04 | 5178036 | systems/texlive/tlnet/archive/tcolorbox.doc.r70838.tar.xz +2024/04/04 | 233592 | systems/texlive/tlnet/archive/tcolorbox.r70838.tar.xz 2019/02/28 | 244100 | systems/texlive/tlnet/archive/tdclock.doc.r33043.tar.xz 2019/02/28 | 3944 | systems/texlive/tlnet/archive/tdclock.r33043.tar.xz 2022/09/23 | 260804 | systems/texlive/tlnet/archive/tds.doc.r64477.tar.xz @@ -317905,9 +317908,9 @@ 2019/02/28 | 3812 | systems/texlive/tlnet/archive/worksheet.r48423.tar.xz 2023/11/14 | 4843176 | systems/texlive/tlnet/archive/worldflags.doc.r68827.tar.xz 2023/11/14 | 2074768 | systems/texlive/tlnet/archive/worldflags.r68827.tar.xz -2024/01/21 | 858660 | systems/texlive/tlnet/archive/wrapfig2.doc.r69513.tar.xz -2024/01/21 | 6664 | systems/texlive/tlnet/archive/wrapfig2.r69513.tar.xz -2024/01/21 | 27424 | systems/texlive/tlnet/archive/wrapfig2.source.r69513.tar.xz +2024/04/04 | 858664 | systems/texlive/tlnet/archive/wrapfig2.doc.r70838.tar.xz +2024/04/04 | 6676 | systems/texlive/tlnet/archive/wrapfig2.r70838.tar.xz +2024/04/04 | 27424 | systems/texlive/tlnet/archive/wrapfig2.source.r70838.tar.xz 2022/01/24 | 337904 | systems/texlive/tlnet/archive/wrapfig.doc.r61719.tar.xz 2022/01/24 | 9336 | systems/texlive/tlnet/archive/wrapfig.r61719.tar.xz 2022/08/06 | 437732 | systems/texlive/tlnet/archive/wrapstuff.doc.r64058.tar.xz @@ -318387,16 +318390,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 2024/02/05 | 125030 | systems/texlive/tlnet/install-tl -2024/04/03 | 5750805 | systems/texlive/tlnet/install-tl-unx.tar.gz -2024/04/03 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2024/04/03 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2024/04/04 | 5748532 | systems/texlive/tlnet/install-tl-unx.tar.gz +2024/04/04 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/04/04 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat -2024/04/03 | 27719609 | systems/texlive/tlnet/install-tl-windows.exe -2024/04/03 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2024/04/03 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2024/04/03 | 34425335 | systems/texlive/tlnet/install-tl.zip -2024/04/03 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2024/04/03 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2024/04/04 | 27719571 | systems/texlive/tlnet/install-tl-windows.exe +2024/04/04 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2024/04/04 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2024/04/04 | 34425335 | systems/texlive/tlnet/install-tl.zip +2024/04/04 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2024/04/04 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2024/03/13 | 1229 | systems/texlive/tlnet/README.md 2024/03/13 | 0 | systems/texlive/tlnet/TEXLIVE_2024 2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -318448,12 +318451,12 @@ 2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2024/01/31 | 5840 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2024/04/03 | 19411358 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2024/04/03 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2024/04/04 | 19413020 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2024/04/04 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2024/03/10 | 87229 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2024/04/03 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2024/04/03 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2024/04/03 | 2561308 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/04/04 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2024/04/04 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2024/04/04 | 2562328 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -329860,7 +329863,7 @@ 2014/07/05 | 611 | systems/win32/yandy/README 2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz 2014/07/05 | 1012416 | systems/win32/yandy.zip -2024/04/04 | 186 | timestamp +2024/04/05 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz Binary files differindex 2c6bd0a107..52f7ffb7d2 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index ba19f5bc4d..76f0f77af3 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,3 +1,142 @@ +2024/04/04 | 9855 | macros/generic/markdown/examples/optex.tex +2024/04/04 | 974552 | systems/texlive/tlnet/archive/newtx.doc.r70839.tar.xz +2024/04/04 | 959268 | macros/generic/markdown/markdown.dtx +2024/04/04 | 915325 | macros/latex/contrib/acmart/acmart.pdf +2024/04/04 | 91172 | systems/texlive/tlnet/archive/mathtools.source.r70838.tar.xz +2024/04/04 | 908 | macros/latex/contrib/rectopma/README.txt +2024/04/04 | 882620 | systems/texlive/tlnet/archive/fvextra.doc.r70838.tar.xz +2024/04/04 | 858664 | systems/texlive/tlnet/archive/wrapfig2.doc.r70838.tar.xz +2024/04/04 | 850304 | systems/texlive/tlnet/archive/minted.doc.r70838.tar.xz +2024/04/04 | 8376 | systems/texlive/tlnet/archive/resolsysteme.r70845.tar.xz +2024/04/04 | 77268 | systems/texlive/tlnet/archive/cweb.doc.r70837.tar.xz +2024/04/04 | 75 | macros/generic/markdown/examples/scientists.csv +2024/04/04 | 7068 | macros/latex/contrib/csquotes/csquotes.cfg +2024/04/04 | 6777 | macros/latex/contrib/rectopma/rectopma.dtx +2024/04/04 | 6676 | systems/texlive/tlnet/archive/wrapfig2.r70838.tar.xz +2024/04/04 | 634465 | macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf +2024/04/04 | 633812 | systems/texlive/tlnet/archive/easybook.doc.r70843.tar.xz +2024/04/04 | 62767 | macros/latex/contrib/csquotes/csquotes.sty +2024/04/04 | 624275 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf +2024/04/04 | 623270 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf +2024/04/04 | 622211 | macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf +2024/04/04 | 621763 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf +2024/04/04 | 611834 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf +2024/04/04 | 6063380 | systems/texlive/tlnet/archive/newtx.r70839.tar.xz +2024/04/04 | 59788 | systems/texlive/tlnet/archive/fvextra.source.r70838.tar.xz +2024/04/04 | 5748532 | systems/texlive/tlnet/install-tl-unx.tar.gz +2024/04/04 | 5729 | macros/luatex/generic/luamplib/test-luamplib-latex.tex +2024/04/04 | 569862 | macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf +2024/04/04 | 569337 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf +2024/04/04 | 5652 | systems/texlive/tlnet/archive/lua-placeholders.r70850.tar.xz +2024/04/04 | 56521 | macros/latex/contrib/customenvs/tex/customenvs.sty +2024/04/04 | 5567308 | systems/texlive/tlnet/archive/pgf-periodictable.doc.r70840.tar.xz +2024/04/04 | 551848 | systems/texlive/tlnet/archive/latexmk.doc.r70853.tar.xz +2024/04/04 | 5512 | macros/latex/contrib/acmart/Makefile +2024/04/04 | 5404 | systems/texlive/tlnet/archive/l3sys-query.r70851.tar.xz +2024/04/04 | 539736 | systems/texlive/tlnet/archive/msu-thesis.doc.r70844.tar.xz +2024/04/04 | 5240 | systems/texlive/tlnet/archive/gitinfo-lua.r70849.tar.xz +2024/04/04 | 5178036 | systems/texlive/tlnet/archive/tcolorbox.doc.r70838.tar.xz +2024/04/04 | 515796 | systems/texlive/tlnet/archive/pgf-periodictable.r70840.tar.xz +2024/04/04 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2024/04/04 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2024/04/04 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2024/04/04 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2024/04/04 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2024/04/04 | 47940 | systems/texlive/tlnet/archive/minted.source.r70838.tar.xz +2024/04/04 | 475128 | systems/texlive/tlnet/archive/resolsysteme.doc.r70845.tar.xz +2024/04/04 | 4681 | macros/generic/markdown/markdown.css +2024/04/04 | 44957 | macros/generic/markdown/CHANGES.md +2024/04/04 | 441031 | macros/latex/contrib/acmart/acmguide.pdf +2024/04/04 | 4405 | macros/generic/markdown/docstrip.cfg +2024/04/04 | 4120023 | biblio/ctan-bibdata.zip +2024/04/04 | 40900 | systems/texlive/tlnet/archive/schule.r70846.tar.xz +2024/04/04 | 40252 | systems/texlive/tlnet/archive/memoize.source.r70841.tar.xz +2024/04/04 | 400681 | macros/latex/contrib/acmart/samples/sample-acmengage.pdf +2024/04/04 | 39784 | macros/latex/contrib/acmart/samples/samples.dtx +2024/04/04 | 3896 | macros/luatex/generic/luamplib/test-luamplib-plain.tex +2024/04/04 | 3887680 | systems/texlive/tlnet/archive/schule.doc.r70846.tar.xz +2024/04/04 | 383644 | systems/texlive/tlnet/archive/l3sys-query.doc.r70851.tar.xz +2024/04/04 | 3832 | macros/generic/markdown/examples/example.md +2024/04/04 | 38022 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex +2024/04/04 | 3753 | macros/latex/contrib/csquotes/csq-compat.def +2024/04/04 | 375300 | systems/texlive/tlnet/archive/minim.doc.r70848.tar.xz +2024/04/04 | 3708800 | biblio/ctan-bibdata/ctan.pdf +2024/04/04 | 348887 | install/macros/latex/contrib/csquotes.tds.zip +2024/04/04 | 348332 | macros/latex/contrib/csquotes.zip +2024/04/04 | 34425335 | systems/texlive/tlnet/install-tl.zip +2024/04/04 | 34204 | systems/texlive/tlnet/archive/moderncv.r70838.tar.xz +2024/04/04 | 3282 | macros/latex/contrib/csquotes/README.md +2024/04/04 | 31 | macros/generic/markdown/VERSION +2024/04/04 | 305085 | macros/latex/contrib/csquotes/csquotes.pdf +2024/04/04 | 291479 | macros/latex/contrib/acmart/acmart.dtx +2024/04/04 | 2859814 | biblio/ctan-bibdata/ctan.bib +2024/04/04 | 28452 | systems/texlive/tlnet/archive/memoize.r70841.tar.xz +2024/04/04 | 2773 | macros/latex/contrib/acmart/acmart.bib +2024/04/04 | 27719571 | systems/texlive/tlnet/install-tl-windows.exe +2024/04/04 | 2752 | macros/luatex/generic/luamplib/Makefile +2024/04/04 | 27424 | systems/texlive/tlnet/archive/wrapfig2.source.r70838.tar.xz +2024/04/04 | 271004 | systems/texlive/tlnet/archive/lua-placeholders.doc.r70850.tar.xz +2024/04/04 | 26700 | systems/texlive/tlnet/archive/cweb.r70837.tar.xz +2024/04/04 | 2576944 | systems/texlive/tlnet/archive/memoize.doc.r70841.tar.xz +2024/04/04 | 2562328 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/04/04 | 25344 | systems/texlive/tlnet/archive/minim.r70848.tar.xz +2024/04/04 | 246668 | systems/texlive/tlnet/archive/moderncv.doc.r70838.tar.xz +2024/04/04 | 237124 | macros/latex/contrib/rectopma.zip +2024/04/04 | 233592 | systems/texlive/tlnet/archive/tcolorbox.r70838.tar.xz +2024/04/04 | 22881 | macros/generic/markdown/libraries/markdown-tinyyaml.lua +2024/04/04 | 22564 | systems/texlive/tlnet/archive/minim-mp.r70847.tar.xz +2024/04/04 | 22528 | macros/generic/markdown/README.md +2024/04/04 | 22135 | macros/latex/contrib/csquotes/csquotes.def +2024/04/04 | 2189 | macros/generic/markdown/examples/context-mkiv.tex +2024/04/04 | 215115 | macros/latex/contrib/acmart/samples/sample-acmcp.pdf +2024/04/04 | 210667 | install/macros/luatex/generic/luamplib.tds.zip +2024/04/04 | 2058 | macros/luatex/generic/luamplib/README +2024/04/04 | 205716 | systems/texlive/tlnet/archive/coloredtheorem.doc.r70842.tar.xz +2024/04/04 | 20532 | systems/texlive/tlnet/archive/mathtools.r70838.tar.xz +2024/04/04 | 194977 | macros/luatex/generic/luamplib.zip +2024/04/04 | 19413020 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2024/04/04 | 182916 | macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf +2024/04/04 | 1778 | macros/generic/markdown/examples/latex-pdftex.tex +2024/04/04 | 1768114 | macros/latex/contrib/customenvs.zip +2024/04/04 | 1748 | systems/texlive/tlnet/archive/collection-mathscience.r70842.tar.xz +2024/04/04 | 16828 | systems/texlive/tlnet/archive/easybook.r70843.tar.xz +2024/04/04 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/04/04 | 16724 | systems/texlive/tlnet/archive/easybook.source.r70843.tar.xz +2024/04/04 | 1650 | macros/generic/markdown/markdown.ins +2024/04/04 | 16453 | macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex +2024/04/04 | 159122 | macros/luatex/generic/luamplib/luamplib.pdf +2024/04/04 | 1591206 | install/macros/generic/markdown.tds.zip +2024/04/04 | 1560 | macros/latex/contrib/acmart/samples/samples.ins +2024/04/04 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2024/04/04 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/04/04 | 1494756 | macros/generic/markdown.zip +2024/04/04 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2024/04/04 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2024/04/04 | 141599 | macros/latex/contrib/rectopma/rectopma.pdf +2024/04/04 | 140951 | macros/generic/markdown/markdown.png +2024/04/04 | 1399073 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf +2024/04/04 | 13728 | systems/texlive/tlnet/archive/fvextra.r70838.tar.xz +2024/04/04 | 1369 | macros/generic/markdown/examples/latex-luatex.tex +2024/04/04 | 13531 | macros/latex/contrib/acmart/README +2024/04/04 | 13516 | systems/texlive/tlnet/archive/msu-thesis.r70844.tar.xz +2024/04/04 | 1336 | systems/texlive/tlnet/archive/coloredtheorem.r70842.tar.xz +2024/04/04 | 131668 | systems/texlive/tlnet/archive/minim-mp.doc.r70847.tar.xz +2024/04/04 | 124224 | macros/latex/contrib/csquotes/csquotes.tex +2024/04/04 | 12332773 | macros/latex/contrib/acmart.zip +2024/04/04 | 11897 | macros/luatex/generic/luamplib/NEWS +2024/04/04 | 117932 | systems/texlive/tlnet/archive/gitinfo-lua.doc.r70849.tar.xz +2024/04/04 | 117260 | systems/texlive/tlnet/archive/latexmk.r70853.tar.xz +2024/04/04 | 1099548 | macros/generic/markdown/markdown.pdf +2024/04/04 | 1060387 | macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf +2024/04/04 | 1057098 | macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf +2024/04/04 | 1053568 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf +2024/04/04 | 1048892 | macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf +2024/04/04 | 1045103 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf +2024/04/04 | 1044780 | systems/texlive/tlnet/archive/mathtools.doc.r70838.tar.xz +2024/04/04 | 1037601 | macros/generic/markdown/markdown.html +2024/04/04 | 101830 | macros/latex/contrib/rectopma/TestTitle.pdf +2024/04/04 | 10156 | systems/texlive/tlnet/archive/minted.r70838.tar.xz +2024/04/04 | 101201 | macros/luatex/generic/luamplib/luamplib.dtx 2024/04/03 | 9981 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex 2024/04/03 | 865 | support/l3sys-query/CHANGELOG.md 2024/04/03 | 8139 | graphics/pgf/contrib/pgf-periodictable/translations/pgfPT.lang.undefined.tex @@ -7,53 +146,33 @@ 2024/04/03 | 70914 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf 2024/04/03 | 694 | support/l3sys-query/SECURITY.md 2024/04/03 | 6771 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex -2024/04/03 | 5750805 | systems/texlive/tlnet/install-tl-unx.tar.gz 2024/04/03 | 56681 | macros/luatex/generic/minim-mp/minim-mp.lua 2024/04/03 | 563829 | macros/latex/contrib/msu-thesis.zip -2024/04/03 | 554708 | systems/texlive/tlnet/archive/latexmk.doc.r70835.tar.xz -2024/04/03 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2024/04/03 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2024/04/03 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2024/04/03 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2024/04/03 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2024/04/03 | 43644 | macros/latex/contrib/msu-thesis/msu-thesis.cls 2024/04/03 | 434472 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70834.tar.xz 2024/04/03 | 42365 | macros/latex/contrib/msu-thesis/docs/msu-thesis.tex -2024/04/03 | 4120011 | biblio/ctan-bibdata.zip 2024/04/03 | 411282 | macros/luatex/generic/minim.zip 2024/04/03 | 397133 | macros/luatex/generic/minim/minim.pdf 2024/04/03 | 393 | macros/latex/contrib/msu-thesis/samples/chap2bib.tex 2024/04/03 | 377317 | support/l3sys-query.zip 2024/04/03 | 373585 | support/l3sys-query/l3sys-query-tool.pdf -2024/04/03 | 3708800 | biblio/ctan-bibdata/ctan.pdf -2024/04/03 | 34425335 | systems/texlive/tlnet/install-tl.zip 2024/04/03 | 343643 | macros/luatex/latex/lua-placeholders.zip 2024/04/03 | 327 | macros/latex/contrib/msu-thesis/samples/chap4bib.tex 2024/04/03 | 319 | macros/latex/contrib/msu-thesis/samples/chap3bib.tex 2024/04/03 | 3005 | graphics/pgf/contrib/pgf-periodictable/README 2024/04/03 | 2935 | macros/latex/contrib/msu-thesis/README.md -2024/04/03 | 2859814 | biblio/ctan-bibdata/ctan.bib 2024/04/03 | 277 | macros/latex/contrib/msu-thesis/samples/chap1bib.tex -2024/04/03 | 27719609 | systems/texlive/tlnet/install-tl-windows.exe 2024/04/03 | 25847 | graphics/pgf/contrib/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex -2024/04/03 | 2561308 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2024/04/03 | 214979 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf 2024/04/03 | 208078 | graphics/pgf/contrib/pgf-periodictable/pgf-PeriodicTable.sty -2024/04/03 | 19411358 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2024/04/03 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2024/04/03 | 164656 | macros/luatex/generic/minim-mp.zip -2024/04/03 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2024/04/03 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 2024/04/03 | 1527 | support/l3sys-query/l3sys-query.1 2024/04/03 | 14600 | support/l3sys-query/l3sys-query.lua -2024/04/03 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2024/04/03 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 2024/04/03 | 139419 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf 2024/04/03 | 134407 | macros/luatex/generic/minim-mp/minim-mp.pdf 2024/04/03 | 1276 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex 2024/04/03 | 1196 | support/l3sys-query/README.md 2024/04/03 | 11751 | support/l3sys-query/l3sys-query-tool.tex -2024/04/03 | 117260 | systems/texlive/tlnet/archive/latexmk.r70835.tar.xz 2024/04/03 | 114204 | systems/texlive/tlnet/archive/texlive-scripts.r70834.tar.xz 2024/04/03 | 114013 | macros/latex/contrib/msu-thesis/msu-thesis.pdf 2024/04/03 | 1088 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.bib @@ -136,7 +255,6 @@ 2024/04/02 | 10 | macros/generic/memoize/doc/memoize-doc.mst 2024/04/02 | 1093 | macros/luatex/latex/gitinfo-lua/README.md 2024/04/02 | 1040 | macros/luatex/latex/gitinfo-lua/doc/git-scenario.sh -2024/04/01 | 915513 | macros/latex/contrib/acmart/acmart.pdf 2024/04/01 | 89175 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma 2024/04/01 | 8882 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma 2024/04/01 | 88626 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma @@ -183,16 +301,10 @@ 2024/04/01 | 65099 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma 2024/04/01 | 64876 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2024/04/01 | 64553 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2024/04/01 | 634465 | macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf 2024/04/01 | 6263 | macros/latex/contrib/schule/latex/schulekl.cls -2024/04/01 | 624275 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf -2024/04/01 | 623270 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf -2024/04/01 | 622211 | macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf -2024/04/01 | 621763 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf 2024/04/01 | 619632 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma 2024/04/01 | 61754 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma 2024/04/01 | 6151 | macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex -2024/04/01 | 611834 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf 2024/04/01 | 60979 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma 2024/04/01 | 609727 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma 2024/04/01 | 608916 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma @@ -207,12 +319,9 @@ 2024/04/01 | 5780 | macros/latex/contrib/schule/latex/schuleue.cls 2024/04/01 | 5774 | macros/latex/contrib/schule/latex/schullsg.cls 2024/04/01 | 57527 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma -2024/04/01 | 569862 | macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf -2024/04/01 | 569337 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf 2024/04/01 | 568 | systems/texlive/tlnet/archive/install-latex-guide-zh-cn.r70823.tar.xz 2024/04/01 | 56013 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma 2024/04/01 | 55349 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma -2024/04/01 | 5512 | macros/latex/contrib/acmart/Makefile 2024/04/01 | 5507 | macros/latex/contrib/schule/latex/schulphy.sty 2024/04/01 | 54784 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma 2024/04/01 | 54743 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma @@ -239,7 +348,6 @@ 2024/04/01 | 45100 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma 2024/04/01 | 44911 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma 2024/04/01 | 44368 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2024/04/01 | 441025 | macros/latex/contrib/acmart/acmguide.pdf 2024/04/01 | 44078 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma 2024/04/01 | 44074 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma 2024/04/01 | 43843 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma @@ -247,8 +355,6 @@ 2024/04/01 | 41204 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma 2024/04/01 | 4038724 | systems/texlive/tlnet/archive/pst-func.doc.r70822.tar.xz 2024/04/01 | 40351 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2024/04/01 | 400681 | macros/latex/contrib/acmart/samples/sample-acmengage.pdf -2024/04/01 | 39784 | macros/latex/contrib/acmart/samples/samples.dtx 2024/04/01 | 395539 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma 2024/04/01 | 395040 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma 2024/04/01 | 3764 | macros/latex/contrib/schule/doc/schule.tex @@ -285,11 +391,9 @@ 2024/04/01 | 293644 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma 2024/04/01 | 2930162 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma 2024/04/01 | 291418 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2024/04/01 | 291391 | macros/latex/contrib/acmart/acmart.dtx 2024/04/01 | 29137 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma 2024/04/01 | 287548 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma 2024/04/01 | 2844035 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2024/04/01 | 2773 | macros/latex/contrib/acmart/acmart.bib 2024/04/01 | 275714 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma 2024/04/01 | 27215 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma 2024/04/01 | 272010 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma @@ -314,7 +418,6 @@ 2024/04/01 | 218895 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma 2024/04/01 | 217648 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma 2024/04/01 | 216080 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma -2024/04/01 | 215115 | macros/latex/contrib/acmart/samples/sample-acmcp.pdf 2024/04/01 | 21008 | systems/texlive/tlnet/archive/pst-func.r70822.tar.xz 2024/04/01 | 20828 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma 2024/04/01 | 20752 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma @@ -339,7 +442,6 @@ 2024/04/01 | 159831 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma 2024/04/01 | 159069 | macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty 2024/04/01 | 1588852 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma -2024/04/01 | 1560 | macros/latex/contrib/acmart/samples/samples.ins 2024/04/01 | 1560363 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma 2024/04/01 | 15414 | macros/latex/contrib/schule/latex/schulealt.sty 2024/04/01 | 1531026 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma @@ -356,9 +458,7 @@ 2024/04/01 | 137676 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma 2024/04/01 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r70827.tar.xz 2024/04/01 | 13626 | macros/latex/contrib/schule/latex/schuleit.cls -2024/04/01 | 13491 | macros/latex/contrib/acmart/README 2024/04/01 | 1344614 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2024/04/01 | 12332568 | macros/latex/contrib/acmart.zip 2024/04/01 | 122059683 | macros/context/latest/cont-tmf.zip 2024/04/01 | 1185913 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma 2024/04/01 | 118362 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma @@ -377,13 +477,8 @@ 2024/04/01 | 10728 | macros/latex/contrib/schule/latex/schulekl.sty 2024/04/01 | 106704 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma 2024/04/01 | 106071 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2024/04/01 | 1060387 | macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf -2024/04/01 | 1057103 | macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf 2024/04/01 | 105648 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma 2024/04/01 | 105460 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma -2024/04/01 | 1053568 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf -2024/04/01 | 1048896 | macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf -2024/04/01 | 1045103 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf 2024/04/01 | 104467 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma 2024/04/01 | 104194 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma 2024/04/01 | 104130 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma @@ -441,7 +536,6 @@ 2024/03/30 | 887080 | systems/texlive/tlnet/archive/babel.source.r70809.tar.xz 2024/03/30 | 8472 | macros/latex/contrib/schule/doc/Beispiele/beispiel-kl.tex 2024/03/30 | 8335 | macros/latex/contrib/schule/doc/Beispiele/beispiel-ab.tex -2024/03/30 | 819956 | macros/latex/contrib/customenvs.zip 2024/03/30 | 779044 | macros/latex/contrib/vectorlogos/doc/vectorlogos-doc.pdf 2024/03/30 | 7413 | macros/latex/contrib/schule/doc/Beispiele/minimal-ab-dev.tex 2024/03/30 | 6828 | macros/luatex/generic/minim/minim-doc.sty @@ -450,17 +544,14 @@ 2024/03/30 | 5764 | macros/latex/contrib/schule/doc/modulAufgabenpool.tex 2024/03/30 | 57588 | systems/texlive/tlnet/archive/microtype.r70805.tar.xz 2024/03/30 | 533931 | macros/latex/contrib/pynotebook.zip -2024/03/30 | 519283 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf 2024/03/30 | 48920 | systems/texlive/tlnet/archive/thuthesis.source.r70808.tar.xz 2024/03/30 | 4557 | macros/latex/contrib/schule/doc/modulBewertung.tex 2024/03/30 | 44500 | systems/texlive/tlnet/archive/thuthesis.r70808.tar.xz -2024/03/30 | 44438 | macros/latex/contrib/customenvs/tex/customenvs.sty 2024/03/30 | 4380 | macros/latex/contrib/vectorlogos/tex/vectorlogos.sty 2024/03/30 | 436863 | macros/latex/contrib/pynotebook/doc/pynotebook-doc.pdf 2024/03/30 | 4240 | macros/luatex/generic/minim-mp/minim-mp.tex 2024/03/30 | 414456 | macros/luatex/latex/piton/piton-french.pdf 2024/03/30 | 3456540 | systems/texlive/tlnet/archive/simpleicons.r70802.tar.xz -2024/03/30 | 34437 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex 2024/03/30 | 332031 | macros/latex/contrib/schule/doc/Beispiele/minimal-ab-dev.pdf 2024/03/30 | 31091 | macros/latex/contrib/proflycee/tex/proflycee-tools-espace.tex 2024/03/30 | 31032 | systems/texlive/tlnet/archive/srdp-mathematik.r70807.tar.xz @@ -476,9 +567,9 @@ 2024/03/30 | 2526420 | systems/texlive/tlnet/archive/simpleicons.doc.r70802.tar.xz 2024/03/30 | 230804 | systems/texlive/tlnet/archive/babel.r70809.tar.xz 2024/03/30 | 2165648 | systems/texlive/tlnet/archive/musixtex.doc.r70804.tar.xz +2024/03/30 | 2112 | macros/latex/contrib/customenvs/doc/envtexo_exemples.tex 2024/03/30 | 2088177 | macros/latex/contrib/proflycee.zip 2024/03/30 | 204958 | macros/latex/contrib/schule/doc/Beispiele/minimal-kl-et.pdf -2024/03/30 | 2034 | macros/latex/contrib/customenvs/doc/envtexo_exemples.tex 2024/03/30 | 198047 | macros/latex/contrib/schule/doc/Beispiele/minimal-ab.pdf 2024/03/30 | 19789 | macros/latex/contrib/schule/latex/schule.mod.Bewertung.code.tex 2024/03/30 | 196920 | macros/latex/contrib/schule/doc/Beispiele/minimal-kl-aufgabenpool.pdf @@ -498,14 +589,12 @@ 2024/03/30 | 15667 | macros/latex/contrib/pynotebook/doc/pynotebook-doc.tex 2024/03/30 | 147460 | systems/texlive/tlnet/archive/srdp-mathematik.doc.r70807.tar.xz 2024/03/30 | 13384 | systems/texlive/tlnet/archive/rec-thy.r70806.tar.xz -2024/03/30 | 13312 | macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex 2024/03/30 | 1298 | macros/latex/contrib/schule/doc/Beispiele/bsp_aufgabe2/bsp_aufgabe.tex 2024/03/30 | 12884 | systems/texlive/tlnet/archive/luamplib.r70810.tar.xz 2024/03/30 | 128352 | systems/texlive/tlnet/archive/rec-thy.doc.r70806.tar.xz 2024/03/30 | 12764 | systems/texlive/tlnet/archive/commutative-diagrams.r70803.tar.xz 2024/03/30 | 1261 | macros/latex/contrib/schule/doc/Beispiele/bsp_aufgabe1/bsp_aufgabe_01.tex 2024/03/30 | 123414 | macros/latex/contrib/schule/doc/Beispiele/minimal-ka.pdf -2024/03/30 | 116272 | macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf 2024/03/30 | 11311 | macros/latex/contrib/vectorlogos/doc/vectorlogos-doc.tex 2024/03/30 | 1117202 | macros/latex/contrib/vectorlogos.zip 2024/03/30 | 105692 | systems/texlive/tlnet/archive/musixtex.r70804.tar.xz @@ -559,7 +648,6 @@ 2024/03/29 | 6151684 | systems/win32/miktex/tm/packages/latex-tools-dev__doc.tar.lzma 2024/03/29 | 609651 | graphics/pgf/contrib/commutative-diagrams/commutative-diagrams-doc.pdf 2024/03/29 | 5891 | systems/win32/miktex/tm/packages/l3sys-query__source.tar.lzma -2024/03/29 | 5729 | macros/luatex/generic/luamplib/test-luamplib-latex.tex 2024/03/29 | 5619 | systems/win32/miktex/tm/packages/l3sys-query.tar.lzma 2024/03/29 | 5589 | graphics/pgf/contrib/commutative-diagrams/tikzlibrarycommutative-diagrams.mitra.code.tex 2024/03/29 | 5531 | macros/latex/contrib/thuthesis/thusetup.tex @@ -569,7 +657,6 @@ 2024/03/29 | 5450 | macros/generic/musixtex/doc/musixdoc/frontmatter.tex 2024/03/29 | 5438 | macros/latex/contrib/thuthesis/data/denotation.tex 2024/03/29 | 54328 | systems/win32/miktex/tm/packages/pdfmanagement-testphase.tar.lzma -2024/03/29 | 5412 | systems/texlive/tlnet/archive/l3sys-query.r70797.tar.xz 2024/03/29 | 5395 | systems/win32/miktex/tm/packages/reptheorem__source.tar.lzma 2024/03/29 | 53802 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015.tar.lzma 2024/03/29 | 52082 | graphics/pgf/contrib/commutative-diagrams/commutative-diagrams-doc.tex @@ -593,11 +680,9 @@ 2024/03/29 | 408220 | macros/latex/contrib/thuthesis/thuthesis-example.pdf 2024/03/29 | 3944 | systems/win32/miktex/tm/packages/latex-firstaid-dev.tar.lzma 2024/03/29 | 3916 | fonts/simpleicons/enc/simpleiconsfive.enc -2024/03/29 | 3896 | macros/luatex/generic/luamplib/test-luamplib-plain.tex 2024/03/29 | 386783 | systems/win32/miktex/tm/packages/parsimatn.tar.lzma 2024/03/29 | 3858 | fonts/simpleicons/enc/simpleiconsone.enc 2024/03/29 | 3836 | macros/latex/contrib/thuthesis/data/chap03.tex -2024/03/29 | 381664 | systems/texlive/tlnet/archive/l3sys-query.doc.r70797.tar.xz 2024/03/29 | 37982 | systems/win32/miktex/tm/packages/tagpdf.tar.lzma 2024/03/29 | 3747 | fonts/simpleicons/enc/simpleiconsthree.enc 2024/03/29 | 3724 | systems/win32/miktex/tm/packages/parsimatn__source.tar.lzma @@ -631,7 +716,6 @@ 2024/03/29 | 2886548 | macros/latex/contrib/microtype.zip 2024/03/29 | 279 | macros/latex/contrib/thuthesis/data/comments.tex 2024/03/29 | 279 | fonts/simpleicons/tex/usimpleiconsonethree.fd -2024/03/29 | 2752 | macros/luatex/generic/luamplib/Makefile 2024/03/29 | 274 | fonts/simpleicons/tex/usimpleiconsonezero.fd 2024/03/29 | 270930 | systems/win32/miktex/tm/packages/profmaquette__doc.tar.lzma 2024/03/29 | 269 | fonts/simpleicons/tex/usimpleiconsonetwo.fd @@ -680,16 +764,13 @@ 2024/03/29 | 215724 | macros/latex/contrib/thuthesis/thuthesis.dtx 2024/03/29 | 2137618 | macros/latex/contrib/microtype/microtype-code.pdf 2024/03/29 | 2094 | graphics/pgf/contrib/commutative-diagrams/tikzlibrarycommutative-diagrams.code.tex -2024/03/29 | 209399 | install/macros/luatex/generic/luamplib.tds.zip 2024/03/29 | 2067 | macros/latex/required/babel/base/README.md -2024/03/29 | 2058 | macros/luatex/generic/luamplib/README 2024/03/29 | 2055742 | systems/win32/miktex/tm/packages/tagpdf__doc.tar.lzma 2024/03/29 | 2009 | graphics/pgf/contrib/commutative-diagrams/tikzlibrarycommutative-diagrams.ektropi.code.tex 2024/03/29 | 2008 | macros/latex/contrib/thuthesis/data/appendix-survey.tex 2024/03/29 | 2006 | graphics/pgf/contrib/commutative-diagrams/kodi.sty 2024/03/29 | 1998 | systems/win32/miktex/tm/packages/reptheorem.tar.lzma 2024/03/29 | 197969 | macros/generic/musixtex/tex/musixtex.tex -2024/03/29 | 193933 | macros/luatex/generic/luamplib.zip 2024/03/29 | 1922 | macros/latex/contrib/thuthesis/data/appendix.tex 2024/03/29 | 191176 | systems/texlive/tlnet/tlpkg/installer/xz/xz.aarch64-linux 2024/03/29 | 191124 | systems/texlive/tlnet/tlpkg/installer/xz/xz.i386-netbsd @@ -707,7 +788,6 @@ 2024/03/29 | 1728334 | macros/latex/contrib/thuthesis.zip 2024/03/29 | 1664 | macros/latex/contrib/thuthesis/data/committee.tex 2024/03/29 | 1655 | systems/win32/miktex/tm/packages/thmlist.tar.lzma -2024/03/29 | 158381 | macros/luatex/generic/luamplib/luamplib.pdf 2024/03/29 | 15711 | systems/win32/miktex/tm/packages/hvextern__source.tar.lzma 2024/03/29 | 1569 | graphics/pgf/contrib/commutative-diagrams/tikzlibrarycommutative-diagrams.ozos.code.tex 2024/03/29 | 1476 | fonts/simpleicons/map/simpleicons.map @@ -743,99 +823,10 @@ 2024/03/29 | 120025 | systems/win32/miktex/tm/packages/latex-lab-dev__source.tar.lzma 2024/03/29 | 1188909 | macros/latex/contrib/thuthesis/thuthesis.pdf 2024/03/29 | 11729 | graphics/pgf/contrib/commutative-diagrams/tikzlibrarycommutative-diagrams.mandyas.code.tex -2024/03/29 | 11471 | macros/luatex/generic/luamplib/NEWS 2024/03/29 | 1144016 | systems/texlive/tlnet/archive/hvextern.doc.r70795.tar.xz 2024/03/29 | 1133015 | systems/win32/miktex/tm/packages/hvextern__doc.tar.lzma 2024/03/29 | 1086767 | macros/latex/required/babel/base/locale.zip 2024/03/29 | 105080 | systems/win32/miktex/tm/packages/litebook__source.tar.lzma 2024/03/29 | 103108 | systems/win32/miktex/tm/packages/profmaquette__source.tar.lzma 2024/03/29 | 101613 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__source.tar.lzma -2024/03/29 | 100894 | macros/luatex/generic/luamplib/luamplib.dtx 2024/03/29 | 10070 | macros/latex/contrib/thuthesis/ref/refs.bib -2024/03/28 | 9859 | support/latexindent/LatexIndent/Lines.pm -2024/03/28 | 939 | macros/latex/contrib/ducksay/README.md -2024/03/28 | 9005 | support/latexindent/LatexIndent/FileExtension.pm -2024/03/28 | 8893 | support/latexindent/LatexIndent/IfElseFi.pm -2024/03/28 | 8540 | systems/texlive/tlnet/archive/latex-firstaid-dev.source.r70790.tar.xz -2024/03/28 | 8473824 | systems/texlive/tlnet/archive/latex-lab-dev.doc.r70790.tar.xz -2024/03/28 | 838 | support/latexindent/LatexIndent/Version.pm -2024/03/28 | 8346 | support/latexindent/LatexIndent/Environment.pm -2024/03/28 | 778812 | systems/texlive/tlnet/archive/latex-base-dev.source.r70790.tar.xz -2024/03/28 | 7587289 | support/texlab.zip -2024/03/28 | 7490982 | support/latexindent/bin/linux/latexindent -2024/03/28 | 7473165 | support/latexindent/bin/macos/latexindent -2024/03/28 | 7379 | support/latexindent/LatexIndent/MandatoryArgument.pm -2024/03/28 | 7161 | support/latexindent/documentation/figure-schematic.png -2024/03/28 | 6953 | support/latexindent/LatexIndent/TrailingComments.pm -2024/03/28 | 6890 | support/latexindent/LatexIndent/Item.pm -2024/03/28 | 68177 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm -2024/03/28 | 6664 | support/latexindent/documentation/contributors.bib -2024/03/28 | 66424 | systems/texlive/tlnet/archive/latex-amsmath-dev.source.r70790.tar.xz -2024/03/28 | 6620 | support/latexindent/LatexIndent/OptionalArgument.pm -2024/03/28 | 6467 | support/latexindent/LatexIndent/BackUpFileProcedure.pm -2024/03/28 | 6391 | support/latexindent/LatexIndent/Else.pm -2024/03/28 | 62955 | macros/latex/contrib/starray/latex/starray.sty -2024/03/28 | 6151028 | systems/texlive/tlnet/archive/latex-tools-dev.doc.r70790.tar.xz -2024/03/28 | 61245 | support/latexindent/documentation/latexindent-yaml-schema.json -2024/03/28 | 5907 | support/latexindent/LatexIndent/UTF8CmdLineArgsFileOperation.pm -2024/03/28 | 5857 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm -2024/03/28 | 54872 | support/latexindent/LatexIndent/GetYamlSettings.pm -2024/03/28 | 5478 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm -2024/03/28 | 5432 | support/latexindent/LatexIndent/Check.pm -2024/03/28 | 53548 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.r70787.tar.xz -2024/03/28 | 5004 | systems/texlive/tlnet/archive/reptheorem.source.r70789.tar.xz -2024/03/28 | 4946 | support/latexindent/latexindent.pl -2024/03/28 | 4860 | support/latexindent/LatexIndent/BlankLines.pm -2024/03/28 | 45416 | systems/texlive/tlnet/archive/latex-tools-dev.r70790.tar.xz -2024/03/28 | 443043 | support/latexindent/documentation/latexindent.tex -2024/03/28 | 44096 | support/latexindent/documentation/logo.png -2024/03/28 | 4404 | support/latexindent/LatexIndent/RoundBrackets.pm -2024/03/28 | 4402 | support/latexindent/documentation/latex-indent.bib -2024/03/28 | 4388 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm -2024/03/28 | 42532 | systems/texlive/tlnet/archive/latex-lab-dev.r70790.tar.xz -2024/03/28 | 40080 | macros/latex/contrib/starray/doc/starray.tex -2024/03/28 | 3656 | systems/texlive/tlnet/archive/latex-firstaid-dev.r70790.tar.xz -2024/03/28 | 35569076 | systems/texlive/tlnet/archive/latex-base-dev.doc.r70790.tar.xz -2024/03/28 | 35225 | support/latexindent/LatexIndent/Wrap.pm -2024/03/28 | 3517 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm -2024/03/28 | 3515 | support/latexindent/LatexIndent/Replacement.pm -2024/03/28 | 3384 | macros/latex/contrib/starray/README.md -2024/03/28 | 3353 | support/latexindent/LatexIndent/Tokens.pm -2024/03/28 | 31056 | systems/texlive/tlnet/archive/latex-amsmath-dev.r70790.tar.xz -2024/03/28 | 285021 | macros/latex/contrib/starray/doc/starray.pdf -2024/03/28 | 27422 | support/latexindent/LatexIndent/Verbatim.pm -2024/03/28 | 2733 | support/latexindent/LatexIndent/Preamble.pm -2024/03/28 | 2712 | support/latexindent/LatexIndent/Switches.pm -2024/03/28 | 267040 | systems/texlive/tlnet/archive/latex-firstaid-dev.doc.r70790.tar.xz -2024/03/28 | 25559 | support/latexindent/LatexIndent/Document.pm -2024/03/28 | 253583 | macros/latex/contrib/starray.zip -2024/03/28 | 247216 | systems/texlive/tlnet/archive/latex-base-dev.r70790.tar.xz -2024/03/28 | 24449 | support/latexindent/LatexIndent/Arguments.pm -2024/03/28 | 2421124 | systems/texlive/tlnet/archive/latex-amsmath-dev.doc.r70790.tar.xz -2024/03/28 | 239744 | systems/texlive/tlnet/archive/latex-tools-dev.source.r70790.tar.xz -2024/03/28 | 235568 | systems/texlive/tlnet/archive/reptheorem.doc.r70789.tar.xz -2024/03/28 | 2320 | support/latexindent/LatexIndent/Logger.pm -2024/03/28 | 22321 | support/latexindent/LatexIndent/Sentence.pm -2024/03/28 | 22214 | support/latexindent/defaultSettings.yaml -2024/03/28 | 20870 | support/latexindent/LatexIndent/Indent.pm -2024/03/28 | 2008 | support/latexindent/README -2024/03/28 | 18591 | support/latexindent/LatexIndent/ModifyLineBreaks.pm -2024/03/28 | 1788 | systems/texlive/tlnet/archive/reptheorem.r70789.tar.xz -2024/03/28 | 1748 | systems/texlive/tlnet/archive/collection-mathscience.r70789.tar.xz -2024/03/28 | 162426 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm -2024/03/28 | 1558 | support/latexindent/latexindent-module-installer.pl -2024/03/28 | 15079247 | support/latexindent.zip -2024/03/28 | 1500 | support/latexindent/LatexIndent/DoubleBackSlash.pm -2024/03/28 | 1443884 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.doc.r70787.tar.xz -2024/03/28 | 1401655 | macros/latex/contrib/hvextern.zip -2024/03/28 | 13935 | support/latexindent/LatexIndent/Special.pm -2024/03/28 | 13775 | support/latexindent/LatexIndent/LogFile.pm -2024/03/28 | 13772 | macros/luatex/generic/minim/minim-alloc.doc -2024/03/28 | 13470 | support/latexindent/LatexIndent/HiddenChildren.pm -2024/03/28 | 1286324 | support/latexindent/documentation/latexindent.pdf -2024/03/28 | 12653 | support/latexindent/LatexIndent/Braces.pm -2024/03/28 | 12009633 | support/latexindent/bin/windows/latexindent.exe -2024/03/28 | 119400 | systems/texlive/tlnet/archive/latex-lab-dev.source.r70790.tar.xz -2024/03/28 | 11509 | support/latexindent/LatexIndent/FileContents.pm -2024/03/28 | 11206 | support/latexindent/LatexIndent/Heading.pm -2024/03/28 | 10648 | support/latexindent/LatexIndent/Command.pm diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib index 67fdb6f815..8e5ca299ac 100644 --- a/biblio/ctan-bibdata/ctan.bib +++ b/biblio/ctan-bibdata/ctan.bib @@ -1,7 +1,7 @@ %% bib file of all CTAN packages %% (C) Herbert Voß %% -%% created at 04-04-2024, 02:00:04 +%% created at 05-04-2024, 02:00:04 %% %% This file is provided under the terms of the LPPL v1.3 or @@ -479,8 +479,8 @@ title = {The \texttt{acmart} package}, subtitle = {Class for typesetting publications of ACM}, author = {Boris Veytsman}, - date = {2024-04-01}, - version = {2.04}, + date = {2024-04-04}, + version = {2.05}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/contrib/acmart}, url = {https://ctan.org/pkg/acmart}, @@ -14214,7 +14214,7 @@ title = {The \texttt{coloredtheorem} package}, subtitle = {A colourful boxed theorem environment}, author = {João M. Lourenço}, - date = {2024-04-02}, + date = {2024-04-04}, version = {1.0}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/coloredtheorem}, @@ -16557,8 +16557,8 @@ title = {The \texttt{csquotes} package}, subtitle = {Context sensitive quotation facilities}, author = {Philipp Lehman and Joseph Wright}, - date = {2022-09-14}, - version = {5.2n}, + date = {2024-04-04}, + version = {5.2o}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/csquotes}, url = {https://ctan.org/pkg/csquotes}, @@ -17009,8 +17009,8 @@ title = {The \texttt{customenvs} package}, subtitle = {Custom environments (MCQ, list with picked items, ...)}, author = {Cédric Pierquet}, - date = {2024-03-30}, - version = {0.1.3}, + date = {2024-04-04}, + version = {0.1.4}, license = {lppl1.3c,cc-by-sa-4}, mirror = {https://mirror.ctan.org/macros/latex/contrib/customenvs}, url = {https://ctan.org/pkg/customenvs}, @@ -42465,8 +42465,8 @@ title = {The \texttt{luamplib} package}, subtitle = {Use LuaTeX’s built-in MetaPost interpreter}, author = {Hans Hagen and Taco Hoekwater and Élie Roux and Manuel Pégourié-Gonnard and Philipp Gesang and Dohyun Kim}, - date = {2024-03-29}, - version = {2.27.1}, + date = {2024-04-04}, + version = {2.27.2}, license = {gpl2}, mirror = {https://mirror.ctan.org/macros/luatex/generic/luamplib}, url = {https://ctan.org/pkg/luamplib}, @@ -43858,8 +43858,8 @@ title = {The \texttt{markdown} package}, subtitle = {Converting and rendering markdown documents inside \TeX{}}, author = {Vít Starý Novotný}, - date = {2024-03-09}, - version = {3.4.2-0-ga45cf0ed}, + date = {2024-04-04}, + version = {3.4.3-0-ge2c6be1a}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/generic/markdown}, url = {https://ctan.org/pkg/markdown}, @@ -59449,7 +59449,8 @@ title = {The \texttt{rectopma} package}, subtitle = {Recycle top matter}, author = {Battista Benciolini}, - date = {2016-06-24}, + date = {2024-04-04}, + version = {}, license = {lppl}, mirror = {https://mirror.ctan.org/macros/latex/contrib/rectopma}, url = {https://ctan.org/pkg/rectopma}, diff --git a/macros/generic/markdown/CHANGES.md b/macros/generic/markdown/CHANGES.md index 48d2d7066d..614cef6912 100644 --- a/macros/generic/markdown/CHANGES.md +++ b/macros/generic/markdown/CHANGES.md @@ -2,6 +2,41 @@ ## 3.5.0 +## 3.4.3 + +Fixes: + +- Remove trailing paragraph/interblock separators in right-open slice + intervals. (#408, #419) +- Do not misinterpret bracketed e-mails as citations. (#424, #426, + sponsored by @istqborg) +- Comply with CommonMark 0.31.2. (#416, 40b516ee, de8d137d, #432, + contributed by @lostenderman) +- Do not end a paragraph before a `:::` in fenced divs. + (#407, lostenderman/markdown#157, #427, #428, lostenderman/markdown#158, + #431, contributed by @lostenderman) + +Documentation: + +- Add slides from the defense of projects MUNI/33/1654/2022 and + MUNI/33/1658/2022 to `README.md`. (49f01ccf) +- Remove `<mroot>` from MathML in the user manual. (#420, #422, + contributed by @quark67) + +Contributed Software: + +- Make the documentation of contributions more detailed. (3f928162) + +Docker: + +- Add support for TeX Live 2024. + (#411, bafbb164, #413, 04957eee, 16000aa4, #425, 9549a5d8, 8f8e1315, + 844beafc, cf592003) + +Continuous Integration: + +- Style-check tabs and trailing spaces in `markdown.dtx`. (a0c941ca) + ## 3.4.2 (2024-03-09) Fixes: @@ -119,7 +154,7 @@ Fixes: - Remove the `options.cacheDir` directory if it is empty after conversion. (5cfcea6) - Allow tables inside lists. (#368, #371, contributed by @lostenderman, - sponsored by ISTQB) + sponsored by @istqborg) - Check that shell access is unrestricted before attempting shell escape. (#365, witiko/lt3luabridge#22, latex3/latex3#1339, #372) @@ -152,7 +187,7 @@ Development: Fixes: - Make the `import` LaTeX option correctly handle recursive imports. - (68c7a2f5, danopolan/istqb_latex#87) + (68c7a2f5, istqborg/istqb_shared_documents#87) - Support attributes on multi-line setext headings. (#315, #355, #356, contributed by @lostenderman) - Correctly process the combination of Lua options `fancyLists` and @@ -160,8 +195,8 @@ Fixes: - Properly parse emphasis at line endings in headings. (#358, #360, contributed by @lostenderman) - Fix fancy lists that use roman numerals as markers. - (danopolan/istqb_latex#87, #359, #364, - contributed by @lostenderman, sponsored by ISTQB) + (istqborg/istqb_shared_documents#87, #359, #364, + contributed by @lostenderman, sponsored by @istqborg) Documentation: @@ -232,7 +267,7 @@ Documentation: Fixes: - Correctly parse paragraphs with trailing spaces. - (danopolan/istqb_latex#77, #345, #347) + (istqborg/istqb_shared_documents#77, #345, #347) ## 3.0.0 (2023-08-25) diff --git a/macros/generic/markdown/README.md b/macros/generic/markdown/README.md index 5a87521f0f..76ad39d740 100644 --- a/macros/generic/markdown/README.md +++ b/macros/generic/markdown/README.md @@ -204,9 +204,10 @@ For further information, consult one of the following: 6. Talks: - [Five Years of Markdown in LaTeX: What, Why, How, and Whereto][pv212-fall2020] (in Czech), - [Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX][tb131-video] ([slides][tb131-slides]), - - [A Self-Publisher's Take on Markdown and TeX][tb134-01-video] ([slides][tb134-01-slides]), and - - [A Gentle Introduction to Markdown for Writers][tb134-02-video] ([slides][tb134-02-slides], [example][tb134-02-example]), and - - [Markdown 3: What's New, What's Next?][tb137-video] ([slides][tb137-slides]). + - [A Self-Publisher's Take on Markdown and TeX][tb134-01-video] ([slides][tb134-01-slides]), + - [A Gentle Introduction to Markdown for Writers][tb134-02-video] ([slides][tb134-02-slides], [example][tb134-02-example]), + - [Markdown 3: What's New, What's Next?][tb137-video] ([slides][tb137-slides]), and + - An Implementation of the CommonMark Standard and new Syntax Extensions to the Markdown Package for TeX ([slides][gencur-defense-slides]). 7. Theses: - [Generic TeX Writer for the Pandoc Document Converter][thesis-umhg5] - [An implementation of the CommonMark standard into the Markdown package for TeX][thesis-r7z7l] @@ -248,6 +249,8 @@ For further information, consult one of the following: [pv212-fall2020]: https://is.muni.cz/elearning/io/?qurl=%2Fel%2Ffi%2Fpodzim2020%2FPV212%2Findex.qwarp;prejit=5595952 + [gencur-defense-slides]: https://docs.google.com/presentation/d/e/2PACX-1vRbgJZ-UJlj5WMOjgWnq0BeNWKdA9ZhFqCKajhCjXtv3OarSKmojl5-X8tDp1ivnKtujuyEDmD2z_Z0/pub "An Implementation of the CommonMark Standard and new Syntax Extensions to the Markdown Package for TeX" + [install]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#installation "Markdown Package User Manual" [liantze]: http://liantze.penguinattack.org/ "Rants from the Lab" [overleaf]: https://www.overleaf.com/ "Overleaf: Real-time Collaborative Writing and Publishing Tools with Integrated PDF Preview" @@ -271,16 +274,17 @@ Acknowledgements | [<img width="150" src="https://www.fi.muni.cz/images/fi-logo.png">][fimu] | I gratefully acknowledge the funding from the [Faculty of Informatics][fimu] at the [Masaryk University][mu] in Brno, Czech Republic, for the development of the Markdown package in projects [MUNI/33/12/2015][], [MUNI/33/1784/2020][], [MUNI/33/0776/2021][], [MUNI/33/1654/2022][], and [MUNI/33/1658/2022][]. | | [<img width="150" src="https://cdn.overleaf.com/img/ol-brand/overleaf_og_logo.png">][overleaf] | Extensive user documentation for the Markdown package was kindly written by [Lian Tze Lim][liantze] and published by [Overleaf][]. | | [<img width="150" src="https://pbs.twimg.com/profile_images/1004769879319334912/6Bh1UthD.jpg">][omedym] | Support for content slicing (Lua options [`shiftHeadings`][option-shift-headings] and [`slice`][option-slice]) and pipe tables (Lua options [`pipeTables`][option-pipe-tables] and [`tableCaptions`][option-table-captions]) was graciously sponsored by [David Vins][dvins] and [Omedym][]. | -| [<img width="150" src="https://www.istqb.org/static/istqb-logo-1b043e800a580724ad223567f9ea57c0.png">][istqb] | Fixes for issues [#359][issue-359] and [#368][issue-368] were graciously sponsored by the [International Software Testing Qualifications Board (ISTQB)][istqb]. | +| [<img width="150" src="https://www.istqb.org/static/istqb-logo-1b043e800a580724ad223567f9ea57c0.png">][istqb] | Fixes for issues [#359][issue-359], [#368][issue-368], and [#424][issue-424] were graciously sponsored by the [International Software Testing Qualifications Board (ISTQB)][istqb]. | [dvins]: https://github.com/dvins "David Vins" [fimu]: https://www.fi.muni.cz/index.html.en "Faculty of Informatics, Masaryk University" - [ISTQB]: https://www.istqb.org/ "International Software Testing Qualifications Board" + [ISTQB]: https://github.com/istqborg "ISTQB.ORG: Official ISTQB® GitHub account" [mu]: https://www.muni.cz/en "Masaryk University" [Omedym]: https://www.omedym.com/ "Omedym" [issue-359]: https://github.com/witiko/markdown/issues/359 "First item of a fancy list forms a separate list" [issue-368]: https://github.com/witiko/markdown/issues/368 "Tables nested in list items have empty lines" + [issue-424]: https://github.com/witiko/markdown/issues/424 "E-mail addresses are incorrectly interpreted as bracketed citations" [option-pipe-tables]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#pipe-tables "Markdown Package User Manual" [option-shift-headings]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#option-shiftheadings "Markdown Package User Manual" diff --git a/macros/generic/markdown/VERSION b/macros/generic/markdown/VERSION index 7fba28f70e..d13fdfa34f 100644 --- a/macros/generic/markdown/VERSION +++ b/macros/generic/markdown/VERSION @@ -1 +1 @@ -3.4.2-0-ga45cf0ed (2024-03-09) +3.4.3-0-ge2c6be1a (2024-04-04) diff --git a/macros/generic/markdown/markdown.dtx b/macros/generic/markdown/markdown.dtx index 5ce5a6496e..dd4c7367fb 100644 --- a/macros/generic/markdown/markdown.dtx +++ b/macros/generic/markdown/markdown.dtx @@ -104,7 +104,13 @@ \newunicodechar{☒}{\markdownRendererTickedBox} \newunicodechar{⌛}{\markdownRendererHalfTickedBox} \newunicodechar{☐}{\markdownRendererUntickedBox} -\newunicodechar{😉}{;-)} +\usepackage{emoji} +\makeatletter +\@ifpackagelater{emoji}{2020/03/16}{ + \newunicodechar{😉}{\emoji{winking-face}} +}{ + \newunicodechar{😉}{;-)} +} \makeatother % Set up the catcodes. @@ -1881,7 +1887,7 @@ following text: > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -1924,7 +1930,7 @@ following text: > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -1977,7 +1983,7 @@ following text: > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -5563,15 +5569,15 @@ A PDF document named `document.pdf` should be produced and contain the following text: > Term 1 -> +> > : Definition 1 -> +> > Term 2 with *inline markup* -> +> > : Definition 2 -> +> > { some code, part of Definition 2 } -> +> > Third paragraph of definition 2. ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -5605,15 +5611,15 @@ A PDF document named `document.pdf` should be produced and contain the following text: > Term 1 -> +> > : Definition 1 -> +> > Term 2 with *inline markup* -> +> > : Definition 2 -> +> > { some code, part of Definition 2 } -> +> > Third paragraph of definition 2. %</manual-options> @@ -7157,7 +7163,7 @@ following text: > \$\\sqrt {-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -7199,7 +7205,7 @@ following text: > \$\\sqrt {-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -7231,7 +7237,7 @@ following text: > \$\\sqrt {-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -7263,7 +7269,7 @@ following text: > \$\\sqrt {-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -7295,7 +7301,7 @@ following text: > \$\\sqrt {-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -8066,20 +8072,20 @@ A PDF document named `document.pdf` should be produced and contain the following text: > Here is a note reference,[^1] and another.[^longnote] -> +> > [^1]: Here is the note. -> +> > [^longnote]: Here's one with multiple blocks. -> +> > Subsequent paragraphs are indented to show that they > belong to the previous note. -> +> > { some.code } -> +> > The whole paragraph can be indented, or just the > first line. In this way, multi-paragraph notes > work like multi-paragraph list items. -> +> > This paragraph won't be part of the note, because it > isn't indented. @@ -8120,20 +8126,20 @@ A PDF document named `document.pdf` should be produced and contain the following text: > Here is a note reference,[^1] and another.[^longnote] -> +> > [^1]: Here is the note. -> +> > [^longnote]: Here's one with multiple blocks. -> +> > Subsequent paragraphs are indented to show that they > belong to the previous note. -> +> > { some.code } -> +> > The whole paragraph can be indented, or just the > first line. In this way, multi-paragraph notes > work like multi-paragraph list items. -> +> > This paragraph won't be part of the note, because it > isn't indented. @@ -9123,13 +9129,13 @@ A PDF document named `document.pdf` should be produced and contain the following text: > The following list respects the numbers specified in the markup: -> +> > 3. third item > 4. fourth item > 5. fifth item > > The following list does not respect the numbers specified in the markup: -> +> > 1. third item > 2. fourth item > 3. fifth item @@ -9168,13 +9174,13 @@ A PDF document named `document.pdf` should be produced and contain the following text: > The following list respects the numbers specified in the markup: -> +> > 3. third item > 4. fourth item > 5. fifth item > > The following list does not respect the numbers specified in the markup: -> +> > 1. third item > 2. fourth item > 3. fifth item @@ -9812,7 +9818,7 @@ following text: > | 12 | 12 | 12 | 12 | > | 123 | 123 | 123 | 123 | > | 1 | 1 | 1 | 1 | -> +> > : Demonstration of pipe table syntax. ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -9850,7 +9856,7 @@ following text: > | 12 | 12 | 12 | 12 | > | 123 | 123 | 123 | 123 | > | 1 | 1 | 1 | 1 | -> +> > : Demonstration of pipe table syntax. %</manual-options> @@ -10234,7 +10240,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > $E=mc^2$ -> +> > $$\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx$$ ##### \LaTeX{} Example {.unnumbered} @@ -10262,7 +10268,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > $E=mc^2$ -> +> > $$\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx$$ ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -10290,7 +10296,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > $E=mc^2$ -> +> > $$\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx$$ %</manual-options> @@ -10445,7 +10451,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > \\(E=mc^2\\) -> +> > \\[\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\\] ##### \LaTeX{} Example {.unnumbered} @@ -10473,7 +10479,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > \\(E=mc^2\\) -> +> > \\[\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\\] ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -10501,7 +10507,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > \\(E=mc^2\\) -> +> > \\[\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\\] %</manual-options> @@ -10656,7 +10662,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > \(E=mc^2\) -> +> > \[\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\] ##### \LaTeX{} Example {.unnumbered} @@ -10684,7 +10690,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > \(E=mc^2\) -> +> > \[\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\] ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -10712,7 +10718,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > \(E=mc^2\) -> +> > \[\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\] %</manual-options> @@ -10815,21 +10821,21 @@ A PDF document named `document.pdf` should be produced and contain the following text: > The following list is tight: -> +> > - first item > - second item > - third item -> +> > The following list is loose: -> +> > - first item > - second item that spans -> +> > multiple paragraphs > - third item -> +> > The following list is now also loose: -> +> > - first item > > - second item @@ -11298,7 +11304,7 @@ following text: > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -11373,10 +11379,10 @@ pdftex --shell-escape document.tex % ``` tex % \input markdown % a -% b \markdownBegin c -% d +% b \markdownBegin c +% d % e \markdownEnd f -% g +% g % \bye % ``````` % @@ -12696,7 +12702,7 @@ The following ordered list will be preceded by roman numerals: \end{markdown} ``````` -Furthermore, we can also specify the name of the snippet in the current +Furthermore, we can also specify the name of the snippet in the current namespace, which can be different from the name of the snippet in the `jdoe/lists` theme. For example, we can make the snippet `jdoe/lists/romanNumerals` available under the name `roman`. @@ -13532,11 +13538,11 @@ following text: > This is a tight list (the first item, the second item, and the third item). > > This is a loose list: -> +> > - This is the first item. -> +> > - This is the second item. -> +> > - This is the third item. ##### \LaTeX{} Example {.unnumbered} @@ -13560,7 +13566,7 @@ following content: }, ulItemEnd = {}, ulEndTight = {).}, - }, + }, ] This is a tight list @@ -13579,7 +13585,7 @@ This is a tight list ulItem = {\item}, ulItemEnd = {.}, ulEnd = {\end{itemize}}, - }, + }, ] This is a loose list @@ -13602,11 +13608,11 @@ following text: > This is a tight list (the first item, the second item, and the third item). > > This is a loose list: -> +> > - This is the first item. -> +> > - This is the second item. -> +> > - This is the third item. ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -13668,11 +13674,11 @@ following text: > This is a tight list (the first item, the second item, and the third item). > > This is a loose list: -> +> > - This is the first item. -> +> > - This is the second item. -> +> > - This is the third item. %</manual-tokens> @@ -13800,7 +13806,7 @@ following text: The \mdef{markdownRendererTextCite} macro represents a string of one or more text citations. This macro will only be produced, when the -\Opt{citations} option is enabled. The macro receives parameters in the same +\Opt{citations} option is enabled. The macro receives parameters in the same format as the \mref{markdownRendererCite} macro. % \end{markdown} @@ -13926,8 +13932,8 @@ filename of a file contaning the code block contents. The \mdef{markdownRendererInputFencedCode} macro represents a fenced code block. This macro will only be produced, when the \Opt{fencedCode} option is enabled. The macro receives three arguments that correspond to the filename of -a file contaning the code block contents, the fully escaped code fence infostring -that can be directly typeset, and the raw code fence infostring that can be used +a file contaning the code block contents, the fully escaped code fence infostring +that can be directly typeset, and the raw code fence infostring that can be used outside typesetting. % \end{markdown} @@ -14083,7 +14089,7 @@ following text: > > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -14124,7 +14130,7 @@ following text: > > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -14161,7 +14167,7 @@ following text: > > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -15223,7 +15229,7 @@ following text: > Hello *world*! > > *(The end of a block)* -> +> > _Foo_ bar! %</manual-tokens> @@ -16395,7 +16401,7 @@ following text: > - Hello *world*! > > *(The end of a block)* -> +> > _Foo_ bar! ##### \LaTeX{} Example {.unnumbered} @@ -16432,7 +16438,7 @@ following text: > - Hello *world*! > > *(The end of a block)* -> +> > _Foo_ bar! ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -16464,7 +16470,7 @@ following text: > - Hello *world*! > > *(The end of a block)* -> +> > _Foo_ bar! %</manual-tokens> @@ -18080,11 +18086,11 @@ following text: > This is a tight list (the first item, the second item, and the third item). > > This is a loose list: -> +> > 1. This is the first item. -> +> > 2. This is the second item. -> +> > 3. This is the third item. ##### \LaTeX{} Example {.unnumbered} @@ -18113,7 +18119,7 @@ following content: }, olItemEnd = {}, olEndTight = {).}, - }, + }, ] This is a tight list @@ -18143,7 +18149,7 @@ This is a tight list }, olItemEnd = {.}, olEnd = {\end{enumerate}}, - }, + }, ] This is a loose list @@ -18166,11 +18172,11 @@ following text: > This is a tight list (the first item, the second item, and the third item). > > This is a loose list: -> +> > 1. This is the first item. -> +> > 2. This is the second item. -> +> > 3. This is the third item. ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -18253,11 +18259,11 @@ following text: > This is a tight list (the first item, the second item, and the third item). > > This is a loose list: -> +> > 1. This is the first item. -> +> > 2. This is the second item. -> +> > 3. This is the third item. %</manual-tokens> @@ -19323,7 +19329,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > $E=mc^2\dots$ -> +> > $$\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\eqno(1)$$ ##### \LaTeX{} Example {.unnumbered} @@ -19352,7 +19358,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > $E=mc^2\dots$ -> +> > $$\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\quad(1)$$ ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -19380,7 +19386,7 @@ A PDF document named `document.pdf` should be produced and contain the following text: > $E=mc^2\dots$ -> +> > $$\hat{f} \left ( \xi \right )= \int_{-\infty}^{\infty} f\left ( x \right ) e^{-i2\pi \xi x} dx\quad(1)$$ %</manual-tokens> @@ -21053,7 +21059,7 @@ following text: > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -21674,7 +21680,7 @@ following text: > \$\\sqrt{-1}\$ *equals* \$i\$. > -> <math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> +> <math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> > *equals* > <math><mi>i</mi></math>. @@ -22057,19 +22063,6 @@ end % \par % \begin{markdown} % -% The \luamdef{util.lookup_files} method looks up files with filename `f` -% and returns their paths. Further options for the \pkg{Kpathsea} library -% can be specified in table `options`. [@luatex21, Section 10.7.4] -% -% \end{markdown} -% \begin{macrocode} -function util.lookup_files(f, options) - return kpse.lookup(f, options) -end -% \end{macrocode} -% \par -% \begin{markdown} -% % The \luamdef{util.expand_tabs_in_line} expands tabs in string `s`. If % `tabstop` is specified, it is used as the tab stop width. Otherwise, % the tab stop width of 4 characters is used. The method is a copy of the tab @@ -24509,7 +24502,7 @@ function entities.char_entity(s) end local char_table = {} for _, code_point in ipairs(code_points) do - table.insert(char_table, unicode.utf8.char(code_point)) + table.insert(char_table, unicode.utf8.char(code_point)) end return table.concat(char_table) end @@ -24689,9 +24682,10 @@ function M.writer.new(options) % % \end{markdown} % \begin{macrocode} + self.interblocksep_text = "\\markdownRendererInterblockSeparator\n{}" function self.interblocksep() if not self.is_writing then return "" end - return "\\markdownRendererInterblockSeparator\n{}" + return self.interblocksep_text end % \end{macrocode} % \par @@ -24704,9 +24698,24 @@ function M.writer.new(options) % % \end{markdown} % \begin{macrocode} + self.paragraphsep_text = "\\markdownRendererParagraphSeparator\n{}" function self.paragraphsep() if not self.is_writing then return "" end - return "\\markdownRendererParagraphSeparator\n{}" + return self.paragraphsep_text + end +% \end{macrocode} +% \par +% \begin{markdown} +% +% Define \luamdef{writer->undosep} as a function that will remove the output +% produced by an immediately preceding block element / paragraph separator. +% +% \end{markdown} +% \begin{macrocode} + self.undosep_text = "\\markdownRendererUndoSeparator\n{}" + function self.undosep() + if not self.is_writing then return "" end + return self.undosep_text end % \end{macrocode} % \par @@ -25378,6 +25387,7 @@ function M.writer.new(options) if attributes["#" .. self.slice_end_identifier] ~= nil and self.slice_end_type == "^" then if self.is_writing then + table.insert(buf, self.undosep()) table.insert(buf, tear_down_attributes()) end self.is_writing = false @@ -25429,6 +25439,7 @@ function M.writer.new(options) if attributes["#" .. self.slice_end_identifier] ~= nil and self.slice_end_type == "$" then if self.is_writing then + table.insert(buf, self.undosep()) table.insert(buf, tear_down_attributes()) end self.is_writing = false @@ -25448,55 +25459,55 @@ function M.writer.new(options) % % \end{markdown} % \begin{macrocode} -local function create_auto_identifier(s) - local buffer = {} - local prev_space = false - local letter_found = false + local function create_auto_identifier(s) + local buffer = {} + local prev_space = false + local letter_found = false - for _, code in utf8.codes(uni_algos.normalize.NFC(s)) do - local char = utf8.char(code) + for _, code in utf8.codes(uni_algos.normalize.NFC(s)) do + local char = utf8.char(code) - -- Remove everything up to the first letter. - if not letter_found then - local is_letter = unicode.utf8.match(char, "%a") - if is_letter then - letter_found = true - else - goto continue + -- Remove everything up to the first letter. + if not letter_found then + local is_letter = unicode.utf8.match(char, "%a") + if is_letter then + letter_found = true + else + goto continue + end end - end - -- Remove all non-alphanumeric characters, except underscores, hyphens, and periods. - if not unicode.utf8.match(char, "[%w_%-%.%s]") then - goto continue - end - - -- Replace all spaces and newlines with hyphens. - if unicode.utf8.match(char, "[%s\n]") then - char = "-" - if prev_space then + -- Remove all non-alphanumeric characters, except underscores, hyphens, and periods. + if not unicode.utf8.match(char, "[%w_%-%.%s]") then goto continue + end + + -- Replace all spaces and newlines with hyphens. + if unicode.utf8.match(char, "[%s\n]") then + char = "-" + if prev_space then + goto continue + else + prev_space = true + end else - prev_space = true + -- Convert all alphabetic characters to lowercase. + char = unicode.utf8.lower(char) + prev_space = false end - else - -- Convert all alphabetic characters to lowercase. - char = unicode.utf8.lower(char) - prev_space = false - end - table.insert(buffer, char) + table.insert(buffer, char) - ::continue:: - end + ::continue:: + end - if prev_space then - table.remove(buffer) - end + if prev_space then + table.remove(buffer) + end - local identifier = #buffer == 0 and "section" or table.concat(buffer, "") - return identifier -end + local identifier = #buffer == 0 and "section" or table.concat(buffer, "") + return identifier + end % \end{macrocode} % \begin{markdown} % @@ -25504,56 +25515,56 @@ end % % \end{markdown} % \begin{macrocode} -local function create_gfm_auto_identifier(s) - local buffer = {} - local prev_space = false - local letter_found = false + local function create_gfm_auto_identifier(s) + local buffer = {} + local prev_space = false + local letter_found = false - for _, code in utf8.codes(uni_algos.normalize.NFC(s)) do - local char = utf8.char(code) + for _, code in utf8.codes(uni_algos.normalize.NFC(s)) do + local char = utf8.char(code) - -- Remove everything up to the first non-space. - if not letter_found then - local is_letter = unicode.utf8.match(char, "%S") - if is_letter then - letter_found = true - else - goto continue + -- Remove everything up to the first non-space. + if not letter_found then + local is_letter = unicode.utf8.match(char, "%S") + if is_letter then + letter_found = true + else + goto continue + end end - end - -- Remove all non-alphanumeric characters, except underscores and hyphens. - if not unicode.utf8.match(char, "[%w_%-%s]") then - prev_space = false - goto continue - end - - -- Replace all spaces and newlines with hyphens. - if unicode.utf8.match(char, "[%s\n]") then - char = "-" - if prev_space then + -- Remove all non-alphanumeric characters, except underscores and hyphens. + if not unicode.utf8.match(char, "[%w_%-%s]") then + prev_space = false goto continue + end + + -- Replace all spaces and newlines with hyphens. + if unicode.utf8.match(char, "[%s\n]") then + char = "-" + if prev_space then + goto continue + else + prev_space = true + end else - prev_space = true + -- Convert all alphabetic characters to lowercase. + char = unicode.utf8.lower(char) + prev_space = false end - else - -- Convert all alphabetic characters to lowercase. - char = unicode.utf8.lower(char) - prev_space = false - end - table.insert(buffer, char) + table.insert(buffer, char) - ::continue:: - end + ::continue:: + end - if prev_space then - table.remove(buffer) - end + if prev_space then + table.remove(buffer) + end - local identifier = #buffer == 0 and "section" or table.concat(buffer, "") - return identifier -end + local identifier = #buffer == 0 and "section" or table.concat(buffer, "") + return identifier + end % \end{macrocode} % \par % \begin{markdown} @@ -25564,6 +25575,8 @@ end % % \end{markdown} % \begin{macrocode} + self.secbegin_text = "\\markdownRendererSectionBegin\n" + self.secend_text = "\n\\markdownRendererSectionEnd " function self.heading(s, level, attributes) local buf = {} local flat_text, inlines = table.unpack(s) @@ -25573,8 +25586,8 @@ end table.insert(buf, self.push_attributes("heading", nil, - "\\markdownRendererSectionBegin\n", - "\n\\markdownRendererSectionEnd ")) + self.secbegin_text, + self.secend_text)) end -- pop attributes for sections that have ended @@ -25595,8 +25608,8 @@ end -- push attributes for the new section local start_output = {} local end_output = {} - table.insert(start_output, "\\markdownRendererSectionBegin\n") - table.insert(end_output, "\n\\markdownRendererSectionEnd ") + table.insert(start_output, self.secbegin_text) + table.insert(end_output, self.secend_text) table.insert(buf, self.push_attributes("heading", normalized_attributes, @@ -25752,7 +25765,6 @@ parsers.letter = R("AZ","az") parsers.alphanumeric = R("AZ","az","09") parsers.keyword = parsers.letter * (parsers.alphanumeric + parsers.dash)^0 -parsers.internal_punctuation = S(":;,.?") parsers.doubleasterisks = P("**") parsers.doubleunderscores = P("__") @@ -25763,7 +25775,50 @@ parsers.any = P(1) parsers.succeed = P(true) parsers.fail = P(false) -parsers.escapable = S("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~") +parsers.internal_punctuation = S(":;,.?") +parsers.ascii_punctuation = S("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~") +% \end{macrocode} +% \par +% \begin{markdown} +% +%### Unicode punctuation +% This section documents [the Unicode punctuation][unicode-punctuation] +% recognized by the markdown reader. The punctuation is organized in the +% \luamdef{parsers.punctuation} table according to the number of bytes occupied +% after conversion to \acro{utf}8. +% +% [unicode-punctuation]: https://spec.commonmark.org/0.31.2/#unicode-punctuation-character +% (CommonMark Spec, Version 0.31.2 (2024-01-28)) +% +% \end{markdown} +% \begin{macrocode} +parsers.punctuation = {} +(function() + local pathname = kpse.lookup("UnicodeData.txt") + local file = assert(io.open(pathname, "r"), + [[Could not open file "UnicodeData.txt"]]) + for line in file:lines() do + local codepoint, major_category = line:match("^(%x+);[^;]*;(%a)") + if major_category == "P" or major_category == "S" then + local code = unicode.utf8.char(tonumber(codepoint, 16)) + if parsers.punctuation[#code] == nil then + parsers.punctuation[#code] = parsers.fail + end + local code_parser = parsers.succeed + for i = 1, #code do + local byte = code:sub(i, i) + local byte_parser = S(byte) + code_parser = code_parser + * byte_parser + end + parsers.punctuation[#code] = parsers.punctuation[#code] + + code_parser + end + end + assert(file:close()) +end)() + +parsers.escapable = parsers.ascii_punctuation parsers.anyescaped = parsers.backslash / "" * parsers.escapable + parsers.any @@ -25812,8 +25867,8 @@ parsers.leader = parsers.space^-3 % \end{markdown} % \begin{macrocode} local function has_trail(indent_table) - return indent_table ~= nil and - indent_table.trail ~= nil and + return indent_table ~= nil and + indent_table.trail ~= nil and next(indent_table.trail) ~= nil end @@ -25825,8 +25880,8 @@ end % \end{markdown} % \begin{macrocode} local function has_indents(indent_table) - return indent_table ~= nil and - indent_table.indents ~= nil and + return indent_table ~= nil and + indent_table.indents ~= nil and next(indent_table.indents) ~= nil end @@ -25902,8 +25957,8 @@ end % % Process the spacing of a string of spaces and tabs `spacing` with preceding indent width from % the start of the line `indent` and strip up to `left_strip_length` spaces. Return the remainder -% `remainder` and whether there is enough spaces to produce a code `is_code`. Return how many -% spaces were stripped, as well as if the minimum was met `is_minimum` and what remainder it +% `remainder` and whether there is enough spaces to produce a code `is_code`. Return how many +% spaces were stripped, as well as if the minimum was met `is_minimum` and what remainder it % left `minimum_remainder`. % % \end{markdown} @@ -25947,7 +26002,7 @@ local function process_starter_spacing(indent, spacing, minimum, left_strip_leng minimum_found = true minimum_remainder = minimum_remainder .. string.rep(" ", count - minimum) end - + if (code_started) then code_start = code_start .. character elseif (count >= minimum + 4) then @@ -26119,13 +26174,13 @@ end % % Apply the patterns decoded from the indents of the indent table `indent_table` % iteratively starting at position `index` of the string `s`. If the `is_optional` -% mode is selected, match as many patterns as possible, else match all or fail. -% With the option `is_blank`, the parsing behaves as optional after the position +% mode is selected, match as many patterns as possible, else match all or fail. +% With the option `is_blank`, the parsing behaves as optional after the position % of a blank-only indent has been surpassed. % % \end{markdown} % \begin{macrocode} -local function traverse_indent(s, i, indent_table, is_optional, is_blank) +local function traverse_indent(s, i, indent_table, is_optional, is_blank, current_line_indents) local new_index = i local preceding_indentation = 0 @@ -26133,6 +26188,10 @@ local function traverse_indent(s, i, indent_table, is_optional, is_blank) local blank_starter = left_blank_starter(indent_table) + if current_line_indents == nil then + current_line_indents = {} + end + for index = 1,#indent_table.indents do local value = indent_table.indents[index] local pattern = decode_pattern(value.name) @@ -26142,10 +26201,10 @@ local function traverse_indent(s, i, indent_table, is_optional, is_blank) if new_indent_info == nil then local blankline_end = lpeg.match(Ct(parsers.blankline * Cg(Cp(), "pos")), s, new_index) if is_optional or not indent_table.ignore_blockquote_blank or not blankline_end then - return is_optional, new_index, current_trail + return is_optional, new_index, current_trail, current_line_indents end - return traverse_indent(s, tonumber(blankline_end.pos), indent_table, is_optional, is_blank) + return traverse_indent(s, tonumber(blankline_end.pos), indent_table, is_optional, is_blank, current_line_indents) end local raw_last_trail = new_indent_info[1] @@ -26158,13 +26217,13 @@ local function traverse_indent(s, i, indent_table, is_optional, is_blank) -- check previous trail if not space_only and next(current_trail) == nil then local sp = process_starter_spacing(0, raw_last_trail, 0, 0) - current_trail = {is_code=sp.is_code, remainder=sp.remainder, total_length=sp.total_length, + current_trail = {is_code=sp.is_code, remainder=sp.remainder, total_length=sp.total_length, full_remainder=sp.full_remainder} end if next(current_trail) ~= nil then if not space_only and current_trail.is_code then - return is_optional, new_index, current_trail + return is_optional, new_index, current_trail, current_line_indents end if current_trail.internal_remainder ~= nil then raw_last_trail = current_trail.internal_remainder @@ -26196,7 +26255,7 @@ local function traverse_indent(s, i, indent_table, is_optional, is_blank) local sp = process_starter_spacing(total_indent_level, spacing_to_process, minimum, left_strip_length) if space_only and not sp.is_minimum then - return is_optional or (is_blank and blank_starter <= index), new_index, current_trail + return is_optional or (is_blank and blank_starter <= index), new_index, current_trail, current_line_indents end local indent_length = raw_last_trail_length + delimiter_length + sp.left_total_stripped @@ -26210,10 +26269,12 @@ local function traverse_indent(s, i, indent_table, is_optional, is_blank) current_trail = {is_code=sp.is_code, remainder=sp.remainder, internal_remainder=sp.minimum_remainder, total_length=sp.total_length, full_remainder=sp.full_remainder} + + current_line_indents[#current_line_indents + 1] = new_indent_info new_index = next_index end - return true, new_index, current_trail + return true, new_index, current_trail, current_line_indents end % \end{macrocode} @@ -26230,8 +26291,8 @@ end % \end{macrocode} % \begin{markdown} % -% Check if the current trail of the `indent_table` would produce code if it is expected `expect_code` -% or it would not if it is not. If there is no trail, process and check the current spacing `spacing`. +% Check if the current trail of the `indent_table` would produce code if it is expected `expect_code` +% or it would not if it is not. If there is no trail, process and check the current spacing `spacing`. % % \end{markdown} % \begin{macrocode} @@ -26242,7 +26303,7 @@ local function check_trail_joined(s, i, indent_table, spacing, expect_code, omit if has_trail(indent_table) then local trail = indent_table.trail is_code = trail.is_code - if is_code then + if is_code then remainder = trail.remainder else remainder = trail.full_remainder @@ -26250,7 +26311,7 @@ local function check_trail_joined(s, i, indent_table, spacing, expect_code, omit else local sp = process_starter_spacing(0, spacing, 0, 0) is_code = sp.is_code - if is_code then + if is_code then remainder = sp.remainder else remainder = sp.full_remainder @@ -26291,7 +26352,7 @@ end % \end{macrocode} % \begin{markdown} % -% Check the indentation of the continuation line, optionally with +% Check the indentation of the continuation line, optionally with % the mode `is_optional` selected. Check blank line exclusively with `is_blank`. % % \end{markdown} @@ -26301,9 +26362,11 @@ local function check_continuation_indentation(s, i, indent_table, is_optional, i return true end - local passes, new_index, current_trail = traverse_indent(s, i, indent_table, is_optional, is_blank) + local passes, new_index, current_trail, current_line_indents = + traverse_indent(s, i, indent_table, is_optional, is_blank) if passes then + indent_table.current_line_indents = current_line_indents indent_table = add_trail(indent_table, current_trail) return new_index, indent_table end @@ -26341,7 +26404,7 @@ end % \end{macrocode} % \begin{markdown} % -% Take the trail `trail` or create a new one from `spacing` and comapre it +% Take the trail `trail` or create a new one from `spacing` and compare it % with the expected `trail_type`. On success return the index `i` and the % remainder of the trail. % @@ -26394,25 +26457,25 @@ end % \end{macrocode} % \begin{markdown} % -% Check the indentation of the continuation line, optionally with -% the mode `is_optional` selected. Check blank line specifically with `is_blank`. +% Check the indentation of the continuation line, optionally with +% the mode `is_optional` selected. Check blank line specifically with `is_blank`. % Additionally, also directly check the new trail with a type `trail_type`. % % \end{markdown} % \begin{macrocode} local function check_continuation_indentation_and_trail(s, i, indent_table, is_optional, is_blank, trail_type, - reset_rem, omit_remainder) + reset_rem, omit_remainder) if not has_indents(indent_table) then local spacing, new_index = lpeg.match(C(parsers.spacechar^0) * Cp(), s, i) local result, remainder = check_trail_type(s, i, indent_table.trail, spacing, trail_type) if remainder == nil then - if result then + if result then return new_index end return false end - if result then - return new_index, remainder + if result then + return new_index, remainder end return false end @@ -26431,17 +26494,17 @@ local function check_continuation_indentation_and_trail(s, i, indent_table, is_o end local result, remainder = check_trail_type(s, new_index, current_trail, spacing, trail_type) if remainder == nil or omit_remainder then - if result then - return new_index + if result then + return new_index end return false end - + if is_blank and reset_rem then remainder = remove_remainder_if_blank(indent_table, remainder) end - if result then - return new_index, remainder + if result then + return new_index, remainder end return false end @@ -26516,11 +26579,11 @@ parsers.check_minimal_blank_indent_and_full_code_trail = Cmt( Cb("indent_info") check_continuation_indentation_and_trail) parsers.check_minimal_indent_and_any_trail = Cmt( Cb("indent_info") - * Cc(false) * Cc(false) * Cc("full-any") * Cc(true) * Cc(false), + * Cc(false) * Cc(false) * Cc("full-any") * Cc(true) * Cc(false), check_continuation_indentation_and_trail) parsers.check_minimal_blank_indent_and_any_trail = Cmt( Cb("indent_info") - * Cc(false) * Cc(true) * Cc("full-any") * Cc(true) * Cc(false), + * Cc(false) * Cc(true) * Cc("full-any") * Cc(true) * Cc(false), check_continuation_indentation_and_trail) parsers.check_minimal_blank_indent_and_any_trail_no_rem = Cmt( Cb("indent_info") @@ -26528,11 +26591,11 @@ parsers.check_minimal_blank_indent_and_any_trail_no_rem = Cmt( Cb("indent_info") check_continuation_indentation_and_trail) parsers.check_optional_indent_and_any_trail = Cmt( Cb("indent_info") - * Cc(true) * Cc(false) * Cc("full-any") * Cc(true) * Cc(false), + * Cc(true) * Cc(false) * Cc("full-any") * Cc(true) * Cc(false), check_continuation_indentation_and_trail) parsers.check_optional_blank_indent_and_any_trail = Cmt( Cb("indent_info") - * Cc(true) * Cc(true) * Cc("full-any") * Cc(true) * Cc(false), + * Cc(true) * Cc(true) * Cc("full-any") * Cc(true) * Cc(false), check_continuation_indentation_and_trail) % \end{macrocode} @@ -26865,10 +26928,10 @@ parsers.block_keyword = -- end conditions parsers.html_blankline_end_condition = parsers.linechar^0 - * ( parsers.newline - * (parsers.check_minimal_blank_indent_and_any_trail + * ( parsers.newline + * (parsers.check_minimal_blank_indent_and_any_trail * #parsers.blankline - + parsers.check_minimal_indent_and_any_trail) + + parsers.check_minimal_indent_and_any_trail) * parsers.linechar^1)^0 * (parsers.newline^-1 / "") @@ -26877,10 +26940,10 @@ local function remove_trailing_blank_lines(s) end parsers.html_until_end = function(end_marker) - return Cs(Cs((parsers.newline - * (parsers.check_minimal_blank_indent_and_any_trail + return Cs(Cs((parsers.newline + * (parsers.check_minimal_blank_indent_and_any_trail * #parsers.blankline - + parsers.check_minimal_indent_and_any_trail) + + parsers.check_minimal_indent_and_any_trail) + parsers.linechar - end_marker)^0 * parsers.linechar^0 * parsers.newline^-1) / remove_trailing_blank_lines) @@ -26896,27 +26959,27 @@ parsers.html_attribute_name = (parsers.letter + parsers.colon + parsers.undersco * (parsers.alphanumeric + parsers.colon + parsers.underscore + parsers.period + parsers.dash)^0 -parsers.html_attribute_value = parsers.squote - * (parsers.linechar - parsers.squote)^0 +parsers.html_attribute_value = parsers.squote + * (parsers.linechar - parsers.squote)^0 * parsers.squote - + parsers.dquote - * (parsers.linechar - parsers.dquote)^0 + + parsers.dquote + * (parsers.linechar - parsers.dquote)^0 * parsers.dquote + ( parsers.any - parsers.spacechar - parsers.newline - parsers.dquote - parsers.squote - parsers.backtick - parsers.equal - parsers.less - parsers.more)^1 -parsers.html_inline_attribute_value = parsers.squote +parsers.html_inline_attribute_value = parsers.squote * (V("NoSoftLineBreakEndline") + parsers.any - parsers.blankline^2 - - parsers.squote)^0 + - parsers.squote)^0 * parsers.squote - + parsers.dquote + + parsers.dquote * (V("NoSoftLineBreakEndline") + parsers.any - parsers.blankline^2 - - parsers.dquote)^0 + - parsers.dquote)^0 * parsers.dquote + (parsers.any - parsers.spacechar - parsers.newline - parsers.dquote - parsers.squote - parsers.backtick @@ -26944,7 +27007,7 @@ parsers.html_non_newline_attribute = parsers.spacechar^1 * parsers.html_attribute_value_specification^-1 parsers.nested_breaking_blank = parsers.newline - * parsers.check_minimal_blank_indent + * parsers.check_minimal_blank_indent * parsers.blankline parsers.html_comment_start = P("<!--") @@ -26953,10 +27016,10 @@ parsers.html_comment_end = P("-->") parsers.html_comment = Cs( parsers.html_comment_start * parsers.html_until_end(parsers.html_comment_end)) - + parsers.html_inline_comment = (parsers.html_comment_start / "") * -P(">") * -P("->") - * Cs((V("NoSoftLineBreakEndline") + parsers.any - P("--") + * Cs((V("NoSoftLineBreakEndline") + parsers.any - parsers.nested_breaking_blank - parsers.html_comment_end)^0) * (parsers.html_comment_end / "") @@ -26980,7 +27043,7 @@ parsers.html_declaration = Cs( parsers.html_declaration_start * parsers.html_until_end(parsers.html_declaration_end)) parsers.html_inline_declaration = parsers.html_declaration_start - * Cs(V("NoSoftLineBreakEndline") + parsers.any + * Cs(V("NoSoftLineBreakEndline") + parsers.any - parsers.nested_breaking_blank - parsers.html_declaration_end)^0 * parsers.html_declaration_end @@ -26992,7 +27055,7 @@ parsers.html_instruction = Cs( parsers.html_instruction_start * parsers.html_until_end(parsers.html_instruction_end)) parsers.html_inline_instruction = parsers.html_instruction_start - * Cs(V("NoSoftLineBreakEndline") + parsers.any + * Cs(V("NoSoftLineBreakEndline") + parsers.any - parsers.nested_breaking_blank - parsers.html_instruction_end)^0 * parsers.html_instruction_end @@ -27135,7 +27198,7 @@ parsers.html_any_block = parsers.html_any_block_opening parsers.html_inline_comment_full = parsers.html_comment_start * -P(">") * -P("->") - * Cs((V("NoSoftLineBreakEndline") + parsers.any - P("--") + * Cs((V("NoSoftLineBreakEndline") + parsers.any - P("--") - parsers.nested_breaking_blank - parsers.html_comment_end)^0) * parsers.html_comment_end @@ -27367,7 +27430,7 @@ parsers.heading_start = #parsers.hash * C(parsers.hash^-6) * -parsers.hash / length -- parse setext header ending and return level -parsers.heading_level = parsers.nonindentspace * parsers.equal^1 * parsers.optionalspace * #parsers.newline * Cc(1) +parsers.heading_level = parsers.nonindentspace * parsers.equal^1 * parsers.optionalspace * #parsers.newline * Cc(1) + parsers.nonindentspace * parsers.dash^1 * parsers.optionalspace * #parsers.newline * Cc(2) local function strip_atx_end(s) @@ -27377,10 +27440,10 @@ end parsers.atx_heading = parsers.check_trail_no_rem * Cg(parsers.heading_start, "level") * (C( parsers.optionalspace - * parsers.hash^0 + * parsers.hash^0 * parsers.optionalspace * parsers.newline) - + parsers.spacechar^1 + + parsers.spacechar^1 * C(parsers.line)) % \end{macrocode} % \par @@ -27627,7 +27690,7 @@ function M.reader.new(writer, options) parsers.minimally_indented_par_or_plain = parsers.minimally_indented_paragraph + parsers.minimally_indented_plain - parsers.minimally_indented_par_or_plain_no_blank = parsers.minimally_indented_par_or_plain + parsers.minimally_indented_par_or_plain_no_blank = parsers.minimally_indented_par_or_plain - parsers.minimally_indented_blankline parsers.minimally_indented_ref = parsers.check_minimal_indent * V("Reference") @@ -27653,8 +27716,8 @@ function M.reader.new(writer, options) % \begin{macrocode} parsers.separator_loop = function(separated_block, paragraph, block_separator, paragraph_separator) - return separated_block - + block_separator + return separated_block + + block_separator * paragraph * separated_block + paragraph_separator @@ -27681,20 +27744,20 @@ function M.reader.new(writer, options) end parsers.sep_group_no_output = function(blank) - return blank^0 * parsers.eof + return blank^0 * parsers.eof + blank^0 end parsers.content_blank = parsers.minimally_indented_blankline - parsers.ref_or_block_separated = parsers.sep_group_no_output(parsers.content_blank) - * ( parsers.minimally_indented_ref + parsers.ref_or_block_separated = parsers.sep_group_no_output(parsers.content_blank) + * ( parsers.minimally_indented_ref - parsers.content_blank) + parsers.block_sep_group(parsers.content_blank) - * ( parsers.minimally_indented_block + * ( parsers.minimally_indented_block - parsers.content_blank) - parsers.loop_body_pair = + parsers.loop_body_pair = parsers.create_loop_body_pair(parsers.ref_or_block_separated, parsers.minimally_indented_par_or_plain_no_blank, parsers.block_sep_group(parsers.content_blank), @@ -27712,7 +27775,7 @@ function M.reader.new(writer, options) parsers.indented_content = function() return Ct( (V("Reference") + (parsers.blankline / "")) * parsers.content_blank^0 - * parsers.check_minimal_indent + * parsers.check_minimal_indent * parsers.content_loop + (V("Reference") + (parsers.blankline / "")) * parsers.content_blank^0 @@ -27758,7 +27821,7 @@ function M.reader.new(writer, options) * allowed_end end - parsers.starter = parsers.bullet(parsers.dash) + parsers.starter = parsers.bullet(parsers.dash) + parsers.bullet(parsers.asterisk) + parsers.bullet(parsers.plus) + parsers.enumerator(parsers.period) @@ -27842,7 +27905,7 @@ function M.reader.new(writer, options) % \end{macrocode} % \begin{markdown} % -% Render content between the `opening_index` and `closing_index` in the delimiter table `t` +% Render content between the `opening_index` and `closing_index` in the delimiter table `t` % as emphasis. % % \end{markdown} @@ -27856,7 +27919,7 @@ function M.reader.new(writer, options) % \end{macrocode} % \begin{markdown} % -% Render content between the `opening_index` and `closing_index` in the delimiter table `t` +% Render content between the `opening_index` and `closing_index` in the delimiter table `t` % as strong emphasis. % % \end{markdown} @@ -27876,8 +27939,8 @@ function M.reader.new(writer, options) % \end{markdown} % \begin{macrocode} local function breaks_three_rule(opening_delimiter, closing_delimiter) - return (opening_delimiter.is_closing or closing_delimiter.is_opening) and - ((opening_delimiter.original_count + closing_delimiter.original_count) % 3 == 0) and + return (opening_delimiter.is_closing or closing_delimiter.is_opening) and + ((opening_delimiter.original_count + closing_delimiter.original_count) % 3 == 0) and (opening_delimiter.original_count % 3 ~= 0 or closing_delimiter.original_count % 3 ~= 0) end @@ -27940,11 +28003,11 @@ function M.reader.new(writer, options) while current_position <= max_position do local value = t[current_position] - - if value.type ~= "delimiter" or - value.element ~= "emphasis" or - not value.is_active or - not value.is_closing or + + if value.type ~= "delimiter" or + value.element ~= "emphasis" or + not value.is_active or + not value.is_closing or (value.current_count <= 0) then current_position = current_position + 1 goto continue @@ -27978,7 +28041,7 @@ function M.reader.new(writer, options) t[current_position].current_count = current_closing_count - 1 fill_emph(t, opener_position, current_position) end - + ::continue:: end end @@ -28006,7 +28069,6 @@ function M.reader.new(writer, options) return lpeg.R("\240\244") * cont * cont * cont end end - % \end{macrocode} % \begin{markdown} % @@ -28024,15 +28086,22 @@ function M.reader.new(writer, options) else char_length = pos + 1 end - c = lpeg.match({ C(utf8_by_byte_count(char_length)) },s,i+pos) - if (c ~= nil) and (unicode.utf8.match(c, chartype)) then - return i + + if (chartype == "punctuation") then + if lpeg.match(parsers.punctuation[char_length], s, i+pos) then + return i + end + else + c = lpeg.match({ C(utf8_by_byte_count(char_length)) },s,i+pos) + if (c ~= nil) and (unicode.utf8.match(c, chartype)) then + return i + end end end end local function check_preceding_unicode_punctuation(s, i) - return check_unicode_type(s, i, -4, -1, "%p") + return check_unicode_type(s, i, -4, -1, "punctuation") end local function check_preceding_unicode_whitespace(s, i) @@ -28040,19 +28109,19 @@ function M.reader.new(writer, options) end local function check_following_unicode_punctuation(s, i) - return check_unicode_type(s, i, 0, 3, "%p") + return check_unicode_type(s, i, 0, 3, "punctuation") end local function check_following_unicode_whitespace(s, i) return check_unicode_type(s, i, 0, 3, "%s") end - parsers.unicode_preceding_punctuation = B(parsers.escapable) + parsers.unicode_preceding_punctuation = B(parsers.escapable) + Cmt(parsers.succeed, check_preceding_unicode_punctuation) parsers.unicode_preceding_whitespace = Cmt(parsers.succeed, check_preceding_unicode_whitespace) - parsers.unicode_following_punctuation = #parsers.escapable + parsers.unicode_following_punctuation = #parsers.escapable + Cmt(parsers.succeed, check_following_unicode_punctuation) parsers.unicode_following_whitespace = Cmt(parsers.succeed, check_following_unicode_whitespace) @@ -28064,8 +28133,8 @@ function M.reader.new(writer, options) end parsers.left_flanking_delimiter_run = function(character) - return (B( parsers.any) - * (parsers.unicode_preceding_punctuation + parsers.unicode_preceding_whitespace) + return (B( parsers.any) + * (parsers.unicode_preceding_punctuation + parsers.unicode_preceding_whitespace) + -B(parsers.any)) * parsers.delimiter_run(character) * parsers.unicode_following_punctuation @@ -28079,7 +28148,7 @@ function M.reader.new(writer, options) * parsers.delimiter_run(character) * (parsers.unicode_following_punctuation + parsers.unicode_following_whitespace + parsers.eof) - + (B(parsers.any) + + (B(parsers.any) * -(parsers.unicode_preceding_punctuation + parsers.unicode_preceding_whitespace)) * parsers.delimiter_run(character) end @@ -28087,13 +28156,13 @@ function M.reader.new(writer, options) if options.underscores then parsers.emph_start = parsers.left_flanking_delimiter_run(parsers.asterisk) + (-#parsers.right_flanking_delimiter_run(parsers.underscore) - + (parsers.unicode_preceding_punctuation + + (parsers.unicode_preceding_punctuation * #parsers.right_flanking_delimiter_run(parsers.underscore))) * parsers.left_flanking_delimiter_run(parsers.underscore) parsers.emph_end = parsers.right_flanking_delimiter_run(parsers.asterisk) + (-#parsers.left_flanking_delimiter_run(parsers.underscore) - + #(parsers.left_flanking_delimiter_run(parsers.underscore) + + #(parsers.left_flanking_delimiter_run(parsers.underscore) * parsers.unicode_following_punctuation)) * parsers.right_flanking_delimiter_run(parsers.underscore) else @@ -28115,7 +28184,7 @@ function M.reader.new(writer, options) * Cg(Cc(true), "is_opening") * Cg(Cc(false), "is_closing")) - parsers.emph_capturing_close = Ct( Cg(Cc("delimiter"), "type") + parsers.emph_capturing_close = Ct( Cg(Cc("delimiter"), "type") * Cg(Cc("emphasis"), "element") * Cg(C(parsers.emph_end), "content") * Cg(Cc(false), "is_opening") @@ -28281,20 +28350,20 @@ function M.reader.new(writer, options) end parsers.link_and_emph_endline = parsers.newline - * ((parsers.check_minimal_indent - * -V("EndlineExceptions") - + parsers.check_optional_indent - * -V("EndlineExceptions") + * ((parsers.check_minimal_indent + * -V("EndlineExceptions") + + parsers.check_optional_indent + * -V("EndlineExceptions") * -parsers.starter) / "") * parsers.spacechar^0 / "\n" parsers.link_and_emph_content = Ct( Cg(Cc("content"), "type") - * Cg(Cs(( parsers.link_emph_precedence + * Cg(Cs(( parsers.link_emph_precedence + parsers.backslash * parsers.any + parsers.link_and_emph_endline + (parsers.linechar - parsers.blankline^2 - - parsers.link_image_open_or_close + - parsers.link_image_open_or_close - parsers.emph_open_or_close))^0), "content")) parsers.link_and_emph_table = (parsers.link_image_opening + parsers.emph_open) @@ -28330,7 +28399,7 @@ function M.reader.new(writer, options) local value = t[i] if value.type == "delimiter" and value.is_opening and - (value.element == "link" or value.element == "image") + (value.element == "link" or value.element == "image") and not value.removed then if value.is_active then return i @@ -28455,8 +28524,8 @@ function M.reader.new(writer, options) % \end{macrocode} % \begin{markdown} % -% Parse content between two delimiters in the delimiter table `t`. Produce the respective link and image -% macros. +% Parse content between two delimiters in the delimiter table `t`. Produce the respective link and image +% macros. % % \end{markdown} % \begin{macrocode} @@ -28538,7 +28607,7 @@ function M.reader.new(writer, options) % \end{macrocode} % \begin{markdown} % -% Resolve an inline link [a](b "c") from the delimiters at `opening_index` and `closing_index` +% Resolve an inline link [a](b "c") from the delimiters at `opening_index` and `closing_index` % within a delimiter table `t`. Here, compared to other types of links, no reference definition is needed. % % \end{markdown} @@ -28571,7 +28640,7 @@ function M.reader.new(writer, options) % \begin{markdown} % % Resolve a full link [a][b] from the delimiters at `opening_index` and `closing_index` within a delimiter table `t`. -% Continue if a tag `b` is not found in the references. +% Continue if a tag `b` is not found in the references. % % \end{markdown} % \begin{macrocode} @@ -28581,7 +28650,7 @@ function M.reader.new(writer, options) local r = self.lookup_reference(next_link_content) if r then - local inline_content = resolve_inline_following_content(t, next_link_closing_index, false, + local inline_content = resolve_inline_following_content(t, next_link_closing_index, false, t.match_link_attributes) r.attributes = join_attributes(r.attributes, inline_content.attributes) render_link_or_image(t, opening_index, next_link_closing_index, closing_index, r) @@ -28591,9 +28660,9 @@ function M.reader.new(writer, options) % \end{macrocode} % \begin{markdown} % -% Resolve a collapsed link [a][] from the delimiters at `opening_index` and `closing_index` +% Resolve a collapsed link [a][] from the delimiters at `opening_index` and `closing_index` % within a delimiter table `t`. -% Continue if a tag `a` is not found in the references. +% Continue if a tag `a` is not found in the references. % % \end{markdown} % \begin{macrocode} @@ -28613,7 +28682,7 @@ function M.reader.new(writer, options) % \begin{markdown} % % Parse a table of link and emphasis delimiters `t`. -% First, iterate over the link delimiters and produce either link or image macros. +% First, iterate over the link delimiters and produce either link or image macros. % Then run `process_emphasis` over the entire delimiter table, resolving emphasis and strong % emphasis and parsing any content outside of closed delimiters. % @@ -28625,8 +28694,8 @@ function M.reader.new(writer, options) end for i,value in ipairs(t) do - if not value.is_closing or - value.type ~= "delimiter" or + if not value.is_closing or + value.type ~= "delimiter" or not (value.element == "link" or value.element == "image") then goto continue end @@ -28640,7 +28709,7 @@ function M.reader.new(writer, options) opening_delimiter.removed = true local link_type = opening_delimiter.link_type - + if (link_type == "inline") then resolve_inline_link(t, opener_position, i) end @@ -28657,7 +28726,7 @@ function M.reader.new(writer, options) ::continue:: end - t[#t].content = t[#t].content:gsub("%s*$","") + t[#t].content = t[#t].content:gsub("%s*$","") process_emphasis(t, 1, #t) local final_result = collect_emphasis_content(t, 1, #t) @@ -28706,7 +28775,7 @@ function M.reader.new(writer, options) parsers.interrupting_bullets = parsers.fail parsers.interrupting_enumerators = parsers.fail else - parsers.interrupting_bullets = parsers.bullet(parsers.dash, true) + parsers.interrupting_bullets = parsers.bullet(parsers.dash, true) + parsers.bullet(parsers.asterisk, true) + parsers.bullet(parsers.plus, true) @@ -28756,17 +28825,17 @@ function M.reader.new(writer, options) parsers.NoSoftLineBreakEndline = parsers.newline - * (parsers.check_minimal_indent - * -V("NoSoftLineBreakEndlineExceptions") - + parsers.check_optional_indent - * -V("NoSoftLineBreakEndlineExceptions") + * (parsers.check_minimal_indent + * -V("NoSoftLineBreakEndlineExceptions") + + parsers.check_optional_indent + * -V("NoSoftLineBreakEndlineExceptions") * -parsers.starter) * parsers.spacechar^0 / writer.space parsers.EndlineBreak = parsers.backslash * parsers.Endline / writer.hard_line_break - + parsers.OptionalIndent = parsers.spacechar^1 / writer.space @@ -28790,7 +28859,7 @@ function M.reader.new(writer, options) / writer.soft_line_break parsers.NonbreakingSpace - = parsers.spacechar^2 * parsers.Endline + = parsers.spacechar^2 * parsers.Endline / writer.hard_line_break + parsers.spacechar^1 * parsers.Endline^-1 * parsers.eof / "" + parsers.spacechar^1 * parsers.Endline @@ -28864,23 +28933,23 @@ end % % \end{markdown} % \begin{macrocode} - parsers.DisplayHtml = Cs(parsers.check_trail - * ( parsers.html_comment - + parsers.html_special_block - + parsers.html_block - + parsers.html_any_block - + parsers.html_instruction - + parsers.html_cdatasection + parsers.DisplayHtml = Cs(parsers.check_trail + * ( parsers.html_comment + + parsers.html_special_block + + parsers.html_block + + parsers.html_any_block + + parsers.html_instruction + + parsers.html_cdatasection + parsers.html_declaration)) / writer.block_html_element parsers.indented_non_blank_line = parsers.indentedline - parsers.blankline - parsers.Verbatim = Cs( - parsers.check_code_trail + parsers.Verbatim = Cs( + parsers.check_code_trail * (parsers.line - parsers.blankline) * ((parsers.check_minimal_blank_indent_and_full_code_trail * parsers.blankline)^0 - * ((parsers.check_minimal_indent / "") * parsers.check_code_trail + * ((parsers.check_minimal_indent / "") * parsers.check_code_trail * (parsers.line - parsers.blankline))^1)^0 ) / self.expandtabs / writer.verbatim @@ -28921,23 +28990,23 @@ end parsers.list_blank = parsers.conditionally_indented_blankline - parsers.ref_or_block_list_separated = parsers.sep_group_no_output(parsers.list_blank) + parsers.ref_or_block_list_separated = parsers.sep_group_no_output(parsers.list_blank) * parsers.minimally_indented_ref + parsers.block_sep_group(parsers.list_blank) * parsers.minimally_indented_block parsers.ref_or_block_non_separated = parsers.minimally_indented_ref - + (parsers.succeed / writer.interblocksep) + + (parsers.succeed / writer.interblocksep) * parsers.minimally_indented_block - parsers.minimally_indented_blankline - parsers.tight_list_loop_body_pair = + parsers.tight_list_loop_body_pair = parsers.create_loop_body_pair(parsers.ref_or_block_non_separated, parsers.minimally_indented_par_or_plain_no_blank, (parsers.succeed / writer.interblocksep), (parsers.succeed / writer.paragraphsep)) - parsers.loose_list_loop_body_pair = + parsers.loose_list_loop_body_pair = parsers.create_loop_body_pair(parsers.ref_or_block_list_separated, parsers.minimally_indented_par_or_plain, parsers.block_sep_group(parsers.list_blank), @@ -28969,7 +29038,7 @@ end * #parsers.list_blank * remove_indent("li") + ( (V("Reference") + (parsers.blankline / "")) - * parsers.check_minimal_indent + * parsers.check_minimal_indent * parsers.tight_list_content_loop + (V("Reference") + (parsers.blankline / "")) + (parsers.tickbox^-1 / writer.escape) @@ -28977,11 +29046,11 @@ end ) * parsers.list_item_tightness_condition ) - + parsers.indented_content_loose = Ct( (parsers.blankline / "") * #parsers.list_blank + ( (V("Reference") + (parsers.blankline / "")) - * parsers.check_minimal_indent + * parsers.check_minimal_indent * parsers.loose_list_content_loop + (V("Reference") + (parsers.blankline / "")) + (parsers.tickbox^-1 / writer.escape) @@ -29004,7 +29073,7 @@ end parsers.BulletListOfType = function(bullet_type) local bullet = parsers.bullet(bullet_type) - return ( Ct( parsers.TightListItem(bullet) + return ( Ct( parsers.TightListItem(bullet) * ( (parsers.check_minimal_indent / "") * parsers.TightListItem(bullet) )^0 @@ -29024,7 +29093,7 @@ end ) / writer.bulletlist end - parsers.BulletList = parsers.BulletListOfType(parsers.dash) + parsers.BulletList = parsers.BulletListOfType(parsers.dash) + parsers.BulletListOfType(parsers.asterisk) + parsers.BulletListOfType(parsers.plus) @@ -29046,11 +29115,11 @@ end return Cg(enumerator, "listtype") * (Ct( parsers.TightListItem(Cb("listtype")) * ((parsers.check_minimal_indent / "") * parsers.TightListItem(enumerator))^0) - * Cc(true) - * -#((parsers.list_blank^0 / "") + * Cc(true) + * -#((parsers.list_blank^0 / "") * parsers.check_minimal_indent * enumerator) + Ct( parsers.LooseListItem(Cb("listtype")) - * ((parsers.list_blank^0 / "") + * ((parsers.list_blank^0 / "") * (parsers.check_minimal_indent / "") * parsers.LooseListItem(enumerator))^0) * Cc(false) ) * Ct(Cb("listtype")) / ordered_list @@ -29090,10 +29159,10 @@ end parsers.AtxHeading = parsers.check_trail_no_rem * Cg(parsers.heading_start, "level") * ((C( parsers.optionalspace - * parsers.hash^0 + * parsers.hash^0 * parsers.optionalspace * parsers.newline) - + parsers.spacechar^1 + + parsers.spacechar^1 * C(parsers.line)) / strip_atx_end / parsers.parse_heading_text) @@ -29108,7 +29177,7 @@ end * parsers.newline^-1 parsers.SetextHeading = parsers.freeze_trail * parsers.check_trail_no_rem - * #(parsers.heading_text + * #(parsers.heading_text * parsers.check_minimal_indent * parsers.check_trail * parsers.heading_level) * Cs(parsers.heading_text) / parsers.parse_heading_text @@ -29637,16 +29706,59 @@ end table.sort(opt_string) local salt = table.concat(opt_string, ",") .. "," .. metadata.version local output + local function convert(input) + local document = self.parser_functions.parse_blocks(input) + local output = util.rope_to_string(writer.document(document)) +% \end{macrocode} +% \begin{markdown} +% Remove block element / paragraph separators immediately followed by the +% output of \luamref{writer->undosep}, possibly interleaved by section ends. +% Then, remove any leftover output of \luamref{writer->undosep}. +% \end{markdown} +% \begin{macrocode} + local undosep_start, undosep_end + local potential_secend_start, secend_start + local potential_sep_start, sep_start + while true do + -- find a `writer->undosep` + undosep_start, undosep_end = output:find(writer.undosep_text, 1, true) + if undosep_start == nil then break end + -- skip any preceding section ends + secend_start = undosep_start + while true do + potential_secend_start = secend_start - #writer.secend_text + if potential_secend_start < 1 + or output:sub(potential_secend_start, secend_start - 1) ~= writer.secend_text then + break + end + secend_start = potential_secend_start + end + -- find an immediately preceding block element / paragraph separator + sep_start = secend_start + potential_sep_start = sep_start - #writer.interblocksep_text + if potential_sep_start >= 1 + and output:sub(potential_sep_start, sep_start - 1) == writer.interblocksep_text then + sep_start = potential_sep_start + else + potential_sep_start = sep_start - #writer.paragraphsep_text + if potential_sep_start >= 1 + and output:sub(potential_sep_start, sep_start - 1) == writer.paragraphsep_text then + sep_start = potential_sep_start + end + end + -- remove `writer->undosep` and immediately preceding block element / paragraph separator + output = output:sub(1, sep_start - 1) + .. output:sub(secend_start, undosep_start - 1) + .. output:sub(undosep_end + 1) + end + return output + end % \end{macrocode} % \begin{markdown} % If we cache markdown documents, produce the cache file and transform its % filename to plain \TeX{} output via the \luamref{writer->pack} method. % \end{markdown} % \begin{macrocode} - local function convert(input) - local document = self.parser_functions.parse_blocks(input) - return util.rope_to_string(writer.document(document)) - end if options.eagerCache or options.finalizeCache then local name = util.cache(options.cacheDir, input, salt, convert, ".md" .. writer.suffix) @@ -29840,11 +29952,11 @@ M.extensions.citations = function(citation_nbsps) + parsers.bracketed + parsers.inticks + parsers.autolink - + V("InlineHtml") + + V("InlineHtml") + V("Space") + V("Endline") + (parsers.anyescaped - (parsers.newline + parsers.rbracket + parsers.blankline^2)) - - (parsers.spnl * parsers.dash^-1 * parsers.at))^0) + - (parsers.spnl * parsers.dash^-1 * parsers.at))^1) local citation_body_postnote = Cs((parsers.alphanumeric^1 @@ -29856,18 +29968,28 @@ M.extensions.citations = function(citation_nbsps) + (parsers.anyescaped - (parsers.newline + parsers.rbracket + parsers.semicolon + parsers.blankline^2)) - - (parsers.spnl * parsers.rbracket))^0) + - (parsers.spnl * parsers.rbracket))^1) local citation_body_chunk - = citation_body_prenote - * parsers.spnlc * citation_name + = ( citation_body_prenote + * parsers.spnlc_sep + + Cc("") + * parsers.spnlc + ) + * citation_name * (parsers.internal_punctuation - parsers.semicolon)^-1 - * parsers.spnlc * citation_body_postnote + * ( parsers.spnlc + * citation_body_postnote + + Cc("") + * parsers.spnlc + ) local citation_body = citation_body_chunk - * (parsers.semicolon * parsers.spnlc - * citation_body_chunk)^0 + * ( parsers.semicolon + * parsers.spnlc + * citation_body_chunk + )^0 local citation_headless_body_postnote = Cs((parsers.alphanumeric^1 @@ -29883,8 +30005,10 @@ M.extensions.citations = function(citation_nbsps) local citation_headless_body = citation_headless_body_postnote - * (parsers.sp * parsers.semicolon * parsers.spnlc - * citation_body_chunk)^0 + * ( parsers.semicolon + * parsers.spnlc + * citation_body_chunk + )^0 local citations = function(text_cites, raw_cites) @@ -29969,7 +30093,7 @@ M.extensions.content_blocks = function(language_map) % \begin{macrocode} local languages_json = (function() local base, prev, curr - for _, pathname in ipairs{util.lookup_files(language_map, { all=true })} do + for _, pathname in ipairs{kpse.lookup(language_map, { all=true })} do local file = io.open(pathname, "r") if not file then goto continue end local input = assert(file:read("*a")) @@ -30180,7 +30304,7 @@ M.extensions.definition_lists = function(tight_lists) local indented_blocks = function(bl) return Cs( bl - * (blank^1 * (parsers.check_minimal_indent / "") + * (blank^1 * (parsers.check_minimal_indent / "") * parsers.check_code_trail * -parsers.blankline * bl)^0 * (blank^1 + parsers.eof)) end @@ -30348,7 +30472,7 @@ M.extensions.fancy_lists = function() local digit_marker = parsers.dig * parsers.dig^-8 - local markers = { + local markers = { {lowercase_opening_roman_marker, lowercase_roman_marker}, {uppercase_opening_roman_marker, uppercase_roman_marker}, lowercase_letter_marker, @@ -30358,9 +30482,9 @@ M.extensions.fancy_lists = function() digit_marker } - local delims = { - parsers.period, - parsers.rparent + local delims = { + parsers.period, + parsers.rparent } local markers_table = combine_markers_and_delims(markers, delims) @@ -30466,11 +30590,11 @@ M.extensions.fancy_lists = function() return Cg(enumerator_start, "listtype") * (Ct( TightListItem(Cb("listtype")) * ((parsers.check_minimal_indent / "") * TightListItem(enumerator_cont))^0) - * Cc(true) - * -#((parsers.conditionally_indented_blankline^0 / "") + * Cc(true) + * -#((parsers.conditionally_indented_blankline^0 / "") * parsers.check_minimal_indent * enumerator_cont) + Ct( LooseListItem(Cb("listtype")) - * ((parsers.conditionally_indented_blankline^0 / "") + * ((parsers.conditionally_indented_blankline^0 / "") * (parsers.check_minimal_indent / "") * LooseListItem(enumerator_cont))^0) * Cc(false) ) * Ct(Cb("listtype")) / fancylist @@ -30479,10 +30603,10 @@ M.extensions.fancy_lists = function() local FancyList = join_table_with_func(FancyListOfType, markers_table) local Endline = parsers.newline - * (parsers.check_minimal_indent - * -parsers.EndlineExceptions - + parsers.check_optional_indent - * -parsers.EndlineExceptions + * (parsers.check_minimal_indent + * -parsers.EndlineExceptions + + parsers.check_optional_indent + * -parsers.EndlineExceptions * -starter) * parsers.spacechar^0 / writer.soft_line_break @@ -30574,12 +30698,12 @@ M.extensions.fenced_code = function(blank_before_code_fence, return str:gsub("^%s*(.-)%s*$", "%1") end - local tilde_infostring = Cs(Cs((V("HtmlEntity") - + parsers.anyescaped + local tilde_infostring = Cs(Cs((V("HtmlEntity") + + parsers.anyescaped - parsers.newline)^0) / strip_enclosing_whitespaces) - local backtick_infostring = Cs(Cs((V("HtmlEntity") + local backtick_infostring = Cs(Cs((V("HtmlEntity") + (-#(parsers.backslash * parsers.backtick) * parsers.anyescaped) - parsers.newline - parsers.backtick)^0) @@ -30588,14 +30712,14 @@ M.extensions.fenced_code = function(blank_before_code_fence, local fenceindent local function has_trail(indent_table) - return indent_table ~= nil and - indent_table.trail ~= nil and + return indent_table ~= nil and + indent_table.trail ~= nil and next(indent_table.trail) ~= nil end local function has_indents(indent_table) - return indent_table ~= nil and - indent_table.indents ~= nil and + return indent_table ~= nil and + indent_table.indents ~= nil and next(indent_table.indents) ~= nil end @@ -30808,24 +30932,57 @@ M.extensions.fenced_divs = function(blank_before_div_fence) % \par % \begin{markdown} % -% Initialize a named group named `div_level` for tracking how deep we are -% nested in divs. +% Initialize a named group named `fenced_div_level` for tracking how deep +% we are nested in divs and the named group `fenced_div_num_opening_indents` +% for tracking the indent of the starting div fence. The former named group +% is immutable and should roll back properly when we fail to match a fenced +% div. The latter is mutable and may contain items from unsuccessful matches +% on top. However, we always know how many items at the head of the latter we +% can trust by consulting the former. % % \end{markdown} % \begin{macrocode} - self.initialize_named_group("div_level", "0") + self.initialize_named_group("fenced_div_level", "0") + self.initialize_named_group("fenced_div_num_opening_indents") - local function increment_div_level(increment) - local function update_div_level(s, i, current_level) -- luacheck: ignore s i - current_level = tonumber(current_level) - local next_level = tostring(current_level + increment) - return true, next_level + local function increment_div_level() + local function push_indent_table(s, i, indent_table, -- luacheck: ignore s i + fenced_div_num_opening_indents, fenced_div_level) + fenced_div_level = tonumber(fenced_div_level) + 1 + local num_opening_indents = 0 + if indent_table.indents ~= nil then + num_opening_indents = #indent_table.indents + end + fenced_div_num_opening_indents[fenced_div_level] = num_opening_indents + return true, fenced_div_num_opening_indents end - return Cg( Cmt(Cb("div_level"), update_div_level) - , "div_level") + local function increment_level(s, i, fenced_div_level) -- luacheck: ignore s i + fenced_div_level = tonumber(fenced_div_level) + 1 + return true, tostring(fenced_div_level) + end + + return Cg( Cmt( Cb("indent_info") + * Cb("fenced_div_num_opening_indents") + * Cb("fenced_div_level"), push_indent_table) + , "fenced_div_num_opening_indents") + * Cg( Cmt( Cb("fenced_div_level"), increment_level) + , "fenced_div_level") end - + + local function decrement_div_level() + local function pop_indent_table(s, i, fenced_div_indent_table, fenced_div_level) -- luacheck: ignore s i + fenced_div_level = tonumber(fenced_div_level) + fenced_div_indent_table[fenced_div_level] = nil + return true, tostring(fenced_div_level - 1) + end + + return Cg( Cmt( Cb("fenced_div_num_opening_indents") + * Cb("fenced_div_level"), pop_indent_table) + , "fenced_div_level") + end + + local non_fenced_div_block = parsers.check_minimal_indent * V("Block") - parsers.check_minimal_indent_and_trail * fenced_div_end @@ -30860,11 +31017,12 @@ M.extensions.fenced_divs = function(blank_before_div_fence) return attr end / writer.div_begin - * increment_div_level(1) + * increment_div_level() * parsers.skipblanklines * Ct(content_loop) * parsers.minimally_indented_blank^0 - * parsers.check_minimal_indent_and_trail * fenced_div_end * increment_div_level(-1) + * parsers.check_minimal_indent_and_trail * fenced_div_end + * decrement_div_level() * (Cc("") / writer.div_end) self.insert_pattern("Block after Verbatim", @@ -30878,17 +31036,38 @@ M.extensions.fenced_divs = function(blank_before_div_fence) % % If the `blank_before_div_fence` parameter is `false`, we will have the % closing div at the beginning of a line break the current paragraph if -% we are currently nested in a div. +% we are currently nested in a div and the indentation matches the opening +% div fence. % % \end{markdown} % \begin{macrocode} - local function check_div_level(s, i, current_level) -- luacheck: ignore s i - current_level = tonumber(current_level) - return current_level > 0 + local function is_inside_div() + local function check_div_level(s, i, fenced_div_level) -- luacheck: ignore s i + fenced_div_level = tonumber(fenced_div_level) + return fenced_div_level > 0 + end + + return Cmt(Cb("fenced_div_level"), check_div_level) + end + + local function check_indent() + local function compare_indent(s, i, indent_table, -- luacheck: ignore s i + fenced_div_num_opening_indents, fenced_div_level) + fenced_div_level = tonumber(fenced_div_level) + local num_current_indents = (indent_table.current_line_indents ~= nil and + #indent_table.current_line_indents) or 0 + local num_opening_indents = fenced_div_num_opening_indents[fenced_div_level] + return num_current_indents == num_opening_indents + end + + return Cmt( Cb("indent_info") + * Cb("fenced_div_num_opening_indents") + * Cb("fenced_div_level"), compare_indent) end - local is_inside_div = Cmt(Cb("div_level"), check_div_level) - local fencestart = is_inside_div * fenced_div_end + local fencestart = is_inside_div() + * fenced_div_end + * check_indent() if not blank_before_div_fence then self.update_rule("EndlineExceptions", function(previous_pattern) @@ -30945,10 +31124,10 @@ M.extensions.header_attributes = function() return s:gsub("%s*$","") end - local heading_line = (parsers.linechar + local heading_line = (parsers.linechar - (parsers.attributes * parsers.optionalspace - * parsers.newline))^1 + * parsers.newline))^1 - parsers.thematic_break_lines local heading_text = heading_line @@ -30956,7 +31135,7 @@ M.extensions.header_attributes = function() * parsers.newline^-1 local SetextHeading = parsers.freeze_trail * parsers.check_trail_no_rem - * #(heading_text + * #(heading_text * (parsers.attributes * parsers.optionalspace * parsers.newline)^-1 @@ -31131,7 +31310,7 @@ M.extensions.link_attributes = function() % \begin{macrocode} local define_reference_parser = (parsers.check_trail / "") * parsers.link_label * parsers.colon * parsers.spnlc * parsers.url - * ( parsers.spnlc_sep * parsers.title * (parsers.spnlc * Ct(parsers.attributes)) + * ( parsers.spnlc_sep * parsers.title * (parsers.spnlc * Ct(parsers.attributes)) * parsers.only_blank + parsers.spnlc_sep * parsers.title * parsers.only_blank + Cc("") * (parsers.spnlc * Ct(parsers.attributes)) * parsers.only_blank @@ -31284,7 +31463,7 @@ M.extensions.notes = function(notes, inline_notes) local indented_blocks = function(bl) return Cs( bl - * (blank^1 * (parsers.check_optional_indent / "") + * (blank^1 * (parsers.check_optional_indent / "") * parsers.check_code_trail * -parsers.blankline * bl)^0) end @@ -31447,7 +31626,7 @@ M.extensions.pipe_tables = function(table_captions, table_attributes) , table_hline_separator , table_hline_column) - local table_caption_beginning = (parsers.check_minimal_blank_indent_and_any_trail_no_rem + local table_caption_beginning = (parsers.check_minimal_blank_indent_and_any_trail_no_rem * parsers.optionalspace * parsers.newline)^0 * parsers.check_minimal_indent_and_trail * (P("Table")^-1 * parsers.colon) @@ -32246,7 +32425,7 @@ function M.new(options) % % \end{markdown} % \begin{macrocode} - local pathname = util.lookup_files(filename) + local pathname = kpse.lookup(filename) local input_file = assert(io.open(pathname, "r"), [[Could not open user-defined syntax extension "]] .. pathname .. [[" for reading]]) diff --git a/macros/generic/markdown/markdown.html b/macros/generic/markdown/markdown.html index a5616317fc..277f98bdeb 100644 --- a/macros/generic/markdown/markdown.html +++ b/macros/generic/markdown/markdown.html @@ -93,7 +93,7 @@ <header id="title-block-header"> <h1 class="title">Markdown Package User Manual</h1> <p class="author">Vít Starý Novotný</p> -<p class="date">3.4.2-0-ga45cf0ed 2024-03-09</p> +<p class="date">3.4.3-0-ge2c6be1a 2024-04-04</p> </header> <nav id="TOC" role="doc-toc"> <ul> @@ -604,8 +604,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb31-1"><a href="# contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> <div class="sourceCode" id="cb32"><pre @@ -641,8 +641,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb34-1"><a href="# contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <p>In this case, we cannot use pdfTeX, because pdfTeX does not define the <code>\directlua</code> <span class="tex">T<sub>e</sub>X</span> @@ -693,8 +693,8 @@ title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> <div class="sourceCode" id="cb38"><pre @@ -737,8 +737,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb40-1"><a href="# contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> <div class="sourceCode" id="cb41"><pre @@ -785,8 +785,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb43-1"><a href="# contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> <div class="sourceCode" id="cb44"><pre @@ -828,8 +828,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb46-1"><a href="# contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h2 data-number="2.2" id="options"><span class="header-section-number">2.2</span> Options</h2> @@ -4679,8 +4679,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb279-1"><a href=" contain the following text:</p> <blockquote> <p>$\sqrt {-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h5 class="unnumbered" id="lua-cli-example-10">Lua CLI Example</h5> <p>Using a text editor, create a text document named @@ -4718,8 +4718,8 @@ title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> contain the following text:</p> <blockquote> <p>$\sqrt {-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h5 class="unnumbered" id="plain-tex-example-11">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> @@ -4746,8 +4746,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb284-1"><a href=" contain the following text:</p> <blockquote> <p>$\sqrt {-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h5 class="unnumbered" id="latex-example-26"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> @@ -4774,8 +4774,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb286-1"><a href=" contain the following text:</p> <blockquote> <p>$\sqrt {-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h5 class="unnumbered" id="context-example-17">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> @@ -4802,8 +4802,8 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb288-1"><a href=" contain the following text:</p> <blockquote> <p>$\sqrt {-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h4 data-number="2.2.1.35" id="option-inlinecodeattributes"><span class="header-section-number">2.2.1.35</span> Option @@ -9109,8 +9109,8 @@ contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</p> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h5 class="unnumbered" id="latex-example-63"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> @@ -9145,8 +9145,8 @@ contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</p> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h5 class="unnumbered" id="context-example-40">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> @@ -9177,8 +9177,8 @@ contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</p> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> -<p><math><mroot><msqrt><mo>−</mo><mn>1</mn></msqrt></mroot></math> -<em>equals</em> <math><mi>i</mi></math>.</p> +<p><math><msqrt><mo>−</mo><mn>1</mn></msqrt></math> <em>equals</em> +<math><mi>i</mi></math>.</p> </blockquote> <h4 data-number="2.3.1.8" id="code-span-attribute-context-renderers"><span diff --git a/macros/generic/markdown/markdown.pdf b/macros/generic/markdown/markdown.pdf Binary files differindex 34822a723f..8e42e32d0b 100644 --- a/macros/generic/markdown/markdown.pdf +++ b/macros/generic/markdown/markdown.pdf diff --git a/macros/latex/contrib/acmart/README b/macros/latex/contrib/acmart/README index 8d799d2832..f72ea3b2bf 100644 --- a/macros/latex/contrib/acmart/README +++ b/macros/latex/contrib/acmart/README @@ -12,6 +12,8 @@ The production version is the one on CTAN and ACM sites. Changes +Version 2.05. Changed title for TELO. + Version 2.04. Compatibility with the new latex-dev format eSSN is always printed, even if pSSN is present Wording change in copyright statement diff --git a/macros/latex/contrib/acmart/acmart.dtx b/macros/latex/contrib/acmart/acmart.dtx index 61251bff30..c9d253b955 100644 --- a/macros/latex/contrib/acmart/acmart.dtx +++ b/macros/latex/contrib/acmart/acmart.dtx @@ -1,6 +1,6 @@ % \iffalse % -% Copyright 2016-2023, Association for Computing Machinery +% Copyright 2016-2024, Association for Computing Machinery % 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 @@ -57,7 +57,7 @@ % \ifx\currentjob\guide\OnlyDescription\fi % \GetFileInfo{acmart.dtx} % \title{\LaTeX{} Class for the \emph{Association for Computing -% Machinery}\thanks{\copyright 2016--2023, Association for Computing Machinery}} +% Machinery}\thanks{\copyright 2016--2024, Association for Computing Machinery}} % \author{Boris Veytsman\thanks{% % \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, % \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} @@ -2158,7 +2158,7 @@ % TDS & ACM/IMS Transactions on Data Science\\ % TEAC & ACM Transactions on Economics and Computation\\ % TECS & ACM Transactions on Embedded Computing Systems \\ -% TELO & ACM Transactions on Evolutionary Learning \\ +% TELO & ACM Transactions on Evolutionary Learning and Optimization\\ % THRI & ACM Transactions on Human-Robot Interaction\\ % TIIS & ACM Transactions on Interactive Intelligent Systems\\ % TIOT & ACM Transactions on Internet of Things \\ @@ -2309,7 +2309,7 @@ \ProvidesFile{acmart.dtx} %</gobble> %<class>\ProvidesClass{acmart} -[2024/03/31 v2.04 Typesetting articles for the Association for Computing Machinery] +[2024/04/03 v2.05 Typesetting articles for the Association for Computing Machinery] % \end{macrocode} % % \changes{v1.00}{2016/04/14}{First released version} @@ -4391,6 +4391,7 @@ % \changes{1.89}{2023/03/25}{Added PACMMOD} % \changes{1.89}{2023/03/25}{Added TOPML} % \changes{1.90}{2023/03/30}{Added TOPML eISSN} +% \changes{2.05}{2024/04/04}{New data for TELO} % % We use the |xkeyval| interface to define journal titles and the relevant % information @@ -4633,8 +4634,8 @@ \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% \def\@permissionCodeOne{1539-9087}% \or % TELO - \def\@journalName{ACM Transactions on Evolutionary Learning}% - \def\@journalNameShort{ACM Trans. Evol. Learn.}% + \def\@journalName{ACM Transactions on Evolutionary Learning and Optimization}% + \def\@journalNameShort{ACM Trans. Evol. Learn. Optim.}% \def\@permissionCodeOne{2688-3007}% \or % THRI \def\@journalName{ACM Transactions on Human-Robot Interaction}% diff --git a/macros/latex/contrib/acmart/acmart.pdf b/macros/latex/contrib/acmart/acmart.pdf Binary files differindex af42c74465..344d409f1b 100644 --- a/macros/latex/contrib/acmart/acmart.pdf +++ b/macros/latex/contrib/acmart/acmart.pdf diff --git a/macros/latex/contrib/acmart/acmguide.pdf b/macros/latex/contrib/acmart/acmguide.pdf Binary files differindex c13a1ecd0b..20738de1c0 100644 --- a/macros/latex/contrib/acmart/acmguide.pdf +++ b/macros/latex/contrib/acmart/acmguide.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf Binary files differindex 0371cfab76..aa0af4ed03 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf Binary files differindex a9d9c5573d..ecef3f264c 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf Binary files differindex efad61a4f5..1dadd006b9 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf Binary files differindex fa2c7fcdb0..60c0827ba8 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf Binary files differindex 2d4ae466ce..b2cba4a4f3 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf Binary files differindex 925fec5551..23dc335812 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf Binary files differindex 1c1a2ab289..c7a9e5f575 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf Binary files differindex b3e3733cfd..b1df26ca61 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf Binary files differindex 7d9d35c82e..1434d59099 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf Binary files differindex c9c20da0cf..be3cac8e04 100644 --- a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf +++ b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf Binary files differindex ea9d209bd8..c95d95127d 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf Binary files differindex 072c1d6a77..6aa27ae8fb 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf Binary files differindex 30463e2948..7a84d7c4e7 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf Binary files differindex 3bfab889d7..e1239820b7 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf Binary files differindex 8a2c4acee7..cb491065d0 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf diff --git a/macros/latex/contrib/csquotes/csq-compat.def b/macros/latex/contrib/csquotes/csq-compat.def index 9a19bf1fa4..d37f4fde7d 100644 --- a/macros/latex/contrib/csquotes/csq-compat.def +++ b/macros/latex/contrib/csquotes/csq-compat.def @@ -1,5 +1,5 @@ \ProvidesFile{csq-compat.def} - [2022-09-14 v5.2n csquotes backwards compatibility (JAW)] + [2024-04-04 v5.2o csquotes backwards compatibility (JAW)] \def\csq@getversion#1{% \expandafter\csq@getversion@i diff --git a/macros/latex/contrib/csquotes/csquotes.def b/macros/latex/contrib/csquotes/csquotes.def index 80f8cb5713..feb396879a 100644 --- a/macros/latex/contrib/csquotes/csquotes.def +++ b/macros/latex/contrib/csquotes/csquotes.def @@ -1,5 +1,5 @@ \ProvidesFile{csquotes.def} - [2022-09-14 v5.2n csquotes generic definitions (JAW)] + [2024-04-04 v5.2o csquotes generic definitions (JAW)] % Set defaults @@ -63,11 +63,11 @@ {\textquoteleft} {\textquoteright} \DeclareQuoteStyle{dutch} - {\quotedblbase} + {\textquotedblleft} {\textquotedblright} [0.05em] - {\quotesinglbase}% unsure - {\textquoteright}% unsure + {\textquoteleft} + {\textquoteright} \DeclareQuoteStyle[american]{english}% verified {\textquotedblleft} {\textquotedblright} @@ -188,6 +188,12 @@ [0.05em] {\quotesinglbase} {\textquoteright} +\DeclareQuoteStyle{lithuanian} + {\quotedblbase} + {\textquotedblleft} + [0.05em] + {\textquoteright} + {\textquoteright} \DeclareQuoteStyle[guillemets]{norwegian} {\guillemotleft} {\guillemotright} @@ -397,6 +403,7 @@ \DeclareQuoteOption{japanese} \DeclareQuoteOption{latin} \DeclareQuoteOption{latvian} +\DeclareQuoteOption{lithuanian} \DeclareQuoteOption{norwegian} \DeclareQuoteOption{polish} \DeclareQuoteOption{portuguese} diff --git a/macros/latex/contrib/csquotes/csquotes.pdf b/macros/latex/contrib/csquotes/csquotes.pdf Binary files differindex c9e8a11c1e..27bb1ac7d3 100644 --- a/macros/latex/contrib/csquotes/csquotes.pdf +++ b/macros/latex/contrib/csquotes/csquotes.pdf diff --git a/macros/latex/contrib/csquotes/csquotes.sty b/macros/latex/contrib/csquotes/csquotes.sty index 0a5cbb4e84..676afbb578 100644 --- a/macros/latex/contrib/csquotes/csquotes.sty +++ b/macros/latex/contrib/csquotes/csquotes.sty @@ -1,5 +1,5 @@ % Copyright (c) 2003-2011 Philipp Lehman. -% (c) 2015-2019,2021,2022 Joseph Wright. +% (c) 2015-2019,2021,2022,2024 Joseph Wright. % % Permission is granted to copy, distribute and/or modify this % software under the terms of the LaTeX Project Public License @@ -12,7 +12,7 @@ \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{csquotes} - [2022-09-14 v5.2n context-sensitive quotations (JAW)] + [2024-04-04 v5.2o context-sensitive quotations (JAW)] %% Compatibility and requirements @@ -1034,22 +1034,22 @@ % PDF strings -\long\def\csq@pdf@quote#1{% - \if#1*\relax +\long\def\csq@pdf@quote#1#{% + \if*#1\relax \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi {\csq@pdf@quote@ii} - {\csq@pdf@quote@i{#1}}} + {\csq@pdf@quote@i #1}} \long\def\csq@pdf@quote@i#1{% \csq@pdf@ooqmark #1\csq@pdf@coqmark} \long\def\csq@pdf@quote@ii#1{% \csq@pdf@oiqmark #1\csq@pdf@ciqmark} -\long\def\csq@pdf@fquote#1{% - \if#1*\relax +\long\def\csq@pdf@fquote#1#{% + \if*#1\relax \expandafter\@firstoftwo \else \expandafter\@secondoftwo diff --git a/macros/latex/contrib/csquotes/csquotes.tex b/macros/latex/contrib/csquotes/csquotes.tex index 97c6e2e3cc..74b7c93e1b 100644 --- a/macros/latex/contrib/csquotes/csquotes.tex +++ b/macros/latex/contrib/csquotes/csquotes.tex @@ -18,8 +18,8 @@ url={http://www.ctan.org/pkg/csquotes/}, author={Philipp Lehman, Joseph Wright}, email={joseph.wright@morningstar2.co.uk}, - revision={v5.2n}, - date={2022-09-14}} + revision={v5.2o}, + date={2024-04-04}} \hypersetup{% pdftitle={The csquotes Package}, @@ -158,6 +158,7 @@ This option controls multilingual support. It requires either the \sty{babel} pa latin & \raggedright italianguillemets, germanquotes, germanguillemets, britishquotes, americanquotes \tabularnewline latvian & \\ + lithuanian & \\ norwegian & guillemets, quotes \\ polish & guillemets, guillemets\* \\ portuguese & portuguese, brazilian \\ @@ -1554,8 +1555,14 @@ This revision history is a list of changes relevant to users of this package. Ch \begin{changelog} +\begin{release}{5.2o}{2024-04-04} +\item Correct detection of \texttt{*} at start of quotes in bookmarks +\item Added Lithuanian style +\item Fixed quoting in Dutch +\end{release} + \begin{release}{5.2n}{2022-09-14} -\item Furtehr work to localise font changes inside quotes +\item Further work to localise font changes inside quotes \end{release} \begin{release}{5.2m}{2022-09-09} diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf Binary files differindex c4a06de15b..f1bf30aacc 100644 --- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf +++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex index 4bc63e0c5f..b8352c628d 100644 --- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex +++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex @@ -34,8 +34,8 @@ \usepackage[margin=1.5cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.1.3} -\def\TPdate{30/03/2024} +\def\TPversion{0.1.4} +\def\TPdate{04/04/2024} \usepackage{tcolorbox} \sethlcolor{lightgray!25} \NewDocumentCommand\MontreCode{ m }{% @@ -111,6 +111,8 @@ \section{History} +\verb|v0.1.4|~:~~~~Create a SMS conversation + \verb|v0.1.3|~:~~~~Environment for exercise(s) (in french doc) \verb|v0.1.2|~:~~~~Pencil of skills @@ -357,7 +359,7 @@ The idea is to : \begin{itemize} \item present of list of categories and skills ; - \item prensented like a pencil. + \item presented like a pencil. \end{itemize} The code (within CC-BY-SA 4.0 license) is adapted from : @@ -420,4 +422,79 @@ The last argument, mandatory and between \MontreCode{(...)} give the list of cat Search/Skill 1\\Skill 2,Model/{Skill 1\\Skill 2}} \end{demohigh} +\pagebreak + +\section{SMS conversation} + +\subsection{Global use} + +The idea is to present a conversation of SMS. + +\begin{codehigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25] +\begin{ChatSMS}[keys]{name} + \InSMS(*){time}{msg} + \OutSMS*(*){time}{msg} +\end{ChatSMS} +\end{codehigh} + +The style is globally fixed, but there's some customization available. + +\subsection{The environment} + +Available \MontreCode{keys} are : + +\begin{itemize} + \item \MontreCode{height} : height of the window (auto or specific) ; \MontreCode{auto} by default + \item \MontreCode{width} : width of the window ; \MontreCode{7cm} by default + \item \MontreCode{margin} : margin (L or R) for the bubble \MontreCode{1.5cm} by default + \item \MontreCode{color} : \textit{main} color (banner) ; \MontreCode{teal!75!cyan!75!white} by default ; + \item \MontreCode{colback} : color for background ; \MontreCode{lightgray!5} by default + \item \MontreCode{colorin} : color for incoming SMS ; \MontreCode{lime!25} by default + \item \MontreCode{colorout} : color for outcoming SMS ; \MontreCode{teal!25} by default + \item \MontreCode{writetxt} : text of sending zone ; \MontreCode{Write} by default + \item \MontreCode{fonttxt} : bubble's font ; \MontreCode{\textbackslash normalfont} by default + \item \MontreCode{avatar} : avatar of contact ; \MontreCode{\textbackslash faAddressCard} by default + \item \MontreCode{dispavatar} : boolean for displaying avatar near the bubbles ; \MontreCode{false} by default + \item \MontreCode{blackwhite} : boolean pour black\&white. \MontreCode{false} by default +\end{itemize} + +The argument, mandatory and between \MontreCode{(...)} give the name of the contact. + +\subsection{Macros for the bubbles} + +Regarding the bubble creation commands, \MontreCode{\textbackslash InSMS} and \MontreCode{\textbackslash OutSMS}: + +\begin{itemize} + \item the \textit{starred} version does not display the \textit{checkmarks} of \textit{good reception}; + \item the first mandatory argument is the time to display ; + \item the second mandatory argument is the message to display (including multi-lines). +\end{itemize} + +\subsection{Examples} + +\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25] +%with a personal image +\begin{ChatSMS}% + [width=6cm,fonttxt=\sffamily,height=10cm,avatar=img/android,dispavatar]{CP} + \InSMS{19:23}{Hi !} + \OutSMS{19:23}{Hi !\\ How are you ?} + \InSMS{19:25}{Just a problem with a math question\ldots} + \OutSMS{19:26}{Wanna help ??} + \InSMS{19:28}{Yes, I need to compute $\mathsf{\int_{0}^{1} x^2e^{-x}\,dx}$\ldots} + \OutSMS*{19:30}{Take care !!} +\end{ChatSMS} +\end{demohigh} + +\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25] +\begin{ChatSMS}% + [width=8cm,fonttxt=\sffamily,avatar=\faCanadianMapleLeaf,blackwhite]{CP} + \InSMS{19:23}{Hi !} + \OutSMS{19:23}{Hi !\\ How are you ?} + \InSMS{19:25}{Just a problem with a math question\ldots} + \OutSMS{19:26}{Wanna help ??} + \InSMS{19:28}{Yes, I need to compute $\mathsf{\int_{0}^{1} x^2e^{-x}\,dx}$\ldots} + \OutSMS*{19:30}{Take care !!} +\end{ChatSMS} +\end{demohigh} + \end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf Binary files differindex c81bd43b7f..87d7507f61 100644 --- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf +++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex index 650bb37932..9cdaeadf73 100644 --- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex +++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex @@ -39,9 +39,9 @@ \usepackage[margin=1.5cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.1.3} -\def\TPdate{30 mars 2024} -\usepackage[most]{tcolorbox} +\def\TPversion{0.1.4} +\def\TPdate{4 avril 2024} +\usepackage{tcolorbox} \tcbuselibrary{listingsutf8} \newtcblisting{DemoCode}[1]{% enhanced,width=0.95\linewidth,center,% @@ -66,10 +66,10 @@ keywordstyle={\color{violet}},% classoffset=2,% alsoletter={-},% - morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum},% + morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv},% keywordstyle={\color{green!50!black}},% classoffset=3,% - morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait},% + morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre},% keywordstyle={\color{orange}} },% #1 @@ -788,6 +788,88 @@ L'argument, obligatoire et entre \MontreCode{\{...\}} est la liste des catégori \pagebreak +\section{Fenêtre type conversation instantanée} + +\subsection{Principe et fonctionnement} + +L'idée est de proposer un environnement pour créer une fenêtre type \textit{conversation instantanée}, basée sur \MontreCode{tcolorbox}. + +\begin{DemoCode}{listing only} +\begin{EnvSMS}[Clés]{nom} + \SMSrec(*){heure}{msg} + \SMSenv(*){heure}{msg} +\end{EnvSMS} +\end{DemoCode} + +\begin{DemoCode}{} +\begin{EnvSMS}{\LaTeX} + \SMSrec{19:23}{Salut !} + \SMSenv{19:23}{Salut!\\ Comment ça va~?} +\end{EnvSMS} +\end{DemoCode} + +La forme générale est fixée, et seuls quelques éléments de personnalisation(s) sont modifiables. + +\subsection{L'environnement} + +Les \MontreCode{clés} disponibles pour l'environnement, à donner entre \MontreCode{[...]}, sont : + +\begin{itemize} + \item \MontreCode{Hauteur} : hauteur de la fenêtre (automatique ou spécifique) ; \MontreCode{auto} par défaut + \item \MontreCode{Largeur} : largeur de la fenêtre (un minimum de 5 cm est conseillé) ; \MontreCode{7cm} par défaut + \item \MontreCode{Marge} : marge (G ou D) pour les bulles \MontreCode{1.5cm} par défaut + \item \MontreCode{Couleur} : couleur \textit{principale} (bandeau) ; \MontreCode{teal!75!cyan!75!white} par défaut ; + \item \MontreCode{CouleurFond} : couleur du fond ; \MontreCode{lightgray!5} par défaut + \item \MontreCode{CouleurR} : couleur des bulles de réception ; \MontreCode{lime!25} par défaut + \item \MontreCode{CouleurE} : couleur des bulles d'envoi ; \MontreCode{teal!5} par défaut + \item \MontreCode{TxtEcrire} : texte dans la zone d'envoi ; \MontreCode{Écrire} par défaut + \item \MontreCode{PoliceTxt} : police des textes ; \MontreCode{\textbackslash normalfont} par défaut + \item \MontreCode{Avatar} : avatar du contact ; \MontreCode{\textbackslash faAddressCard} par défaut + \item \MontreCode{AffAvatar} : booléen pour ajouter l'avatar aux bulles de réception ; \MontreCode{false} par défaut + \item \MontreCode{NoirBlanc} : booléen pour forcer un affichage N\&B. \MontreCode{false} par défaut +\end{itemize} + +L'argument, obligatoire et entre \MontreCode{\{...\}}, est le nom du contact à afficher. + +\subsection{Les commandes de création des bulles} + +En ce qui concerne les commandes de création des bulles, \MontreCode{\textbackslash SMSrec} et \MontreCode{\textbackslash SMSenv} : + +\begin{itemize} + \item la version \textit{étoilée} n'affiche pas les \textit{coches} de \textit{bonne réception} ; + \item le premier argument obligatoire est l'heure à afficher ; + \item le deuxième argument obligatoire est le message à afficher (y compris multi-lignes). +\end{itemize} + +\subsection{Exemples} + +\begin{DemoCode}{} +%avec une image personnelle +\begin{EnvSMS}% + [Largeur=5cm,Hauteur=13cm,AffAvatar,Avatar=Image/avatar]{CP} + \SMSrec{19:23}{Salut !} + \SMSenv{19:23}{Salut!\\ Comment ça va~?} + \SMSrec{19:25}{Je n'arrive pas à un truc en maths\ldots} + \SMSenv{19:26}{Tu veux un coup de main ??} + \SMSrec{19:28}{Oui, faut qu'je calcule $\int_{0}^{1} x^2e^{-x}\,dx$\ldots} + \SMSenv*{19:30}{Je m'en occupe !!} +\end{EnvSMS} +\end{DemoCode} + +\begin{DemoCode}{} +\begin{EnvSMS}% + [Largeur=8cm,PoliceTxt=\sffamily,NoirBlanc]{CP} + \SMSrec{19:23}{Salut !} + \SMSenv{19:23}{Salut!\\ Comment ça va~?} + \SMSrec{19:25}{Je n'arrive pas à un truc en maths\ldots} + \SMSenv{19:26}{Tu veux un coup de main ??} + \SMSrec{19:28}{Oui, faut que je calcule $\mathsf{\int_{0}^{1} x^2e^{-x}\,dx}$\ldots} + \SMSenv*{19:30}{Je m'en occupe !!} +\end{EnvSMS} +\end{DemoCode} + +\pagebreak + \section{Titre d'exercices} \subsection{Principe et définition du style global} diff --git a/macros/latex/contrib/customenvs/doc/envtexo_exemples.tex b/macros/latex/contrib/customenvs/doc/envtexo_exemples.tex index bc9bf990f7..e782579dec 100644 --- a/macros/latex/contrib/customenvs/doc/envtexo_exemples.tex +++ b/macros/latex/contrib/customenvs/doc/envtexo_exemples.tex @@ -1,80 +1,80 @@ -% !TeX TXS-program:compile = txs:///arara -% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode} -% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') - -\documentclass[a5paper,11pt]{article} -\usepackage[margin=1cm]{geometry} -\usepackage{customenvs} -%facultatif, pour les décorations -\usepackage{graphicx} -\usepackage{dashrulex} -\usepackage{coloredbelts} -\usepackage{pictochrono} -%mise en page -\usepackage{ipsum} -\setlength{\parindent}{0pt} - -\begin{document} - -\begin{EnvtExo}%exo1 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Trait=pointilles]%exo2 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Trait=dashilles]%exo3 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Decoration=Icone/\faPython]%exo4 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Decoration=Ceinture/rouge]%exo5 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Decoration=Chrono/20]%exo6 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Decoration=Image/goku_ssj4]%exo7 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Decoration=Image/sseiya_shura]%exo8 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Decoration=Points/7]%exo9 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Type=Perso/{Titre perso }]%exo10 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\StyleEnvtExo[Couleur=red,Police=\bfseries\ttfamily,EpTrait=2pt,Libelle={Exercice n°}] - -\begin{EnvtExo}[Decoration=Icone/\faAddressBook]%exo11 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\begin{EnvtExo}[Type=Perso/{Titre perso },Decoration=Chrono/25,Couleur=red,Trait=dashilles]%exo12 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\StyleEnvtExoDefaut - -\begin{EnvtExo}% - [Type=Perso/{Titre perso~},Decoration=Image/goku_ssj4,Trait=non,Compteur=false]%exo13 - \ipsum<Lang=FR,Type=sent> -\end{EnvtExo} - -\TitreExo[Type=Perso/{Annexe Exercice 3},Compteur=false,Decoration=Image/sseiya_aiolos]%exo14 - -\ipsum<Lang=FR,Type=sent> - -\end{document} +% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[a5paper,11pt]{article}
+\usepackage[margin=1cm]{geometry}
+\usepackage{customenvs}
+%facultatif, pour les décorations
+\usepackage{graphicx}
+\usepackage{dashrulex}
+\usepackage{coloredbelts}
+\usepackage{pictochrono}
+%mise en page
+\usepackage{ipsum}
+\setlength{\parindent}{0pt}
+
+\begin{document}
+
+\begin{EnvtExo}%exo1
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Trait=pointilles]%exo2
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Trait=dashilles]%exo3
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Icone/\faPython]%exo4
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Ceinture/rouge]%exo5
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Chrono/20]%exo6
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Image/goku_ssj4]%exo7
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Image/sseiya_shura]%exo8
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Decoration=Points/7]%exo9
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Type=Perso/{Titre perso }]%exo10
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\StyleEnvtExo[Couleur=red,Police=\bfseries\ttfamily,EpTrait=2pt,Libelle={Exercice n°}]
+
+\begin{EnvtExo}[Decoration=Icone/\faAddressBook]%exo11
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\begin{EnvtExo}[Type=Perso/{Titre perso },Decoration=Chrono/25,Couleur=red,Trait=dashilles]%exo12
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\StyleEnvtExoDefaut
+
+\begin{EnvtExo}%
+ [Type=Perso/{Titre perso~},Decoration=Image/goku_ssj4,Trait=non,Compteur=false]%exo13
+ \ipsum<Lang=FR,Type=sent>
+\end{EnvtExo}
+
+\TitreExo[Type=Perso/{Annexe Exercice 3},Compteur=false,Decoration=Image/sseiya_aiolos]%exo14
+
+\ipsum<Lang=FR,Type=sent>
+
+\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/customenvs/tex/customenvs.sty b/macros/latex/contrib/customenvs/tex/customenvs.sty index 08083eb103..ee8f4427a2 100644 --- a/macros/latex/contrib/customenvs/tex/customenvs.sty +++ b/macros/latex/contrib/customenvs/tex/customenvs.sty @@ -3,9 +3,10 @@ % source pencil...: CC-BY-SA 4.0 https://tex.stackexchange.com/questions/504092/replicating-a-fancy-bordered-text-style-in-latex/504145#504145 \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{customenvs}[2024/03/30 0.1.3 Custom classic environments] +\ProvidesPackage{customenvs}[2024/04/04 0.1.4 Custom classic environments] %====HISTORIQUE +% v 0.1.4 Commande (en/fr) pour du texte dans une boîte arrondie, de hauteur 'figée' + 'Chat' SMS % v 0.1.3 Environnement/Commande pour présentation d'un exercice % v 0.1.2 Crayon de compétences % v 0.1.1 Ajout de tableaux de compétences @@ -54,6 +55,8 @@ \RequirePackage{calc} \RequirePackage{tikz} \usetikzlibrary{decorations.pathmorphing,positioning,shapes.misc,calc} +\usepackage{tcolorbox} +\tcbuselibrary{skins} %%----COMMANDES FR @@ -913,6 +916,179 @@ \EnvtExoCodeAvant% } +%====BOITE ARRONDIE +\newlength{\tmpheightbox} +\defKV[BoiteArrondie]{EspH=\def\RoundedBoxDelta{#1},Style=\def\RoundedBoxStyle{#1}} +\setKVdefault[BoiteArrondie]{% + Fond=red,% + Texte=white,% + EspH=0.25em,% + Style=rect +} +\NewDocumentCommand\BoiteArrondie{ O{} m O{char} }{% + \restoreKV[BoiteArrondie]% + \setKV[BoiteArrondie]{#1}% + \settototalheight{\tmpheightbox}{\hbox{(EazertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN)#2}}%hauteur globale + \IfStrEqCase{\RoundedBoxStyle}{% + {rect}{\tikz[remember picture,baseline=(#3.base)]{\node[minimum height=\tmpheightbox,shape=rectangle,rounded corners=0.25em,fill={\useKV[BoiteArrondie]{Fond}},inner sep=0.75pt,outer sep=0pt,text={\useKV[BoiteArrondie]{Texte}}] (#3) {\vphantom{(qE)}\kern\RoundedBoxDelta#2\kern\RoundedBoxDelta};}}% + {cercle}{\tikz[remember picture,baseline=(#3.base)]{\node[shape=circle,minimum height=\tmpheightbox,fill={\useKV[BoiteArrondie]{Fond}},inner sep=0.75pt,outer sep=0pt,text={\useKV[BoiteArrondie]{Texte}}] (#3) {\vphantom{(qE)}#2};}}% + }\relax +} + +%%====Chat SMS + +%===Données utiles +\newlength{\WidthofSMS} +\newlength{\HeightofSMS} +\newlength{\OffsetofSMS} +\newlength{\WidthofSMSavatar} +\newlength{\MarginofSMSavatar} +\colorlet{smscolp}{teal!75!cyan!75!white} +\colorlet{smscoltitle}{white} + +%===Styles [FR/EN] +\tcbset{SMSglobal/.style={ + enhanced,arc=0pt,outer arc=0pt,colback=\ProjectSmsColback,toptitle=0.3cm,bottomtitle=0.3cm,title={\null}, + overlay={ + %la barre de titre + \node[anchor=east,smscoltitle,font=\large] at ([xshift=-1mm]title.east) {\faVideo~~\faPhone*~~\faEllipsisV}; + \node[draw=none,anchor=west,inner sep=1pt,text=smscoltitle,font=\large] at ([xshift=1mm]title.west) (picture) {\ProjectSmsAvat}; + \node[draw=none,anchor=west,text=smscoltitle,font=\large,text depth=0pt,inner sep=1pt] at (picture.east) {\sffamily\bfseries\vphantom{pB}\NameofSMS} ; + %le bas + \draw[line width=0.85pt,darkgray] ([yshift=1cm]frame.south west) -- ([yshift=1cm]frame.south east); + \node[draw=smscolp!75!black,top color=lightgray!40,bottom color=lightgray!40,middle color=white,line width=1pt,rounded corners=2pt,text width={{\WidthofSMS-2.5cm}},minimum height=0.75cm,font=\large\ProjectSmsFonte,text=darkgray,inner xsep=6pt] at ([shift={(0,0.5cm)}]frame.south) {\textcolor{gray}{\rule[-0.1cm]{1pt}{0.5cm}}\,\ProjectSmsWrite}; + \node[draw=none,font=\LARGE,text=darkgray!50,anchor=east,align=center] at ([shift={(-1mm,0.5cm)}]frame.south east) (send) {\faPaperPlane}; + \node[draw=none,font=\LARGE,text=darkgray!50,anchor=west,align=center] at ([shift={(1mm,0.5cm)}]frame.south west) (add) {\faPlusCircle}; + }, + boxrule=0.85pt,colframe=darkgray, + title style={top color=smscolp!90!black,bottom color=smscolp!90!black,middle color=smscolp!75}, + bottom=1.15cm,top=0mm,left=1mm,right=1mm + } +} + +%===Keys [FR] +\defKV[ProjetSMS]{% + Hauteur=\def\ProjectSmsHeight{#1},% + Largeur=\setlength{\WidthofSMS}{#1},% + Marge=\setlength{\OffsetofSMS}{#1},% + Couleur=\colorlet{smscolp}{#1},% + CouleurFond=\def\ProjectSmsColback{#1},% + CouleurR=\def\ProjectSmsColIn{#1},% + CouleurE=\def\ProjectSmsColOut{#1},% + CouleurTitre=\colorlet{smscoltitle}{#1},% + PoliceTxt=\def\ProjectSmsFonte{#1},% + Avatar=\def\ProjectSmsAvatar{#1},% + TxtEcrire=\def\ProjectSmsWrite{#1} +} +\setKVdefault[ProjetSMS]{% + Hauteur=auto,% + Largeur=7cm,% + Marge=1.5cm,% + CouleurFond={lightgray!5},% + CouleurR=lime!25,% + CouleurE=teal!25,% + TxtEcrire={Écrire\ldots},% + PoliceTxt=\normalfont,% + Avatar=\faAddressCard,% + AffAvatar=false,% + NoirBlanc=false +} + +%===Envt [FR] +\NewDocumentEnvironment{EnvSMS}{ O{} m } +{ + \restoreKV[ProjetSMS]% + \setKV[ProjetSMS]{#1}% + \def\NameofSMS{#2}% + \IfSubStr{\ProjectSmsAvatar}{Image}% + {% + \StrBehind{\ProjectSmsAvatar}{/}[\tmpimgavatar]% + \def\ProjectSmsAvat{\includegraphics[height=0.5cm]{\tmpimgavatar}}% + \ifboolKV[ProjetSMS]{AffAvatar}% + {% + \setlength{\WidthofSMSavatar}{\widthof{\includegraphics[height=0.5\baselineskip]{\tmpimgavatar}}}% + \setlength{\MarginofSMSavatar}{\WidthofSMSavatar+2pt}% + }% + {% + \setlength{\MarginofSMSavatar}{0pt}% + }% + }% + {% + \def\ProjectSmsAvat{\ProjectSmsAvatar}% + \ifboolKV[ProjetSMS]{AffAvatar}% + {% + \setlength{\WidthofSMSavatar}{\widthof{\tiny\ProjectSmsAvatar}}% + \setlength{\MarginofSMSavatar}{\WidthofSMSavatar+2pt}% + }% + {% + \setlength{\MarginofSMSavatar}{0pt}% + }% + }% + \IfStrEq{\ProjectSmsHeight}{auto}% + {% + \tcbset{SMSsize/.style={width=\WidthofSMS}}% + }% + {% + \setlength{\HeightofSMS}{\ProjectSmsHeight}% + \tcbset{SMSsize/.style={width=\WidthofSMS,height=\HeightofSMS,valign=bottom}}% + }% + \ifboolKV[ProjetSMS]{NoirBlanc}% + {% + \colorlet{smscolp}{lightgray!25}% + \def\ProjectSmsColback{lightgray!5}% + \def\ProjectSmsColIn{lightgray!10}% + \def\ProjectSmsColOut{lightgray!10}% + \colorlet{smscoltitle}{gray}% + }% + {}% + \tcolorbox[SMSsize,SMSglobal]% +} +{ + \endtcolorbox% +} + +%===Macros [FR] +\NewDocumentCommand\SMSrec{ s m m }{% + \ifboolKV[ProjetSMS]{AffAvatar}% + {% + \IfSubStr{\ProjectSmsAvatar}{Image}% + {% + \tcbset{SMSAffLogo/.style={left skip=\MarginofSMSavatar,overlay={\node[anchor=north east] at ([yshift={1mm+1pt}]interior.north west) {\includegraphics[height=0.5\baselineskip]{\tmpimgavatar}};}}}% + }% + {% + \tcbset{SMSAffLogo/.style={left skip=\MarginofSMSavatar,overlay={\node[anchor=north east,font=\tiny,text=gray] at ([yshift={1mm+1pt}]interior.north west) {\ProjectSmsAvatar};}}}% + }% + }% + {% + \tcbset{SMSAffLogo/.style={}}% + }% + \tcbox[enhanced,interior code={},before skip=0.5mm,after skip=0.5mm,halign=left,left=1.5mm,right=1.5mm, + frame code={ + \filldraw[\ProjectSmsColIn,draw=black,rounded corners=4pt] + (frame.south east) rectangle (frame.north west) ; + }, + width={\WidthofSMS-\OffsetofSMS},top=1mm,bottom=1mm, + capture=minipage,fontupper=\small\ProjectSmsFonte, + attach boxed title to top left, + coltitle=black,fonttitle=\scriptsize\sffamily, + boxed title style={size=fbox,bottom=0pt,boxsep=2pt,frame empty,interior empty}, + title={\@ifpackageloaded{babel}{\NoAutoSpacing#2}{#2}\IfBooleanTF{#1}{$\cdot$\scalebox{0.6}[0.6]{\faCheckCircle[regular]\!\faCheckCircle[regular]}~}{}},left=1mm,right=1mm,boxsep=0mm,SMSAffLogo]{#3}% +} +\NewDocumentCommand\SMSenv{ s m m }{% + \tcbox[enhanced,interior code={},before skip=0.5mm,after skip=0.5mm,halign=left,left=1.5mm,right=1.5mm, + frame code={ + \filldraw[\ProjectSmsColOut,draw=black,rounded corners=4pt] + (frame.south east) rectangle (frame.north west) ; + }, + width={\WidthofSMS-\OffsetofSMS},top=1mm,bottom=1mm,flush right, + capture=minipage,fontupper=\small\ProjectSmsFonte, + attach boxed title to top right, + coltitle=black,fonttitle=\scriptsize\sffamily, + boxed title style={size=fbox,bottom=0pt,boxsep=2pt,frame empty,interior empty}, + title={\@ifpackageloaded{babel}{\NoAutoSpacing#2}{#2}\IfBooleanTF{#1}{}{$\cdot$\scalebox{0.6}[0.6]{\faCheckCircle[regular]\!\faCheckCircle[regular]}~}},left=1mm,right=1mm,boxsep=0mm]{#3}% +} + + %%----COMMANDES EN %====QCMs @@ -1169,4 +1345,149 @@ \end{tikzpicture}% } +%====ROUNDED BOX +\defKV[RoundedBox]{hmargin=\def\RoundedBoxDelta{#1},style=\def\RoundedBoxStyle{#1}} +\setKVdefault[RoundedBox]{% + bg=red,% + txt=white,% + hmargin=0.25em,% + style=rect +} + + + +\NewDocumentCommand\RoundedBox{ O{} m O{char} }{% + \restoreKV[RoundedBox]% + \setKV[RoundedBox]{#1}% + \settototalheight{\tmpheightbox}{\hbox{(EazertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN)#2}}%hauteur globale + \IfStrEqCase{\RoundedBoxStyle}{% + {rect}{\tikz[remember picture,baseline=(#3.base)]{\node[minimum height=\tmpheightbox,shape=rectangle,rounded corners=0.25em,fill={\useKV[RoundedBox]{bg}},inner sep=0.75pt,outer sep=0pt,text={\useKV[RoundedBox]{txt}}] (#3) {\vphantom{(qE)}\kern\RoundedBoxDelta#2\kern\RoundedBoxDelta};}}% + {circle}{\tikz[remember picture,baseline=(#3.base)]{\node[minimum height=\tmpheightbox,shape=circle,fill={\useKV[RoundedBox]{bg}},inner sep=0.75pt,outer sep=0pt,text={\useKV[RoundedBox]{txt}}] (#3) {\vphantom{(qE)}#2};}}% + }\relax +} + +%====Chat SMS +%===Keys [EN] +\defKV[ProjectSMS]{% + height=\def\ProjectSmsHeight{#1},% + width=\setlength{\WidthofSMS}{#1},% + margin=\setlength{\OffsetofSMS}{#1},% + color=\colorlet{smscolp}{#1},% + colback=\def\ProjectSmsColback{#1},% + colorin=\def\ProjectSmsColIn{#1},% + colorout=\def\ProjectSmsColOut{#1},% + coltitle=\colorlet{smscoltitle}{#1},% + fonttxt=\def\ProjectSmsFonte{#1},% + avatar=\def\ProjectSmsAvatar{#1},% + writetxt=\def\ProjectSmsWrite{#1} +} +\setKVdefault[ProjectSMS]{% + height=auto,% + width=7cm,% + margin=1.5cm,% + colback=lightgray!5,% + colorin=lime!25,% + colorout=teal!25,% + writetxt={Write\ldots},% + fonttxt=\normalfont,% + avatar=\faAddressCard,% + dispavatar=false,% + blackwhite=false +} + +%===Envt [EN] +\NewDocumentEnvironment{ChatSMS}{ O{} m } +{ + \restoreKV[ProjectSMS]% + \setKV[ProjectSMS]{#1}% + \def\NameofSMS{#2}% + \IfSubStr{\ProjectSmsAvatar}{img}% + {% + \StrBehind{\ProjectSmsAvatar}{/}[\tmpimgavatar]% + \def\ProjectSmsAvat{\includegraphics[height=0.5cm]{\tmpimgavatar}}% + \ifboolKV[ProjectSMS]{dispavatar}% + {% + \setlength{\WidthofSMSavatar}{\widthof{\includegraphics[height=0.5\baselineskip]{\tmpimgavatar}}}% + \setlength{\MarginofSMSavatar}{\WidthofSMSavatar+2pt}% + }% + {% + \setlength{\MarginofSMSavatar}{0pt}% + }% + }% + {% + \def\ProjectSmsAvat{\ProjectSmsAvatar}% + \ifboolKV[ProjectSMS]{dispavatar}% + {% + \setlength{\WidthofSMSavatar}{\widthof{\tiny\ProjectSmsAvatar}}% + \setlength{\MarginofSMSavatar}{\WidthofSMSavatar+2pt}% + }% + {% + \setlength{\MarginofSMSavatar}{0pt}% + }% + }% + \IfStrEq{\ProjectSmsHeight}{auto}% + {% + \tcbset{SMSsize/.style={width=\WidthofSMS}}% + }% + {% + \setlength{\HeightofSMS}{\ProjectSmsHeight}% + \tcbset{SMSsize/.style={width=\WidthofSMS,height=\HeightofSMS,valign=bottom}}% + }% + \ifboolKV[ProjectSMS]{blackwhite}% + {% + \colorlet{smscolp}{lightgray!25}% + \def\ProjectSmsColback{lightgray!5}% + \def\ProjectSmsColIn{lightgray!10}% + \def\ProjectSmsColOut{lightgray!10}% + \colorlet{smscoltitle}{gray}% + }% + {}% + \tcolorbox[SMSsize,SMSglobal]% +} +{ + \endtcolorbox% +} + +%===Macros [EN] +\NewDocumentCommand\InSMS{ s m m }{% + \ifboolKV[ProjectSMS]{dispavatar}% + {% + \IfSubStr{\ProjectSmsAvatar}{img}% + {% + \tcbset{SMSAffLogo/.style={left skip=\MarginofSMSavatar,overlay={\node[anchor=north east] at ([yshift={1mm+1pt}]interior.north west) {\includegraphics[height=0.5\baselineskip]{\tmpimgavatar}};}}}% + }% + {% + \tcbset{SMSAffLogo/.style={left skip=\MarginofSMSavatar,overlay={\node[anchor=north east,font=\tiny,text=gray] at ([yshift={1mm+1pt}]interior.north west) {\ProjectSmsAvatar};}}}% + }% + }% + {% + \tcbset{SMSAffLogo/.style={}}% + }% + \tcbox[enhanced,interior code={},before skip=0.5mm,after skip=0.5mm,halign=left,left=1.5mm,right=1.5mm, + frame code={ + \filldraw[\ProjectSmsColIn,draw=black,rounded corners=4pt] + (frame.south east) rectangle (frame.north west) ; + }, + width={\WidthofSMS-\OffsetofSMS},top=1mm,bottom=1mm, + capture=minipage,fontupper=\small\ProjectSmsFonte, + attach boxed title to top left, + coltitle=black,fonttitle=\scriptsize\sffamily, + boxed title style={size=fbox,bottom=0pt,boxsep=2pt,frame empty,interior empty}, + title={#2\IfBooleanTF{#1}{$\cdot$\scalebox{0.6}[0.6]{\faCheckCircle[regular]\!\faCheckCircle[regular]}~}{}},left=1mm,right=1mm,boxsep=0mm,SMSAffLogo]{#3}% +} +\NewDocumentCommand\OutSMS{ s m m }{% + \tcbox[enhanced,interior code={},before skip=0.5mm,after skip=0.5mm,halign=left,left=1.5mm,right=1.5mm, + frame code={ + \filldraw[\ProjectSmsColOut,draw=black,rounded corners=4pt] + (frame.south east) rectangle (frame.north west) ; + }, + width={\WidthofSMS-\OffsetofSMS},top=1mm,bottom=1mm,flush right, + capture=minipage,fontupper=\small\ProjectSmsFonte, + attach boxed title to top right, + coltitle=black,fonttitle=\scriptsize\sffamily, + boxed title style={size=fbox,bottom=0pt,boxsep=2pt,frame empty,interior empty}, + title={#2\IfBooleanTF{#1}{}{$\cdot$\scalebox{0.6}[0.6]{\faCheckCircle[regular]\!\faCheckCircle[regular]}~}},left=1mm,right=1mm,boxsep=0mm]{#3}% +} + + \endinput
\ No newline at end of file diff --git a/macros/latex/contrib/rectopma/README.txt b/macros/latex/contrib/rectopma/README.txt new file mode 100644 index 0000000000..7fe99006d6 --- /dev/null +++ b/macros/latex/contrib/rectopma/README.txt @@ -0,0 +1,29 @@ + + +This file is README.txt for the rectopma package. +Current version : [2024/04/04] +Author: Battista Benciolini <benciolinibattista at gmail dot com> + + +The distribution includes: + + README.txt this file + rectopma.dtx a self extracting and self documenting file + rectopma.sty the package + rectopma.pdf the complete and formatted documentation + TestTitle.tex a minimal example of the usage of the package (source) + TestTitle.pdf a minimal example of the usage of the package (formatted) + + +pdflatex rectopma.dtx creates rectopma.pdf, rectopma.sty and TestTitle.tex +pdflatex TestTitle creates TestTitle.pdf + +tested with TeX-live 2024 + +This program may be used, distributed and modified under +the conditions of the LaTeX Project Public License +see:http://www.latex-project.org/lppl.txt + + +===================== END of README file ====================== + diff --git a/macros/latex/contrib/rectopma/TestTitle.pdf b/macros/latex/contrib/rectopma/TestTitle.pdf Binary files differindex 55cd5861cd..ba73f8c96b 100644 --- a/macros/latex/contrib/rectopma/TestTitle.pdf +++ b/macros/latex/contrib/rectopma/TestTitle.pdf diff --git a/macros/latex/contrib/rectopma/TestTitle.tex b/macros/latex/contrib/rectopma/TestTitle.tex deleted file mode 100644 index 9ec54d5bf8..0000000000 --- a/macros/latex/contrib/rectopma/TestTitle.tex +++ /dev/null @@ -1,56 +0,0 @@ -% THIS IS BOTH A MINIMAL USER-MANUAL -% OF THE PACKAGE rectopma.sty -% AND AN EXAMPLE OF ITS USE -% -% File : TestTitle.tex -% Author: Battista Benciolini -% E-mail: <Battista.Benciolini@ing.unitn.it> -% Date : January 2002 -% See file rectopma.sty for more information -% -\documentclass[a4paper,10pt]{article} -\usepackage{rectopma} -% -\date{ } -\title{Test of the package \texttt{rectopma} \intitlebreak and -suggestions for its use \intitlebreakvs (I need a long title)\thanks{ -Comments are welcome !}} -\author{B.Benciolini\thanks{e-mail: battista.benciolini@ing.uitn.it} -\and No Second Author\thanks{No-Where Institute}} -% -\SaveTopMatter -% -\begin{document} -\maketitle -% -\section{Introduction} -The package \verb+rectopma+ makes it possible to reuse the main -content of \verb+\title+ and \verb+\author+ in different parts of a -document. -It is also possible to force linebreaks in the title with a command -that is only active inside the top-matter, not when the title is -re-printed elsewhere. -% -\section{Instruction} -The new commands \verb+\intitlebreak+ and \verb+\intitlebreakvs+ -(vs= vertical skip) are used to force a line break in the title -that disappears when the title itself is re-used outside the top matter -of the paper. -The content of \verb+\title+ and \verb+\author+ must be saved with the -command \verb+\SaveTopMatter+ before the action of \verb+\maketitle+ -and can be reprinted with the new commands \verb+\SavedAuthor+ -and \verb+\SavedTitle+. When they are reprinted the names of the -various authors are simply separated by commas and the content of -\verb+\thanks+ is ignored. -% -\section{Examples} -The authors of this paper are listed here after: \SavedAuthor. This -is obtained with \verb+\SavedAuthor+. It is also possible to reprint -the title, by means of \verb+\SavedTitle+, and the result is: -\SavedTitle. The title can be printed with a different style, as in: -\textbf{\SavedTitle}, obtained with \verb+\textbf{\SavedTitle}+. -% -\end{document} -\endinput -% -% End of file TestPaper.tex diff --git a/macros/latex/contrib/rectopma/rectopma.dtx b/macros/latex/contrib/rectopma/rectopma.dtx new file mode 100644 index 0000000000..aadfbe1da6 --- /dev/null +++ b/macros/latex/contrib/rectopma/rectopma.dtx @@ -0,0 +1,219 @@ +%\iffalse +% file: rectopma.dtx +% author: Battista Benciolini +% contact: benciolinibattista at gmail dot com +% date: 2024-04-04 +%\fi +%\iffalse +%<*ins> +\begingroup +\input docstrip.tex +\keepsilent +\preamble +---------------------------------------------------------------- +This file is part of the distribution of rectopma [2024-04-04] +The author of rectopma is Battista Benciolini +<benciolinibattista at gmail dot com > +---------------------------------------------------------------- +This program may be used, distributed and modified under +the conditions of the LaTeX Project Public License. +(see: http://www.latex-project.org/lppl.txt) +---------------------------------------------------------------- +\endpreamble +\askforoverwritefalse +\generate{\file{rectopma.sty}{\from{rectopma.dtx}{package}}} +\generate{\file{TestTitle.tex}{\from{rectopma.dtx}{example}}} +\endgroup +%</ins> +%\fi +%\iffalse +%<*driver> +\documentclass[a4paper,10pt]{ltxdoc} +\title{The \texttt{rectopma} package: +\\ recicle top matter, i.e. +\\ reuse the title and author(s)} +\author{Battista Benciolini +\thanks{e-mail: benciolinibattista at gmail dot com}} +\begin{document} +\maketitle +\DocInput{rectopma.dtx} +\end{document} +%</driver> +%\fi +% +%\section{Introduction} +% The package |rectopma| makes it possible to reuse the main +% content of |\title| and |\author| in different parts of a +% document. It is also possible to force linebreaks in the title with +% a command that has no effect +% when the title is re-printed. +% The file |TestTitle.tex| is an example of the use +% of the functions made available by the package. +% +% +%\iffalse +%<*example> +%\fi +%\section{Suggestions for the use and an example} +% +% I first present the suggestions for the use of |rectopma.sty| +% and the example that will be available in |TestTitle.tex| +% The example must obviously start loading the class (I use article) +% and the package rectopma +% \begin{macrocode} +\documentclass{article} +\usepackage{rectopma} +% \end{macrocode} +% +% In the preamble I define the title and the authors. +% The authors must be separated by |\and|. Title and authors +% can have a note using |\thanks|, and the note will disappear when +% the title and the author will be reused. +% When a long title is present it is +% \DescribeMacro{\intitlebreak} +% \DescribeMacro{\intitlebreakvs} +% perhaps useful to force linebreaks in some special position. +% The new commands |\intitlebreak| and |\intitlebreakvs| +% (vs= vertical skip) are used for this purpose, and their effect +% will disappears when the title itself is re-used in the document. +% \begin{macrocode} +\title{Test of the package \texttt{rectopma} +\intitlebreak and suggestions for its use +\intitlebreakvs (I need a long title)% +\thanks{Comments are welcome !}} +\author{Battista Benciolini% +\thanks{e-mail: benciolinibattista at gmail dot com}% +\and No Second Author\thanks{No-Where Institute}}% +% \end{macrocode} +% +%\par +% The main part of the document starts as usual. +% The command \DescribeMacro{\SaveTopMatter} |\SaveTopMatter| +% must be used before |maketitle| to save the title and the author(s). +% +% \begin{macrocode} +\begin{document} +\SaveTopMatter +\maketitle +% \end{macrocode} +% +% The title and the authors can be reprinted with the commands +% \DescribeMacro{\SavedTitle} \DescribeMacro{\SavedAuthor} +%|\SavedTitle| and |\SavedAuthor|. When they are +% reprinted the names of the various authors are simply separated +% by commas and the content of |\thanks| is ignored. +% +% \begin{macrocode} +The authors are listed here after: \SavedAuthor. +This is obtained with \verb|\SavedAuthor|. +It is also possible to reprint the title, +by means of \verb|\SavedTitle|, +and the result is: \SavedTitle. +% \end{macrocode} +% +% And this is the end of the example. +% \begin{macrocode} +\end{document} +% \end{macrocode} +% +%\iffalse +%</example> +%<*package> +%\fi +%\section{Code of the package} +% +% \begin{macrocode} +\ProvidesPackage{rectopma}[2024/04/04] +% \end{macrocode}% +% +% \begin{macro}{\declarecommand} +% I need |\declarecommand| ! +% The definition is due to egreg in +% a comment to question 128797 in |tex.stackexchange.com|. +% \begin{macrocode} +\newcommand\declarecommand[1]{\providecommand{#1}{}\renewcommand{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\intitlebreak} +% The command |\intitlebreak| is used to force a line break in the title. +% \begin{macrocode} +\newcommand{\intitlebreak}{\\} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\intitlebreakvs} +% The comman |\intitlebreakvs| (vs= vertical skip) +% produces a line break and a vertical skip. +% \begin{macrocode} +\newcommand{\intitlebreakvs}{\\ \vskip 4mm } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@outsidetitle} +% The commands |\intitlebreak|, |\intitlebreakvs|, +% |\and| and |\thanks| need a redefinition for the +% correct output of title and authors in a generic +% position in the document. +% The redefinition is operated by the command |\@outsidetitle|. +% (I follow the old tradition of inserting a |@| in the +% commands that are of internal use, not available to the user.) +% \begin{macrocode} +\newcommand{\@outsidetitle}{% +\renewcommand{\intitlebreak}{\relax}% +\renewcommand{\intitlebreakvs}{\relax}% +\declarecommand{\thanks}[1]{\relax}% +\declarecommand{\and}{\unskip,\ }}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SaveTopMatter} +% The new command |\SaveTopMatter| saves the contents of |\@title| +% and |\@author| in |\@SavedTitle| and |\@SavedAuthor| respectively, +% so that they can be re-used anywhere in the document. +% \begin{macrocode} +\newcommand{\SaveTopMatter}{% +\global\let\@SavedTitle\@title% +\global\let\@SavedAuthor\@author} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SavedTitle} +% The command |\SavedTitle| +% actually prints the title. +% \begin{macrocode} +\newcommand{\SavedTitle}{\@outsidetitle\@SavedTitle} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\SavedAuthor} +% The command |\SavedAuthor| +% actually prints the authors. +% \begin{macrocode} +\newcommand{\SavedAuthor}{\@outsidetitle\@SavedAuthor} +% \end{macrocode} +% \end{macro} +% +% The package is now complete. +% +%\iffalse +%</package> +%\fi +%\section{History} +%\begin{description} +%\item[2002] first release in CTAN, +%\item[2024] second release in CTAN, +% complete re-coding of |rectopma.sty|, +% some changes in |TestTitle.sty|, +% new documentation, +% all stuff collected in |rectopma.dtx|. +%\end{description} +%\section{Recommendation} +% I recommend all the users of |rectopma|, and all the +% persons that by chance encounter it, +% to send me any comment about it. +% \vfill\centerline{\Large ***}\vfill +% +%\iffalse +% END OF FILE rectopma.dtx +%\fi diff --git a/macros/latex/contrib/rectopma/rectopma.pdf b/macros/latex/contrib/rectopma/rectopma.pdf Binary files differnew file mode 100644 index 0000000000..b1a89c3382 --- /dev/null +++ b/macros/latex/contrib/rectopma/rectopma.pdf diff --git a/macros/latex/contrib/rectopma/rectopma.sty b/macros/latex/contrib/rectopma/rectopma.sty deleted file mode 100644 index ec5fd8593a..0000000000 --- a/macros/latex/contrib/rectopma/rectopma.sty +++ /dev/null @@ -1,88 +0,0 @@ -\ProvidesPackage{rectopma}[2002/01/07] -%************************************************* -%* * -%* This file is * -%* * -%* rectopma.sty * -%* ------------- * -%* * -%* RECycling TOp MAtter * -%* * -%* Version : January 5, 2002 * -%* * -%* Author: Battista Benciolini * -%* * -%* Address: Dip. Ing. Civile e Ambientale * -%* Via Mesiano, 77 * -%* I-38050 Trento * -%* ITALY * -%* * -%* e-mail: Battista.Benciolini@ing.unitn.it * -%* * -%************************************************* -% -% -% PURPOSE -% ======= -% -% This package allows the re-use of the main content -% of \title and \author anywhere in the document. -% -% IMPORTANT NOTES -% =============== -% -% 1 - This file is part of a program (in the meaning specified -% by the LPPL) that includes two files posted in the same -% folder: -% - rectopma.sty (= this file) -% - TestTitle.tex (= sample and suggestions) -% 2 - This program may be used, distributed and/or modified under -% the conditions of the LaTeX Project Public License. -% The latest version of this license is in: -% http://www.latex-project.org/lppl.txt -% -% HISTORY -% ======= -% -% (The mechanism implemented here have been originally -% encoded in others packages) -% -% January 2002 : first version -% -% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -% -% -% The new if \ifintitle is used to govern the different format of -% author and title when used in the top matter and when used -% anywhere else. -% (At present it is used only for intitlebreak and intitlebreakvs) -\newif\ifintitle \intitlefalse -% -% The commands \intitlebreak and \intitlebreakvs (vs= vertical skip) -% are used to force a line break in the title that disappears when -% the title itself is re-used outside the top matter of the paper. -\newcommand{\intitlebreak}{\ifintitle \\ \else\relax\fi} -\newcommand{\intitlebreakvs}{\ifintitle \vskip 1mm \else\relax\fi} -% -% The redefinition of \@maketitle includes -% the ON-OFF settings of \ifintitle -\let\OLD@maketitle\@maketitle -\def\@maketitle{\intitletrue\OLD@maketitle\intitlefalse} -% -% The redefinition of maketitle rebuilds -% \and to be a generic separator -% \thanks to do nothing (but it must have an argument) -\global\let\OLDmaketitle\maketitle -\gdef\maketitle{\OLDmaketitle -\gdef\and{\unskip,\ } -\gdef\thanks##1{\relax}} -% -% the new command \SaveTopMatter saves the contents of \@title and -% \@author in \SavedTitle and \SavedAuthor respectively, so that they -% can be re-used anywhere in the document. -\newcommand{\SaveTopMatter}{ -\global\let\SavedTitle\@title -\global\let\SavedAuthor\@author} -% -% -% end end end diff --git a/macros/luatex/generic/luamplib/NEWS b/macros/luatex/generic/luamplib/NEWS index 2bc44d4d0e..aaa0eae0a2 100644 --- a/macros/luatex/generic/luamplib/NEWS +++ b/macros/luatex/generic/luamplib/NEWS @@ -1,5 +1,14 @@ History of the luamplib package +2024/04/04 2.27.2 + * for warning/info/error messages we now use our own lua function, + instead of ltluatex's. As a result, mplib's multi-line messages are + printed as they are with no module name prepended to each line. + * terminal messages are now much conciser than before, printing only + the most relevant part. + * mplibcode which has no figure output does not print a warning, but + just an info to the log. + 2024/03/29 2.27.1 * fix a bug regarding local textext boxes diff --git a/macros/luatex/generic/luamplib/luamplib.dtx b/macros/luatex/generic/luamplib/luamplib.dtx index 7c8bdd97f5..24408cd3b2 100644 --- a/macros/luatex/generic/luamplib/luamplib.dtx +++ b/macros/luatex/generic/luamplib/luamplib.dtx @@ -85,7 +85,7 @@ See source file '\inFileName' for licencing and contact information. %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{luamplib.drv}% - [2024/03/29 v2.27.1 Interface for using the mplib library]% + [2024/04/04 v2.27.2 Interface for using the mplib library]% \documentclass{ltxdoc} \usepackage{metalogo,multicol,mdwlist,fancyvrb,xspace} \usepackage[x11names]{xcolor} @@ -153,7 +153,7 @@ See source file '\inFileName' for licencing and contact information. % \author{Hans Hagen, Taco Hoekwater, Elie Roux, Philipp Gesang and Kim Dohyun\\ % Maintainer: LuaLaTeX Maintainers --- % Support: \email{lualatex-dev@tug.org}} -% \date{2024/03/29 v2.27.1} +% \date{2024/04/04 v2.27.2} % % \maketitle % @@ -189,7 +189,7 @@ See source file '\inFileName' for licencing and contact information. % \begin{itemize} % \item a \LaTeX\ environment % \item all \TeX\ macros start by |mplib| -% \item use of luatexbase for errors, warnings and declaration +% \item use of our own function for errors, warnings and informations % \item possibility to use |btex ... etex| to typeset \TeX\ code. % |textext()| is a more versatile macro equivalent to |TEX()| from TEX.mp. % |TEX()| is also allowed and is a synomym of |textext()|.\par\smallskip @@ -455,23 +455,11 @@ See source file '\inFileName' for licencing and contact information. luatexbase.provides_module { name = "luamplib", - version = "2.27.1", - date = "2024/03/29", + version = "2.27.2", + date = "2024/04/04", description = "Lua package to typeset Metapost with LuaTeX's MPLib.", } -local format, abs = string.format, math.abs - -local err = function(...) - return luatexbase.module_error ("luamplib", format(...)) -end -local warn = function(...) - return luatexbase.module_warning("luamplib", format(...)) -end -local info = function(...) - return luatexbase.module_info ("luamplib", format(...)) -end - % \end{macrocode} % % Use the |luamplib| namespace, since |mplib| is for the metapost library @@ -480,6 +468,41 @@ end luamplib = luamplib or { } local luamplib = luamplib +local format, abs = string.format, math.abs + +% \end{macrocode} +% +% Use our own function for warn/info/err. +% \begin{macrocode} +local function termorlog (target, text, kind) + if text then + local mod, write, append = "luamplib", texio.write_nl, texio.write + kind = kind + or target == "term" and "Warning (more info in the log)" + or target == "log" and "Info" + or target == "term and log" and "Warning" + or "Error" + target = kind == "Error" and "term and log" or target + local t = text:explode"\n+" + write(target, format("Module %s %s:", mod, kind)) + if #t == 1 then + append(target, format(" %s", t[1])) + else + for _,line in ipairs(t) do + write(target, line) + end + write(target, format("(%s) ", mod)) + end + append(target, format(" on input line %s", tex.inputlineno)) + write(target, "") + if kind == "Error" then error() end + end +end + +local warn = function(...) termorlog("term and log", format(...)) end +local info = function(...) termorlog("log", format(...)) end +local err = function(...) termorlog("error", format(...)) end + luamplib.showlog = luamplib.showlog or false % \end{macrocode} @@ -762,8 +785,27 @@ local preamble = [[ input %s ; ]] -local logatload -local function reporterror (result, indeed) +% \end{macrocode} +% +% |plain| or |metafun|, +% though we cannot support |metafun| format fully. +% \begin{macrocode} +local currentformat = "plain" +local function setformat (name) + currentformat = name +end +luamplib.setformat = setformat + +% \end{macrocode} +% +% v2.9 has introduced the concept of ``code inherit'' +% \begin{macrocode} +luamplib.codeinherit = false + +local mplibinstances = {} +local instancename + +local function reporterror (result, prevlog) if not result then err("no result object returned") else @@ -775,31 +817,32 @@ local function reporterror (result, indeed) local log = l or t or "no-term" log = log:gsub("%(Please type a command or say `end'%)",""):gsub("\n+","\n") if result.status > 0 then - warn(log) + local first = log:match"(.-\n! .-)\n! " + if first then + termorlog("term", first) + termorlog("log", log, "Warning") + else + warn(log) + end if result.status > 1 then err(e or "see above messages") end - elseif indeed then - local log = logatload..log + elseif prevlog then + log = prevlog..log % \end{macrocode} % % v2.6.1: now luamplib does not disregard |show| command, % even when |luamplib.showlog| is false. Incidentally, -% it does not raise error but just prints a warning, +% it does not raise error but just prints an info, % even if output has no figure. % \begin{macrocode} - if log:find"\n>>" then - warn(log) - elseif log:find"%g" then - if luamplib.showlog then - info(log) - elseif not result.fig then - info(log) - end + local show = log:match"\n>>? .+" + if show then + termorlog("term", show, "Info (more info in the log)") + info(log) + elseif luamplib.showlog and log:find"%g" then + info(log) end - logatload = "" - else - logatload = log end return log end @@ -836,59 +879,21 @@ local function luamplibload (name) if luamplib.textextlabel then preamble = preamble .. luamplib.textextlabelpreamble end - local result + local result, log if not mpx then result = { status = 99, error = "out of memory"} else result = mpx:execute(format(preamble, replacesuffix(name,"mp"))) end - reporterror(result) - return mpx, result -end - -% \end{macrocode} -% -% |plain| or |metafun|, -% though we cannot support |metafun| format fully. -% \begin{macrocode} -local currentformat = "plain" - -local function setformat (name) - currentformat = name + log = reporterror(result) + return mpx, result, log end -luamplib.setformat = setformat % \end{macrocode} % % Here, excute each |mplibcode| data, % ie |\begin{mplibcode} ... \end{mplibcode}|. % \begin{macrocode} -local function process_indeed (mpx, data) - local converted, result = false, {} - if mpx and data then - result = mpx:execute(data) - local log = reporterror(result, true) - if log then - if result.fig then - converted = luamplib.convert(result) - else - warn("No figure output. Maybe no beginfig/endfig") - end - end - else - err("Mem file unloadable. Maybe generated with a different version of mplib?") - end - return converted, result -end - -% \end{macrocode} -% -% v2.9 has introduced the concept of ``code inherit'' -% \begin{macrocode} -luamplib.codeinherit = false -local mplibinstances = {} -local instancename - local function process (data) % \end{macrocode} % @@ -900,25 +905,41 @@ local function process (data) % end % \end{verbatim} % \begin{macrocode} - local defaultinstancename = currentformat .. (luamplib.numbersystem or "scaled") - .. tostring(luamplib.textextlabel) .. tostring(luamplib.legacy_verbatimtex) - local currfmt = instancename or defaultinstancename - if #currfmt == 0 then - currfmt = defaultinstancename + local currfmt + if instancename and instancename ~= "" then + currfmt = instancename + else + currfmt = currentformat..(luamplib.numbersystem or "scaled") + ..tostring(luamplib.textextlabel)..tostring(luamplib.legacy_verbatimtex) end local mpx = mplibinstances[currfmt] local standalone = false - if currfmt == defaultinstancename then + if currfmt ~= instancename then standalone = not luamplib.codeinherit end if mpx and standalone then mpx:finish() end + local log = "" if standalone or not mpx then - mpx = luamplibload(currentformat) + mpx, _, log = luamplibload(currentformat) mplibinstances[currfmt] = mpx end - return process_indeed(mpx, data) + local converted, result = false, {} + if mpx and data then + result = mpx:execute(data) + local log = reporterror(result, log) + if log then + if result.fig then + converted = luamplib.convert(result) + else + info"No figure output. Maybe no beginfig/endfig" + end + end + else + err"Mem file unloadable. Maybe generated with a different version of mplib?" + end + return converted, result end % \end{macrocode} @@ -1024,13 +1045,6 @@ local mplibcolorfmt = { [[\def\__color_backend_select:nn#1#2{\global\mplibtmptoks{#1 #2}}]].. [[\def\__kernel_backend_literal:e#1{\global\mplibtmptoks\expandafter{\expanded{#1}}}]].. [[\color_select:n%s\endgroup]], - l3xcolor = [[\begingroup\color_if_exist:nTF%s{]].. - [[\def\__color_select:N#1{\expandafter\__color_select:nn#1}]].. - [[\def\__color_backend_select:nn#1#2{\global\mplibtmptoks{#1 #2}}]].. - [[\def\__kernel_backend_literal:e#1{\global\mplibtmptoks\expandafter{\expanded{#1}}}]].. - [[\color_select:n%s}{\let\XC@mcolor\relax]].. - [[\def\set@color{\global\mplibtmptoks\expandafter{\current@color}}]].. - [[\color%s}\endgroup]], } local colfmt = is_defined'color_select:n' and "l3color" or "xcolor" @@ -1069,7 +1083,7 @@ local function process_color (str) end end end - run_tex_code(myfmt:format(str,str,str), ccexplat or catat11) + run_tex_code(myfmt:format(str), ccexplat or catat11) local t = texgettoks"mplibtmptoks" return format('1 withprescript "MPlibOverrideColor=%s"', t) end @@ -1078,10 +1092,7 @@ end % \end{macrocode} % -% \cs{mpdim} is expanded before MPLib process, so code below will not be -% used for |mplibcode| data. But who knows anyone would want it -% in |.mp| input file. If then, you can say |mplibdimen(".5\textwidth")| -% for example. +% for \cs{mpdim} or |mplibdimen| % \begin{macrocode} local function process_dimen (str) if str then @@ -1850,7 +1861,11 @@ local function do_preobj_color(object,prescript) elseif not pdfmode then override = prev_override_color if override then - texsprint(format("\\special{color push %s}",override)) + if override:find"^pdf:" then + texsprint(format("\\special{%s}",override)) + else + texsprint(format("\\special{color push %s}",override)) + end end end end @@ -2193,7 +2208,7 @@ luamplib.colorconverter = colorconverter \else \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{luamplib} - [2024/03/29 v2.27.1 mplib package for LuaTeX] + [2024/04/04 v2.27.2 mplib package for LuaTeX] \ifx\newluafunction\@undefined \input ltluatex \fi diff --git a/macros/luatex/generic/luamplib/luamplib.pdf b/macros/luatex/generic/luamplib/luamplib.pdf Binary files differindex 652add2db7..e7580d5551 100644 --- a/macros/luatex/generic/luamplib/luamplib.pdf +++ b/macros/luatex/generic/luamplib/luamplib.pdf diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 3d5b0ab52e..da08339d2f 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,7 +26,7 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2024 -depend revision/70852 +depend revision/70861 name 00texlive.image category TLCore @@ -9168,15 +9168,15 @@ catalogue-version 3.13g name acmart category Package -revision 70830 +revision 70857 shortdesc Class for typesetting publications of ACM relocated 1 longdesc This package provides a class for typesetting publications of longdesc the Association for Computing Machinery (ACM). -containersize 42900 -containerchecksum de404fe0810ad54d9e071f9f6e68eac6661ae898d5372d699721cb890ea0f232daf6e11e27480eb4e9cb49f5d703ba5c054bfc7809c7418b10e532f905379deb -doccontainersize 4568248 -doccontainerchecksum 80598de24f7594444b20576f38564c7baf59ee97f3af12e90bb59a0080ad232a54c274dbdc73c7456b2a406cdc006ec3f24740d16c1581576a1fa4f926945c58 +containersize 42916 +containerchecksum 8a5b37f5260cf465a677af574827719e4115c32bd4a40d5cbe059f2df7d090798dfb67b172071bcced22e975a3799872efb3126c4c90094990dde55d9010f2e1 +doccontainersize 4568372 +doccontainerchecksum 8c247f26e010f6905bf6b93a25d16ca97b51b25badd6d60f708edd36119c3397b096285d7516e326165e847e3bfdf4cecbbc9b0c36901e3ab69a92c0de3ca957 docfiles size=3268 RELOC/doc/latex/acmart/README details="Readme" RELOC/doc/latex/acmart/acm-jdslogo.png @@ -9223,8 +9223,8 @@ docfiles size=3268 RELOC/doc/latex/acmart/samples/samples.ins RELOC/doc/latex/acmart/samples/sampleteaser.pdf RELOC/doc/latex/acmart/samples/software.bib -srccontainersize 62812 -srccontainerchecksum 5f84f54026e24e0cf4eb4a6b64aeb144a1ae6cf79535b123fc9c73a7e2402cb71a03aba938a933f65ceab00e12c8ec6daf2e4aacbbd1131be5bf8b9be2e953db +srccontainersize 62872 +srccontainerchecksum 150888060c0da6eef133c5d6049beabc060d9cb0e39334cc15d2eb935a4abd3edcd2afdf077aa1a13035f392c4fa5980b4c919c3aace0c7162b5faf234c77576 srcfiles size=75 RELOC/source/latex/acmart/Makefile RELOC/source/latex/acmart/acmart.dtx @@ -9243,7 +9243,7 @@ catalogue-contact-repository https://github.com/borisveytsman/acmart/ catalogue-ctan /macros/latex/contrib/acmart catalogue-license lppl1.3 catalogue-topics class comp-sci comp-theory engineering journalpub -catalogue-version 2.04 +catalogue-version 2.05 name acmconf category Package @@ -89143,7 +89143,7 @@ binfiles arch=x86_64-solaris size=3 name csquotes category Package -revision 64389 +revision 70858 shortdesc Context sensitive quotation facilities relocated 1 longdesc This package provides advanced facilities for inline and @@ -89161,10 +89161,10 @@ longdesc well as the optional active quotes are freely configurable. The longdesc package is dependent on e-TeX, and requires the author's longdesc etoolbox package. depend etoolbox -containersize 18088 -containerchecksum 68427cbe486f3b53bdb24869a3ad52cf6a006d7872ff9408560d9e4b0f1e8184fcb437d54e10f11d7a3585ff8ff7ad40ab4a95aa66091bb69a75a3e8e60aede8 -doccontainersize 325560 -doccontainerchecksum ceba04fab9ec257c6bbc2fc903e3888bae9ef6bfa5664c8e01da14ee2b1482005aece22b6bf4fa7fb893c2dc1b0cb7f762eb048e0b2c039be80ef73b0bfef131 +containersize 18108 +containerchecksum cf1ec6b3b01e1b14ee7cf159ec1ee2c7e525d7a85b8c310a110d6e2528bfe5a457948f0ebc28e92afc2b01391f7e74d479ce64ee2c55778b220076edbda4dcae +doccontainersize 325292 +doccontainerchecksum 83390e5ad3d2fc156b961bec0b96df7a7a5d1ecf67e36a68dc2c745a3dee70b06a3e57c6d2ab117e19b31f9e50521af1adb517a6373ae9b98e1eecc70db952ca docfiles size=107 RELOC/doc/latex/csquotes/README.md details="Package README" RELOC/doc/latex/csquotes/csquotes.pdf details="Tutorial on use of the package" @@ -89177,7 +89177,7 @@ runfiles size=25 catalogue-ctan /macros/latex/contrib/csquotes catalogue-license lppl1.3c catalogue-topics quote-marks etex -catalogue-version 5.2n +catalogue-version 5.2o name csquotes-de category Package @@ -91390,16 +91390,16 @@ catalogue-version 1.1 name customenvs category Package -revision 70815 +revision 70859 shortdesc Custom environments (MCQ, list with picked items, ...) relocated 1 longdesc The package provides some custom environments (Multiple Choice, longdesc list with chosen items, ...) based on existing environments. -containersize 6872 -containerchecksum f812eb22c5209ab4d76e0d634836aa5118fbdda675c7a037eede6052ccfdeb8050afddc2226305a80818088fc30405f1630eafab1facddd966e7d9865e8aaa45 -doccontainersize 653624 -doccontainerchecksum f1425b9e5af380bee650394ffb662d694f026186da34b5fcf1249f01d3a727fd5378429ad00392f399c4bbd3a57fe9e70a7ee277d6160d900f02c54b65b5a182 -docfiles size=215 +containersize 9000 +containerchecksum 74f8584cbfecf183a824431ded843fc0bf4028a38d5c4c15a630e4447707983b18e353bd17ff999ff2486b9b8b6651bb3f0aa4c970ce4f3c56651adfe7c4bac6 +doccontainersize 1599440 +doccontainerchecksum cd4a68cf7eed7381feae917c75446377f7758881337b68a499692a3694fe82ef1d3a5cd64839e6d334e86f7bc7e79f27ec0ad409317a22421647ca58fc19dc94 +docfiles size=448 RELOC/doc/latex/customenvs/README.md details="Readme" RELOC/doc/latex/customenvs/customenvs-doc-en.pdf details="Package documentation (English)" RELOC/doc/latex/customenvs/customenvs-doc-en.tex @@ -91407,14 +91407,14 @@ docfiles size=215 RELOC/doc/latex/customenvs/customenvs-doc-fr.tex RELOC/doc/latex/customenvs/envtexo_exemples.pdf RELOC/doc/latex/customenvs/envtexo_exemples.tex -runfiles size=11 +runfiles size=14 RELOC/tex/latex/customenvs/customenvs.sty catalogue-contact-bugs https://github.com/cpierquet/customenvs/issues catalogue-contact-repository https://github.com/cpierquet/customenvs catalogue-ctan /macros/latex/contrib/customenvs catalogue-license lppl1.3c cc-by-sa-4 catalogue-topics list table -catalogue-version 0.1.3 +catalogue-version 0.1.4 name cutwin category Package @@ -204782,25 +204782,25 @@ catalogue-version 1.1 name luamplib category Package -revision 70810 +revision 70861 shortdesc Use LuaTeX's built-in MetaPost interpreter relocated 1 longdesc The package enables the user to specify MetaPost diagrams longdesc (which may include colour specifications from the color or longdesc xcolor packages) into a document, using LuaTeX's built-in longdesc MetaPost library. The facility is only available in PDF mode. -containersize 12884 -containerchecksum d6d67392e5cbab2b31b8233c8d47821b6fb5f8af0625837e6d7f5f3f2ea92bbae33b36e156be61ac29c79bc01ff0ca1acff1bf7faf76e389425f8f46dc5cf627 -doccontainersize 161976 -doccontainerchecksum 0114023061ab784fdd44844a4a5b0c9de064289f7d547ca0f80a6960c334ccfdd75701f436a0c59d106d022f907ce2e3166567fd1f2a4fb0ef044c27ee9d96ba +containersize 13108 +containerchecksum 36471fc3e3d77a8d4375c6f7c97b9d364b3b26223d0e0d79e96a4d338cb114735da1a76ed3bd38ee5948d4cd0ad18afafb8ba69564792895000bc51088916147 +doccontainersize 162836 +doccontainerchecksum 68870166966a9ea55c84ba5f175e668be16fad1784797a01eebb25fbb283a46ecda1894febbdac69ece87fd57c5fce298e2ed281fc473f67e3788bc8cf940636 docfiles size=46 RELOC/doc/luatex/luamplib/NEWS RELOC/doc/luatex/luamplib/README details="Readme" RELOC/doc/luatex/luamplib/luamplib.pdf details="Package documentation" RELOC/doc/luatex/luamplib/test-luamplib-latex.tex RELOC/doc/luatex/luamplib/test-luamplib-plain.tex -srccontainersize 28452 -srccontainerchecksum 4f03a2a12dea16e9838c3d3dbc7e98ae22a1999e99b4fefb56ac15eaed7da8d51a86fe2b9d2027f0ca73e209926c6214da9ecea3fbb597af61fdb22c06e4272a +srccontainersize 28612 +srccontainerchecksum b6a7c65fa121e083e462477d51ceebb9eddc46dbd30d617a5597d1fc4598bd1debf922b0d5f70e8515a4cd1091f53bbbbcf686cef4a28169fbce0cdaa8ef61cf srcfiles size=26 RELOC/source/luatex/luamplib/Makefile RELOC/source/luatex/luamplib/luamplib.dtx @@ -204812,7 +204812,7 @@ catalogue-contact-repository https://github.com/lualatex/luamplib catalogue-ctan /macros/luatex/generic/luamplib catalogue-license gpl2 catalogue-topics mp-use graphics-in-tex luatex -catalogue-version 2.27.1 +catalogue-version 2.27.2 name luanumint category Package @@ -209199,7 +209199,7 @@ catalogue-topics notes name markdown category Package -revision 70529 +revision 70856 shortdesc Converting and rendering markdown documents inside TeX relocated 1 longdesc The package provides facilities for the conversion of markdown @@ -209207,11 +209207,11 @@ longdesc markup to plain TeX. These are provided both in form of a Lua longdesc module and in form of plain TeX, LaTeX, and ConTeXt macro longdesc packages that enable the direct inclusion of markdown documents longdesc inside TeX documents. -containersize 63992 -containerchecksum 59ce3cf27966ca295aa3ce335e4e09a7d826090adafb4f007f4974c08b71c0d3971031f580b017bd637b2317a6e816ad14a28ba68aecb6ca0764be81e5ca0a01 -doccontainersize 1261800 -doccontainerchecksum 6a3462c21b690da5c29e91b52d8a99c710980cdc44fc74185e8860451956dcec784b9a6d3698a619782e96ea9f8917a88d4dd8e72445bb680fa03d768eb1f5e8 -docfiles size=589 +containersize 64764 +containerchecksum f89f23cfebc48c31ce5b675ca2e06f90326b5cd2e3cfc61c7fff2c53aaa5ceb68818ba7f652f5fe7121b42daa61e168e817119c954b071ac87bf281d3370451c +doccontainersize 1272140 +doccontainerchecksum 18f33921cab4ea07b0feb5e9eea7612316c6c73c5f2f3a24b63017bdffaf6b328b61ad518e27e5cb4c77e7b7eb8092cb1db4c4f06b7b325d23af08fe83d4935e +docfiles size=592 RELOC/doc/context/third/markdown/examples/context-mkiv.tex RELOC/doc/context/third/markdown/examples/example.md RELOC/doc/context/third/markdown/examples/scientists.csv @@ -209231,13 +209231,13 @@ docfiles size=589 RELOC/doc/optex/markdown/examples/example.md RELOC/doc/optex/markdown/examples/optex.tex RELOC/doc/optex/markdown/examples/scientists.csv -srccontainersize 127640 -srccontainerchecksum 87d36175f86ba977e714242d5f1be5cbd4b3fb38b92ea3ddfa608970e0186f8cee90c08ee39574cb6a024ac3829b5a6c86bf1ee218caead550e16993d70c7820 -srcfiles size=236 +srccontainersize 128636 +srccontainerchecksum 264145549f6119718981649f9e556d66363e702d22bbb2b18a11a77961e280499a2826b5e870d89ab9befed10515d188ca10947453d14fa40cabe86f4b63b6fa +srcfiles size=238 RELOC/source/generic/markdown/docstrip.cfg RELOC/source/generic/markdown/markdown.dtx RELOC/source/generic/markdown/markdown.ins -runfiles size=116 +runfiles size=117 RELOC/scripts/markdown/markdown-cli.lua RELOC/tex/context/third/markdown/t-markdown.tex RELOC/tex/context/third/markdown/t-markdownthemewitiko_markdown_defaults.tex @@ -209257,7 +209257,7 @@ catalogue-contact-repository https://github.com/Witiko/markdown catalogue-ctan /macros/generic/markdown catalogue-license lppl1.3c catalogue-topics markup -catalogue-version 3.4.2-0-ga45cf0ed +catalogue-version 3.4.3-0-ge2c6be1a name marvosym category Package @@ -280853,19 +280853,25 @@ catalogue-version 1.3b name rectopma category Package -revision 19980 +revision 70860 shortdesc Recycle top matter relocated 1 longdesc Saves the arguments of \author and \title for reference (after longdesc \maketitle) in a document. (\maketitle simply disposes of the longdesc information, in the standard classes and some others.) -containersize 1628 -containerchecksum 17a297d7862eeb8c48788e40fd761fd42b37fa7b49b7447e00e828f1a7e0f2e411eee357507d79bfe0441c7feada9e06fb18ee5ce0af87e7aeec7ae618e22d83 -doccontainersize 115552 -doccontainerchecksum 27ae9a381a685373a980e13b9b5c3f6057f98224a7c9659edc0c056a6292e7289ed9772f3a503e8de3ea93b796f271dafeba57f6e240caaf738003e1ab848e46 -docfiles size=29 +containersize 996 +containerchecksum f316a1c6091cab542bf334c473bc1ec446bef6d8371300434f2bc1e7f64752fa6be3ab2671c8de1ac384d071ea4ce48f35231535d7ffa4fdb567708506a7ffa1 +doccontainersize 230780 +doccontainerchecksum 3c5f756f613913a41562319ed731c03a6c632684a6209c2c8bfb5a653a3fb34078da3e6788c2af8cb32d55ad0595aced0a4d5a44ed8c9bc492b71c189727b2e7 +docfiles size=62 + RELOC/doc/latex/rectopma/README.txt RELOC/doc/latex/rectopma/TestTitle.pdf details="Package documentation (and usage example)" RELOC/doc/latex/rectopma/TestTitle.tex + RELOC/doc/latex/rectopma/rectopma.pdf +srccontainersize 2536 +srccontainerchecksum 706a94f70968dbaaa96613420f02f3e03368f892f0ceec8232353201695a247111b174ef8ea8310a35cd91d71796e5cb5543a4390a35a320b5fcd45a77469b93 +srcfiles size=2 + RELOC/source/latex/rectopma/rectopma.dtx runfiles size=1 RELOC/tex/latex/rectopma/rectopma.sty catalogue-ctan /macros/latex/contrib/rectopma @@ -326144,7 +326150,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 70834 +revision 70855 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. @@ -326153,9 +326159,9 @@ depend texlive.infra execute addMap mathpple.map postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat containersize 114204 -containerchecksum c61870e67cc1b41b64de24c1c14b4b2621d9957a93e4ba7d614396f87b4684d13ed3e7cfc5c4db9f093c8807550f53c810ca6306e775ee54555070129b2ed95f -doccontainersize 434472 -doccontainerchecksum 3a732f5f8467b681c5dc7616d686f63223b6019fb43e152ebbfe14a56b99b09156073ae62d0c34cb12c8d82338a201d5e213549d598b6bfa4168fe1e3f570a23 +containerchecksum 76439a5ea773c1f4a3a66bb0698d303d7a9108fb39fa1dc24c41d918716e32f5ddf7f8c3b40e891f4e272e4fb586d7ecf87b61790fe7f36f80966c8b494766a4 +doccontainersize 434612 +doccontainerchecksum ef811aeef2ecf01f2b8c5ef1c9c6e62efbc1c0e93d883811646773878fdcda6ce73d7a939794b2444d834a97723b106327ca0c086e0e651594ba51fdfda2d257 docfiles size=567 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 78ed9eb09d..47f3c443a3 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -577a458f17aba7309ad3cbb9d1769362 texlive.tlpdb +080fa9aa39a0624b04332324509d7426 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 9c1b175d36..e55c0361c8 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -c3dbb2a3d2c1101fb3eb5f6ecafd28e12f395fe6fa40745d3f895de3e1f5a1965c6d8628682c41047e3e6c26b72f8ed67e04778ae843c6311621c78d117741b3 texlive.tlpdb +17fce1d3bda460d86304df3accc0d3ccb7e436db09f9faca6c677f541d0160cdbcb6aec2ecd73902042b95f0288b59ce97f7e9204bf11b469650616c3e0bb703 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index b75c5b965a..188281847f 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc @@ -1,11 +1,11 @@ -----BEGIN PGP SIGNATURE----- -iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmYN6wEACgkQTOGHfhlD -jHARxgf/UqBRv6F47GUMPQoHL7z3U9U7s3B3wJ5883R22Y6XJXI5zOw3AJ48Co+C -pvOJ4t8kLpm4fUPeJS8ZtXSafnqUlFJLvn/t+rq8nBX/9CTOY8YKv2C47abjZ6tM -+++S9zwWjivA5IgPXSjh2WYXRaBnAZkqQfNXo0RMQvwBBJSQaeBA+v+CAqJqYfpp -vTt7EQIgYXOQhbDIa8InX2RW5++WokMJwVauxub52O+rnKSnJ4bbuBpOprovbCIe -cfkSQJzo95RqthlbibDuE05jFsS7rl3Y3T4/fP4+YTqCH0SgwTZtuS1nomiOI3CD -KBrmVILRnod5/4EFkw90nvVYq1u1Lw== -=QOzP +iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmYPO/QACgkQTOGHfhlD +jHDfbQgAqOPHPwYjTbQD1W8koRgAd3lf9blOrvobC7FjuPpd50Yh7fwLa0+Sshc9 +oGjrDaVJYNuIOqa/GOk3xFSRTgfRBmPQzBlAwM0N9+cCwGkKN4jnznwvfsjTlA+9 +dF65w/P/ETrlV+f31SUVvYd1WGyqLTrpd/qvfnboEMSPx7url7U7wQr/ap8Rgixt +88ivbxs5/TfNCE/Moraoyi0NYYu3Bx8kX/Gm/CeJPczMm5STQ4wQU9njVGGYNKpq +HsjH98RjwLylIbg0AJS+sWMf6JjFdqJVh4AH/lBp+Kfn9AzzVrnlhRVgB0SGGoxC +HEObMT0Rbu60dC5D26Xw8PKZCa543A== +=YR50 -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex dff4a746f2..a59a9bbeb1 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz @@ -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: -2024-04-04-02-02 +2024-04-05-02-02 |