summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname127
-rw-r--r--FILES.byname.gzbin2638394 -> 2638423 bytes
-rw-r--r--FILES.last07days256
-rw-r--r--biblio/ctan-bibdata/ctan.bib43
-rw-r--r--info/tlmgrbasics/README2
-rw-r--r--info/tlmgrbasics/doc/tlmgr.pdfbin159225 -> 160621 bytes
-rw-r--r--info/tlmgrbasics/doc/tlmgr.tex16
-rw-r--r--macros/latex/contrib/cleveref-forward/README.md18
-rw-r--r--macros/latex/contrib/cleveref-forward/cleveref-forward.sty56
-rw-r--r--macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdfbin58724 -> 65462 bytes
-rw-r--r--macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex18
-rw-r--r--macros/latex/contrib/create-theorem/README.md2
-rw-r--r--macros/latex/contrib/create-theorem/code/create-theorem-preset-names-cleveref.tex (renamed from macros/latex/contrib/create-theorem/code/create-theorem-preset-names.tex)4
-rw-r--r--macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural-cleveref.tex (renamed from macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural.tex)4
-rw-r--r--macros/latex/contrib/create-theorem/code/create-theorem.sty8
-rw-r--r--macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdfbin88437 -> 92770 bytes
-rw-r--r--macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex140
-rw-r--r--macros/latex/contrib/weiqi/README.md25
-rw-r--r--macros/latex/contrib/weiqi/weiqi.dtx2471
-rw-r--r--macros/latex/contrib/weiqi/weiqi.ins36
-rw-r--r--macros/latex/contrib/weiqi/weiqi.pdfbin0 -> 345824 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb160
-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.xzbin2549612 -> 2552252 bytes
-rw-r--r--timestamp2
28 files changed, 2945 insertions, 464 deletions
diff --git a/FILES.byname b/FILES.byname
index ef39b5074a..2c9ff13dee 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2077,12 +2077,12 @@
2024/02/20 | 1710 | biblio/citation-style-language/README.md
2024/02/20 | 12878 | biblio/citation-style-language/vancouver.csl
2024/02/20 | 4552203 | biblio/citation-style-language.zip
-2024/02/25 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/02/26 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2024/02/25 | 2849851 | biblio/ctan-bibdata/ctan.bib
-2024/02/25 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/02/26 | 2850306 | biblio/ctan-bibdata/ctan.bib
+2024/02/26 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2024/02/25 | 4117966 | biblio/ctan-bibdata.zip
+2024/02/26 | 4118047 | 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
@@ -5444,7 +5444,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2024/02/25 | 193670 | FILES.last07days
+2024/02/26 | 114586 | 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
@@ -205856,10 +205856,10 @@
2023/04/03 | 338388 | info/tex-vpat/texlive-vpat.pdf
2023/04/03 | 33771 | info/tex-vpat/texlive-vpat.tex
2023/04/03 | 179569 | info/tex-vpat.zip
-2023/11/28 | 159225 | info/tlmgrbasics/doc/tlmgr.pdf
-2023/11/28 | 24132 | info/tlmgrbasics/doc/tlmgr.tex
-2023/11/28 | 453 | info/tlmgrbasics/README
-2023/11/28 | 163098 | info/tlmgrbasics.zip
+2024/02/26 | 160621 | info/tlmgrbasics/doc/tlmgr.pdf
+2024/02/26 | 24523 | info/tlmgrbasics/doc/tlmgr.tex
+2024/02/26 | 453 | info/tlmgrbasics/README
+2024/02/26 | 164419 | info/tlmgrbasics.zip
2021/05/05 | 23941 | info/tlmgr-intro-zh-cn/body/actions.tex
2021/05/05 | 1030 | info/tlmgr-intro-zh-cn/body/examples.tex
2021/05/05 | 3020 | info/tlmgr-intro-zh-cn/body/mirrors.tex
@@ -229837,12 +229837,12 @@
2018/03/27 | 565421 | macros/latex/contrib/cleveref/cleveref.dtx
2017/05/26 | 884 | macros/latex/contrib/cleveref/cleveref.ins
2018/03/27 | 443693 | macros/latex/contrib/cleveref/cleveref.pdf
-2024/02/24 | 38194 | macros/latex/contrib/cleveref-forward/cleveref-forward.sty
-2024/02/24 | 58724 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf
-2024/02/24 | 15388 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
-2024/02/24 | 19106 | macros/latex/contrib/cleveref-forward/LICENSE
-2024/02/24 | 1743 | macros/latex/contrib/cleveref-forward/README.md
-2024/02/24 | 75033 | macros/latex/contrib/cleveref-forward.zip
+2024/02/26 | 38340 | macros/latex/contrib/cleveref-forward/cleveref-forward.sty
+2024/02/26 | 65462 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf
+2024/02/26 | 15481 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
+2024/02/26 | 19106 | macros/latex/contrib/cleveref-forward/LICENSE
+2024/02/26 | 2612 | macros/latex/contrib/cleveref-forward/README.md
+2024/02/26 | 82082 | macros/latex/contrib/cleveref-forward.zip
2018/03/03 | 2337 | macros/latex/contrib/cleveref/README
2023/04/21 | 1477 | macros/latex/contrib/cleveref-usedon/CHANGES.md
2023/04/21 | 36705 | macros/latex/contrib/cleveref-usedon/cleveref-usedon.dtx
@@ -230649,15 +230649,15 @@
2013/04/03 | 3607 | macros/latex/contrib/crbox/crbox.sty
2013/04/03 | 914 | macros/latex/contrib/crbox/README
2013/04/04 | 30542 | macros/latex/contrib/crbox.zip
-2024/02/21 | 80289 | macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural.tex
-2024/02/21 | 79630 | macros/latex/contrib/create-theorem/code/create-theorem-preset-names.tex
-2024/02/21 | 48528 | macros/latex/contrib/create-theorem/code/create-theorem.sty
-2024/02/21 | 12 | macros/latex/contrib/create-theorem/DEPENDS.txt
-2024/02/21 | 88437 | macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdf
-2024/02/21 | 38008 | macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex
-2024/02/21 | 19106 | macros/latex/contrib/create-theorem/LICENSE
-2024/02/21 | 693 | macros/latex/contrib/create-theorem/README.md
-2024/02/21 | 123400 | macros/latex/contrib/create-theorem.zip
+2024/02/26 | 79578 | macros/latex/contrib/create-theorem/code/create-theorem-preset-names-cleveref.tex
+2024/02/26 | 80237 | macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural-cleveref.tex
+2024/02/26 | 48571 | macros/latex/contrib/create-theorem/code/create-theorem.sty
+2024/02/26 | 12 | macros/latex/contrib/create-theorem/DEPENDS.txt
+2024/02/26 | 92770 | macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdf
+2024/02/26 | 38018 | macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex
+2024/02/26 | 19106 | macros/latex/contrib/create-theorem/LICENSE
+2024/02/26 | 896 | macros/latex/contrib/create-theorem/README.md
+2024/02/26 | 127824 | macros/latex/contrib/create-theorem.zip
2023/08/26 | 158107 | macros/latex/contrib/creationboites/doc/CreationBoites-doc.pdf
2023/08/26 | 18801 | macros/latex/contrib/creationboites/doc/CreationBoites-doc.tex
2023/08/25 | 495 | macros/latex/contrib/creationboites/README.md
@@ -256160,6 +256160,11 @@
2019/04/01 | 5464 | macros/latex/contrib/webquiz/scripts/webquiz_util.py
2019/02/15 | 13461 | macros/latex/contrib/webquiz/scripts/webquiz_xml.py
2019/04/01 | 7425702 | macros/latex/contrib/webquiz.zip
+2024/02/26 | 575 | macros/latex/contrib/weiqi/README.md
+2024/02/26 | 78085 | macros/latex/contrib/weiqi/weiqi.dtx
+2024/02/26 | 1259 | macros/latex/contrib/weiqi/weiqi.ins
+2024/02/26 | 345824 | macros/latex/contrib/weiqi/weiqi.pdf
+2024/02/26 | 350256 | macros/latex/contrib/weiqi.zip
2020/01/13 | 1486 | macros/latex/contrib/widetable/manifest.txt
2020/01/13 | 1315 | macros/latex/contrib/widetable/README.txt
2020/01/13 | 28095 | macros/latex/contrib/widetable/widetable.dtx
@@ -305173,6 +305178,8 @@
2024/02/22 | 5236 | systems/texlive/tlnet/archive/beaulivre.r70050.tar.xz
2023/10/03 | 44866964 | systems/texlive/tlnet/archive/beautybook.doc.r68438.tar.xz
2023/10/03 | 16296 | systems/texlive/tlnet/archive/beautybook.r68438.tar.xz
+2024/02/26 | 858720 | systems/texlive/tlnet/archive/beautynote.doc.r70166.tar.xz
+2024/02/26 | 5128 | systems/texlive/tlnet/archive/beautynote.r70166.tar.xz
2024/02/23 | 922500 | systems/texlive/tlnet/archive/beebe.r70064.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
@@ -306474,7 +306481,7 @@
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2023/05/16 | 400 | systems/texlive/tlnet/archive/collection-langportuguese.r67125.tar.xz
2023/06/09 | 396 | systems/texlive/tlnet/archive/collection-langspanish.r67307.tar.xz
-2024/02/25 | 7112 | systems/texlive/tlnet/archive/collection-latexextra.r70140.tar.xz
+2024/02/26 | 7116 | systems/texlive/tlnet/archive/collection-latexextra.r70166.tar.xz
2023/12/14 | 704 | systems/texlive/tlnet/archive/collection-latex.r69131.tar.xz
2024/02/15 | 740 | systems/texlive/tlnet/archive/collection-latexrecommended.r69888.tar.xz
2024/01/13 | 1020 | systems/texlive/tlnet/archive/collection-luatex.r69404.tar.xz
@@ -306784,8 +306791,8 @@
2024/02/22 | 15108 | systems/texlive/tlnet/archive/create-theorem.r70050.tar.xz
2023/08/28 | 159092 | systems/texlive/tlnet/archive/creationboites.doc.r68087.tar.xz
2023/08/28 | 2200 | systems/texlive/tlnet/archive/creationboites.r68087.tar.xz
-2024/02/25 | 76148 | systems/texlive/tlnet/archive/crefthe.doc.r70139.tar.xz
-2024/02/25 | 4424 | systems/texlive/tlnet/archive/crefthe.r70139.tar.xz
+2024/02/26 | 81312 | systems/texlive/tlnet/archive/crefthe.doc.r70165.tar.xz
+2024/02/26 | 5000 | systems/texlive/tlnet/archive/crefthe.r70165.tar.xz
2022/10/01 | 34252 | systems/texlive/tlnet/archive/crimson.doc.r64559.tar.xz
2022/10/02 | 85180 | systems/texlive/tlnet/archive/crimsonpro.doc.r64565.tar.xz
2022/10/02 | 2549080 | systems/texlive/tlnet/archive/crimsonpro.r64565.tar.xz
@@ -307836,9 +307843,9 @@
2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz
2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz
2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz
-2024/02/23 | 629168 | systems/texlive/tlnet/archive/easybook.doc.r70073.tar.xz
-2024/02/23 | 16828 | systems/texlive/tlnet/archive/easybook.r70073.tar.xz
-2024/02/23 | 16720 | systems/texlive/tlnet/archive/easybook.source.r70073.tar.xz
+2024/02/26 | 629172 | systems/texlive/tlnet/archive/easybook.doc.r70164.tar.xz
+2024/02/26 | 16828 | systems/texlive/tlnet/archive/easybook.r70164.tar.xz
+2024/02/26 | 16716 | systems/texlive/tlnet/archive/easybook.source.r70164.tar.xz
2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz
2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.aarch64-linux.r68514.tar.xz
2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.amd64-freebsd.r68514.tar.xz
@@ -308990,9 +308997,9 @@
2024/01/02 | 1088 | systems/texlive/tlnet/archive/freealign.r69267.tar.xz
2019/02/28 | 142332 | systems/texlive/tlnet/archive/frege.doc.r27417.tar.xz
2019/02/28 | 4528 | systems/texlive/tlnet/archive/frege.r27417.tar.xz
-2024/02/21 | 580400 | systems/texlive/tlnet/archive/frenchmath.doc.r70031.tar.xz
-2024/02/21 | 2924 | systems/texlive/tlnet/archive/frenchmath.r70031.tar.xz
-2024/02/21 | 15404 | systems/texlive/tlnet/archive/frenchmath.source.r70031.tar.xz
+2024/02/26 | 580696 | systems/texlive/tlnet/archive/frenchmath.doc.r70163.tar.xz
+2024/02/26 | 2956 | systems/texlive/tlnet/archive/frenchmath.r70163.tar.xz
+2024/02/26 | 15456 | systems/texlive/tlnet/archive/frenchmath.source.r70163.tar.xz
2020/10/20 | 191432 | systems/texlive/tlnet/archive/frimurer.doc.r56704.tar.xz
2020/10/20 | 15456 | systems/texlive/tlnet/archive/frimurer.r56704.tar.xz
2020/10/20 | 4184 | systems/texlive/tlnet/archive/frimurer.source.r56704.tar.xz
@@ -311851,8 +311858,8 @@
2019/02/28 | 1092 | systems/texlive/tlnet/archive/mceinleger.r15878.tar.xz
2021/09/13 | 232948 | systems/texlive/tlnet/archive/mcexam.doc.r60481.tar.xz
2021/09/13 | 11396 | systems/texlive/tlnet/archive/mcexam.r60481.tar.xz
-2024/01/22 | 1059180 | systems/texlive/tlnet/archive/mcf2graph.doc.r69521.tar.xz
-2024/01/22 | 444 | systems/texlive/tlnet/archive/mcf2graph.r69521.tar.xz
+2024/02/26 | 1062288 | systems/texlive/tlnet/archive/mcf2graph.doc.r70167.tar.xz
+2024/02/26 | 448 | systems/texlive/tlnet/archive/mcf2graph.r70167.tar.xz
2019/02/28 | 138716 | systems/texlive/tlnet/archive/mcite.doc.r18173.tar.xz
2019/02/28 | 391980 | systems/texlive/tlnet/archive/mciteplus.doc.r31648.tar.xz
2019/02/28 | 34344 | systems/texlive/tlnet/archive/mciteplus.r31648.tar.xz
@@ -312664,8 +312671,8 @@
2019/02/28 | 196212 | systems/texlive/tlnet/archive/newspaper.doc.r15878.tar.xz
2019/02/28 | 1924 | systems/texlive/tlnet/archive/newspaper.r15878.tar.xz
2019/02/28 | 6804 | systems/texlive/tlnet/archive/newspaper.source.r15878.tar.xz
-2024/02/10 | 969884 | systems/texlive/tlnet/archive/newtx.doc.r69756.tar.xz
-2024/02/10 | 6054376 | systems/texlive/tlnet/archive/newtx.r69756.tar.xz
+2024/02/26 | 973524 | systems/texlive/tlnet/archive/newtx.doc.r70168.tar.xz
+2024/02/26 | 6061396 | systems/texlive/tlnet/archive/newtx.r70168.tar.xz
2024/01/27 | 263284 | systems/texlive/tlnet/archive/newtxsf.doc.r69597.tar.xz
2024/01/27 | 106028 | systems/texlive/tlnet/archive/newtxsf.r69597.tar.xz
2024/01/17 | 194632 | systems/texlive/tlnet/archive/newtxtt.doc.r69451.tar.xz
@@ -313923,8 +313930,8 @@
2024/01/23 | 1336892 | systems/texlive/tlnet/archive/profcollege.r69539.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
-2024/02/12 | 3426172 | systems/texlive/tlnet/archive/proflycee.doc.r69804.tar.xz
-2024/02/12 | 56408 | systems/texlive/tlnet/archive/proflycee.r69804.tar.xz
+2024/02/26 | 1874236 | systems/texlive/tlnet/archive/proflycee.doc.r70162.tar.xz
+2024/02/26 | 57952 | systems/texlive/tlnet/archive/proflycee.r70162.tar.xz
2024/01/22 | 297292 | systems/texlive/tlnet/archive/profmaquette.doc.r69526.tar.xz
2024/01/22 | 22356 | systems/texlive/tlnet/archive/profmaquette.r69526.tar.xz
2024/02/09 | 438260 | systems/texlive/tlnet/archive/profsio.doc.r69745.tar.xz
@@ -316154,7 +316161,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2024/02/25 | 432792 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70120.tar.xz
+2024/02/26 | 432784 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70146.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
@@ -316176,7 +316183,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2024/02/25 | 114036 | systems/texlive/tlnet/archive/texlive-scripts.r70120.tar.xz
+2024/02/26 | 114040 | systems/texlive/tlnet/archive/texlive-scripts.r70146.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
@@ -317049,8 +317056,8 @@
2019/02/28 | 3948 | systems/texlive/tlnet/archive/uebungsblatt.r15878.tar.xz
2019/02/28 | 4250444 | systems/texlive/tlnet/archive/uestcthesis.doc.r36371.tar.xz
2019/02/28 | 17228 | systems/texlive/tlnet/archive/uestcthesis.r36371.tar.xz
-2024/02/22 | 541200 | systems/texlive/tlnet/archive/ufrgscca.doc.r70054.tar.xz
-2024/02/22 | 24348 | systems/texlive/tlnet/archive/ufrgscca.r70054.tar.xz
+2024/02/26 | 541900 | systems/texlive/tlnet/archive/ufrgscca.doc.r70161.tar.xz
+2024/02/26 | 24688 | systems/texlive/tlnet/archive/ufrgscca.r70161.tar.xz
2019/02/28 | 872 | systems/texlive/tlnet/archive/uhc.doc.r16791.tar.xz
2019/02/28 | 3600148 | systems/texlive/tlnet/archive/uhc.r16791.tar.xz
2019/02/28 | 380280 | systems/texlive/tlnet/archive/uhhassignment.doc.r44026.tar.xz
@@ -318089,16 +318096,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2024/02/05 | 125030 | systems/texlive/tlnet/install-tl
-2024/02/25 | 5747979 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2024/02/25 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/02/25 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/02/26 | 5749205 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/02/26 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/02/26 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2024/02/25 | 21028604 | systems/texlive/tlnet/install-tl-windows.exe
-2024/02/25 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/02/25 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/02/25 | 26035567 | systems/texlive/tlnet/install-tl.zip
-2024/02/25 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/02/25 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/02/26 | 21031346 | systems/texlive/tlnet/install-tl-windows.exe
+2024/02/26 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/02/26 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/02/26 | 26035580 | systems/texlive/tlnet/install-tl.zip
+2024/02/26 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/02/26 | 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
2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -318108,7 +318115,7 @@
2024/01/02 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2024/01/16 | 50726 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2024/02/25 | 7265 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/02/26 | 7312 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/12/13 | 226639 | 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
@@ -318150,12 +318157,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2024/01/31 | 5840 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2024/02/25 | 19338291 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/02/25 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/02/26 | 19339962 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/02/26 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2024/01/31 | 87229 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2024/02/25 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2024/02/25 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/02/25 | 2549612 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/02/26 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/02/26 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/02/26 | 2552252 | 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
@@ -320862,7 +320869,7 @@
2024/02/11 | 95286 | systems/texlive/tlnet/tlpkg/translations/fr.po
2024/02/11 | 88795 | systems/texlive/tlnet/tlpkg/translations/it.po
2024/02/11 | 63064 | systems/texlive/tlnet/tlpkg/translations/ja.po
-2024/02/25 | 47499 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2024/02/26 | 47499 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2024/02/11 | 59155 | systems/texlive/tlnet/tlpkg/translations/nl.po
2024/02/11 | 68210 | systems/texlive/tlnet/tlpkg/translations/pl.po
2024/02/11 | 83641 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
@@ -329328,7 +329335,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2024/02/26 | 186 | timestamp
+2024/02/27 | 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 32d39cf151..8f220a3e89 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 61e1922227..361960d43b 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,68 @@
+2024/02/26 | 973524 | systems/texlive/tlnet/archive/newtx.doc.r70168.tar.xz
+2024/02/26 | 92770 | macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdf
+2024/02/26 | 896 | macros/latex/contrib/create-theorem/README.md
+2024/02/26 | 858720 | systems/texlive/tlnet/archive/beautynote.doc.r70166.tar.xz
+2024/02/26 | 82082 | macros/latex/contrib/cleveref-forward.zip
+2024/02/26 | 81312 | systems/texlive/tlnet/archive/crefthe.doc.r70165.tar.xz
+2024/02/26 | 80237 | macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural-cleveref.tex
+2024/02/26 | 79578 | macros/latex/contrib/create-theorem/code/create-theorem-preset-names-cleveref.tex
+2024/02/26 | 78085 | macros/latex/contrib/weiqi/weiqi.dtx
+2024/02/26 | 7312 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/02/26 | 7116 | systems/texlive/tlnet/archive/collection-latexextra.r70166.tar.xz
+2024/02/26 | 65462 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf
+2024/02/26 | 629172 | systems/texlive/tlnet/archive/easybook.doc.r70164.tar.xz
+2024/02/26 | 6061396 | systems/texlive/tlnet/archive/newtx.r70168.tar.xz
+2024/02/26 | 580696 | systems/texlive/tlnet/archive/frenchmath.doc.r70163.tar.xz
+2024/02/26 | 57952 | systems/texlive/tlnet/archive/proflycee.r70162.tar.xz
+2024/02/26 | 575 | macros/latex/contrib/weiqi/README.md
+2024/02/26 | 5749205 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/02/26 | 541900 | systems/texlive/tlnet/archive/ufrgscca.doc.r70161.tar.xz
+2024/02/26 | 5128 | systems/texlive/tlnet/archive/beautynote.r70166.tar.xz
+2024/02/26 | 5000 | systems/texlive/tlnet/archive/crefthe.r70165.tar.xz
+2024/02/26 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/02/26 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/02/26 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/02/26 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/02/26 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/02/26 | 48571 | macros/latex/contrib/create-theorem/code/create-theorem.sty
+2024/02/26 | 47499 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2024/02/26 | 453 | info/tlmgrbasics/README
+2024/02/26 | 448 | systems/texlive/tlnet/archive/mcf2graph.r70167.tar.xz
+2024/02/26 | 432784 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70146.tar.xz
+2024/02/26 | 4118047 | biblio/ctan-bibdata.zip
+2024/02/26 | 38340 | macros/latex/contrib/cleveref-forward/cleveref-forward.sty
+2024/02/26 | 38018 | macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex
+2024/02/26 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/02/26 | 350256 | macros/latex/contrib/weiqi.zip
+2024/02/26 | 345824 | macros/latex/contrib/weiqi/weiqi.pdf
+2024/02/26 | 2956 | systems/texlive/tlnet/archive/frenchmath.r70163.tar.xz
+2024/02/26 | 2850306 | biblio/ctan-bibdata/ctan.bib
+2024/02/26 | 2612 | macros/latex/contrib/cleveref-forward/README.md
+2024/02/26 | 26035580 | systems/texlive/tlnet/install-tl.zip
+2024/02/26 | 2552252 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/02/26 | 24688 | systems/texlive/tlnet/archive/ufrgscca.r70161.tar.xz
+2024/02/26 | 24523 | info/tlmgrbasics/doc/tlmgr.tex
+2024/02/26 | 21031346 | systems/texlive/tlnet/install-tl-windows.exe
+2024/02/26 | 19339962 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/02/26 | 19106 | macros/latex/contrib/create-theorem/LICENSE
+2024/02/26 | 19106 | macros/latex/contrib/cleveref-forward/LICENSE
+2024/02/26 | 1874236 | systems/texlive/tlnet/archive/proflycee.doc.r70162.tar.xz
+2024/02/26 | 16828 | systems/texlive/tlnet/archive/easybook.r70164.tar.xz
+2024/02/26 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/02/26 | 16716 | systems/texlive/tlnet/archive/easybook.source.r70164.tar.xz
+2024/02/26 | 164419 | info/tlmgrbasics.zip
+2024/02/26 | 160621 | info/tlmgrbasics/doc/tlmgr.pdf
+2024/02/26 | 15481 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
+2024/02/26 | 15456 | systems/texlive/tlnet/archive/frenchmath.source.r70163.tar.xz
+2024/02/26 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/02/26 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/02/26 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/02/26 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/02/26 | 12 | macros/latex/contrib/create-theorem/DEPENDS.txt
+2024/02/26 | 127824 | macros/latex/contrib/create-theorem.zip
+2024/02/26 | 1259 | macros/latex/contrib/weiqi/weiqi.ins
+2024/02/26 | 114040 | systems/texlive/tlnet/archive/texlive-scripts.r70146.tar.xz
+2024/02/26 | 1062288 | systems/texlive/tlnet/archive/mcf2graph.doc.r70167.tar.xz
2024/02/25 | 99039 | graphics/mcf2graph/mcf_manual.tex
2024/02/25 | 9677453 | fonts/newtx.zip
2024/02/25 | 9471 | macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -8,13 +73,10 @@
2024/02/25 | 8092 | systems/texlive/tlnet/archive/fontsetup.r70135.tar.xz
2024/02/25 | 78284 | macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
2024/02/25 | 77050 | macros/latex/contrib/easybook/easybook.dtx
-2024/02/25 | 76148 | systems/texlive/tlnet/archive/crefthe.doc.r70139.tar.xz
2024/02/25 | 750 | macros/latex/contrib/beautynote/README.md
2024/02/25 | 732456 | systems/texlive/tlnet/archive/bithesis.doc.r70136.tar.xz
-2024/02/25 | 7265 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/02/25 | 71860 | macros/latex/contrib/crefthe/crefthe-doc.pdf
2024/02/25 | 713698 | graphics/mcf2graph/mcf_example.pdf
-2024/02/25 | 7112 | systems/texlive/tlnet/archive/collection-latexextra.r70140.tar.xz
2024/02/25 | 68212 | systems/texlive/tlnet/archive/cleveref-forward.doc.r70140.tar.xz
2024/02/25 | 648482 | macros/latex/contrib/easybook.zip
2024/02/25 | 604258 | macros/latex/contrib/easybook/easybook.pdf
@@ -25,25 +87,14 @@
2024/02/25 | 5928 | systems/texlive/tlnet/archive/cleveref-forward.r70140.tar.xz
2024/02/25 | 592829 | macros/latex/contrib/ufrgscca.zip
2024/02/25 | 580908 | macros/latex/contrib/frenchmath/frenchmath.pdf
-2024/02/25 | 5747979 | systems/texlive/tlnet/install-tl-unx.tar.gz
2024/02/25 | 5241 | macros/latex/contrib/beautynote/beautynote.tex
-2024/02/25 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/02/25 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/02/25 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2024/02/25 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/02/25 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/02/25 | 4858 | graphics/mcf2graph/mcf_example.tex
2024/02/25 | 4843 | macros/latex/contrib/crefthe/README.md
2024/02/25 | 47939 | macros/latex/contrib/frenchmath/frenchmath.dtx
-2024/02/25 | 47499 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2024/02/25 | 4599 | macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex
2024/02/25 | 45440 | macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.tex
-2024/02/25 | 4424 | systems/texlive/tlnet/archive/crefthe.r70139.tar.xz
-2024/02/25 | 432792 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70120.tar.xz
2024/02/25 | 426012 | systems/texlive/tlnet/archive/litetable.doc.r70138.tar.xz
2024/02/25 | 41416 | systems/texlive/tlnet/archive/projlib.doc.r70137.tar.xz
-2024/02/25 | 4117966 | biblio/ctan-bibdata.zip
-2024/02/25 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2024/02/25 | 3612 | systems/texlive/tlnet/archive/litetable.r70138.tar.xz
2024/02/25 | 3600 | systems/texlive/tlnet/archive/context-squares.r70141.tar.xz
2024/02/25 | 3422 | macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
@@ -52,37 +103,26 @@
2024/02/25 | 31388 | systems/texlive/tlnet/archive/projlib.source.r70137.tar.xz
2024/02/25 | 31216 | systems/texlive/tlnet/archive/projlib.r70137.tar.xz
2024/02/25 | 29418 | macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
-2024/02/25 | 2849851 | biblio/ctan-bibdata/ctan.bib
-2024/02/25 | 26035567 | systems/texlive/tlnet/install-tl.zip
2024/02/25 | 25864 | systems/texlive/tlnet/archive/bithesis.source.r70136.tar.xz
2024/02/25 | 25797 | macros/latex/contrib/crefthe/crefthe.sty
-2024/02/25 | 2549612 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2024/02/25 | 25347 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
2024/02/25 | 249425 | macros/latex/contrib/proflycee/doc/ProfLycee-docctan.zip
2024/02/25 | 23291 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
2024/02/25 | 22352 | macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
2024/02/25 | 21101 | graphics/mcf2graph/CHANGELOG
-2024/02/25 | 21028604 | systems/texlive/tlnet/install-tl-windows.exe
2024/02/25 | 2064 | macros/latex/contrib/ufrgscca/latex/ufrgscca-base-en.def
2024/02/25 | 20333 | macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
2024/02/25 | 2000 | systems/texlive/tlnet/archive/context-squares.doc.r70141.tar.xz
2024/02/25 | 1955150 | macros/latex/contrib/proflycee.zip
-2024/02/25 | 19338291 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2024/02/25 | 19263 | macros/latex/contrib/crefthe/crefthe-doc.tex
2024/02/25 | 19229 | macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-ptBR.tex
2024/02/25 | 19196 | systems/texlive/tlnet/archive/bithesis.r70136.tar.xz
2024/02/25 | 19106 | macros/latex/contrib/crefthe/LICENSE
2024/02/25 | 1901 | macros/latex/contrib/ufrgscca/latex/ufrgscca-base-ptBR.def
2024/02/25 | 17611 | macros/latex/contrib/beautynote/beautynote.cls
-2024/02/25 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2024/02/25 | 1612313 | macros/latex/contrib/beautynote.zip
-2024/02/25 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2024/02/25 | 1539 | graphics/mcf2graph/mcf_exa_soc.mp
-2024/02/25 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/02/25 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/02/25 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2024/02/25 | 1179 | graphics/mcf2graph/template_soc.mp
-2024/02/25 | 114036 | systems/texlive/tlnet/archive/texlive-scripts.r70120.tar.xz
2024/02/25 | 11041 | macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
2024/02/25 | 109452 | graphics/mcf2graph/main_lib.mcf
2024/02/25 | 1071116 | graphics/mcf2graph.zip
@@ -96,7 +136,6 @@
2024/02/24 | 83404 | systems/texlive/tlnet/archive/dtk.doc.r70117.tar.xz
2024/02/24 | 7740 | systems/texlive/tlnet/archive/minimalist.doc.r70101.tar.xz
2024/02/24 | 759311 | macros/unicodetex/latex/bithesis.zip
-2024/02/24 | 75033 | macros/latex/contrib/cleveref-forward.zip
2024/02/24 | 7424 | systems/texlive/tlnet/archive/colorist.doc.r70101.tar.xz
2024/02/24 | 731709 | macros/unicodetex/latex/bithesis/bithesis.pdf
2024/02/24 | 7127 | macros/latex/contrib/litetable/doc/litetable-demo.tex
@@ -106,7 +145,6 @@
2024/02/24 | 6548 | macros/unicodetex/latex/fontsetup/tex/fontsetup.sty
2024/02/24 | 632 | systems/texlive/tlnet/archive/collection-games.r70111.tar.xz
2024/02/24 | 603914 | macros/latex/contrib/litetable.zip
-2024/02/24 | 58724 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf
2024/02/24 | 5846 | macros/latex/contrib/projlib/README.md
2024/02/24 | 57564 | systems/texlive/tlnet/archive/make4ht.r70117.tar.xz
2024/02/24 | 575180 | systems/texlive/tlnet/archive/se2thesis.doc.r70117.tar.xz
@@ -118,7 +156,6 @@
2024/02/24 | 48681 | fonts/newtx/README
2024/02/24 | 452040 | systems/texlive/tlnet/archive/twoxtwogame.doc.r70111.tar.xz
2024/02/24 | 41424 | systems/texlive/tlnet/archive/luaxml.r70117.tar.xz
-2024/02/24 | 38194 | macros/latex/contrib/cleveref-forward/cleveref-forward.sty
2024/02/24 | 37933 | macros/latex/contrib/projlib/logo/ProjLib-logo.png
2024/02/24 | 37332 | systems/texlive/tlnet/archive/tagpdf.r70117.tar.xz
2024/02/24 | 371 | macros/unicodetex/latex/fontsetup/README
@@ -145,13 +182,10 @@
2024/02/24 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
2024/02/24 | 1946 | macros/unicodetex/latex/bithesis/README.md
2024/02/24 | 19106 | macros/latex/contrib/projlib/LICENSE
-2024/02/24 | 19106 | macros/latex/contrib/cleveref-forward/LICENSE
2024/02/24 | 186184 | systems/texlive/tlnet/archive/make4ht.doc.r70117.tar.xz
2024/02/24 | 18160 | systems/texlive/tlnet/archive/tex4ebook.r70117.tar.xz
2024/02/24 | 177468 | macros/latex/contrib/litetable/doc/litetable-en.pdf
-2024/02/24 | 1743 | macros/latex/contrib/cleveref-forward/README.md
2024/02/24 | 16108 | macros/latex/contrib/litetable/doc/litetable-en.tex
-2024/02/24 | 15388 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
2024/02/24 | 14716 | systems/texlive/tlnet/archive/dtk.r70117.tar.xz
2024/02/24 | 141791 | fonts/newtx/tex/newtxmath.sty
2024/02/24 | 14139 | macros/latex/contrib/litetable/doc/litetable-cn.tex
@@ -205,7 +239,6 @@
2024/02/23 | 646 | support/make4ht/extensions/make4ht-ext-common_filters.lua
2024/02/23 | 6456 | support/make4ht/make4ht-lib.lua
2024/02/23 | 62963 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-stream.pdf
-2024/02/23 | 629168 | systems/texlive/tlnet/archive/easybook.doc.r70073.tar.xz
2024/02/23 | 627 | support/make4ht/domfilters/make4ht-odtimagesize.lua
2024/02/23 | 6239 | macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lmt
2024/02/23 | 6231263 | fonts/simpleicons.zip
@@ -371,9 +404,7 @@
2024/02/23 | 174134 | fonts/simpleicons/doc/bindings.tex
2024/02/23 | 1732 | support/tex4ebook/tex4ebook-exec_mobi.lua
2024/02/23 | 168747 | graphics/pgf/contrib/twoxtwogame/twoxtwogame.sty
-2024/02/23 | 16828 | systems/texlive/tlnet/archive/easybook.r70073.tar.xz
2024/02/23 | 16746 | support/tex4ebook/tex4ebook-exec_epub.lua
-2024/02/23 | 16720 | systems/texlive/tlnet/archive/easybook.source.r70073.tar.xz
2024/02/23 | 16645 | macros/luatex/latex/gitinfo-lua/doc/gitinfo-lua.tex
2024/02/23 | 1655 | support/make4ht/domfilters/make4ht-fixinlines.lua
2024/02/23 | 1632 | fonts/simpleicons/tex/simpleicons.sty
@@ -469,7 +500,6 @@
2024/02/22 | 557427 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
2024/02/22 | 5427 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
2024/02/22 | 542196 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
-2024/02/22 | 541200 | systems/texlive/tlnet/archive/ufrgscca.doc.r70054.tar.xz
2024/02/22 | 540930 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
2024/02/22 | 536366 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
2024/02/22 | 528830 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
@@ -520,7 +550,6 @@
2024/02/22 | 2586486 | systems/doc/metapost.zip
2024/02/22 | 24880 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
2024/02/22 | 24806 | macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
-2024/02/22 | 24348 | systems/texlive/tlnet/archive/ufrgscca.r70054.tar.xz
2024/02/22 | 23335 | macros/latex/contrib/tagpdf/tagpdf.dtx
2024/02/22 | 23311 | macros/latex/contrib/tagpdf/acrobat.png
2024/02/22 | 2280 | macros/latex/contrib/tagpdf/tagpdf-code.tex
@@ -590,7 +619,6 @@
2024/02/21 | 944 | fonts/newtx/tfm/ntx-Bold-lf-ot1.tfm
2024/02/21 | 92773 | macros/latex/contrib/homework/homework-demo-jp.pdf
2024/02/21 | 90105 | macros/latex/contrib/homework/homework-demo-cn.pdf
-2024/02/21 | 88437 | macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdf
2024/02/21 | 865460 | systems/texlive/tlnet/archive/l3backend.doc.r70027.tar.xz
2024/02/21 | 8332 | fonts/newtx/tfm/ntx-BoldItalic-osf-sc-ly1.tfm
2024/02/21 | 8332 | fonts/newtx/tfm/ntx-BoldItalic-lf-sc-ly1.tfm
@@ -608,12 +636,10 @@
2024/02/21 | 8048 | fonts/newtx/tfm/ntx-Italic-tosf-scl-ly1.tfm
2024/02/21 | 8048 | fonts/newtx/tfm/ntx-Italic-tlf-sc-ly1.tfm
2024/02/21 | 8048 | fonts/newtx/tfm/ntx-Italic-tlf-scl-ly1.tfm
-2024/02/21 | 80289 | macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural.tex
2024/02/21 | 8024 | fonts/newtx/tfm/ntx-Slanted-lf-sc-ly1.tfm
2024/02/21 | 8012 | fonts/newtx/tfm/ntx-Slanted-osf-sc-ly1.tfm
2024/02/21 | 7984 | fonts/newtx/tfm/ntx-Slanted-tosf-sc-ly1.tfm
2024/02/21 | 7984 | fonts/newtx/tfm/ntx-Slanted-tlf-sc-ly1.tfm
-2024/02/21 | 79630 | macros/latex/contrib/create-theorem/code/create-theorem-preset-names.tex
2024/02/21 | 7932 | fonts/newtx/tfm/ntx-BoldSlanted-lf-sc-ly1.tfm
2024/02/21 | 7928 | fonts/newtx/tfm/ntx-BoldSlanted-osf-sc-ly1.tfm
2024/02/21 | 7900 | fonts/newtx/tfm/ntx-BoldSlanted-tosf-sc-ly1.tfm
@@ -661,7 +687,6 @@
2024/02/21 | 7237 | macros/unicodetex/latex/beaulivre/README.md
2024/02/21 | 7224 | fonts/newtx/tfm/ntxth-Italic-tlf-ly1.tfm
2024/02/21 | 7151 | systems/doc/metapost/source-manual/mpman-app-numbersystems.tex
-2024/02/21 | 693 | macros/latex/contrib/create-theorem/README.md
2024/02/21 | 66777 | macros/context/contrib/context-handlecsv/tex/context/third/handlecsv/t-handlecsv.lua
2024/02/21 | 66376 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.pdf
2024/02/21 | 65964 | systems/texlive/tlnet/archive/langsci.r70028.tar.xz
@@ -671,7 +696,6 @@
2024/02/21 | 619476 | systems/texlive/tlnet/archive/l3kernel.source.r70027.tar.xz
2024/02/21 | 6052 | macros/context/contrib/context-handlecsv/tex/context/third/handlecsv/t-handlecsv-extra.lua
2024/02/21 | 586531 | systems/doc/xetex.zip
-2024/02/21 | 580400 | systems/texlive/tlnet/archive/frenchmath.doc.r70031.tar.xz
2024/02/21 | 578 | macros/luatex/latex/lua-placeholders/README.md
2024/02/21 | 553023 | macros/latex/contrib/homework.zip
2024/02/21 | 54480 | macros/latex/contrib/homework/homework-demo-de.pdf
@@ -681,7 +705,6 @@
2024/02/21 | 520 | fonts/newtx/vf/ntx-Bold-lf-ot1.vf
2024/02/21 | 4999 | systems/doc/aleph.zip
2024/02/21 | 49656 | systems/texlive/tlnet/archive/piton.source.r70029.tar.xz
-2024/02/21 | 48528 | macros/latex/contrib/create-theorem/code/create-theorem.sty
2024/02/21 | 4828 | fonts/newtx/tfm/ntx-BoldItalic-lf-scl-ot1.tfm
2024/02/21 | 4820 | fonts/newtx/tfm/ntx-BoldItalic-osf-scl-ot1.tfm
2024/02/21 | 4776 | fonts/newtx/tfm/ntx-BoldItalic-tlf-scl-ot1.tfm
@@ -707,7 +730,6 @@
2024/02/21 | 4043 | macros/latex/contrib/homework/homework-demo-de.tex
2024/02/21 | 3968 | systems/texlive/tlnet/archive/mismath.r70030.tar.xz
2024/02/21 | 3928 | macros/latex/contrib/homework/homework-demo-fr.tex
-2024/02/21 | 38008 | macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex
2024/02/21 | 3795 | macros/latex/contrib/homework/homework-demo-es.tex
2024/02/21 | 3741 | macros/luatex/latex/lua-placeholders/scripts/lua-placeholders-parser.lua
2024/02/21 | 3644 | systems/texlive/tlnet/archive/colortbl.r70034.tar.xz
@@ -781,7 +803,6 @@
2024/02/21 | 3008 | fonts/newtx/tfm/ntx-Bold-osf-ot1.tfm
2024/02/21 | 2976 | fonts/newtx/tfm/ntx-Bold-tosf-ot1.tfm
2024/02/21 | 2976 | fonts/newtx/tfm/ntx-Bold-tlf-ot1.tfm
-2024/02/21 | 2924 | systems/texlive/tlnet/archive/frenchmath.r70031.tar.xz
2024/02/21 | 289 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.yaml
2024/02/21 | 2839 | macros/luatex/latex/lua-placeholders/tex/lua-placeholders.sty
2024/02/21 | 2821604 | systems/texlive/tlnet/archive/citation-style-language.r70035.tar.xz
@@ -807,7 +828,6 @@
2024/02/21 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
2024/02/21 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
2024/02/21 | 19106 | macros/latex/contrib/homework/LICENSE
-2024/02/21 | 19106 | macros/latex/contrib/create-theorem/LICENSE
2024/02/21 | 19104 | fonts/newtx/tfm/ntx-Slanted-osf-scl-t1.tfm
2024/02/21 | 19076 | fonts/newtx/tfm/ntx-Slanted-tosf-scl-t1.tfm
2024/02/21 | 19076 | fonts/newtx/tfm/ntx-Slanted-tlf-scl-t1.tfm
@@ -823,7 +843,6 @@
2024/02/21 | 179384 | systems/texlive/tlnet/archive/l3kernel.r70027.tar.xz
2024/02/21 | 17452 | systems/texlive/tlnet/archive/piton.r70029.tar.xz
2024/02/21 | 16236 | systems/texlive/tlnet/archive/l3backend.r70027.tar.xz
-2024/02/21 | 15404 | systems/texlive/tlnet/archive/frenchmath.source.r70031.tar.xz
2024/02/21 | 15088 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-manual.tex
2024/02/21 | 1451811 | macros/latex/contrib/listings/listings-devel.pdf
2024/02/21 | 14331 | macros/unicodetex/latex/beaulivre.zip
@@ -836,7 +855,6 @@
2024/02/21 | 13292 | fonts/newtx/tfm/ntx-BoldItalic-tlf-sc-t1.tfm
2024/02/21 | 13284 | fonts/newtx/tfm/ntx-BoldItalic-tosf-sc-t1.tfm
2024/02/21 | 12 | macros/latex/contrib/homework/DEPENDS.txt
-2024/02/21 | 12 | macros/latex/contrib/create-theorem/DEPENDS.txt
2024/02/21 | 12880 | systems/texlive/tlnet/archive/colortbl.source.r70034.tar.xz
2024/02/21 | 12617 | macros/latex/contrib/homework/homework.cls
2024/02/21 | 12604 | fonts/newtx/tfm/ntx-Italic-lf-sc-t1.tfm
@@ -855,7 +873,6 @@
2024/02/21 | 12500 | fonts/newtx/tfm/ntx-BoldSlanted-tlf-sc-t1.tfm
2024/02/21 | 12496 | fonts/newtx/tfm/ntx-Slanted-tosf-sc-t1.tfm
2024/02/21 | 12496 | fonts/newtx/tfm/ntx-Slanted-tlf-sc-t1.tfm
-2024/02/21 | 123400 | macros/latex/contrib/create-theorem.zip
2024/02/21 | 12328 | fonts/newtx/tfm/ntx-Bold-lf-sc-t1.tfm
2024/02/21 | 12324 | fonts/newtx/tfm/ntx-Bold-osf-sc-t1.tfm
2024/02/21 | 12316 | fonts/newtx/tfm/ntx-Regular-lf-sc-t1.tfm
@@ -1382,146 +1399,3 @@
2024/02/20 | 100486 | macros/latex/contrib/l3kernel/l3seq.dtx
2024/02/20 | 1002355 | macros/luatex/latex/piton/piton.pdf
2024/02/20 | 10018 | macros/latex/contrib/l3experimental/l3draw-scopes.dtx
-2024/02/19 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
-2024/02/19 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
-2024/02/19 | 940323 | macros/latex/contrib/nicematrix/nicematrix.pdf
-2024/02/19 | 910508 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
-2024/02/19 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
-2024/02/19 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
-2024/02/19 | 8695 | macros/luatex/generic/luatexja/src/ltj-otf.lua
-2024/02/19 | 8660 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
-2024/02/19 | 83036 | macros/latex/contrib/pynotebook/doc/pynotebook-examples-pitonpyluatex.pdf
-2024/02/19 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
-2024/02/19 | 8103 | macros/luatex/generic/luatexja/src/jfm-min.lua
-2024/02/19 | 7836 | macros/latex/contrib/pynotebook/doc/pynotebook-examples-pitonpyluatex.tex
-2024/02/19 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
-2024/02/19 | 7691 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
-2024/02/19 | 7546 | macros/luatex/generic/luatexja/src/ltj-math.lua
-2024/02/19 | 701120 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
-2024/02/19 | 700116 | systems/texlive/tlnet/archive/sjtutex.doc.r69967.tar.xz
-2024/02/19 | 6952 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
-2024/02/19 | 6922 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
-2024/02/19 | 69217 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
-2024/02/19 | 680 | systems/texlive/tlnet/archive/collection-langjapanese.r69967.tar.xz
-2024/02/19 | 66496 | systems/texlive/tlnet/archive/jlreq-deluxe.doc.r69971.tar.xz
-2024/02/19 | 6571 | macros/luatex/generic/luatexja/src/ltj-latex.sty
-2024/02/19 | 6529 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
-2024/02/19 | 6289 | macros/luatex/generic/luatexja/src/ltj-base.sty
-2024/02/19 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
-2024/02/19 | 6135 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
-2024/02/19 | 6117 | macros/latex/contrib/updatemarks/tex/updatemarks-nums.sty
-2024/02/19 | 609209 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
-2024/02/19 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
-2024/02/19 | 5931 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
-2024/02/19 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
-2024/02/19 | 58140 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
-2024/02/19 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
-2024/02/19 | 55401 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
-2024/02/19 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
-2024/02/19 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
-2024/02/19 | 541168 | macros/luatex/generic/luatexja/doc/luatexja.dtx
-2024/02/19 | 5302 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
-2024/02/19 | 5230 | macros/luatex/generic/luatexja/src/ltj-debug.lua
-2024/02/19 | 512752 | macros/latex/contrib/pynotebook.zip
-2024/02/19 | 511281 | macros/latex/contrib/updatemarks/doc/updatemarks.pdf
-2024/02/19 | 508808 | macros/latex/contrib/updatemarks.zip
-2024/02/19 | 506 | macros/latex/contrib/updatemarks/README.md
-2024/02/19 | 50152 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
-2024/02/19 | 48961 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
-2024/02/19 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
-2024/02/19 | 460413 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
-2024/02/19 | 4521 | macros/luatex/generic/luatexja/src/ltj-stack.lua
-2024/02/19 | 4480 | macros/luatex/generic/luatexja/src/ltj-plain.sty
-2024/02/19 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
-2024/02/19 | 436049 | macros/latex/contrib/pynotebook/doc/pynotebook-doc.pdf
-2024/02/19 | 4308 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
-2024/02/19 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
-2024/02/19 | 425 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
-2024/02/19 | 4215 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
-2024/02/19 | 4201 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
-2024/02/19 | 4126 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
-2024/02/19 | 40540 | macros/luatex/generic/luatexja/src/ltj-direction.lua
-2024/02/19 | 403681 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
-2024/02/19 | 39284 | systems/texlive/tlnet/archive/sjtutex.source.r69967.tar.xz
-2024/02/19 | 391680 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
-2024/02/19 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
-2024/02/19 | 3827528 | macros/luatex/generic/luatexja.zip
-2024/02/19 | 3756 | macros/luatex/generic/luatexja/src/ltj-compat.lua
-2024/02/19 | 3672 | fonts/newtx/tfm/ntxebgbmi.tfm
-2024/02/19 | 3650 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
-2024/02/19 | 3632 | macros/luatex/generic/luatexja/README
-2024/02/19 | 3600 | fonts/newtx/tfm/ntxebgmi.tfm
-2024/02/19 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
-2024/02/19 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
-2024/02/19 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
-2024/02/19 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
-2024/02/19 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
-2024/02/19 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
-2024/02/19 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
-2024/02/19 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
-2024/02/19 | 32227 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
-2024/02/19 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
-2024/02/19 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
-2024/02/19 | 3004705 | macros/latex/contrib/nicematrix.zip
-2024/02/19 | 29891 | macros/luatex/generic/luatexja/src/luatexja-core.sty
-2024/02/19 | 29612 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
-2024/02/19 | 2724 | fonts/newtx/tfm/ntxebgbmia.tfm
-2024/02/19 | 27058 | macros/luatex/generic/luatexja/src/lltjext.sty
-2024/02/19 | 2636 | fonts/newtx/tfm/ntxebgmia.tfm
-2024/02/19 | 2599 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
-2024/02/19 | 258311 | macros/latex/contrib/nicematrix/nicematrix.tex
-2024/02/19 | 2582 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
-2024/02/19 | 2573 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
-2024/02/19 | 248449 | macros/latex/contrib/nicematrix/nicematrix-french.tex
-2024/02/19 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
-2024/02/19 | 2340 | macros/luatex/generic/luatexja/src/jfm-jis.lua
-2024/02/19 | 2325721 | macros/latex/contrib/nicematrix/nicematrix-code.pdf
-2024/02/19 | 228608 | systems/texlive/tlnet/archive/randexam.doc.r69965.tar.xz
-2024/02/19 | 22793 | macros/luatex/generic/luatexja/src/luatexja.lua
-2024/02/19 | 22125 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
-2024/02/19 | 2203 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
-2024/02/19 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
-2024/02/19 | 21860 | systems/texlive/tlnet/archive/jlreq-deluxe.r69971.tar.xz
-2024/02/19 | 21204 | macros/latex/contrib/updatemarks/tex/updatemarks.sty
-2024/02/19 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
-2024/02/19 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
-2024/02/19 | 1987 | macros/latex/contrib/mismath/mismath.ins
-2024/02/19 | 1973 | macros/luatex/generic/luatexja/src/luatexja.sty
-2024/02/19 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
-2024/02/19 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
-2024/02/19 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
-2024/02/19 | 19234 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
-2024/02/19 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
-2024/02/19 | 189539 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
-2024/02/19 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
-2024/02/19 | 178115 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
-2024/02/19 | 1740 | macros/luatex/generic/luatexja/tool/test_exist_nodelib.tex
-2024/02/19 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
-2024/02/19 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
-2024/02/19 | 1611 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
-2024/02/19 | 15873 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
-2024/02/19 | 154928 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
-2024/02/19 | 154316 | systems/texlive/tlnet/archive/sjtutex.r69967.tar.xz
-2024/02/19 | 15429 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
-2024/02/19 | 1536 | macros/luatex/generic/luatexja/COPYING
-2024/02/19 | 15283 | macros/latex/contrib/updatemarks/doc/updatemarks.tex
-2024/02/19 | 14914 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
-2024/02/19 | 14840 | macros/latex/contrib/pynotebook/doc/pynotebook-doc.tex
-2024/02/19 | 1460 | fonts/newtx/tfm/ebgMI.tfm
-2024/02/19 | 1432 | fonts/newtx/tfm/ebgBMI.tfm
-2024/02/19 | 14050 | macros/latex/contrib/pynotebook/tex/pynotebook.sty
-2024/02/19 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
-2024/02/19 | 13895 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
-2024/02/19 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
-2024/02/19 | 13577 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
-2024/02/19 | 13445 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
-2024/02/19 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
-2024/02/19 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
-2024/02/19 | 12463 | macros/luatex/generic/luatexja/src/ltj-base.lua
-2024/02/19 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
-2024/02/19 | 11724 | systems/texlive/tlnet/archive/randexam.r69965.tar.xz
-2024/02/19 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
-2024/02/19 | 1143952 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
-2024/02/19 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
-2024/02/19 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
-2024/02/19 | 10650 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index d9880a1634..93fce7b123 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 25-02-2024, 02:00:04
+%% created at 26-02-2024, 02:00:04
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -6431,6 +6431,17 @@
url = {https://ctan.org/pkg/beautybook},
}
+@manual{ctan-beautynote,
+ title = {The \texttt{beautynote} package},
+ subtitle = {A package designed to meet the publication of books and the production of \LaTeX{} templates, with elegant chapter},
+ author = {Shilong Lu},
+ date = {2024-02-25},
+ version = {},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/beautynote},
+ url = {https://ctan.org/pkg/beautynote},
+}
+
@manual{ctan-beebe-dvi,
title = {The \texttt{Beebe-DVI} package},
subtitle = {A modular collection of DVI processors},
@@ -13088,7 +13099,7 @@
title = {The \texttt{cleveref-forward} package},
subtitle = {Forward-referencing functionality for cleveref},
author = {Jinwen XU},
- date = {2024-02-24},
+ date = {2024-02-25},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/cleveref-forward},
@@ -16133,9 +16144,9 @@
@manual{ctan-crefthe,
title = {The \texttt{crefthe} package},
- subtitle = {Cross referencing with proper definite articles},
+ subtitle = {Cross referencing with proper definite articles and declensions},
author = {Jinwen XU},
- date = {2024-02-24},
+ date = {2024-02-25},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/crefthe},
@@ -20741,8 +20752,8 @@
title = {The \texttt{easybook} package},
subtitle = {Easily typesetting Chinese theses or books},
author = {Qu Yi},
- date = {2024-02-22},
- version = {2024ak},
+ date = {2024-02-25},
+ version = {2024al},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/easybook},
url = {https://ctan.org/pkg/easybook},
@@ -27755,8 +27766,8 @@
title = {The \texttt{frenchmath} package},
subtitle = {Typesetting mathematics according to French rules},
author = {Antoine Missier},
- date = {2024-02-20},
- version = {2.9},
+ date = {2024-02-25},
+ version = {2.10},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/frenchmath},
url = {https://ctan.org/pkg/frenchmath},
@@ -44461,8 +44472,8 @@
title = {The \texttt{mcf2graph} package},
subtitle = {Draw chemical structure diagrams with MetaPost},
author = {Akira Yamaji},
- date = {2024-01-21},
- version = {5.11},
+ date = {2024-02-25},
+ version = {5.12},
license = {mit},
mirror = {https://mirror.ctan.org/graphics/mcf2graph},
url = {https://ctan.org/pkg/mcf2graph},
@@ -48866,8 +48877,8 @@
title = {The \texttt{newtx} package},
subtitle = {Alternative uses of the TX fonts, with improved metrics},
author = {Michael Sharpe},
- date = {2024-02-09},
- version = {1.738},
+ date = {2024-02-25},
+ version = {1.739},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/fonts/newtx},
url = {https://ctan.org/pkg/newtx},
@@ -55536,8 +55547,8 @@
title = {The \texttt{ProfLycee} package},
subtitle = {A \LaTeX{} package for French maths teachers in high school},
author = {Cédric Pierquet},
- date = {2024-02-11},
- version = {3.02b},
+ date = {2024-02-25},
+ version = {3.02c},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/proflycee},
url = {https://ctan.org/pkg/proflycee},
@@ -73858,8 +73869,8 @@
title = {The \texttt{ufrgscca} package},
subtitle = {A bundle for undergraduate students final work/report (tcc) at UFRGS/EE},
author = {Alceu Frigeri},
- date = {2024-02-21},
- version = {2.4a},
+ date = {2024-02-25},
+ version = {2.5},
license = {lppl1.3c,gpl},
mirror = {https://mirror.ctan.org/macros/latex/contrib/ufrgscca},
url = {https://ctan.org/pkg/ufrgscca},
diff --git a/info/tlmgrbasics/README b/info/tlmgrbasics/README
index 9e2c008822..ca04516e29 100644
--- a/info/tlmgrbasics/README
+++ b/info/tlmgrbasics/README
@@ -1,5 +1,5 @@
This is the README for the tlmgrbasics package,
-version 2023-11-28.
+version 2024-02-26.
This package provides simplified documentation for tlmgr,
the TeX Live Native Manager. It is derived from tlmgr.1, the
diff --git a/info/tlmgrbasics/doc/tlmgr.pdf b/info/tlmgrbasics/doc/tlmgr.pdf
index 7c6aeec18c..5c6964ddd1 100644
--- a/info/tlmgrbasics/doc/tlmgr.pdf
+++ b/info/tlmgrbasics/doc/tlmgr.pdf
Binary files differ
diff --git a/info/tlmgrbasics/doc/tlmgr.tex b/info/tlmgrbasics/doc/tlmgr.tex
index c59cdef6c9..d7646f650e 100644
--- a/info/tlmgrbasics/doc/tlmgr.tex
+++ b/info/tlmgrbasics/doc/tlmgr.tex
@@ -110,6 +110,7 @@ list of all CTAN mirrors with the status of each is at
\url{https://ctan.org/mirrors/mirmon}. Don't forget to add
\texttt{.../systems/texlive/tlnet} to the path.
+\enlargethispage*{10ex}
\item\texttt{tlmgr update -all}\par
Makes your local \TeX\ installation correspond to what is in
@@ -157,6 +158,10 @@ Searches the "installation medium" (normally the net) data base for the file \te
Displays general configuration information for \TeX\,Live, including active configuration files, path settings, and more.
+\item\texttt{tlmgr bug} \textsl{what}\par
+
+Displays available bug-reporting information for \textsl{what} (a package or file name).
+
\end{description}
\clearpage
@@ -702,6 +707,17 @@ Displays general configuration information for \TeX\,Live, including active conf
\clearpage
+\subsection{The {\tt bug} Action}
+\label{bug}
+\paragraph{Usage}
+\begin{list}{}{}
+\item\texttt{tlmgr bug} \textsl{what}
+\end{list}
+
+Displays available bug-reporting information for \textsl{what} (a package or file name).
+
+\clearpage
+
\clearpage
\section{Global Options}
\label{GlobalOptions}
diff --git a/macros/latex/contrib/cleveref-forward/README.md b/macros/latex/contrib/cleveref-forward/README.md
index 4a67b0cdd3..aab25e04a5 100644
--- a/macros/latex/contrib/cleveref-forward/README.md
+++ b/macros/latex/contrib/cleveref-forward/README.md
@@ -2,24 +2,26 @@
# `cleveref-forward` — Forward-referencing functionality for cleveref
-`cleveref-forward` aims at providing the forward-referencing functionality to `cleveref`.
+`cleveref-forward` aims at providing the forward-referencing functionality for the package `cleveref`.
-This package is derived from the package [`cleveref-usedon`](https://ctan.org/pkg/cleveref-usedon), with several fixes and enhancements.
+> This package is derived from the package [`cleveref-usedon`](https://ctan.org/pkg/cleveref-usedon), with several fixes and enhancements.
+
+> Package dependencies: [`cleveref`](https://ctan.org/pkg/cleveref), [*`crefthe`*](https://ctan.org/pkg/crefthe), [`iflang`](https://ctan.org/pkg/iflang), [`regexpatch`](https://ctan.org/pkg/regexpatch).
## Regarding the usage
It might be a good idea to start with the [demo documents](https://github.com/Jinwen-XU/cleveref-forward/tree/main/demo).
-> The documentation and examples written by Sven Pistre for the original package [`cleveref-usedon`](https://ctan.org/pkg/cleveref-usedon) are also very inspiring (but be aware that the usage has changed a lot, so some of the code there may no longer work here).
+> The [documentation](http://mirrors.ctan.org/macros/latex/contrib/cleveref-usedon/cleveref-usedon.pdf) and [examples](https://github.com/SvenPistre/cleveref-usedon/tree/main/examples) written by Sven Pistre for the original package `cleveref-usedon` are also very inspiring (but be aware that the usage has changed a lot, so some of the code there may no longer work here).
## Known issues / what to do next
-- The multilingual support is not yet perfect.
-- The code is somewhat messy for now, and the naming of many macros should be made better.
-- The support for displayed maths is still not perfect.
-- Not all configuration yields nice result, more examples are needed.
+- This package currently works for English, French, German, Italian and Spanish — certainly more languages would be added to this list in the future.
+- The code is somewhat messy for now, and the naming of many macros could be improved.
+- The support for displayed maths is still not perfect: currently, if you choose to print the forward-referencing message outside the math environment, then for `equation`, `multline` and `dmath`, it works nicely (you may need to configure `cleveref` to make it work with `dmath`); but for `align`, `flalign`, `alignat` and `gather`, it would only show the message for the last labeled line. The inside-math mode has no such limitation, but it would require sufficient margin width.
+- Not all configuration yields nice result, more appealing examples are needed.
-The original package [`cleveref-usedon`](https://ctan.org/pkg/cleveref-usedon) is better in terms of documentation, while the current package is slightly more advanced in terms of code. It is hoped that one day they can be combined into a better version.
+The original package [`cleveref-usedon`](https://ctan.org/pkg/cleveref-usedon) is nicer in terms of documentation, while the current package is slightly more advanced in terms of code. It is hoped that one day they can be combined into a better version.
## Acknowledgement
diff --git a/macros/latex/contrib/cleveref-forward/cleveref-forward.sty b/macros/latex/contrib/cleveref-forward/cleveref-forward.sty
index b40f53fd44..c23612adc0 100644
--- a/macros/latex/contrib/cleveref-forward/cleveref-forward.sty
+++ b/macros/latex/contrib/cleveref-forward/cleveref-forward.sty
@@ -13,7 +13,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage{cleveref-forward}
- {2024/02/24} {}
+ {2024/02/25} {}
{Forward-referencing functionality for cleveref}
\keys_define:nn { cleveref-forward }
@@ -21,28 +21,28 @@
, default .tl_set:N = \l__crfwd_default_package_option_tl
, default .initial:n = { }
, default .value_required:n = true
- , Used-On .meta:n = { default = UsedOn }
- , Used~On .meta:n = { default = UsedOn }
- , Used On .meta:n = { default = UsedOn }
- , used-on .meta:n = { default = UsedOn }
- , used~on .meta:n = { default = UsedOn }
- , used on .meta:n = { default = UsedOn }
- , uo .meta:n = { default = UsedOn }
- , Used-By .meta:n = { default = UsedBy }
- , Used~By .meta:n = { default = UsedBy }
- , Used By .meta:n = { default = UsedBy }
- , used-by .meta:n = { default = UsedBy }
- , used~by .meta:n = { default = UsedBy }
- , used by .meta:n = { default = UsedBy }
- , ub .meta:n = { default = UsedBy }
- , Used-By-And-On .meta:n = { default = UsedByAndOn }
- , Used~By~And~On .meta:n = { default = UsedByAndOn }
- , Used By And On .meta:n = { default = UsedByAndOn }
- , used-by-and-on .meta:n = { default = UsedByAndOn }
- , used~by~and~on .meta:n = { default = UsedByAndOn }
- , used by and on .meta:n = { default = UsedByAndOn }
- , ubao .meta:n = { default = UsedByAndOn }
- , ubo .meta:n = { default = UsedByAndOn }
+ , Used-On .meta:n = { default = used-on }
+ , Used~On .meta:n = { default = used-on }
+ , Used On .meta:n = { default = used-on }
+ , used-on .meta:n = { default = used-on }
+ , used~on .meta:n = { default = used-on }
+ , used on .meta:n = { default = used-on }
+ , uo .meta:n = { default = used-on }
+ , Used-By .meta:n = { default = used-by }
+ , Used~By .meta:n = { default = used-by }
+ , Used By .meta:n = { default = used-by }
+ , used-by .meta:n = { default = used-by }
+ , used~by .meta:n = { default = used-by }
+ , used by .meta:n = { default = used-by }
+ , ub .meta:n = { default = used-by }
+ , Used-By-And-On .meta:n = { default = used-by-and-on }
+ , Used~By~And~On .meta:n = { default = used-by-and-on }
+ , Used By And On .meta:n = { default = used-by-and-on }
+ , used-by-and-on .meta:n = { default = used-by-and-on }
+ , used~by~and~on .meta:n = { default = used-by-and-on }
+ , used by and on .meta:n = { default = used-by-and-on }
+ , ubao .meta:n = { default = used-by-and-on }
+ , ubo .meta:n = { default = used-by-and-on }
, crefthe .bool_set:N = \l__crfwd_crefthe_enabled_bool
, crefthe .initial:n = { false }
@@ -57,14 +57,16 @@
\RequirePackage { crefthe }
}
-\newcommand*{\@setcpagerefrange}[3]{%
+% Fix for cleveref in order to work with long range of pages
+% See https://tex.stackexchange.com/a/620066
+\providecommand*{\@setcpagerefrange}[3]{%
\@@setcpagerefrange{#1}{#2}{cref}{#3}}
-\newcommand*{\@setCpagerefrange}[3]{%
+\providecommand*{\@setCpagerefrange}[3]{%
\@@setcpagerefrange{#1}{#2}{Cref}{#3}}
-\newcommand*{\@setlabelcpagerefrange}[3]{%
+\providecommand*{\@setlabelcpagerefrange}[3]{%
\@@setcpagerefrange{#1}{#2}{labelcref}{#3}}
-% Temporary fix for cleveref in order to work with xr-hyper
+% Fix for cleveref in order to work with xr-hyper
% See https://tex.stackexchange.com/a/708445
\def\cref@getref#1#2{%
\expandafter\let\expandafter#2\csname r@#1@cref\endcsname%
diff --git a/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf b/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf
index 1c7bfaedba..96eb808702 100644
--- a/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf
+++ b/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex b/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
index 8c3595ce26..fec042a3a6 100644
--- a/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
+++ b/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
@@ -1,5 +1,5 @@
\documentclass[
- use style = plain,
+ % use style = plain,
title in boldface,
% title in sffamily,
emphasize theorems,
@@ -8,6 +8,8 @@
]{einfart}
\usepackage{ProjLib}
+\setmonofont[Scale=.9]{Iosevka}
+
\usepackage[crefthe]{cleveref-forward}
\usepackage{changepage,todonotes,marginnote}
@@ -32,7 +34,7 @@
breaklines = true,
frame = lines,
backgroundcolor = \color{code-background},
- flexiblecolumns = true,
+ basewidth = .5em,
escapeinside = {(*}{*)},
alsoletter = {_,:},
% numbers = left,
@@ -81,8 +83,8 @@
\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
-\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
-\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+\newcommand{\packageoption}[1]{\textcolor{code-option}{\texttt{#1}}}
+\newcommand{\commandoption}[1]{\textcolor{code-keys}{\texttt{#1}}}
%%================================
%% tip
@@ -157,7 +159,7 @@ It can also be used for some other types, such as items in \texttt{enumerate} li
\section{Specify a default option}
-If you wish to apply the mode \commandoption{used on}, or \commandoption{used by}, or \commandoption{used by and on} to all \lstinline|\cref| (and \lstinline|\labelcref|, etc.), you can use the package option \packageoption{default = }\meta{mode}. Then you don't need to write it everywhere. And if you wish to manually change this \meta{mode} somewhere, you can still specify it as the command option; and if you don't want the message to display for some references, you may also use the option \commandoption{no use} on the corresponding \lstinline|\label| to disable the related messages.
+If you wish to apply the mode \commandoption{used on}, or \commandoption{used by}, or \commandoption{used by and on} to all \lstinline|\cref| (and \lstinline|\labelcref|, etc.), you can use the package option \packageoption{default=}\meta{mode}. Then you don't need to write it everywhere. And if you wish to manually change this \meta{mode} somewhere, you can still specify it as the command option; and if you don't want the message to display for some references, you may also use the option \commandoption{no use} on the corresponding \lstinline|\label| to disable the related messages.
\section{Customizations}
@@ -177,7 +179,7 @@ Here is how you change the appearing text:
\SetUsedByAndOnMessageText{Appears in~#1 on~#2.}
\bigskip
-And here is an example of setting the message style with \textsf{todonotes}:
+And here is an example of setting the message style with the package \textsf{todonotes}:
\begin{code}
\SetForwardReferenceStyle
@@ -263,7 +265,7 @@ We use the same example:
\bigskip
As you might have noticed, \lstinline|\SetForwardReferenceStyleOutsideMath| is for setting the style of those messages that appear outside the equations.
-There is also a \lstinline|\SetForwardReferenceStyleInsideMath|, which triggers the message immediately at where you placed the label. This way it is only plausible to put the message inside the margin. For example, you may configure:
+There is also a \lstinline|\SetForwardReferenceStyleInsideMath|, which triggers the message immediately at where you placed the label. This way it is only plausible to put the message inside the margin. For example, with the package \textsf{marginnote} loaded, you may configure:
\begin{code}
\SetForwardReferenceStyle
@@ -348,7 +350,7 @@ By the way, here is the default setting for the style:
%% You can safely ignore the code between \ExplSyntaxOn and \ExplSyntaxOff
%% They are just for resetting the theorem referencing style for the rest of the document
\ExplSyntaxOn
-\input{create-theorem-preset-names} % simple-name mode is not suitable for French, German, etc.
+\input{create-theorem-preset-names-cleveref} % simple-name mode is not suitable for French, German, etc.
\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name } % remove the text style in the references
{
name style = {
diff --git a/macros/latex/contrib/create-theorem/README.md b/macros/latex/contrib/create-theorem/README.md
index 90ae54948b..8e1c8ca7f7 100644
--- a/macros/latex/contrib/create-theorem/README.md
+++ b/macros/latex/contrib/create-theorem/README.md
@@ -6,6 +6,8 @@ The package `create-theorem` provides the commands `\NameTheorem`, `\CreateTheor
*For more information, please refer to its documentation.*
+> Package dependencies: [`amsfonts`](https://ctan.org/pkg/amsfonts), [*`amsthm`*](https://ctan.org/pkg/amsthm), [`crefthe`](https://ctan.org/pkg/crefthe), [*`ntheorem`*](https://ctan.org/pkg/ntheorem).
+
# License
This work is released under the LaTeX Project Public License, v1.3c or later.
diff --git a/macros/latex/contrib/create-theorem/code/create-theorem-preset-names.tex b/macros/latex/contrib/create-theorem/code/create-theorem-preset-names-cleveref.tex
index 9df9c0e274..e95de7e5d6 100644
--- a/macros/latex/contrib/create-theorem/code/create-theorem-preset-names.tex
+++ b/macros/latex/contrib/create-theorem/code/create-theorem-preset-names-cleveref.tex
@@ -1,6 +1,4 @@
-%=============================
-% --- Preset Names ---
-%=============================
+% Preset names for use with cleveref
\NameTheorem { application }
{
diff --git a/macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural.tex b/macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural-cleveref.tex
index 572ab51311..6ed6de4bfc 100644
--- a/macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural.tex
+++ b/macros/latex/contrib/create-theorem/code/create-theorem-preset-names-plural-cleveref.tex
@@ -1,6 +1,4 @@
-%=============================
-% --- Preset Names ---
-%=============================
+% Preset names for use with cleveref
\NameTheorem { applications }
{
diff --git a/macros/latex/contrib/create-theorem/code/create-theorem.sty b/macros/latex/contrib/create-theorem/code/create-theorem.sty
index 355e7a6211..01851952d4 100644
--- a/macros/latex/contrib/create-theorem/code/create-theorem.sty
+++ b/macros/latex/contrib/create-theorem/code/create-theorem.sty
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{create-theorem}
- {2024/02/20a} {}
+ {2024/02/25} {}
{Initializing theorem-like environments with multilingual support}
\keys_define:nn { create-theorem }
@@ -1170,11 +1170,11 @@
}
}
-
+% Load predefined namesets
\bool_if:NT \l__crthm_presetname_bool
{
- \input { create-theorem-preset-names }
- \input { create-theorem-preset-names-plural }
+ \input { create-theorem-preset-names-cleveref }
+ \input { create-theorem-preset-names-plural-cleveref }
}
\endinput
diff --git a/macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdf b/macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdf
index b62eea4455..24c22f6b2b 100644
--- a/macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdf
+++ b/macros/latex/contrib/create-theorem/doc/create-theorem-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex b/macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex
index 532796dd52..4d816d8802 100644
--- a/macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex
+++ b/macros/latex/contrib/create-theorem/doc/create-theorem-doc.tex
@@ -3,6 +3,8 @@
\usepackage{ProjLib}
+\setmonofont[Scale=.9]{Iosevka}
+
%%================================
%% For typesetting code
%%================================
@@ -24,7 +26,9 @@
breaklines = true,
frame = lines,
backgroundcolor = \color{code-background},
- flexiblecolumns = true,
+ % flexiblecolumns = true,
+ % columns = fixed,
+ basewidth=.5em,
escapeinside = {(*}{*)},
alsoletter = {_,:},
% numbers = left,
@@ -72,8 +76,8 @@
\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
-\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
-\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
+\newcommand{\packageoption}[1]{\textcolor{code-option}{\texttt{#1}}}
+\newcommand{\commandoption}[1]{\textcolor{code-keys}{\texttt{#1}}}
%%================================
%% tip
@@ -107,8 +111,8 @@
\begin{document}
-\def\PackageVersion{2024/02/20}
-\def\PackageSubVersion{a}
+\def\PackageVersion{2024/02/25}
+\def\PackageSubVersion{}
\title{\createtheorempackage{}\\\smallskip\itshape Initializing and configuring theorem-like environments, with multilingual support}
\author{Jinwen XU}
@@ -480,24 +484,24 @@ This is not exciting at all. Now, let's say we are writing a trilingual note in
{
(*\commandoption{name}*) = {
(*\commandoption{heading}*) = { english = Idea,
- french = Idée,
- ngerman = Idee, },
+ french = Idée,
+ ngerman = Idee, },
(*\commandoption{crefname}*) = { english = {idea}{ideas},
- french = [l']{idée}[les]{idées},
- ngerman = { {Idee}{Idee}
- , Nominativ = [die]{Idee}[die]{Ideen}
- , Genitiv = [der]{Idee}[der]{Ideen}
- , Dativ = [der]{Idee}[den]{Ideen}
- , Akkusativ = [die]{Idee}[die]{Ideen}
- } },
+ french = [l']{idée}[les]{idées},
+ ngerman = { {Idee}{Idee}
+ , Nominativ = [die]{Idee}[die]{Ideen}
+ , Genitiv = [der]{Idee}[der]{Ideen}
+ , Dativ = [der]{Idee}[den]{Ideen}
+ , Akkusativ = [die]{Idee}[die]{Ideen}
+ } },
(*\commandoption{Crefname}*) = { english = {Idea}{Ideas},
- french = [L']{idée}[Les]{idées},
- ngerman = { {Idee}{Idee}
- , Nominativ = [Die]{Idee}[Die]{Ideen}
- , Genitiv = [Der]{Idee}[Der]{Ideen}
- , Dativ = [Der]{Idee}[Den]{Ideen}
- , Akkusativ = [Die]{Idee}[Die]{Ideen}
- } },
+ french = [L']{idée}[Les]{idées},
+ ngerman = { {Idee}{Idee}
+ , Nominativ = [Die]{Idee}[Die]{Ideen}
+ , Genitiv = [Der]{Idee}[Der]{Ideen}
+ , Dativ = [Der]{Idee}[Den]{Ideen}
+ , Akkusativ = [Die]{Idee}[Die]{Ideen}
+ } },
},
(*\commandoption{parent counter}*) = section,
}
@@ -505,7 +509,7 @@ This is not exciting at all. Now, let's say we are writing a trilingual note in
With this, if you use \lstinline|\selectlanguage{french}|, the {\normalfont\texttt{idea}} environment shall be automatically displayed as \textquote{Idée}. And if you \lstinline|\crefthe| it, the definite article and the name would show up properly just as expected.
-The same happens for German with \lstinline|\selectlanguage{ngerman}|, and when referencing an {\normalfont\texttt{idea}} environment, you may specify the declension as with \lstinline|\crefthe[|\meta{prep}\lstinline|,variant=Nominativ]{|\meta{label}\lstinline|}|, or simply with shortcut such as \lstinline|\crefthe[|\meta{prep}\lstinline|,nom.]{|\meta{label}\lstinline|}|.
+The same happens for German with \lstinline|\selectlanguage{ngerman}|, and when referencing an {\normalfont\texttt{idea}} environment, you may specify the declension as \lstinline|\crefthe[|\meta{prep}\lstinline|,declension=Nominativ]|\lstinline|{|\meta{label}\lstinline|}|, or more simply, with a shortcut such as \lstinline|\crefthe[|\meta{prep}\lstinline|,nom.]{|\meta{label}\lstinline|}|.
\begin{tip}
For more datailed usage of the referencing command \lstinline|\crefthe|, please refer to the documentation of the package \textsf{crefthe}.
@@ -644,20 +648,20 @@ A typical configuration looks like this:
\NameTheorems { english }
{
, (*\commandoption{heading}*) = {
- , theorem = Theorem
- , proposition = Proposition
- ...
- }
+ , theorem = Theorem
+ , proposition = Proposition
+ ...
+ }
, (*\commandoption{crefname}*) = {
- , theorem = {theorem}{theorems}
- , proposition = {proposition}{propositions}
- ...
- }
+ , theorem = {theorem}{theorems}
+ , proposition = {proposition}{propositions}
+ ...
+ }
, (*\commandoption{Crefname}*) = {
- , theorem = {Theorem}{Theorems}
- , proposition = {Proposition}{Propositions}
- ...
- }
+ , theorem = {Theorem}{Theorems}
+ , proposition = {Proposition}{Propositions}
+ ...
+ }
}
\end{code}
@@ -667,23 +671,23 @@ Here is an example for French:
\NameTheorems { french }
{
, (*\commandoption{heading}*) = {
- , theorem = Théorème
- , proposition = Proposition
- , example = Exemple
- ...
- }
+ , theorem = Théorème
+ , proposition = Proposition
+ , example = Exemple
+ ...
+ }
, (*\commandoption{crefname}*) = {
- , theorem = [le]{théorème}[les]{théorèmes}
- , proposition = [la]{proposition}[les]{propositions}
- , example = [l']{exemple}[les]{exemples}
- ...
- }
+ , theorem = [le]{théorème}[les]{théorèmes}
+ , proposition = [la]{proposition}[les]{propositions}
+ , example = [l']{exemple}[les]{exemples}
+ ...
+ }
, (*\commandoption{Crefname}*) = {
- , theorem = [Le]{théorème}[Les]{théorèmes}
- , proposition = [La]{proposition}[Les]{propositions}
- , example = [L']{exemple}[Les]{exemples}
- ...
- }
+ , theorem = [Le]{théorème}[Les]{théorèmes}
+ , proposition = [La]{proposition}[Les]{propositions}
+ , example = [L']{exemple}[Les]{exemples}
+ ...
+ }
}
\end{code}
@@ -693,27 +697,27 @@ And an example for German:
\NameTheorems { ngerman }
{
, (*\commandoption{heading}*) = {
- , theorem = Satz
- ...
- }
+ , theorem = Satz
+ ...
+ }
, (*\commandoption{crefname}*) = {
- , theorem = { {Satz}{Sätze}
- , Nominativ = [der]{Satz}[die]{Sätze}
- , Genitiv = [des]{Satzes}[der]{Sätze}
- , Dativ = [dem]{Satz}[den]{Sätzen}
- , Akkusativ = [den]{Satz}[die]{Sätze}
- }
- ...
- }
+ , theorem = { {Satz}{Sätze}
+ , Nominativ = [der]{Satz}[die]{Sätze}
+ , Genitiv = [des]{Satzes}[der]{Sätze}
+ , Dativ = [dem]{Satz}[den]{Sätzen}
+ , Akkusativ = [den]{Satz}[die]{Sätze}
+ }
+ ...
+ }
, (*\commandoption{Crefname}*) = {
- , theorem = { {Satz}{Sätze}
- , Nominativ = [Der]{Satz}[Die]{Sätze}
- , Genitiv = [Des]{Satzes}[Der]{Sätze}
- , Dativ = [Dem]{Satz}[Den]{Sätzen}
- , Akkusativ = [Den]{Satz}[Die]{Sätze}
- }
- ...
- }
+ , theorem = { {Satz}{Sätze}
+ , Nominativ = [Der]{Satz}[Die]{Sätze}
+ , Genitiv = [Des]{Satzes}[Der]{Sätze}
+ , Dativ = [Dem]{Satz}[Den]{Sätzen}
+ , Akkusativ = [Den]{Satz}[Die]{Sätze}
+ }
+ ...
+ }
}
\end{code}
diff --git a/macros/latex/contrib/weiqi/README.md b/macros/latex/contrib/weiqi/README.md
new file mode 100644
index 0000000000..8abfe40af0
--- /dev/null
+++ b/macros/latex/contrib/weiqi/README.md
@@ -0,0 +1,25 @@
+# Description
+
+A new package which use LaTeX3 to typeset the weiqi(go).
+使用 LaTeX3 创建一个排版围棋棋谱的宏包。
+
+# Copyright
+
+Copyright (C) 2023-2024 By Ms_yam
+
+It may be distributed and/or modified under the conditions of the
+LaTeX Project Public License (LPPL), either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in the file
+
+ https://www.latex-project.org/lppl.txt
+
+# generate
+
+```sh
+xetex weiqi.ins
+xelatex weiqi.dtx
+makeindex -s gind.ist weiqi.idx
+xelatex weiqi.dtx
+xelatex weiqi.dtx
+``` \ No newline at end of file
diff --git a/macros/latex/contrib/weiqi/weiqi.dtx b/macros/latex/contrib/weiqi/weiqi.dtx
new file mode 100644
index 0000000000..0c7cd40516
--- /dev/null
+++ b/macros/latex/contrib/weiqi/weiqi.dtx
@@ -0,0 +1,2471 @@
+% \iffalse meta-comment
+%%
+%% 文件:weiqi.dtx
+%%
+%% 版权 (C) 2023-2024 By Ms_yam
+%%
+%% 它可以在 LaTeX 项目公共许可(LPPL)1.3c 及之后的任意版本(随你的意见)下分发或修改。
+%% 这个许可的最新版本在如下文件中:
+%%
+%% https://www.latex-project.org/lppl.txt
+%%
+%% 本宏包为作者练习 epxl3 和编写 dtx 文件所编写,里面的接口及方法并不是最优的。
+%% 仅供参考。
+%%
+% \fi
+%
+% \iffalse
+%<*driver>
+\documentclass[full]{l3doc}
+
+\usepackage{weiqi}
+
+% 创建代码示例
+\usepackage{listings}
+\ExplSyntaxOn
+\makeatletter
+\lst@RequireAspects{writefile}
+\box_new:N \l__demo_box
+\lstnewenvironment{demo}[1][code and example]
+ {
+ \use:c { demo_#1: }
+ }
+ { \use:c { demo_#1_end: } }
+\cs_new:Nn \__demo_common:
+ {
+ \setkeys{lst}
+ {
+ basicstyle = \ttfamily,
+ gobble = 2,
+ language = [LaTeX]{TeX},
+ }
+ }
+\cs_new:Nn \__demo_input:
+ {
+ \catcode`\^^M = 10\relax
+ \catcode`\% = 14\relax
+ \input{\jobname.tmp}
+ }
+\cs_new:Npn \__demo_init:nnn #1#2#3
+ {
+ \cs_set:cn {demo_#1:} { #2 }
+ \cs_set:cn {demo_#1_end:} { #3 }
+ }
+
+\__demo_init:nnn{code and example}
+ {%
+ \hbox_set:Nw \l__demo_box
+ \__demo_common:
+ \lst@BeginAlsoWriteFile{\jobname.tmp}%
+ }
+ {%
+ \lst@EndWriteFile
+ \hbox_set_end:
+ %\begin{center}
+ \fp_compare:nNnTF
+ { \box_wd:N \l__demo_box } > { 0.6 * \linewidth }
+ {
+ \begin{minipage}{\linewidth}
+ \box_use:N \l__demo_box
+ \end{minipage}%
+ \par
+ \begin{minipage}{\linewidth}
+ \__demo_input:
+ \end{minipage}
+ }
+ {
+ \begin{minipage}{0.40\linewidth}
+ \__demo_input:
+ \end{minipage}%
+ %\hfil
+ \begin{minipage}{0.54\linewidth}
+ \box_use:N \l__demo_box
+ \end{minipage}%
+ }
+ %\end{center}
+ }
+\makeatother
+\ExplSyntaxOff
+
+% ^^A 添加中文支持及设置超级链接
+\usepackage[UTF8,hyperref]{ctex}
+\hypersetup{
+ colorlinks,
+ linkcolor=blue,
+ hyperindex,
+ pdfstartview=FitH,
+ plainpages=false,
+ backref,
+}
+
+% ^^A 引用待办包
+\usepackage{todo}
+
+% ^^A 汉化 l3doc 的部分定义
+\NewDocumentEnvironment { texnote } { }% 不能用 Renew...,原因未知
+{
+ \endgraf
+ \vspace{0.5em}% 3mm => 0.5em
+ \small\textbf{\TeX{} 黑客笔记:}% \TeX~hackers~note:
+}
+{
+ \vspace{0.5em}% 3mm => 0.5em
+}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \todos % ^^A 列出待办事宜
+\end{document}
+%</driver>
+% \fi
+%
+% \title{^^A
+% \pkg{weiqi}宏包:绘制围棋棋谱^^A
+% }
+%
+% \author{Ms\_yam\thanks
+% {^^A
+% 本宏包是作者练习 \LaTeX3 和编写 dtx 文件的作品,里面的接口及方法并未优化;但宏包漏洞会尽力修复。
+% }^^A
+% \ (\href{mailto:Ms_yam@163.com}{Ms\_yam@163.com})^^A
+% }
+% \date{\zhdigits*{2024}年\zhnumber{02}月\zhnumber{22}日}
+%
+% \maketitle
+%
+% \DoNotIndex{\[,\\,\]}
+% \DoNotIndex{\Large, \meta, \noindent, \textbf, \texttt}
+% \DoNotIndex{\ExplSyntaxOn, \ExplSyntaxOff, \NeedsTeXFormat, \RequirePackage, \ProvidesExplPackage, \NewDocumentCommand}
+% \DoNotIndex{\IfBooleanT, \IfBooleanF, \IfNoValueTF}
+% \DoNotIndex{\bool_new:N, \bool_set_eq:NN, \bool_set_false:N, \bool_set_inverse:N, \bool_set_true:N, \bool_to_str:N}
+% \DoNotIndex{\bool_gset_eq:NN, \bool_gset_false:N, \bool_gset_true:N}
+% \DoNotIndex{\bool_if:nT, \bool_if:NT, \bool_if:nTF, \bool_if:NTF}
+% \DoNotIndex{\bool_lazy_all:nT, \bool_lazy_all:nTF, \bool_lazy_and:nnT, \bool_lazy_and:nnTF}
+% \DoNotIndex{\bool_lazy_any:nTF, \bool_lazy_or:nnT, \bool_lazy_or:nnF, \bool_lazy_or:nnTF}
+% \DoNotIndex{\box_ht:N, \box_wd:N}
+% \DoNotIndex{\clist_new:N, \clist_const:Nn, \clist_clear:N, \clist_set:Nn, \clist_set_eq:NN, \clist_set_from_seq:NN, \clist_pop:NN, \clist_use:Nn}
+% \DoNotIndex{\clist_gclear:N, \clist_gput_right:Nn, \clist_set_eq:Nc, \clist_gset_eq:NN, \clist_gset_eq:cN}
+% \DoNotIndex{\clist_if_empty:NTF, \clist_map_function:NN, \clist_map_inline:Nn}
+% \DoNotIndex{\color_fill:n, \color_select:n}
+% \DoNotIndex{\cs_new:Nn, \cs_new:Npn, \cs_generate_variant:Nn, \cs_if_free:cT, \cs_if_free:cTF}
+% \DoNotIndex{\draw_begin:, \draw_end:, \draw_linewidth:n, \draw_path_circle:nn, \draw_path_lineto:n, \draw_path_moveto:n}
+% \DoNotIndex{\draw_box_use:Nn, \draw_path_use_clear:n, \draw_transform_scale:n}
+% \DoNotIndex{\fp_new:N, \fp_set_eq:NN, \fp_set:Nn, \fp_add:Nn,\fp_sub:Nn, \fp_compare:nNnT, \fp_compare:nNnTF, \fp_gset:Nn, \fp_use:N}
+% \DoNotIndex{\group_begin:, \group_end:}
+% \DoNotIndex{\hbox_set:Nn}
+% \DoNotIndex{\int_new:N, \int_new:c, \int_const:Nn, \int_set_eq:NN, \int_set_eq:Nc, \int_set:Nn, \int_set:Ne, \int_add:Nn, \int_incr:N, \int_use:N}
+% \DoNotIndex{\int_gset:Nn, \int_gset:Ne, \int_gincr:N, \int_gset_eq:NN, \int_gset_eq:Nc, \int_gset_eq:cN}
+% \DoNotIndex{\int_max:nn, \int_min:nn, \int_sign:n, \int_abs:n, \int_from_alph:n, \int_from_alph:e, \int_to_alph:n, \int_to_Alph:n}
+% \DoNotIndex{\int_case:nn, \int_compare_p:n, \int_compare_p:nNn, \int_compare:nNnT, \int_compare:nNnF, \int_compare:nNnTF}
+% \DoNotIndex{\int_if_zero:nF, \int_if_zero:nTF, \int_step_inline:nn, \int_step_inline:nnnn}
+% \DoNotIndex{\intarray_new:Nn, \intarray_new:cn, \intarray_gset:Nnn, \intarray_gset:cnn, \intarray_gzero:N, \intarray_item:Nn, \intarray_item:cn}
+% \DoNotIndex{\ior_open:Nn, \ior_close:N, \ior_str_map_inline:Nn}
+% \DoNotIndex{\prg_set_conditional:Npnn, \prg_return_false:, \prg_return_true:, \prg_generate_conditional_variant:Nnn, \prg_break_point:, \prg_break:}
+% \DoNotIndex{\regex_match:nn, \regex_match:nnTF, \regex_match:nVTF, \regex_extract_all:nnN}
+% \DoNotIndex{\regex_extract_once:nnN, \regex_extract_once:nVN, \regex_extract_once:nnNTF, \regex_extract_once:nVNTF}
+% \DoNotIndex{\seq_new:N, \seq_new:c, \seq_put_right:Nn, \seq_item:Nn, \seq_gclear:N, \seq_gset_item:Nnn, \seq_gset_item:NnV}
+% \DoNotIndex{\seq_if_in:NnT, \seq_if_in:NnF, \seq_if_in:NnTF}
+% \DoNotIndex{\str_new:N, \str_const:Nn, \str_set:Nn, \str_set:NV, \str_set:Nx, \str_set_eq:NN}
+% \DoNotIndex{\str_put_right:Nn, \str_put_right:NV, \str_put_right:Nx}
+% \DoNotIndex{\str_gset_eq:NN}
+% \DoNotIndex{\str_head:N, \str_item:Nn, \str_range:Nnn, \str_range:nnn, \str_tail:N, \str_lowercase:n}
+% \DoNotIndex{\str_if_empty_p:N, \str_if_empty:NTF, \str_if_empty:nTF, \str_if_eq_p:nn, \str_if_eq_p:Vn, \str_if_eq:nnTF}
+% \DoNotIndex{\str_case:nn, \str_case_e:nn, \str_compare:eNeT, \str_compare:nNnTF, \str_compare:eNeTF}
+%
+% \begin{documentation}
+%
+% \section{\pkg{weiqi} 文档}
+%
+% 本宏包提供了绘制围棋棋谱功能。本宏包参考(或延用)了 \pkg{igo} 宏包的部分命令,
+% 但本宏包的实现完全采用 \pkg{expl3} 方式。
+%
+% 本宏包的绘图采用 \pkg{l3draw} 宏包(2024-01-04 版)实现,因前者具有\emph{高度}实验性,因些本
+% 宏包也同样具体\emph{高度}实验性。
+%
+%
+% \subsection{相关概念}^^A
+%
+%
+% \subsubsection{尺寸}
+%
+% 本宏包中的 \meta{尺寸} 特指棋盘尺寸(即一个方向包含几路),棋盘大小为 \meta{尺寸} x \meta{尺寸}。
+% 本宏包支持的 \meta{尺寸} 取值为 $2$\~{}$26$,但通常建议使用 $9$、$13$ 和 $19$ 三种尺寸。
+% 其中,$19$x$19$ 为标准棋盘大小(也是默认大小)。
+%
+%
+% \subsubsection{坐标}
+%
+% 为方便描述落子位置,本宏包依惯例采用 \meta{坐标} 的概念。
+% 本宏包支持两种形式的 \meta{坐标}:以左下角为起点(常规模式)和左上角为起点($SGF$ 模式)。
+%
+% 两种形式的横坐标相同,从左往右依次为 $a$、$b$、\dots。它们的区别在于:
+% 前者纵坐标从下往上依次为 $1$、$2$、\dots;而后者的纵坐标从上往下依次为 $a$、$b$、\dots。
+% 前者是为便于人员交互设计,后者是为支持 $sgf$ 棋谱坐标而设计。
+%
+% 横坐标与纵坐标组合形成 \meta{坐标},如 |a1|、|dp| 等。
+% 通常需要 \meta{坐标} 的地方,也支持逗号列表形式的 \meta{坐标} 集合,如 “|a2, b2, dp|”。
+%
+% \begin{minipage}{0.45\linewidth}
+% \newweiqi
+% \showweiqi[a1,e4]
+% \end{minipage}%
+% \begin{minipage}{0.45\linewidth}
+% \sgflocmode
+% \showweiqi[aa,ed]
+% \end{minipage}\\
+%
+%
+% \subsubsection{虚着}
+%
+% 围棋有一个比较特殊的规则:它允许一方停一手(也叫虚着),另一方继续下。
+% 为了以统一的方式记录每一手棋,特将虚着的 \meta{坐标} 定义为 |-| 或 |pass|。
+%
+% \subsection{基本命令}^^A
+%
+%
+% \begin{function}{\newweiqi}
+% \begin{syntax}
+% \cs{newweiqi} [\meta{尺寸}]
+% \end{syntax}
+% 初始化新对局,\meta{尺寸}用于指定棋盘大小(默认为 $19$)。
+% 带星号版本同时更改 \meta{尺寸} 的默认值。
+% \end{function}
+%
+%
+% \begin{function}{\weiqisize}
+% \begin{syntax}
+% \cs{weiqisize} \Arg{尺寸}
+% \end{syntax}
+% 修改棋盘大小为 \meta{尺寸}。
+% 带星号版本同时更改 \meta{尺寸} 的默认值。
+% \begin{texnote}
+% 修改棋盘尺寸不会检查已有棋子是否越界。
+% 同时还会引发已有的 \meta{坐标}为 $SGF$ 模式的棋子的位置错乱。
+% \end{texnote}
+% \end{function}
+%
+%
+% \begin{function}{\weiqiblack, \weiqiwhite}
+% \begin{syntax}
+% \cs{weiqiblack} [\meta{标签}] \Arg{坐标}
+% \end{syntax}
+% 向当前对局中添加棋子。
+% 其中,如果 \meta{标签} 为手数,则会自动递增且切换黑白方。
+% 如果 \meta{标签} 为 $0$,则不显示标签但仍切换黑白方。
+% \meta{坐标} 是一组表示棋子位置的逗号分隔列表,每一项表示一手棋;
+% 默认以左下角的 \meta{坐标} 为 $a1$;虚着请使用 $-$、|pass| 或留空。
+% \end{function}
+%
+%
+% \begin{function}{\weiqidie}
+% \begin{syntax}
+% \cs{weiqidie} \Arg{坐标}
+% \end{syntax}
+% 设置指定位置的棋子为死子。
+% \meta{坐标} 是一组表示棋子位置的逗号分隔列表,每一项表示一个位置。
+% \begin{texnote}
+% 死子是之前已经下过的棋子,因为没有气,所以需要从棋盘拿走。
+% 将没有标签的棋子标记为死子是没有意义的。
+% \end{texnote}
+% \end{function}
+%
+%
+% \begin{function}{\showweiqi}
+% \begin{syntax}
+% \cs{showweiqi} [\meta{区间}]
+% \end{syntax}
+% 绘制对局。如果指定 \meta{区间},则 \meta{区间} 应由两个角点坐标或 |full| 组成,以示指定区间内的信息;
+% 如未指定区间,则会自动计算范围,该范围可保证至少包含一个角,其余边至少余一路。
+% 默认情况显示完成后会清除对局,使用星号命令可保留对局。
+% \begin{texnote}
+% 自动计算的范围会考虑最小显示大小;如果指定区间,则不受此限制。区间外内容不会显示。
+% \end{texnote}
+% \end{function}
+%
+% \begin{demo}
+% \newweiqi
+% \weiqiblack[0]{bq,dq,-}
+% \weiqiwhite[1]{b2,c2,c3,a2,d2,b1}
+% \weiqiwhite[7]{-,b2}
+% \weiqidie{b2}
+% \showweiqi
+% \end{demo}\\
+%
+%
+% 死子和带标签(通常为手数)虚着会绘制在棋盘下方;不带标签的虚着则不会绘制(因为它没有任意实际意义)。
+%
+% \subsection{标签与指示点}^^A
+%
+%
+% \begin{function}{\weiqilabel, \clearlabel}
+% \begin{syntax}
+% \cs{weiqilabel} [\meta{标签}] \Arg{坐标}\\
+% \cs{clearlabel}
+% \end{syntax}
+% 向当前对局中添加标签,或清除对局中的所有标签。
+% 其中,如果 \meta{标签} 为手数,则会自动递增。\meta{标签} 默认为 $a$。
+% \meta{坐标} 是一组表示棋子位置的逗号分隔列表,每一项表示一个标签。
+% 带星号版本在添加标签的同时会删除旧的标签。
+% \begin{texnote}
+% 如果 \meta{标签} 为 $0$ 或为空(|[]|),则显示实心空白圆。
+% \meta{坐标} 规则与棋子一致,本规则在所有 \meta{坐标} 中生效。
+% \end{texnote}
+% \end{function}
+%
+%
+% \begin{function}{\weiqired, \weiqigreen, \weiqiblue, \clearpoint}
+% \begin{syntax}
+% \cs{weiqired} \Arg{坐标}\\
+% \cs{clearpoint}
+% \end{syntax}
+% 向当前对局中添加指示点,或清除所有指示点。
+% \meta{坐标} 是一组表示棋子位置的逗号分隔列表,每一项表示一个点。
+% 带星号版本在添加标签的同时会删除旧的指示点(含其它颜色)。
+% \end{function}
+%
+%
+% \begin{demo}
+% \newweiqi
+% \weiqiblack{a2,-,b1,cq}
+% \weiqilabel[1]{c2,dq,-}
+% \weiqired{d2,e3,-}
+% \weiqigreen{b3}
+% \showweiqi[a1,e3]
+% \end{demo}
+%
+%
+% \subsection{棋盘设置}^^A
+%
+%
+% \begin{function}{\weiqirotate, \weiqimirror, \weiqiposition}
+% \begin{syntax}
+% \cs{weiqirotate} [\meta{角度}]\\
+% \cs{weiqimirror} [\meta{镜像轴}]\\
+% \cs{weiqiposition} [\meta{角度}]
+% \end{syntax}
+% 这三个命令用于设置棋盘的方位(旋转、镜像及指定方向)。
+% 其中,前两个命令是基于已有方位的,最后一个则不考虑当前方位。\\
+% \meta{角度}以度为单位(逆时针方向),如未指定,默认分别为 $90$ 度(旋转)和 $0$ 度(指定方向)。
+% \meta{镜像轴} 应当为 $x$、$y$ 或 $xy$(默认) 三者之一。\\
+% 使用星号命令可使当前棋盘方位为默认方位。
+% \end{function}
+%
+%
+% \begin{function}{\weiqiscale}
+% \begin{syntax}
+% \cs{weiqiscale} [\meta{比例}]
+% \end{syntax}
+% 按 \meta{比例} 缩放棋盘。 如未指定,则恢复默认比例。
+% 使用星号命令可使当前缩放比例为默认缩放比例。缩放是基于原有比例的。
+% \end{function}
+%
+%
+% \begin{function}{\weiqiminsize}
+% \begin{syntax}
+% \cs{weiqiminsize} \meta{宽度} \meta{高度}
+% \end{syntax}
+% 棋盘最小显示大小(以格子计),使用星号命令可使当前大小为默认值。
+% \end{function}
+%
+%
+% \begin{function}{\nonelocmode, \normallocmode, \sgflocmode}
+% \begin{syntax}
+% \cs{nonelocmode}
+% \end{syntax}
+% 将棋盘坐标显示方式设置为:不显示坐标、常规模式坐标和 $SGF$ 模式坐标之一。
+% 其中,默认为常规模式,使用星号命令可使当前设置为默认值。
+% \end{function}
+%
+% ~\\
+% \begin{demo}
+% \newweiqi
+% \weiqiblack[1]{a2,b2,c3,-,dr}
+% \weiqilabel[A]{dq}
+% \weiqirotate[180]
+% \weiqiscale[0.8]
+% \weiqiminsize{6}{5}
+% \sgflocmode
+% \showweiqi
+% \end{demo}
+%
+%
+% \subsection{棋局复用}^^A
+%
+% \begin{function}{\saveweiqi, \useweiqi}
+% \begin{syntax}
+% \cs{saveweiqi} [\meta{序号}]
+% \end{syntax}
+% 保存/使用对局(只保留对局信息,棋盘方位等信息不保存)。
+% \meta{序号} 是保存的位置序号(自然数,推荐 $0$\~{}$26$)。
+% 星号版使用对局会删除所有棋子标签及标签。
+% \end{function}
+%
+%
+% \begin{function}{\weiqichange}
+% \begin{syntax}
+% \cs{weiqichange} \Arg{坐标}
+% \end{syntax}
+% 切换指定位置的棋子的所属方(黑白方)。
+% \meta{坐标} 是一组表示棋子位置的逗号分隔列表,每一项表示一个位置。
+% \end{function}
+%
+%
+% \begin{demo}
+% \newweiqi
+% \weiqiblack[1]{a2,b2,c3,-,dr}
+% \weiqilabel[A]{dq}
+% \saveweiqi[1]
+% \newweiqi
+% \useweiqi*[1]
+% \weiqichange{dr}
+% \showweiqi
+% \end{demo}
+%
+%
+% \begin{function}{\weiqiremove}
+% \begin{syntax}
+% \cs{weiqiremove} \Arg{坐标}
+% \end{syntax}
+% 移除指定位置的所有棋子,移除后相当于没有这一手棋。
+% \meta{坐标} 是一组表示棋子位置的逗号分隔列表,每一项表示一个位置。
+% \begin{texnote}
+% 这与 \cs{weiqidie} 有本质的区别:\cs{weiqidie} 旨在标记死子(这手棋是真实存在的);
+% 而本命令是直接移除这手棋,主要是以复用棋局而设置。
+% \end{texnote}
+% \end{function}
+%
+%
+% \begin{demo}
+% \newweiqi
+% \weiqiblack[0]{bq,dq,-}
+% \weiqiwhite[1]{b2,c2,c3,a2,d2,b1}
+% \weiqidie{b2}
+% \weiqiremove{d2}
+% \weiqiwhite[5]{b4}
+% \sgflocmode
+% \showweiqi
+% \end{demo}
+%
+%
+% \begin{function}{\resetnumber}
+% \begin{syntax}
+% \cs{resetnumber} [\meta{起点}]
+% \end{syntax}
+% 重置围棋手数,\meta{起点} 所在位置的标签设置为 $1$,之后标签依次递增,之前无标签;默认以第 $1$ 手为起点。
+% \end{function}
+%
+%
+% \begin{demo}
+% \useweiqi*[1]
+% \resetnumber[2]
+% \showweiqi
+% \end{demo}
+%
+% \subsection{sgf 棋谱支持}^^A
+%
+%
+% \begin{function}{\weiqisgf}
+% \begin{syntax}
+% \cs{weiqisgf} [\meta{标签}] \Arg{文本}
+% \end{syntax}
+% 使用 |sgf| 棋谱 \Arg{文本} 来指定棋子。如果 \meta{标签} 为手数,则会自动递增。
+% \end{function}
+%
+% ~\\
+% \begin{demo}
+% \newweiqi
+% \weiqisgf{;B[cc];W[dd]}
+% \weiqisgf[1]{;B[cd];W[dc];B[cb]}
+% \showweiqi
+% \end{demo}
+%
+% \begin{function}{\inputsgf}
+% \begin{syntax}
+% \cs{weiqisgf} [\meta{起点}] \Arg{文件}
+% \end{syntax}
+% 新建对局并输入指定棋谱。\meta{起点} 所在位置的标签设置为 $1$,之后标签依次递增,之前无标签;默认以第 $1$ 手为起点。
+% \end{function}
+%
+%
+% \subsection{调试支持}^^A
+%
+% \begin{function}{\weiqidata}
+% \begin{syntax}
+% \cs{weiqidata}
+% \end{syntax}
+% 格式化输出内部变量数据。带星号版本会额外输出边界变量信息。
+% \end{function}
+%
+% \newweiqi
+% \weiqiblack[0]{bq,dq,-}
+% \weiqiwhite[1]{b2,c2,c3,a2,d2,b1}
+% \weiqidie{b2}
+% \weiqiremove{d2}
+% \weiqiwhite[5]{b4}
+% \weiqidata*
+%
+% \subsection{下一步计划}^^A
+%
+% 中文标签的支持。
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \newpage
+%
+% \section{\pkg{weiqi}实现}
+%
+% \subsection{初始化信息}
+%
+% \begin{macrocode}
+%<*package>
+%<@@=weiqi>
+% \end{macrocode}
+%
+% 宏包基本信息:
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesExplPackage{weiqi}{2024-02-22}{0.1}
+ {drawing weiqi using expl3}
+% \end{macrocode}
+%
+% 需要 l3draw 宏包,以支持绘图:
+% \begin{macrocode}
+\RequirePackage{l3draw}[2024-01-04]
+% \end{macrocode}
+%
+% 开启 expl3 模式:
+% \begin{macrocode}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+%
+% \subsection{声明系统函数的变体}
+%
+% \begin{macrocode}
+\cs_generate_variant:Nn \int_set:Nn { Ne }
+\cs_generate_variant:Nn \int_gset:Nn { Ne }
+\cs_generate_variant:Nn \int_from_alph:n { e }
+\cs_generate_variant:Nn \seq_gset_item:Nnn { NnV }
+\cs_generate_variant:Nn \regex_extract_once:nnN { nVN }
+\prg_generate_conditional_variant:Nnn \regex_match:nn { nV } { T, F, TF }
+\prg_generate_conditional_variant:Nnn \regex_extract_once:nnN { nVN } { T, F, TF }
+% \end{macrocode}
+%
+% \subsection{声明选项}
+%
+% \begin{macrocode}
+% 待实现
+% \end{macrocode}
+%
+%
+% \subsection{定义常量}
+%
+% \begin{variable}{\c_@@_normal_size_int, \c_@@_mid_size_int, \c_@@_small_size_int, \c_@@_normal_star_clist,
+% \c_@@_mid_star_clist, \c_@@_small_star_clist }
+% 棋盘尺寸及对应星位坐标:
+% \begin{macrocode}
+\int_const:Nn \c_@@_normal_size_int { 19 }
+\int_const:Nn \c_@@_mid_size_int { 13 }
+\int_const:Nn \c_@@_small_size_int { 9 }
+\clist_const:Nn \c_@@_normal_star_clist
+ { d4, j4, p4, d10, j10, p10, d16, j16, p16 }
+\clist_const:Nn \c_@@_mid_star_clist
+ { c3, g3, k3, c7, g7, k7, c11, g11, k11 }
+\clist_const:Nn \c_@@_small_star_clist { c3, k3, c7, k7 }
+% \end{macrocode}
+% \end{variable}
+%
+%
+% \begin{variable}{\c_@@_max_step_int, \c_@@_normal_mode_str, \c_@@_sgf_mode_str }
+% 支持的最大步数及坐标显示模式:
+% \begin{macrocode}
+\int_const:Nn \c_@@_max_step_int { 500 }
+\str_const:Nn \c_@@_normal_mode_str { normal }
+\str_const:Nn \c_@@_sgf_mode_str { sgf }
+% \end{macrocode}
+% \end{variable}
+%
+%
+% \subsection{定义变量}
+%
+% \subsubsection{棋盘信息}
+%
+% 棋盘信息包含方位($x/y$方向及是否互换三者决定)、比例、最小显示大小(长与宽)及坐标控制(是否显示及坐标模式)。
+% 共有 $8$ 个变量控制,且均具有全局及本地之分。全局变量为默认值,本地为当前对局的设置。
+%
+% \begin{variable}{\g_@@_x_direction_int, \g_@@_y_direction_int, \g_@@_swap_xy_bool,
+% \g_@@_scale_fp, \g_@@_min_width_int, \g_@@_min_hight_int, \g_@@_show_loc_bool,
+% \g_@@_loc_mode_str}
+% 全局棋盘信息:
+% \begin{macrocode}
+\int_new:N \g_@@_x_direction_int
+\int_new:N \g_@@_y_direction_int
+\bool_new:N \g_@@_swap_xy_bool
+\fp_new:N \g_@@_scale_fp
+\int_new:N \g_@@_min_width_int
+\int_new:N \g_@@_min_hight_int
+\bool_new:N \g_@@_show_loc_bool
+\str_new:N \g_@@_loc_mode_str
+% \end{macrocode}
+% \begin{macrocode}
+\int_gset:Nn \g_@@_x_direction_int { 1 }
+\int_gset:Nn \g_@@_y_direction_int { 1 }
+\bool_gset_false:N \g_@@_swap_xy_bool
+\fp_gset:Nn \g_@@_scale_fp { 1 }
+\int_gset:Nn \g_@@_min_width_int { 3 }
+\int_gset:Nn \g_@@_min_hight_int { 2 }
+\bool_gset_true:N \g_@@_show_loc_bool
+\str_gset_eq:NN \g_@@_loc_mode_str \c_@@_normal_mode_str
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_x_direction_int, \l_@@_y_direction_int, \l_@@_swap_xy_bool,
+% \l_@@_scale_fp, \l_@@_min_width_int, \l_@@_min_hight_int, \l_@@_show_loc_bool,
+% \l_@@_loc_mode_str}
+% 本地棋盘信息:
+% \begin{macrocode}
+\int_new:N \l_@@_x_direction_int
+\int_new:N \l_@@_y_direction_int
+\bool_new:N \l_@@_swap_xy_bool
+\fp_new:N \l_@@_scale_fp
+\int_new:N \l_@@_min_width_int
+\int_new:N \l_@@_min_hight_int
+\bool_new:N \l_@@_show_loc_bool
+\str_new:N \l_@@_loc_mode_str
+% \end{macrocode}
+% \end{variable}
+%
+%
+% \subsubsection{对局信息}
+%
+% 对局信息包括棋盘大小、步数、棋子/标签的信息集($x/y$ 坐标,棋手,标签)、死子集(索引)及指示点集(三色)组成。
+% 共 $10$ 个变量,另加一个默认棋盘大小。本小节的变量的取值均为原始方位的取值。
+%
+% \begin{variable}{\g_@@_default_size_int}
+% 默认对局大小:
+% \begin{macrocode}
+\int_new:N \g_@@_default_size_int
+\int_gset_eq:NN \g_@@_default_size_int \c_@@_normal_size_int
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_@@_size_int, \g_@@_step_count_int, \g_@@_x_intarray,
+% \g_@@_y_intarray, \g_@@_player_intarray, \g_@@_label_seq, \g_@@_die_seq}
+% 对局内容:
+% \begin{macrocode}
+\int_new:N \g_@@_size_int
+\int_new:N \g_@@_step_count_int
+\intarray_new:Nn \g_@@_x_intarray { \c_@@_max_step_int }
+\intarray_new:Nn \g_@@_y_intarray { \c_@@_max_step_int }
+\intarray_new:Nn \g_@@_player_intarray { \c_@@_max_step_int }
+\seq_new:N \g_@@_label_seq
+\seq_new:N \g_@@_die_seq
+% \end{macrocode}
+% \end{variable}
+%
+%
+% \begin{variable}{\g_@@_red_point_clist, \g_@@_green_point_clist,\g_@@_blue_point_clist}
+% 对局辅助指示点:
+% \begin{macrocode}
+\clist_new:N \g_@@_red_point_clist
+\clist_new:N \g_@@_green_point_clist
+\clist_new:N \g_@@_blue_point_clist
+% \end{macrocode}
+% \end{variable}
+%
+%
+% \subsubsection{边界信息}
+%
+% 本小节的变量为绘图过程中使用的边界信息变量。其是坐标是考虑方位信息的,但左右、上下及大小不考虑。
+%
+% 棋子区间(不考虑延伸的信息):
+% \begin{macrocode}
+\int_new:N \l_@@_x_min_int
+\int_new:N \l_@@_x_max_int
+\int_new:N \l_@@_y_min_int
+\int_new:N \l_@@_y_max_int
+% \end{macrocode}
+%
+% 棋盘边界(考虑延伸的信息):
+% \begin{macrocode}
+\bool_new:N \l_@@_left_bool
+\bool_new:N \l_@@_right_bool
+\bool_new:N \l_@@_up_bool
+\bool_new:N \l_@@_down_bool
+\fp_new:N \l_@@_x_min_fp
+\fp_new:N \l_@@_x_max_fp
+\fp_new:N \l_@@_y_min_fp
+\fp_new:N \l_@@_y_max_fp
+% \end{macrocode}
+%
+% \subsubsection{其它变量}
+%
+% 通用信息变量:
+% \begin{macrocode}
+\str_new:N \l_@@_label_str
+\int_new:N \l_@@_x_int
+\int_new:N \l_@@_y_int
+\int_new:N \l_@@_player_int
+\fp_new:N \l_@@_x_fp
+\fp_new:N \l_@@_y_fp
+\clist_new:N \l_@@_point_clist
+% \end{macrocode}
+%
+% 其它临时变量:
+% \begin{macrocode}
+\int_new:N \l_@@_tmp_int
+\str_new:N \l_@@_tmp_str
+\bool_new:N \l_@@_tmp_bool
+\seq_new:N \l_@@_tmp_seq
+% \end{macrocode}
+%
+%
+% \subsection{设置棋局的函数}
+%
+% \subsubsection{对局准备}
+%
+% 指定围棋大小、初始化对局的其余 $9$ 个变量(清空对局所有对局信息)及棋盘信息的 $8$ 个变量(使用默认值[全局变量])。
+%
+% \begin{macro}{\@@_new_game:n}
+% 初始化对局信息(|#1| 棋盘大小)。
+% \begin{macrocode}
+\cs_new:Npn \@@_new_game:n #1
+ {
+ \int_set_eq:NN \l_@@_x_direction_int \g_@@_x_direction_int
+ \int_set_eq:NN \l_@@_y_direction_int \g_@@_y_direction_int
+ \bool_set_eq:NN \l_@@_swap_xy_bool \g_@@_swap_xy_bool
+ \fp_set_eq:NN \l_@@_scale_fp \g_@@_scale_fp
+ \int_set_eq:NN \l_@@_min_width_int \g_@@_min_width_int
+ \int_set_eq:NN \l_@@_min_hight_int \g_@@_min_hight_int
+ \bool_set_eq:NN \l_@@_show_loc_bool \g_@@_show_loc_bool
+ \str_set_eq:NN \l_@@_loc_mode_str \g_@@_loc_mode_str
+% \end{macrocode}
+% \begin{macrocode}
+ \int_gset:Ne \g_@@_size_int { #1 }
+ \int_gset:Nn \g_@@_step_count_int { 0 }
+ \intarray_gzero:N \g_@@_x_intarray
+ \intarray_gzero:N \g_@@_y_intarray
+ \intarray_gzero:N \g_@@_player_intarray
+ \seq_gclear:N \g_@@_label_seq
+ \seq_gclear:N \g_@@_die_seq
+% \end{macrocode}
+% \begin{macrocode}
+ \clist_gclear:N \g_@@_red_point_clist
+ \clist_gclear:N \g_@@_green_point_clist
+ \clist_gclear:N \g_@@_blue_point_clist
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{坐标转换函数}
+%
+% 实现棋子坐标的坐标对形式与字符串形式(虚着使用 |-| )两者之间的转换。
+%
+% \begin{macro}{\@@_loc_to_xy:n, \@@_loc_to_xy:V}
+% 设置 $x$、$y$ 坐标变量(|#1| 坐标,支持两种模式)。
+% \begin{macrocode}
+\cs_new:Npn \@@_loc_to_xy:n #1
+ {
+ \str_set:Nx \l_tmpa_str { \str_lowercase:n { #1 } }
+ \bool_lazy_any:nTF
+ {
+ { \str_if_empty_p:N \l_tmpa_str }
+ { \str_if_eq_p:Vn { \l_tmpa_str } { - } }
+ { \str_if_eq_p:Vn { \l_tmpa_str } { pass } }
+ }
+ {
+ \int_set:Nn \l_@@_x_int { 0 }
+ \int_set:Nn \l_@@_y_int { 0 }
+ }
+ {
+ \int_set:Ne \l_@@_x_int
+ { \int_from_alph:e { \str_head:N \l_tmpa_str } }
+ \regex_match:nVTF { [a-z]{2} } { \l_tmpa_str }
+ {
+ \int_set:Ne \l_tmpa_int
+ { \int_from_alph:e { \str_tail:N \l_tmpa_str } }
+ \int_set:Nn \l_@@_y_int { \g_@@_size_int - \l_tmpa_int + 1 }
+ }
+ {
+ \int_set:Ne \l_@@_y_int
+ { \str_range:Nnn \l_tmpa_str { 2 } { 5 } }
+ }
+ }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_loc_to_xy:n { V }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_xy_to_loc:N}
+% 将指定变量设置为当前坐标的字符串形式(|#1| 指定的存储变量)。
+% \begin{macrocode}
+\cs_new:Npn \@@_xy_to_loc:N #1
+ {
+ \int_compare:nNnTF { \l_@@_x_int } = { 0 }
+ { \str_set:Nn #1 { - } }
+ {
+ \str_set:Nx \l_tmpa_str
+ { \int_to_alph:n { \l_@@_x_int } }
+ \str_compare:eNeTF
+ { \l_@@_loc_mode_str } = { \c_@@_sgf_mode_str }
+ {
+ \int_set:Nn \l_tmpa_int
+ { \g_@@_size_int - \l_@@_y_int + 1 }
+ \str_set:Nx \l_tmpb_str
+ { \int_to_alph:n { \l_tmpa_int } }
+ \str_put_right:NV \l_tmpa_str { \l_tmpb_str }
+ }
+ { \str_put_right:NV \l_tmpa_str { \l_@@_y_int } }
+ \str_set_eq:NN #1 \l_tmpa_str
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{添加棋子或纯标签}
+%
+% 向对局中添加棋子或纯标签,它们使用相同的结构存储。除了所属方不一样外,它们内部添加方式完全相同。
+% 其中,所属方用 $0$ 表示未使用\footnote{新局开始,所属方均初始化为 $0$;移除状态的棋子,也会设置为零(同时坐标也为零)。},
+% $1$ 表示黑方,$2$ 表示白方,$3$ 表示纯标签。
+%
+% 棋子可以含标签(如手数或特殊字符等),棋子|+| 纯标签不等于带标签的棋子。
+% 因为前者是两条记录,后者是一条记录,后续处理也不一样。
+%
+% \begin{macro}{\@@_add_stone:nnn, \@@_add_stone:nnV, \@@_add_stone:nVV}
+% 向对局中添加一步棋(|#1| 黑白方 ;|#2| 坐标;|#3| 标签)。
+% \begin{macrocode}
+\cs_new:Npn \@@_add_stone:nnn #1#2#3
+ {
+ \int_gincr:N \g_@@_step_count_int
+ \intarray_gset:Nnn \g_@@_player_intarray
+ \g_@@_step_count_int { #1 }
+% \end{macrocode}
+% \begin{macrocode}
+ \@@_loc_to_xy:n { #2 }
+ \intarray_gset:Nnn \g_@@_x_intarray
+ \g_@@_step_count_int \l_@@_x_int
+ \intarray_gset:Nnn \g_@@_y_intarray
+ \g_@@_step_count_int \l_@@_y_int
+% \end{macrocode}
+% \begin{macrocode}
+ \str_if_eq:nnTF { #3 } { 0 }
+ { \seq_put_right:Nn \g_@@_label_seq {} }
+ { \seq_put_right:Nn \g_@@_label_seq { #3 } }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_add_stone:nnn {nnV, nVV}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_add_stones:nnn}
+% 批量向对局中添加棋子(|#1| 黑白方 ;|#2| 坐标序列;|#3| 标签)。
+% \begin{macrocode}
+\cs_new:Npn \@@_add_stones:nnn #1#2#3
+ {
+ \int_set:Nn \l_@@_player_int { #1 }
+ \clist_set:Nn \l_@@_position_clsit { #2 }
+ \bool_set_false:N \l_@@_tmp_bool
+ \str_if_empty:nTF { #3 }
+ { \str_set:Nn \l_@@_tmp_str {} }
+ {
+ \regex_match:nnTF { [^0-9]+ } { #3 }
+ { \str_set:Nx \l_@@_tmp_str { #3 } }
+ {
+ \bool_set_true:N \l_@@_tmp_bool
+ \int_set:Nn \l_@@_tmp_int { #3 }
+ }
+ }
+ \clist_map_inline:Nn \l_@@_position_clsit
+ {
+ \bool_if:nTF \l_@@_tmp_bool
+ {
+ \@@_add_stone:nnV
+ { \l_@@_player_int }
+ { ##1 }
+ { \l_@@_tmp_int }
+ \int_case:nn { \l_@@_player_int }
+ {
+ { 1 } { \int_set:Nn \l_@@_player_int { 2 } }
+ { 2 } { \int_set:Nn \l_@@_player_int { 1 } }
+ { 3 } { \int_set:Nn \l_@@_player_int { 3 } }
+ }
+ \int_compare:nNnT { \l_@@_tmp_int } > { 0 }
+ { \int_incr:N \l_@@_tmp_int }
+ }
+ { \@@_add_stone:nnV { #1 } { ##1 } { \l_@@_tmp_str } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_add_sgf_stones:nn, \@@_add_sgf_stones:VV}
+% 批量向对局中添加 sgf 格式棋子(|#1| 带黑白方的坐标序列;|#2| 标签)。
+% \begin{macrocode}
+\cs_new:Npn \@@_add_sgf_stones:nn #1#2
+ {
+ \regex_extract_all:nnN { ;[BW]\[[a-z]{2}\] } { #1 } \l_@@_tmp_seq
+ \clist_set_from_seq:NN \l_@@_point_clist \l_@@_tmp_seq
+ \bool_set_false:N \l_@@_tmp_bool
+ \str_if_empty:nTF { #2 }
+ { \str_set:Nn \l_@@_tmp_str {} }
+ {
+ \regex_match:nnTF { [^0-9]+ } { #2 }
+ { \str_set:Nx \l_@@_tmp_str { #2 } }
+ {
+ \bool_set_true:N \l_@@_tmp_bool
+ \int_set:Nn \l_@@_tmp_int { #2 }
+ }
+ }
+ \clist_map_inline:Nn \l_@@_point_clist
+ {
+ \str_set:Nx \l_tmpa_str { \str_item:Nn { ##1 } { 2 } }
+ \str_set:Nx \l_tmpb_str { \str_range:nnn { ##1 } { 4 } { -2 } }
+ \str_case_e:nn { \l_tmpa_str }
+ {
+ { B } { \int_set:Nn \l_@@_player_int { 1 } }
+ { W } { \int_set:Nn \l_@@_player_int { 2 } }
+ }
+ \bool_if:nTF \l_@@_tmp_bool
+ {
+ \@@_add_stone:nVV { \l_@@_player_int }
+ { \l_tmpb_str } { \l_@@_tmp_int }
+ \int_compare:nNnT { \l_@@_tmp_int } > { 0 }
+ { \int_incr:N \l_@@_tmp_int }
+ }
+ {
+ \@@_add_stone:nVV { \l_@@_player_int }
+ { \l_tmpb_str } { \l_@@_tmp_str }
+ }
+ }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_add_sgf_stones:nn { VV }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{修改对局}
+%
+% 修改对局中的棋子信息(所有方、标签等)、移除棋子 或设置死子等。
+% 其中,移除棋子相当于没有输入这个棋子\footnote{
+% 移除棋子是通过把该手棋全部设置为零来实现;这与虚着不一样,后者仍有所属方。};
+% 而设置死子则用于棋子被吃的情况\footnote{
+% 设置死子是通过将棋加入死子列表中来实现,其坐标信息全部不变。}。
+%
+% \begin{macro}{\@@_reset_stone_number:n}
+% 重置所有棋子的标签,移除所有棋子标签(不含纯标签)并按手数(以 |#1| 起为第 $1$ 手)设置新标签。
+% \begin{macrocode}
+\cs_new:Npn \@@_reset_stone_number:n #1
+ {
+ \int_set:Ne \l_@@_tmp_int { 1 - #1 }
+ \int_step_inline:nn { \c_@@_max_step_int }
+ {
+ \bool_lazy_or:nnF
+ {
+ \int_compare_p:nNn
+ { \intarray_item:Nn \g_@@_player_intarray { ##1 } } = { 0 }
+ }
+ {
+ \int_compare_p:nNn
+ { \intarray_item:Nn \g_@@_player_intarray { ##1 } } = { 3 }
+ }
+ {
+ \int_incr:N \l_@@_tmp_int
+ \int_compare:nNnTF { \l_@@_tmp_int } > { 0 }
+ { \seq_gset_item:NnV \g_@@_label_seq { ##1 } { \l_@@_tmp_int } }
+ { \seq_gset_item:Nnn \g_@@_label_seq { ##1 } {} }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_change_stone:n}
+% 切换指定索引的棋子的黑白方(|#1| 索引)。
+% \begin{macrocode}
+\cs_new:Npn \@@_change_stone:n #1
+ {
+ \int_case:nn
+ { \intarray_item:Nn \g_@@_player_intarray { #1 } }
+ {
+ { 1 } { \intarray_gset:Nnn \g_@@_player_intarray { #1 } { 2 } }
+ { 2 } { \intarray_gset:Nnn \g_@@_player_intarray { #1 } { 1 } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_remove_stone:n}
+% 删除指定索引的棋子(|#1| 索引)。
+% \begin{macrocode}
+\cs_new:Npn \@@_remove_stone:n #1
+ {
+ \intarray_gset:Nnn \g_@@_x_intarray { #1 } { 0 }
+ \intarray_gset:Nnn \g_@@_y_intarray { #1 } { 0 }
+ \intarray_gset:Nnn \g_@@_player_intarray { #1 } { 0 }
+ \seq_gset_item:Nnn \g_@@_label_seq { #1} { }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_die_stone:n}
+% 设置指定索引的棋子为死子(|#1| 索引)。
+% \begin{macrocode}
+\cs_new:Npn \@@_die_stone:n #1
+ {
+ \seq_if_in:NnF \g_@@_die_seq { #1 }
+ {
+ \seq_put_right:Nn \g_@@_die_seq { #1 }
+ \prg_break:
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_modify_stone:N}
+% 使用指定函数(|#1|)修改指定位置的棋子(由 $x$, $y$ 坐标指定)。
+% \begin{macrocode}
+\cs_new:Npn \@@_modify_stone:N #1
+ {
+ \int_step_inline:nn { \c_@@_max_step_int }
+ {
+ \bool_lazy_and:nnT
+ {
+ \int_compare_p:n
+ { \intarray_item:Nn \g_@@_x_intarray { ##1 } = \l_@@_x_int }
+ }
+ {
+ \int_compare_p:n
+ { \intarray_item:Nn \g_@@_y_intarray { ##1 } = \l_@@_y_int }
+ }
+ { #1 { ##1 } }
+ }
+ \prg_break_point:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_modify_stones:nN}
+% 批量修改当前对局中的棋子(|#1| 坐标序列,|#2| 修改函数)。
+% \begin{macrocode}
+\cs_new:Npn \@@_modify_stones:nN #1#2
+ {
+ \clist_set:Nn \l_@@_position_clsit { #1 }
+ \clist_map_inline:Nn \l_@@_position_clsit
+ {
+ \@@_loc_to_xy:n { ##1 }
+ \int_compare:nNnF { \l_@@_x_int } = { 0 }
+ { \@@_modify_stone:N { #2 } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_clear_labels:}
+% 清除所有纯标签。
+% \begin{macrocode}
+\cs_new:Nn \@@_clear_labels:
+ {
+ \int_step_inline:nn { \c_@@_max_step_int }
+ {
+ \int_compare:nNnT
+ { \intarray_item:Nn \g_@@_player_intarray { ##1 } } = { 3 }
+ {
+ \intarray_gset:Nnn \g_@@_x_intarray { ##1 } { 0 }
+ \intarray_gset:Nnn \g_@@_y_intarray { ##1 } { 0 }
+ \intarray_gset:Nnn \g_@@_player_intarray { ##1 } { 0 }
+ \seq_gset_item:Nnn \g_@@_label_seq { ##1 } {}
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{指示点}
+%
+% 指示点是棋盘上的特殊圆点,它支持红绿蓝三种颜色。旨在用于在某个特定情况下的特殊指示。
+% 指示点的实现原理与纯标签完全不一样,侧重点也不一样。
+%
+% \begin{macro}{\@@_add_points:nn}
+% 批量向对局中添加指示点(|#1| 颜色 ;|#2| 坐标序列)。
+% \begin{macrocode}
+\cs_new:Npn \@@_add_points:nn #1#2
+ {
+ \str_case:nn { #1 }
+ {
+ { red }
+ { \clist_gput_right:Nn \g_@@_red_point_clist { #2 } }
+ { green }
+ { \clist_gput_right:Nn \g_@@_green_point_clist { #2 } }
+ { blue }
+ { \clist_gput_right:Nn \g_@@_blue_point_clist { #2 } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_clear_points:}
+% 清除所有指示点。
+% \begin{macrocode}
+\cs_new:Nn \@@_clear_points:
+ {
+ \clist_clear:N \g_@@_red_point_clist
+ \clist_clear:N \g_@@_green_point_clist
+ \clist_clear:N \g_@@_blue_point_clist
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{绘制棋局的函数}
+%
+% \subsubsection{坐标变换}
+%
+% 由于对局中的坐标以原始方位输入与保存,而显示时需要按指定的方位来显示,
+% 因此在显示(绘图)前需要根据棋盘方位信息来进行坐标变换。
+%
+% \begin{macro}{\@@_transform_xy:NN}
+% 转换坐标(|#1|、|#2| 分别为 $x,y$ 坐标)。
+% \begin{macrocode}
+\cs_new:Npn \@@_transform_xy:NN #1#2
+ {
+ \int_set:Ne \l_tmpa_int { #1 * \l_@@_x_direction_int }
+ \int_set:Ne \l_tmpb_int { #2 * \l_@@_y_direction_int }
+ \bool_if:NTF \l_@@_swap_xy_bool
+ {
+ \int_set_eq:NN #1 \l_tmpb_int
+ \int_set_eq:NN #2 \l_tmpa_int
+ }
+ {
+ \int_set_eq:NN #1 \l_tmpa_int
+ \int_set_eq:NN #2 \l_tmpb_int
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{边界函数}
+%
+% 绘制棋局时,需要确认要显示的区域(显示整个棋盘通常不是最优方案),
+% 本小节提供一系列函数,用于确认显示边界。
+%
+% \begin{macro}{\@@_calc_range:}
+% 计算棋子所在区间边界。
+% \begin{macrocode}
+\cs_new:Nn \@@_calc_range:
+ {
+ \int_set:Nn \l_@@_x_min_int { 99 }
+ \int_set:Nn \l_@@_y_min_int { 99 }
+ \int_set:Nn \l_@@_x_max_int { 0 }
+ \int_set:Nn \l_@@_y_max_int { 0 }
+% \end{macrocode}
+% 遍历生成自然边界:
+% \begin{macrocode}
+ \int_step_inline:nn {\g_@@_step_count_int}
+ {
+ \int_set:Ne \l_@@_x_int
+ { \intarray_item:Nn \g_@@_x_intarray { ##1 } }
+ \int_set:Ne \l_@@_y_int
+ { \intarray_item:Nn \g_@@_y_intarray { ##1 } }
+ \int_compare:nNnF
+ { \l_@@_x_int } = { 0 }
+ {
+ \int_compare:nNnT
+ \l_@@_x_min_int > \l_@@_x_int
+ { \int_set_eq:NN \l_@@_x_min_int \l_@@_x_int }
+ \int_compare:nNnT
+ \l_@@_x_max_int < \l_@@_x_int
+ { \int_set_eq:NN \l_@@_x_max_int \l_@@_x_int }
+ \int_compare:nNnT
+ \l_@@_y_min_int > \l_@@_y_int
+ { \int_set_eq:NN \l_@@_y_min_int \l_@@_y_int }
+ \int_compare:nNnT
+ \l_@@_y_max_int < \l_@@_y_int
+ { \int_set_eq:NN \l_@@_y_max_int \l_@@_y_int }
+ }
+ }
+% \end{macrocode}
+% 无有效棋子的情况下,显示整个棋盘:
+% \begin{macrocode}
+ \int_compare:nNnT
+ { \l_@@_x_min_int } = { 99 }
+ {
+ \int_set:Nn \l_@@_x_min_int { 1 }
+ \int_set:Nn \l_@@_y_min_int { 1 }
+ \int_set_eq:NN \l_@@_x_max_int \g_@@_size_int
+ \int_set_eq:NN \l_@@_y_max_int \g_@@_size_int
+ }
+% \end{macrocode}
+% 向外延伸,以保证至少有一个角:
+% \begin{macrocode}
+ \int_set:Ne \l_tmpa_int
+ { \int_min:nn { \g_@@_size_int } { \l_@@_min_width_int } }
+ \int_compare:nNnTF
+ { \g_@@_size_int - \l_@@_x_max_int } > { \l_@@_x_min_int - 1 }
+ {
+ \int_set:Nn \l_@@_x_min_int { 1 }
+ \int_set:Ne \l_@@_x_max_int
+ { \int_max:nn { \l_@@_x_max_int + 1 } { \l_tmpa_int } }
+ }
+ {
+ \int_set_eq:NN \l_@@_x_max_int \g_@@_size_int
+ \int_compare:nNnF
+ { \l_@@_x_min_int } = { 1 }
+ {
+ \int_set:Ne \l_@@_x_min_int
+ {
+ \int_min:nn
+ { \l_@@_x_min_int - 1 }
+ { \g_@@_size_int - \l_tmpa_int + 1 }
+ }
+ }
+ }
+ \int_set:Ne \l_tmpa_int
+ { \int_min:nn { \g_@@_size_int } { \l_@@_min_hight_int } }
+ \int_compare:nNnTF
+ { \g_@@_size_int - \l_@@_y_max_int } > { \l_@@_y_min_int - 1 }
+ {
+ \int_set:Nn \l_@@_y_min_int { 1 }
+ \int_set:Ne \l_@@_y_max_int
+ { \int_max:nn { \l_@@_y_max_int + 1 } { \l_tmpa_int } }
+ }
+ {
+ \int_set_eq:NN \l_@@_y_max_int \g_@@_size_int
+ \int_compare:nNnF
+ { \l_@@_y_min_int } = { 1 }
+ {
+ \int_set:Ne \l_@@_y_min_int
+ {
+ \int_min:nn
+ { \l_@@_y_min_int - 1 }
+ { \g_@@_size_int - \l_tmpa_int + 1 }
+ }
+ }
+ }
+% \end{macrocode}
+% 变换坐标:
+% \begin{macrocode}
+ \@@_transform_xy:NN \l_@@_x_min_int \l_@@_y_min_int
+ \@@_transform_xy:NN \l_@@_x_max_int \l_@@_y_max_int
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_set_range:n}
+% 指定棋子区间边界(边界外棋子不显示),支持 |full|。
+% \begin{macrocode}
+\cs_new:Npn \@@_set_range:n #1
+ {
+ \str_compare:eNeTF
+ { \str_lowercase:n { #1 } } = { full }
+ {
+ \int_set:Nn \l_@@_x_min_int { 1 }
+ \int_set:Nn \l_@@_y_min_int { 1 }
+ \int_set_eq:NN \l_@@_x_max_int \g_@@_size_int
+ \int_set_eq:NN \l_@@_y_max_int \g_@@_size_int
+ }
+ {
+ \clist_set:Nn \l_@@_position_clsit { #1 }
+ \clist_pop:NN \l_@@_position_clsit \l_tmpa_tl
+ \@@_loc_to_xy:V { \l_tmpa_tl }
+ \int_set_eq:NN \l_@@_x_min_int \l_@@_x_int
+ \int_set_eq:NN \l_@@_y_min_int \l_@@_y_int
+ \clist_pop:NN \l_@@_position_clsit \l_tmpa_tl
+ \@@_loc_to_xy:V { \l_tmpa_tl }
+ \int_set_eq:NN \l_@@_x_max_int \l_@@_x_int
+ \int_set_eq:NN \l_@@_y_max_int \l_@@_y_int
+ }
+% \end{macrocode}
+% 生成标准对角点,变换坐标:
+% \begin{macrocode}
+ \int_compare:nNnT { \l_@@_x_min_int } > { \l_@@_x_max_int }
+ {
+ \int_set_eq:NN \l_tmpa_int \l_@@_x_min_int
+ \int_set_eq:NN \l_@@_x_min_int \l_@@_x_max_int
+ \int_set_eq:NN \l_@@_x_max_int \l_tmpa_int
+ }
+ \int_compare:nNnT { \l_@@_y_min_int } > { \l_@@_y_max_int }
+ {
+ \int_set_eq:NN \l_tmpa_int \l_@@_y_min_int
+ \int_set_eq:NN \l_@@_y_min_int \l_@@_y_max_int
+ \int_set_eq:NN \l_@@_y_max_int \l_tmpa_int
+ }
+ \@@_transform_xy:NN \l_@@_x_min_int \l_@@_y_min_int
+ \@@_transform_xy:NN \l_@@_x_max_int \l_@@_y_max_int
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_calc_board_border:}
+% 计算棋盘的显示边界。
+% \begin{macrocode}
+\cs_new:Nn \@@_calc_board_border:
+ {
+ \int_compare:nNnTF
+ { \int_abs:n { \l_@@_x_min_int } } = { 1 }
+ {
+ \bool_set_true:N \l_@@_left_bool
+ \fp_set:Nn \l_@@_x_min_fp
+ { \l_@@_x_min_int }
+ }
+ {
+ \bool_set_false:N \l_@@_left_bool
+ \fp_set:Nn \l_@@_x_min_fp
+ { \l_@@_x_min_int - 0.3 * \int_sign:n { \l_@@_x_min_int } }
+ }
+ \int_compare:nNnTF
+ { \int_abs:n { \l_@@_x_max_int } } = { \g_@@_size_int }
+ {
+ \bool_set_true:N \l_@@_right_bool
+ \fp_set:Nn \l_@@_x_max_fp
+ { \l_@@_x_max_int }
+ }
+ {
+ \bool_set_false:N \l_@@_right_bool
+ \fp_set:Nn \l_@@_x_max_fp
+ { \l_@@_x_max_int + 0.3 * \int_sign:n { \l_@@_x_max_int } }
+ }
+ \int_compare:nNnTF
+ { \int_abs:n { \l_@@_y_min_int } } = { 1 }
+ {
+ \bool_set_true:N \l_@@_down_bool
+ \fp_set:Nn \l_@@_y_min_fp
+ { \l_@@_y_min_int }
+ }
+ {
+ \bool_set_false:N \l_@@_down_bool
+ \fp_set:Nn \l_@@_y_min_fp
+ { \l_@@_y_min_int - 0.3 * \int_sign:n { \l_@@_y_min_int } }
+ }
+ \int_compare:nNnTF
+ { \int_abs:n { \l_@@_y_max_int } } = { \g_@@_size_int }
+ {
+ \bool_set_true:N \l_@@_up_bool
+ \fp_set:Nn \l_@@_y_max_fp
+ { \l_@@_y_max_int }
+ }
+ {
+ \bool_set_false:N \l_@@_up_bool
+ \fp_set:Nn \l_@@_y_max_fp
+ { \l_@@_y_max_int + 0.3 * \int_sign:n { \l_@@_y_max_int } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_within_range_p:nn, \@@_within_range:nnT}
+% 判定点是否在范围内(|#1| $x$坐标;|#2| $y$ 坐标)。
+% 坐标是变换后的坐标。
+% \begin{macrocode}
+\prg_set_conditional:Npnn \@@_within_range:nn #1#2 { p, T }
+ {
+ \fp_set:Nn \l_tmpa_fp { abs( \l_@@_x_min_fp - #1 ) }
+ \fp_add:Nn \l_tmpa_fp { abs( \l_@@_x_max_fp - #1 ) }
+ \fp_sub:Nn \l_tmpa_fp { abs( \l_@@_x_max_fp - \l_@@_x_min_fp ) }
+ \fp_add:Nn \l_tmpa_fp { abs( \l_@@_y_min_fp - #2 ) }
+ \fp_add:Nn \l_tmpa_fp { abs( \l_@@_y_max_fp - #2 ) }
+ \fp_sub:Nn \l_tmpa_fp { abs( \l_@@_y_max_fp - \l_@@_y_min_fp ) }
+ \fp_compare:nNnTF
+ { \l_tmpa_fp } < { 0.1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{绘制函数}
+%
+% 绘制对局包括绘制棋盘、棋子与纯标签、标记点及死子几个步骤。
+% 其中,棋盘包括网格线、边界线、角、星位及坐标标签。
+% 绘制前需要设置好棋子区间边界\footnote{棋盘边界在绘制棋盘时内部调用,因此不需要额外设置。}。
+%
+%
+% \begin{macro}{\@@_draw_board_grid:}
+% 绘制棋盘的网格线(路径)。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_board_grid:
+ {
+ \int_set:Ne \l_@@_tmp_int
+ { \int_sign:n { \l_@@_x_max_int - \l_@@_x_min_int } }
+ \int_step_inline:nnnn
+ { \l_@@_x_min_int } { \l_@@_tmp_int } { \l_@@_x_max_int }
+ {
+ \draw_path_moveto:n { ##1 cm, \l_@@_y_min_fp cm }
+ \draw_path_lineto:n { ##1 cm, \l_@@_y_max_fp cm }
+ }
+ \int_set:Ne \l_@@_tmp_int
+ { \int_sign:n { \l_@@_y_max_int - \l_@@_y_min_int } }
+ \int_step_inline:nnnn
+ { \l_@@_y_min_int } { \l_@@_tmp_int } { \l_@@_y_max_int }
+ {
+ \draw_path_moveto:n { \l_@@_x_min_fp cm, ##1 cm }
+ \draw_path_lineto:n { \l_@@_x_max_fp cm, ##1 cm }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_board_border:}
+% 绘制棋盘的边界线(路径)。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_board_border:
+ {
+ \bool_if:nT { \l_@@_left_bool }
+ {
+ \draw_path_moveto:n { \l_@@_x_min_fp cm, \l_@@_y_min_fp cm }
+ \draw_path_lineto:n { \l_@@_x_min_fp cm, \l_@@_y_max_fp cm }
+ }
+ \bool_if:nT { \l_@@_right_bool }
+ {
+ \draw_path_moveto:n { \l_@@_x_max_fp cm, \l_@@_y_min_fp cm }
+ \draw_path_lineto:n { \l_@@_x_max_fp cm, \l_@@_y_max_fp cm }
+ }
+ \bool_if:nT { \l_@@_down_bool }
+ {
+ \draw_path_moveto:n { \l_@@_x_min_fp cm, \l_@@_y_min_fp cm }
+ \draw_path_lineto:n { \l_@@_x_max_fp cm, \l_@@_y_min_fp cm }
+ }
+ \bool_if:nT { \l_@@_up_bool }
+ {
+ \draw_path_moveto:n { \l_@@_x_min_fp cm, \l_@@_y_max_fp cm }
+ \draw_path_lineto:n { \l_@@_x_max_fp cm, \l_@@_y_max_fp cm }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_board_corner:}
+% 绘制棋盘的角(路径)。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_board_corner:
+ {
+ \bool_if:nT { \l_@@_left_bool && \l_@@_down_bool }
+ {
+ \draw_path_moveto:n { \l_@@_x_min_fp cm, \l_@@_y_max_fp cm }
+ \draw_path_lineto:n { \l_@@_x_min_fp cm, \l_@@_y_min_fp cm }
+ \draw_path_lineto:n { \l_@@_x_max_fp cm, \l_@@_y_min_fp cm }
+ }
+ \bool_if:nT { \l_@@_right_bool && \l_@@_down_bool }
+ {
+ \draw_path_moveto:n { \l_@@_x_max_fp cm, \l_@@_y_max_fp cm }
+ \draw_path_lineto:n { \l_@@_x_max_fp cm, \l_@@_y_min_fp cm }
+ \draw_path_lineto:n { \l_@@_x_min_fp cm, \l_@@_y_min_fp cm }
+ }
+ \bool_if:nT { \l_@@_right_bool && \l_@@_up_bool }
+ {
+ \draw_path_moveto:n { \l_@@_x_max_fp cm, \l_@@_y_min_fp cm }
+ \draw_path_lineto:n { \l_@@_x_max_fp cm, \l_@@_y_max_fp cm }
+ \draw_path_lineto:n { \l_@@_x_min_fp cm, \l_@@_y_max_fp cm }
+ }
+ \bool_if:nT { \l_@@_left_bool && \l_@@_up_bool }
+ {
+ \draw_path_moveto:n { \l_@@_x_min_fp cm, \l_@@_y_min_fp cm }
+ \draw_path_lineto:n { \l_@@_x_min_fp cm, \l_@@_y_max_fp cm }
+ \draw_path_lineto:n { \l_@@_x_max_fp cm, \l_@@_y_max_fp cm }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_draw_point:n}
+% 绘制单个点(路径)(|#1| 坐标)。
+% \begin{macrocode}
+\cs_new:Npn \@@_draw_point:n #1
+ {
+ \__weiqi_loc_to_xy:n { #1 }
+ \@@_transform_xy:NN \l_@@_x_int \l_@@_y_int
+ \@@_within_range:nnT { \l_@@_x_int } { \l_@@_y_int }
+ {
+ \draw_path_circle:nn
+ { \l_@@_x_int cm, \l_@@_y_int cm } { 1mm }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_board_star:}
+% 绘制棋盘的星位(路径)。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_board_star:
+ {
+ \clist_clear:N \l_@@_point_clist
+ \int_case:nn { \g_@@_size_int }
+ {
+ { \c_@@_normal_size_int }
+ { \clist_set_eq:NN \l_@@_point_clist \c_@@_normal_star_clist }
+ { \c_@@_mid_size_int }
+ { \clist_set_eq:NN \l_@@_point_clist \c_@@_mid_star_clist }
+ { \c_@@_small_size_int }
+ { \clist_set_eq:NN \l_@@_point_clist \c_@@_small_star_clist }
+ }
+ \clist_map_function:NN \l_@@_point_clist \@@_draw_point:n
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_set_loc_label:nn}
+% 设置坐标标签(|#1| 标签方案;|#2| 单轴坐标)。
+% \begin{macrocode}
+\cs_new:Npn \@@_set_loc_label:nn #1#2
+ {
+ \str_case_e:nn { #1 }
+ {
+ { A }
+ { \str_set:Nx \l_@@_label_str { \int_to_Alph:n { #2 } } }
+ { \c_@@_normal_mode_str }
+ { \str_set:NV \l_@@_label_str { #2 } }
+ { \c_@@_sgf_mode_str }
+ {
+ \int_set:Nn \l_tmpa_int { \g_@@_size_int - #2 + 1 }
+ \str_set:Nx\l_@@_label_str { \int_to_alph:n { \l_tmpa_int } }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_board_loc:}
+% 绘制棋盘的坐标(路径)。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_board_loc:
+ {
+ \int_gset:Nn \g_tmpa_int
+ { \int_sign:n { \l_@@_x_max_int - \l_@@_x_min_int } }
+ \int_gset:Nn \g_tmpb_int
+ { \int_sign:n { \l_@@_y_max_int - \l_@@_y_min_int } }
+ \int_step_inline:nnnn
+ { \l_@@_x_min_int } { \g_tmpa_int } { \l_@@_x_max_int }
+ {
+ \int_set:Ne \l_@@_tmp_int { \int_abs:n { ##1 } }
+ \bool_if:NTF \l_@@_swap_xy_bool
+ { \@@_set_loc_label:nn { \l_@@_loc_mode_str } { \l_@@_tmp_int } }
+ { \@@_set_loc_label:nn { A } { \l_@@_tmp_int } }
+ \hbox_set:Nn \l_tmpa_box { \l_@@_label_str }
+ \fp_set:Nn \l_tmpa_fp { 0.2 * \g_tmpb_int }
+ \fp_set:Nn \l_tmpb_fp { 0.5 * { \box_ht:N \l_tmpa_box } * \g_tmpb_int }
+ \bool_if:NT \l_@@_up_bool
+ {
+ \draw_box_use:Nn \l_tmpa_box
+ {
+ ##1 cm - 0.5 * { \box_wd:N \l_tmpa_box },
+ (\l_@@_y_max_fp + \l_tmpa_fp ) cm - abs(\l_tmpb_fp) + \l_tmpb_fp
+ }
+ }
+ \bool_if:NT \l_@@_down_bool
+ {
+ \draw_box_use:Nn \l_tmpa_box
+ {
+ ##1 cm - 0.5 * { \box_wd:N \l_tmpa_box },
+ (\l_@@_y_min_fp - \l_tmpa_fp ) cm - abs(\l_tmpb_fp) - \l_tmpb_fp
+ }
+ }
+ }
+ \int_step_inline:nnnn
+ { \l_@@_y_min_int } { \g_tmpb_int } { \l_@@_y_max_int }
+ {
+ \int_set:Ne \l_@@_tmp_int { \int_abs:n { ##1 } }
+ \bool_if:NTF \l_@@_swap_xy_bool
+ { \@@_set_loc_label:nn { A } { \l_@@_tmp_int } }
+ { \@@_set_loc_label:nn { \l_@@_loc_mode_str } { \l_@@_tmp_int } }
+ \hbox_set:Nn \l_tmpa_box { \l_@@_label_str }
+ \fp_set:Nn \l_tmpa_fp { 0.2 * \g_tmpa_int }
+ \fp_set:Nn \l_tmpb_fp { 0.5 * { \box_wd:N \l_tmpa_box } * \g_tmpa_int }
+ \bool_if:NT \l_@@_left_bool
+ {
+ \draw_box_use:Nn \l_tmpa_box
+ {
+ (\l_@@_x_min_fp - \l_tmpa_fp) cm - abs(\l_tmpb_fp) - \l_tmpb_fp,
+ ##1 cm - 0.5 * { \box_ht:N \l_tmpa_box }
+ }
+ }
+ \bool_if:NT \l_@@_right_bool
+ {
+ \draw_box_use:Nn \l_tmpa_box
+ {
+ (\l_@@_y_max_fp + \l_tmpa_fp) cm - abs(\l_tmpb_fp) + \l_tmpb_fp,
+ ##1 cm - 0.5 * { \box_ht:N \l_tmpa_box }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_board:}
+% 绘制完整的棋盘元素。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_board:
+ {
+ \@@_calc_board_border:
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \draw_linewidth:n { 0.7 }
+ \color_select:n { black }
+ \@@_draw_board_grid:
+ \draw_path_use_clear:n { stroke }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \draw_linewidth:n { 2 }
+ \@@_draw_board_border:
+ \draw_path_use_clear:n { stroke }
+ \@@_draw_board_corner:
+ \draw_path_use_clear:n { stroke }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \color_select:n { black }
+ \@@_draw_board_star:
+ \draw_path_use_clear:n { draw, fill }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \color_select:n { black!50 }
+ \bool_if:NT \l_@@_show_loc_bool
+ { \@@_draw_board_loc: }
+ \draw_path_use_clear:n { stroke }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_points:}
+% 绘制完整的指示点。
+% \begin{macrocode}
+\cs_new:Npn \@@_draw_points:
+ {
+ \color_select:n { red }
+ \clist_map_function:NN \g_@@_red_point_clist \@@_draw_point:n
+ \draw_path_use_clear:n { draw, fill }
+ \color_select:n { green }
+ \clist_map_function:NN \g_@@_green_point_clist \@@_draw_point:n
+ \draw_path_use_clear:n { draw, fill }
+ \color_select:n { blue }
+ \clist_map_function:NN \g_@@_blue_point_clist \@@_draw_point:n
+ \draw_path_use_clear:n { draw, fill }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_draw_stone:nnnn}
+% 绘制一手棋或纯标签(|#1| 黑白方;|#2| $x$坐标;|#3| $y$ 坐标;|#4| 标签)。\\
+% 坐标是变换后的坐标。
+% \begin{macrocode}
+\cs_new:Npn \@@_draw_stone:nnnn #1#2#3#4
+ {
+% \end{macrocode}
+% 绘制外围空白,如果是纯标签则不绘制:
+% \begin{macrocode}
+ \int_compare:nNnF { #1 } = { 3 }
+ {
+ \color_fill:n { white }
+ \draw_path_circle:nn { #2cm, #3cm } { 4.4mm }
+ \draw_path_use_clear:n { fill }
+ }
+% \end{macrocode}
+% 绘制棋子(不含标签);如果为纯标签,则绘制空白:
+% \begin{macrocode}
+ \color_select:n { black }
+ \int_case:nn { #1 }
+ {
+ { 1 } { \color_fill:n { black } }
+ { 2 } { \color_fill:n { white } }
+ { 3 } { \color_select:n { white } }
+ }
+ \draw_path_circle:nn{ #2cm, #3cm } { 4mm }
+ \draw_path_use_clear:n { draw, fill }
+% \end{macrocode}
+% 绘制棋子标签:
+% \begin{macrocode}
+ \int_case:nn { #1 }
+ {
+ { 1 } { \color_select:n { white } }
+ { 2 } { \color_select:n { black } }
+ { 3 } { \color_select:n { blue } }
+ }
+ \hbox_set:Nn \l_tmpa_box { \Large \textbf{ #4 } }
+ \draw_box_use:Nn \l_tmpa_box
+ {
+ #2cm - 0.5 * { \box_wd:N \l_tmpa_box },
+ #3cm - 0.5 * { \box_ht:N \l_tmpa_box }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_stones:}
+% 绘制完整的常规棋子。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_stones:
+ {
+ \draw_linewidth:n { 1 }
+ \int_step_inline:nn {\g_@@_step_count_int}
+ {
+ \int_set:Ne \l_@@_x_int
+ { \intarray_item:Nn \g_@@_x_intarray { ##1 } }
+ \int_set:Ne \l_@@_y_int
+ { \intarray_item:Nn \g_@@_y_intarray { ##1 } }
+ \int_set:Ne \l_@@_player_int
+ { \intarray_item:Nn \g_@@_player_intarray { ##1 } }
+ \str_set:Nx \l_@@_tmp_str
+ { \seq_item:Nn \g_@@_label_seq { ##1 } }
+ \seq_if_in:NnT \g_@@_die_seq { ##1 }
+ { \int_set:Nn \l_@@_x_int { 0 } }
+ \int_if_zero:nF { \l_@@_x_int }
+ {
+ \@@_transform_xy:NN \l_@@_x_int \l_@@_y_int
+ \@@_within_range:nnT
+ { \l_@@_x_int } { \l_@@_y_int }
+ {
+ \@@_draw_stone:nnnn { \l_@@_player_int }
+ { \l_@@_x_int } { \l_@@_y_int } { \l_@@_tmp_str }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_specific_stone:}
+% 绘制指定的一个特殊的棋子(死子、虚着)。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_specific_stone:
+ {
+ \color_select:n { black }
+ \int_case:nn { \l_@@_player_int }
+ {
+ { 1 } { \color_fill:n { black } }
+ { 2 } { \color_fill:n { white } }
+ }
+ \draw_path_circle:nn{ \l_@@_x_fp cm, \l_@@_y_fp cm } { 4mm }
+ \draw_path_use_clear:n { draw, fill }
+% \end{macrocode}
+% \begin{macrocode}
+ \int_case:nn { \l_@@_player_int }
+ {
+ { 1 } { \color_select:n { white } }
+ { 2 } { \color_select:n { black } }
+ }
+ \@@_xy_to_loc:N \l_tmpa_str
+ \hbox_set:Nn \l_tmpa_box { \Large \textbf{ \l_@@_tmp_str } }
+ \hbox_set:Nn \l_tmpb_box { \Large \texttt{ \l_tmpa_str } }
+ \draw_box_use:Nn \l_tmpa_box
+ {
+ \l_@@_x_fp cm - 0.5 * { \box_wd:N \l_tmpa_box },
+ \l_@@_y_fp cm - 0.5 * { \box_ht:N \l_tmpa_box }
+ }
+ \color_select:n { black }
+ \draw_box_use:Nn \l_tmpb_box
+ {
+ \l_@@_x_fp cm + 6mm,
+ \l_@@_y_fp cm - 0.5 * { \box_ht:N \l_tmpa_box }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+ \fp_set:Nn \l_tmpa_fp { min(\l_@@_x_min_fp, \l_@@_x_max_fp) }
+ \fp_set:Nn \l_tmpb_fp { max(\l_@@_x_min_fp, \l_@@_x_max_fp) }
+ \fp_add:Nn \l_@@_x_fp { 2 }
+ \fp_compare:nNnT { \l_@@_x_fp } > { \l_tmpb_fp }
+ {
+ \fp_set_eq:NN \l_@@_x_fp \l_tmpa_fp
+ \fp_sub:Nn \l_@@_y_fp { 1 }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_draw_specific_stones:}
+% 绘制完整的特殊棋子(死子、虚着)。
+% \begin{macrocode}
+\cs_new:Nn \@@_draw_specific_stones:
+ {
+ \draw_linewidth:n { 1 }
+ \fp_set:Nn \l_@@_x_fp { min(\l_@@_x_min_int, \l_@@_x_max_int) }
+ \fp_set:Nn \l_@@_y_fp { min(\l_@@_y_min_int, \l_@@_y_max_int) - 1.2}
+ \int_step_inline:nn {\g_@@_step_count_int}
+ {
+ \int_set:Ne \l_@@_x_int
+ { \intarray_item:Nn \g_@@_x_intarray { ##1 } }
+ \int_set:Ne \l_@@_y_int
+ { \intarray_item:Nn \g_@@_y_intarray { ##1 } }
+ \int_set:Ne \l_@@_player_int
+ { \intarray_item:Nn \g_@@_player_intarray { ##1 } }
+ \str_set:Nx \l_@@_tmp_str
+ { \seq_item:Nn \g_@@_label_seq { ##1 } }
+% \end{macrocode}
+% \begin{macrocode}
+ \seq_if_in:NnTF \g_@@_die_seq { ##1 }
+ { \int_set:Nn \l_tmpa_int { 0 } }
+ { \int_set_eq:NN \l_tmpa_int \l_@@_x_int }
+ \str_compare:eNeT { \l_@@_tmp_str } = {}
+ { \int_set:Nn \l_tmpa_int { 1 } }
+ \bool_lazy_all:nT
+ {
+ { \int_compare_p:nNn { \l_tmpa_int } = { 0 } }
+ { \int_compare_p:nNn { \l_@@_player_int } > { 0 } }
+ { \int_compare_p:nNn { \l_@@_player_int } < { 3 } }
+ }
+ { \@@_draw_specific_stone: }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_show:}
+% 显示完整对局。
+% \begin{macrocode}
+\cs_new:Nn \@@_show:
+ {
+ \draw_begin:
+ \group_begin:
+ \draw_transform_scale:n { \l_@@_scale_fp }
+ \@@_draw_board:
+ \@@_draw_points:
+ \@@_draw_stones:
+ \@@_draw_specific_stones:
+ \group_end:
+ \draw_end:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{定义文档命令}
+%
+% 本节定义了一些供宏包外使用的文档命令。
+%
+% \begin{macro}{\newweiqi}
+% 开始新对局。
+% \begin{macrocode}
+\NewDocumentCommand \newweiqi { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \@@_new_game:n { \g_@@_default_size_int } }
+ {
+ \IfBooleanT { #1 } { \int_gset:Nn \g_@@_default_size_int { #2 } }
+ \@@_new_game:n { #2 }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqisize}
+% 更改棋盘大小。
+% \begin{macrocode}
+\NewDocumentCommand \weiqisize { s m }
+ {
+ \IfBooleanT{ #1 }
+ { \int_gset:Nn \g_@@_default_size_int { #2 } }
+ \int_set:Nn \g_@@_size_int { #2 }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqiblack, \weiqiwhite}
+% 添加黑/白棋子。星号版本命令无区别。
+% \begin{macrocode}
+\NewDocumentCommand \weiqiblack { s o m }
+ {
+ \IfNoValueTF { #2 }
+ { \@@_add_stones:nnn { 1 } { #3 } { } }
+ { \@@_add_stones:nnn { 1 } { #3 } { #2 } }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\NewDocumentCommand \weiqiwhite { s o m }
+ {
+ \IfNoValueTF { #2 }
+ { \@@_add_stones:nnn { 2 } { #3 } { } }
+ { \@@_add_stones:nnn { 2 } { #3 } { #2 } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqisgf}
+% 使用 sgf 文本添加黑/白棋子。星号版本命令无区别。
+% \begin{macrocode}
+\NewDocumentCommand \weiqisgf { s o m }
+ {
+ \IfNoValueTF { #2 }
+ { \@@_add_sgf_stones:nn { #3 } { } }
+ { \@@_add_sgf_stones:nn { #3 } { #2 } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\inputsgf}
+% 读取 sgf 棋谱。星号版本命令无区别。
+% \begin{macrocode}
+\NewDocumentCommand \inputsgf { s o m }
+ {
+ \ior_open:Nn \g_tmpa_ior { #3 }
+ \str_set:Nn \l_@@_tmp_str {}
+ \ior_str_map_inline:Nn \g_tmpa_ior
+ {
+ \str_put_right:Nx \l_@@_tmp_str { ##1 }
+ }
+ \ior_close:N \g_tmpa_ior
+% \end{macrocode}
+% \begin{macrocode}
+ \regex_extract_once:nVNTF { ;GM\[1\] } { \l_@@_tmp_str } \l_tmpa_seq
+ {
+ \regex_extract_once:nVNTF { SZ\[[0-9]+\] } { \l_@@_tmp_str } \l_tmpa_seq
+ {
+ \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { 1 } }
+ \str_set:Nx \l_tmpa_str { \str_range:Nnn \l_tmpa_str { 4 } { -2 } }
+ \int_set:Ne \l_tmpa_int { \l_tmpa_str }
+ \newweiqi [ \l_tmpa_int ]
+ \regex_extract_once:nVN { HA\[[0-9]+\] } { \l_@@_tmp_str } \l_tmpa_seq
+ \str_set:Nx \l_tmpa_str { \seq_item:Nn \l_tmpa_seq { 1 } }
+ \str_set:Nx \l_tmpa_str {\str_range:Nnn \l_tmpa_str { 4 } { -2 } }
+ \int_set:Ne \l_tmpa_int { \l_tmpa_str }
+ \IfNoValueTF { #2 }
+ { \int_add:Nn \l_tmpa_int { 1 } }
+ { \int_add:Nn \l_tmpa_int { #2 } }
+ \@@_add_sgf_stones:VV { \l_@@_tmp_str } { \l_tmpa_int }
+ }
+ { 解析棋盘大小失败 }
+ }
+ { 不支持的棋谱 }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\resetnumber}
+% 重新修改棋子手数。星号版本命令无区别。
+% \begin{macrocode}
+\NewDocumentCommand \resetnumber { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \@@_reset_stone_number:n { 1 } }
+ { \@@_reset_stone_number:n { #2 } }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqilabel, \clearlabel}
+% 添加/删除标签。
+% \begin{macrocode}
+\NewDocumentCommand \weiqilabel { s o m }
+ {
+ \IfBooleanT{ #1 } { \@@_clear_labels: }
+ \IfNoValueTF { #2 }
+ { \@@_add_stones:nnn { 3 } { #3 } { a } }
+ { \@@_add_stones:nnn { 3 } { #3 } { #2 } }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \clearlabel { }
+ { \@@_clear_labels: }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqired, \weiqigreen, \weiqiblue, \clearpoint}
+% 添加红绿蓝点。
+% \begin{macrocode}
+\NewDocumentCommand \weiqired { s m }
+ {
+ \IfBooleanT{ #1 } { \@@_clear_points: }
+ \@@_add_points:nn { red } { #2 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \weiqigreen { s m }
+ {
+ \IfBooleanT{ #1 } { \@@_clear_points: }
+ \@@_add_points:nn { green } { #2 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \weiqiblue { s m }
+ {
+ \IfBooleanT{ #1 } { \@@_clear_points: }
+ \@@_add_points:nn { blue } { #2 }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \clearpoint { }
+ { \@@_clear_points: }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqidie}
+% 标记死子。
+% \begin{macrocode}
+\NewDocumentCommand \weiqidie { s m }
+ {
+ \@@_modify_stones:nN { #2 } \@@_die_stone:n
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqiremove}
+% 移除棋子。
+% \begin{macrocode}
+\NewDocumentCommand \weiqiremove { s m }
+ {
+ \@@_modify_stones:nN { #2 } \@@_remove_stone:n
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqichange}
+% 切换棋子黑白方。
+% \begin{macrocode}
+\NewDocumentCommand \weiqichange { s m }
+ {
+ \@@_modify_stones:nN { #2 } \@@_change_stone:n
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\showweiqi}
+% 显示棋盘。
+% \begin{macrocode}
+\NewDocumentCommand \showweiqi { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \@@_calc_range: }
+ { \@@_set_range:n { #2 } }
+ \@@_show:
+ \IfBooleanF { #1 } { \newweiqi }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\nonelocmode, \normallocmode, \sgflocmode}
+% 设置围棋坐标显示模式。
+% \begin{macrocode}
+\NewDocumentCommand \nonelocmode { s }
+ {
+ \bool_set_false:N \l_@@_show_loc_bool
+ \IfBooleanT { #1 } { \bool_gset_false:N \g_@@_show_loc_bool }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \normallocmode { s }
+ {
+ \bool_set_true:N \l_@@_show_loc_bool
+ \str_set_eq:NN \l_@@_loc_mode_str \c_@@_normal_mode_str
+ \IfBooleanT { #1 }
+ {
+ \bool_gset_true:N \g_@@_show_loc_bool
+ \str_gset_eq:NN \g_@@_loc_mode_str \c_@@_normal_mode_str
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\NewDocumentCommand \sgflocmode { s }
+ {
+ \bool_set_true:N \l_@@_show_loc_bool
+ \str_set_eq:NN \l_@@_loc_mode_str \c_@@_sgf_mode_str
+ \IfBooleanT { #1 }
+ {
+ \bool_gset_true:N \g_@@_show_loc_bool
+ \str_gset_eq:NN \g_@@_loc_mode_str \c_@@_sgf_mode_str
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+
+%
+% \begin{macro}{\weiqirotate, \weiqimirror, \weiqiposition}
+% 旋转棋盘、镜像棋盘或指定棋盘方位。
+% \begin{macrocode}
+\NewDocumentCommand \weiqirotate { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \int_set:Nn \l_tmpa_int { 90 } }
+ { \int_set:Ne \l_tmpa_int { #2 } }
+ \int_compare:nNnT { \l_tmpa_int } < { 0 }
+ { \int_add:Nn \l_tmpa_int { 360 } }
+ \int_case:nn { \l_tmpa_int }
+ {
+ { 90 }
+ {
+ \bool_set_inverse:N \l_@@_swap_xy_bool
+ \int_set:Ne \l_tmpb_int { \l_@@_x_direction_int }
+ \int_set:Ne \l_@@_x_direction_int { \l_@@_y_direction_int }
+ \int_set:Ne \l_@@_y_direction_int { 0 - \l_tmpb_int }
+ }
+ { 180 }
+ {
+ \int_set:Ne \l_@@_x_direction_int { 0 - \l_@@_x_direction_int }
+ \int_set:Ne \l_@@_y_direction_int { 0 - \l_@@_y_direction_int }
+ }
+ { 270 }
+ {
+ \bool_set_inverse:N \l_@@_swap_xy_bool
+ \int_set:Ne \l_tmpb_int { \l_@@_x_direction_int }
+ \int_set:Ne \l_@@_x_direction_int { 0 - \l_@@_y_direction_int }
+ \int_set:Ne \l_@@_y_direction_int { \l_tmpb_int }
+ }
+ }
+ \IfBooleanT{ #1 }
+ {
+ \bool_gset_eq:NN \g_@@_swap_xy_bool \l_@@_swap_xy_bool
+ \int_gset_eq:NN \g_@@_x_direction_int \l_@@_x_direction_int
+ \int_gset_eq:NN \g_@@_y_direction_int \l_@@_y_direction_int
+ }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\NewDocumentCommand \weiqimirror { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \str_set:Nn \l_tmpa_str { xy } }
+ { \str_set:Nx \l_tmpa_str { #2 } }
+ \str_case_e:nn { \l_tmpa_str }
+ {
+ { x }
+ {
+ \int_set:Ne \l_@@_x_direction_int { 0 - \l_@@_x_direction_int }
+ }
+ { y }
+ {
+ \int_set:Ne \l_@@_y_direction_int { 0 - \l_@@_y_direction_int }
+ }
+ { xy }
+ {
+ \int_set:Ne \l_@@_x_direction_int { 0 - \l_@@_x_direction_int }
+ \int_set:Ne \l_@@_y_direction_int { 0 - \l_@@_y_direction_int }
+ }
+
+ }
+ \IfBooleanT{ #1 }
+ {
+ \bool_set_eq:NN \g_@@_swap_xy_bool \l_@@_swap_xy_bool
+ \int_set_eq:NN \g_@@_x_direction_int \l_@@_x_direction_int
+ \int_set_eq:NN \g_@@_y_direction_int \l_@@_y_direction_int
+ }
+ }
+% \end{macrocode}
+% \begin{macrocode}
+\NewDocumentCommand \weiqiposition { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \int_set:Nn \l_tmpa_int { 0 } }
+ { \int_set:Ne \l_tmpa_int { #2 } }
+ \int_compare:nNnT { \l_tmpa_int } < { 0 }
+ { \int_add:Nn \l_tmpa_int { 360 } }
+ \int_case:nn { \l_tmpa_int }
+ {
+ { 0 }
+ {
+ \bool_set_false:N \l_@@_swap_xy_bool
+ \int_set:Nn \l_@@_x_direction_int { 1 }
+ \int_set:Nn \l_@@_y_direction_int { 1 }
+ }
+ { 90 }
+ {
+ \bool_set_true:N \l_@@_swap_xy_bool
+ \int_set:Nn \l_@@_x_direction_int { 1 }
+ \int_set:Nn \l_@@_y_direction_int { -1 }
+ }
+ { 180 }
+ {
+ \bool_set_false:N \l_@@_swap_xy_bool
+ \int_set:Nn \l_@@_x_direction_int { -1 }
+ \int_set:Nn \l_@@_y_direction_int { -1 }
+ }
+ { 270 }
+ {
+ \bool_set_true:N \l_@@_swap_xy_bool
+ \int_set:Nn \l_@@_x_direction_int { -1 }
+ \int_set:Nn \l_@@_y_direction_int { 1 }
+ }
+ }
+ \IfBooleanT{ #1 }
+ {
+ \bool_gset_eq:NN \g_@@_swap_xy_bool \l_@@_swap_xy_bool
+ \int_gset_eq:NN \g_@@_x_direction_int \l_@@_x_direction_int
+ \int_gset_eq:NN \g_@@_y_direction_int \l_@@_y_direction_int
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqiscale}
+% 缩放棋盘。
+% \begin{macrocode}
+\NewDocumentCommand \weiqiscale { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \fp_set:Nn \l_@@_scale_fp { 1.0 } }
+ { \fp_set:Nn \l_@@_scale_fp { #2 * \l_@@_scale_fp } }
+ \IfBooleanT{ #1 }
+ { \fp_set_eq:NN \g_@@_scale_fp \l_@@_scale_fp }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqiminsize}
+% 最小显示尺寸。
+% \begin{macrocode}
+\NewDocumentCommand \weiqiminsize { s m m }
+ {
+ \int_set:Nn \l_@@_min_width_int { #2 }
+ \int_set:Nn \l_@@_min_hight_int { #3 }
+ \IfBooleanT{ #1 }
+ {
+ \int_gset:Nn \g_@@_min_width_int { #2 }
+ \int_gset:Nn \g_@@_min_hight_int { #3 }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\saveweiqi}
+% 保存对局。
+% \begin{macrocode}
+\NewDocumentCommand \saveweiqi { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \str_set:Nx \l_tmpa_str { Default } }
+ { \str_set:Nx \l_tmpa_str { \int_to_alph:n { #2 } } }
+ \cs_if_free:cT { g_@@_size_int_\l_tmpa_str }
+ {
+ \int_new:c { g_@@_size_int_\l_tmpa_str }
+ \int_new:c { g_@@_step_count_int_\l_tmpa_str }
+ \intarray_new:cn { g_@@_x_intarray_\l_tmpa_str }
+ { \c_@@_max_step_int }
+ \intarray_new:cn { g_@@_y_intarray_\l_tmpa_str }
+ { \c_@@_max_step_int }
+ \intarray_new:cn { g_@@_player_intarray_\l_tmpa_str }
+ { \c_@@_max_step_int }
+ \seq_new:c { g_@@_label_seq_\l_tmpa_str }
+ \seq_new:c { g_@@_die_seq_\l_tmpa_str }
+ }
+ \int_gset_eq:cN { g_@@_size_int_\l_tmpa_str } \g_@@_size_int
+ \int_gset_eq:cN
+ { g_@@_step_count_int_\l_tmpa_str } \g_@@_step_count_int
+ \int_step_inline:nn { \c_@@_max_step_int }
+ {
+ \intarray_gset:cnn { g_@@_x_intarray_\l_tmpa_str } { ##1 }
+ { \intarray_item:Nn \g_@@_x_intarray { ##1 } }
+ \intarray_gset:cnn { g_@@_y_intarray_\l_tmpa_str } { ##1 }
+ { \intarray_item:Nn \g_@@_y_intarray { ##1 } }
+ \intarray_gset:cnn { g_@@_player_intarray_\l_tmpa_str } { ##1 }
+ { \intarray_item:Nn \g_@@_player_intarray { ##1 } }
+ }
+ \clist_gset_eq:cN { g_@@_label_seq_\l_tmpa_str } \g_@@_label_seq
+ \clist_gset_eq:cN { g_@@_die_seq_\l_tmpa_str } \g_@@_die_seq
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\useweiqi}
+% 使用对局。
+% \begin{macrocode}
+\NewDocumentCommand \useweiqi { s o }
+ {
+ \IfNoValueTF { #2 }
+ { \str_set:Nx \l_tmpa_str { Default } }
+ { \str_set:Nx \l_tmpa_str { \int_to_alph:n { #2 } } }
+ \cs_if_free:cTF { g_@@_size_int_\l_tmpa_str }
+ { \@@_new_game:n { \g_@@_default_size_int } }
+ {
+ \int_set_eq:Nc \l_tmpa_int { g_@@_size_int_\l_tmpa_str }
+ \@@_new_game:n { \l_tmpa_int }
+ \int_gset_eq:Nc \g_@@_step_count_int
+ { g_@@_step_count_int_\l_tmpa_str }
+ \int_step_inline:nn { \c_@@_max_step_int }
+ {
+ \intarray_gset:Nnn \g_@@_x_intarray { ##1 }
+ { \intarray_item:cn { g_@@_x_intarray_\l_tmpa_str } { ##1 } }
+ \intarray_gset:Nnn \g_@@_y_intarray { ##1 }
+ { \intarray_item:cn { g_@@_y_intarray_\l_tmpa_str } { ##1 } }
+ \intarray_gset:Nnn \g_@@_player_intarray { ##1 }
+ {
+ \intarray_item:cn
+ { g_@@_player_intarray_\l_tmpa_str } { ##1 }
+ }
+ }
+ \clist_set_eq:Nc \g_@@_label_seq { g_@@_label_seq_\l_tmpa_str }
+ \clist_set_eq:Nc \g_@@_die_seq { g_@@_die_seq_\l_tmpa_str }
+ }
+ \IfBooleanT{ #1 }
+ {
+ \@@_clear_labels:
+ \int_step_inline:nn { \g_@@_step_count_int }
+ {
+ \seq_gset_item:Nnn \g_@@_label_seq { ##1 } {}
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\weiqidata}
+% 查询内部数据。
+% \begin{macrocode}
+\NewDocumentCommand \weiqidata { s }
+ {
+ \noindent 棋盘大小:\int_use:N \g_@@_size_int~
+ (默认:\int_use:N \g_@@_default_size_int)\\
+ 当前对局步数:\int_use:N \g_@@_step_count_int~(含纯标签及移除棋子)\\
+ \int_compare:nNnT { \g_@@_step_count_int } > { 0 }
+ { 序号:($x$,~$y$),所属方,标签,备注\\ }
+ \int_step_inline:nn {\g_@@_step_count_int}
+ {
+ \int_set:Ne \l_@@_x_int
+ { \intarray_item:Nn \g_@@_x_intarray { ##1 } }
+ \int_set:Ne \l_@@_y_int
+ { \intarray_item:Nn \g_@@_y_intarray { ##1 } }
+ \int_set:Ne \l_@@_player_int
+ { \intarray_item:Nn \g_@@_player_intarray { ##1 } }
+ \str_set:Nx \l_@@_tmp_str
+ { \seq_item:Nn \g_@@_label_seq { ##1 } }
+ ##1:
+ (\int_use:N \l_@@_x_int,~\int_use:N \l_@@_y_int),
+ \int_case:nn { \l_@@_player_int }
+ {
+ { 1 } { B }
+ { 2 } { W }
+ { 3 } { L }
+ { 0 } { - }
+ },
+ \str_if_empty:NTF \l_@@_tmp_str
+ { \meta{空} }
+ { \l_@@_tmp_str },
+ \int_compare:nNnTF
+ { \l_@@_player_int } = { 0 }
+ { \meta{无效} }
+ {
+ \seq_if_in:NnT \g_@@_die_seq { ##1 }
+ { \meta{死子} }
+ {
+ \int_compare:nNnT
+ { \l_@@_x_int } = { 0 }
+ { \meta{虚着} }
+ }
+ }\\
+ }
+ 红色指示点:
+ \clist_if_empty:NTF \g_@@_red_point_clist
+ { \meta{空} }
+ { \clist_use:Nn \g_@@_red_point_clist {,~} }\\
+ 绿色指示点:
+ \clist_if_empty:NTF \g_@@_green_point_clist
+ { \meta{空} }
+ { \clist_use:Nn \g_@@_green_point_clist {,~} }\\
+ 蓝色指示点:
+ \clist_if_empty:NTF \g_@@_blue_point_clist
+ { \meta{空} }
+ { \clist_use:Nn \g_@@_blue_point_clist {,~} }\\
+ 方位信息:
+ \int_use:N \l_@@_x_direction_int,~
+ \int_use:N \l_@@_x_direction_int,~
+ \bool_to_str:N \l_@@_swap_xy_bool;~
+ (全局:
+ \int_use:N \g_@@_x_direction_int,~
+ \int_use:N \g_@@_x_direction_int,~
+ \bool_to_str:N \g_@@_swap_xy_bool
+ )\\
+ 缩放比例:\fp_use:N \l_@@_scale_fp~
+ (全局:\fp_use:N \g_@@_scale_fp)\\
+ 坐标刻度:\l_@@_loc_mode_str,~\bool_to_str:N \l_@@_show_loc_bool
+ (全局:\g_@@_loc_mode_str,~\bool_to_str:N \g_@@_show_loc_bool)\\
+ 最小显示尺寸:
+ \int_use:N \l_@@_min_width_int,~
+ \int_use:N \l_@@_min_hight_int~
+ (全局:
+ \int_use:N \g_@@_min_width_int,~
+ \int_use:N \g_@@_min_hight_int
+ )\\
+ \IfBooleanT{ #1 }
+ {
+ 棋子区间:
+ (\int_use:N \l_@@_x_min_int,~\int_use:N \l_@@_y_max_int),
+ (\int_use:N \l_@@_x_max_int,~\int_use:N \l_@@_y_min_int)\\
+ 棋盘边界:
+ (\fp_use:N \l_@@_x_min_fp,~\fp_use:N \l_@@_x_max_fp),
+ (\fp_use:N \l_@@_y_min_fp,~\fp_use:N \l_@@_y_max_fp)\\
+ 是否边路:
+ \bool_to_str:N \l_@@_up_bool,
+ \bool_to_str:N \l_@@_down_bool,
+ \bool_to_str:N \l_@@_left_bool,
+ \bool_to_str:N \l_@@_right_bool(上下左右)\\
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{扫尾}
+%
+% 初始新对局
+% \begin{macrocode}
+\newweiqi
+% \end{macrocode}
+%
+% 关闭 expl3 模式
+% \begin{macrocode}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/weiqi/weiqi.ins b/macros/latex/contrib/weiqi/weiqi.ins
new file mode 100644
index 0000000000..bb7a63b39a
--- /dev/null
+++ b/macros/latex/contrib/weiqi/weiqi.ins
@@ -0,0 +1,36 @@
+%%
+%% 版本(C) 2023-2024 by Ms_yam
+%%
+%% 它可以在LaTeX 项目公共许可(LPPL)1.3c 及之后的任意版本(
+%% 随你的意见)下分发或修改。这个许可的最新版本在如下文件中:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% 版本1.3c 及之后的版本是LaTeX 2008 及之后的版本的组成。
+%%
+
+\input docstrip.tex
+
+\keepsilent
+
+\preamble
+
+\endpreamble
+
+\generate{\file{weiqi.sty}{\from{weiqi.dtx}{package}}}
+
+\obeyspaces
+
+\Msg{************************************************************}
+\Msg{* *}
+\Msg{* 请将下列文件移动到 TeX 搜索路径以完成安装: *}
+\Msg{* *}
+\Msg{* weiqi.sty *}
+\Msg{* *}
+\Msg{* 使用 XeLaTeX 运行 weiqi.dtx 文件以生成用户文档。 *}
+\Msg{* *}
+\Msg{* 祝您使用TeX 愉快! *}
+\Msg{* *}
+\Msg{************************************************************}
+
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/weiqi/weiqi.pdf b/macros/latex/contrib/weiqi/weiqi.pdf
new file mode 100644
index 0000000000..ed48eb673a
--- /dev/null
+++ b/macros/latex/contrib/weiqi/weiqi.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 036715afb3..3e2a96e44c 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -187,6 +187,7 @@ $mirrors = {
'https://ctan.math.illinois.edu/' => 1,
'https://ctan.math.utah.edu/ctan/tex-archive/' => 1,
'https://ctan.math.washington.edu/tex-archive/' => 1,
+ 'https://ctan.mirrors.hoobly.com/' => 1,
'https://mirror.las.iastate.edu/tex-archive/' => 1,
'https://mirror.math.princeton.edu/pub/CTAN/' => 1,
'https://mirror.mwt.me/ctan/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 3be904ae50..92c110f9dd 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/70144
+depend revision/70170
name 00texlive.image
category TLCore
-revision 70141
+revision 70166
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -728,6 +728,7 @@ runfiles size=14451
tlpkg/tlpsrc/bearwear.tlpsrc
tlpkg/tlpsrc/beaulivre.tlpsrc
tlpkg/tlpsrc/beautybook.tlpsrc
+ tlpkg/tlpsrc/beautynote.tlpsrc
tlpkg/tlpsrc/beebe.tlpsrc
tlpkg/tlpsrc/begingreek.tlpsrc
tlpkg/tlpsrc/begriff.tlpsrc
@@ -4856,7 +4857,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 70120
+revision 70146
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
@@ -35592,6 +35593,36 @@ catalogue-ctan /macros/latex/contrib/beautybook
catalogue-license lppl1.3c
catalogue-topics book-pub class doc-templ expl3
+name beautynote
+category Package
+revision 70166
+shortdesc A package designed to meet the publication of books and the production of LaTeX templates, with elegant chapter
+relocated 1
+longdesc The package is a specially designed to meet the publication of
+longdesc books and the production of LaTeX templates, with elegant
+longdesc chapter styles and unique page styles.
+containersize 5128
+containerchecksum 637e51a355d5f89c2e0241140780b221fabbb4685830c1ce9ccb5cb185c53f1cc4c3ffafe737df25445ef885958c1b5f6ba96a4a3de1169de7f2cf28095eea43
+doccontainersize 858720
+doccontainerchecksum 36e71d750df5b5e5d8d05251a4be60214c09027a10c77551ff6261464729004fe0e3be586687af23db115b7cb4c99086dbe9278da0b8d6292b57005019628fc3
+docfiles size=405
+ RELOC/doc/latex/beautynote/README.md details="Readme"
+ RELOC/doc/latex/beautynote/beautynote.pdf details="Package documentation"
+ RELOC/doc/latex/beautynote/beautynote.tex
+ RELOC/doc/latex/beautynote/figures/fibonacci.jpg
+ RELOC/doc/latex/beautynote/figures/titlepage.png
+runfiles size=5
+ RELOC/tex/latex/beautynote/beautynote.cls
+catalogue-contact-announce https://github.com/BeautyLaTeX/beautynote/releases
+catalogue-contact-bugs https://github.com/BeautyLaTeX/beautynote/issues
+catalogue-contact-development https://github.com/BeautyLaTeX
+catalogue-contact-home https://github.com/BeautyLaTeX/beautynote
+catalogue-contact-repository https://github.com/BeautyLaTeX/beautynote
+catalogue-contact-support https://github.com/BeautyLaTeX/beautynote/issues
+catalogue-ctan /macros/latex/contrib/beautynote
+catalogue-license lppl1.3c
+catalogue-topics book-pub class doc-templ expl3
+
name beebe
category Package
revision 70064
@@ -71825,7 +71856,7 @@ containerchecksum 889eae40b82f31c7c4b3a17740399c763dabec7986fcb39261b252afff69a0
name collection-latexextra
category Collection
-revision 70140
+revision 70166
shortdesc LaTeX additional packages
relocated 1
longdesc A very large collection of add-on packages for LaTeX.
@@ -71934,6 +71965,7 @@ depend beamerthemenord
depend bearwear
depend beaulivre
depend beautybook
+depend beautynote
depend beton
depend bewerbung
depend bez123
@@ -73363,8 +73395,8 @@ depend zref-clever
depend zref-vario
depend zwgetfdate
depend zwpagelayout
-containersize 7112
-containerchecksum 64c7796f2f5fbe2444ea5129f804d9aa43c518cd22a69f1553de89a1fbef20452a64a226c563ebd8dc8eb6358da69d8cdb82f7552860570ed57412c8935e9000
+containersize 7116
+containerchecksum 1c400089a28336f821c3addcb5489074e112d2a4f54de7b4b48d1d76bdca2b41f3225ab182d88024321986a608b8b5da375aaa8ed0030f1e794e5ee16886fa58
name collection-latexrecommended
category Collection
@@ -86063,8 +86095,8 @@ catalogue-version 0.1.0
name crefthe
category Package
-revision 70139
-shortdesc Cross referencing with proper definite articles
+revision 70165
+shortdesc Cross referencing with proper definite articles and declensions
relocated 1
longdesc By default, when using cleveref's \cref to reference
longdesc theorem-like environments, the names do not contain definite
@@ -86073,16 +86105,16 @@ longdesc Spanish, etc. this results in incorrect grammar. For this
longdesc purpose, the current package offers \crefthe, which handles the
longdesc definite articles properly (especially for the article
longdesc contractions in many European languages).
-containersize 4424
-containerchecksum b90551ca30d40706a70dbf15a02c823f97213d570e97f74a3dbd4d64b26bcfd86d8a66737f396acd981cfce0e76dd11c84f55823263cccee452eae4339770ab6
-doccontainersize 76148
-doccontainerchecksum 169575f2dd8c117a51820a0f7690f348d84d942e6fc622d7098987541ef226128cc64ea85c906790cd28153f1116e9598c013379982a90faefcdf4b8a63a6ba2
-docfiles size=29
+containersize 5000
+containerchecksum e3d8ee83d5c8eeb35885ac852e64df8c3e0950855b1860fd1013358626aa5968e02175e0873dadeff69eafcf14dc85bddfbe78fccbe9c784748c5e09b599a27a
+doccontainersize 81312
+doccontainerchecksum 35d45eb3ad323dc4699ee103a7efedbfb4fac371632d82e5e449a49e89ff6ee25ba9b7d86ee2ebe76c5094dbc24c0813d2a89328d28414b04ba2d20c513cdf3e
+docfiles size=30
RELOC/doc/latex/crefthe/LICENSE
RELOC/doc/latex/crefthe/README.md details="Readme"
RELOC/doc/latex/crefthe/crefthe-doc.pdf details="Package documentation"
RELOC/doc/latex/crefthe/crefthe-doc.tex
-runfiles size=6
+runfiles size=7
RELOC/tex/latex/crefthe/crefthe.sty
catalogue-alias ccref
catalogue-contact-repository https://github.com/Jinwen-XU/crefthe
@@ -105875,7 +105907,7 @@ catalogue-topics notes editorial
name easybook
category Package
-revision 70073
+revision 70164
shortdesc Easily typesetting Chinese theses or books
relocated 1
longdesc easybook is a pure academic template created based on the
@@ -105887,15 +105919,15 @@ longdesc easily customize the thesis template. Its basic macro package
longdesc easybase can also be used with CTeX and standard document
longdesc classes.
containersize 16828
-containerchecksum a54be3ac3a15cfe7db546208809236844eabc42af9c1edeb57c22870d4c8f7a9cacad19222ebf71d3751b686dd0187a9d1995c504acb2d9ffacf00a80484801d
-doccontainersize 629168
-doccontainerchecksum 7fe947007aa99cafe37e3f89003a0a96827923dbaaf13223ad1af15c05c49a6cc63c5c93886068696ba0f6761b5169571b36de3983e411d50cdca12de533b999
+containerchecksum 6fe9775133d35f9292df60a732169abf04a4e1d5ad24dfceabb2c042628ec67a3b8982d04f968e9d104d7e28481e0430e89b8871243898d176a3109cb46ed9de
+doccontainersize 629172
+doccontainerchecksum 4888a21019ffecacbe5a783df20459d03eba4a831d6b474c635d175296042305d54bd6db047361474845380026795e3b80eae53ebb9808d074202cdc8a89e740
docfiles size=172
RELOC/doc/latex/easybook/README.md details="Readme"
RELOC/doc/latex/easybook/easybook.pdf details="Package documentation" language="zh"
RELOC/doc/latex/easybook/easybook.tex
-srccontainersize 16720
-srccontainerchecksum 28ea8e589887f52e9a3afda516fca12ee9b547b15d5cd2013ab8b45f1f90045972efd4e791c39e927357af1b440b49a4742c5767ea349bdea6ebdf0fc9778c5f
+srccontainersize 16716
+srccontainerchecksum e3e2ae2d871903515eb088f34da8ae0073c282d6a1d641829ba32c75afd2f371f356c9c6868f5d617073542342193cc6084f0600db681311aa3680c123cd8c12
srcfiles size=20
RELOC/source/latex/easybook/easybook.dtx
RELOC/source/latex/easybook/easybook.ins
@@ -105908,7 +105940,7 @@ catalogue-contact-repository https://gitee.com/texno3/easybook
catalogue-ctan /macros/latex/contrib/easybook
catalogue-license lppl1.3c
catalogue-topics book-pub dissertation class doc-templ chinese expl3
-catalogue-version 2024ak
+catalogue-version 2024al
name easydtx
category Package
@@ -133494,7 +133526,7 @@ catalogue-version 1.3
name frenchmath
category Package
-revision 70031
+revision 70163
shortdesc Typesetting mathematics according to French rules
relocated 1
longdesc The package provides: capital letters in roman (upright shape)
@@ -133505,15 +133537,15 @@ longdesc useful macros and aliases for symbols used in France: \infeg,
longdesc \supeg, \paral, ... several macros for writing french operator
longdesc names like pgcd, ppcm, Card, rg, Vect, ... optionally lowercase
longdesc Greek letters in upright shape,
-containersize 2924
-containerchecksum b7f6bde368c066f5d15f3026458f3f6a44e9af61639d631a42901d4b5013898cf51c2e4e1e02681302dab0deff306541043d491d27ebf73e14208370af06c13b
-doccontainersize 580400
-doccontainerchecksum 46ad2bd606bb341f77dbe1e2d7ff1308072c84a14143373df9c855739093cf32c0ce6fd90bdbb47bdfcac6f763fb579b6b0ee4b9a737e4da6f95d5e5b01b3aa7
+containersize 2956
+containerchecksum dc8bfa123818c5e3ae96194158cccee72c29bae0b59dac01014750d1907039eed6ef3f24f08a32f08f15320c28e03bac3a9f052010e4609108bb5b4a4ff97397
+doccontainersize 580696
+doccontainerchecksum 1a1146f868e4d68014b080462cfce94f0f8362d23ccd42fe2a16fc526834850939aa10bc60dc65e5a66c35d40632f7c7b1fc607548b966424ebcda59104264bf
docfiles size=143
RELOC/doc/latex/frenchmath/README.md details="Readme"
RELOC/doc/latex/frenchmath/frenchmath.pdf details="Package documentation" language="fr"
-srccontainersize 15404
-srccontainerchecksum 8fb20e63f734d4f36935a5fb322984a3dd177476f7270ec9b2e1fd121e6bba62a82055e748eefc4f345a14035005cecb10be2f864fb43247264aa89c83731dbe
+srccontainersize 15456
+srccontainerchecksum 9a3c55e4d175635953917751c57b9f762a20046f1967c47a022703249a0fdedae4264810b16bc4188d6b19ec3836835e2d911c78fa7769bc1701b906b8898f65
srcfiles size=13
RELOC/source/latex/frenchmath/frenchmath.dtx
RELOC/source/latex/frenchmath/frenchmath.ins
@@ -133522,7 +133554,7 @@ runfiles size=3
catalogue-ctan /macros/latex/contrib/frenchmath
catalogue-license lppl1.3
catalogue-topics maths french
-catalogue-version 2.9
+catalogue-version 2.10
name frimurer
category Package
@@ -211093,17 +211125,17 @@ catalogue-version 0.5
name mcf2graph
category Package
-revision 69521
+revision 70167
shortdesc Draw chemical structure diagrams with MetaPost
relocated 1
longdesc The Molecular Coding Format (MCF) is a linear notation for
longdesc describing chemical structure diagrams. This package converts
longdesc MCF to graphic files using MetaPost.
-containersize 444
-containerchecksum 460e7c862fa7452277bbc5582daaac5510bb3968d1fe6f0ccf024094b2414f638bdcba91025c1030459a9c29488798f234f65f6a3c60914204b1a66884ac9c91
-doccontainersize 1059180
-doccontainerchecksum 7526fe021ef88481201697d66a1dd2d6eebc5eaa93055589b7c300548fed7cb4e42ccf7198eca811e46dd93d163042a18b736a4088e1443c0fed5a316aaebc18
-docfiles size=340
+containersize 448
+containerchecksum 4e243f8410b3ff8688365ff1fc90da5c81adc1a3ea426d2ba92c18a1378f76e5f00bf2f7aa97c39387caec9b1803fe0603632d1197f31fcad4a860dc3b93b579
+doccontainersize 1062288
+doccontainerchecksum ddc7500877bf459121a7ffe242618efdabe2e201da58f9038fe863451456a013816d66b807df74735a6bd1701cb72341bce771489e186b21c404d623d58b8205
+docfiles size=342
RELOC/doc/metapost/mcf2graph/CHANGELOG
RELOC/doc/metapost/mcf2graph/README details="Readme"
RELOC/doc/metapost/mcf2graph/main_lib.mcf
@@ -211119,7 +211151,7 @@ docfiles size=340
catalogue-ctan /graphics/mcf2graph
catalogue-license mit
catalogue-topics graphics graphics-mpost chemistry
-catalogue-version 5.11
+catalogue-version 5.12
name mcite
category Package
@@ -232937,7 +232969,7 @@ catalogue-version 1.0
name newtx
category Package
-revision 69756
+revision 70168
shortdesc Alternative uses of the TX fonts, with improved metrics
relocated 1
longdesc The bundle splits txfonts.sty (from the TX fonts distribution)
@@ -232952,10 +232984,10 @@ longdesc garamondx package, thus offering a garamond-alike
longdesc text-with-maths combination.
depend kastrup
execute addMap newtx.map
-containersize 6054376
-containerchecksum f9dc7850bdac974ce905beaf163f19b433e692da4b9372b20d703715bcbe762761dfa5e07de60895101cf69841e5f25b7f0a3c790ffbd7e988f9252919dae2ec
-doccontainersize 969884
-doccontainerchecksum 1122d8624e203e3e0b7c2aed618fa62eac1ed9603795c59abef2e365ba73496a58f373851cc52bd4025304e18bfd8ad7f6b6beb0a5807918ad99a01f603a45dd
+containersize 6061396
+containerchecksum 4c01f60d603bc7a5311630c1a1e5e0ccde3f5a895f3d4464e29f964cfce0d876d9e2faa3aafd536e6c97fca78dd294402ed40526afc49398c1fed1519a082565
+doccontainersize 973524
+doccontainerchecksum c3fc4f8548a2e5509242188b6d8c1267bee97a2024cc292977c12bd68196614a2cdd905e74ba0cc20c5a3d788f9b5802762490de4c80964e9aa0af8a3723f114
docfiles size=317
RELOC/doc/fonts/newtx/MANIFEST-newtx.txt
RELOC/doc/fonts/newtx/README details="Readme"
@@ -232971,7 +233003,7 @@ docfiles size=317
RELOC/doc/fonts/newtx/sample-ntx-crop.pdf
RELOC/doc/fonts/newtx/sample-ptmx-crop.pdf
RELOC/doc/fonts/newtx/sample-tx-crop.pdf
-runfiles size=4470
+runfiles size=4478
RELOC/fonts/afm/public/newtx/LibertineI-5nu.afm
RELOC/fonts/afm/public/newtx/LibertineMathBMI.afm
RELOC/fonts/afm/public/newtx/LibertineMathBMI5.afm
@@ -234045,7 +234077,7 @@ catalogue-also minion2newtx
catalogue-ctan /fonts/newtx
catalogue-license lppl1.3
catalogue-topics font font-body font-maths font-serif font-proportional font-type1 font-otf font-supp font-t1enc
-catalogue-version 1.738
+catalogue-version 1.739
name newtxsf
category Package
@@ -267016,7 +267048,7 @@ catalogue-version 1.0
name proflycee
category Package
-revision 69804
+revision 70162
shortdesc A LaTeX package for French maths teachers in high school
relocated 1
longdesc This package provides some commands to help French mathematics
@@ -267025,11 +267057,11 @@ longdesc create splines with "derivative control";
longdesc \CalculFormelParametres and \CalculFormelLigne in order to
longdesc create an xcas-windows-like; \CodePythonLstFichier to create
longdesc code presentation and code execution with pythontex.
-containersize 56408
-containerchecksum 906687fa7dd2ce8ced4111d5d8a2f0158c3e914c98a83019716e08c003aed937ac42722857484be17ed9181977db28edc9dab2671ee7d7295cb333ce4abf588f
-doccontainersize 3426172
-doccontainerchecksum a992bf87c170b4f0a4cc6915e4e6906510fb01f64888eeccf48decec99cf2df7ff77121d0e7879893eac36462bf1f3b945b9b7dd2c1ed9b480b3aac249411c11
-docfiles size=858
+containersize 57952
+containerchecksum 8df3da11d08daa1d135187d44b48f5f50afccf94af5a5ca1ccc692b4259be058350c608c48d28a06fe2d41e0a47db1b561c46822c1fc1b5dc20937b9bcfa7972
+doccontainersize 1874236
+doccontainerchecksum 80ec0371ff9c570227a60523d86ffc4cbe51bdb1b8cdffc900ffd8e8a44de4ef86a7d0fd99209fe8edc22357236ec95beeb620c38b01ec29e0823ed9117c96cb
+docfiles size=479
RELOC/doc/latex/proflycee/ProfLycee-doc.pdf details="Package documentation" language="fr"
RELOC/doc/latex/proflycee/ProfLycee-doc.tex
RELOC/doc/latex/proflycee/ProfLycee-docctan.zip
@@ -267038,7 +267070,7 @@ docfiles size=858
RELOC/doc/latex/proflycee/ProfLycee-exemples-pythontex.pdf details="Examples using python" language="fr"
RELOC/doc/latex/proflycee/ProfLycee-exemples-pythontex.tex
RELOC/doc/latex/proflycee/README.md details="Readme"
-runfiles size=104
+runfiles size=106
RELOC/tex/latex/proflycee/ProfLycee.sty
RELOC/tex/latex/proflycee/proflycee-tools-aleatoire.tex
RELOC/tex/latex/proflycee/proflycee-tools-analyse.tex
@@ -267062,7 +267094,7 @@ catalogue-contact-repository https://github.com/cpierquet/ProfLycee
catalogue-ctan /macros/latex/contrib/proflycee
catalogue-license lppl1.3c
catalogue-topics maths french teaching expl3 pgf-tikz
-catalogue-version 3.02b
+catalogue-version 3.02c
name profmaquette
category Package
@@ -324812,7 +324844,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 70120
+revision 70146
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.
@@ -324820,10 +324852,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 114036
-containerchecksum e41a840a0382cfd0ff145197b371e64104874370093c0b9d8b885d19c5677346046fae439cccfba1bb0a193d0f236262255075154cf07200c11d8380fe5c0582
-doccontainersize 432792
-doccontainerchecksum fddb70ef3bcafdd1fc0723c516f9f7d34d324df1c4a58802d32d4dd85a91dde8c31e1e706343764add11d0d1128fa3a4b919013d3635463b113cc0ac777304de
+containersize 114040
+containerchecksum c02bc62eb4f80ac6e03ca2ee7d134cc027435ff6441ea1c44201c1404c2920b6fcd370e12270377d538f4459801ac07c8c3683663cb378d284aa8b64a18fce89
+doccontainersize 432784
+doccontainerchecksum 36265735ad37db2450124f4a3865fb327af07f4100e6656b984c297eccee9c310ceb482f299c344221d176aed6d842467877283cf1fd9d0253a97087ef7fbf97
docfiles size=565
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -345608,7 +345640,7 @@ catalogue-version 1.1.0
name ufrgscca
category Package
-revision 70054
+revision 70161
shortdesc A bundle for undergraduate students final work/report (tcc) at UFRGS/EE
relocated 1
longdesc This bundle is aimed at producing undergraduate students' final
@@ -345617,11 +345649,11 @@ longdesc University of Rio Grande do Sul), closely following ABNT rules
longdesc (Brazilian Association for Technical Norms). It is composed of
longdesc a main class, ufrgscca, and a set of auxiliary packages, some
longdesc of which can be used independently.
-containersize 24348
-containerchecksum 6fab22136e0fa47fb1353a888007b72fb64d2aed8785eb09c740ff7f25528279ff5bc3893bcc2aa73bcf35a533995f1080b9468397d1b992df0df4cd3137eefc
-doccontainersize 541200
-doccontainerchecksum 3b5f5bd1ce6d82d3e16dd949f685201f5ae7f5de475b102af3ad211d38943233698e1b9075971772c7bd4f9bcfb1256739f22e9d8e1631fdfbb40bc307bc6291
-docfiles size=188
+containersize 24688
+containerchecksum 6d4def8f25459db141f8930be2603ba7202c976bcc50e0f15488c52540bbf74405bb9ea235073849f27fb6b21dc1913ef95321b01b09ceadeef2cf7fc002ccb4
+doccontainersize 541900
+doccontainerchecksum 99f4c8b4d0bb5b78f100a5273e605a56d52e3699b110db9eca79879eaee3dc94809d1958359b8540ad4dcd8a5522dd365ac45f1867d97fef438e06e2e2625c0b
+docfiles size=189
RELOC/doc/latex/ufrgscca/README.md details="Readme"
RELOC/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex
RELOC/doc/latex/ufrgscca/ufrgscca-forms.tex
@@ -345629,7 +345661,7 @@ docfiles size=188
RELOC/doc/latex/ufrgscca/ufrgscca-terms-ptBR.tex
RELOC/doc/latex/ufrgscca/ufrgscca.pdf details="Package documentation"
RELOC/doc/latex/ufrgscca/ufrgscca.tex
-runfiles size=43
+runfiles size=44
RELOC/tex/latex/ufrgscca/ufrgscca-abnt.sty
RELOC/tex/latex/ufrgscca/ufrgscca-base-en.def
RELOC/tex/latex/ufrgscca/ufrgscca-base-ptBR.def
@@ -345646,7 +345678,7 @@ catalogue-contact-repository https://github.com/alceu-frigeri/ufrgscca
catalogue-ctan /macros/latex/contrib/ufrgscca
catalogue-license lppl1.3c gpl
catalogue-topics dissertation portuguese-br std-conform expl3
-catalogue-version 2.4a
+catalogue-version 2.5
name uhc
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 1b883cfa01..bc7a56dad2 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-00c1256b396d21e0cf32cd5e6f28fe49 texlive.tlpdb
+e9fb1149b52530a64f3a36fea65dba9c texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 197f4b11f0..ff644e3aae 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-4d67ceb639a087d583d7ba77c252316f8f4384dd7197c1a934427da11c27e11b870764ea1229734adaafeb9336d39b8729de23b210a5570700300224fbf4b657 texlive.tlpdb
+cd6efecda6738781a48d7407daa1e0835f17d8904e900643d4376c3265f4b99ebb6851447247dbcd971dbd4c89f8df778319f3eeaf4e6738d00793771efb399b texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index a262e87540..1d48c8f4db 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+QqiBBqTOGHfhlDjHAFAmXaqA0ACgkQTOGHfhlD
-jHDhIAgAmw/qOO1w5LFezBAtnPNp1qW/sXmnWAWGO7HgHzTQQH0aI9L5EmoJ2YcB
-PLRqaZ29ebyFB26iVFcpQ8HLe2EsiLe3BYzdfTiJXJCHbGgvbLta1164tGyNjJPs
-P/UloKsrfQPc60x9uMG5ZKb3RU/AINMUKLM5ciyOOGElx7EsPWYSEGg7nYkiepox
-y7PZsRpZf5sS+RRa2jdGCKXl6AXx0wNdCwA3SxF0uqKMzWwpAZa/qbyNA0vcgssv
-PsHMNw7mYtN7IJgIwk66UYAjK4EVw5mBS+p0sGRXwD97VND5WgolsYgh6ieYZSig
-akiHUBWB9wj1ThCKbO1yYzI58hDXfA==
-=CcT9
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmXb9uEACgkQTOGHfhlD
+jHA5Egf+Ll4owB+aj9U0QJPWx6PdydfIC0lixSOjHORE1PLkyo4LX+hRFWSJDy4U
+MYUZokQIYtPFJrDlqrtg4K2Btt3Mx3lfvuCKaagWSJXxZf6KWVAM6HSdyjWYcuR5
+6cYW0adWBMAgFdmlpfncZi/F0KAvqGKDDKkzd4sQmgHq5dQ9ZtkgSTdiXWA2dc3V
+rtFLqFouJkEcYG/qTc9Odo7xMlLvCE8AeZ7CMG9cXaDsuPqK4EUmlzOe2/uOuNtz
+9BywYaBl+RxPnG4nyR4pY4p1i7bo4oOibODcMZM4M177QGxgKXzC/6iupBiJKoIK
+xYKATEhOA/La6mIxXfUv21Y9tk4ZpQ==
+=7qKz
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 4a03963951..682cfb7fea 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 6d41e2a9f4..4a73a86224 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2024-02-26-02-02
+2024-02-27-02-02