summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname116
-rw-r--r--FILES.byname.gzbin2664530 -> 2664682 bytes
-rw-r--r--FILES.last07days299
-rw-r--r--biblio/ctan-bibdata/ctan.bib18
-rw-r--r--macros/latex/contrib/delimset/README.txt4
-rw-r--r--macros/latex/contrib/delimset/delimset.dtx1202
-rw-r--r--macros/latex/contrib/delimset/delimset.ins4
-rw-r--r--macros/latex/contrib/delimset/delimset.pdfbin327877 -> 376509 bytes
-rw-r--r--macros/latex/contrib/passopt/README.md2
-rw-r--r--macros/latex/contrib/passopt/passopt.pdfbin52267 -> 52494 bytes
-rw-r--r--macros/latex/contrib/passopt/passopt.sty2
-rw-r--r--macros/latex/contrib/passopt/passopt.tex9
-rw-r--r--macros/luatex/generic/luamplib/NEWS7
-rw-r--r--macros/luatex/generic/luamplib/luamplib.dtx391
-rw-r--r--macros/luatex/generic/luamplib/luamplib.pdfbin234171 -> 239222 bytes
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-latex.tex29
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-plain.tex14
-rw-r--r--macros/luatex/latex/tango/README13
-rw-r--r--macros/luatex/latex/tango/doc/tango-en.pdfbin160181 -> 160307 bytes
-rw-r--r--macros/luatex/latex/tango/doc/tango-en.tex32
-rw-r--r--macros/luatex/latex/tango/doc/tango-fr.pdfbin170145 -> 169741 bytes
-rw-r--r--macros/luatex/latex/tango/doc/tango-fr.tex45
-rw-r--r--macros/luatex/latex/tango/lualatex/tango.cls (renamed from macros/luatex/latex/tango/latex/tango.cls)255
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl3
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb106
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2581868 -> 2583428 bytes
-rw-r--r--timestamp2
30 files changed, 1752 insertions, 821 deletions
diff --git a/FILES.byname b/FILES.byname
index 52dee8fa8f..40980fca6f 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2078,12 +2078,12 @@
2024/06/09 | 1837 | biblio/citation-style-language/README.md
2024/06/09 | 12878 | biblio/citation-style-language/vancouver.csl
2024/06/09 | 4562284 | biblio/citation-style-language.zip
-2024/07/16 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/07/17 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2024/07/16 | 2876014 | biblio/ctan-bibdata/ctan.bib
-2024/07/16 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/07/17 | 2876013 | biblio/ctan-bibdata/ctan.bib
+2024/07/17 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2024/07/16 | 4123096 | biblio/ctan-bibdata.zip
+2024/07/17 | 4123097 | 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
@@ -5445,7 +5445,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/07/16 | 71363 | FILES.last07days
+2024/07/17 | 59681 | 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
@@ -207304,7 +207304,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/07/14 | 314387 | install/macros/luatex/generic/luamplib.tds.zip
+2024/07/17 | 321734 | 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
@@ -231913,11 +231913,11 @@
2015/12/25 | 28086 | macros/latex/contrib/delimseasy/delimseasy.sty
2016/02/05 | 942 | macros/latex/contrib/delimseasy/README.txt
2016/02/05 | 237292 | macros/latex/contrib/delimseasy.zip
-2018/12/30 | 40970 | macros/latex/contrib/delimset/delimset.dtx
-2018/01/06 | 1408 | macros/latex/contrib/delimset/delimset.ins
-2018/12/30 | 327877 | macros/latex/contrib/delimset/delimset.pdf
-2018/12/30 | 1110 | macros/latex/contrib/delimset/README.txt
-2018/12/30 | 328783 | macros/latex/contrib/delimset.zip
+2024/07/17 | 63728 | macros/latex/contrib/delimset/delimset.dtx
+2024/07/17 | 1408 | macros/latex/contrib/delimset/delimset.ins
+2024/07/17 | 376509 | macros/latex/contrib/delimset/delimset.pdf
+2024/07/17 | 1110 | macros/latex/contrib/delimset/README.txt
+2024/07/17 | 367497 | macros/latex/contrib/delimset.zip
2011/09/15 | 301243 | macros/latex/contrib/delim.zip
2022/09/06 | 377354 | macros/latex/contrib/democodetools/doc/democodetools.pdf
2022/09/06 | 13584 | macros/latex/contrib/democodetools/doc/democodetools.tex
@@ -245909,11 +245909,11 @@
2013/11/26 | 10462 | macros/latex/contrib/pas-cv/latex/pas-cv.sty
2010/10/12 | 5430 | macros/latex/contrib/pas-cv/latex/photo.png
2013/11/27 | 1019283 | macros/latex/contrib/pas-cv.zip
-2024/07/15 | 52267 | macros/latex/contrib/passopt/passopt.pdf
-2024/07/15 | 1844 | macros/latex/contrib/passopt/passopt.sty
-2024/07/15 | 5100 | macros/latex/contrib/passopt/passopt.tex
-2024/07/15 | 673 | macros/latex/contrib/passopt/README.md
-2024/07/15 | 53987 | macros/latex/contrib/passopt.zip
+2024/07/17 | 52494 | macros/latex/contrib/passopt/passopt.pdf
+2024/07/17 | 1845 | macros/latex/contrib/passopt/passopt.sty
+2024/07/17 | 5159 | macros/latex/contrib/passopt/passopt.tex
+2024/07/17 | 674 | macros/latex/contrib/passopt/README.md
+2024/07/17 | 54229 | macros/latex/contrib/passopt.zip
2023/04/16 | 3593 | macros/latex/contrib/pas-tableur/doc/doc.codes.tex
2016/01/31 | 1628 | macros/latex/contrib/pas-tableur/doc/doc.styles.tex
2023/04/16 | 410165 | macros/latex/contrib/pas-tableur/doc/pas-tableur.pdf
@@ -260269,14 +260269,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/07/14 | 165128 | macros/luatex/generic/luamplib/luamplib.dtx
-2024/07/14 | 234171 | macros/luatex/generic/luamplib/luamplib.pdf
-2024/07/14 | 3048 | macros/luatex/generic/luamplib/Makefile
-2024/07/14 | 18779 | macros/luatex/generic/luamplib/NEWS
-2024/07/14 | 2058 | macros/luatex/generic/luamplib/README
-2024/07/14 | 9118 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
-2024/07/14 | 8412 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
-2024/07/14 | 288861 | macros/luatex/generic/luamplib.zip
+2024/07/17 | 169830 | macros/luatex/generic/luamplib/luamplib.dtx
+2024/07/17 | 239222 | macros/luatex/generic/luamplib/luamplib.pdf
+2024/07/17 | 3048 | macros/luatex/generic/luamplib/Makefile
+2024/07/17 | 18956 | macros/luatex/generic/luamplib/NEWS
+2024/07/17 | 2058 | macros/luatex/generic/luamplib/README
+2024/07/17 | 9851 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
+2024/07/17 | 8714 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
+2024/07/17 | 295262 | 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
@@ -261686,10 +261686,10 @@
2023/05/09 | 538 | macros/luatex/latex/sympycalc/README.md
2023/05/09 | 11328 | macros/luatex/latex/sympycalc/tex/SympyCalc.sty
2023/05/12 | 147366 | macros/luatex/latex/sympycalc.zip
-2024/07/12 | 160181 | macros/luatex/latex/tango/doc/tango-en.pdf
-2024/07/12 | 44538 | macros/luatex/latex/tango/doc/tango-en.tex
-2024/07/12 | 170145 | macros/luatex/latex/tango/doc/tango-fr.pdf
-2024/07/12 | 50267 | macros/luatex/latex/tango/doc/tango-fr.tex
+2024/07/16 | 160307 | macros/luatex/latex/tango/doc/tango-en.pdf
+2024/07/16 | 44868 | macros/luatex/latex/tango/doc/tango-en.tex
+2024/07/16 | 169741 | macros/luatex/latex/tango/doc/tango-fr.pdf
+2024/07/16 | 49887 | macros/luatex/latex/tango/doc/tango-fr.tex
2024/07/03 | 1319 | macros/luatex/latex/tango/examples/book-mathematics.tex
2024/07/08 | 1838 | macros/luatex/latex/tango/examples/candide.tex
2024/06/26 | 79441 | macros/luatex/latex/tango/examples/Ch-1-15.tex
@@ -261702,9 +261702,9 @@
2024/06/21 | 11490 | macros/luatex/latex/tango/examples/recurrence.tex
2024/06/26 | 32079 | macros/luatex/latex/tango/examples/rel-bin.tex
2024/07/08 | 7735 | macros/luatex/latex/tango/examples/schoolwork.tex
-2024/07/11 | 59763 | macros/luatex/latex/tango/latex/tango.cls
-2024/07/12 | 1287 | macros/luatex/latex/tango/README
-2024/07/12 | 478901 | macros/luatex/latex/tango.zip
+2024/07/16 | 67030 | macros/luatex/latex/tango/lualatex/tango.cls
+2024/07/17 | 1588 | macros/luatex/latex/tango/README
+2024/07/17 | 479578 | macros/luatex/latex/tango.zip
2023/09/16 | 1131 | macros/luatex/latex/truthtable/README.md
2023/09/16 | 352 | macros/luatex/latex/truthtable/res/exampletableoutput.tex
2023/09/16 | 358 | macros/luatex/latex/truthtable/res/exampletable.tex
@@ -307551,8 +307551,8 @@
2022/09/17 | 40200 | systems/texlive/tlnet/archive/biblatex-philosophy.source.r64414.tar.xz
2020/06/24 | 456536 | systems/texlive/tlnet/archive/biblatex-phys.doc.r55643.tar.xz
2020/06/24 | 3420 | systems/texlive/tlnet/archive/biblatex-phys.r55643.tar.xz
-2024/07/03 | 436888 | systems/texlive/tlnet/archive/biblatex-publist.doc.r71686.tar.xz
-2024/07/03 | 13100 | systems/texlive/tlnet/archive/biblatex-publist.r71686.tar.xz
+2024/07/17 | 438960 | systems/texlive/tlnet/archive/biblatex-publist.doc.r71821.tar.xz
+2024/07/17 | 14332 | systems/texlive/tlnet/archive/biblatex-publist.r71821.tar.xz
2024/03/23 | 256768 | systems/texlive/tlnet/archive/biblatex.r70725.tar.xz
2022/01/10 | 27192 | systems/texlive/tlnet/archive/biblatex-readbbl.doc.r61549.tar.xz
2022/01/10 | 1444 | systems/texlive/tlnet/archive/biblatex-readbbl.r61549.tar.xz
@@ -309196,7 +309196,7 @@
2024/03/11 | 155424 | systems/texlive/tlnet/archive/cweb.amd64-freebsd.r70571.tar.xz
2024/06/06 | 151132 | systems/texlive/tlnet/archive/cweb.amd64-netbsd.r71441.tar.xz
2024/03/12 | 121472 | systems/texlive/tlnet/archive/cweb.armhf-linux.r70588.tar.xz
-2024/05/27 | 77268 | systems/texlive/tlnet/archive/cweb.doc.r71359.tar.xz
+2024/07/17 | 77268 | systems/texlive/tlnet/archive/cweb.doc.r71817.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/06/06 | 120112 | systems/texlive/tlnet/archive/cweb.i386-netbsd.r71441.tar.xz
@@ -309204,7 +309204,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/05/27 | 27084 | systems/texlive/tlnet/archive/cweb.r71359.tar.xz
+2024/07/17 | 27096 | systems/texlive/tlnet/archive/cweb.r71817.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/06/06 | 114388 | systems/texlive/tlnet/archive/cweb.x86_64-cygwin.r71441.tar.xz
@@ -309256,8 +309256,8 @@
2019/02/28 | 230940 | systems/texlive/tlnet/archive/dashrule.doc.r29579.tar.xz
2019/02/28 | 1488 | systems/texlive/tlnet/archive/dashrule.r29579.tar.xz
2019/02/28 | 6080 | systems/texlive/tlnet/archive/dashrule.source.r29579.tar.xz
-2024/03/26 | 60300 | systems/texlive/tlnet/archive/dashrulex.doc.r70762.tar.xz
-2024/03/26 | 1444 | systems/texlive/tlnet/archive/dashrulex.r70762.tar.xz
+2024/07/17 | 58912 | systems/texlive/tlnet/archive/dashrulex.doc.r71818.tar.xz
+2024/07/17 | 1472 | systems/texlive/tlnet/archive/dashrulex.r71818.tar.xz
2021/03/06 | 916556 | systems/texlive/tlnet/archive/dashundergaps.doc.r58150.tar.xz
2021/03/06 | 3512 | systems/texlive/tlnet/archive/dashundergaps.r58150.tar.xz
2021/03/06 | 13284 | systems/texlive/tlnet/archive/dashundergaps.source.r58150.tar.xz
@@ -313812,8 +313812,8 @@
2024/07/15 | 46456 | systems/texlive/tlnet/archive/luaxml.r71803.tar.xz
2023/07/24 | 88120 | systems/texlive/tlnet/archive/lutabulartools.doc.r67714.tar.xz
2023/07/24 | 7492 | systems/texlive/tlnet/archive/lutabulartools.r67714.tar.xz
-2024/07/16 | 868824 | systems/texlive/tlnet/archive/luwiantype.doc.r71814.tar.xz
-2024/07/16 | 194456 | systems/texlive/tlnet/archive/luwiantype.r71814.tar.xz
+2024/07/17 | 868824 | systems/texlive/tlnet/archive/luwiantype.doc.r71820.tar.xz
+2024/07/17 | 194484 | systems/texlive/tlnet/archive/luwiantype.r71820.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/lwarp.aarch64-linux.r46208.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/lwarp.amd64-freebsd.r43292.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/lwarp.amd64-netbsd.r43292.tar.xz
@@ -316354,8 +316354,8 @@
2019/02/28 | 133024 | systems/texlive/tlnet/archive/pst-dbicons.doc.r17556.tar.xz
2019/02/28 | 3332 | systems/texlive/tlnet/archive/pst-dbicons.r17556.tar.xz
2019/02/28 | 10216 | systems/texlive/tlnet/archive/pst-dbicons.source.r17556.tar.xz
-2024/07/12 | 22692408 | systems/texlive/tlnet/archive/pst-diffraction.doc.r71772.tar.xz
-2024/07/12 | 5184 | systems/texlive/tlnet/archive/pst-diffraction.r71772.tar.xz
+2024/07/17 | 22674048 | systems/texlive/tlnet/archive/pst-diffraction.doc.r71819.tar.xz
+2024/07/17 | 5188 | systems/texlive/tlnet/archive/pst-diffraction.r71819.tar.xz
2019/02/28 | 5271200 | systems/texlive/tlnet/archive/pst-electricfield.doc.r29803.tar.xz
2019/02/28 | 3700 | systems/texlive/tlnet/archive/pst-electricfield.r29803.tar.xz
2019/02/28 | 1536 | systems/texlive/tlnet/archive/pst-electricfield.source.r29803.tar.xz
@@ -318449,7 +318449,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2024/07/15 | 436604 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71806.tar.xz
+2024/07/17 | 436592 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71822.tar.xz
2024/07/09 | 908 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r71749.tar.xz
2024/07/09 | 920 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r71749.tar.xz
2024/07/09 | 908 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r71749.tar.xz
@@ -318471,7 +318471,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2024/07/15 | 114388 | systems/texlive/tlnet/archive/texlive-scripts.r71806.tar.xz
+2024/07/17 | 114392 | systems/texlive/tlnet/archive/texlive-scripts.r71822.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2024/05/10 | 60592 | systems/texlive/tlnet/archive/texlive-scripts.windows.r71215.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -320422,16 +320422,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/05/02 | 125808 | systems/texlive/tlnet/install-tl
-2024/07/16 | 5753416 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2024/07/16 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/07/16 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/07/17 | 5749988 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/07/17 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/07/17 | 484 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/04/13 | 5743 | systems/texlive/tlnet/install-tl-windows.bat
-2024/07/16 | 27718097 | systems/texlive/tlnet/install-tl-windows.exe
-2024/07/16 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/07/16 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/07/16 | 34425891 | systems/texlive/tlnet/install-tl.zip
-2024/07/16 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/07/16 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/07/17 | 27718071 | systems/texlive/tlnet/install-tl-windows.exe
+2024/07/17 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/07/17 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/07/17 | 34425891 | systems/texlive/tlnet/install-tl.zip
+2024/07/17 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/07/17 | 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
@@ -320483,12 +320483,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2024/05/02 | 5898 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2024/07/16 | 19527437 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/07/16 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/07/17 | 19528394 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/07/17 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2024/06/22 | 87725 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2024/07/16 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2024/07/16 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/07/16 | 2583716 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/07/17 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/07/17 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/07/17 | 2581868 | 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
@@ -332074,7 +332074,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/07/17 | 186 | timestamp
+2024/07/18 | 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
index 3c4bc77cbc..b5401b1dff 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 26b764385d..3f548dc33d 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,10 +1,60 @@
+2024/07/17 | 9851 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
+2024/07/17 | 8714 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
+2024/07/17 | 868824 | systems/texlive/tlnet/archive/luwiantype.doc.r71820.tar.xz
+2024/07/17 | 77268 | systems/texlive/tlnet/archive/cweb.doc.r71817.tar.xz
+2024/07/17 | 674 | macros/latex/contrib/passopt/README.md
+2024/07/17 | 63728 | macros/latex/contrib/delimset/delimset.dtx
+2024/07/17 | 58912 | systems/texlive/tlnet/archive/dashrulex.doc.r71818.tar.xz
+2024/07/17 | 5749988 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/07/17 | 54229 | macros/latex/contrib/passopt.zip
+2024/07/17 | 52494 | macros/latex/contrib/passopt/passopt.pdf
+2024/07/17 | 5188 | systems/texlive/tlnet/archive/pst-diffraction.r71819.tar.xz
+2024/07/17 | 5159 | macros/latex/contrib/passopt/passopt.tex
+2024/07/17 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/07/17 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/07/17 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/07/17 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/07/17 | 484 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/07/17 | 479578 | macros/luatex/latex/tango.zip
+2024/07/17 | 438960 | systems/texlive/tlnet/archive/biblatex-publist.doc.r71821.tar.xz
+2024/07/17 | 436592 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71822.tar.xz
+2024/07/17 | 4123097 | biblio/ctan-bibdata.zip
+2024/07/17 | 376509 | macros/latex/contrib/delimset/delimset.pdf
+2024/07/17 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/07/17 | 367497 | macros/latex/contrib/delimset.zip
+2024/07/17 | 34425891 | systems/texlive/tlnet/install-tl.zip
+2024/07/17 | 321734 | install/macros/luatex/generic/luamplib.tds.zip
+2024/07/17 | 3048 | macros/luatex/generic/luamplib/Makefile
+2024/07/17 | 295262 | macros/luatex/generic/luamplib.zip
+2024/07/17 | 2876013 | biblio/ctan-bibdata/ctan.bib
+2024/07/17 | 27718071 | systems/texlive/tlnet/install-tl-windows.exe
+2024/07/17 | 27096 | systems/texlive/tlnet/archive/cweb.r71817.tar.xz
+2024/07/17 | 2581868 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/07/17 | 239222 | macros/luatex/generic/luamplib/luamplib.pdf
+2024/07/17 | 22674048 | systems/texlive/tlnet/archive/pst-diffraction.doc.r71819.tar.xz
+2024/07/17 | 2058 | macros/luatex/generic/luamplib/README
+2024/07/17 | 19528394 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/07/17 | 194484 | systems/texlive/tlnet/archive/luwiantype.r71820.tar.xz
+2024/07/17 | 18956 | macros/luatex/generic/luamplib/NEWS
+2024/07/17 | 1845 | macros/latex/contrib/passopt/passopt.sty
+2024/07/17 | 169830 | macros/luatex/generic/luamplib/luamplib.dtx
+2024/07/17 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/07/17 | 1588 | macros/luatex/latex/tango/README
+2024/07/17 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/07/17 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/07/17 | 1472 | systems/texlive/tlnet/archive/dashrulex.r71818.tar.xz
+2024/07/17 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/07/17 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/07/17 | 14332 | systems/texlive/tlnet/archive/biblatex-publist.r71821.tar.xz
+2024/07/17 | 1408 | macros/latex/contrib/delimset/delimset.ins
+2024/07/17 | 114392 | systems/texlive/tlnet/archive/texlive-scripts.r71822.tar.xz
+2024/07/17 | 1110 | macros/latex/contrib/delimset/README.txt
2024/07/16 | 999 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
2024/07/16 | 97420 | systems/texlive/tlnet/archive/spbmark.doc.r71812.tar.xz
2024/07/16 | 9738 | macros/latex/contrib/tkz/tkz-elements/README.md
2024/07/16 | 9660 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
2024/07/16 | 9477 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
2024/07/16 | 929792 | systems/texlive/tlnet/archive/moremath.doc.r71810.tar.xz
-2024/07/16 | 868824 | systems/texlive/tlnet/archive/luwiantype.doc.r71814.tar.xz
2024/07/16 | 817269 | macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
2024/07/16 | 8170 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
2024/07/16 | 7645 | macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex
@@ -12,6 +62,7 @@
2024/07/16 | 701 | macros/latex/contrib/dashrulex/README.md
2024/07/16 | 691676 | systems/texlive/tlnet/archive/polyglossia.doc.r71813.tar.xz
2024/07/16 | 6829 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
+2024/07/16 | 67030 | macros/luatex/latex/tango/lualatex/tango.cls
2024/07/16 | 66033 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
2024/07/16 | 653564 | systems/texlive/tlnet/archive/easybook.doc.r71808.tar.xz
2024/07/16 | 6408 | systems/texlive/tlnet/archive/moremath.r71810.tar.xz
@@ -21,34 +72,24 @@
2024/07/16 | 5895 | macros/latex/contrib/dashrulex/dashrulex.tex
2024/07/16 | 57746 | macros/latex/contrib/dashrulex/dashrulex.pdf
2024/07/16 | 57697 | macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
-2024/07/16 | 5753416 | systems/texlive/tlnet/install-tl-unx.tar.gz
2024/07/16 | 53288 | systems/texlive/tlnet/archive/passopt.doc.r71811.tar.xz
2024/07/16 | 5098 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
+2024/07/16 | 49887 | macros/luatex/latex/tango/doc/tango-fr.tex
2024/07/16 | 4931 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
-2024/07/16 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/07/16 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/07/16 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2024/07/16 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/07/16 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/07/16 | 469094 | macros/latex/contrib/biblatex-contrib/biblatex-publist.zip
2024/07/16 | 4596 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
+2024/07/16 | 44868 | macros/luatex/latex/tango/doc/tango-en.tex
2024/07/16 | 4260 | systems/texlive/tlnet/archive/spbmark.r71812.tar.xz
2024/07/16 | 419434 | macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
2024/07/16 | 4156 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
-2024/07/16 | 4123096 | biblio/ctan-bibdata.zip
2024/07/16 | 3899 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
2024/07/16 | 38934 | macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
-2024/07/16 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2024/07/16 | 3541 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
-2024/07/16 | 34425891 | systems/texlive/tlnet/install-tl.zip
2024/07/16 | 3227 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
2024/07/16 | 29172 | systems/texlive/tlnet/archive/moremath.source.r71810.tar.xz
-2024/07/16 | 2876014 | biblio/ctan-bibdata/ctan.bib
-2024/07/16 | 27718097 | systems/texlive/tlnet/install-tl-windows.exe
2024/07/16 | 26268 | systems/texlive/tlnet/archive/heria.source.r71809.tar.xz
2024/07/16 | 2623 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx
2024/07/16 | 2594 | macros/latex/contrib/dashrulex/dashrulex.sty
-2024/07/16 | 2583716 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2024/07/16 | 2529 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
2024/07/16 | 24950 | macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
2024/07/16 | 2328 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
@@ -65,21 +106,16 @@
2024/07/16 | 21021 | macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
2024/07/16 | 2060 | systems/texlive/tlnet/archive/collection-fontsextra.r71814.tar.xz
2024/07/16 | 2032 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
-2024/07/16 | 19527437 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/07/16 | 194456 | systems/texlive/tlnet/archive/luwiantype.r71814.tar.xz
2024/07/16 | 18780 | systems/texlive/tlnet/archive/easybook.r71808.tar.xz
2024/07/16 | 18676 | systems/texlive/tlnet/archive/easybook.source.r71808.tar.xz
2024/07/16 | 1827 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
2024/07/16 | 18120 | systems/texlive/tlnet/archive/heria.r71809.tar.xz
2024/07/16 | 1764 | systems/texlive/tlnet/archive/collection-mathscience.r71810.tar.xz
2024/07/16 | 169948 | systems/texlive/tlnet/archive/polyglossia.source.r71813.tar.xz
-2024/07/16 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/07/16 | 169741 | macros/luatex/latex/tango/doc/tango-fr.pdf
+2024/07/16 | 160307 | macros/luatex/latex/tango/doc/tango-en.pdf
2024/07/16 | 1572 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
-2024/07/16 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/07/16 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2024/07/16 | 14735 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
-2024/07/16 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/07/16 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2024/07/16 | 13319 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
2024/07/16 | 1307 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
2024/07/16 | 128855 | macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
@@ -111,21 +147,16 @@
2024/07/15 | 737 | graphics/pstricks/contrib/pst-diffraction/Changes
2024/07/15 | 7338 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/07/15 | 676296 | macros/latex/contrib/easybook.zip
-2024/07/15 | 673 | macros/latex/contrib/passopt/README.md
2024/07/15 | 662692 | install/macros/latex/contrib/heria.tds.zip
2024/07/15 | 66224 | systems/texlive/tlnet/archive/markdown.r71798.tar.xz
2024/07/15 | 648 | macros/latex/contrib/moremath/MANIFEST.md
2024/07/15 | 628167 | macros/latex/contrib/heria.zip
2024/07/15 | 625940 | macros/latex/contrib/easybook/easybook.pdf
2024/07/15 | 614361 | macros/unicodetex/latex/polyglossia.zip
-2024/07/15 | 53987 | macros/latex/contrib/passopt.zip
2024/07/15 | 522 | graphics/pstricks/contrib/pst-diffraction/latex/pst-diffraction.sty
-2024/07/15 | 52267 | macros/latex/contrib/passopt/passopt.pdf
-2024/07/15 | 5100 | macros/latex/contrib/passopt/passopt.tex
2024/07/15 | 46456 | systems/texlive/tlnet/archive/luaxml.r71803.tar.xz
2024/07/15 | 4548 | graphics/pstricks/contrib/pst-diffraction/doc/pst-diffraction-doc.bib
2024/07/15 | 4397 | fonts/luwiantype/Fonts/OFL.txt
-2024/07/15 | 436604 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71806.tar.xz
2024/07/15 | 4316 | systems/texlive/tlnet/archive/responsive.r71800.tar.xz
2024/07/15 | 42752 | systems/texlive/tlnet/archive/luamplib.source.r71801.tar.xz
2024/07/15 | 3869 | macros/latex/contrib/heria/heria.ins
@@ -145,7 +176,6 @@
2024/07/15 | 1963 | macros/unicodetex/latex/polyglossia/README.md
2024/07/15 | 191468 | systems/texlive/tlnet/archive/luatexja.r71802.tar.xz
2024/07/15 | 19102 | fonts/luwiantype/lppl1-3c.txt
-2024/07/15 | 1844 | macros/latex/contrib/passopt/passopt.sty
2024/07/15 | 1804 | macros/latex/contrib/moremath/moremath.ins
2024/07/15 | 18047 | CTAN.sites
2024/07/15 | 17575 | graphics/pstricks/contrib/pst-diffraction/tex/pst-diffraction.tex
@@ -163,7 +193,6 @@
2024/07/15 | 1286844 | systems/texlive/tlnet/archive/markdown.doc.r71798.tar.xz
2024/07/15 | 126315 | fonts/luwiantype/Documentation/luwiantype-doc.pdf
2024/07/15 | 1219308 | install/macros/unicodetex/latex/polyglossia.tds.zip
-2024/07/15 | 114388 | systems/texlive/tlnet/archive/texlive-scripts.r71806.tar.xz
2024/07/15 | 1068616 | macros/unicodetex/latex/polyglossia/polyglossia.dtx
2024/07/15 | 104488 | macros/latex/contrib/easybook/easybook.tex
2024/07/15 | 101853 | macros/latex/contrib/heria/heria.dtx
@@ -175,7 +204,6 @@
2024/07/14 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
2024/07/14 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
2024/07/14 | 92984 | macros/latex/contrib/spbmark/spbmark.pdf
-2024/07/14 | 9118 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
2024/07/14 | 9005 | support/latexindent/LatexIndent/FileExtension.pm
2024/07/14 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
2024/07/14 | 8893 | support/latexindent/LatexIndent/IfElseFi.pm
@@ -184,7 +212,6 @@
2024/07/14 | 86877 | macros/latex/contrib/responsive.zip
2024/07/14 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
2024/07/14 | 843 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
-2024/07/14 | 8412 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
2024/07/14 | 838 | support/latexindent/LatexIndent/Version.pm
2024/07/14 | 8346 | support/latexindent/LatexIndent/Environment.pm
2024/07/14 | 8267 | macros/latex/contrib/cjs-rcs-article/README.md
@@ -285,12 +312,9 @@
2024/07/14 | 32227 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
2024/07/14 | 31 | macros/generic/markdown/VERSION
2024/07/14 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
-2024/07/14 | 314387 | install/macros/luatex/generic/luamplib.tds.zip
2024/07/14 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
-2024/07/14 | 3048 | macros/luatex/generic/luamplib/Makefile
2024/07/14 | 29891 | macros/luatex/generic/luatexja/src/luatexja-core.sty
2024/07/14 | 29740 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
-2024/07/14 | 288861 | macros/luatex/generic/luamplib.zip
2024/07/14 | 281 | macros/generic/markdown/DEPENDS.txt
2024/07/14 | 27422 | support/latexindent/LatexIndent/Verbatim.pm
2024/07/14 | 2733 | support/latexindent/LatexIndent/Preamble.pm
@@ -304,7 +328,6 @@
2024/07/14 | 24449 | support/latexindent/LatexIndent/Arguments.pm
2024/07/14 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
2024/07/14 | 236262 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
-2024/07/14 | 234171 | macros/luatex/generic/luamplib/luamplib.pdf
2024/07/14 | 2340 | macros/luatex/generic/luatexja/src/jfm-jis.lua
2024/07/14 | 2331 | support/latexindent/LatexIndent/Logger.pm
2024/07/14 | 22949 | macros/generic/markdown/README.md
@@ -325,7 +348,6 @@
2024/07/14 | 208347 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
2024/07/14 | 20712 | macros/luatex/generic/luaxml/luaxml-mod-xml.lua
2024/07/14 | 2066 | macros/generic/markdown/examples/latex-pdftex.tex
-2024/07/14 | 2058 | macros/luatex/generic/luamplib/README
2024/07/14 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
2024/07/14 | 20543 | macros/latex/contrib/spbmark/spbmark.tex
2024/07/14 | 2037 | macros/generic/markdown/examples/latex-luatex.tex
@@ -342,7 +364,6 @@
2024/07/14 | 19005 | macros/latex/contrib/responsive/responsive-doc.tex
2024/07/14 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
2024/07/14 | 189539 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
-2024/07/14 | 18779 | macros/luatex/generic/luamplib/NEWS
2024/07/14 | 1873 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.ins
2024/07/14 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
2024/07/14 | 186583 | macros/luatex/generic/luaxml.zip
@@ -358,7 +379,6 @@
2024/07/14 | 16546 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
2024/07/14 | 16546 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
2024/07/14 | 16533 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
-2024/07/14 | 165128 | macros/luatex/generic/luamplib/luamplib.dtx
2024/07/14 | 1612602 | install/macros/generic/markdown.tds.zip
2024/07/14 | 1611 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
2024/07/14 | 15761 | macros/luatex/generic/luaxml/luaxml-cssquery.lua
@@ -466,15 +486,11 @@
2024/07/12 | 52685 | dviware/dvidvi/aclocal.m4
2024/07/12 | 52648 | fonts/utilities/ps2pk/aclocal.m4
2024/07/12 | 52637 | dviware/dviljk/Makefile.in
-2024/07/12 | 5184 | systems/texlive/tlnet/archive/pst-diffraction.r71772.tar.xz
2024/07/12 | 50417 | graphics/tpic2pdftex/aclocal.m4
2024/07/12 | 50380 | support/lacheck/aclocal.m4
-2024/07/12 | 50267 | macros/luatex/latex/tango/doc/tango-fr.tex
2024/07/12 | 49695 | indexing/makeindexk/Makefile.in
-2024/07/12 | 478901 | macros/luatex/latex/tango.zip
2024/07/12 | 45170 | dviware/dvidvi/Makefile.in
2024/07/12 | 44701 | support/epstopdf.zip
-2024/07/12 | 44538 | macros/luatex/latex/tango/doc/tango-en.tex
2024/07/12 | 43292 | support/lacheck/Makefile.in
2024/07/12 | 3910 | fonts/simpleicons/enc/simpleiconsfive.enc
2024/07/12 | 3904 | fonts/simpleicons/enc/simpleiconsone.enc
@@ -514,7 +530,6 @@
2024/07/12 | 25348 | systems/texlive/tlnet/archive/pst-node.r71773.tar.xz
2024/07/12 | 2462528 | fonts/simpleicons/opentype/SimpleIcons.otf
2024/07/12 | 2275600 | fonts/simpleicons/type1/SimpleIcons.pfb
-2024/07/12 | 22692408 | systems/texlive/tlnet/archive/pst-diffraction.doc.r71772.tar.xz
2024/07/12 | 21294 | info/kaytannollista-latexia/luku-erikoiset.tex
2024/07/12 | 20689 | info/kaytannollista-latexia/luku-valmistautuminen.tex
2024/07/12 | 20663 | dviware/dviljk/win32/Makefile.in
@@ -523,13 +538,10 @@
2024/07/12 | 180557 | fonts/simpleicons/doc/bindings.tex
2024/07/12 | 179082 | graphics/tpic2pdftex/configure.texk
2024/07/12 | 1743 | fonts/simpleicons/tex/simpleicons.sty
-2024/07/12 | 170145 | macros/luatex/latex/tango/doc/tango-fr.pdf
-2024/07/12 | 160181 | macros/luatex/latex/tango/doc/tango-en.pdf
2024/07/12 | 15041 | info/kaytannollista-latexia/kaytannollista-latexia.tex
2024/07/12 | 1476 | fonts/simpleicons/map/simpleicons.map
2024/07/12 | 14728 | systems/texlive/tlnet/archive/dtk.r71776.tar.xz
2024/07/12 | 137843 | info/kaytannollista-latexia/luku-asetukset.tex
-2024/07/12 | 1287 | macros/luatex/latex/tango/README
2024/07/12 | 12703 | info/kaytannollista-latexia/tavutusvihjeet.tex
2024/07/12 | 1236 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsnine.tfm
2024/07/12 | 12366 | info/kaytannollista-latexia/luku-muuta.tex
@@ -555,7 +567,6 @@
2024/07/11 | 7279 | support/epstopdf/epstopdf.1
2024/07/11 | 618732 | macros/latex/contrib/overarrows.zip
2024/07/11 | 597885 | macros/latex/contrib/overarrows/overarrows.pdf
-2024/07/11 | 59763 | macros/luatex/latex/tango/latex/tango.cls
2024/07/11 | 585632 | graphics/pstricks/contrib/pst-node/doc/pst-node-doc.pdf
2024/07/11 | 54073300 | systems/texlive/tlnet/archive/knuth-pdf.doc.r71762.tar.xz
2024/07/11 | 4746256 | systems/texlive/tlnet/archive/tcolorbox.doc.r71769.tar.xz
@@ -580,201 +591,3 @@
2024/07/11 | 142474 | macros/latex/contrib/overarrows/overarrows.dtx
2024/07/11 | 1152 | systems/texlive/tlnet/archive/chemformula-ru.r71764.tar.xz
2024/07/11 | 101176 | graphics/pstricks/contrib/pst-node/doc/pst-node-doc.tex
-2024/07/10 | 9998 | macros/latex/contrib/moderncv/moderncvheadii.sty
-2024/07/10 | 9996 | macros/latex/contrib/moderncv/moderncvheadi.sty
-2024/07/10 | 9824 | macros/latex/contrib/moderncv/moderncvheadiv.sty
-2024/07/10 | 981 | macros/latex/contrib/tcolorbox/tcbxparse.code.tex
-2024/07/10 | 949 | macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex
-2024/07/10 | 9377 | macros/latex/contrib/moderncv/moderncvheadiii.sty
-2024/07/10 | 9373 | macros/latex/contrib/tcolorbox/tcbraster.code.tex
-2024/07/10 | 928 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
-2024/07/10 | 9105 | macros/latex/contrib/tcolorbox/tcbexternal.code.tex
-2024/07/10 | 8994 | macros/latex/contrib/moderncv/moderncvbodyvi.sty
-2024/07/10 | 8856 | macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
-2024/07/10 | 882 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
-2024/07/10 | 88128 | systems/texlive/tlnet/archive/pstricks.r71752.tar.xz
-2024/07/10 | 87608 | systems/texlive/tlnet/archive/typog.source.r71756.tar.xz
-2024/07/10 | 8741 | macros/latex/contrib/moderncv/moderncvbodyi.sty
-2024/07/10 | 872943 | macros/latex/contrib/hyperref/hyperref.dtx
-2024/07/10 | 8695 | macros/latex/contrib/moderncv/moderncvheadvi.sty
-2024/07/10 | 8578 | macros/latex/contrib/moderncv/moderncvheadv.sty
-2024/07/10 | 854 | macros/latex/contrib/hyperref/doc/hyperref-doc7.html
-2024/07/10 | 83599 | macros/latex/contrib/tcolorbox/tcbskins.code.tex
-2024/07/10 | 8356 | macros/latex/contrib/tcolorbox/tcolorbox-example.tex
-2024/07/10 | 8262 | macros/latex/contrib/moderncv/moderncvbodyiv.sty
-2024/07/10 | 823 | macros/latex/contrib/moderncv/publications.bib
-2024/07/10 | 80230 | usergrps/dante/dtk/doc/beispiel.pdf
-2024/07/10 | 7977 | macros/latex/contrib/tcolorbox/tcolorbox.doc.graphics.tex
-2024/07/10 | 795 | macros/latex/contrib/hyperref/doc/hyperref-doc9.html
-2024/07/10 | 795 | macros/latex/contrib/hyperref/doc/hyperref-doc8.html
-2024/07/10 | 795 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
-2024/07/10 | 793 | macros/latex/contrib/hyperref/doc/hyperref-doc6.html
-2024/07/10 | 76829 | macros/latex/contrib/tcolorbox/goldshade.png
-2024/07/10 | 7536 | macros/latex/contrib/hyperref/hyperref-patches.dtx
-2024/07/10 | 7531972 | systems/texlive/tlnet/archive/pstricks.doc.r71752.tar.xz
-2024/07/10 | 73364 | macros/latex/contrib/tcolorbox/CHANGES.md
-2024/07/10 | 7325 | macros/latex/contrib/moderncv/moderncvfooti.sty
-2024/07/10 | 71120 | graphics/pstricks/contrib/pst-node/tex/pst-node.tex
-2024/07/10 | 7098 | fonts/xcharter-math/xcharter-otf.sty
-2024/07/10 | 6916 | macros/latex/contrib/moderncv/moderncviconsawesome.sty
-2024/07/10 | 69151 | macros/latex/contrib/moderncv/moderncvskillmatrix.sty
-2024/07/10 | 6684 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_snippet.sty
-2024/07/10 | 6684 | macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
-2024/07/10 | 6424 | macros/latex/contrib/tcolorbox/tcolorbox.doc.beamer.tex
-2024/07/10 | 64217 | macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
-2024/07/10 | 6386 | macros/latex/contrib/tcolorbox/tcolorbox.doc.recording.tex
-2024/07/10 | 62882 | macros/latex/contrib/tcolorbox/blueshade.png
-2024/07/10 | 625700 | systems/texlive/tlnet/archive/lie-hasse.doc.r71751.tar.xz
-2024/07/10 | 60307 | macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
-2024/07/10 | 601304 | systems/texlive/tlnet/archive/jnuexam.doc.r71753.tar.xz
-2024/07/10 | 5990 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
-2024/07/10 | 59416 | macros/latex/contrib/moderncv/picture.eps
-2024/07/10 | 5859966 | install/macros/latex/contrib/tcolorbox.tds.zip
-2024/07/10 | 5859747 | macros/latex/contrib/tcolorbox.zip
-2024/07/10 | 5636 | macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
-2024/07/10 | 5577 | macros/latex/contrib/tcolorbox/tcolorbox.doc.quickref.tex
-2024/07/10 | 55672 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
-2024/07/10 | 55345118 | info/knuth-pdf.zip
-2024/07/10 | 54960646 | info/knuth-hint.zip
-2024/07/10 | 5459 | macros/latex/contrib/tcolorbox/tcolorbox.doc.abstract.tex
-2024/07/10 | 5164 | systems/texlive/tlnet/archive/jnuexam.r71753.tar.xz
-2024/07/10 | 5110 | macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
-2024/07/10 | 509813 | macros/latex/contrib/hyperref/doc/hyperref-doc.html
-2024/07/10 | 5076 | macros/latex/contrib/hyperref/hyperref.ins
-2024/07/10 | 50512 | macros/latex/contrib/hyperref/hluatex.dtx
-2024/07/10 | 5048 | macros/latex/contrib/tcolorbox/README.md
-2024/07/10 | 5031 | macros/latex/contrib/tcolorbox/tcolorbox.doc.verbatim.tex
-2024/07/10 | 4973 | fonts/xcharter-math/README.md
-2024/07/10 | 4856594 | macros/latex/contrib/tcolorbox/tcolorbox.pdf
-2024/07/10 | 4767274 | install/macros/latex/contrib/hyperref.tds.zip
-2024/07/10 | 47642 | macros/latex/contrib/moderncv/manual/moderncv_userguide.tex
-2024/07/10 | 4640 | usergrps/dante/dtk/dtk-url.sty
-2024/07/10 | 4586381 | macros/latex/contrib/hyperref.zip
-2024/07/10 | 4486 | macros/latex/contrib/moderncv/moderncvcompatibility.sty
-2024/07/10 | 4479 | macros/latex/contrib/hyperref/README.md
-2024/07/10 | 44098 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
-2024/07/10 | 4407 | macros/latex/contrib/moderncv/moderncvstylebanking.sty
-2024/07/10 | 438491 | macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf
-2024/07/10 | 42287 | macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
-2024/07/10 | 40185 | macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
-2024/07/10 | 3906 | macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty
-2024/07/10 | 384001 | macros/latex/contrib/hyperref/doc/slides.pdf
-2024/07/10 | 38355 | macros/latex/contrib/moderncv/moderncv.cls
-2024/07/10 | 3737 | macros/latex/contrib/moderncv/moderncviconsletters.sty
-2024/07/10 | 3694 | macros/latex/contrib/moderncv/moderncvstylecasual.sty
-2024/07/10 | 3662 | macros/latex/contrib/chemformula-ru/chemformula-ru.tex
-2024/07/10 | 3652 | macros/latex/contrib/tcolorbox/tcolorbox.tex
-2024/07/10 | 3634 | macros/latex/contrib/moderncv/moderncvstyleclassic.sty
-2024/07/10 | 363276 | fonts/xcharter-math/XCharter-Math.otf
-2024/07/10 | 3575 | macros/latex/contrib/moderncv/moderncvcollection.sty
-2024/07/10 | 35224 | macros/latex/contrib/tcolorbox/lichtspiel.jpg
-2024/07/10 | 34681 | macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
-2024/07/10 | 3414 | macros/latex/contrib/tcolorbox/tcblistings.code.tex
-2024/07/10 | 3403 | macros/latex/contrib/tcolorbox/tcbminted.code.tex
-2024/07/10 | 3288 | macros/latex/contrib/moderncv/moderncvstylefancy.sty
-2024/07/10 | 32786 | macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex
-2024/07/10 | 32771 | macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
-2024/07/10 | 3250 | macros/latex/contrib/moderncv/moderncviconsacademic.sty
-2024/07/10 | 318416 | macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
-2024/07/10 | 3161 | macros/latex/contrib/hyperref/bmhydoc.sty
-2024/07/10 | 303974 | macros/latex/contrib/hyperref/doc/xr-hyper.pdf
-2024/07/10 | 3035 | usergrps/dante/dtk/doc/beispiel.tex
-2024/07/10 | 3012 | macros/latex/contrib/moderncv/moderncvverticaltimeline.sty
-2024/07/10 | 2988 | macros/latex/contrib/moderncv/moderncvstyleempty.sty
-2024/07/10 | 29389 | macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex
-2024/07/10 | 28903 | macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
-2024/07/10 | 287734 | macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
-2024/07/10 | 28654 | macros/latex/contrib/hyperref/backref.dtx
-2024/07/10 | 284 | macros/latex/contrib/hyperref/ntheorem-hyper.sty
-2024/07/10 | 28435 | macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
-2024/07/10 | 2824 | systems/texlive/tlnet/archive/synthslant.r71755.tar.xz
-2024/07/10 | 280 | macros/latex/contrib/hyperref/minitoc-hyper.sty
-2024/07/10 | 27870 | macros/latex/contrib/moderncv/moderncviconstikz.sty
-2024/07/10 | 275408 | macros/latex/contrib/moderncv.zip
-2024/07/10 | 27415 | fonts/xcharter-math/XCharter-Math.ltx
-2024/07/10 | 2596 | macros/latex/contrib/moderncv/moderncvstylecontemporary.sty
-2024/07/10 | 25659 | macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
-2024/07/10 | 25559 | macros/latex/contrib/tcolorbox/tcolorbox.doc.poster.tex
-2024/07/10 | 24774 | macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
-2024/07/10 | 247127 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
-2024/07/10 | 24711 | macros/latex/contrib/hyperref/nameref.dtx
-2024/07/10 | 247116 | macros/latex/contrib/hyperref/paperslides99.zip
-2024/07/10 | 2468 | macros/latex/contrib/moderncv/README.md
-2024/07/10 | 2349 | macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
-2024/07/10 | 2341312 | macros/latex/contrib/hyperref/doc/hyperref.pdf
-2024/07/10 | 2325017 | fonts/xcharter-math.zip
-2024/07/10 | 23045 | macros/latex/contrib/moderncv/CHANGELOG
-2024/07/10 | 229972 | systems/texlive/tlnet/archive/randexam.doc.r71754.tar.xz
-2024/07/10 | 22407 | macros/latex/contrib/tcolorbox/Basilica_5.png
-2024/07/10 | 22094 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
-2024/07/10 | 21663 | macros/latex/contrib/tcolorbox/crinklepaper.png
-2024/07/10 | 2077 | macros/latex/contrib/moderncv/moderncvdebugtools.sty
-2024/07/10 | 206469 | macros/latex/contrib/hyperref/doc/backref.pdf
-2024/07/10 | 206035 | fonts/xcharter-math/XCharter-Math.pdf
-2024/07/10 | 20273 | macros/latex/contrib/tcolorbox/tcolorbox.doc.magazine.tex
-2024/07/10 | 2019 | macros/latex/contrib/moderncv/tweaklist.sty
-2024/07/10 | 1945644 | systems/texlive/tlnet/archive/typog.doc.r71756.tar.xz
-2024/07/10 | 19445 | macros/latex/contrib/hyperref/hyperref-linktarget.dtx
-2024/07/10 | 1929 | macros/latex/contrib/hyperref/manifest.txt
-2024/07/10 | 19039 | macros/latex/contrib/moderncv/LICENSE.txt
-2024/07/10 | 18695 | macros/latex/contrib/moderncv/template.tex
-2024/07/10 | 183503 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
-2024/07/10 | 18293 | macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex
-2024/07/10 | 1825149 | fonts/xcharter-math/unimath-xcharter.pdf
-2024/07/10 | 17509 | usergrps/dante/dtk/dtk.cls
-2024/07/10 | 172475 | macros/latex/contrib/hyperref/doc/nameref.pdf
-2024/07/10 | 171887 | macros/latex/contrib/hyperref/doc/hyperref-doc.tex
-2024/07/10 | 17164 | macros/latex/contrib/tcolorbox/tcbfitting.code.tex
-2024/07/10 | 17127 | fonts/xcharter-math/unimath-xcharter.ltx
-2024/07/10 | 167985 | macros/latex/contrib/chemformula-ru/chemformula-ru.pdf
-2024/07/10 | 1645 | macros/latex/contrib/moderncv/picture.jpg
-2024/07/10 | 16147 | macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
-2024/07/10 | 159780 | systems/texlive/tlnet/archive/synthslant.source.r71755.tar.xz
-2024/07/10 | 159009 | macros/latex/contrib/chemformula-ru.zip
-2024/07/10 | 15717 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
-2024/07/10 | 1552 | macros/latex/contrib/moderncv/moderncviconsmarvosym.sty
-2024/07/10 | 1516 | macros/latex/contrib/moderncv/commons/colors.tex
-2024/07/10 | 15166 | macros/latex/contrib/tcolorbox/pink_marble.png
-2024/07/10 | 148 | macros/latex/contrib/tcolorbox/tcolorbox.doc.references.tex
-2024/07/10 | 1477 | info/knuth-pdf/README.md
-2024/07/10 | 14776 | systems/texlive/tlnet/archive/typog.r71756.tar.xz
-2024/07/10 | 145720 | fonts/xcharter-math/XCharter-Math-Bold.otf
-2024/07/10 | 1414 | macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
-2024/07/10 | 1408 | info/knuth-hint/README.md
-2024/07/10 | 137729 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
-2024/07/10 | 13746 | macros/latex/contrib/moderncv/signature.png
-2024/07/10 | 1341 | macros/latex/contrib/moderncv/KNOWN_BUGS
-2024/07/10 | 13405 | macros/latex/contrib/tcolorbox/tcolorbox.doc.sidebyside.tex
-2024/07/10 | 132446 | macros/latex/contrib/hyperref/doc/paper.pdf
-2024/07/10 | 13125 | macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
-2024/07/10 | 128332 | macros/latex/contrib/hyperref/ChangeLog.txt
-2024/07/10 | 12747 | macros/latex/contrib/tcolorbox/tcbvignette.code.tex
-2024/07/10 | 1268 | macros/latex/contrib/chemformula-ru/chemformula-ru.sty
-2024/07/10 | 12459 | macros/latex/contrib/tcolorbox/tcbposter.code.tex
-2024/07/10 | 12385 | macros/latex/contrib/hyperref/xr-hyper.dtx
-2024/07/10 | 123424 | macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf
-2024/07/10 | 1220 | macros/latex/contrib/moderncv/moderncvcolorcerulean.sty
-2024/07/10 | 11892 | systems/texlive/tlnet/archive/randexam.r71754.tar.xz
-2024/07/10 | 11866 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
-2024/07/10 | 11609 | macros/latex/contrib/moderncv/moderncvbodyiii.sty
-2024/07/10 | 1146516 | systems/texlive/tlnet/archive/synthslant.doc.r71755.tar.xz
-2024/07/10 | 112 | macros/latex/contrib/tcolorbox/tcolorbox.doc.index.tex
-2024/07/10 | 112427 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
-2024/07/10 | 1106 | macros/latex/contrib/tcolorbox/tcolorbox.doc.picturecredits.tex
-2024/07/10 | 1103 | macros/latex/contrib/moderncv/moderncviconssymbols.sty
-2024/07/10 | 10938 | macros/latex/contrib/moderncv/moderncvheadvii.sty
-2024/07/10 | 10772 | systems/texlive/tlnet/archive/lie-hasse.r71751.tar.xz
-2024/07/10 | 10681 | macros/latex/contrib/moderncv/moderncvbodyv.sty
-2024/07/10 | 1065 | macros/latex/contrib/moderncv/moderncvcolorburgundy.sty
-2024/07/10 | 1053 | macros/latex/contrib/moderncv/moderncvcolorpurple.sty
-2024/07/10 | 1053 | macros/latex/contrib/moderncv/moderncvcolororange.sty
-2024/07/10 | 1052 | macros/latex/contrib/moderncv/moderncvcolorblue.sty
-2024/07/10 | 1050 | macros/latex/contrib/moderncv/moderncvcolorgrey.sty
-2024/07/10 | 105083 | macros/latex/contrib/tcolorbox/tcolorbox.sty
-2024/07/10 | 1047 | macros/latex/contrib/moderncv/moderncvcolorgreen.sty
-2024/07/10 | 1040 | macros/latex/contrib/moderncv/moderncvcolorblack.sty
-2024/07/10 | 10373 | macros/latex/contrib/tcolorbox/tcbhooks.code.tex
-2024/07/10 | 1035 | macros/latex/contrib/moderncv/moderncvcolorred.sty
-2024/07/10 | 1030 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
-2024/07/10 | 103072 | usergrps/dante/dtk.zip
-2024/07/10 | 10040 | macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index b8f512fd9b..1cc8f14472 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 17-07-2024, 02:00:03
+%% created at 18-07-2024, 02:00:04
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -18547,8 +18547,8 @@
title = {The \texttt{delimset} package},
subtitle = {Typeset and declare sets of delimiters with convenient size control},
author = {Niklas Beisert},
- date = {2018-12-30},
- version = {1.1},
+ date = {2024-07-17},
+ version = {2.0},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/delimset},
url = {https://ctan.org/pkg/delimset},
@@ -42678,8 +42678,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-07-14},
- version = {2.33.1},
+ date = {2024-07-17},
+ version = {2.34.0},
license = {gpl2},
mirror = {https://mirror.ctan.org/macros/luatex/generic/luamplib},
url = {https://ctan.org/pkg/luamplib},
@@ -52450,8 +52450,8 @@
title = {The \texttt{passopt} package},
subtitle = {Passing options to packages or classes},
author = {Qu Yi},
- date = {2024-07-15},
- version = {1.01},
+ date = {2024-07-17},
+ version = {1.01a},
license = {cc-by-4},
mirror = {https://mirror.ctan.org/macros/latex/contrib/passopt},
url = {https://ctan.org/pkg/passopt},
@@ -67888,8 +67888,8 @@
title = {The \texttt{tango} package},
subtitle = {A \LaTeX{} document class for math teachers},
author = {Michel Bovani},
- date = {2024-07-12},
- version = {0.7.2},
+ date = {2024-07-17},
+ version = {0.8.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/luatex/latex/tango},
url = {https://ctan.org/pkg/tango},
diff --git a/macros/latex/contrib/delimset/README.txt b/macros/latex/contrib/delimset/README.txt
index 729b73fbbf..9094d59624 100644
--- a/macros/latex/contrib/delimset/README.txt
+++ b/macros/latex/contrib/delimset/README.txt
@@ -1,5 +1,5 @@
-delimset v1.1
-Copyright 2016-2018 Niklas Beisert
+delimset v2.0
+Copyright 2016-2024 Niklas Beisert
delimset is a LaTeX2e package to typeset and declare sets of delimiters
in math mode whose size can be adjusted conveniently.
diff --git a/macros/latex/contrib/delimset/delimset.dtx b/macros/latex/contrib/delimset/delimset.dtx
index 9bd070b5ea..337f1a4271 100644
--- a/macros/latex/contrib/delimset/delimset.dtx
+++ b/macros/latex/contrib/delimset/delimset.dtx
@@ -1,6 +1,6 @@
% \iffalse
%
-% delimset.dtx Copyright (C) 2016-2018 Niklas Beisert
+% delimset.dtx Copyright (C) 2016-2024 Niklas Beisert
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -18,15 +18,15 @@
% and the derived files delimset.sty and dlmssamp.tex
%
%<package|sample>\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-%<package>\ProvidesPackage{delimset}[2018/12/30 v1.1 convenient size control for delimiter sets]
-%<sample>\ProvidesFile{dlmssamp.tex}[2018/12/30 v1.1 sample for delimset]
+%<package>\ProvidesPackage{delimset}[2024/07/17 v2.0 convenient size control for delimiter sets]
+%<sample>\ProvidesFile{dlmssamp.tex}[2024/07/17 v2.0 sample for delimset]
%<*driver>
-%\ProvidesFile{delimset.drv}[2018/12/30 v1.1 delimset Reference Manual file]
+%\ProvidesFile{delimset.drv}[2024/07/17 v2.0 delimset Reference Manual file]
\PassOptionsToClass{10pt,a4paper}{article}
\documentclass{ltxdoc}
\usepackage[margin=35mm]{geometry}
-\usepackage{hyperref}
+\usepackage[hyperindex=false]{hyperref}
\usepackage{hyperxmp}
\usepackage[usenames]{color}
\usepackage{amsmath,amsfonts}
@@ -36,7 +36,7 @@
\hypersetup{pdfpagemode=UseNone}
\hypersetup{pdfsource={}}
\hypersetup{pdflang={en-UK}}
-\hypersetup{pdfcopyright={Copyright 2016-2018 Niklas Beisert.
+\hypersetup{pdfcopyright={Copyright 2016-2024 Niklas Beisert.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.}}
@@ -50,6 +50,8 @@
\newcommand{\secref}[1]{\hyperref[#1]{section \ref*{#1}}}
+\def\textvert{\texttt{\char"7C}}
+
\parskip1ex
\parindent0pt
\let\olditemize\itemize
@@ -67,7 +69,7 @@
{\texttt{nbeisert@itp.phys.ethz.ch}}}
\hypersetup{pdfauthor={Niklas Beisert}}
\hypersetup{pdfsubject={Manual for the LaTeX2e Package delimset}}
-\date{30 December 2018, \textsf{v1.1}}
+\date{17 July 2024, \textsf{v2.0}}
\maketitle
\begin{abstract}\noindent
@@ -99,9 +101,10 @@ For example:
\\
|(v,w)| &\to (v,w)
\\
-|\langle\psi\vert M\vert\psi\rangle| &\to \langle\psi\vert M\vert\psi\rangle
+|\langle\psi|\textvert|M|\textvert|\psi\rangle|
+&\to \langle\psi\vert M\vert\psi\rangle
\\
-|(x^2+px+q)\vert_{-p/2}| &\to (x^2+px+q)\vert_{-p/2}
+|(x^2+px+q)|\textvert|_{-p/2}| &\to (x^2+px+q)\vert_{-p/2}
\\&\ldots
\end{aligned}
\]
@@ -109,8 +112,9 @@ For example:
In order to adjust the size of delimiters, the modifiers
|\big|, |\Big|, |\bigg|, |\Bigg| are used.
More importantly the construct
-{|\left*| \ldots [|\middle*|] \ldots |\right*|}
+{|\left*| \ldots [|\middle*|] \ldots |\right*|}
adjusts the size of delimiters to the contents:
+%
\[
\Bigg[\bigg[\Big[\big[[*]\big]\Big]\bigg]\Bigg],
\qquad
@@ -150,16 +154,17 @@ the size |\big(...\big)|:
\]
The package \textsf{delimset} provides mechanisms to declare sets of delimiters
-whose size can be adjusted conveniently by simple optional parameters.
+whose size can be adjusted conveniently by adding simple flag parameters.
For example, it provides a general purpose bracket |\brk|
which can be used as follows:
+%
\[
\begin{aligned}
|\brk{A\hat{X}+B}|&\to(A\hat{X}+B)
\\
|\brk*{A\hat{X}+B}|&\to\mathopen{}\mathclose{\left(A\hat{X}+B\right)}
\\
-|\brk2{A\hat{X}+B}|&\to\Bigl(A\hat{X}+B\Bigr)
+|\brk^2{A\hat{X}+B}|&\to\Bigl(A\hat{X}+B\Bigr)
\\
|\brk!{A\hat{X}+B}|&\to\bigl(A\hat{X}+B\bigr)
\end{aligned}
@@ -198,16 +203,18 @@ the more difficult it will be to adjust them
to obtain a visually acceptable result.
The main functionality of the package is based on a
-versatile mechanism to specify sets of delimiters, e.g.:
+versatile mechanism to specify sets of delimiters,
+e.g.:
+%
\[
\begin{aligned}
|\delim<>{ax+b}|
&\to\langle ax+b\rangle
\\
-|\delimpair{[}{[.],}{[}!{a}{b}|
+|\delimpair[{*,}[!{a}{b}|
&\to \bigl[a, b\bigr[
\\
-|\delimtriple<\vert\vert>*{\psi}{A^\dagger}{\psi}|
+|\delimtriple<|\textvert\textvert|>*{\psi}{A^\dagger}{\psi}|
&\to\left\langle\psi\middle\vert A^\dagger\middle\vert \psi\right\rangle
\end{aligned}
\]
@@ -216,14 +223,14 @@ The command |\delim| can be used on the fly, but also
in definitions of custom delimiter sets such as:
%
\[
-|\newcommand{\comm}{\delimpair{[}{[.],}{]}}|
+|\newcommand{\comm}{\delimpair{[}{*,}{]}}|
\]
%
Note that the definition of |\comm| does not specify any arguments.
They are nevertheless read by the incomplete definition of |\delimpair|
-from the what follows |\comm|.
+from what follows |\comm|.
In particular, this incomplete definition
-enables the correct parsing of the optional size specifier,
+enables the correct parsing of the optional size specifier flag,
e.g.:
%
\[
@@ -238,7 +245,7 @@ The above definition could be written as follows:
\begin{aligned}
&|\DeclareMathDelimiterSet{\comm}[2]|
\\
-&\qquad |{\selectdelim[l]{[}{#1},{#2}\selectdelim[r]{]}}|
+&\qquad |{\selectdeliml{[}{#1},{#2}\selectdelimr{]}}|
\end{aligned}
\]
@@ -260,9 +267,9 @@ of the currently selected math font
Unfortunately, it does not account for
the currently selected math style.
Therefore, the size of delimiters in sub/superscripts
-cannot be adjusted appropriately,
-\unskip\footnote{Arguably, it is bad typesetting practice
-to have too complicated expressions in sub/superscripts.}
+cannot be adjusted appropriately
+(an arguably better typesetting practice is
+to avoid complicated expressions in sub/superscripts in the first place),
they come out way too big:
%
\[
@@ -272,7 +279,7 @@ they come out way too big:
This package modifies the definitions of
the size modifiers (of \textsf{amsmath})
to automatically adjust to sub/superscripts
-(subject to availability):
+(subject to availability in the font):
%
\[
\makeatletter
@@ -282,6 +289,7 @@ to automatically adjust to sub/superscripts
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Spacing and Math Classes}
+\label{sec:spacing}
Another shortcoming of the variable-size delimiters is that
the spacing is noticeably different from their fixed-size counterparts:
@@ -291,12 +299,12 @@ the spacing is noticeably different from their fixed-size counterparts:
|\square(ax+b)\square|
&\to \square(ax+b)\square
\\
-|\square\left(ax+b\right)\square|
-&\to \square\left(ax+b\right)\square
-\\
|\square\bigl(ax+b\bigr)\square|
&\to \square\bigl(ax+b\bigr)\square
\\
+|\square\left(ax+b\right)\square|
+&\to \square\left(ax+b\right)\square
+\\
|\square\left(ax+\big.b\right)\square|
&\to \square\left(ax+\big.b\right)\square
\end{aligned}
@@ -328,8 +336,9 @@ For practical purposes, consistent spacing can only be achieved
by a more convenient mechanism.
On a related note, it is important to correctly specify
-the math class (|\mathopen|\hspace{0pt}/\hspace{0pt}|\mathclose|)
+the math class (such as |\mathopen| or |\mathclose|)
for the delimiters, for example:
+%
\[
\begin{aligned}
|\big(-1\big)| &\to \big(-1\big)
@@ -340,19 +349,23 @@ for the delimiters, for example:
%
The math class can also make a major difference for intermediate delimiters,
e.g.:
+%
\[
\begin{aligned}
-|\bigl\langle\psi\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\big\vert\psi\bigr\rangle
+|\bigl<\psi\big|\textvert|\psi\bigr>|
+&\to \bigl<\psi\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\bigm\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\bigm\vert\psi\bigr\rangle
+|\bigl<\psi\mathpunct\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathpunct\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\mathbin\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\mathbin\big\vert\psi\bigr\rangle
+|\bigl<\psi\mathinner\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathinner\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\mathpunct\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\mathpunct\big\vert\psi\bigr\rangle
+|\bigl<\psi\mathbin\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathbin\big\vert\psi\bigr>
+\\
+|\bigl<\psi\bigm|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\bigm\vert\psi\bigr>
\end{aligned}
\]
%
@@ -364,6 +377,67 @@ of the left and right delimiters. It also offers several choices for
intermediate delimiters to take the context into account.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Compounds and Broken Lines}
+
+The mechanism provided by the package requires the delimited expression
+to appear as an uninterrupted compound. In particular, the expression cannot
+span several lines in a multi-line equation or several columns in a matrix.
+The same restriction applies to the elementary |\left| and |\right| construct.
+In cases where delimited expressions are torn apart across several blocks,
+the delimiters have to be typeset individually.
+The package offers a mechanism to display individual delimiters
+of a given delimiter set. It also assists in maintaining
+the same type and size across blocks.
+Being able to display individual delimiters of defined delimiter sets
+offers a broad range of (ab)use.
+
+Individual delimiters of a set can be selected and displayed
+by specifying appropriate flags,
+for example:
+%
+\[
+|\brk(|\to{(},\qquad
+|\brk)|\to{)}
+\]
+%
+These flags can be combined with the size specifier
+or other bracket modifiers,
+e.g.:
+%
+\[
+|\brk^3(|\to{\biggl(},\qquad
+|\brk[s]^2)|\to{\Bigr]}
+\]
+%
+This enables to conveniently split delimited expressions over blocks of code,
+e.g.:
+%
+\[
+|\brk[s]^3(\frac{A}{B}|\ldots\Big/\mkern-9mu\Big/\ldots|\frac{C}{D}\brk[s]^3)|
+\to
+\biggl[\frac{A}{B}\cdots\bigg/\mkern-12mu\bigg/\cdots\frac{C}{D}\biggr]
+\]
+%
+Here, the type and modifiers specifying the delimiter set
+are repeated for all individual delimiters.
+To simplify such expressions and their maintenance,
+the package provides global registers which store
+the type and size of delimiters.
+With those, the above expression can be abbreviated as:
+%
+\[
+|\brk[s]^3[|\ldots\big/\mkern-6mu\big/\ldots|\usedelim]|
+\quad\text{or}\quad
+|\brk[s]^3[|\ldots\big/\mkern-6mu\big/\ldots|\brk]|
+\]
+%
+Here, |\usedelim]|, alternatively |\brk]|,
+closes the delimiter set with
+the type and options previously specified by |\brk...[|.
+For nesting purposes, there also exists a more elaborate
+solution using registers, see below.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Philosophy}
Semantic typesetting is one of the philosophies behind \LaTeX{}:
@@ -435,17 +509,17 @@ Modifier letters can be prepended and appended to adjust their size.
%
A functionality of the present package
not offered by any of the above packages is
-to typeset delimiters on the fly, e.g.:
+to typeset delimiters on the fly,
+e.g.:
%
\[
-|\delim<\vert>!{\psi}{\psi}|
-\to\bigl\langle\psi\big\vert\psi\bigr\rangle
+|\delim<|\textvert|>!{\psi}{\psi}|
+\to\bigl<\psi\big\vert\psi\bigr>
\]
%
The mechanism to specify the size is leaner in the sense that it uses
only a single character and a single command.
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Usage}
@@ -457,139 +531,377 @@ If not yet present,
the package \textsf{amsmath} will be loaded automatically.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\subsection{Inline Usage}
-\label{sec:delimcommands}
+\subsection{Delimiter Sets and Presentation Flags}
+\label{sec:flags}
+
+The package provides commands to represent various delimiter sets,
+see \secref{sec:inline} and \secref{sec:declare} below.
+Their display can be modified systematically by specifying flags.
+A delimiter set |\|\emph{name}, e.g.\ |\brk|, is typically invoked by
+a sequence like:
+%
+\[
+|\|\emph{name}\ \emph{flags}\ |{|\emph{expr1}|}||{|\emph{expr2}|}|\ldots
+\]
+%
+where \emph{expr(n)} are the terms to be enclosed by the delimiters
+and the optional \emph{flags} adjust the presentation of delimiters.
+The \emph{flags} are described as follows:
+
+First, a size modifier flag controls the size of the delimiters
+to be displayed. It can take one of the following values:
+%
+\[
+\begin{aligned}
+|0|&\qquad \text{default size}
+\text{ (0.96 times default line height)}
+\\
+|!|, |+|, |^1|&\qquad \text{size }|\big|
+\text{ (1.2 times default line height)}
+\\
+|^2|&\qquad \text{size }|\Big|
+\text{ (1.8 times default line height)}
+\\
+|^3|&\qquad \text{size }|\bigg|
+\text{ (2.4 times default line height)}
+\\
+|^4|&\qquad \text{size }|\Bigg|
+\text{ (3.0 times default line height)}
+\\
+|^|\emph{n}, |^{|\emph{x}|}|&\qquad \text{flexible size adjustment
+(\emph{n}=|0|\ldots|9|; \emph{x}: decimal number)}
+\\
+|_{|\emph{h}|}|&\qquad \text{adjustment to absolute height \emph{h} (centred)}
+\\
+|*|&\qquad \text{variable size }|\left...\right|
+\end{aligned}
+\]
+%
+The intended delimiter size is stored as the dimension register:
+%
+\[
+|\delimsize|
+\]
+%
+It may be used to adjust spacing within the delimiter set
+proportional to the size of the delimiters.
+Note that the actual size of delimiters may deviate
+depending on availability within the given font.
+Note further that the size cannot be determined for variable-size delimiters
+(`|*|') and thus size |\Big| is assumed for this case.
+Note finally that the sub/superscript styles are not taken into
+account and |\delimsize| applies to the default case |\textstyle|.
+The package also supplies a macro to add horizontal glue
+proportional to the intended delimiter size:
+%
+\[
+|\kerndelim{|\emph{width}|}|
+\]
+%
+Here, \emph{width} is the amount of horizontal glue
+in units of mu scaled by the ratio of |\delimsize|
+and the current math font height.
+The macro does adjust for the selected script style.
+
+Second, a delimiter selection flag is used to pick out
+and display just one individual delimiter within the set.
+It can take one of the following values:
+%
+\[
+\begin{aligned}
+|(|&\qquad \text{left delimiter}
+\\
+\textvert, |,|&\qquad \text{first intermediate delimiter}
+\\
+|)|&\qquad \text{right delimiter}
+\\
+|?|\emph{n}&\qquad \text{\emph{n}-th delimiter (starting with |0|: left)}
+\end{aligned}
+\]
+
+Third, register flags store are retrieve delimiter
+for splitting the across blocks or lines:
+%
+\[
+\begin{aligned}
+|[|&\qquad \text{store delimiter type to register `|.|',
+display left delimiter (same as `|>.(|')}
+\\
+|]|&\qquad \text{display right delimiter stored in default register `|.|'
+(same as `|<.)|')}
+\\
+|>|\emph{r}, |>{|\emph{reg}|}|&\qquad \text{store delimiter type
+in register \emph{r} or \emph{reg}}
+\\
+|<|\emph{r}, |<{|\emph{reg}|}|&\qquad \text{retrieve delimiter type
+from register \emph{r} or \emph{reg}}
+\end{aligned}
+\]
+%
+A register stores the type of delimiter set (|\|\emph{name}),
+the desired size (except for variable size `|*|')
+as well as the math class of the compound (`|'|' vs. `|"|', see below).
+A stored register can be retrieved and displayed by the macro:
+%
+\[
+|\usedelim|\,\emph{r}\ \emph{sel}
+\quad\text{or}\quad
+|\usedelim|\{\emph{reg}\}\emph{sel}
+\]
+%
+Here, \emph{sel} is a flag to select an individual delimiter, see above.
+
+In addition, there are some general purpose flags:
+%
+\[
+\begin{aligned}
+|.|&\qquad \text{terminates flag processing}
+\\
+|:|&\qquad \text{enclose delimiter set in block
+(for using total box dimensions)}
+\\
+|'|&\qquad \text{render delimiter set as }|\mathopen|\text{ and }|\mathclose|
+\\
+|"|&\qquad \text{render delimiter set as }|\mathinner|
+\\
+|-|&\qquad \text{display phantom delimiters (for individual delimiters)}
+\end{aligned}
+\]
+
+Please note the following:
+%
+\begin{itemize}
+\item
+A delimiter selector (including the combined flags `|[|' and `|]|')
+terminates flag processing,
+therefore all relevant flags must be specified before it.
+\item
+Parsing also stops with the opening of the first term argument
+by means of the opening brace `|{|'.
+\item
+Parsing can also be terminated manually by specifying the flag `|.|'
+(in case the opening brace `|{|' for arguments is missing for whatever reason).
+\item
+Any other letter or token at the location of \emph{flags}
+is interpreted as an unrecognised flag and triggers a compiler error.
+For instance, |\brk{x}| must not be abbreviated as |\brk x|
+because `|x|' would be interpreted as a flag
+(it might be abbreviated as |\brk.x|).
+\item
+The legacy size modifier flags `|1|' \ldots `|4|'
+provided for backward compatibility have the same effect as `|^1|'\ldots`|^4|'.
+\item
+The phantom delimiter flag `|-|' does not work for variable size.
+It is intended for reserving space for individual delimiters
+when they are composed manually into sets (e.g.\ across lines).
+\item
+Technically, individual delimiters can be produced in the variable size version
+(even though it may defeat the purpose of the delimiter selection mechanism).
+One has to pay attention when using
+only the opening or only the closing delimiters from the package
+and counterbalancing it by direct code for the opposite side.
+This is because `|*(|' and `|*)|' do not directly translate to
+|\left|\emph{delim} and |\right|\emph{delim}
+due to proper spacing, see \secref{sec:spacing}.
+Instead, they translate to:
+%
+\[
+\begin{aligned}
+|*(|&\to|\mathopen{}\mathclose\bgroup\left|\emph{delim}
+\\
+|*)|&\to|\right|\emph{delim}|\egroup|
+\end{aligned}
+\]
+%
+One should use analogous code to complete the manual variable size block.
+
+Note that similar restrictions apply to using the flag `|:|'
+for block enclosure which uses |\bgroup| and |\egroup| as well.
+
+As it does not make much sense to use variable-size (`|*|')
+and block (`|:|') compounds for individual delimiter selection,
+the state of these flags is not stored in the global registers.
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Inline Declarations}
+\label{sec:inline}
The package provides three general purpose commands
to compose delimiter sets with one, two or three encapsulated expressions:
%
\[
\begin{aligned}
-&|\delim{|\emph{l}|}{|\emph{r}|}|\emph{size}|{|\emph{expr}|}|
+&|\delim{|\emph{l}|}{|\emph{r}|}|\emph{flags}|{|\emph{expr}|}|
\\
&|\delimpair{|\emph{l}|}{|\emph{m}|}{|\emph{r}|}|
-\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}|
+\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}|
\\
-&|\delimtriple{|\emph{l}|}{|\emph{m1}|}{|\emph{m2}|}{|\emph{r}|}|
-\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}{|\emph{expr3}|}|
+&|\delimtriple{|\emph{l}|}{|\emph{m}|}{|\emph{n}|}{|\emph{r}|}|
+\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}{|\emph{expr3}|}|
\end{aligned}
\]
%
The expression(s) \emph{expr(n)} will be surrounded by the
delimiters \emph{l} and \emph{r}
and, in the case of more than one expression,
-they will be separated by the delimiters \emph{m(n)}:
+they will be separated by the delimiters \emph{m}, \emph{n}:
+%
\[
\emph{l}\ \emph{expr}\ \emph{r},
\qquad
\emph{l}\ \emph{expr1}\ \emph{m}\ \emph{expr2}\ \emph{r},
\qquad
-\emph{l}\ \emph{expr1}\ \emph{m1}\ \emph{expr2}\
-\emph{m2}\ \emph{expr3}\ \emph{r}
+\emph{l}\ \emph{expr1}\ \emph{m}\ \emph{expr2}\
+\emph{n}\ \emph{expr3}\ \emph{r}
\]
-Here, \emph{l} and \emph{r} have to be
-math delimiters (symbols which can be used for |\left| and |\right|) or
-the dot `.' for the null delimiter.
-The separators \emph{m(n)} can be plain math delimiters as well, but they can
-also be compound expression of the form |[|\emph{class}|]|\emph{delim}
-where \emph{class} specifies
-the intended math class of the delimiter \emph{delim}:
+Here, \emph{l}, \emph{r}, \emph{m}, \emph{n}
+should be math delimiters \emph{delim}
+(elementary symbols which can be used for |\left| and |\right|)
+or the dot `|.|' for the null delimiter.
+The delimiter set expression can be adjusted in two ways:
+
+First, size adjustment
+for the delimiters \emph{l}, \emph{r}, \emph{m}, \emph{n}
+can be suppressed by a starred variant:
+%
+\[
+|{*|\emph{token}|}|
+\qquad\text{or}\qquad
+|{*{|\emph{expr}|}}|
+\]
+%
+This allows to use an arbitrary \emph{token}
+or a compound expression \emph{expr} in place of a delimiter \emph{delim}.
+This is useful when a delimiter character should not adjust in size
+(e.g.\ commas), or if a flexible-size version of the character
+is not available. One might also use a compound expression
+to create a null delimiter with non-zero width
+(the width may be specified by |\kerndelim|
+to make it proportional to the delimiter size).
+
+Second, the intended math class
+of the intermediate delimiters \emph{m}, \emph{n}
+may be adjusted in order to achieve a more appropriate automatic spacing
+by using |{[|\emph{class}|]|\emph{delim}|}|.
+Here, \emph{class} specifies
+the intended math class of the delimiter \emph{delim}
+according to:
%
\[
-\begin{aligned}{}
+\begin{aligned}
\left.\begin{array}{r}
-\emph{delim}\\|{|\emph{delim}|}|\\|{[]|\emph{delim}|}|
+\emph{delim}\\|{|\emph{delim}|}|
\end{array}\right\}
-&\qquad\text{class }|\mathord|\text{ (similar to }|\big|)
-\\
-|{[l]|\emph{delim}|}|&\qquad
-\text{class }|\mathopen|\text{ (similar to }|\bigl|
-\text{, not for use in }|\delim...|)
-\\
-|{[r]|\emph{delim}|}|&\qquad
-\text{class }|\mathclose|\text{ (similar to }|\bigr|
-\text{, not for use in }|\delim...|)
+&\qquad
+\left\{\begin{array}{l}
+\text{no glue for size-adjusted delimiters (same as }|[o]|\text{)}
\\
-|{[o]|\emph{delim}|}|&\qquad
-\text{class }|\mathopen|\text{ (similar to }|\bigl|)
+\text{determined by expression for unadjusted size (}|*|\text{ variant)}
+\end{array}\right.
\\
-|{[c]|\emph{delim}|}|&\qquad
-\text{class }|\mathclose|\text{ (similar to }|\bigr|)
-\\
-|{[m]|\emph{delim}|}|&\qquad
-\text{class }|\mathrel|\text{ (similar to }|\bigm|)
+|{[o]|\emph{delim}|}|
+&\qquad
+\text{no glue, similar to }|\big|, |\mathord|, |\mathopen|, |\mathclose|
\\
|{[p]|\emph{delim}|}|&\qquad
-\text{class }|\mathpunct|\text{ (similar to }|\bigp|)
+\text{followed by }|\thinmuskip|\text{, similar to }|\bigp|, |\mathpunct|
+\\
+|{[i]|\emph{delim}|}|&\qquad
+\text{surrounded by }|\thinmuskip|\text{, similar to }|\bigi|, |\mathinner|
\\
|{[b]|\emph{delim}|}|&\qquad
-\text{class }|\mathbin|\text{ (similar to }|\bigb|)
+\text{surrounded by }|\medmuskip|\text{, similar to }|\bigb|, |\mathbin|
\\
-|{[.]|\emph{expr}|}|&\qquad
-\text{no size adjustment, \emph{expr} can be any expression}
+|{[m]|\emph{delim}|}|&\qquad
+\text{surrounded by }|\thickmuskip|\text{, similar to }|\bigm|, |\mathrel|
\end{aligned}
\]
-%
-Note that the left and right delimiters \emph{l} and \emph{r} effectively
-have |[l]| and |[r]| prepended, respectively,
-and therefore they must be a plain math delimiter.
-Conversely, the immediate delimiters \emph{m(n)} must not
-have the |[l]| and |[r]| classes
-because the latter must appear precisely once
-and they are already taken by \emph{l} and \emph{r};
-use classes |[o]| and |[c]| instead.
-The optional size modifier \emph{size} should take one of the following values:
+Please note the following:
+%
+\begin{itemize}
+\item
+The left and right delimiters \emph{l} and \emph{r}
+are assigned to special classes:
+They leave no initial and final glue on the enclosed expressions
+(same as |\mathopen| and |\mathclose|).
+From the outside, the delimiter set appears
+either as a combination of |\mathopen|+|\mathclose| (flag `|'|')
+or as |\mathinner| (flag `|"|').
+\item
+The legacy class |[.]| provided for backward compatibility
+specifies delimiters with unadjusted size:
+the compound |{[.]|\emph{expr}|}| has the same effect as |{*{|\emph{expr}|}}|.
+\item
+The legacy class |[c]| provided for backward compatibility
+has the same effect as |[o]|.
+\item
+Unadjusted-size delimiters can be combined with math classes as:
+%
\[
-\begin{aligned}{}
-\emph{empty}, \emph{anything else}, |0|&\qquad \text{default size}
-\\
-|!|, |+|, |1|&\qquad \text{size }|\big|\text{ (|!| is preferred)}
-\\
-|2|&\qquad \text{size }|\Big|
-\\
-|3|&\qquad \text{size }|\bigg|
-\\
-|4|&\qquad \text{size }|\Bigg|
-\\
-|*|&\qquad \text{variable size }|\left...\right|
-\end{aligned}
+|{[|\emph{class}|]*|\emph{token}|}|
+\qquad\text{or}\qquad
+|{[|\emph{class}|]*{|\emph{expr}|}}|
\]
+%
+\item
+The opening square bracket `|[|'
+takes the dual role of indicating the optional |[|\emph{class}|]| argument.
+To avoid conflicts on intermediate delimiters,
+opening square bracket delimiters should be encoded as
+`|{{[}}|' (for |\delim...|) or `|{[}|' (for |\selectdelim|)
+rather than `|[|'.
+\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Declarations}
+\label{sec:declare}
The above constructs can be used to define new delimiter commands via:
%
\[
-|\newcommand{\|\emph{name}|}{\delim...{|\emph{l}|}...{|\emph{r}|}}|
+\begin{aligned}
+&|\newcommand{\|\emph{name}|}{\delim{|\emph{l}|}{|\emph{r}|}|
+\emph{flags}|}|
+\\
+&|\newcommand{\|\emph{name}|}{\delimpair{|\emph{l}|}{|\emph{m}|}{|\emph{r}|}|
+\emph{flags}|}|
+\\
+&|\newcommand{\|\emph{name}|}{\delimtriple{|\emph{l}|}{|\emph{m}|}|
+|{|\emph{n}|}{|\emph{r}|}|\emph{flags}|}|
+\end{aligned}
\]
%
-Here it makes sense to drop all arguments starting
-with the size modifier \emph{size} from the definition.
+Here it makes sense to drop all arguments
+starting at the optional \emph{flags} argument from the definition.
The \TeX{} parsing mechanism will then automatically
use the tokens following |\|\emph{name} including the optional size modifier.
-If the encapsulated expression(s) are to be passed as explicit arguments
-to |\|\emph{name}, one will have to find an alternative way to pass the
-optional size argument.
+If any of the encapsulated expression(s) are to be passed as
+explicit arguments to |\|\emph{name},
+one will have to find an alternative way to pass \emph{flags}.
+However, it is possible to predefine \emph{flags}
+which can be overridden by further \emph{flags} specified by the user.
The above declarations via |\delim...|
-should be sufficient for almost all situations.
+should be sufficient for most situations.
However, there is an even more flexible way to declare delimiter sets:
+%
\[
-|\DeclareMathDelimiterSet{\|\emph{name}|}[|\emph{narg}|]{|\emph{expr}|}|
+|\DeclareMathDelimiterSet{\|\emph{name}|}[|\emph{narg}|]{|\emph{compositor}|}|
\]
%
The syntax of this command is equivalent to the one of |\newcommand|.
The difference is that the command |\|\emph{name} first looks
-for the optional size modifier \emph{size} as
-described above in \secref{sec:delimcommands}.
-It remembers the desired size for evaluating the macro \emph{expr}.
+for the \emph{flags} argument as
+described above in \secref{sec:inline}.
+It remembers the desired size for evaluating
+the macro expression \emph{compositor}.
Then it parses the arguments as if the command
was declared by |\newcommand|.
-As usual, the macro \emph{expr} contains the command arguments
+As usual, the macro expression \emph{compositor} contains the command arguments
specified by |#1|, |#2|, \ldots. Note that these should
be encapsulated in groups |{#1}|, |{#2}|, \ldots,
in order to prevent them from overwriting definitions
@@ -598,16 +910,108 @@ It should also contain the desired math delimiters
specified by:
%
\[
-|\selectdelim[|\emph{class}|]{|\emph{delim}|}|
+\begin{aligned}
+&|\selectdeliml|[|*|]|{|\emph{delim}|}|
+\\
+&|\selectdelim[|\emph{class}|]|[|*|]|{|\emph{delim}|}|
+\\
+&|\selectdelimr|[|*|]|{|\emph{delim}|}|
+\end{aligned}
\]
%
+The three commands must be in proper sequence
+starting with |\selectdeliml| followed by arbitrarily many
+|\selectdelim| and terminated by |\selectdelimr|.
+The math classes \emph{class} and starred variants
+are defined analogously to \secref{sec:inline}.
Here, the sizes are adjusted automatically
-according to the previously specified modifier \emph{size}.
-The math classes must be in proper sequence,
-i.e.\ the first and last ones must be |l| and |r|, respectively,
-while the intermediate ones can be anything by |l| and |r|,
-see \secref{sec:delimcommands}.
+according to the previously specified modifier.
+
+Picking out individual delimiters from a set
+declared by |\DeclareMathDelimiterSet|
+cannot be achieved automatically.
+Instead, a selector method may be specified manually (where needed) by:
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSel{\|\emph{name}|}|
+\\
+&| {\selectdeliml{|\emph{l}|}|[|\||or\selectdelim{|\emph{m}|}|\ldots]|}|
+\\
+&| {\selectdelimr{|\emph{r}|}}|
+\end{aligned}
+\]
+%
+As many intermediate delimiters as needed can be specified
+at the end of the first argument; each one must start with `|\||or|'.
+
+\makeatletter
+For example, one might declare a set of double square brackets
+$[\kern-0.06\big@size[*]\kern-0.06\big@size]$ using:
+\makeatother
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSet{\dsb}[1]|
+\\
+&| {\selectdeliml{[}\kerndelim{-1.75}\selectdelim[o]{[}{#1}|
+\\
+&| \selectdelim[o]{]}\kerndelim{-1.75}\selectdelimr{]}}|
+\end{aligned}
+\]
+%
+Here, the command |\kerndelim{-1.75}| reduces the spacing
+between the two square brackets by approximately 1.75\,mu in default size.
+This could be used for:
+%
+\[
+\makeatletter
+|\dsb^4{\dsb^3{\dsb^2{\dsb^1{\dsb{*}}}}}|
+\to
+\Biggl[\kern-0.20\big@size\Biggl[
+\biggl[\kern-0.16\big@size\biggl[
+\Bigl[\kern-0.12\big@size\Bigl[
+\bigl[\kern-0.08\big@size\bigl[
+[\kern-0.06\big@size[*
+]\kern-0.06\big@size]
+\bigr]\kern-0.08\big@size\bigr]
+\Bigr]\kern-0.12\big@size\Bigr]
+\biggr]\kern-0.16\big@size\biggr]
+\Biggr]\kern-0.20\big@size\Biggr],
+\quad
+|\dsb*|\ldots\to
+\left[\kern-0.12\big@size\middle[\frac{x}{y}
+\middle]\kern-0.12\big@size\right]
+\makeatother
+\]
+%
+An appropriate selector method for displaying individual
+delimiters reads:
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSel{\dsb}|
+\\
+&| {\selectdeliml{[}\kerndelim{-1.75}\selectdelim[o]{[}}|
+\\
+&| {\selectdelim[o]]\kerndelim{-1.75}\selectdelimr{]}}|
+\end{aligned}
+\]
+Finally, towards a very flexible manual composition
+of delimiter sets, there is the macro:
+%
+\[
+|\parsedelimflags{|\emph{compositor}|}{|\emph{selector}|}|\emph{flags}
+\]
+%
+It parses the modifier flags as described in \secref{sec:flags}.
+The argument \emph{compositor} is code that displays the
+composited delimiter set whereas \emph{selector} is a macro
+that displays the delimiter number |\selecteddelim| of the set.
+The \emph{flags} follow immediately and should be terminated by
+an opening brace `|{|', the terminating flag `|.|'
+or a delimiter selection flag.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Default Declarations}
@@ -617,30 +1021,34 @@ The package predefines four commonly used sets of delimiters:
%
\begin{itemize}
\item
-|\brk[|\emph{type}|]|\emph{size}|{|\emph{expr}|}| represents
+|\brk[|\emph{type}|]|\emph{flags}|{|\emph{expr}|}| represents
a standard bracket around a single expression \emph{expr}.
The type of bracket can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[r]|: round }(x),\quad
\text{|[s]|: square }[x],\quad
\text{|[c]|: curly }\{x\},\quad
\text{|[a]|: angle }\langle x\rangle
\]
+%
\item
-|\eval[|\emph{type}|]|\emph{size}|{|\emph{expr}|}| represents
+|\eval[|\emph{type}|]|\emph{flags}|{|\emph{expr}|}| represents
evaluation of a functional expression \emph{expr}.
The type of bracket can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[v]|: }f(x)\vert_{a},\qquad
\text{|[s]|: }[f(x)]_{a}^{b}
\]
+%
\item
-|\abs|\emph{size}|{|\emph{expr}|}| represents
+|\abs|\emph{flags}|{|\emph{expr}|}| represents
the absolute value $\lvert\emph{expr}\rvert$.
\item
-|\norm|\emph{size}|{|\emph{expr}|}| represents
+|\norm|\emph{flags}|{|\emph{expr}|}| represents
the norm $\lVert\emph{expr}\rVert$.
\end{itemize}
%
@@ -651,19 +1059,20 @@ The package also defines some extended sets of delimiters as follows:
%
\begin{itemize}
\item
-|\pair|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\pair|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
a pair(ing) $(\emph{expr1},\emph{expr2})$.
\item
-|\set|\emph{size}|{|\emph{expr}|}| represents
+|\set|\emph{flags}|{|\emph{expr}|}| represents
the set $\{\emph{expr}\}$.
\item
-|\setcond|\emph{size}|{|\emph{expr}|}{|\emph{cond}|}| represents
+|\setcond|\emph{flags}|{|\emph{expr}|}{|\emph{cond}|}| represents
a set with condition $\{\emph{expr}\vert\emph{cond}\}$.
\item
-|\intv[|\emph{type}|]|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\intv[|\emph{type}|]|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
an interval from \emph{expr1} to \emph{expr2}.
The in/\hspace{0pt}exclusion of the bounds can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[c]|: closed }[a,b],\qquad
\text{|[o]|: open }]a,b[,\qquad
@@ -673,28 +1082,35 @@ argument \emph{type}:
\text{|[r]|: right-open }[a,b[
\end{array}
\]
+%
\item
-|\avg|\emph{size}|{|\emph{expr}|}| represents
+|\avg|\emph{flags}|{|\emph{expr}|}| represents
some average $\langle\emph{expr}\rangle$.
\item
-|\corr|\emph{size}|{|\emph{expr}|}| represents
+|\corr|\emph{flags}|{|\emph{expr}|}| represents
some correlator $\langle\emph{expr}\rangle$.
\item
-|\comm|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\comm|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
the commutator $[\emph{expr1},\emph{expr2}]$.
\item
-|\acomm|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\acomm|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
the anti-commutator $\{\emph{expr1},\emph{expr2}\}$.
\item
-|\bra|\emph{size}|{|\emph{expr}|}| represents
+|\bra|\emph{flags}|{|\emph{expr}|}| represents
a bra-vector $\langle\emph{expr}\rvert$ in quantum mechanics.
\item
-|\ket|\emph{size}|{|\emph{expr}|}| represents
+|\ket|\emph{flags}|{|\emph{expr}|}| represents
a ket-vector $\lvert\emph{expr}\rangle$ in quantum mechanics.
\item
-|\setcond|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\braket|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
a bra-ket contraction $\langle\emph{expr1}\vert\emph{expr2}\rangle$.
+\item
+|\lfrac[|\emph{type}|]|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| describes
+the linear representation $\emph{expr1}/\emph{expr2}$ of a fraction.
+An optional argument \emph{type} taking values |[r]|, |[s]|, |[c]|, |[a]| encloses the
+fraction in round, square, curly or angle brackets as for |\brk|.
\end{itemize}
+%
The extended definitions need to be activated by
the package option |extdef|, see \secref{sec:packageoptions}.
@@ -707,10 +1123,10 @@ or taste of the user, they can be redefined with |\renewcommand|.
In addition to the |\bigl|, |\bigr| and |\bigm| commands
(as well as their |\Big.|, |\bigg.| and |\Bigg.| counterparts),
-the package defines two additional sets |\bigp| and |\bigb|
+the package defines three additional sets |\bigp|, |\bigb| and |\bigi|
(and counterparts).
-Here |\bigp| implies the math class |\mathpunct|
-and |\bigb| the class |\mathbin|.
+Here |\bigp| implies the math class |\mathpunct|,
+|\bigb| the class |\mathbin| and |\bigi| the class |\mathinner|.
Furthermore, the package overloads the size calculation in the |\big...|
commands to properly account for the math styles in sub/superscripts
@@ -722,7 +1138,8 @@ the package option |scriptstyle|, see \secref{sec:packageoptions}.
\subsection{Package Options}
\label{sec:packageoptions}
-Options can be passed to the package by
+Options can be passed to the package by:
+%
\[
|\usepackage[|\emph{opts}|]{delimset}|
\qquad
@@ -735,17 +1152,17 @@ Here \emph{opts} is a comma-separated list of the available options:
%
\begin{itemize}
\item
-|stddef|[|=true|$\vert$|false|]
+|stddef|[|=true|\textbar|false|]
controls the activation of standard delimiter definitions specified in
\secref{sec:defaultcommands}.
If no value is given |true| is assumed; initially set to |true|.
\item
-|extdef|[|=true|$\vert$|false|]
+|extdef|[|=true|\textbar|false|]
controls the activation of extended delimiter definitions specified in
\secref{sec:defaultcommands}.
If no value is given |true| is assumed; initially set to |false|.
\item
-|scriptstyle|[|=true|$\vert$|false|]
+|scriptstyle|[|=true|\textbar|false|]
controls the overwriting of size modifiers explained
in \secref{sec:auxcommands}.
If no value is given |true| is assumed; initially set to |true|.
@@ -758,7 +1175,7 @@ If no value is given |true| is assumed; initially set to |true|.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Copyright}
-Copyright \copyright{} 2016--2018 Niklas Beisert
+Copyright \copyright{} 2016--2024 Niklas Beisert
This work may be distributed and/or modified under the
conditions of the \LaTeX{} Project Public License, either version 1.3
@@ -808,7 +1225,7 @@ distribution, e.g.\ \textit{texmf-root}|/tex/latex/delimset|.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Interaction with CTAN Packages}
-The package relies on other packages:
+The package is related to other packages available at CTAN:
\begin{itemize}
\item
This package relies on some functionality of the package \textsf{amsmath}
@@ -820,24 +1237,63 @@ This package uses the package \textsf{keyval} from the \textsf{graphics} bundle
to process optional arguments to the package options.
Compatibility with the \textsf{keyval} package
has been tested with v1.15 (2014/10/28).
+\item
+The package \textsf{icomma} modifies the spacing behaviour
+of the comma character in math mode
+which leads to inadequate spacing when it is used as a middle delimiter.
+To achieve proper spacing in sample code,
+use |{[p]*,}| rather than |{*,}|.
+The extended commands |\intv|, |\comm|, |\acomm| and |\pair|
+are compatible with the \textsf{icomma} package
+has been tested with v2.0 (2002/03/10).
\end{itemize}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\subsection{Feature Suggestions}
-% specify width of null delimiter?
-% automatic nesting of bracket types?
% make optional arguments work for DeclareMathDelimiterSet?
-% add pfrac for fraction a/b in text mode
+% (must go before parsing, but how to process and react?)
+% make unadjusted size have right height
+% automatic nesting of bracket types? -> depth stack?
% handle cramped style properly (perhaps impossible)
-% outer decorations for delimiters e.g. _y<a,b>_x
-% freestyle delimiter with size adjustment replacement \size{\rangle}_x
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Revision History}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\paragraph{v2.0:} 2024/07/17
+
+\begin{itemize}
+\item
+option to display individual delimiters
+and to store them in global registers across blocks
+(columns, lines, etc.)
+\item
+more general handling of unadjusted-size delimiters
+\item
+more general size adjustments
+\item
+added inner math class for intermediate delimiters
+\item
+added flag to enclose by open/close and inner math class
+\item
+added flag to display phantom delimiters
+\item
+selected size accessible by |\delimsize|
+and add proportional kerning by |\kerndelim|.
+\item
+added extended definition |\lfrac| for plain inline fractions
+\item
+null delimiter now properly has zero width for variable size
+\item
+internal mechanisms revised
+\item
+compatibility with \textsf{icomma} package
+(thanks to Olivier Godin for pointing out the issue)
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{v1.1:} 2018/12/30
\begin{itemize}
@@ -914,11 +1370,11 @@ standard definitions
sizes for default brackets:
% \begin{macrocode}
\[
-\brk0{x},\quad
-\brk1{x},\quad
-\brk2{x},\quad
-\brk3{x},\quad
-\brk4{x}
+\brk^0{x},\quad
+\brk^1{x},\quad
+\brk^2{x},\quad
+\brk^3{x},\quad
+\brk^4{x}
\]
% \end{macrocode}
@@ -935,7 +1391,7 @@ styles for default brackets:
nested brackets:
% \begin{macrocode}
\[
-\brk[c]2{\brk[s]!{\brk{ax+b}x+c}x+d}
+\brk[c]^2{\brk[s]!{\brk{ax+b}x+c}x+d}
\]
% \end{macrocode}
@@ -952,7 +1408,7 @@ default absolute value, norm and default evaluations:
outer delimiter spacing:
% \begin{macrocode}
\begin{align*}
-&\square\brk0{x}\square,&&\square\brk1{A^k}\square,
+&\square\brk^0{x}\square,&&\square\brk^1{A^k}\square,
\\
&\square\brk*{x}\square,&&\square\brk*{A^k}\square
\end{align*}
@@ -969,7 +1425,7 @@ e^{\brk!{ax+b}}
delimiter declaration:
% \begin{macrocode}
\DeclareMathDelimiterSet{\braket}[2]
- {\selectdelim[l]<#1\selectdelim|#2\selectdelim[r]>}
+ {\selectdeliml<#1\selectdelim|#2\selectdelimr>}
\[
\braket!{\psi}{\psi},
\quad
@@ -988,32 +1444,36 @@ conditional set, alternative layouts:
% \begin{macrocode}
\[
\delimpair\{{[m]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
\delimpair\{{[b]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
+\delimpair\{{[i]|}\}!{2n}{n\in\mathbb{Z}},
+\quad
\delimpair\{{[p]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
\delimpair\{|\}!{2n}{n\in\mathbb{Z}},
-\qquad
-\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}}
+\quad
+\delimpair\{{*;}\}!{2n}{n\in\mathbb{Z}}
\]
conditional set, alternative layouts with variable size:
\[
\delimpair\{{[m]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
\delimpair\{{[b]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
+\delimpair\{{[i]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\quad
\delimpair\{{[p]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
\delimpair\{|\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
-\delimpair\{{[.];}\}*{2n}{n\in\mathbb{Z}\big.}
+\quad
+\delimpair\{{*;}\}*{2n}{n\in\mathbb{Z}\big.}
\]
% \end{macrocode}
delimiter definition:
% \begin{macrocode}
-\newcommand{\comm}{\delimpair[{[.],}]}
+\newcommand{\comm}{\delimpair[{*,}]}
\[
\comm!{\comm{A}{B}}{C}
+\comm!{\comm{B}{C}}{A}
@@ -1024,7 +1484,7 @@ delimiter definition:
alternative representation:
% \begin{macrocode}
-\renewcommand{\comm}{\delimpair[{[.];}]}
+\renewcommand{\comm}{\delimpair[{*;}]}
\[
\comm!{\comm{A}{B}}{C}
+\comm!{\comm{B}{C}}{A}
@@ -1033,6 +1493,31 @@ alternative representation:
\]
% \end{macrocode}
+display individual delimiters of a set:
+% \begin{macrocode}
+\renewcommand{\braket}{\delimpair<|>}
+\[
+\braket{A}{B}
+\to \braket( A \braket| B \braket),
+\quad
+\braket*( A\big. \braket*| B_{} \braket*),
+\quad
+\braket^1( A \braket^3| B \braket^2)
+\]
+% \end{macrocode}
+
+placing indices before a bracket
+(does not work in variable-size mode because
+the final size is not available for the enclosed expressions):
+% \begin{macrocode}
+\DeclareMathDelimiterSet{\quadindex}[5]
+ {\selectdeliml.^{#2}_{#3}\mathord{}\selectdelim[o][
+ {#1}\selectdelim[o]]^{#4}_{#5}\selectdelimr.}
+\[
+\quadindex^2{\frac{x}{y}}{1}{2}{3}{4}
+\]
+% \end{macrocode}
+
% end of document body:
% \begin{macrocode}
\end{document}
@@ -1057,6 +1542,7 @@ alternative representation:
% if not yet present.
% \textsf{amsmath} is used for basic delimiter size functionality.
% \textsf{keyval} is used for extended options processing.
+%
% \begin{macrocode}
\RequirePackage{amsmath}
\RequirePackage{keyval}
@@ -1067,6 +1553,7 @@ alternative representation:
%
% The package has some boolean \textsf{keyval} options
% which can be set to |true| or |false|.
+%
% \begin{macrocode}
\newif\ifdlm@std\dlm@stdtrue
\newif\ifdlm@ext\dlm@extfalse
@@ -1083,7 +1570,7 @@ alternative representation:
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Internal Definitions.}
+% \paragraph{Improved Size Adjustments.}
%
% Overwrite the \textsf{amsmath} command |\bBigg@|
% to select the size according to the present math style
@@ -1105,102 +1592,269 @@ alternative representation:
\fi
% \end{macrocode}
-% Define punctuation marks (|\bigp|, etc.)
-% and binary operators (|\bigb|, etc.).
+% Define punctuation marks (|\bigp|, etc.),
+% binary operators (|\bigb|, etc.)
+% and inner class (|\bigi|, etc.).
%
% \begin{macrocode}
-\newcommand{\bigp}{\mathpunct\big}
-\newcommand{\Bigp}{\mathpunct\Big}
-\newcommand{\biggp}{\mathpunct\bigg}
-\newcommand{\Biggp}{\mathpunct\Bigg}
-\newcommand{\bigb}{\mathbin\big}
-\newcommand{\Bigb}{\mathbin\Big}
-\newcommand{\biggb}{\mathbin\bigg}
-\newcommand{\Biggb}{\mathbin\Bigg}
+\providecommand{\bigp}{\mathpunct\big}
+\providecommand{\Bigp}{\mathpunct\Big}
+\providecommand{\biggp}{\mathpunct\bigg}
+\providecommand{\Biggp}{\mathpunct\Bigg}
+\providecommand{\bigb}{\mathbin\big}
+\providecommand{\Bigb}{\mathbin\Big}
+\providecommand{\biggb}{\mathbin\bigg}
+\providecommand{\Biggb}{\mathbin\Bigg}
+\providecommand{\bigi}{\mathinner\big}
+\providecommand{\Bigi}{\mathinner\Big}
+\providecommand{\biggi}{\mathinner\bigg}
+\providecommand{\Biggi}{\mathinner\Bigg}
% \end{macrocode}
-% Define size selectors for standard size (|dlm@norm|),
-% variable size (|dlm@var|).
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Size Adjustment Definitions.}
+%
+% The macro |\dlm@setvar| enables variable size,
+% the macro |\dlm@setsize| sets a fixed size.
+% Delimiter sizes are implented by |\dlm@big@|.
+% The macro |\kerndelim| adds some kerning proportional
+% to the chosen fixed size of the delimiters
+% (the spacing is merely an approximation,
+% and it does not actually scale for flexible size).
+%
+% \begin{macrocode}
+\newlength\delimsize
+\newcommand{\dlm@setvar}{\let\dlm@ifvar\@firstoftwo\delimsize1.5\big@size}
+\newcommand{\dlm@setsize}[1]{\let\dlm@ifvar\@secondoftwo%
+ \delimsize#1\big@size\advance\delimsize by\big@size\delimsize0.5\delimsize}
+\newcommand{\dlm@setabssize}[1]{\let\dlm@ifvar\@secondoftwo\delimsize#1\relax}
+\newcommand{\dlm@big@}[1]{{\mathchoice%
+ {\dlm@big@choice{\displaystyle}{1}{#1}}%
+ {\dlm@big@choice{\textstyle}{1}{#1}}%
+ {\dlm@big@choice{\scriptstyle}{0.7}{#1}}%
+ {\dlm@big@choice{\scriptscriptstyle}{0.5}{#1}}}}
+\newcommand{\dlm@big@choice}[3]{\@mathmeasure\z@{\nulldelimiterspace\z@}%
+ {#1\left#3\vcenter to#2\delimsize{}\right.}\box\z@}
+\newcommand{\kerndelim}[1]{{\delimsize#1\delimsize%
+ \mkern\muexpr1.2mu*\delimsize/\big@size\relax}}
+% \end{macrocode}
+
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Math Classes Processing.}
+%
+% Define class selectors for fixed and unadjusted sizes.
%
% \begin{macrocode}
+\newcommand{\dlm@big}[2]{\dlm@plain{#1}{\dlm@big@#2}}
+\newcommand{\dlm@plain}[2]{\dlm@class{#1}{\dlm@phantom{#2}}}
\newcommand{\dlm@class}[1]{\csname dlm@class@#1\endcsname}
-\newcommand{\dlm@class@}{}
-\newcommand{\dlm@class@l}{\mathopen}
-\newcommand{\dlm@class@r}{\mathclose}
-\newcommand{\dlm@class@o}{\mathopen}
-\newcommand{\dlm@class@c}{\mathclose}
-\newcommand{\dlm@class@m}{\mathrel}
-\newcommand{\dlm@class@p}{\mathpunct}
-\newcommand{\dlm@class@b}{\mathbin}
-\newcommand{\dlm@norm}[1]{\dlm@class{#1}\bBigg@{0.0}}
-\newcommand{\dlm@big}[1]{\dlm@class{#1}\big}
-\newcommand{\dlm@Big}[1]{\dlm@class{#1}\Big}
-\newcommand{\dlm@bigg}[1]{\dlm@class{#1}\bigg}
-\newcommand{\dlm@Bigg}[1]{\dlm@class{#1}\Bigg}
+\let\dlm@class@\@firstofone
+\let\dlm@class@o\mathord
+\let\dlm@class@c\mathord
+\let\dlm@class@p\mathpunct
+\let\dlm@class@i\mathinner
+\let\dlm@class@b\mathbin
+\let\dlm@class@m\mathrel
+% \end{macrocode}
+
+% Define class selector for variable size.
+% The macro |\dlm@var@null| removes the extra space from
+% variable-size null delimiters
+% (|\left.|, |\middle.| and |\right.| apply the value
+% of |\nulldelimiterspace| only at the end of math processing,
+% even across blocks).
+% The macro |\dlm@var@kern| applies kerning unless in the script styles.
+%
+% \begin{macrocode}
+\newcommand{\dlm@var@null}[1]{\if.#1\kern-\nulldelimiterspace\fi}
+\newcommand{\dlm@var@kern}[1]{\nonscript\mkern#1}
\newcommand{\dlm@var}[1]{\csname dlm@var@#1\endcsname}
-\newcommand{\dlm@var@}[1]{\middle#1}
-\newcommand{\dlm@var@l}[1]{\mathopen{}\mathclose\bgroup\left#1}
-\newcommand{\dlm@var@r}[1]{\right#1\egroup}
-\newcommand{\dlm@var@o}[1]{\mathopen{}\middle#1\mathopen{}}
-\newcommand{\dlm@var@c}[1]{\mathclose{}\middle#1\mathclose{}}
-\newcommand{\dlm@var@m}[1]{\mathrel{}\middle#1\mathrel{}}
-\newcommand{\dlm@var@p}[1]{\middle#1\mathpunct{}}
-\newcommand{\dlm@var@b}[1]{\mathbin{}{}\mkern-\medmuskip%
- \middle#1\mkern-\medmuskip{}\mathbin{}}
+\newcommand{\dlm@var@}[1]{\dlm@var@null#1\middle#1}
+\let\dlm@var@o\dlm@var@
+\let\dlm@var@c\dlm@var@
+\newcommand{\dlm@var@p}[1]{\dlm@var@#1\dlm@var@kern\thinmuskip}
+\newcommand{\dlm@var@i}[1]{\dlm@var@kern\thinmuskip%
+ \dlm@var@#1\dlm@var@kern\thinmuskip}
+\newcommand{\dlm@var@b}[1]{\dlm@var@kern\medmuskip%
+ \dlm@var@#1\dlm@var@kern\medmuskip}
+\newcommand{\dlm@var@m}[1]{\dlm@var@kern\thickmuskip%
+ \dlm@var@#1\dlm@var@kern\thickmuskip}
+% \end{macrocode}
+
+% Definitions for selecting outer math class
+% |\mathopen|+|\mathclose| vs. |\mathinner|.
+%
+% \begin{macrocode}
+\newcommand{\dlm@open@i}{\mathinner{}\mathclose{}\mathopen}
+\newcommand{\dlm@close@i}{\mathclose{}\mathopen{}\mathinner}
+\newcommand{\dlm@inner@oc}{\mathopen{}\mathclose}
+\newcommand{\dlm@enclose@openclose}{%
+ \let\dlm@open\mathopen\let\dlm@close\mathclose\let\dlm@inner\dlm@inner@oc}
+\newcommand{\dlm@enclose@inner}{%
+ \let\dlm@open\dlm@open@i\let\dlm@close\dlm@close@i\let\dlm@inner\mathinner}
+% \end{macrocode}
+
+% Definitions for selecting inline vs. block insertion.
+%
+% \begin{macrocode}
+\newcommand{\dlm@inline@l}[1]{\dlm@open{#1}}
+\newcommand{\dlm@inline@r}[1]{\dlm@close{#1}}
+\newcommand{\dlm@block@l}[1]{\dlm@inner\bgroup\mathopen{#1}}
+\newcommand{\dlm@block@r}[1]{\mathclose{#1}\egroup}
+\newcommand{\dlm@enclose@inline}{%
+ \let\dlm@class@l\dlm@inline@l\let\dlm@class@r\dlm@inline@r}
+\newcommand{\dlm@enclose@block}{%
+ \let\dlm@class@l\dlm@block@l\let\dlm@class@r\dlm@block@r}
+% \end{macrocode}
+
+% Opening and closing definitions.
+%
+% \begin{macrocode}
+\newcommand{\dlm@plain@l}[1]{\dlm@class@l{\dlm@phantom{#1}}}
+\newcommand{\dlm@plain@r}[1]{\dlm@class@r{\dlm@phantom{#1}}}
+\newcommand{\dlm@big@l}[1]{\dlm@plain@l{\dlm@big@#1}}
+\newcommand{\dlm@big@r}[1]{\dlm@plain@r{\dlm@big@#1}}
+\newcommand{\dlm@var@l}[1]{\dlm@inner\bgroup\dlm@var@null#1\left#1}
+\newcommand{\dlm@var@r}[1]{\right#1\dlm@var@null#1\egroup}
+\newcommand{\dlm@var@pl}[1]{\dlm@var@l.\mathopen{#1}}
+\newcommand{\dlm@var@pr}[1]{\mathclose{#1}\dlm@var@r.}
+% \end{macrocode}
+
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Delimiter Storage.}
+%
+% Macros for storing and retrieving delimiter types using global registers.
+%
+% \begin{macrocode}
+\newcommand{\dlm@reg@save@init}[1]{%
+ \xdef#1{\delimsize\the\delimsize}\ifx\dlm@inner\mathinner%
+ \expandafter\gdef\expandafter#1\expandafter{#1\dlm@enclose@inner}\fi}
+\newcommand{\dlm@reg@save}[2]{%
+ \expandafter\dlm@reg@save@init\csname dlm@reg@init@#1\endcsname%
+ \expandafter\gdef\csname dlm@reg@sel@#1\endcsname{#2}}
+\newcommand{\dlm@reg@init}[1]{\csname dlm@reg@init@#1\endcsname}
+\newcommand{\dlm@reg@sel}[1]{\csname dlm@reg@sel@#1\endcsname}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Optional Size Argument Processing.}
+% \paragraph{Flags Processing.}
%
-% Parse the optional argument following |\delim|\ldots\
-% commands to specify the size of delimiters.
-% If the next character in line begins a group (`|{|') it is assumed that
-% there is no optional argument.
-% Otherwise the selected size is written to |\dlm@arg|.
-% Unspecified or unknown sizes default to normal size.
-% Finally, execute the code passed as an explicit argument to |\dlm@parsesize|.
+% The macro |\parsedelimflags| parses the optional argument(s)
+% following |\delim|\ldots\ commands to adjust the presentation.
+% Parsing is terminated if the next character in line begins a group (`|{|')
+% and the delimiter set is composed by executing argument |#1|.
+% A size flag is stored and parsing continues.
+% A delimiter selector flag immediately displays the desired delimiter
+% by executing argument |#2|.
+% Unknown flags produce an error message.
%
% \begin{macrocode}
-\newcommand{\dlm@parsesize}[1]{\@ifnextchar\bgroup%
- {\dlm@parsesize@{#1}{0}}{\dlm@parsesize@{#1}}}
-\newcommand{\dlm@parsesize@}[2]{\let\dlm@arg\dlm@norm%
- \if0#2\let\dlm@arg\dlm@norm\fi%
- \if1#2\let\dlm@arg\dlm@big\fi%
- \if+#2\let\dlm@arg\dlm@big\fi%
- \if!#2\let\dlm@arg\dlm@big\fi%
- \if2#2\let\dlm@arg\dlm@Big\fi%
- \if3#2\let\dlm@arg\dlm@bigg\fi%
- \if4#2\let\dlm@arg\dlm@Bigg\fi%
- \if*#2\let\dlm@arg\dlm@var\fi%
- #1}
+\newcommand{\parsedelimflags}{\dlm@setsize{0.6}\let\dlm@phantom\@firstofone%
+ \dlm@enclose@openclose\dlm@enclose@inline\dlm@parseflags}
+\newcommand{\dlm@parseflags}[2]{%
+ \@ifnextchar\bgroup{#1}{\dlm@parseflag{#1}{#2}}}
+\newcommand{\dlm@parseflag}[3]{\begingroup%
+ \ifcsname dlm@parseflag@\string#3\endcsname%
+ \def\dlm@do{\csname dlm@parseflag@\string#3\endcsname{#1}{#2}}\else%
+ \def\dlm@do{\PackageError{delimset}%
+ {unknown delimiter set flag `\string#3'}{}#1}%
+ \fi\expandafter\endgroup\dlm@do}
+\newcommand{\dlm@parsedef}[3]{%
+ \expandafter\def\csname dlm@parseflag@\string#1\endcsname ##1##2#2{#3}}
% \end{macrocode}
+%
% Note that the delimited expression should be contained within a group
% such that nested delimiters will not overwrite the outer size definition.
+% Flags to adjust size.
+% Note that sizes 0 and 1 amount to 0.96 and 1.2 times
+% the current empty math box height.
+%
+% \begin{macrocode}
+\dlm@parsedef{!}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{+}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{0}{}{\dlm@setsize{0.6}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{1}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{2}{}{\dlm@setsize{2}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{3}{}{\dlm@setsize{3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{4}{}{\dlm@setsize{4}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{^}{#3}{\dlm@setsize{#3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{_}{#3}{\dlm@setabssize{#3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{*}{}{\dlm@setvar\dlm@parseflags{#1}{#2}}
+% \end{macrocode}
+
+% Flags to select individual delimiters.
+%
+% \begin{macrocode}
+\dlm@parsedef{(}{}{\def\selecteddelim{0}#2}
+\dlm@parsedef{|}{}{\def\selecteddelim{1}#2}
+\dlm@parsedef{,}{}{\def\selecteddelim{1}#2}
+\dlm@parsedef{)}{}{\def\selecteddelim{9}#2}
+\dlm@parsedef{?}{#3}{\def\selecteddelim{#3}#2}
+% \end{macrocode}
+
+% Flags to access registers.
+%
+% \begin{macrocode}
+\dlm@parsedef{[}{}{\dlm@reg@save{.}{#2}\def\selecteddelim{0}#2}
+\dlm@parsedef{]}{}{\dlm@reg@init{.}\def\selecteddelim{9}\dlm@reg@sel{.}}
+\dlm@parsedef{>}{#3}{\dlm@reg@save{#3}{#2}}
+\dlm@parsedef{<}{#3}{\dlm@reg@init{#3}\dlm@parseflags%
+ {\PackageError{delimset}{must select delimiter}{}}{\dlm@reg@sel{#3}}}
+% \end{macrocode}
+
+% Further flags.
+%
+% \begin{macrocode}
+\dlm@parsedef{.}{}{#1}
+\dlm@parsedef{:}{}{\dlm@enclose@block\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{'}{}{\dlm@enclose@openclose\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{"}{}{\dlm@enclose@inner\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{-}{}{\let\dlm@phantom\phantom\dlm@parseflags{#1}{#2}}
+% \end{macrocode}
+
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Size Selection.}
+% \paragraph{Delimiter Display.}
%
-% The command |\selectdelim| reproduces the delimiter in the second argument
-% using the math class given in the first argument
-% using the previously selected size stored in |\dlm@arg|.
-% It appends the class identifier to the command stored in |\dlm@arg|
-% and calls the latter with the delimiter as the argument.
+% The command |\selectdelim| reproduces the delimiter in argument |#2|
+% using the math class given in argument |#1| and the previously stored size.
% If the class identifier is `|.|', just return the delimiter argument as is.
+% The commands |\selectdeliml| and |\selectdelimr|
+% implement the left and right delimiter classes, respectively.
+%
% \begin{macrocode}
-\newcommand{\selectdelim}[2][]{\if.#1#2\else\dlm@arg{#1}#2\fi}
+\newcommand{\selectdelim}[1][]{\begingroup\def\dlm@do{\@ifstar{\dlm@plain{#1}}%
+ {\dlm@ifvar{\dlm@var{#1}}{\dlm@big{#1}}}}%
+ \if.#1\let\dlm@do\@empty\fi\expandafter\endgroup\dlm@do}
+\newcommand{\selectdeliml}{\@ifstar%
+ {\dlm@ifvar\dlm@var@pl\dlm@plain@l}{\dlm@ifvar\dlm@var@l\dlm@big@l}}
+\newcommand{\selectdelimr}{\@ifstar%
+ {\dlm@ifvar\dlm@var@pr\dlm@plain@r}{\dlm@ifvar\dlm@var@r\dlm@big@r}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \paragraph{Declaration of New Delimiter Commands.}
%
-% Declares a new set of delimiters as the macro `|\|\emph{name}'.
-% This macro checks for an optional size argument and stores it in |\dlm@arg|.
+% The macro |\DeclareMathDelimiterSet| declares a new set of delimiters
+% as the macro `|\|\emph{name}'.
+% This macro checks for optional flags and stores the desired size.
% It then passes on to a second macro `|\dlm@dcl@|\emph{name}',
% which takes the actual code.
+% If the flags select an individual delimiter,
+% the macro `|\dlm@sel@|\emph{name}' is called instead.
+% The latter macro should be defined via |\DeclareMathDelimiterSel|
+% such that it produces the desired delimiter number |\selecteddelim|.
+%
% \begin{macrocode}
\newcommand{\DeclareMathDelimiterSet}[1]{\expandafter\dlm@declare%
\csname dlm@dcl@\expandafter\@gobble\string#1\endcsname{#1}}
-\def\dlm@declare#1#2{\newcommand{#2}{\dlm@parsesize{#1}}\newcommand{#1}}
+\def\dlm@declare#1#2{\expandafter\dlm@declare@%
+ \csname dlm@sel@\expandafter\@gobble\string#2\endcsname{#1}{#2}}
+\def\dlm@declare@#1#2#3{\newcommand{#3}{\parsedelimflags{#2}{#1}}%
+ \providecommand{#1}{}\newcommand{#2}}
+\newcommand{\DeclareMathDelimiterSel}[3]{\expandafter\def%
+ \csname dlm@sel@\expandafter\@gobble\string#1\endcsname%
+ {\ifcase\selecteddelim#2\else#3\fi}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1212,29 +1866,51 @@ alternative representation:
% are processed \emph{before} the optional size modifier.
%
% |\delim| is used for a single delimited expression.
+%
% \begin{macrocode}
-\newcommand{\delim}[2]
- {\dlm@parsesize{\dlm@dcl@delim{#1}{#2}}}
-\newcommand{\dlm@dcl@delim}[3]
- {\selectdelim[l]#1{#3}\selectdelim[r]#2}
+\newcommand{\delim}[2]{%
+ \parsedelimflags{\dlm@dcl@delim{#1}{#2}}{\dlm@sel@delim{#1}{#2}}}
+\newcommand{\dlm@dcl@delim}[3]{%
+ \selectdeliml#1{#3}\selectdelimr#2}
+\newcommand{\dlm@sel@delim}[2]{\ifcase\selecteddelim\selectdeliml#1%
+ \else\selectdelimr#2\fi}
% \end{macrocode}
% |\delimpair| is used for two delimited expressions separated
% by an intermediate delimiter.
+%
% \begin{macrocode}
-\newcommand{\delimpair}[3]
- {\dlm@parsesize{\dlm@dcl@delimpair{#1}{#2}{#3}}}
-\newcommand{\dlm@dcl@delimpair}[5]
- {\selectdelim[l]#1{#4}\selectdelim#2{#5}\selectdelim[r]#3}
+\newcommand{\delimpair}[3]{%
+ \parsedelimflags{\dlm@dcl@delimpair{#1}{#2}{#3}}%
+ {\dlm@sel@delimpair{#1}{#2}{#3}}}
+\newcommand{\dlm@dcl@delimpair}[5]{%
+ \selectdeliml#1{#4}\selectdelim#2{#5}\selectdelimr#3}
+\newcommand{\dlm@sel@delimpair}[3]{\ifcase\selecteddelim\selectdeliml#1%
+ \or\selectdelim#2\else\selectdelimr#3\fi}
% \end{macrocode}
% |\delimtriple| is used for three delimited expressions separated
% by two intermediate delimiters.
+%
% \begin{macrocode}
-\newcommand{\delimtriple}[4]
- {\dlm@parsesize{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}}
-\newcommand{\dlm@dcl@delimtriple}[7]
- {\selectdelim[l]#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelim[r]#4}
+\newcommand{\delimtriple}[4]{%
+ \parsedelimflags{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}%
+ {\dlm@sel@delimtriple{#1}{#2}{#3}{#4}}}
+\newcommand{\dlm@dcl@delimtriple}[7]{%
+ \selectdeliml#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelimr#4}
+\newcommand{\dlm@sel@delimtriple}[4]{\ifcase\selecteddelim\selectdeliml#1%
+ \or\selectdelim#2\or\selectdelim#3\else\selectdelimr#4\fi}
+% \end{macrocode}
+
+% |\usedelim| retrieves a stored delimiter type.
+% The argument `|]|' immediately closes the delimiter set
+% using the default register.
+% Otherwise the desired register must be followed
+% by the delimiter selection flag.
+%
+% \begin{macrocode}
+\newcommand{\usedelim}{\@ifnextchar]{\parsedelimflags{}{}}{\parsedelimflags%
+ {\PackageError{delimset}{must select delimiter}{}}{}<}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1243,17 +1919,18 @@ alternative representation:
% Define some common delimiters (by |providecommand| so as not to
% overwrite previously existing commands).
% This code is activated only if the package option |stddef| is set to |true|.
+%
% \begin{macrocode}
\ifdlm@std
\providecommand{\brk}[1][r]{\begingroup\def\dlm@use{\delim()}%
- \if r#1 \def\dlm@use{\delim()}\fi%
- \if s#1 \def\dlm@use{\delim[]}\fi%
- \if c#1 \def\dlm@use{\delim\{\}}\fi%
- \if a#1 \def\dlm@use{\delim<>}\fi%
+ \if r#1\def\dlm@use{\delim()}\fi%
+ \if s#1\def\dlm@use{\delim[]}\fi%
+ \if c#1\def\dlm@use{\delim\{\}}\fi%
+ \if a#1\def\dlm@use{\delim<>}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\eval}[1][v]{\begingroup\def\dlm@use{\delim.\rvert}%
- \if v#1 \def\dlm@use{\delim.\rvert}\fi%
- \if s#1 \def\dlm@use{\delim[]}\fi%
+ \if v#1\def\dlm@use{\delim.\rvert}\fi%
+ \if s#1\def\dlm@use{\delim[]}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\abs}{\delim\lvert\rvert}
\providecommand{\norm}{\delim\lVert\rVert}
@@ -1265,24 +1942,33 @@ alternative representation:
%
% Define some extended delimiters.
% This code is activated only if the package option |extdef| is set to |true|.
+%
% \begin{macrocode}
\ifdlm@ext
-\providecommand{\pair}{\delimpair({[.],})}
+\providecommand{\pair}{\delimpair({[p]*,})}
\providecommand{\set}{\delim\{\}}
\providecommand{\setcond}{\delimpair\{|\}}
-\providecommand{\intv}[1][c]{\begingroup\def\dlm@use{\delimpair[{[.],}]}%
- \if c#1 \def\dlm@use{\delimpair[{[.],}]}\fi%
- \if l#1 \def\dlm@use{\delimpair]{[.],}]}\fi%
- \if r#1 \def\dlm@use{\delimpair[{[.],}[}\fi%
- \if o#1 \def\dlm@use{\delimpair]{[.],}[}\fi%
+\providecommand{\intv}[1][c]{\begingroup%
+ \def\dlm@use{\delimpair[{[p]*,}]}%
+ \if c#1\def\dlm@use{\delimpair[{[p]*,}]}\fi%
+ \if l#1\def\dlm@use{\delimpair]{[p]*,}]}\fi%
+ \if r#1\def\dlm@use{\delimpair[{[p]*,}[}\fi%
+ \if o#1\def\dlm@use{\delimpair]{[p]*,}[}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\avg}{\delim<>}
\providecommand{\corr}{\delim<>}
-\providecommand{\comm}{\delimpair[{[.],}]}
-\providecommand{\acomm}{\delimpair\{{[.],}\}}
+\providecommand{\comm}{\delimpair[{[p]*,}]}
+\providecommand{\acomm}{\delimpair\{{[p]*,}\}}
\providecommand{\bra}{\delim<|}
\providecommand{\ket}{\delim|>}
\providecommand{\braket}{\delimpair<|>}
+\providecommand{\lfrac}[1][]{\begingroup%
+ \def\dlm@use{\delimpair./.}%
+ \if r#1\def\dlm@use{\delimpair(/)}\fi%
+ \if s#1\def\dlm@use{\delimpair[/]}\fi%
+ \if c#1\def\dlm@use{\delimpair\{/\}}\fi%
+ \if a#1\def\dlm@use{\delimpair</>}\fi%
+ \expandafter\endgroup\dlm@use}
\fi
% \end{macrocode}
diff --git a/macros/latex/contrib/delimset/delimset.ins b/macros/latex/contrib/delimset/delimset.ins
index daf870b5ff..68e41a7242 100644
--- a/macros/latex/contrib/delimset/delimset.ins
+++ b/macros/latex/contrib/delimset/delimset.ins
@@ -2,7 +2,7 @@
\input docstrip.tex
\keepsilent
-% delimset.ins Copyright (C) 2016-2018 Niklas Beisert
+% delimset.ins Copyright (C) 2016-2024 Niklas Beisert
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -14,7 +14,7 @@
\preamble
-Copyright (C) 2016-2018 Niklas Beisert
+Copyright (C) 2016-2024 Niklas Beisert
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/delimset/delimset.pdf b/macros/latex/contrib/delimset/delimset.pdf
index b964bea59d..734ebf01db 100644
--- a/macros/latex/contrib/delimset/delimset.pdf
+++ b/macros/latex/contrib/delimset/delimset.pdf
Binary files differ
diff --git a/macros/latex/contrib/passopt/README.md b/macros/latex/contrib/passopt/README.md
index 3b819c42b4..f8eb8f4c43 100644
--- a/macros/latex/contrib/passopt/README.md
+++ b/macros/latex/contrib/passopt/README.md
@@ -1,5 +1,5 @@
# The `passopt` package
-Passing options to packages or classes (v1.01)
+Passing options to packages or classes (v1.01a)
## Abstract
`passopt` allow reset the global options of a loaded macro package or document class, or to change the position of the pre-passed options in the list to the right.
diff --git a/macros/latex/contrib/passopt/passopt.pdf b/macros/latex/contrib/passopt/passopt.pdf
index d6c865c112..ce6e437c65 100644
--- a/macros/latex/contrib/passopt/passopt.pdf
+++ b/macros/latex/contrib/passopt/passopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/passopt/passopt.sty b/macros/latex/contrib/passopt/passopt.sty
index b5c24ed9a3..d74c698d27 100644
--- a/macros/latex/contrib/passopt/passopt.sty
+++ b/macros/latex/contrib/passopt/passopt.sty
@@ -8,7 +8,7 @@
% The latest version of this license is in
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\ProvidesExplPackage{passopt}{2024/07/15}{1.01}
+\ProvidesExplPackage{passopt}{2024/07/17}{1.01a}
{Passing options to packages or classes}
\cs_generate_variant:Nn \tl_if_blank:nTF { v }
diff --git a/macros/latex/contrib/passopt/passopt.tex b/macros/latex/contrib/passopt/passopt.tex
index 76568eeff1..fb4473e356 100644
--- a/macros/latex/contrib/passopt/passopt.tex
+++ b/macros/latex/contrib/passopt/passopt.tex
@@ -5,8 +5,8 @@
\setcnltx
{
package = passopt,
- version = v1.01,
- date = 2024/07/15,
+ version = v1.01a,
+ date = 2024/07/17,
authors = Qu Yi,
info = Passing options to packages or classes,
email = toquyi@163.com,
@@ -42,7 +42,6 @@
\setlist{nosep,topsep = \smallskipamount}
\setlist[description,1]{leftmargin = \parindent}
\setlist[itemize,1]{leftmargin = *}
-\deffootnote{2em}{1em}{\llap{\color{red}\thefootnotemark.\space}}
\makeatother
\begin{document}
@@ -60,7 +59,7 @@ For a developer, there are some cases where packages and classes may load other
In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt1,opt2=A,opt3}}. If you wish to \textcolor{red}{disable} the pre-enabled options or place the newly enabled options to the \textcolor{red}{right} of the list (last executed), then you need to modify the code of the load command in the package or class file, but this is not recommended for public sharing. Therefore, this macro package provides commands to reset the options and change the order of the new options.
\section{User commands}
-Four commands are provided to set the options to be passed later, all of which are \textcolor{red}{locally} assigned.
+Four commands are provided to set the options to be passed later, all of which are \textcolor{red}{locally} assigned. Subsequent loading of the macro package is not must required due to the hook mechanism used to modify the list of options.
\begin{commands}
\command{SetOptionsToPackage}[\sarg\marg{options list}\marg{package}]
Passes options to the macro package, the location of the passed options is to the right of the options used when loading the macro package. If an asterisk parameter is used, only the passed options were ultimately retained.
@@ -95,7 +94,7 @@ Thanks Jonathan P. Spratte for the improvement suggestions.
\appendix
\begin{changelog}[simple]
\begin{version}[v = 1.01,date = 2024/07/15]
- \item Synchronization modifier for lists of \code{@raw@opt@} and \code{opt@}.
+ \item Synchronized modification for lists of \code{@raw@opt@} and \code{opt@}.
\item Options that are set are expanded once rather than fully expanded.
\end{version}
\end{changelog}
diff --git a/macros/luatex/generic/luamplib/NEWS b/macros/luatex/generic/luamplib/NEWS
index 57324895f8..c97974fc20 100644
--- a/macros/luatex/generic/luamplib/NEWS
+++ b/macros/luatex/generic/luamplib/NEWS
@@ -1,8 +1,13 @@
History of the luamplib package
+2024/07/17 2.34.0
+ * support transparency group with metafun format
+ * fix regarding default value in circular fading mode
+ * fix regarging the scope of graphics state
+
2024/07/14 2.33.1
* refactor the manual, including some minor items undocumented so far
- * improve fade routine to get possibly smaller pdf file
+ * improve fading routine to get possibly smaller pdf file
2024/07/08 2.33.0
* provide a new metapost operator 'withfademethod' and related macros,
diff --git a/macros/luatex/generic/luamplib/luamplib.dtx b/macros/luatex/generic/luamplib/luamplib.dtx
index a7e44a487e..44500e957c 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/07/14 v2.33.1 Interface for using the mplib library]%
+ [2024/07/17 v2.34.0 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\\
% Current Maintainer: Kim Dohyun\\
% Support: \url{https://github.com/lualatex/luamplib}}
-% \date{2024/07/14 v2.33.1}
+% \date{2024/07/17 v2.34.0}
%
% \maketitle
%
@@ -219,14 +219,14 @@ See source file '\inFileName' for licencing and contact information.
% the lua table containing metapost code
% which will
% be automatically inserted at the beginning and ending of each metapost code chunk.
-% \begin{verbatim}
+%\begin{verbatim}
% \everymplib{ beginfig(0); }
% \everyendmplib{ endfig; }
% \begin{mplibcode}
% % beginfig/endfig not needed
% draw fullcircle scaled 1cm;
% \end{mplibcode}
-% \end{verbatim}
+%\end{verbatim}
%
% \paragraph{\cs{mplibsetformat\{plain\char"7C metafun\}}}
% There are (basically) two formats for metapost: \emph{plain} and
@@ -236,15 +236,24 @@ See source file '\inFileName' for licencing and contact information.
%
% \textsc{n.b.} As \emph{metafun} is such a complicated format,
% we cannot support all the functionalities producing special effects provided by \emph{metafun}.
-% At least, however, transparency (actually opacity) and shading (gradient colors) effects
+% At least, however, transparency (actually opacity), transparency group, and shading (gradient colors)
% are fully supported,
% and outlinetext is supported by our own alternative |mpliboutlinetext| (see below \S\,1.2).
%
% \leavevmode\llap{\textcolor{red}{☞}\kern1.2\parindent}\relax
% Among these, transparency is so simple that you can apply it to an object,
% even with the \emph{plain} format,
-% just by appending |withprescript "tr_transparency=|\emph{<number>}|"|, where
-% $0 \le \hbox{\emph{<number>}} \le 1$, to the sentence.
+% just by appending |withprescript "tr_transparency=|\emph{<number>}|"| to the sentence.
+% ($0 \le \hbox{\emph{<number>}} \le 1$)
+%
+% As for transparency group, the current \emph{metafun} document \S\,8.8 is not correct.
+% The true syntax is:
+%\begin{verbatim}
+% draw <picture>|<path> asgroup <string>
+%\end{verbatim}
+% where \emph{<string>} should be |""| (empty), |"isolated"|, |"knockout"|, or |"isolated,knockout"|.
+% Beware that currently many of the PDF rendering applications, except Adobe Acrobat Reader,
+% cannot properly render the isolated or knockout effect.
%
% One thing worth mentioning about shading is:
% when a color expression is given in string type,
@@ -277,14 +286,14 @@ See source file '\inFileName' for licencing and contact information.
% each figure box can be freely moved horizontally or vertically.
% Also, a box number can be assigned to a figure box, allowing it to be
% reused later.
-% \begin{verbatim}
+%\begin{verbatim}
% \mplibcode
% verbatimtex \moveright 3cm etex; beginfig(0); ... endfig;
% verbatimtex \leavevmode etex; beginfig(1); ... endfig;
% verbatimtex \leavevmode\lower 1ex etex; beginfig(2); ... endfig;
% verbatimtex \endgraf\moveright 1cm etex; beginfig(3); ... endfig;
% \endmplibcode
-% \end{verbatim}
+%\end{verbatim}
% \textsc{n.b.} \cs{endgraf} should be used instead of \cs{par} inside
% |verbatimtex ... etex|.
%
@@ -292,7 +301,7 @@ See source file '\inFileName' for licencing and contact information.
% between |beginfig()| and |endfig| will be inserted
% after flushing out the metapost figure.
% As shown in the example below, |VerbatimTeX()| is a synonym of |verbatimtex| |...| |etex|.
-% \begin{verbatim}
+%\begin{verbatim}
% \mplibcode
% D := sqrt(2)**7;
% beginfig(0);
@@ -301,7 +310,7 @@ See source file '\inFileName' for licencing and contact information.
% endfig;
% \endmplibcode
% diameter: \Dia bp.
-% \end{verbatim}
+%\end{verbatim}
%
% By contrast,
% when |\mpliblegacybehavior{disabled}| is declared, any
@@ -309,7 +318,7 @@ See source file '\inFileName' for licencing and contact information.
% sequentially one by one.
% So, some \TeX\ code in |verbatimtex ... etex| will have effects on
% following |btex| |...| |etex| codes.
-% \begin{verbatim}
+%\begin{verbatim}
% \begin{mplibcode}
% beginfig(0);
% draw btex ABC etex;
@@ -318,7 +327,7 @@ See source file '\inFileName' for licencing and contact information.
% draw btex GHI etex shifted (2cm,0); % bold face
% endfig;
% \end{mplibcode}
-% \end{verbatim}
+%\end{verbatim}
%
% \paragraph{\cs{mplibtextextlabel\{enable\char"7C disable\}}}
% Default: |disable|.
@@ -347,11 +356,11 @@ See source file '\inFileName' for licencing and contact information.
% in \LaTeX{} |mplibcode| environment.
% Plain \TeX\ users also can use this functionality.
% The syntax for \LaTeX\ is:
-% \begin{verbatim}
+%\begin{verbatim}
% \begin{mplibcode}[instanceName]
% % some mp code
% \end{mplibcode}
-% \end{verbatim}
+%\end{verbatim}
% The behavior is as follows.
% \begin{itemize}
% \item All the variables and functions are shared
@@ -371,10 +380,10 @@ See source file '\inFileName' for licencing and contact information.
% Unnamed \cs{everymplib} affects not only those instances with no name,
% but also those with name but with no corresponding \cs{everymplib}.
% The syntax is:
-% \begin{verbatim}
+%\begin{verbatim}
% \everymplib[instanceName]{...}
% \everyendmplib[instanceName]{...}
-% \end{verbatim}
+%\end{verbatim}
%
% \paragraph{\cs{mplibglobaltextext\{enable\char"7C disable\}}}
% Default: |disable|.
@@ -382,8 +391,8 @@ See source file '\inFileName' for licencing and contact information.
% it was necessary to declare \cs{mplibglobaltextext\{enable\}} in advance.
% But from v2.27, this is implicitly enabled when \cs{mplibcodeinherit}
% is enabled.
-% This optinal command still remains mostly for backward compatibility.
-% \begin{verbatim}
+% This optional command still remains mostly for backward compatibility.
+%\begin{verbatim}
% \mplibcodeinherit{enable}
% %\mplibglobaltextext{enable}
% \everymplib{ beginfig(0);} \everyendmplib{ endfig;}
@@ -395,7 +404,7 @@ See source file '\inFileName' for licencing and contact information.
% \mplibcode
% currentpicture := pic scaled 2;
% \endmplibcode
-% \end{verbatim}
+%\end{verbatim}
%
% \paragraph{\cs{mplibverbatim\{enable\char"7C disable\}}}
% Default: |disable|.
@@ -409,14 +418,14 @@ See source file '\inFileName' for licencing and contact information.
% Besides other \TeX\ commands, \cs{mpdim} is specially allowed
% in the mplibcode environment. This feature is inpired by \textsf{gmp} package authored by
% Enrico Gregorio. Please refer to the manual of \textsf{gmp} package for details.
-% \begin{verbatim}
+%\begin{verbatim}
% \begin{mplibcode}
% beginfig(1)
% draw origin--(.6\mpdim{\linewidth},0) withpen pencircle scaled 4
% dashed evenly scaled 4 withcolor \mpcolor{orange};
% endfig;
% \end{mplibcode}
-% \end{verbatim}
+%\end{verbatim}
%
% \paragraph{\cs{mpcolor[...]\{...\}}}
% With \cs{mpcolor} command, color names or expressions of
@@ -435,7 +444,7 @@ See source file '\inFileName' for licencing and contact information.
% we also provide unexpandable \TeX\ macros |\mpfig ... \endmpfig| and its starred version
% |\mpfig* ... \endmpfig| to save typing toil.
% The former is roughly the same as follows:
-% \begin{verbatim}
+%\begin{verbatim}
% \begin{mplibcode}[@mpfig]
% beginfig(0)
% token list declared by \everymplib[@mpfig]
@@ -443,24 +452,24 @@ See source file '\inFileName' for licencing and contact information.
% token list declared by \everyendmplib[@mpfig]
% endfig;
% \end{mplibcode}
-% \end{verbatim}
+%\end{verbatim}
% and the starred version is roughly the same as follows:
-% \begin{verbatim}
+%\begin{verbatim}
% \begin{mplibcode}[@mpfig]
% ...
% \end{mplibcode}
-% \end{verbatim}
+%\end{verbatim}
% In these macros |\mpliblegacybehavior{disable}|
% is forcibly declared.
% Again, as both share the same instance name, metapost codes are inherited among them.
% A simple example:
-% \begin{verbatim}
+%\begin{verbatim}
% \everymplib[@mpfig]{ drawoptions(withcolor .5[red,white]); }
% \mpfig* input boxes \endmpfig
% \mpfig
% circleit.a(btex Box 1 etex); drawboxed(a);
% \endmpfig
-% \end{verbatim}
+%\end{verbatim}
% The instance name (default: |@mpfig|) can be changed by redefining
% \cs{mpfiginstancename}, after which a new mplib instance will start and
% code inheritance too will begin anew. |\let\mpfiginstancename\empty| will
@@ -523,10 +532,10 @@ See source file '\inFileName' for licencing and contact information.
% to a MetaPost color expression, that can be used anywhere color expression is expected
% as well as after the |withcolor| operator.
% For instance:
-% \begin{verbatim}
+%\begin{verbatim}
% color col;
% col := mplibtexcolor "olive!50";
-% \end{verbatim}
+%\end{verbatim}
% But the result may vary in its color model (gray/rgb/cmyk)
% according to the given \TeX\ color. (Spot colors are forced to
% cmyk model, so this operator is not recommended for spot colors.)
@@ -538,11 +547,11 @@ See source file '\inFileName' for licencing and contact information.
% |mplibgraphictext| is a metapost operator, the effect of which is similar to that of
% \ConTeXt's |graphictext| or our own |mpliboutlinetext| (see below).
% However the syntax is somewhat different.
-% \begin{verbatim}
+%\begin{verbatim}
% mplibgraphictext "Funny"
% fakebold 2.3 % fontspec option
% drawcolor .7blue fillcolor "red!50" % color expressions
-% \end{verbatim}
+%\end{verbatim}
% |fakebold|, |drawcolor| and |fillcolor| are optional;
% default values are |2|, |"black"| and |"white"| respectively.
% When the color expressions are given in string type, they are regarded as
@@ -567,13 +576,13 @@ See source file '\inFileName' for licencing and contact information.
% From v2.30, we provide a new metapost operator |mplibglyph|, which returns a metapost picture
% containing outline paths of a glyph in opentype, truetype or type1 fonts.
% When a type1 font is specified, metapost primitive |glyph| will be called.
-% \begin{verbatim}
+%\begin{verbatim}
% mplibglyph 50 of \fontid\font % slot 50 of current font
% mplibglyph "Q" of "TU/TeXGyrePagella(0)/m/n/10" % font csname
% mplibglyph "Q" of "texgyrepagella-regular.otf" % raw filename
% mplibglyph "Q" of "Times.ttc(2)" % subfont number
% mplibglyph "Q" of "SourceHanSansK-VF.otf[Regular]" % instance name
-% \end{verbatim}
+%\end{verbatim}
% Both arguments before and after of ``|of|'' can be either a number or a string.
% Number arguments are regarded as a glyph slot (GID) and a font id number, repectively.
% String argument at the left side is regarded as a glyph name in the font or a unicode character.
@@ -601,12 +610,12 @@ See source file '\inFileName' for licencing and contact information.
% From v2.31, a new metapost operator |mpliboutlinetext| is available, which mimicks
% metafun's |outlinetext|. So the syntax is the same as metafun's. See the metafun
% manual \S\,8.7 (|texdoc metafun|). A simple example:
-% \begin{verbatim}
+%\begin{verbatim}
% draw mpliboutlinetext.b ("$\sqrt{2+\alpha}$")
% (withcolor \mpcolor{red!50})
% (withpen pencircle scaled .2 withcolor red)
% scaled 2 ;
-% \end{verbatim}
+%\end{verbatim}
% After the process, |mpliboutlinepic[]|
% and |mpliboutlinenum| will be preserved as global variables;
% |mpliboutlinepic[1]| \ldots{} |mpliboutlinepic[mpliboutlinenum]|
@@ -624,7 +633,7 @@ See source file '\inFileName' for licencing and contact information.
% the given path with a tiling pattern of the |<name>|
% by replicating it horizontally and vertically.
% An example:
-% \begin{verbatim}
+%\begin{verbatim}
% \mppattern{mypatt} % or \begin{mppattern}{mypatt}
% [ % options: see below
% xstep = 10, ystep = 12,
@@ -645,7 +654,7 @@ See source file '\inFileName' for licencing and contact information.
% withpattern "mypatt"
% withpostscript "evenodd" ;
% \endmpfig
-% \end{verbatim}
+%\end{verbatim}
%
% The available options are listed in Table~\ref{tab:mppatternoptions}.
% \begin{table}
@@ -681,7 +690,7 @@ See source file '\inFileName' for licencing and contact information.
% Option |colored=false| (|coloured| is a synonym of |colored|) will generate an uncolored pattern which shall have no color at all.
% Uncolored pattern will be painted later by the color of a metapost object.
% An example:
-% \begin{verbatim}
+%\begin{verbatim}
% \begin{mppattern}{pattuncolored}
% [
% colored = false,
@@ -710,7 +719,7 @@ See source file '\inFileName' for licencing and contact information.
% endfor
% endfig;
% \end{mplibcode}
-% \end{verbatim}
+%\end{verbatim}
%
% \paragraph{\texttt{... withfademethod ...}, and related macros}
% |withfademethod| is a metapost operator which makes the color of an object gradiently transparent.
@@ -743,7 +752,7 @@ See source file '\inFileName' for licencing and contact information.
% explicitly control the bounding box.
% \end{description}
% An example:
-% \begin{verbatim}
+%\begin{verbatim}
% \mpfig
% picture mill;
% mill = btex \includegraphics[width=100bp]{mill} etex;
@@ -754,7 +763,7 @@ See source file '\inFileName' for licencing and contact information.
% withfadeopacity (1, 0)
% ;
% \endmpfig
-% \end{verbatim}
+%\end{verbatim}
%
% \subsection{Lua}
%
@@ -778,7 +787,7 @@ See source file '\inFileName' for licencing and contact information.
% as documented in Lua\TeX{} manual \S\,11.2.8.4 (|texdoc luatex|).
% The following will print |false|, |3.0|, |MetaPost| and
% the knots and the cyclicity of the path |unitsquare|, consecutively.
-% \begin{verbatim}
+%\begin{verbatim}
% \begin{mplibcode}[instance1]
% boolean b; b = 1 > 2;
% numeric n; n = 3;
@@ -796,13 +805,13 @@ See source file '\inFileName' for licencing and contact information.
% print(k, type(v)=='table' and table.concat(v,' ') or v)
% end
% }
-% \end{verbatim}
+%\end{verbatim}
%
% \paragraph{Lua function \texttt{luamplib.process\_mplibcode}}
% Users can execute a MetaPost code chunk from Lua side by using this function:
-% \begin{verbatim}
+%\begin{verbatim}
% luamplib.process_mplibcode (<string> metapost code, <string> instance name)
-% \end{verbatim}
+%\end{verbatim}
% The second argument cannot be absent, but can be an empty string (|""|) which
% means that it has no instance name.
%
@@ -841,8 +850,8 @@ See source file '\inFileName' for licencing and contact information.
luatexbase.provides_module {
name = "luamplib",
- version = "2.33.1",
- date = "2024/07/14",
+ version = "2.34.0",
+ date = "2024/07/17",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
@@ -1655,7 +1664,7 @@ luamplib.shadecolor = function (str)
if res:find" cs " or res:find"@pdf.obj" then -- spot color shade: l3 only
% \end{macrocode}
% An example of spot color shading:
-% \begin{verbatim}
+%\begin{verbatim}
% \documentclass{article}
% \usepackage{luamplib}
% \mplibsetformat{metafun}
@@ -1701,9 +1710,9 @@ luamplib.shadecolor = function (str)
% endfig;
% \end{mplibcode}
% \end{document}
-% \end{verbatim}
+%\end{verbatim}
% another one: user-defined DeviceN colorspace
-% \begin{verbatim}
+%\begin{verbatim}
% \DocumentMetadata{ }
% \documentclass{article}
% \usepackage{luamplib}
@@ -1731,7 +1740,7 @@ luamplib.shadecolor = function (str)
% ;
% \endmpfig
% \end{document}
-% \end{verbatim}
+%\end{verbatim}
% \begin{macrocode}
run_tex_code({
[[\color_export:nnN{]], str, [[}{backend}\mplib_@tempa]],
@@ -2509,7 +2518,15 @@ vardef mplibtransformmatrix (text e) =
& "}");
enddef;
primarydef p withfademethod s =
- p withprescript "mplibfadetype=" & s
+ if picture p:
+ image(
+ draw p;
+ draw center p withprescript "mplibfadestate=stop";
+ )
+ else:
+ p withprescript "mplibfadestate=stop"
+ fi
+ withprescript "mplibfadetype=" & s
withprescript "mplibfadebbox=" &
decimal xpart llcorner p & ":" &
decimal ypart llcorner p & ":" &
@@ -2863,6 +2880,7 @@ else
"\\special{pdf:obj @MPlibCS<<>>}",
"\\special{pdf:obj @MPlibPt<<>>}",
}
+ pdfetcs.resadded = { }
end
% \end{macrocode}
@@ -2909,23 +2927,29 @@ local function add_extgs_resources (on, new)
end
if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfextgs) then
texsprint"\\special{pdf:put @resources <</ExtGState @MPlibTr>>}"
+ pdfetcs.resadded.ExtGState = "@MPlibTr"
end
return key
end
local function do_preobj_TR(object,prescript)
if object.postscript == "collect" then return end
local opaq = prescript and prescript.tr_transparency
- local on
if opaq then
+ local key, on, os, new
local mode = prescript.tr_alternative or 1
- mode = transparancy_modes[tonumber(mode)]
- local os, new = format("<</BM /%s/ca %.3f/CA %.3f/AIS false>>",mode,opaq,opaq)
- on, new = update_pdfobjs(os)
- local key = add_extgs_resources(on,new)
- start_pdf_code()
- pdf_literalcode("/%s gs",key)
+ mode = transparancy_modes[tonumber(mode)] or mode
+ for i,v in ipairs{ {mode,opaq},{"Normal",1} } do
+ mode, opaq = v[1], v[2]
+ os = format("<</BM /%s/ca %.3f/CA %.3f/AIS false>>",mode,opaq,opaq)
+ on, new = update_pdfobjs(os)
+ key = add_extgs_resources(on,new)
+ if i == 1 then
+ pdf_literalcode("/%s gs",key)
+ else
+ return format("/%s gs",key)
+ end
+ end
end
- return on
end
% \end{macrocode}
@@ -2981,6 +3005,7 @@ local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,st
end
if not pdfmode and not pdfmanagement then
texsprint"\\special{pdf:put @resources <</Shading @MPlibSh>>}"
+ pdfetcs.resadded.Shading = "@MPlibSh"
end
return on
end
@@ -3131,6 +3156,64 @@ end
% \begin{macrocode}
pdfetcs.patterns = { }
local patterns = pdfetcs.patterns
+local function gather_resources (do_pattern, optres)
+ local t = { }
+ local names = {"ExtGState","ColorSpace","Shading"}
+ if do_pattern then
+ names[#names+1] = "Pattern"
+ end
+ if pdfmode then
+ if pdfmanagement then
+ for _,v in ipairs(names) do
+ local pp = get_macro(format("g__pdfdict_/g__pdf_Core/Page/Resources/%s_prop",v))
+ if pp and pp:find"__prop_pair" then
+ t[#t+1] = format("/%s %s 0 R", v, ltx.pdf.object_id("__pdf/Page/Resources/"..v))
+ end
+ end
+ else
+ local res = pdfetcs.getpageres() or ""
+ run_tex_code[[\mplibtmptoks\expandafter{\the\pdfvariable pageresources}]]
+ res = (res .. texgettoks'mplibtmptoks'):explode()
+ res = tableconcat(res," "):explode"/+"
+ for _,v in ipairs(res) do
+ if do_pattern or not v:find"Pattern" and not optres:find(v) then
+ t[#t+1] = "/" .. v
+ end
+ end
+ end
+ else
+ if pdfmanagement then
+ for _,v in ipairs(names) do
+ local pp = get_macro(format("g__pdfdict_/g__pdf_Core/Page/Resources/%s_prop",v))
+ if pp and pp:find"__prop_pair" then
+ run_tex_code {
+ "\\mplibtmptoks\\expanded{{",
+ format("/%s \\csname pdf_object_ref:n\\endcsname{__pdf/Page/Resources/%s}",v,v),
+ "}}",
+ }
+ t[#t+1] = texgettoks'mplibtmptoks'
+ end
+ end
+ elseif is_defined(pdfetcs.pgfextgs) then
+ run_tex_code ({
+ "\\mplibtmptoks\\expanded{{",
+ "\\ifpgf@sys@pdf@extgs@exists /ExtGState @pgfextgs\\fi",
+ "\\ifpgf@sys@pdf@colorspaces@exists /ColorSpace @pgfcolorspaces\\fi",
+ do_pattern and "\\ifpgf@sys@pdf@patterns@exists /Pattern @pgfpatterns \\fi" or "",
+ "}}",
+ }, catat11)
+ t[#t+1] = texgettoks'mplibtmptoks'
+ elseif do_pattern then
+ for _,v in ipairs(names) do
+ local vv = pdfetcs.resadded[v]
+ if vv then
+ t[#t+1] = format("/%s %s", v, vv)
+ end
+ end
+ end
+ end
+ return t
+end
function luamplib.registerpattern ( boxid, name, opts )
local box = texgetbox(boxid)
local wd = format("%.3f",box.width/factor)
@@ -3163,27 +3246,10 @@ function luamplib.registerpattern ( boxid, name, opts )
format("/YStep %s", opts.ystep or hd),
format("/Matrix [%s %s %s]", opts.matrix or "1 0 0 1", opts.xshift or 0, opts.yshift or 0),
}
+ local optres = opts.resources or ""
+ local t = gather_resources(false, optres)
+ optres = optres .. tableconcat(t)
if pdfmode then
- local optres, t = opts.resources or "", { }
- if pdfmanagement then
- for _,v in ipairs{"ExtGState","ColorSpace","Shading"} do
- local pp = get_macro(format("g__pdfdict_/g__pdf_Core/Page/Resources/%s_prop",v))
- if pp and pp:find"__prop_pair" then
- t[#t+1] = format("/%s %s 0 R", v, ltx.pdf.object_id("__pdf/Page/Resources/"..v))
- end
- end
- else
- local res = pdfetcs.getpageres() or ""
- run_tex_code[[\mplibtmptoks\expandafter{\the\pdfvariable pageresources}]]
- res = (res .. texgettoks'mplibtmptoks'):explode()
- res = tableconcat(res," "):explode"/+"
- for _,v in ipairs(res) do
- if not v:find"Pattern" and not optres:find(v) then
- t[#t+1] = "/" .. v
- end
- end
- end
- optres = optres .. tableconcat(t)
if opts.bbox then
attr[#attr+1] = format("/BBox [%s]", opts.bbox)
end
@@ -3192,29 +3258,6 @@ function luamplib.registerpattern ( boxid, name, opts )
else
local objname = "@mplibpattern"..name
local metric = format("bbox %s", opts.bbox or format("0 0 %s %s",wd,hd))
- local optres, t = opts.resources or "", { }
- if pdfmanagement then
- for _,v in ipairs{"ExtGState","ColorSpace","Shading"} do
- local pp = get_macro(format("g__pdfdict_/g__pdf_Core/Page/Resources/%s_prop",v))
- if pp and pp:find"__prop_pair" then
- run_tex_code {
- "\\mplibtmptoks\\expanded{{",
- format("/%s \\csname pdf_object_ref:n\\endcsname{__pdf/Page/Resources/%s}",v,v),
- "}}",
- }
- t[#t+1] = texgettoks'mplibtmptoks'
- end
- end
- elseif is_defined(pdfetcs.pgfextgs) then
- run_tex_code ({
- "\\mplibtmptoks\\expanded{{",
- "\\ifpgf@sys@pdf@extgs@exists /ExtGState @pgfextgs\\fi",
- "\\ifpgf@sys@pdf@colorspaces@exists /ColorSpace @pgfcolorspaces\\fi",
- "}}",
- }, catat11)
- t[#t+1] = texgettoks'mplibtmptoks'
- end
- optres = optres .. tableconcat(t)
texsprint {
[[\ifvmode\nointerlineskip\fi]],
format([[\hbox to0pt{\vbox to0pt{\hsize=\wd %i\vss\noindent]], boxid), -- force horiz mode?
@@ -3251,6 +3294,7 @@ local function pattern_colorspace (cs)
end
if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfcolorspace) then
texsprint"\\special{pdf:put @resources <</ColorSpace @MPlibCS>>}"
+ pdfetcs.resadded.ColorSpace = "@MPlibCS"
end
return on
end
@@ -3305,6 +3349,7 @@ local function do_preobj_PAT(object, prescript)
end
if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfpattern) then
texsprint"\\special{pdf:put @resources <</Pattern @MPlibPt>>}"
+ pdfetcs.resadded.Pattern = "@MPlibPt"
end
patt.done = true
end
@@ -3313,22 +3358,29 @@ end
%
% Fading
% \begin{macrocode}
+pdfetcs.fading = { }
local function do_preobj_FADE (object, prescript)
- if object.postscript == "collect" then return end
local fd_type = prescript and prescript.mplibfadetype
- if not fd_type then return end
+ local fd_stop = prescript and prescript.mplibfadestate
+ if not fd_type then
+ return fd_stop -- returns "stop" (if picture) or nil
+ end
local bbox = prescript.mplibfadebbox:explode":"
- local width, height = bbox[3]-bbox[1], bbox[4]-bbox[2]
- local vec = prescript.mplibfadevector
- vec = vec and vec:explode":"
- or fd_type == "linear" and {bbox[1], bbox[2], bbox[3], bbox[2]} -- left to right
- or {width/2, height/2, width/2, height/2} -- center for both circles
local dx, dy = -bbox[1], -bbox[2]
- bbox = format("0 0 %f %f", bbox[3]+dx, bbox[4]+dy)
+ local vec = prescript.mplibfadevector; vec = vec and vec:explode":"
+ if not vec then
+ if fd_type == "linear" then
+ vec = {bbox[1], bbox[2], bbox[3], bbox[2]} -- left to right
+ else
+ local centerx, centery = (bbox[1]+bbox[3])/2, (bbox[2]+bbox[4])/2
+ vec = {centerx, centery, centerx, centery} -- center for both circles
+ end
+ end
local coords = { vec[1]+dx, vec[2]+dy, vec[3]+dx, vec[4]+dy }
if fd_type == "linear" then
coords = format("%f %f %f %f", tableunpack(coords))
elseif fd_type == "circular" then
+ local width, height = bbox[3]-bbox[1], bbox[4]-bbox[2]
local radius = (prescript.mplibfaderadius or "0:"..math.sqrt(width^2+height^2)/2):explode":"
tableinsert(coords, 3, radius[1])
tableinsert(coords, radius[2])
@@ -3336,6 +3388,7 @@ local function do_preobj_FADE (object, prescript)
else
err("unknown fading method '%s'", fd_type)
end
+ bbox = format("0 0 %f %f", bbox[3]+dx, bbox[4]+dy)
fd_type = fd_type == "linear" and 2 or 3
local opaq = (prescript.mplibfadeopacity or "1:0"):explode":"
local on, os, new
@@ -3360,7 +3413,76 @@ local function do_preobj_FADE (object, prescript)
local key = add_extgs_resources(on,new)
start_pdf_code()
pdf_literalcode("/%s gs", key)
- return on
+ if fd_stop then return "standalone" end
+ return "start"
+end
+
+% \end{macrocode}
+%
+% Transparency Group
+% \begin{macrocode}
+pdfetcs.tr_group = { }
+local function do_preobj_GRP (object, prescript)
+ local grstate = prescript and prescript.gr_state
+ if not grstate then return end
+ local trgroup = pdfetcs.tr_group
+ if grstate == "start" then
+ trgroup.isolated, trgroup.knockout = false, false
+ for _,v in ipairs(prescript.gr_type:explode",+") do
+ trgroup[v] = true
+ end
+ local p = object.path
+ trgroup.bbox = {
+ math.min(p[1].x_coord, p[2].x_coord, p[3].x_coord, p[4].x_coord),
+ math.min(p[1].y_coord, p[2].y_coord, p[3].y_coord, p[4].y_coord),
+ math.max(p[1].x_coord, p[2].x_coord, p[3].x_coord, p[4].x_coord),
+ math.max(p[1].y_coord, p[2].y_coord, p[3].y_coord, p[4].y_coord),
+ }
+ put2output[[\begingroup\setbox\mplibscratchbox\hbox\bgroup]]
+ elseif grstate == "stop" then
+ local llx,lly,urx,ury = tableunpack(trgroup.bbox)
+ local grattr = format("/Group<</S/Transparency/I %s/K %s>>",trgroup.isolated,trgroup.knockout)
+ local res = tableconcat(gather_resources(true))
+ put2output(tableconcat{
+ "\\egroup",
+ format("\\wd\\mplibscratchbox %fbp", urx-llx),
+ format("\\ht\\mplibscratchbox %fbp", ury-lly),
+ "\\dp\\mplibscratchbox 0pt",
+ })
+ if pdfmode then
+ put2output(tableconcat{
+ "\\saveboxresource type 2 attr{/Type/XObject/Subtype/Form/FormType 1",
+ format("/BBox[%f %f %f %f]", llx,lly,urx,ury),
+ grattr, "} resources{", res, "}\\mplibscratchbox",
+ [[\setbox\mplibscratchbox\hbox{\useboxresource\lastsavedboxresourceindex}]],
+ [[\wd\mplibscratchbox 0pt\ht\mplibscratchbox 0pt\dp\mplibscratchbox 0pt]],
+ [[\box\mplibscratchbox\endgroup]],
+ })
+ else
+ trgroup.cnt = (trgroup.cnt or 0) + 1
+ local objname = format("@mplibtrgr%s", trgroup.cnt)
+ put2output(tableconcat{
+ "\\special{pdf:bxobj ", objname, " bbox ", format("%f %f %f %f", llx,lly,urx,ury), "}",
+ "\\unhbox\\mplibscratchbox",
+ "\\special{pdf:put @resources <<", res, ">>}",
+ "\\special{pdf:exobj <<", grattr, ">>}",
+ "\\special{pdf:uxobj ", objname, "}\\endgroup",
+ })
+ end
+ end
+ return grstate
+end
+
+local function stop_special_effects(fade,opaq,over)
+ if fade then -- fading
+ stop_pdf_code()
+ end
+ if opaq then -- opacity
+ pdf_literalcode(opaq)
+ end
+ if over then -- color
+ put2output"\\special{pdf:ec}"
+ end
end
% \end{macrocode}
@@ -3488,11 +3610,11 @@ function luamplib.flush (result,flusher)
% luamplib silently ignores this invalid figure for those
% that do not contain |beginfig ... endfig|. (issue \#70)
% Original code of ConTeXt general was:
-% \begin{verbatim}
+%\begin{verbatim}
% -- invalid
% pdf_startfigure(fignum,0,0,0,0)
% pdf_stopfigure()
-% \end{verbatim}
+%\end{verbatim}
% \begin{macrocode}
else
% \end{macrocode}
@@ -3510,7 +3632,7 @@ function luamplib.flush (result,flusher)
local object = objects[o]
local objecttype = object.type
% \end{macrocode}
-% The following 7 lines are part of |btex...etex| patch.
+% The following 8 lines are part of |btex...etex| patch.
% Again, colors are processed at this stage.
% \begin{macrocode}
local prescript = object.prescript
@@ -3518,6 +3640,7 @@ function luamplib.flush (result,flusher)
local cr_over = do_preobj_CR(object,prescript) -- color
local tr_opaq = do_preobj_TR(object,prescript) -- opacity
local fading_ = do_preobj_FADE(object,prescript) -- fading
+ local trgroup = do_preobj_GRP(object,prescript) -- transparency group
if prescript and prescript.mplibtexboxid then
put_tex_boxes(object,prescript)
elseif objecttype == "start_bounds" or objecttype == "stop_bounds" then --skip
@@ -3543,7 +3666,7 @@ function luamplib.flush (result,flusher)
pdf_literalcode("%f %f %f %f %f %f cm",ot[3],ot[4],ot[5],ot[6],ot[1],ot[2])
pdf_textfigure(object.font,object.dsize,object.text,object.width,object.height,object.depth)
stop_pdf_code()
- else
+ elseif not trgroup and fading_ ~= "stop" then
local evenodd, collect, both = false, false, false
local postscript = object.postscript
if not object.istext then
@@ -3569,10 +3692,7 @@ function luamplib.flush (result,flusher)
else
% \end{macrocode}
% Removed from ConTeXt general: color stuff.
-% Added instead : shading stuff
% \begin{macrocode}
- local shade_no = do_preobj_SH(object,prescript) -- shading
- local pattern_ = do_preobj_PAT(object,prescript) -- pattern
local ml = object.miterlimit
if ml and ml ~= miterlimit then
miterlimit = ml
@@ -3599,6 +3719,11 @@ function luamplib.flush (result,flusher)
pdf_literalcode("[] 0 d")
dashed = false
end
+% \end{macrocode}
+% Added : shading and pattern
+% \begin{macrocode}
+ local shade_no = do_preobj_SH(object,prescript) -- shading
+ local pattern_ = do_preobj_PAT(object,prescript) -- pattern
local path = object.path
local transformed, penwidth = false, 1
local open = path and path[1].left_type and path[#path].right_type
@@ -3688,21 +3813,29 @@ function luamplib.flush (result,flusher)
end
end
% \end{macrocode}
-% Added to ConTeXt general: post-object color and shading stuff.
+% Added to ConTeXt general: post-object colors and shading stuff.
+% We should beware the |q ... Q| scope.
% \begin{macrocode}
if shade_no then -- shading
pdf_literalcode("W n /MPlibSh%s sh Q",shade_no)
end
end
end
- if fading_ then -- fading
- stop_pdf_code()
- end
- if tr_opaq then -- opacity
- stop_pdf_code()
+ if fading_ == "start" then
+ pdfetcs.fading.specialeffects = {fading_, tr_opaq, cr_over}
+ elseif trgroup == "start" then
+ pdfetcs.tr_group.specialeffects = {fading_, tr_opaq, cr_over}
+ elseif fading_ == "stop" then
+ local se = pdfetcs.fading.specialeffects
+ if se then stop_special_effects(se[1], se[2], se[3]) end
+ elseif trgroup == "stop" then
+ local se = pdfetcs.tr_group.specialeffects
+ if se then stop_special_effects(se[1], se[2], se[3]) end
+ else
+ stop_special_effects(fading_, tr_opaq, cr_over)
end
- if cr_over then -- color
- put2output"\\special{pdf:ec}"
+ if fading_ or trgroup then -- extgs resetted
+ miterlimit, linecap, linejoin, dashed = -1, -1, -1, false
end
end
end
@@ -3761,7 +3894,7 @@ end
\else
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2024/07/14 v2.33.1 mplib package for LuaTeX]
+ [2024/07/17 v2.34.0 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
index a8bea32e1a..d59201ed00 100644
--- a/macros/luatex/generic/luamplib/luamplib.pdf
+++ b/macros/luatex/generic/luamplib/luamplib.pdf
Binary files differ
diff --git a/macros/luatex/generic/luamplib/test-luamplib-latex.tex b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
index 50a5778870..b2f2f63cb7 100644
--- a/macros/luatex/generic/luamplib/test-luamplib-latex.tex
+++ b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
@@ -287,7 +287,7 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
endfor
endfor
\endmpfig
-\par
+\par\leavevmode
\mpfig
picture mill; mill = btex \includegraphics[width=100bp]{mill} etex;
draw mill;
@@ -299,6 +299,33 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
withfadeopacity (1, 0)
;
\endmpfig
+\par
+\def\test#1{%
+ \mpfig
+ fill unitsquare shifted -center unitsquare scaled 200
+ withshademethod "linear"
+ withshadecolors (.3[red,white], .3[blue,white])
+ ;
+ label( btex MetaPost etex scaled 3, origin) ;
+ draw image(
+ fill fullcircle scaled 100 shifted 25left
+ withcolor .8white
+ withtransparency (2,1)
+ ;
+ fill fullcircle scaled 100 shifted 25right
+ withcolor .8white
+ withtransparency (2,1)
+ ;
+ )
+ asgroup "#1"
+ withtransparency (1,.5)
+ ;
+ currentpicture := currentpicture scaled 3/4;
+ \endmpfig
+}%
+\hbox{\test{isolated,knockout}\,\test{isolated}\vbox to\MPheight{\vss\hbox{~isolated}\vss}}%
+\hbox{\test{knockout}\,\test{}}%
+\hbox to\MPwidth{\hss knockout\hss}%
\tracingcommands0
\vskip 2\baselineskip
diff --git a/macros/luatex/generic/luamplib/test-luamplib-plain.tex b/macros/luatex/generic/luamplib/test-luamplib-plain.tex
index dde6fbfb10..622932ca10 100644
--- a/macros/luatex/generic/luamplib/test-luamplib-plain.tex
+++ b/macros/luatex/generic/luamplib/test-luamplib-plain.tex
@@ -280,6 +280,20 @@ draw mpliboutlinetext.b ("$\overbrace{x+\cdots+x}^k$")
endfor
endfor
\endmpfig
+\mpfig
+fill fullcircle scaled 125 withcolor 2/3[blue,white];
+draw image(
+ draw (left--right) rotated 45 scaled 50
+ withpen pencircle scaled 20
+ ;
+ draw (left--right) rotated -45 scaled 50
+ withpen pencircle scaled 20
+ ;
+ )
+ asgroup ""
+ withprescript "tr_transparency=.3"
+ ;
+\endmpfig
\tracingcommands0
\vskip 2\baselineskip
diff --git a/macros/luatex/latex/tango/README b/macros/luatex/latex/tango/README
index 1d62186710..014ae456a2 100644
--- a/macros/luatex/latex/tango/README
+++ b/macros/luatex/latex/tango/README
@@ -1,12 +1,19 @@
Tango is a LaTeX document class for use by mathematics teachers. It requires lualatex, some LaTeX packages (see the complete documentation for details), and a recent version of LaTeX (see paragraph 4 below).
+Author: Michel Bovani <Michel.Bovani@icloud.com>
+Tango Web Page: https://tango.mathriochka.net
+
1 Versions history
-This version number is 0.7.2
+0.8.0 (2024-07-17) This version
+New: Language complete support for
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish.
+
+0.7.2 (2024-07-12)
New in this version
• correction of the countername in subparagraph definition for titlesec.
• fix incorrect vertical space in the \exo command.
-0.7.1 First release
+0.7.1 First release (2024-07-08)
2 License
Tango is released under Latex public project licence (LPPL), version 1.3c
@@ -14,7 +21,7 @@ See https://www.latex-project.org/lppl/lppl-1-3c/
3 Installation
Just put the tango.cls file in a latex directory of a texmf tree, for example:
-TEXMF/tex/latex/tango/tango.cls
+TEXMF/tex/lualatex/tango/tango.cls
4 Usage
\documentclass[<options>]{tango}
diff --git a/macros/luatex/latex/tango/doc/tango-en.pdf b/macros/luatex/latex/tango/doc/tango-en.pdf
index 3447817ff1..d7969f1cb5 100644
--- a/macros/luatex/latex/tango/doc/tango-en.pdf
+++ b/macros/luatex/latex/tango/doc/tango-en.pdf
Binary files differ
diff --git a/macros/luatex/latex/tango/doc/tango-en.tex b/macros/luatex/latex/tango/doc/tango-en.tex
index 99a6399dce..bf7995ef17 100644
--- a/macros/luatex/latex/tango/doc/tango-en.tex
+++ b/macros/luatex/latex/tango/doc/tango-en.tex
@@ -26,8 +26,9 @@
\renewcommand{\arraystretch}{1.1}
\title{\textcolor{ColorOne}{\floweroneleft}\,The tango document class\,\textcolor{ColorOne}{\floweroneright}}
-\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}}
-\date{\today\\v. 0.7.2}
+\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}\\
+Tango web page: \href{https://tango.mathriochka.net}{https://tango.mathriochka.net}}
+\date{\today\\v. 0.8.0}
{\sffamily
\maketitle
@@ -63,13 +64,11 @@ Default values are in bold red. Bold options marked with a \TO{\textbf{star*}} c
\hline\endhead
\hline\multicolumn{2}{r}{\emph{Continued next page}}\endfoot
\hline\endlastfoot
-\TO{french}&\TO{french=true/\DO{false}}. Adaptation to the French language and reserved names for the tango class (theorem gives \emph{e.g.} théorème). Mandatory use for French-speaking users. This option is also passed to the babel package.\\
+
\hline
-\TO{<language options>}& Tango will pass other language options to the \TO{babel} package. Note that
-\begin{itemize}
-\item Only English and French languages are fully implemented.
-\item Even English-speaking people must pass a language option (\TO{english, british, UKenglish, USenglish} or \TO{american}) for \TO{babel} to the tango class.
-\end{itemize}
+\TO{%
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish}.& Tango will transmit all language options to the \TO{babel} package. However, the translation of specific names used by tango (such as theorem, exercise, etc.) is only guaranteed for the languages listed opposite. Please note that even English speakers must \emph{imperatively} pass a language option to tango.
+
See section~\ref{lang} below.\\
\hline
\TO{no-statement}&\TO{no-statement=true/\DO{false}}. The \TO{thm}, \TO{defin}, \TO{lem}, \TO{coro}, \TO{propo} environments (for theorems, definitions, lemmas, corollaries, propositions) are defined by default. The no-statement option allows you to define them later, on request (see \verb=\newstatement= and \verb=\renewstatement= commands in section~\ref{st-section} page~\pageref{st-section}).\\
@@ -262,8 +261,7 @@ Provided commands are:
\section{Language settings}\label{lang}
A language option \emph{must} be passed to the \TO{babel} package via the tango class: this is true \emph{even} for English-speaking people. A class error message will be generated otherwise. If you ignore this message you will get no hyphenation patterns at all!
-For now, only the English and French languages are fully supported. With other languages, you benefit from the \TO{babel} facilities, but the \enquote{tango words} will remain defined by:
-\begin{verbatim}
+Tango also has some reserved words, which are (when an english language option is passed to tango):\begin{verbatim}
\newcommand\TgoTheoremName{Theorem}
\newcommand\TgoDefinitionName{Definition}
\newcommand\TgoPropositionName{Proposition}
@@ -276,7 +274,19 @@ For now, only the English and French languages are fully supported. With other l
\newcommand\TgoExercisesSubsectionName{Exercises}
\newcommand\TgoExercisesSectionName{Exercises}
\end{verbatim}
-If you want to use tango with a new language, here is what you can do:
+
+Although any language option recognized by babel will (in principle) be taken into account as soon as it is passed to tango, the translation of these reserved words only happens for the following languages:
+\begin{itemize}
+\item\TO{french};
+\item\TO{english, british, american, canadian, australian, newzealand};
+\item\TO{german, ngerman, naustrian, nswissgerman};
+\item\TO{italian};
+\item\TO{spanish}.
+\end{itemize}
+
+Other languages benefit from babel's facilities, but tango's reserved words are not translated.
+So here's what concerned users can do.
+
\begin{enumerate}
\item Translate these names in your language (for now it is done only for the french language), using \verb+\renewcommand+.
\item (Better) Mail me all the necessary information (at least babel language option used and your translation of the tango names) and I will adapt the tango class to your language.
diff --git a/macros/luatex/latex/tango/doc/tango-fr.pdf b/macros/luatex/latex/tango/doc/tango-fr.pdf
index 08767d9155..a4438d58de 100644
--- a/macros/luatex/latex/tango/doc/tango-fr.pdf
+++ b/macros/luatex/latex/tango/doc/tango-fr.pdf
Binary files differ
diff --git a/macros/luatex/latex/tango/doc/tango-fr.tex b/macros/luatex/latex/tango/doc/tango-fr.tex
index 06cd61f378..1ed1a70abf 100644
--- a/macros/luatex/latex/tango/doc/tango-fr.tex
+++ b/macros/luatex/latex/tango/doc/tango-fr.tex
@@ -26,8 +26,9 @@
\renewcommand{\arraystretch}{1.1}
\title{\textcolor{ColorOne}{\floweroneleft}\,La classe de documents tango\,\textcolor{ColorOne}{\floweroneright}}
-\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}}
-\date{\today\\v. 0.7.2}
+\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}\\
+Page internet de tango: \href{https://tango.mathriochka.net}{https://tango.mathriochka.net}}
+\date{\today\\v. 0.8.0}
{\sffamily
\maketitle
@@ -59,14 +60,9 @@ Les valeurs par défaut sont présentées en bleu gras. Les options en gras, mar
\hline\endhead
\hline\multicolumn{2}{r}{\emph{Voir page suivante}}\endfoot
\hline\endlastfoot
-\hline\endlastfoot
-\TO{french}&\TO{french=true/\DO{false}}. Adaptation à la langue française et noms définis par la classe tango (\frquote{Theorem} donne par exemple \frquote{Théorème}). Usage indispensable pour les utilisateurs de langue française. Cette option est également passée au package babel.\\
-\hline
-\TO{<options de langue>}& Tango transmettra au package \TO{babel} toutes les options de langue. Notez bien que :
-\begin{itemize}
-\item Seuls l'anglais et le français sont complètement implémentés.
-\item Même les locuteurs anglais doivent passer une option de langue pour \TO{babel} (\TO{english, british, UKenglish, USenglish} ou \TO{american}) à la classe tango.
-\end{itemize}
+\TO{%
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish}.& Tango transmettra au package \TO{babel} toutes les options de langue. En revanche, la traduction des noms spécifiques employés par tango (comme théorème, exercice, etc.) n'est assurée que pour les langues listées ci-contre. Notez bien que même les locuteurs anglais doivent \emph{impérativement} passer une option de langue à tango.
+
Voir la section~\ref{lang} plus loin.\\
\hline
\TO{no-statement}&\TO{no-statement=true/\DO{false}}. Des environnements \TO{thm}, \TO{defin}, \TO{lem}, \TO{coro}, \TO{propo} (pour présenter les théorèmes, définitions, lemmes, corollaires et propositions) sont définis par défaut. L'option \DO{no-statement} vous permet de définir ces environnements vous-même avec une configuration plus personnelle (voir les commandes \verb=\newstatement= and \verb=\renewstatement= dans la section~\ref{st-section} page~\pageref{st-section}).\\
@@ -275,24 +271,8 @@ Les commandes proposées par tango sont :
\section{Sélection de la langue}\label{lang}
Il est impératif de passer une option de langue à babel par l'intermédiaire de la classe tango : cela est vrai même pour les personnes de langue anglaise. Un message d'erreur sera généré par la classe tango si celle-ci n'a reçu aucune option de langue à transmettre à \TO{babel} ; si vous ignorez ce message, vous devrez travailler sans aucun motif de césure.
-Tango possède également certains mots réservés qui sont:
-\begin{tcolorbox}
-\begin{verbatim}
-\newcommand\TgoTheoremName{Theorem}
-\newcommand\TgoDefinitionName{Definition}
-\newcommand\TgoPropositionName{Proposition}
-\newcommand\TgoLemmaName{Lemma}
-\newcommand\TgoCorollaryName{Corollary}
-\newcommand\TgoRemarkName{Remark}
-\newcommand\TgoExampleName{Example}
-\newcommand\TgoContentsName{Contents}
-\newcommand\TgoExerciseName{Exercise}
-\newcommand\TgoExercisesSubsectionName{Exercises}
-\newcommand\TgoExercisesSectionName{Exercises}
-\end{verbatim}
-\end{tcolorbox}
+Tango possède également certains mots réservés qui sont (lorsque l'option french est passée à tango) :
-Au chargement du français par babel (déclenché par l'option french), les traductions suivantes sont effectuées:
\begin{tcolorbox}
\begin{verbatim}
\renewcommand\TgoTheoremName{Théorème}
@@ -309,7 +289,16 @@ Au chargement du français par babel (déclenché par l'option french), les trad
\end{verbatim}
\end{tcolorbox}
-Pour l'instant seules les langues anglaise et française sont pleinement supportées par tango. Les autres langues bénéficient des facilités offertes par babel, mais les mots réservés de tango ne sont pas traduits.
+Même si toute option de langue reconnue par babel sera (en principe) prise en compte dès lors qu'elle est passée à tango, la traduction de ces mots réservés n'a lieu que pour les langues suivantes :
+\begin{itemize}
+\item\TO{french};
+\item\TO{english, british, american, canadian, australian, newzealand};
+\item\TO{german, ngerman, naustrian, nswissgerman};
+\item\TO{italian};
+\item\TO{spanish}.
+\end{itemize}
+
+Les autres langues bénéficient des facilités offertes par babel, mais les mots réservés de tango ne sont pas traduits.
Voici donc ce que peuvent faire les utilisateurs concernés.
\begin{enumerate}
\item Utiliser \verb+\renewcommand+ pour faire ces traductions eux-mêmes.
diff --git a/macros/luatex/latex/tango/latex/tango.cls b/macros/luatex/latex/tango/lualatex/tango.cls
index 7fad8c30d8..f188200b4c 100644
--- a/macros/luatex/latex/tango/latex/tango.cls
+++ b/macros/luatex/latex/tango/lualatex/tango.cls
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}%
\ProvidesClass{tango}%
-[2024/07/11 v0.7.2 tango document class. Michel Bovani]% %
+[2024/07/15 v0.8.0 tango document class. Michel Bovani]% %
%
% Ensure luatex engine
\RequirePackage{iftex}[2019/10/24]
@@ -28,6 +28,18 @@
\newcommand\TgoPublicationClass{article}
\newcommand\TgoStatementIndent{\indent}
\newif\ifTgoFrenchLanguage
+\newif\ifTgoNGermanLanguage
+\newif\ifTgoGermanLanguage
+\newif\ifTgoNAustrianLanguage
+\newif\ifTgoNSwissGermanLanguage
+\newif\ifTgoItalianLanguage
+\newif\ifTgoSpanishLanguage
+\newif\ifTgoEnglishLanguage
+\newif\ifTgoBritishLanguage
+\newif\ifTgoAmericanLanguage
+\newif\ifTgoCanadianLanguage
+\newif\ifTgoAustralianLanguage
+\newif\ifTgoNewZealandLanguage
\newif\ifTgoNoStatement
\newif\ifTgoBook
\newif\ifTgoOneSide\TgoOneSidetrue
@@ -70,6 +82,42 @@
\TgoFrenchLanguagetrue
\TgoTitleIndentZerofalse
},
+ ngerman.code= {%
+ \TgoNGermanLanguagetrue
+ },
+ german.code= {%
+ \TgoGermanLanguagetrue
+ },
+naustrian.code= {%
+ \TgoNAustrianLanguagetrue
+ },
+nswissgerman.code= {%
+ \TgoNSwissGermanLanguagetrue
+ },
+ italian.code= {%
+ \TgoItalianLanguagetrue
+ },
+ spanish.code= {%
+ \TgoSpanishLanguagetrue
+ },
+english.code= {%
+ \TgoEnglishLanguagetrue
+ },
+british.code= {%
+ \TgoBritishLanguagetrue
+ },
+american.code= {%
+ \TgoAmericanLanguagetrue
+ },
+canadian.code= {%
+ \TgoCanadianLanguagetrue
+ },
+australian.code= {%
+ \TgoAustralianLanguagetrue
+ },
+newzealand.code= {%
+ \TgoNewZealandLanguagetrue
+ },
%%%%%% Default Statements %%%%%%%%%%%%%%%%%%%%%%%%
no-statement.if = TgoNoStatement,
%%%%%% No Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -834,6 +882,209 @@ CustomiseFigTabCaptions=false}
\renewcommand\TgoExercisesSectionName{Exercices}
}
\fi
+%%%
+\ifTgoNGermanLanguage
+\addto\captionsngerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoGermanLanguage
+\addto\captionsgerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoNAustrianLanguage
+\addto\captionsnaustrian{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoNSwissGermanLanguage
+\addto\captionsnswissgerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoItalianLanguage
+\addto\captionsitalian{%
+\renewcommand\TgoTheoremName{Teorema}
+\renewcommand\TgoDefinitionName{Definizione}
+\renewcommand\TgoPropositionName{Proposizione}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollario}
+\renewcommand\TgoRemarkName{Nota}%%????
+\renewcommand\TgoExampleName{Esempio}
+\renewcommand\TgoContentsName{Sommario}%%Contenuti????
+\renewcommand\TgoExerciseName{Esercizio}
+\renewcommand\TgoExercisesSubsectionName{Esercizi}
+\renewcommand\TgoExercisesSectionName{Esercizi}
+}
+\fi
+%
+%%%
+\ifTgoSpanishLanguage
+\addto\captionsspanish{%
+\renewcommand\TgoTheoremName{Teorema}
+\renewcommand\TgoDefinitionName{Definición}
+\renewcommand\TgoPropositionName{Proposición}
+\renewcommand\TgoLemmaName{Lema}
+\renewcommand\TgoCorollaryName{Corolario}
+\renewcommand\TgoRemarkName{Osservación}%%????
+\renewcommand\TgoExampleName{Ejemplo}
+\renewcommand\TgoContentsName{Sumario}%%????
+\renewcommand\TgoExerciseName{Ejercicio}
+\renewcommand\TgoExercisesSubsectionName{Ejercicios}
+\renewcommand\TgoExercisesSectionName{Ejercicios}
+}
+\fi
+%
+%%%
+\ifTgoEnglishLanguage
+\addto\captionsenglish{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoBritishLanguage
+\addto\captionsbritish{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoAmericanLanguage
+\addto\captionsamerican{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoCanadianLanguage
+\addto\captionscanadian{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoAustralianLanguage
+\addto\captionsaustralian{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoNewZealandLanguage
+\addto\captionsnewzealand{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
%
%%% Last package
\ifTgoNoHyperref
@@ -1005,7 +1256,7 @@ labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!
\ifTgoBook
\newcommand\TgoChapterBox[1]{%
{\filright\sffamily\addfontfeature{RawFeature=-onum}\fontseries{eb}\selectfont\HUGE\hspace*{-0.06em}\thechapter}%
-\quad\parbox[b]{0.75\textwidth}{\filright#1}
+\quad\parbox{0.75\textwidth}{\filright#1}
}
\titleformat{\part}[display]{\centering\color{ColorOne}\sffamily
\addfontfeature{RawFeature=-onum}\fontseries{eb}\selectfont\Huge}
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 6d9baab07b..72118b32af 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -31,7 +31,6 @@ $mirrors = {
'https://mirror.niser.ac.in/ctan/' => 1,
},
'Indonesia' => {
- 'http://repo.ugm.ac.id/ctan/' => 1,
'https://mirror.unpad.ac.id/ctan/' => 1,
},
'Iran' => {
@@ -149,7 +148,6 @@ $mirrors = {
'https://mirrors.nxthost.com/ctan/' => 1,
},
'Russia' => {
- 'https://ctan.altspu.ru/' => 1,
'https://mirror.macomnet.net/pub/CTAN/' => 1,
'https://mirror.truenetwork.ru/CTAN/' => 1,
},
@@ -188,7 +186,6 @@ $mirrors = {
'USA' => {
'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1,
'https://ctan.math.illinois.edu/' => 1,
- 'https://ctan.math.utah.edu/ctan/tex-archive/' => 1,
'https://ctan.math.washington.edu/tex-archive/' => 1,
'https://ctan.mirrors.hoobly.com/' => 1,
'https://mirror.las.iastate.edu/tex-archive/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index a7b0422b3e..1dd9da5443 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/71822
+depend revision/71830
name 00texlive.image
category TLCore
@@ -4919,7 +4919,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 71806
+revision 71830
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -96406,32 +96406,32 @@ catalogue-version 2.0
name delimset
category Package
-revision 49544
+revision 71829
shortdesc Typeset and declare sets of delimiters with convenient size control
relocated 1
longdesc delimset is a LaTeX2e package to typeset and declare sets of
longdesc delimiters in math mode whose size can be adjusted
longdesc conveniently.
-containersize 2016
-containerchecksum 5c19bda2a87de91ac1d32981198ce7718d490184d4d65dade231b66c3f46621af91dbeb89bb79ba1370fd82a0527d01d0aa7cd9dddeea818e8c4b4380a7b63ed
-doccontainersize 319324
-doccontainerchecksum 9e671fa601b878187b5b3ae1a47feffb6c451fd42f202f948a87b02f35385b47239947a3e91260e699c64c453df161d9ae734fa3a8e241b0e47056181fefc46c
-docfiles size=83
+containersize 3012
+containerchecksum 876eb8e327bf7a84760147bb3a360d7f49b79c2e1f13d14b10ad176d5f66bb696ef881bc5c513d131fd82b056b1b1208823274fb53e5481e50081f72f06102e5
+doccontainersize 351444
+doccontainerchecksum bfe0517d33fc23225490477b8858572b70b45e43a2e9b3019aabfe673a69683998c9c0f20e34efc15bcc0d4bf135af2cd867bc326ddf747ab02cf0973de5e7e1
+docfiles size=94
RELOC/doc/latex/delimset/README.txt details="Readme"
RELOC/doc/latex/delimset/delimset.pdf details="Package documentation"
RELOC/doc/latex/delimset/dlmssamp.tex
-srccontainersize 11440
-srccontainerchecksum d5618af6db29684ddd58164c9f55fbee73417d6968550361d7277558de98e621e2d1233b593c87860ccd8f7beb66a3c2369518736e14c86472d77425d6499869
-srcfiles size=12
+srccontainersize 16796
+srccontainerchecksum 15867340a499e18e7a450da5a3b51a368a17755ed377a154a1bb4af9edbe3768102f879e472874e10cd3c82f2eb9649c4e2a7c15fd51def3e4319dd262caa565
+srcfiles size=17
RELOC/source/latex/delimset/delimset.dtx
RELOC/source/latex/delimset/delimset.ins
-runfiles size=2
+runfiles size=3
RELOC/tex/latex/delimset/delimset.sty
catalogue-also delim delimseasy
catalogue-ctan /macros/latex/contrib/delimset
catalogue-license lppl1.3
catalogue-topics maths
-catalogue-version 1.1
+catalogue-version 2.0
name delimtxt
category Package
@@ -205790,29 +205790,29 @@ catalogue-version 1.1
name luamplib
category Package
-revision 71801
+revision 71826
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 21944
-containerchecksum 17f612966522794a4bdd69ef6199d9bda76c5229eccc686b0eb2c2914bec4fb43d79f1e5b190e0755c267f0b1244d6d955e00a7f18ba4c4f56a4859a401ae78e
-doccontainersize 239256
-doccontainerchecksum 2b67d4d78749fd56ee11c0590b45f169a964985fd6c2f5f02f8ba00d3add04ff291bd3a7760411451c33e7351efec7c4b01cbe3324ed38c6dc89dbe13de388fd
-docfiles size=70
+containersize 22848
+containerchecksum 17667eb196a0163c0cf56a80b684073994ae14a42f5972a6c8962d8ac4fc8f68f0c8aa6bc0fd8c4943501b668f0665f3e5f914ff2b3316bf39a07da111975dfc
+doccontainersize 244308
+doccontainerchecksum 15931bd16b9a23d3ef9d4b11d062cbb5c9c5cf6ecdb003be17deb964247465ec5ffdef06b548e2f1c765ca1d9aaf35890ce7aca3ceca7e4f86df2142f845d365
+docfiles size=71
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 42752
-srccontainerchecksum a036e6b2c84ce4965e79e4fb969870cc359d36c3b702ebe4049bfb0b29cf9598ae331cffbe29aa3f33440ea9ad57a12af3852969c416894c014c18c0c5cc0e0a
-srcfiles size=42
+srccontainersize 43816
+srccontainerchecksum 7851f1cb384b6dc4f28abce54a4c2bf3b502eb0b2302c5bd0834b70c91043563d1e0c1207731e8bfc89b9a76c09bc67caa7e3ce944f5863941b2953ea24c3789
+srcfiles size=43
RELOC/source/luatex/luamplib/Makefile
RELOC/source/luatex/luamplib/luamplib.dtx
-runfiles size=24
+runfiles size=25
RELOC/tex/luatex/luamplib/luamplib.lua
RELOC/tex/luatex/luamplib/luamplib.sty
catalogue-contact-bugs https://github.com/lualatex/luamplib/issues
@@ -205820,7 +205820,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.33.1
+catalogue-version 2.34.0
name luanumint
category Package
@@ -254286,16 +254286,16 @@ catalogue-topics foreign-import
name passopt
category Package
-revision 71811
+revision 71828
shortdesc Passing options to packages or classes
relocated 1
-longdesc passopt allow reset the global options of a loaded macro
-longdesc package or document class, or to change the position of the
-longdesc pre-passed options in the list to the right.
-containersize 1212
-containerchecksum 8c12da99a384fe4b345684e0d3050060c9477ae345e4368f28bccc1c9aced8652b54140a815468259281097a88292698b0204028219a62bf316d5f6258ceb4bd
-doccontainersize 53288
-doccontainerchecksum 07e48dc0737eccd7dde8c4b9f8aa8c9af1796561aa27cb9b9c80e584700e6d2da3a9e957f0e9218a26c4be2abe7b50d216e516cc4aa28c905ff55ffff8d5f20b
+longdesc This package allows to reset the global options of a loaded
+longdesc macro package or document class, or to change the position of
+longdesc the pre-passed options in the list to the right.
+containersize 1220
+containerchecksum 8b42674f59f87ea804fe846f9953d284460cbd1a76d592ea9900c823bb16a31d25db961c012fe71f6c9129c88cfcd830e665ef356c10c84d18b06f928b27b7cf
+doccontainersize 53516
+doccontainerchecksum dee6bc3da32e6cacd6df1d9e4abf807a69c5eebf5d055abe1a417913fdf35568b11103ea4d1b07ce8aba211ddbaad22d0a28adc1251442800b6fd47fd5797cfe
docfiles size=16
RELOC/doc/latex/passopt/README.md details="Readme"
RELOC/doc/latex/passopt/passopt.pdf details="Package documentation"
@@ -254305,8 +254305,8 @@ runfiles size=1
catalogue-contact-repository https://github.com/texno3/passopt
catalogue-ctan /macros/latex/contrib/passopt
catalogue-license cc-by-4
-catalogue-topics typeset-tool typesetting
-catalogue-version 1.01
+catalogue-topics typeset-tool typesetting expl3
+catalogue-version 1.01a
name patch
category Package
@@ -312017,17 +312017,17 @@ catalogue-version 1.4
name tango
category Package
-revision 71786
+revision 71825
shortdesc A LaTeX document class for math teachers
relocated 1
longdesc Tango is a LaTeX document class for use by mathematics
longdesc teachers. It requires LuaLaTeX, some LaTeX packages (see the
longdesc complete documentation for details), and a recent version of
longdesc LaTeX.
-containersize 9556
-containerchecksum 8c9d97968852a8ed3b0b5680237c414d0e66ad51936a09df18dd28cefe5ec72ad82c6b44eb8ed9c82a66bf9fe4da9329b1195ea5f7759ebee003b35ba97f97a0
-doccontainersize 433280
-doccontainerchecksum 542e8671463fe0b2290f92a36340285a9f0544a26f95d274ecedeae73b7edf246a743b9ff4346a80d73a502c940811c7dbef369e7fb28fb0a799c40f9de2ff00
+containersize 10060
+containerchecksum a56d806de5ed294b7b984e204df4f96368365bb669589183c7ba530292b186d934cf49d180643492faeea9be3760ce871df8314090a33d39af36f9cdee3df973
+doccontainersize 433228
+doccontainerchecksum 72d36d88e5f871aa4cbe716e7e8ef881f1b8193cd45925aa362f452d38ab123bab14ba7084e04ba01aa3618277cc0ac66879e5de993ab13f5d1ad2f660d47bfd
docfiles size=199
RELOC/doc/lualatex/tango/README details="Readme"
RELOC/doc/lualatex/tango/examples/Ch-1-15.tex
@@ -312046,13 +312046,13 @@ docfiles size=199
RELOC/doc/lualatex/tango/tango-en.tex
RELOC/doc/lualatex/tango/tango-fr.pdf details="Package documentation" language="fr"
RELOC/doc/lualatex/tango/tango-fr.tex
-runfiles size=15
+runfiles size=17
RELOC/tex/lualatex/tango/tango.cls
catalogue-contact-home https://tango.mathriochka.net
catalogue-ctan /macros/luatex/latex/tango
catalogue-license lppl1.3c
catalogue-topics class teaching maths
-catalogue-version 0.7.2
+catalogue-version 0.8.0
name tangocolors
category Package
@@ -328109,7 +328109,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 71822
+revision 71830
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.
@@ -328117,10 +328117,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 114392
-containerchecksum 36eb300c179c16ae726c37900d7ecc4e3e0cc5c837c2249ed835731d55e9f23459ec5c284a6b8433b75f5ec2cda4007014ecd17ffaacaed0afbaf99ed565db2e
-doccontainersize 436592
-doccontainerchecksum e06bccfb8891f20efbdb57713fd4ea1abf1fb676626c2d819ea77df8cdc7f9116315b4f51135a99348b8fb060520258ad63714998a3e3b3e163281ac5ff047c6
+containersize 114368
+containerchecksum 1bec647901f0269a4081e1498b8c18936dd21f0e26fefb995fdf78fa3b12501f57a0f3a7a02d82325ce5a7c1364702a1b333b410d17f93a0fa78f7c27a7c5ebe
+doccontainersize 436596
+doccontainerchecksum 1eded6afd6d9ff97bdd8e87a4b8a5829c8324b06e9000a656cad0732ea0554578f15455e111e5e822b065046cdaea688cc58e474c0ecadcdcf07da708599c4fa
docfiles size=571
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -337244,7 +337244,7 @@ catalogue-version 1.45c
name tkz-elements
category Package
-revision 71130
+revision 71827
shortdesc A Lua library for drawing Euclidean geometry with TikZ or tkz-euclide
relocated 1
longdesc This package provides a library written in Lua, allowing to
@@ -337255,11 +337255,11 @@ longdesc main possibility of programmation proposed is oriented "object
longdesc programming" with object classes like point, line, triangle,
longdesc circle and ellipse. For the moment, once the calculations are
longdesc done, it is tkz-euclide or TikZ which allows the drawings.
-containersize 22080
-containerchecksum bff2391e7643ef87c5b86da2466fd060a0b2d7b2d1d7fa8ffa1a63be1aeeea834f2e042f83a3bbd3e4d400f8f52001ac34f2fe9430a69623ca20d00f42b71044
-doccontainersize 817152
-doccontainerchecksum f404769b4a847584ca629adbd15a754922daba0cd4a8e891668c1a5c39fe5a8ecb6b34f5601d64199943bdd1d1f5c9e54bd2357fb8def306d22ade9156de1124
-docfiles size=321
+containersize 22248
+containerchecksum 30cdcb160c2025235e39b4daa0a25bf00d154ef0de55aea6cac0a6c2ce23d7a93ccacb9d570118e34ba8a2858645dedb4b0df0caf28e5cc06f9a253f7ec22004
+doccontainersize 939500
+doccontainerchecksum 1e7516f892489d3f3264a19a4c148c0cfcc794ebf33e7466f887bdd2692b4569ac98e200c7c75f733dbeca8f75ce7cfc741b1ffacfb36d5dc673cd16c6429c22
+docfiles size=370
RELOC/doc/latex/tkz-elements/README.md details="Readme"
RELOC/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex
RELOC/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex
@@ -337327,7 +337327,7 @@ catalogue-contact-home https://altermundus.fr
catalogue-ctan /macros/latex/contrib/tkz/tkz-elements
catalogue-license lppl1.3
catalogue-topics maths calculation luatex
-catalogue-version 2.25c
+catalogue-version 2.30c
name tkz-euclide
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 7d2e1f363a..e90f3f214b 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-51559fca0ae23f13f11eb57c23fcd355 texlive.tlpdb
+0cdac0401bd509270f544d72240ac17a texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 862d426a1c..088e5e5cf0 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-0a9ad72f36c2f4296eb5d691848f74c653d6fd8b142b897c2d40a8455e21e3383b42623e2b338875654a56146139987e7511136baa2392bc89bca20590271331 texlive.tlpdb
+2c089e8430bc964e9f359d39c7a87ada6cbf6db47cf7eed8c59ea6290fcce2105476846d71235aa31b235a68d94f6dea314dbb15a7c956052de1b5904829cd1f texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index b0095b4788..a580372788 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+QqiBBqTOGHfhlDjHAFAmaXBtYACgkQTOGHfhlD
-jHDe7wf+JIPUAB080kxdQMXRWWbvWBCEbxFDxWVzf3fvbBJgxKumgbAXjStr7UV4
-vUf8LnwtzQQHERyU6HY35JQfzqSxKsauurRM7kALjYdNuYsUkZeAl6XbdaumnBJz
-zW5LaXCpPfk6UX9jqRhJ7dpYPurCDSi44lf0jTEs2SEdCJSEngLBDRfDM6QhixTx
-3Hl44Lbz1akYtuNZefvCdP1YD5YAWqB+haEDqMKcApavY6ePteAcQbXzEOjmE+PL
-yg0LasoScUxRYvpnMMqXcJjvS5Q+hq+BRbmQbnd9D/hMAqV0uhh9gPV3k4IIkq0E
-5wj2qWdjOGVfVzJCceqn2XOjObV4sg==
-=FNFl
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmaYWGkACgkQTOGHfhlD
+jHBaRQf8CwKgulherqiFKFs+bqz5sejQoOFE2SbMRxhUe9e77KNmQ44taPynSPaO
+Exo6DEp9/mCF87ws7UbrsGd+NG7HDpLyIYvQPV8JXqa2J2bhjrtJ7nqxHeeKWWKa
+7zZ0fjNzu8+FDcut/zK4HvoRld+GxLnFcP6g7gqwOhSEIcZ5Sz5XW3LNWnoX+jes
+tInMZrlEzeIXmP4hbvcwSnEjGYrYcDGX+Pmn4lOABQIt4JKLAamJ/x55207SzUMU
+TPdpLXhMsdk+ewhXcW/M/eH56aqWTmcuxb8o1/e3izNcWU5Y8hEfSOuqO36Nl7+N
+m5yqLx+C0Q9UNBeR07/V+l4VNLfzAw==
+=inGm
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index c2868ea6e8..91acffe8f4 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index 7230546c19..0bca968fe0 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2024-07-17-02-02
+2024-07-18-02-02