summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname206
-rw-r--r--FILES.byname.gzbin2550455 -> 2550434 bytes
-rw-r--r--FILES.last07days194
-rw-r--r--biblio/ctan-bibdata/ctan.bib22
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3713173 -> 3710671 bytes
-rw-r--r--fonts/newpx/README8
-rw-r--r--fonts/newpx/doc/newpxdoc.pdfbin416486 -> 424168 bytes
-rw-r--r--fonts/newpx/doc/newpxdoc.tex10
-rw-r--r--fonts/newpx/tex/newpxtext.sty6
-rw-r--r--macros/latex/contrib/colorist/colorart.cls2
-rw-r--r--macros/latex/contrib/colorist/colorbook.cls2
-rw-r--r--macros/latex/contrib/colorist/colorist-fancy.sty31
-rw-r--r--macros/latex/contrib/colorist/colorist.sty2
-rw-r--r--macros/latex/contrib/homework/README.md80
-rw-r--r--macros/latex/contrib/homework/homework-demo-cn.pdfbin70991 -> 83711 bytes
-rw-r--r--macros/latex/contrib/homework/homework-demo-cn.tex57
-rw-r--r--macros/latex/contrib/homework/homework-demo-de.pdfbin47815 -> 52262 bytes
-rw-r--r--macros/latex/contrib/homework/homework-demo-de.tex57
-rw-r--r--macros/latex/contrib/homework/homework-demo-en.pdfbin46621 -> 50985 bytes
-rw-r--r--macros/latex/contrib/homework/homework-demo-en.tex59
-rw-r--r--macros/latex/contrib/homework/homework-demo-es.pdfbin47517 -> 51505 bytes
-rw-r--r--macros/latex/contrib/homework/homework-demo-es.tex60
-rw-r--r--macros/latex/contrib/homework/homework-demo-fr.pdfbin46759 -> 51376 bytes
-rw-r--r--macros/latex/contrib/homework/homework-demo-fr.tex63
-rw-r--r--macros/latex/contrib/homework/homework-demo-jp.pdfbin74728 -> 86676 bytes
-rw-r--r--macros/latex/contrib/homework/homework-demo-jp.tex61
-rw-r--r--macros/latex/contrib/homework/homework-demo-tc.pdfbin76130 -> 90595 bytes
-rw-r--r--macros/latex/contrib/homework/homework-demo-tc.tex57
-rw-r--r--macros/latex/contrib/homework/homework.cls26
-rw-r--r--macros/latex/contrib/jwjournal/README.md25
-rw-r--r--macros/latex/contrib/jwjournal/jwjournal.cls17
-rw-r--r--macros/latex/contrib/minimalist/minimalist-classical.sty23
-rw-r--r--macros/latex/contrib/minimalist/minimalist-default.sty23
-rw-r--r--macros/latex/contrib/minimalist/minimalist-flow.sty23
-rw-r--r--macros/latex/contrib/minimalist/minimalist-plain.sty23
-rw-r--r--macros/latex/contrib/minimalist/minimalist-stream.sty23
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls2
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls2
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.dtx1093
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.pdfbin940839 -> 943866 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdfbin588214 -> 590286 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex250
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdfbin604351 -> 606674 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.tex230
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx28
-rw-r--r--macros/latex/contrib/projlib/README.md2
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb90
-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.xzbin2476984 -> 2479136 bytes
-rw-r--r--timestamp2
54 files changed, 1878 insertions, 1004 deletions
diff --git a/FILES.byname b/FILES.byname
index 9aa6623db3..532f88b2b1 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2059,12 +2059,12 @@
2023/09/16 | 1710 | biblio/citation-style-language/README.md
2023/09/16 | 12878 | biblio/citation-style-language/vancouver.csl
2023/09/16 | 4531085 | biblio/citation-style-language.zip
-2023/09/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/09/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/09/27 | 2814147 | biblio/ctan-bibdata/ctan.bib
-2023/09/27 | 3711814 | biblio/ctan-bibdata/ctan.pdf
+2023/09/28 | 2814158 | biblio/ctan-bibdata/ctan.bib
+2023/09/28 | 3713173 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/09/27 | 4113457 | biblio/ctan-bibdata.zip
+2023/09/28 | 4115314 | 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
@@ -5424,7 +5424,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
-2023/09/27 | 99832 | FILES.last07days
+2023/09/28 | 102855 | 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
@@ -84436,8 +84436,8 @@
2023/09/03 | 382853 | fonts/newpx/afm/zplrsl.afm
2019/09/22 | 2226 | fonts/newpx/doc/ChangesInV1.4.txt
2015/04/20 | 635 | fonts/newpx/doc/MANIFEST-newpx.txt
-2023/08/08 | 416486 | fonts/newpx/doc/newpxdoc.pdf
-2023/08/08 | 67874 | fonts/newpx/doc/newpxdoc.tex
+2023/09/27 | 424168 | fonts/newpx/doc/newpxdoc.pdf
+2023/09/27 | 67791 | fonts/newpx/doc/newpxdoc.tex
2013/03/29 | 8118 | fonts/newpx/doc/newpxeg-crop.pdf
2013/03/27 | 8858 | fonts/newpx/doc/pxfontseg-crop.pdf
2023/08/02 | 83 | fonts/newpx/doc/TRK.fea
@@ -84471,7 +84471,7 @@
2023/09/06 | 234900 | fonts/newpx/opentype/TeXGyrePagellaX-Italic.otf
2023/09/06 | 212404 | fonts/newpx/opentype/TeXGyrePagellaX-Regular.otf
2023/09/06 | 220664 | fonts/newpx/opentype/TeXGyrePagellaX-Slanted.otf
-2023/09/07 | 23220 | fonts/newpx/README
+2023/09/27 | 23388 | fonts/newpx/README
2016/07/06 | 694 | fonts/newpx/tex/lmsnpxsy.fd
2016/07/06 | 690 | fonts/newpx/tex/lmxnpxexx.fd
2023/08/04 | 2094 | fonts/newpx/tex/ly1minzpl.fd
@@ -84491,7 +84491,7 @@
2023/08/07 | 114939 | fonts/newpx/tex/newpxmath.sty
2023/08/08 | 4031 | fonts/newpx/tex/newpx.sty
2019/09/06 | 151 | fonts/newpx/tex/newpx-subs.tex
-2023/09/07 | 23275 | fonts/newpx/tex/newpxtext.sty
+2023/09/27 | 23265 | fonts/newpx/tex/newpxtext.sty
2013/04/01 | 1021 | fonts/newpx/tex/omlnpxmi.fd
2023/08/04 | 2094 | fonts/newpx/tex/ot1minzpl.fd
2015/05/01 | 1510 | fonts/newpx/tex/ot1npxtt.fd
@@ -85036,7 +85036,7 @@
2013/03/29 | 980 | fonts/newpx/vf/zplsyc.vf
2023/08/26 | 1668 | fonts/newpx/vf/zplsym.vf
2021/05/31 | 1792 | fonts/newpx/vf/zplsy.vf
-2023/09/07 | 7472987 | fonts/newpx.zip
+2023/09/28 | 7480224 | fonts/newpx.zip
2019/06/17 | 524 | fonts/newtx/afm/LibertineI-5nu.afm
2019/10/26 | 7516 | fonts/newtx/afm/LibertineMathBMI5.afm
2019/10/26 | 7506 | fonts/newtx/afm/LibertineMathBMI7.afm
@@ -217883,14 +217883,14 @@
2016/05/11 | 3227 | macros/latex/contrib/coloring/coloring.sty
2016/05/11 | 452 | macros/latex/contrib/coloring/README
2016/05/11 | 27406 | macros/latex/contrib/coloring.zip
-2023/09/26 | 7772 | macros/latex/contrib/colorist/colorart.cls
-2023/09/26 | 7769 | macros/latex/contrib/colorist/colorbook.cls
-2023/09/26 | 42113 | macros/latex/contrib/colorist/colorist-fancy.sty
-2023/09/26 | 5970 | macros/latex/contrib/colorist/colorist.sty
-2023/09/26 | 12 | macros/latex/contrib/colorist/DEPENDS.txt
-2023/09/26 | 19106 | macros/latex/contrib/colorist/LICENSE
-2023/09/26 | 2436 | macros/latex/contrib/colorist/README.md
-2023/09/26 | 22770 | macros/latex/contrib/colorist.zip
+2023/09/28 | 7772 | macros/latex/contrib/colorist/colorart.cls
+2023/09/28 | 7769 | macros/latex/contrib/colorist/colorbook.cls
+2023/09/28 | 43076 | macros/latex/contrib/colorist/colorist-fancy.sty
+2023/09/28 | 5970 | macros/latex/contrib/colorist/colorist.sty
+2023/09/28 | 12 | macros/latex/contrib/colorist/DEPENDS.txt
+2023/09/28 | 19106 | macros/latex/contrib/colorist/LICENSE
+2023/09/28 | 2436 | macros/latex/contrib/colorist/README.md
+2023/09/28 | 22899 | macros/latex/contrib/colorist.zip
2019/03/25 | 99243 | macros/latex/contrib/colorspace/colorspace.pdf
2016/10/04 | 15861 | macros/latex/contrib/colorspace/colorspaceshade.png
2019/03/25 | 21423 | macros/latex/contrib/colorspace/colorspace.sty
@@ -225532,25 +225532,25 @@
2019/11/15 | 1218 | macros/latex/contrib/hobsub/hobsub.tex
2019/11/15 | 66 | macros/latex/contrib/hobsub/README.md
2019/11/15 | 61803 | macros/latex/contrib/hobsub.zip
-2023/09/26 | 12 | macros/latex/contrib/homework/DEPENDS.txt
-2023/09/26 | 5638 | macros/latex/contrib/homework/homework.cls
-2023/09/26 | 70991 | macros/latex/contrib/homework/homework-demo-cn.pdf
-2023/09/26 | 1688 | macros/latex/contrib/homework/homework-demo-cn.tex
-2023/09/26 | 47815 | macros/latex/contrib/homework/homework-demo-de.pdf
-2023/09/26 | 1932 | macros/latex/contrib/homework/homework-demo-de.tex
-2023/09/26 | 46621 | macros/latex/contrib/homework/homework-demo-en.pdf
-2023/09/26 | 1697 | macros/latex/contrib/homework/homework-demo-en.tex
-2023/09/26 | 47517 | macros/latex/contrib/homework/homework-demo-es.pdf
-2023/09/26 | 1781 | macros/latex/contrib/homework/homework-demo-es.tex
-2023/09/26 | 46759 | macros/latex/contrib/homework/homework-demo-fr.pdf
-2023/09/26 | 1826 | macros/latex/contrib/homework/homework-demo-fr.tex
-2023/09/26 | 74728 | macros/latex/contrib/homework/homework-demo-jp.pdf
-2023/09/26 | 2003 | macros/latex/contrib/homework/homework-demo-jp.tex
-2023/09/26 | 76130 | macros/latex/contrib/homework/homework-demo-tc.pdf
-2023/09/26 | 1697 | macros/latex/contrib/homework/homework-demo-tc.tex
-2023/09/26 | 19106 | macros/latex/contrib/homework/LICENSE
-2023/09/26 | 6180 | macros/latex/contrib/homework/README.md
-2023/09/27 | 410039 | macros/latex/contrib/homework.zip
+2023/09/28 | 12 | macros/latex/contrib/homework/DEPENDS.txt
+2023/09/28 | 5834 | macros/latex/contrib/homework/homework.cls
+2023/09/28 | 83711 | macros/latex/contrib/homework/homework-demo-cn.pdf
+2023/09/28 | 3168 | macros/latex/contrib/homework/homework-demo-cn.tex
+2023/09/28 | 52262 | macros/latex/contrib/homework/homework-demo-de.pdf
+2023/09/28 | 3573 | macros/latex/contrib/homework/homework-demo-de.tex
+2023/09/28 | 50985 | macros/latex/contrib/homework/homework-demo-en.pdf
+2023/09/28 | 3268 | macros/latex/contrib/homework/homework-demo-en.tex
+2023/09/28 | 51505 | macros/latex/contrib/homework/homework-demo-es.pdf
+2023/09/28 | 3394 | macros/latex/contrib/homework/homework-demo-es.tex
+2023/09/28 | 51376 | macros/latex/contrib/homework/homework-demo-fr.pdf
+2023/09/28 | 3490 | macros/latex/contrib/homework/homework-demo-fr.tex
+2023/09/28 | 86676 | macros/latex/contrib/homework/homework-demo-jp.pdf
+2023/09/28 | 3676 | macros/latex/contrib/homework/homework-demo-jp.tex
+2023/09/28 | 90595 | macros/latex/contrib/homework/homework-demo-tc.pdf
+2023/09/28 | 3177 | macros/latex/contrib/homework/homework-demo-tc.tex
+2023/09/28 | 19106 | macros/latex/contrib/homework/LICENSE
+2023/09/28 | 9187 | macros/latex/contrib/homework/README.md
+2023/09/28 | 469987 | macros/latex/contrib/homework.zip
2023/01/07 | 21769 | macros/latex/contrib/hopatch/hopatch.dtx
2023/01/07 | 327701 | macros/latex/contrib/hopatch/hopatch.pdf
2023/01/07 | 470 | macros/latex/contrib/hopatch/README.md
@@ -227550,17 +227550,17 @@
2011/10/28 | 1485 | macros/latex/contrib/jvlisting/README
2011/11/17 | 8454 | macros/latex/contrib/jvlisting/test.tex
2011/11/18 | 202406 | macros/latex/contrib/jvlisting.zip
-2023/09/01 | 12 | macros/latex/contrib/jwjournal/DEPENDS.txt
-2023/09/01 | 15689 | macros/latex/contrib/jwjournal/jwjournal.cls
-2023/09/01 | 115307 | macros/latex/contrib/jwjournal/jwjournal-demo-cn.pdf
-2023/09/01 | 2770 | macros/latex/contrib/jwjournal/jwjournal-demo-cn.tex
-2023/09/01 | 75218 | macros/latex/contrib/jwjournal/jwjournal-demo-en.pdf
-2023/09/01 | 2860 | macros/latex/contrib/jwjournal/jwjournal-demo-en.tex
-2023/09/01 | 77570 | macros/latex/contrib/jwjournal/jwjournal-demo-fr.pdf
-2023/09/01 | 3317 | macros/latex/contrib/jwjournal/jwjournal-demo-fr.tex
-2023/09/01 | 19106 | macros/latex/contrib/jwjournal/LICENSE
-2023/09/01 | 9889 | macros/latex/contrib/jwjournal/README.md
-2023/09/01 | 277260 | macros/latex/contrib/jwjournal.zip
+2023/09/28 | 12 | macros/latex/contrib/jwjournal/DEPENDS.txt
+2023/09/28 | 16120 | macros/latex/contrib/jwjournal/jwjournal.cls
+2023/09/28 | 115307 | macros/latex/contrib/jwjournal/jwjournal-demo-cn.pdf
+2023/09/28 | 2770 | macros/latex/contrib/jwjournal/jwjournal-demo-cn.tex
+2023/09/28 | 75218 | macros/latex/contrib/jwjournal/jwjournal-demo-en.pdf
+2023/09/28 | 2860 | macros/latex/contrib/jwjournal/jwjournal-demo-en.tex
+2023/09/28 | 77570 | macros/latex/contrib/jwjournal/jwjournal-demo-fr.pdf
+2023/09/28 | 3317 | macros/latex/contrib/jwjournal/jwjournal-demo-fr.tex
+2023/09/28 | 19106 | macros/latex/contrib/jwjournal/LICENSE
+2023/09/28 | 11493 | macros/latex/contrib/jwjournal/README.md
+2023/09/28 | 277921 | macros/latex/contrib/jwjournal.zip
2018/09/21 | 71114 | macros/latex/contrib/kalendarium/kalendarium.dtx
2018/09/21 | 2343 | macros/latex/contrib/kalendarium/kalendarium.ins
2018/09/21 | 399783 | macros/latex/contrib/kalendarium/kalendarium.pdf
@@ -230148,18 +230148,18 @@
2017/04/11 | 187597 | macros/latex/contrib/minidocument/minidocument.pdf
2017/04/11 | 698 | macros/latex/contrib/minidocument/README
2017/04/11 | 190869 | macros/latex/contrib/minidocument.zip
-2023/09/27 | 12 | macros/latex/contrib/minimalist/DEPENDS.txt
-2023/09/27 | 19106 | macros/latex/contrib/minimalist/LICENSE
-2023/09/27 | 41629 | macros/latex/contrib/minimalist/minimalist-classical.sty
-2023/09/27 | 41559 | macros/latex/contrib/minimalist/minimalist-default.sty
-2023/09/27 | 42032 | macros/latex/contrib/minimalist/minimalist-flow.sty
-2023/09/27 | 39343 | macros/latex/contrib/minimalist/minimalist-plain.sty
-2023/09/27 | 41891 | macros/latex/contrib/minimalist/minimalist-stream.sty
-2023/09/27 | 8269 | macros/latex/contrib/minimalist/minimalist.sty
-2023/09/27 | 8401 | macros/latex/contrib/minimalist/minimart.cls
-2023/09/27 | 8398 | macros/latex/contrib/minimalist/minimbook.cls
-2023/09/27 | 2654 | macros/latex/contrib/minimalist/README.md
-2023/09/27 | 53008 | macros/latex/contrib/minimalist.zip
+2023/09/28 | 12 | macros/latex/contrib/minimalist/DEPENDS.txt
+2023/09/28 | 19106 | macros/latex/contrib/minimalist/LICENSE
+2023/09/28 | 42384 | macros/latex/contrib/minimalist/minimalist-classical.sty
+2023/09/28 | 42314 | macros/latex/contrib/minimalist/minimalist-default.sty
+2023/09/28 | 42787 | macros/latex/contrib/minimalist/minimalist-flow.sty
+2023/09/28 | 40098 | macros/latex/contrib/minimalist/minimalist-plain.sty
+2023/09/28 | 42646 | macros/latex/contrib/minimalist/minimalist-stream.sty
+2023/09/28 | 8269 | macros/latex/contrib/minimalist/minimalist.sty
+2023/09/28 | 8401 | macros/latex/contrib/minimalist/minimart.cls
+2023/09/28 | 8398 | macros/latex/contrib/minimalist/minimbook.cls
+2023/09/28 | 2654 | macros/latex/contrib/minimalist/README.md
+2023/09/28 | 53618 | macros/latex/contrib/minimalist.zip
2008/04/07 | 14406 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.dtx
2008/04/07 | 2167 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.ins
2008/04/07 | 197917 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.pdf
@@ -231405,15 +231405,15 @@
1996/03/22 | 18862 | macros/latex/contrib/niceframe/umrandb.mf
2015/01/17 | 1370 | macros/latex/contrib/niceframe/umrand.mf
2015/01/17 | 287910 | macros/latex/contrib/niceframe.zip
-2023/09/02 | 572793 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
-2023/09/02 | 940839 | macros/latex/contrib/nicematrix/nicematrix-code.pdf
-2023/09/02 | 588214 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
-2023/09/02 | 241752 | macros/latex/contrib/nicematrix/nicematrix-french.tex
+2023/09/28 | 574708 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
+2023/09/28 | 943866 | macros/latex/contrib/nicematrix/nicematrix-code.pdf
+2023/09/28 | 590286 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
+2023/09/28 | 245214 | macros/latex/contrib/nicematrix/nicematrix-french.tex
2023/08/14 | 1428 | macros/latex/contrib/nicematrix/nicematrix.ins
-2023/09/02 | 604351 | macros/latex/contrib/nicematrix/nicematrix.pdf
-2023/09/02 | 251580 | macros/latex/contrib/nicematrix/nicematrix.tex
+2023/09/28 | 606674 | macros/latex/contrib/nicematrix/nicematrix.pdf
+2023/09/28 | 255242 | macros/latex/contrib/nicematrix/nicematrix.tex
2023/05/15 | 1028 | macros/latex/contrib/nicematrix/README.md
-2023/09/02 | 2308174 | macros/latex/contrib/nicematrix.zip
+2023/09/28 | 2317398 | macros/latex/contrib/nicematrix.zip
2015/11/21 | 217 | macros/latex/contrib/nicetext/ANNOUNCE.txt
2012/03/18 | 254582 | macros/latex/contrib/nicetext/demo/arseneau.pdf
2011/09/14 | 10 | macros/latex/contrib/nicetext/demo/iso.txt
@@ -234687,12 +234687,12 @@
2003/07/02 | 9461 | macros/latex/contrib/progress/progress.tex
2003/07/02 | 413 | macros/latex/contrib/progress/README
2006/05/20 | 88703 | macros/latex/contrib/progress.zip
-2023/09/27 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
-2023/09/27 | 19106 | macros/latex/contrib/projlib/LICENSE
-2023/09/27 | 218463 | macros/latex/contrib/projlib/ProjLib.dtx
-2023/09/27 | 3379 | macros/latex/contrib/projlib/ProjLib.ins
-2023/09/27 | 5799 | macros/latex/contrib/projlib/README.md
-2023/09/27 | 41678 | macros/latex/contrib/projlib.zip
+2023/09/28 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
+2023/09/28 | 19106 | macros/latex/contrib/projlib/LICENSE
+2023/09/28 | 218754 | macros/latex/contrib/projlib/ProjLib.dtx
+2023/09/28 | 3379 | macros/latex/contrib/projlib/ProjLib.ins
+2023/09/28 | 5799 | macros/latex/contrib/projlib/README.md
+2023/09/28 | 41704 | macros/latex/contrib/projlib.zip
2022/08/24 | 133735 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.pdf
2022/08/24 | 11561 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.tex
2022/08/24 | 86258 | macros/latex/contrib/proof-at-the-end/proof-at-the-end.dtx
@@ -291474,7 +291474,7 @@
2023/09/27 | 5200 | systems/texlive/tlnet/archive/beaulivre.r68376.tar.xz
2023/06/28 | 18066632 | systems/texlive/tlnet/archive/beautybook.doc.r67496.tar.xz
2023/06/28 | 15780 | systems/texlive/tlnet/archive/beautybook.r67496.tar.xz
-2023/09/22 | 913736 | systems/texlive/tlnet/archive/beebe.r68331.tar.xz
+2023/09/28 | 919364 | systems/texlive/tlnet/archive/beebe.r68380.tar.xz
2022/05/08 | 785552 | systems/texlive/tlnet/archive/begingreek.doc.r63255.tar.xz
2022/05/08 | 1808 | systems/texlive/tlnet/archive/begingreek.r63255.tar.xz
2022/05/08 | 7856 | systems/texlive/tlnet/archive/begingreek.source.r63255.tar.xz
@@ -295966,8 +295966,8 @@
2022/01/24 | 578024 | systems/texlive/tlnet/archive/hologo.doc.r61719.tar.xz
2022/01/24 | 9916 | systems/texlive/tlnet/archive/hologo.r61719.tar.xz
2022/01/24 | 19880 | systems/texlive/tlnet/archive/hologo.source.r61719.tar.xz
-2023/09/26 | 119036 | systems/texlive/tlnet/archive/homework.doc.r68367.tar.xz
-2023/09/26 | 2440 | systems/texlive/tlnet/archive/homework.r68367.tar.xz
+2023/09/28 | 259352 | systems/texlive/tlnet/archive/homework.doc.r68381.tar.xz
+2023/09/28 | 2448 | systems/texlive/tlnet/archive/homework.r68381.tar.xz
2019/02/28 | 2788 | systems/texlive/tlnet/archive/hook-pre-commit-pkg.doc.r41378.tar.xz
2019/02/28 | 808 | systems/texlive/tlnet/archive/hook-pre-commit-pkg.r41378.tar.xz
2023/01/09 | 319716 | systems/texlive/tlnet/archive/hopatch.doc.r65491.tar.xz
@@ -298347,8 +298347,8 @@
2019/02/28 | 435560 | systems/texlive/tlnet/archive/minifp.doc.r32559.tar.xz
2019/02/28 | 10000 | systems/texlive/tlnet/archive/minifp.r32559.tar.xz
2019/02/28 | 43836 | systems/texlive/tlnet/archive/minifp.source.r32559.tar.xz
-2023/09/27 | 7436 | systems/texlive/tlnet/archive/minimalist.doc.r68376.tar.xz
-2023/09/27 | 12496 | systems/texlive/tlnet/archive/minimalist.r68376.tar.xz
+2023/09/28 | 7436 | systems/texlive/tlnet/archive/minimalist.doc.r68384.tar.xz
+2023/09/28 | 12516 | systems/texlive/tlnet/archive/minimalist.r68384.tar.xz
2023/03/07 | 301824 | systems/texlive/tlnet/archive/minim.doc.r66395.tar.xz
2022/03/05 | 26048 | systems/texlive/tlnet/archive/minim-hatching.doc.r62395.tar.xz
2022/03/05 | 2232 | systems/texlive/tlnet/archive/minim-hatching.r62395.tar.xz
@@ -298954,8 +298954,8 @@
2019/02/28 | 174560 | systems/texlive/tlnet/archive/nomentbl.doc.r16549.tar.xz
2019/02/28 | 2456 | systems/texlive/tlnet/archive/nomentbl.r16549.tar.xz
2019/02/28 | 6048 | systems/texlive/tlnet/archive/nomentbl.source.r16549.tar.xz
-2023/09/27 | 181332 | systems/texlive/tlnet/archive/non-decimal-units.doc.r68377.tar.xz
-2023/09/27 | 4724 | systems/texlive/tlnet/archive/non-decimal-units.r68377.tar.xz
+2023/09/28 | 162820 | systems/texlive/tlnet/archive/non-decimal-units.doc.r68382.tar.xz
+2023/09/28 | 4732 | systems/texlive/tlnet/archive/non-decimal-units.r68382.tar.xz
2019/02/28 | 306696 | systems/texlive/tlnet/archive/nonfloat.doc.r17598.tar.xz
2019/02/28 | 1484 | systems/texlive/tlnet/archive/nonfloat.r17598.tar.xz
2019/02/28 | 5596 | systems/texlive/tlnet/archive/nonfloat.source.r17598.tar.xz
@@ -300097,8 +300097,8 @@
2023/09/08 | 1311544 | systems/texlive/tlnet/archive/profcollege.r68204.tar.xz
2022/04/27 | 134096 | systems/texlive/tlnet/archive/proflabo.doc.r63147.tar.xz
2022/04/27 | 2748 | systems/texlive/tlnet/archive/proflabo.r63147.tar.xz
-2023/09/20 | 1385240 | systems/texlive/tlnet/archive/proflycee.doc.r68323.tar.xz
-2023/09/20 | 38452 | systems/texlive/tlnet/archive/proflycee.r68323.tar.xz
+2023/09/28 | 1387244 | systems/texlive/tlnet/archive/proflycee.doc.r68383.tar.xz
+2023/09/28 | 38576 | systems/texlive/tlnet/archive/proflycee.r68383.tar.xz
2023/09/10 | 178328 | systems/texlive/tlnet/archive/profmaquette.doc.r68222.tar.xz
2023/09/10 | 13760 | systems/texlive/tlnet/archive/profmaquette.r68222.tar.xz
2023/09/27 | 339596 | systems/texlive/tlnet/archive/profsio.doc.r68374.tar.xz
@@ -300109,9 +300109,9 @@
2019/02/28 | 2324 | systems/texlive/tlnet/archive/progressbar.r33822.tar.xz
2019/02/28 | 80808 | systems/texlive/tlnet/archive/progress.doc.r19519.tar.xz
2019/02/28 | 4192 | systems/texlive/tlnet/archive/progress.r19519.tar.xz
-2023/09/26 | 8712 | systems/texlive/tlnet/archive/projlib.doc.r68369.tar.xz
-2023/09/26 | 26308 | systems/texlive/tlnet/archive/projlib.r68369.tar.xz
-2023/09/26 | 26456 | systems/texlive/tlnet/archive/projlib.source.r68369.tar.xz
+2023/09/28 | 8712 | systems/texlive/tlnet/archive/projlib.doc.r68385.tar.xz
+2023/09/28 | 26304 | systems/texlive/tlnet/archive/projlib.r68385.tar.xz
+2023/09/28 | 26484 | systems/texlive/tlnet/archive/projlib.source.r68385.tar.xz
2022/08/25 | 462080 | systems/texlive/tlnet/archive/proof-at-the-end.doc.r64188.tar.xz
2022/08/25 | 7328 | systems/texlive/tlnet/archive/proof-at-the-end.r64188.tar.xz
2022/08/25 | 20852 | systems/texlive/tlnet/archive/proof-at-the-end.source.r64188.tar.xz
@@ -302290,7 +302290,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
-2023/09/27 | 429764 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68371.tar.xz
+2023/09/28 | 429888 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68380.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -302312,7 +302312,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
-2023/09/27 | 114092 | systems/texlive/tlnet/archive/texlive-scripts.r68371.tar.xz
+2023/09/28 | 114132 | systems/texlive/tlnet/archive/texlive-scripts.r68380.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -304190,16 +304190,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
2023/08/07 | 125713 | systems/texlive/tlnet/install-tl
-2023/09/27 | 5743135 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/09/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/09/27 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/09/28 | 5741775 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/09/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/09/28 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/09/27 | 21037656 | systems/texlive/tlnet/install-tl-windows.exe
-2023/09/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/09/27 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/09/27 | 26029120 | systems/texlive/tlnet/install-tl.zip
-2023/09/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/09/27 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/09/28 | 21037265 | systems/texlive/tlnet/install-tl-windows.exe
+2023/09/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/09/28 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/09/28 | 26029142 | systems/texlive/tlnet/install-tl.zip
+2023/09/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/09/28 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -304209,7 +304209,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/09/20 | 50622 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/09/26 | 7186 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/09/27 | 7307 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/08/23 | 221470 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -304251,12 +304251,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/09/27 | 18265809 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/09/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/09/28 | 18266417 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/09/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/09/18 | 87727 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/09/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/09/27 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/09/27 | 2478620 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/09/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/09/28 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/09/28 | 2476984 | 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
@@ -315044,7 +315044,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
-2023/09/28 | 186 | timestamp
+2023/09/29 | 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 a7d4bf660c..d19e8a7c8d 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 3ba6b51509..7421bd4061 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,99 @@
+2023/09/28 | 943866 | macros/latex/contrib/nicematrix/nicematrix-code.pdf
+2023/09/28 | 919364 | systems/texlive/tlnet/archive/beebe.r68380.tar.xz
+2023/09/28 | 9187 | macros/latex/contrib/homework/README.md
+2023/09/28 | 90595 | macros/latex/contrib/homework/homework-demo-tc.pdf
+2023/09/28 | 8712 | systems/texlive/tlnet/archive/projlib.doc.r68385.tar.xz
+2023/09/28 | 86676 | macros/latex/contrib/homework/homework-demo-jp.pdf
+2023/09/28 | 8401 | macros/latex/contrib/minimalist/minimart.cls
+2023/09/28 | 8398 | macros/latex/contrib/minimalist/minimbook.cls
+2023/09/28 | 83711 | macros/latex/contrib/homework/homework-demo-cn.pdf
+2023/09/28 | 8269 | macros/latex/contrib/minimalist/minimalist.sty
+2023/09/28 | 7772 | macros/latex/contrib/colorist/colorart.cls
+2023/09/28 | 7769 | macros/latex/contrib/colorist/colorbook.cls
+2023/09/28 | 77570 | macros/latex/contrib/jwjournal/jwjournal-demo-fr.pdf
+2023/09/28 | 75218 | macros/latex/contrib/jwjournal/jwjournal-demo-en.pdf
+2023/09/28 | 7480224 | fonts/newpx.zip
+2023/09/28 | 7436 | systems/texlive/tlnet/archive/minimalist.doc.r68384.tar.xz
+2023/09/28 | 606674 | macros/latex/contrib/nicematrix/nicematrix.pdf
+2023/09/28 | 5970 | macros/latex/contrib/colorist/colorist.sty
+2023/09/28 | 590286 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
+2023/09/28 | 5834 | macros/latex/contrib/homework/homework.cls
+2023/09/28 | 5799 | macros/latex/contrib/projlib/README.md
+2023/09/28 | 574708 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
+2023/09/28 | 5741775 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/09/28 | 53618 | macros/latex/contrib/minimalist.zip
+2023/09/28 | 52262 | macros/latex/contrib/homework/homework-demo-de.pdf
+2023/09/28 | 51505 | macros/latex/contrib/homework/homework-demo-es.pdf
+2023/09/28 | 51376 | macros/latex/contrib/homework/homework-demo-fr.pdf
+2023/09/28 | 50985 | macros/latex/contrib/homework/homework-demo-en.pdf
+2023/09/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/09/28 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/09/28 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/09/28 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/09/28 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/09/28 | 4732 | systems/texlive/tlnet/archive/non-decimal-units.r68382.tar.xz
+2023/09/28 | 469987 | macros/latex/contrib/homework.zip
+2023/09/28 | 43076 | macros/latex/contrib/colorist/colorist-fancy.sty
+2023/09/28 | 429888 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68380.tar.xz
+2023/09/28 | 42787 | macros/latex/contrib/minimalist/minimalist-flow.sty
+2023/09/28 | 42646 | macros/latex/contrib/minimalist/minimalist-stream.sty
+2023/09/28 | 42384 | macros/latex/contrib/minimalist/minimalist-classical.sty
+2023/09/28 | 42314 | macros/latex/contrib/minimalist/minimalist-default.sty
+2023/09/28 | 41704 | macros/latex/contrib/projlib.zip
+2023/09/28 | 4115314 | biblio/ctan-bibdata.zip
+2023/09/28 | 40098 | macros/latex/contrib/minimalist/minimalist-plain.sty
+2023/09/28 | 38576 | systems/texlive/tlnet/archive/proflycee.r68383.tar.xz
+2023/09/28 | 3713173 | biblio/ctan-bibdata/ctan.pdf
+2023/09/28 | 3676 | macros/latex/contrib/homework/homework-demo-jp.tex
+2023/09/28 | 3573 | macros/latex/contrib/homework/homework-demo-de.tex
+2023/09/28 | 3490 | macros/latex/contrib/homework/homework-demo-fr.tex
+2023/09/28 | 3394 | macros/latex/contrib/homework/homework-demo-es.tex
+2023/09/28 | 3379 | macros/latex/contrib/projlib/ProjLib.ins
+2023/09/28 | 3317 | macros/latex/contrib/jwjournal/jwjournal-demo-fr.tex
+2023/09/28 | 3268 | macros/latex/contrib/homework/homework-demo-en.tex
+2023/09/28 | 3177 | macros/latex/contrib/homework/homework-demo-tc.tex
+2023/09/28 | 3168 | macros/latex/contrib/homework/homework-demo-cn.tex
+2023/09/28 | 2860 | macros/latex/contrib/jwjournal/jwjournal-demo-en.tex
+2023/09/28 | 2814158 | biblio/ctan-bibdata/ctan.bib
+2023/09/28 | 277921 | macros/latex/contrib/jwjournal.zip
+2023/09/28 | 2770 | macros/latex/contrib/jwjournal/jwjournal-demo-cn.tex
+2023/09/28 | 2654 | macros/latex/contrib/minimalist/README.md
+2023/09/28 | 26484 | systems/texlive/tlnet/archive/projlib.source.r68385.tar.xz
+2023/09/28 | 26304 | systems/texlive/tlnet/archive/projlib.r68385.tar.xz
+2023/09/28 | 26029142 | systems/texlive/tlnet/install-tl.zip
+2023/09/28 | 259352 | systems/texlive/tlnet/archive/homework.doc.r68381.tar.xz
+2023/09/28 | 255242 | macros/latex/contrib/nicematrix/nicematrix.tex
+2023/09/28 | 2476984 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/09/28 | 245214 | macros/latex/contrib/nicematrix/nicematrix-french.tex
+2023/09/28 | 2448 | systems/texlive/tlnet/archive/homework.r68381.tar.xz
+2023/09/28 | 2436 | macros/latex/contrib/colorist/README.md
+2023/09/28 | 2317398 | macros/latex/contrib/nicematrix.zip
+2023/09/28 | 22899 | macros/latex/contrib/colorist.zip
+2023/09/28 | 218754 | macros/latex/contrib/projlib/ProjLib.dtx
+2023/09/28 | 21037265 | systems/texlive/tlnet/install-tl-windows.exe
+2023/09/28 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
+2023/09/28 | 19106 | macros/latex/contrib/projlib/LICENSE
+2023/09/28 | 19106 | macros/latex/contrib/minimalist/LICENSE
+2023/09/28 | 19106 | macros/latex/contrib/jwjournal/LICENSE
+2023/09/28 | 19106 | macros/latex/contrib/homework/LICENSE
+2023/09/28 | 19106 | macros/latex/contrib/colorist/LICENSE
+2023/09/28 | 18266417 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/09/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/09/28 | 162820 | systems/texlive/tlnet/archive/non-decimal-units.doc.r68382.tar.xz
+2023/09/28 | 16120 | macros/latex/contrib/jwjournal/jwjournal.cls
+2023/09/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/09/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/09/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/09/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/09/28 | 1387244 | systems/texlive/tlnet/archive/proflycee.doc.r68383.tar.xz
+2023/09/28 | 12 | macros/latex/contrib/minimalist/DEPENDS.txt
+2023/09/28 | 12 | macros/latex/contrib/jwjournal/DEPENDS.txt
+2023/09/28 | 12 | macros/latex/contrib/homework/DEPENDS.txt
+2023/09/28 | 12 | macros/latex/contrib/colorist/DEPENDS.txt
+2023/09/28 | 12516 | systems/texlive/tlnet/archive/minimalist.r68384.tar.xz
+2023/09/28 | 115307 | macros/latex/contrib/jwjournal/jwjournal-demo-cn.pdf
+2023/09/28 | 11493 | macros/latex/contrib/jwjournal/README.md
+2023/09/28 | 114132 | systems/texlive/tlnet/archive/texlive-scripts.r68380.tar.xz
2023/09/27 | 927 | systems/win32/miktex/tm/packages/pr.ini
2023/09/27 | 9113 | systems/win32/miktex/tm/packages/projlib__doc.tar.lzma
2023/09/27 | 9023 | systems/win32/miktex/tm/packages/einfart__doc.tar.lzma
@@ -10,10 +106,7 @@
2023/09/27 | 8564 | systems/texlive/tlnet/archive/einfart.doc.r68376.tar.xz
2023/09/27 | 8560 | systems/texlive/tlnet/archive/lebhart.doc.r68376.tar.xz
2023/09/27 | 8556 | systems/texlive/tlnet/archive/beaulivre.doc.r68376.tar.xz
-2023/09/27 | 8401 | macros/latex/contrib/minimalist/minimart.cls
-2023/09/27 | 8398 | macros/latex/contrib/minimalist/minimbook.cls
2023/09/27 | 828842 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2023/09/27 | 8269 | macros/latex/contrib/minimalist/minimalist.sty
2023/09/27 | 82172 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2023/09/27 | 81998 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
2023/09/27 | 81562 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
@@ -26,16 +119,17 @@
2023/09/27 | 7628 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
2023/09/27 | 76144 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
2023/09/27 | 75249 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2023/09/27 | 7436 | systems/texlive/tlnet/archive/minimalist.doc.r68376.tar.xz
2023/09/27 | 7424 | systems/texlive/tlnet/archive/colorist.doc.r68376.tar.xz
2023/09/27 | 7346 | macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
2023/09/27 | 73428 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2023/09/27 | 73420 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2023/09/27 | 7307 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/09/27 | 707266 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2023/09/27 | 698786 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2023/09/27 | 69756 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
2023/09/27 | 6972 | systems/texlive/tlnet/archive/collection-latexextra.r68377.tar.xz
2023/09/27 | 6908 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex
+2023/09/27 | 67791 | fonts/newpx/doc/newpxdoc.tex
2023/09/27 | 67512 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
2023/09/27 | 65105 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
2023/09/27 | 64627 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
@@ -45,8 +139,6 @@
2023/09/27 | 59868 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
2023/09/27 | 59235 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2023/09/27 | 58963 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2023/09/27 | 5799 | macros/latex/contrib/projlib/README.md
-2023/09/27 | 5743135 | systems/texlive/tlnet/install-tl-unx.tar.gz
2023/09/27 | 5645 | systems/win32/miktex/tm/packages/non-decimal-units__source.tar.lzma
2023/09/27 | 55990 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2023/09/27 | 5512 | systems/win32/miktex/tm/packages/einfart.tar.lzma
@@ -57,7 +149,6 @@
2023/09/27 | 5374 | systems/win32/miktex/tm/packages/beaulivre.tar.lzma
2023/09/27 | 5328 | systems/texlive/tlnet/archive/einfart.r68376.tar.xz
2023/09/27 | 5300 | systems/texlive/tlnet/archive/simplivre.r68376.tar.xz
-2023/09/27 | 53008 | macros/latex/contrib/minimalist.zip
2023/09/27 | 529 | macros/latex/contrib/proflycee/doc/testscript.py
2023/09/27 | 529824 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2023/09/27 | 52705 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
@@ -67,35 +158,20 @@
2023/09/27 | 5161104 | systems/texlive/tlnet/archive/tcolorbox.doc.r68375.tar.xz
2023/09/27 | 500397 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
2023/09/27 | 49721 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2023/09/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/09/27 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/09/27 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/09/27 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/09/27 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/09/27 | 4879 | systems/win32/miktex/tm/packages/non-decimal-units.tar.lzma
2023/09/27 | 48330 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
2023/09/27 | 47409 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2023/09/27 | 473067 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2023/09/27 | 4724 | systems/texlive/tlnet/archive/non-decimal-units.r68377.tar.xz
2023/09/27 | 46022 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
2023/09/27 | 44373 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2023/09/27 | 44109 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
2023/09/27 | 44076 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
2023/09/27 | 43140 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2023/09/27 | 429764 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68371.tar.xz
-2023/09/27 | 42032 | macros/latex/contrib/minimalist/minimalist-flow.sty
-2023/09/27 | 41891 | macros/latex/contrib/minimalist/minimalist-stream.sty
-2023/09/27 | 41678 | macros/latex/contrib/projlib.zip
-2023/09/27 | 41629 | macros/latex/contrib/minimalist/minimalist-classical.sty
-2023/09/27 | 41559 | macros/latex/contrib/minimalist/minimalist-default.sty
+2023/09/27 | 424168 | fonts/newpx/doc/newpxdoc.pdf
2023/09/27 | 414 | macros/latex/contrib/non-decimal-units/README.md
-2023/09/27 | 4113457 | biblio/ctan-bibdata.zip
-2023/09/27 | 410039 | macros/latex/contrib/homework.zip
2023/09/27 | 40391 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2023/09/27 | 395356 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2023/09/27 | 39343 | macros/latex/contrib/minimalist/minimalist-plain.sty
2023/09/27 | 37658 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2023/09/27 | 3711814 | biblio/ctan-bibdata/ctan.pdf
2023/09/27 | 36811 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2023/09/27 | 36702 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
2023/09/27 | 35351 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
@@ -103,7 +179,6 @@
2023/09/27 | 339596 | systems/texlive/tlnet/archive/profsio.doc.r68374.tar.xz
2023/09/27 | 33904 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2023/09/27 | 33819 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2023/09/27 | 3379 | macros/latex/contrib/projlib/ProjLib.ins
2023/09/27 | 333779 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2023/09/27 | 333685 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2023/09/27 | 329900 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
@@ -119,76 +194,59 @@
2023/09/27 | 2896412 | systems/texlive/tlnet/archive/cabin.r68373.tar.xz
2023/09/27 | 287544 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2023/09/27 | 2830150 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2023/09/27 | 2814147 | biblio/ctan-bibdata/ctan.bib
2023/09/27 | 2725 | systems/win32/miktex/tm/packages/homework__source.tar.lzma
2023/09/27 | 272029 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2023/09/27 | 27135 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2023/09/27 | 26956 | systems/win32/miktex/tm/packages/projlib__source.tar.lzma
2023/09/27 | 2681 | systems/win32/miktex/tm/packages/homework.tar.lzma
2023/09/27 | 26590 | systems/win32/miktex/tm/packages/projlib.tar.lzma
-2023/09/27 | 2654 | macros/latex/contrib/minimalist/README.md
-2023/09/27 | 26029120 | systems/texlive/tlnet/install-tl.zip
2023/09/27 | 25615 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2023/09/27 | 25602 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2023/09/27 | 249420 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2023/09/27 | 2478620 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/09/27 | 245884 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2023/09/27 | 24138 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2023/09/27 | 23388 | fonts/newpx/README
2023/09/27 | 233552 | systems/win32/miktex/tm/packages/tcolorbox.tar.lzma
2023/09/27 | 232892 | systems/texlive/tlnet/archive/tcolorbox.r68375.tar.xz
+2023/09/27 | 23265 | fonts/newpx/tex/newpxtext.sty
2023/09/27 | 232078 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2023/09/27 | 230692 | systems/win32/miktex/tm/packages/cabin__doc.tar.lzma
2023/09/27 | 229840 | systems/texlive/tlnet/archive/cabin.doc.r68373.tar.xz
2023/09/27 | 221387 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2023/09/27 | 219120 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2023/09/27 | 218463 | macros/latex/contrib/projlib/ProjLib.dtx
2023/09/27 | 217520 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2023/09/27 | 21037656 | systems/texlive/tlnet/install-tl-windows.exe
2023/09/27 | 203262 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
2023/09/27 | 2014799 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2023/09/27 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
2023/09/27 | 19986 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
2023/09/27 | 19938 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2023/09/27 | 1947724 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
2023/09/27 | 1947408 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2023/09/27 | 19106 | macros/latex/contrib/projlib/LICENSE
-2023/09/27 | 19106 | macros/latex/contrib/minimalist/LICENSE
2023/09/27 | 182802 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2023/09/27 | 18273 | macros/latex/contrib/non-decimal-units/docs/non-decimal-units.tex
-2023/09/27 | 18265809 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/09/27 | 181332 | systems/texlive/tlnet/archive/non-decimal-units.doc.r68377.tar.xz
2023/09/27 | 177538 | systems/win32/miktex/tm/packages/non-decimal-units__doc.tar.lzma
2023/09/27 | 174072 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2023/09/27 | 1682038 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2023/09/27 | 1681921 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2023/09/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/09/27 | 167534 | macros/latex/contrib/non-decimal-units.zip
2023/09/27 | 16624 | macros/latex/contrib/non-decimal-units/latex/non-decimal-units.sty
2023/09/27 | 163176 | macros/latex/contrib/non-decimal-units/docs/non-decimal-units.pdf
2023/09/27 | 159955 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2023/09/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2023/09/27 | 1532726 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2023/09/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2023/09/27 | 1460898 | macros/latex/contrib/proflycee.zip
2023/09/27 | 14602 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2023/09/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2023/09/27 | 1455988 | systems/texlive/tlnet/archive/tex4ht.source.r68378.tar.xz
-2023/09/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/09/27 | 14287 | systems/win32/miktex/tm/packages/profsio__source.tar.lzma
2023/09/27 | 1428175 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2023/09/27 | 141852 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2023/09/27 | 137728 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2023/09/27 | 136388 | systems/texlive/tlnet/archive/tex4ht.doc.r68378.tar.xz
2023/09/27 | 1341902 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2023/09/27 | 12 | macros/latex/contrib/minimalist/DEPENDS.txt
2023/09/27 | 12644 | systems/win32/miktex/tm/packages/minimalist.tar.lzma
-2023/09/27 | 12496 | systems/texlive/tlnet/archive/minimalist.r68376.tar.xz
2023/09/27 | 118303 | systems/win32/miktex/tm/packages/homework__doc.tar.lzma
2023/09/27 | 117789 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2023/09/27 | 1173031 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
2023/09/27 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
2023/09/27 | 11502 | systems/win32/miktex/tm/packages/profsio.tar.lzma
-2023/09/27 | 114092 | systems/texlive/tlnet/archive/texlive-scripts.r68371.tar.xz
2023/09/27 | 11306 | systems/win32/miktex/tm/packages/colorist.tar.lzma
2023/09/27 | 11296 | systems/texlive/tlnet/archive/profsio.r68374.tar.xz
2023/09/27 | 112469 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
@@ -208,22 +266,15 @@
2023/09/26 | 9037 | macros/latex/contrib/tcolorbox/tcbexternal.code.tex
2023/09/26 | 8855 | macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
2023/09/26 | 8799 | macros/latex/contrib/tcolorbox/tcbhooks.code.tex
-2023/09/26 | 8712 | systems/texlive/tlnet/archive/projlib.doc.r68369.tar.xz
2023/09/26 | 83992 | macros/latex/contrib/tcolorbox/tcbskins.code.tex
2023/09/26 | 8355 | macros/latex/contrib/tcolorbox/tcolorbox-example.tex
2023/09/26 | 7928 | macros/latex/contrib/tcolorbox/tcolorbox.doc.graphics.tex
-2023/09/26 | 7772 | macros/latex/contrib/colorist/colorart.cls
-2023/09/26 | 7769 | macros/latex/contrib/colorist/colorbook.cls
2023/09/26 | 76829 | macros/latex/contrib/tcolorbox/goldshade.png
-2023/09/26 | 76130 | macros/latex/contrib/homework/homework-demo-tc.pdf
2023/09/26 | 751268 | systems/texlive/tlnet/archive/bytefield.doc.r68366.tar.xz
-2023/09/26 | 74728 | macros/latex/contrib/homework/homework-demo-jp.pdf
2023/09/26 | 7246 | macros/unicodetex/latex/einfart/README.md
2023/09/26 | 7243 | macros/unicodetex/latex/simplivre/README.md
2023/09/26 | 7228 | macros/unicodetex/latex/lebhart/README.md
2023/09/26 | 7226 | macros/unicodetex/latex/beaulivre/README.md
-2023/09/26 | 7186 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
-2023/09/26 | 70991 | macros/latex/contrib/homework/homework-demo-cn.pdf
2023/09/26 | 69123 | macros/latex/contrib/tcolorbox/CHANGES.md
2023/09/26 | 6686 | macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
2023/09/26 | 6684 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_snippet.sty
@@ -234,12 +285,9 @@
2023/09/26 | 6319194 | macros/latex/contrib/tcolorbox.zip
2023/09/26 | 63135 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
2023/09/26 | 62882 | macros/latex/contrib/tcolorbox/blueshade.png
-2023/09/26 | 6180 | macros/latex/contrib/homework/README.md
2023/09/26 | 5990 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
-2023/09/26 | 5970 | macros/latex/contrib/colorist/colorist.sty
2023/09/26 | 58067 | macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
2023/09/26 | 57964 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
-2023/09/26 | 5638 | macros/latex/contrib/homework/homework.cls
2023/09/26 | 5636 | macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
2023/09/26 | 5577 | macros/latex/contrib/tcolorbox/tcolorbox.doc.quickref.tex
2023/09/26 | 5459 | macros/latex/contrib/tcolorbox/tcolorbox.doc.abstract.tex
@@ -248,14 +296,9 @@
2023/09/26 | 5031 | macros/latex/contrib/tcolorbox/tcolorbox.doc.verbatim.tex
2023/09/26 | 4884 | systems/texlive/tlnet/archive/bytefield.r68366.tar.xz
2023/09/26 | 4835606 | macros/latex/contrib/tcolorbox/tcolorbox.pdf
-2023/09/26 | 47815 | macros/latex/contrib/homework/homework-demo-de.pdf
-2023/09/26 | 47517 | macros/latex/contrib/homework/homework-demo-es.pdf
-2023/09/26 | 46759 | macros/latex/contrib/homework/homework-demo-fr.pdf
-2023/09/26 | 46621 | macros/latex/contrib/homework/homework-demo-en.pdf
2023/09/26 | 447115 | macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
2023/09/26 | 44098 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
2023/09/26 | 438049 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
-2023/09/26 | 42113 | macros/latex/contrib/colorist/colorist-fancy.sty
2023/09/26 | 41487 | macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
2023/09/26 | 40183 | macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
2023/09/26 | 3920 | info/biblio/texbook3.ltx
@@ -277,38 +320,24 @@
2023/09/26 | 29548 | systems/texlive/tlnet/archive/bytefield.source.r68366.tar.xz
2023/09/26 | 28432 | macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
2023/09/26 | 274323 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
-2023/09/26 | 26456 | systems/texlive/tlnet/archive/projlib.source.r68369.tar.xz
-2023/09/26 | 26308 | systems/texlive/tlnet/archive/projlib.r68369.tar.xz
2023/09/26 | 2591 | macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
2023/09/26 | 25816 | macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
2023/09/26 | 25557 | macros/latex/contrib/tcolorbox/tcolorbox.doc.poster.tex
2023/09/26 | 25225 | macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex
2023/09/26 | 24666 | macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
-2023/09/26 | 2440 | systems/texlive/tlnet/archive/homework.r68367.tar.xz
-2023/09/26 | 2436 | macros/latex/contrib/colorist/README.md
2023/09/26 | 231226 | support/TeX4ht/source/ChangeLog
-2023/09/26 | 22770 | macros/latex/contrib/colorist.zip
2023/09/26 | 22407 | macros/latex/contrib/tcolorbox/Basilica_5.png
2023/09/26 | 21852 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
2023/09/26 | 21663 | macros/latex/contrib/tcolorbox/crinklepaper.png
2023/09/26 | 20274 | macros/latex/contrib/tcolorbox/tcolorbox.doc.magazine.tex
-2023/09/26 | 2003 | macros/latex/contrib/homework/homework-demo-jp.tex
-2023/09/26 | 1932 | macros/latex/contrib/homework/homework-demo-de.tex
2023/09/26 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
2023/09/26 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
2023/09/26 | 19106 | macros/unicodetex/latex/einfart/LICENSE
2023/09/26 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
-2023/09/26 | 19106 | macros/latex/contrib/homework/LICENSE
-2023/09/26 | 19106 | macros/latex/contrib/colorist/LICENSE
2023/09/26 | 1855 | macros/latex/contrib/non-decimal-units/latex/non-decimal-units.danish.tex
2023/09/26 | 18293 | macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex
-2023/09/26 | 1826 | macros/latex/contrib/homework/homework-demo-fr.tex
2023/09/26 | 179493 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
-2023/09/26 | 1781 | macros/latex/contrib/homework/homework-demo-es.tex
2023/09/26 | 17116 | macros/latex/contrib/tcolorbox/tcbfitting.code.tex
-2023/09/26 | 1697 | macros/latex/contrib/homework/homework-demo-tc.tex
-2023/09/26 | 1697 | macros/latex/contrib/homework/homework-demo-en.tex
-2023/09/26 | 1688 | macros/latex/contrib/homework/homework-demo-cn.tex
2023/09/26 | 15 | macros/unicodetex/latex/simplivre/DEPENDS.txt
2023/09/26 | 15 | macros/unicodetex/latex/einfart/DEPENDS.txt
2023/09/26 | 15962 | macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
@@ -323,12 +352,9 @@
2023/09/26 | 13 | macros/unicodetex/latex/lebhart/DEPENDS.txt
2023/09/26 | 13 | macros/unicodetex/latex/beaulivre/DEPENDS.txt
2023/09/26 | 13405 | macros/latex/contrib/tcolorbox/tcolorbox.doc.sidebyside.tex
-2023/09/26 | 12 | macros/latex/contrib/homework/DEPENDS.txt
-2023/09/26 | 12 | macros/latex/contrib/colorist/DEPENDS.txt
2023/09/26 | 12747 | macros/latex/contrib/tcolorbox/tcbvignette.code.tex
2023/09/26 | 12570 | macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
2023/09/26 | 12459 | macros/latex/contrib/tcolorbox/tcbposter.code.tex
-2023/09/26 | 119036 | systems/texlive/tlnet/archive/homework.doc.r68367.tar.xz
2023/09/26 | 11829 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
2023/09/26 | 116621606 | macros/context/latest/cont-tmf.zip
2023/09/26 | 113062 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
@@ -1054,7 +1080,6 @@
2023/09/22 | 96467 | systems/win32/miktex/tm/packages/latex-lab-dev__source.tar.lzma
2023/09/22 | 9510 | systems/win32/miktex/tm/packages/newpax.tar.lzma
2023/09/22 | 9156 | systems/win32/miktex/tm/packages/piton.tar.lzma
-2023/09/22 | 913736 | systems/texlive/tlnet/archive/beebe.r68331.tar.xz
2023/09/22 | 90015 | macros/unicodetex/latex/quran-bn/doc/quran-bn-doc.pdf
2023/09/22 | 8846 | macros/unicodetex/latex/quran-bn/doc/quran.png
2023/09/22 | 8737 | systems/win32/miktex/tm/packages/setspaceenhanced__source.tar.lzma
@@ -1237,20 +1262,3 @@
2023/09/22 | 1031219 | macros/unicodetex/latex/quran-bn.zip
2023/09/22 | 1025455 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma
2023/09/22 | 10232 | systems/win32/miktex/tm/packages/minted.tar.lzma
-2023/09/21 | 808894 | macros/latex/contrib/huawei/huawei.pdf
-2023/09/21 | 69921039 | support/texshop/texshop518.zip
-2023/09/21 | 67938 | fonts/libertinus-otf/doc/libertinus-otf-doc.tex
-2023/09/21 | 677 | macros/latex/contrib/huawei/DEPENDS.txt
-2023/09/21 | 408 | fonts/libertinus-otf/README.md
-2023/09/21 | 381967 | macros/texinfo/latest/texinfo.tex
-2023/09/21 | 3695 | support/texshop/texshop518.html
-2023/09/21 | 33619 | macros/latex/contrib/huawei/huawei.dtx
-2023/09/21 | 2626 | macros/latex/contrib/huawei/huawei.ins
-2023/09/21 | 253724 | macros/latex/contrib/huawei/huawei-cover-picture.pdf
-2023/09/21 | 2508 | fonts/libertinus-otf/Changes
-2023/09/21 | 22381 | fonts/libertinus-otf/latex/libertinus-otf.sty
-2023/09/21 | 1513 | macros/latex/contrib/huawei/README.md
-2023/09/21 | 1351180 | fonts/libertinus-otf/doc/libertinus-otf-doc.pdf
-2023/09/21 | 1307394 | fonts/libertinus-otf.zip
-2023/09/21 | 1083 | macros/latex/contrib/huawei/LICENSE.txt
-2023/09/21 | 1051550 | macros/latex/contrib/huawei.zip
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index a1ad3d12d3..3026cc79d4 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 28-09-2023, 02:01:19
+%% created at 29-09-2023, 02:00:51
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -14062,7 +14062,7 @@
title = {The \texttt{colorist} package},
subtitle = {Write your articles or books in a colorful way},
author = {Jinwen XU},
- date = {2023-09-26},
+ date = {2023-09-28},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/colorist},
@@ -32039,8 +32039,8 @@
title = {The \texttt{homework} package},
subtitle = {A \LaTeX{} class for writing your homework},
author = {Jinwen XU},
- date = {2023-09-27},
- version = {2023-09-25a},
+ date = {2023-09-28},
+ version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/homework},
url = {https://ctan.org/pkg/homework},
@@ -35733,7 +35733,7 @@
title = {The \texttt{jwjournal} package},
subtitle = {A personal class for writing journals},
author = {Jinwen XU},
- date = {2023-09-01},
+ date = {2023-09-28},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/jwjournal},
@@ -45528,7 +45528,7 @@
title = {The \texttt{minimalist} package},
subtitle = {Write your articles or books in a simple and clear way},
author = {Jinwen XU},
- date = {2023-09-27},
+ date = {2023-09-28},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/minimalist},
@@ -48308,8 +48308,8 @@
title = {The \texttt{newpx} package},
subtitle = {Alternative uses of the PX fonts, with improved metrics},
author = {Michael Sharpe},
- date = {2023-09-07},
- version = {1.52},
+ date = {2023-09-28},
+ version = {1.522},
license = {lppl,ofl},
mirror = {https://mirror.ctan.org/fonts/newpx},
url = {https://ctan.org/pkg/newpx},
@@ -48540,8 +48540,8 @@
title = {The \texttt{nicematrix} package},
subtitle = {Improve the typesetting of mathematical matrices with PGF},
author = {François Pantigny},
- date = {2023-09-02},
- version = {6.23},
+ date = {2023-09-28},
+ version = {6.24},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/nicematrix},
url = {https://ctan.org/pkg/nicematrix},
@@ -48949,7 +48949,7 @@
title = {The \texttt{non-decimal-units} package},
subtitle = {Display and manipulate historical non-decimal units},
author = {Mikkel Eide Eriksen},
- date = {2023-09-27},
+ date = {2023-09-28},
version = {},
license = {cc-by-sa-4},
mirror = {https://mirror.ctan.org/macros/latex/contrib/non-decimal-units},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index 4f4310548a..3b7ae014cc 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/fonts/newpx/README b/fonts/newpx/README
index f418a23ccc..364aa04457 100644
--- a/fonts/newpx/README
+++ b/fonts/newpx/README
@@ -1,10 +1,16 @@
This package, based initially on pxfonts, provides many fixes and enhancements to that package, splitting it in two parts---newpxtext and newpxmath---which may be run independently of one another. It provides scaling, improved metrics, and other options. For proper operation, the packages require that the packages newtxmath, pxfonts and TeXGyrePagella be installed and their map files enabled. The text package now relies on an extension of the TeXGyrePagella Type1 fonts that is provided with this package. The accompanying MANIFEST-newpx.txt provides details of the extension as requested by GUST-FONT-LICENSE.txt
-Current version: 1.52 2023-09-07
+Current version: 1.522 2023-09-27
This material is subject to the LaTeX Project Public License. See http://www.ctan.org/license/lppl1.3
for the details of that license.
+Changes in version 1.522
+Corrections to documentation.
+
+Changes in version 1.521
+Small change to newpxtext.sty so that option scosf works as expected under lualatex.
+
Changes in version 1.52
Rewrote the handling of footnotes. The code now works with all latex engines and with the KOMA classes as well as the basic latex classes. There are now added superior symbols that handle the latex and KOMA symbol footnote markers.
diff --git a/fonts/newpx/doc/newpxdoc.pdf b/fonts/newpx/doc/newpxdoc.pdf
index 9d997e4d45..6ac152c71b 100644
--- a/fonts/newpx/doc/newpxdoc.pdf
+++ b/fonts/newpx/doc/newpxdoc.pdf
Binary files differ
diff --git a/fonts/newpx/doc/newpxdoc.tex b/fonts/newpx/doc/newpxdoc.tex
index 9a151f0339..d4e9e978fe 100644
--- a/fonts/newpx/doc/newpxdoc.tex
+++ b/fonts/newpx/doc/newpxdoc.tex
@@ -299,9 +299,8 @@ Supports {\tt newpxmath} with an otf text font.
\usepackage[no-math]{fontspec}
\usepackage{} % the chosen otf text font package, or fontspec \setmainfont, etc
% or, using newpx, only for TeXGyrePagellaX
- \renewcommand*{\rmdefault}{zplTLF} % loads minimal version of text font for use in math
\usepackage[T1]{fontenc} % so operators can have accented letters
- \usepackage[list of text and mathoptions]{newpx} % options will be passed to text font package and newpxmath
+ \usepackage[list of text and math options]{newpx} % options will be passed to text font package and newpxmath
\end{verbatim}
\textsc{Notes:}
\begin{itemize}
@@ -343,8 +342,7 @@ For this arrangement, the math package needs information about the text font cur
% should load tt and sans math before math
% or, using newpx, where text font will be TeXGyrePagelleX
% should load tt and sans math before newpx
- \renewcommand*{\rmdefault}{zplTLF}% minimal text family, Roman and Bold for math
- \usepackage[T1]{fontenc}
+ \usepackage[T1]{fontenc} % math text font zplTLF by default
\usepackage[<list of text and math options>]{newpx}
\end{verbatim}
\textsc{Notes:}
@@ -463,7 +461,7 @@ You do not need to load {\tt amsmath}: it is loaded by {\tt newpxmath} Option {\
\end{itemize}
With {\tt newpx}, the above is equivalent to:
\begin{verbatim}
-\renewcommand{\rmdefault}{zplTLF}% Roman and Bold PagellaX for math mode
+%\renewcommand{\rmdefault}{zplTLF}% Roman and Bold PagellaX for math mode
\usepackage[T1]{fontenc} % T1 is active encoding for use in math text
\usepackage[type1]{sourcesanspro}% used only by \mathsf, optional
% Next line loads amsmath, then loads amsthm
@@ -515,7 +513,7 @@ unless suppressed by an appropriate option. E.g.,
\begin{verbatim}
\usepackage[type1]{cabin}
\end{verbatim}
-prevents the problem with the {\tt cabin} package. (Not working in the version of {\tt cabin.sty} dated 12/25/2022.)
+prevents the problem with the {\tt cabin} package. (Not working in the version of {\tt cabin.sty} dated 12/25/2022. This has been corrected in the version dated 2023-09-25.)
\iffalse
Consider three scenarios for using some part of {\tt newpx} with one of XeLaTeX, LuaLaTeX.
diff --git a/fonts/newpx/tex/newpxtext.sty b/fonts/newpx/tex/newpxtext.sty
index 471dc18f68..696a5c9732 100644
--- a/fonts/newpx/tex/newpxtext.sty
+++ b/fonts/newpx/tex/newpxtext.sty
@@ -8,8 +8,8 @@
% Text is now directed to an extension of TeXGyrePagella rather than ppl.
% 1.5 is first version of newpxtext to support both [pdf]latex and unicode latex.
-\def\fileversion{1.52}
-\def\filedate{2023/09/07}
+\def\fileversion{1.521}
+\def\filedate{2023/09/27}
\ProvidesPackage{newpxtext}[%
\filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for TeXGyrePagellaX]
@@ -392,7 +392,7 @@
{\edef\zpl@dflt{\zpl@dflt StylisticSet={\zpl@lst} ,
}}{}
- \defaultfontfeatures[\zpl@base]{
+ \defaultfontfeatures{
Ligatures = TeX ,
Scale = \zpl@scale ,
Extension = .otf ,
diff --git a/macros/latex/contrib/colorist/colorart.cls b/macros/latex/contrib/colorist/colorart.cls
index 4153a79860..289de77adc 100644
--- a/macros/latex/contrib/colorist/colorart.cls
+++ b/macros/latex/contrib/colorist/colorart.cls
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{colorart}
- {2023/09/26} {}
+ {2023/09/28} {}
{A colorful article style}
\tl_const:Nn \l__colorclass_base_class_tl { article }
diff --git a/macros/latex/contrib/colorist/colorbook.cls b/macros/latex/contrib/colorist/colorbook.cls
index 9a27ceb896..51dacaee11 100644
--- a/macros/latex/contrib/colorist/colorbook.cls
+++ b/macros/latex/contrib/colorist/colorbook.cls
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{colorbook}
- {2023/09/26} {}
+ {2023/09/28} {}
{A colorful book style}
\tl_const:Nn \l__colorclass_base_class_tl { book }
diff --git a/macros/latex/contrib/colorist/colorist-fancy.sty b/macros/latex/contrib/colorist/colorist-fancy.sty
index 5323c9b881..75e8f0eecd 100644
--- a/macros/latex/contrib/colorist/colorist-fancy.sty
+++ b/macros/latex/contrib/colorist/colorist-fancy.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{colorist-fancy}
- {2023/09/26} {}
+ {2023/09/28} {}
{The fancy style of colorist}
\IfPackageLoadedTF { colorist } {}
@@ -696,6 +696,19 @@ heading_suffix "}\n"
\RequirePackage { mathtools }
\RequirePackage { amsthm }
+\tl_const:Nn \c_colorist_l_mathparen_latin_tl { $($ }
+\tl_const:Nn \c_colorist_r_mathparen_latin_tl { $)$ }
+\tl_const:Nn \c_colorist_l_mathparen_cjk_tl { \!\,( }
+\tl_const:Nn \c_colorist_r_mathparen_cjk_tl { )\!\, }
+\cs_new:Nn \colorist_insert_l_mathparen:
+ {
+ \tl_use:c { c_colorist_l_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+\cs_new:Nn \colorist_insert_r_mathparen:
+ {
+ \tl_use:c { c_colorist_r_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+
\def\tagform@#1{\maketag@@@{\textcolor{.!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
\PassOptionsToPackage { nopatch = eqnum } { microtype }
@@ -710,7 +723,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }}
}}\hbox{\strut}\vspace{0pt}}}
}
\newtheoremstyle{simple-var}
@@ -721,7 +734,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }}
}}\hbox{\strut}\vspace{0pt}}}
}
}
@@ -732,14 +745,14 @@ heading_suffix "}\n"
{\normalfont}{}
{0pt}
{{\thmname{#1}\nobreakspace\thmnumber{#2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
\newtheoremstyle{simple-var}
{}{}
{ \bool_if:NTF \l__colorist_emphasis_theorem_bool { \itshape } { \normalfont } }{}
{\normalfont}{}
{0pt}
{{\thmname{#1}\nobreakspace\thmnumber{#2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
}
\newcommand{\customqedsymbol}{
@@ -756,7 +769,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}}
- \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}
+ \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }
}}\hbox{\strut}\vspace{0pt}}}
}
\newtheoremstyle{basic-var}
@@ -767,7 +780,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}}
- \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}
+ \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }
}}\hbox{\strut}\vspace{0pt}}}
}
}
@@ -777,13 +790,13 @@ heading_suffix "}\n"
{\normalfont}{0pt}
{}{\;}{0.25em}
{{\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}}
- \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}}
+ \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }}
\newtheoremstyle{basic-var}
{0pt}{0pt}
{ \bool_if:NTF \l__colorist_emphasis_theorem_bool { \itshape } { \normalfont } }{0pt}
{}{\;}{0.25em}
{{\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}}
- \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}}
+ \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace \colorist_insert_l_mathparen: #3 \colorist_insert_r_mathparen: }}
}
\theoremstyle{basic}
diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty
index d9019557c2..6a89f9d6e7 100644
--- a/macros/latex/contrib/colorist/colorist.sty
+++ b/macros/latex/contrib/colorist/colorist.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{colorist}
- {2023/09/26} {}
+ {2023/09/28} {}
{A colorful style for articles and books}
\keys_define:nn { colorist }
diff --git a/macros/latex/contrib/homework/README.md b/macros/latex/contrib/homework/README.md
index c580a03fa8..28cdf8b29a 100644
--- a/macros/latex/contrib/homework/README.md
+++ b/macros/latex/contrib/homework/README.md
@@ -10,21 +10,42 @@ The current document class is for writing homework. It has the following feature
- Multilingual support: currently supporting Chinese (both simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish.
- Page numbers are of the form `Page [current] of [total]`, which can help you ensure that there are no missing pages when you print your homework for submission.
- Support writing problem statements and solutions (or proofs) in different colors.
-- Every statement and solution has its own QED symbol, in hollow or solid shape, respectively.
+- Every statement and solution has its own Q.E.D. symbol, in hollow or solid shape, respectively.
- You may mark unfinished parts with `\DNF` or `\DNF<⟨remark⟩>` (meaning "did not finish") for reminding — this will give you a clickable report on the unfinished parts at the end of your document.
+## Installation and preparation
+
+### How to install this package
+
+If you are using TeX Live 2024 or newer, or the most recent version of MikTeX, then this package should already be included, and you don't need to do anything.
+
+Otherwise, you need to check for package update to see if you can receive it. In case not, you can always go to [the CTAN page](https://ctan.org/pkg/homework) to download the `.zip` file with all related files included.
+
+### Regarding the fonts
+
+If you are using a Unicode TeX engine, then the current document class requires the following open-source fonts that are not included in the standard TeX collection:
+
+- The Source Han font series at [Adobe Fonts](https://github.com/adobe-fonts). More specifically:
+ - Source Han Serif, [go to its Release page](https://github.com/adobe-fonts/source-han-serif/releases).
+ - Source Han Sans, [go to its Release page](https://github.com/adobe-fonts/source-han-sans/releases).
+ - Source Han Mono, [go to its Release page](https://github.com/adobe-fonts/source-han-mono/releases).
+ > It is recommended to download the Super-OTC version, so that the total download size would be smaller, and the installation would be easier.
+
+These are necessary if you wish to write your document in Chinese (either simplified or traditional) or Japanese. Also, without these fonts installed, the compilation speed might be much slower if you use XeLaTeX or LuaLaTeX to compile your document.
+
## Usage
A typical homework document looks like this:
```latex
-\documentclass[11pt,
+\documentclass[a4paper, 11pt,
logo = {image-file-of-your-university-logo}, % Remove this line if you don't want logo presented.
% logo height = 1cm, % In case you are not satisfied with the default logo size.
title in boldface,
title in sffamily,
theorem in new line,
+ % twoside,
]{homework}
\UseLanguage{...} % If you wish to write your homework in languages other than English.
@@ -59,7 +80,6 @@ A typical homework document looks like this:
% If you prefer "Proof" instead of "Solution"...
\begin{solution}[Proof]
- ... or a proof like this one...
% You may write claims, lemmas, propositions, etc. inside your solution.
\begin{lemma}\label{lem}
Some auxiliary result.
@@ -68,26 +88,66 @@ A typical homework document looks like this:
The proof of \cref{lem}, where we use the following formula:
\[
\infty = \infty + 1.
- \qedhere % For placing the QED symbol in the right place.
+ \qedhere % For placing the Q.E.D. symbol in the right place.
\]
\end{proof}
+ \begin{fact}[This statement requires no proof]
+ \proofless % To change the hollow box marking the end of a theorem-type environment into a solid one.
+ Some statement.
+ \end{fact}
... and the rest steps...
\end{solution}
+% If you wish to answer each sub-question of a problem separately...
+
+\begin{problem}[A problem with many sub-questions]
+ \begin{enumerate}[itemsep=.5\baselineskip]
+ \item First question.
+ \begin{solution}
+ The solution of the first question.
+ \end{solution}
+ \item Second question.
+ \begin{enumerate}[itemsep=.3\baselineskip]
+ \item First sub-question.
+ \begin{solution}
+ The solution of the first sub-question.
+ \end{solution}
+ \item Second sub-question.
+ \begin{solution}
+ The solution of the second sub-question.
+ \end{solution}
+ \end{enumerate}
+ \item Third question.
+ \begin{solution}
+ The solution of the third question.
+ \end{solution}
+ \end{enumerate}
+ \noQED % Use \noqed or \noQED at the end to suppress the Q.E.D. symbol that marks the end of the current problem.
+\end{problem}
+
+
+% If there is a question that you can't figure out how to solve at the moment...
+
+\DNF<some description>
+
+
\end{document}
```
> You may refer to the demo documents for more examples.
-A few remarks:
+Regarding some of the class options:
1) The logo image can be included via the class option `logo = {⟨image file name⟩}`, and if you are not satisfied with its default size, then you may manually specify the size via the option `logo height = {⟨height⟩}`. If you do not want to show any logo in the title bar, you may simply remove the option `logo = {⟨image file name⟩}`.
1) The options `title in boldface`, `title in sffamily` or even `title in scshape` are for configuring the text effect of the title line, the sectional titles and theorem names.
1) The option `theorem in new line` is for showing the problem / theorem name, numbering and description in a separate line, for the sake of clarity.
+1) The option `twoside` is for double-sided printing.
+
+A few extra remarks:
1) `\title`, `\author` and `\date` should be placed before `\begin{document}`.
-1) Since the problem, solution and other theorem-type environments have a QED symbol at the end, if your text ends with a displayed equation or a `itemize`/`enumerate`/`description` list, then you would need to add a `\qedhere` so that the QED symbol is placed in the right place.
+1) Since the problem, solution and other theorem-type environments have a Q.E.D. symbol at the end, if your text ends with a displayed equation or a `itemize`/`enumerate`/`description` list, then you would need to add a `\qedhere` so that the Q.E.D. symbol is placed in the right place. There are also `\proofless` and `\noQED` for controlling the Q.E.D. symbol, see the demo documents for their usage.
1) Every theorem-type environment has a starred unnumbered version, for instance, `claim*` for unnumbered `claim`, `lemma*` for unnumbered `lemma`, etc.
-1) It is recommended to use clever reference, such as `\cref`. For languages such as French and German, to ensure that the generated referencing text is grammatically correct, you may write the definite article and/or declension as optional argument for the referencing commands, for instance, `\cref[à]{⟨label⟩}` or `\cref[de]{⟨label⟩}` for French, `\cref[nom.]{⟨label⟩}` or `\cref[von,dat.]{⟨label⟩}` for German, etc.
+1) It is recommended to use clever reference, such as `\cref`, `\Cref` and `\namecref`, etc. For languages such as French and German, to ensure that the generated referencing text is grammatically correct, you may write the definite article and/or declension as optional argument for the referencing commands, for instance, `\cref[à]{⟨label⟩}` or `\cref[de]{⟨label⟩}` for French, `\cref[nom.]{⟨label⟩}` or `\cref[von,dat.]{⟨label⟩}` for German, etc.
## TeXnical details
@@ -96,11 +156,13 @@ A few remarks:
- With pdfLaTeX, the base class is `minimart`.
- With XeLaTeX or LuaLaTeX, the base class is `einfart`.
-### Regarding `\maketitle`
+### Some other aspects
+
+#### Regarding `\maketitle`
The `\maketitle` has been automatically added just after `\begin{document}`, thus you don't need to write it by yourself. Note, however, that this also means that you cannot place `\title`, `author` and `\date` after `\begin{document}`.
-### Regarding the numbering
+#### Regarding the numbering
A new counter named `homework` is defined, which is shared by the environments `problem`, `question` and `exercise`, thus you would see them numbered as `1`, `2`, `3`, etc. The other theorem-type environments are numbered within this counter `homework`, thus within, say, `Problem 1`, you would see them numbered as `Theorem 1.1`, `Lemma 1.2` and `Claim 1.3`, etc.
diff --git a/macros/latex/contrib/homework/homework-demo-cn.pdf b/macros/latex/contrib/homework/homework-demo-cn.pdf
index a3f96f3fad..cab3b09986 100644
--- a/macros/latex/contrib/homework/homework-demo-cn.pdf
+++ b/macros/latex/contrib/homework/homework-demo-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/homework/homework-demo-cn.tex b/macros/latex/contrib/homework/homework-demo-cn.tex
index 9585ebc126..44bc036e2c 100644
--- a/macros/latex/contrib/homework/homework-demo-cn.tex
+++ b/macros/latex/contrib/homework/homework-demo-cn.tex
@@ -4,8 +4,16 @@
title in boldface,
% title in sffamily,
theorem in new line,
+ % twoside,
]{homework}
+%% For highlighting the code in this document
+\usepackage{newverbs}
+\newverbcommand{\cverb}{\color{red!50!orange}}{}
+
+%% Below is the main document
+
+
\UseLanguage{Chinese}
@@ -44,13 +52,17 @@
一些辅助结果。
\end{lemma}
\begin{proof}
- \Cref{lem}的证明,其中用到下面的公式:
+ 这是\cref{lem}的证明,其中用到下面的公式(注意使用 \cverb|\qedhere|):
\[
\infty = \infty + 1
\makebox[0pt][l]{\,。} % 句尾的句号
- \qedhere % 用来把 QED 放在正确的位置
+ \qedhere % 用来把 Q.E.D. 符号放在正确的位置
\]
\end{proof}
+ \begin{fact}[这个结论无需证明]
+ \proofless
+ 使用 \cverb|\proofless| 可以将标记定理结束的空心方框变为实心方框。
+ \end{fact}
…剩余的步骤……
\end{solution}
@@ -68,6 +80,47 @@
\end{proof}
+\bigskip\textcolor{gray!55}{(如果你想为一个大问题中的每个小问题分别撰写解答…)}
+
+\begin{problem}[一个由很多小问题构成的大问题]
+ \begin{enumerate}[itemsep=.5\baselineskip]
+ \item 第一个问题。
+
+ \begin{solution}
+ 第一个问题的解答。
+ \end{solution}
+
+ \item 第二个问题。
+
+ \begin{enumerate}[itemsep=.3\baselineskip]
+ \item 第一个小问。
+
+ \begin{solution}
+ 第一个小问的解答。
+ \end{solution}
+
+ \item 第二个小问。
+
+ \begin{solution}
+ 第二个小问的解答。
+ \end{solution}
+
+ \end{enumerate}
+
+ \item 第三个问题。
+
+ \begin{solution}
+ 第三个问题的解答。
+ \end{solution}
+
+ \end{enumerate}
+ 在末尾使用 \cverb|\noqed|(或 \cverb|\noQED|)可以取消标记用于当前问题结束的方框。
+ \noQED
+\end{problem}
+
+
+\bigskip\textcolor{gray!55}{(如果你有暂时解决不出来的问题…)}
+
\DNF<一些描述>
diff --git a/macros/latex/contrib/homework/homework-demo-de.pdf b/macros/latex/contrib/homework/homework-demo-de.pdf
index 9d61979cc5..dc4051f0bb 100644
--- a/macros/latex/contrib/homework/homework-demo-de.pdf
+++ b/macros/latex/contrib/homework/homework-demo-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/homework/homework-demo-de.tex b/macros/latex/contrib/homework/homework-demo-de.tex
index 0efb6739d8..d81f2cc5a6 100644
--- a/macros/latex/contrib/homework/homework-demo-de.tex
+++ b/macros/latex/contrib/homework/homework-demo-de.tex
@@ -4,8 +4,16 @@
title in boldface,
% title in sffamily,
theorem in new line,
+ % twoside,
]{homework}
+%% For highlighting the code in this document
+\usepackage{newverbs}
+\newverbcommand{\cverb}{\color{red!50!orange}}{}
+
+%% Below is the main document
+
+
\UseLanguage{German}
@@ -44,12 +52,16 @@
Einige zusätzlich Ergebnisse.
\end{lemma}
\begin{proof}
- Der Beweis \cref[gen.]{lem}, wobei wir die folgende Formel verwenden: % oder der Beweis \cref[von]{lem}, oder der Beweis \cref[von, dat.]{lem}
+ Der Beweis \cref[gen.]{lem}, wobei wir die folgende Formel verwenden (beachten Sie die Verwendung von \cverb|\qedhere|): % oder der Beweis \cref[von]{lem}, oder der Beweis \cref[von, dat.]{lem}
\[
\infty = \infty + 1.
- \qedhere % Um das QED-Symbol an der richtigen Stelle zu stellen
+ \qedhere % Um das Q.E.D.-Symbol an der richtigen Stelle zu stellen.
\]
\end{proof}
+ \begin{fact}[Für dieses Ergebnis ist kein Beweis erforderlich]
+ \proofless
+ Verwenden Sie \cverb|\proofless| um den hohlen Kasten, der das Ende einer Theorem-artigen Umgebung markiert, in einen festen Kasten umwandeln.
+ \end{fact}
... und die übrigen Schritte ...
\end{solution}
@@ -68,6 +80,47 @@
\end{proof}
+\bigskip\textcolor{gray!55}{(Wenn Sie jede Unterfrage eines Problems einzeln beantworten möchten ...)}
+
+\begin{problem}[Ein Problem mit vielen Unterfragen]
+ \begin{enumerate}[itemsep=.5\baselineskip]
+ \item Die erste Frage.
+
+ \begin{solution}
+ Die Lösung der ersten Frage.
+ \end{solution}
+
+ \item Die zweite Frage.
+
+ \begin{enumerate}[itemsep=.3\baselineskip]
+ \item Die erste Unterfrage.
+
+ \begin{solution}
+ Die Lösung der ersten Unterfrage.
+ \end{solution}
+
+ \item Die zweite Unterfrage.
+
+ \begin{solution}
+ Die Lösung der zweiten Unterfrage.
+ \end{solution}
+
+ \end{enumerate}
+
+ \item Die dritte Frage.
+
+ \begin{solution}
+ Die Lösung der dritten Frage.
+ \end{solution}
+
+ \end{enumerate}
+ Verwenden Sie \cverb|\noqed| (oder \cverb|\noQED|) am Ende, um das Q.E.D.-Symbol zu unterdrücken, das das Ende des aktuellen Problems markiert.
+ \noQED
+\end{problem}
+
+
+\bigskip\textcolor{gray!55}{(Wenn es eine Frage gibt, für die Sie im Moment keine Lösung finden können ...)}
+
\DNF<etwas Beschreibung>
diff --git a/macros/latex/contrib/homework/homework-demo-en.pdf b/macros/latex/contrib/homework/homework-demo-en.pdf
index 317b090c69..5d0834762c 100644
--- a/macros/latex/contrib/homework/homework-demo-en.pdf
+++ b/macros/latex/contrib/homework/homework-demo-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/homework/homework-demo-en.tex b/macros/latex/contrib/homework/homework-demo-en.tex
index ac618af0aa..40585d77ef 100644
--- a/macros/latex/contrib/homework/homework-demo-en.tex
+++ b/macros/latex/contrib/homework/homework-demo-en.tex
@@ -4,8 +4,15 @@
title in boldface,
% title in sffamily,
theorem in new line,
+ % twoside,
]{homework}
+%% For highlighting the code in this document
+\usepackage{newverbs}
+\newverbcommand{\cverb}{\color{red!50!orange}}{}
+
+%% Below is the main document
+
\title{The Subject, Week 1}
\author{Author NAME}
@@ -42,12 +49,16 @@
Some auxiliary result.
\end{lemma}
\begin{proof}
- The proof of \cref{lem}, where we use the following formula:
+ The proof of \cref{lem}, where we use the following formula (note the use of \cverb|\qedhere|):
\[
\infty = \infty + 1.
- \qedhere % To place the QED symbol in the right place
+ \qedhere % To place the Q.E.D. symbol in the right place.
\]
\end{proof}
+ \begin{fact}[This statement requires no proof]
+ \proofless
+ Use \cverb|\proofless| to change the hollow box marking the end of a theorem-type environment into a solid one.
+ \end{fact}
... and the rest steps...
\end{solution}
@@ -59,6 +70,9 @@
\end{answer}
+\pagebreak
+
+
\bigskip\textcolor{gray!55}{(If you prefer the classical proof style...)}
\begin{proof}
@@ -66,6 +80,47 @@
\end{proof}
+\bigskip\textcolor{gray!55}{(If you wish to answer each sub-question of a problem separately...)}
+
+\begin{problem}[A problem with many sub-questions]
+ \begin{enumerate}[itemsep=.5\baselineskip]
+ \item First question.
+
+ \begin{solution}
+ The solution of the first question.
+ \end{solution}
+
+ \item Second question.
+
+ \begin{enumerate}[itemsep=.3\baselineskip]
+ \item First sub-question.
+
+ \begin{solution}
+ The solution of the first sub-question.
+ \end{solution}
+
+ \item Second sub-question.
+
+ \begin{solution}
+ The solution of the second sub-question.
+ \end{solution}
+
+ \end{enumerate}
+
+ \item Third question.
+
+ \begin{solution}
+ The solution of the third question.
+ \end{solution}
+
+ \end{enumerate}
+ Use \cverb|\noqed| (or \cverb|\noQED|) at the end to suppress the Q.E.D. symbol that marks the end of the current problem.
+ \noQED
+\end{problem}
+
+
+\bigskip\textcolor{gray!55}{(If there is a question that you can't figure out how to solve at the moment...)}
+
\DNF<some description>
diff --git a/macros/latex/contrib/homework/homework-demo-es.pdf b/macros/latex/contrib/homework/homework-demo-es.pdf
index 2b46b9b98b..3dd42d5e30 100644
--- a/macros/latex/contrib/homework/homework-demo-es.pdf
+++ b/macros/latex/contrib/homework/homework-demo-es.pdf
Binary files differ
diff --git a/macros/latex/contrib/homework/homework-demo-es.tex b/macros/latex/contrib/homework/homework-demo-es.tex
index e905034442..d73a1207c2 100644
--- a/macros/latex/contrib/homework/homework-demo-es.tex
+++ b/macros/latex/contrib/homework/homework-demo-es.tex
@@ -4,8 +4,16 @@
title in boldface,
% title in sffamily,
theorem in new line,
+ % twoside,
]{homework}
+%% For highlighting the code in this document
+\usepackage{newverbs}
+\newverbcommand{\cverb}{\color{red!50!orange}}{}
+
+%% Below is the main document
+
+
\UseLanguage{Spanish}
@@ -44,12 +52,16 @@
Algún resultado auxiliar.
\end{lemma}
\begin{proof}
- La prueba \cref[de]{lem}, donde usamos la siguiente fórmula:
+ La prueba \cref[de]{lem}, donde usamos la siguiente fórmula (tenga en cuenta el uso de \cverb|\qedhere|):
\[
\infty = \infty + 1.
- \qedhere % Para colocar el símbolo QED en el lugar correcto.
+ \qedhere % Para colocar el símbolo Q.E.D. en el lugar correcto.
\]
\end{proof}
+ \begin{fact}[Este resultado no requiere prueba]
+ \proofless
+ Utilice \cverb|\proofless| para cambiar la caja hueca que marca el final de un entorno de tipo teorema en una caja sólida.
+ \end{fact}
... y el resto pasos...
\end{solution}
@@ -61,6 +73,9 @@
\end{answer}
+\pagebreak
+
+
\bigskip\textcolor{gray!55}{(Si prefieres el estilo clásico de prueba...)}
\begin{proof}
@@ -68,6 +83,47 @@
\end{proof}
+\bigskip\textcolor{gray!55}{(Si desea responder cada subpregunta de un problema individualmente...)}
+
+\begin{problem}[Un problema con muchas subpreguntas]
+ \begin{enumerate}[itemsep=.5\baselineskip]
+ \item La primera pregunta.
+
+ \begin{solution}
+ La solución de la primera pregunta.
+ \end{solution}
+
+ \item La segunda pregunta.
+
+ \begin{enumerate}[itemsep=.3\baselineskip]
+ \item La primera subpregunta.
+
+ \begin{solution}
+ La solución de la primera subpregunta.
+ \end{solution}
+
+ \item La segunda subpregunta.
+
+ \begin{solution}
+ La solución de la segunda subpregunta.
+ \end{solution}
+
+ \end{enumerate}
+
+ \item La tercera pregunta.
+
+ \begin{solution}
+ La solución de la tercera pregunta.
+ \end{solution}
+
+ \end{enumerate}
+ Utilice \cverb|\noqed| (o \cverb|\noQED|) al final para suprimir el símbolo Q.E.D. que marca el final del problema actual.
+ \noQED
+\end{problem}
+
+
+\bigskip\textcolor{gray!55}{(Si hay alguna pregunta que no sabes cómo resolver en este momento...)}
+
\DNF<alguna descripción>
diff --git a/macros/latex/contrib/homework/homework-demo-fr.pdf b/macros/latex/contrib/homework/homework-demo-fr.pdf
index 784bea5489..eff533c39e 100644
--- a/macros/latex/contrib/homework/homework-demo-fr.pdf
+++ b/macros/latex/contrib/homework/homework-demo-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/homework/homework-demo-fr.tex b/macros/latex/contrib/homework/homework-demo-fr.tex
index 642278fbff..9c90e8b261 100644
--- a/macros/latex/contrib/homework/homework-demo-fr.tex
+++ b/macros/latex/contrib/homework/homework-demo-fr.tex
@@ -4,16 +4,24 @@
title in boldface,
% title in sffamily,
theorem in new line,
+ % twoside,
]{homework}
+%% For highlighting the code in this document
+\usepackage{newverbs}
+\newverbcommand{\cverb}{\color{red!50!orange}}{}
+
+%% Below is the main document
+
+
\UseLanguage{French}
\title{Le sujet, semaine 1}
\author{Prénom NOM}
-% \date{\today, Location}
-% \date{\today[only-year-month], Location}
-\date{\TheDate{2023-12-25}, Location}
+% \date{\today, Lieu}
+% \date{\today[only-year-month], Lieu}
+\date{\TheDate{2023-12-25}, Lieu}
\begin{document}
@@ -44,12 +52,16 @@
Un résultat auxiliaire.
\end{lemma}
\begin{proof}
- La preuve \cref[de]{lem}, où l'on utilise la formule suivante :
+ La preuve \cref[de]{lem}, où l'on utilise la formule suivante (notez l'utilisation de \cverb|\qedhere|) :
\[
\infty = \infty + 1.
- \qedhere % pour placer le symbole QED au bon endroit
+ \qedhere % pour placer le symbole Q.E.D. au bon endroit
\]
\end{proof}
+ \begin{fact}[Cet énoncé ne requiert aucune preuve]
+ \proofless
+ Utilisez \cverb|\proofless| pour transformer la boîte creuse marquant la fin d'un environnement de type théorème en une boîte solide.
+ \end{fact}
... et les étapes restantes...
\end{solution}
@@ -68,6 +80,47 @@
\end{proof}
+\bigskip\textcolor{gray!55}{(Si vous souhaitez répondre individuellement à chaque sous-question d'un problème...)}
+
+\begin{problem}[Un problème avec de nombreuses sous-questions]
+ \begin{enumerate}[itemsep=.5\baselineskip]
+ \item La première question.
+
+ \begin{solution}
+ La réponse à la première question.
+ \end{solution}
+
+ \item La deuxième question.
+
+ \begin{enumerate}[itemsep=.3\baselineskip]
+ \item La première sous-question.
+
+ \begin{solution}
+ La réponse à la première sous-question.
+ \end{solution}
+
+ \item La deuxième sous-question.
+
+ \begin{solution}
+ La réponse à la deuxième sous-question.
+ \end{solution}
+
+ \end{enumerate}
+
+ \item La troisième question.
+
+ \begin{solution}
+ La réponse à la troisième question.
+ \end{solution}
+
+ \end{enumerate}
+ Utilisez \cverb|\noqed| (ou \cverb|\noQED|) à la fin pour supprimer le Q.E.D. symbole qui marque la fin du problème actuel.
+ \noQED
+\end{problem}
+
+
+\bigskip\textcolor{gray!55}{(S'il y a une question que vous n'arrivez pas à résoudre pour le moment...)}
+
\DNF<la description>
diff --git a/macros/latex/contrib/homework/homework-demo-jp.pdf b/macros/latex/contrib/homework/homework-demo-jp.pdf
index b3a118c9d5..f0f294cbf1 100644
--- a/macros/latex/contrib/homework/homework-demo-jp.pdf
+++ b/macros/latex/contrib/homework/homework-demo-jp.pdf
Binary files differ
diff --git a/macros/latex/contrib/homework/homework-demo-jp.tex b/macros/latex/contrib/homework/homework-demo-jp.tex
index 2c72ee81e3..15839ef40a 100644
--- a/macros/latex/contrib/homework/homework-demo-jp.tex
+++ b/macros/latex/contrib/homework/homework-demo-jp.tex
@@ -4,8 +4,16 @@
title in boldface,
% title in sffamily,
theorem in new line,
+ % twoside,
]{homework}
+%% For highlighting the code in this document
+\usepackage{newverbs}
+\newverbcommand{\cverb}{\color{red!50!orange}}{}
+
+%% Below is the main document
+
+
\UseLanguage{Japanese}
@@ -44,16 +52,24 @@
いくつかの補助的な結果。
\end{lemma}
\begin{proof}
- これが\cref{lem}の証明です。次の式が使用されます:
+ これが\cref{lem}の証明です。次の式が使用されます(\cverb|\qedhere| の使用に注意してください):
\[
\infty = \infty + 1
\makebox[0pt][l]{\,。} % 文末のピリオド
- \qedhere % QED シンボルを正しい位置に配置するために使用されます
+ \qedhere % Q.E.D. シンボルを正しい位置に配置するために使用されます
\]
\end{proof}
+ \begin{fact}[この結果には証明の必要はない]
+ \proofless
+ \cverb|\proofless| を使用して、定理タイプの環境の終わりを示す中空のボックスを中実のボックスに変更します。
+ \end{fact}
…そして残りのステップ…
\end{solution}
+
+\enlargethispage*{\baselineskip}
+
+
\bigskip\textcolor{gray!55}{(\texttt{answer} 環境を使用することもできます…)}
\begin{answer}
@@ -68,6 +84,47 @@
\end{proof}
+\bigskip\textcolor{gray!55}{(問題の各小問に個別に回答したい場合は…)}
+
+\begin{problem}[多くの小問がある問題]
+ \begin{enumerate}[itemsep=.5\baselineskip]
+ \item 一番目の問題。
+
+ \begin{solution}
+ 一番目の問題の解答。
+ \end{solution}
+
+ \item 二番目の問題。
+
+ \begin{enumerate}[itemsep=.3\baselineskip]
+ \item 一番目の小問。
+
+ \begin{solution}
+ 一番目の小問の解答。
+ \end{solution}
+
+ \item 二番目の小問。
+
+ \begin{solution}
+ 二番目の小問の解答。
+ \end{solution}
+
+ \end{enumerate}
+
+ \item 三番目の問題。
+
+ \begin{solution}
+ 三番目の問題の解答。
+ \end{solution}
+
+ \end{enumerate}
+ 現在の問題の終わりを示す Q.E.D. シンボルを表示しないようにするには、最後に \cverb|\noqed|(または \cverb|\noQED|)を使う。
+ \noQED
+\end{problem}
+
+
+\bigskip\textcolor{gray!55}{(一時的に解決できない問題がある場合は…)}
+
\DNF<いくつかの説明>
diff --git a/macros/latex/contrib/homework/homework-demo-tc.pdf b/macros/latex/contrib/homework/homework-demo-tc.pdf
index f9f67a70f1..2901b5d592 100644
--- a/macros/latex/contrib/homework/homework-demo-tc.pdf
+++ b/macros/latex/contrib/homework/homework-demo-tc.pdf
Binary files differ
diff --git a/macros/latex/contrib/homework/homework-demo-tc.tex b/macros/latex/contrib/homework/homework-demo-tc.tex
index 9c56aae43e..4fda4f0049 100644
--- a/macros/latex/contrib/homework/homework-demo-tc.tex
+++ b/macros/latex/contrib/homework/homework-demo-tc.tex
@@ -4,8 +4,16 @@
title in boldface,
% title in sffamily,
theorem in new line,
+ % twoside,
]{homework}
+%% For highlighting the code in this document
+\usepackage{newverbs}
+\newverbcommand{\cverb}{\color{red!50!orange}}{}
+
+%% Below is the main document
+
+
\UseLanguage{Traditional Chinese}
@@ -44,13 +52,17 @@
一些輔助結果。
\end{lemma}
\begin{proof}
- \Cref{lem}的證明,其中用到下面的公式:
+ 這是\cref{lem}的證明,其中用到下面的公式(注意使用 \cverb|\qedhere|):
\[
\infty = \infty + 1
\makebox[0pt][l]{\,。} % 句尾的句號
- \qedhere % 用來把 QED 放在正確的位置
+ \qedhere % 用來把 Q.E.D. 符號放在正確的位置
\]
\end{proof}
+ \begin{fact}[這個結論無須證明]
+ \proofless
+ 使用 \cverb|\proofless| 可以將標記定理結束的空心方框變成實心方框。
+ \end{fact}
…剩餘的步驟…
\end{solution}
@@ -68,6 +80,47 @@
\end{proof}
+\bigskip\textcolor{gray!55}{(如果你想為一個大問題中的每個小問題分別撰寫解答…)}
+
+\begin{problem}[一個由許多小問題構成的大問題]
+ \begin{enumerate}[itemsep=.5\baselineskip]
+ \item 第一個問題。
+
+ \begin{solution}
+ 第一個問題的解答。
+ \end{solution}
+
+ \item 第二個問題。
+
+ \begin{enumerate}[itemsep=.3\baselineskip]
+ \item 第一個小問。
+
+ \begin{solution}
+ 第一個小問的解答。
+ \end{solution}
+
+ \item 第二個小問。
+
+ \begin{solution}
+ 第二個小問的解答。
+ \end{solution}
+
+ \end{enumerate}
+
+ \item 第三個問題。
+
+ \begin{solution}
+ 第三個問題的解答。
+ \end{solution}
+
+ \end{enumerate}
+ 在末尾使用 \cverb|\noqed|(或 \cverb|\noQED|)可以取消用於標記當前問題結束的方框。
+ \noQED
+\end{problem}
+
+
+\bigskip\textcolor{gray!55}{(如果你有暫時解決不出來的問題…)}
+
\DNF<一些描述>
diff --git a/macros/latex/contrib/homework/homework.cls b/macros/latex/contrib/homework/homework.cls
index a130b17103..eabf109563 100644
--- a/macros/latex/contrib/homework/homework.cls
+++ b/macros/latex/contrib/homework/homework.cls
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{homework}
- {2023/09/25a} {}
+ {2023/09/28} {}
{Document class for writing homework}
\keys_define:nn { homework }
@@ -98,7 +98,11 @@
\RequirePackage { lastpage }
\fancypagestyle { fancy }
{
- \rfoot{\small\color{main-text!27!paper} \l__homework_page_of_total_tl }
+ \if@twoside
+ \fancyfoot[RO,LE]{\small\color{main-text!27!paper} \l__homework_page_of_total_tl }
+ \else
+ \fancyfoot[R]{\small\color{main-text!27!paper} \l__homework_page_of_total_tl }
+ \fi
}
\pagestyle { fancy }
@@ -139,10 +143,6 @@
\newcommand\soluline{\bgroup\markoverwith{\rule[-.45ex]{1pt}{.75pt}}\ULon}
\NewDocumentEnvironment { solution } { O{ \l__homework_solution_tl } }
{
- \setlength\abovedisplayskip{.3\baselineskip}
- \setlength\belowdisplayskip{.3\baselineskip}
- \setlength\abovedisplayshortskip{.3\baselineskip}
- \setlength\belowdisplayshortskip{.3\baselineskip}
\par\noindent
\color{cyan!50!blue!90!main-text}
\soluline{#1}\nobreakspace\nobreakspace
@@ -166,9 +166,17 @@
%% Configuration of the theorems
%%================================
-\newcounter{homework}
-\SetTheorem{problem,question,exercise}{shared counter=homework}
-\SetTheorem{definition,lemma,theorem,proposition,corollary,example,fact,remark,assertion,assumption,claim,conclusion,conjecture,construction,convention,notation,observation,property,recall}{number within=homework}
+\newcounter { homework }
+\SetTheorem { problem, question, exercise } { shared counter = homework }
+\SetTheorem { definition, lemma, theorem, proposition, corollary, example, fact, remark, assertion, assumption, claim, conclusion, conjecture, construction, convention, notation, observation, property, recall } { number within = homework }
+
+%%================================
+%% Special cases for the QED
+%%================================
+
+\def\noQED{\let\popQED\relax}
+\let\noqed\noQED
+\def\proofless{\let\qedsymbol\customqedsymbol\let\simpleqedsymbol\customqedsymbol}
\endinput
%%
diff --git a/macros/latex/contrib/jwjournal/README.md b/macros/latex/contrib/jwjournal/README.md
index 20f9f77307..26caffafbf 100644
--- a/macros/latex/contrib/jwjournal/README.md
+++ b/macros/latex/contrib/jwjournal/README.md
@@ -118,6 +118,19 @@ With a few more for icing on the cake:
>> (Some remark)
>> (Another remark)
```
+- `~~`: If you use `>>` or `>>>` inside a Note block (i.e. lines start with `[...]`), then there would no way to get out of the centered or boxed area and then continue the indented text; in such cases, you may start a new paragraph that start with `~~`, this will continue the indented text block:
+ ```
+ [Test] Here is some text.
+ || {some-image} <.4>
+ >> (Centered text)
+
+ ~~
+ Some more text.
+ >>> Text in color box.
+
+ ~~
+ And more text.
+ ```
- `->` and `<-`: Skip or retrieve certain vertical space, by default half of `\baselineskip`. You may specify the exact spacing in the unit of `\baselineskip`: for example, `-> <0.3>` would be skipping `0.3\baselineskip`, while `<- <.75>` means retrieving `0.75\baselineskip`.
- `+++`: If a single sentence or a few words fall to the next page, you may write a `+++` before that entry to enlarge the current page by one line.
> You may write this `+++` several times if necessary, but do make sure that the number of the `+` sign is a multiple of 3.
@@ -168,6 +181,18 @@ Indentations are not important, but paragraphs need to be separated by a blank l
- With pdfLaTeX, the base class is `minimart`.
- With XeLaTeX or LuaLaTeX, the base class is `einfart`.
+### Regarding the fonts
+
+If you are using XeLaTeX or LuaLaTeX to compile your document, then the current document class requires the following open-source fonts that are not included in the standard TeX collection:
+
+- The Source Han font series at [Adobe Fonts](https://github.com/adobe-fonts). More specifically:
+ - Source Han Serif, [go to its Release page](https://github.com/adobe-fonts/source-han-serif/releases).
+ - Source Han Sans, [go to its Release page](https://github.com/adobe-fonts/source-han-sans/releases).
+ - Source Han Mono, [go to its Release page](https://github.com/adobe-fonts/source-han-mono/releases).
+ > It is recommended to download the Super-OTC version, so that the total download size would be smaller, and the installation would be easier.
+
+These are necessary if you wish to write your document in Chinese (either simplified or traditional) or Japanese. Also, without these fonts installed, the compilation speed might be much slower — the compilation would still passing, but the system shall spend (quite) some time verifying that the fonts are indeed missing before switching to the fallback fonts.
+
### Colors
The colors from Monday to Sunday have the internal names `jwjournal-color-1`, ..., `jwjournal-color-7`. Currently they are defined as:
```latex
diff --git a/macros/latex/contrib/jwjournal/jwjournal.cls b/macros/latex/contrib/jwjournal/jwjournal.cls
index 9b1e23804f..9c208c88a8 100644
--- a/macros/latex/contrib/jwjournal/jwjournal.cls
+++ b/macros/latex/contrib/jwjournal/jwjournal.cls
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{jwjournal}
- {2023/09/01} {}
+ {2023/09/28} {}
{JW's journal class}
\keys_define:nn { jwjournal }
@@ -105,6 +105,8 @@
\RequirePackage { enumitem }
\setlist [ description ] { font = \normalfont\sffamily, leftmargin = 3em, topsep = 0pt, labelsep = 1em }
+\newlist { jwjournal-continued-text } { itemize } { 1 }
+\setlist [ jwjournal-continued-text ] { leftmargin = 3em, topsep = 0pt, label = {} }
\dim_new:N \l_jwjournal_labelsep_dim
\dim_set:Nn \l_jwjournal_labelsep_dim { \labelsep }
\setlist [ 2 ] { labelsep = \l_jwjournal_labelsep_dim, labelwidth = !}
@@ -124,6 +126,12 @@
\item[#1] #2
\end{description}
}
+\NewDocumentCommand \JWJournalContinue { m }
+ {
+ \begin{jwjournal-continued-text}
+ \item #1
+ \end{jwjournal-continued-text}
+ }
\NewDocumentCommand \JWJournalNote { m }
{
@@ -338,7 +346,7 @@
{ \c{hfill} }
\l_jwjournal_tmp_tl
\regex_replace_all:nnN
- { // }
+ { [^\:]// }
{ \c{c_jwjournal_new_line_with_skip_tl} }
\l_jwjournal_tmp_tl
@@ -423,6 +431,11 @@
{ \c{JWJournalItem} {\1} {\2} }
\l_jwjournal_tmp_tl
+ \regex_replace_once:nnN
+ { ❄️ \ *? \~\~ \ *? (.*) }
+ { \c{JWJournalContinue} {\1} }
+ \l_jwjournal_tmp_tl
+
\regex_replace_once:nnN { ❄️ } { } \l_jwjournal_tmp_tl
\tl_gput_right:NV \g_jwjournal_content_tl \l_jwjournal_tmp_tl
diff --git a/macros/latex/contrib/minimalist/minimalist-classical.sty b/macros/latex/contrib/minimalist/minimalist-classical.sty
index b338b662d4..928ce7ccd0 100644
--- a/macros/latex/contrib/minimalist/minimalist-classical.sty
+++ b/macros/latex/contrib/minimalist/minimalist-classical.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-classical}
- {2023/09/27} {}
+ {2023/09/28} {}
{The "classical" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
@@ -725,6 +725,19 @@ heading_suffix "}\n"
\RequirePackage { mathtools }
\RequirePackage { amsthm }
+\tl_const:Nn \c_minimalist_l_mathparen_latin_tl { $($ }
+\tl_const:Nn \c_minimalist_r_mathparen_latin_tl { $)$ }
+\tl_const:Nn \c_minimalist_l_mathparen_cjk_tl { \!\,( }
+\tl_const:Nn \c_minimalist_r_mathparen_cjk_tl { )\!\, }
+\cs_new:Nn \minimalist_insert_l_mathparen:
+ {
+ \tl_use:c { c_minimalist_l_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+\cs_new:Nn \minimalist_insert_r_mathparen:
+ {
+ \tl_use:c { c_minimalist_r_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+
\def\tagform@#1{\maketag@@@{\textcolor{.!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
\PassOptionsToPackage { nopatch = eqnum } { microtype }
@@ -741,7 +754,7 @@ heading_suffix "}\n"
{ \global\let\qedsymbol\simpleqedsymbol
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
- \thmnote{\hspace{.4em}\color{.!50!paper}$($#3$)$}
+ \thmnote{\hspace{.4em}\color{.!50!paper} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }
}}\hbox{\strut}\vspace{0pt}}}\vspace{-2\parskip}
\pushQED{\qed}
}
@@ -753,7 +766,7 @@ heading_suffix "}\n"
{ \global\let\qedsymbol\simpleqedsymbol
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
- \thmnote{\hspace{.4em}\color{.!50!paper}$($#3$)$}
+ \thmnote{\hspace{.4em}\color{.!50!paper} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }
}}\hbox{\strut}\vspace{0pt}}}\vspace{-2\parskip}
\pushQED{\qed}
}
@@ -767,7 +780,7 @@ heading_suffix "}\n"
{ \global\let\qedsymbol\simpleqedsymbol
{\thmname{#1}\thmnumber{\nobreakspace #2}}\hspace{.4em}
\textcolor{.!27!paper}{ \l_minimalist_sep_bar }\hspace{.4em}
- \color{.!50!paper}\thmnote{$($#3$)$\nobreakspace\nobreakspace}
+ \color{.!50!paper}\thmnote{ \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: \nobreakspace\nobreakspace}
\pushQED{\qed}
}
\newtheoremstyle{simple-var}
@@ -778,7 +791,7 @@ heading_suffix "}\n"
{ \global\let\qedsymbol\simpleqedsymbol
{\thmname{#1}\thmnumber{\nobreakspace #2}}\hspace{.4em}
\textcolor{.!27!paper}{ \l_minimalist_sep_bar }\hspace{.4em}
- \color{.!50!paper}\thmnote{$($#3$)$\nobreakspace\nobreakspace}
+ \color{.!50!paper}\thmnote{ \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: \nobreakspace\nobreakspace}
\pushQED{\qed}
}
}
diff --git a/macros/latex/contrib/minimalist/minimalist-default.sty b/macros/latex/contrib/minimalist/minimalist-default.sty
index 88380dabbd..0e29cd936c 100644
--- a/macros/latex/contrib/minimalist/minimalist-default.sty
+++ b/macros/latex/contrib/minimalist/minimalist-default.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-default}
- {2023/09/27} {}
+ {2023/09/28} {}
{The default style of minimalist}
\IfPackageLoadedTF { minimalist } {}
@@ -704,6 +704,19 @@ heading_suffix "}\n"
\RequirePackage { mathtools }
\RequirePackage { amsthm }
+\tl_const:Nn \c_minimalist_l_mathparen_latin_tl { $($ }
+\tl_const:Nn \c_minimalist_r_mathparen_latin_tl { $)$ }
+\tl_const:Nn \c_minimalist_l_mathparen_cjk_tl { \!\,( }
+\tl_const:Nn \c_minimalist_r_mathparen_cjk_tl { )\!\, }
+\cs_new:Nn \minimalist_insert_l_mathparen:
+ {
+ \tl_use:c { c_minimalist_l_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+\cs_new:Nn \minimalist_insert_r_mathparen:
+ {
+ \tl_use:c { c_minimalist_r_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+
\def\tagform@#1{\maketag@@@{\textcolor{.!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
\PassOptionsToPackage { nopatch = eqnum } { microtype }
@@ -722,7 +735,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
}}\hbox{\strut}\vspace{0pt}}}
}
\newtheoremstyle{simple-var}
@@ -737,7 +750,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
}}\hbox{\strut}\vspace{0pt}}}
}
}
@@ -752,7 +765,7 @@ heading_suffix "}\n"
{\normalfont}{}
{0pt}
{{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
\minimalist_bfseries:\minimalist_sffamily: .
\nobreakspace\nobreakspace}
% {\normalfont\textcolor{main-text!27!paper}{---}}
@@ -766,7 +779,7 @@ heading_suffix "}\n"
{\normalfont}{}
{0pt}
{{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
\minimalist_bfseries:\minimalist_sffamily: .
\nobreakspace\nobreakspace}
% {\normalfont\textcolor{main-text!27!paper}{---}}
diff --git a/macros/latex/contrib/minimalist/minimalist-flow.sty b/macros/latex/contrib/minimalist/minimalist-flow.sty
index caaf9e51af..9f3e52f939 100644
--- a/macros/latex/contrib/minimalist/minimalist-flow.sty
+++ b/macros/latex/contrib/minimalist/minimalist-flow.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-flow}
- {2023/09/27} {}
+ {2023/09/28} {}
{The "flow" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
@@ -715,6 +715,19 @@ heading_suffix "}\n"
\RequirePackage { mathtools }
\RequirePackage { amsthm }
+\tl_const:Nn \c_minimalist_l_mathparen_latin_tl { $($ }
+\tl_const:Nn \c_minimalist_r_mathparen_latin_tl { $)$ }
+\tl_const:Nn \c_minimalist_l_mathparen_cjk_tl { \!\,( }
+\tl_const:Nn \c_minimalist_r_mathparen_cjk_tl { )\!\, }
+\cs_new:Nn \minimalist_insert_l_mathparen:
+ {
+ \tl_use:c { c_minimalist_l_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+\cs_new:Nn \minimalist_insert_r_mathparen:
+ {
+ \tl_use:c { c_minimalist_r_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+
\def\tagform@#1{\maketag@@@{\textcolor{.!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
\PassOptionsToPackage { nopatch = eqnum } { microtype }
@@ -733,7 +746,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
}}\hbox{\strut}\vspace{0pt}}}
}
\newtheoremstyle{simple-var}
@@ -748,7 +761,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
}}\hbox{\strut}\vspace{0pt}}}
}
}
@@ -763,7 +776,7 @@ heading_suffix "}\n"
{\normalfont}{}
{0pt}
{{\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
\newtheoremstyle{simple-var}
{}{}
{
@@ -774,7 +787,7 @@ heading_suffix "}\n"
{\normalfont}{}
{0pt}
{{\thmnumber{ \minimalist_apply_title_numbering_style:n { #2 } \hspace{.75em} }\thmname{#1}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace}
}
\theoremstyle{simple}
diff --git a/macros/latex/contrib/minimalist/minimalist-plain.sty b/macros/latex/contrib/minimalist/minimalist-plain.sty
index e67289587c..0d27d27c40 100644
--- a/macros/latex/contrib/minimalist/minimalist-plain.sty
+++ b/macros/latex/contrib/minimalist/minimalist-plain.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-plain}
- {2023/09/27} {}
+ {2023/09/28} {}
{The "plain" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
@@ -678,6 +678,19 @@ heading_suffix "}\n"
\RequirePackage { mathtools }
\RequirePackage { amsthm }
+\tl_const:Nn \c_minimalist_l_mathparen_latin_tl { $($ }
+\tl_const:Nn \c_minimalist_r_mathparen_latin_tl { $)$ }
+\tl_const:Nn \c_minimalist_l_mathparen_cjk_tl { \!\,( }
+\tl_const:Nn \c_minimalist_r_mathparen_cjk_tl { )\!\, }
+\cs_new:Nn \minimalist_insert_l_mathparen:
+ {
+ \tl_use:c { c_minimalist_l_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+\cs_new:Nn \minimalist_insert_r_mathparen:
+ {
+ \tl_use:c { c_minimalist_r_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+
\def\tagform@#1{\maketag@@@{\textcolor{.!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
\PassOptionsToPackage { nopatch = eqnum } { microtype }
@@ -696,7 +709,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
}}\hbox{\strut}\vspace{0pt}}}
}
\newtheoremstyle{simple-var}
@@ -711,7 +724,7 @@ heading_suffix "}\n"
{
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
}}\hbox{\strut}\vspace{0pt}}}
}
}
@@ -726,7 +739,7 @@ heading_suffix "}\n"
{\normalfont}{}
{0pt}
{{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
\minimalist_bfseries:\minimalist_sffamily: .
\nobreakspace\nobreakspace}
% {\normalfont\textcolor{main-text!27!paper}{---}}
@@ -740,7 +753,7 @@ heading_suffix "}\n"
{\normalfont}{}
{0pt}
{{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
\minimalist_bfseries:\minimalist_sffamily: .
\nobreakspace\nobreakspace}
% {\normalfont\textcolor{main-text!27!paper}{---}}
diff --git a/macros/latex/contrib/minimalist/minimalist-stream.sty b/macros/latex/contrib/minimalist/minimalist-stream.sty
index 19f236637f..afe534e03c 100644
--- a/macros/latex/contrib/minimalist/minimalist-stream.sty
+++ b/macros/latex/contrib/minimalist/minimalist-stream.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist-stream}
- {2023/09/27} {}
+ {2023/09/28} {}
{The "stream" style of minimalist}
\IfPackageLoadedTF { minimalist } {}
@@ -784,6 +784,19 @@ heading_suffix "}\n"
\RequirePackage { mathtools }
\RequirePackage { amsthm }
+\tl_const:Nn \c_minimalist_l_mathparen_latin_tl { $($ }
+\tl_const:Nn \c_minimalist_r_mathparen_latin_tl { $)$ }
+\tl_const:Nn \c_minimalist_l_mathparen_cjk_tl { \!\,( }
+\tl_const:Nn \c_minimalist_r_mathparen_cjk_tl { )\!\, }
+\cs_new:Nn \minimalist_insert_l_mathparen:
+ {
+ \tl_use:c { c_minimalist_l_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+\cs_new:Nn \minimalist_insert_r_mathparen:
+ {
+ \tl_use:c { c_minimalist_r_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
+ }
+
\def\tagform@#1{\maketag@@@{\textcolor{.!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}
\PassOptionsToPackage { nopatch = eqnum } { microtype }
@@ -802,7 +815,7 @@ heading_suffix "}\n"
}
\vspace*{-\baselineskip}
{\thmname{#1}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
\phantom{q} % To provide something below the baseline
}}\hbox{\strut}\vspace{0pt}}}
}
@@ -820,7 +833,7 @@ heading_suffix "}\n"
}
\vspace*{-\baselineskip}
{\thmname{#1}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
\phantom{q} % To provide something below the baseline
}}\hbox{\strut}\vspace{0pt}}}
}
@@ -847,7 +860,7 @@ heading_suffix "}\n"
}
% \minimalist_bfseries:\minimalist_sffamily:
{\thmname{#1}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
. \hspace{.5em}
}
\newtheoremstyle{simple-inline-var}
@@ -863,7 +876,7 @@ heading_suffix "}\n"
}
% \minimalist_bfseries:\minimalist_sffamily:
{\thmname{#1}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
. \hspace{.5em}
}
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index 7f457fb0d8..960bbb1501 100644
--- a/macros/latex/contrib/minimalist/minimalist.sty
+++ b/macros/latex/contrib/minimalist/minimalist.sty
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{minimalist}
- {2023/09/27} {}
+ {2023/09/28} {}
{A simple and clear style for articles and books}
\keys_define:nn { minimalist }
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index d1119cb09d..73108bd5fb 100644
--- a/macros/latex/contrib/minimalist/minimart.cls
+++ b/macros/latex/contrib/minimalist/minimart.cls
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{minimart}
- {2023/09/27} {}
+ {2023/09/28} {}
{A simple and clear article style}
\tl_const:Nn \l__minimclass_base_class_tl { article }
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index 2fc4e1dffd..9463eee17b 100644
--- a/macros/latex/contrib/minimalist/minimbook.cls
+++ b/macros/latex/contrib/minimalist/minimbook.cls
@@ -18,7 +18,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{minimbook}
- {2023/09/27} {}
+ {2023/09/28} {}
{A simple and clear book style}
\tl_const:Nn \l__minimclass_base_class_tl { book }
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.dtx b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
index 9a4e6cc863..8246cffbd8 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-code.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
@@ -17,11 +17,11 @@
%
% \fi
% \iffalse
-\def\myfileversion{6.23}
-\def\myfiledate{2023/09/02}
+\def\myfileversion{6.24}
+\def\myfiledate{2023/09/28}
%
%
-%<*batchfile>
+%<*batchfile>
\begingroup
\input l3docstrip.tex
\keepsilent
@@ -708,40 +708,6 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% \textbf{The column S of siunitx}\par\nobreak
-%
-% The command |\@@_renew_NC@rewrite@S:| will be used in each environment of
-% \pkg{nicematrix} in order to ``rewrite'' the |S| column in each environment.
-% \begin{macrocode}
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { siunitx }
- {
- \cs_new_protected:Npn \@@_renew_NC@rewrite@S:
- {
- \renewcommand*{\NC@rewrite@S}[1][]
- {
-% \end{macrocode}
-% |\@temptokena| is a toks (not supported by the L3 programming layer).
-% \begin{macrocode}
- \tl_if_empty:nTF { ##1 }
- {
- \@temptokena \exp_after:wN
- { \tex_the:D \@temptokena \@@_S: }
- }
- {
- \@temptokena \exp_after:wN
- { \tex_the:D \@temptokena \@@_S: [ ##1 ] }
- }
- \NC@find
- }
- }
- }
- { \cs_set_eq:NN \@@_renew_NC@rewrite@S: \prg_do_nothing: }
- }
-% \end{macrocode}
-%
-% \bigskip
% \begin{macrocode}
\cs_new_protected:Npn \@@_rescan_for_spanish:N #1
{
@@ -965,6 +931,13 @@ version 2005/12/01 or later.
% \begin{macrocode}
\dim_new:N \l_@@_rule_width_dim
% \end{macrocode}
+%
+% \bigskip
+% The key |color| in a command of rule such as |\Hline| (or the specifier
+% ``\verb+|+'' in the preamble of an environment).
+% \begin{macrocode}
+\tl_new:N \l_@@_rule_color_tl
+% \end{macrocode}
%
% \bigskip
% The following boolean will be raised when the command |\rotate| is used.
@@ -1017,21 +990,32 @@ version 2005/12/01 or later.
% \begin{macrocode}
\tl_new:N \g_@@_left_delim_tl
\tl_new:N \g_@@_right_delim_tl
+% \end{macrocode}
+%
+% \bigskip
+% The token list |\g_@@_user_preamble_tl| will contain the preamble provided by
+% the the final user of \pkg{nicematrix} (eg the preamble of an environment
+% |{NiceTabular}|).
+% \begin{macrocode}
+\tl_new:N \g_@@_user_preamble_tl
+% \end{macrocode}
+% The token list |\g_@@_array_preamble_tl| will contain the preamble constructed
+% by \pkg{nicematrix} for the environment |{array}| (of \pkg{array}).
+% \begin{macrocode}
+\tl_new:N \g_@@_array_preamble_tl
+% \end{macrocode}
+% For |\multicolumn|.
+% \begin{macrocode}
\tl_new:N \g_@@_preamble_tl
% \end{macrocode}
%
% \bigskip
% The following parameter corresponds to the key |columns-type| of the
% environments |{NiceMatrix}|, |{pNiceMatrix}|, etc. and also the key
-% |matrix / columns-type| of |\NiceMatrixOptions|. However, it does \emph{not}
-% contain the value provided by the final user. Indeed, a transformation is done
-% in order to have a preamble (for the package \pkg{array}) which is
-% nicematrix-aware. That transformation is done with the command
-% |\@@_set_preamble:Nn|.
+% |matrix / columns-type| of |\NiceMatrixOptions|.
% \begin{macrocode}
\tl_new:N \l_@@_columns_type_tl
-\hook_gput_code:nnn { begindocument } { . }
- { \@@_set_preamble:Nn \l_@@_columns_type_tl { c } }
+\tl_set:Nn \l_@@_columns_type_tl { c }
% \end{macrocode}
%
% \bigskip
@@ -1432,6 +1416,15 @@ version 2005/12/01 or later.
% \begin{macrocode}
\tl_new:N \l_@@_color_tl
% \end{macrocode}
+%
+% \medskip
+% In the key |tikz| of a command |\Block| or in the argument of a command
+% |\TikzEveryCell|, the final user puts a list of tikz keys. But, you have added
+% another key, named |offset| (which means that an offset will be used for the
+% frame of the block or the cell). The following parameter corresponds to that key.
+% \begin{macrocode}
+\dim_new:N \l_@@_offset_dim
+% \end{macrocode}
%
% \medskip
% Here is the dimension for the width of the rule when a block (created by
@@ -2363,8 +2356,7 @@ version 2005/12/01 or later.
\bool_new:N \l_@@_delimiters_max_width_bool
% \end{macrocode}
%
-% \bigskip
-% \begin{macrocode}
+%
% \bigskip
% \begin{macrocode}
\keys_define:nn { NiceMatrix / xdots }
@@ -2663,6 +2655,7 @@ version 2005/12/01 or later.
SubMatrix / rules .inherit:n = NiceMatrix / rules ,
CodeAfter / xdots .inherit:n = NiceMatrix / xdots ,
CodeBefore / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
NiceMatrix .inherit:n =
{
NiceMatrix / Global ,
@@ -2759,8 +2752,7 @@ version 2005/12/01 or later.
notes .value_required:n = true ,
sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
sub-matrix .value_required:n = true ,
- matrix / columns-type .code:n =
- \@@_set_preamble:Nn \l_@@_columns_type_tl { #1 },
+ matrix / columns-type .tl_set:N = \l_@@_columns_type_tl ,
matrix / columns-type .value_required:n = true ,
caption-above .bool_set:N = \l_@@_caption_above_bool ,
caption-above .default:n = true ,
@@ -2794,7 +2786,7 @@ version 2005/12/01 or later.
\int_set:Nn \l_@@_last_col_int { -1 }
}
{ \int_set:Nn \l_@@_last_col_int { #1 } } ,
- columns-type .code:n = \@@_set_preamble:Nn \l_@@_columns_type_tl { #1 } ,
+ columns-type .tl_set:N = \l_@@_columns_type_tl ,
columns-type .value_required:n = true ,
l .meta:n = { columns-type = l } ,
r .meta:n = { columns-type = r } ,
@@ -2892,6 +2884,31 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+%
+% \bigskip
+% The |\CodeAfter| (inserted with the key |code-after| or after the keyword
+% |\CodeAfter|) may always begin with a list of pairs \textsl{key=value} between
+% square brackets. Here is the corresponding set of keys.
+%
+% We \emph{must} put the following instructions \emph{after} the :
+%
+% \begin{verbatim}
+% CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix
+% \end{verbatim}
+%
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / CodeAfter }
+ {
+ delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
+ delimiters / color .value_required:n = true ,
+ rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .value_required:n = true ,
+ xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
+ sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
+ sub-matrix .value_required:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~CodeAfter }
+ }
+% \end{macrocode}
%
% \bigskip
% \section{Important code used by \{NiceArrayWithDelims\} }
@@ -3459,19 +3476,6 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
-% \bigskip
-% The command |\@@_newcolumntype| is the command |\newcolumntype| of
-% \pkg{array} without the warnings for redefinitions of columns types (we will
-% use it to redefine the columns types |w| and |W|).
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_newcolumntype #1
- {
- \cs_set:cpn { NC @ find @ #1 } ##1 #1 { \NC@ { ##1 } }
- \peek_meaning:NTF [
- { \newcol@ #1 }
- { \newcol@ #1 [ 0 ] }
- }
-% \end{macrocode}
%
%
% \bigskip
@@ -3712,10 +3716,6 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_set_eq:NN \@ifnextchar \new@ifnextchar
% \end{macrocode}
-%
-% \begin{macrocode}
- \@@_renew_NC@rewrite@S:
-% \end{macrocode}
%
% \begin{macrocode}
\bool_gset_false:N \g_@@_last_col_found_bool
@@ -3998,6 +3998,7 @@ version 2005/12/01 or later.
\cs_set_eq:NN \chessboardcolors \@@_chessboardcolors
\cs_set_eq:NN \SubMatrix \@@_SubMatrix_in_code_before
\cs_set_eq:NN \ShowCellNames \@@_ShowCellNames
+ \cs_set_eq:NN \TikzEveryCell \@@_TikzEveryCell
}
% \end{macrocode}
%
@@ -4231,7 +4232,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\tl_gset:Nn \g_@@_left_delim_tl { #1 }
\tl_gset:Nn \g_@@_right_delim_tl { #2 }
- \tl_gset:Nn \g_@@_preamble_tl { #4 }
+ \tl_gset:Nn \g_@@_user_preamble_tl { #4 }
% \end{macrocode}
%
%
@@ -4611,20 +4612,17 @@ version 2005/12/01 or later.
% \vspace{1cm}
% \section{We construct the preamble of the array}
%
-% \bigskip
-% The transformation of the preamble is an operation in several
-% steps.\footnote{Be careful: the transformation of the preamble may also have
-% by-side effects, for example, the boolean |\g_@@_delims_bool| will be set
-% to |true| if we detect in the preamble a delimiter at the beginning or at the
-% end.}
+% \bigskip
+% The final user provides a preamble, but we must convert that preamble into a
+% preamble that will be given to |{array}| (of the package \pkg{array}).
%
% \bigskip
-% The preamble given by the final user is in |\g_@@_preamble_tl| and the modified
-% version will be stored in |\g_@@_preamble_tl| also.
+% The preamble given by the final user is stored in |\g_@@_user_preamble_tl|.
+% The modified version will be stored in |\g_@@_array_preamble_tl| also.
% \begin{macrocode}
\cs_new_protected:Npn \@@_transform_preamble:
{
- \bool_if:NT \l_@@_preamble_bool \@@_transform_preamble_i:
+ \@@_transform_preamble_i:
\@@_transform_preamble_ii:
}
% \end{macrocode}
@@ -4632,97 +4630,50 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_transform_preamble_i:
{
-% \end{macrocode}
-% First, we will do an ``expansion'' of the preamble with the tools of the
-% package \pkg{array} itself. This ``expansion'' will expand all the constructions
-% with |*| and all column types (defined by the user or by various packages
-% using |\newcolumntype|).
-%
-% Since we use the tools of \pkg{array} to do this expansion, we will have a
-% programmation which is not in the style of the L3 programming layer.
-%
-%
-% \bigskip
-% We redefine the column types |w| and |W|. We use |\@@_newcolumntype| instead
-% of |\newcolumtype| because we don't want warnings for column types already
-% defined. These redefinitions are in fact \emph{protections} of the letters |w|
-% and |W|. We don't want these columns type expanded because we will do the
-% patch ourselves after. We want to be able to use the standard column types |w|
-% and |W| in potential |{tabular}| of \pkg{array} in some cells of our array.
-% That's why we do those redefinitions in a TeX group.
-% \begin{macrocode}
+ \int_gzero:N \c@jCol
\group_begin:
- \@@_newcolumntype w [ 2 ] { \@@_w: { ##1 } { ##2 } }
- \@@_newcolumntype W [ 2 ] { \@@_W: { ##1 } { ##2 } }
-% \end{macrocode}
-%
-% \bigskip
-% If the package \pkg{varwidth} has defined the column type |V|, we protect from
-% expansion by redefining it to |\@@_V:| (which will be catched by our system).
-% \begin{macrocode}
- \cs_if_exist:NT \NC@find@V { \@@_newcolumntype V { \@@_V: } }
% \end{macrocode}
-%
-% First, we have to store our preamble in the token register |\@temptokena|
-% (those ``token registers'' are \emph{not} supported by the L3 programming layer).
+% The sequence |\g_@@_cols_vlsim_seq| will contain the numbers of the columns
+% where you will to have to draw vertical lines in the potential sub-matrices
+% (hence the name |vlism|).
% \begin{macrocode}
- \exp_args:NV \@temptokena \g_@@_preamble_tl
+ \seq_gclear:N \g_@@_cols_vlism_seq
% \end{macrocode}
-% Initialisation of a flag used by \pkg{array} to detect the end of the expansion.
+% |\g_tmpb_bool| will be raised if you have a \verb+|+ at the end of the
+% preamble provided by the final user.
% \begin{macrocode}
- \@tempswatrue
+ \bool_gset_false:N \g_tmpb_bool
% \end{macrocode}
-% The following line actually does the expansion (it's has been copied from
-% |array.sty|). The expanded version is still in |\@temptokena|.
+%
+% The following sequence will store the arguments of the successive |>| in the
+% preamble.
% \begin{macrocode}
- \@whilesw \if@tempswa \fi { \@tempswafalse \the \NC@list }
- \int_gzero:N \c@jCol
- \tl_gclear:N \g_@@_preamble_tl
+ \tl_gclear_new:N \g_@@_pre_cell_tl
% \end{macrocode}
-% |\g_tmpb_bool| will be raised if you have a \verb+|+ at the end of the preamble.
+% The counter |\l_tmpa_int| will count the number of consecutive occurrences
+% of the symbol \verb+|+.
% \begin{macrocode}
- \bool_gset_false:N \g_tmpb_bool
+ \int_zero:N \l_tmpa_int
+ \tl_gclear:N \g_@@_array_preamble_tl
\tl_if_eq:NnTF \l_@@_vlines_clist { all }
{
- \tl_gset:Nn \g_@@_preamble_tl
+ \tl_gset:Nn \g_@@_array_preamble_tl
{ ! { \skip_horizontal:N \arrayrulewidth } }
}
{
\clist_if_in:NnT \l_@@_vlines_clist 1
{
- \tl_gset:Nn \g_@@_preamble_tl
+ \tl_gset:Nn \g_@@_array_preamble_tl
{ ! { \skip_horizontal:N \arrayrulewidth } }
}
}
% \end{macrocode}
-% The sequence |\g_@@_cols_vlsim_seq| will contain the numbers of the columns
-% where you will to have to draw vertical lines in the potential sub-matrices
-% (hence the name |vlism|).
-% \begin{macrocode}
- \seq_clear:N \g_@@_cols_vlism_seq
-% \end{macrocode}
-%
-% \bigskip
-% The following sequence will store the arguments of the successive |>| in the
-% preamble.
+% Now, we actually make the preamble (which will be given to |{array}|). It will
+% be stored in |\g_@@_array_preamble_tl|.
% \begin{macrocode}
- \tl_gclear_new:N \g_@@_pre_cell_tl
-% \end{macrocode}
-%
-% The counter |\l_tmpa_int| will count the number of consecutive occurrences
-% of the symbol \verb+|+.
-% \begin{macrocode}
- \int_zero:N \l_tmpa_int
-% \end{macrocode}
-% Now, we actually patch the preamble (and it is constructed in
-% |\g_@@_preamble_tl|).
-% \begin{macrocode}
- \exp_after:wN \@@_patch_preamble:n \the \@temptokena \q_stop
+ \exp_last_unbraced:NV \@@_make_preamble:n \g_@@_user_preamble_tl \q_stop
\int_gset_eq:NN \g_@@_static_num_of_col_int \c@jCol
% \end{macrocode}
-% Remark that |\g_@@_static_num_of_col_int| will stay equel to zero in the
-% environments without preamble since we are in a code that is executed only
-% in the environments \emph{with} preamble.
%
% \medskip
% Now, we replace |\columncolor| by |\@@_columncolor_preamble|.
@@ -4732,28 +4683,18 @@ version 2005/12/01 or later.
\regex_replace_all:NnN
\c_@@_columncolor_regex
{ \c { @@_columncolor_preamble } }
- \g_@@_preamble_tl
+ \g_@@_array_preamble_tl
}
% \end{macrocode}
%
% \medskip
-% Now, we can close the TeX group which was opened for the redefinition of
-% the columns of type |w| and~|W|.
+% We are not sure that the following TeX group is still necessary.
% \begin{macrocode}
\group_end:
}
% \end{macrocode}
%
-%
-%
% \bigskip
-% Now, we have to ``patch'' that preamble by transforming some columns.
-% We will insert in the TeX flow the preamble in its actual form (that is to say
-% after the ``expansion'') following by a marker |\q_stop| and we will consume
-% these tokens constructing the (new form of the) preamble in
-% |\g_@@_preamble_tl|. This is done recursively with the command
-% |\@@_patch_preamble:n|. In the same time, we will count the columns with the
-% counter |\c@jCol|.
% \begin{macrocode}
\cs_new_protected:Npn \@@_transform_preamble_ii:
{
@@ -4779,7 +4720,7 @@ version 2005/12/01 or later.
% We complete the preamble with the potential ``exterior columns'' (on both sides).
% \begin{macrocode}
\int_compare:nNnTF \l_@@_first_col_int = 0
- { \tl_gput_left:NV \g_@@_preamble_tl \c_@@_preamble_first_col_tl }
+ { \tl_gput_left:NV \g_@@_array_preamble_tl \c_@@_preamble_first_col_tl }
{
\bool_lazy_all:nT
{
@@ -4788,10 +4729,10 @@ version 2005/12/01 or later.
{ \tl_if_empty_p:N \l_@@_vlines_clist }
{ \bool_not_p:n \l_@@_exterior_arraycolsep_bool }
}
- { \tl_gput_left:Nn \g_@@_preamble_tl { @ { } } }
+ { \tl_gput_left:Nn \g_@@_array_preamble_tl { @ { } } }
}
\int_compare:nNnTF \l_@@_last_col_int > { -1 }
- { \tl_gput_right:NV \g_@@_preamble_tl \c_@@_preamble_last_col_tl }
+ { \tl_gput_right:NV \g_@@_array_preamble_tl \c_@@_preamble_last_col_tl }
{
\bool_lazy_all:nT
{
@@ -4800,7 +4741,7 @@ version 2005/12/01 or later.
{ \tl_if_empty_p:N \l_@@_vlines_clist }
{ \bool_not_p:n \l_@@_exterior_arraycolsep_bool }
}
- { \tl_gput_right:Nn \g_@@_preamble_tl { @ { } } }
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { @ { } } }
}
% \end{macrocode}
% We add a last column to raise a good error message when the user puts more
@@ -4810,61 +4751,31 @@ version 2005/12/01 or later.
% \begin{macrocode}
\dim_compare:nNnT \l_@@_tabular_width_dim = \c_zero_dim
{
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{ > { \@@_error_too_much_cols: } l }
}
}
% \end{macrocode}
%
% \bigskip
-% The command |\@@_patch_preamble:n| is the main function for the transformation
+% The command |\@@_make_preamble:n| is the main function for the creation
% of the preamble. It is recursive.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble:n #1
+\cs_new_protected:Npn \@@_make_preamble:n #1
{
- \str_case:nnF { #1 }
+ \str_if_eq:nnF { #1 } { \q_stop }
{
- c { \@@_patch_preamble_i:n #1 }
- l { \@@_patch_preamble_i:n #1 }
- r { \@@_patch_preamble_i:n #1 }
- > { \@@_patch_preamble_xiv:n }
- ! { \@@_patch_preamble_ii:nn #1 }
- @ { \@@_patch_preamble_ii:nn #1 }
- | { \@@_patch_preamble_iii:n #1 }
- p { \@@_patch_preamble_iv:n #1 }
- b { \@@_patch_preamble_iv:n #1 }
- m { \@@_patch_preamble_iv:n #1 }
- \@@_V: { \@@_patch_preamble_v:n }
- V { \@@_patch_preamble_v:n }
- \@@_w: { \@@_patch_preamble_vi:nnnn { } #1 }
- \@@_W: { \@@_patch_preamble_vi:nnnn { \@@_special_W: } #1 }
- \@@_S: { \@@_patch_preamble_vii:n }
- ( { \@@_patch_preamble_viii:nn #1 }
- [ { \@@_patch_preamble_viii:nn #1 }
- \{ { \@@_patch_preamble_viii:nn #1 }
- \left { \@@_patch_preamble_viii:nn }
- ) { \@@_patch_preamble_ix:nn #1 }
- ] { \@@_patch_preamble_ix:nn #1 }
- \} { \@@_patch_preamble_ix:nn #1 }
- \right { \@@_patch_preamble_ix:nn }
- X { \@@_patch_preamble_x:n }
-% \end{macrocode}
-% When \pkg{tabularx} is loaded, a local redefinition of the specifier |X| is
-% done to replace |X| by |\@@_X|. Thus, our column type |X| will be used in the
-% |{NiceTabularX}|.
-% \begin{macrocode}
- \@@_X { \@@_patch_preamble_x:n }
- \q_stop { }
- }
- {
- \str_if_eq:nVTF { #1 } \l_@@_letter_vlism_tl
+ \cs_if_exist:cTF { @@ \token_to_str:N #1 }
+ { \use:c { @@ \token_to_str:N #1 } { #1 } }
{
- \seq_gput_right:Nx \g_@@_cols_vlism_seq
- { \int_eval:n { \c@jCol + 1 } }
- \tl_gput_right:Nx \g_@@_preamble_tl
- { \exp_not:N ! { \skip_horizontal:N \arrayrulewidth } }
- \@@_patch_preamble:n
- }
+ \str_if_eq:nVTF { #1 } \l_@@_letter_vlism_tl
+ {
+ \seq_gput_right:Nx \g_@@_cols_vlism_seq
+ { \int_eval:n { \c@jCol + 1 } }
+ \tl_gput_right:Nx \g_@@_array_preamble_tl
+ { \exp_not:N ! { \skip_horizontal:N \arrayrulewidth } }
+ \@@_make_preamble:n
+ }
% \end{macrocode}
% Now the case of a letter set by the final user for a customized rule. Such
% customized rule is defined by using the key |custom-line| in
@@ -4876,35 +4787,72 @@ version 2005/12/01 or later.
% keys of that set of keys won't never be used as keys by the final user (he
% will use, instead, letters in the preamble of its array).
% \begin{macrocode}
- {
- \keys_if_exist:nnTF { NiceMatrix / ColumnTypes } { #1 }
- {
- \keys_set:nn { NiceMatrix / ColumnTypes } { #1 }
- \@@_patch_preamble:n
- }
{
- \tl_if_eq:nnT { #1 } { S }
- { \@@_fatal:n { unknown~column~type~S } }
- { \@@_fatal:nn { unknown~column~type } { #1 } }
+ \keys_if_exist:nnTF { NiceMatrix / ColumnTypes } { #1 }
+ {
+ \keys_set:nn { NiceMatrix / ColumnTypes } { #1 }
+ \@@_make_preamble:n
+ }
+ {
+ \cs_if_exist:cTF { NC @ find @ #1 }
+ {
+ \tl_set_eq:Nc \l_tmpb_tl { NC @ rewrite @ #1 }
+ \exp_last_unbraced:NV \@@_make_preamble:n \l_tmpb_tl
+ }
+ {
+ \tl_if_eq:nnT { #1 } { S }
+ { \@@_fatal:n { unknown~column~type~S } }
+ { \@@_fatal:nn { unknown~column~type } { #1 } }
+ }
+ }
}
}
}
}
% \end{macrocode}
%
-%
% \bigskip
% Now, we will list all the auxiliary functions for the different types of
% entries in the preamble of the array.
+% \begin{macrocode}
+\cs_new:cpn { @@ \string c } { \@@_make_preamble_i:n }
+\cs_new:cpn { @@ \string l } { \@@_make_preamble_i:n }
+\cs_new:cpn { @@ \string r } { \@@_make_preamble_i:n }
+\cs_new:cpn { @@ \string > } { \@@_make_preamble_xiv:nn }
+\cs_new:cpn { @@ \string ! } { \@@_make_preamble_ii:nn }
+\cs_new:cpn { @@ \string @ } { \@@_make_preamble_ii:nn }
+\cs_new:cpn { @@ \string | } { \@@_make_preamble_iii:n }
+\cs_new:cpn { @@ \string p } { \@@_make_preamble_iv:n }
+\cs_new:cpn { @@ \string b } { \@@_make_preamble_iv:n }
+\cs_new:cpn { @@ \string m } { \@@_make_preamble_iv:n }
+\cs_new:cpn { @@ \string V } { \@@_make_preamble_v:nn }
+\cs_new:cpn { @@ \string w } { \@@_make_preamble_vi:nnnn { } }
+\cs_new:cpn { @@ \string W } { \@@_make_preamble_vi:nnnn { \@@_special_W: } }
+\cs_new:cpn { @@ \string S } { \@@_make_preamble_vii:nn }
+\cs_new:cpn { @@ \string ( } { \@@_make_preamble_viii:nn }
+\cs_new:cpn { @@ \string [ } { \@@_make_preamble_viii:nn }
+\cs_new:cpn { @@ \string \{ } { \@@_make_preamble_viii:nn }
+\cs_new:cpn { @@ \string \left } { \@@_make_preamble_viii_ii:n }
+\cs_new:cpn { @@ \string ) } { \@@_make_preamble_ix:nn }
+\cs_new:cpn { @@ \string ] } { \@@_make_preamble_ix:nn }
+\cs_new:cpn { @@ \string \} } { \@@_make_preamble_ix:nn }
+\cs_new:cpn { @@ \string \right } { \@@_make_preamble_ix_ii:n }
+\cs_new:cpn { @@ \string X } { \@@_make_preamble_x:nn }
+\cs_new:cpn { @@ \string * } { \@@_make_preamble_xvi:nnn }
+\cs_new:cpn { @@ \string \NC@find } { \@@_make_preamble_xx:n }
+% \end{macrocode}
+% The token |\NC@find| is at the head of the definition of the columns type done
+% by |\newcolumntype|. We wan't that token to be no-op here.
+%
%
-% \medskip
+% \bigskip
% For |c|, |l| and |r|
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_i:n #1
+\cs_new_protected:Npn \@@_make_preamble_i:n #1
{
- \tl_gput_right:NV \g_@@_preamble_tl \g_@@_pre_cell_tl
+ \tl_gput_right:NV \g_@@_array_preamble_tl \g_@@_pre_cell_tl
\tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{
> { \@@_cell_begin:w \str_set:Nn \l_@@_hpos_cell_str { #1 } }
#1
@@ -4915,17 +4863,17 @@ version 2005/12/01 or later.
% We increment the counter of columns and then we test for the presence of a |<|.
% \begin{macrocode}
\int_gincr:N \c@jCol
- \@@_patch_preamble_xi:n
+ \@@_make_preamble_xi:n
}
% \end{macrocode}
%
% \medskip
% For |>|, |!| and |@|
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_ii:nn #1 #2
+\cs_new_protected:Npn \@@_make_preamble_ii:nn #1 #2
{
- \tl_gput_right:Nn \g_@@_preamble_tl { #1 { #2 } }
- \@@_patch_preamble:n
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { #1 { #2 } }
+ \@@_make_preamble:n
}
% \end{macrocode}
%
@@ -4933,34 +4881,41 @@ version 2005/12/01 or later.
% \medskip
% For \verb+|+
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iii:n #1
+\cs_new_protected:Npn \@@_make_preamble_iii:n #1
{
% \end{macrocode}
% |\l_tmpa_int| is the number of successive occurrences of \verb+|+
% \begin{macrocode}
\int_incr:N \l_tmpa_int
- \@@_patch_preamble_iii_i:n
+ \@@_make_preamble_iii_i:n
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iii_i:n #1
+\cs_new_protected:Npn \@@_make_preamble_iii_i:n #1
{
\str_if_eq:nnTF { #1 } |
- { \@@_patch_preamble_iii:n | }
- {
- \str_if_eq:nnTF { #1 } [
- { \@@_patch_preamble_iii_ii:nw { } [ }
- { \@@_patch_preamble_iii_ii:nw { #1 } [ ] }
- }
+ { \@@_make_preamble_iii:n | }
+ { \@@_make_preamble_iii_ii:nn { } #1 }
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iii_ii:nw #1 [ #2 ]
+\cs_new_protected:Npn \@@_make_preamble_iii_ii:nn #1 #2
+ {
+ \str_if_eq:nnTF { #2 } [
+ { \@@_make_preamble_iii_ii:nw { #1 } [ }
+ { \@@_make_preamble_iii_iii:nn { #2 } { #1 } }
+ }
+\cs_new_protected:Npn \@@_make_preamble_iii_ii:nw #1 [ #2 ]
+ { \@@_make_preamble_iii_ii:nn { #1 , #2 } }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_iii_iii:nn #1 #2
{
\@@_compute_rule_width:n { multiplicity = \l_tmpa_int , #2 }
- \tl_gput_right:Nx \g_@@_preamble_tl
+ \tl_gput_right:Nx \g_@@_array_preamble_tl
{
% \end{macrocode}
% Here, the command |\dim_eval:n| is mandatory.
@@ -4984,15 +4939,15 @@ version 2005/12/01 or later.
}
\int_zero:N \l_tmpa_int
\str_if_eq:nnT { #1 } { \q_stop } { \bool_gset_true:N \g_tmpb_bool }
- \@@_patch_preamble:n #1
+ \@@_make_preamble:n #1
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_xiv:n #1
+\cs_new_protected:Npn \@@_make_preamble_xiv:nn #1 #2
{
- \tl_gput_right:Nn \g_@@_pre_cell_tl { > { #1 } }
- \@@_patch_preamble:n
+ \tl_gput_right:Nn \g_@@_pre_cell_tl { > { #2 } }
+ \@@_make_preamble:n
}
% \end{macrocode}
%
@@ -5053,29 +5008,29 @@ version 2005/12/01 or later.
% \medskip
% For |p|, |b| and |m|. The argument |#1| is that value : |p|, |b| or |m|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iv:n #1
+\cs_new_protected:Npn \@@_make_preamble_iv:n #1
{
\str_set:Nn \l_@@_vpos_col_str { #1 }
% \end{macrocode}
% Now, you look for a potential character |[| after the letter of the specifier
% (for the options).
% \begin{macrocode}
- \@@_patch_preamble_iv_i:n
+ \@@_make_preamble_iv_i:n
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iv_i:n #1
+\cs_new_protected:Npn \@@_make_preamble_iv_i:n #1
{
\str_if_eq:nnTF { #1 } { [ }
- { \@@_patch_preamble_iv_ii:w [ }
- { \@@_patch_preamble_iv_ii:w [ ] { #1 } }
+ { \@@_make_preamble_iv_ii:w [ }
+ { \@@_make_preamble_iv_ii:w [ ] { #1 } }
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iv_ii:w [ #1 ]
- { \@@_patch_preamble_iv_iii:nn { #1 } }
+\cs_new_protected:Npn \@@_make_preamble_iv_ii:w [ #1 ]
+ { \@@_make_preamble_iv_iii:nn { #1 } }
% \end{macrocode}
%
% \medskip
@@ -5084,7 +5039,7 @@ version 2005/12/01 or later.
%
% |#2| is the mandatory argument of the specifier: the width of the column.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iv_iii:nn #1 #2
+\cs_new_protected:Npn \@@_make_preamble_iv_iii:nn #1 #2
{
% \end{macrocode}
% The possible values of |\l_@@_hpos_col_str| are |j| (for \emph{justified} which is
@@ -5093,9 +5048,8 @@ version 2005/12/01 or later.
% \begin{macrocode}
\str_set:Nn \l_@@_hpos_col_str { j }
\tl_set:Nn \l_tmpa_tl { #1 }
- \tl_replace_all:Nnn \l_tmpa_tl { \@@_S: } { S }
\@@_keys_p_column:V \l_tmpa_tl
- \@@_patch_preamble_iv_iv:nn { #2 } { minipage }
+ \@@_make_preamble_iv_iv:nn { #2 } { minipage }
}
% \end{macrocode}
%
@@ -5109,11 +5063,11 @@ version 2005/12/01 or later.
% The first argument is the width of the column. The second is the type of
% environment: |minipage| or |varwidth|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iv_iv:nn #1 #2
+\cs_new_protected:Npn \@@_make_preamble_iv_iv:nn #1 #2
{
\use:x
{
- \@@_patch_preamble_iv_v:nnnnnnnn
+ \@@_make_preamble_iv_v:nnnnnnnn
{ \str_if_eq:VnTF \l_@@_vpos_col_str { p } { t } { b } }
{ \dim_eval:n { #1 } }
{
@@ -5160,7 +5114,7 @@ version 2005/12/01 or later.
% We increment the counter of columns, and then we test for the presence of a |<|.
% \begin{macrocode}
\int_gincr:N \c@jCol
- \@@_patch_preamble_xi:n
+ \@@_make_preamble_xi:n
}
% \end{macrocode}
%
@@ -5189,14 +5143,14 @@ version 2005/12/01 or later.
% |#8| is the letter |c| or |r| or |l| which is the basic specificier of column
% which is used \emph{in fine}.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_iv_v:nnnnnnnn #1 #2 #3 #4 #5 #6 #7 #8
+\cs_new_protected:Npn \@@_make_preamble_iv_v:nnnnnnnn #1 #2 #3 #4 #5 #6 #7 #8
{
\str_if_eq:VnTF \l_@@_hpos_col_str { si }
- { \tl_gput_right:Nn \g_@@_preamble_tl { > { \@@_test_if_empty_for_S: } } }
- { \tl_gput_right:Nn \g_@@_preamble_tl { > { \@@_test_if_empty: } } }
- \tl_gput_right:NV \g_@@_preamble_tl \g_@@_pre_cell_tl
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { > { \@@_test_if_empty_for_S: } } }
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { > { \@@_test_if_empty: } } }
+ \tl_gput_right:NV \g_@@_array_preamble_tl \g_@@_pre_cell_tl
\tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{
> {
% \end{macrocode}
@@ -5324,26 +5278,25 @@ version 2005/12/01 or later.
% \medskip
% For |V| (similar to the |V| of \pkg{varwidth}).
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_v:n #1
+\cs_new_protected:Npn \@@_make_preamble_v:nn #1 #2
{
- \str_if_eq:nnTF { #1 } { [ }
- { \@@_patch_preamble_v_i:w [ }
- { \@@_patch_preamble_v_i:w [ ] { #1 } }
+ \str_if_eq:nnTF { #2 } { [ }
+ { \@@_make_preamble_v_i:w [ }
+ { \@@_make_preamble_v_i:w [ ] { #2 } }
}
-\cs_new_protected:Npn \@@_patch_preamble_v_i:w [ #1 ]
- { \@@_patch_preamble_v_ii:nn { #1 } }
-\cs_new_protected:Npn \@@_patch_preamble_v_ii:nn #1 #2
+\cs_new_protected:Npn \@@_make_preamble_v_i:w [ #1 ]
+ { \@@_make_preamble_v_ii:nn { #1 } }
+\cs_new_protected:Npn \@@_make_preamble_v_ii:nn #1 #2
{
\str_set:Nn \l_@@_vpos_col_str { p }
\str_set:Nn \l_@@_hpos_col_str { j }
\tl_set:Nn \l_tmpa_tl { #1 }
- \tl_replace_all:Nnn \l_tmpa_tl { \@@_S: } { S }
\@@_keys_p_column:V \l_tmpa_tl
\IfPackageLoadedTF { varwidth }
- { \@@_patch_preamble_iv_iv:nn { #2 } { varwidth } }
+ { \@@_make_preamble_iv_iv:nn { #2 } { varwidth } }
{
\@@_error_or_warning:n { varwidth~not~loaded }
- \@@_patch_preamble_iv_iv:nn { #2 } { minipage }
+ \@@_make_preamble_iv_iv:nn { #2 } { minipage }
}
}
% \end{macrocode}
@@ -5360,11 +5313,11 @@ version 2005/12/01 or later.
% |#4| is the width of the column.
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_vi:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_make_preamble_vi:nnnn #1 #2 #3 #4
{
\str_if_eq:nnTF { #3 } { s }
- { \@@_patch_preamble_vi_i:nnnn { #1 } { #4 } }
- { \@@_patch_preamble_vi_ii:nnnn { #1 } { #2 } { #3 } { #4 } }
+ { \@@_make_preamble_vi_i:nnnn { #1 } { #4 } }
+ { \@@_make_preamble_vi_ii:nnnn { #1 } { #2 } { #3 } { #4 } }
}
% \end{macrocode}
%
@@ -5376,11 +5329,11 @@ version 2005/12/01 or later.
%
% |#2| is the width of the column.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_vi_i:nnnn #1 #2
+\cs_new_protected:Npn \@@_make_preamble_vi_i:nnnn #1 #2
{
- \tl_gput_right:NV \g_@@_preamble_tl \g_@@_pre_cell_tl
+ \tl_gput_right:NV \g_@@_array_preamble_tl \g_@@_pre_cell_tl
\tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{
> {
\dim_set:Nn \l_@@_col_width_dim { #2 }
@@ -5396,7 +5349,7 @@ version 2005/12/01 or later.
}
}
\int_gincr:N \c@jCol
- \@@_patch_preamble_xi:n
+ \@@_make_preamble_xi:n
}
% \end{macrocode}
%
@@ -5404,11 +5357,11 @@ version 2005/12/01 or later.
% Then, the most important version, for the horizontal alignments types of |c|,
% |l| and |r| (and not |s|).
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_vi_ii:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_make_preamble_vi_ii:nnnn #1 #2 #3 #4
{
- \tl_gput_right:NV \g_@@_preamble_tl \g_@@_pre_cell_tl
+ \tl_gput_right:NV \g_@@_array_preamble_tl \g_@@_pre_cell_tl
\tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{
> {
% \end{macrocode}
@@ -5434,7 +5387,7 @@ version 2005/12/01 or later.
% We increment the counter of columns and then we test for the presence of a |<|.
% \begin{macrocode}
\int_gincr:N \c@jCol
- \@@_patch_preamble_xi:n
+ \@@_make_preamble_xi:n
}
% \end{macrocode}
%
@@ -5448,31 +5401,29 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \medskip
-% For |\@@_S:|. If the user has used |S[...]|, |S| has been replaced by |\@@_S:|
-% during the first expansion of the preamble (done with the tools of standard
-% LaTeX and \pkg{array}).
+% For |S| (of \pkg{siunitx}).
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_vii:n #1
+\cs_new_protected:Npn \@@_make_preamble_vii:nn #1 #2
{
- \str_if_eq:nnTF { #1 } { [ }
- { \@@_patch_preamble_vii_i:w [ }
- { \@@_patch_preamble_vii_i:w [ ] { #1 } }
+ \str_if_eq:nnTF { #2 } { [ }
+ { \@@_make_preamble_vii_i:w [ }
+ { \@@_make_preamble_vii_i:w [ ] { #2 } }
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_vii_i:w [ #1 ]
- { \@@_patch_preamble_vii_ii:n { #1 } }
+\cs_new_protected:Npn \@@_make_preamble_vii_i:w [ #1 ]
+ { \@@_make_preamble_vii_ii:n { #1 } }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_vii_ii:n #1
+\cs_new_protected:Npn \@@_make_preamble_vii_ii:n #1
{
\IfPackageAtLeastTF { siunitx } { 2022/01/01 }
{
- \tl_gput_right:NV \g_@@_preamble_tl \g_@@_pre_cell_tl
+ \tl_gput_right:NV \g_@@_array_preamble_tl \g_@@_pre_cell_tl
\tl_gclear:N \g_@@_pre_cell_tl
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{
> {
\@@_cell_begin:w
@@ -5486,7 +5437,7 @@ version 2005/12/01 or later.
% We increment the counter of columns and then we test for the presence of a |<|.
% \begin{macrocode}
\int_gincr:N \c@jCol
- \@@_patch_preamble_xi:n
+ \@@_make_preamble_xi:n
}
{ \@@_fatal:n { Version~of~siunitx~too~old } }
}
@@ -5496,7 +5447,7 @@ version 2005/12/01 or later.
% \medskip
% For |(|, |[| and |\{|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_viii:nn #1 #2
+\cs_new_protected:Npn \@@_make_preamble_viii:nn #1 #2
{
\bool_if:NT \l_@@_small_bool { \@@_fatal:n { Delimiter~with~small } }
% \end{macrocode}
@@ -5513,30 +5464,35 @@ version 2005/12/01 or later.
% \begin{macrocode}
\tl_gset:Nn \g_@@_left_delim_tl { #1 }
\tl_gset:Nn \g_@@_right_delim_tl { . }
- \@@_patch_preamble:n #2
+ \@@_make_preamble:n #2
}
{
- \tl_gput_right:Nn \g_@@_preamble_tl { ! { \enskip } }
- \@@_patch_preamble_viii_i:nn { #1 } { #2 }
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
+ \@@_make_preamble_viii_i:nn { #1 } { #2 }
}
}
- { \@@_patch_preamble_viii_i:nn { #1 } { #2 } }
+ { \@@_make_preamble_viii_i:nn { #1 } { #2 } }
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_viii_i:nn #1 #2
+\cs_new_protected:Npn \@@_make_preamble_viii_i:nn #1 #2
{
\tl_gput_right:Nx \g_@@_pre_code_after_tl
{ \@@_delimiter:nnn #1 { \int_eval:n { \c@jCol + 1 } } \c_true_bool }
\tl_if_in:nnTF { ( [ \{ ) ] \} \left \right } { #2 }
{
\@@_error:nn { delimiter~after~opening } { #2 }
- \@@_patch_preamble:n
+ \@@_make_preamble:n
}
- { \@@_patch_preamble:n #2 }
+ { \@@_make_preamble:n #2 }
}
% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_viii_ii:n #1
+ { \@@_make_preamble_viii:nn }
+% \end{macrocode}
%
% \bigskip
% For the closing delimiters. We have two arguments for the following command because
@@ -5546,48 +5502,48 @@ version 2005/12/01 or later.
% considered as the right delimiter of the environment if the environment is
% |{NiceArray}|).
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_ix:nn #1 #2
+\cs_new_protected:Npn \@@_make_preamble_ix:nn #1 #2
{
\bool_if:NT \l_@@_small_bool { \@@_fatal:n { Delimiter~with~small } }
\tl_if_in:nnTF { ) ] \} } { #2 }
- { \@@_patch_preamble_ix_i:nnn #1 #2 }
+ { \@@_make_preamble_ix_i:nnn #1 #2 }
{
\tl_if_eq:nnTF { \q_stop } { #2 }
{
\str_if_eq:VnTF \g_@@_right_delim_tl { . }
{ \tl_gset:Nn \g_@@_right_delim_tl { #1 } }
{
- \tl_gput_right:Nn \g_@@_preamble_tl { ! { \enskip } }
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
\tl_gput_right:Nx \g_@@_pre_code_after_tl
{ \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
- \@@_patch_preamble:n #2
+ \@@_make_preamble:n #2
}
}
{
\tl_if_in:nnT { ( [ \{ \left } { #2 }
- { \tl_gput_right:Nn \g_@@_preamble_tl { ! { \enskip } } }
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } } }
\tl_gput_right:Nx \g_@@_pre_code_after_tl
{ \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
- \@@_patch_preamble:n #2
+ \@@_make_preamble:n #2
}
}
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_ix_i:nnn #1 #2 #3
+\cs_new_protected:Npn \@@_make_preamble_ix_i:nnn #1 #2 #3
{
\tl_if_eq:nnTF { \q_stop } { #3 }
{
\str_if_eq:VnTF \g_@@_right_delim_tl { . }
{
- \tl_gput_right:Nn \g_@@_preamble_tl { ! { \enskip } }
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
\tl_gput_right:Nx \g_@@_pre_code_after_tl
{ \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
\tl_gset:Nn \g_@@_right_delim_tl { #2 }
}
{
- \tl_gput_right:Nn \g_@@_preamble_tl { ! { \enskip } }
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { ! { \enskip } }
\tl_gput_right:Nx \g_@@_pre_code_after_tl
{ \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
\@@_error:nn { double~closing~delimiter } { #2 }
@@ -5597,27 +5553,32 @@ version 2005/12/01 or later.
\tl_gput_right:Nx \g_@@_pre_code_after_tl
{ \@@_delimiter:nnn #1 { \int_use:N \c@jCol } \c_false_bool }
\@@_error:nn { double~closing~delimiter } { #2 }
- \@@_patch_preamble:n #3
+ \@@_make_preamble:n #3
}
}
% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_ix_ii:n #1
+ { \@@_make_preamble_ix:nn }
+% \end{macrocode}
%
% \bigskip
% For the case of a letter |X|. This specifier may take in an optional argument
% (between square brackets). That's why we test whether there is a |[| after the
% letter |X|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_x:n #1
+\cs_new_protected:Npn \@@_make_preamble_x:nn #1 #2
{
- \str_if_eq:nnTF { #1 } { [ }
- { \@@_patch_preamble_x_i:w [ }
- { \@@_patch_preamble_x_i:w [ ] #1 }
+ \str_if_eq:nnTF { #2 } { [ }
+ { \@@_make_preamble_x_i:w [ }
+ { \@@_make_preamble_x_i:w [ ] #2 }
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_x_i:w [ #1 ]
- { \@@_patch_preamble_x_ii:n { #1 } }
+\cs_new_protected:Npn \@@_make_preamble_x_i:w [ #1 ]
+ { \@@_make_preamble_x_ii:n { #1 } }
% \end{macrocode}
% |#1| is the optional argument of the |X| specifier (a list of
% \emph{key}-\emph{value} pairs).
@@ -5636,7 +5597,7 @@ version 2005/12/01 or later.
% \medskip
% In the following command, |#1| is the list of the options of the specifier |X|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_x_ii:n #1
+\cs_new_protected:Npn \@@_make_preamble_x_ii:n #1
{
% \end{macrocode}
% The possible values of |\l_@@_hpos_col_str| are |j| (for \emph{justified} which is
@@ -5661,7 +5622,6 @@ version 2005/12/01 or later.
\int_zero_new:N \l_@@_weight_int
\int_set:Nn \l_@@_weight_int { 1 }
\tl_set:Nn \l_tmpa_tl { #1 }
- \tl_replace_all:Nnn \l_tmpa_tl { \@@_S: } { S }
\@@_keys_p_column:V \l_tmpa_tl
\keys_set:nV { WithArrows / X-column } \l_tmpa_tl
\int_compare:nNnT \l_@@_weight_int < 0
@@ -5679,12 +5639,12 @@ version 2005/12/01 or later.
\bool_if:NTF \l_@@_X_columns_aux_bool
{
\exp_args:Nnx
- \@@_patch_preamble_iv_iv:nn
+ \@@_make_preamble_iv_iv:nn
{ \l_@@_weight_int \l_@@_X_columns_dim }
{ minipage }
}
{
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{
> {
\@@_cell_begin:w
@@ -5715,7 +5675,7 @@ version 2005/12/01 or later.
}
}
\int_gincr:N \c@jCol
- \@@_patch_preamble_xi:n
+ \@@_make_preamble_xi:n
}
}
% \end{macrocode}
@@ -5727,38 +5687,38 @@ version 2005/12/01 or later.
% |!{\skip_horizontal:N ...}| when the key |vlines| is used. In fact, we have
% also to test whether there is, after the |<{...}|, a |@{...}|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_xi:n #1
+\cs_new_protected:Npn \@@_make_preamble_xi:n #1
{
\str_if_eq:nnTF { #1 } { < }
- \@@_patch_preamble_xiii:n
+ \@@_make_preamble_xiii:n
{
\str_if_eq:nnTF { #1 } { @ }
- \@@_patch_preamble_xv:n
+ \@@_make_preamble_xv:n
{
\tl_if_eq:NnTF \l_@@_vlines_clist { all }
{
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{ ! { \skip_horizontal:N \arrayrulewidth } }
}
{
\exp_args:NNx
\clist_if_in:NnT \l_@@_vlines_clist { \int_eval:n { \c@jCol + 1 } }
{
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{ ! { \skip_horizontal:N \arrayrulewidth } }
}
}
- \@@_patch_preamble:n { #1 }
+ \@@_make_preamble:n { #1 }
}
}
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_xiii:n #1
+\cs_new_protected:Npn \@@_make_preamble_xiii:n #1
{
- \tl_gput_right:Nn \g_@@_preamble_tl { < { #1 } }
- \@@_patch_preamble_xi:n
+ \tl_gput_right:Nn \g_@@_array_preamble_tl { < { #1 } }
+ \@@_make_preamble_xi:n
}
% \end{macrocode}
%
@@ -5766,43 +5726,41 @@ version 2005/12/01 or later.
% draw a vertical rule, we have to add in that |@{...}| a |\hskip| corresponding
% to the width of the vertical rule.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_preamble_xv:n #1
+\cs_new_protected:Npn \@@_make_preamble_xv:n #1
{
\tl_if_eq:NnTF \l_@@_vlines_clist { all }
{
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{ @ { #1 \skip_horizontal:N \arrayrulewidth } }
}
{
\exp_args:NNx
\clist_if_in:NnTF \l_@@_vlines_clist { \int_eval:n { \c@jCol + 1 } }
{
- \tl_gput_right:Nn \g_@@_preamble_tl
+ \tl_gput_right:Nn \g_@@_array_preamble_tl
{ @ { #1 \skip_horizontal:N \arrayrulewidth } }
}
- { \tl_gput_right:Nn \g_@@_preamble_tl { @ { #1 } } }
+ { \tl_gput_right:Nn \g_@@_array_preamble_tl { @ { #1 } } }
}
- \@@_patch_preamble:n
+ \@@_make_preamble:n
}
% \end{macrocode}
%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_make_preamble_xx:n #1 { \@@_make_preamble:n }
+% \end{macrocode}
+%
% \bigskip
% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_preamble:Nn #1 #2
- {
- \group_begin:
- \@@_newcolumntype w [ 2 ] { \@@_w: { ##1 } { ##2 } }
- \@@_newcolumntype W [ 2 ] { \@@_W: { ##1 } { ##2 } }
- \@temptokena { #2 }
- \@tempswatrue
- \@whilesw \if@tempswa \fi { \@tempswafalse \the \NC@list }
- \tl_gclear:N \g_@@_preamble_tl
- \exp_after:wN \@@_patch_m_preamble:n \the \@temptokena \q_stop
- \group_end:
- \tl_set_eq:NN #1 \g_@@_preamble_tl
+\cs_new_protected:Npn \@@_make_preamble_xvi:nnn #1 #2 #3
+ {
+ \tl_clear:N \l_tmpa_tl
+ \int_step_inline:nn { #2 } { \tl_put_right:Nn \l_tmpa_tl { #3 } }
+ \exp_last_unbraced:NV \@@_make_preamble:n \l_tmpa_tl
}
% \end{macrocode}
%
+%
% \bigskip
% \section{The redefinition of \textbackslash multicolumn}
%
@@ -5823,25 +5781,12 @@ version 2005/12/01 or later.
\cs_set:Npn \@addamp { \if@firstamp \@firstampfalse \else \@preamerr 5 \fi }
% \end{macrocode}
%
-% \begin{macrocode}
- \@@_newcolumntype w [ 2 ] { \@@_w: { ##1 } { ##2 } }
- \@@_newcolumntype W [ 2 ] { \@@_W: { ##1 } { ##2 } }
-% \end{macrocode}
-%
-% \medskip
-% You do the expansion of the (small) preamble with the tools of \pkg{array}.
-% \begin{macrocode}
- \@temptokena = { #2 }
- \@tempswatrue
- \@whilesw \if@tempswa \fi { \@tempswafalse \the \NC@list }
-% \end{macrocode}
-%
% \medskip
% Now, we patch the (small) preamble as we have done with the main preamble of
% the array.
% \begin{macrocode}
\tl_gclear:N \g_@@_preamble_tl
- \exp_after:wN \@@_patch_m_preamble:n \the \@temptokena \q_stop
+ \@@_make_m_preamble:n #2 \q_stop
% \end{macrocode}
%
% \medskip
@@ -5905,28 +5850,40 @@ version 2005/12/01 or later.
% All those commands have a |m| in their name to recall that they deal with the
% redefinition of |\multicolumn|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_m_preamble:n #1
+\cs_new_protected:Npn \@@_make_m_preamble:n #1
{
\str_case:nnF { #1 }
{
- c { \@@_patch_m_preamble_i:n #1 }
- l { \@@_patch_m_preamble_i:n #1 }
- r { \@@_patch_m_preamble_i:n #1 }
- > { \@@_patch_m_preamble_ii:nn #1 }
- ! { \@@_patch_m_preamble_ii:nn #1 }
- @ { \@@_patch_m_preamble_ii:nn #1 }
- | { \@@_patch_m_preamble_iii:n #1 }
- p { \@@_patch_m_preamble_iv:nnn t #1 }
- m { \@@_patch_m_preamble_iv:nnn c #1 }
- b { \@@_patch_m_preamble_iv:nnn b #1 }
- \@@_w: { \@@_patch_m_preamble_v:nnnn { } #1 }
- \@@_W: { \@@_patch_m_preamble_v:nnnn { \@@_special_W: } #1 }
+ c { \@@_make_m_preamble_i:n #1 }
+ l { \@@_make_m_preamble_i:n #1 }
+ r { \@@_make_m_preamble_i:n #1 }
+ > { \@@_make_m_preamble_ii:nn #1 }
+ ! { \@@_make_m_preamble_ii:nn #1 }
+ @ { \@@_make_m_preamble_ii:nn #1 }
+ | { \@@_make_m_preamble_iii:n #1 }
+ p { \@@_make_m_preamble_iv:nnn t #1 }
+ m { \@@_make_m_preamble_iv:nnn c #1 }
+ b { \@@_make_m_preamble_iv:nnn b #1 }
+ w { \@@_make_m_preamble_v:nnnn { } #1 }
+ W { \@@_make_m_preamble_v:nnnn { \@@_special_W: } #1 }
\q_stop { }
+% \end{macrocode}
+% The token |\NC@find| is at the head of the definition of the columns type done
+% by |\newcolumntype|. We wan't that token to no-op here.
+% \begin{macrocode}
+ \NC@find { \@@_make_preamble:n }
}
{
- \tl_if_eq:nnT { #1 } { S }
- { \@@_fatal:n { unknown~column~type~S } }
- { \@@_fatal:nn { unknown~column~type } { #1 } }
+ \cs_if_exist:cTF { NC @ find @ #1 }
+ {
+ \tl_set_eq:Nc \l_tmpa_tl { NC @ rewrite @ #1 }
+ \exp_last_unbraced:NV \@@_make_m_preamble:n \l_tmpa_tl
+ }
+ {
+ \tl_if_eq:nnT { #1 } { S }
+ { \@@_fatal:n { unknown~column~type~S } }
+ { \@@_fatal:nn { unknown~column~type } { #1 } }
+ }
}
}
% \end{macrocode}
@@ -5934,7 +5891,7 @@ version 2005/12/01 or later.
% \medskip
% For |c|, |l| and |r|
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_m_preamble_i:n #1
+\cs_new_protected:Npn \@@_make_m_preamble_i:n #1
{
\tl_gput_right:Nn \g_@@_preamble_tl
{
@@ -5946,17 +5903,17 @@ version 2005/12/01 or later.
%
% We test for the presence of a |<|.
% \begin{macrocode}
- \@@_patch_m_preamble_x:n
+ \@@_make_m_preamble_x:n
}
% \end{macrocode}
%
% \medskip
% For |>|, |!| and |@|
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_m_preamble_ii:nn #1 #2
+\cs_new_protected:Npn \@@_make_m_preamble_ii:nn #1 #2
{
\tl_gput_right:Nn \g_@@_preamble_tl { #1 { #2 } }
- \@@_patch_m_preamble:n
+ \@@_make_m_preamble:n
}
% \end{macrocode}
%
@@ -5964,17 +5921,17 @@ version 2005/12/01 or later.
% \medskip
% For \verb+|+
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_m_preamble_iii:n #1
+\cs_new_protected:Npn \@@_make_m_preamble_iii:n #1
{
\tl_gput_right:Nn \g_@@_preamble_tl { #1 }
- \@@_patch_m_preamble:n
+ \@@_make_m_preamble:n
}
% \end{macrocode}
%
% \medskip
% For |p|, |m| and |b|
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_m_preamble_iv:nnn #1 #2 #3
+\cs_new_protected:Npn \@@_make_m_preamble_iv:nnn #1 #2 #3
{
\tl_gput_right:Nn \g_@@_preamble_tl
{
@@ -5995,14 +5952,14 @@ version 2005/12/01 or later.
% \end{macrocode}
% We test for the presence of a |<|.
% \begin{macrocode}
- \@@_patch_m_preamble_x:n
+ \@@_make_m_preamble_x:n
}
% \end{macrocode}
%
% \medskip
% For |w| and |W|
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_m_preamble_v:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_make_m_preamble_v:nnnn #1 #2 #3 #4
{
\tl_gput_right:Nn \g_@@_preamble_tl
{
@@ -6025,7 +5982,7 @@ version 2005/12/01 or later.
% \end{macrocode}
% We test for the presence of a |<|.
% \begin{macrocode}
- \@@_patch_m_preamble_x:n
+ \@@_make_m_preamble_x:n
}
% \end{macrocode}
%
@@ -6033,19 +5990,19 @@ version 2005/12/01 or later.
% After a specifier of column, we have to test whether there is one or several
% |<{..}|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_m_preamble_x:n #1
+\cs_new_protected:Npn \@@_make_m_preamble_x:n #1
{
\str_if_eq:nnTF { #1 } { < }
- \@@_patch_m_preamble_ix:n
- { \@@_patch_m_preamble:n { #1 } }
+ \@@_make_m_preamble_ix:n
+ { \@@_make_m_preamble:n { #1 } }
}
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_protected:Npn \@@_patch_m_preamble_ix:n #1
+\cs_new_protected:Npn \@@_make_m_preamble_ix:n #1
{
\tl_gput_right:Nn \g_@@_preamble_tl { < { #1 } }
- \@@_patch_m_preamble_x:n
+ \@@_make_m_preamble_x:n
}
% \end{macrocode}
%
@@ -6521,7 +6478,7 @@ version 2005/12/01 or later.
% Here is the call to |\array| (we have a dedicated macro |\@@_array:n| because
% of compatibility with the classes \cls{revtex4-1} and \cls{revtex4-2}).
% \begin{macrocode}
- \@@_array:V \g_@@_preamble_tl
+ \@@_array:V \g_@@_array_preamble_tl
}
}
}
@@ -6656,7 +6613,7 @@ version 2005/12/01 or later.
% |\@@_array:n| because of compatibility with the classes \cls{revtex4-1} and
% \cls{revtex4-2}).
% \begin{macrocode}
- \@@_array:V \g_@@_preamble_tl \l_@@_new_body_tl
+ \@@_array:V \g_@@_array_preamble_tl \l_@@_new_body_tl
}
% \end{macrocode}
%
@@ -7273,31 +7230,11 @@ version 2005/12/01 or later.
{ \endNiceArray }
% \end{macrocode}
%
-% \bigskip
-% \begin{macrocode}
-\cs_set_protected:Npn \@@_newcolumntype #1
- {
- \cs_if_free:cT { NC @ find @ #1 }
- { \NC@list \expandafter { \the \NC@list \NC@do #1 } }
- \cs_set:cpn {NC @ find @ #1 } ##1 #1 { \NC@ { ##1 } }
- \peek_meaning:NTF [
- { \newcol@ #1 }
- { \newcol@ #1 [ 0 ] }
- }
-% \end{macrocode}
%
% \bigskip
% \begin{macrocode}
\NewDocumentEnvironment { NiceTabularX } { m O { } m ! O { } }
{
-% \end{macrocode}
-% The following code prevents the expansion of the `X` columns with the
-% definition of that columns in \pkg{tabularx} (this would result in an error in
-% |{NiceTabularX}|).
-% \begin{macrocode}
- \IfPackageLoadedTF { tabularx }
- { \newcolumntype { X } { \@@_X } }
- { }
\str_gset:Nn \g_@@_name_env_str { NiceTabularX }
\dim_zero_new:N \l_@@_width_dim
\dim_set:Nn \l_@@_width_dim { #1 }
@@ -7305,7 +7242,11 @@ version 2005/12/01 or later.
\bool_set_true:N \l_@@_tabular_bool
\NiceArray { #3 }
}
- { \endNiceArray }
+ {
+ \endNiceArray
+ \int_compare:nNnT \g_@@_total_X_weight_int = \c_zero_int
+ { \@@_error:n { NiceTabularX~without~X } }
+ }
% \end{macrocode}
%
% \bigskip
@@ -7578,6 +7519,7 @@ version 2005/12/01 or later.
\cs_set_eq:NN \UnderBrace \@@_UnderBrace
\cs_set_eq:NN \OverBrace \@@_OverBrace
\cs_set_eq:NN \ShowCellNames \@@_ShowCellNames
+ \cs_set_eq:NN \TikzEveryCell \@@_TikzEveryCell
\cs_set_eq:NN \line \@@_line
\g_@@_pre_code_after_tl
\tl_gclear:N \g_@@_pre_code_after_tl
@@ -10608,7 +10550,7 @@ version 2005/12/01 or later.
{
\peek_remove_spaces:n
{
- \tl_gput_right:Nx \g__nicematrix_pre_code_before_tl
+ \tl_gput_right:Nx \g_@@_pre_code_before_tl
{
\@@_rowlistcolors
[ #1 ] { \int_use:N \c@iRow } { #2 }
@@ -10754,7 +10696,17 @@ version 2005/12/01 or later.
dotted .bool_set:N = \l_@@_dotted_bool ,
dotted .initial:n = false ,
dotted .default:n = true ,
- color .code:n = \@@_set_CT@arc@:n { #1 } ,
+% \end{macrocode}
+% We want that, even when the rule has been defined with TikZ by the key |tikz|,
+% the user has still the possibility to change the color of the rule with the key
+% |color| (in the command |\Hline|, not in the key |tikz| of the command
+% |\Hline|). The main use is, when the user has defined its own command
+% |\MyDashedLine| by |\newcommand{\MyDashedRule}{\Hline[tikz=dashed]}|, to give
+% the ability to write |\MyDashedRule[color=red]|.
+% \begin{macrocode}
+ color .code:n =
+ \@@_set_CT@arc@:n { #1 }
+ \tl_set:Nn \l_@@_rule_color_tl { #1 } ,
color .value_required:n = true ,
sep-color .code:n = \@@_set_CT@drsc@:n { #1 } ,
sep-color .value_required:n = true ,
@@ -10763,9 +10715,11 @@ version 2005/12/01 or later.
% sub-rules since a rule may be broken by blocks or others) will be drawn with
% Tikz.
% \begin{macrocode}
- tikz .tl_set:N = \l_@@_tikz_rule_tl ,
+ tikz .code:n =
+ \IfPackageLoadedTF { tikz }
+ { \clist_put_right:Nn \l_@@_tikz_rule_tl { #1 } }
+ { \@@_error:n { tikz~without~tikz } } ,
tikz .value_required:n = true ,
- tikz .initial:n = ,
total-width .dim_set:N = \l_@@_rule_width_dim ,
total-width .value_required:n = true ,
width .meta:n = { total-width = #1 } ,
@@ -10887,6 +10841,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_vline_ii:
{
+ \tl_clear:N \l_@@_tikz_rule_tl
\keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
\bool_if:NTF \l_@@_dotted_bool
\@@_vline_iv:
@@ -10983,12 +10938,21 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% The following code is for the case when the user uses the key |tikz| (in the
-% definition of a customized rule by using the key |custom-line|).
+% The following code is for the case when the user uses the key |tikz|.
% \begin{macrocode}
\cs_new_protected:Npn \@@_vline_v:
{
\begin {tikzpicture }
+ % added 2023/09/25
+% \end{macrocode}
+% By default, the color defined by |\arrayrulecolor| or by |rules/color| will be
+% used, but it's still possible to change the color by using the key |color| or,
+% of course, the key |color| inside the key |tikz| (that is to say the key
+% |color| provided by \textsc{pgf}.
+% \begin{macrocode}
+ \CT@arc@
+ \tl_if_empty:NF \l_@@_rule_color_tl
+ { \tl_put_right:Nx \l_@@_tikz_rule_tl { , color = \l_@@_rule_color_tl } }
\pgfrememberpicturepositiononpagetrue
\pgf@relevantforpicturesizefalse
\@@_qpoint:n { row - \int_use:N \l_@@_local_start_int }
@@ -11142,6 +11106,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_hline_ii:
{
+ \tl_clear:N \l_@@_tikz_rule_tl
\keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
\bool_if:NTF \l_@@_dotted_bool
\@@_hline_iv:
@@ -11304,6 +11269,16 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_hline_v:
{
\begin { tikzpicture }
+ % added 2023/09/25
+% \end{macrocode}
+% By default, the color defined by |\arrayrulecolor| or by |rules/color| will be
+% used, but it's still possible to change the color by using the key |color| or,
+% of course, the key |color| inside the key |tikz| (that is to say the key
+% |color| provided by \textsc{pgf}.
+% \begin{macrocode}
+ \CT@arc@
+ \tl_if_empty:NF \l_@@_rule_color_tl
+ { \tl_put_right:Nx \l_@@_tikz_rule_tl { , color = \l_@@_rule_color_tl } }
\pgfrememberpicturepositiononpagetrue
\pgf@relevantforpicturesizefalse
\@@_qpoint:n { col - \int_use:N \l_@@_local_start_int }
@@ -11481,7 +11456,7 @@ version 2005/12/01 or later.
{
\IfPackageLoadedTF { tikz }
{ }
- { \@@_error:n { tikz~in~custom-line~without~tikz }}
+ { \@@_error:n { tikz~in~custom-line~without~tikz } }
\bool_if:NT \l_@@_color_bool
{ \@@_error:n { color~in~custom-line~with~tikz } }
}
@@ -11589,25 +11564,10 @@ version 2005/12/01 or later.
{
% \end{macrocode}
% We use |\cs_set:cpn| and not |\cs_new:cpn| because we want a local definition.
-% Moreover, the command must \emph{not} be protected since it begins with |\noalign|.
+% Moreover, the command must \emph{not} be protected since it begins with
+% |\noalign| (which is in |\Hline|).
% \begin{macrocode}
- \cs_set:cpn { nicematrix - \l_@@_command_str }
- {
- \noalign
- {
- \@@_compute_rule_width:n { #1 }
- \skip_vertical:n { \l_@@_rule_width_dim }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
- {
- \@@_hline:n
- {
- #1 ,
- position = \int_eval:n { \c@iRow + 1 } ,
- total-width = \dim_use:N \l_@@_rule_width_dim
- }
- }
- }
- }
+ \cs_set:cpn { nicematrix - \l_@@_command_str } { \Hline [ #1 ] }
\seq_put_left:NV \l_@@_custom_line_commands_seq \l_@@_command_str
}
% \end{macrocode}
@@ -11697,7 +11657,7 @@ version 2005/12/01 or later.
% \end{macrocode}
% In the following line, the |\dim_use:N| is mandatory since we do an expansion.
% \begin{macrocode}
- \tl_gput_right:Nx \g_@@_preamble_tl
+ \tl_gput_right:Nx \g_@@_array_preamble_tl
{ \exp_not:N ! { \skip_horizontal:n { \dim_use:N \l_@@_rule_width_dim } } }
\tl_gput_right:Nx \g_@@_pre_code_after_tl
{
@@ -12365,9 +12325,7 @@ version 2005/12/01 or later.
% |\multicolumn{|$n$|}{...}{...}| with $n$>1 was issued and in
% |\g_@@_multicolumn_sizes_seq| the correspondant values of $n$.
% \begin{macrocode}
- \cs_if_exist_use:NF
\seq_map_pairwise_function:NNN
- \seq_mapthread_function:NNN
\g_@@_multicolumn_cells_seq
\g_@@_multicolumn_sizes_seq
\@@_node_for_multicolumn:nn
@@ -13839,7 +13797,7 @@ version 2005/12/01 or later.
borders .clist_set:N = \l_@@_borders_clist ,
rounded-corners .dim_set:N = \l_@@_rounded_corners_dim ,
rounded-corners .default:n = 4 pt ,
- line-width .dim_set:N = \l_@@_line_width_dim ,
+ line-width .dim_set:N = \l_@@_line_width_dim
}
% \end{macrocode}
%
@@ -13847,21 +13805,44 @@ version 2005/12/01 or later.
% The following command will be used if the key |tikz| has been used for the
% command |\Block|. The arguments |#1| and |#2| are the coordinates of the first
% cell and |#3| and |#4| the coordinates of the last cell of the block. |#5| is
-% a comma-separated list of the Tikz keys used with the path.
+% a comma-separated list of the Tikz keys used with the path. However, among
+% those keys, you have added in \pkg{nicematrix} a special key |offset| (an
+% offset for the rectangle of the block). That's why we have to extract that key
+% first.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_block_tikz:nnnnn #1 #2 #3 #4 #5
+\cs_new_protected:Npn \@@_block_tikz:nnnnn #1 #2 #3 #4 #5
{
\begin { tikzpicture }
\@@_clip_with_rounded_corners:
\clist_map_inline:nn { #5 }
{
- \path [ ##1 ]
- ( #1 -| #2 )
+ \keys_set_known:nnN { NiceMatrix / SpecialOffset } { ##1 } \l_tmpa_tl
+ \use:x { \exp_not:N \path [ \l_tmpa_tl ] }
+ (
+ [
+ xshift = \dim_use:N \l_@@_offset_dim ,
+ yshift = - \dim_use:N \l_@@_offset_dim
+ ]
+ #1 -| #2
+ )
rectangle
- ( \int_eval:n { #3 + 1 } -| \int_eval:n { #4 + 1 } ) ;
+ (
+ [
+ xshift = - \dim_use:N \l_@@_offset_dim ,
+ yshift = \dim_use:N \l_@@_offset_dim
+ ]
+ \int_eval:n { #3 + 1 } -| \int_eval:n { #4 + 1 }
+ ) ;
}
\end { tikzpicture }
}
+\cs_generate_variant:Nn \@@_block_tikz:nnnnn { n n n n V }
+% \end{macrocode}
+%
+% \medskip
+% \begin{macrocode}
+\keys_define:nn { NiceMatrix / SpecialOffset }
+ { offset .dim_set:N = \l_@@_offset_dim }
% \end{macrocode}
%
%
@@ -13898,7 +13879,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / Auto }
{
- columns-type .code:n = \@@_set_preamble:Nn \l_@@_columns_type_tl { #1 } ,
+ columns-type .tl_set:N = \l_@@_columns_type_tl ,
columns-type .value_required:n = true ,
l .meta:n = { columns-type = l } ,
r .meta:n = { columns-type = r } ,
@@ -13934,7 +13915,7 @@ version 2005/12/01 or later.
% preamble which is yet transformed (by using |\l_@@_columns_type_tl| which is
% yet nicematrix-ready).
% \begin{macrocode}
- \bool_set_false:N \l_@@_preamble_bool
+ % \bool_set_false:N \l_@@_preamble_bool
\use:x
{
\exp_not:N \begin { NiceArrayWithDelims } { #1 } { #2 }
@@ -14133,27 +14114,6 @@ version 2005/12/01 or later.
% \section{The keyword \textbackslash CodeAfter}
%
%
-% The |\CodeAfter| (inserted with the key |code-after| or after the keyword
-% |\CodeAfter|) may always begin with a list of pairs \textsl{key=value} between
-% square brackets. Here is the corresponding set of keys.
-% \begin{macrocode}
-\keys_define:nn { NiceMatrix }
- {
- CodeAfter / rules .inherit:n = NiceMatrix / rules ,
- CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix
- }
-\keys_define:nn { NiceMatrix / CodeAfter }
- {
- sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
- sub-matrix .value_required:n = true ,
- delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
- delimiters / color .value_required:n = true ,
- rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
- rules .value_required:n = true ,
- xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
- unknown .code:n = \@@_error:n { Unknown~key~for~CodeAfter }
- }
-% \end{macrocode}
%
% \medskip
% In fact, in this subsection, we define the user command |\CodeAfter| for the
@@ -14334,13 +14294,11 @@ version 2005/12/01 or later.
vlines .clist_set:N = \l_@@_submatrix_vlines_clist ,
vlines .default:n = all ,
hvlines .meta:n = { hlines, vlines } ,
- hvlines .value_forbidden:n = true ,
+ hvlines .value_forbidden:n = true
}
\keys_define:nn { NiceMatrix }
{
SubMatrix .inherit:n = NiceMatrix / sub-matrix ,
- CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- NiceMatrix / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
NiceArray / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
pNiceArray / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
NiceMatrixOptions / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
@@ -14385,6 +14343,8 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+%
+%
% \bigskip
% \begin{macrocode}
\NewDocumentCommand \@@_SubMatrix_in_code_before { m m m m ! O { } }
@@ -15133,6 +15093,109 @@ version 2005/12/01 or later.
{ }
}
% \end{macrocode}
+%
+% \bigskip
+% \section{The command TikzEveryCell}
+%
+% \begin{macrocode}
+
+
+\bool_new:N \l_@@_not_empty_bool
+\bool_new:N \l_@@_empty_bool
+
+\keys_define:nn { NiceMatrix / TikzEveryCell }
+ {
+ not-empty .code:n =
+ \bool_lazy_or:nnTF
+ \l_@@_in_code_after_bool
+ \g_@@_recreate_cell_nodes_bool
+ { \bool_set_true:N \l_@@_not_empty_bool }
+ { \@@_error:n { detection~of~empty~cells } } ,
+ not-empty .value_forbidden:n = true ,
+ empty .code:n =
+ \bool_lazy_or:nnTF
+ \l_@@_in_code_after_bool
+ \g_@@_recreate_cell_nodes_bool
+ { \bool_set_true:N \l_@@_empty_bool }
+ { \@@_error:n { detection~of~empty~cells } } ,
+ empty .value_forbidden:n = true ,
+ unknown .code:n = \@@_error:n { Unknown~key~for~TikzEveryCell }
+ }
+
+
+\NewDocumentCommand { \@@_TikzEveryCell } { O { } m }
+ {
+ \IfPackageLoadedTF { tikz }
+ {
+ \group_begin:
+ \keys_set:nn { NiceMatrix / TikzEveryCell } { #1 }
+ \tl_set:Nn \l_tmpa_tl { #2 }
+ \seq_map_inline:Nn \g_@@_pos_of_blocks_seq
+ { \@@_for_a_block:nnnnn ##1 }
+ \@@_all_the_cells:
+ \group_end:
+ }
+ { \@@_error:n { TikzEveryCell~without~tikz } }
+ }
+
+\tl_new:N \@@_i_tl
+\tl_new:N \@@_j_tl
+
+\cs_new_protected:Nn \@@_all_the_cells:
+ {
+ \int_step_variable:nNn { \int_use:c { c@iRow } } \@@_i_tl
+ {
+ \int_step_variable:nNn { \int_use:c { c@jCol } } \@@_j_tl
+ {
+ \cs_if_exist:cF { cell - \@@_i_tl - \@@_j_tl }
+ {
+ \exp_args:NNx \seq_if_in:NnF \l_@@_corners_cells_seq
+ { \@@_i_tl - \@@_j_tl }
+ {
+ \bool_set_false:N \l_tmpa_bool
+ \cs_if_exist:cTF
+ { pgf @ sh @ ns @ \@@_env: - \@@_i_tl - \@@_j_tl }
+ {
+ \bool_if:NF \l_@@_empty_bool
+ { \bool_set_true:N \l_tmpa_bool }
+ }
+ {
+ \bool_if:NF \l_@@_not_empty_bool
+ { \bool_set_true:N \l_tmpa_bool }
+ }
+ \bool_if:NT \l_tmpa_bool
+ {
+ \@@_block_tikz:nnnnV
+ \@@_i_tl \@@_j_tl \@@_i_tl \@@_j_tl \l_tmpa_tl
+ }
+ }
+ }
+ }
+ }
+ }
+
+\cs_new_protected:Nn \@@_for_a_block:nnnnn
+ {
+ \bool_if:NF \l_@@_empty_bool
+ {
+ \@@_block_tikz:nnnnV
+ { #1 } { #2 } { #3 } { #4 } \l_tmpa_tl
+ }
+ \@@_mark_cells_of_block:nnnn { #1 } { #2 } { #3 } { #4 }
+ }
+
+\cs_new_protected:Nn \@@_mark_cells_of_block:nnnn
+ {
+ \int_step_inline:nnn { #1 } { #3 }
+ {
+ \int_step_inline:nnn { #2 } { #4 }
+ { \cs_set:cpn { cell - ##1 - ####1 } { } }
+ }
+ }
+
+
+% \end{macrocode}
+%
%
% \bigskip
% \section{The command \textbackslash ShowCellNames}
@@ -15494,27 +15557,7 @@ version 2005/12/01 or later.
}
}
}
- {
- \IfPackageLoadedTF { tabularx }
- {
- \str_if_eq:VnTF \g_@@_name_env_str { NiceTabularX }
- {
- \int_compare:nNnTF \c@iRow = \c_zero_int
- { \@@_fatal:n { X~columns~with~tabularx } }
- {
- \@@_fatal:nn { too~much~cols~for~array }
- {
- However,~this~message~may~be~erroneous:~
- maybe~you~have~used~X~columns~while~'tabularx'~is~loaded,~
- ~which~is~forbidden~(however,~it's~still~possible~to~use~
- X~columns~in~{NiceTabularX}).
- }
- }
- }
- { \@@_fatal:nn { too~much~cols~for~array } { } }
- }
- { \@@_fatal:nn { too~much~cols~for~array } { } }
- }
+ { \@@_fatal:nn { too~much~cols~for~array } }
}
% \end{macrocode}
%
@@ -15593,22 +15636,11 @@ version 2005/12/01 or later.
~you~try~to~use~more~columns~than~allowed~by~your~
\@@_full_name_env:.\@@_message_hdotsfor:\ The~maximal~number~of~columns~is~
\int_use:N \g_@@_static_num_of_col_int\
- ~(plus~the~potential~exterior~ones).~#1
+ ~(plus~the~potential~exterior~ones).
This~error~is~fatal.
}
% \end{macrocode}
%
-% \medskip
-% \begin{macrocode}
-\@@_msg_new:nn { X~columns~with~tabularx }
- {
- There~is~a~problem.\\
- You~have~probably~used~X~columns~in~your~environment~{\g_@@_name_env_str}.~
- That's~not~allowed~because~'tabularx'~is~loaded~(however,~you~can~use~X~columns~
- in~an~environment~{NiceTabularX}).\\
- This~error~is~fatal.
- }
-% \end{macrocode}
%
% \begin{macrocode}
\@@_msg_new:nn { columns~not~used }
@@ -15735,6 +15767,16 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
+\@@_msg_new:nn { Unknown~key~for~TikzEveryCell }
+ {
+ Unknown~key.\\
+ There~is~only~two~keys~available~here:~
+ 'empty'~and~'not-empty'.\\
+ Your~key~'\l_keys_key_str'~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\@@_msg_new:nn { Unknown~key~for~rotate }
{
Unknown~key.\\
@@ -15876,6 +15918,17 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
+\@@_msg_new:nn { detection~of~empty~cells }
+ {
+ Problem~with~'not-empty'\\
+ For~technical~reasons,~you~must~activate~
+ 'recreate-cell-nodes'~in~\token_to_str:N \CodeBefore\
+ in~order~to~use~the~key~'\l_keys_key_str'.\\
+ That~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\@@_msg_new:nn { ragged2e~not~loaded }
{
You~have~to~load~'ragged2e'~in~order~to~use~the~key~'\l_keys_key_str'~in~
@@ -16066,9 +16119,19 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
+\@@_msg_new:nn { TikzEveryCell~without~tikz }
+ {
+ TikZ~not~loaded.\\
+ You~can't~use~\token_to_str:N \TikzEveryCell\
+ because~you~have~not~loaded~tikz.~
+ This~command~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\@@_msg_new:nn { tikz~key~without~tikz }
{
- Tikz~not~loaded.\\
+ TikZ~not~loaded.\\
You~can't~use~the~key~'tikz'~for~the~command~'\token_to_str:N
\Block'~because~you~have~not~loaded~tikz.~
This~key~will~be~ignored.
@@ -16190,6 +16253,15 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
+\@@_msg_new:nn { tikz~without~tikz }
+ {
+ Tikz~not~loaded.\\
+ You~can't~use~the~key~'tikz'~here~because~Tikz~is~not~
+ loaded.~If~you~go~on,~that~key~will~be~ignored.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\@@_msg_new:nn { tikz~in~custom-line~without~tikz }
{
Tikz~not~loaded.\\
@@ -16714,6 +16786,15 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+% \begin{macrocode}
+\@@_msg_new:nn { NiceTabularX~without~X }
+ {
+ NiceTabularX~without~X.\\
+ You~should~not~use~{NiceTabularX}~without~X~columns.\\
+ However,~you~can~go~on.
+ }
+% \end{macrocode}
+%
% \newpage
% \tableofcontents
%
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.pdf b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
index 558543af0d..a946462d28 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-code.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index 786f5acc72..b8847116e0 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index 688885eee9..a677a35681 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -1,6 +1,6 @@
% -*- coding: utf-8 ; -*-
% Ce fichier doit être compilé avec xelatex uniquement.
-\documentclass[dvipsnames]{article}% dvipsnames is for xcolor (loaded by Tikz, loaded by nicematrix)
+\documentclass[dvipsnames]{article}% dvipsnames is for xcolor (loaded by TikZ, loaded by nicematrix)
\usepackage{xltxtra}
\usepackage[french]{babel}
\frenchsetup{og = « , fg = »}
@@ -533,13 +533,16 @@ $\begin{bNiceArray}{cw{c}{1cm}c|c}[margin]
\interitem
La commande |\Block| accepte en premier argument optionnel (entre crochets) une
-liste de couples \textsl{clé=valeur}. Les clés sont les suivantes :
+liste de couples \textsl{clé=valeur}.
+
+\smallskip
+Les premières clés sont des outils rapides pour contrôler l'apparence du bloc :
+
\begin{itemize}
\item \index{fill (clé de \texttt{\textbackslash Block})}
la clé \Definition{fill} prend en argument une couleur et remplit le bloc
avec cette couleur ;
\item \index{opacity! (clé de la commande \texttt{\textbackslash Block})}
-\colorbox{yellow!50}{\bfseries Nouveau 6.22}\enskip
la clé \Definition{opacity} fixe l'opacité de la couleur de remplissage donnée
par |fill| ;
\item \index{draw (clé de \texttt{\textbackslash Block})}
@@ -566,15 +569,46 @@ la clé \Definition{rounded-corners} impose des coins arrondis (pour le
cadre dessiné par |draw| et le fond dessiné par |fill|)
avec un rayon égal à la valeur de cette clé (la valeur par défaut est
4~pt\footnote{Cette valeur par défaut est la valeur initiale des \emph{rounded
- corners} de TikZ.}) ;
+ corners} de TikZ.}).
+\end{itemize}
+
+\medskip
+Ces outils ne sont parfois pas suffisants pour contrôler l'apparence du bloc.
+Les clés suivantes sont plus puissantes, mais plus difficiles d'utilisation.
+Elles nécessitent également que TikZ soit chargé (par |\usepackage{tikz}|). Par
+défaut, \pkg{nicematrix} ne charge pas TikZ mais uniquement \textsc{pgf}, qui
+est une sous-couche de TikZ.
+\begin{itemize}
+\item \index{borders (clé de \texttt{\textbackslash Block})} \index{tikzz@tikz!clé de «borders» de \texttt{\textbackslash Block}}
+La clé \Definition{borders} permet de ne tracer que certaines des bordures
+du bloc : cette clé prend comme valeur une liste d'éléments parmi les suivants :
+|left|, |right|, |top| et |bottom| ; on peut en fait, dans la liste qui est la
+valeur de la clé |borders| mettre une entrée de la forme
+|tikz={|\textsl{liste}|}| où \textsl{liste} est une liste de couples
+\textsl{clé=valeur} de TikZ spécifiant les caractéristiques graphiques des
+traits qui seront dessinés (pour un exemple, voir p.~\pageref{tiretes}).
+
\item \index{tikzz@tikz!clé de \texttt{\textbackslash Block}}
-quand la clé \Definition{tikz} est utilisée, le chemin TikZ correspondant
+Quand la clé \Definition{tikz} est utilisée, le chemin TikZ correspondant
au rectangle délimitant le bloc est exécuté avec TikZ\footnote{TikZ doit être
chargé préalablement (par défaut, \pkg{nicematrix} ne charge que
\textsc{pgf}), faute de quoi, une erreur sera levée.} en utilisant comme
options la valeur de cette clé |tikz| (qui doit donc être une liste de clés TikZ
applicables à un chemin de TikZ). Pour des exemples d'utilisation de cette clé
-|tikz|, voir p.~\pageref{tikz-key-examples} ;
+|tikz|, voir p.~\pageref{tikz-key-examples}.
+
+\colorbox{yellow!50}{\textbf{Nouveau 6.24}}\enskip En fait, dans la liste des
+clés fournies à |tikz|, on peut mettre une clé |offset|. Cette clé n'est pas
+fournie par TikZ mais par \pkg{nicematrix}. Elle réduit le rectangle
+correspondant au bloc par une marge (horizontalement et verticalement) égale à
+la valeur (passée à |offset|). C'est ce rectangle réduit qui sera le chemin
+exécuté par TikZ avec comme options les autres clés passées à la clé |tikz|.
+\end{itemize}
+
+
+\medskip
+Enfin, il existe quelque clés techniques :
+\begin{itemize}
\item \index{name!clé de \texttt{\textbackslash Block}}
la clé \Definition{name} donne un nom au nœud TikZ rectangulaire
correspondant au bloc ; on peut utiliser ce nom avec TikZ dans le |\CodeAfter|
@@ -582,22 +616,18 @@ correspondant au bloc ; on peut utiliser ce nom avec TikZ dans le |\CodeAfter|
\item \index{respect-arraystretch (clé de \texttt{\textbackslash Block})}
la clé \Definition{respect-arraystretch} évite la remise à $1$ de
|\arraystretch| en début de bloc (qui a lieu par défaut) ;
-\item \index{borders (clé de \texttt{\textbackslash Block})} \index{tikzz@tikz!clé de «borders» de \texttt{\textbackslash Block}}
-la clé \Definition{borders} permet de ne tracer que certaines des bordures
-du bloc : cette clé prend comme valeur une liste d'éléments parmi les suivants :
-|left|, |right|, |top| et |bottom| ; on peut en fait, dans la liste qui est la
-valeur de la clé |borders| mettre une entrée de la forme
-|tikz={|\textsl{liste}|}| où \textsl{liste} est une liste de couples
-\textsl{clé=valeur} de TikZ spécifiant les caractéristiques graphiques des
-traits qui seront dessinés (pour un exemple, voir p.~\pageref{tiretes}).
\item \index{transparent (clé de \texttt{\textbackslash Block})}
Par défaut, les filets ne sont pas tracés dans les blocs (voir à ce sujet
la partie sur les filets, section~\ref{rules} p.~\pageref{rules}). Néanmoins, si
-la clé \Definition{transparent} est utilisée, les filets seront tracés. Pour un
-example, voir la section~\ref{tikz-key-examples},
-page~\pageref{tikz-key-examples}. Attention : cette clé n'implique pas du tout
-que le contenu du bloc sera transparent.
+la clé \Definition{transparent} est utilisée, les filets seront tracés.\footnote{Par
+ailleurs, la commande |\TikzEveryCell| disponible dans le |\CodeAfter|, ne
+s'applique aux blocs avec la clé |transparent|).}
+Pour un exemple, voir la section~\ref{tikz-key-examples},
+page~\pageref{tikz-key-examples}.
+
+Attention : cette clé n'implique pas du tout que le contenu du bloc sera
+transparent.
\end{itemize}
Il existe aussi des clés de positionnement horizontal et vertical du bloc qui
@@ -885,9 +915,9 @@ impliquées dans le bloc.
\item Avec la clé \Definition{T}, le contenu du bloc est calé vers le haut.
-\colorbox{yellow!50}{Modification 6.18}\enskip Il n'y a plus de marge verticale.
-Néanmoins, le contenu du bloc est (toujours) composé en interne dans une |{minipage}|, un
-|{tabular}| ou un |{array}|, ce qui fait qu'il y souvent déjà une marge.
+Il n'y a pas de marge verticale. Néanmoins, le contenu du bloc est (toujours)
+composé en interne dans une |{minipage}|, un |{tabular}| ou un |{array}|, ce qui
+fait qu'il y souvent déjà une marge.
\item Avec la clé \Definition{B}, le contenu du bloc est calé vers le bas.
\end{itemize}
@@ -1146,20 +1176,21 @@ Dans les environnements de \pkg{nicematrix}, une instruction
Les environnements de \pkg{nicematrix} proposent une clé |rules/width| pour
fixer la largeur (on devrait plutôt dire l'épaisseur) des filets dans
l'environnement. En fait, cette clé ne fait que fixer la valeur du paramètre
-dimensionnel |\arrayrulewidth|.
+dimensionnel de LaTeX |\arrayrulewidth|.
\smallskip
On sait que \pkg{colortbl} propose la commande |\arrayrulecolor| pour spécifier
la couleur de ces filets.
\smallskip
-\indexcommand{arrayrulecolor}
+\indexcommand{arrayrulecolor}
Avec \pkg{nicematrix}, il est possible de spécifier une couleur même si
\pkg{colortbl} n'est pas chargé. Par souci de compatibilité, la commande est
-nommée également |\arrayrulecolor|. Les environnements de \pkg{nicematrix}
-proposent également une clé |rules/color| qui permet de fixer cette couleur pour
-l'environnement en question. Cette clé fixe localement la couleur des filets
-(alors que la commande |\arrayrulecolor| agit globalement !).
+nommée également |\arrayrulecolor|. Néanmoins, \pkg{nicematrix} propose aussi
+une clé |rules/color|, disponible dans |\NiceMatrixOptions| ou dans un
+environnement individuel, pour fixer la couleur des filets. Cette clé fixe
+localement la couleur des filets (alors que la commande |\arrayrulecolor| agit
+globalement !). Elle est à privilégier.
\medskip
\begin{scope}
@@ -1182,6 +1213,11 @@ muguet & dahlia & souci \\
\end{NiceTabular}
\end{scope}
+\medskip
+En fait, dans cet exemple, au lieu de |\hline|, il aurait mieux valu utiliser la
+commande |\Hline|, fournie par \pkg{nicematrix} et décrite ci-dessous, car elle
+garantit un meilleur résultat dans les lecteurs de PDF aux bas niveaux de zoom.
+
\medskip
@@ -1218,21 +1254,19 @@ p.~\pageref{corners}.
\item Pour les rangées et colonnes extérieures, cf. p.~\pageref{exterior}.
\end{itemize}
-En particulier, cette remarque explique la différence entre la commande standard
-|\hline| et la commande |\Hline| proposée par \pkg{nicematrix}.
+En particulier, cette remarque montre déjà une différence entre la commande
+standard |\hline| et la commande |\Hline| proposée par \pkg{nicematrix}.
-La commande |\Hline| admet entre crochets un argument optionnel qui est une
-liste de couples \textsl{clé=valeur} qui décrivent un filet. Pour la description
-de ces clés, voir |custom-line| p.~\pageref{custom-line}.\footnote{Remarque
- technique. Si l'utilisateur définit une commande par-dessus la commande
- |\Hline|, il doit veiller à ce qu'elle soit \emph{développable} au sens de
- TeX (en utilisant |\NewExpandableDocumentCommand| de LaTeX3, |\newcommand| de
- LaTeX ou même |\def| de TeX). Exemple :
- |\newcommand{\RedLine}{\Hline{color=red}}|}
+Par ailleurs, la commande |\Hline| admet entre crochets un argument optionnel
+qui est une liste de couples \textsl{clé=valeur} qui décrivent un filet. Pour la
+description de ces clés, voir |custom-line|
+p.~\pageref{custom-line}.\footnote{Remarque technique. Si l'utilisateur définit
+ une commande par-dessus la commande |\Hline|, il doit veiller à ce qu'elle
+ soit \emph{développable} au sens de TeX (en utilisant
+ |\NewExpandableDocumentCommand| de LaTeX3, |\newcommand| de LaTeX ou même
+ |\def| de TeX). Exemple : |\newcommand{\RedLine}{\Hline[color=red]}|}
\bigskip
-\colorbox{yellow!50}{\textbf{Nouveau 6.23}}\enskip
-
De même que la commande |\Hline|, le specificateur «\verb+|+» admet entre crochets
des options qui caractérisent le filet à tracer.
@@ -1516,9 +1550,11 @@ utilisée par l'utilisateur dans le préambule d'un environnement à préambule
\bigskip
On traite maintenant de la description du filet elle-même. Les options qui
-suivent peuvent aussi s'utiliser dans l'argument optionnel d'une |\Hline|
-individuelle.
+suivent peuvent aussi s'utiliser dans l'argument optionnel d'une commande
+|\Hline| individuelle ou dans l'argument optionnel d'un spécificateur «\verb+|+»
+dans un préambule d'environnement.
+\bigskip
Il y a trois possibilités.
@@ -1731,7 +1767,7 @@ $\begin{pNiceArray}{cccc:c}
Rappelons que l'extension \pkg{colortbl} peut être chargée directement par
|\usepackage{colortbl}| ou en chargeant l'extension \pkg{xcolor} avec l'option
-|table| : |\usepackage[table]{xcolor}|.
+\texttt{table} : |\usepackage[table]{xcolor}|.
\medskip
Comme l'extension \pkg{nicematrix} est fondée sur \pkg{array}, il est possible
@@ -1828,6 +1864,8 @@ De nouvelles commandes sont disponibles dans ce |\CodeBefore|: |\cellcolor|,
\index{arraycolor@\texttt{\textbackslash arraycolor} (commande du \texttt{\textbackslash
CodeBefore)}}
+Les noms de ces commandes sont inspirés des noms des commandes de \pkg{colortbl}.
+
\medskip
Ces commandes ne colorient pas les cases qui se trouvent dans les «coins» si la
@@ -2327,13 +2365,13 @@ que la commande éponyme de \pkg{colortbl} (néanmoins, contrairement à la
commande |\columncolor| de \pkg{colortbl}, celle de \pkg{nicematrix} peut
apparaître à l'intérieur d'une autre commande, elle-même utilisée dans le
préambule) ;
-\item \colorbox{yellow!50}{\textbf{Nouveau 6.21}}\enskip |\rowcolors| qui prend pour arguments deux couleurs et colorie la suite du
+\item |\rowcolors| qui prend pour arguments deux couleurs et colorie la suite du
tableau avec ces deux couleurs ;
-\item \colorbox{yellow!50}{\textbf{Nouveau 6.21}}\enskip |\rowlistcolors| qui prend pour argument une liste de couleurs et colorie
+\item |\rowlistcolors| qui prend pour argument une liste de couleurs et colorie
la suite du tableau avec ces couleurs.\footnote{Quand la commande
|\rowlistcolors| (ou la commande |\rowcolors|) est utilisée dans une case de
- la colonne~$j$, le coloriage ne s'applique que les colonnes au-delà de~$j$
- (à dessein).}
+ la colonne~$j$, le coloriage ne s'applique que les colonnes au-delà de~$j$ (à
+ dessein).}
\end{itemize}
\medskip
@@ -2399,7 +2437,7 @@ La clé \Definition{rowcolor} fixe la couleur de fond et la clé \Definition{col
fixe la couleur du texte.\footnote{La clé |color| utilise la commande |\color| mais
insère aussi une instruction |\leavevmode| devant. Cela évite un espace
vertical parasite dans les cases qui correspondent à des colonnes de type
- |p|, |b|, |m|, |X| et |V| (qui débutent en mode vertical de LateX).}
+ |p|, |b|, |m|, |X| et |V| (qui débutent en mode vertical de LaTeX).}
\item \index{bold (clé de \texttt{\textbackslash RowStyle})}
La clé \Definition{bold} impose des caractères gras aux éléments de la rangée, qu'ils
@@ -2590,10 +2628,7 @@ initiale de ce paramètre est |\linewidth| (et non |\textwidth|).
Pour se rapprocher davantage de l'environnement |{tabularx}|, \pkg{nicematrix}
propose aussi un environnement |{NiceTabularX}| avec une syntaxe similaire à
celle de |{tabularx}|, c'est-à-dire que la largeur voulue pour le tableau est
-spécifiée en premier argument (obligatoire).\footnote{Si \pkg{tabularx} est
- chargé, on doit obligatoirement utiliser |{NiceTabularX}| pour utiliser les
- colonnes |X| (cela est dû à un problème de conflit de définition des
- spécificateurs de colonne |X|).}
+spécifiée en premier argument (obligatoire).
Comme avec les extensions \pkg{tabu}\footnote{L'extension \pkg{tabu} est
@@ -3270,10 +3305,10 @@ au-dessous et au-dessus de la ligne. Les arguments sont composés en mode
mathématique avec |\scriptstyle|.
\smallskip
-\colorbox{yellow!50}{\textbf{Nouveau 6.22}}\enskip La version 6.22 introduit un
-nouveau label spécifié par le caractère~«|:|» pour un label situé \emph{sur} la ligne
-elle-même. Ce label est en fait composé sur un fond blanc qui est superposé sur
-la ligne en pointillés (voir un exemple p.~\pageref{ex:colon}).
+La version 6.22 de \pkg{nicematrix} a introduit un nouveau label spécifié par le
+caractère~«|:|» pour un label situé \emph{sur} la ligne elle-même. Ce label est
+en fait composé sur un fond blanc qui est superposé sur la ligne en pointillés
+(voir un exemple p.~\pageref{ex:colon}).
\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -3355,7 +3390,7 @@ Pour la clarté, dans la suite, on utilisera ces noms-là.
\bigskip
La clé \Definition{xdots/horizontal-labels} demande que les labels (introduits
-par |_| et |^|) restent horizontaux.
+par |_|, |^| et |:|) restent horizontaux.
\medskip
L'option \Definition{xdots/color} indique bien entendu la couleur de la ligne
@@ -3477,10 +3512,9 @@ $\begin{bNiceMatrix}[margin,hvlines]
\index{blkarray@\pkg{blkarray} (extension)}
-\colorbox{yellow!50}{\textbf{Modifié 6.16}}\enskip Pour les environnements à
-préambule (|{NiceArray}|, |{pNiceArray}|, etc.), il est possible de placer des
-délimiteurs verticaux directement dans le préambule.\footnote{Cette syntaxe est
- inspirée de l'extension \pkg{blkarray}.}
+Pour les environnements à préambule (|{NiceArray}|, |{pNiceArray}|, etc.), il
+est possible de placer des délimiteurs verticaux directement dans le
+préambule.\footnote{Cette syntaxe est inspirée de l'extension \pkg{blkarray}.}
\label{delimiters-in-preamble}%
\smallskip
@@ -3581,9 +3615,9 @@ PGF-TikZ créés par \pkg{nicematrix} dans le |\CodeAfter|. Ces nœuds sont déc
à partir de la page \pageref{PGF-nodes}.
\medskip
-Par ailleurs, plusieurs commandes spéciales sont disponibles dans le |\CodeAfter| :
-|\line|, |\SubMatrix|, |\OverBrace| et |\UnderBrace|. On va maintenant détailler
-ces commandes.
+Par ailleurs, plusieurs commandes spéciales sont disponibles dans le
+|\CodeAfter| : |\line|, |\SubMatrix|, |\OverBrace|, |\UnderBrace| et
+|\TikzEveryCell|. On va maintenant détailler ces commandes.
\subsection{La commande \textbackslash line dans le \textbackslash CodeAfter}
@@ -4007,7 +4041,7 @@ $\begin{pNiceMatrix}
\bigskip
Attention : Aucun espace vertical n'est réservé par \pkg{nicematrix} pour ces
-accolades.\footnote{Voir à ce sujet: \url{https://tex.stackexchange.com/questions/685755}}
+accolades, ni pour leurs labels.\footnote{Voir à ce sujet: \url{https://tex.stackexchange.com/questions/685755}}
\bigskip
\index{color!clé de \texttt{\textbackslash OverBrace} et \texttt{\textbackslash
@@ -4053,6 +4087,77 @@ $\begin{pNiceMatrix}
\OverBrace[shorten,yshift=3pt]{1-4}{2-6}{B}
\end{pNiceMatrix}$
+
+\subsection{La commande \textbackslash TikzEveryCell dans le \textbackslash CodeAfter}
+
+\index{SubMatrix@\texttt{\textbackslash TikzEveryCell} (commande du
+\texttt{\textbackslash CodeAfter}\newline et du
+\texttt{\textbackslash CodeBefore})|textbf}
+
+
+\colorbox{yellow!50}{\textbf{Nouveau 6.24}}\enskip La commande |\TikzEveryCell|
+exécute avec TikZ le chemin rectangulaire qui correspond à chaque case du tableau,
+avec comme paramètres TikZ l'argument de |\TikzEveryCell|. Cet argument doit
+être une liste de couples \textsl{clé=valeur} applicables à un chemin
+TikZ. En fait, cette commande s'applique à chaque cellule du tableau, exceptées
+celles situées dans les rangées et colonnes extérieures (cf.~p.~\pageref{exterior})o et celles situées dans
+les coins vides (quand la clé |corners| est utilisée: cf.~p.~\pageref{corners}). Elle s'applique en fait à
+chaque bloc (sauf ceux qui ont la clé |transparent|) et ne s'applique pas aux
+cellules situées dans ces blocs.
+
+\medskip
+En fait, dans la liste des clés passée en argument on peut mettre une clé
+|offset|. Cette clé n'est pas fournie par TikZ mais par \pkg{nicematrix}. Elle
+réduit le rectangle correspondant au bloc par une marge (horizontalement et
+verticalement) égale à la valeur (passée à |offset|). C'est ce rectangle réduit
+qui sera le chemin exécuté par TikZ avec comme options les autres clés de
+l'argument de |\TikzEveryCell|.
+
+
+\medskip
+\begingroup
+\bigskip
+\begin{BVerbatim}[baseline=c,boxwidth=9cm]
+
+\renewcommand{\arraystretch}{1.3}
+\begin{NiceTabular}{ccc}[corners]
+ & \Block{1-2}{columns} \\
+ \Block{2-1}{rows}
+ & cell 1 1 & cell 1 2 \\
+ & cell 2 1 & cell 2 2
+\CodeAfter
+ ~emphase#\TikzEveryCell{offset=1pt,draw}@
+\end{NiceTabular}
+\end{BVerbatim}
+\renewcommand{\arraystretch}{1.3}
+\begin{NiceTabular}{ccc}[corners]
+ & \Block{1-2}{columns} \\
+ \Block{2-1}{rows}
+ & cell 1 1 & cell 1 2 \\
+ & cell 2 1 & cell 2 2
+\CodeAfter
+ \TikzEveryCell{offset=1pt,draw}
+\end{NiceTabular}
+\endgroup
+
+
+\medskip
+La commande |\TikzEveryCell| possède deux clés :
+\begin{itemize}
+\item avec la clé \Definition{empty}, la commande ne s'applique qu'aux cellules
+vides ;
+\item avec la clé \Definition{non-empty}, la commande ne s'applique qu'aux
+cellules non vides.
+\end{itemize}
+
+
+\medskip
+La commande |\TikzEveryCell| est en fait aussi disponible dans le |\CodeBefore|.
+
+
+
+
+
\index{CodeAfter@\texttt{\textbackslash CodeAfter}|)}
\section{Les légendes et les notes dans les tableaux}
@@ -4204,7 +4309,7 @@ les notes de pied de page).
\item Si une commande |\tabularnote{...}| se trouve exactement à la fin d'une case
(sans aucun espace après), l'appel de note est composé en débordement vers la
droite (cela peut permettre de mieux conserver l'alignement des contenus d'une
-colonne). Depuis la version 6.20a, ce comportement n'a lieu que le mode
+colonne). Depuis la version 6.20a, ce comportement n'a lieu que si le mode
l'alignement de la case est |c| ou |r| (alignement horizontal centré ou en
butée à droite).
@@ -4524,9 +4629,9 @@ avec des coins arrondis.\footnote{Bien sûr, lorsqu'il s'agit d'un environnement
\end{itemize}
\bigskip
-\colorbox{yellow!50}{\textbf{Nouveau 6.21}} Cette clé est disponible dans tous
-les environnements et commandes de \pkg{nicematrix} (comme
-|\pAutoNiceMatrix|) et également dans |\NiceMatrixOptions|.
+Cette clé est disponible dans tous les environnements et commandes de
+\pkg{nicematrix} (comme par exemple |\pAutoNiceMatrix|) et également dans
+|\NiceMatrixOptions|.
\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=9.5cm]
@@ -4715,11 +4820,10 @@ $A = \begin{pNiceMatrix}[last-row,last-col=4]
\end{varwidth}
\bigskip
-\colorbox{yellow!50}{\textbf{Nouveau 6.21}}\enskip La commande |\rotate| accepte
-une option |c| entre crochets : |\rotate[c]| (les espaces sont supprimés après
-|\rotate[c]|). Quand cette clé est utilisée, le contenu, après rotation, est
-composé dans une |\vcenter|, ce qui fait que, le plus souvent, on obtiendra un
-centrage vertical.
+La commande |\rotate| accepte une option |c| entre crochets : |\rotate[c]| (les
+espaces sont supprimés après |\rotate[c]|). Quand cette clé est utilisée, le
+contenu, après rotation, est composé dans une |\vcenter|, ce qui fait que, le
+plus souvent, on obtiendra un centrage vertical.
\medskip
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index 1c8fbe1e24..7865c622af 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix.tex b/macros/latex/contrib/nicematrix/nicematrix.tex
index b2da527927..cec4b584ca 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix.tex
@@ -511,16 +511,17 @@ $\begin{bNiceArray}{cw{c}{1cm}c|c}[margin]
\interitem
In fact, the command |\Block| accepts as first optional argument (between
-square brackets) a list of couples \textsl{key=value}. The available keys are as
-follows:
+square brackets) a list of couples \textsl{key=value}.
+
+First, there are keys which are quick tools to control the apperance of the block.
+
\begin{itemize}
\item \index{fill (key of \texttt{\textbackslash Block})}
the key \Definition{fill} takes in as value a color and fills the block
with that color;
\item \index{opacity (key of \texttt{\textbackslash Block})}
-\colorbox{yellow!50}{\bfseries New 6.22}\enskip the key
-\Definition{opacity} sets the opacity of
-the filling color specified by |fill|;
+the key \Definition{opacity} sets the opacity of the filling color specified by
+|fill|;
\item \index{draw (key of \texttt{\textbackslash Block})}
the key \Definition{draw} takes in as value a color and strokes the
frame of the block with that color (the default value of that key is the
@@ -546,14 +547,50 @@ only when one of the keys |draw|, |hvlines|, |vlines| and |hlines| is used);
the key \Definition{rounded-corners} requires rounded corners (for the
frame drawn by |draw| and the shape drawn by |fill|) with a radius equal to
the value of that key (the default value is 4~pt\footnote{This value is the
-initial value of the \emph{rounded corners} of Tikz.});
+initial value of the \emph{rounded corners} of Tikz.}).
+\end{itemize}
+
+\medskip
+Sometimes, these tools are not sufficient to control the appearance of the
+block. The following keys are more powerful but also more difficult to use.
+Moreover, the require the loading of TikZ by the user (with
+|\usepackage{tikz}|). By default, \pkg{nicematrix} does not load TikZ but only
+\textsc{pgf}, which is a sublayer of TikZ.
+
+\begin{itemize}
+\item \index{borders (key of \texttt{\textbackslash Block})}
+\index{tikzz@tikz!key of ``borders'' de \texttt{\textbackslash Block}}
+The key \Definition{borders} provides the ability to draw only some
+borders of the blocks; the value of that key is a (comma-separated) list of
+elements covered by |left|, |right|, |top| and |bottom|; it's possible, in
+fact, in the list which is the value of the key |borders|, to add an entry of
+the form |tikz={|\textsl{list}|}| where \textsl{list} is a list of couples
+\textsl{key=value} of Tikz specifying the graphical characteristics of the
+lines that will be drawn (for an example, see p.~\pageref{dashed}).
+
\item \index{tikzz@tikz!key of \texttt{\textbackslash Block}}
-when the key \Definition{tikz} is used, the Tikz path corresponding of
+When the key \Definition{tikz} is used, the Tikz path corresponding of
the rectangle which delimits the block is executed with Tikz\footnote{Tikz
should be loaded (by default, \pkg{nicematrix} only loads \textsc{pgf}) and,
if it's not, an error will be raised.} by using as options the value of that
-key |tikz| (which must be a list of keys allowed for a Tikz path). For
-examples, cf. p.~\pageref{tikz-key-examples};
+key |tikz| (which must be a list of keys allowed for a Tikz path).
+
+\colorbox{yellow!50}{\textbf{New 6.24}}\enskip In fact, in the list of the keys
+provided by the user as value of |tikz|, it's possible to put a key |offset|.
+That key is not provided by TikZ but by \pkg{nicematrix}. It will narrow the
+rectangular frame corresponding to the block by a margin (horizontally and
+vertically) equal to the value (of that key |offset|). That new frame, a bit
+narrower, will be executed by TikZ with options which are the other keys in the
+list of keys provided as value to the key |tikz| of |\Block|.
+
+For examples, cf. p.~\pageref{tikz-key-examples}.
+\end{itemize}
+
+
+\medskip
+There is also some technical keys:
+
+\begin{itemize}
\item \index{name!key of \texttt{\textbackslash Block}}
the key \Definition{name} provides a name to the rectangular Tikz node
corresponding to the block; it's possible to use that name with Tikz in the
@@ -562,15 +599,6 @@ corresponding to the block; it's possible to use that name with Tikz in the
the key \Definition{respect-arraystretch} prevents the setting of
|\arraystretch| to $1$ at the beginning of the block (which is the behaviour
by default) ;
-\item \index{borders (key of \texttt{\textbackslash Block})}
-\index{tikzz@tikz!key of ``borders'' de \texttt{\textbackslash Block}}
-the key \Definition{borders} provides the ability to draw only some
-borders of the blocks; the value of that key is a (comma-separated) list of
-elements covered by |left|, |right|, |top| and |bottom|; it's possible, in
-fact, in the list which is the value of the key |borders|, to add an entry of
-the form |tikz={|\textsl{list}|}| where \textsl{list} is a list of couples
-\textsl{key=value} of Tikz specifying the graphical characteristics of the
-lines that will be drawn (for an example, see p.~\pageref{dashed}).
\item \index{transparent (key of \texttt{\textbackslash Block})}
By default, the rules are not drawn in the blocks (see the section about
the rules: section~\ref{rules} p.~\pageref{rules}). However, if the key
@@ -1112,7 +1140,8 @@ is equivalent to |\cline{|\textsl{\texttt{i}}|-|\textsl{\texttt{i}}|}|.
The environments of \pkg{nicematrix} provide a key |rules/width| to set the
width (in fact the thickness) of the rules in the current environment. In
-fact, this key merely sets the value of the length |\arrayrulewidth|.
+fact, this key merely sets the value of the standard LaTeX length
+|\arrayrulewidth|.
\smallskip
It's well known that \pkg{colortbl} provides the command |\arrayrulecolor| in
@@ -1120,12 +1149,12 @@ order to specify the color of the rules.
\smallskip
\indexcommand{arrayrulecolor}
-With \pkg{nicematrix}, it's possible to specify the color of the rules even
-when \pkg{colortbl} is not loaded. For sake of compatibility, the command is
-also named |\arrayrulecolor|. The environments of \pkg{nicematrix} also
-provide a key |rules/color| to fix the color of the rules in the current
-environment. This key sets the value locally (whereas |\arrayrulecolor| acts
-globally!).
+With \pkg{nicematrix}, it's possible to specify the color of the rules even when
+\pkg{colortbl} is not loaded. For sake of compatibility, the command is also
+named |\arrayrulecolor|. However, \pkg{nicematrix} also provides a key
+|rules/color|, available in |\NiceMatrixOptions| or in an individual
+environment, to fix the color of the rules. This key sets the value locally
+(whereas |\arrayrulecolor| acts globally!) and should be prefered.
\medskip
\begin{scope}
@@ -1148,7 +1177,10 @@ muguet & dahlia & souci \\
\end{NiceTabular}
\end{scope}
-
+\medskip
+In fact, in that example, instead of |\hline|, it would have a better choice to
+use |\Hline|, provided by \pkg{nicematrix} and described just below, because it
+ensures a better output in the PDF viewers at the low levels of zoom.
\subsection{The tools of nicematrix for the rules}
@@ -1180,22 +1212,21 @@ p.~\pageref{corners}).
\item For the exterior rows and columns, see~p.~\pageref{exterior}.
\end{itemize}
-In particular, this remark explains the difference between the standard
+In particular, this remark exhibits a first difference between the standard
command |\hline| and the command |\Hline| provided by \pkg{nicematrix}.
-The key |\Hline| takes in an optional argument (between square brackets) which
-is a list of \textsl{key=value} pairs. For the description of those keys, see
-|custom-line| on p.~\pageref{custom-line}.\footnote{Technical remark: If the
- user wants to write a command over the command |\Hline|, it shall be ensured
- that this new command is expandable in the TeX sens (by using, for instance,
- |\NewExpandableDocumentCommand| of LaTeX3, |\newcommand| of LaTeX or |\def| of
- TeX). Example: |\newcommand{\RedLine}{\Hline[color=red]}|}
+Moreover, the key |\Hline| takes in an optional argument (between square
+brackets) which is a list of \textsl{key=value} pairs. For the description of
+those keys, see |custom-line| on p.~\pageref{custom-line}.\footnote{Technical
+ remark: If the user wants to write a command over the command |\Hline|, it
+ shall be ensured that this new command is expandable in the TeX sens (by
+ using, for instance, |\NewExpandableDocumentCommand| of LaTeX3, |\newcommand|
+ of LaTeX or |\def| of TeX). Example:
+ |\newcommand{\RedLine}{\Hline[color=red]}|}
\bigskip
-\colorbox{yellow!50}{\textbf{New 6.23}}\enskip
-
-As well as the command |\Hline|, the specifier ``\verb+|+'' supports a optional
+As well as the command |\Hline|, the specifier ``\verb+|+'' supports an optional
argument between square brackets for the characteristics of the rule.
\medskip
@@ -1472,8 +1503,11 @@ to specify a vertical rule.
\bigskip
We will now speak of the keys which describe the rule itself. Those keys may
-also be used in the (optional) argument of an individual command |\Hline|.
+also be used in the (optional) argument of an individual command |\Hline| or in
+the (optional) argument of a specifier ``\verb+|+'' in the preamble of an
+environment.
+\bigskip
There is three possibilities.
\begin{itemize}
@@ -1775,6 +1809,10 @@ cf.~p.~\pageref{nodes-i}.}
\index{arraycolor@\texttt{\textbackslash arraycolor} (command of \texttt{\textbackslash
CodeBefore)}}
+The names of these commands are inspired by the names of the commands provided
+by \pkg{colortbl}.
+
+
\medskip
These commands don't color the cells which are in the ``corners'' if the key
|corners| is used. That key has been described p.~\pageref{corners}.
@@ -2263,9 +2301,9 @@ with the same syntax as the corresponding command of
\pkg{colortbl} (however, unlike the command |\columncolor| of \pkg{colortbl},
this command |\columncolor| can appear within another command, itself used in the
preamble of the array);
-\item \colorbox{yellow!50}{\textbf{New 6.21}}\enskip |\rowcolors| which takes in as arguments two colors and color the rest of
+\item |\rowcolors| which takes in as arguments two colors and color the rest of
the tabular with those colors;
-\item \colorbox{yellow!50}{\textbf{New 6.21}}\enskip |\rowlistcolors| which takes in as argument a color and color the rest of
+\item |\rowlistcolors| which takes in as argument a color and color the rest of
the tabular with the colors of that list of colors.\footnote{When the command
|\rowlistcolors| (or the command |\rowcolors| is used in a cell of the
column~$j$ of the array, the command applies only on the columns above~$j$ (by
@@ -2519,10 +2557,7 @@ parameter is |\linewidth| (and not |\textwidth|).
For sake of similarity with the environment |{tabularx}|, \pkg{nicematrix}
also provides an environment |{NiceTabularX}| with a syntax similar to the
syntax of |{tabularx}|, that is to say with a first mandatory argument
-which is the width of the tabular.\footnote{If \pkg{tabularx} is loaded, one
-must use |{NiceTabularX}| (and not |{NiceTabular}|) in order to use the
-columns |X| (this point comes from a conflict in the definitions of the
-specifier |X|).}
+which is the width of the tabular.
As with the packages \pkg{tabu}\footnote{The extension \pkg{tabu} is now
considered as deprecated.} and \pkg{tabularray}, the specifier |X| takes
@@ -3189,10 +3224,10 @@ p.~\pageref{line-in-code-after}) accept two optional arguments specified by the
tokens |_| and |^| for labels positionned below and above the line. The
arguments are composed in math mode with |\scriptstyle|.
-\colorbox{yellow!50}{\textbf{New 6.22}}\enskip The version 6.22 introduces a new
-label, specified by the token ``|:|'' for a label placed on the line. The label
-is composed on a white background which is put on the line previously drawn (see
-example on p.~\pageref{ex:colon}).
+The version 6.22 of \pkg{nicematrix} has introduced a new label, specified by
+the token ``|:|'' for a label placed on the line. The label is composed on a
+white background which is put on the line previously drawn (see example on
+p.~\pageref{ex:colon}).
\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=10cm]
@@ -3269,8 +3304,8 @@ For the clarity of the explanations, we will use those names.
\bigskip
-With the key \Definition{xdots/horizontal-labels}, the labels (introduced by |_|
-and |^|) stay horizontal.
+With the key \Definition{xdots/horizontal-labels}, the labels (introduced by~|_|,
+|^| and~|:|) stay horizontal.
\bigskip
The option \Definition{xdots/color} fixes the color or the dotted line. However,
@@ -3498,7 +3533,8 @@ beginning on p.~\pageref{PGF-nodes}.
\medskip
Moreover, several special commands are available in the |\CodeAfter|: |line|,
-|\SubMatrix|, |\OverBrace| and |\UnderBrace|. We will now present these commands.
+|\SubMatrix|, |\OverBrace|, |\UnderBrace| and |\TikzEveryCell|. We will now
+present these commands.
\subsection{The command \textbackslash line in the \textbackslash CodeAfter}
@@ -3914,7 +3950,7 @@ $\begin{pNiceMatrix}
\end{pNiceMatrix}$
\bigskip
-Caution : There is no vertical space reserved for those braces.\footnote{See:
+Caution : There is no vertical space reserved for those braces and their labels.\footnote{See:
\url{https://tex.stackexchange.com/questions/685755}}
@@ -3964,6 +4000,72 @@ $\begin{pNiceMatrix}
\OverBrace[shorten,yshift=3pt]{1-4}{2-6}{B}
\end{pNiceMatrix}$
+
+\subsection{The command \textbackslash TikzEveryCell in the \textbackslash
+ CodeAfter}
+
+
+\index{SubMatrix@\texttt{\textbackslash TikzEveryCell} (command of
+\texttt{\textbackslash CodeAfter}\newline and
+\texttt{\textbackslash CodeBefore})|textbf}
+
+
+
+\colorbox{yellow!50}{\textbf{New 6.24}}\enskip The command |\TikzEveryCell|
+execute with TikZ the rectangular path corresponding to each cell of the tabular
+with parameters of TikZ the argument of |\TikzEveryCell|. That argument must be
+a list of \textsl{key=value} pairs which may be applied to a Tikz path. In fact,
+the command applies to each of the tabular, except those in the exterior rows
+and columns (cf.~p.~\pageref{exterior}) and those in the empty corners (when the
+key |corners| is used: cf.~p.~\pageref{corners}). It applies in fact to each
+block (excepted those with the key |transparent|) and does not apply to the
+cells located within these blocks.
+
+\medskip
+In fact, in the list of keys provided as argument of |\TikzEveryCell|, it's
+possible to put a key |offset|. That key is not provided by TikZ but by
+\pkg{nicematrix}. It will narrow the rectangular frame corresponding to the
+block by a margin (horizontally and vertically) equal to the value (of that key
+|offset|). That new frame, a bit narrower, will be executed by TikZ with options
+which are the other keys in the argument of |\TikzEveryCell|.
+
+\medskip
+\begingroup
+\bigskip
+\begin{BVerbatim}[baseline=c,boxwidth=9cm]
+\renewcommand{\arraystretch}{1.3}
+\begin{NiceTabular}{ccc}[corners]
+ & \Block{1-2}{columns} \\
+ \Block{2-1}{rows}
+ & cell 1 1 & cell 1 2 \\
+ & cell 2 1 & cell 2 2
+\CodeAfter
+ ~emphase#\TikzEveryCell{offset=1pt,draw}@
+\end{NiceTabular}
+\end{BVerbatim}
+\renewcommand{\arraystretch}{1.3}
+\begin{NiceTabular}{ccc}[corners]
+ & \Block{1-2}{columns} \\
+ \Block{2-1}{rows}
+ & cell 1 1 & cell 1 2 \\
+ & cell 2 1 & cell 2 2
+\CodeAfter
+ \TikzEveryCell{offset=1pt,draw}
+\end{NiceTabular}
+\endgroup
+
+\bigskip
+The command |\TikzEveryCell| has two keys:
+\begin{itemize}
+\item with the key \Definition{empty}, the command only acts on the empty cells;
+
+\item with key \Definition{non-empty}, the command only acts on the non-empty cells.
+\end{itemize}
+
+\medskip
+The commmand |\TikzEveryCell| is, in fact, also available in the |\CodeBefore|.
+
+
\index{CodeAfter@\texttt{\textbackslash CodeAfter}|)}
\section{Captions and notes in the tabulars}
@@ -4421,9 +4523,9 @@ exterior rules.}
\end{itemize}
-\colorbox{yellow!50}{New 6.21}\enskip That key is available in all
-the environments and commands (e.g. |\pAutoNiceMatrix|) of \pkg{nicematrix} and also
-in the command |\NiceMatrixOptions|.
+That key is available in all the environments and commands (e.g.
+|\pAutoNiceMatrix|) of \pkg{nicematrix} and also in the command
+|\NiceMatrixOptions|.
\bigskip
\begin{BVerbatim}[baseline=c,boxwidth=9cm]
@@ -4616,10 +4718,9 @@ $A = \begin{pNiceMatrix}[last-row=4,last-col=4]
\end{varwidth}
\bigskip
-\colorbox{yellow!50}{\textbf{New 6.21}}\enskip The command |\rotate| has a key
-|c|: |\rotate[c]| (spaces are deleted after |\rotate[c]|). When that key is
-used, the content is composed in a |\vcenter| and, therefore, in most cases, we
-will have a vertical alignment.
+The command |\rotate| has a key |c|: |\rotate[c]| (spaces are deleted after
+|\rotate[c]|). When that key is used, the content is composed in a |\vcenter|
+and, therefore, in most cases, we will have a vertical alignment.
\bigskip
Caution: the command |\rotate| is designed to be used in a |\Block| or in
@@ -6961,6 +7062,15 @@ The successive versions of the file |nicematrix.sty| provided by TeXLive are ava
\nolinkurl{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}
}
+
+\subsection*{Changes between version 6.23 and 6.24}
+
+New command |\TikzEveryCell| available in the |\CodeAfter| and the |\CodeBefore|
+to apply the same TikZ instruction to all the cells and blocks of the array.
+
+New key |offset| in the key |tikz| of a command |\Block|.
+
+
\subsection*{Changes between version 6.22 and 6.23}
The specifier ``\verb+|+'' in the preambles of the environments has now an
@@ -6982,7 +7092,7 @@ Key |c| for the command |\tabularnote|.
New commands |\rowcolors| and |\rowlistcolors| available in the array itself
(previously, there were only two commands |\rowcolors| and |\rowlistcolors|
-avaailable in the |\CodeBefore|.
+available in the |\CodeBefore|.
\subsection*{Changes between version 6.20 and 6.20a}
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index d1028090a9..5009d8e98c 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -19,84 +19,84 @@
%<*ProjLib>
\ProvidesExplPackage
{ProjLib}
- {2023/09/26} {}
+ {2023/09/28} {}
{Collective interface of the ProjLib toolkit}
%</ProjLib>
%
%<*projlib-author>
\ProvidesExplPackage
{projlib-author}
- {2023/09/26} {}
+ {2023/09/28} {}
{Enhanced author information block}
%</projlib-author>
%
%<*projlib-datetime>
\ProvidesExplPackage
{projlib-datetime}
- {2023/09/26} {}
+ {2023/09/28} {}
{Convert numeric date-time string to natural language}
%</projlib-datetime>
%
%<*projlib-draft>
\ProvidesExplPackage
{projlib-draft}
- {2023/09/26} {}
+ {2023/09/28} {}
{Useful commands during draft stage}
%</projlib-draft>
%
%<*projlib-font>
\ProvidesExplPackage
{projlib-font}
- {2023/09/26} {}
+ {2023/09/28} {}
{Font selection and configuration}
%</projlib-font>
%
%<*projlib-language>
\ProvidesExplPackage
{projlib-language}
- {2023/09/26} {}
+ {2023/09/28} {}
{Multi-language configuration}
%</projlib-language>
%
%<*projlib-logo>
\ProvidesExplPackage
{projlib-logo}
- {2023/09/26} {}
+ {2023/09/28} {}
{The ProjLib logo}
%</projlib-logo>
%
%<*projlib-math>
\ProvidesExplPackage
{projlib-math}
- {2023/09/26} {}
+ {2023/09/28} {}
{Efficient math setup}
%</projlib-math>
%
%<*projlib-paper>
\ProvidesExplPackage
{projlib-paper}
- {2023/09/26} {}
+ {2023/09/28} {}
{Configuration of the paper style}
%</projlib-paper>
%
%<*projlib-text>
\ProvidesExplPackage
{projlib-text}
- {2023/09/26} {}
+ {2023/09/28} {}
{Text-related commands}
%</projlib-text>
%
%<*projlib-theorem>
\ProvidesExplPackage
{projlib-theorem}
- {2023/09/26} {}
+ {2023/09/28} {}
{Configuration of theorem-like environments}
%</projlib-theorem>
%
%<*projlib-titlepage>
\ProvidesExplPackage
{projlib-titlepage}
- {2023/09/26} {}
+ {2023/09/28} {}
{Commands for rendering the title page}
%</projlib-titlepage>
@@ -3191,6 +3191,8 @@
{ language-not-enabled }
{ The~language~"#1"~is~not~enabled. }
+\tl_new:N \l_projlib_language_current_languagetype_tl
+
\cs_new:Nn \projlib_language_use_language_locally:nn
{
\cs_if_exist:cTF { projlib_language_apply_settings_locally_ \projlib_language_str_to_languagename:n { #1 } :n }
@@ -3198,6 +3200,7 @@
\bool_if:cTF { g__projlib_language_enabled_ \projlib_language_str_to_languagename:n { #1 } _bool }
{
\use:c { projlib_language_apply_settings_locally_ \projlib_language_str_to_languagename:n { #1 } :n } { #2 }
+ \tl_set:Ne \l_projlib_language_current_languagetype_tl { \projlib_language_str_to_languagetype:n { #1 } }
}
{
\msg_warning:nnn { projlib-language } { language-not-enabled } { #1 }
@@ -3220,6 +3223,7 @@
\use:c { projlib_language_apply_settings_globally_ \projlib_language_str_to_languagename:n { #1 } : }
\cs_if_exist_use:c { g_projlib_language_linespacing_ \projlib_language_str_to_languagetype:n { #1 } _tl }
\cs_if_exist_use:c { g_projlib_language_parindent_ \projlib_language_str_to_languagetype:n { #1 } _tl }
+ \tl_set:Ne \l_projlib_language_current_languagetype_tl { \projlib_language_str_to_languagetype:n { #1 } }
}
{
\msg_warning:nnn { projlib-language } { language-not-enabled } { #1 }
diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md
index c4180e6721..b1ef5e5b4b 100644
--- a/macros/latex/contrib/projlib/README.md
+++ b/macros/latex/contrib/projlib/README.md
@@ -5,7 +5,7 @@
# The `ProjLib` Toolkit
-> **This bundle is dated 2023/09/26.**
+> **This bundle is dated 2023/09/28.**
> **New documentations are still being written. For now, only the core code is included in TeX Live 2023 (old documentations have been removed from the distribution).**
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 95f29ff055..a216ed6b89 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -13,7 +13,6 @@ $mirrors = {
'https://mirror.bjtu.edu.cn/CTAN/' => 1,
'https://mirror.nyist.edu.cn/CTAN/' => 1,
'https://mirrors.aliyun.com/CTAN/' => 1,
- 'https://mirrors.bfsu.edu.cn/CTAN/' => 1,
'https://mirrors.cloud.tencent.com/CTAN/' => 1,
'https://mirrors.cqu.edu.cn/CTAN/' => 1,
'https://mirrors.hit.edu.cn/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 34951330b2..41cbae804a 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/2023
-depend revision/68385
+depend revision/68391
name 00texlive.image
category TLCore
@@ -4804,7 +4804,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 68380
+revision 68387
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
@@ -35173,15 +35173,15 @@ catalogue-topics book-pub class doc-templ expl3
name beebe
category Package
-revision 68380
+revision 68387
catalogue biblio
shortdesc A collection of bibliographies
relocated 1
longdesc A collection of BibTeX bibliographies on TeX-related topics
longdesc (including, for example, spell-checking and SGML). Each
longdesc includes a LaTeX wrapper file to typeset the bibliography.
-containersize 919364
-containerchecksum 546a3777e0201bb96f619f2f9df1328acfd3361c352529fd4abe459c8d0b2bda1a38faa1c1e4abbc773df76eedebcd3a3727830b0e653382e9675c3df91285f6
+containersize 919984
+containerchecksum c7e47672e3e60b9da5380c0c311c98a796f77dc4cab2027e3d30848156fe8d4b9027fcbfc60e4aa212bfffcf9fbcf254c5849c33d0361d01847c2eec61dc279c
runfiles size=2260
RELOC/bibtex/bib/beebe/epodd.bib
RELOC/bibtex/bib/beebe/font.bib
@@ -73959,7 +73959,7 @@ catalogue-version 0.2
name colorist
category Package
-revision 68376
+revision 68391
shortdesc Write your articles or books in a colorful way
relocated 1
longdesc This package offers you a LaTeX style file and two classes to
@@ -73975,10 +73975,10 @@ longdesc simplified and traditional), English, French, German, Italian,
longdesc Japanese, Portuguese (European and Brazilian), Russian and
longdesc Spanish typesetting, and also use more beautiful fonts.
depend projlib
-containersize 11140
-containerchecksum 36304de304da64c8139177fc181d2b8f25cbcb8b2da0ec08ec493f35f690b910212ae90d909c127522ace7ee60db41849d8bff6af1160014b32793e50a82e131
-doccontainersize 7424
-doccontainerchecksum e7cfb5eccc525712ec6e6bcf9fcf60a46b8f24c4e1691f70153d362693d8d588c51207953454af75af022667fa0d7037beee45cac21e1d3b8e59669352e59447
+containersize 11236
+containerchecksum a2d6b49fc5f2c6d9ebd638005000341dc9ed3ec86ef3282f1ff30b2e774ff5e0812b9dbf69c8e21d95b9b1f4800a6827747f73aa8fc57f60b746196584204b66
+doccontainersize 7428
+doccontainerchecksum 1021fee4d8b41aa0bf0b47568e2a0c78a4c7ae89aecc9a58bb9480335d68da3ebed0e2fb0dd662c4647c4dbf300f06d0bc4ddc31441ea2847003947c8e00eafe
docfiles size=7
RELOC/doc/latex/colorist/DEPENDS.txt
RELOC/doc/latex/colorist/LICENSE
@@ -145949,7 +145949,7 @@ catalogue-version 1.15
name homework
category Package
-revision 68381
+revision 68389
shortdesc A LaTeX class for writing your homework
relocated 1
longdesc The current document class is for writing homework. It has the
@@ -145964,11 +145964,11 @@ longdesc solution has its own QED symbol, in hollow or solid shape,
longdesc respectively. You can mark the unfinished parts, and a report
longdesc shall be generated at the end of your document for reminding.
depend einfart
-containersize 2448
-containerchecksum bb403b2dc79b8120a9f7127a7a28f9107b83705df9746077d20699cbc35960d7fc705cadd74aaab204cb189dd574f7de3d07f23f194d654dcea674823e3097a1
-doccontainersize 259352
-doccontainerchecksum 98baf5415c85a23fdda159f4a1a76620a21981aaa241cf3be20391f14cb32bfdfecbfbc73dcbe5a85feef0bdd484c85350b6053c541160c5de03fe9b82d9902c
-docfiles size=119
+containersize 2496
+containerchecksum cbe37db1c8e3adeadc263c62fc2c0afe002f2f915942be7c98a79ae77e9ac106433829180c1c7cc3696c8bf068dbbdbb6c9a700c6f8874258f8fdf0dad62b8af
+doccontainersize 312792
+doccontainerchecksum 9c1f609271bc50dc297f416bf70be00b082da6c3b7d5bee5e07b938f6fd67069e64ab7f25add32dd0074214f2eb4806fe136b4f272c618b44b2756365f90bd6e
+docfiles size=134
RELOC/doc/latex/homework/DEPENDS.txt
RELOC/doc/latex/homework/LICENSE
RELOC/doc/latex/homework/README.md details="Readme"
@@ -145992,7 +145992,6 @@ catalogue-contact-repository https://github.com/Jinwen-XU/homework
catalogue-ctan /macros/latex/contrib/homework
catalogue-license lppl1.3c
catalogue-topics class essay multilingual expl3
-catalogue-version 2023-09-25a
name hook-pre-commit-pkg
category Package
@@ -165719,16 +165718,16 @@ catalogue-version 0.7
name jwjournal
category Package
-revision 68149
+revision 68390
shortdesc A personal class for writing journals
relocated 1
longdesc This LaTeX document class enables the user to turn simple pure
longdesc text entries into a colorful and nicely formatted journal.
depend einfart
-containersize 3544
-containerchecksum 2909f897d5d1033d7ca388cc2d3b8c96e53c1a415ce8356b30045aee032112baf6f552618c5502e519e4e607e76f8c7fcda1ea66e2f3f0e6ad4162149fa73dbc
-doccontainersize 182364
-doccontainerchecksum 6e5530fdafff744ff8575afc01706e373747b5574140e35b9577dc39d6f1711c9bba65f125cbc9b150a62c84e9b226b5b1af0f263154eaa0a24e9a2cab484aa6
+containersize 3608
+containerchecksum 65125fdb32be1ed86626071c582582de580b05de702fbb04acb1b04e35ef673436674cc277f21a6ea957aee1d23d1b8805eaf85002f9aa899cd14fa68c8b5ce5
+doccontainersize 182868
+doccontainerchecksum e39ec00f2c092e20340d44567e021f904a7294fb5b53b1d2b43d8cc12f69c6824c53f2bed972b1f6a68bf7d22562920d66e9bf598ad900a4b2423218b0bca422
docfiles size=79
RELOC/doc/latex/jwjournal/DEPENDS.txt
RELOC/doc/latex/jwjournal/LICENSE
@@ -210266,7 +210265,7 @@ catalogue-version 2023/1.2
name minimalist
category Package
-revision 68384
+revision 68391
shortdesc Write your articles or books in a simple and clear way
relocated 1
longdesc This package offers you a LaTeX style file and two classes to
@@ -210283,10 +210282,10 @@ longdesc German, Italian, Japanese, Portuguese (European and Brazilian),
longdesc Russian and Spanish typesetting, and also use more beautiful
longdesc fonts.
depend projlib
-containersize 12516
-containerchecksum a10d6cbe72dccdbae67a9d34b80b5218f16cbdb6334e67b5845944bc4ea4055caf256e04a271133a9b983ffc0918f4819155fcd9b8972a8b19daf168a8977f95
+containersize 12612
+containerchecksum 9b0e4403550b61abd47b0b0eceb99b728832208c0f1445b452b291b62bb686c56a32c1b3f13225e95e92b329d1842372c36d4b0570b15d7f351f26370978a77c
doccontainersize 7436
-doccontainerchecksum 774362a5368124f244a14587cdf026813ddf0aa426fb3fcc60cd7db018f29f29b5a8716bf24f072266066b4c40810ba3d3968c10be3d2a383d8752dda9260ced
+doccontainerchecksum 50d088b7f6631b429278cebebd53fdf72331750b034b02742908d2c8796544d718be11dd2020d749cf85ceb6b93a91a1d8ff7fd449e8b4afe1669e89407668c0
docfiles size=7
RELOC/doc/latex/minimalist/DEPENDS.txt
RELOC/doc/latex/minimalist/LICENSE
@@ -225468,7 +225467,7 @@ catalogue-version 0.54
name newpx
category Package
-revision 68213
+revision 68388
shortdesc Alternative uses of the PX fonts, with improved metrics
relocated 1
longdesc This package, initially based on pxfonts, provides many fixes
@@ -225479,11 +225478,11 @@ longdesc options. For proper operation, the packages require that the
longdesc packages newtxmath, pxfonts, and TeXGyrePagella be installed
longdesc and their map files enabled.
execute addMap newpx.map
-containersize 4750980
-containerchecksum fc32e9afd001dca82f485a42a89d6e2346ce663c4aa91a0223f6efee946f8f9e907cdfc67843d79f2ef0b3b67641894371ab7d2b9baa19f71f9822fa8f047f86
-doccontainersize 448828
-doccontainerchecksum e2d9277a23c7ce29a71c07cac2ef283db77ea581c47c896147d26159ec6d9eb479ee028d3a6e316d97e9eb641a08f31917684ab34aa35594568e94fa28c45315
-docfiles size=132
+containersize 4750992
+containerchecksum a354580952c66fc7cd11a3c652557481bd0be047eada84abbadb5c22b8098b50e902e5c4f759ba74938ef43f113a976c872def0a276d9c7764c3ff10a60de02d
+doccontainersize 456044
+doccontainerchecksum abe49017faef01e794f346488df7fca25b5b8572e03bf6e5705412ed3592e0808eba9bb6bda5ee79fd1f4fa8a35bd982f9bc47bb1746d7c57e72972f9993f08f
+docfiles size=134
RELOC/doc/fonts/newpx/ChangesInV1.4.txt
RELOC/doc/fonts/newpx/MANIFEST-newpx.txt
RELOC/doc/fonts/newpx/README details="Readme"
@@ -225492,7 +225491,7 @@ docfiles size=132
RELOC/doc/fonts/newpx/newpxeg-crop.pdf
RELOC/doc/fonts/newpx/pxfontseg-crop.pdf
srccontainersize 392
-srccontainerchecksum 2d8541fda3916f2d584a595ed9d516c063adcffe3fe53afb34e19e06d7719852f29a5d456dfb1997667da4fbaf89bd69b1cdda154d96f20b5d2711d0994e8608
+srccontainerchecksum 35e6c46e3ba2ad22822927d1a76f8aacf858faa80d9d93b83b425c11a7e9296185047187acbf08f0b26b6f4e7ee8fe285419bd8f7a08f5a0a1aa7649bbf8d18a
srcfiles size=1
RELOC/source/fonts/newpx/TRK.fea
runfiles size=3686
@@ -226120,7 +226119,7 @@ runfiles size=3686
catalogue-ctan /fonts/newpx
catalogue-license lppl ofl
catalogue-topics font font-body font-maths font-serif font-proportional font-type1 font-otf font-supp font-t1enc
-catalogue-version 1.52
+catalogue-version 1.522
name newsletr
category Package
@@ -259471,7 +259470,7 @@ catalogue-version 1.0b~4
name projlib
category Package
-revision 68385
+revision 68391
shortdesc A series of tools to simplify your workflow
relocated 1
longdesc ProjLib is a collection of tools to help you write LaTeX
@@ -259480,16 +259479,16 @@ longdesc need to set up the theorem-like environments, nor to manually
longdesc configure the appropriate multilingual settings. In addition, a
longdesc series of auxiliary functionalities are introduced.
depend create-theorem
-containersize 26304
-containerchecksum 3c960852c62d04e60e058fa2e1d79d87c26922ca00607b54c4f50385e0d6da5d5d616d18232ea570a48b40c23a273dd5c9e9e527c88a8ea3f702c656c7c9fddb
+containersize 26316
+containerchecksum 54a86bd7db50b11ad8134fe057b13a83990a30c80166dc676b45bd3b4ea48c3855a3731608ca1d0b436d912b86b25db356b47a8a9820b404a334b72c42200623
doccontainersize 8712
-doccontainerchecksum 113400fee5ba8e3ce667a34dd519969790506038bfd8c9d05df8bf71542122530d8cf82cf6355566753e2e92dd76babde1c67ac2d05d3bd097ac6018c295477d
+doccontainerchecksum cb787c9bb3ee7aefbfad3c8130536ff0c474043e746119e2e4ba54e28ad4dd668148519cb5eeed684076f8ee15122c906f588a5205509178db81a2e1d329824c
docfiles size=8
RELOC/doc/latex/projlib/DEPENDS.txt
RELOC/doc/latex/projlib/LICENSE
RELOC/doc/latex/projlib/README.md details="Readme"
-srccontainersize 26484
-srccontainerchecksum 2f0bb21ba43d09bb1f94c173d6be08aa50057d9cf3d7de4c217a933bde4845a18980b07a2ac83bdddc2aad0415299215e79292ce2570234da9761e43b0ac8d29
+srccontainersize 26520
+srccontainerchecksum 9a4a583189fe51a4fbe6ad284f4d9f1d5a67d88762a5a5be80a5ad5818ecc385c3845737162b628cd4a2fbce71133eea02ad3ef23546bf0b5dffc14bf34a9430
srcfiles size=55
RELOC/source/latex/projlib/ProjLib.dtx
RELOC/source/latex/projlib/ProjLib.ins
@@ -259510,7 +259509,6 @@ catalogue-contact-repository https://github.com/Jinwen-XU/ProjLib
catalogue-ctan /macros/latex/contrib/projlib
catalogue-license lppl1.3c
catalogue-topics misc-support expl3
-catalogue-version 2023-09-25a
name proof-at-the-end
category Package
@@ -315709,7 +315707,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 68380
+revision 68387
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.
@@ -315717,10 +315715,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 114132
-containerchecksum c92fdce9b3ca90822e3e8e069e538ea0f6a0009b44c83c12207b21193fc4004e086a25596ae947efa8b422b76d677ae6a7cfcde6d5c9a6d8ce5f81f2d07f5dcb
-doccontainersize 429888
-doccontainerchecksum 31c6e8421cd38f616abd39773a99afc7169cc174b3a9c8addaa79f294e05425b9641c98749d7374bda126e00c8a3c0056b94473d901f6405fb441397ee370134
+containersize 114116
+containerchecksum 2ab0883deec0d172db61e2d7d43909bbd2d1a940e961d8d850304c28dd4c4651c532bbd0293ff3de998589b032344cfd0f76d7e5cbb725a49c5396eca33540da
+doccontainersize 429860
+doccontainerchecksum 613a47a61b2dbfdf7258fdc65dff76e38c3c6963d638afa993600e75c6d53b33765eceff4b469aad9c07fe7df95975ea55b6dac86606903aa7400e2429431d55
docfiles size=551
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index d3b5471e41..cbb55d4eee 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-813f043b6f9cbb64d370d77fe4223b5d texlive.tlpdb
+2218d97fa0d2461c85f559557800320d texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index f703d44cb1..a2f306c99d 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-c238ef78ba89d592a948f62db8f266198a3f87a36c5c3d4eab03aa799dbfe3d85d9e424d80a6e2af383bb10f3bc00e76591b2bbb11557baaf56ce839c579b303 texlive.tlpdb
+1191de5fb1c535f882569a83735ce38b96f56c0444c775e6577dd9b9b22a8c4c83c6b1a64c58208cc9ef194331034b58989431bc3c3c1abb26c98bd98f173834 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index d62a2a0f46..f0a4ba910e 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+QqiBBqTOGHfhlDjHAFAmUUvsAACgkQTOGHfhlD
-jHDLaAf/fqWegGZjLCXvWC0SKPMmS+HLtrM9R+otKh1Rmn4162hstnzWbo/d0Cy/
-G2sJfQ3Bp1U1/Kx42tDp4Cnb9PieBT3OqLrik0FmFSV8Xpmpp4eetX6kbf1ZGEKr
-1wgw6Mh/WqKz/TwJKUzCubv/BBiRfViViv0C5X6ETiW2jSeHdO5M+tKu3FCfNqcV
-M6p9Wm4f8OvJ9/5pAbZtWW+tyVBp62gAYgDS25B/ZRV4f1kVKNNiFXM+d3AManrB
-jeuo1Pe52+lWI0XRnJ3ZcAkhWNOKHuOpszlevIsyZaguyU8Qkz73iGTJoHjt5hZu
-knLwFlIuMjUVfugU/qAT7LDC7wDBkg==
-=/4h7
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmUWEBsACgkQTOGHfhlD
+jHAyXQgAlj/MyNg4metEsdIyHkslBlmV0+LAbbT5nvI/3M4LpSBWt7gbmHZMm5Rs
+uG9rV0QYIlg73Uw5re4xsqnnT3TiNPQ+dpLsAjovACB3hgjZ3jQI7npoxv4HYhZW
+zNV6xN4WKMjvXczSWIuHqd7uemUVJW5L9aETP6i+h1ea+cCIPA8O6A8ZkUh1ZFRR
+EvNJIfpTxT4Xa3XLNtbIeV4L1zq7VUywTS3xcGKBwgf5oAskZEMRk612pEYDN9s1
+EMf40RWYUBaCZw1AEVYAmffUtwKpbNw4SWzhLd/emaL7wcZNdI5J1Amn00VCvQzP
+y5eVtlF/7+bG2EbeEVGABaDF0FPTnA==
+=Bu6B
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 1b0ad31f5d..0e20795386 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 7e917c5104..37c5475d0a 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:
-2023-09-28-02-02
+2023-09-29-02-02