summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-02-25 03:01:04 +0000
committerNorbert Preining <norbert@preining.info>2024-02-25 03:01:04 +0000
commit7520174d338ca031769f8e67d69b9a6a00f1626b (patch)
treec3ce399ddf764721ad511253a501353457239811
parentf325bd88d1d4db13f51277bc59c8ff8814e937bc (diff)
CTAN sync 202402250301
-rw-r--r--FILES.byname231
-rw-r--r--FILES.byname.gzbin2638164 -> 2638244 bytes
-rw-r--r--FILES.last07days387
-rw-r--r--biblio/ctan-bibdata/ctan.bib63
-rw-r--r--macros/context/contrib/context-squares/CHANGELOG.md12
-rw-r--r--macros/context/contrib/context-squares/LICENSE2
-rw-r--r--macros/context/contrib/context-squares/README.md88
-rw-r--r--macros/context/contrib/context-squares/VERSION2
-rw-r--r--macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lmt (renamed from macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lua)635
-rw-r--r--macros/context/contrib/context-squares/tex/context/third/squares/t-squares.mklx395
-rw-r--r--macros/latex/contrib/cleveref-forward/LICENSE416
-rw-r--r--macros/latex/contrib/cleveref-forward/README.md34
-rw-r--r--macros/latex/contrib/cleveref-forward/cleveref-forward.sty936
-rw-r--r--macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdfbin0 -> 58724 bytes
-rw-r--r--macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex504
-rw-r--r--macros/latex/contrib/crefthe/README.md2
-rw-r--r--macros/latex/contrib/crefthe/crefthe-doc.pdfbin66589 -> 66538 bytes
-rw-r--r--macros/latex/contrib/crefthe/crefthe-doc.tex4
-rw-r--r--macros/latex/contrib/crefthe/crefthe.sty21
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-cn.pdfbin294196 -> 303380 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-cn.tex227
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo.pdfbin0 -> 96154 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo.tex166
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo1.pdfbin45427 -> 0 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo1.tex66
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo2.pdfbin69163 -> 0 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-demo2.tex64
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-en.pdfbin180356 -> 177468 bytes
-rw-r--r--macros/latex/contrib/litetable/doc/litetable-en.tex218
-rw-r--r--macros/latex/contrib/litetable/tex/litetable.cls194
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx26
-rw-r--r--macros/latex/contrib/projlib/README.md2
-rw-r--r--macros/unicodetex/latex/bithesis/bithesis.dtx17
-rw-r--r--macros/unicodetex/latex/bithesis/bithesis.pdfbin731548 -> 731709 bytes
-rw-r--r--macros/unicodetex/latex/fontsetup/README2
-rw-r--r--macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdfbin565890 -> 566412 bytes
-rw-r--r--macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex6
-rw-r--r--macros/unicodetex/latex/fontsetup/tex/fontsetup.sty55
-rw-r--r--support/TeX4ht/source/ChangeLog5
-rw-r--r--support/TeX4ht/source/tex4ht-jats.tex8
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl3
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb311
-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.xzbin2550064 -> 2551544 bytes
-rw-r--r--timestamp2
47 files changed, 3618 insertions, 1506 deletions
diff --git a/FILES.byname b/FILES.byname
index 1808815187..8a3043af47 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/23 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/02/24 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2024/02/23 | 2849071 | biblio/ctan-bibdata/ctan.bib
-2024/02/23 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/02/24 | 2849468 | biblio/ctan-bibdata/ctan.bib
+2024/02/24 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2024/02/23 | 4117837 | biblio/ctan-bibdata.zip
+2024/02/24 | 4117919 | 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/23 | 203160 | FILES.last07days
+2024/02/24 | 207585 | 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
@@ -214179,12 +214179,13 @@
2023/05/10 | 2825 | macros/context/contrib/context-simpleslides/tex/context/third/simpleslides/t-simpleslides.mkiv
2023/05/10 | 11 | macros/context/contrib/context-simpleslides/VERSION
2023/05/11 | 8312499 | macros/context/contrib/context-simpleslides.zip
-2023/08/01 | 1073 | macros/context/contrib/context-squares/LICENSE
-2023/08/01 | 1248 | macros/context/contrib/context-squares/README.md
-2023/08/01 | 5714 | macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lua
-2023/08/01 | 4910 | macros/context/contrib/context-squares/tex/context/third/squares/t-squares.mklx
-2023/08/02 | 11 | macros/context/contrib/context-squares/VERSION
-2023/10/13 | 6023 | macros/context/contrib/context-squares.zip
+2024/02/23 | 326 | macros/context/contrib/context-squares/CHANGELOG.md
+2024/02/23 | 1078 | macros/context/contrib/context-squares/LICENSE
+2023/12/28 | 1406 | macros/context/contrib/context-squares/README.md
+2024/02/23 | 6239 | macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lmt
+2024/02/23 | 5248 | macros/context/contrib/context-squares/tex/context/third/squares/t-squares.mklx
+2024/02/24 | 9 | macros/context/contrib/context-squares/VERSION
+2024/02/24 | 6659 | macros/context/contrib/context-squares.zip
2023/05/15 | 1078 | macros/context/contrib/context-sudoku/LICENSE
2023/06/03 | 1418 | macros/context/contrib/context-sudoku/README.md
2023/06/03 | 37295 | macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku.lua
@@ -229829,6 +229830,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
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,12 +230656,12 @@
2023/08/25 | 495 | macros/latex/contrib/creationboites/README.md
2023/08/26 | 4154 | macros/latex/contrib/creationboites/tex/CreationBoites.sty
2023/08/26 | 160811 | macros/latex/contrib/creationboites.zip
-2024/02/23 | 66589 | macros/latex/contrib/crefthe/crefthe-doc.pdf
-2024/02/23 | 19148 | macros/latex/contrib/crefthe/crefthe-doc.tex
-2024/02/23 | 22531 | macros/latex/contrib/crefthe/crefthe.sty
-2024/02/23 | 19106 | macros/latex/contrib/crefthe/LICENSE
-2024/02/23 | 4768 | macros/latex/contrib/crefthe/README.md
-2024/02/23 | 82863 | macros/latex/contrib/crefthe.zip
+2024/02/24 | 66538 | macros/latex/contrib/crefthe/crefthe-doc.pdf
+2024/02/24 | 19147 | macros/latex/contrib/crefthe/crefthe-doc.tex
+2024/02/24 | 22595 | macros/latex/contrib/crefthe/crefthe.sty
+2024/02/24 | 19106 | macros/latex/contrib/crefthe/LICENSE
+2024/02/24 | 4768 | macros/latex/contrib/crefthe/README.md
+2024/02/24 | 82822 | macros/latex/contrib/crefthe.zip
2020/06/05 | 67341 | macros/latex/contrib/crop/crop.dtx
2020/06/05 | 260 | macros/latex/contrib/crop/crop.ins
2020/06/05 | 327371 | macros/latex/contrib/crop/crop.pdf
@@ -241643,19 +241650,17 @@
2023/11/14 | 1019 | macros/latex/contrib/litesolution/README.md
2023/12/13 | 17696 | macros/latex/contrib/litesolution/tex/litesolution.cls
2023/12/13 | 1421214 | macros/latex/contrib/litesolution.zip
-2024/01/31 | 17761 | macros/latex/contrib/litetable/doc/favicon.png
-2024/02/02 | 294196 | macros/latex/contrib/litetable/doc/litetable-cn.pdf
-2024/02/02 | 10135 | macros/latex/contrib/litetable/doc/litetable-cn.tex
-2024/02/02 | 45427 | macros/latex/contrib/litetable/doc/litetable-demo1.pdf
-2024/02/02 | 3188 | macros/latex/contrib/litetable/doc/litetable-demo1.tex
-2024/02/02 | 69163 | macros/latex/contrib/litetable/doc/litetable-demo2.pdf
-2024/02/02 | 3352 | macros/latex/contrib/litetable/doc/litetable-demo2.tex
-2024/02/02 | 180356 | macros/latex/contrib/litetable/doc/litetable-en.pdf
-2024/02/02 | 11568 | macros/latex/contrib/litetable/doc/litetable-en.tex
+2024/02/23 | 17761 | macros/latex/contrib/litetable/doc/favicon.png
+2024/02/24 | 303380 | macros/latex/contrib/litetable/doc/litetable-cn.pdf
+2024/02/24 | 14139 | macros/latex/contrib/litetable/doc/litetable-cn.tex
+2024/02/24 | 96154 | macros/latex/contrib/litetable/doc/litetable-demo.pdf
+2024/02/24 | 7127 | macros/latex/contrib/litetable/doc/litetable-demo.tex
+2024/02/24 | 177468 | macros/latex/contrib/litetable/doc/litetable-en.pdf
+2024/02/24 | 16108 | macros/latex/contrib/litetable/doc/litetable-en.tex
2023/11/05 | 19101 | macros/latex/contrib/litetable/License
2023/11/05 | 573 | macros/latex/contrib/litetable/README.md
-2024/02/02 | 11884 | macros/latex/contrib/litetable/tex/litetable.cls
-2024/02/02 | 608972 | macros/latex/contrib/litetable.zip
+2024/02/24 | 11867 | macros/latex/contrib/litetable/tex/litetable.cls
+2024/02/24 | 603914 | macros/latex/contrib/litetable.zip
2008/02/04 | 1184 | macros/latex/contrib/liturg/liturg.ins
2008/06/28 | 125813 | macros/latex/contrib/liturg/liturg.pdf
2008/02/17 | 17363 | macros/latex/contrib/liturg/liturg.sty
@@ -247386,15 +247391,15 @@
2003/07/02 | 9461 | macros/latex/contrib/progress/progress.tex
2003/07/02 | 413 | macros/latex/contrib/progress/README
2006/05/20 | 88703 | macros/latex/contrib/progress.zip
-2024/02/22 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
-2024/02/22 | 19106 | macros/latex/contrib/projlib/LICENSE
-2024/02/22 | 1308 | macros/latex/contrib/projlib/logo/ProjLib-logo.pdf
-2024/02/22 | 37933 | macros/latex/contrib/projlib/logo/ProjLib-logo.png
-2024/02/22 | 126 | macros/latex/contrib/projlib/logo/ProjLib-logo.tex
-2024/02/22 | 312116 | macros/latex/contrib/projlib/ProjLib.dtx
-2024/02/22 | 3379 | macros/latex/contrib/projlib/ProjLib.ins
-2024/02/22 | 5846 | macros/latex/contrib/projlib/README.md
-2024/02/22 | 83668 | macros/latex/contrib/projlib.zip
+2024/02/24 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
+2024/02/24 | 19106 | macros/latex/contrib/projlib/LICENSE
+2024/02/24 | 1308 | macros/latex/contrib/projlib/logo/ProjLib-logo.pdf
+2024/02/24 | 37933 | macros/latex/contrib/projlib/logo/ProjLib-logo.png
+2024/02/24 | 126 | macros/latex/contrib/projlib/logo/ProjLib-logo.tex
+2024/02/24 | 312136 | macros/latex/contrib/projlib/ProjLib.dtx
+2024/02/24 | 3379 | macros/latex/contrib/projlib/ProjLib.ins
+2024/02/24 | 5846 | macros/latex/contrib/projlib/README.md
+2024/02/24 | 83666 | macros/latex/contrib/projlib.zip
2024/01/26 | 133745 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.pdf
2024/01/26 | 11561 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.tex
2024/01/26 | 86278 | macros/latex/contrib/proof-at-the-end/proof-at-the-end.dtx
@@ -267679,13 +267684,13 @@
2024/02/21 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
2024/02/21 | 7237 | macros/unicodetex/latex/beaulivre/README.md
2024/02/21 | 14331 | macros/unicodetex/latex/beaulivre.zip
-2023/10/23 | 125199 | macros/unicodetex/latex/bithesis/bithesis.dtx
-2023/10/23 | 3302 | macros/unicodetex/latex/bithesis/bithesis.ins
-2023/10/23 | 731548 | macros/unicodetex/latex/bithesis/bithesis.pdf
-2023/10/23 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
-2023/10/23 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
-2023/10/23 | 1946 | macros/unicodetex/latex/bithesis/README.md
-2023/10/23 | 759061 | macros/unicodetex/latex/bithesis.zip
+2024/02/24 | 125357 | macros/unicodetex/latex/bithesis/bithesis.dtx
+2024/02/24 | 3302 | macros/unicodetex/latex/bithesis/bithesis.ins
+2024/02/24 | 731709 | macros/unicodetex/latex/bithesis/bithesis.pdf
+2024/02/24 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
+2024/02/24 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
+2024/02/24 | 1946 | macros/unicodetex/latex/bithesis/README.md
+2024/02/24 | 759311 | macros/unicodetex/latex/bithesis.zip
2022/02/26 | 128251 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.pdf
2022/02/26 | 6771 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.sty
2022/02/26 | 17327 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.tex
@@ -267725,8 +267730,8 @@
2024/02/13 | 11357 | macros/unicodetex/latex/emotion/LICENSE
2024/02/13 | 1396 | macros/unicodetex/latex/emotion/README.md
2024/02/13 | 36791 | macros/unicodetex/latex/emotion.zip
-2024/01/11 | 565890 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf
-2024/01/11 | 24703 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex
+2024/02/24 | 566412 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf
+2024/02/24 | 24757 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex
2023/12/27 | 27714 | macros/unicodetex/latex/fontsetup/doc/fspsample-cmr.pdf
2023/12/27 | 26645 | macros/unicodetex/latex/fontsetup/doc/fspsample-concrete.pdf
2023/12/27 | 30994 | macros/unicodetex/latex/fontsetup/doc/fspsample-ebgaramond.pdf
@@ -267764,14 +267769,14 @@
2023/12/13 | 1297 | macros/unicodetex/latex/fontsetup-nonfree/tex/fspmsgaramondot.tex
2023/12/13 | 767 | macros/unicodetex/latex/fontsetup-nonfree/tex/fsppalatinoot.tex
2023/12/16 | 580596 | macros/unicodetex/latex/fontsetup-nonfree.zip
-2024/01/11 | 371 | macros/unicodetex/latex/fontsetup/README
+2024/02/24 | 371 | macros/unicodetex/latex/fontsetup/README
2023/12/27 | 1053 | macros/unicodetex/latex/fontsetup/tex/cv04-Book.fontspec
2023/12/27 | 1128 | macros/unicodetex/latex/fontsetup/tex/cv04Mono-Book.fontspec
2023/12/27 | 1137 | macros/unicodetex/latex/fontsetup/tex/cv04Mono-Regular.fontspec
2023/12/27 | 1062 | macros/unicodetex/latex/fontsetup/tex/cv04-Regular.fontspec
2023/12/27 | 1119 | macros/unicodetex/latex/fontsetup/tex/cv04Sans-Book.fontspec
2023/12/27 | 1140 | macros/unicodetex/latex/fontsetup/tex/cv04Sans-Regular.fontspec
-2024/01/11 | 5800 | macros/unicodetex/latex/fontsetup/tex/fontsetup.sty
+2024/02/24 | 6548 | macros/unicodetex/latex/fontsetup/tex/fontsetup.sty
2023/12/27 | 795 | macros/unicodetex/latex/fontsetup/tex/fspconcrete.tex
2024/01/02 | 23777 | macros/unicodetex/latex/fontsetup/tex/fspdefault.tex
2023/12/27 | 247 | macros/unicodetex/latex/fontsetup/tex/fspebgaramondot.tex
@@ -267789,7 +267794,7 @@
2023/12/27 | 819 | macros/unicodetex/latex/fontsetup/tex/fsptalos.tex
2023/12/27 | 616 | macros/unicodetex/latex/fontsetup/tex/fsptimesot.tex
2023/12/27 | 752 | macros/unicodetex/latex/fontsetup/tex/fspxcharter.tex
-2024/01/11 | 1090159 | macros/unicodetex/latex/fontsetup.zip
+2024/02/24 | 1090756 | macros/unicodetex/latex/fontsetup.zip
2024/02/13 | 23043 | macros/unicodetex/latex/fontspec/CHANGES.md
2024/02/13 | 549 | macros/unicodetex/latex/fontspec/fontspec.cfg
2024/02/13 | 12507 | macros/unicodetex/latex/fontspec/fontspec-code-api.dtx
@@ -300292,7 +300297,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2024/02/22 | 246829 | support/TeX4ht/source/ChangeLog
+2024/02/24 | 247006 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -300344,7 +300349,7 @@
2021/05/03 | 2526 | support/TeX4ht/source/tex4ht-info-ooffice.tex
2021/05/03 | 4137 | support/TeX4ht/source/tex4ht-info-svg.tex
2021/05/03 | 104934 | support/TeX4ht/source/tex4ht-info.tex
-2024/02/22 | 26113 | support/TeX4ht/source/tex4ht-jats.tex
+2024/02/24 | 26289 | support/TeX4ht/source/tex4ht-jats.tex
2021/05/03 | 42210 | support/TeX4ht/source/tex4ht-javahelp.tex
2021/05/03 | 15087 | support/TeX4ht/source/tex4ht-javahelp-xtpipes.tex
2021/05/03 | 22748 | support/TeX4ht/source/tex4ht-jsmath.tex
@@ -302116,7 +302121,7 @@
2009/05/30 | 20074 | systems/doc/metapost/source-tutorial/previewer.pdf
2009/05/27 | 16035 | systems/doc/metapost/source-tutorial/previewer.png
2024/02/22 | 2586486 | systems/doc/metapost.zip
-2024/02/20 | 15095 | systems/doc/pdftex/manual/ChangeLog
+2024/02/23 | 15557 | systems/doc/pdftex/manual/ChangeLog
2024/02/20 | 22667 | systems/doc/pdftex/manual/incl/fdl-1.2.tex
2024/02/20 | 69 | systems/doc/pdftex/manual/incl/ini-etex.txt
2024/02/20 | 233 | systems/doc/pdftex/manual/incl/ini-pdfetex.txt
@@ -302127,10 +302132,10 @@
2024/02/20 | 548 | systems/doc/pdftex/manual/incl/pdftexconfig.txt
2024/02/20 | 3912 | systems/doc/pdftex/manual/incl/pdftex-help.txt
2024/02/20 | 11313 | systems/doc/pdftex/manual/incl/pdftex-syntax.tex
-2024/02/20 | 3030 | systems/doc/pdftex/manual/Makefile
-2024/02/20 | 970485 | systems/doc/pdftex/manual/pdftex-a.pdf
-2024/02/20 | 11134 | systems/doc/pdftex/manual/pdftexmanual.cls
-2024/02/20 | 187056 | systems/doc/pdftex/manual/pdftex.tex
+2024/02/23 | 3005 | systems/doc/pdftex/manual/Makefile
+2024/02/23 | 970535 | systems/doc/pdftex/manual/pdftex-a.pdf
+2024/02/23 | 11138 | systems/doc/pdftex/manual/pdftexmanual.cls
+2024/02/23 | 187365 | systems/doc/pdftex/manual/pdftex.tex
2024/02/20 | 1145 | systems/doc/pdftex/manual/README
2024/02/20 | 4075 | systems/doc/pdftex/manual/syntaxform.pl
2024/02/20 | 42119 | systems/doc/pdftex/NEWS
@@ -302288,7 +302293,7 @@
2024/02/20 | 138 | systems/doc/pdftex/tests/34-pdf-inclusion/Makefile
2024/02/20 | 59397 | systems/doc/pdftex/tests/34-pdf-inclusion/shadowbox.pdf
2017/04/21 | 1132 | systems/doc/pdftex/tests/Common.mak
-2024/02/21 | 3061878 | systems/doc/pdftex.zip
+2024/02/24 | 3059511 | systems/doc/pdftex.zip
2024/02/20 | 12608 | systems/doc/xetex/NEWS
2023/02/26 | 708 | systems/doc/xetex/README
2009/05/30 | 594620 | systems/doc/xetex/XeTeX-notes.pdf
@@ -306441,7 +306446,7 @@
2020/03/04 | 560 | systems/texlive/tlnet/archive/collection-fontsrecommended.r54074.tar.xz
2021/12/03 | 536 | systems/texlive/tlnet/archive/collection-fontutils.r61207.tar.xz
2022/02/27 | 584 | systems/texlive/tlnet/archive/collection-formatsextra.r62226.tar.xz
-2023/12/19 | 628 | systems/texlive/tlnet/archive/collection-games.r69159.tar.xz
+2024/02/24 | 632 | systems/texlive/tlnet/archive/collection-games.r70111.tar.xz
2023/10/08 | 608 | systems/texlive/tlnet/archive/collection-humanities.r68465.tar.xz
2023/12/14 | 484 | systems/texlive/tlnet/archive/collection-langarabic.r69111.tar.xz
2022/07/29 | 552 | systems/texlive/tlnet/archive/collection-langchinese.r63995.tar.xz
@@ -306494,8 +306499,8 @@
2019/02/28 | 2020 | systems/texlive/tlnet/archive/colorinfo.r15878.tar.xz
2019/02/28 | 25984 | systems/texlive/tlnet/archive/coloring.doc.r41042.tar.xz
2019/02/28 | 1480 | systems/texlive/tlnet/archive/coloring.r41042.tar.xz
-2024/02/22 | 7412 | systems/texlive/tlnet/archive/colorist.doc.r70050.tar.xz
-2024/02/22 | 11616 | systems/texlive/tlnet/archive/colorist.r70050.tar.xz
+2024/02/24 | 7424 | systems/texlive/tlnet/archive/colorist.doc.r70101.tar.xz
+2024/02/24 | 11644 | systems/texlive/tlnet/archive/colorist.r70101.tar.xz
2019/02/28 | 27632 | systems/texlive/tlnet/archive/colorprofiles.doc.r49086.tar.xz
2019/02/28 | 87972 | systems/texlive/tlnet/archive/colorprofiles.r49086.tar.xz
2019/02/28 | 1884 | systems/texlive/tlnet/archive/colorsep.r13293.tar.xz
@@ -306770,8 +306775,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
-2023/11/12 | 77152 | systems/texlive/tlnet/archive/crefthe.doc.r68813.tar.xz
-2023/11/12 | 4416 | systems/texlive/tlnet/archive/crefthe.r68813.tar.xz
+2024/02/24 | 76244 | systems/texlive/tlnet/archive/crefthe.doc.r70117.tar.xz
+2024/02/24 | 4424 | systems/texlive/tlnet/archive/crefthe.r70117.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
@@ -307536,8 +307541,8 @@
2021/10/31 | 1000 | systems/texlive/tlnet/archive/dsserif.source.r60898.tar.xz
2023/12/18 | 281264 | systems/texlive/tlnet/archive/dtk-bibliography.doc.r69155.tar.xz
2023/12/18 | 53892 | systems/texlive/tlnet/archive/dtk-bibliography.r69155.tar.xz
-2024/02/15 | 78832 | systems/texlive/tlnet/archive/dtk.doc.r69873.tar.xz
-2024/02/15 | 14716 | systems/texlive/tlnet/archive/dtk.r69873.tar.xz
+2024/02/24 | 83404 | systems/texlive/tlnet/archive/dtk.doc.r70117.tar.xz
+2024/02/24 | 14716 | systems/texlive/tlnet/archive/dtk.r70117.tar.xz
2023/02/20 | 20520 | systems/texlive/tlnet/archive/dtl.aarch64-linux.r65927.tar.xz
2023/02/18 | 21928 | systems/texlive/tlnet/archive/dtl.amd64-freebsd.r65877.tar.xz
2023/02/20 | 19268 | systems/texlive/tlnet/archive/dtl.amd64-netbsd.r65923.tar.xz
@@ -307963,8 +307968,8 @@
2019/02/28 | 4224 | systems/texlive/tlnet/archive/eiad-ltx.source.r15878.tar.xz
2019/02/28 | 25636 | systems/texlive/tlnet/archive/eiad.r15878.tar.xz
2019/02/28 | 6960 | systems/texlive/tlnet/archive/eijkhout.r15878.tar.xz
-2024/02/22 | 8556 | systems/texlive/tlnet/archive/einfart.doc.r70050.tar.xz
-2024/02/22 | 5364 | systems/texlive/tlnet/archive/einfart.r70050.tar.xz
+2024/02/24 | 251520 | systems/texlive/tlnet/archive/einfart.doc.r70117.tar.xz
+2024/02/24 | 5368 | systems/texlive/tlnet/archive/einfart.r70117.tar.xz
2021/11/05 | 284620 | systems/texlive/tlnet/archive/ejpecp.doc.r60950.tar.xz
2021/11/05 | 5704 | systems/texlive/tlnet/archive/ejpecp.r60950.tar.xz
2021/11/05 | 7428 | systems/texlive/tlnet/archive/ejpecp.source.r60950.tar.xz
@@ -309187,8 +309192,8 @@
2019/02/28 | 137796 | systems/texlive/tlnet/archive/gitinfo2.doc.r38913.tar.xz
2019/02/28 | 3592 | systems/texlive/tlnet/archive/gitinfo2.r38913.tar.xz
2019/02/28 | 83948 | systems/texlive/tlnet/archive/gitinfo.doc.r34049.tar.xz
-2024/02/15 | 116972 | systems/texlive/tlnet/archive/gitinfo-lua.doc.r69875.tar.xz
-2024/02/15 | 4996 | systems/texlive/tlnet/archive/gitinfo-lua.r69875.tar.xz
+2024/02/24 | 117724 | systems/texlive/tlnet/archive/gitinfo-lua.doc.r70117.tar.xz
+2024/02/24 | 5016 | systems/texlive/tlnet/archive/gitinfo-lua.r70117.tar.xz
2019/02/28 | 1952 | systems/texlive/tlnet/archive/gitinfo.r34049.tar.xz
2020/04/15 | 340 | systems/texlive/tlnet/archive/git-latexdiff.aarch64-linux.r54732.tar.xz
2020/04/15 | 340 | systems/texlive/tlnet/archive/git-latexdiff.amd64-freebsd.r54732.tar.xz
@@ -310227,8 +310232,8 @@
2022/03/12 | 5692 | systems/texlive/tlnet/archive/jmsdelim.source.r62630.tar.xz
2019/02/28 | 237620 | systems/texlive/tlnet/archive/jneurosci.doc.r17346.tar.xz
2019/02/28 | 6560 | systems/texlive/tlnet/archive/jneurosci.r17346.tar.xz
-2023/12/19 | 356484 | systems/texlive/tlnet/archive/jnuexam.doc.r69161.tar.xz
-2023/12/19 | 12680 | systems/texlive/tlnet/archive/jnuexam.r69161.tar.xz
+2024/02/24 | 356480 | systems/texlive/tlnet/archive/jnuexam.doc.r70117.tar.xz
+2024/02/24 | 12684 | systems/texlive/tlnet/archive/jnuexam.r70117.tar.xz
2022/10/24 | 440628 | systems/texlive/tlnet/archive/jobname-suffix.doc.r64797.tar.xz
2022/10/24 | 1756 | systems/texlive/tlnet/archive/jobname-suffix.r64797.tar.xz
2023/08/22 | 583212 | systems/texlive/tlnet/archive/joinbox.doc.r68003.tar.xz
@@ -311547,8 +311552,8 @@
2022/11/23 | 1118500 | systems/texlive/tlnet/archive/lua-widow-control.doc.r65084.tar.xz
2022/11/23 | 19916 | systems/texlive/tlnet/archive/lua-widow-control.r65084.tar.xz
2022/11/23 | 57184 | systems/texlive/tlnet/archive/lua-widow-control.source.r65084.tar.xz
-2021/10/08 | 123428 | systems/texlive/tlnet/archive/luaxml.doc.r60709.tar.xz
-2021/10/08 | 32276 | systems/texlive/tlnet/archive/luaxml.r60709.tar.xz
+2024/02/24 | 124480 | systems/texlive/tlnet/archive/luaxml.doc.r70117.tar.xz
+2024/02/24 | 41424 | systems/texlive/tlnet/archive/luaxml.r70117.tar.xz
2023/07/24 | 88120 | systems/texlive/tlnet/archive/lutabulartools.doc.r67714.tar.xz
2023/07/24 | 7492 | systems/texlive/tlnet/archive/lutabulartools.r67714.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/lwarp.aarch64-linux.r46208.tar.xz
@@ -311609,12 +311614,12 @@
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.amd64-freebsd.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.amd64-netbsd.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.armhf-linux.r37750.tar.xz
-2023/02/25 | 179688 | systems/texlive/tlnet/archive/make4ht.doc.r66130.tar.xz
+2024/02/24 | 186184 | systems/texlive/tlnet/archive/make4ht.doc.r70117.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.i386-freebsd.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.i386-linux.r37750.tar.xz
2019/02/28 | 336 | systems/texlive/tlnet/archive/make4ht.i386-netbsd.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.i386-solaris.r37750.tar.xz
-2023/02/25 | 55576 | systems/texlive/tlnet/archive/make4ht.r66130.tar.xz
+2024/02/24 | 57564 | systems/texlive/tlnet/archive/make4ht.r70117.tar.xz
2021/02/25 | 336 | systems/texlive/tlnet/archive/make4ht.universal-darwin.r57908.tar.xz
2023/02/20 | 2308 | systems/texlive/tlnet/archive/make4ht.windows.r65891.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.x86_64-cygwin.r37750.tar.xz
@@ -311719,9 +311724,9 @@
2023/09/08 | 469960 | systems/texlive/tlnet/archive/marginnote.doc.r68204.tar.xz
2023/09/08 | 3312 | systems/texlive/tlnet/archive/marginnote.r68204.tar.xz
2023/09/08 | 10208 | systems/texlive/tlnet/archive/marginnote.source.r68204.tar.xz
-2023/04/28 | 1179272 | systems/texlive/tlnet/archive/markdown.doc.r66954.tar.xz
-2023/04/28 | 53632 | systems/texlive/tlnet/archive/markdown.r66954.tar.xz
-2023/04/28 | 112900 | systems/texlive/tlnet/archive/markdown.source.r66954.tar.xz
+2024/02/24 | 1179272 | systems/texlive/tlnet/archive/markdown.doc.r70117.tar.xz
+2024/02/24 | 53536 | systems/texlive/tlnet/archive/markdown.r70117.tar.xz
+2024/02/24 | 112896 | systems/texlive/tlnet/archive/markdown.source.r70117.tar.xz
2019/02/28 | 426608 | systems/texlive/tlnet/archive/marvosym.doc.r29349.tar.xz
2019/02/28 | 133476 | systems/texlive/tlnet/archive/marvosym.r29349.tar.xz
2019/02/28 | 1256 | systems/texlive/tlnet/archive/marvosym.source.r29349.tar.xz
@@ -312131,8 +312136,8 @@
2019/02/28 | 435560 | systems/texlive/tlnet/archive/minifp.doc.r32559.tar.xz
2019/02/28 | 10000 | systems/texlive/tlnet/archive/minifp.r32559.tar.xz
2019/02/28 | 43836 | systems/texlive/tlnet/archive/minifp.source.r32559.tar.xz
-2024/02/22 | 7420 | systems/texlive/tlnet/archive/minimalist.doc.r70050.tar.xz
-2024/02/22 | 12800 | systems/texlive/tlnet/archive/minimalist.r70050.tar.xz
+2024/02/24 | 7740 | systems/texlive/tlnet/archive/minimalist.doc.r70101.tar.xz
+2024/02/24 | 13096 | systems/texlive/tlnet/archive/minimalist.r70101.tar.xz
2024/01/09 | 344744 | systems/texlive/tlnet/archive/minim.doc.r69352.tar.xz
2022/03/05 | 26048 | systems/texlive/tlnet/archive/minim-hatching.doc.r62395.tar.xz
2022/03/05 | 2232 | systems/texlive/tlnet/archive/minim-hatching.r62395.tar.xz
@@ -312378,8 +312383,8 @@
2019/02/28 | 352 | systems/texlive/tlnet/archive/mptopdf.x86_64-linuxmusl.r46840.tar.xz
2019/02/28 | 348 | systems/texlive/tlnet/archive/mptopdf.x86_64-linux.r18674.tar.xz
2019/02/28 | 352 | systems/texlive/tlnet/archive/mptopdf.x86_64-solaris.r18674.tar.xz
-2023/04/28 | 150688 | systems/texlive/tlnet/archive/mptrees.doc.r66952.tar.xz
-2023/04/28 | 7328 | systems/texlive/tlnet/archive/mptrees.r66952.tar.xz
+2024/02/24 | 208496 | systems/texlive/tlnet/archive/mptrees.doc.r70117.tar.xz
+2024/02/24 | 11464 | systems/texlive/tlnet/archive/mptrees.r70117.tar.xz
2023/07/24 | 251380 | systems/texlive/tlnet/archive/msc.doc.r67718.tar.xz
2023/07/24 | 20168 | systems/texlive/tlnet/archive/msc.r67718.tar.xz
2021/01/20 | 573400 | systems/texlive/tlnet/archive/ms.doc.r57473.tar.xz
@@ -314968,9 +314973,9 @@
2019/02/28 | 1565692 | systems/texlive/tlnet/archive/sduthesis.doc.r41401.tar.xz
2019/02/28 | 1230616 | systems/texlive/tlnet/archive/sduthesis.r41401.tar.xz
2019/02/28 | 24124 | systems/texlive/tlnet/archive/sduthesis.source.r41401.tar.xz
-2023/09/13 | 1414316 | systems/texlive/tlnet/archive/se2thesis.doc.r68255.tar.xz
-2023/09/13 | 8992 | systems/texlive/tlnet/archive/se2thesis.r68255.tar.xz
-2023/09/13 | 23876 | systems/texlive/tlnet/archive/se2thesis.source.r68255.tar.xz
+2024/02/24 | 575180 | systems/texlive/tlnet/archive/se2thesis.doc.r70117.tar.xz
+2024/02/24 | 9672 | systems/texlive/tlnet/archive/se2thesis.r70117.tar.xz
+2024/02/24 | 24784 | systems/texlive/tlnet/archive/se2thesis.source.r70117.tar.xz
2019/02/28 | 256480 | systems/texlive/tlnet/archive/secdot.doc.r20208.tar.xz
2019/02/28 | 1572 | systems/texlive/tlnet/archive/secdot.r20208.tar.xz
2022/01/31 | 445424 | systems/texlive/tlnet/archive/secnum.doc.r61813.tar.xz
@@ -315165,8 +315170,8 @@
2019/02/28 | 292656 | systems/texlive/tlnet/archive/simplecv.doc.r35537.tar.xz
2019/02/28 | 2112 | systems/texlive/tlnet/archive/simplecv.r35537.tar.xz
2019/02/28 | 5844 | systems/texlive/tlnet/archive/simplecv.source.r35537.tar.xz
-2024/02/17 | 2485968 | systems/texlive/tlnet/archive/simpleicons.doc.r69933.tar.xz
-2024/02/17 | 3398904 | systems/texlive/tlnet/archive/simpleicons.r69933.tar.xz
+2024/02/24 | 2498620 | systems/texlive/tlnet/archive/simpleicons.doc.r70117.tar.xz
+2024/02/24 | 3418576 | systems/texlive/tlnet/archive/simpleicons.r70117.tar.xz
2019/02/28 | 224844 | systems/texlive/tlnet/archive/simpleinvoice.doc.r45673.tar.xz
2019/02/28 | 2420 | systems/texlive/tlnet/archive/simpleinvoice.r45673.tar.xz
2023/10/03 | 142696 | systems/texlive/tlnet/archive/simplekv.doc.r68439.tar.xz
@@ -315189,8 +315194,8 @@
2019/02/28 | 4412 | systems/texlive/tlnet/archive/simplewick.source.r15878.tar.xz
2019/02/28 | 942836 | systems/texlive/tlnet/archive/simplified-latex.doc.r20620.tar.xz
2019/02/28 | 380 | systems/texlive/tlnet/archive/simplified-latex.r20620.tar.xz
-2024/02/22 | 8552 | systems/texlive/tlnet/archive/simplivre.doc.r70050.tar.xz
-2024/02/22 | 5336 | systems/texlive/tlnet/archive/simplivre.r70050.tar.xz
+2024/02/24 | 271752 | systems/texlive/tlnet/archive/simplivre.doc.r70117.tar.xz
+2024/02/24 | 5336 | systems/texlive/tlnet/archive/simplivre.r70117.tar.xz
2019/02/28 | 136908 | systems/texlive/tlnet/archive/simurgh.doc.r31719.tar.xz
2019/02/28 | 246476 | systems/texlive/tlnet/archive/simurgh.r31719.tar.xz
2021/06/24 | 323456 | systems/texlive/tlnet/archive/sistyle.doc.r59682.tar.xz
@@ -315744,9 +315749,9 @@
2019/09/11 | 1292 | systems/texlive/tlnet/archive/tagging.r52064.tar.xz
2019/02/28 | 68912 | systems/texlive/tlnet/archive/tagpair.doc.r42138.tar.xz
2019/02/28 | 1244 | systems/texlive/tlnet/archive/tagpair.r42138.tar.xz
-2024/02/05 | 2166424 | systems/texlive/tlnet/archive/tagpdf.doc.r69703.tar.xz
-2024/02/05 | 36836 | systems/texlive/tlnet/archive/tagpdf.r69703.tar.xz
-2024/02/05 | 68592 | systems/texlive/tlnet/archive/tagpdf.source.r69703.tar.xz
+2024/02/24 | 2191164 | systems/texlive/tlnet/archive/tagpdf.doc.r70117.tar.xz
+2024/02/24 | 37332 | systems/texlive/tlnet/archive/tagpdf.r70117.tar.xz
+2024/02/24 | 69620 | systems/texlive/tlnet/archive/tagpdf.source.r70117.tar.xz
2019/02/28 | 131060 | systems/texlive/tlnet/archive/talk.doc.r42428.tar.xz
2019/02/28 | 4676 | systems/texlive/tlnet/archive/talk.r42428.tar.xz
2019/02/28 | 556 | systems/texlive/tlnet/archive/talk.source.r42428.tar.xz
@@ -315839,12 +315844,12 @@
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.amd64-freebsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.amd64-netbsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.armhf-linux.r37771.tar.xz
-2023/03/22 | 101344 | systems/texlive/tlnet/archive/tex4ebook.doc.r66621.tar.xz
+2024/02/24 | 102296 | systems/texlive/tlnet/archive/tex4ebook.doc.r70117.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.i386-freebsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.i386-linux.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.i386-netbsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.i386-solaris.r37771.tar.xz
-2023/03/22 | 17980 | systems/texlive/tlnet/archive/tex4ebook.r66621.tar.xz
+2024/02/24 | 18160 | systems/texlive/tlnet/archive/tex4ebook.r70117.tar.xz
2021/02/25 | 340 | systems/texlive/tlnet/archive/tex4ebook.universal-darwin.r57908.tar.xz
2023/02/20 | 2308 | systems/texlive/tlnet/archive/tex4ebook.windows.r65891.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.x86_64-cygwin.r37771.tar.xz
@@ -316140,7 +316145,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/23 | 432744 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70064.tar.xz
+2024/02/24 | 432628 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70087.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
@@ -316162,7 +316167,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/23 | 114024 | systems/texlive/tlnet/archive/texlive-scripts.r70064.tar.xz
+2024/02/24 | 114024 | systems/texlive/tlnet/archive/texlive-scripts.r70087.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
@@ -316939,6 +316944,8 @@
2019/02/28 | 172196 | systems/texlive/tlnet/archive/twoup.doc.r15878.tar.xz
2019/02/28 | 2296 | systems/texlive/tlnet/archive/twoup.r15878.tar.xz
2019/02/28 | 9728 | systems/texlive/tlnet/archive/twoup.source.r15878.tar.xz
+2024/02/24 | 452040 | systems/texlive/tlnet/archive/twoxtwogame.doc.r70111.tar.xz
+2024/02/24 | 11500 | systems/texlive/tlnet/archive/twoxtwogame.r70111.tar.xz
2020/03/24 | 59400 | systems/texlive/tlnet/archive/txfontsb.doc.r54512.tar.xz
2020/03/24 | 3476328 | systems/texlive/tlnet/archive/txfontsb.r54512.tar.xz
2020/03/24 | 1940068 | systems/texlive/tlnet/archive/txfontsb.source.r54512.tar.xz
@@ -318073,16 +318080,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/23 | 5747125 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2024/02/23 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/02/23 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/02/24 | 5749799 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/02/24 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/02/24 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2024/02/23 | 21031689 | systems/texlive/tlnet/install-tl-windows.exe
-2024/02/23 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/02/23 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/02/23 | 26035580 | systems/texlive/tlnet/install-tl.zip
-2024/02/23 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/02/23 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/02/24 | 21028068 | systems/texlive/tlnet/install-tl-windows.exe
+2024/02/24 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/02/24 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/02/24 | 26035557 | systems/texlive/tlnet/install-tl.zip
+2024/02/24 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/02/24 | 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
@@ -318092,7 +318099,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/23 | 7312 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/02/24 | 7159 | 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
@@ -318134,12 +318141,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/23 | 19334033 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/02/23 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/02/24 | 19337227 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/02/24 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2024/01/31 | 87229 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2024/02/23 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2024/02/23 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/02/23 | 2550064 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/02/24 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/02/24 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/02/24 | 2551544 | 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
@@ -320846,7 +320853,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/23 | 47499 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2024/02/24 | 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
@@ -329312,7 +329319,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/24 | 186 | timestamp
+2024/02/25 | 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 6d2cf7bced..aae7cba6c3 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 354f5a0368..7cbba622b7 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,5 +1,112 @@
+2024/02/24 | 9 | macros/context/contrib/context-squares/VERSION
+2024/02/24 | 9672 | systems/texlive/tlnet/archive/se2thesis.r70117.tar.xz
+2024/02/24 | 96154 | macros/latex/contrib/litetable/doc/litetable-demo.pdf
+2024/02/24 | 83666 | macros/latex/contrib/projlib.zip
+2024/02/24 | 83404 | systems/texlive/tlnet/archive/dtk.doc.r70117.tar.xz
+2024/02/24 | 82822 | macros/latex/contrib/crefthe.zip
+2024/02/24 | 7740 | systems/texlive/tlnet/archive/minimalist.doc.r70101.tar.xz
+2024/02/24 | 76244 | systems/texlive/tlnet/archive/crefthe.doc.r70117.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 | 7159 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/02/24 | 7127 | macros/latex/contrib/litetable/doc/litetable-demo.tex
+2024/02/24 | 69620 | systems/texlive/tlnet/archive/tagpdf.source.r70117.tar.xz
+2024/02/24 | 6659 | macros/context/contrib/context-squares.zip
+2024/02/24 | 66538 | macros/latex/contrib/crefthe/crefthe-doc.pdf
+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
+2024/02/24 | 5749799 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/02/24 | 566412 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf
+2024/02/24 | 5368 | systems/texlive/tlnet/archive/einfart.r70117.tar.xz
+2024/02/24 | 53536 | systems/texlive/tlnet/archive/markdown.r70117.tar.xz
+2024/02/24 | 5336 | systems/texlive/tlnet/archive/simplivre.r70117.tar.xz
+2024/02/24 | 5016 | systems/texlive/tlnet/archive/gitinfo-lua.r70117.tar.xz
+2024/02/24 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/02/24 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/02/24 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/02/24 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/02/24 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/02/24 | 4768 | macros/latex/contrib/crefthe/README.md
+2024/02/24 | 47499 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2024/02/24 | 452040 | systems/texlive/tlnet/archive/twoxtwogame.doc.r70111.tar.xz
+2024/02/24 | 4424 | systems/texlive/tlnet/archive/crefthe.r70117.tar.xz
+2024/02/24 | 432628 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70087.tar.xz
+2024/02/24 | 41424 | systems/texlive/tlnet/archive/luaxml.r70117.tar.xz
+2024/02/24 | 4117919 | biblio/ctan-bibdata.zip
+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
+2024/02/24 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/02/24 | 356480 | systems/texlive/tlnet/archive/jnuexam.doc.r70117.tar.xz
+2024/02/24 | 3418576 | systems/texlive/tlnet/archive/simpleicons.r70117.tar.xz
+2024/02/24 | 3379 | macros/latex/contrib/projlib/ProjLib.ins
+2024/02/24 | 3302 | macros/unicodetex/latex/bithesis/bithesis.ins
+2024/02/24 | 312136 | macros/latex/contrib/projlib/ProjLib.dtx
+2024/02/24 | 3059511 | systems/doc/pdftex.zip
+2024/02/24 | 303380 | macros/latex/contrib/litetable/doc/litetable-cn.pdf
+2024/02/24 | 2849468 | biblio/ctan-bibdata/ctan.bib
+2024/02/24 | 271752 | systems/texlive/tlnet/archive/simplivre.doc.r70117.tar.xz
+2024/02/24 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
+2024/02/24 | 26289 | support/TeX4ht/source/tex4ht-jats.tex
+2024/02/24 | 26035557 | systems/texlive/tlnet/install-tl.zip
+2024/02/24 | 2551544 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/02/24 | 251520 | systems/texlive/tlnet/archive/einfart.doc.r70117.tar.xz
+2024/02/24 | 2498620 | systems/texlive/tlnet/archive/simpleicons.doc.r70117.tar.xz
+2024/02/24 | 24784 | systems/texlive/tlnet/archive/se2thesis.source.r70117.tar.xz
+2024/02/24 | 24757 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex
+2024/02/24 | 247006 | support/TeX4ht/source/ChangeLog
+2024/02/24 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
+2024/02/24 | 22595 | macros/latex/contrib/crefthe/crefthe.sty
+2024/02/24 | 2191164 | systems/texlive/tlnet/archive/tagpdf.doc.r70117.tar.xz
+2024/02/24 | 21028068 | systems/texlive/tlnet/install-tl-windows.exe
+2024/02/24 | 208496 | systems/texlive/tlnet/archive/mptrees.doc.r70117.tar.xz
+2024/02/24 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
+2024/02/24 | 1946 | macros/unicodetex/latex/bithesis/README.md
+2024/02/24 | 19337227 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/02/24 | 19147 | macros/latex/contrib/crefthe/crefthe-doc.tex
+2024/02/24 | 19106 | macros/latex/contrib/projlib/LICENSE
+2024/02/24 | 19106 | macros/latex/contrib/crefthe/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 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/02/24 | 16108 | macros/latex/contrib/litetable/doc/litetable-en.tex
+2024/02/24 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/02/24 | 15388 | macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
+2024/02/24 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/02/24 | 14716 | systems/texlive/tlnet/archive/dtk.r70117.tar.xz
+2024/02/24 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/02/24 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/02/24 | 14139 | macros/latex/contrib/litetable/doc/litetable-cn.tex
+2024/02/24 | 13096 | systems/texlive/tlnet/archive/minimalist.r70101.tar.xz
+2024/02/24 | 1308 | macros/latex/contrib/projlib/logo/ProjLib-logo.pdf
+2024/02/24 | 126 | macros/latex/contrib/projlib/logo/ProjLib-logo.tex
+2024/02/24 | 12684 | systems/texlive/tlnet/archive/jnuexam.r70117.tar.xz
+2024/02/24 | 125357 | macros/unicodetex/latex/bithesis/bithesis.dtx
+2024/02/24 | 124480 | systems/texlive/tlnet/archive/luaxml.doc.r70117.tar.xz
+2024/02/24 | 11867 | macros/latex/contrib/litetable/tex/litetable.cls
+2024/02/24 | 1179272 | systems/texlive/tlnet/archive/markdown.doc.r70117.tar.xz
+2024/02/24 | 117724 | systems/texlive/tlnet/archive/gitinfo-lua.doc.r70117.tar.xz
+2024/02/24 | 11644 | systems/texlive/tlnet/archive/colorist.r70101.tar.xz
+2024/02/24 | 11500 | systems/texlive/tlnet/archive/twoxtwogame.r70111.tar.xz
+2024/02/24 | 11464 | systems/texlive/tlnet/archive/mptrees.r70117.tar.xz
+2024/02/24 | 114024 | systems/texlive/tlnet/archive/texlive-scripts.r70087.tar.xz
+2024/02/24 | 112896 | systems/texlive/tlnet/archive/markdown.source.r70117.tar.xz
+2024/02/24 | 1090756 | macros/unicodetex/latex/fontsetup.zip
+2024/02/24 | 102296 | systems/texlive/tlnet/archive/tex4ebook.doc.r70117.tar.xz
2024/02/23 | 991 | support/tex4ebook/tex4ebook-exec_azw.lua
2024/02/23 | 9796 | support/make4ht/lapp-mk4.lua
+2024/02/23 | 970535 | systems/doc/pdftex/manual/pdftex-a.pdf
2024/02/23 | 9587 | macros/luatex/latex/gitinfo-lua/scripts/gitinfo-lua.lua
2024/02/23 | 9539 | macros/latex/contrib/se2thesis/se2fonts.dtx
2024/02/23 | 950836 | systems/texlive/tlnet/archive/context-handlecsv.doc.r70074.tar.xz
@@ -13,7 +120,6 @@
2024/02/23 | 8401 | macros/latex/contrib/minimalist/minimart.cls
2024/02/23 | 8398 | macros/latex/contrib/minimalist/minimbook.cls
2024/02/23 | 8295 | support/make4ht/domfilters/make4ht-collapsetoc.lua
-2024/02/23 | 82863 | macros/latex/contrib/crefthe.zip
2024/02/23 | 8062 | support/make4ht/make4ht-indexing.lua
2024/02/23 | 80200 | usergrps/dante/dtk/doc/beispiel.pdf
2024/02/23 | 798 | support/make4ht/make4ht-doc.tex
@@ -26,16 +132,15 @@
2024/02/23 | 752 | support/tex4ebook/tex4ebook-doc.tex
2024/02/23 | 733 | support/make4ht/formats/make4ht-tei.lua
2024/02/23 | 7331 | support/make4ht/formats/make4ht-jats.lua
-2024/02/23 | 7312 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/02/23 | 713 | support/make4ht/filters/make4ht-entities-to-unicode.lua
2024/02/23 | 67319 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-classicthesis.pdf
-2024/02/23 | 66589 | macros/latex/contrib/crefthe/crefthe-doc.pdf
2024/02/23 | 6512 | macros/latex/contrib/se2thesis/se2thesis.tex
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
2024/02/23 | 61556 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-flow.pdf
2024/02/23 | 6116 | support/make4ht/filters/make4ht-mjcli.lua
@@ -51,7 +156,6 @@
2024/02/23 | 58093 | macros/latex/contrib/se2thesis/se2thesis.dtx
2024/02/23 | 57987 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-classical.pdf
2024/02/23 | 57491 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-plain.pdf
-2024/02/23 | 5747125 | systems/texlive/tlnet/install-tl-unx.tar.gz
2024/02/23 | 5745 | support/make4ht/domfilters/make4ht-sectionid.lua
2024/02/23 | 5710 | macros/luatex/latex/gitinfo-lua/scripts/gitinfo-lua-cmd.lua
2024/02/23 | 54721 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-stream.pdf
@@ -60,17 +164,11 @@
2024/02/23 | 5355 | support/make4ht/make4ht-dvireader.lua
2024/02/23 | 53508 | support/make4ht/readme.tex
2024/02/23 | 5289 | support/make4ht/extensions/make4ht-ext-staticsite.lua
+2024/02/23 | 5248 | macros/context/contrib/context-squares/tex/context/third/squares/t-squares.mklx
2024/02/23 | 51630 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-default.pdf
2024/02/23 | 5077 | support/tex4ebook/tex4ebook.sty
2024/02/23 | 50690 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-flow.pdf
-2024/02/23 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/02/23 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/02/23 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2024/02/23 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/02/23 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/02/23 | 48836 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-plain.pdf
-2024/02/23 | 4768 | macros/latex/contrib/crefthe/README.md
-2024/02/23 | 47499 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2024/02/23 | 474932 | systems/texlive/tlnet/archive/lwarp.source.r70072.tar.xz
2024/02/23 | 469522 | graphics/pgf/contrib/twoxtwogame.zip
2024/02/23 | 46844 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-classical.pdf
@@ -86,13 +184,11 @@
2024/02/23 | 44148 | macros/latex/contrib/minimalist/minimalist-stream.sty
2024/02/23 | 43841 | macros/latex/contrib/minimalist/minimalist-default.sty
2024/02/23 | 43508 | support/make4ht/changelog.tex
-2024/02/23 | 432744 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70064.tar.xz
2024/02/23 | 43045 | macros/latex/contrib/minimalist/minimalist-classical.sty
2024/02/23 | 42944 | support/make4ht/README
2024/02/23 | 425 | support/make4ht/filters/make4ht-fix-links.lua
2024/02/23 | 41635 | macros/latex/contrib/minimalist/minimalist-plain.sty
2024/02/23 | 41420 | systems/texlive/tlnet/archive/projlib.doc.r70070.tar.xz
-2024/02/23 | 4117837 | biblio/ctan-bibdata.zip
2024/02/23 | 41072 | macros/luatex/generic/luaxml/luaxml-namedentities.lua
2024/02/23 | 402 | support/make4ht/filters/make4ht-hruletohr.lua
2024/02/23 | 395 | support/make4ht/formats/make4ht-html5.lua
@@ -102,7 +198,6 @@
2024/02/23 | 3717 | fonts/simpleicons/enc/simpleiconsseven.enc
2024/02/23 | 3715 | fonts/simpleicons/enc/simpleiconsonezero.enc
2024/02/23 | 3709 | support/make4ht/filters/make4ht-staticsite.lua
-2024/02/23 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2024/02/23 | 3700 | fonts/simpleicons/enc/simpleiconsthree.enc
2024/02/23 | 3656 | fonts/simpleicons/enc/simpleiconstwo.enc
2024/02/23 | 3635 | fonts/simpleicons/enc/simpleiconseight.enc
@@ -122,6 +217,7 @@
2024/02/23 | 3316 | fonts/simpleicons/enc/simpleiconsonetwo.enc
2024/02/23 | 328 | support/make4ht/extensions/make4ht-ext-inlinecss.lua
2024/02/23 | 326 | support/make4ht/formats/make4ht-xhtml.lua
+2024/02/23 | 326 | macros/context/contrib/context-squares/CHANGELOG.md
2024/02/23 | 32673 | macros/luatex/generic/luaxml/luaxml.tex
2024/02/23 | 3264 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-classicthesis.tex
2024/02/23 | 325 | support/make4ht/extensions/make4ht-ext-join_colors.lua
@@ -136,6 +232,7 @@
2024/02/23 | 304 | support/make4ht/extensions/make4ht-ext-odttemplate.lua
2024/02/23 | 30238 | macros/latex/contrib/se2thesis/se2packages.dtx
2024/02/23 | 3015 | macros/latex/contrib/se2thesis/se2thesis.ins
+2024/02/23 | 3005 | systems/doc/pdftex/manual/Makefile
2024/02/23 | 292243 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
2024/02/23 | 291 | support/make4ht/filters/make4ht-entities.lua
2024/02/23 | 2865 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-classical.tex
@@ -143,7 +240,6 @@
2024/02/23 | 2859 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-stream.tex
2024/02/23 | 285779 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
2024/02/23 | 2853 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-flow.tex
-2024/02/23 | 2849071 | biblio/ctan-bibdata/ctan.bib
2024/02/23 | 2836 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-plain.tex
2024/02/23 | 2824 | macros/unicodetex/latex/simplivre/demo/simplivre-demo-style-default.tex
2024/02/23 | 2824 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-classicthesis.tex
@@ -162,13 +258,11 @@
2024/02/23 | 2616 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-classical.tex
2024/02/23 | 2608 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-stream.tex
2024/02/23 | 2606 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-plain.tex
-2024/02/23 | 26035580 | systems/texlive/tlnet/install-tl.zip
2024/02/23 | 2602 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-flow.tex
2024/02/23 | 259 | fonts/simpleicons/tex/usimpleiconsnine.fd
2024/02/23 | 259 | fonts/simpleicons/tex/usimpleiconsfour.fd
2024/02/23 | 259 | fonts/simpleicons/tex/usimpleiconsfive.fd
2024/02/23 | 2573 | macros/unicodetex/latex/einfart/demo/einfart-demo-style-default.tex
-2024/02/23 | 2550064 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2024/02/23 | 254 | fonts/simpleicons/tex/usimpleiconstwo.fd
2024/02/23 | 254 | fonts/simpleicons/tex/usimpleiconssix.fd
2024/02/23 | 254 | fonts/simpleicons/tex/usimpleiconsone.fd
@@ -182,7 +276,6 @@
2024/02/23 | 2324 | support/make4ht/filters/make4ht-odttemplate.lua
2024/02/23 | 231059 | macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
2024/02/23 | 2265 | macros/luatex/generic/luaxml/luaxml-pretty.lua
-2024/02/23 | 22531 | macros/latex/contrib/crefthe/crefthe.sty
2024/02/23 | 2232 | support/make4ht/domfilters/make4ht-joincolors.lua
2024/02/23 | 222432 | systems/texlive/tlnet/archive/lwarp.r70072.tar.xz
2024/02/23 | 2221889 | fonts/simpleicons/type1/SimpleIcons.pfb
@@ -191,30 +284,27 @@
2024/02/23 | 2168 | macros/luatex/generic/luaxml/luaxml-parse-query.lua
2024/02/23 | 21478 | support/make4ht/mkutils.lua
2024/02/23 | 2138755 | systems/doc/luatex.zip
-2024/02/23 | 21031689 | systems/texlive/tlnet/install-tl-windows.exe
2024/02/23 | 20712 | macros/luatex/generic/luaxml/luaxml-mod-xml.lua
2024/02/23 | 1953 | support/make4ht/extensions/make4ht-ext-copy_images.lua
-2024/02/23 | 19334033 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/02/23 | 19148 | macros/latex/contrib/crefthe/crefthe-doc.tex
2024/02/23 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
2024/02/23 | 19106 | macros/unicodetex/latex/einfart/LICENSE
2024/02/23 | 19106 | macros/latex/contrib/se2thesis/LICENSE.txt
2024/02/23 | 19106 | macros/latex/contrib/minimalist/LICENSE
-2024/02/23 | 19106 | macros/latex/contrib/crefthe/LICENSE
2024/02/23 | 19106 | macros/latex/contrib/colorist/LICENSE
2024/02/23 | 18978 | support/tex4ebook/readme.tex
+2024/02/23 | 187365 | systems/doc/pdftex/manual/pdftex.tex
2024/02/23 | 1842 | graphics/pgf/contrib/twoxtwogame/README.md
2024/02/23 | 18295 | macros/luatex/generic/luaxml/luaxml-domobject.lua
2024/02/23 | 1812 | fonts/simpleicons/doc/simpleicons.tex
2024/02/23 | 1793727 | systems/doc/luatex/luatex.pdf
2024/02/23 | 17905 | support/tex4ebook/changelog.tex
+2024/02/23 | 17761 | macros/latex/contrib/litetable/doc/favicon.png
2024/02/23 | 17509 | usergrps/dante/dtk/dtk.cls
2024/02/23 | 174301 | macros/luatex/generic/luaxml.zip
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 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
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
@@ -226,14 +316,11 @@
2024/02/23 | 16012 | systems/texlive/tlnet/archive/context-handlecsv.r70074.tar.xz
2024/02/23 | 15 | macros/unicodetex/latex/simplivre/DEPENDS.txt
2024/02/23 | 15 | macros/unicodetex/latex/einfart/DEPENDS.txt
+2024/02/23 | 15557 | systems/doc/pdftex/manual/ChangeLog
2024/02/23 | 15556 | support/tex4ebook/tex4ebook.4ht
2024/02/23 | 15403 | macros/luatex/generic/luaxml/luaxml-cssquery.lua
-2024/02/23 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/02/23 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2024/02/23 | 14896 | support/tex4ebook/README
-2024/02/23 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2024/02/23 | 1458 | support/make4ht/domfilters/make4ht-odtsvg.lua
-2024/02/23 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2024/02/23 | 1449 | support/make4ht/extensions/make4ht-ext-tidy.lua
2024/02/23 | 1446 | macros/luatex/generic/luaxml/luaxml-entities.lua
2024/02/23 | 140204 | systems/texlive/tlnet/archive/pdfmanagement-testphase.source.r70071.tar.xz
@@ -265,13 +352,14 @@
2024/02/23 | 1151 | support/tex4ebook/tex4ebook-exec_azw3.lua
2024/02/23 | 11456 | macros/luatex/generic/luaxml/luaxml-mod-handler.lua
2024/02/23 | 1143 | support/make4ht/formats/make4ht-docbook.lua
-2024/02/23 | 114024 | systems/texlive/tlnet/archive/texlive-scripts.r70064.tar.xz
2024/02/23 | 11358 | graphics/pgf/contrib/twoxtwogame/LICENSE
2024/02/23 | 1124 | support/make4ht/domfilters/make4ht-odtfonts.lua
2024/02/23 | 1120 | support/make4ht/extensions/make4ht-ext-common_domfilters.lua
+2024/02/23 | 11138 | systems/doc/pdftex/manual/pdftexmanual.cls
2024/02/23 | 11096 | support/make4ht/mkparams.lua
2024/02/23 | 1093 | macros/luatex/latex/gitinfo-lua/README.md
2024/02/23 | 1080 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsonetwo.tfm
+2024/02/23 | 1078 | macros/context/contrib/context-squares/LICENSE
2024/02/23 | 1046 | support/make4ht/domfilters/make4ht-idcolons.lua
2024/02/23 | 1040 | macros/luatex/latex/gitinfo-lua/doc/git-scenario.sh
2024/02/23 | 1039 | support/make4ht/make4ht-filterlib.lua
@@ -285,11 +373,8 @@
2024/02/22 | 950 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
2024/02/22 | 92358 | macros/latex/contrib/easybook/easybook.tex
2024/02/22 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
-2024/02/22 | 8556 | systems/texlive/tlnet/archive/einfart.doc.r70050.tar.xz
-2024/02/22 | 8552 | systems/texlive/tlnet/archive/simplivre.doc.r70050.tar.xz
2024/02/22 | 8552 | systems/texlive/tlnet/archive/lebhart.doc.r70050.tar.xz
2024/02/22 | 8548 | systems/texlive/tlnet/archive/beaulivre.doc.r70050.tar.xz
-2024/02/22 | 83668 | macros/latex/contrib/projlib.zip
2024/02/22 | 831142 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
2024/02/22 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
2024/02/22 | 827 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
@@ -298,8 +383,6 @@
2024/02/22 | 77050 | macros/latex/contrib/easybook/easybook.dtx
2024/02/22 | 7654 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
2024/02/22 | 750635 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
-2024/02/22 | 7420 | systems/texlive/tlnet/archive/minimalist.doc.r70050.tar.xz
-2024/02/22 | 7412 | systems/texlive/tlnet/archive/colorist.doc.r70050.tar.xz
2024/02/22 | 73587 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
2024/02/22 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
2024/02/22 | 700 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
@@ -316,7 +399,6 @@
2024/02/22 | 600974 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
2024/02/22 | 592919 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
2024/02/22 | 586583 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
-2024/02/22 | 5846 | macros/latex/contrib/projlib/README.md
2024/02/22 | 565531 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
2024/02/22 | 5650 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
2024/02/22 | 5580 | systems/texlive/tlnet/archive/lua-placeholders.r70055.tar.xz
@@ -325,9 +407,7 @@
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 | 5364 | systems/texlive/tlnet/archive/einfart.r70050.tar.xz
2024/02/22 | 536366 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
-2024/02/22 | 5336 | systems/texlive/tlnet/archive/simplivre.r70050.tar.xz
2024/02/22 | 528830 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
2024/02/22 | 5244 | systems/texlive/tlnet/archive/lebhart.r70050.tar.xz
2024/02/22 | 5236 | systems/texlive/tlnet/archive/beaulivre.r70050.tar.xz
@@ -348,7 +428,6 @@
2024/02/22 | 3960590 | macros/latex/contrib/lwarp.zip
2024/02/22 | 3959 | macros/latex/contrib/tagpdf/tagpdf.ins
2024/02/22 | 38254 | systems/doc/luatex/luatex-lua.tex
-2024/02/22 | 37933 | macros/latex/contrib/projlib/logo/ProjLib-logo.png
2024/02/22 | 3792 | systems/texlive/tlnet/archive/homework.r70050.tar.xz
2024/02/22 | 375304 | systems/texlive/tlnet/archive/homework.doc.r70050.tar.xz
2024/02/22 | 36943 | macros/latex/contrib/tagpdf/tagpdf-data.dtx
@@ -358,9 +437,7 @@
2024/02/22 | 3471136 | macros/latex/contrib/lwarp/lwarp.pdf
2024/02/22 | 34295 | macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
2024/02/22 | 34111 | macros/latex/contrib/lwarp/lwarp.ins
-2024/02/22 | 3379 | macros/latex/contrib/projlib/ProjLib.ins
2024/02/22 | 31552 | macros/latex/contrib/tagpdf/ex-list.pdf
-2024/02/22 | 312116 | macros/latex/contrib/projlib/ProjLib.dtx
2024/02/22 | 31145 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
2024/02/22 | 29836 | macros/latex/contrib/lwarp/lwarpmk.lua
2024/02/22 | 29776 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
@@ -376,11 +453,9 @@
2024/02/22 | 26550 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
2024/02/22 | 26540 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
2024/02/22 | 2643 | macros/latex/contrib/tagpdf/tagpdf.bib
-2024/02/22 | 26113 | support/TeX4ht/source/tex4ht-jats.tex
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 | 246829 | support/TeX4ht/source/ChangeLog
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
@@ -392,11 +467,9 @@
2024/02/22 | 203314 | graphics/metapost/contrib/macros/mptrees/mptrees-doc.pdf
2024/02/22 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
2024/02/22 | 20066 | macros/latex/contrib/tagpdf/ex-formula-problem.pdf
-2024/02/22 | 19 | macros/latex/contrib/projlib/DEPENDS.txt
2024/02/22 | 19236 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
2024/02/22 | 19207 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
2024/02/22 | 19203 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
-2024/02/22 | 19106 | macros/latex/contrib/projlib/LICENSE
2024/02/22 | 19014 | macros/latex/contrib/tagpdf/ex-attribute.pdf
2024/02/22 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
2024/02/22 | 18170 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -419,16 +492,12 @@
2024/02/22 | 1362160 | systems/texlive/tlnet/archive/robust-externalize.doc.r70053.tar.xz
2024/02/22 | 1354 | macros/latex/contrib/pdfmanagement-testphase/update-metadata.txt
2024/02/22 | 1325 | macros/latex/contrib/tagpdf/ex-attribute.tex
-2024/02/22 | 1308 | macros/latex/contrib/projlib/logo/ProjLib-logo.pdf
2024/02/22 | 129305 | macros/latex/contrib/tagpdf/tagpdf.tex
-2024/02/22 | 12800 | systems/texlive/tlnet/archive/minimalist.r70050.tar.xz
-2024/02/22 | 126 | macros/latex/contrib/projlib/logo/ProjLib-logo.tex
2024/02/22 | 12362 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
2024/02/22 | 121753375 | macros/context/latest/cont-tmf.zip
2024/02/22 | 1194 | macros/latex/contrib/tagpdf/README.md
2024/02/22 | 1185248 | support/TeX4ht/source/tex4ht-4ht.tex
2024/02/22 | 1162 | macros/latex/contrib/pdfmanagement-testphase/README.md
-2024/02/22 | 11616 | systems/texlive/tlnet/archive/colorist.r70050.tar.xz
2024/02/22 | 1160 | macros/latex/contrib/tagpdf/ex-AF-file.tex
2024/02/22 | 1156337 | macros/latex/contrib/tagpdf/tagpdf.pdf
2024/02/22 | 11133 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -503,7 +572,6 @@
2024/02/21 | 3425 | macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
2024/02/21 | 33908 | systems/texlive/tlnet/archive/l3backend.source.r70027.tar.xz
2024/02/21 | 3139592 | systems/texlive/tlnet/archive/l3experimental.doc.r70027.tar.xz
-2024/02/21 | 3061878 | systems/doc/pdftex.zip
2024/02/21 | 30235 | macros/latex/contrib/homework/homework-example-sheet-answer.pdf
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
@@ -558,7 +626,6 @@
2024/02/20 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2024/02/20 | 9944 | macros/latex/contrib/l3backend/l3backend-opacity.dtx
2024/02/20 | 989949 | macros/luatex/latex/piton.zip
-2024/02/20 | 970485 | systems/doc/pdftex/manual/pdftex-a.pdf
2024/02/20 | 96024 | macros/latex/contrib/l3experimental/l3galley.dtx
2024/02/20 | 95311 | systems/doc/dvipng/dvipng.html
2024/02/20 | 9507 | macros/latex/contrib/l3experimental/CHANGELOG.md
@@ -763,7 +830,6 @@
2024/02/20 | 3078 | macros/latex/contrib/l3kernel/README.md
2024/02/20 | 305486 | macros/latex/contrib/l3kernel/l3regex.dtx
2024/02/20 | 30504 | macros/latex/contrib/l3kernel/l3intarray.dtx
-2024/02/20 | 3030 | systems/doc/pdftex/manual/Makefile
2024/02/20 | 299358 | macros/latex/contrib/l3experimental/l3opacity.pdf
2024/02/20 | 29838 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
2024/02/20 | 298116 | macros/latex/contrib/l3experimental/l3benchmark.pdf
@@ -901,7 +967,6 @@
2024/02/20 | 189018 | macros/latex/contrib/robust-externalize/robust-externalize.sty
2024/02/20 | 1885 | systems/doc/pdftex/manual/incl/pdfmin-src.txt
2024/02/20 | 18742 | biblio/citation-style-language/citation-style-language-cite.sty
-2024/02/20 | 187056 | systems/doc/pdftex/manual/pdftex.tex
2024/02/20 | 185 | systems/doc/pdftex/tests/25-pdfomitprocset/f.tex
2024/02/20 | 185 | systems/doc/pdftex/tests/25-pdfomitprocset/f2.tex
2024/02/20 | 18528 | macros/latex/contrib/l3kernel/l3fp-round.dtx
@@ -944,7 +1009,6 @@
2024/02/20 | 15262 | macros/xetex/latex/langsci/langsci-unified.cbx
2024/02/20 | 151591 | macros/latex/contrib/l3kernel/l3news06.pdf
2024/02/20 | 150 | systems/doc/pdftex/tests/28-fake-interword-space-updated/Makefile
-2024/02/20 | 15095 | systems/doc/pdftex/manual/ChangeLog
2024/02/20 | 150919 | macros/latex/contrib/l3kernel/l3news02.pdf
2024/02/20 | 1509107 | macros/latex/contrib/robust-externalize.zip
2024/02/20 | 150870 | macros/latex/contrib/l3kernel/l3docstrip.pdf
@@ -1012,7 +1076,6 @@
2024/02/20 | 112524 | macros/latex/contrib/l3kernel/l3news05.pdf
2024/02/20 | 112260 | macros/latex/contrib/l3kernel/l3color.dtx
2024/02/20 | 11148 | systems/doc/pdftex/tests/16-nolink-special/fancyhdr.sty
-2024/02/20 | 11134 | systems/doc/pdftex/manual/pdftexmanual.cls
2024/02/20 | 11033 | biblio/citation-style-language/american-medical-association.csl
2024/02/20 | 1093728 | systems/doc/hitex/hiformat.hnt
2024/02/20 | 10754 | macros/latex/contrib/l3experimental/l3draw-transforms.dtx
@@ -2335,221 +2398,3 @@
2024/02/18 | 11100 | systems/texlive/tlnet/archive/codedescribe.r69944.tar.xz
2024/02/18 | 1086 | macros/jptex/latex/jlreq-deluxe/LICENSE
2024/02/18 | 1005 | macros/latex/contrib/l3packages/README.md
-2024/02/17 | 9855 | macros/generic/markdown/examples/optex.tex
-2024/02/17 | 98454 | macros/luatex/latex/novel/doc/extras/novel-example.pdf
-2024/02/17 | 98012 | systems/texlive/tlnet/archive/spbmark.doc.r69927.tar.xz
-2024/02/17 | 952201 | macros/generic/markdown/markdown.dtx
-2024/02/17 | 93379 | systems/win32/miktex/tm/packages/spbmark__doc.tar.lzma
-2024/02/17 | 920 | systems/win32/miktex/tm/packages/pr.ini
-2024/02/17 | 9002 | systems/win32/miktex/tm/packages/cnbwp.tar.lzma
-2024/02/17 | 8882 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2024/02/17 | 88652 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2024/02/17 | 8820 | macros/luatex/latex/novel/lualatex/novel-PostLayout.sty
-2024/02/17 | 830460 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2024/02/17 | 8292 | systems/texlive/tlnet/archive/jlreq.source.r69932.tar.xz
-2024/02/17 | 82096 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2024/02/17 | 82034 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2024/02/17 | 81599 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2024/02/17 | 811007 | systems/win32/miktex/tm/packages/files.csv.lzma
-2024/02/17 | 810923 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2024/02/17 | 78353 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2024/02/17 | 77332 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2024/02/17 | 76141 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2024/02/17 | 75 | macros/generic/markdown/examples/scientists.csv
-2024/02/17 | 7561 | macros/luatex/latex/novel/lualatex/novel-DropCap.sty
-2024/02/17 | 75143 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2024/02/17 | 75040 | systems/texlive/tlnet/archive/expex-glossonly.doc.r69923.tar.xz
-2024/02/17 | 745380 | systems/texlive/tlnet/archive/tabularray.doc.r69926.tar.xz
-2024/02/17 | 73409 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2024/02/17 | 73393 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2024/02/17 | 730356 | systems/texlive/tlnet/archive/functional.doc.r69929.tar.xz
-2024/02/17 | 7280 | systems/texlive/tlnet/archive/luaotfload.source.r69921.tar.xz
-2024/02/17 | 726042 | systems/win32/miktex/tm/packages/tabularray__doc.tar.lzma
-2024/02/17 | 7112 | systems/texlive/tlnet/archive/collection-latexextra.r69928.tar.xz
-2024/02/17 | 707998 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2024/02/17 | 699151 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2024/02/17 | 69692 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2024/02/17 | 6946 | macros/luatex/latex/novel/lualatex/novel-FileData.sty
-2024/02/17 | 686436 | systems/texlive/tlnet/archive/cnbwp.doc.r69931.tar.xz
-2024/02/17 | 682743 | systems/win32/miktex/tm/packages/functional__doc.tar.lzma
-2024/02/17 | 67828 | systems/texlive/tlnet/archive/siunitx.r69922.tar.xz
-2024/02/17 | 67391 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2024/02/17 | 65 | systems/mac/mactex/mactex-MacTeXtras-20240217.zip.md5
-2024/02/17 | 65122 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2024/02/17 | 64839 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2024/02/17 | 636720 | systems/texlive/tlnet/archive/luaotfload.doc.r69921.tar.xz
-2024/02/17 | 623028 | systems/texlive/tlnet/archive/luaotfload.r69921.tar.xz
-2024/02/17 | 611941 | macros/unicodetex/latex/polyglossia.zip
-2024/02/17 | 61073 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2024/02/17 | 606491 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2024/02/17 | 603499 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2024/02/17 | 603091 | systems/win32/miktex/tm/packages/cnbwp__doc.tar.lzma
-2024/02/17 | 601822 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma
-2024/02/17 | 59279 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2024/02/17 | 58931 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2024/02/17 | 5744 | systems/win32/miktex/tm/packages/spbmark__source.tar.lzma
-2024/02/17 | 55956 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2024/02/17 | 5571308 | systems/texlive/tlnet/archive/pgf-periodictable.doc.r69924.tar.xz
-2024/02/17 | 54817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2024/02/17 | 54215 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2024/02/17 | 538564 | systems/win32/miktex/tm/packages/jlreq__doc.tar.lzma
-2024/02/17 | 535608 | systems/texlive/tlnet/archive/jlreq.doc.r69932.tar.xz
-2024/02/17 | 530202 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2024/02/17 | 52602 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2024/02/17 | 513296 | systems/texlive/tlnet/archive/pgf-periodictable.r69924.tar.xz
-2024/02/17 | 49 | systems/mac/mactex/MacTeXtras.zip.md5
-2024/02/17 | 499899 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2024/02/17 | 49948 | macros/latex/contrib/randexam/randexam-b-answer.pdf
-2024/02/17 | 49886 | macros/latex/contrib/randexam/randexam-a-answer.pdf
-2024/02/17 | 49725 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2024/02/17 | 48761 | systems/win32/miktex/tm/packages/functional__source.tar.lzma
-2024/02/17 | 48299 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2024/02/17 | 47404 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2024/02/17 | 473015 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2024/02/17 | 4681 | macros/generic/markdown/markdown.css
-2024/02/17 | 459623 | systems/win32/miktex/tm/packages/pynotebook__doc.tar.lzma
-2024/02/17 | 45948 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2024/02/17 | 4485835 | macros/luatex/latex/novel.zip
-2024/02/17 | 44358 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2024/02/17 | 44109 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2024/02/17 | 44070 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2024/02/17 | 4405 | macros/generic/markdown/docstrip.cfg
-2024/02/17 | 43730 | macros/generic/markdown/CHANGES.md
-2024/02/17 | 43095 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2024/02/17 | 41751 | macros/latex/contrib/randexam/randexam-a-blank.pdf
-2024/02/17 | 4174342 | systems/win32/miktex/tm/packages/novel__source.tar.lzma
-2024/02/17 | 41687 | macros/latex/contrib/randexam/randexam-b-blank.pdf
-2024/02/17 | 4125 | systems/win32/miktex/tm/packages/spbmark.tar.lzma
-2024/02/17 | 40883 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma
-2024/02/17 | 40360 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2024/02/17 | 39868 | systems/texlive/tlnet/archive/exam-zh.r69920.tar.xz
-2024/02/17 | 395355 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2024/02/17 | 3926 | macros/luatex/latex/novel/doc/extras/novel-example.tex
-2024/02/17 | 3924 | systems/texlive/tlnet/archive/spbmark.r69927.tar.xz
-2024/02/17 | 3880 | systems/texlive/tlnet/archive/texlogfilter.r69919.tar.xz
-2024/02/17 | 3832 | macros/generic/markdown/examples/example.md
-2024/02/17 | 3818 | macros/luatex/latex/novel/lualatex/novel-Sandbox.sty
-2024/02/17 | 381896 | macros/unicodetex/latex/polyglossia/polyglossia.pdf
-2024/02/17 | 37605 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2024/02/17 | 37500 | systems/win32/miktex/tm/packages/tabularray.tar.lzma
-2024/02/17 | 37364 | systems/texlive/tlnet/archive/tabularray.r69926.tar.xz
-2024/02/17 | 36805 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2024/02/17 | 36708 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2024/02/17 | 3611 | systems/win32/miktex/tm/packages/pynotebook__source.tar.lzma
-2024/02/17 | 35355 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2024/02/17 | 351949 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2024/02/17 | 348410 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2024/02/17 | 348347 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2024/02/17 | 3431742 | systems/win32/miktex/tm/packages/simpleicons.tar.lzma
-2024/02/17 | 3398904 | systems/texlive/tlnet/archive/simpleicons.r69933.tar.xz
-2024/02/17 | 33855 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2024/02/17 | 33852 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2024/02/17 | 329740 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2024/02/17 | 32894 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2024/02/17 | 328609 | macros/luatex/latex/novel/doc/novel-documentation.html
-2024/02/17 | 32726 | macros/luatex/latex/novel/doc/novel.pdf
-2024/02/17 | 32111 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2024/02/17 | 31 | macros/generic/markdown/VERSION
-2024/02/17 | 31749 | macros/latex/contrib/codedescribe/latex/codedescribe.sty
-2024/02/17 | 3163 | macros/latex/contrib/codedescribe/README.md
-2024/02/17 | 31575 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2024/02/17 | 305395 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2024/02/17 | 29464 | systems/texlive/tlnet/archive/texlogfilter.doc.r69919.tar.xz
-2024/02/17 | 291372 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2024/02/17 | 29118 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2024/02/17 | 287390 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2024/02/17 | 28706 | macros/latex/contrib/codedescribe/latex/codelisting.sty
-2024/02/17 | 2844124 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2024/02/17 | 2831 | macros/luatex/latex/novel/doc/novel.tex
-2024/02/17 | 2827 | systems/win32/miktex/tm/packages/pynotebook.tar.lzma
-2024/02/17 | 272405 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2024/02/17 | 27148 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2024/02/17 | 2708656 | systems/texlive/tlnet/archive/exam-zh.doc.r69920.tar.xz
-2024/02/17 | 25613 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2024/02/17 | 25605 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2024/02/17 | 254545 | macros/latex/contrib/codedescribe.zip
-2024/02/17 | 252555 | macros/latex/contrib/codedescribe/doc/codedescribe.pdf
-2024/02/17 | 2495149 | systems/win32/miktex/tm/packages/simpleicons__doc.tar.lzma
-2024/02/17 | 249437 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2024/02/17 | 2485968 | systems/texlive/tlnet/archive/simpleicons.doc.r69933.tar.xz
-2024/02/17 | 245919 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2024/02/17 | 24141 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2024/02/17 | 24034 | macros/luatex/latex/novel/lualatex/novel.cls
-2024/02/17 | 23866 | macros/latex/contrib/codedescribe/doc/codedescribe.tex
-2024/02/17 | 2348 | systems/texlive/tlnet/archive/expex-glossonly.r69923.tar.xz
-2024/02/17 | 232152 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2024/02/17 | 22881 | macros/generic/markdown/libraries/markdown-tinyyaml.lua
-2024/02/17 | 2284462 | systems/mac/mactex/mactex-MacTeXtras-20240217.zip
-2024/02/17 | 221356 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2024/02/17 | 21983 | macros/generic/markdown/README.md
-2024/02/17 | 2189 | macros/generic/markdown/examples/context-mkiv.tex
-2024/02/17 | 218880 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2024/02/17 | 217158 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2024/02/17 | 21697 | macros/luatex/latex/novel/lualatex/novel-TextMacros.sty
-2024/02/17 | 21647 | systems/win32/miktex/tm/packages/simpleicons__source.tar.lzma
-2024/02/17 | 20836 | systems/win32/miktex/tm/packages/tabularray__source.tar.lzma
-2024/02/17 | 2056135 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2024/02/17 | 2054033 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2024/02/17 | 203204 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2024/02/17 | 2014881 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2024/02/17 | 19999 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2024/02/17 | 19946 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2024/02/17 | 19794 | macros/luatex/latex/novel/lualatex/novel-Images.sty
-2024/02/17 | 1963 | macros/unicodetex/latex/polyglossia/README.md
-2024/02/17 | 182855 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2024/02/17 | 18081 | macros/luatex/latex/novel/lualatex/novel-HeadFootStyles.sty
-2024/02/17 | 1778 | macros/generic/markdown/examples/latex-pdftex.tex
-2024/02/17 | 1763404 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2024/02/17 | 1763200 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2024/02/17 | 17571 | macros/luatex/latex/novel/lualatex/novel-pdfx.sty
-2024/02/17 | 174116 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2024/02/17 | 17235 | macros/luatex/latex/novel/lualatex/novel-LayoutSettings.sty
-2024/02/17 | 171 | macros/latex/contrib/randexam/randexam-b-answer.tex
-2024/02/17 | 17155 | macros/luatex/latex/novel/lualatex/novel-Fonts.sty
-2024/02/17 | 1663353 | support/TeX4ht/source/tex4ht-fonts-noncjk.tex
-2024/02/17 | 1650 | macros/generic/markdown/markdown.ins
-2024/02/17 | 16242 | systems/win32/miktex/tm/packages/easybook.tar.lzma
-2024/02/17 | 161 | systems/mac/mactex/mactex-MacTeXtras-20240217.zip.sha512
-2024/02/17 | 1609 | macros/generic/markdown/examples/latex-luatex.tex
-2024/02/17 | 159884 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2024/02/17 | 1578727 | install/macros/generic/markdown.tds.zip
-2024/02/17 | 15780 | macros/luatex/latex/novel/lualatex/novel-Footnotes.sty
-2024/02/17 | 156 | macros/latex/contrib/randexam/randexam-b-blank.tex
-2024/02/17 | 156 | macros/latex/contrib/randexam/randexam-a-blank.tex
-2024/02/17 | 153484 | systems/texlive/tlnet/archive/jlreq.r69932.tar.xz
-2024/02/17 | 1531331 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2024/02/17 | 15017 | systems/win32/miktex/tm/packages/novel__doc.tar.lzma
-2024/02/17 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512
-2024/02/17 | 14598 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2024/02/17 | 1441025 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2024/02/17 | 14280 | macros/luatex/latex/novel/lualatex/novel-ChapterScene.sty
-2024/02/17 | 141946 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2024/02/17 | 141609 | systems/win32/miktex/tm/packages/jlreq.tar.lzma
-2024/02/17 | 140951 | macros/generic/markdown/markdown.png
-2024/02/17 | 137763 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2024/02/17 | 1356202 | install/macros/unicodetex/latex/polyglossia.tds.zip
-2024/02/17 | 1341570 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2024/02/17 | 13084 | macros/luatex/latex/novel/lualatex/novel-CalculateLayout.sty
-2024/02/17 | 1287640 | systems/texlive/tlnet/archive/siunitx.doc.r69922.tar.xz
-2024/02/17 | 1253 | macros/luatex/latex/novel/doc/extras/novel-extras-README.html
-2024/02/17 | 123088 | systems/texlive/tlnet/archive/siunitx.source.r69922.tar.xz
-2024/02/17 | 117702 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2024/02/17 | 1172939 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2024/02/17 | 116828 | systems/win32/miktex/tm/packages/novel.tar.lzma
-2024/02/17 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
-2024/02/17 | 112426 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2024/02/17 | 11065 | systems/win32/miktex/tm/packages/functional.tar.lzma
-2024/02/17 | 109922 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2024/02/17 | 10976 | systems/texlive/tlnet/archive/functional.r69929.tar.xz
-2024/02/17 | 1089321 | macros/generic/markdown/markdown.pdf
-2024/02/17 | 108820 | systems/win32/miktex/tm/packages/cnbwp__source.tar.lzma
-2024/02/17 | 108541 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2024/02/17 | 1074357 | macros/unicodetex/latex/polyglossia/polyglossia.dtx
-2024/02/17 | 106590 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2024/02/17 | 105748 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2024/02/17 | 10524 | macros/latex/contrib/randexam/randexam-a-answer.tex
-2024/02/17 | 104443 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2024/02/17 | 104212 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2024/02/17 | 1037811 | macros/generic/markdown/markdown.html
-2024/02/17 | 103669 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2024/02/17 | 10092 | systems/texlive/tlnet/archive/cnbwp.r69931.tar.xz
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index faad7534d6..1ca5121de8 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 23-02-2024, 02:00:04
+%% created at 24-02-2024, 02:00:04
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -14223,7 +14223,7 @@
title = {The \texttt{colorist} package},
subtitle = {Write your articles or books in a colorful way},
author = {Jinwen XU},
- date = {2024-02-21},
+ date = {2024-02-23},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/colorist},
@@ -16124,8 +16124,8 @@
title = {The \texttt{crefthe} package},
subtitle = {Cross referencing with proper definite articles},
author = {Jinwen XU},
- date = {2023-11-11},
- version = {},
+ date = {2024-02-23},
+ version = {2023-11-11a},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/crefthe},
url = {https://ctan.org/pkg/crefthe},
@@ -19913,8 +19913,8 @@
title = {The \texttt{dtk} package},
subtitle = {Document class for the journal of DANTE},
author = {Herbert Voß and Rolf Niepraschk},
- date = {2024-02-12},
- version = {2.10d},
+ date = {2024-02-23},
+ version = {2.10e},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/usergrps/dante/dtk},
url = {https://ctan.org/pkg/dtk},
@@ -21483,7 +21483,7 @@
title = {The \texttt{einfart} package},
subtitle = {Write your articles in a simple and clear way},
author = {Jinwen XU},
- date = {2024-02-21},
+ date = {2024-02-23},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/unicodetex/latex/einfart},
@@ -29256,8 +29256,8 @@
title = {The \texttt{gitinfo-lua} package},
subtitle = {Display git project information in your \LaTeX{} projects},
author = {Erik Nijenhuis},
- date = {2024-02-12},
- version = {1.0.1},
+ date = {2024-02-23},
+ version = {1.0.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/luatex/latex/gitinfo-lua},
url = {https://ctan.org/pkg/gitinfo-lua},
@@ -42547,12 +42547,12 @@
title = {The \texttt{luaxml} package},
subtitle = {Lua library for reading and serialising XML files},
author = {Michal Hoftich},
- date = {2021-10-07},
- version = {0.1q},
+ date = {2024-02-23},
+ version = {0.1r},
license = {other-free},
mirror = {https://mirror.ctan.org/macros/luatex/generic/luaxml},
url = {https://ctan.org/pkg/luaxml},
- annotation = {LuaXML is a pure Lua library for reading and serializing
+ annotation = {LuaXML is a pure Lua library for reading and serializing
XML files. The current release is aimed mainly at support
for the package.
The documentation was created by automatic conversion
@@ -43051,8 +43051,8 @@
title = {The \texttt{make4ht} package},
subtitle = {A build system for tex4ht},
author = {Michal Hoftich},
- date = {2023-02-24},
- version = {0.3m},
+ date = {2024-02-23},
+ version = {0.4},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/support/make4ht},
url = {https://ctan.org/pkg/make4ht},
@@ -46016,7 +46016,7 @@
title = {The \texttt{minimalist} package},
subtitle = {Write your articles or books in a simple and clear way},
author = {Jinwen XU},
- date = {2024-02-21},
+ date = {2024-02-23},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/minimalist},
@@ -47139,8 +47139,8 @@
title = {The \texttt{mptrees} package},
subtitle = {Probability trees with MetaPost},
author = {Olivier Péault},
- date = {2023-04-27},
- version = {23.04},
+ date = {2024-02-23},
+ version = {24.02},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/metapost/contrib/macros/mptrees},
url = {https://ctan.org/pkg/mptrees},
@@ -62040,8 +62040,8 @@
title = {The \texttt{se2thesis} package},
subtitle = {A Thesis Class for the Chair of Software Engineering II at the University of Passau, Germany},
author = {Stephan Lukasczyk},
- date = {2024-02-22},
- version = {3.3.0},
+ date = {2024-02-23},
+ version = {3.3.1},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/se2thesis},
url = {https://ctan.org/pkg/se2thesis},
@@ -63454,8 +63454,8 @@
title = {The \texttt{simpleicons} package},
subtitle = {Simple Icons for \LaTeX{}},
author = {Inesh Bose},
- date = {2024-02-16},
- version = {11.4.0},
+ date = {2024-02-23},
+ version = {11.5.0},
license = {cc-by-1},
mirror = {https://mirror.ctan.org/fonts/simpleicons},
url = {https://ctan.org/pkg/simpleicons},
@@ -63563,7 +63563,7 @@
title = {The \texttt{simplivre} package},
subtitle = {Write your books in a simple and clear way},
author = {Jinwen XU},
- date = {2024-02-21},
+ date = {2024-02-23},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/unicodetex/latex/simplivre},
@@ -67176,8 +67176,8 @@
title = {The \texttt{tagpdf} package},
subtitle = {Tools for experimenting with tagging using pdfLaTeX and LuaLaTeX},
author = {{The LaTeX Project Team} and Ulrike Fischer},
- date = {2024-02-04},
- version = {0.98v},
+ date = {2024-02-23},
+ version = {0.98w},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/tagpdf},
url = {https://ctan.org/pkg/tagpdf},
@@ -68413,8 +68413,8 @@
title = {The \texttt{tex4ebook} package},
subtitle = {Converter from \LaTeX{} to ebook formats},
author = {Michal Hoftich},
- date = {2023-03-17},
- version = {0.3j},
+ date = {2024-02-23},
+ version = {0.4},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/support/tex4ebook},
url = {https://ctan.org/pkg/tex4ebook},
@@ -73299,6 +73299,17 @@
url = {https://ctan.org/pkg/twoupltx},
}
+@manual{ctan-twoxtwogame,
+ title = {The \texttt{twoxtwogame} package},
+ subtitle = {Visualize 2x2 normal-form games},
+ author = {Luke Marris and Deepmind Technologies},
+ date = {2024-02-23},
+ version = {0.1},
+ license = {apache2},
+ mirror = {https://mirror.ctan.org/graphics/pgf/contrib/twoxtwogame},
+ url = {https://ctan.org/pkg/twoxtwogame},
+}
+
@manual{ctan-txfonts,
title = {The \texttt{txfonts} package},
subtitle = {Times-like fonts in support of mathematics},
diff --git a/macros/context/contrib/context-squares/CHANGELOG.md b/macros/context/contrib/context-squares/CHANGELOG.md
new file mode 100644
index 0000000000..27c2865ac7
--- /dev/null
+++ b/macros/context/contrib/context-squares/CHANGELOG.md
@@ -0,0 +1,12 @@
+# Changelog
+
+## [20240223 ("Авдеевка — это Россия!")] - 2024-02-23
+
+### Added
+
+- CHANGELOG added. Previous versions won't have a CHANGELOG entry.
+
+### Changed
+
+- VERSION is now a decimal integer in the format YYYYMMDD.
+- My ConTeXt modules are now mirrored from Gitlab due to personal concerns with Github.
diff --git a/macros/context/contrib/context-squares/LICENSE b/macros/context/contrib/context-squares/LICENSE
index abb812c016..f80b5b29ac 100644
--- a/macros/context/contrib/context-squares/LICENSE
+++ b/macros/context/contrib/context-squares/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023 Jairo A. del Rio
+Copyright (c) 2023-2024 Jairo A. del Rio
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/context/contrib/context-squares/README.md b/macros/context/contrib/context-squares/README.md
index 9fd88f81d6..c8403a3c9b 100644
--- a/macros/context/contrib/context-squares/README.md
+++ b/macros/context/contrib/context-squares/README.md
@@ -1,43 +1,45 @@
-# squares
-
-This module only provides two commands:
-
-1. `\magicsquare` typesets a magic square.
-2. `\latinsquare` typesets a Latin square.
-
-Both `\magicsquare` and `\latinsquare` understand the same set of
-parameters:
-
-```tex
-\setupmagicsquare
- [size=2em,
- align={middle,lohi},
- renderingsetup=none,
- n=5] % and \setupTABLE parameters...
-```
-
-Magic and Latin squares are typesets via natural tables, i.e., by using a
-`\bTABLE` ... `\eTABLE` environment. I'd rather use `setups`, but it'd
-clash with another key already taken by `\setupTABLE`.
-
-Currently only two rendering setups are available: `none` (it does
-nothing), and `color` (cells colorfully painted across the HSV hue range).
-I promise more setups will be available soon, though.
-
-You might be more impatient and want to define your own. So, this is how:
-
-```tex
-\unprotect
-\startsetups[\????magicsquare:\c!renderingsetup:mysetup]
-% Idk, something like this?
-% \setupTABLE[r][odd][background=color,backgroundcolor=red]
-% For natural table tuning, see https://wiki.contextgarden.net/TABLE
-% etc.
-\stopsetups
-\protect
-
-\magicsquare[n=7,renderingsetup=mysetup]
-```
-
-_Caveat emptor_: this module is only for ConTeXt LMTX. I no longer use
-ConTeXt MKIV, so no support is provided, sorry.
+# squares
+
+This module only provides two commands:
+
+1. `\magicsquare` typesets a magic square.
+2. `\latinsquare` typesets a Latin square.
+
+Both `\magicsquare` and `\latinsquare` understand the same set of
+parameters:
+
+```tex
+\setupmagicsquare
+ [size=2em,
+ align={middle,lohi},
+ renderingsetup=none,
+ n=5] % and \setupTABLE parameters...
+```
+
+Magic and Latin squares are typesets via natural tables, i.e., by using a
+`\bTABLE` ... `\eTABLE` environment. I'd rather use `setups`, but it'd
+clash with another key already taken by `\setupTABLE`.
+
+Currently only two rendering setups are available: `none` (it does
+nothing), and `color` (cells colorfully painted across the HSV hue range).
+I promise more setups will be available soon, though.
+
+You might be more impatient and want to define your own. So, this is how:
+
+```tex
+\unprotect
+\startsetups[\????magicsquare:\c!renderingsetup:mysetup]
+% Idk, something like this?
+% \setupTABLE[r][odd][background=color,backgroundcolor=red]
+% For natural table tuning, see https://wiki.contextgarden.net/TABLE
+% etc.
+\stopsetups
+\protect
+
+\magicsquare[n=7,renderingsetup=mysetup]
+```
+
+_Caveat emptor_: this module is only for ConTeXt LMTX. I no longer use
+ConTeXt MKIV, so no support is provided, sorry. Moreover, I'm using
+cutting-edge features, such as new macro extensions. An updated
+distribution is recommended.
diff --git a/macros/context/contrib/context-squares/VERSION b/macros/context/contrib/context-squares/VERSION
index 5425d1161a..bb29f6e6b7 100644
--- a/macros/context/contrib/context-squares/VERSION
+++ b/macros/context/contrib/context-squares/VERSION
@@ -1 +1 @@
-2023-08-01
+20240223
diff --git a/macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lua b/macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lmt
index c0e613a3e0..2eb3a630ad 100644
--- a/macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lua
+++ b/macros/context/contrib/context-squares/tex/context/third/squares/t-squares.lmt
@@ -1,306 +1,329 @@
-if not modules then modules = {} end modules["t-squares"] = {
- version = "2023-08-01",
- comment = "Magic and Latin squares",
- author = "Jairo A. del Rio",
- copyright = "Jairo A. del Rio",
- license = "MIT License",
-}
-
-local interfaces = interfaces
-local implement = interfaces.implement
-local magic_reporter = logs.reporter("squares", "magic")
-local latin_reporter = logs.reporter("squares", "latin")
-local random = math.random
-
--- https://www.iupindia.in/910/IJCM_Magic_Square_Construction_Algorithms34.pdf
--- https://arxiv.org/pdf/1402.3273.pdf
--- https://en.wikipedia.org/wiki/Conway%27s_LUX_method_for_magic_squares
-
--- Helpers
-local function init(s)
- local q = {}
- for j = 1, s do
- q[j] = {}
- local c = q[j]
- for i = 1, s do
- c[i] = 0
- end
- end
- return q
-end
-
--- Odd numbers
-
-local function magic_01(n)
- local res = init(n)
- local i, j = 1 + (n >> 1), 1
- local k, l
- res[i][j] = 1
- for key = 2, n * n do
- k = 2 <= i and i - 1 or n
- l = 2 <= j and j - 1 or n
- if res[k][l] > 0 then
- i = i % n + 1
- else
- i, j = k, l
- end
- res[i][j] = key
- end
- return res
-end
-
-local function magic_02(N)
- local res = init(N)
- local n = N // 2
- local lux = init(n)
- local L, U, X = 1, 2, 4
- local x1, x2, x3, x4 = -1, 0, -1, 0
- for i = 1, n do
- for j = 1, n // 2 + 1 do
- lux[i][j] = L
- end
- end
- for i = 1, n do
- lux[i][n // 2 + 2] = U
- end
- for j = n // 2 + 3, n do
- for i = 1, n do
- lux[i][j] = X
- end
- end
- lux[n // 2 + 1][n // 2 + 1] = U
- lux[n // 2 + 1][n // 2 + 2] = L
- local i, j = 1, 1 + (n >> 1)
- local k, l
- res[2 * i + x1][2 * j - 1] = 1
- res[2 * i + x2][2 * j] = 2
- res[2 * i + x3][2 * j] = 3
- res[2 * i + x4][2 * j - 1] = 4
- for key = 2, n * n do
- k = 2 <= i and i - 1 or n
- l = 2 <= j and j - 1 or n
- if res[2 * k][2 * l] > 0 then
- i = i % n + 1
- else
- i, j = k, l
- end
- if lux[i][j] == L then
- x1, x2, x3, x4 = -1, 0, -1, 0
- elseif lux[i][j] == U then
- x1, x2, x3, x4 = 0, 0, -1, -1
- else
- x1, x2, x3, x4 = 0, -1, 0, -1
- end
- res[2 * i + x1][2 * j] = 4 * (key - 1) + 1
- res[2 * i + x2][2 * j - 1] = 4 * (key - 1) + 2
- res[2 * i + x3][2 * j - 1] = 4 * (key - 1) + 3
- res[2 * i + x4][2 * j] = 4 * key
- end
- return res
-end
-
-local function magic_03(n)
- local res = init(n)
- for x = 1, n, 4 do
- for y = 1, n, 4 do
- local q = 0
- for i = x, x + 3 do
- q = q + 1
- local q1 = 0
- for j = y, y + 3 do
- q1 = q1 + 1
- if i == j or i + j == 5 or q + q1 == 5 or q == q1 then
- res[i][j] = n * (i - 1) + j
- else
- res[i][j] = n * n - ((i - 1) * n + j) + 1
- end
- end
- end
- end
- end
- return res
-end
-
-local currentsquare = nil
-
-local function magicsquare(n)
- local r = n & 3
- if r == 0 then
- return magic_03(n)
- elseif r == 2 then
- return magic_02(n)
- end
- return magic_01(n)
-end
-
-local bTR, eTR = context.bTR, context.eTR
-local bTD, eTD = context.bTD, context.eTD
-
-implement({
- name = "magicsquarecell",
- arguments = { "integer", "integer" },
- actions = function(x, y)
- context(currentsquare and currentsquare[x][y] or "")
- end,
-})
-
-implement({
- name = "magicsquareinit",
- arguments = { "integer" },
- actions = function(n)
- if n > 0 and n ~= 2 then
- currentsquare = magicsquare(n)
- else
- magic_reporter(("Invalid number %d: nothing will be provided"):format(n))
- end
- end,
-})
-
-implement({
- name = "magicsquarereset",
- actions = function()
- currentsquare = nil
- end,
-})
-
-implement({
- name = "magicsquare",
- actions = function()
- local r = currentsquare
- if r then
- local n = #r
- for i = 1, n do
- bTR()
- for j = 1, n do
- bTD()
- context(r[i][j])
- eTD()
- end
- eTR()
- end
- else
- magic_reporter("Magic square not initialized...")
- return
- end
- end,
-})
-
-local function rand2(a, b)
- if random(2) == 1 then
- return a, b
- else
- return b, a
- end
-end
-
-local function latinsquare(n)
- local xy, xz, yz = {}, {}, {}
- local mxy, mxz, myz
- local m
- local proper = true
- local min = n * n * n
- for i = 1, n do
- xy[i] = {}
- yz[i] = {}
- xz[i] = {}
- end
- for i = 1, n do
- for j = 1, n do
- local k = (i + j - 2) % n + 1
- xy[i][j] = k
- xz[i][k] = j
- yz[j][k] = i
- end
- end
- for _ = 1, min do
- local i, j, k, i2, j2, k2, i2_, j2_, k2_
- if proper then
- i, j, k = random(n), random(n), random(n)
- while xy[i][j] == k do
- i, j, k = random(n), random(n), random(n)
- end
- i2 = yz[j][k]
- j2 = xz[i][k]
- k2 = xy[i][j]
- i2_, j2_, k2_ = i, j, k
- else
- i, j, k = m[1], m[2], m[3]
- i2, i2_ = rand2(yz[j][k], myz)
- j2, j2_ = rand2(xz[i][k], mxz)
- k2, k2_ = rand2(xy[i][j], mxy)
- end
- proper = xy[i2][j2] == k2
- if not proper then
- m = { i2, j2, k2 }
- mxy = xy[i2][j2]
- myz = yz[j2][k2]
- mxz = xz[i2][k2]
- end
- xy[i][j] = k2_
- xy[i][j2] = k2
- xy[i2][j] = k2
- xy[i2][j2] = k
-
- yz[j][k] = i2_
- yz[j][k2] = i2
- yz[j2][k] = i2
- yz[j2][k2] = i
-
- xz[i][k] = j2_
- xz[i][k2] = j2
- xz[i2][k] = j2
- xz[i2][k2] = j
- end
- return xy
-end
-
-local currentlatin = nil
-
-implement({
- name = "latinsquarecell",
- arguments = { "integer", "integer" },
- actions = function(x, y)
- context(currentlatin and currentlatin[x][y] or "")
- end,
-})
-
-implement({
- name = "latinsquareinit",
- arguments = { "integer" },
- actions = function(n)
- if n > 0 then
- currentlatin = latinsquare(n)
- else
- latin_reporter(("Invalid number %d: nothing will be provided"):format(n))
- end
- end,
-})
-
-implement({
- name = "latinsquarereset",
- actions = function()
- currentlatin = nil
- end,
-})
-
-implement({
- name = "latinsquare",
- actions = function()
- local r = currentlatin
- if r then
- local n = #r
- for i = 1, n do
- bTR()
- for j = 1, n do
- bTD()
- context(r[i][j])
- eTD()
- end
- eTR()
- end
- else
- latin_reporter("Latin square not initialized...")
- return
- end
- end,
-})
+if not modules then modules = {} end modules["t-squares"] = {
+ version = 20240223,
+ comment = "Magic and Latin squares",
+ author = "Jairo A. del Rio",
+ copyright = "Jairo A. del Rio",
+ license = "MIT License",
+}
+
+local interfaces = interfaces
+local implement = interfaces.implement
+local magic_reporter = logs.reporter("squares", "magic")
+local latin_reporter = logs.reporter("squares", "latin")
+local random = math.random
+local context = context
+
+-- https://www.iupindia.in/910/IJCM_Magic_Square_Construction_Algorithms34.pdf
+-- https://arxiv.org/pdf/1402.3273.pdf
+-- https://en.wikipedia.org/wiki/Conway%27s_LUX_method_for_magic_squares
+
+-- Helpers
+local function init(s)
+ local q = {}
+ for j = 1, s do
+ q[j] = {}
+ local c = q[j]
+ for i = 1, s do
+ c[i] = 0
+ end
+ end
+ return q
+end
+
+-- Odd numbers
+
+local function magic_01(n)
+ local res = init(n)
+ local i, j = 1 + (n >> 1), 1
+ local k, l
+ res[i][j] = 1
+ for key = 2, n * n do
+ k = i % n + 1
+ l = 2 <= j and j - 1 or n
+ if res[k][l] > 0 then
+ j = j % n + 1
+ else
+ i, j = k, l
+ end
+ res[i][j] = key
+ end
+ return res
+end
+
+-- LUX method
+
+local function magic_02(N)
+ local res = init(N)
+ local n = N // 2
+ local lux = init(n)
+ local L, U, X = 1, 2, 4
+ local x1, x2, x3, x4 = 0, -1, 0, -1
+ for i = 1, n do
+ for j = 1, n // 2 + 1 do
+ lux[i][j] = L
+ end
+ end
+ for i = 1, n do
+ lux[i][n // 2 + 2] = U
+ end
+ for j = n // 2 + 3, n do
+ for i = 1, n do
+ lux[i][j] = X
+ end
+ end
+ lux[n // 2 + 1][n // 2 + 1] = U
+ lux[n // 2 + 1][n // 2 + 2] = L
+ local i, j = 1 + (n >> 1), 1
+ local k, l
+ res[2 * i + x1][2 * j - 1] = 1
+ res[2 * i + x2][2 * j] = 2
+ res[2 * i + x3][2 * j] = 3
+ res[2 * i + x4][2 * j - 1] = 4
+ for key = 2, n * n do
+ k = i % n + 1
+ l = 2 <= j and j - 1 or n
+ if res[2 * k][2 * l] > 0 then
+ j = j % n + 1
+ else
+ i, j = k, l
+ end
+ if lux[i][j] == L then
+ x1, x2, x3, x4 = 0, -1, 0, -1
+ elseif lux[i][j] == U then
+ x1, x2, x3, x4 = -1, -1, 0, 0
+ else
+ x1, x2, x3, x4 = -1, 0, -1, 0
+ end
+ res[2 * i + x1][2 * j - 1] = 4 * (key - 1) + 1
+ res[2 * i + x2][2 * j] = 4 * (key - 1) + 2
+ res[2 * i + x3][2 * j] = 4 * (key - 1) + 3
+ res[2 * i + x4][2 * j - 1] = 4 * key
+ end
+ return res
+end
+
+local function magic_03(n)
+ local res = init(n)
+ for x = 1, n, 4 do
+ for y = 1, n, 4 do
+ local q = 0
+ for i = x, x + 3 do
+ q = q + 1
+ local q1 = 0
+ for j = y, y + 3 do
+ q1 = q1 + 1
+ if i == j or i + j == 5 or q + q1 == 5 or q == q1 then
+ res[i][j] = n * (i - 1) + j
+ else
+ res[i][j] = n * n - ((i - 1) * n + j) + 1
+ end
+ end
+ end
+ end
+ end
+ return res
+end
+
+local currentsquare = nil
+
+local function magicsquare(n)
+ local r = n & 3
+ if r == 0 then
+ return magic_03(n)
+ elseif r == 2 then
+ return magic_02(n)
+ end
+ return magic_01(n)
+end
+
+local bTR, eTR = context.bTR, context.eTR
+local bTD, eTD = context.bTD, context.eTD
+
+implement({
+ name = "magicsquarecell",
+ arguments = { "integer", "integer" },
+ actions = function(x, y)
+ context(currentsquare and currentsquare[x][y] or "")
+ end,
+})
+
+implement({
+ name = "magicsquareinit",
+ arguments = { "integer" },
+ actions = function(n)
+ if n > 0 and n ~= 2 then
+ currentsquare = magicsquare(n)
+ else
+ magic_reporter(("Invalid number %d: nothing will be provided"):format(n))
+ end
+ end,
+})
+
+implement({
+ name = "magicsquarereset",
+ actions = function()
+ currentsquare = nil
+ end,
+})
+
+implement({
+ name = "magicsquare",
+ actions = function()
+ local r = currentsquare
+ if r then
+ local n = #r
+ for j = 1, n do
+ bTR()
+ for i = 1, n do
+ bTD()
+ context(r[i][j])
+ eTD()
+ end
+ eTR()
+ end
+ else
+ magic_reporter("Magic square not initialized...")
+ return
+ end
+ end,
+})
+
+local function rand2(a, b)
+ if random(2) == 1 then
+ return a, b
+ else
+ return b, a
+ end
+end
+
+local function latinsquare(n)
+ local xy = {}
+ local xz = {}
+ local yz = {}
+
+ for i = 1, n do
+ xy[i] = {}
+ xz[i] = {}
+ yz[i] = {}
+ for j = 1, n do
+ xy[i][j] = 0
+ xz[i][j] = 0
+ yz[i][j] = 0
+ end
+ end
+
+ for i = 1, n do
+ for j = 1, n do
+ local k = (i + j - 2) % n + 1
+ xy[i][j] = k
+ xz[i][k] = j
+ yz[j][k] = i
+ end
+ end
+
+ local mxy, mxz, myz = 0, 0, 0
+ local m = { 0, 0, 0 }
+ local proper = true
+ local minIter = n * n * n
+ local iter = 0
+
+ while iter < minIter or not proper do
+ local i, j, k, i2, j2, k2
+ local i2_, j2_, k2_
+
+ if proper then
+ i, j, k = random(n), random(n), random(n)
+ while xy[i][j] == k do
+ i, j, k = random(n), random(n), random(n)
+ end
+
+ i2 = yz[j][k]
+ j2 = xz[i][k]
+ k2 = xy[i][j]
+ i2_, j2_, k2_ = i, j, k
+ else
+ i, j, k = m[1], m[2], m[3]
+
+ i2, i2_ = rand2(yz[j][k], myz)
+ j2, j2_ = rand2(xz[i][k], mxz)
+ k2, k2_ = rand2(xy[i][j], mxy)
+ end
+
+ proper = xy[i2][j2] == k2
+ if not proper then
+ m = { i2, j2, k2 }
+ mxy = xy[i2][j2]
+ myz = yz[j2][k2]
+ mxz = xz[i2][k2]
+ end
+
+ xy[i][j] = k2_
+ xy[i][j2] = k2
+ xy[i2][j] = k2
+ xy[i2][j2] = k
+
+ yz[j][k] = i2_
+ yz[j][k2] = i2
+ yz[j2][k] = i2
+ yz[j2][k2] = i
+
+ xz[i][k] = j2_
+ xz[i][k2] = j2
+ xz[i2][k] = j2
+ xz[i2][k2] = j
+
+ iter = iter + 1
+ end
+ return xy
+end
+
+local currentlatin = nil
+
+implement({
+ name = "latinsquarecell",
+ arguments = { "integer", "integer" },
+ actions = function(x, y)
+ context(currentlatin and currentlatin[x][y] or "")
+ end,
+})
+
+implement({
+ name = "latinsquareinit",
+ arguments = { "integer" },
+ actions = function(n)
+ if n > 0 then
+ currentlatin = latinsquare(n)
+ else
+ latin_reporter(("Invalid number %d: nothing will be provided"):format(n))
+ end
+ end,
+})
+
+implement({
+ name = "latinsquarereset",
+ actions = function()
+ currentlatin = nil
+ end,
+})
+
+implement({
+ name = "latinsquare",
+ actions = function()
+ local r = currentlatin
+ if r then
+ local n = #r
+ for j = 1, n do
+ bTR()
+ for i = 1, n do
+ bTD()
+ context(r[i][j])
+ eTD()
+ end
+ eTR()
+ end
+ else
+ latin_reporter("Latin square not initialized...")
+ return
+ end
+ end,
+})
diff --git a/macros/context/contrib/context-squares/tex/context/third/squares/t-squares.mklx b/macros/context/contrib/context-squares/tex/context/third/squares/t-squares.mklx
index 967ba97a74..5c2e0a214b 100644
--- a/macros/context/contrib/context-squares/tex/context/third/squares/t-squares.mklx
+++ b/macros/context/contrib/context-squares/tex/context/third/squares/t-squares.mklx
@@ -1,194 +1,201 @@
-%D \module
-%D [ file=t-squares,
-%D version=2023-08-01,
-%D title=\CONTEXT\ User Module,
-%D subtitle=Squares for ConTeXt,
-%D author=Jairo A. del Rio,
-%D date=\currentdate,
-%D copyright=Jairo A. del Rio,
-%D email=jairoadelrio6@gmail.com,
-%D license=MIT License]
-
-%C Copyright (c) 2023 Jairo A. del Rio
-%C
-%C Permission is hereby granted, free of charge, to any person obtaining
-%C a copy of this software and associated documentation files (the
-%C "Software"), to deal in the Software without restriction, including
-%C without limitation the rights to use, copy, modify, merge, publish,
-%C distribute, sublicense, and/or sell copies of the Software, and to
-%C permit persons to whom the Software is furnished to do so, subject to
-%C the following conditions:
-%C
-%C The above copyright notice and this permission notice shall be
-%C included in all copies or substantial portions of the Software.
-%C
-%C THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-%C EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-%C MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-%C IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-%C CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-%C TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-%C SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-\writestatus{loading}{Squares for ConTeXt!}
-
-\startmodule[squares]
-
-\unprotect
-
-\registerctxluafile{t-squares}{autosuffix}
-
-\installnamespace {magicsquare}
-\installsimplecommandhandler\????magicsquare{magicsquare}\????magicsquare
-
-\startsetups[\????magicsquare:\c!renderingsetup:\v!color]
-\dorecurse{\numexpr\magicsquareparameter\c!n}{
- \dorecurse{\numexpr\magicsquareparameter\c!n}{
- \definecolor[\????magicsquare:\v!color:##1:####1]
- [h=\the\numexpr(360*\clf_magicsquarecell\numexpr##1\relax\numexpr####1\relax):(\magicsquareparameter\c!n*\magicsquareparameter\c!n)\relax,
- v=1,
- s=0.5]%
- \setupTABLE[####1][##1]
- [\c!background=\v!color,
- \c!backgroundcolor=\????magicsquare:\v!color:##1:####1]%
- }
-}
-\stopsetups
-
-\setupmagicsquare
- [\c!n=5,
- \c!size=2em,
- \c!align={\v!middle,\v!lohi},
- \c!renderingsetup=\v!none]
-
-\tolerant\protected\def\magicsquare[#parameters]%
-{\begingroup%
- \ifarguments\or
- \setupmagicsquare[#parameters]%
- \fi
- \clf_magicsquareinit\numexpr\magicsquareparameter\c!n\relax%
- \ifcstok{\magicsquareparameter\c!renderingsetup}\emptytoks
- \else
- \directsetup{\????magicsquare:\c!renderingsetup:\magicsquareparameter\c!renderingsetup}%
- \fi
- \bTABLE
- [#parameters,
- \c!width=\magicsquareparameter\c!size,
- \c!height=\magicsquareparameter\c!size,
- \c!align=\magicsquareparameter\c!align]%
- \clf_magicsquare%
- \eTABLE%
- \clf_magicsquarereset%
- \endgroup}
-
-\installnamespace{latinsquare}
-\installsimplecommandhandler\????latinsquare{latinsquare}\????latinsquare
-
-\startsetups[\????latinsquare:\c!renderingsetup:\v!none]
-\stopsetups
-
-\startsetups[\????latinsquare:\c!renderingsetup:\v!color]
-\dorecurse{\numexpr\latinsquareparameter\c!n}{
- \definecolor[\????latinsquare:\v!color:##1][h=\the\numexpr(360*##1):(\magicsquareparameter\c!n)\relax,v=1,s=0.5]%
- \dorecurse{\numexpr\latinsquareparameter\c!n}{
- \setupTABLE[####1][##1]
- [\c!background=\v!color,
- \c!backgroundcolor=\????latinsquare:\v!color:\clf_latinsquarecell\numexpr##1\relax\numexpr####1\relax]%
- }
-}
-\stopsetups
-
-\setuplatinsquare
- [\c!n=5,
- \c!size=2em,
- \c!align={\v!middle,\v!lohi},
- \c!renderingsetup=\v!none]
-
-\tolerant\protected\def\latinsquare[#parameters]%
-{\begingroup%
- \ifarguments\or
- \setuplatinsquare[#parameters]%
- \fi
- \clf_latinsquareinit\numexpr\latinsquareparameter\c!n\relax%
- \ifcstok{\latinsquareparameter\c!renderingsetup}\emptytoks
- \else
- \directsetup{\????latinsquare:\c!renderingsetup:\latinsquareparameter\c!renderingsetup}%
- \fi
- \bTABLE
- [#parameters,
- \c!width=\latinsquareparameter\c!size,
- \c!height=\latinsquareparameter\c!size,
- \c!align=\latinsquareparameter\c!align]%
- \clf_latinsquare%
- \eTABLE%
- \clf_latinsquarereset%
- \endgroup}
-
-\protect
-
-\stopmodule
-
-\continueifinputfile{t-squares.mklx}
-
-\starttext
-
-\startsection[title=\type{\magicsquare}]
-
-% Magic squares
-
-\startbuffer
-\magicsquare[n=6,renderingsetup=color]
-\stopbuffer
-
-\typebuffer
-
-\getbuffer
-
-\startbuffer
-\magicsquare[n=7,renderingsetup=color]
-\stopbuffer
-
-\typebuffer
-
-\getbuffer
-
-\startbuffer
-\magicsquare[n=8,renderingsetup=color]
-\stopbuffer
-
-\typebuffer
-
-\getbuffer
-
-\startbuffer
-\magicsquare[n=2]
-\stopbuffer
-
-\typebuffer
-
-\getbuffer
-
-\stopsection
-
-% Latin squares
-
-\startsection[title=\type{\latinsquare}]
-
-\startbuffer
-\latinsquare[n=7]
-\stopbuffer
-
-\typebuffer
-
-\getbuffer
-
-\startbuffer
-\latinsquare[n=5,renderingsetup=color]
-\stopbuffer
-
-\typebuffer
-
-\getbuffer
-
-\stopsection
-\stoptext
+%D \module
+%D [ file=t-squares,
+%D version=20240223,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Squares for ConTeXt,
+%D author=Jairo A. del Rio,
+%D date=\currentdate,
+%D copyright=Jairo A. del Rio,
+%D email=jairoadelrio6@gmail.com,
+%D license=MIT License]
+
+%C Copyright (c) 2023-2024 Jairo A. del Rio
+%C
+%C Permission is hereby granted, free of charge, to any person obtaining
+%C a copy of this software and associated documentation files (the
+%C "Software"), to deal in the Software without restriction, including
+%C without limitation the rights to use, copy, modify, merge, publish,
+%C distribute, sublicense, and/or sell copies of the Software, and to
+%C permit persons to whom the Software is furnished to do so, subject to
+%C the following conditions:
+%C
+%C The above copyright notice and this permission notice shall be
+%C included in all copies or substantial portions of the Software.
+%C
+%C THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+%C EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+%C MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+%C IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+%C CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+%C TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+%C SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+\writestatus{loading}{Squares for ConTeXt!}
+
+\startmodule[squares]
+
+\registerctxluafile{t-squares}{autosuffix}
+
+\unprotect
+
+% Experiment: simpler setup command handler...
+
+\installnamespace {magicsquare}
+\installsetuponlycommandhandler\????magicsquare{magicsquare}
+
+\startsetups[\????magicsquare:\c!renderingsetup:\v!color]
+\cdef\c_n{\magicsquareparameter\c!n}
+\expandedrepeat\numexpr\c_n\relax{
+ \expandedrepeat\numexpr\c_n\relax{
+ \definecolor[\????magicsquare:\v!color:##P:##I]
+ [h=\the\numexpr(360*\clf_magicsquarecell##P##I):(\c_n*\c_n)\relax,v=1,s=0.5]%
+ \setupTABLE[##P][##I]
+ [\c!background=\v!color,
+ \c!backgroundcolor=\????magicsquare:\v!color:##P:##I]%
+ }
+}
+\stopsetups
+
+\setupmagicsquare
+ [\c!n=5,
+ \c!size=2em,
+ \c!align={\v!middle,\v!lohi},
+ \c!renderingsetup=\v!none]
+
+\permanent\tolerant\protected\def\magicsquare[#S#parameters]%
+ {\begingroup%
+ \setupmagicsquare[#parameters]%
+ \clf_magicsquareinit\numexpr\magicsquareparameter\c!n\relax%
+ \ifempty{\magicsquareparameter\c!renderingsetup}%
+ \else
+ \directsetup{\????magicsquare:\c!renderingsetup:\magicsquareparameter\c!renderingsetup}%
+ \fi%
+ \bTABLE
+ [#parameters,
+ \c!width=\magicsquareparameter\c!size,
+ \c!height=\magicsquareparameter\c!size,
+ \c!align=\magicsquareparameter\c!align]%
+ \clf_magicsquare%
+ \eTABLE%
+ \clf_magicsquarereset%
+ \endgroup}
+
+\installnamespace {latinsquare}
+\installsetuponlycommandhandler\????latinsquare{latinsquare}
+
+\startsetups[\????latinsquare:\c!renderingsetup:\v!none]
+\stopsetups
+
+\startsetups[\????latinsquare:\c!renderingsetup:\v!color]
+\expandedrepeat\numexpr\latinsquareparameter\c!n\relax{
+ \definecolor[\????latinsquare:\v!color:##I][h=\the\numexpr(360*##I):(\latinsquareparameter\c!n)\relax,v=1,s=0.5]%
+ \expandedrepeat\numexpr\latinsquareparameter\c!n\relax{
+ \setupTABLE[##P][##I]
+ [\c!background=\v!color,
+ \c!backgroundcolor=\????latinsquare:\v!color:\clf_latinsquarecell##P##I]%
+ }
+}
+\stopsetups
+
+\setuplatinsquare
+ [\c!n=5,
+ \c!size=2em,
+ \c!align={\v!middle,\v!lohi},
+ \c!renderingsetup=\v!none]
+
+\permanent\tolerant\protected\def\latinsquare[#S#parameters]%
+ {\begingroup%
+ \setuplatinsquare[#parameters]%
+ \clf_latinsquareinit\numexpr\latinsquareparameter\c!n\relax%
+ \ifempty{\latinsquareparameter\c!renderingsetup}%
+ \else
+ \directsetup{\????latinsquare:\c!renderingsetup:\latinsquareparameter\c!renderingsetup}%
+ \fi%
+ \bTABLE
+ [#parameters,
+ \c!width=\latinsquareparameter\c!size,
+ \c!height=\latinsquareparameter\c!size,
+ \c!align=\latinsquareparameter\c!align]%
+ \clf_latinsquare%
+ \eTABLE%
+ \clf_latinsquarereset%
+ \endgroup}
+
+\protect
+
+\stopmodule
+
+\continueifinputfile{t-squares.mklx}
+
+\starttext
+
+\startsection[title=\type{\magicsquare}]
+
+% Magic squares
+
+\startbuffer
+\magicsquare[n=10,renderingsetup=color]
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\startbuffer
+\magicsquare[n=3,renderingsetup=color]
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\startbuffer
+\magicsquare[n=8,renderingsetup=color]
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\startbuffer
+\magicsquare[n=2]
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\startbuffer
+\magicsquare
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\stopsection
+
+% Latin squares
+
+\startsection[title=\type{\latinsquare}]
+
+\startbuffer
+\latinsquare[n=7,renderingsetup=color]
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\startbuffer
+\latinsquare[n=5,renderingsetup=color]
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\stopsection
+\stoptext
+
+% vim: tw=80:ts=2:sts=2:expandtab:wrap:linebreak:breakindent \ No newline at end of file
diff --git a/macros/latex/contrib/cleveref-forward/LICENSE b/macros/latex/contrib/cleveref-forward/LICENSE
new file mode 100644
index 0000000000..2244313901
--- /dev/null
+++ b/macros/latex/contrib/cleveref-forward/LICENSE
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/macros/latex/contrib/cleveref-forward/README.md b/macros/latex/contrib/cleveref-forward/README.md
new file mode 100644
index 0000000000..4a67b0cdd3
--- /dev/null
+++ b/macros/latex/contrib/cleveref-forward/README.md
@@ -0,0 +1,34 @@
+<!-- Copyright (C) 2023-2024 by Jinwen XU -->
+
+# `cleveref-forward` — Forward-referencing functionality for cleveref
+
+`cleveref-forward` aims at providing the forward-referencing functionality to `cleveref`.
+
+This package is derived from the package [`cleveref-usedon`](https://ctan.org/pkg/cleveref-usedon), with several fixes and enhancements.
+
+## 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).
+
+## 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.
+
+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.
+
+
+## Acknowledgement
+
+The author would like to thank:
+
+- Sven Pistre, for originally developing the nice package [`cleveref-usedon`](https://ctan.org/pkg/cleveref-usedon), and for the friendly discussions with him that inspired many of the modifications later.
+- Ulrich Diez, for his help in a key step of the new configuration command.
+
+## License
+
+This work is released under the LaTeX Project Public License, v1.3c or later.
diff --git a/macros/latex/contrib/cleveref-forward/cleveref-forward.sty b/macros/latex/contrib/cleveref-forward/cleveref-forward.sty
new file mode 100644
index 0000000000..b40f53fd44
--- /dev/null
+++ b/macros/latex/contrib/cleveref-forward/cleveref-forward.sty
@@ -0,0 +1,936 @@
+%%
+%% Copyright (C) 2023-2024 by Jinwen XU
+%% ------------------------------------
+%%
+%% This package is derived from the package ``cleveref-usedon''.
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3c of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesExplPackage{cleveref-forward}
+ {2024/02/24} {}
+ {Forward-referencing functionality for cleveref}
+
+\keys_define:nn { cleveref-forward }
+ {
+ , 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 }
+
+ , crefthe .bool_set:N = \l__crfwd_crefthe_enabled_bool
+ , crefthe .initial:n = { false }
+
+ , unknown .code:n = { }
+ }
+\ProcessKeyOptions [ cleveref-forward ]
+
+\RequirePackage { cleveref }
+\bool_if:NT \l__crfwd_crefthe_enabled_bool
+ {
+ \RequirePackage { crefthe }
+ }
+
+\newcommand*{\@setcpagerefrange}[3]{%
+ \@@setcpagerefrange{#1}{#2}{cref}{#3}}
+\newcommand*{\@setCpagerefrange}[3]{%
+ \@@setcpagerefrange{#1}{#2}{Cref}{#3}}
+\newcommand*{\@setlabelcpagerefrange}[3]{%
+ \@@setcpagerefrange{#1}{#2}{labelcref}{#3}}
+
+% Temporary 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%
+ \expandafter\expandafter\expandafter\def%
+ \expandafter\expandafter\expandafter#2%
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@firstoffive#2}}% <-------- five
+\def\cpageref@getref#1#2{%
+ \expandafter\let\expandafter#2\csname r@#1@cref\endcsname%
+ \expandafter\expandafter\expandafter\def%
+ \expandafter\expandafter\expandafter#2%
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@secondoffive#2}}% <----------- five
+\AtBeginDocument{%
+ \def\label@noarg#1{%
+ \cref@old@label{#1}%
+ \@bsphack%
+ \edef\@tempa{{page}{\the\c@page}}%
+ \setcounter{page}{1}%
+ \edef\@tempb{\thepage}%
+ \expandafter\setcounter\@tempa%
+ \cref@constructprefix{page}{\cref@result}%
+ \protected@write\@auxout{}%
+ {\string\newlabel{#1@cref}{{\cref@currentlabel}%
+ {[\@tempb][\arabic{page}][\cref@result]\thepage}{}{}{}}}% <----- five
+ \@esphack}%
+ \def\label@optarg[#1]#2{%
+ \cref@old@label{#2}%
+ \@bsphack%
+ \edef\@tempa{{page}{\the\c@page}}%
+ \setcounter{page}{1}%
+ \edef\@tempb{\thepage}%
+ \expandafter\setcounter\@tempa%
+ \cref@constructprefix{page}{\cref@result}%
+ \protected@edef\cref@currentlabel{%
+ \expandafter\cref@override@label@type%
+ \cref@currentlabel\@nil{#1}}%
+ \protected@write\@auxout{}%
+ {\string\newlabel{#2@cref}{{\cref@currentlabel}%
+ {[\@tempb][\arabic{page}][\cref@result]\thepage}{}{}{}}}% <------- five
+ \@esphack}%
+}
+
+\prg_generate_conditional_variant:Nnn \str_case:nn { x } { T, TF }
+\cs_generate_variant:Nn \str_case:nn { x }
+
+\seq_new:N \g__crfwd_k_seq
+\prop_new:N \g__crfwd_kv_prop
+\clist_new:N \g__crfwd_options_clist
+\clist_set:Nn \g__crfwd_options_clist { UsedOn, UsedBy, UsedByAndOn }
+
+\cs_new:Nn \__crfwd_usedon_message_text:n { }
+\cs_new:Nn \__crfwd_usedby_message_text:n { }
+\cs_new:Nn \__crfwd_usedbyandon_message_text:nn { }
+\NewDocumentCommand \UsedOnMessageText { m } { \__crfwd_usedon_message_text:n { #1 } }
+\NewDocumentCommand \UsedByMessageText { m } { \__crfwd_usedby_message_text:n { #1 } }
+\NewDocumentCommand \UsedByAndOnMessageText { m m } { \__crfwd_usedbyandon_message_text:nn { #1 } { #2 } }
+% Alternative names
+\NewDocumentCommand \UsedOnMessageContent { m } { \__crfwd_usedon_message_text:n { #1 } }
+\NewDocumentCommand \UsedByMessageContent { m } { \__crfwd_usedby_message_text:n { #1 } }
+\NewDocumentCommand \UsedByAndOnMessageContent { m m } { \__crfwd_usedbyandon_message_text:nn { #1 } { #2 } }
+
+\NewDocumentCommand \SetUsedOnMessageText { m }
+ {
+ \cs_set:Nn \__crfwd_usedon_message_text:n { #1 }
+ }
+\NewDocumentCommand \SetUsedByMessageText { m }
+ {
+ \cs_set:Nn \__crfwd_usedby_message_text:n { #1 }
+ }
+\NewDocumentCommand \SetUsedByAndOnMessageText { m }
+ {
+ \cs_set:Nn \__crfwd_usedbyandon_message_text:nn { #1 }
+ }
+% Alternative names
+\NewDocumentCommand \SetUsedOnMessageContent { m }
+ {
+ \cs_set:Nn \__crfwd_usedon_message_text:n { #1 }
+ }
+\NewDocumentCommand \SetUsedByMessageContent { m }
+ {
+ \cs_set:Nn \__crfwd_usedby_message_text:n { #1 }
+ }
+\NewDocumentCommand \SetUsedByAndOnMessageContent { m }
+ {
+ \cs_set:Nn \__crfwd_usedbyandon_message_text:nn { #1 }
+ }
+
+\RequirePackage { iflang }
+
+% The default text
+\SetUsedOnMessageText { (Used~on~#1.) }
+\SetUsedByMessageText { (Used~by~#1.) }
+\SetUsedByAndOnMessageText { (Used~by~#1~on~#2.) }
+
+\cs_new:Nn \__crfwd_usedon_message:n { }
+\NewDocumentCommand \UsedOnMessage { m } { \__crfwd_usedon_message:n { #1 } }
+\cs_new:Nn \__crfwd_usedby_message:n { }
+\NewDocumentCommand \UsedByMessage { m } { \__crfwd_usedby_message:n { #1 } }
+\cs_new:Nn \__crfwd_usedbyandon_message:nn { }
+\NewDocumentCommand \UsedByAndOnMessage { m m } { \__crfwd_usedbyandon_message:nn { #1 } { #2 } }
+
+\cs_new:Nn \__crfwd_usedon_message_math:n { }
+\NewCommandCopy \UsedOnMessageMath \__crfwd_usedon_message_math:n
+\cs_new:Nn \__crfwd_usedby_message_math:n { }
+\NewCommandCopy \UsedByMessageMath \__crfwd_usedby_message_math:n
+\cs_new:Nn \__crfwd_usedbyandon_message_math:nn { }
+\NewCommandCopy \UsedByAndOnMessageMath \__crfwd_usedbyandon_message_math:nn
+\cs_new:Nn \__crfwd_usedon_message_inside_math:n { }
+\NewDocumentCommand \UsedOnMessageInsideMath { m } { \__crfwd_usedon_message_inside_math:n { #1 } }
+\cs_new:Nn \__crfwd_usedby_message_inside_math:n { }
+\NewDocumentCommand \UsedByMessageInsideMath { m } { \__crfwd_usedby_message_inside_math:n { #1 } }
+\cs_new:Nn \__crfwd_usedbyandon_message_inside_math:nn { }
+\NewDocumentCommand \UsedByAndOnMessageInsideMath { m m } { \__crfwd_usedbyandon_message_inside_math:nn { #1 } { #2 } }
+\cs_new:Nn \__crfwd_usedon_message_outside_math:n { }
+\NewDocumentCommand \UsedOnMessageOutsideMath { m } { \__crfwd_usedon_message_outside_math:n { #1 } }
+\cs_new:Nn \__crfwd_usedby_message_outside_math:n { }
+\NewDocumentCommand \UsedByMessageOutsideMath { m } { \__crfwd_usedby_message_outside_math:n { #1 } }
+\cs_new:Nn \__crfwd_usedbyandon_message_outside_math:nn { }
+\NewDocumentCommand \UsedByAndOnMessageOutsideMath { m m } { \__crfwd_usedbyandon_message_outside_math:nn { #1 } { #2 } }
+
+\tl_new:N \g__crfwd_tmpa_tl
+\NewDocumentCommand \SetUsedOnMessageStyle { m }
+ {
+ % \cs_set:Nn \__crfwd_usedon_message:n { #1 }
+ \cs_set:Npn \__crfwd_usedon_message:n ##1 { \cs_set:Nn \__crfwd_usedon_message:n { #1 } }
+ \__crfwd_usedon_message:n { \UsedOnMessageText{##1} }
+ }
+\NewDocumentCommand \SetUsedByMessageStyle { m }
+ {
+ \cs_set:Npn \__crfwd_usedby_message:n ##1 { \cs_set:Nn \__crfwd_usedby_message:n { #1 } }
+ \__crfwd_usedby_message:n { \UsedByMessageText{##1} }
+ }
+\NewDocumentCommand \SetUsedByAndOnMessageStyle { m }
+ {
+ \cs_set:Npn \__crfwd_usedbyandon_message:nn ##1 { \cs_set:Nn \__crfwd_usedbyandon_message:nn { #1 } }
+ \__crfwd_usedbyandon_message:nn { \UsedByAndOnMessageText{##1}{##2} }
+ }
+\bool_new:N \g__crfwd_inside_math_bool
+\NewDocumentCommand \SetUsedOnMessageStyleInsideMath { m }
+ {
+ \bool_set_true:N \g__crfwd_inside_math_bool
+ \cs_set:Npn \__crfwd_usedon_message_inside_math:n ##1 { \cs_set:Nn \__crfwd_usedon_message_inside_math:n { #1 } }
+ \__crfwd_usedon_message_inside_math:n { \UsedOnMessageText{##1} }
+ }
+\NewDocumentCommand \SetUsedByMessageStyleInsideMath { m }
+ {
+ \bool_set_true:N \g__crfwd_inside_math_bool
+ \cs_set:Npn \__crfwd_usedby_message_inside_math:n ##1 { \cs_set:Nn \__crfwd_usedby_message_inside_math:n { #1 } }
+ \__crfwd_usedby_message_inside_math:n { \UsedByMessageText{##1} }
+ }
+\NewDocumentCommand \SetUsedByAndOnMessageStyleInsideMath { m }
+ {
+ \bool_set_true:N \g__crfwd_inside_math_bool
+ \cs_set:Npn \__crfwd_usedbyandon_message_inside_math:nn ##1 { \cs_set:Nn \__crfwd_usedbyandon_message_inside_math:nn { #1 } }
+ \__crfwd_usedbyandon_message_inside_math:nn { \UsedByAndOnMessageText{##1}{##2} }
+ }
+
+\clist_new:N \l__crfwd_supported_equation_env_clist
+\clist_set:Nn \l__crfwd_supported_equation_env_clist
+ {
+ equation,
+ align, flalign, alignat,
+ gather,
+ multline,
+ dmath,
+ }
+\cs_new:Nn \__crfwd_message_outsidemath_hook_gremove_code:nn
+ {
+ \clist_map_inline:Nn \l__crfwd_supported_equation_env_clist
+ {
+ \hook_gremove_code:nn { env/##1/#1 } { cleveref-forward- #2 -message-outsidemath }
+ }
+ }
+\cs_new:Nn \__crfwd_message_outsidemath_hook_gput_code:nnn
+ {
+ \clist_map_inline:Nn \l__crfwd_supported_equation_env_clist
+ {
+ \hook_gput_code:nnn { env/##1/#1 } { cleveref-forward- #2 -message-outsidemath } { #3 }
+ }
+ }
+\cs_new:Nn \__crfwd_message_outsidemath_hook_gset_rule:nnnn
+ {
+ \clist_map_inline:Nn \l__crfwd_supported_equation_env_clist
+ {
+ \hook_gset_rule:nnnn { env/##1/#1 } { cleveref-forward- #2 -message-outsidemath } { #3 } { cleveref-forward- #4 -message-outsidemath }
+ }
+ }
+\__crfwd_message_outsidemath_hook_gput_code:nnn { before } { UsedOn } { }
+\__crfwd_message_outsidemath_hook_gput_code:nnn { before } { UsedBy } { }
+\__crfwd_message_outsidemath_hook_gput_code:nnn { before } { UsedByAndOn } { }
+\__crfwd_message_outsidemath_hook_gput_code:nnn { after } { UsedOn } { }
+\__crfwd_message_outsidemath_hook_gput_code:nnn { after } { UsedBy } { }
+\__crfwd_message_outsidemath_hook_gput_code:nnn { after } { UsedByAndOn } { }
+\NewDocumentCommand \SetUsedOnMessageStyleOutsideMath { m }
+ {
+ \bool_set_false:N \g__crfwd_inside_math_bool
+ \RenewDocumentCommand \UsedOnMessageOutsideMath { m }
+ {
+ \__crfwd_message_outsidemath_hook_gset_rule:nnnn { after } { UsedOn } { voids } { UsedBy }
+ \__crfwd_message_outsidemath_hook_gset_rule:nnnn { after } { UsedOn } { voids } { UsedByAndOn }
+ \tl_gset:Ne \g__crfwd_tmpa_tl { ##1 }
+ }
+ \cs_set:Npn \__crfwd_usedon_message_outside_math:n ##1
+ {
+ \cs_set:Nn \__crfwd_usedon_message_outside_math:n
+ {
+ \bool_if:NF \g__crfwd_label_no_use_bool
+ {
+ \tl_if_empty:NF \g__crfwd_tmpa_tl
+ {
+ #1
+ }
+ }
+ }
+ }
+ \__crfwd_usedon_message_outside_math:n { \UsedOnMessageText{##1} }
+ \__crfwd_message_outsidemath_hook_gremove_code:nn { before } { UsedOn }
+ \__crfwd_message_outsidemath_hook_gput_code:nnn { before } { UsedOn }
+ {
+ \tl_gclear:N \g__crfwd_tmpa_tl
+ }
+ \__crfwd_message_outsidemath_hook_gremove_code:nn { after } { UsedOn }
+ \__crfwd_message_outsidemath_hook_gput_code:nnn { after } { UsedOn }
+ {
+ \__crfwd_usedon_message_outside_math:n { \tl_use:N \g__crfwd_tmpa_tl }
+ }
+ }
+\NewDocumentCommand \SetUsedByMessageStyleOutsideMath { m }
+ {
+ \bool_set_false:N \g__crfwd_inside_math_bool
+ \RenewDocumentCommand \UsedByMessageOutsideMath { m }
+ {
+ \__crfwd_message_outsidemath_hook_gset_rule:nnnn { after } { UsedBy } { voids } { UsedOn }
+ \__crfwd_message_outsidemath_hook_gset_rule:nnnn { after } { UsedBy } { voids } { UsedByAndOn }
+ \tl_gset:Ne \g__crfwd_tmpa_tl { ##1 }
+ }
+ \cs_set:Npn \__crfwd_usedby_message_outside_math:n ##1
+ {
+ \cs_set:Nn \__crfwd_usedby_message_outside_math:n
+ {
+ \bool_if:NF \g__crfwd_label_no_use_bool
+ {
+ \tl_if_empty:NF \g__crfwd_tmpa_tl
+ {
+ #1
+ }
+ }
+ }
+ }
+ \__crfwd_usedby_message_outside_math:n { \UsedByMessageText{##1} }
+ \__crfwd_message_outsidemath_hook_gremove_code:nn { before } { UsedBy }
+ \__crfwd_message_outsidemath_hook_gput_code:nnn { before } { UsedBy }
+ {
+ \tl_gclear:N \g__crfwd_tmpa_tl
+ }
+ \__crfwd_message_outsidemath_hook_gremove_code:nn { after } { UsedBy }
+ \__crfwd_message_outsidemath_hook_gput_code:nnn { after } { UsedBy }
+ {
+ \__crfwd_usedby_message_outside_math:n { \tl_use:N \g__crfwd_tmpa_tl }
+ }
+ }
+\NewDocumentCommand \SetUsedByAndOnMessageStyleOutsideMath { m }
+ {
+ \bool_set_false:N \g__crfwd_inside_math_bool
+ \RenewDocumentCommand \UsedByAndOnMessageOutsideMath { m m }
+ {
+ \__crfwd_message_outsidemath_hook_gset_rule:nnnn { after } { UsedByAndOn } { voids } { UsedOn }
+ \__crfwd_message_outsidemath_hook_gset_rule:nnnn { after } { UsedByAndOn } { voids } { UsedBy }
+ \tl_gset:Ne \g__crfwd_tmpa_tl { ##1 }
+ \tl_gset:Ne \g__crfwd_tmpb_tl { ##2 }
+ }
+ \cs_set:Npn \__crfwd_usedbyandon_message_outside_math:nn ##1
+ {
+ \cs_set:Nn \__crfwd_usedbyandon_message_outside_math:nn
+ {
+ \bool_if:NF \g__crfwd_label_no_use_bool
+ {
+ \tl_if_empty:NF \g__crfwd_tmpa_tl
+ {
+ #1
+ }
+ }
+ }
+ }
+ \__crfwd_usedbyandon_message_outside_math:nn { \UsedByAndOnMessageText{##1}{##2} }
+ \__crfwd_message_outsidemath_hook_gremove_code:nn { before } { UsedByAndOn }
+ \__crfwd_message_outsidemath_hook_gput_code:nnn { before } { UsedByAndOn }
+ {
+ \tl_gclear:N \g__crfwd_tmpa_tl
+ \tl_gclear:N \g__crfwd_tmpb_tl
+ }
+ \__crfwd_message_outsidemath_hook_gremove_code:nn { after } { UsedByAndOn }
+ \__crfwd_message_outsidemath_hook_gput_code:nnn { after } { UsedByAndOn }
+ {
+ \__crfwd_usedbyandon_message_outside_math:nn { \tl_use:N \g__crfwd_tmpa_tl } { \tl_use:N \g__crfwd_tmpb_tl }
+ }
+ }
+
+\NewDocumentCommand \SetForwardReferenceStyle { m }
+ {
+ \SetUsedOnMessageStyle { #1 }
+ \SetUsedByMessageStyle { #1 }
+ \SetUsedByAndOnMessageStyle { #1 }
+ }
+\NewDocumentCommand \SetForwardReferenceStyleInsideMath { m }
+ {
+ \SetUsedOnMessageStyleInsideMath { #1 }
+ \SetUsedByMessageStyleInsideMath { #1 }
+ \SetUsedByAndOnMessageStyleInsideMath { #1 }
+ }
+\NewDocumentCommand \SetForwardReferenceStyleOutsideMath { m }
+ {
+ \SetUsedOnMessageStyleOutsideMath { #1 }
+ \SetUsedByMessageStyleOutsideMath { #1 }
+ \SetUsedByAndOnMessageStyleOutsideMath { #1 }
+ }
+
+% The default style
+\SetForwardReferenceStyle
+ {
+ \emph{#1} \\[.3\baselineskip]
+ }
+\SetForwardReferenceStyleOutsideMath
+ {
+ \begin{flushright}
+ \emph{#1}
+ \end{flushright}
+ \vspace{.15\baselineskip}
+ }
+
+\cs_new:Nn \__crfwd_cref_adjusted:n { \cref{#1} }
+\cs_new:Nn \__crfwd_cpageref_adjusted:n { \cpageref{#1} }
+\cs_new:Npn \__crfwd_adjust_cref_user: { }
+\cs_new:Npn \__crfwd_adjust_cpageref_user: { }
+\NewDocumentCommand \SetForwardReferenceRefForm { m }
+ {
+ % \cs_set:Npn \__crfwd_cref_adjusted:n ##1 { #1{##1} }
+ \cs_set:Npn \__crfwd_adjust_cref_user:
+ {
+ \cs_set:Npn \__crfwd_cref_adjusted:n ####1 { #1{####1} }
+ }
+ }
+\NewDocumentCommand \SetForwardReferencePagerefForm { m }
+ {
+ % \cs_set:Npn \__crfwd_cpageref_adjusted:n ##1 { #1{##1} }
+ \cs_set:Npn \__crfwd_adjust_cpageref_user:
+ {
+ \cs_set:Npn \__crfwd_cpageref_adjusted:n ####1 { #1{####1} }
+ }
+ }
+\bool_if:NTF \l__crfwd_crefthe_enabled_bool
+ {
+ \AtBeginDocument
+ {
+ \addto\extrasfrench{\crefthename{page}[le]{page}[les]{pages}}
+ \addto\extrasspanish{\crefthename{page}[la]{página}[las]{páginas}}
+ }
+ \SetUsedOnMessageText
+ {
+ \IfLanguageName{english}
+ { (Used~on~#1.) } {}
+ \IfLanguageName{french}
+ { (Apparaît~en~#1.) } {}
+ \IfLanguageName{ngerman}
+ { (Wird~auf~#1.) } {}
+ \IfLanguageName{italian}
+ { (Appare~a~#1.) } {}
+ \IfLanguageName{spanish}
+ { (Aparece~en~#1.) } {}
+ }
+ \SetUsedByMessageText
+ {
+ \IfLanguageName{english}
+ { (Used~by~#1.) } {}
+ \IfLanguageName{french}
+ { (Apparaît~dans~#1.) } {}
+ \IfLanguageName{ngerman}
+ { (Wird~#1.) } {}
+ \IfLanguageName{italian}
+ { (Appare~#1.) } {}
+ \IfLanguageName{spanish}
+ { (Aparece~en~#1.) } {}
+ }
+ \SetUsedByAndOnMessageText
+ {
+ \IfLanguageName{english}
+ { (Used~by~#1~on~#2.) } {}
+ \IfLanguageName{french}
+ { (Apparaît~dans~#1~en~#2.) } {}
+ \IfLanguageName{ngerman}
+ { (Wird~#1~auf~#2.) } {}
+ \IfLanguageName{italian}
+ { (Appare~#1~a~#2.) } {}
+ \IfLanguageName{spanish}
+ { (Aparece~en~#1~en~#2.) } {}
+ }
+ \cs_new:Nn \__crfwd_adjust_cref_commands:
+ {
+ \IfLanguageName{english}
+ {
+ \cs_set:Npn \__crfwd_cref_adjusted:n ##1 { \cref{##1} }
+ \cs_set:Npn \__crfwd_cpageref_adjusted:n ##1 { \cpageref{##1} }
+ } {}
+ \IfLanguageName{french}
+ {
+ \cs_set:Npn \__crfwd_cref_adjusted:n ##1 { \crefthe{##1} }
+ \cs_set:Npn \__crfwd_cpageref_adjusted:n ##1 { \cpagerefthe[noun]{##1} }
+ } {}
+ \IfLanguageName{ngerman}
+ {
+ \cs_set:Npn \__crfwd_cref_adjusted:n ##1 { \crefthe[von,dat.]{##1} }
+ \cs_set:Npn \__crfwd_cpageref_adjusted:n ##1 { \cpagerefthe[noun]{##1} }
+ } {}
+ \IfLanguageName{italian}
+ {
+ \cs_set:Npn \__crfwd_cref_adjusted:n ##1 { \crefthe[in]{##1} }
+ \cs_set:Npn \__crfwd_cpageref_adjusted:n ##1 { \cpagerefthe[noun]{##1} }
+ } {}
+ \IfLanguageName{spanish}
+ {
+ \cs_set:Npn \__crfwd_cref_adjusted:n ##1 { \crefthe{##1} }
+ \cs_set:Npn \__crfwd_cpageref_adjusted:n ##1 { \cpagerefthe{##1} }
+ } {}
+ \__crfwd_adjust_cref_user:
+ \__crfwd_adjust_cpageref_user:
+ }
+ }
+ {
+ \cs_new:Nn \__crfwd_adjust_cref_commands:
+ {
+ \cs_set:Npn \__crfwd_cref_adjusted:n ##1 { \cref{##1} }
+ \cs_set:Npn \__crfwd_cpageref_adjusted:n ##1 { \cpageref{##1} }
+ \__crfwd_adjust_cref_user:
+ \__crfwd_adjust_cpageref_user:
+ }
+ }
+
+\cs_new:Nn \__crfwd_printer_generic:nnn
+ {
+ % Check if the reference #1@<LabelName>@1 exists
+ % Here the @1 means that <LabelName> has been referenced
+ % with option #1 at least once where #1 is
+ % 'UsedOn', 'UsedBy' or 'UsedByAndOn'
+ \cs_if_exist:cT {r@#1@#2@1}
+ {
+ % In a tmp clist we store all the references of the form
+ % `<Option>@<LabelName>@<Number>`
+ % where Number between 1 and \value{LastRun@UsedOn@<LabelName>}
+ % if the latter exists, otherwise until 1
+ % Should/will normally need two consecutive runs of pdflatex
+ \cs_if_free:cTF {c@LastRun@#1@#2}
+ { \int_set:Nn \l_tmpa_int { 1 } }
+ { \int_set:Nn \l_tmpa_int { \value{LastRun@#1@#2} } }
+ \int_set:Nn \l_tmpb_int { 1 }
+ \int_while_do:nn { \l_tmpb_int <= \l_tmpa_int }
+ {
+ \clist_put_right:Nx \l_tmpa_clist { #1@#2@\int_use:N \l_tmpb_int }
+ \int_incr:N \l_tmpb_int
+ }
+ #3
+ }
+ }
+\cs_new:Nn \__crfwd_printer:nn
+ {
+ \__crfwd_adjust_cref_commands:
+ \__crfwd_printer_generic:nnn { #1 } { #2 }
+ {
+ % Print `UsedOn` message by calling \cpageref with the parameter clist above
+ % Uncomment the next two lines for debugging to see the contents of \l_tmpa_clist
+ %% Arguments~of~cpageref/cref~are:
+ %% \par\clist_use:Nn \l_tmpa_clist {\par}\par
+ \str_case:xn { \str_foldcase:n { #1 } }
+ {
+ {used-on} { \UsedOnMessage { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used~on} { \UsedOnMessage { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used on} { \UsedOnMessage { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {uo} { \UsedOnMessage { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used-by} { \UsedByMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } }
+ {used~by} { \UsedByMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } }
+ {used by} { \UsedByMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } }
+ {ub} { \UsedByMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } }
+ {used-by-and-on} { \UsedByAndOnMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used~by~and~on} { \UsedByAndOnMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used by and on} { \UsedByAndOnMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {ubao} { \UsedByAndOnMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {ubo} { \UsedByAndOnMessage { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ }
+ }
+ }
+\cs_new:Nn \__crfwd_printer_math:nn
+ {
+ \__crfwd_adjust_cref_commands:
+ \__crfwd_printer_generic:nnn { #1 } { #2 }
+ {
+ % Print `UsedOn` message by calling \cpageref with the parameter clist above
+ % Uncomment the next two lines for debugging to see the contents of \l_tmpa_clist
+ %% Arguments~of~cpageref/cref~are:
+ %% \par\clist_use:Nn \l_tmpa_clist {\par}\par
+ \bool_if:NTF \g__crfwd_inside_math_bool
+ {
+ \RenewCommandCopy \UsedOnMessageMath \UsedOnMessageInsideMath
+ \RenewCommandCopy \UsedByMessageMath \UsedByMessageInsideMath
+ \RenewCommandCopy \UsedByAndOnMessageMath \UsedByAndOnMessageInsideMath
+ }
+ {
+ \RenewCommandCopy \UsedOnMessageMath \UsedOnMessageOutsideMath
+ \RenewCommandCopy \UsedByMessageMath \UsedByMessageOutsideMath
+ \RenewCommandCopy \UsedByAndOnMessageMath \UsedByAndOnMessageOutsideMath
+ }
+ \str_case:xn { \str_foldcase:n { #1 } }
+ {
+ {used-on} { \UsedOnMessageMath { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used~on} { \UsedOnMessageMath { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used on} { \UsedOnMessageMath { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {uo} { \UsedOnMessageMath { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used-by} { \UsedByMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } }
+ {used~by} { \UsedByMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } }
+ {used by} { \UsedByMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } }
+ {ub} { \UsedByMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } }
+ {used-by-and-on} { \UsedByAndOnMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used~by~and~on} { \UsedByAndOnMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {used by and on} { \UsedByAndOnMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {ubao} { \UsedByAndOnMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ {ubo} { \UsedByAndOnMessageMath { \__crfwd_cref_adjusted:n { \l_tmpa_clist } } { \__crfwd_cpageref_adjusted:n { \l_tmpa_clist } } }
+ }
+ }
+ }
+
+\cs_new:Nn \__crfwd_print_message:n
+ {
+ \clist_map_inline:Nn \g__crfwd_options_clist
+ {
+ \__crfwd_printer:nn { ##1 } { #1 }
+ }
+ }
+\cs_new:Nn \__crfwd_print_message_math:n
+ {
+ \clist_map_inline:Nn \g__crfwd_options_clist
+ {
+ \__crfwd_printer_math:nn { ##1 } { #1 }
+ }
+ }
+
+\str_new:N \l__crfwd_option_str
+\msg_new:nnn {cleveref-forward} { unrecognised-option }
+ {
+ Unrecognised~option~`#1'.
+ }
+\NewDocumentCommand \__crfwd_processor:w { o m }
+ {
+ \IfValueT { #1 }
+ {
+ \str_case:xnTF { \str_foldcase:n { #1 } }
+ {
+ % check if options 'UsedOn', 'UsedBy' or 'UsedByAndOn'
+ % (case-insensitive) were used in one of the following forms
+ {used-on} { \str_set:Nn \l__crfwd_option_str {UsedOn} }
+ {used~on} { \str_set:Nn \l__crfwd_option_str {UsedOn} }
+ {used on} { \str_set:Nn \l__crfwd_option_str {UsedOn} }
+ {uo} { \str_set:Nn \l__crfwd_option_str {UsedOn} }
+ {used-by} { \str_set:Nn \l__crfwd_option_str {UsedBy} }
+ {used~by} { \str_set:Nn \l__crfwd_option_str {UsedBy} }
+ {used by} { \str_set:Nn \l__crfwd_option_str {UsedBy} }
+ {ub} { \str_set:Nn \l__crfwd_option_str {UsedBy} }
+ {used-by-and-on} { \str_set:Nn \l__crfwd_option_str {UsedByAndOn} }
+ {used~by~and~on} { \str_set:Nn \l__crfwd_option_str {UsedByAndOn} }
+ {used by and on} { \str_set:Nn \l__crfwd_option_str {UsedByAndOn} }
+ {ubao} { \str_set:Nn \l__crfwd_option_str {UsedByAndOn} }
+ {ubo} { \str_set:Nn \l__crfwd_option_str {UsedByAndOn} }
+ }
+ {
+ {
+ % Loop through (potential) label list in arg of \cref (or \Cref)
+ \seq_set_from_clist:Nn \l_tmpa_seq { #2 }
+ \seq_map_inline:Nn \l_tmpa_seq
+ {
+ % if the label has not been referenced yet,
+ % create a counter for the current and last run and save the label in the
+ % global container \g_@@_k_seq
+ \seq_if_in:NxF \g__crfwd_k_seq { \l__crfwd_option_str @##1 }
+ {
+ \newcounter{ ThisRun@ \l__crfwd_option_str @##1 }
+ \cs_if_free:cT {c@LastRun@ \l__crfwd_option_str @##1}
+ {
+ \newcounter{LastRun@ \l__crfwd_option_str @##1}
+ }
+ \seq_gput_right:Nx \g__crfwd_k_seq
+ { \l__crfwd_option_str @##1}
+ }
+ % increase the counters and compare with max counter
+ \stepcounter{ThisRun@ \l__crfwd_option_str @##1}
+ \setcounter{LastRun@ \l__crfwd_option_str @##1}
+ {
+ \fp_eval:n
+ {
+ max(
+ \value{ThisRun@ \l__crfwd_option_str @##1} ,
+ \value{LastRun@ \l__crfwd_option_str @##1}
+ )
+ }
+ }
+ % store the value in global key-value property list
+ \prop_gput:Nxx \g__crfwd_kv_prop
+ { \l__crfwd_option_str @##1}
+ {\arabic{LastRun@ \l__crfwd_option_str @##1}}
+ % create a label for the UsedOn reference and number this label
+ \__crfwd_orig_label:w
+ {
+ \l__crfwd_option_str @##1@
+ \arabic{ThisRun@ \l__crfwd_option_str @##1}
+ }
+ }
+ }
+ }
+ {
+ \msg_warning:nnn { cleveref-forward } { unrecognised-option } { #1 }
+ }
+ }
+ }
+\bool_new:N \g__crfwd_ref_no_use_bool
+\bool_new:N \l__crfwd_option_has_been_chosen_bool
+\clist_new:N \l__crfwd_local_options_clist
+\cs_new:Nn \__crfwd_define_from_orig_:NN
+ {
+ \NewDocumentCommand #1 { s o m }
+ {
+ \IfValueTF { ##2 }
+ {
+ \bool_set_false:N \l__crfwd_option_has_been_chosen_bool
+ \bool_set_false:N \g__crfwd_ref_no_use_bool
+ \clist_set:Nn \l__crfwd_local_options_clist { ##2 }
+ \clist_put_right:No \l__crfwd_local_options_clist { \l__crfwd_default_package_option_tl }
+ \clist_map_inline:Nn \l__crfwd_local_options_clist
+ {
+ \str_case:xnT { \str_foldcase:n { ####1 } }
+ {
+ {no-use} {}
+ {no~use} {}
+ {no use} {}
+ {not-use} {}
+ {not~use} {}
+ {not use} {}
+ }
+ {
+ \clist_remove_all:Nn \l__crfwd_local_options_clist { ####1 }
+ \bool_gset_true:N \g__crfwd_ref_no_use_bool
+ }
+ }
+ \clist_map_inline:Nn \l__crfwd_local_options_clist
+ {
+ \str_case:xnT { \str_foldcase:n { ####1 } }
+ {
+ {used-on} {}
+ {used~on} {}
+ {used on} {}
+ {uo} {}
+ {used-by} {}
+ {used~by} {}
+ {used by} {}
+ {ub} {}
+ {used-by-and-on} {}
+ {used~by~and~on} {}
+ {used by and on} {}
+ {ubao} {}
+ {ubo} {}
+ }
+ {
+ \clist_remove_all:Nn \l__crfwd_local_options_clist { ####1 }
+ \bool_if:NF \l__crfwd_option_has_been_chosen_bool
+ {
+ \bool_if:NF \g__crfwd_ref_no_use_bool
+ {
+ \__crfwd_processor:w [ ####1 ] { ##3 }
+ }
+ }
+ \bool_set_true:N \l__crfwd_option_has_been_chosen_bool
+ }
+ }
+ \clist_if_empty:NTF \l__crfwd_local_options_clist
+ {
+ \IfBooleanTF { ##1 } { #2*{##3} } { #2{##3} }
+ }
+ {
+ \IfBooleanTF { ##1 } { #2*[\l__crfwd_local_options_clist]{##3} } { #2[\l__crfwd_local_options_clist]{##3} }
+ }
+ }
+ {
+ \tl_if_blank:VF \l__crfwd_default_package_option_tl
+ {
+ \clist_clear:N \l__crfwd_local_options_clist
+ \clist_put_right:No \l__crfwd_local_options_clist { \l__crfwd_default_package_option_tl }
+ \clist_map_inline:Nn \l__crfwd_local_options_clist
+ {
+ \__crfwd_processor:w [ ####1 ] { ##3 }
+ }
+ }
+ \IfBooleanTF { ##1 } { #2*{##3} } { #2{##3} }
+ }
+ }
+ }
+\__crfwd_define_from_orig_:NN \__crfwd_cref:w \__crfwd_orig_cref:w
+\__crfwd_define_from_orig_:NN \__crfwd_Cref:w \__crfwd_orig_Cref:w
+\__crfwd_define_from_orig_:NN \__crfwd_labelcref:w \__crfwd_orig_labelcref:w
+\cs_new:Npn \__crfwd_read_from_aux:
+ {
+ \prop_map_inline:Nn \g__crfwd_kv_prop
+ {
+ \newcounter{LastRun@##1}
+ \setcounter{LastRun@##1}{##2}
+ }
+ }
+\cs_new:Npn \__crfwd_write_to_aux:
+ {
+ % First, we clear the global key-value prop list \cs{g_@@_kv_prop} and
+ % then we rebuild it with the information from the current run.
+ \prop_clear:N \g__crfwd_kv_prop
+ \seq_map_inline:Nn \g__crfwd_k_seq
+ { \prop_gput:Nxx \g__crfwd_kv_prop {##1}{\arabic{ThisRun@##1}} }
+ % Turn on |expl3| functionality in .aux file.
+ \iow_now:cx { @auxout }
+ { \token_to_str:N \ExplSyntaxOn }
+ % Loop through the key-val |proplist| and write contents to .aux file.
+ \prop_map_inline:Nn \g__crfwd_kv_prop
+ {
+ \tl_set:Nn \l_tmpa_tl { ##1 }
+ \tl_replace_all:Nnn \l_tmpa_tl { ~ } { \c_tilde_str }
+ \iow_now:cx { @auxout }
+ {
+ \prop_gput_from_keyval:Nn \token_to_str:N \g__crfwd_kv_prop
+ { {\l_tmpa_tl} = ##2 }
+ }
+ }
+ % Turn off |expl3| functionality in .aux file.
+ \iow_now:cx { @auxout }
+ { \token_to_str:N \ExplSyntaxOff }
+}%
+
+\RequirePackage { regexpatch }
+\@namedef{ver@xpatch.sty}{}
+
+\hook_gput_code:nnn { begindocument/end } { cleveref-forward }
+ {
+ \__crfwd_read_from_aux:
+ \cs_if_exist:NF \label@in@display { \NewCommandCopy \label@in@display \label }
+ \NewCommandCopy \__crfwd_orig_label_in_display:w \label@in@display
+ \NewCommandCopy \__crfwd_orig_label:w \label
+ \NewCommandCopy \__crfwd_orig_cref:w \cref
+ \NewCommandCopy \__crfwd_orig_Cref:w \Cref
+ \NewCommandCopy \__crfwd_orig_labelcref:w \labelcref
+ \bool_new:N \g__crfwd_label_no_use_bool
+ \prop_new:N \g__crfwd_label_prop
+ \cs_new:Nn \__crfwd_label_generic:nnn
+ % #1 = optional argument of \label
+ % #2 = mandatory argument of \label
+ % #3 = the varying part
+ {
+ \bool_gset_false:N \g__crfwd_label_no_use_bool
+ \prop_gput:Nno \g__crfwd_label_prop { #2 } { \cref@currentlabel }
+ \clist_clear:N \l__crfwd_local_options_clist
+ \IfValueT { #1 }
+ {
+ \clist_set:Nn \l__crfwd_local_options_clist { #1 }
+ }
+ \clist_map_inline:Nn \l__crfwd_local_options_clist
+ {
+ \str_case:xnT { \str_foldcase:n { ##1 } }
+ {
+ {no-use} {}
+ {no~use} {}
+ {no use} {}
+ {not-use} {}
+ {not~use} {}
+ {not use} {}
+ }
+ {
+ \clist_remove_all:Nn \l__crfwd_local_options_clist { ##1 }
+ \bool_gset_true:N \g__crfwd_label_no_use_bool
+ }
+ }
+ #3
+ }
+ \RenewDocumentCommand \label { o m }
+ {
+ \__crfwd_label_generic:nnn { #1 } { #2 }
+ {
+ \if_mode_math: % this is for environments that do not use \label@in@display
+ \clist_if_empty:NTF \l__crfwd_local_options_clist
+ {
+ \__crfwd_orig_label_in_display:w { #2 }
+ }
+ {
+ \__crfwd_orig_label_in_display:w [ \l__crfwd_local_options_clist ] { #2 }
+ }
+ \bool_if:NF \g__crfwd_label_no_use_bool
+ {
+ \__crfwd_print_message:n { #2 }
+ }
+ \else:
+ \clist_if_empty:NTF \l__crfwd_local_options_clist
+ {
+ \__crfwd_orig_label:w { #2 }
+ }
+ {
+ \__crfwd_orig_label:w [ \l__crfwd_local_options_clist ] { #2 }
+ }
+ \bool_if:NF \g__crfwd_label_no_use_bool
+ {
+ \__crfwd_print_message:n { #2 }
+ }
+ \fi:
+ }
+ }
+ \RenewDocumentCommand \label@in@display { o m }
+ {
+ \__crfwd_label_generic:nnn { #1 } { #2 }
+ {
+ \clist_if_empty:NTF \l__crfwd_local_options_clist
+ {
+ \__crfwd_orig_label_in_display:w { #2 }
+ }
+ {
+ \__crfwd_orig_label_in_display:w [ \l__crfwd_local_options_clist ] { #2 }
+ }
+ \bool_if:NF \g__crfwd_label_no_use_bool
+ {
+ \__crfwd_print_message_math:n { #2 }
+ }
+ }
+ }
+ \NewDocumentCommand \label@gobble { o m }
+ {
+ \__crfwd_label_generic:nnn { #1 } { #2 }
+ {
+ \bool_if:NF \g__crfwd_label_no_use_bool
+ {
+ \__crfwd_print_message_math:n { #2 }
+ }
+ }
+ }
+ \makeatletter
+ \xpatchcmd{\multline@}{\let\label\cref@gobble@optarg}{\let\label\label@gobble}{}{}
+ \makeatother
+ \NewDocumentCommand \restorelabel { m }
+ {
+ \prop_if_in:NnTF \g__crfwd_label_prop { #1 }
+ {
+ \prop_get:NnN \g__crfwd_label_prop { #1 } \l_tmpa_tl
+ \RenewCommandCopy \cref@currentlabel \l_tmpa_tl
+ }
+ {
+ \msg_new:nnn {cleveref-forward} { label-not-exist }
+ {
+ The~label~`##1'~does~not~exist.
+ }
+ \msg_fatal:nnn { cleveref-forward } { label-not-exist } { #1 }
+ }
+ }
+ \RenewCommandCopy \cref \__crfwd_cref:w
+ \RenewCommandCopy \Cref \__crfwd_Cref:w
+ \RenewCommandCopy \labelcref \__crfwd_labelcref:w
+ }
+\hook_gput_code:nnn { enddocument } { cleveref-forward }
+ {
+ \__crfwd_write_to_aux:
+ }
+\endinput
+%%
+%% End of file `cleveref-forward.sty'.
diff --git a/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf b/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.pdf
new file mode 100644
index 0000000000..1c7bfaedba
--- /dev/null
+++ 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
new file mode 100644
index 0000000000..8c3595ce26
--- /dev/null
+++ b/macros/latex/contrib/cleveref-forward/demo/cleveref-forward-demo.tex
@@ -0,0 +1,504 @@
+\documentclass[
+ use style = plain,
+ title in boldface,
+ % title in sffamily,
+ emphasize theorems,
+ simple name, % not suitable for French, German, etc.
+ name in link,
+]{einfart}
+\usepackage{ProjLib}
+
+\usepackage[crefthe]{cleveref-forward}
+\usepackage{changepage,todonotes,marginnote}
+
+%%================================
+%% For typesetting code
+%%================================
+\usepackage{listings}
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+ language = [LaTeX]TeX,
+ basicstyle = \ttfamily,
+ keywordstyle = \color{code-main},
+ commentstyle = \color{code-comment},
+ showstringspaces = false,
+ breaklines = true,
+ frame = lines,
+ backgroundcolor = \color{code-background},
+ flexiblecolumns = true,
+ escapeinside = {(*}{*)},
+ alsoletter = {_,:},
+ % numbers = left,
+ % firstnumber = last,
+ numberstyle = \scriptsize\ttfamily,
+ stepnumber = 1,
+ numbersep = 5pt,
+}
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+ classoffset = 0,
+ texcsstyle =* \color{code-main},
+ moretexcs =
+ {
+ ExplSyntaxOn,ExplSyntaxOff,
+ NewDocumentCommand,NewDocumentEnvironment,
+ cref,Cref,
+ crefthe,Crefthe,
+ cpageref,
+ cpagerefthe,
+ namecref,nameCref,
+ labelcref,labelCref,
+ restorelabel,
+ SetUsedOnMessageText,
+ SetUsedByMessageText,
+ SetUsedByAndOnMessageText,
+ SetForwardReferenceStyle,
+ SetForwardReferenceStyleInsideMath,
+ SetForwardReferenceStyleOutsideMath,
+ SetForwardReferenceRefForm,
+ SetForwardReferencePagerefForm,
+ todo,
+ marginnote,
+ }
+}
+\lstset{% LaTeX3 commands
+ classoffset = 1,
+ texcsstyle =* \color{code-expl3},
+ moretexcs =
+ {
+ tl_new:N,
+ tl_set:Nn,
+ cs_undefine:c,
+ }
+}
+\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}}}
+
+%%================================
+%% tip
+%%================================
+\usepackage[many]{tcolorbox}
+\newenvironment{tip}[1][Tip]
+ {%
+ \LocallyStopLineNumbers%
+ \begin{tcolorbox}[breakable,
+ enhanced,
+ width = \textwidth,
+ colback = paper, colbacktitle = paper,
+ colframe = gray!50, boxrule=0.2mm,
+ coltitle = black,
+ fonttitle = \sffamily,
+ attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=.5cm},
+ boxed title style = {boxrule=0pt, colframe=paper},
+ before skip = 3mm,
+ after skip = 3mm,
+ top = 2.5mm,
+ bottom = 1.5mm,
+ title={\scshape\sffamily #1}]%
+ }
+ {%
+ \end{tcolorbox}%
+ \ResumeLineNumbers%
+ }
+
+
+\title{Demonstration on the usage and configuration of \textquote{\textsf{cleveref-forward}}}
+\author{}
+\date{\today[only-year-month]}
+
+\begin{document}
+
+\maketitle
+
+\section{With the default configuration}
+
+\subsection{Theorem-like environments}
+
+\begin{lemma}\label{lem:result}
+ Some preliminary result (see the equation \labelcref[used by]{eq:1}).
+\end{lemma}
+
+\begin{theorem}\label{thm:test}
+ Text.
+\end{theorem}
+\begin{proof}\restorelabel{thm:test} % Notice the use of \restorelabel here
+ Some proof that involves the \cref[used by]{lem:result} and the equations \labelcref[used by and on]{eq:Euler}, \labelcref[used by]{eq:1,eq:2} in the next section. Here, \lstinline|\restorelabel| makes sure that this \texttt{proof} environment is being recognized as the theorem itself.
+\end{proof}
+
+\subsection{Equations}
+
+By default, the forward referencing infomation is placed immediately after the equation.
+
+\begin{equation}\label{eq:Euler}
+ \mathrm{e}^{\mathrm{i}\pi} + 1 = 0.
+\end{equation}
+
+However, with this method, for multilined equations with multiple references, only the last reference will be shown:
+\begin{align}
+ 1 &= 0 + 1 \label{eq:1}\\
+ 2 &= 1 + 1 \label{eq:2}
+\end{align}
+
+This can be overcome if you are willing to place the text message in the margin, see the section on customization.
+
+\subsection{Other types}
+
+It can also be used for some other types, such as items in \texttt{enumerate} list, as long as \textsf{cleveref} is properly configured for that type.
+
+\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.
+
+
+\section{Customizations}
+
+\begingroup
+
+Here is how you change the appearing text:
+
+\begin{code}
+\SetUsedOnMessageText{Appears on~#1.}
+\SetUsedByMessageText{Appears in~#1.}
+\SetUsedByAndOnMessageText{Appears in~#1 on~#2.}
+\end{code}
+
+\SetUsedOnMessageText{Appears on~#1.}
+\SetUsedByMessageText{Appears in~#1.}
+\SetUsedByAndOnMessageText{Appears in~#1 on~#2.}
+
+\bigskip
+And here is an example of setting the message style with \textsf{todonotes}:
+
+\begin{code}
+\SetForwardReferenceStyle
+ {%
+ \todo[%
+ inline,
+ size=\scriptsize,
+ color=blue!40,
+ backgroundcolor=white,
+ textcolor=blue!50!cyan,
+ bordercolor=blue!50!cyan,
+ noprepend]{%
+ \textup{#1}%
+ }%
+ }
+\SetForwardReferenceStyleOutsideMath
+ {%
+ \todo[%
+ inline,
+ size=\scriptsize,
+ caption={}, % <-- needed, otherwise there would be errors
+ color=blue!40,
+ backgroundcolor=white,
+ textcolor=blue!50!cyan,
+ bordercolor=blue!50!cyan,
+ noprepend]{%
+ \textup{#1}%
+ }%
+ }
+\end{code}
+
+\SetForwardReferenceStyle
+ {%
+ \todo[%
+ inline,
+ size=\scriptsize,
+ color=blue!40,
+ backgroundcolor=white,
+ textcolor=blue!50!cyan,
+ bordercolor=blue!50!cyan,
+ noprepend]{%
+ \textup{#1}%
+ }%
+ }
+\SetForwardReferenceStyleOutsideMath
+ {%
+ \todo[%
+ inline,
+ size=\scriptsize,
+ caption={}, % <-- needed, otherwise there would be errors
+ color=blue!40,
+ backgroundcolor=white,
+ textcolor=blue!50!cyan,
+ bordercolor=blue!50!cyan,
+ noprepend]{%
+ \textup{#1}%
+ }%
+ }
+
+\bigskip
+We use the same example:
+
+\begin{lemma}\label{lem:result'}
+ Some preliminary result (see the equation \labelcref[used by]{eq:1'}).
+\end{lemma}
+
+\begin{theorem}\label{thm:test'}
+ Text.
+\end{theorem}
+\begin{proof}\restorelabel{thm:test'} % Notice the use of \restorelabel here
+ Some proof that involves the \cref[used by]{lem:result'} and the equations \labelcref[used by and on]{eq:Euler'}, \labelcref[used by]{eq:1',eq:2'}.
+\end{proof}
+
+\begin{equation}\label{eq:Euler'}
+ \mathrm{e}^{\mathrm{i}\pi} + 1 = 0.
+\end{equation}
+\vspace{-\baselineskip}
+\begin{align}
+ 1 &= 0 + 1 \label{eq:1'}\\
+ 2 &= 1 + 1 \label{eq:2'}
+\end{align}
+
+\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:
+
+\begin{code}
+\SetForwardReferenceStyle
+ {%
+ \marginnote{\normalfont#1}%
+ }
+\SetForwardReferenceStyleInsideMath
+ {%
+ \marginnote{\normalfont#1}%
+ }
+\end{code}
+
+\SetForwardReferenceStyle
+ {%
+ \marginnote{\normalfont#1}%
+ }
+\SetForwardReferenceStyleInsideMath
+ {%
+ \marginnote{\normalfont#1}%
+ }
+
+\bigskip
+The result would be somewhat like the following (assuming that your document has margins set wide enough):
+
+\vspace{-\baselineskip}
+\setlength{\marginparwidth}{20em}
+\setlength{\marginparsep}{-15em}
+\begin{adjustwidth}{}{16em}
+ \begin{lemma}\label{lem:result''}
+ Some preliminary result (see the equation \labelcref[used by]{eq:1''}).
+ \end{lemma}
+
+ \begin{theorem}\label{thm:test''}
+ Text.
+ \end{theorem}
+ \begin{proof}\restorelabel{thm:test''} % Notice the use of \restorelabel here
+ Some proof that involves the \cref[used by]{lem:result''} and the equations \labelcref[used by and on]{eq:Euler''}, \labelcref[used by]{eq:1'',eq:2''}.
+ \end{proof}
+
+ \begin{equation}\label{eq:Euler''}
+ \mathrm{e}^{\mathrm{i}\pi} + 1 = 0.
+ \end{equation}
+ \begin{align}
+ 1 &= 0 + 1 \label{eq:1''}\\
+ 2 &= 1 + 1 \label{eq:2''}
+ \end{align}
+\end{adjustwidth}
+
+\bigskip
+\begin{tip}[Attention]
+ Please pay attention to the usage of \lstinline|#1| and \lstinline|#2| in the configurations.
+\end{tip}
+
+\clearpage
+By the way, here is the default setting for the style:
+
+\begin{code}
+\SetForwardReferenceStyle
+ {%
+ \emph{#1} \\[.3\baselineskip]%
+ }
+\SetForwardReferenceStyleOutsideMath
+ {%
+ \begin{flushright}%
+ \emph{#1}%
+ \end{flushright}%
+ \vspace{.15\baselineskip}%
+ }
+\end{code}
+
+\endgroup
+
+\SetForwardReferenceStyle
+ {%
+ \marginnote{\normalfont#1}%
+ }
+\SetForwardReferenceStyleInsideMath
+ {%
+ \marginnote{\normalfont#1}%
+ }
+
+%% 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.
+\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name } % remove the text style in the references
+ {
+ name style = {
+ , crefname style = { }
+ , Crefname style = { }
+ , numbering style = { }
+ }
+ }
+\ExplSyntaxOff
+
+
+\section{Besides writing in English}
+
+When writing in some European languages, it is possible to specify the definite article and/or declension in the optional argument of \lstinline|\cref| to ensure that the grammar is correct, provided that you have enabled the package option \packageoption{crefthe}.
+
+\subsection{Example in French}
+
+\UseLanguage{French}
+
+\vspace{-1.5\baselineskip}
+\setlength{\marginparwidth}{24em}
+\setlength{\marginparsep}{-18em}
+\begin{adjustwidth}{}{20em}
+ \begin{lemma}\label{lem:result_fr}
+ Quelques résultats préliminaires (voir l'équation \labelcref[used by]{eq:1_fr}).
+ \end{lemma}
+
+ \begin{theorem}\label{thm:test_fr}
+ Texte.
+ \end{theorem}
+ \begin{proof}\restorelabel{thm:test_fr}
+ % Notice the use of \cref[de,...]
+ Quelques lignes de preuves résultant \cref[de, used by]{lem:result_fr} et des équations \labelcref[used by and on]{eq:Euler_fr}, \labelcref[used by]{eq:1_fr,eq:2_fr}.
+ \end{proof}
+
+ \begin{equation}\label{eq:Euler_fr}
+ \mathrm{e}^{\mathrm{i}\pi} + 1 = 0.
+ \end{equation}
+ \begin{align}
+ 1 &= 0 + 1 \label{eq:1_fr}\\
+ 2 &= 1 + 1 \label{eq:2_fr}
+ \end{align}
+\end{adjustwidth}
+
+\subsection{Example in German}
+
+\UseLanguage{German}
+
+% \SetUsedOnMessageText{Erscheint auf~#1.}
+% \SetUsedByMessageText{Erscheint #1.}
+% \SetUsedByAndOnMessageText{Erscheint #1 auf~#2.}
+% \SetForwardReferenceRefForm{\crefthe[in,dat.]}
+% \SetForwardReferencePagerefForm{\cpagerefthe[noun]}
+
+\vspace{-1.5\baselineskip}
+\setlength{\marginparwidth}{24em}
+\setlength{\marginparsep}{-18em}
+\begin{adjustwidth}{}{20em}
+ \begin{lemma}\label{lem:result_de}
+ Einige vorläufige Ergebnisse (siehe Gleichung \labelcref[used by]{eq:1_de}).
+ \end{lemma}
+
+ \begin{theorem}\label{thm:test_de}
+ Text.
+ \end{theorem}
+ \begin{proof}\restorelabel{thm:test_de}
+ % Notice the use of \cref[die, akk.,...]
+ Einige Beweise, \cref[die, akk., used by]{lem:result_de} und die Gleichungen \labelcref[used by and on]{eq:Euler_de}, \labelcref[used by]{eq:1_de,eq:2_de}.
+ \end{proof}
+
+ \begin{equation}\label{eq:Euler_de}
+ \mathrm{e}^{\mathrm{i}\pi} + 1 = 0.
+ \end{equation}
+ \begin{align}
+ 1 &= 0 + 1 \label{eq:1_de}\\
+ 2 &= 1 + 1 \label{eq:2_de}
+ \end{align}
+\end{adjustwidth}
+
+\subsection{Example in Italian}
+
+\UseLanguage{Italian}
+
+\vspace{-1.5\baselineskip}
+\setlength{\marginparwidth}{24em}
+\setlength{\marginparsep}{-18em}
+\begin{adjustwidth}{}{20em}
+ \begin{lemma}\label{lem:result_it}
+ Alcuni risultati preliminari (vedi l'equazione \labelcref[used by]{eq:1_it}).
+ \end{lemma}
+
+ \begin{theorem}\label{thm:test_it}
+ Testo.
+ \end{theorem}
+ \begin{proof}\restorelabel{thm:test_it}
+ % Notice the use of \cref[da,...]
+ Alcune linee di prova derivanti \cref[da, used by]{lem:result_it} e dalle equazioni \labelcref[used by and on]{eq:Euler_it}, \labelcref[used by]{eq:1_it,eq:2_it}.
+ \end{proof}
+
+ \begin{equation}\label{eq:Euler_it}
+ \mathrm{e}^{\mathrm{i}\pi} + 1 = 0.
+ \end{equation}
+ \begin{align}
+ 1 &= 0 + 1 \label{eq:1_it}\\
+ 2 &= 1 + 1 \label{eq:2_it}
+ \end{align}
+\end{adjustwidth}
+
+\subsection{Example in Spanish}
+
+\UseLanguage{Spanish}
+
+\vspace{-1.5\baselineskip}
+\setlength{\marginparwidth}{24em}
+\setlength{\marginparsep}{-18em}
+\begin{adjustwidth}{}{20em}
+ \begin{lemma}\label{lem:result_es}
+ Algunos resultados preliminares (véase la ecuación \labelcref[used by]{eq:1_es}).
+ \end{lemma}
+
+ \begin{theorem}\label{thm:test_es}
+ Texto.
+ \end{theorem}
+ \begin{proof}\restorelabel{thm:test_es}
+ % Notice the use of \cref[de,...]
+ Algunas líneas de demostración resultantes \cref[de, used by]{lem:result_es} y las ecuaciones \labelcref[used by and on]{eq:Euler_es}, \labelcref[used by]{eq:1_es,eq:2_es}.
+ \end{proof}
+
+ \begin{equation}\label{eq:Euler_es}
+ \mathrm{e}^{\mathrm{i}\pi} + 1 = 0.
+ \end{equation}
+ \begin{align}
+ 1 &= 0 + 1 \label{eq:1_es}\\
+ 2 &= 1 + 1 \label{eq:2_es}
+ \end{align}
+\end{adjustwidth}
+
+\UseLanguage{English}
+
+\subsection{Regarding the customization}
+
+If you wish to change the content of the messages in such cases, you might need to be careful about the definite article and declension involved. For example, in German, if you wish to change the text to \textquote{Erscheint in ... auf ...} (\emph{Appears in ... on ...}), you need to write:
+\begin{code}
+\SetUsedOnMessageText{Erscheint auf~#1.}
+\SetUsedByMessageText{Erscheint #1.}
+\SetUsedByAndOnMessageText{Erscheint #1 auf~#2.}
+\SetForwardReferenceRefForm{\crefthe[in,dat.]}
+\SetForwardReferencePagerefForm{\cpagerefthe[noun]}
+\end{code}
+which set the \lstinline|\cref| command to use the definite article \textquote{in} and the declension \textquote{Dativ}, and hide the definite article when using \lstinline|\cpageref|.
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/crefthe/README.md b/macros/latex/contrib/crefthe/README.md
index e46658f1d6..745432cfbc 100644
--- a/macros/latex/contrib/crefthe/README.md
+++ b/macros/latex/contrib/crefthe/README.md
@@ -1,4 +1,4 @@
-<!-- Copyright (C) 2021-2023 by Jinwen XU -->
+<!-- Copyright (C) 2021-2024 by Jinwen XU -->
# crefthe - cross referencing with proper definite articles
diff --git a/macros/latex/contrib/crefthe/crefthe-doc.pdf b/macros/latex/contrib/crefthe/crefthe-doc.pdf
index 664da1ba34..be4864d533 100644
--- a/macros/latex/contrib/crefthe/crefthe-doc.pdf
+++ b/macros/latex/contrib/crefthe/crefthe-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/crefthe/crefthe-doc.tex b/macros/latex/contrib/crefthe/crefthe-doc.tex
index a6d2dae2b7..81a11edab9 100644
--- a/macros/latex/contrib/crefthe/crefthe-doc.tex
+++ b/macros/latex/contrib/crefthe/crefthe-doc.tex
@@ -120,8 +120,8 @@
\begin{document}
-\def\PackageVersion{2023/11/11}
-\def\PackageSubVersion{a}
+\def\PackageVersion{2024/02/24}
+\def\PackageSubVersion{}
\title{\crefthepackage{}\\\smallskip\itshape Cross referencing with proper definite articles}
\author{Jinwen XU}
diff --git a/macros/latex/contrib/crefthe/crefthe.sty b/macros/latex/contrib/crefthe/crefthe.sty
index 3dd1c8e027..ad4f89ac32 100644
--- a/macros/latex/contrib/crefthe/crefthe.sty
+++ b/macros/latex/contrib/crefthe/crefthe.sty
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2021-2023 by Jinwen XU
+%% Copyright (C) 2021-2024 by Jinwen XU
%% ------------------------------------
%%
%% This file may be distributed and/or modified under the conditions of
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
{crefthe}
- {2023/11/11a} {}
+ {2024/02/24} {}
{Cross referencing with proper definite articles}
\keys_define:nn { crefthe }
@@ -67,43 +67,43 @@
\NewDocumentCommand \crefthe { s t- t+ O{} m }
{
\bool_gset_false:N \g__crefthe_uppercase_bool
- \__crefthe_cref_general:NNNnnN #1 #2 #3 { #4 } { #5 } \crefthe_cref_original:w
+ \__crefthe_cref_general:NNNxxN #1 #2 #3 { #4 } { #5 } \crefthe_cref_original:w
}
\NewDocumentCommand \Crefthe { s t- t+ O{} m }
{
\bool_gset_true:N \g__crefthe_uppercase_bool
- \__crefthe_cref_general:NNNnnN #1 #2 #3 { #4 } { #5 } \crefthe_Cref_original:w
+ \__crefthe_cref_general:NNNxxN #1 #2 #3 { #4 } { #5 } \crefthe_Cref_original:w
}
\NewDocumentCommand \namecrefthe { t- t+ O{} m }
{
\bool_gset_false:N \g__crefthe_uppercase_bool
- \__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_namecref_original:w
+ \__crefthe_cref_general:NNNxxN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_namecref_original:w
}
\NewDocumentCommand \nameCrefthe { t- t+ O{} m }
{
\bool_gset_true:N \g__crefthe_uppercase_bool
- \__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_nameCref_original:w
+ \__crefthe_cref_general:NNNxxN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_nameCref_original:w
}
\NewDocumentCommand \namecrefsthe { t- t+ O{} m }
{
\bool_gset_false:N \g__crefthe_uppercase_bool
- \__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_namecrefs_original:w
+ \__crefthe_cref_general:NNNxxN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_namecrefs_original:w
}
\NewDocumentCommand \nameCrefsthe { t- t+ O{} m }
{
\bool_gset_true:N \g__crefthe_uppercase_bool
- \__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_nameCrefs_original:w
+ \__crefthe_cref_general:NNNxxN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_nameCrefs_original:w
}
\NewDocumentCommand \cpagerefthe { t- t+ O{} m }
{
\bool_gset_false:N \g__crefthe_uppercase_bool
- \__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_cpageref_original:w
+ \__crefthe_cref_general:NNNxxN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_cpageref_original:w
}
\NewDocumentCommand \Cpagerefthe { t- t+ O{} m }
{
\bool_gset_true:N \g__crefthe_uppercase_bool
- \__crefthe_cref_general:NNNnnN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_Cpageref_original:w
+ \__crefthe_cref_general:NNNxxN \c_false_bool #1 #2 { #3 } { #4 } \crefthe_Cpageref_original:w
}
\keys_define:nn { crefthe-command }
@@ -200,6 +200,7 @@
\group_end:
}
+\cs_generate_variant:Nn \__crefthe_cref_general:NNNnnN { NNNxx }
% \__crefthe_prep_mode: defines the default mode for supported languages
\cs_new:Nn \__crefthe_prep_mode:
diff --git a/macros/latex/contrib/litetable/doc/litetable-cn.pdf b/macros/latex/contrib/litetable/doc/litetable-cn.pdf
index 335b8be062..0ef5ca2aab 100644
--- a/macros/latex/contrib/litetable/doc/litetable-cn.pdf
+++ b/macros/latex/contrib/litetable/doc/litetable-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-cn.tex b/macros/latex/contrib/litetable/doc/litetable-cn.tex
index 8093dd8a92..b67605e03f 100644
--- a/macros/latex/contrib/litetable/doc/litetable-cn.tex
+++ b/macros/latex/contrib/litetable/doc/litetable-cn.tex
@@ -6,54 +6,35 @@
%% * version. *
%% ******************************************************
\PassOptionsToPackage{quiet}{xeCJK}
-\PassOptionsToPackage{quiet}{fontspec}
-\PassOptionsToPackage{no-math}{fontspec}
+\PassOptionsToPackage{quiet, no-math}{fontspec}
\documentclass[11pt]{article}
-\usepackage{geometry}
-\usepackage{pdfpages}
+\usepackage{geometry,pdfpages,caption,indentfirst,setspace}
+\captionsetup[table]{name={\textsc{Table}},labelsep=period}
\usepackage[level]{datetime}
-\usepackage{unicode-math,xeCJK}
-\usepackage{authblk}
-\usepackage{indentfirst,setspace}
+\usepackage{unicode-math,xeCJK,verbatim}
+\usepackage{authblk,xltxtra}
+\usepackage{booktabs,diagbox,ragged2e,tabularx}
+\renewcommand\tabularxcolumn[1]{>{\Centering}m{#1}}
\usepackage[toc]{multitoc}
-\setstretch{1.25}
-\setmainfont{Libertinus Serif}
-\setsansfont{Libertinus Sans}
+\usepackage[mono=false]{libertine}
+\linespread{1.15}
\setCJKmainfont{Chiron Sung HK}
-[
- BoldFont=Chiron Sung HK Bold,
- ItalicFont=Kaiti SC
-]
-\makeatletter
-\usepackage{listings,dirtree}
-\lstdefinestyle{TeX}{
- language = [LaTeX]TeX,
- texcsstyle = *\color{H7},
- numbers = none,
- basicstyle = {\scriptsize\color{H6}\tt},
- mathescape = false,
- breaklines = true,
- columns = fixed,
- keywordstyle = \color{H3},
- commentstyle = \color{darkgray},
- tabsize = 2,
- keywords = {mail,flyleaf,sticker,logo,notebook,chapter,newnote,newnotesss,newnotessss,emptynote,newhdunote,
- makeframe,course,more}
-}
-\usepackage{hyperref,xcolor,verbatim}
+[BoldFont=Chiron Sung HK Bold,
+ ItalicFont=Kaiti SC]
+\usepackage{hyperref,cprotect,xcolor,verbatim,tikz}
\definecolor{pkgcolor}{Hsb}{103,.8,.5}
\definecolor{moducolor}{Hsb}{290,.8,.5}
\definecolor{cmdcolor}{Hsb}{188,.8,.5}
\definecolor{filecolor}{Hsb}{207,.6,.7}
-\definecolor{H1}{Hsb}{349,.8,.8}% 海棠紅 (Hangzhou MTR L 1 )
-\definecolor{H2}{Hsb}{23, .8,.8}% 丹桂橙 (Hangzhou Metro 2 )
-\definecolor{H3}{Hsb}{48, .8,.8}% 柠檬黄 (Hangzhou Metro 3 )
-\definecolor{H4}{Hsb}{103,.8,.8}% 香樟绿 (Hangzhou Metro 4 )
-\definecolor{H5}{Hsb}{188,.8,.8}% 青藍色 (Hangzhou MTR L 5 )
-\definecolor{H6}{Hsb}{207,.8,.8}% 海洋蓝 (Hangzhou Metro 6 )
-\definecolor{H7}{Hsb}{290,.8,.8}% 浪漫紫 (Hangzhou Metro 7 )
-\hypersetup{colorlinks,urlcolor=H1,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
+\definecolor{H1}{Hsb}{349,.8,.8} % 海棠紅 (Hangzhou MTR L 1 )
+\definecolor{H2}{Hsb}{23, .8,.8} % 丹桂橙 (Hangzhou Metro 2 )
+\definecolor{H3}{Hsb}{48, .8,.8} % 柠檬黄 (Hangzhou Metro 3 )
+\definecolor{H4}{Hsb}{103,.8,.8} % 香樟绿 (Hangzhou Metro 4 )
+\definecolor{H5}{Hsb}{188,.8,.8} % 青藍色 (Hangzhou MTR L 5 )
+\definecolor{H6}{Hsb}{207,.8,.8} % 海洋蓝 (Hangzhou Metro 6 )
+\definecolor{H7}{Hsb}{290,.8,.8} % 浪漫紫 (Hangzhou Metro 7 )
+\hypersetup{colorlinks,urlcolor=H6,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
\def\pkg#1{\texorpdfstring{\textcolor{pkgcolor}{\textsf{#1}}}{“#1”}}
\def\mode#1{\texorpdfstring{\textcolor{moducolor}{\textsf{#1}}}{“#1”}}
@@ -63,11 +44,11 @@
\noindent\makebox[0pt][r]{\makebox[-3em][r]{\small\textbf{\textcolor{H7}{#1}}}\;\;}{\sffamily Update: \ignorespaces#2}}
\makeatother
-\title{The \pkg{LiteTable} Template}
-\author[1]{Xia Mingyu, \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}}
+\title{\bfseries\pkg{LiteTable} -- 多彩的课程表\textsf{\LaTeX} 模板}
+\author{\href{https://www.hdu.edu.cn}{杭州电子科技大学}, 夏明宇}
\yyyymmdddate
\date{\today}
-\affil[1]{\href{mailto:xiamyphys@gmail.com}{\texttt{xiamyphys@gmail.com}}}
+\affil{\href{mailto:xiamyphys@gmail.com}{\texttt{xiamyphys@gmail.com}}}
\date{\today\quad Version 2.3a\thanks{%
\url{https://github.com/xiamyphys/litetable}}}
\begin{document}
@@ -75,11 +56,12 @@
\vspace{-2em}
\begin{abstract}
-\pkg{LiteTable} 模板提供了一个多彩的课程表设计,本文档为\pkg{LiteTable} 模板的说明文档.
-
+\pkg{LiteTable} 模板提供了一个多彩的课程表设计,本文档为 \pkg{LiteTable} 模板的说明文档.
\end{abstract}
-\tableofcontents\clearpage
+\tableofcontents
+
+\clearpage
\section{Introduction}
@@ -91,28 +73,28 @@
同样,你也可以加入我的\textsf\LaTeX{} 技術交流群 \href{https://qm.qq.com/q/OnHzbNvVAG}{QQ Group: 760570712} 与我交流,来获取模板的内测版本.
\subsection{所需宏集}
-本模板基于 \pkg{standalone} 文档类开发. 其需要 \pkg{tikz} 宏集去绘制图形,\pkg{kvoptions} 和 \pkg{etoolbox} 宏集用于提供全局模式,\pkg{expl3} 宏基用于支持数组,\pkg{ctex}宏集用于支持中文语言,\pkg{fontawesome5} 宏集提供一系列精美的图标.
+本模板基于 \pkg{standalone} 文档类开发. 其需要 \pkg{tikz} 宏集去绘制图形,\pkg{kvoptions} 和 \pkg{etoolbox} 宏集用于提供全局模式,\pkg{expl3} 宏集用于支持数组,\pkg{ctex}宏集用于支持中文语言,\pkg{fontawesome5} 宏集提供一系列精美的图标.
+
+\subsection{安装并载入 \pkg{LiteTable} 模板}
+免安装使用方法如下,从 \href{https://github.com/xiamyphys/LiteTable}{GitHub} 或 \href{https://ctan.org/pkg/litetable}{CTAN} 下载最新的 \verb|litetable.cls| 文件并将它保存至你的项目根目录. 这种安装方式是最便捷的,但是当模板更新后,你需要手动替换 \verb|.cls| 文件.
-我强烈建议您使用终端机去执行以下命令,以将所有宏集更新到最新版本
+然而我强烈建议您使用终端机去执行以下命令,以将所有宏集更新到最新版本,并安装此模板
\begin{verbatim}
- tlmgr update --self
- tlmgr update --all
+ sudo tlmgr update --self
+ sudo tlmgr update --all
\end{verbatim}
-如果您所在的地区存在网路封锁(如GFW干扰),你可以选择合适的镜像网站或其他方法\footnote{请遵守当地的网路条例.}. 欲详细了解,请前往 \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my TEX distribution?}
+如果您所在的地区存在网路封锁(如 GFW 干扰),你可以选择合适的镜像网站或其他方法\footnote{请遵守当地的网路条例.}. 欲详细了解,请前往 \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my TEX distribution?}
-\subsection{载入 \pkg{LiteTable} 和其选项}
-将文件 \verb|litetable.cls| 保存至你的项目根目录,然后创立一个 \verb|.tex| 文件,只需在第一行输入命令 \verb|\documentclass{litetable}| 即可.
+本模板提供了三个选项:\mode{style},\mode{direction} 和 \mode{font}. 只需将你要使用的选项模式分别添加在你的 \verb|.tex| 文件中命令 \verb|\documentclass[ ]{litetable}| 的方括号中即可.
-本模板提供了三个选项:\mode{date},\mode{style},\mode{direction} 和 \mode{font}. 只需将你要使用的选项模式分别添加在你的 \verb|.tex| 文件中命令 \verb|\documentclass[options]{litetable}| 的方括号中即可.
+\subsection{兼容性}
+所使用的测试环境为 macOS + MacTeX 2023 / Overleaf,都可在 \XeLaTeX{} 编译方式下顺利运行, Windows, Linux 和 Unix 平台兼容性未知.
-\newpage
\section{\pkg{LiteTable} 的全局选项}
\begin{verbatim}
\documentclass[options]{litetable}
\end{verbatim}
-\subsection{\mode{date} 选项}
-此选项有两个模式,\mode{en} 和 \mode{cn},可分别使工作日以英文或大陆简体显示,默认为英文.
\subsection{\mode{style} 选项}
此选项有两个模式,\mode{round} 和 \mode{sharp},可分别使课程块圆角或直角显示,默认为直角.
@@ -121,76 +103,144 @@
此选项有两个模式,\mode{portrait} 和 \mode{landscape}, 可分别使课程表以纵向或横向显示.
\subsection{\mode{font} 选项}
-此选项有两个模式,\mode{times} 和 \mode{libertinus},可分别使字体为 ``Times New Roman'' 或 ``Libertinus'',默认为 ``Times New Roman''.\footnote{在使用 ``Libertinus'' 模式前请确保电脑中已安装该字体.}
+此选项有两个模式,\mode{times} 和 \mode{libertinus},可分别使字体为 ``Times New Roman'' 或 ``Libertinus'',默认为 ``Times New Roman''\footnote{在使用 ``Libertinus'' 模式前请确保电脑中已安装该字体.}.
\section{\pkg{LiteTable} 的命令}
\subsection{\cmd{makeframe} 命令}
\begin{verbatim}
- \makeframe{Timetable -- Semester 5}
+ \makeframe{Timetable -- Semester 5}
\end{verbatim}
此命令可建立一个标题为 ``Timetable -- Semester 5'' 的空白课程表.
-\subsection{The \cmd{timelist} command}
+\subsection{\cmd{weeklist} 命令}
+\begin{verbatim}
+ \weeklist{
+ \bfseries\textcolor{W1}{\faIcon{moon}~星期一},
+ \bfseries\textcolor{W2}{\faIcon{fire}~星期二},
+ \bfseries\textcolor{W3}{\faIcon{water}~星期三},
+ \bfseries\textcolor{W4}{\faIcon{tree}~星期四},
+ \bfseries\textcolor{W5}{\faIcon{coins}~星期六}
+ }
+\end{verbatim}
+
+此命令可在课程表顶部添加工作日,你可以自由决定工作日的显示样式,如名称,颜色甚至是前面的 logo\footnote{由 \pkg{fontawesome5} 宏集支持.}.
+
+课程表可根据你输入的时间组数自动生成相应的列数. 如上方代码共有 5 个工作日,就会生成 5 列的课程表.
+
+\subsection{\cmd{timelist} \cmd{classnum} 命令}
\begin{verbatim}
\timelist{
8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
}
+
+ \classnum{14}
\end{verbatim}
-此命令可将时间添加至课程表的左侧,内容的第一行是每节课程开始时间,第二行是每节课程的结束时间,时间之间用逗号(\verb|,|)分隔,第一行与第二行之间用分号(\verb|;|)分隔.
+命令 \cmd{timelist} 可将时间添加至课程表的左侧,内容的第一行是每节课程开始时间,第二行是每节课程的结束时间,时间之间用逗号(\verb|,|)分隔,第一行与第二行之间用分号(\verb|;|)分隔.
+
+课程表可根据你输入的时间组数自动生成相应的行数. 如上方代码共有 12 组时间,就会生成 12 行的课程表.
-课程表可根据你输入的时间组数自动生成相应的行数. 如上方代码共有12组时间,就会生成12行的课程表.
+命令 \cmd{classnum} 可直接指定课程表上你想要生成的行数并不会在课程表左侧添加时间,左侧只会有一列\emph{在每行竖直居中}的序号.
+
+下面的表格整理了两个命令不同使用情况下的不同效果.
+\begin{table}[!ht]
+\centering
+\caption{命令 \cmd{timelist} and \cmd{classnum} 的使用情况.}
+
+\begin{tabularx}{\textwidth}{c >{\raggedright\arraybackslash}X >{\raggedright\arraybackslash}X}
+ \toprule
+ \diagbox{\cmd{classnum}}{\cmd{timelist}} & \multicolumn{1}{c}{使用} & \multicolumn{1}{c}{不使用}\\
+ \midrule
+ 使用 &
+ 效果和命令 \cmd{timelist} 描述相同\newline 但生成行数由 \cmd{classnum} 决定 &
+ 效果和命令 \cmd{classnum} 描述相同\\
+ \midrule
+ 不使用 &
+ 效果和命令 \cmd{timelist} 描述相同 &
+ 效果和命令 \cmd{timelist} 描述相同\newline\emph{并默认生成 12 行}.\\
+ \bottomrule
+\end{tabularx}
+\end{table}
+
+\begin{itemize}
+ \item 若命令 \cmd{timelist} 中有 12 组时间,命令 \cmd{classnum} 传递的数值为 14,那么课程表的左侧会只有 1 -- 12 行有时间标注,最后两行没有时间标注但最后两行的标号仍然偏上方,并不会竖直对齐.
+ \item 若命令 \cmd{timelist} 中有 14 组时间,命令 \cmd{classnum} 传递的数值为 12,那么只会生成 12 行的课程表并且左侧均有时间标注,也就是在命令 \cmd{timelist} 中输入的最后两组时间无效.
+\end{itemize}
+
+\subsection{\cmd{weeks} 命令}
+\begin{verbatim}
+ \weeks{Week 1 -- 16}
+\end{verbatim}
+
+此命令可指定命令 \cmd{course} 第 7 个参数的默认值.
\subsection{\cmd{course} 命令}
\begin{verbatim}
- \course{H5}{3}{5}{AQM}{Building 6·225}{Yuan Li \& Mn Chen}{Week 1 -- 18}
+ \course[H1]{8}{9}{群论}{第6教研楼 · 中211}{Li Ge}[Week 1 -- 16]
\end{verbatim}
-此命令共有7个变量.
+此命令共有7个参数.
\begin{itemize}
- \item 第一个为你想选择的课程块颜色,从 ``H1'' 到 ``H9'' 可选.
- \item 第二个和第三个为课程的起始节数和结束节数.
- \item 第四个为课程的名称.
- \item 第五个为课程的地址.
- \item 第六个为教师的名字.
- \item 第七个为课程的起始周和结束周.
+ \item 第 1 个为课程块的颜色,从 ``H1'' 到 ``H9'' 供选择,此参数是可选参数,默认为 ``H1''.
+ \item 第 2 个和第 3 个为课程的起始节数和结束节数.
+ \item 第 4, 5, 6 个分别为课程的名称,地址和教师的名字.
+ \item 第 7 个为课程的首末周,此参数是可选参数,默认值由命令 \cmd{weeks} 指定,若未指定则默认值为 ``Week 1 -- 12''.
\end{itemize}
+
+
\subsection{\cmd{newday} 命令}
此命令可切换当前日到第二天,此时课程块会右移一格.
\subsection{\cmd{more} 命令}
\begin{verbatim}
- \more{·School Start: 04 / 03 / 2024 ·Summer Vacation: 05 / 07 / 2024}
+ \more{ · School Start: 04 / 03 / 2024 · Summer Vacation: 05 / 07 / 2024}
\end{verbatim}
-
此命令可在课程表末尾添加备注信息.
\subsection{\cmd{sticker} 命令}
\begin{verbatim}
\sticker{favicon}
\end{verbatim}
-
在使用此命令后页面的右下方会添加一张贴纸.
+\subsection{The \cmd{(re)rotatepage} command}
+\cmd{rotatepage}命令可临时更改课程表的方向,\cmd{rerotatepage} 命令可恢复课程表原来的方向.
+
+\section{已知问题:分辨率溢出}
+\begin{verbatim}
+ Dimension too large. <recently read> \pgfmath@x
+\end{verbatim}
+
+当启用 \mode{landscape} 模式并添加 7 个及以上的工作日 (?虽然 `添加7 个以上工作日' 一般碳基生物做不出来这种事),便会给出该报错.
+
+这主要是因为 \emph{\textsf{\TeX} 没有内置的浮点数表示} (Reference: \cprotect{\href{https://tex.stackexchange.com/a/545416/299948}}{How to solve the error `Dimension too large. <recently read> \verb|\pgfmath@x|' while doing the calculations in the table}).
+
+如果你能通过优化算法或其他方式解决该问题,欢迎通过 GitHub: \url{https://github.com/xiamyphys/litetable} 提交你的代码,或通过邮件 \href{mail:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} 联络我.
+
\section{版本历史}
课程表的设计源于杭电助手(\href{https://www.hdu.edu.cn}{杭州电子科技大学})学生课表页面(仅本校师生可访问). 页面排版十分精美,于是本人使用\LaTeX{} 复刻出了课程表样式,并制作成模板分享给大家.
\textsf{\bfseries Version 1.0} 于01/09/2023完成开发,并发布在\href{https://www.latexstudio.net/index/details/index/mid/3625.html}{\LaTeX{}工作室} (杭州萧山)和\href{http://xhslink.com/od7Ycw}{小红书}上,赢得了许多人的喜爱.
-\textsf{\bfseries Version 2.0a}于01/11/2023完成开发,并发布在\href{https://www.latexstudio.net/index/details/index/mid/3636.html}{\LaTeX{}工作室} (杭州萧山)和\href{http://xhslink.com/od7Ycw}{小红书}上. 此版本使用 \verb|.cls| 文件,使 \verb|main.tex| 文件更简洁. 同时,此版本添加了全局模式,可设置 ``课程块" 显示为圆角或直角. 此版本也支持一个 \verb|.tex| 文件中生成多张课表.
+\textsf{\bfseries Version 2.0a}于01/11/2023完成开发,并发布在\href{https://www.latexstudio.net/index/details/index/mid/3636.html}{\LaTeX{}工作室} (杭州萧山)和\href{http://xhslink.com/od7Ycw}{小红书}上. 此版本使用 \verb|.cls| 文件,使 \verb|main.tex| 文件更简洁. 同时,此版本添加了全局模式,可设置 ``课程块'' 显示为圆角或直角. 此版本也支持一个 \verb|.tex| 文件中生成多张课表.
\textsf{\bfseries Version 2.1a} 于05/11/2023完成开发. 支持 libertinus 字体.
-\textsf{\bfseries Version 2.2a} 于31/01/2024完成开发. 此版本修复了分辨率超出的bug,更改纸张类型为美国信纸并支持自定义课程起始和结束时间.
+\textsf{\bfseries Version 2.2a} 于31/01/2024完成开发. 此版本修复了分辨率超出的 bug,更改纸张类型为美国信纸并支持自定义课程起始和结束时间.
\textsf{\bfseries Version 2.3a} 于02/02/2024完成开发. 此版本支持根据所输入的时间组数自动生成相应的行数,并支持课程表以纵向或横向显示.
-\setstretch{1}
+\textsf{\bfseries Version 2.3b} 于03/02/2024完成开发. 此版本优化坐标计算,提升编译速度.
+
+\textsf{\bfseries Version 2.4a} 于24/02/2024完成开发. 元宵节快乐! 此版本支持自定义工作日显示样式,支持隐藏时间并仅显示竖直对齐课程序号,支持设置默认首末周.
+
+\clearpage
+
\datechange{01/09/2023}{Version 2.0a}
\begin{itemize}
\item 支持课程块显示为圆角或直角.
@@ -204,25 +254,38 @@
\datechange{31/01/2024}{Version 2.2a}
\begin{itemize}
- \item 修复了分辨率超出的bug.
+ \item 修复了分辨率超出的 bug.
\item 更改纸张类型为美国信纸.
\item 支持自定义课程起始和结束时间.
\item 支持在页面右下角添加一个你喜欢的小贴纸.
\item 提供简体中文说明文档.
\end{itemize}
-
+\setstretch{1}
\datechange{2024/02/02}{Version 2.3a}
\begin{itemize}
\item 支持根据所输入的时间组数自动生成相应的行数.
\item 课程表可纵向或横向显示.
\end{itemize}
+\datechange{2024/02/03}{Version 2.3b}
+\begin{itemize}
+ \item 优化坐标计算,提升编译速度.
+\end{itemize}
+
+\datechange{\today}{Version 2.4a}
+\begin{itemize}
+ \item 支持自定义工作日显示样式.
+ \item 支持隐藏时间,仅显示竖直对齐课程序号.
+ \item 支持设置默认首末周.
+\end{itemize}
-\newpage\setstretch{1.5}
\appendix
-\section{代码示例}
-\lstinputlisting[style=TeX]{litetable-demo2.tex}
-\includepdf[pages=-]{litetable-demo2.pdf}
-\includepdf[pages=-,nup=1x2]{litetable-demo1.pdf}
+\includepdf[pages={2,4},nup=1x2,pagecommand={
+ \tikz[remember picture, overlay]
+ \node [rotate=90,below,yshift=-1em] at (current page.west) {\bfseries\LARGE Document Example: \texttt{litetable-demo.tex}};
+ }
+]{litetable-demo.pdf}
+\includepdf[pages={1,3}]{litetable-demo.pdf}
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo.pdf b/macros/latex/contrib/litetable/doc/litetable-demo.pdf
new file mode 100644
index 0000000000..e2c8cf648c
--- /dev/null
+++ b/macros/latex/contrib/litetable/doc/litetable-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo.tex b/macros/latex/contrib/litetable/doc/litetable-demo.tex
new file mode 100644
index 0000000000..3423e6787c
--- /dev/null
+++ b/macros/latex/contrib/litetable/doc/litetable-demo.tex
@@ -0,0 +1,166 @@
+\documentclass[times,sharp]{litetable}
+
+\begin{document}
+\timelist{
+ 8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
+ 8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
+}
+% \classnum{14}
+\weeklist{
+ \heiti\bfseries\textcolor{W1}{\faIcon{moon}~星期一},
+ \heiti\bfseries\textcolor{W2}{\faIcon{fire}~星期二},
+ \heiti\bfseries\textcolor{W3}{\faIcon{water}~星期三},
+ \heiti\bfseries\textcolor{W4}{\faIcon{tree}~星期四},
+ \heiti\bfseries\textcolor{W5}{\faIcon{coins}~星期五},
+ \heiti\bfseries\textcolor{W6}{\faIcon{mountain}~星期六},
+}
+\weeks{Week 1 -- 18}
+
+\sticker{favicon}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 5} % make title & background
+ % Mon.
+ \course[H1]{1}{2}{羽毛球}{羽毛球场}{Ys Yu}
+ \course[H7]{3}{5}{光学镜头设计实验}{第6教研楼 · 南402}{Hao Ying}[Week 5 -- 15]
+ \newday % Tue.
+ \course[H9]{3}{5}{马克思主义原理}{第6教研楼 · 北320}{Yang Wang}
+ \course[H8]{6}{8}{光电检测技术}{第6教研楼 · 北320}{Xf Huang}
+ \newday % Wed.
+ \course[H7]{3}{4}{激光原理}{第6教研楼 · 中301}{Hd Mao}
+ \course[H9]{6}{7}{就业3 | 形策5}{6教中301 | 6教北208}{MJH | QXR}[Week 5 -- 14]
+ \course[H5]{8}{9}{计算物理}{第6教研楼 · 中215}{Wj Rao}
+ \course[H1]{10}{11}{论文写作指导}{第6教研楼 · 北416}{Yq Shi}
+ \newday % Thu.
+ \course[H6]{1}{2}{智能传感系统}{第6教研楼 · 北110}{Bx Cai}
+ \course[H5]{3}{5}{高等量子力学}{第6教研楼 · 中225}{Mn Chen \& Yuan Li}
+ \course[H3]{6}{8}{近代物理实验2}{第6教研楼 · 南}{Xx Chen}[Week 5 -- 16]
+ \course[H8]{10}{12}{光电信息技术实验}{第6教研楼 · 南302}{Yu Zhou}[Week 5 -- 15]
+ \newday % Fri.
+ \course[H7]{1}{2}{光学镜头设计}{第6教研楼 · 北422}{Hao Ying}
+ \course[H5]{3}{5}{光电子学}{第6教研楼 · 北202}{Rx Li \& Yuan Li}
+ \course[H8]{6}{7}{光电创新实践4}{第6教研楼 · 南302}{Ql Huang}[Week 5 -- 16]
+ \course[H5]{8}{9}{研究生组会}{第6教研楼 · 中}{Yuan Li}
+ \more{ · Hangzhou Asian Games: 23 / 09 / 2023 -- 08 / 10 / 2023 · School Starts: 11 / 09 / 2023
+ · Winter Vacation: 26 / 01 / 2024}
+\end{tikzpicture}
+
+\rotatepage
+
+\weeklist{
+ \bfseries\textcolor{W1}{\faIcon{moon}~Monday},
+ \bfseries\textcolor{W2}{\faIcon{fire}~Tuesday},
+ \bfseries\textcolor{W3}{\faIcon{water}~Wednesday},
+ \bfseries\textcolor{W4}{\faIcon{tree}~Thursday},
+ \bfseries\textcolor{W5}{\faIcon{coins}~Friday},
+ \bfseries\textcolor{W6}{\faIcon{mountain}~Saturday},
+}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 5} % make title
+ % Mon.
+ \course[H1]{1}{2}{Badminton}{Badminton Court}{Ys Yu}
+ \course[H7]{3}{5}{Lens Design Expt.}{Building 6 · South 402}{Hao Ying}[Week 5 -- 15]
+ \newday % Tue.
+ \course[H9]{3}{5}{Marx's Principles}{Building 6 · North 320}{Yang Wang}
+ \course[H8]{6}{8}{OE Detection Tech.}{Building 6 · North 320}{Xf Huang}
+ \newday % Wed.
+ \course[H7]{3}{4}{Laster Principle}{Building 6 Middle · 301}{Hd Mao}
+ \course[H9]{6}{7}{Empl Guide | Situ Policy}{Build 6 · 301 | Build 6 · 208}{MJH | QXR}[Week 5 -- 14]
+ \course[H5]{8}{9}{Computational Phys}{Building 6 · Middle 215}{Wj Rao}
+ \course[H1]{10}{11}{Essay Writing}{Building 6 · North 416}{Yq Shi}
+ \newday % Thu.
+ \course[H6]{1}{2}{Sensing System}{Building 6 · North 110}{Bx Cai}
+ \course[H5]{3}{5}{Quantum Mechanics$^\dagger$}{Building 6 · Middle 225}{Mn Chen \& Yuan Li}
+ \course[H3]{6}{8}{Modern Phys Expt. 2}{Building 6 · South}{Xx Chen}[Week 5 -- 16]
+ \course[H8]{10}{12}{OE Info Experiment}{Building 6 · South 302}{Yu Zhou}[Week 5 -- 15]
+ \newday % Fri.
+ \course[H7]{1}{2}{Optical Lens Design}{Building 6 · North 422}{Hao Ying}
+ \course[H5]{3}{5}{Optoelectronics}{Building 6 · North 202}{Rx Li \& Yuan Li}
+ \course[H8]{6}{7}{Innovative Practice 4}{Building 6 · South 302}{Ql Huang}[Week 5 -- 16]
+ \course[H5]{8}{9}{Group Meeting}{Building 6 · Middle}{Yuan Li}
+ \more{ · Hangzhou Asian Games: 23 / 09 / 2023 -- 08 / 10 / 2023
+ · School Starts: 11 / 09 / 2023 · Winter Vacation: 26 / 01 / 2024 }
+\end{tikzpicture}
+
+\rerotatepage
+
+\timelist{
+ 8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20;
+ 8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,
+}
+\classnum{11}
+\weeklist{
+ \heiti\bfseries\textcolor{W1}{\faIcon{moon}~星期一},
+ \heiti\bfseries\textcolor{W2}{\faIcon{fire}~星期二},
+ \heiti\bfseries\textcolor{W3}{\faIcon{water}~星期三},
+ \heiti\bfseries\textcolor{W4}{\faIcon{tree}~星期四},
+ \heiti\bfseries\textcolor{W5}{\faIcon{coins}~星期五},
+}
+\weeks{Week 1 -- 16}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
+
+ % Mon.
+ \course[H5]{7}{8}{凝聚态物理导论}{第6教研楼 · 中225}{Mn Chen}
+
+ \newday % Tue.
+ \course[H1]{8}{9}{群论}{第6教研楼 · 中211}{Li Ge}
+ \course[H5]{10}{11}{介观物理}{第6教研楼 · 中211}{Yuan Li \& Mn Chen}
+
+ \newday % Wed.
+ \course[H6]{1}{2}{工程制图}{第7教研楼 · 中3012}{Hc Wang}
+ \course[H9]{8}{9}{形势与政策6}{第6教研楼 · 北302}{Xr Qi}[Double Week 10 -- 16]
+ \course[H9]{10}{11}{高级创业运营仿真}{第4教研楼 · 411 -- 413}{Li Zhang}[Week 1 -- 8]
+
+ \newday % Thu.
+ \course[H4]{1}{2}{跨文化交际}{第3教研楼 · 422}{Cl Zuo}
+ \course[H2]{3}{4}{无线电测向}{东边田径场}{Ys Yu}
+ \course[H5]{6}{8}{固体物理}{第6教研楼 · 北408}{Kw Sun}
+
+ \newday % Fri.
+ \course[H8]{1}{2}{光电显示技术}{第7教研楼 · 中3012}{Wt Su}
+ \course[H3]{6}{8}{研究生组会}{第6教研楼 · 中}{Yuan Li}
+
+ \more{ · School Start: 04 / 03 / 2024 · Summer Vacation: 05 / 07 / 2024}
+\end{tikzpicture}
+
+\rotatepage
+
+\weeklist{
+ \bfseries\textcolor{W1}{\faIcon{moon}~Monday},
+ \bfseries\textcolor{W2}{\faIcon{fire}~Tuesday},
+ \bfseries\textcolor{W3}{\faIcon{water}~Wednesday},
+ \bfseries\textcolor{W4}{\faIcon{tree}~Thursday},
+ \bfseries\textcolor{W5}{\faIcon{coins}~Friday},
+}
+
+\begin{tikzpicture}
+ \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
+
+ % Mon.
+ \course[H5]{7}{8}{Introduction to Cond.}{Building 6 · Middle 225}{Mn Chen}
+
+ \newday % Tue.
+ \course[H1]{8}{9}{Group Theory}{Building 6 · Middle 211}{Li Ge}
+ \course[H5]{10}{11}{Mesoscopic Physics}{Building 6 · Middle 211}{Yuan Li \& Mn Chen}
+
+ \newday % Wed.
+ \course[H6]{1}{2}{Engineering Drawing}{Building 7 · North 3012}{Hc Wang}
+ \course[H9]{8}{9}{Situation \& Policy 6}{Building 6 · North 302}{Xr Qi}[Double Week 10 -- 16]
+ \course[H9]{10}{11}{Operational Simu.}{Building 4 · 411 -- 413}{Li Zhang}[Week 1 -- 8]
+
+ \newday % Thu.
+ \course[H4]{1}{2}{Intercultural Comm.}{Building 3 · 422}{Cl Zuo}
+ \course[H2]{3}{4}{Radio Direction}{Athletic Field}{Ys Yu}
+ \course[H5]{6}{8}{Solid State Physics}{Building 6 · North 408}{Kw Sun}
+
+ \newday % Fri.
+ \course[H8]{1}{2}{OE. Display}{Building 7 · North 3012}{Wt Su}
+ \course[H3]{6}{8}{Group Meeting}{Building 6 · Middle}{Yuan Li}
+
+ \more{ · School Start: 04 / 03 / 2024 · Summer Vacation: 05 / 07 / 2024}
+\end{tikzpicture}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo1.pdf b/macros/latex/contrib/litetable/doc/litetable-demo1.pdf
deleted file mode 100644
index 0a479ed801..0000000000
--- a/macros/latex/contrib/litetable/doc/litetable-demo1.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo1.tex b/macros/latex/contrib/litetable/doc/litetable-demo1.tex
deleted file mode 100644
index 8488c6453f..0000000000
--- a/macros/latex/contrib/litetable/doc/litetable-demo1.tex
+++ /dev/null
@@ -1,66 +0,0 @@
-\documentclass[libertinus,en,sharp,landscape]{litetable}
-
-
-\begin{document}
-
-\timelist{
- 8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
- 8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
-}
-\sticker{favicon}
-
-\begin{tikzpicture}
- \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 5} % make title
- % Mon.
- \course{H1}{1}{2}{Badminton}{Badminton Court}{Yongsheng Yu}{Week 1 -- 18}
- \course{H7}{3}{5}{Lens Design Experiment}{Building 6·South 402}{Hao Ying}{Week 5 -- 15}
- \newday % Tue.
- \course{H9}{3}{5}{Marx's Principles}{Building 6·320}{Yang Wang}{Week 1 -- 18}
- \course{H8}{6}{8}{OE Detection Technology}{Building 6·320}{Xuefeng Huang}{Week 1 -- 18}
- \newday % Wed.
- \course{H7}{3}{4}{Laster Principle}{Building 6·301}{Haidan Mao}{Week 1 -- 18}
- \course{H9}{6}{7}{Empl Guide 3 | Situ Policy 5}{Building 6·301 | Building 6·208}{MJH | QXR}{Week 5 -- 14}
- \course{H5}{8}{9}{Computational Phys}{Building 6·215}{Wenjia Rao}{Week 1 -- 18}
- \course{H1}{10}{11}{Essay Writing}{Building 6·416}{Yueqin Shi}{Week 1 -- 18}
- \newday % Thu.
- \course{H6}{1}{2}{Sensing System}{Building 6·110}{Benxiao Cai}{Week 1 -- 18}
- \course{H5}{3}{5}{Quantum Mechanics$^\dagger$}{Building 6·225}{Mengnan Chen \& Yuan Li}{Week 1 -- 18}
- \course{H3}{6}{8}{Modern Phys Experiment 2}{Building 6·South}{Xiangxiang Chen}{Week 5 -- 16}
- \course{H8}{10}{12}{OE Info Experiment}{Building 6·South 302}{Yu Zhou}{Week 5 -- 15}
- \newday % Fri.
- \course{H7}{1}{2}{Optical Lens Design}{Building 6·422}{Hao Ying}{Week 1 -- 18}
- \course{H5}{3}{5}{Optoelectronics}{Building 6·202}{Ruixue Li \& Yuan Li}{Week 1 -- 18}
- \course{H8}{6}{7}{Innovative Practice 4}{Building 7·216B}{Qinglong Huang}{Week 5 -- 16}
- \course{H5}{8}{9}{Group Meeting}{Building 6·Middle}{Yuan Li}{Week 1 -- 18}
- \more{·School Starts: 11 / 09 / 2023 ·Winter Vacation: 26 / 01 / 2024
- ·Hangzhou Asian Games: 23 / 09 / 2023 -- 08 / 10 / 2023}
-\end{tikzpicture}
-
-\begin{tikzpicture}
- \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
-
- % Mon.
- \course{H5}{7}{8}{Introduction to Cond.}{Building 6·225}{Mn Chen}{Week 1 -- 16}
-
- \newday % Tue.
- \course{H1}{8}{9}{Group Theory}{Building 6·211}{Li Ge}{Week 1 -- 16}
- \course{H5}{10}{11}{Mesoscopic Physics}{Building 6·211}{Yuan Li \& Mn Chen}{Week 1 -- 16}
-
- \newday % Wed.
- \course{H6}{1}{2}{Engineering Drawing}{Building 7·3012}{Hc Wang}{Week 1 -- 16}
- \course{H9}{8}{9}{Situation \& Policy 6}{Building 6·302}{Xr Qi}{Double Week 10 -- 16}
- \course{H9}{10}{11}{Operational Simu.}{Building 4·411 -- 413}{Li Zhang}{Week 1 -- 8}
-
- \newday % Thu.
- \course{H4}{1}{2}{Intercultural Comm.}{Building 3·422}{Cl Zuo}{Week 1 -- 16}
- \course{H2}{3}{4}{Radio Direction}{Athletic Field}{Ys Yu}{Week 1 -- 16}
- \course{H5}{6}{8}{Solid State Physics}{Building 6·408}{Kw Sun}{Week 1 -- 16}
-
- \newday % Fri.
- \course{H8}{1}{2}{OE. Display}{Building 7·3012}{Wt Su}{Week 1 -- 16}
- \course{H3}{6}{8}{Group Meeting}{Building 6·Middle}{Yuan Li}{Week 1 -- 16}
-
- \more{·School Start: 04 / 03 / 2024 ·Summer Vacation: 05 / 07 / 2024}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo2.pdf b/macros/latex/contrib/litetable/doc/litetable-demo2.pdf
deleted file mode 100644
index 007993c405..0000000000
--- a/macros/latex/contrib/litetable/doc/litetable-demo2.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-demo2.tex b/macros/latex/contrib/litetable/doc/litetable-demo2.tex
deleted file mode 100644
index 8194fdbc63..0000000000
--- a/macros/latex/contrib/litetable/doc/litetable-demo2.tex
+++ /dev/null
@@ -1,64 +0,0 @@
-\documentclass[libertinus,cn,sharp,portiait]{litetable}
-\setCJKfamilyfont{zhhei}{Chiron Hei HK}\renewcommand*\heiti{\CJKfamily{zhhei}}
-
-\begin{document}
-\timelist{
- 8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
- 8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
-}
-\sticker{favicon}
-
-\begin{tikzpicture}
- \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 5} % make title & background
- % Mon.
- \course{H1}{1}{2}{羽毛球}{羽毛球场}{Yongsheng Yu}{Week 1 -- 18}
- \course{H7}{3}{5}{镜头设计实验}{第6教研楼南· 402}{Hao Ying}{Week 5 -- 15}
- \newday % Tue.
- \course{H9}{3}{5}{马克思主义原理}{第6教研楼北·320}{Yang Wang}{Week 1 -- 18}
- \course{H8}{6}{8}{光电检测技术}{第6教研楼北·320}{Xuefeng Huang}{Week 1 -- 18}
- \newday % Wed.
- \course{H7}{3}{4}{激光原理}{第6教研楼中·301}{Haidan Mao}{Week 1 -- 18}
- \course{H9}{6}{7}{就业3 | 形策5}{6教中301 | 6教北208}{MJH | QXR}{Week 5 -- 14}
- \course{H5}{8}{9}{计算物理}{第6教研楼中·215}{Wenjia Rao}{Week 1 -- 18}
- \course{H1}{10}{11}{论文写作指导}{第6教研楼北·416}{Yueqin Shi}{Week 1 -- 18}
- \newday % Thu.
- \course{H6}{1}{2}{智能传感系统}{第6教研楼北·110}{Benxiao Cai}{Week 1 -- 18}
- \course{H5}{3}{5}{高等量子力学}{第6教研楼中·225}{Mengnan Chen \& Yuan Li}{Week 1 -- 18}
- \course{H3}{6}{8}{近代物理实验2}{第6教研楼南}{Xiangxiang Chen}{Week 5 -- 16}
- \course{H8}{10}{12}{光电信息技术实验}{第6教研楼南·302}{Yu Zhou}{Week 5 -- 15}
- \newday % Fri.
- \course{H7}{1}{2}{光学镜头设计}{第6教研楼北·422}{Hao Ying}{Week 1 -- 18}
- \course{H5}{3}{5}{光电子学}{第6教研楼北·202}{Ruixue Li \& Yuan Li}{Week 1 -- 18}
- \course{H8}{6}{7}{光电创新实践4}{第7教研楼北·216B}{Qinglong Huang}{Week 5 -- 16}
- \course{H5}{8}{9}{研究生组会}{第6教研楼中}{Yuan Li}{Week 1 -- 18}
- \more{·School Starts: 11 / 09 / 2023 ·Winter Vacation: 26 / 01 / 2024 ·Hangzhou Asian Games: 23 / 09 / 2023 -- 08 / 10 / 2023}
-\end{tikzpicture}
-
-\begin{tikzpicture}
- \makeframe{Axia\!\texttt{'}\!s Timetable -- Semester 6}
-
- % Mon.
- \course{H5}{7}{8}{凝聚态物理导论}{第6教研楼中·225}{Mn Chen}{Week 1 -- 16}
-
- \newday % Tue.
- \course{H1}{8}{9}{群论}{第6教研楼中·211}{Li Ge}{Week 1 -- 16}
- \course{H5}{10}{11}{介观物理}{第6教研楼中·211}{Yuan Li \& Mn Chen}{Week 1 -- 16}
-
- \newday % Wed.
- \course{H6}{1}{2}{工程制图}{第7教研楼中·3012}{Hc Wang}{Week 1 -- 16}
- \course{H9}{8}{9}{形势与政策6}{第6教研楼北·302}{Xr Qi}{Double Week 10 -- 16}
- \course{H9}{10}{11}{高级创业运营仿真}{第4教研楼·411 -- 413}{Li Zhang}{Week 1 -- 8}
-
- \newday % Thu.
- \course{H4}{1}{2}{跨文化交际}{第3教研楼·422}{Cl Zuo}{Week 1 -- 16}
- \course{H2}{3}{4}{无线电测向}{田径场}{Ys Yu}{Week 1 -- 16}
- \course{H5}{6}{8}{固体物理}{第6教研楼北·408}{Kw Sun}{Week 1 -- 16}
-
- \newday % Fri.
- \course{H8}{1}{2}{光电显示技术}{第7教研楼中·3012}{Wt Su}{Week 1 -- 16}
- \course{H3}{6}{8}{研究生组会}{第6教研楼中}{Yuan Li}{Week 1 -- 16}
-
- \more{·School Start: 04 / 03 / 2024 ·Summer Vacation: 05 / 07 / 2024}
-\end{tikzpicture}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/doc/litetable-en.pdf b/macros/latex/contrib/litetable/doc/litetable-en.pdf
index c8680a6aef..1e72948243 100644
--- a/macros/latex/contrib/litetable/doc/litetable-en.pdf
+++ b/macros/latex/contrib/litetable/doc/litetable-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/litetable/doc/litetable-en.tex b/macros/latex/contrib/litetable/doc/litetable-en.tex
index ba989d664f..aa49231318 100644
--- a/macros/latex/contrib/litetable/doc/litetable-en.tex
+++ b/macros/latex/contrib/litetable/doc/litetable-en.tex
@@ -6,54 +6,35 @@
%% * version. *
%% ******************************************************
\PassOptionsToPackage{quiet}{xeCJK}
-\PassOptionsToPackage{quiet}{fontspec}
-\PassOptionsToPackage{no-math}{fontspec}
+\PassOptionsToPackage{quiet, no-math}{fontspec}
\documentclass[11pt]{article}
-\usepackage{geometry}
-\usepackage{pdfpages}
+\usepackage{geometry,pdfpages,caption,indentfirst,setspace}
+\captionsetup[table]{name={\textsc{Table}},labelsep=period}
\usepackage[level]{datetime}
\usepackage{unicode-math,xeCJK}
-\usepackage{authblk}
-\usepackage{indentfirst,setspace}
-% \usepackage[toc]{multitoc}
+\usepackage{authblk,xltxtra}
+\usepackage{booktabs,diagbox,ragged2e,tabularx}
+\renewcommand\tabularxcolumn[1]{>{\Centering}m{#1}}
+\usepackage[toc]{multitoc}
+\usepackage[mono=false]{libertine}
% \setstretch{1.25}
-\setmainfont{Libertinus Serif}
-\setsansfont{Libertinus Sans}
\setCJKmainfont{Chiron Sung HK}
-[
- BoldFont=Chiron Sung HK Bold,
- ItalicFont=Kaiti SC
-]
-\makeatletter
-\usepackage{listings,dirtree}
-\lstdefinestyle{TeX}{
- language = [LaTeX]TeX,
- texcsstyle = *\color{H7},
- numbers = none,
- basicstyle = {\footnotesize\color{H6}\tt},
- mathescape = false,
- breaklines = true,
- columns = fixed,
- keywordstyle = \color{H3},
- commentstyle = \color{darkgray},
- tabsize = 2,
- keywords = {mail,flyleaf,sticker,logo,notebook,chapter,newnote,newnotesss,newnotessss,emptynote,newhdunote,
- makeframe,course,more}
-}
-\usepackage{hyperref,xcolor,verbatim}
+[BoldFont=Chiron Sung HK Bold,
+ ItalicFont=Kaiti SC]
+\usepackage{hyperref,cprotect,xcolor,verbatim,tikz}
\definecolor{pkgcolor}{Hsb}{103,.8,.5}
\definecolor{moducolor}{Hsb}{290,.8,.5}
\definecolor{cmdcolor}{Hsb}{188,.8,.5}
\definecolor{filecolor}{Hsb}{207,.6,.7}
-\definecolor{H1}{Hsb}{349,.8,.8}% 海棠紅 (Hangzhou MTR L 1 )
-\definecolor{H2}{Hsb}{23, .8,.8}% 丹桂橙 (Hangzhou Metro 2 )
-\definecolor{H3}{Hsb}{48, .8,.8}% 柠檬黄 (Hangzhou Metro 3 )
-\definecolor{H4}{Hsb}{103,.8,.8}% 香樟绿 (Hangzhou Metro 4 )
-\definecolor{H5}{Hsb}{188,.8,.8}% 青藍色 (Hangzhou MTR L 5 )
-\definecolor{H6}{Hsb}{207,.8,.8}% 海洋蓝 (Hangzhou Metro 6 )
-\definecolor{H7}{Hsb}{290,.8,.8}% 浪漫紫 (Hangzhou Metro 7 )
-\hypersetup{colorlinks,urlcolor=H1,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
+\definecolor{H1}{Hsb}{349,.8,.8} % 海棠紅 (Hangzhou MTR L 1 )
+\definecolor{H2}{Hsb}{23, .8,.8} % 丹桂橙 (Hangzhou Metro 2 )
+\definecolor{H3}{Hsb}{48, .8,.8} % 柠檬黄 (Hangzhou Metro 3 )
+\definecolor{H4}{Hsb}{103,.8,.8} % 香樟绿 (Hangzhou Metro 4 )
+\definecolor{H5}{Hsb}{188,.8,.8} % 青藍色 (Hangzhou MTR L 5 )
+\definecolor{H6}{Hsb}{207,.8,.8} % 海洋蓝 (Hangzhou Metro 6 )
+\definecolor{H7}{Hsb}{290,.8,.8} % 浪漫紫 (Hangzhou Metro 7 )
+\hypersetup{colorlinks,urlcolor=H6,linkcolor=H2,filecolor=filecolor,pdfstartview=FitH,pdfview=FitH,pdfcreator=XeTeX output}
\def\pkg#1{\texorpdfstring{\textcolor{pkgcolor}{\textsf{#1}}}{“#1”}}
\def\mode#1{\texorpdfstring{\textcolor{moducolor}{\textsf{#1}}}{“#1”}}
@@ -63,12 +44,12 @@
\noindent\makebox[0pt][r]{\makebox[-3em][r]{\small\textbf{\textcolor{H7}{#1}}}\;\;}{\sffamily Update: \ignorespaces#2}}
\makeatother
-\title{The \pkg{LiteTable} Template}
-\author[1]{Xia Mingyu, \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}}
+\title{\bfseries The \pkg{LiteTable} Template}
+\author{Xia Mingyu, \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}}
\yyyymmdddate
\date{\today}
-\affil[1]{\href{mailto:xiamyphys@gmail.com}{\texttt{xiamyphys@gmail.com}}}
-\date{\today\quad Version 2.3a\thanks{%
+\affil{\href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com}}
+\date{\today\quad Version 2.4a\thanks{%
\url{https://github.com/xiamyphys/litetable}}}
\begin{document}
\maketitle
@@ -76,43 +57,44 @@
\vspace{-2em}
\begin{abstract}
This is the document for \pkg{LiteTable} template, which provides a beautiful design of class schedule with colorful course blocks.
-
\end{abstract}
-\tableofcontents\clearpage
+\tableofcontents
+
+\clearpage
\section{Introduction}
\subsection{The purpose of this template}
This template provides a beautiful design of class schedule with colorful course blocks.
-If you meet bugs when using this template, or you have better suggestions or ideas, or you want to participate in the development of the template or other templates by me, welcome to contact via email \href{mailto:xiamyphys@gmail.com}{xiamyphys@gmail.com}.
+If you meet bugs when using this template, or you have better suggestions or ideas, or you want to participate in the development of the template or other templates by me, welcome to contact via email \href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com}.
Also, you can join my \textsf\LaTeX{} Template Discussion \href{https://qm.qq.com/q/OnHzbNvVAG}{QQ Group: 760570712} to communicate with me and get the insider preview edition of the template.
\subsection{Packages required}
-This template is based on the template \pkg{standalone}. And it requires \pkg{tikz} package to plot some graphics, \pkg{kvoptions} and \pkg{etoolbox} packages to provide global options, \pkg{expl3} package to support \cmd{timelist} array, \pkg{ctex} package to supports the \textbf{Chinese, Simplified} language and \pkg{fontawesome5} package to provides a set of beautiful icons.
+This template is based on the template \pkg{standalone}. And it requires \pkg{tikz} package to plot some graphics, \pkg{kvoptions} and \pkg{etoolbox} packages to provide global options, \pkg{expl3} package to support \cmd{timelist} array, \pkg{xeCJK} package to support the \textbf{Chinese, Simplified} language and \pkg{fontawesome5} package to provide a set of beautiful icons.
+
+\subsection{Installing \pkg{LiteTable} and loading it}
+For portable version, simply download latest \verb|litetable.cls| file from \href{https://github.com/xiamyphys/LiteTable}{GitHub} or \href{https://ctan.org/pkg/litetable}{CTAN} and save it under your working directory. This way of installation is simple and convenient, but you have to manually update \verb|.cls| now and then.
-I strongly suggest that you should use cmd to implement the commands to update all the packages to the latest version or switch to portable version instead.
+However, I strongly suggest that you should use terminal/cmd to implement the commands to update all the packages (and install this package) to the latest version or switch to portable version instead
\begin{verbatim}
- tlmgr update --self
- tlmgr update --all
+ sudo tlmgr update --self
+ sudo tlmgr update --all
\end{verbatim}
-If you are in some areas with awful Internet environment (such as GFWz), you can choose proper mirror source or use other means\footnote{Please comply with local network regulations.}. To learn more, please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \TeX{} distribution?}
+If you are in some areas with awful Internet environment (such as GFW), you can choose proper mirror source or use other means\footnote{Please comply with local network regulations.}. To learn more, please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \TeX{} distribution?}
-\subsection{Loading \pkg{LiteTable} and its options}
-Save the file \verb|litetable.cls| to your project's root directory, and then create a \verb|.tex| file, just input the command \verb|\documentclass{litetable}| on the first line.
+The template provides four options, \mode{style}, \mode{direction} and \mode{font}. Just add the modes of the options you want separately in the square bracket of the command \verb|\documentclass[ ]{litetable}| in your \verb|.tex| file.
-The template provides four options, \mode{date}, \mode{style}, \mode{direction} and \mode{font}. Just add the modes of the options you want separately in the square bracket of the command \verb|\documentclass[options]{litetable}| in your \verb|.tex| file.
+\subsection{Compatibility}
+The test environments are macOS + MacTeX 2023 / Overleaf and they all work fine for \XeLaTeX{} compiler, Windows, Linux and Unix platforms compatibility unknown.
-\newpage
\section{Global Options of \pkg{LiteTable}}
\begin{verbatim}
\documentclass[options]{litetable}
\end{verbatim}
-\subsection{The \mode{date} option}
-This option has two modes, \mode{en} and \mode{cn}, which can make the weekdays display in English or 大陆简体, and the dafault mode is English.
\subsection{The \mode{style} option}
This option has two modes, \mode{round} and \mode{sharp}, which can make the course block's corners be round or sharp, and the default mode is sharp.
@@ -127,36 +109,87 @@ This option has two modes, \mode{times} and \mode{libertinus}, which can make th
\subsection{The \cmd{makeframe} command}
\begin{verbatim}
- \makeframe{Timetable -- Semester 5}
+ \makeframe{Timetable -- Semester 5}
\end{verbatim}
This command can create an empty class schedule with the title ``Timetable -- Semester 5''.
-\subsection{The \cmd{timelist} command}
+\subsection{The \cmd{weeklist} command}
\begin{verbatim}
- \timelist{
- 8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
- 8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
- }
+ \weeklist{
+ \bfseries\textcolor{W1}{\faIcon{moon}~Monday},
+ \bfseries\textcolor{W2}{\faIcon{fire}~Tuesday},
+ \bfseries\textcolor{W3}{\faIcon{water}~Wednesday},
+ \bfseries\textcolor{W4}{\faIcon{tree}~Thursday},
+ \bfseries\textcolor{W5}{\faIcon{coins}~Friday}
+ }
+\end{verbatim}
+
+This command can add workdays to the top side of the timetable, and you can also adjust the format that you like, such as name, color and even the logo\footnote{Supports by the \pkg{fontawesome5} package.} before it.
+
+The timetable can automatically generate the corresponding number of columns based on the number of workdays you enter. For example, the code above has 5 workdays, a 5-column timetable will be generated.
+
+\subsection{The \cmd{timelist} \cmd{classnum} command}
+\begin{verbatim}
+ \timelist{
+ 8:05,8:55,10:00,10:50,11:40,13:30,14:20,15:15,16:05,18:30,19:20,20:10;
+ 8:50,9:40,10:45,11:35,12:25,14:15,15:05,16:00,16:50,19:15,20:05,20:55
+ }
+
+ \classnum{14}
\end{verbatim}
-This command can add time to the left side of the timetable, and the first line of the content is the start time of the class while the second line of the content is the end time of the class, each time separates with comma (\verb|,|), the first line and the second line separates with semicolon (\verb|;|).
+The command \cmd{timelist} can add time to the left side of the timetable, and the first line of the content is the start time of the classes while the second line of the content is the end time of the classes, each time separates with a comma (\verb|,|), the first line and the second line separates with a semicolon (\verb|;|).
The timetable can automatically generate the corresponding number of rows based on the number of time groups you enter. For example, the code above has 12 groups of times, a 12-row timetable will be generated.
+The command \cmd{classnum} can directly assign the number of rows on the timetable you want without adding time to the left side of the timetable, and there will only be a series of numbers that \emph{aligned vertically to the center of every line}.
+
+The following table shows the effects brought about by the usage of the two commands.
+\begin{table}[!ht]
+\centering
+\caption{Usage of commands \cmd{timelist} and \cmd{classnum}.}
+
+\begin{tabularx}{\textwidth}{c >{\raggedright\arraybackslash}X >{\raggedright\arraybackslash}X}
+ \toprule
+ \diagbox{\cmd{classnum}}{\cmd{timelist}} & \multicolumn{1}{c}{To use} & \multicolumn{1}{c}{Not to use}\\
+ \midrule
+ To use &
+ The effect is like the description of command \cmd{timelist}\newline But the number of rows will be assigned by \cmd{classnum} &
+ The effect is like the description of command \cmd{classnum} before\\
+ \midrule
+ Not to use &
+ The effect is like the description of command \cmd{timelist} before &
+ The effect is like the description of command \cmd{timelist} before with \emph{default format of 12 lines}\\
+ \bottomrule
+\end{tabularx}
+\end{table}
+
+\begin{itemize}
+ \item Assume that \cmd{timelist} has 12 groups of times, and \cmd{classnum} passed a value of 14, then the left side of the timetable will have only 1 -- 12 rows with time while the last two rows without time the label of them is still upward, not vertically aligned in the center.
+ \item Assume that \cmd{timelist} has 14 sets of times, and \cmd{classnum} passes a value of 12, then only 12 rows of timetables will be generated with time on the left side of each row, that is, the last two sets of data in \cmd{timelist} will be invalid.
+\end{itemize}
+
+\subsection{The \cmd{weeks} command}
+\begin{verbatim}
+ \weeks{Week 1 -- 16}
+\end{verbatim}
+
+This command can assign the default value of the 7th variable of the command \cmd{course}.
+
\subsection{The \cmd{course} command}
\begin{verbatim}
- \course{H5}{3}{5}{AQM}{Building 6·225}{Yuan Li \& Mengnan Chen}{Week 1 -- 18}
+ \course[H1]{8}{9}{Group Theory}{Building 6 · 211}{Li Ge}[Week 1 -- 16]
\end{verbatim}
There are 7 variables in this command.
\begin{itemize}
- \item The 1st one is the color of the class that you want, from ``H1'' to ``H5''.
+ \item The 1st one is the color of the class that you want, from ``H1'' to ``H9'', it's optional and the default value is ``H1''.
\item The 2nd and 3rd ones is the starting number and ending number of the class.
\item The 4th one is the name of the class.
\item The 5th one is the address of the class.
\item The 6th one is the name of the teacher(s).
- \item The last one is the start week and end week of the class.
+ \item The last one is the start week and end week of the timetable, it's optional and the default value is the value that you've adjusted in the command \cmd{weeks} or it will be ``Week 1 -- 12''.
\end{itemize}
\subsection{The \cmd{newday} command}
@@ -164,7 +197,7 @@ This command can switch the current weekday to the next day, then the course wil
\subsection{The \cmd{more} command}
\begin{verbatim}
- \more{·School Start: 04 / 03 / 2024 ·Summer Vacation: 05 / 07 / 2024}
+ \more{ · School Start: 04 / 03 / 2024 · Summer Vacation: 05 / 07 / 2024}
\end{verbatim}
This command can add remark at the end of the class schedule.
@@ -172,15 +205,29 @@ This command can add remark at the end of the class schedule.
\begin{verbatim}
\sticker{favicon}
\end{verbatim}
-There will be a sticker on the southeast of the page after you add,otherwise it won't.
+There will be a sticker on the southeast of the page after you add, otherwise it won't.
+
+\subsection{The \cmd{(re)rotatepage} command}
+The \cmd{rotatepage} command can change the direction of the timetable temporarily while the \cmd{rerotatepage} command can restore it.
+
+\section{Known Issue: Resolution exceed}
+\begin{verbatim}
+ Dimension too large. <recently read> \pgfmath@x
+\end{verbatim}
+
+When you choose the \mode{landscape} mode and you've added 7 workdays or more (?although the `above' occasion will not occur), it will return this error.
+
+This is mainly caused by the reason that \emph{\textsf{\TeX} has no built-in floating number representation} (Reference: \cprotect{\href{https://tex.stackexchange.com/a/545416/299948}}{How to solve the error `Dimension too large. <recently read> \verb|\pgfmath@x|' while doing the calculations in the table}).
+
+If one can solve this problem through optimization algorithms or other means, welcome submit your code via GitHub: \url{https://github.com/xiamyphys/litetable}, or contact me via email \href{mail:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com}.
\section{Version History}
The design of this course schedule originated from the student course schedule web page\footnote{Only those studying at or graduated from Hangzhou Dianzi University can have the permission of access.} of the \href{https://www.hduhelp.cn/}{HDUHelp} in \href{https://www.hdu.edu.cn}{Hangzhou Dianzi University}\footnote{https://en.wikipedia.org/wiki/Hangzhou\_Dianzi\_University}. The layout is very beautiful and then I used \LaTeX{} to imitate that style and made a class schedule template to share with everyone.
-\textsf{\bfseries Version 1.0} was finished on 1 September, 2023 and released on \href{https://www.latexstudio.net/index/details/index/mid/3625.html}{\LaTeX{} Studio} (Xiaoshan, Hangzhou) and \href{http://xhslink.com/od7Ycw}{Xiaohongshu}, where won the favor of many people.
+\textsf{\bfseries Version 1.0} was finished on 1 September, 2023 and released on \href{https://www.latexstudio.net/index/details/index/mid/3625.html}{\LaTeX{} Studio} (Hangzhou) and \href{http://xhslink.com/od7Ycw}{Xiaohongshu}, where won the favor of many people.
-\textsf{\bfseries Version 2.0a} was finished developing on 1 November, 2023 and released on \href{https://www.latexstudio.net/index/details/index/mid/3636.html}{\LaTeX{} Studio} (Xiaoshan, Hangzhou) and \href{http://xhslink.com/od7Ycw}{Xiaohongshu}. This version used \verb|.cls| files to make the \verb|main.tex| file more concise. Also, this version have added a global option to choose whether the corners of the ``course Block" to be round or sharp. And this version support adds multiply class schedules in one \verb|.tex| file.
+\textsf{\bfseries Version 2.0a} was finished developing on 1 November, 2023 and released on \href{https://www.latexstudio.net/index/details/index/mid/3636.html}{\LaTeX{} Studio} (Xiaoshan, Hangzhou) and \href{http://xhslink.com/od7Ycw}{Xiaohongshu}. This version used \verb|.cls| files to make the \verb|main.tex| file more concise. Also, this version has added a global option to choose whether the corners of the ``course Block'' to be round or sharp. And this version support adds multiply class schedules in one \verb|.tex| file.
\textsf{\bfseries Version 2.1a} was finished developing on 5 November, 2023. Supports the libertinus font.
@@ -188,7 +235,12 @@ The design of this course schedule originated from the student course schedule w
\textsf{\bfseries Version 2.3a} was finished developing on 2 February, 2024. This version supports automatically generate the corresponding number of rows based on the number of time groups you enter, and in this version, timetable can be displayed horizontally or portrait as you like.
-\setstretch{.5}
+\textsf{\bfseries Version 2.3b} was finished developing on 3 February, 2024. This version optimized coordinate calculation and improved compilation speed.
+
+\textsf{\bfseries Version 2.4a} was finished developing on 24 February, 2024. Happy Lantern Festival! This version supports custom workday display style, and supports hiding time and only showing course program number vertically aligned.
+
+\clearpage
+
\datechange{2023/09/01}{Version 2.0a}
\begin{itemize}
\item Supports the course block's corners be round or sharp.
@@ -215,11 +267,25 @@ The design of this course schedule originated from the student course schedule w
\item Timetable can be displayed portrait or horizontally as you like.
\end{itemize}
-\newpage\setstretch{1}
+\datechange{2024/02/03}{Version 2.3b}
+\begin{itemize}
+ \item Optimized coordinate calculation and improved compilation speed.
+\end{itemize}
+
+\datechange{\today}{Version 2.4a}
+\begin{itemize}
+ \item Supports custom workday display style.
+ \item Supports hiding time and only showing course program number vertically aligned.
+ \item Supports setting default first and last week.
+\end{itemize}
+
\appendix
-\section{Document Example}
-\lstinputlisting[style=TeX]{litetable-demo1.tex}
-\includepdf[pages=-,nup=1x2]{litetable-demo1.pdf}
-\includepdf[pages=-]{litetable-demo2.pdf}
+\includepdf[pages={2,4},nup=1x2,pagecommand={
+ \tikz[remember picture, overlay]
+ \node [rotate=90,below,yshift=-1em] at (current page.west) {\bfseries\LARGE Document Example: \texttt{litetable-demo.tex}};
+ }
+]{litetable-demo.pdf}
+\includepdf[pages={1,3}]{litetable-demo.pdf}
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/litetable/tex/litetable.cls b/macros/latex/contrib/litetable/tex/litetable.cls
index a1862b985d..10d6882ff4 100644
--- a/macros/latex/contrib/litetable/tex/litetable.cls
+++ b/macros/latex/contrib/litetable/tex/litetable.cls
@@ -7,14 +7,14 @@
%% * version. * * * ** * * * * *
%% ****************************************************** ***** ** * * *** * * *
%% start of file `litetable.cls'. *
-%% Copyright 2023 LiteLaTeX (xiamyphys@gmail.com) *
+%% Copyright 2023-2024 LiteLaTeX (xiamyphys@gmail.com) *
%% available at https://github.com/xiamyphys/LiteTable *
-%% !Mode:: "TeX:UTF-8" *
+% !Mode:: "TeX:UTF-8" *
%% ************************************************************************************************************
\NeedsTeXFormat{LaTeX2e}
\PassOptionsToPackage{quiet}{xeCJK}
\PassOptionsToPackage{no-math}{fontspec}
-\ProvidesClass{litetable}[2024/02/02/ v2.3a LiteTable document class]
+\ProvidesClass{litetable}[2024/02/24/ v2.4a LiteTable document class]
% ---------- 全局选项 ---------- %
\RequirePackage{kvoptions}
@@ -29,13 +29,9 @@
\DeclareVoidOption{portiait}{\kvsetkeys{LITE}{direction=portiait}}
\DeclareVoidOption{landscape}{\kvsetkeys{LITE}{direction=landscape}}
-\DeclareStringOption[en]{date}
-\DeclareVoidOption{en}{\kvsetkeys{LITE}{date=en}}
-\DeclareVoidOption{cn}{\kvsetkeys{LITE}{date=cn}}
-
\DeclareStringOption[times]{font}
-\DeclareVoidOption{times}{\kvsetkeys{LITE}{date=times}}
-\DeclareVoidOption{libertinus}{\kvsetkeys{LITE}{date=libertinus}}
+\DeclareVoidOption{times}{\kvsetkeys{LITE}{font=times}}
+\DeclareVoidOption{libertinus}{\kvsetkeys{LITE}{font=libertinus}}
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{standalone}}
\ProcessKeyvalOptions*\relax
@@ -45,10 +41,9 @@
% ---- 文本中的数字 & 字母设置 ---- %
\RequirePackage{xeCJK}
\setCJKfamilyfont{zhhei}{Heiti SC}
-\newcommand*\heiti{\CJKfamily{zhhei}}
+\newcommand*\heiti{\CJKfamily{zhhei}}
\ifdefstring{\LITE@font}{libertinus}{
-\setmainfont{Libertinus Serif}
-\setsansfont{Libertinus Sans}
+\RequirePackage{libertine}
}{\relax}
\ifdefstring{\LITE@font}{times}{
\ifXeTeX
@@ -78,6 +73,9 @@
\definecolor{darkergray}{HTML}{F1F3F5} % 深色块
\definecolor{lightergray}{HTML}{FCFDFE} % 浅色块
\definecolor{blackgray}{HTML}{1A1D21} % 序号颜色
+
+\pagecolor{lightergray}
+
\definecolor{H1}{HTML}{74A7A2} % 深绿
\definecolor{H1*}{HTML}{E9EEED}
\definecolor{H1**}{HTML}{009787}
@@ -105,12 +103,14 @@
\definecolor{H9}{HTML}{D09966} % 棕色
\definecolor{H9*}{HTML}{F2E0D0}
\definecolor{H9**}{HTML}{C96F1C}
-\pagecolor{lightergray}
-\definecolor{丹色}{HTML}{E45E32}
-\definecolor{紅緋}{HTML}{E83929}
-\definecolor{紺碧}{HTML}{007BBB}
-\definecolor{青碧}{HTML}{478384}
-\definecolor{金色}{HTML}{E6B422}
+
+\definecolor{W1}{HTML}{CCAD52}
+\definecolor{W2}{HTML}{8FCC52}
+\definecolor{W3}{HTML}{52CC70}
+\definecolor{W4}{HTML}{52CCCC}
+\definecolor{W5}{HTML}{5270CC}
+\definecolor{W6}{HTML}{8F52CC}
+\definecolor{W7}{HTML}{CC52AD}
\usetikzlibrary{calc}
\ifdefstring{\LITE@direction}{portiait}{
@@ -120,6 +120,10 @@
\def\pagewidth{11 in}
\def\pageheight{-8.5 in}
}
+ \def\rerotatepage{
+ \def\pagewidth{8.5 in}
+ \def\pageheight{-11 in}
+ }
}{\relax}
\ifdefstring{\LITE@direction}{landscape}{
\def\pagewidth{11 in}
@@ -128,17 +132,18 @@
\def\pagewidth{8.5 in}
\def\pageheight{-11 in}
}
+ \def\rerotatepage{
+ \def\pagewidth{11 in}
+ \def\pageheight{-8.5 in}
+ }
}{\relax}
\ifdefstring{\LITE@style}{round}{\def\corners{rounded corners}}{\relax}
\ifdefstring{\LITE@style}{sharp}{\def\corners{}}{\relax}
-\ExplSyntaxOn % 二维数组
-\seq_new:N \l_node_row_seq
-\seq_new:N \l_node_tmp_seq
+\ExplSyntaxOn % 数组
\cs_set:Npn \timelist #1 {
- \gdef\@timelist{#1} % 判断\@timelist是否存在
- \gdef\@classnum{\int_div_round:nn {\clist_count:n {#1}}{2}} % 计数模块
+ \gdef\@timelist{#1}
\seq_set_split:Nnn \l_node_row_seq {;} {#1}
\int_step_inline:nn{\seq_count:N \l_node_row_seq}
{
@@ -175,66 +180,135 @@
}
}
}
+
+\cs_set:Npn \weeklist #1 {
+ \gdef\@weeklist{#1}
+ \gdef\@weeknum{\clist_count:n {#1}} % 计数模块
+ \seq_set_split:Nnn \r_node_row_seq {;} {#1}
+ \int_step_inline:nn{\seq_count:N \r_node_row_seq}
+ {
+ \exp_args:Ncx\seq_set_from_clist:Nn {r_node_row_##1_seq} {\seq_item:Nn \r_node_row_seq{##1}}
+ }
+}
+
+\cs_set:Npn \PrintWeek [#1] {
+ \tl_if_empty:nTF {#1}
+ {
+ \seq_use:cn {r_node_row_1_seq}{,}
+ }
+ {
+ \seq_item:cn {r_node_row_1_seq}{#1}
+ }
+}
\ExplSyntaxOff
+
+\def\classnum#1{\gdef\@classnum{#1}}
+\ifcsname @classnum\endcsname % 判断`\@classnum'由`\timelist'计数赋值还是`\classnum'直接赋值
+ \relax
+ \else
+ \ifcsname @timelist\endcsname
+ \gdef\@classnum{\int_div_round:nn {\clist_count:n {\@timelist}}{2}} % 计数模块
+ \else
+ \def\@classnum{12}
+ \fi
+\fi
+
\RequirePackage{fontawesome5}
\newcounter{number}
-\def\sticker{\gdef\@sticker}
+\def\sticker#1{\gdef\@sticker{#1}}
\def\makeframe#1{
- \draw [gray!75] (0,0) rectangle (\pagewidth,\pageheight);
+ \draw [darkergray] (0,0) rectangle (\pagewidth,\pageheight);
\fill [fill=darkergray,\corners] (0,0) rectangle (\pagewidth,{1.5*\pageheight/(2*\@classnum+3.5)});% 顶部深灰色块
\node at (.5*\pagewidth,{.75*\pageheight/(2*\@classnum+3.5)}) {\huge\bfseries\sffamily #1}; % 标题
+
\ifodd\@classnum
- \foreach \a in {2,4,...,\@classnum,\@classnum+1}
- \fill [fill=darkergray,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\a-2)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
+ \foreach \a in {2,4,...,\@classnum,\@classnum+2}
+ \fill [fill=darkergray,yshift=(2*\a-1.5)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
\else
\foreach \a in {2,4,...,\@classnum}
- \fill [fill=darkergray,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\a-2)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
- \fill [fill=darkergray,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*\@classnum*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{\pageheight/(2*\@classnum+3.5)}); % 底部深灰色块
+ \fill [fill=darkergray,yshift=(2*\a-1.5)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{2*\pageheight/(2*\@classnum+3.5)}); % 中间深灰色块(循环)
+ \fill [fill=darkergray,yshift=(2.5+2*\@classnum)*\pageheight/(2*\@classnum+3.5),\corners] (0,0) rectangle (\pagewidth,{\pageheight/(2*\@classnum+3.5)}); % 底部深灰色块
\fi
+
\foreach \a in {0,1,2,...,\@classnum}
- \draw [densely dashed,gray!75,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*\a*\pageheight/(2*\@classnum+3.5),] (0,0)--(\pagewidth,0); % 分割虚线
+ \draw [densely dashed,gray!75,yshift=(2.5+2*\a)*\pageheight/(2*\@classnum+3.5)] (0,0)--(\pagewidth,0); % 分割虚线
+
% 时间标注
\setcounter{number}{0}
- \foreach \a in {1,2,...,\@classnum}
- \node [yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\a-.8)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0) {\bfseries\color{blackgray}\texttt{\refstepcounter{number}\thenumber}};
\ifcsname @timelist\endcsname % 若 `\@timelist == empty', 跳过该函数
- \foreach \x in {1,2,...,\@classnum}
- {
- \node[yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\x-.475)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0) {\color{darkgray}\texttt{\PrintTime[1][\x]}};
- \node[yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*(\x-.2)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0) {\color{darkgray}\texttt{\PrintTime[2][\x]}};
- }\fi
+ \foreach \x in {1,2,...,\@classnum}
+ {
+ \node [yshift=(2*\x+.9)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0)
+ {\bfseries\color{blackgray}\texttt{\refstepcounter{number}\thenumber}};
+ \node[yshift=(2*\x+1.55)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0)
+ {\color{darkgray}\texttt{\PrintTime[1][\x]}};
+ \node[yshift=(2*\x+2.1)*\pageheight/(2*\@classnum+3.5)] at (\pagewidth/32,0)
+ {\color{darkgray}\texttt{\PrintTime[2][\x]}};
+ }
+ \else
+ \foreach \a in {1,2,...,\@classnum}
+ {
+ \node [yshift=(1.5+2*\a)*\pageheight/(2*\@classnum+3.5)] at(\pagewidth/32,0)
+ {\bfseries\large\color{blackgray}\texttt{\refstepcounter{number}\thenumber}};
+ }
+ \fi
% 星期标注
- \ifdefstring{\LITE@date}{en}{
- \node [xshift=2.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{丹色}\faIcon{moon}\;\bfseries\heiti{Monday}};
- \node [xshift=5.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{紅緋}\faIcon{fire}\;\bfseries\heiti{Tuesday}};
- \node [xshift=8.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{紺碧}\faIcon{water}\;\bfseries\heiti{Wednesday}};
- \node [xshift=11.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{青碧}\faIcon{tree}\;\bfseries\heiti{Thursday}};
- \node [xshift=14.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{金色}\faIcon{sun}\;\bfseries\heiti{Friday}};
- }{\relax}
- \ifdefstring{\LITE@date}{cn}{
- \node [xshift=2.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{丹色}\faIcon{moon}\;\bfseries\heiti{星期一}};
- \node [xshift=5.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{紅緋}\faIcon{fire}\;\bfseries\heiti{星期二}};
- \node [xshift=8.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{紺碧}\faIcon{water}\;\bfseries\heiti{星期三}};
- \node [xshift=11.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{青碧}\faIcon{tree}\;\bfseries\heiti{星期四}};
- \node [xshift=14.5*\pagewidth/16] at (0,{2*\pageheight/(2*\@classnum+3.5)}) {\color{金色}\faIcon{sun}\;\bfseries\heiti{星期五}};
- }{\relax}
+ \foreach \a in {1,2,...,\@weeknum}
+ \node [xshift=3*\a*\pagewidth/16] at ({\pagewidth/16-\a*(15*\pagewidth/16*(1/5-1/\@weeknum))-7.5*\pagewidth/(16*\@weeknum)},{2*\pageheight/(2*\@classnum+3.5)})
+ {\PrintWeek[\a]};
\ifcsname @sticker\endcsname
- \node [opacity=.3,anchor=south east,yshift=1.5*\pageheight/(2*\@classnum+3.5)+2*\@classnum*\pageheight/(2*\@classnum+3.5),inner sep=0pt,scale=3] at (\pagewidth,{\pageheight/(2*\@classnum+3.5)}) {\includegraphics[width=\dimeval{\pagewidth/16}]{\@sticker}};\fi
+ \node [opacity=.3,above left,yshift=(1.5+2*\@classnum)*\pageheight/(2*\@classnum+3.5),inner sep=0pt,outer sep=auto,scale=15] at (\pagewidth,{\pageheight/(2*\@classnum+3.5)}) {\includegraphics[width=\dimeval{\pagewidth/16/\@weeknum}]{\@sticker}};\fi
}
\newcounter{weekday}
\def\newday{\addtocounter{weekday}{1}}
\AtEndEnvironment{tikzpicture}{\setcounter{weekday}{0}}
-\newcommand{\course}[7]
+
+\def\weeks#1{\gdef\@weeks{#1}}
+\ifcsname @weeks\endcsname
+ \relax
+\else
+ \let\@weeks\relax
+\fi
+
+\NewDocumentCommand{\course}{O{H1} m m m m m O{\@weeks}}
{
- \fill [#1,\corners,yshift=2*(#2-1)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] (\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle (4*\pagewidth/16,{(4.5+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % frame
- \fill [#1*,\corners,yshift=(2*(#2-1)+.5)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] (\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle (4*\pagewidth/16,{(4+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % content
- \node [#1**,yshift=(#2+#3-1.25)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) {\heiti\large\bfseries #4}; % course
- \node [#1**,anchor=south,yshift=(#2+#3-.2)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) {\heiti\bfseries\small #5}; % location
- \node [#1**,anchor=north,yshift=(#2+#3-.2)*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] at (2.5*\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) {\heiti\bfseries\small #6}; % teacher
- \node [#1**,anchor=south east,yshift=2*#3*\pageheight/(2*\@classnum+3.5),xshift=3*\theweekday*\pagewidth/16] at (4*\pagewidth/16,{2.5*\pageheight/(2*\@classnum+3.5)}) {\heiti\footnotesize #7}; % weeks
+ \fill [#1,\corners,
+ yshift=(2*(#2-1))*\pageheight/(2*\@classnum+3.5),
+ xshift=3*\theweekday*\pagewidth/16]
+ ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))},{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle ++
+ ({15*\pagewidth/(16*\@weeknum)},{(2+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % frame
+
+ \fill [#1*,\corners,
+ yshift=(2*(#2-1)+.5)*\pageheight/(2*\@classnum+3.5),
+ xshift=3*\theweekday*\pagewidth/16]
+ ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))},{2.5*\pageheight/(2*\@classnum+3.5)}) rectangle ++
+ ({15*\pagewidth/(16*\@weeknum)},{(1.5+2*(#3-#2))*\pageheight/(2*\@classnum+3.5)}); % content
+
+ \node [#1**,yshift=(#2+#3-1.25)*\pageheight/(2*\@classnum+3.5),
+ xshift=3*\theweekday*\pagewidth/16] at
+ ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))+7.5*\pagewidth/(16*\@weeknum)},{2.5*\pageheight/(2*\@classnum+3.5)})
+ {\heiti\large\bfseries #4}; % course
+
+ \node [#1**,above,
+ yshift=(#2+#3-.2)*\pageheight/(2*\@classnum+3.5),
+ xshift=3*\theweekday*\pagewidth/16] at
+ ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))+7.5*\pagewidth/(16*\@weeknum)},{2.5*\pageheight/(2*\@classnum+3.5)})
+ {\heiti\bfseries\small #5}; % location
+
+ \node [#1**,below,
+ yshift=(#2+#3-.2)*\pageheight/(2*\@classnum+3.5),
+ xshift=3*\theweekday*\pagewidth/16] at
+ ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))+7.5*\pagewidth/(16*\@weeknum)},{2.5*\pageheight/(2*\@classnum+3.5)})
+ {\heiti\bfseries\small #6}; % teacher
+
+ \node [#1**,above left,
+ yshift=2*#3*\pageheight/(2*\@classnum+3.5),
+ xshift=3*\theweekday*\pagewidth/16] at
+ ({\pagewidth/16-\theweekday*(15*\pagewidth/16*(1/5-1/\@weeknum))+15*\pagewidth/(16*\@weeknum)},{2.5*\pageheight/(2*\@classnum+3.5)})
+ {\heiti\footnotesize #7}; % weeks
}
\def\more#1{
- \node [xshift=-1em,yshift=2.5*\pageheight/(2*\@classnum+3.5)+2*\@classnum*\pageheight/(2*\@classnum+3.5),anchor=east] at (\pagewidth,{.5*\pageheight/(2*\@classnum+3.5)}){\small\bfseries\color{darkgray}#1};
+ \node [xshift=-1em,yshift=(2.5+2*\@classnum)*\pageheight/(2*\@classnum+3.5),left] at (\pagewidth,{.5*\pageheight/(2*\@classnum+3.5)}){\small\bfseries\color{darkgray}#1};
} \ No newline at end of file
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index fbe6d2acd2..d961221c89 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -19,84 +19,84 @@
%<*ProjLib>
\ProvidesExplPackage
{ProjLib}
- {2024/02/22} {}
+ {2024/02/24} {}
{Collective interface of the ProjLib toolkit}
%</ProjLib>
%
%<*projlib-author>
\ProvidesExplPackage
{projlib-author}
- {2024/02/22} {}
+ {2024/02/24} {}
{Enhanced author information block}
%</projlib-author>
%
%<*projlib-datetime>
\ProvidesExplPackage
{projlib-datetime}
- {2024/02/22} {}
+ {2024/02/24} {}
{Convert numeric date-time string to natural language}
%</projlib-datetime>
%
%<*projlib-draft>
\ProvidesExplPackage
{projlib-draft}
- {2024/02/22} {}
+ {2024/02/24} {}
{Useful commands during draft stage}
%</projlib-draft>
%
%<*projlib-font>
\ProvidesExplPackage
{projlib-font}
- {2024/02/22} {}
+ {2024/02/24} {}
{Font selection and configuration}
%</projlib-font>
%
%<*projlib-language>
\ProvidesExplPackage
{projlib-language}
- {2024/02/22} {}
+ {2024/02/24} {}
{Multi-language configuration}
%</projlib-language>
%
%<*projlib-logo>
\ProvidesExplPackage
{projlib-logo}
- {2024/02/22} {}
+ {2024/02/24} {}
{The ProjLib logo}
%</projlib-logo>
%
%<*projlib-math>
\ProvidesExplPackage
{projlib-math}
- {2024/02/22} {}
+ {2024/02/24} {}
{Efficient math setup}
%</projlib-math>
%
%<*projlib-paper>
\ProvidesExplPackage
{projlib-paper}
- {2024/02/22} {}
+ {2024/02/24} {}
{Configuration of the paper style}
%</projlib-paper>
%
%<*projlib-text>
\ProvidesExplPackage
{projlib-text}
- {2024/02/22} {}
+ {2024/02/24} {}
{Text-related commands}
%</projlib-text>
%
%<*projlib-theorem>
\ProvidesExplPackage
{projlib-theorem}
- {2024/02/22} {}
+ {2024/02/24} {}
{Configuration of theorem-like environments}
%</projlib-theorem>
%
%<*projlib-titlepage>
\ProvidesExplPackage
{projlib-titlepage}
- {2024/02/22} {}
+ {2024/02/24} {}
{Interface for title page rendering}
%</projlib-titlepage>
@@ -229,7 +229,7 @@
% If there is nothing before, the following line does nothing
% If there is an affil before, this will backward one line
\phantom {A} \\[-\baselineskip]
- \tl_if_blank:nTF { #1 }
+ \projlib_author_if_content_empty:nTF { #1 }
{
\skip_vertical:n { \g__projlib_author_emptysep_dim }
\phantom {}
diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md
index e5d6b13900..207a68fe12 100644
--- a/macros/latex/contrib/projlib/README.md
+++ b/macros/latex/contrib/projlib/README.md
@@ -5,7 +5,7 @@
# The `ProjLib` Toolkit
-> **This bundle is dated 2024/02/22.**
+> **This bundle is dated 2024/02/24.**
> **New documentations are still being written. For now, only the core code is included in TeX Live 2024 and MiKTeX (old documentations have been removed from the distribution).**
diff --git a/macros/unicodetex/latex/bithesis/bithesis.dtx b/macros/unicodetex/latex/bithesis/bithesis.dtx
index 10374a0ad4..4aabfac1cc 100644
--- a/macros/unicodetex/latex/bithesis/bithesis.dtx
+++ b/macros/unicodetex/latex/bithesis/bithesis.dtx
@@ -21,10 +21,10 @@
%<thesis>\ProvidesExplClass{bithesis}
%<report>\ProvidesExplClass{bitreport}
%<beamer>\ProvidesExplClass{bitbeamer}
-%<cls>{2023-10-24}{3.6.1}{BIT Thesis Templates}
+%<cls>{2024-02-24}{3.6.2}{BIT Thesis Templates}
%
%<*driver>
-\ProvidesFile{bithesis.dtx}[2023/10/24 3.6.1 BIT Thesis Templates]
+\ProvidesFile{bithesis.dtx}[2024/02/24 3.6.2 BIT Thesis Templates]
\documentclass[letterpaper]{l3doc}
\usepackage{dtx-style}
@@ -2159,7 +2159,8 @@
\zihao{2}\textbf{\songti{\l_@@_style_headline_tl}}
- \vspace{10mm}
+ % 外文翻译封面有两组中英文标题,行数变化范围大,因此采用 fill 比例布局
+ \vspace{\stretch{1}}
{
@@ -2171,8 +2172,8 @@
\dim_set:Nn \l_@@_cover_value_max_width_dim {115mm}
\clist_set:Nn \l_@@_input_clist {
- {\zihao{4}\textbf{外文原文题目}} {\l_@@_value_trans_origin_title_tl},
- {\zihao{4}\textbf{中文翻译题目}} {\l_@@_value_trans_title_tl},
+ {\songti\zihao{4}\textbf{外文原文题目}} {\l_@@_value_trans_origin_title_tl},
+ {\songti\zihao{4}\textbf{中文翻译题目}} {\l_@@_value_trans_title_tl},
}
\zihao{-3}
@@ -2184,7 +2185,7 @@
}
- \vspace{19mm}
+ \vspace{\stretch{1}}
\zihao{2}\textbf{\xihei:n \l_@@_value_title_tl}\par
@@ -2194,7 +2195,7 @@
\zihao{3}\selectfont{\textbf{\l_@@_value_title_en_tl}}\par
\end{spacing}
- \vspace{19mm}
+ \vspace{\stretch{0.67}}
\begin{spacing}{1.8}
\tl_if_empty:NT \l_@@_cover_dilimiter_tl {
@@ -2229,7 +2230,7 @@
\end{spacing}
- \vspace*{\fill}
+ \vspace{\stretch{0.67}}
\end{titlepage}
}
{3} {
diff --git a/macros/unicodetex/latex/bithesis/bithesis.pdf b/macros/unicodetex/latex/bithesis/bithesis.pdf
index 30446bfc25..eb6f548778 100644
--- a/macros/unicodetex/latex/bithesis/bithesis.pdf
+++ b/macros/unicodetex/latex/bithesis/bithesis.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/fontsetup/README b/macros/unicodetex/latex/fontsetup/README
index 1c180e21c1..3c2ec51ef0 100644
--- a/macros/unicodetex/latex/fontsetup/README
+++ b/macros/unicodetex/latex/fontsetup/README
@@ -1,5 +1,5 @@
The fontsetup package
- (Version 2.1.0, GPL3)
+ (Version 2.1.1, GPL3)
This simple package makes it trivial to switch quickly between
different quality fonts supporting Mathematics.
diff --git a/macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf b/macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf
index 5cedc1ae3b..68d519c607 100644
--- a/macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf
+++ b/macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex b/macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex
index d33b8d0084..d8ec1bd337 100644
--- a/macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex
+++ b/macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex
@@ -1,6 +1,8 @@
\documentclass{book}
\synctex=1
\usepackage[default]{fontsetup}
+%\usepackage[fira]{fontsetup}
+%\usepackage{fontsetup}
\newfontfamily\newcmgreekguillemots[CharacterVariant=4]{NewCM10-Book.otf}
\newfontfamily\devfont[Script=Devanagari,Language=Marathi]{NewCM10Devanagari-Book.otf}
\newcommand\leftgrquotes{\char"201C}
@@ -15,8 +17,8 @@
\textit{by}\\[1ex]
{\large Antonis Tsolomitis}\\
University of the Aegean\\ Department of Mathematics\\[1ex]
- \textsc{26} December \textsc{2023}\\[1ex]
- Version 2.1.0, \textsc{gpl3}
+ \textsc{24} February \textsc{2024}\\[1ex]
+ Version 2.1.1, \textsc{gpl3}
\end{center}
This package is a simple wrapper-type package that makes the setup of fonts easy and
diff --git a/macros/unicodetex/latex/fontsetup/tex/fontsetup.sty b/macros/unicodetex/latex/fontsetup/tex/fontsetup.sty
index 84b374b795..6656d2a95f 100644
--- a/macros/unicodetex/latex/fontsetup/tex/fontsetup.sty
+++ b/macros/unicodetex/latex/fontsetup/tex/fontsetup.sty
@@ -1,4 +1,4 @@
-\ProvidesPackage{fontsetup}[2024/1/11 v2.1.0 For easily using font families with mathematics]
+\ProvidesPackage{fontsetup}[2024/2/24 v2.1.1 For easily using font families with mathematics]
\RequirePackage{iflang}
\RequirePackage{iftex}
% Provide a test to know if a 16bits TeX is used.
@@ -27,6 +27,7 @@
\newif\if@palatino
\newif\if@msgaramond
\newif\if@minion
+\newif\if@packagewithoptions
\newcommand*\greeksetup{%
\newcommand*\leftgrquotes{\char"201C}%
\newcommand*\rightgrquotes{\char"201E}%
@@ -80,6 +81,7 @@
\newcommand*{\regularorbook}{Book}%
\ncmsetup
\endgroup
+ \@packagewithoptionstrue
}
\DeclareOption{olddefault}{%
\input{fspolddefault}%
@@ -87,49 +89,60 @@
\newcommand*{\regularorbook}{Regular}%
\ncmsetup
\endgroup
+ \@packagewithoptionstrue
}
% Install Cambria as a system font.
% cambria.ttc, cambriai.ttf, cambriab.ttf, cambriaz.ttf
-\DeclareOption{cambria}{\input{fspcambria}}
-\DeclareOption{concrete}{\input{fspconcrete}}
-\DeclareOption{ebgaramond}{\input{fspebgaramondot}}
-\DeclareOption{erewhon}{\input{fsperewhon}\@erewhontrue}
-\DeclareOption{euler}{\input{fspeulerot}}
-\DeclareOption{fira}{\input{fspfiraot}}
-\DeclareOption{gfsartemisia}{\input{fspgfsartemisiaot}}
-\DeclareOption{gfsdidot}{\input{fspgfsdidotot}}
-\DeclareOption{gfsdidotclassic}{\input{fspgfsdidotclassicot}\@gfstrue}
-\DeclareOption{gfsneohellenic}{\input{fspgfsneohellenicot}}
-\DeclareOption{kerkis}{\input{fspkerkisot}}
-\DeclareOption{libertinus}{\@libertinustrue}
+\DeclareOption{cambria}{\input{fspcambria}\@packagewithoptionstrue}
+\DeclareOption{concrete}{\input{fspconcrete}\@packagewithoptionstrue}
+\DeclareOption{ebgaramond}{\input{fspebgaramondot}\@packagewithoptionstrue}
+\DeclareOption{erewhon}{\input{fsperewhon}\@erewhontrue\@packagewithoptionstrue}
+\DeclareOption{euler}{\input{fspeulerot}\@packagewithoptionstrue}
+\DeclareOption{fira}{\input{fspfiraot}\@packagewithoptionstrue}
+\DeclareOption{gfsartemisia}{\input{fspgfsartemisiaot}\@packagewithoptionstrue}
+\DeclareOption{gfsdidot}{\input{fspgfsdidotot}\@packagewithoptionstrue}
+\DeclareOption{gfsdidotclassic}{\input{fspgfsdidotclassicot}\@gfstrue\@packagewithoptionstrue}
+\DeclareOption{gfsneohellenic}{\input{fspgfsneohellenicot}\@packagewithoptionstrue}
+\DeclareOption{kerkis}{\input{fspkerkisot}\@packagewithoptionstrue}
+\DeclareOption{libertinus}{\@libertinustrue\@packagewithoptionstrue}
% Install Lucida in TeX tree
-\DeclareOption{lucida}{\input{fsplucidaot}}
+\DeclareOption{lucida}{\input{fsplucidaot}\@packagewithoptionstrue}
% Install MinionPro and provided fspMinionGreekSmallCaps as system fonts.
-\DeclareOption{minion}{\input{fspminion}\@miniontrue}
+\DeclareOption{minion}{\input{fspminion}\@miniontrue\@packagewithoptionstrue}
% Install Microsoft Garamond as a system font.
% Gara.ttf, Garai, Garabd
-\DeclareOption{msgaramond}{\input{fspmsgaramondot}\@msgaramondtrue}
-\DeclareOption{neoeuler}{\input{fspeulerot}}% compatibility
+\DeclareOption{msgaramond}{\input{fspmsgaramondot}\@msgaramondtrue\@packagewithoptionstrue}
+\DeclareOption{neoeuler}{\input{fspeulerot}\@packagewithoptionstrue}% compatibility
% Not released yet
% \DeclareOption{neokadmus}{\input{neokadmus}}
\DeclareOption{oldstandard}{\input{fspoldstandard}%
\if@upint
\setmathfont[StylisticSet=2]{OldStandard-Math.otf}%
\fi
+ \@packagewithoptionstrue
}
% Install Linotype Palatino as a system font.
% pala.ttf palai, palab, palabi.
% Install fspPalatinoGreekSmallCaps as a System font.
-\DeclareOption{palatino}{\input{fsppalatinoot}\@palatinotrue}
-\DeclareOption{stixtwo}{\input{fspstixtwoot}}
-\DeclareOption{talos}{\input{fsptalos}}
-\DeclareOption{times}{\input{fsptimesot}}
+\DeclareOption{palatino}{\input{fsppalatinoot}\@palatinotrue\@packagewithoptionstrue}
+\DeclareOption{stixtwo}{\input{fspstixtwoot}\@packagewithoptionstrue}
+\DeclareOption{talos}{\input{fsptalos}\@packagewithoptionstrue}
+\DeclareOption{times}{\input{fsptimesot}\@packagewithoptionstrue}
\DeclareOption{xcharter}{%
\input{fspxcharter}%
\@xchartertrue
+ \@packagewithoptionstrue
}
\DeclareOption*{\PackageWarning{fontsetup}{Unknown ‘\CurrentOption’}}
\ProcessOptions
+\if@packagewithoptions
+\else
+ \input{fspdefault}%
+ \begingroup
+ \newcommand*{\regularorbook}{Book}%
+ \ncmsetup
+ \endgroup
+\fi
\AtBeginDocument{%
\if@erewhon
\RequirePackage{fourier-otf}
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index 62528a3a28..ef1ad21663 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,8 @@
+2024-02-23 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-jats.tex (jats.4ht): added Permissions configuration for
+ copyright info. It is required by the JATS4R validator.
+
2024-02-22 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-jats.tex (jats.4ht): fixed DOCTYPE.
diff --git a/support/TeX4ht/source/tex4ht-jats.tex b/support/TeX4ht/source/tex4ht-jats.tex
index 071826a31e..e54de5ad20 100644
--- a/support/TeX4ht/source/tex4ht-jats.tex
+++ b/support/TeX4ht/source/tex4ht-jats.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-jats.tex 1472 2024-02-22 22:12:22Z karl $
+% $Id: tex4ht-jats.tex 1473 2024-02-23 12:26:51Z michal_h21 $
% compile 3 times: latex tex4ht-jats
% or xhlatex tex4ht-jats "html,3,sections+"
%
@@ -243,6 +243,11 @@ Configurations that are shared only for article and report
%
% Title needs to be placed at the correct place by DOM filter
\Configure{TITLE}{\HCode{<article-title>}}{\HCode{</article-title>}}
+
+% You can put license and copyright info into Permissions
+\NewConfigure{Permissions}{1}
+\Configure{Permissions}{\HCode{<permissions></permissions>}}
+
\NewConfigure{ArticleMeta}{1}
\Configure{ArticleMeta}{
\HCode{<article-meta>}%
@@ -250,6 +255,7 @@ Configurations that are shared only for article and report
% use \Configure{TitleGroup}
\a:TitleGroup%
\JATS:Contributors%
+ \a:Permissions
\HCode{</article-meta>}%
}
% enable to configure contributors
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 3e2a96e44c..83839d4c42 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -47,7 +47,6 @@ $mirrors = {
},
'Korea' => {
'http://ftp.ktug.org/tex-archive/' => 1,
- 'https://ftp.kaist.ac.kr/tex-archive/' => 1,
'https://kr.mirrors.cicku.me/ctan/' => 1,
'https://lab.uklee.pe.kr/tex-archive/' => 1,
'https://mirror.kakao.com/CTAN/' => 1,
@@ -187,7 +186,6 @@ $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,
@@ -200,7 +198,6 @@ $mirrors = {
'Australia' => {
'https://au.mirrors.cicku.me/ctan/' => 1,
'https://mirror.aarnet.edu.au/pub/CTAN/' => 1,
- 'https://mirror.cse.unsw.edu.au/pub/CTAN/' => 1,
},
},
'South America' => {
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 16d0f929d5..7478b88da2 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/70084
+depend revision/70116
name 00texlive.image
category TLCore
-revision 70050
+revision 70117
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
@@ -4461,6 +4461,7 @@ runfiles size=14451
tlpkg/tlpsrc/twemojis.tlpsrc
tlpkg/tlpsrc/twoinone.tlpsrc
tlpkg/tlpsrc/twoup.tlpsrc
+ tlpkg/tlpsrc/twoxtwogame.tlpsrc
tlpkg/tlpsrc/txfonts.tlpsrc
tlpkg/tlpsrc/txfontsb.tlpsrc
tlpkg/tlpsrc/txgreeks.tlpsrc
@@ -4854,7 +4855,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 70064
+revision 70087
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
@@ -70816,7 +70817,7 @@ containerchecksum 6c7f0a1829789edea6a42d45f13f482abc0aa1ecc66b0ba4b70197efff349d
name collection-games
category Collection
-revision 69159
+revision 70111
shortdesc Games typesetting
relocated 1
longdesc Setups for typesetting various games, including chess.
@@ -70870,12 +70871,13 @@ depend sudokubundle
depend tangramtikz
depend thematicpuzzle
depend trivialpursuit
+depend twoxtwogame
depend wargame
depend wordle
depend xq
depend xskak
-containersize 628
-containerchecksum 29cd464cc85a8632164c26468b441ddc97133e4e5ca291d9939e7c0c22c60c7a02df91d1e3cdf925b803976bd7f089d8c7e2b63cd32fb88f8760f546be921160
+containersize 632
+containerchecksum c85f3a6c649a22a664bc2c520bc8ca002564366d0664e60ba5916e5916d265f6d01cb157b857961ec8d1f333416d45d1ef0754f3ac60c4392c5ebb476748ce71
name collection-humanities
category Collection
@@ -75032,7 +75034,7 @@ catalogue-version 0.2
name colorist
category Package
-revision 70050
+revision 70101
shortdesc Write your articles or books in a colorful way
relocated 1
longdesc This package offers you a LaTeX style file and two classes to
@@ -75048,10 +75050,10 @@ longdesc simplified and traditional), English, French, German, Italian,
longdesc Japanese, Portuguese (European and Brazilian), Russian and
longdesc Spanish typesetting, and also use more beautiful fonts.
depend projlib
-containersize 11616
-containerchecksum eae376c0564dcdf3723c21b05f7bd5ce9cb161c0b119ff849b2bda0b98bd8fdbd21e98057145b0b685fd2e5c98facf91246ea7a19b584e88f435c24b3ff05b85
-doccontainersize 7412
-doccontainerchecksum 4ae6d9a9421e40832778b078b789b9ae7f56572d4cea46e8a91c6139db4bbe52632a2a7ba6c13102f3e3d3843e75f45f2b07ed8edc2c1d99094c16159214f718
+containersize 11644
+containerchecksum 5ff0c8affd4c3fe364bf9832811f5536316c383c212a85d78cbff62af4155092f6602b3a82d6a1bdadfa5bfb60c257a3b066658ec1704b31e24e1844c61f2a2d
+doccontainersize 7424
+doccontainerchecksum 133f8e9e5e504aa069ed60e7549579064664bb375af27e9e6457bc0347201a5902c1a3c699c4eecec5485fa905c7f026af9fe8a2de3aa8d5d2daac8c95efac83
docfiles size=7
RELOC/doc/latex/colorist/DEPENDS.txt
RELOC/doc/latex/colorist/LICENSE
@@ -86033,7 +86035,7 @@ catalogue-version 0.1.0
name crefthe
category Package
-revision 68813
+revision 70117
shortdesc Cross referencing with proper definite articles
relocated 1
longdesc By default, when using cleveref's \cref to reference
@@ -86043,10 +86045,10 @@ 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 4416
-containerchecksum 4222df8d84b006df3641dd2fd976440401b83c40e9ef0b126be8ba9b459eadc084cda58798db596e5ceabcf4b4f0c821bcdd5b05be5a3ec9e3f65d98b4c6da3b
-doccontainersize 77152
-doccontainerchecksum 48b2636dd969403d3f0511c8b959985da32243d5763d6d2837f57981ae2f548b2e92956c3fcc9349290e7b705ea8144ab2af9b74a5538ebae967693e82e6085c
+containersize 4424
+containerchecksum 1fbd355890cbcc7477d5259bedefe19cc75ba7c73ef6913194fb61198b3288205192b88d94042c218f890a8c24dcefdbb9d6567e0e24a7da14ce988c7850235f
+doccontainersize 76244
+doccontainerchecksum 7ee909c4c55f5f11e7912aaed3fac320d2a180cc77df10cdec787c08305d33688b50d452f518be86492047f6d2dbf523c32410d68b66608efb4d23dfcca69dec
docfiles size=29
RELOC/doc/latex/crefthe/LICENSE
RELOC/doc/latex/crefthe/README.md details="Readme"
@@ -86059,6 +86061,7 @@ catalogue-contact-repository https://github.com/Jinwen-XU/crefthe
catalogue-ctan /macros/latex/contrib/crefthe
catalogue-license lppl1.3c
catalogue-topics label-ref expl3
+catalogue-version 2023-11-11a
name crimson
category Package
@@ -102089,7 +102092,7 @@ catalogue-version 1.031
name dtk
category Package
-revision 69873
+revision 70117
shortdesc Document class for the journal of DANTE
relocated 1
longdesc The bundle provides a class and style file for typesetting "Die
@@ -102098,10 +102101,10 @@ longdesc Users Group DANTE e.V. The arrangement means that the class may
longdesc be used by article writers to typeset a single article, as well
longdesc as to produce the complete journal.
containersize 14716
-containerchecksum 11707415ebae1c89e3c4c11fda3bf3a93f16d514932351b755aa5030239b887ca012bae578a641fb6a301d6c819f7b08c315fb83d6350b5133dc38c85c9042cd
-doccontainersize 78832
-doccontainerchecksum 5d5539bf2f8a2e2ccc3de45120052af6da79abc15c420deaf04f51e5256cdb577e659731b4586c52595ac54e18f4af280de677c8a055686a84d125f8cdb6b7e1
-docfiles size=28
+containerchecksum c9f59b7a80c40d4a1a9749ab3b5c48ab7dcbf213166454edcef30226f001d37724967e0306486892a64e1b16fcfd45f9d507f4e467642150ef90a75a5296471f
+doccontainersize 83404
+doccontainerchecksum 2cbf434924fe1b7ce9ed50f647069ab8a278f4be1f65981e7d9f6027f6f0f6b7465e7f2f169e860314f84fe38032ce0cdb0d96b55f281a04b7f830216498b46b
+docfiles size=29
RELOC/doc/latex/dtk/README.md details="Readme"
RELOC/doc/latex/dtk/doc/beispiel.bib
RELOC/doc/latex/dtk/doc/beispiel.pdf details="Example of use" language="de"
@@ -102125,7 +102128,7 @@ catalogue-contact-repository https://github.com/rolfn/dtk
catalogue-ctan /usergrps/dante/dtk
catalogue-license lppl1.3c
catalogue-topics journalpub class
-catalogue-version 2.10d
+catalogue-version 2.10e
name dtk-bibliography
category Package
@@ -110715,7 +110718,7 @@ catalogue-topics collection
name einfart
category Package
-revision 70050
+revision 70117
shortdesc Write your articles in a simple and clear way
relocated 1
longdesc This package provides a LaTeX class for typesetting articles
@@ -110729,14 +110732,26 @@ longdesc package. The package name "einfart" is taken from the German
longdesc word "einfach" ("simple"), combined with the first three
longdesc letters of "Artikel" ("article").
depend minimalist
-containersize 5364
-containerchecksum 52fc495f4dc391436bc39678834caf1877f61a08d6903c4a8f2e83144696eedf3ff93f02f620de2c1b07fb6d2c882782f14d7a7f6d90243c3a9f70a6d09fbeee
-doccontainersize 8556
-doccontainerchecksum 058d2f0cbe811609f14eb184c7abcbf3190ca9999fe97f7fe57c0d51ab4ad647c410de0810be5a34f121a1f235f4361bcff5b6200727012d362c6193fcbdfed6
-docfiles size=8
+containersize 5368
+containerchecksum 80be61bc695e1f50bff263ac85b32594607d92f51392f5e5966c105ba1767df814f4acbe6654776402d4a97b84235a45283984e979d75ba94f393a38e32a4843
+doccontainersize 251520
+doccontainerchecksum d26dcb52f854abf177fc65e631b55ae50ba03c9eb812f5b7352fe6718d01849a5c43631e6f3aaa23826b3b081b68207fde277bd143e3624283fb295d7dedda7e
+docfiles size=93
RELOC/doc/latex/einfart/DEPENDS.txt
RELOC/doc/latex/einfart/LICENSE
RELOC/doc/latex/einfart/README.md details="Readme"
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-classical.pdf details="Example of use (style classical)"
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-classical.tex
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-classicthesis.pdf details="Example of use (style ClassicThesis)"
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-classicthesis.tex
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-default.pdf details="Example of use (style default)"
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-default.tex
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-flow.pdf details="Example of use (style flow)"
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-flow.tex
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-plain.pdf details="Example of use (style plain)"
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-plain.tex
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-stream.pdf details="Example of use (style stream)"
+ RELOC/doc/latex/einfart/demo/einfart-demo-style-stream.tex
runfiles size=9
RELOC/tex/latex/einfart/einfart.cls
catalogue-also minimalist
@@ -138609,7 +138624,7 @@ catalogue-version 1.0
name gitinfo-lua
category Package
-revision 69875
+revision 70117
shortdesc Display git project information in your LaTeX projects
relocated 1
longdesc This project aims to display git project information in PDF
@@ -138620,10 +138635,10 @@ longdesc for you, you could try gitinfo2 instead. For LaTeX, a set of
longdesc standard macros is provided for displaying basic information or
longdesc setting the project directory, and a set of advanced macros for
longdesc formatting commits and tags.
-containersize 4996
-containerchecksum f91c86f6c6f227e2956c27af02eb84f38755c7152aa5cf1f2e7ccdb82011bff2136dde4f3e473547f0289e553d8dc090bd958f5529da56714cec979733f5ee80
-doccontainersize 116972
-doccontainerchecksum d74fc86f12df5c12c16ae9a95cf2cad0b2fd1f8d4ffc507d1c7038f9af6dfb05fc7a25942ddf7fb40b85a83e91cc65b211a585be8dfd579df60aa52ef0eb246b
+containersize 5016
+containerchecksum cbc201f194a95f27ed11a12f555b8296dc68b4b0895ec2eec65d4f22dbc005716bfb92f46b342acddf023475a9eb7571ce3410efca50755589b6513e025cab8b
+doccontainersize 117724
+doccontainerchecksum b5b284e2d6abc36e97aab127592c6c928d737b8d94178201191905b7179786cc6a5520364d1ce0ff92551de5ecf89aafc4ed336b145591b747d43d6380bf8815
docfiles size=36
RELOC/doc/lualatex/gitinfo-lua/README.md details="Readme"
RELOC/doc/lualatex/gitinfo-lua/git-scenario.sh
@@ -138638,7 +138653,7 @@ catalogue-contact-repository https://github.com/Xerdi/gitinfo-lua
catalogue-ctan /macros/luatex/latex/gitinfo-lua
catalogue-license lppl1.3c
catalogue-topics version-control doc-mgmt luatex
-catalogue-version 1.0.1
+catalogue-version 1.0.2
name gitinfo2
category Package
@@ -167177,15 +167192,15 @@ catalogue-version 1.00
name jnuexam
category Package
-revision 69161
+revision 70117
shortdesc Exam class for Jinan University
relocated 1
longdesc The package provides an exam class for Jinan University
longdesc (China).
-containersize 12680
-containerchecksum f09ea4e82d630111a770568a3ffa3de9b862bff33cfe40eeffb69e6997fd2893bf58eb626d557f310d77a13dd97d6369cb7ac3d1f87601dd3b8b2aa4dbc5fbca
-doccontainersize 356484
-doccontainerchecksum 828fab98b92a094ba2f42e9dbafa2bd4ff6de6e7fcd242871a5e2b6d3ed2fffd54f3bc9ecce7e24e050f47aa264cc5f8d0684355340bcea00817e824e909543a
+containersize 12684
+containerchecksum bb4bd96084b70e0808ee15cf23f0ab721b6268074cc5544aa80c9a8b3f6c8a1784591859215e17846a606d7ca76d93ce103c70a8805a321d5833d59061e71192
+doccontainersize 356480
+doccontainerchecksum 45b3a04be31cb9fd778a2a264575a536750bf0c73b0ccb0fb68fb83d99fbe370a70c119e962a1dfbfdcc3da4056439e271aea0e06d7b7289e0c97f3bfff1d6e4
docfiles size=133
RELOC/doc/latex/jnuexam/README details="Readme"
RELOC/doc/latex/jnuexam/exam-a-answer.pdf
@@ -167204,7 +167219,7 @@ catalogue-contact-home https://lvjr.bitbucket.io/jnuexam.html
catalogue-ctan /macros/latex/contrib/jnuexam
catalogue-license lppl1.3c
catalogue-topics exam class chinese
-catalogue-version 2.1
+catalogue-version 2.1.1
name jobname-suffix
category Package
@@ -204971,26 +204986,27 @@ catalogue-version 0.1l
name luaxml
category Package
-revision 60709
+revision 70117
shortdesc Lua library for reading and serialising XML files
relocated 1
longdesc LuaXML is a pure Lua library for reading and serializing XML
longdesc files. The current release is aimed mainly at support for the
longdesc odsfile package. The documentation was created by automatic
longdesc conversion of original documentation in the source code.
-containersize 32276
-containerchecksum ebcf0216dfc05291cd1f44096785fa10b4d8f341d0c45c03a4818aaf0ffae1b8a9ee4edc0ab26d1732d651218aaa936099a81c2d732b1ff25b956339f45df8b8
-doccontainersize 123428
-doccontainerchecksum 8f42b46c552b5771058f442e2b962d49c13f31c0b58076770131d6e8bb048cd706db9e7380a43cfaeae815bb02e83709e9165a1057ac9471bcc0fa2ab322cb45
-docfiles size=38
+containersize 41424
+containerchecksum d337c443f09a8fed88a3530e94326660ebee59260e873e7581226aadc622fabfb37ace31ee105fc321b6633d4fd8c8117739ba6884b367cdaf708f81f686f3ce
+doccontainersize 124480
+doccontainerchecksum ad30466499514af7dbb5425f560953c23e94f6af468b2e693a560de249eec4b5db913371884fdaa36c22693b5175d40da297fa98e22906fc4c501b9f3b7de2d4
+docfiles size=39
RELOC/doc/luatex/luaxml/README details="Readme"
RELOC/doc/luatex/luaxml/luaxml.pdf details="Package documentation"
RELOC/doc/luatex/luaxml/luaxml.tex
-runfiles size=36
+runfiles size=52
RELOC/tex/luatex/luaxml/luaxml-cssquery.lua
RELOC/tex/luatex/luaxml/luaxml-domobject.lua
RELOC/tex/luatex/luaxml/luaxml-entities.lua
RELOC/tex/luatex/luaxml/luaxml-mod-handler.lua
+ RELOC/tex/luatex/luaxml/luaxml-mod-html.lua
RELOC/tex/luatex/luaxml/luaxml-mod-xml.lua
RELOC/tex/luatex/luaxml/luaxml-namedentities.lua
RELOC/tex/luatex/luaxml/luaxml-parse-query.lua
@@ -205002,7 +205018,7 @@ catalogue-contact-repository https://github.com/michal-h21/LuaXML
catalogue-ctan /macros/luatex/generic/luaxml
catalogue-license other-free
catalogue-topics foreign-import luatex use-lua
-catalogue-version 0.1q
+catalogue-version 0.1r
name lutabulartools
category Package
@@ -206701,7 +206717,7 @@ catalogue-version 1.0
name make4ht
category Package
-revision 66130
+revision 70117
shortdesc A build system for tex4ht
longdesc make4ht is a simple build system for tex4ht, a TeX to XML
longdesc converter. It provides a command line tool that drives the
@@ -206709,17 +206725,17 @@ longdesc conversion process. It also provides a library which can be
longdesc used to create customized conversion tools.
depend make4ht.ARCH
depend tex4ht
-containersize 55576
-containerchecksum 9eddfced4137652653744256bd4ef342a1b5462a2bbe1852c7fc264b08646b0757d24ae2d12711c66905f810a8f0749ae7f6d7f32983d3aa96fad63e9e104a00
-doccontainersize 179688
-doccontainerchecksum 2552e84307b92538639481b64690b2d4853f03e795b11daa61f88a1a15896f24982dcd563c181497a287744eabc5a4c3e18a2a705bbfcd9099383b1858a02081
-docfiles size=74
+containersize 57564
+containerchecksum f16c8062b72932b24673df223850f58521ee5766536c9c210eed123b62c77efa3829f7cd38e2f9f7b62a516dd8fca860def52599be702f22e2d60a8683b52138
+doccontainersize 186184
+doccontainerchecksum f7f45fcbf92488c2c97fd2b8916b1715cbf76512f43f7e60d29293ae7553416f9a7969e1b5a9e29c88319a5d0ecf6b8fb8a2254b201cafba597122a6d594ff11
+docfiles size=77
texmf-dist/doc/support/make4ht/README details="Readme"
texmf-dist/doc/support/make4ht/changelog.tex
texmf-dist/doc/support/make4ht/make4ht-doc.pdf details="Package documentation"
texmf-dist/doc/support/make4ht/make4ht-doc.tex
texmf-dist/doc/support/make4ht/readme.tex
-runfiles size=95
+runfiles size=97
texmf-dist/scripts/make4ht/domfilters/make4ht-aeneas.lua
texmf-dist/scripts/make4ht/domfilters/make4ht-booktabs.lua
texmf-dist/scripts/make4ht/domfilters/make4ht-collapsetoc.lua
@@ -206739,6 +206755,7 @@ runfiles size=95
texmf-dist/scripts/make4ht/domfilters/make4ht-tablerows.lua
texmf-dist/scripts/make4ht/extensions/make4ht-ext-common_domfilters.lua
texmf-dist/scripts/make4ht/extensions/make4ht-ext-common_filters.lua
+ texmf-dist/scripts/make4ht/extensions/make4ht-ext-copy_images.lua
texmf-dist/scripts/make4ht/extensions/make4ht-ext-detect_engine.lua
texmf-dist/scripts/make4ht/extensions/make4ht-ext-dvisvgm_hashes.lua
texmf-dist/scripts/make4ht/extensions/make4ht-ext-inlinecss.lua
@@ -206789,7 +206806,7 @@ catalogue-contact-repository https://github.com/michal-h21/make4ht
catalogue-ctan /support/make4ht
catalogue-license lppl1.3
catalogue-topics cvt-html
-catalogue-version 0.3m
+catalogue-version 0.4
name make4ht.aarch64-linux
category Package
@@ -208082,23 +208099,18 @@ catalogue-topics notes
name markdown
category Package
-revision 66954
+revision 70117
shortdesc Converting and rendering markdown documents inside TeX
relocated 1
longdesc The package provides facilities for the conversion of markdown
longdesc markup to plain TeX. These are provided both in form of a Lua
longdesc module and in form of plain TeX, LaTeX, and ConTeXt macro
longdesc packages that enable the direct inclusion of markdown documents
-longdesc inside TeX documents. Architecturally, the package consists of
-longdesc the Lunamark Lua module by John MacFarlane, which was slimmed
-longdesc down and rewritten for the needs of the package. Lunamark
-longdesc provides speedy markdown parsing for the rest of the package.
-longdesc On top of Lunamark sits code for the plain TeX, LaTeX, and
-longdesc ConTeXt formats by Vit Novotny.
-containersize 53632
-containerchecksum b638546ded5356e9f271cfc28055f6ecc307e72178097dd54c0cd81bf3208058507d902bec0555185b9548cfcf7fddd7d5906d959644d9aa8945b20b8c816dd9
+longdesc inside TeX documents.
+containersize 53536
+containerchecksum 402c60ef94076f0463aaacc3cd8767ef0b5ccd4b9cfb546121578d5db777d68e662c49596bc9a28d677f27c55d225369442e3d5f16e3e23f09afc9375a69151a
doccontainersize 1179272
-doccontainerchecksum 7ed883ce22b404fae91e6e946b7786f64ee28e14b624f46b4aca9af1cbd3969d674f0c82cfdd1161c7df5a34d60ed8627c4428e13d317035079bdea0e7f7cf0c
+doccontainerchecksum 1ae0d126833c71a620e73c1503d07fbd7dda70b99ba19320692bd2ddae38f3b02499484ef1c1ec20a52343b6a236528d7124c9ed854a549afebeba158b8f995b
docfiles size=540
RELOC/doc/context/third/markdown/examples/context-mkiv.tex
RELOC/doc/context/third/markdown/examples/example.md
@@ -208116,8 +208128,8 @@ docfiles size=540
RELOC/doc/latex/markdown/examples/latex-tex4ht.tex
RELOC/doc/latex/markdown/examples/latex-xetex.tex
RELOC/doc/latex/markdown/examples/scientists.csv
-srccontainersize 112900
-srccontainerchecksum 986ce93ea94fe9afdce6555b90e88231261f2263cff2be734edee32b5c1ac005967e40ce323cc629d16616f9370f4958491f4fe7b0641ab024dabab0cfe4ed0b
+srccontainersize 112896
+srccontainerchecksum 2976516ab5d81b9a33afe7a30a37bdb6a0c68996fc3c3c72cbd06ec1d73e36944bfed4139a059ac6e18c3fdfc547626ee84a9696f0c36ab9dc3489e9d05270a3
srcfiles size=204
RELOC/source/generic/markdown/docstrip.cfg
RELOC/source/generic/markdown/markdown.dtx
@@ -208139,7 +208151,7 @@ catalogue-contact-repository https://github.com/Witiko/markdown
catalogue-ctan /macros/generic/markdown
catalogue-license lppl1.3c
catalogue-topics markup
-catalogue-version 2.23.0-0-g0b22f91
+catalogue-version 3.4.1-0-g457226ae
name marvosym
category Package
@@ -216902,7 +216914,7 @@ catalogue-version 2024/1.3
name minimalist
category Package
-revision 70050
+revision 70101
shortdesc Write your articles or books in a simple and clear way
relocated 1
longdesc This package offers you a LaTeX style file and two classes to
@@ -216919,16 +216931,17 @@ longdesc German, Italian, Japanese, Portuguese (European and Brazilian),
longdesc Russian and Spanish typesetting, and also use more beautiful
longdesc fonts.
depend projlib
-containersize 12800
-containerchecksum c48336578f6963665ceb74b0a115cdc0ddb590c680d4b7613a54bac1e50493d45176d07265ee3b355b87338b68e942c9cc0df3838a317c146b79583beee81f1d
-doccontainersize 7420
-doccontainerchecksum 5b1e9ede48d5e37004c8a32ef51f5f5671e79fa15508e63e66f28fbc55d12bfc8554de77e2f8495fa065fc2164ffe3033bede5872f7c5fc9a628314d6687e546
+containersize 13096
+containerchecksum aef676003915e7fd45f6342e617a6c78d1ab117aadf3220448436d982581db827e3d8206b1cabdcfbf0936fe6c85139d5cbae5f50712524157e5c9cc2d5907d7
+doccontainersize 7740
+doccontainerchecksum fb303cc640eea721264e7a56e56d52f77e702d4eb700c088b964be6fd01ea08913dcee69f2c02b6c2677de7dc49d9b6c58d632900741e023ee8ea33887b99fd9
docfiles size=7
RELOC/doc/latex/minimalist/DEPENDS.txt
RELOC/doc/latex/minimalist/LICENSE
RELOC/doc/latex/minimalist/README.md details="Readme"
-runfiles size=64
+runfiles size=71
RELOC/tex/latex/minimalist/minimalist-classical.sty
+ RELOC/tex/latex/minimalist/minimalist-classicthesis.sty
RELOC/tex/latex/minimalist/minimalist-default.sty
RELOC/tex/latex/minimalist/minimalist-flow.sty
RELOC/tex/latex/minimalist/minimalist-plain.sty
@@ -226537,26 +226550,26 @@ binfiles arch=x86_64-solaris size=1
name mptrees
category Package
-revision 66952
+revision 70117
shortdesc Probability trees with MetaPost
relocated 1
longdesc This package provides MetaPost tools for drawing simple
longdesc probability trees. One command and several parameters to
longdesc control the output are provided.
-containersize 7328
-containerchecksum a3579aac7bff11c77416bf19447a429a3f56695bfc105f1218ae8f7d531adf0333ed73ff1fe93bab8af2ef590d6157ffa3c363bc306d3e81eb0d78766aa7871a
-doccontainersize 150688
-doccontainerchecksum cbf0e2660c7e98697d2441ae8a40d69e9855ad1eeb1acb3b6e140557caae3d0f09619aa24a0c0f5b2c44e133cc7595ebdd6e7ee4e8809f92ecd759f0a12fdcaa
-docfiles size=46
+containersize 11464
+containerchecksum 64efb9355c79a8145e0bd4e44922c789a718f389ecb59ac186ec32da8e37323d09cc33d558cbf67ca5550f68501282dc429b784f483df1e3df5b9d5bc3b5ddd6
+doccontainersize 208496
+doccontainerchecksum de5d2c52ebd3651ff42812fe4ea74a4ed92cdd8d0452f2e83af9723581820ee07e2e9528cdc254410193d8b82f8ede7554e182c1fee104333715f253d3ad0d41
+docfiles size=63
RELOC/doc/metapost/mptrees/README.md details="Readme"
RELOC/doc/metapost/mptrees/mptrees-doc.pdf details="Package documentation"
RELOC/doc/metapost/mptrees/mptrees-doc.tex
-runfiles size=7
+runfiles size=12
RELOC/metapost/mptrees/mptrees.mp
catalogue-ctan /graphics/metapost/contrib/macros/mptrees
catalogue-license lppl1.3c
catalogue-topics diagram-maths maths probability graphics-mpost
-catalogue-version 23.04
+catalogue-version 24.02
name ms
category Package
@@ -291841,7 +291854,7 @@ catalogue-version 1.2.1
name se2thesis
category Package
-revision 68255
+revision 70117
shortdesc A Thesis Class for the Chair of Software Engineering II at the University of Passau, Germany
relocated 1
longdesc The se2thesis bundle provides a document class for writing a
@@ -291854,11 +291867,11 @@ longdesc title page, it still provides large degrees of freedom to its
longdesc users. However, the package's documentation also provides
longdesc recommendations regarding several aspects, for example,
longdesc recommending BibLaTeX for bibliographies.
-containersize 8992
-containerchecksum a9283b1b34e7d9db35dbb64641b68eab662ddfd7e468f856e466c56c7c7ace6de3efacb43b1810e97d2eb2d0c2cf89d50ac45d79a5bcc9f79b52a1011e41ad39
-doccontainersize 1414316
-doccontainerchecksum 562a8c929ae8bcacc2dbdcc4b585b26b910da3792089670f89e4300b771a06971513978a0c656e563c7189673b6067acd450a2698fcb32449a4de75715a2c270
-docfiles size=632
+containersize 9672
+containerchecksum 4dd20b0d80acfe324039946be7383763bc704c5e468b79edbb079993ae89bd98fd10113c97075e2b2afcccf6c75438ff62bd32f509e0040a64de69fe4fa77784
+doccontainersize 575180
+doccontainerchecksum 42a8c89d3375e35454975b087a8670cb2cc95e29e130bdfd41afbe902b0dbb66e3219dd8873fd88970a6d4cf155d077e0b4a50755cf278cbadf71718b05e6f0c
+docfiles size=154
RELOC/doc/latex/se2thesis/CHANGELOG.md
RELOC/doc/latex/se2thesis/LICENSE.txt
RELOC/doc/latex/se2thesis/README.md details="Readme"
@@ -291866,11 +291879,9 @@ docfiles size=632
RELOC/doc/latex/se2thesis/se2thesis-master-thesis-example.tex
RELOC/doc/latex/se2thesis/se2thesis.pdf details="Package documentation"
RELOC/doc/latex/se2thesis/se2thesis.tex
- RELOC/doc/latex/se2thesis/test.pdf
- RELOC/doc/latex/se2thesis/test.tex
-srccontainersize 23876
-srccontainerchecksum 8a76b7e1139ecec4b8c9a4bd670f3bb82d354eeb0cb9d94afe7f8ad3b7656921b510ecd9223443efcb2e38c5b91e621fe66b99d282bc650402977fc84e4ffc7c
-srcfiles size=29
+srccontainersize 24784
+srccontainerchecksum 6529a9dbf2bf038f418964a9e8d6cd7423abc2ab4faf569b983469644098bf5cc80892b4db1d7a4c90771a9495d7b64de08944d2e502c2b6e37b5e0c503eff79
+srcfiles size=31
RELOC/source/latex/se2thesis/se2colors.dtx
RELOC/source/latex/se2thesis/se2fonts.dtx
RELOC/source/latex/se2thesis/se2packages.dtx
@@ -291888,7 +291899,7 @@ catalogue-contact-repository https://github.com/se2p/se2thesis
catalogue-ctan /macros/latex/contrib/se2thesis
catalogue-license lppl1.3c
catalogue-topics class dissertation expl3
-catalogue-version 3.2.0
+catalogue-version 3.3.1
name secdot
category Package
@@ -294716,7 +294727,7 @@ catalogue-version 1.6a
name simpleicons
category Package
-revision 69933
+revision 70117
shortdesc Simple Icons for LaTeX
relocated 1
longdesc Similar to FontAwesome icons being provided on LaTeX by the
@@ -294724,16 +294735,16 @@ longdesc fontawesome package, this package aims to do the same with
longdesc Simple Icons. For reference, visit their website:
longdesc https://simpleicons.org/.
execute addMap simpleicons.map
-containersize 3398904
-containerchecksum ef811ee97ba4483a3168418eb0ec330cb7bd765455130090baaaa0fadd4d33582e6c81ea5ac9bf7f42a737f7860f5cfb94d96b3ef9f25b75e98175205c86801b
-doccontainersize 2485968
-doccontainerchecksum 220a590807bce63a0d21eea9dc82b3f4f227ffeffbd2a5a5f9725e5a618926d201fcb271eb5f7316dc21458a63cdff95f075a4bab23205dd48a39abfacf6e272
-docfiles size=650
+containersize 3418576
+containerchecksum 668ab26afdd227b2899d7a21fde928729348b020d4585f206e031880f00ae4adb61c7ebc7c4cf2213cf569e93be236ad1a2b86f1767889d793d921322dd785b5
+doccontainersize 2498620
+doccontainerchecksum f549b7b94ad75eefec7f4a12c879f55b5210a7acb73972bb5c0b7e5534ce31760296e04eaedd9b9823cd0b26a3870761e342502f9a8f163876a19f0184d22223
+docfiles size=653
RELOC/doc/fonts/simpleicons/README.md details="Readme"
RELOC/doc/fonts/simpleicons/bindings.tex
RELOC/doc/fonts/simpleicons/simpleicons.pdf details="Package documentation"
RELOC/doc/fonts/simpleicons/simpleicons.tex
-runfiles size=1303
+runfiles size=1309
RELOC/fonts/enc/dvips/simpleicons/simpleiconseight.enc
RELOC/fonts/enc/dvips/simpleicons/simpleiconsfive.enc
RELOC/fonts/enc/dvips/simpleicons/simpleiconsfour.enc
@@ -294781,7 +294792,7 @@ catalogue-contact-repository https://github.com/ineshbose/simple-icons-latex
catalogue-ctan /fonts/simpleicons
catalogue-license cc-by-1
catalogue-topics font font-symbol font-supp-symbol font-otf font-type1
-catalogue-version 11.4.0
+catalogue-version 11.5.0
name simpleinvoice
category Package
@@ -294998,7 +295009,7 @@ catalogue-topics tut-latex
name simplivre
category Package
-revision 70050
+revision 70117
shortdesc Write your books in a simple and clear way
relocated 1
longdesc This package provides a LaTeX class for typesetting books with
@@ -295012,13 +295023,25 @@ longdesc package name "simplivre" is taken from the French words
longdesc "simple" and "livre" (= "book").
depend minimalist
containersize 5336
-containerchecksum c8225dfcca8e158e00475f8f65527f465127577f9dbe9757e4681c2c045c3c8df0377941cd7cb0ee28439c47490619e25aacd71a790edc10ff7d4227b0c6b032
-doccontainersize 8552
-doccontainerchecksum 7d9384947a86aa37fd6026184068d0f8a3cb935a593953029e066cdca61552369e86b6b653e4d7542b958a8d5ded31746005f7866bf9d911faea1738d69c6bc6
-docfiles size=8
+containerchecksum 69b0cee5ee880c21af9b272487eea35fb4dd95269833228752fc1778e8be29add2f9c46a506f6f4a90b085086edd5828c296817313aa378e7e699cc326f4c374
+doccontainersize 271752
+doccontainerchecksum 560abf727381298cc9b14b6d4d334fc20d54af838988c4e377263348c0058ac2ea304432c160862453dc21ac72c8b6754e8fe824a6dfd4121c6b9472637b62f1
+docfiles size=108
RELOC/doc/latex/simplivre/DEPENDS.txt
RELOC/doc/latex/simplivre/LICENSE
RELOC/doc/latex/simplivre/README.md details="Readme"
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-classical.pdf details="Example of use (style classical)"
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-classical.tex
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-classicthesis.pdf details="Example of use (style ClassicThesis)"
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-classicthesis.tex
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-default.pdf details="Example of use (style default)"
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-default.tex
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-flow.pdf details="Example of use (style flow)"
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-flow.tex
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-plain.pdf details="Example of use (style plain)"
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-plain.tex
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-stream.pdf details="Example of use (style stream)"
+ RELOC/doc/latex/simplivre/demo/simplivre-demo-style-stream.tex
runfiles size=9
RELOC/tex/latex/simplivre/simplivre.cls
catalogue-also minimalist
@@ -308511,7 +308534,7 @@ catalogue-version 1.1
name tagpdf
category Package
-revision 69703
+revision 70117
shortdesc Tools for experimenting with tagging using pdfLaTeX and LuaLaTeX
relocated 1
longdesc The package offers tools to experiment with tagging and
@@ -308522,11 +308545,11 @@ longdesc needed; to test what else is needed so that a pdf works e.g.
longdesc with a screen reader. Its goal is to get a feeling for what has
longdesc to be done, which kernel changes are needed, how packages
longdesc should be adapted.
-containersize 36836
-containerchecksum 4caf8cb5a5e2c03f4ac073abfa273dd23fe5a839a04d982e2f3c462af5aabfaf6646f16f0d3534c6ac82909e3f2fcf958558b27b6ff7c7e569d80602cd0f9528
-doccontainersize 2166424
-doccontainerchecksum 7544b45ebf3a033a5cada52fb83ba521a103f667e17cba9cc12535150174738a0e426babea63bedb3640c831ec7bd74a15cc07f21399e4a01dbbe1702acd4b08
-docfiles size=844
+containersize 37332
+containerchecksum 167c8e8848ef12914da77c4f9bae2660b72d0d3b69797270fa95d22897b071edc7c3ebab854c0bea476612a21596cc2ac6a8085742a38580ccf947dcb3f596b6
+doccontainersize 2191164
+doccontainerchecksum 982c3581da07509a76e152f842ed464aaf564c9448c39c951f276e8568b35f818d58c60e371cfd6c76075838cdf879e83b37522d52bb1de7ed3f732567c31a35
+docfiles size=847
RELOC/doc/latex/tagpdf/README.md details="Readme"
RELOC/doc/latex/tagpdf/acrobat.png
RELOC/doc/latex/tagpdf/ex-AF-file.pdf
@@ -308561,9 +308584,10 @@ docfiles size=844
RELOC/doc/latex/tagpdf/tagpdf.bib
RELOC/doc/latex/tagpdf/tagpdf.pdf details="Package documentation"
RELOC/doc/latex/tagpdf/tagpdf.tex
-srccontainersize 68592
-srccontainerchecksum 7e5b32d7c5523ba40e0fb31b31527991696444600f584d22710e0276069876176925dec4728830d853d7833e57e42e36eaf54764d7e3e98d64690406f71087fb
-srcfiles size=99
+ RELOC/doc/latex/tagpdf/tagpdfsetup-keys.tex
+srccontainersize 69620
+srccontainerchecksum 115ae02793eab6fa7dae9ceb5cc16d98157dba1abe8f495ad11f1cd23f5124f3b2ee4f67a01af6652ab7460ea76d2cd19ba1ef9a427d904e83b489adc9a17933
+srcfiles size=100
RELOC/source/latex/tagpdf/tagpdf-backend.dtx
RELOC/source/latex/tagpdf/tagpdf-checks.dtx
RELOC/source/latex/tagpdf/tagpdf-data.dtx
@@ -308577,7 +308601,7 @@ srcfiles size=99
RELOC/source/latex/tagpdf/tagpdf-user.dtx
RELOC/source/latex/tagpdf/tagpdf.dtx
RELOC/source/latex/tagpdf/tagpdf.ins
-runfiles size=70
+runfiles size=71
RELOC/tex/latex/tagpdf/tagpdf-base.sty
RELOC/tex/latex/tagpdf/tagpdf-debug-generic.sty
RELOC/tex/latex/tagpdf/tagpdf-debug-lua.sty
@@ -308601,7 +308625,7 @@ catalogue-contact-support https://github.com/latex3/tagpdf/issues
catalogue-ctan /macros/latex/contrib/tagpdf
catalogue-license lppl1.3c
catalogue-topics tagged-pdf accessible expl3
-catalogue-version 0.98v
+catalogue-version 0.98w
name talk
category Package
@@ -312080,7 +312104,7 @@ binfiles arch=x86_64-solaris size=107
name tex4ebook
category Package
-revision 66621
+revision 70117
shortdesc Converter from LaTeX to ebook formats
longdesc This is a bundle of Lua scripts and LaTeX packages for
longdesc conversion of LaTeX files to ebook formats such as epub, mobi
@@ -312088,10 +312112,10 @@ longdesc and epub3. tex4ht is used as the conversion engine.
depend make4ht
depend tex4ebook.ARCH
depend tex4ht
-containersize 17980
-containerchecksum b0dd7eee40daae5cd87b39c8d52ee99569992dfb3f9d438cb43f2050f347f33653b5932c6b159b3d24382971aae5f631f9e8ac8e2e3219130ed346d5e466c0d1
-doccontainersize 101344
-doccontainerchecksum 72d0e9550cdc8cd0f5469e44a9ddcbcd10c8141f68479ebb9b8f8af3e2233695df05acbb875b80de0330fc29d774b7d3f3c9fc1f249c04e60944ae9642326a54
+containersize 18160
+containerchecksum 7b2cc47523db8f9b987d2423e10d30d50684f2cdd45dceb846a0bec634ae5ee1514312d8cca46dce701ba1d86c9cfb21f0a0bccf67376f453fa5fec99165b19d
+doccontainersize 102296
+doccontainerchecksum 6011f8dbfe4308e17e8dae72227404374afd1c47e8ab2568248be67913ad1f170d7c83cd01a9e01e39607486579d2e9a1f0a1bbdd3230299109d12a3aba536db
docfiles size=39
texmf-dist/doc/support/tex4ebook/README details="Readme"
texmf-dist/doc/support/tex4ebook/changelog.tex
@@ -312099,7 +312123,7 @@ docfiles size=39
texmf-dist/doc/support/tex4ebook/tex4ebook-doc.pdf details="Package documentation"
texmf-dist/doc/support/tex4ebook/tex4ebook-doc.tex
texmf-dist/doc/support/tex4ebook/tex4ebook-tidyconf.conf
-runfiles size=20
+runfiles size=21
texmf-dist/scripts/tex4ebook/tex4ebook
texmf-dist/scripts/tex4ebook/tex4ebook-exec_azw.lua
texmf-dist/scripts/tex4ebook/tex4ebook-exec_azw3.lua
@@ -312115,7 +312139,7 @@ catalogue-contact-repository https://github.com/michal-h21/tex4ebook
catalogue-ctan /support/tex4ebook
catalogue-license lppl1.3
catalogue-topics ebook
-catalogue-version 0.3j
+catalogue-version 0.4
name tex4ebook.aarch64-linux
category Package
@@ -324765,7 +324789,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 70064
+revision 70087
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.
@@ -324774,9 +324798,9 @@ depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
containersize 114024
-containerchecksum 4b9c7d21a3fc5cccfdb728f520c9098666225ed9eb4657f20e43e89780e1dbc5a27b5563325fbb4f4fe441ce72d730a2d306b35d988a0985c73b9d696eefc5a6
-doccontainersize 432744
-doccontainerchecksum 8ad354a63ad54f63e2b4c9a434dc7d0f53895c6816d9edb09dba380a51e977dadc31d7d00e3af4dd81100d59fcc98bbe08755a00d168538fb7085520078d617c
+containerchecksum a5e2ba2f3f77969d64c14603e377e9345cf1b968f966712badc952d4675db7936455e42f0e5086ad04fcdb96721fecb285d16afbb516bc9c18e6c6c9a73081cb
+doccontainersize 432628
+doccontainerchecksum c853a9256f5f106a9b565d54bb567648390959ba3b4a813f17c01d352ebec4f238bb818dc4751ff987be6674c542f1ce4b176845e08ea13941746e4692fddcf4
docfiles size=564
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -343314,6 +343338,33 @@ catalogue-license lppl
catalogue-topics compact-print
catalogue-version 1.3
+name twoxtwogame
+category Package
+revision 70111
+shortdesc Visualize 2x2 normal-form games
+relocated 1
+longdesc This is a package for the visualization of 2x2 normal form
+longdesc games. The package is based on PGF/TikZ and produces beautiful
+longdesc vector graphics that are indented for use in scientific
+longdesc publications. The commands include the creation of graphical
+longdesc representations of 2x2 games, the visualization of equilibria
+longdesc in 2x2 games and game embeddings for 2x2 games.
+containersize 11500
+containerchecksum 083b9a842a36cfd8eae4b028095108e568e0f1438756cf01b6842e10e9cfc8ac0e423f4cedb7e554bae8743801a44b17514b4d4b5b18ed2d6c31fde284a0248a
+doccontainersize 452040
+doccontainerchecksum 9f2820d449d3d260b703e9de2ba5de382649396fe5507411b3249e27adad2afbd672c424d9d3f0b1ffc149a8d9cac2a9390d8f4fad879cea2bc31eb7fe6d7cb8
+docfiles size=118
+ RELOC/doc/latex/twoxtwogame/LICENSE
+ RELOC/doc/latex/twoxtwogame/README.md details="Readme"
+ RELOC/doc/latex/twoxtwogame/twoxtwogame.pdf details="Package documentation"
+runfiles size=42
+ RELOC/tex/latex/twoxtwogame/twoxtwogame.sty
+catalogue-contact-repository https://github.com/google-deepmind/twoxtwogame/
+catalogue-ctan /graphics/pgf/contrib/twoxtwogame
+catalogue-license apache2
+catalogue-topics pgf-tikz games
+catalogue-version 0.1
+
name txfonts
category Package
revision 15878
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index ab0690d407..d859e70d43 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-c1459491ef8537c3e3d3e8193036e54d texlive.tlpdb
+54f35570ce253d5c29408b180ef93d33 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 434e6fb168..03f3f95a75 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-04291c1d1f806f80adefae93ea0dad11f4798325c01bfe18885ceac7a04daf170098c2087d6e38014f6edbfbbcbc1bc414b18bd0f93c04dae336992d64b41225 texlive.tlpdb
+9677c56fd51fdc353cb1372d2bb027d66204cecf6a8ab1aa32e97ae502f52e5c0d96d4bd5a74d494fa6d9bac1818d580d92a17fece9f6204fe236e52aede8f73 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index fae9ff75ce..9c6b115085 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+QqiBBqTOGHfhlDjHAFAmXYAkEACgkQTOGHfhlD
-jHC3FQf/XCQPyX427jUOtFVCU4g7CHHQZrHBItp3MwhIEqUwpP7So0k3nB8V7f6x
-ihIAWJ5BEE7ZKrQCtsq4EySkcjGaVXIBrP6KvcfIyW01FGZ3wMQKZ2nut7/Rme9U
-Y6traZnvvU1DSg2ucVJic2XkoW12jhz/fn0o7dbBjhxCFKc3d1wa0EBRlTvJG2lU
-9viFsClJ0TagGaQZS5aDavNdZ7gBaVZccuivuet44JNgytRYJ5ZjPRVuFQAYN9rL
-xq85bJiM28swma7BEBb70WaIrvRWV4ycy+f59A53/cxl23pi+AHZn821UkgQGGb+
-nvJSeiBOqKKN1ZkCBFEt5Cs93fR6mw==
-=lnKM
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmXZU+AACgkQTOGHfhlD
+jHCmKAf/QkIhlpmDjiP3AUGDd450hsCbtbHhVpakFu76/uqRcCUHBQf6jiqJ04kF
+f6UnmCSZW3NGBTgU6eyO2Ld83HxAp4ZX4PPBuZxCdoO0D/ydTgERNXbQ9ec/nT50
+a32pKjQxNix9S6tSz/BTbwi6qGAXWewySUy4Mxhb/42QN26M4qMAo71+5CZDE583
+Fb5h+wINX5U6yevWgjaE4DTbollaUfWmPOesxkKmuOl/eCLwDsCkYODqC1W+SxK3
+wrrjI97tJRf9WkOkQa0IRuZE2UHdMPKbC5RyD182Ug5zxGXhxeAcRuZeGAHMyUni
+6X81WV5ni8bv5rtvrmiwhE+0fSYGQQ==
+=I+ud
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index e8bc80575e..08006d80e7 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 eeb6b283e9..8c55bd6958 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-24-02-02
+2024-02-25-02-02