summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-05-20 03:01:36 +0000
committerNorbert Preining <norbert@preining.info>2024-05-20 03:01:36 +0000
commit225d674dde02e0571b74d1fc483d2d4d1084856a (patch)
tree3383b898fc205a5dfed8205c28cc6f337db30e9f
parenta65977b7a0d9973e675e06e3b250663288afe988 (diff)
CTAN sync 202405200301
-rw-r--r--FILES.byname109
-rw-r--r--FILES.byname.gzbin2657628 -> 2657834 bytes
-rw-r--r--FILES.last07days589
-rw-r--r--biblio/ctan-bibdata/ctan.bib42
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.pdfbin0 -> 17705 bytes
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.tex18
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.pdfbin0 -> 25368 bytes
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.tex19
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.pdfbin0 -> 23829 bytes
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.tex19
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdfbin498528 -> 570243 bytes
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex98
-rw-r--r--graphics/pgf/contrib/profsio/tex/ProfSio.sty318
-rw-r--r--info/biblio/tugboat.bib1080
-rw-r--r--info/biblio/tugboat.ltx12
-rw-r--r--macros/latex/contrib/catppuccinpalette/README.md28
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx422
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins57
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdfbin0 -> 210724 bytes
-rw-r--r--macros/latex/contrib/spbmark/spbmark.pdfbin91761 -> 91750 bytes
-rw-r--r--macros/latex/contrib/spbmark/spbmark.sty64
-rw-r--r--macros/latex/contrib/spbmark/spbmark.tex41
-rw-r--r--macros/luatex/latex/semesterplannerlua/README.md43
-rw-r--r--macros/luatex/latex/semesterplannerlua/semesterplannerlua.dtx885
-rw-r--r--macros/luatex/latex/semesterplannerlua/semesterplannerlua.ins59
-rw-r--r--macros/luatex/latex/semesterplannerlua/semesterplannerlua.pdfbin0 -> 144336 bytes
-rw-r--r--macros/luatex/latex/semesterplannerlua/semesterplannerlua_calendar.lua132
-rw-r--r--macros/luatex/latex/semesterplannerlua/semesterplannerlua_dmenu.lua156
-rw-r--r--macros/luatex/latex/semesterplannerlua/semesterplannerlua_timetable.lua233
-rw-r--r--support/TeX4ht/source/tex4ht-4ht.tex4
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl6
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb144
-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.xzbin2575172 -> 2573720 bytes
-rw-r--r--timestamp2
37 files changed, 3886 insertions, 714 deletions
diff --git a/FILES.byname b/FILES.byname
index 5e4c6cf14c..898330da8e 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2078,12 +2078,12 @@
2024/04/21 | 1837 | biblio/citation-style-language/README.md
2024/04/21 | 12878 | biblio/citation-style-language/vancouver.csl
2024/04/21 | 4553350 | biblio/citation-style-language.zip
-2024/05/18 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/05/19 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2024/05/18 | 2867695 | biblio/ctan-bibdata/ctan.bib
-2024/05/18 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/05/19 | 2867695 | biblio/ctan-bibdata/ctan.bib
+2024/05/19 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2024/05/18 | 4121389 | biblio/ctan-bibdata.zip
+2024/05/19 | 4121389 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5445,7 +5445,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2024/05/18 | 139917 | FILES.last07days
+2024/05/19 | 149853 | 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
@@ -173425,11 +173425,17 @@
2023/11/06 | 17523 | graphics/pgf/contrib/polyhedra/polyhedra.sty
2023/11/06 | 668 | graphics/pgf/contrib/polyhedra/README.md
2023/11/06 | 188326 | graphics/pgf/contrib/polyhedra.zip
-2024/05/12 | 498528 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
-2024/05/12 | 84363 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
+2024/05/18 | 17705 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.pdf
+2024/05/19 | 530 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.tex
+2024/05/18 | 25368 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.pdf
+2024/05/19 | 633 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.tex
+2024/05/18 | 23829 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.pdf
+2024/05/19 | 613 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.tex
+2024/05/19 | 570243 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
+2024/05/19 | 86304 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
2023/06/23 | 443 | graphics/pgf/contrib/profsio/README.md
-2024/05/12 | 149962 | graphics/pgf/contrib/profsio/tex/ProfSio.sty
-2024/05/12 | 525461 | graphics/pgf/contrib/profsio.zip
+2024/05/19 | 161514 | graphics/pgf/contrib/profsio/tex/ProfSio.sty
+2024/05/19 | 660551 | graphics/pgf/contrib/profsio.zip
2023/06/18 | 649 | graphics/pgf/contrib/prooftrees/manifest.txt
2023/06/18 | 899 | graphics/pgf/contrib/prooftrees/prooftrees_biber.bib
2023/06/18 | 911388 | graphics/pgf/contrib/prooftrees/prooftrees.pdf
@@ -180454,9 +180460,9 @@
2019/12/12 | 3088 | info/biblio/texnique.ltx
1999/02/20 | 312 | info/biblio/tugbib2.ltx
1999/02/20 | 315 | info/biblio/tugbib.ltx
-2024/04/11 | 4033609 | info/biblio/tugboat.bib
+2024/05/18 | 4071891 | info/biblio/tugboat.bib
2023/02/28 | 9905 | info/biblio/tugboat.def
-2024/04/11 | 3580 | info/biblio/tugboat.ltx
+2024/05/18 | 3576 | info/biblio/tugboat.ltx
2014/08/12 | 20186 | info/biblio/type.bib
2019/12/12 | 2025 | info/biblio/type.ltx
2024/05/08 | 1209421 | info/biblio/typeset.bib
@@ -229516,6 +229522,11 @@
2023/11/26 | 1313 | macros/latex/contrib/catoptions/README.md
2023/11/26 | 187536 | macros/latex/contrib/catoptions/tex/catoptions.sty
2023/11/26 | 64828 | macros/latex/contrib/catoptions.zip
+2024/05/19 | 14250 | macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
+2024/05/19 | 2410 | macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
+2024/05/19 | 210724 | macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
+2024/05/19 | 832 | macros/latex/contrib/catppuccinpalette/README.md
+2024/05/19 | 208840 | macros/latex/contrib/catppuccinpalette.zip
2011/08/07 | 145528 | macros/latex/contrib/ccaption/ccaption.dtx
2011/08/07 | 2360 | macros/latex/contrib/ccaption/ccaption.ins
2011/08/07 | 469733 | macros/latex/contrib/ccaption/ccaption.pdf
@@ -251888,11 +251899,11 @@
2016/10/05 | 1964 | macros/latex/contrib/spalign/spalign.ins
2016/10/06 | 136549 | macros/latex/contrib/spalign/spalign.pdf
2016/10/06 | 132943 | macros/latex/contrib/spalign.zip
-2024/01/03 | 581 | macros/latex/contrib/spbmark/README.md
-2024/05/13 | 91761 | macros/latex/contrib/spbmark/spbmark.pdf
-2024/05/13 | 17502 | macros/latex/contrib/spbmark/spbmark.sty
-2024/05/13 | 19050 | macros/latex/contrib/spbmark/spbmark.tex
-2024/05/13 | 99035 | macros/latex/contrib/spbmark.zip
+2024/01/02 | 581 | macros/latex/contrib/spbmark/README.md
+2024/05/19 | 91750 | macros/latex/contrib/spbmark/spbmark.pdf
+2024/05/19 | 18476 | macros/latex/contrib/spbmark/spbmark.sty
+2024/05/19 | 19377 | macros/latex/contrib/spbmark/spbmark.tex
+2024/05/19 | 99319 | macros/latex/contrib/spbmark.zip
2010/10/31 | 241052 | macros/latex/contrib/sphack/sphack-doc.pdf
2010/10/31 | 4122 | macros/latex/contrib/sphack/sphack-doc.tex
2010/12/23 | 4230 | macros/latex/contrib/sphack/sphack.sty
@@ -261168,6 +261179,14 @@
2015/10/26 | 7675 | macros/luatex/latex/selnolig/selnolig.sty
2015/10/26 | 129727 | macros/luatex/latex/selnolig/selnolig.tex
2015/10/26 | 585311 | macros/luatex/latex/selnolig.zip
+2024/05/19 | 1383 | macros/luatex/latex/semesterplannerlua/README.md
+2024/05/19 | 5065 | macros/luatex/latex/semesterplannerlua/semesterplannerlua_calendar.lua
+2024/05/19 | 5919 | macros/luatex/latex/semesterplannerlua/semesterplannerlua_dmenu.lua
+2024/05/19 | 39405 | macros/luatex/latex/semesterplannerlua/semesterplannerlua.dtx
+2024/05/19 | 2532 | macros/luatex/latex/semesterplannerlua/semesterplannerlua.ins
+2024/05/19 | 144336 | macros/luatex/latex/semesterplannerlua/semesterplannerlua.pdf
+2024/05/19 | 7662 | macros/luatex/latex/semesterplannerlua/semesterplannerlua_timetable.lua
+2024/05/19 | 156576 | macros/luatex/latex/semesterplannerlua.zip
2020/11/02 | 414 | macros/luatex/latex/semesterplanner/README.md
2020/11/02 | 6281 | macros/luatex/latex/semesterplanner/semesterplanner.dtx
2020/11/02 | 1466 | macros/luatex/latex/semesterplanner/semesterplanner.ins
@@ -306557,7 +306576,7 @@
2021/02/07 | 136588 | systems/texlive/tlnet/archive/babel-danish.doc.r57642.tar.xz
2021/02/07 | 2488 | systems/texlive/tlnet/archive/babel-danish.r57642.tar.xz
2021/02/07 | 5792 | systems/texlive/tlnet/archive/babel-danish.source.r57642.tar.xz
-2024/04/21 | 1052572 | systems/texlive/tlnet/archive/babel.doc.r71021.tar.xz
+2024/05/19 | 1052892 | systems/texlive/tlnet/archive/babel.doc.r71296.tar.xz
2021/08/30 | 157392 | systems/texlive/tlnet/archive/babel-dutch.doc.r60362.tar.xz
2021/08/30 | 2920 | systems/texlive/tlnet/archive/babel-dutch.r60362.tar.xz
2021/08/30 | 7968 | systems/texlive/tlnet/archive/babel-dutch.source.r60362.tar.xz
@@ -306646,7 +306665,7 @@
2021/07/10 | 146580 | systems/texlive/tlnet/archive/babel-portuges.doc.r59883.tar.xz
2021/07/10 | 2828 | systems/texlive/tlnet/archive/babel-portuges.r59883.tar.xz
2021/07/10 | 6692 | systems/texlive/tlnet/archive/babel-portuges.source.r59883.tar.xz
-2024/04/21 | 231364 | systems/texlive/tlnet/archive/babel.r71021.tar.xz
+2024/05/19 | 231316 | systems/texlive/tlnet/archive/babel.r71296.tar.xz
2021/04/07 | 113056 | systems/texlive/tlnet/archive/babel-romanian.doc.r58776.tar.xz
2021/04/07 | 2124 | systems/texlive/tlnet/archive/babel-romanian.r58776.tar.xz
2021/04/07 | 4308 | systems/texlive/tlnet/archive/babel-romanian.source.r58776.tar.xz
@@ -306677,7 +306696,7 @@
2021/11/07 | 209804 | systems/texlive/tlnet/archive/babel-sorbian.doc.r60975.tar.xz
2021/11/07 | 3156 | systems/texlive/tlnet/archive/babel-sorbian.r60975.tar.xz
2021/11/07 | 6328 | systems/texlive/tlnet/archive/babel-sorbian.source.r60975.tar.xz
-2024/04/21 | 889240 | systems/texlive/tlnet/archive/babel.source.r71021.tar.xz
+2024/05/19 | 889312 | systems/texlive/tlnet/archive/babel.source.r71296.tar.xz
2021/05/28 | 183140 | systems/texlive/tlnet/archive/babel-spanish.doc.r59367.tar.xz
2021/05/28 | 8876 | systems/texlive/tlnet/archive/babel-spanish.r59367.tar.xz
2021/05/28 | 29800 | systems/texlive/tlnet/archive/babel-spanish.source.r59367.tar.xz
@@ -306864,7 +306883,7 @@
2024/03/18 | 16452 | systems/texlive/tlnet/archive/beautybook.r70672.tar.xz
2024/02/26 | 858696 | systems/texlive/tlnet/archive/beautynote.doc.r70155.tar.xz
2024/02/26 | 5132 | systems/texlive/tlnet/archive/beautynote.r70155.tar.xz
-2024/05/09 | 923372 | systems/texlive/tlnet/archive/beebe.r71212.tar.xz
+2024/05/19 | 926160 | systems/texlive/tlnet/archive/beebe.r71298.tar.xz
2022/05/08 | 785552 | systems/texlive/tlnet/archive/begingreek.doc.r63255.tar.xz
2022/05/08 | 1808 | systems/texlive/tlnet/archive/begingreek.r63255.tar.xz
2022/05/08 | 7856 | systems/texlive/tlnet/archive/begingreek.source.r63255.tar.xz
@@ -315704,8 +315723,8 @@
2019/02/28 | 378272 | systems/texlive/tlnet/archive/productbox.doc.r20886.tar.xz
2019/02/28 | 4944 | systems/texlive/tlnet/archive/productbox.r20886.tar.xz
2019/02/28 | 15512 | systems/texlive/tlnet/archive/productbox.source.r20886.tar.xz
-2024/05/16 | 15062388 | systems/texlive/tlnet/archive/profcollege.doc.r71268.tar.xz
-2024/05/16 | 1345412 | systems/texlive/tlnet/archive/profcollege.r71268.tar.xz
+2024/05/19 | 15086100 | systems/texlive/tlnet/archive/profcollege.doc.r71295.tar.xz
+2024/05/19 | 1345996 | systems/texlive/tlnet/archive/profcollege.r71295.tar.xz
2022/04/27 | 134096 | systems/texlive/tlnet/archive/proflabo.doc.r63147.tar.xz
2022/04/27 | 2748 | systems/texlive/tlnet/archive/proflabo.r63147.tar.xz
2024/05/12 | 2115472 | systems/texlive/tlnet/archive/proflycee.doc.r71235.tar.xz
@@ -315949,8 +315968,8 @@
2019/05/03 | 8560 | systems/texlive/tlnet/archive/pst-marble.r50925.tar.xz
2023/07/04 | 226768 | systems/texlive/tlnet/archive/pst-math.doc.r67535.tar.xz
2023/07/04 | 5208 | systems/texlive/tlnet/archive/pst-math.r67535.tar.xz
-2021/09/15 | 6784012 | systems/texlive/tlnet/archive/pst-mirror.doc.r60506.tar.xz
-2021/09/15 | 12192 | systems/texlive/tlnet/archive/pst-mirror.r60506.tar.xz
+2024/05/19 | 7288916 | systems/texlive/tlnet/archive/pst-mirror.doc.r71294.tar.xz
+2024/05/19 | 12212 | systems/texlive/tlnet/archive/pst-mirror.r71294.tar.xz
2021/09/04 | 8296868 | systems/texlive/tlnet/archive/pst-moire.doc.r60411.tar.xz
2021/09/04 | 5328 | systems/texlive/tlnet/archive/pst-moire.r60411.tar.xz
2022/02/02 | 529992 | systems/texlive/tlnet/archive/pst-node.doc.r61838.tar.xz
@@ -317956,7 +317975,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/05/17 | 435428 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71276.tar.xz
+2024/05/19 | 435608 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71298.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
@@ -317978,7 +317997,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/05/17 | 114368 | systems/texlive/tlnet/archive/texlive-scripts.r71276.tar.xz
+2024/05/19 | 114364 | systems/texlive/tlnet/archive/texlive-scripts.r71298.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2024/05/10 | 60592 | systems/texlive/tlnet/archive/texlive-scripts.windows.r71215.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -318534,7 +318553,7 @@
2019/02/28 | 348 | systems/texlive/tlnet/archive/tlcockpit.x86_64-linuxmusl.r47036.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tlcockpit.x86_64-linux.r46798.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tlcockpit.x86_64-solaris.r46798.tar.xz
-2024/03/09 | 8545728 | systems/texlive/tlnet/archive/tlgs.windows.r70494.tar.xz
+2024/05/19 | 8541856 | systems/texlive/tlnet/archive/tlgs.windows.r71290.tar.xz
2024/02/27 | 164724 | systems/texlive/tlnet/archive/tlmgrbasics.doc.r70175.tar.xz
2024/02/27 | 428 | systems/texlive/tlnet/archive/tlmgrbasics.r70175.tar.xz
2021/05/07 | 444724 | systems/texlive/tlnet/archive/tlmgr-intro-zh-cn.doc.r59100.tar.xz
@@ -319400,8 +319419,8 @@
2021/09/29 | 6300 | systems/texlive/tlnet/archive/willowtreebook.r60638.tar.xz
2023/05/05 | 572224 | systems/texlive/tlnet/archive/windycity.doc.r67011.tar.xz
2023/05/05 | 21364 | systems/texlive/tlnet/archive/windycity.r67011.tar.xz
-2024/03/11 | 979600 | systems/texlive/tlnet/archive/wintools.windows.doc.r70576.tar.xz
-2024/03/11 | 6556256 | systems/texlive/tlnet/archive/wintools.windows.r70576.tar.xz
+2024/05/19 | 979592 | systems/texlive/tlnet/archive/wintools.windows.doc.r71293.tar.xz
+2024/05/19 | 5662004 | systems/texlive/tlnet/archive/wintools.windows.r71293.tar.xz
2019/11/05 | 475336 | systems/texlive/tlnet/archive/withargs.doc.r52641.tar.xz
2019/11/05 | 6100 | systems/texlive/tlnet/archive/withargs.r52641.tar.xz
2024/02/20 | 835404 | systems/texlive/tlnet/archive/witharrows.doc.r69995.tar.xz
@@ -319923,16 +319942,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2024/05/02 | 125808 | systems/texlive/tlnet/install-tl
-2024/05/18 | 5750213 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2024/05/18 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/05/18 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/05/19 | 5752503 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/05/19 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/05/19 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/04/13 | 5743 | systems/texlive/tlnet/install-tl-windows.bat
-2024/05/18 | 27719006 | systems/texlive/tlnet/install-tl-windows.exe
-2024/05/18 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/05/18 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/05/18 | 34426590 | systems/texlive/tlnet/install-tl.zip
-2024/05/18 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/05/18 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/05/19 | 27719536 | systems/texlive/tlnet/install-tl-windows.exe
+2024/05/19 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/05/19 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/05/19 | 34426589 | systems/texlive/tlnet/install-tl.zip
+2024/05/19 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/05/19 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2024/03/13 | 1229 | systems/texlive/tlnet/README.md
2024/03/13 | 0 | systems/texlive/tlnet/TEXLIVE_2024
2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -319942,7 +319961,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/05/17 | 7225 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/05/19 | 7218 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/03/15 | 229654 | 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
@@ -319984,12 +320003,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2024/05/02 | 5898 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2024/05/18 | 19481965 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/05/18 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/05/19 | 19482168 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/05/19 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2024/05/02 | 87729 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2024/05/18 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2024/05/18 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/05/18 | 2576188 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/05/19 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/05/19 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/05/19 | 2575172 | 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
@@ -331511,7 +331530,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/05/19 | 186 | timestamp
+2024/05/20 | 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 0f836de441..ee6594d792 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 27131795ee..1090568960 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,59 @@
+2024/05/19 | 99319 | macros/latex/contrib/spbmark.zip
+2024/05/19 | 979592 | systems/texlive/tlnet/archive/wintools.windows.doc.r71293.tar.xz
+2024/05/19 | 926160 | systems/texlive/tlnet/archive/beebe.r71298.tar.xz
+2024/05/19 | 91750 | macros/latex/contrib/spbmark/spbmark.pdf
+2024/05/19 | 889312 | systems/texlive/tlnet/archive/babel.source.r71296.tar.xz
+2024/05/19 | 86304 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
+2024/05/19 | 8541856 | systems/texlive/tlnet/archive/tlgs.windows.r71290.tar.xz
+2024/05/19 | 832 | macros/latex/contrib/catppuccinpalette/README.md
+2024/05/19 | 7662 | macros/luatex/latex/semesterplannerlua/semesterplannerlua_timetable.lua
+2024/05/19 | 7288916 | systems/texlive/tlnet/archive/pst-mirror.doc.r71294.tar.xz
+2024/05/19 | 7218 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/05/19 | 660551 | graphics/pgf/contrib/profsio.zip
+2024/05/19 | 633 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.tex
+2024/05/19 | 613 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.tex
+2024/05/19 | 5919 | macros/luatex/latex/semesterplannerlua/semesterplannerlua_dmenu.lua
+2024/05/19 | 5752503 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/05/19 | 570243 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
+2024/05/19 | 5662004 | systems/texlive/tlnet/archive/wintools.windows.r71293.tar.xz
+2024/05/19 | 530 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.tex
+2024/05/19 | 5065 | macros/luatex/latex/semesterplannerlua/semesterplannerlua_calendar.lua
+2024/05/19 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/05/19 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/05/19 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/05/19 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/05/19 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/05/19 | 435608 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71298.tar.xz
+2024/05/19 | 4121389 | biblio/ctan-bibdata.zip
+2024/05/19 | 39405 | macros/luatex/latex/semesterplannerlua/semesterplannerlua.dtx
+2024/05/19 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/05/19 | 34426589 | systems/texlive/tlnet/install-tl.zip
+2024/05/19 | 2867695 | biblio/ctan-bibdata/ctan.bib
+2024/05/19 | 27719536 | systems/texlive/tlnet/install-tl-windows.exe
+2024/05/19 | 2575172 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/05/19 | 2532 | macros/luatex/latex/semesterplannerlua/semesterplannerlua.ins
+2024/05/19 | 2410 | macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
+2024/05/19 | 231316 | systems/texlive/tlnet/archive/babel.r71296.tar.xz
+2024/05/19 | 210724 | macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
+2024/05/19 | 208840 | macros/latex/contrib/catppuccinpalette.zip
+2024/05/19 | 19482168 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/05/19 | 19377 | macros/latex/contrib/spbmark/spbmark.tex
+2024/05/19 | 18476 | macros/latex/contrib/spbmark/spbmark.sty
+2024/05/19 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/05/19 | 161514 | graphics/pgf/contrib/profsio/tex/ProfSio.sty
+2024/05/19 | 156576 | macros/luatex/latex/semesterplannerlua.zip
+2024/05/19 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/05/19 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/05/19 | 15086100 | systems/texlive/tlnet/archive/profcollege.doc.r71295.tar.xz
+2024/05/19 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/05/19 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/05/19 | 144336 | macros/luatex/latex/semesterplannerlua/semesterplannerlua.pdf
+2024/05/19 | 14250 | macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
+2024/05/19 | 1383 | macros/luatex/latex/semesterplannerlua/README.md
+2024/05/19 | 1345996 | systems/texlive/tlnet/archive/profcollege.r71295.tar.xz
+2024/05/19 | 12212 | systems/texlive/tlnet/archive/pst-mirror.r71294.tar.xz
+2024/05/19 | 114364 | systems/texlive/tlnet/archive/texlive-scripts.r71298.tar.xz
+2024/05/19 | 1052892 | systems/texlive/tlnet/archive/babel.doc.r71296.tar.xz
2024/05/18 | 9752 | systems/texlive/tlnet/archive/se2thesis.r71285.tar.xz
2024/05/18 | 9601362 | systems/win32/miktex/tm/packages/profcollege__doc.tar.lzma
2024/05/18 | 9386 | systems/win32/miktex/tm/packages/se2thesis.tar.lzma
@@ -54,7 +110,6 @@
2024/05/18 | 57972 | systems/texlive/tlnet/archive/fvextra.source.r71282.tar.xz
2024/05/18 | 579135 | systems/win32/miktex/tm/packages/se2thesis__doc.tar.lzma
2024/05/18 | 5761 | systems/win32/miktex/tm/packages/spbmark__source.tar.lzma
-2024/05/18 | 5750213 | systems/texlive/tlnet/install-tl-unx.tar.gz
2024/05/18 | 5699724 | macros/latex/contrib/profcollege/doc/profcollege-doc.zip
2024/05/18 | 5678402 | systems/win32/miktex/tm/packages/profcollege__source.tar.lzma
2024/05/18 | 55979 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
@@ -68,11 +123,6 @@
2024/05/18 | 5096 | systems/win32/miktex/tm/packages/skillicons__source.tar.lzma
2024/05/18 | 499536 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
2024/05/18 | 49715 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2024/05/18 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/05/18 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/05/18 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2024/05/18 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/05/18 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/05/18 | 488516 | systems/win32/miktex/tm/packages/profsio__doc.tar.lzma
2024/05/18 | 48284 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
2024/05/18 | 47377 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
@@ -90,7 +140,7 @@
2024/05/18 | 429906 | systems/win32/miktex/tm/packages/msu-thesis__source.tar.lzma
2024/05/18 | 423656 | macros/latex/required/babel/base/babel.pdf
2024/05/18 | 4125 | systems/win32/miktex/tm/packages/spbmark.tar.lzma
-2024/05/18 | 4121389 | biblio/ctan-bibdata.zip
+2024/05/18 | 4071891 | info/biblio/tugboat.bib
2024/05/18 | 40364 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2024/05/18 | 395494 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2024/05/18 | 3934 | systems/win32/miktex/tm/packages/latex2pydata.tar.lzma
@@ -99,17 +149,16 @@
2024/05/18 | 3744 | systems/texlive/tlnet/archive/latex2pydata.r71283.tar.xz
2024/05/18 | 3727343 | install/macros/latex/required/babel-base.tds.zip
2024/05/18 | 37216 | systems/win32/miktex/tm/packages/xindex.tar.lzma
-2024/05/18 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2024/05/18 | 36872 | systems/texlive/tlnet/archive/xindex.r71279.tar.xz
2024/05/18 | 36839 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2024/05/18 | 36717 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2024/05/18 | 3576 | info/biblio/tugboat.ltx
2024/05/18 | 356083 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2024/05/18 | 356032 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2024/05/18 | 35329 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2024/05/18 | 3527 | macros/latex/required/babel/base/bbidxglo.dtx
2024/05/18 | 351745 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
2024/05/18 | 34941 | systems/win32/miktex/tm/packages/luamplib__source.tar.lzma
-2024/05/18 | 34426590 | systems/texlive/tlnet/install-tl.zip
2024/05/18 | 33852 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2024/05/18 | 33843 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
2024/05/18 | 329937 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
@@ -129,10 +178,8 @@
2024/05/18 | 291597 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2024/05/18 | 29137 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
2024/05/18 | 287507 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2024/05/18 | 2867695 | biblio/ctan-bibdata/ctan.bib
2024/05/18 | 2844951 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2024/05/18 | 278288 | systems/win32/miktex/tm/packages/proflycee__source.tar.lzma
-2024/05/18 | 27719006 | systems/texlive/tlnet/install-tl-windows.exe
2024/05/18 | 27521 | systems/win32/miktex/tm/packages/fontspec.tar.lzma
2024/05/18 | 274311 | systems/win32/miktex/tm/packages/rigidnotation__doc.tar.lzma
2024/05/18 | 272491 | systems/win32/miktex/tm/packages/lete-sans-math.tar.lzma
@@ -140,14 +187,15 @@
2024/05/18 | 272179 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2024/05/18 | 258548 | systems/win32/miktex/tm/packages/reledmac__source.tar.lzma
2024/05/18 | 2585196 | systems/win32/miktex/tm/packages/latex2e-help-texinfo__source.tar.lzma
-2024/05/18 | 2576188 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2024/05/18 | 25610 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2024/05/18 | 25586 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2024/05/18 | 25368 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.pdf
2024/05/18 | 25328 | systems/texlive/tlnet/archive/se2thesis.source.r71285.tar.xz
2024/05/18 | 25149 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2024/05/18 | 249229 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
2024/05/18 | 245916 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2024/05/18 | 24140 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2024/05/18 | 23829 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.pdf
2024/05/18 | 2370 | systems/win32/miktex/tm/packages/tblr-extras.tar.lzma
2024/05/18 | 2369870 | macros/latex/required/babel/base.zip
2024/05/18 | 232009 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
@@ -169,7 +217,6 @@
2024/05/18 | 20066 | systems/win32/miktex/tm/packages/piton.tar.lzma
2024/05/18 | 19987 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
2024/05/18 | 19955 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2024/05/18 | 19481965 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2024/05/18 | 194140 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
2024/05/18 | 189845 | systems/win32/miktex/tm/packages/luamplib__doc.tar.lzma
2024/05/18 | 186505 | systems/win32/miktex/tm/packages/xindex__source.tar.lzma
@@ -187,21 +234,17 @@
2024/05/18 | 1785812 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2024/05/18 | 1785146 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2024/05/18 | 17784 | systems/win32/miktex/tm/packages/easybook.tar.lzma
+2024/05/18 | 17705 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.pdf
2024/05/18 | 1756665 | systems/win32/miktex/tm/packages/csvsimple__doc.tar.lzma
2024/05/18 | 1748076 | systems/win32/miktex/tm/packages/latex2e-help-texinfo.tar.lzma
2024/05/18 | 174046 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2024/05/18 | 17199 | systems/win32/miktex/tm/packages/luamplib.tar.lzma
-2024/05/18 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2024/05/18 | 159911 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2024/05/18 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2024/05/18 | 1530662 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2024/05/18 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2024/05/18 | 14963 | systems/win32/miktex/tm/packages/pst-optic.tar.lzma
2024/05/18 | 14817 | systems/win32/miktex/tm/packages/ximera.tar.lzma
2024/05/18 | 14696 | systems/texlive/tlnet/archive/pst-optic.r71278.tar.xz
-2024/05/18 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2024/05/18 | 14595 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2024/05/18 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2024/05/18 | 1446315 | macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
2024/05/18 | 1441908 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2024/05/18 | 141957 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
@@ -251,7 +294,6 @@
2024/05/17 | 748 | support/texshop/README.txt
2024/05/17 | 7479995 | graphics/pstricks/contrib/pst-mirror.zip
2024/05/17 | 73799 | graphics/pstricks/contrib/pst-optic/tex/pst-optic.tex
-2024/05/17 | 7225 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/05/17 | 7210837 | graphics/pstricks/contrib/pst-mirror/doc/pst-mirror-doc.pdf
2024/05/17 | 7117 | macros/latex/contrib/se2thesis/CHANGELOG.md
2024/05/17 | 69613289 | support/texshop/texshop535.zip
@@ -269,7 +311,6 @@
2024/05/17 | 45880 | graphics/pstricks/contrib/pst-optic/doc/pst-optic-doc.tex
2024/05/17 | 45494 | graphics/pstricks/contrib/pst-mirror/tex/pst-mirror.tex
2024/05/17 | 443 | graphics/pstricks/contrib/pst-mirror/latex/pst-mirror.sty
-2024/05/17 | 435428 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71276.tar.xz
2024/05/17 | 42237 | graphics/pstricks/contrib/pst-mirror/doc/createEPS/xa.eps
2024/05/17 | 4210 | support/texshop/texshop535.html
2024/05/17 | 361 | graphics/pstricks/contrib/pst-mirror/doc/createEPS/script.readme
@@ -304,7 +345,6 @@
2024/05/17 | 117192 | macros/latex/contrib/fontscale/fontscale-manual.pdf
2024/05/17 | 1152 | macros/latex/contrib/se2thesis/README.md
2024/05/17 | 11449 | graphics/pstricks/contrib/pst-mirror/doc/createEPS/xb.eps
-2024/05/17 | 114368 | systems/texlive/tlnet/archive/texlive-scripts.r71276.tar.xz
2024/05/17 | 107 | graphics/pstricks/contrib/pst-mirror/doc/createEPS/test.sh
2024/05/17 | 10521 | graphics/pstricks/contrib/pst-mirror/doc/createEPS/xc.eps
2024/05/16 | 9981 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
@@ -371,12 +411,10 @@
2024/05/16 | 1685 | macros/latex/contrib/latex2pydata/README
2024/05/16 | 166 | macros/latex/contrib/csvsimple/catsort.xml
2024/05/16 | 1540 | systems/texlive/tlnet/archive/hvqrurl.r71267.tar.xz
-2024/05/16 | 15062388 | systems/texlive/tlnet/archive/profcollege.doc.r71268.tar.xz
2024/05/16 | 14439 | indexing/xindex/doc/tests/french.pdf
2024/05/16 | 1408 | macros/latex/contrib/latex2pydata/CHANGELOG.md
2024/05/16 | 139419 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
2024/05/16 | 135 | macros/latex/contrib/csvsimple/encoding.xml
-2024/05/16 | 1345412 | systems/texlive/tlnet/archive/profcollege.r71268.tar.xz
2024/05/16 | 1342 | indexing/xindex/doc/tests/french.ind
2024/05/16 | 1276 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
2024/05/16 | 127249 | macros/latex/contrib/csvsimple/csvsimple-title.png
@@ -1074,14 +1112,11 @@
2024/05/14 | 10145 | macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark-eps-converted-to.pdf
2024/05/14 | 10143 | macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light-eps-converted-to.pdf
2024/05/14 | 1000 | macros/latex/contrib/profcollege/latex/PfCJeton.tex
-2024/05/13 | 99035 | macros/latex/contrib/spbmark.zip
2024/05/13 | 933483 | info/latex2e-help-texinfo/latex2e.info
-2024/05/13 | 91761 | macros/latex/contrib/spbmark/spbmark.pdf
2024/05/13 | 875684 | systems/texlive/tlnet/archive/piton.doc.r71244.tar.xz
2024/05/13 | 873681 | info/latex2e-help-texinfo/latex2e.txt
2024/05/13 | 8636 | systems/texlive/tlnet/archive/tkz-grapheur.r71241.tar.xz
2024/05/13 | 76412 | systems/texlive/tlnet/archive/latexindent.r71245.tar.xz
-2024/05/13 | 756897 | info/latex2e-help-texinfo/latex2e.texi
2024/05/13 | 7561 | info/latex2e-help-texinfo/Makefile
2024/05/13 | 671464 | systems/texlive/tlnet/archive/tkz-grapheur.doc.r71241.tar.xz
2024/05/13 | 629959 | support/TeX4ht/source/tex4ht-html4.tex
@@ -1096,15 +1131,12 @@
2024/05/13 | 2824 | systems/texlive/tlnet/archive/synthslant.r71249.tar.xz
2024/05/13 | 276947 | macros/latex/contrib/rigidnotation.zip
2024/05/13 | 273188 | systems/texlive/tlnet/archive/lete-sans-math.r71247.tar.xz
-2024/05/13 | 260059 | info/latex2e-help-texinfo/ChangeLog
2024/05/13 | 253630 | support/TeX4ht/source/ChangeLog
2024/05/13 | 2056 | systems/texlive/tlnet/archive/collection-fontsextra.r71246.tar.xz
2024/05/13 | 2050140 | systems/texlive/tlnet/archive/lete-sans-math.doc.r71247.tar.xz
2024/05/13 | 2009981 | info/latex2e-help-texinfo/latex2e.html
2024/05/13 | 19920 | systems/texlive/tlnet/archive/piton.r71244.tar.xz
-2024/05/13 | 19050 | macros/latex/contrib/spbmark/spbmark.tex
2024/05/13 | 18276 | systems/texlive/tlnet/archive/profsio.r71240.tar.xz
-2024/05/13 | 17502 | macros/latex/contrib/spbmark/spbmark.sty
2024/05/13 | 1706612 | systems/texlive/tlnet/archive/mathgreeks.doc.r71248.tar.xz
2024/05/13 | 1680 | systems/texlive/tlnet/archive/collection-pictures.r71241.tar.xz
2024/05/13 | 157428 | systems/texlive/tlnet/archive/synthslant.source.r71249.tar.xz
@@ -1116,502 +1148,3 @@
2024/05/13 | 1190444 | support/TeX4ht/source/tex4ht-4ht.tex
2024/05/13 | 1107633 | info/latex2e-help-texinfo/latex2e.dbk
2024/05/13 | 1103696 | systems/texlive/tlnet/archive/synthslant.doc.r71249.tar.xz
-2024/05/12 | 9894 | macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Light.eps
-2024/05/12 | 9894 | macros/latex/contrib/skillicons/skill-icons/skillicons_Workers-Dark.eps
-2024/05/12 | 9859 | support/latexindent/LatexIndent/Lines.pm
-2024/05/12 | 9468184 | support/latexindent/bin/windows/latexindent.exe
-2024/05/12 | 9467 | macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Light.eps
-2024/05/12 | 9466 | macros/latex/contrib/skillicons/skill-icons/skillicons_Jenkins-Dark.eps
-2024/05/12 | 9005 | support/latexindent/LatexIndent/FileExtension.pm
-2024/05/12 | 8893 | support/latexindent/LatexIndent/IfElseFi.pm
-2024/05/12 | 85944 | systems/texlive/tlnet/archive/fontspec.source.r71237.tar.xz
-2024/05/12 | 8493 | indexing/xindex/lualatex/xindex-pretty.lua
-2024/05/12 | 847 | macros/latex/contrib/ximera/README
-2024/05/12 | 84363 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
-2024/05/12 | 838 | support/latexindent/LatexIndent/Version.pm
-2024/05/12 | 8346 | support/latexindent/LatexIndent/Environment.pm
-2024/05/12 | 80454 | indexing/xindex/lualatex/xindex-unicode.lua
-2024/05/12 | 7847681 | support/latexindent/bin/linux/latexindent
-2024/05/12 | 7820 | indexing/xindex/lualatex/xindex-yannis.lua
-2024/05/12 | 7650 | macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Light.eps
-2024/05/12 | 7650 | macros/latex/contrib/skillicons/skill-icons/skillicons_Flask-Dark.eps
-2024/05/12 | 7590 | macros/latex/contrib/ximera/ximera.ins
-2024/05/12 | 7585 | macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Dark.eps
-2024/05/12 | 7581 | macros/latex/contrib/skillicons/skill-icons/skillicons_Idea-Light.eps
-2024/05/12 | 7564693 | support/latexindent/bin/macos/latexindent
-2024/05/12 | 75345 | macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Dark.eps
-2024/05/12 | 75343 | macros/latex/contrib/skillicons/skill-icons/skillicons_Emotion-Light.eps
-2024/05/12 | 7379 | support/latexindent/LatexIndent/MandatoryArgument.pm
-2024/05/12 | 7340 | macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Dark.eps
-2024/05/12 | 7337 | macros/latex/contrib/skillicons/skill-icons/skillicons_ReactiveX-Light.eps
-2024/05/12 | 72500 | systems/texlive/tlnet/archive/proflycee.r71235.tar.xz
-2024/05/12 | 7161 | support/latexindent/documentation/figure-schematic.png
-2024/05/12 | 6953 | support/latexindent/LatexIndent/TrailingComments.pm
-2024/05/12 | 6904 | macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Light.eps
-2024/05/12 | 6904 | macros/latex/contrib/skillicons/skill-icons/skillicons_VisualStudio-Dark.eps
-2024/05/12 | 6890 | support/latexindent/LatexIndent/Item.pm
-2024/05/12 | 68177 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
-2024/05/12 | 6735 | macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Light.eps
-2024/05/12 | 6733 | macros/latex/contrib/skillicons/skill-icons/skillicons_Less-Dark.eps
-2024/05/12 | 6676 | macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Dark.eps
-2024/05/12 | 6670 | macros/latex/contrib/skillicons/skill-icons/skillicons_LaTeX-Light.eps
-2024/05/12 | 6664 | support/latexindent/documentation/contributors.bib
-2024/05/12 | 6620 | support/latexindent/LatexIndent/OptionalArgument.pm
-2024/05/12 | 6616 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
-2024/05/12 | 6391 | support/latexindent/LatexIndent/Else.pm
-2024/05/12 | 6368 | macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Light.eps
-2024/05/12 | 6368 | macros/latex/contrib/skillicons/skill-icons/skillicons_SolidJS-Dark.eps
-2024/05/12 | 6362 | macros/latex/contrib/skillicons/skill-icons/skillicons_Perl.eps
-2024/05/12 | 6356 | macros/latex/contrib/skillicons/skill-icons/skillicons_JQuery.eps
-2024/05/12 | 61245 | support/latexindent/documentation/latexindent-yaml-schema.json
-2024/05/12 | 6098 | indexing/xindex/lualatex/xindex-norsk.lua
-2024/05/12 | 6050 | macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Light.eps
-2024/05/12 | 6050 | macros/latex/contrib/skillicons/skill-icons/skillicons_NestJS-Dark.eps
-2024/05/12 | 5916 | macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Dark.eps
-2024/05/12 | 5914 | macros/latex/contrib/skillicons/skill-icons/skillicons_DENO-Light.eps
-2024/05/12 | 5883 | support/latexindent/LatexIndent/UTF8CmdLineArgsFileOperation.pm
-2024/05/12 | 5857 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
-2024/05/12 | 57020 | support/latexindent/LatexIndent/GetYamlSettings.pm
-2024/05/12 | 5649 | macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Dark.eps
-2024/05/12 | 5648 | macros/latex/contrib/skillicons/skill-icons/skillicons_RollupJS-Light.eps
-2024/05/12 | 55884 | systems/texlive/tlnet/archive/reledmac.r71236.tar.xz
-2024/05/12 | 5478 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
-2024/05/12 | 5432 | support/latexindent/LatexIndent/Check.pm
-2024/05/12 | 5388 | macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Light.eps
-2024/05/12 | 5380 | macros/latex/contrib/skillicons/skill-icons/skillicons_Pug-Dark.eps
-2024/05/12 | 5357 | macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Dark.eps
-2024/05/12 | 5356 | macros/latex/contrib/skillicons/skill-icons/skillicons_Kali-Light.eps
-2024/05/12 | 525461 | graphics/pgf/contrib/profsio.zip
-2024/05/12 | 5237 | macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Dark.eps
-2024/05/12 | 5219 | macros/latex/contrib/skillicons/skill-icons/skillicons_AiScript-Light.eps
-2024/05/12 | 5208 | macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Light.eps
-2024/05/12 | 5053 | macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Dark.eps
-2024/05/12 | 5052 | macros/latex/contrib/skillicons/skill-icons/skillicons_Cypress-Light.eps
-2024/05/12 | 5041 | macros/latex/contrib/skillicons/skill-icons/skillicons_SQLite.eps
-2024/05/12 | 498528 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
-2024/05/12 | 4946 | support/latexindent/latexindent.pl
-2024/05/12 | 4860 | support/latexindent/LatexIndent/BlankLines.pm
-2024/05/12 | 4842 | indexing/xindex/lualatex/xindex-dtk.lua
-2024/05/12 | 4824 | macros/latex/contrib/skillicons/skill-icons/skillicons_Instagram.eps
-2024/05/12 | 4813 | macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Dark.eps
-2024/05/12 | 4810 | macros/latex/contrib/skillicons/skill-icons/skillicons_Nix-Light.eps
-2024/05/12 | 4703 | macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Dark.eps
-2024/05/12 | 4701 | macros/latex/contrib/skillicons/skill-icons/skillicons_Azure-Light.eps
-2024/05/12 | 4640 | macros/latex/contrib/skillicons/skill-icons/skillicons_ScikitLearn-Dark.eps
-2024/05/12 | 4618 | macros/latex/contrib/skillicons/skill-icons/skillicons_SciKitLearn-Light.eps
-2024/05/12 | 4605 | macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Dark.eps
-2024/05/12 | 4558 | macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Dark.eps
-2024/05/12 | 4556 | macros/latex/contrib/skillicons/skill-icons/skillicons_Bun-Light.eps
-2024/05/12 | 4509 | macros/latex/contrib/skillicons/skill-icons/skillicons_Rust.eps
-2024/05/12 | 446337 | support/latexindent/documentation/latexindent.tex
-2024/05/12 | 44096 | support/latexindent/documentation/logo.png
-2024/05/12 | 4404 | support/latexindent/LatexIndent/RoundBrackets.pm
-2024/05/12 | 4402 | support/latexindent/documentation/latex-indent.bib
-2024/05/12 | 4399 | macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Dark.eps
-2024/05/12 | 4396 | macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Light.eps
-2024/05/12 | 4396 | macros/latex/contrib/skillicons/skill-icons/skillicons_NeoVim-Dark.eps
-2024/05/12 | 4391 | macros/latex/contrib/skillicons/skill-icons/skillicons_Rocket.eps
-2024/05/12 | 4391 | macros/latex/contrib/skillicons/skill-icons/skillicons_Matlab-Light.eps
-2024/05/12 | 4388 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
-2024/05/12 | 4296 | macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Light.eps
-2024/05/12 | 4296 | macros/latex/contrib/skillicons/skill-icons/skillicons_Pinia-Dark.eps
-2024/05/12 | 429028 | macros/luatex/latex/piton/piton-french.pdf
-2024/05/12 | 4248 | macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Light.eps
-2024/05/12 | 4248 | macros/latex/contrib/skillicons/skill-icons/skillicons_PhpStorm-Dark.eps
-2024/05/12 | 4248 | macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Dark.eps
-2024/05/12 | 4247 | macros/latex/contrib/skillicons/skill-icons/skillicons_Netlify-Light.eps
-2024/05/12 | 4177 | macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Dark.eps
-2024/05/12 | 4173 | macros/latex/contrib/skillicons/skill-icons/skillicons_CLion-Light.eps
-2024/05/12 | 4091 | macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Dark.eps
-2024/05/12 | 4090 | macros/latex/contrib/skillicons/skill-icons/skillicons_RaspberryPi-Light.eps
-2024/05/12 | 40887 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ember.eps
-2024/05/12 | 4060 | macros/latex/contrib/skillicons/skill-icons/skillicons_Electron.eps
-2024/05/12 | 4047 | macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Dark.eps
-2024/05/12 | 4046 | macros/latex/contrib/skillicons/skill-icons/skillicons_PyCharm-Light.eps
-2024/05/12 | 4033 | macros/latex/contrib/skillicons/skill-icons/skillicons_Kubernetes.eps
-2024/05/12 | 3998 | macros/latex/contrib/skillicons/skill-icons/skillicons_Postman.eps
-2024/05/12 | 3815 | macros/latex/contrib/skillicons/skill-icons/skillicons_StyledComponents.eps
-2024/05/12 | 3757 | macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Dark.eps
-2024/05/12 | 3756 | macros/latex/contrib/skillicons/skill-icons/skillicons_Linux-Light.eps
-2024/05/12 | 369523 | macros/latex/contrib/ximera.zip
-2024/05/12 | 3684 | macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Dark.eps
-2024/05/12 | 3681 | macros/latex/contrib/skillicons/skill-icons/skillicons_Yarn-Light.eps
-2024/05/12 | 3681 | macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Light.eps
-2024/05/12 | 3670 | macros/latex/contrib/skillicons/skill-icons/skillicons_Actix-Dark.eps
-2024/05/12 | 35225 | support/latexindent/LatexIndent/Wrap.pm
-2024/05/12 | 3517 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
-2024/05/12 | 3515 | support/latexindent/LatexIndent/Replacement.pm
-2024/05/12 | 3513 | macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Light.eps
-2024/05/12 | 3511 | macros/latex/contrib/skillicons/skill-icons/skillicons_Arch-Dark.eps
-2024/05/12 | 3494 | macros/latex/contrib/skillicons/skill-icons/skillicons_Sass.eps
-2024/05/12 | 3447 | macros/latex/contrib/skillicons/skill-icons/skillicons_Astro.eps
-2024/05/12 | 3398 | macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Light.eps
-2024/05/12 | 3388 | macros/latex/contrib/skillicons/skill-icons/skillicons_AWS-Dark.eps
-2024/05/12 | 3383 | macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Light.eps
-2024/05/12 | 3382 | macros/latex/contrib/skillicons/skill-icons/skillicons_BSD-Dark.eps
-2024/05/12 | 3353 | support/latexindent/LatexIndent/Tokens.pm
-2024/05/12 | 3352 | macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Dark.eps
-2024/05/12 | 3351 | macros/latex/contrib/skillicons/skill-icons/skillicons_WindiCSS-Light.eps
-2024/05/12 | 3339 | macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Dark.eps
-2024/05/12 | 3338 | macros/latex/contrib/skillicons/skill-icons/skillicons_Rider-Light.eps
-2024/05/12 | 33084 | systems/texlive/tlnet/archive/kpathsea.r71233.tar.xz
-2024/05/12 | 3255 | macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Dark.eps
-2024/05/12 | 3254 | macros/latex/contrib/skillicons/skill-icons/skillicons_Powershell-Light.eps
-2024/05/12 | 3236 | macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Light.eps
-2024/05/12 | 3234 | macros/latex/contrib/skillicons/skill-icons/skillicons_Anaconda-Dark.eps
-2024/05/12 | 320915 | macros/latex/contrib/ximera/ximera.pdf
-2024/05/12 | 3181 | macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Light.eps
-2024/05/12 | 3181 | macros/latex/contrib/skillicons/skill-icons/skillicons_Atom.eps
-2024/05/12 | 3180 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vala.eps
-2024/05/12 | 3179 | macros/latex/contrib/skillicons/skill-icons/skillicons_Gherkin-Dark.eps
-2024/05/12 | 3114 | macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Dark.eps
-2024/05/12 | 3111 | macros/latex/contrib/skillicons/skill-icons/skillicons_CMake-Light.eps
-2024/05/12 | 3057 | macros/latex/contrib/skillicons/skill-icons/skillicons_OCaml.eps
-2024/05/12 | 3055 | macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Dark.eps
-2024/05/12 | 3044 | macros/latex/contrib/skillicons/skill-icons/skillicons_Jest.eps
-2024/05/12 | 3043 | macros/latex/contrib/skillicons/skill-icons/skillicons_Selenium.eps
-2024/05/12 | 3041 | macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Light.eps
-2024/05/12 | 3040 | macros/latex/contrib/skillicons/skill-icons/skillicons_Supabase-Dark.eps
-2024/05/12 | 3005 | macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Dark.eps
-2024/05/12 | 3005 | indexing/xindex/lualatex/xindex-danteedition.lua
-2024/05/12 | 3003 | macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordJS-Light.eps
-2024/05/12 | 2984 | macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Dark.eps
-2024/05/12 | 2981 | macros/latex/contrib/skillicons/skill-icons/skillicons_Debian-Light.eps
-2024/05/12 | 2973 | indexing/xindex/lualatex/xindex-RU.lua
-2024/05/12 | 2960 | macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Light.eps
-2024/05/12 | 2913 | macros/latex/contrib/skillicons/skill-icons/skillicons_OpenShift.eps
-2024/05/12 | 2874 | macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Light.eps
-2024/05/12 | 2874 | macros/latex/contrib/skillicons/skill-icons/skillicons_Eclipse-Dark.eps
-2024/05/12 | 2854 | macros/latex/contrib/skillicons/skill-icons/skillicons_Azul.eps
-2024/05/12 | 2828 | macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Dark.eps
-2024/05/12 | 2820 | macros/latex/contrib/skillicons/skill-icons/skillicons_IPFS-Light.eps
-2024/05/12 | 2812 | macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Light.eps
-2024/05/12 | 2808 | macros/latex/contrib/skillicons/skill-icons/skillicons_MySQL-Dark.eps
-2024/05/12 | 2802 | macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Light.eps
-2024/05/12 | 2799 | macros/latex/contrib/skillicons/skill-icons/skillicons_Fediverse-Dark.eps
-2024/05/12 | 278039 | macros/luatex/latex/piton/piton.dtx
-2024/05/12 | 27422 | support/latexindent/LatexIndent/Verbatim.pm
-2024/05/12 | 27416 | systems/texlive/tlnet/archive/fontspec.r71237.tar.xz
-2024/05/12 | 2733 | support/latexindent/LatexIndent/Preamble.pm
-2024/05/12 | 2733 | indexing/xindex/lualatex/xindex-AU.lua
-2024/05/12 | 273004 | macros/latex/contrib/rigidnotation/rigidnotation.pdf
-2024/05/12 | 2712 | support/latexindent/LatexIndent/Switches.pm
-2024/05/12 | 2708 | macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Dark.eps
-2024/05/12 | 27068 | macros/latex/contrib/skillicons/skill-icons/skillicons_Babel.eps
-2024/05/12 | 2705 | macros/latex/contrib/skillicons/skill-icons/skillicons_Godot-Light.eps
-2024/05/12 | 2664 | macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Light.eps
-2024/05/12 | 2664 | macros/latex/contrib/skillicons/skill-icons/skillicons_WebStorm-Dark.eps
-2024/05/12 | 2656 | macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Light.eps
-2024/05/12 | 2656 | macros/latex/contrib/skillicons/skill-icons/skillicons_AndroidStudio-Dark.eps
-2024/05/12 | 2653 | macros/latex/contrib/skillicons/skill-icons/skillicons_Bootstrap.eps
-2024/05/12 | 2614 | macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Dark.eps
-2024/05/12 | 2612 | macros/latex/contrib/skillicons/skill-icons/skillicons_Regex-Light.eps
-2024/05/12 | 2592 | macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Dark.eps
-2024/05/12 | 2590 | macros/latex/contrib/skillicons/skill-icons/skillicons_Pkl-Light.eps
-2024/05/12 | 2586 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Light.eps
-2024/05/12 | 2586 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vite-Dark.eps
-2024/05/12 | 25865 | support/latexindent/LatexIndent/Document.pm
-2024/05/12 | 2583 | macros/latex/contrib/skillicons/skill-icons/skillicons_PostgreSQL-Dark.eps
-2024/05/12 | 2575 | macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Light.eps
-2024/05/12 | 2575 | macros/latex/contrib/skillicons/skill-icons/skillicons_MaterialUI-Dark.eps
-2024/05/12 | 2556 | macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Dark.eps
-2024/05/12 | 2553 | macros/latex/contrib/skillicons/skill-icons/skillicons_NodeJS-Light.eps
-2024/05/12 | 2535 | macros/latex/contrib/skillicons/skill-icons/skillicons_Arduino.eps
-2024/05/12 | 2508 | macros/latex/contrib/skillicons/skill-icons/skillicons_Gulp.eps
-2024/05/12 | 2501 | macros/latex/contrib/skillicons/skill-icons/skillicons_p5js.eps
-2024/05/12 | 2489 | macros/latex/contrib/skillicons/skill-icons/skillicons_VSCodium-Dark.eps
-2024/05/12 | 2463 | macros/latex/contrib/skillicons/skill-icons/skillicons_Emacs.eps
-2024/05/12 | 2452 | macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Light.eps
-2024/05/12 | 24449 | support/latexindent/LatexIndent/Arguments.pm
-2024/05/12 | 2440 | macros/latex/contrib/skillicons/skill-icons/skillicons_Gradle-Dark.eps
-2024/05/12 | 2438 | macros/latex/contrib/skillicons/skill-icons/skillicons_Laravel-Light.eps
-2024/05/12 | 2432489 | fonts/lete-sans-math.zip
-2024/05/12 | 2401 | macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Dark.eps
-2024/05/12 | 2398 | macros/latex/contrib/skillicons/skill-icons/skillicons_Redis-Light.eps
-2024/05/12 | 2359 | macros/latex/contrib/skillicons/skill-icons/skillicons_R-Light.eps
-2024/05/12 | 2358 | macros/latex/contrib/skillicons/skill-icons/skillicons_R-Dark.eps
-2024/05/12 | 2356 | macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Light.eps
-2024/05/12 | 2354 | macros/latex/contrib/skillicons/skill-icons/skillicons_SVG-Dark.eps
-2024/05/12 | 2347 | macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Dark.eps
-2024/05/12 | 2344 | macros/latex/contrib/skillicons/skill-icons/skillicons_Python-Light.eps
-2024/05/12 | 2338 | macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Light.eps
-2024/05/12 | 2335 | macros/latex/contrib/skillicons/skill-icons/skillicons_Tauri-Dark.eps
-2024/05/12 | 2320 | support/latexindent/LatexIndent/Logger.pm
-2024/05/12 | 2316 | macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Light.eps
-2024/05/12 | 2304 | macros/latex/contrib/skillicons/skill-icons/skillicons_Bash-Dark.eps
-2024/05/12 | 2291 | macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Light.eps
-2024/05/12 | 2290 | macros/latex/contrib/skillicons/skill-icons/skillicons_Sequelize-Dark.eps
-2024/05/12 | 2277 | macros/latex/contrib/skillicons/skill-icons/skillicons_Photoshop.eps
-2024/05/12 | 2275 | macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Light.eps
-2024/05/12 | 2267 | macros/latex/contrib/skillicons/skill-icons/skillicons_Htmx-Dark.eps
-2024/05/12 | 2267 | macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Dark.eps
-2024/05/12 | 2265 | macros/latex/contrib/skillicons/skill-icons/skillicons_Blender-Light.eps
-2024/05/12 | 2250 | macros/latex/contrib/skillicons/skill-icons/skillicons_XD.eps
-2024/05/12 | 2235 | macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Light.eps
-2024/05/12 | 2234 | macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Dark.eps
-2024/05/12 | 22345 | support/latexindent/LatexIndent/Sentence.pm
-2024/05/12 | 2233 | macros/latex/contrib/skillicons/skill-icons/skillicons_Clojure-Light.eps
-2024/05/12 | 2228 | macros/latex/contrib/skillicons/skill-icons/skillicons_CoffeeScript-Dark.eps
-2024/05/12 | 2224 | macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Light.eps
-2024/05/12 | 22229 | support/latexindent/defaultSettings.yaml
-2024/05/12 | 2219 | macros/latex/contrib/skillicons/skill-icons/skillicons_Svelte.eps
-2024/05/12 | 2216 | macros/latex/contrib/skillicons/skill-icons/skillicons_Github-Dark.eps
-2024/05/12 | 2199 | macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Dark.eps
-2024/05/12 | 2195 | macros/latex/contrib/skillicons/skill-icons/skillicons_OpenCV-Light.eps
-2024/05/12 | 2172 | macros/latex/contrib/skillicons/skill-icons/skillicons_AfterEffects.eps
-2024/05/12 | 2171 | macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Light.eps
-2024/05/12 | 2161 | macros/latex/contrib/skillicons/skill-icons/skillicons_Symfony-Dark.eps
-2024/05/12 | 2159 | macros/latex/contrib/skillicons/skill-icons/skillicons_Appwrite.eps
-2024/05/12 | 2148 | macros/latex/contrib/skillicons/skill-icons/skillicons_UnrealEngine.eps
-2024/05/12 | 2141 | macros/latex/contrib/skillicons/skill-icons/skillicons_Apollo.eps
-2024/05/12 | 2138 | macros/latex/contrib/skillicons/skill-icons/skillicons_GoLang.eps
-2024/05/12 | 2115472 | systems/texlive/tlnet/archive/proflycee.doc.r71235.tar.xz
-2024/05/12 | 2114 | macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Light.eps
-2024/05/12 | 2114 | macros/latex/contrib/skillicons/skill-icons/skillicons_Sublime-Dark.eps
-2024/05/12 | 2111 | macros/latex/contrib/skillicons/skill-icons/skillicons_Git.eps
-2024/05/12 | 2104 | macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Light.eps
-2024/05/12 | 2104 | macros/latex/contrib/skillicons/skill-icons/skillicons_Octave-Dark.eps
-2024/05/12 | 2103 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Light.eps
-2024/05/12 | 210224 | systems/texlive/tlnet/archive/reledmac.source.r71236.tar.xz
-2024/05/12 | 2101 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vitest-Dark.eps
-2024/05/12 | 2088 | macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Dark.eps
-2024/05/12 | 2087 | macros/latex/contrib/skillicons/skill-icons/skillicons_Apple-Light.eps
-2024/05/12 | 20870 | support/latexindent/LatexIndent/Indent.pm
-2024/05/12 | 2078 | macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Dark.eps
-2024/05/12 | 2076 | macros/latex/contrib/skillicons/skill-icons/skillicons_Lua-Light.eps
-2024/05/12 | 2048 | macros/latex/contrib/skillicons/skill-icons/skillicons_Sentry.eps
-2024/05/12 | 20446 | macros/latex/contrib/rigidnotation/rigidnotation.dtx
-2024/05/12 | 2014 | macros/latex/contrib/skillicons/skill-icons/skillicons_Rails.eps
-2024/05/12 | 2008 | support/latexindent/README
-2024/05/12 | 1997 | macros/latex/contrib/skillicons/skill-icons/skillicons_Audition.eps
-2024/05/12 | 1968 | macros/latex/contrib/skillicons/skill-icons/skillicons_DiscordBots.eps
-2024/05/12 | 1960 | macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Dark.eps
-2024/05/12 | 1957 | macros/latex/contrib/skillicons/skill-icons/skillicons_BitBucket-Light.eps
-2024/05/12 | 1954 | macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Light.eps
-2024/05/12 | 1953 | macros/latex/contrib/skillicons/skill-icons/skillicons_NextJS-Dark.eps
-2024/05/12 | 1951 | macros/latex/contrib/skillicons/skill-icons/skillicons_Kafka.eps
-2024/05/12 | 1951 | macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Dark.eps
-2024/05/12 | 1948 | macros/latex/contrib/skillicons/skill-icons/skillicons_Cloudflare-Light.eps
-2024/05/12 | 1944 | macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Light.eps
-2024/05/12 | 1939 | macros/latex/contrib/skillicons/skill-icons/skillicons_Java-Dark.eps
-2024/05/12 | 1937 | macros/latex/contrib/skillicons/skill-icons/skillicons_Premiere.eps
-2024/05/12 | 1935 | macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Dark.eps
-2024/05/12 | 1931 | macros/latex/contrib/skillicons/skill-icons/skillicons_GithubActions-Light.eps
-2024/05/12 | 1927 | macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Light.eps
-2024/05/12 | 1925 | macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Light.eps
-2024/05/12 | 1925 | macros/latex/contrib/skillicons/skill-icons/skillicons_Notion-Dark.eps
-2024/05/12 | 1922 | macros/latex/contrib/skillicons/skill-icons/skillicons_ExpressJS-Dark.eps
-2024/05/12 | 1917 | macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Light.eps
-2024/05/12 | 1916 | macros/latex/contrib/skillicons/skill-icons/skillicons_PHP-Dark.eps
-2024/05/12 | 1913 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Dark.eps
-2024/05/12 | 19105 | macros/latex/contrib/ximera/LICENSE
-2024/05/12 | 1900 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ubuntu-Light.eps
-2024/05/12 | 1893 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ansible.eps
-2024/05/12 | 1875 | macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Dark.eps
-2024/05/12 | 1874 | macros/latex/contrib/skillicons/skill-icons/skillicons_Scala-Light.eps
-2024/05/12 | 1866 | macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Light.eps
-2024/05/12 | 1866 | macros/latex/contrib/skillicons/skill-icons/skillicons_Misskey-Dark.eps
-2024/05/12 | 1865 | macros/latex/contrib/skillicons/skill-icons/skillicons_Discord.eps
-2024/05/12 | 1864 | macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Light.eps
-2024/05/12 | 1862 | macros/latex/contrib/skillicons/skill-icons/skillicons_GraphQL-Dark.eps
-2024/05/12 | 18591 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
-2024/05/12 | 1857 | macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Dark.eps
-2024/05/12 | 1856 | macros/latex/contrib/skillicons/skill-icons/skillicons_Kotlin-Light.eps
-2024/05/12 | 1850 | macros/latex/contrib/skillicons/skill-icons/skillicons_V-Light.eps
-2024/05/12 | 1849 | macros/latex/contrib/skillicons/skill-icons/skillicons_V-Dark.eps
-2024/05/12 | 1846 | macros/latex/contrib/rigidnotation/README.md
-2024/05/12 | 1845 | macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Dark.eps
-2024/05/12 | 1843 | macros/latex/contrib/skillicons/skill-icons/skillicons_Elasticsearch-Light.eps
-2024/05/12 | 1835 | macros/latex/contrib/skillicons/skill-icons/skillicons_Wordpress.eps
-2024/05/12 | 1828 | macros/latex/contrib/skillicons/skill-icons/skillicons_TypeScript.eps
-2024/05/12 | 1817 | macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Light.eps
-2024/05/12 | 1813 | macros/latex/contrib/skillicons/skill-icons/skillicons_Unity-Dark.eps
-2024/05/12 | 1789 | macros/latex/contrib/skillicons/skill-icons/skillicons_React-Dark.eps
-2024/05/12 | 1787 | macros/latex/contrib/skillicons/skill-icons/skillicons_React-Light.eps
-2024/05/12 | 1778 | macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Light.eps
-2024/05/12 | 1778 | macros/latex/contrib/skillicons/skill-icons/skillicons_DynamoDB-Dark.eps
-2024/05/12 | 17600 | macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Dark.eps
-2024/05/12 | 17598 | macros/latex/contrib/skillicons/skill-icons/skillicons_Elysia-Light.eps
-2024/05/12 | 1748 | macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Dark.eps
-2024/05/12 | 1747 | macros/latex/contrib/skillicons/skill-icons/skillicons_QT-Light.eps
-2024/05/12 | 1729 | macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Light.eps
-2024/05/12 | 1727 | macros/latex/contrib/skillicons/skill-icons/skillicons_Mastodon-Dark.eps
-2024/05/12 | 1723 | macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Dark.eps
-2024/05/12 | 1722 | macros/latex/contrib/skillicons/skill-icons/skillicons_TailwindCSS-Light.eps
-2024/05/12 | 1719 | macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Dark.eps
-2024/05/12 | 1716 | macros/latex/contrib/skillicons/skill-icons/skillicons_Illustrator.eps
-2024/05/12 | 1715 | macros/latex/contrib/skillicons/skill-icons/skillicons_GCP-Light.eps
-2024/05/12 | 1703 | macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Light.eps
-2024/05/12 | 1702 | macros/latex/contrib/skillicons/skill-icons/skillicons_Dart-Dark.eps
-2024/05/12 | 1702 | macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD-Light.eps
-2024/05/12 | 1702 | macros/latex/contrib/skillicons/skill-icons/skillicons_AutoCAD_Dark.eps
-2024/05/12 | 1692 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Light.eps
-2024/05/12 | 1684 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ableton-Dark.eps
-2024/05/12 | 1654 | macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Dark.eps
-2024/05/12 | 1653 | macros/latex/contrib/skillicons/skill-icons/skillicons_Spring-Light.eps
-2024/05/12 | 1639 | macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Dark.eps
-2024/05/12 | 1635 | macros/latex/contrib/skillicons/skill-icons/skillicons_Nim-Light.eps
-2024/05/12 | 1625 | macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Light.eps
-2024/05/12 | 16161 | macros/latex/contrib/colorblind/documentation.tex
-2024/05/12 | 1615 | macros/latex/contrib/skillicons/skill-icons/skillicons_ROS-Dark.eps
-2024/05/12 | 16147 | macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Light.eps
-2024/05/12 | 16147 | macros/latex/contrib/skillicons/skill-icons/skillicons_Firebase-Dark.eps
-2024/05/12 | 1598 | macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Light.eps
-2024/05/12 | 1597 | macros/latex/contrib/skillicons/skill-icons/skillicons_Mint-Dark.eps
-2024/05/12 | 1594 | macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Dark.eps
-2024/05/12 | 1591 | macros/latex/contrib/skillicons/skill-icons/skillicons_NuxtJS-Light.eps
-2024/05/12 | 1584 | macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Light.eps
-2024/05/12 | 1584 | macros/latex/contrib/skillicons/skill-icons/skillicons_RedHat-Dark.eps
-2024/05/12 | 1582 | macros/latex/contrib/skillicons/skill-icons/skillicons_Prometheus.eps
-2024/05/12 | 1573 | macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Light.eps
-2024/05/12 | 1569 | macros/latex/contrib/skillicons/skill-icons/skillicons_Remix-Dark.eps
-2024/05/12 | 1562 | macros/latex/contrib/skillicons/skill-icons/skillicons_MongoDB.eps
-2024/05/12 | 1558 | support/latexindent/latexindent-module-installer.pl
-2024/05/12 | 1556 | macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Light.eps
-2024/05/12 | 1554 | macros/latex/contrib/skillicons/skill-icons/skillicons_VSCode-Dark.eps
-2024/05/12 | 1545 | macros/latex/contrib/skillicons/skill-icons/skillicons_LinkedIn.eps
-2024/05/12 | 1541 | macros/latex/contrib/skillicons/skill-icons/skillicons_JavaScript.eps
-2024/05/12 | 1539 | macros/latex/contrib/skillicons/skill-icons/skillicons_Twitter.eps
-2024/05/12 | 1525 | macros/latex/contrib/skillicons/skill-icons/skillicons_Swift.eps
-2024/05/12 | 1522 | macros/latex/contrib/skillicons/skill-icons/skillicons_DotNet.eps
-2024/05/12 | 1517 | macros/latex/contrib/skillicons/skill-icons/skillicons_CS.eps
-2024/05/12 | 1513 | macros/latex/contrib/skillicons/skill-icons/skillicons_Fortran.eps
-2024/05/12 | 1500 | support/latexindent/LatexIndent/DoubleBackSlash.pm
-2024/05/12 | 149962 | graphics/pgf/contrib/profsio/tex/ProfSio.sty
-2024/05/12 | 1498 | macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Dark.eps
-2024/05/12 | 1494 | macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Light.eps
-2024/05/12 | 1494 | macros/latex/contrib/skillicons/skill-icons/skillicons_RabbitMQ-Dark.eps
-2024/05/12 | 1493 | macros/latex/contrib/skillicons/skill-icons/skillicons_Haxe-Light.eps
-2024/05/12 | 1487 | macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Light.eps
-2024/05/12 | 14873 | macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Dark.eps
-2024/05/12 | 14871 | macros/latex/contrib/skillicons/skill-icons/skillicons_Obsidian-Light.eps
-2024/05/12 | 1486 | macros/latex/contrib/skillicons/skill-icons/skillicons_DevTo-Dark.eps
-2024/05/12 | 1485 | macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Light.eps
-2024/05/12 | 1480 | macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Dark.eps
-2024/05/12 | 14774 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ruby.eps
-2024/05/12 | 1476 | macros/latex/contrib/skillicons/skill-icons/skillicons_D3-Light.eps
-2024/05/12 | 1476 | macros/latex/contrib/colorblind/bib.bib
-2024/05/12 | 1474 | macros/latex/contrib/skillicons/skill-icons/skillicons_Forth.eps
-2024/05/12 | 14631 | macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Light.eps
-2024/05/12 | 14631 | macros/latex/contrib/skillicons/skill-icons/skillicons_Maven-Dark.eps
-2024/05/12 | 1460 | macros/latex/contrib/skillicons/skill-icons/skillicons_Django.eps
-2024/05/12 | 1448 | macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Dark.eps
-2024/05/12 | 1444 | macros/latex/contrib/skillicons/skill-icons/skillicons_VIM-Dark.eps
-2024/05/12 | 1439 | macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Dark.eps
-2024/05/12 | 1438 | macros/latex/contrib/skillicons/skill-icons/skillicons_Figma-Light.eps
-2024/05/12 | 1437 | macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Light.eps
-2024/05/12 | 1437 | macros/latex/contrib/skillicons/skill-icons/skillicons_Zig-Dark.eps
-2024/05/12 | 1436 | macros/latex/contrib/skillicons/skill-icons/skillicons_Docker.eps
-2024/05/12 | 1435 | macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Dark.eps
-2024/05/12 | 1434 | macros/latex/contrib/skillicons/skill-icons/skillicons_CodePen-Light.eps
-2024/05/12 | 1434 | macros/latex/contrib/rigidnotation/rigidnotation.ins
-2024/05/12 | 142 | macros/latex/contrib/colorblind/ChangeLog
-2024/05/12 | 1427 | macros/latex/contrib/skillicons/skill-icons/skillicons_WebAssembly.eps
-2024/05/12 | 1408 | macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Dark.eps
-2024/05/12 | 1408 | macros/latex/contrib/skillicons/skill-icons/skillicons_CPP.eps
-2024/05/12 | 1407 | macros/latex/contrib/skillicons/skill-icons/skillicons_OpenStack-Light.eps
-2024/05/12 | 14059 | support/latexindent/LatexIndent/LogFile.pm
-2024/05/12 | 1404 | macros/latex/contrib/skillicons/skill-icons/skillicons_Webpack-Light.eps
-2024/05/12 | 1398 | macros/latex/contrib/skillicons/skill-icons/skillicons_Adonis.eps
-2024/05/12 | 13935 | support/latexindent/LatexIndent/Special.pm
-2024/05/12 | 1384 | macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Dark.eps
-2024/05/12 | 1383 | macros/latex/contrib/skillicons/skill-icons/skillicons_PyTorch-Light.eps
-2024/05/12 | 1383 | macros/latex/contrib/skillicons/skill-icons/skillicons_C.eps
-2024/05/12 | 1381 | macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Light.eps
-2024/05/12 | 1381 | macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Light.eps
-2024/05/12 | 1379 | macros/latex/contrib/skillicons/skill-icons/skillicons_Gmail-Dark.eps
-2024/05/12 | 1375 | macros/latex/contrib/skillicons/skill-icons/skillicons_Solidity.eps
-2024/05/12 | 1374 | macros/latex/contrib/skillicons/skill-icons/skillicons_Julia-Dark.eps
-2024/05/12 | 1370 | macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Light.eps
-2024/05/12 | 1370 | macros/latex/contrib/skillicons/skill-icons/skillicons_Flutter-Dark.eps
-2024/05/12 | 1369 | macros/latex/contrib/skillicons/skill-icons/skillicons_Prisma.eps
-2024/05/12 | 1369 | macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Dark.eps
-2024/05/12 | 1369 | macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Light.eps
-2024/05/12 | 1366 | macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Light.eps
-2024/05/12 | 1365 | macros/latex/contrib/skillicons/skill-icons/skillicons_GTK-Light.eps
-2024/05/12 | 1364 | macros/latex/contrib/skillicons/skill-icons/skillicons_Yew-Dark.eps
-2024/05/12 | 1363 | macros/latex/contrib/skillicons/skill-icons/skillicons_Crystal-Dark.eps
-2024/05/12 | 1362 | macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Light.eps
-2024/05/12 | 1360 | macros/latex/contrib/skillicons/skill-icons/skillicons_GitLab-Dark.eps
-2024/05/12 | 1356 | macros/latex/contrib/skillicons/skill-icons/skillicons_Webflow.eps
-2024/05/12 | 1353 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Light.eps
-2024/05/12 | 1351 | macros/latex/contrib/skillicons/skill-icons/skillicons_Heroku.eps
-2024/05/12 | 1351 | macros/latex/contrib/skillicons/skill-icons/skillicons_CSS.eps
-2024/05/12 | 1350 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vuetify-Dark.eps
-2024/05/12 | 1349 | macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Dark.eps
-2024/05/12 | 1348 | macros/latex/contrib/skillicons/skill-icons/skillicons_StackOverflow-Light.eps
-2024/05/12 | 1347 | macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Dark.eps
-2024/05/12 | 13470 | support/latexindent/LatexIndent/HiddenChildren.pm
-2024/05/12 | 1346 | macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Light.eps
-2024/05/12 | 1344 | macros/latex/contrib/skillicons/skill-icons/skillicons_Npm-Dark.eps
-2024/05/12 | 1334 | macros/latex/contrib/skillicons/skill-icons/skillicons_ThreeJS-Light.eps
-2024/05/12 | 1334 | macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Light.eps
-2024/05/12 | 1334 | macros/latex/contrib/skillicons/skill-icons/skillicons_Nginx.eps
-2024/05/12 | 1332 | macros/latex/contrib/skillicons/skill-icons/skillicons_Sketchup-Dark.eps
-2024/05/12 | 1327 | macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Dark.eps
-2024/05/12 | 1326 | macros/latex/contrib/skillicons/skill-icons/skillicons_Markdown-Light.eps
-2024/05/12 | 1323 | macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Dark.eps
-2024/05/12 | 1323 | macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Light.eps
-2024/05/12 | 1318 | macros/latex/contrib/skillicons/skill-icons/skillicons_Replit-Light.eps
-2024/05/12 | 1315 | macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Light.eps
-2024/05/12 | 1314 | macros/latex/contrib/skillicons/skill-icons/skillicons_Angular-Dark.eps
-2024/05/12 | 1311 | macros/latex/contrib/skillicons/skill-icons/skillicons_HTML.eps
-2024/05/12 | 1306 | macros/latex/contrib/skillicons/skill-icons/skillicons_Gatsby.eps
-2024/05/12 | 13057 | macros/latex/contrib/skillicons/skill-icons/skillicons_Bevy-Light.eps
-2024/05/12 | 1298414 | support/latexindent/documentation/latexindent.pdf
-2024/05/12 | 1295 | macros/latex/contrib/skillicons/skill-icons/skillicons_Haskell-Dark.eps
-2024/05/12 | 1295 | macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Dark.eps
-2024/05/12 | 1293 | macros/latex/contrib/skillicons/skill-icons/skillicons_ActivityPub-Light.eps
-2024/05/12 | 12919204 | support/latexindent.zip
-2024/05/12 | 1286 | macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Light.eps
-2024/05/12 | 1285 | macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Dark.eps
-2024/05/12 | 1284 | macros/latex/contrib/skillicons/skill-icons/skillicons_HaxeFlixel-Dark.eps
-2024/05/12 | 1278 | macros/latex/contrib/skillicons/skill-icons/skillicons_Hibernate-Light.eps
-2024/05/12 | 12778 | macros/latex/contrib/ximera/ximera.dtx
-2024/05/12 | 1272 | macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Light.eps
-2024/05/12 | 1271 | macros/latex/contrib/skillicons/skill-icons/skillicons_Terraform-Dark.eps
-2024/05/12 | 1267 | macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Dark.eps
-2024/05/12 | 12653 | support/latexindent/LatexIndent/Braces.pm
-2024/05/12 | 1262 | macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Dark.eps
-2024/05/12 | 1255 | macros/latex/contrib/skillicons/skill-icons/skillicons_Processing-Light.eps
-2024/05/12 | 1255 | macros/latex/contrib/skillicons/skill-icons/skillicons_PlanetScale-Light.eps
-2024/05/12 | 1254 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Dark.eps
-2024/05/12 | 1253 | macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Dark.eps
-2024/05/12 | 1251 | macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Dark.eps
-2024/05/12 | 1249 | macros/latex/contrib/skillicons/skill-icons/skillicons_Windows-Light.eps
-2024/05/12 | 1249 | macros/latex/contrib/skillicons/skill-icons/skillicons_Ktor-Light.eps
-2024/05/12 | 1247 | macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Light.eps
-2024/05/12 | 1244 | macros/latex/contrib/skillicons/skill-icons/skillicons_Lit-Light.eps
-2024/05/12 | 1242 | macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Dark.eps
-2024/05/12 | 1241 | macros/latex/contrib/skillicons/skill-icons/skillicons_TensorFlow-Light.eps
-2024/05/12 | 1240 | macros/latex/contrib/skillicons/skill-icons/skillicons_VueJS-Dark.eps
-2024/05/12 | 1233 | macros/latex/contrib/skillicons/skill-icons/skillicons_FastAPI.eps
-2024/05/12 | 12298 | macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Dark.eps
-2024/05/12 | 12296 | macros/latex/contrib/skillicons/skill-icons/skillicons_Elixir-Light.eps
-2024/05/12 | 1224 | macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Dark.eps
-2024/05/12 | 1221 | macros/latex/contrib/skillicons/skill-icons/skillicons_AlpineJS-Light.eps
-2024/05/12 | 1220 | macros/latex/contrib/skillicons/skill-icons/skillicons_RobloxStudio.eps
-2024/05/12 | 12066 | macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Light.eps
-2024/05/12 | 1203 | macros/latex/contrib/skillicons/skill-icons/skillicons_GameMakerStudio.eps
-2024/05/12 | 12030 | macros/latex/contrib/skillicons/skill-icons/skillicons_Cassandra-Dark.eps
-2024/05/12 | 11957 | macros/latex/contrib/colorblind/colorblind.sty
-2024/05/12 | 1192 | macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Light.eps
-2024/05/12 | 1191 | macros/latex/contrib/skillicons/skill-icons/skillicons_Pnpm-Dark.eps
-2024/05/12 | 11580 | macros/latex/contrib/skillicons/skill-icons/skillicons_Grafana-Light.eps
-2024/05/12 | 1157776 | systems/texlive/tlnet/archive/fontspec.doc.r71237.tar.xz
-2024/05/12 | 1155 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Light.eps
-2024/05/12 | 1154 | macros/latex/contrib/skillicons/skill-icons/skillicons_Vercel-Dark.eps
-2024/05/12 | 11509 | support/latexindent/LatexIndent/FileContents.pm
-2024/05/12 | 112965 | macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Light.eps
-2024/05/12 | 112962 | macros/latex/contrib/skillicons/skill-icons/skillicons_Plan9-Dark.eps
-2024/05/12 | 11206 | support/latexindent/LatexIndent/Heading.pm
-2024/05/12 | 111949 | macros/latex/contrib/colorblind.zip
-2024/05/12 | 11083 | indexing/xindex/lualatex/xindex-HAdW-eKO.lua
-2024/05/12 | 10648 | support/latexindent/LatexIndent/Command.pm
-2024/05/12 | 1058 | macros/latex/contrib/colorblind/README.md
-2024/05/12 | 1057472 | systems/texlive/tlnet/archive/kpathsea.doc.r71233.tar.xz
-2024/05/12 | 105258 | macros/latex/contrib/colorblind/documentation.pdf
-2024/05/12 | 10461544 | systems/texlive/tlnet/archive/reledmac.doc.r71236.tar.xz
-2024/05/12 | 1042987 | macros/luatex/latex/piton.zip
-2024/05/12 | 1030122 | macros/luatex/latex/piton/piton.pdf
-2024/05/12 | 100793 | macros/luatex/latex/piton/piton-french.tex
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index c3d560c776..5861361177 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 19-05-2024, 02:00:04
+%% created at 20-05-2024, 02:00:03
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -11230,6 +11230,19 @@
The package also provides a range of other \TeX{} programming tools.},
}
+@manual{ctan-catppuccinpalette,
+ title = {The \texttt{catppuccinpalette} package},
+ subtitle = {Provides (x)colors of catppuccin theme},
+ author = {Lukas Heindl},
+ date = {2024-05-19},
+ version = {1.0.1},
+ license = {lppl1.3},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/catppuccinpalette},
+ url = {https://ctan.org/pkg/catppuccinpalette},
+ annotation = {A package providing (x)colors of the
+ palette/theme.},
+}
+
@manual{ctan-causets,
title = {The \texttt{causets} package},
subtitle = {Draw causal set (Hasse) diagrams},
@@ -14181,7 +14194,7 @@
title = {The \texttt{colorblind} package},
subtitle = {Easy colorblind-safe typesetting},
author = {Simon Pfahler},
- date = {2024-05-15},
+ date = {2024-05-19},
version = {1.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/colorblind},
@@ -55884,8 +55897,8 @@
title = {The \texttt{ProfSio} package},
subtitle = {Commands (with TikZ) to work with French “BTS SIO” maths themes},
author = {Cédric Pierquet},
- date = {2024-05-12},
- version = {0.2.7},
+ date = {2024-05-19},
+ version = {0.2.8},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/profsio},
url = {https://ctan.org/pkg/profsio},
@@ -60332,7 +60345,7 @@
title = {The \texttt{rigidnotation} package},
subtitle = {Typeset vectors and matrices following the RIGID notation},
author = {Philippe Nadeau},
- date = {2024-05-15},
+ date = {2024-05-19},
version = {1.0.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/rigidnotation},
@@ -62666,6 +62679,17 @@
url = {https://ctan.org/pkg/semesterplanner},
}
+@manual{ctan-semesterplannerlua,
+ title = {The \texttt{semesterplannerLua} package},
+ subtitle = {Draw timetables and other organizational matters useful for planning a semester},
+ author = {Lukas Heindl},
+ date = {2024-05-19},
+ version = {1.1.1},
+ license = {lppl1.3},
+ mirror = {https://mirror.ctan.org/macros/luatex/latex/semesterplannerlua},
+ url = {https://ctan.org/pkg/semesterplannerlua},
+}
+
@manual{ctan-seminar,
title = {The \texttt{seminar} package},
subtitle = {Make overhead slides},
@@ -64197,7 +64221,7 @@
title = {The \texttt{skillicons} package},
subtitle = {Integrate skill icons into your documents},
author = {Anton Mnatsakanov},
- date = {2024-05-15},
+ date = {2024-05-19},
version = {1.0},
license = {mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/skillicons},
@@ -65239,8 +65263,8 @@
title = {The \texttt{spbmark} package},
subtitle = {Customize superscripts and subscripts},
author = {Qu Yi},
- date = {2024-05-13},
- version = {1.46i},
+ date = {2024-05-19},
+ version = {1.46j},
license = {cc-by-4},
mirror = {https://mirror.ctan.org/macros/latex/contrib/spbmark},
url = {https://ctan.org/pkg/spbmark},
@@ -72080,7 +72104,7 @@
title = {The \texttt{tkz-grapheur} package},
subtitle = {A \LaTeX{} package with tools for graph plotting (and TikZ)},
author = {Cédric Pierquet},
- date = {2024-05-13},
+ date = {2024-05-19},
version = {0.1.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tkz-grapheur},
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.pdf b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.pdf
new file mode 100644
index 0000000000..a95ad30ad7
--- /dev/null
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.tex b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.tex
new file mode 100644
index 0000000000..f29587bab9
--- /dev/null
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe71.tex
@@ -0,0 +1,18 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass[a4paper,french,12pt]{article}
+\usepackage[margin=1.5cm]{geometry}
+\usepackage{fontspec}
+\usepackage{ProfSio}
+\setsansfont{Fira Sans}[Scale=MatchLowercase]
+\newfontfamily\poltuto{QTSanDiego}
+\usepackage{babel}
+
+\begin{document}
+
+\pagestyle{empty}
+
+\GrilleCCFSIO[Session=2025,Type={7-1},PoliceManuscrite={\poltuto}]{LOVELACE Ada}{21 mai 2024}{Quelques propriétés de la suite de Syracuse}
+
+\end{document}
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.pdf b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.pdf
new file mode 100644
index 0000000000..7e7ca969ea
--- /dev/null
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.tex b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.tex
new file mode 100644
index 0000000000..00af2e5e36
--- /dev/null
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe72.tex
@@ -0,0 +1,19 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass[a4paper,french,12pt]{article}
+\usepackage[margin=1.5cm]{geometry}
+\usepackage{fontspec}
+\usepackage{ProfSio}
+\setsansfont{Fira Sans}[Scale=MatchLowercase]
+\newfontfamily\poltuto{QTSanDiego}
+\usepackage{babel}
+
+\begin{document}
+
+\pagestyle{empty}
+
+\def\grccfcompetsyr{variables et types/listes et tableaux/tests et boucles/fonctions}
+\GrilleCCFSIO[Session=2025,Type={7-2},PoliceManuscrite={\poltuto}]{LOVELACE Ada}{21 mai 2024}{Quelques propriétés de la suite de Syracuse}<\grccfcompetsyr>
+
+\end{document}
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.pdf b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.pdf
new file mode 100644
index 0000000000..b9c6d73803
--- /dev/null
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.tex b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.tex
new file mode 100644
index 0000000000..24747750c8
--- /dev/null
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-annexe73.tex
@@ -0,0 +1,19 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass[a4paper,french,12pt]{article}
+\usepackage[margin=1.5cm]{geometry}
+\usepackage{fontspec}
+\usepackage{ProfSio}
+\setsansfont{Fira Sans}[Scale=MatchLowercase]
+\newfontfamily\poltuto{QTSanDiego}
+\usepackage{babel}
+
+\begin{document}
+
+\pagestyle{empty}
+
+\def\grccfcompetsyr{variables et types/listes et tableaux/tests et boucles/fonctions}
+\GrilleCCFSIO[Session=2024,Type={7-3},PoliceManuscrite={\poltuto}]{LOVELACE Ada}{14 mai 2024}{Calculs booléens + Graphes + Chiffrements}
+
+\end{document}
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
index 5e39d42fd1..265dc41596 100644
--- a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
index f4583f2363..59ae3cd132 100644
--- a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
@@ -5,8 +5,8 @@
\documentclass[french,a4paper,11pt]{article}
\usepackage[margin=2cm,includefoot]{geometry}
-\def\TPversion{0.2.7}
-\def\TPdate{12 mai 2024}
+\def\TPversion{0.2.8}
+\def\TPdate{18 mai 2024}
%\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb}
@@ -21,6 +21,7 @@
\UseTblrLibrary{booktabs}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
+\usepackage{pdfpages}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\lfoot{\sffamily\small [ProfSio]}
@@ -81,10 +82,10 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\KarnaughBlocRegroupAuto,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset,\DiagrammeSagittal,\draw,\DiagrammeSagittalCompo,\TableVerite,\SimplificationKarnaugh,\SimplificationBooleenne,\KarnaughCasesAuto,\MatriceAdjacence,\PuissanceMatrice,\NbCheminsLongueur,\FermetureTransitive,\ResolSystemeMatrices,\PresentProdMat,\OpeBinDecHex,\ExprBool},%
+ morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\KarnaughBlocRegroupAuto,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset,\DiagrammeSagittal,\draw,\DiagrammeSagittalCompo,\TableVerite,\SimplificationKarnaugh,\SimplificationBooleenne,\KarnaughCasesAuto,\MatriceAdjacence,\PuissanceMatrice,\NbCheminsLongueur,\FermetureTransitive,\ResolSystemeMatrices,\PresentProdMat,\OpeBinDecHex,\ExprBool,\GrilleCCFSIO},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
- morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids,DistElem,DistEns,LargEns,NomAppli,CouleurE,CouleurAppli,CouleurF,CouleursFleches,TypeFleche,Epaisseur,Labels,Ensembles,PosLabels,PoliceLabels,Offset,NomApplis,CouleursAppli,VF,LargeursColonnes,CouleurEnonce,CodeAvant,CodeApres,StyleAlternatif,PoliceTT,Espace,Couleurs,Contraire,Enonce,Bordure,Sommets,Num,PoliceBordure,De,Vers,Formule,Brut,NomMatrice,Longueur,Complet,NomsMatrices,NomInverse,NomSysteme,Inconnues,OptionNiceMatrix,Base,AffRetenues,AffEgal,SymbDecal,LimiteCapac,CouleurRetenue,Interm,Enonce,Decalages,Couleurs,Dense,Dernier,MathE,MathF,MathG,CouleurPlus,Vide,HauteurVide},%
+ morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids,DistElem,DistEns,LargEns,NomAppli,CouleurE,CouleurAppli,CouleurF,CouleursFleches,TypeFleche,Epaisseur,Labels,Ensembles,PosLabels,PoliceLabels,Offset,NomApplis,CouleursAppli,VF,LargeursColonnes,CouleurEnonce,CodeAvant,CodeApres,StyleAlternatif,PoliceTT,Espace,Couleurs,Contraire,Enonce,Bordure,Sommets,Num,PoliceBordure,De,Vers,Formule,Brut,NomMatrice,Longueur,Complet,NomsMatrices,NomInverse,NomSysteme,Inconnues,OptionNiceMatrix,Base,AffRetenues,AffEgal,SymbDecal,LimiteCapac,CouleurRetenue,Interm,Enonce,Decalages,Couleurs,Dense,Dernier,MathE,MathF,MathG,CouleurPlus,Vide,HauteurVide,Session,PoliceManuscrite},%
keywordstyle={\color{orange}}
},%
#1
@@ -255,6 +256,8 @@
\section{Historique}
+\verb|v0.2.8|~:~~~~Grilles d'évaluation des CCF
+
\verb|v0.2.7|~:~~~~Correction d'un bug dans les simplifications de Karnaugh
\verb|v0.2.6|~:~~~~Corrections dans des simplifications de Karnaugh
@@ -1165,9 +1168,9 @@ Par exemple :
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
-%\begin{importantblock}
-%En interne, la commande utilise la simplification par table de Karnaugh, et la commande peut également se charger de formater le résultat brut de l'expression.
-%\end{importantblock}
+\begin{noteblock}
+La plupart des clés de la commande de simplification par Karnaugh sont utilisables avec cette commande, notamment celles de formatage des couleurs.
+\end{noteblock}
\subsection{Arguments et clés }
@@ -1186,6 +1189,7 @@ Les clés disponibles sont :
\item \Cle{Enonce} := booléen pour afficher l'expression booléenne brute ; \hfill~défaut : \Cle{true}
\item \Cle{Variables} := variables utilisées ; \hfill~défaut : \Cle{a/b/c}
\item \Cle{Contraire} := booléen pour travailler sur le contraire ; \hfill~défaut : \Cle{false}
+ \item \Cle{Couleurs} et \Cle{CouleurPlus} := couleurs(s) de la sortie ; \hfill~défaut : \Cle{black}
\item \Cle{Espace} := booléen pour rajouter un petit espace (1.5~mu) dans les produits.
\hfill~défaut : \Cle{true}
@@ -1218,7 +1222,9 @@ $\overline{E} = \SimplificationBooleenne[Contraire,Variables=g/b/n]{(g)+(gb)+(gb
\end{DemoCode}
\begin{DemoCode}
-On a $F = \SimplificationBooleenne{(a)+(abc*)+(a*b*c)+(abc)+(a*bc)}$.
+On a $F = \SimplificationBooleenne%
+ [Couleurs={blue/red/violet},CouleurPlus=orange]%
+ {(a)+(abc*)+(a*b*c)+(abc)+(a*bc)}$.
\end{DemoCode}
\pagebreak
@@ -2265,4 +2271,80 @@ On a, par produit matriciel le calcul
<cell-space-limits=3pt>
\end{DemoCode}
+\pagebreak
+
+\section{Fiches annexes pour les CCF de mathématiques}
+
+\subsection{Introduction}
+
+L'idée est de proposer des commandes pour générer \textit{facilement} les fiches d'évaluation pour les deux situations de CCF de mathématiques en SIO.
+
+\smallskip
+
+Il s'agit des annexes 7-1 (recto), 7-2 (recto verso) et 7-3 (recto verso).
+
+\smallskip
+
+Un exemple de rendu est donné en marge de la présente documentation (avec code source).
+
+\smallskip
+
+Le code source de base des exemples est donné ci-dessous.
+
+\begin{DemoCode}[listing only]
+\documentclass[a4paper,french,12pt]{article}
+\usepackage[margin=1.5cm]{geometry}
+\usepackage{fontspec}
+\usepackage{ProfSio}
+\setsansfont{Fira Sans}[Scale=MatchLowercase]
+\newfontfamily\poltuto{QTSanDiego}
+\usepackage{babel}
+\end{DemoCode}
+
+\subsection{Annexe 7-1}
+
+\begin{DemoCode}[listing only]
+\GrilleCCFSIO[Type={7-1},Session=...,PoliceManuscrite=...]
+ {NOM Prénom}
+ {date}
+ {intitulé court}
+\end{DemoCode}
+
+\subsection{Annexe 7-2}
+
+\begin{DemoCode}[listing only]
+\GrilleCCFSIO[Type={7-2},Session=...,PoliceManuscrite=...]
+ {NOM Prénom}
+ {date}
+ {intitulé court}
+ <compétenceA / compétenceB / compétence C / compétence D>
+\end{DemoCode}
+
+\subsection{Annexe 7-3}
+
+\begin{DemoCode}[listing only]
+\GrilleCCFSIO[Type={7-3},Session=...,PoliceManuscrite=...]
+ {NOM Prénom}
+ {date}
+ {identification du sujet proposé}
+\end{DemoCode}
+
+\newpage
+
+\thispagestyle{empty}
+
+\includepdf[frame,pages=-,width=\textwidth]{ProfSio-doc-annexe71.pdf}
+
+\newpage
+
+\thispagestyle{empty}
+
+\includepdf[frame,pages=-,width=\textwidth]{ProfSio-doc-annexe72.pdf}
+
+\newpage
+
+\thispagestyle{empty}
+
+\includepdf[frame,pages=-,width=\textwidth]{ProfSio-doc-annexe73.pdf}
+
\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/profsio/tex/ProfSio.sty b/graphics/pgf/contrib/profsio/tex/ProfSio.sty
index 1cc9916af4..3b70f9a1e3 100644
--- a/graphics/pgf/contrib/profsio/tex/ProfSio.sty
+++ b/graphics/pgf/contrib/profsio/tex/ProfSio.sty
@@ -3,8 +3,9 @@
% : Luatruthtable from Chetan Shirore and Dr. Ajit Kumar https://ctan.org/pkg/luatruthtable
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfSio}[2024/05/12 0.2.7 Pour les enseignants de Maths en BTS SIO]
-%0.2.6 Correction d'un bug dans les simplifications de Karnaugh
+\ProvidesPackage{ProfSio}[2024/05/18 0.2.8 Pour les enseignants de Maths en BTS SIO]
+%0.2.8 Ajout des grilles de CCF (E2)
+%0.2.7 Correction d'un bug dans les simplifications de Karnaugh
%0.2.6 Corrections dans les simplifications de Karnaugh
%0.2.5 Ajout de clés pour les tables de vérité, [Vide], pour ne pas le remplir
%0.2.4 Ajout d'une commande pour afficher (sans simplifier) une expression booléenne + tables en base donnée + Possibilité math dans diag sagitt
@@ -1921,14 +1922,18 @@ end
\ExplSyntaxOff
\defKV[simplifbool]{%
- Variables=\def\simplifboolvars{#1}
+ Variables=\def\simplifboolvars{#1},
+ Couleurs=\def\simplifboolcoul{#1},%
+ CouleurPlus=\def\simplifboolcoulplus{#1},%
}
\setKVdefault[simplifbool]{%
Variables={a/b/c},%
Enonce=true,%
Espace=true,%
- Contraire=false
+ Contraire=false,%
+ Couleurs={black/black/black},%
+ CouleurPlus=black,%
}
\NewDocumentCommand\ExprBool{ O{} m D<>{} }{%semble ok
@@ -2079,8 +2084,8 @@ end
\ensuremath{%\knghbinres=%
\ifboolKV[simplifbool]{Enonce}{\ifboolKV[simplifbool]{Contraire}{\overline{\knghenoncetransf}}{\knghenoncetransf}=}{}%
\ifboolKV[simplifbool]{Espace}%
- {\SimplificationKarnaugh[Variables={\simplifboolvars},Espace=true,Swap,#3]{\knghbinres}}%
- {\SimplificationKarnaugh[Variables={\simplifboolvars},Espace=false,Swap,#3]{\knghbinres}}%
+ {\SimplificationKarnaugh[Variables={\simplifboolvars},Espace=true,Swap,#3,Couleurs={\simplifboolcoul},CouleurPlus={\simplifboolcoulplus}]{\knghbinres}}%
+ {\SimplificationKarnaugh[Variables={\simplifboolvars},Espace=false,Swap,#3,Couleurs={\simplifboolcoul},CouleurPlus={\simplifboolcoulplus}]{\knghbinres}}%
}
}
@@ -2833,4 +2838,305 @@ end
\StrSubstitute{#2}{/}{#1}\relax%
}
+%===GRILLES CCF
+\newcommand\tkzsquarebox{{\tikz\draw (0,0) rectangle++(0.9em,0.9em);}}
+
+\defKV[GrillesCCFSIO]{%
+ Session=\def\grccfsioannee{#1},%
+ PoliceManuscrite=\def\grpoliceccf{#1},%
+ Type=\def\grtypeccf{#1}
+}
+
+\setKVdefault[GrillesCCFSIO]{%
+ Session={\year},%
+ PoliceManuscrite={},%
+ Type={7-1}
+}
+
+\NewDocumentCommand\GrilleCCFSIO{ O{} m m m D<>{default} }{%
+ %1=clés
+ %2=candidat
+ %3=date
+ %4=résumé
+ %5=compétences
+ \restoreKV[GrillesCCFSIO]%
+ \setKV[GrillesCCFSIO]{#1}%
+ \IfStrEq{\grtypeccf}{7-1}%
+ {%
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]},row{1}={l},row{2-3}={c},cells={font=\sffamily\bfseries}}
+ \hline
+ BTS SERVICES INFORMATIQUES AUX ORGANISATIONS\hfill{}SESSION {\grccfsioannee}\hspace*{1cm} \\
+ ANNEXE 7-1 : Document de préparation au déroulement de la situation 1 \\
+ Épreuve E2 – Mathématiques pour l’informatique (CCF) \\
+ \hline
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\begin{tblr}{
+ vline{1,Z}={solid},%
+ vline{2}={3-4}{solid},%
+ width=\linewidth,
+ colspec={X[m]Q[7cm,m]},
+ hlines,stretch=1.25,
+ cells={font=\bfseries\sffamily},
+ rows={1cm},%
+ row{2}={t},%
+ row{4}={t}
+ }
+ \SetCell[c=2]{c}{SITUATION PROBLÈME} & \\
+ NOM et prénom : \textmd{\grpoliceccf #2} & \SetCell{l}{\phantom{BLABLA}OPTION SLAM\phantom{ISR}\raisebox{-0.1em}{\tkzsquarebox} \\ \phantom{BLABLA}OPTION SISR\phantom{LAM}\raisebox{-0.1em}{\tkzsquarebox}} \\
+ N° candidat : & N° commission \\
+ {Intitulé court de la situation proposée : \\~\\ \textmd{\grpoliceccf #4} \\} & {\\ Date : \textmd{\grpoliceccf #3}} \\
+ {Consignes\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\} & \\
+ {Documents ou composants fournis\\ \\ \textmd{\grpoliceccf Notice + Aide-mémoire + Clé USB}\\ \\ \\} & \\
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\textsf{\textit{Au cours de l’épreuve, la personne candidate est autorisée à utiliser les ressources électroniques disponibles dans le centre d’examen à l’exception de tout service d’échanges synchrones ou asynchrones avec un tiers. Elle est informée que l’ensemble des connexions réalisées peuvent faire l’objet d’un contrôle par la commission d’interrogation.}}
+
+ \pagebreak
+ }%
+ {}%
+ \IfStrEq{\grtypeccf}{7-2}%
+ {%
+ \IfStrEq{#5}{default}%
+ {%
+ \def\compteccfA{}%
+ \def\compteccfB{}%
+ \def\compteccfC{}%
+ \def\compteccfD{}%
+ }%
+ {%
+ \setsepchar[.]{/}%
+ \readlist*\lstcompetccf{#5}%
+ \itemtomacro\lstcompetccf[1]\compteccfA%
+ \itemtomacro\lstcompetccf[2]\compteccfB%
+ \itemtomacro\lstcompetccf[3]\compteccfC%
+ \itemtomacro\lstcompetccf[4]\compteccfD%
+
+ }%
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]},row{1}={l},row{2-3}={c},cells={font=\sffamily\bfseries}}
+ \hline
+ BTS SERVICES INFORMATIQUES AUX ORGANISATIONS\hfill{}SESSION {\grccfsioannee}\hspace*{1cm} \\
+ ANNEXE 7-2 : Grille d’aide à l’évaluation de la situation 1 (recto) \\
+ Épreuve E2 – Mathématiques pour l’informatique (CCF) \\
+ \hline
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]Q[3.5cm,m]},cells={font=\sffamily\bfseries},stretch=1.25}
+ \hline
+ NOM et prénom : \textmd{\grpoliceccf #2} & N° commission\textsuperscript{\scriptsize 1} : \\
+ N° candidat : & \\
+ \hline
+ \end{tblr}
+
+ \vspace*{0.75cm}
+
+ \noindent\begin{tblr}{
+ hlines,vlines,
+ width=\linewidth,colspec={X[0.625,m]X[0.375,m]},
+ cells={font=\sffamily},%
+ row{2}={1.25cm},%
+ row{X}={0.75cm}
+ }
+ \SetCell[c=2]{l}{\bfseries Intitulé court de la situation problème proposée :} & \\
+ \SetCell[c=2]{l}{\grpoliceccf #4} & \\
+ \textbf{Évaluation\textsuperscript{\footnotesize 2}} & \textbf{Critères d'évaluation} \\
+ \textbf{Maîtrise des connaissances (sur 8)} & \\
+ \textmd{-- \grpoliceccf \compteccfA} & \\
+ \textmd{-- \grpoliceccf \compteccfB} & \\
+ \textmd{-- \grpoliceccf \compteccfC} & \\
+ \textmd{-- \grpoliceccf \compteccfD} & \\
+ \textbf{Production commentée (sur 6)} & \\
+ \textmd{Efficacité et pertinence de la solution proposée} & \\
+ \textmd{Pertinence de la solution proposée} & \\
+ \textmd{Correction et cohérence de l’utilisation du formalisme retenu} & \\
+ \textmd{Cohérence de l’utilisation du formalisme retenu} & \\
+ \textmd{Lisibilité de la solution proposée} & \\
+ \textbf{Mise en \oe{}uvre commentée (sur 6)} & \\
+ \textmd{Qualité de la mise en \oe{}uvre} & \\
+ \textmd{Efficacité de l’implémentation} & \\
+ \textmd{Pertinence de l’utilisation des composants logiciels fournis} & \\
+ \textmd{Adéquation des tests de validation effectués} & \\
+ \textmd{Capacité à proposer des corrections pertinentes} & \\
+ \textbf{Note globale} & \SetCell{r}{\textbf{Note ~~~~/\,20}} \\
+ \SetCell[c=2]{l}{\textbf{Date :} {\grpoliceccf #3} \\ ~ \\ \textbf{Nom et signature de la commission d’évaluation :} \\ ~} & \\
+ \SetCell[c=2]{l}{\textbf{\textit{Joindre le document descriptif de la situation problème proposée.}}} & \\
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\textsf{\textbf{\textit{Cette partie est à l’usage exclusif de la commission d’interrogation et ne peut être communiquée à la personne candidate.}}}
+
+ \vfill
+
+ \par\noindent\rule{0.33\linewidth}{0.4pt}
+
+ \noindent\textsf{\textsuperscript{\footnotesize 1}{\footnotesize Indiquer le nom du professeur responsable de l’évaluation.}}
+
+ \noindent\textsf{\textsuperscript{\footnotesize 2}{\footnotesize Des appels (2 au maximum) permettent de s’assurer de la compréhension du problème et d’évaluer la communication orale et les capacités liées à l’usage des outils numériques.}}
+
+ \vspace*{5mm}
+
+ \pagebreak
+
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]},row{1}={l},row{2-3}={c},cells={font=\sffamily\bfseries}}
+ \hline
+ BTS SERVICES INFORMATIQUES AUX ORGANISATIONS\hfill{}SESSION {\grccfsioannee}\hspace*{1cm} \\
+ ANNEXE 7-2 : Grille d’aide à l’évaluation de la situation 1 (verso) \\
+ Épreuve E2 – Mathématiques pour l’informatique (CCF) \\
+ \hline
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]Q[6cm,m]},cells={font=\sffamily\bfseries},stretch=1.25}
+ \hline
+ NOM et prénom : \textmd{\grpoliceccf #2} & Date de l'interrogation : \\
+ N° candidat : & \textmd{\grpoliceccf #3} \\ \hline
+ \end{tblr}
+
+ \vspace*{0.75cm}
+
+ \noindent\begin{tblr}{%
+ width=\linewidth,colspec={XQ[7cm]},cells={font=\bfseries\sffamily},
+ row{1}={m,j,1cm},
+ row{2}={m,7cm},
+ row{3}={m,j,1cm},
+ row{4}={m,4cm},
+ vline{1,Z}={solid},
+ vline{2}={Z}{solid},
+ stretch=1.25}
+ \hline
+ Appréciation globale & \\ \hline
+ ~
+ \\ \hline
+ Questionnement complémentaire éventuel & \\ \hline
+ ~
+ \\ \hline
+ {\underline{Note sur 20 :}\\ \\ \\} & {Visa de la commission \\ \\ \\} \\
+ \hline
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\textsf{\textbf{Ce document d’évaluation peut être communiqué à la personne candidate, à sa demande, après délibération du jury.}}
+
+ \pagebreak
+ }%
+ {}%
+ \IfStrEq{\grtypeccf}{7-3}%
+ {%
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]},row{1}={l},row{2-3}={c},cells={font=\sffamily\bfseries}}
+ \hline
+ BTS SERVICES INFORMATIQUES AUX ORGANISATIONS\hfill{}SESSION {\grccfsioannee}\hspace*{1cm} \\
+ ANNEXE 7-3 : Grille d’aide à l’évaluation de la situation 2 (recto) \\
+ Épreuve E2 – Mathématiques pour l’informatique (CCF) \\
+ \hline
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]Q[3.5cm,m]},cells={font=\sffamily\bfseries},stretch=1.25}
+ \hline
+ NOM et prénom : \textmd{\grpoliceccf #2} & N° commission\textsuperscript{\scriptsize 3} : \\
+ N° candidat : & \\
+ \hline
+ \end{tblr}
+
+ \vspace*{0.75cm}
+
+ \noindent\begin{tblr}{%
+ hline{1}={solid},%
+ hline{3-Y}={solid},
+ hline{Z}={2-Z}{solid},
+ vline{1}={1-Y}{solid},
+ vline{2}={3-Z}{solid},
+ vline{Z}={solid},
+ width=\linewidth,colspec={X[0.525]X[0.475]},
+ cells={font=\sffamily},
+ row{1}={m,j},
+ row{2}={m,j,1.5cm},
+ row{3-Z}={m,j,1cm},stretch=1.25}
+ \textbf{Identification du sujet proposé :} & \\
+ \textmd{\grpoliceccf #4} & \\
+ \SetCell{c}{\textbf{Compétences}} & \SetCell{c}{\textbf{Appréciation du niveau d’acquisition\textsuperscript{\scriptsize 4}}} \\
+ Maîtrise des connaissances figurant au programme & \\
+ Pertinence des sources d’information mobilisées & \\
+ Adaptation de la stratégie choisie au problème à résoudre & \\
+ Efficacité dans la mise en \oe{}uvre de cette stratégie & \\
+ Rigueur et pertinence dans l’utilisation des savoir-faire figurant au programme de mathématiques & \\
+ Cohérence de l’argumentation employée & \\
+ Aptitude à analyser un résultat avec pertinence & \\
+ Qualité d’expression écrite ou orale & \\
+ & \SetCell{r}{\textbf{/\,20}} \\
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\textsf{\textbf{\textit{Cette partie est à l’usage exclusif de la commission d’interrogation et ne peut être communiquée à la personne candidate.}}}
+
+ \vfill
+
+ \par\noindent\rule{0.33\linewidth}{0.4pt}
+
+ \noindent\textsf{\textsuperscript{\footnotesize 3}{\footnotesize Indiquer le nom du professeur responsable de l’évaluation.}}
+
+ \noindent\textsf{\textsuperscript{\footnotesize 4}{\footnotesize Le professeur peut utiliser toute forme d’annotation lui permettant d’évaluer par compétences.}}
+
+ \vspace*{5mm}
+
+ \pagebreak
+
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]},row{1}={l},row{2-3}={c},cells={font=\sffamily\bfseries}}
+ \hline
+ BTS SERVICES INFORMATIQUES AUX ORGANISATIONS\hfill{}SESSION {\grccfsioannee}\hspace*{1cm} \\
+ ANNEXE 7-3 : Grille d’aide à l’évaluation de la situation 2 (verso) \\
+ Épreuve E2 – Mathématiques pour l’informatique (CCF) \\
+ \hline
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\begin{tblr}{vlines,width=\linewidth,colspec={X[m]Q[6cm,m]},cells={font=\sffamily\bfseries},stretch=1.25}
+ \hline
+ NOM et prénom : \textmd{\grpoliceccf #2} & Date de l'interrogation : \\
+ N° candidat : & \textmd{\grpoliceccf #3} \\ \hline
+ \end{tblr}
+
+ \vspace*{0.75cm}
+
+ \noindent\begin{tblr}{%
+ width=\linewidth,colspec={XQ[7cm]},cells={font=\bfseries\sffamily},
+ row{1}={m,j,1cm},
+ row{2}={m,7cm},
+ row{3}={m,j,1cm},
+ row{4}={m,4cm},
+ vline{1,Z}={solid},
+ vline{2}={Z}{solid},
+ stretch=1.25}
+ \hline
+ Appréciation globale & \\ \hline
+ ~
+ \\ \hline
+ Questionnement complémentaire éventuel & \\ \hline
+ ~
+ \\ \hline
+ {\underline{Note sur 20 :}\\ \\ \\} & {Visa de la commission \\ \\ \\} \\
+ \hline
+ \end{tblr}
+
+ \vspace*{5mm}
+
+ \noindent\textsf{\textbf{Ce document d’évaluation peut être communiqué à la personne candidate, à sa demande, après délibération du jury.}}
+
+ \pagebreak
+ }%
+ {}%
+}
+
\endinput \ No newline at end of file
diff --git a/info/biblio/tugboat.bib b/info/biblio/tugboat.bib
index a2c229c104..71d17cc4b8 100644
--- a/info/biblio/tugboat.bib
+++ b/info/biblio/tugboat.bib
@@ -2,9 +2,9 @@
%%% ====================================================================
%%% BibTeX-file{
%%% author = "Nelson H. F. Beebe",
-%%% version = "4.20",
-%%% date = "11 April 2024",
-%%% time = "10:21:01 MST",
+%%% version = "4.21",
+%%% date = "18 May 2024",
+%%% time = "09:02:30 MST",
%%% filename = "tugboat.bib",
%%% address = "University of Utah
%%% Department of Mathematics, 110 LCB
@@ -14,7 +14,7 @@
%%% telephone = "+1 801 581 5254",
%%% FAX = "+1 801 581 4148",
%%% URL = "https://www.math.utah.edu/~beebe",
-%%% checksum = "22663 111189 376954 4033609",
+%%% checksum = "57608 112245 380479 4071891",
%%% email = "beebe at math.utah.edu, beebe at acm.org,
%%% beebe at computer.org (Internet)",
%%% codetable = "ISO/ASCII",
@@ -43,7 +43,7 @@
%%% issue, access to which requires TUG
%%% membership.
%%%
-%%% At version 4.20, the COMPLETE year coverage
+%%% At version 4.21, the COMPLETE year coverage
%%% looked like this:
%%%
%%% 1980 ( 15) 1995 ( 96) 2010 ( 110)
@@ -60,11 +60,11 @@
%%% 1991 ( 201) 2006 ( 70) 2021 ( 105)
%%% 1992 ( 149) 2007 ( 105) 2022 ( 111)
%%% 1993 ( 122) 2008 ( 131) 2023 ( 114)
-%%% 1994 ( 131) 2009 ( 110)
+%%% 1994 ( 131) 2009 ( 110) 2024 ( 46)
%%%
-%%% Article: 4995
+%%% Article: 5041
%%%
-%%% Total entries: 4995
+%%% Total entries: 5041
%%%
%%% *********************************************
%%% *********************************************
@@ -92769,7 +92769,7 @@
}
@Article{Garcia-DeCastro:TB37-2-204,
- author = "Federico {Garcia-De Castro}",
+ author = "Federico {Garc{\'\i}a-De Castro}",
title = "{\TeX}cel? An unexpected use for {\TeX}",
journal = j-TUGboat,
volume = "37",
@@ -93237,7 +93237,7 @@
@Article{Walden:TB37-3-259,
author = "David Walden",
- title = "Interview with {Federico Garcia-De Castro}",
+ title = "Interview with {Federico Garc{\'\i}a-De Castro}",
journal = j-TUGboat,
volume = "37",
number = "3",
@@ -100290,8 +100290,8 @@
@Article{Anane:2019:TA,
author = "Anane and Asakura and Braun and Claudio and Ha and
- Fuchs and Garcia-De Castro and Kannan and McKenna and
- Mittelbach and Moore and Shreevatsa and Terada",
+ Fuchs and Garc{\'\i}a-De Castro and Kannan and McKenna
+ and Mittelbach and Moore and Shreevatsa and Terada",
title = "{TUG 2019} abstracts",
journal = j-TUGboat,
volume = "40",
@@ -111185,5 +111185,1061 @@
journal-URL = "https://tug.org/TUGboat/",
}
+@Article{Anonymous:2024:FCa,
+ author = "Anonymous",
+ title = "Front cover",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "c1--c1",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/cover1.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:IFCa,
+ author = "Anonymous",
+ title = "Inside front cover",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "c2--c2",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/cover2.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:CODa,
+ author = "Anonymous",
+ title = "Contents ordered by difficulty",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "c3--c3",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/cover3.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:TPa,
+ author = "Anonymous",
+ title = "Title page",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "1--1",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/titlepage.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:EIa,
+ author = "Anonymous",
+ title = "Editorial information",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "2--2",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139edit.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:IMa,
+ author = "Anonymous",
+ title = "Institutional members",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "2--2",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/instmem.html",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Rosendahl:2024:Pa,
+ author = "Arthur Rosendahl",
+ title = "From the {President}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "3--3",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139pres",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139pres.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Introductory{\Dash}What's in a TeX?.",
+}
+
+@Article{Beeton:2024:ECa,
+ author = "Barbara Beeton",
+ title = "Editorial comments",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "4--6",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139beet",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139beet.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Beeton, Barbara/0000-0001-9756-6200",
+ remark = "Introductory{\Dash}typography and TeX news. Changing
+ of the guard: Robin Laakso retiring as TUG Executive
+ Director; Errata: TUGboat 44:2; Errata: TUGboat 44:3;
+ The (effective) end of comp.text.tex; DEK--- Puzzles
+ and ChatGPT ; An admirable use of AI; Face/Interface
+ conference at Stanford; Accessibility for MathML",
+}
+
+@Article{Beebe:2024:BNW,
+ author = "Nelson Beebe",
+ title = "Bibliography of {Niklaus Wirth} (1934--2024)",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "6--6",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139beebe-wirth",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139beebe-wirth.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Beebe, Nelson H. F./0000-0001-7281-4263",
+ remark = "Introductory{\Dash}with notes on Pascal, TeX, and
+ more.",
+}
+
+@Article{Veytsman:2024:FIC,
+ author = "Boris Veytsman",
+ title = "{Face\slash Interface 2023} conference: Global type
+ design and human-computer interaction",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "7--10",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139veytsman-face",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139veytsman-face.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Veytsman, Boris/0000-0003-4674-8113",
+ remark = "Introductory{\Dash}report on this two-day conference
+ at Stanford on non-Latin scripts.",
+}
+
+@Article{Flynn:2024:TI,
+ author = "Peter Flynn",
+ title = "{Typographers' Inn}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "10--11",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139inn",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139inn.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Flynn, Peter/0000-0003-4203-4199",
+ remark = "Introductory{\Dash}Dashing it off III (em rules
+ reprise); Bookshelves; Afterthought.",
+}
+
+@Article{Baker:2024:VFL,
+ author = "Peter S. Baker",
+ title = "Variable fonts in {\LuaTeX}, with an introduction to
+ two new fonts: {Junicode VF}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "12--17",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139baker-junicodevf",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139baker-junicodevf.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate{\Dash}restoring optical scaling to
+ digital fonts, with precise control along multiple
+ design axes.",
+}
+
+@Article{Bayar:2024:PDP,
+ author = "Abdelouahad Bayar",
+ title = "\pkg{dynMath}: A {PostScript Type 3}-based {\LaTeX}
+ package to support extensible mathematical symbols",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "18--24",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139bayar-dynmath",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139bayar-dynmath.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate Plus{\Dash}extensible parentheses,
+ braces, etc., while preserving the original design.",
+}
+
+@Article{Hagen:2024:TBF,
+ author = "Hans Hagen and Mikael P. Sundqvist",
+ title = "Tracing bitmap fonts in {LMTX}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "25--31",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139hagen-tracefonts",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139hagen-tracefonts.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate Plus{\Dash}from high-resolution bitmaps
+ to Type 3, Type 1 and OpenType, through MetaPost.",
+}
+
+@Article{Bien:2024:BLB,
+ author = "Janusz S. Bie{\'n}",
+ title = "Basic {Latin} brevigraphs listed in {Polonia
+ Typographica Saeculi Sedecimi} --- Progress report",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "32--44",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139bien-brevigraphspt",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139bien-brevigraphspt.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Advanced{\Dash}variations of printed glyphs in some
+ early Polish printing.",
+}
+
+@Article{Bien:2024:TIO,
+ author = "Janusz S. Bie{\'n}",
+ title = "Towards an inventory of old print characters:
+ {Ungler}'s {Rubricella}, a case study --- Errata",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "44--44",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139bien-rubricella-errata",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139bien-rubricella-errata.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Advanced{\Dash}some small errata for the prior
+ article,
+ https://tug.org/TUGboat/tb44-3/tb138bien-rubricella.pdf
+ .",
+}
+
+@Article{Maggi:2024:DBP,
+ author = "Carla Maggi",
+ title = "The {DuckBoat} --- Beginners' Pond: {Tcolorchat}!",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "45--51",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139duck-tcolorchat",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139duck-tcolorchat.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate{\Dash}step-by-step use of tcolorbox to
+ generate a colored chat transcript.",
+}
+
+@Article{Mittelbach:2024:ELA,
+ author = "Frank Mittelbach and Ulrike Fischer",
+ title = "Enhancing {\LaTeX} to automatically produce tagged and
+ accessible {PDF}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "52--59",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139mitt-deims24",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139mitt-deims24.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Mittelbach, Frank/0000-0001-6318-1230",
+ remark = "Intermediate Plus{\Dash}background, status, prospects
+ for generating tagged PDF from LaTeX.",
+}
+
+@Article{Miller:2024:PHE,
+ author = "Tristan Miller",
+ title = "Preparing {Horizon Europe} proposals in {\LaTeX} with
+ \pkg{heria}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "59--64",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139miller-horizon",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139miller-horizon.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate{\Dash}a new class for these complex grant
+ proposals, with motivations, design decisions,
+ real-world use.",
+}
+
+@Article{Nijenhuis:2024:SPD,
+ author = "Erik Nijenhuis",
+ title = "Specifying and populating documents in {YAML} with
+ lua-placeholders in {\LaTeX}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "65--76",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139nijenhuis-placeholders",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139nijenhuis-placeholders.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Advanced{\Dash}invoice template implementation with
+ the GTK application GinVoice.",
+}
+
+@Article{Esbati:2024:BME,
+ author = "Arash Esbati",
+ title = "Building a modern editing environment on {Windows}
+ around {GNU Emacs} and \pkg{AUCTeX}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "77--87",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139esbati-auctex",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139esbati-auctex.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate Plus{\Dash}step-by-step installation of
+ MSYS2, Emacs, and AUCTeX, with practical configuration
+ and usage examples.",
+}
+
+@Article{Hunniger:2024:WLP,
+ author = "Dirk H{\"u}nniger",
+ title = "{Wikipedia} to {\LaTeX}, {PDF}, {EPUB} and {ODT}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "88--88",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139huenniger-mediawiki2latex",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139huenniger-mediawiki2latex.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate{\Dash}many updates to the
+ mediawiki2latex.wmflabs.org service and package.",
+}
+
+@Article{Novotny:2024:FRT,
+ author = "V{\'\i}t Star{\'y} Novotn{\'y} and Marei Peischl",
+ title = "Fast regression testing of {\TeX} packages:
+ Multiprocessing and batching",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "89--96",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139starynovotny-testing",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139starynovotny-testing.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate Plus{\Dash}batch limiting and splitting,
+ developer vs. maintainer use.",
+}
+
+@Article{May:2024:IFA,
+ author = "Alastair May and Taylor J. Smith",
+ title = "Illustrating finite automata with {Grail+} and
+ {TikZ}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "97--101",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139may-automata",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139may-automata.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate Plus{\Dash}automatic layout of finite
+ automata with the Grail+ Visualizer.",
+}
+
+@Article{Hagen:2024:IPF,
+ author = "Hans Hagen",
+ title = "Including {PDF} files",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "102--105",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139hagen-pdfincl",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139hagen-pdfincl.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate Plus{\Dash}optimizing sharing of font
+ instances.",
+}
+
+@Article{Wermuth:2024:GIVa,
+ author = "Udo Wermuth",
+ title = "Is a given input a valid {\TeX} {\tt $<$ number$>$}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "106--109",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139wermuth-isint",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139wermuth-isint.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Advanced{\Dash}plain TeX conditional-like macro to
+ test for a syntactic {\tt $<$ number$>$}.",
+}
+
+@Article{Wermuth:2024:GIVb,
+ author = "Udo Wermuth",
+ title = "Is a given input a valid {TeX} {\tt $<$ dimen$>$}?",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "109--112",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139wermuth-isdim",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139wermuth-isdim.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Advanced{\Dash}plain TeX conditional-like macro to
+ test for a syntactic {\tt $<$ dimen$>$}",
+}
+
+@Article{Gunther:2024:VMS,
+ author = "Max G{\"u}nther",
+ title = "Visualizing the {Mandelbrot} set with {MetaPost}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "113--114",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139guenther-mandelbrot",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139guenther-mandelbrot.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate{\Dash}complex numbers in MetaPost, and
+ implementing generation of the Mandelbrot set, with
+ optimizations.",
+}
+
+@Article{Stenborg:2024:SAT,
+ author = "Travis Stenborg",
+ title = "Semi-automated {TikZ} directed acyclic graphs in {R}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "115--116",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139stenborg-dags",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/s-plus.bib;
+ https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139stenborg-dags.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Stenborg, Travis/0000-0002-2693-9628",
+ remark = "Intermediate{\Dash}brief tutorial on using the
+ causalDisco R package to generate DAGs.",
+}
+
+@Article{GarciaDeCastro:2024:NEP,
+ author = "Federico {Garc{\'\i}a De Castro}",
+ title = "Nodes and edges with {MetaPost}: The \pkg{MetaGraph}
+ environment",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "117--124",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139garcia-metagraph",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139garcia-metagraph.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Advanced{\Dash}general-purpose programming with data
+ sets of nodes and edges.",
+}
+
+@Article{Matthes:2024:EGP,
+ author = "Alain Matthes",
+ title = "{Euclidean} geometry with \pkg{tkz}-elements and
+ \pkg{tkz-euclide}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "125--133",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139matthes-euclid",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139matthes-euclid.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Advanced{\Dash}construction of precise geometric
+ figures, using Lua for calculation.",
+}
+
+@Article{Hagen:2024:UB,
+ author = "Hans Hagen and Mikael P. Sundqvist",
+ title = "Unusual bitmaps",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "134--144",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139hagen-bitmaps",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139hagen-bitmaps.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate Plus{\Dash}making vector graphics and
+ plots from bitmaps with potrace .",
+}
+
+@Article{Hagen:2024:SPF,
+ author = "Hans Hagen",
+ title = "Signing {PDF} files",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "145--149",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139hagen-pdfsign",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139hagen-pdfsign.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate Plus{\Dash}methods and representation of
+ cryptographic signatures in PDF.",
+}
+
+@Article{Hagen:2024:CMS,
+ author = "Hans Hagen",
+ title = "{Computer Modern} shape curiosities",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "149--149",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139hagen-cmshapes",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139hagen-cmshapes.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate{\Dash}differing design choices in
+ different CM variants.",
+}
+
+@Article{Hagen:2024:RD,
+ author = "Hans Hagen and Mikael P. Sundqvist",
+ title = "Radical delimiters",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "150--151",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139hagen-radicals",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139hagen-radicals.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ remark = "Intermediate{\Dash}generalizing the extensibility of
+ radicals.",
+}
+
+@Article{Berry:2024:TC,
+ author = "Karl Berry",
+ title = "The treasure chest",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "151--153",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139chest",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139chest.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Berry, Karl/0000-0002-5325-6494",
+ remark = "Intermediate{\Dash}new CTAN packages, October
+ 2023--April 2024.",
+}
+
+@Article{Berry:2024:PN,
+ author = "Karl Berry",
+ title = "Production notes",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "154--154",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139prod",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139prod.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Berry, Karl/0000-0002-5325-6494",
+ remark = "Intermediate Plus{\Dash}PDF inclusion/concatenation
+ while preserving both internal and external links.",
+}
+
+@Article{Beeton:2024:BRS,
+ author = "Barbara Beeton and Karl Berry and Boris Veytsman",
+ title = "Book reviews: {{\booktitle{Shift Happens}}, by Marcin
+ Wichary}",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "155--155",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139reviews-wichary",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139reviews-wichary.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Beeton, Barbara/0000-0001-9756-6200; Berry,
+ Karl/0000-0002-5325-6494; Veytsman,
+ Boris/0000-0003-4674-8113",
+ remark = "Reports and notices{\Dash}a monumental history of
+ keyboards, with sample of the companion Gorton
+ Perfected font. See the TUG books page for all book
+ reviews and discounts.",
+}
+
+@Article{Anonymous:2024:TKI,
+ author = "Anonymous",
+ title = "{{\booktitle{Die TeXnische Kom{\"o}die}}}: issues
+ 3--1/2024",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "156--157",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139komo.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:LGI,
+ author = "Anonymous",
+ title = "{{\booktitle{La Lettre GUTenberg}}}: issue 51 (2023)",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "158--158",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139lettre.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:ZI,
+ author = "Anonymous",
+ title = "{{\booktitle{Zpravodaj}}}: issue 2023/3--4",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "159--159",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139zprav.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Berry:2024:TFS,
+ author = "Karl Berry",
+ title = "{TUG} financial statements for 2023",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "160--160",
+ year = "2024",
+ CODEN = "????",
+ DOI = "https://doi.org/10.47397/tb/45-1/tb139treas",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139treas.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+ ORCID-numbers = "Berry, Karl/0000-0002-5325-6494",
+}
+
+@Article{Anonymous:2024:TCL,
+ author = "Anonymous",
+ title = "{\TeX} conferences and lectures",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "161--161",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139ads-conf.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Munroe:2024:CST,
+ author = "Randall Munroe",
+ title = "Comic: Space typography",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "161--161",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139ads-conf.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:C,
+ author = "Anonymous",
+ title = "Calendar",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "162--162",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/tb45-1/tb139calendar.pdf",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
+@Article{Anonymous:2024:TCP,
+ author = "Anonymous",
+ title = "{\TeX} consulting and production services",
+ journal = j-TUGboat,
+ volume = "45",
+ number = "1",
+ pages = "163--164",
+ year = "2024",
+ CODEN = "????",
+ ISSN = "0896-3207",
+ ISSN-L = "0896-3207",
+ bibdate = "Sat May 18 08:30:37 MDT 2024",
+ bibsource = "https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
+ URL = "https://tug.org/TUGboat/consultants.html",
+ acknowledgement = ack-nhfb,
+ fjournal = "TUGboat",
+ issue = "139",
+ journal-URL = "https://tug.org/TUGboat/",
+}
+
%%% [19-May-2023] TO DO: Remember to convert http to https for sites that support it!
%%% [20-Sep-2023] TO DO: Add author ORCID-numbers in new issues after v44n2
diff --git a/info/biblio/tugboat.ltx b/info/biblio/tugboat.ltx
index 781a1dfcaa..0b5102c668 100644
--- a/info/biblio/tugboat.ltx
+++ b/info/biblio/tugboat.ltx
@@ -6,9 +6,9 @@
%%% ====================================================================
%%% @LaTeX-file{
%%% author = "Nelson H. F. Beebe",
-%%% version = "4.20",
-%%% date = "11 April 2024",
-%%% time = "10:21:03 MST",
+%%% version = "4.21",
+%%% date = "18 May 2024",
+%%% time = "09:02:34 MST",
%%% filename = "tugboat.ltx",
%%% address = "University of Utah
%%% Department of Mathematics, 110 LCB
@@ -18,7 +18,7 @@
%%% telephone = "+1 801 581 5254",
%%% FAX = "+1 801 585 1640, +1 801 581 4148",
%%% URL = "https://www.math.utah.edu/~beebe",
-%%% checksum = "27019 104 363 3580",
+%%% checksum = "15998 104 363 3576",
%%% email = "beebe@math.utah.edu, beebe@acm.org,
%%% beebe@computer.org (Internet)",
%%% codetable = "ISO/ASCII",
@@ -73,8 +73,8 @@
WWW URL: \protect\path=https://www.math.utah.edu/~beebe/=
}
-\date{11 April 2024 \\
-Version 4.20}
+\date{18 May 2024 \\
+Version 4.21}
\begin{document}
\nocite{*}
diff --git a/macros/latex/contrib/catppuccinpalette/README.md b/macros/latex/contrib/catppuccinpalette/README.md
new file mode 100644
index 0000000000..1cb1507f22
--- /dev/null
+++ b/macros/latex/contrib/catppuccinpalette/README.md
@@ -0,0 +1,28 @@
+# Readme for the package catppuccinPalette
+
+Author: Lukas Heindl (`oss.heindl+latex@protonmail.com`).
+
+CTAN page: not yet
+
+## License
+The LaTeX package `catppuccinPalette` is distributed under the LPPL 1.3 license.
+
+## Description
+
+The LaTeX package `catppuccinPalette` provides new colors for xcolor.
+
+## Installation
+
+For a manual installation:
+
+* put the files `catppuccinpalette.ins` and `catppuccinpalette.dtx` in the same directory;
+* run `latex catppuccinpalette.ins` in that directory.
+
+The file `catppuccinpalette.sty` will be generated.
+
+The file `catppuccinpalette.sty` is the only file necessary to use the latex package `catppuccinPalette`.
+You have to put it in the same directory as your document or (best) in a `texmf` tree.
+
+Simplified version:
+
+* run `l3build unpack` to generate the `.sty` in `build/unpacked/`
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
new file mode 100644
index 0000000000..d9cabfcd02
--- /dev/null
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
@@ -0,0 +1,422 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
+% ---------------------------------------------------------------------------
+% 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 Lukas Heindl.
+%
+% This work consists of the files catppuccinpalette.dtx and catppuccinpalette.ins
+% and the derived filebase catppuccinpalette.sty.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{catppuccinpalette.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{catppuccinpalette}
+%<*package>
+ [2024/02/27 v1.0.1 catppuccin xcolor palette]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{catppuccinpalette}[2024/02/27]
+\usepackage{multicol}
+\usepackage{pgffor}
+\usepackage{tabularx, booktabs}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{catppuccinpalette.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{111}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v0.0.1}{2024/02/09}{Converted to DTX file}
+% \changes{v1.0.0}{2024/02/27}{First full release}
+% \changes{v1.0.1}{2024/05/19}{Make fit for CTAN}
+%
+% \DoNotIndex{\newcommand,\newenvironment,\color,\colorlet,\def,\fi,\RequirePackage,\ProvidesPackage,\ProcessPgfOptions,\preparecolorset,\pgfkeys,\pagecolor,\newif,\NeedsTeXFormat}
+%
+% \providecommand*{\url}{\texttt}
+% \GetFileInfo{catppuccinpalette.dtx}
+% \title{The \textsf{catppuccinPalette} package}
+% \author{Lukas Heindl \\ \url{oss.heindl+latex@protonmail.com} \\ \url{https://github.com/atticus-sullivan/catpuccinPalette}}
+% \date{\fileversion~from \filedate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% The LaTeX package \pkg{catppuccinPalette} provides new colors for xcolor.
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% Catppuccin\footnote{\url{https://github.com/catppuccin/catppuccin}} is a nice
+% pastel theme in 4 flavours/styles (\emph{Latte}, \emph{Frapp\'e},
+% \emph{Macchiato}, \emph{Mocha}). This package defines these themes as xcolor
+% colors.
+%
+% \section{Usage}
+%
+% Load via |\usepackage{catppuccinpalette}|
+%
+% Just use the new colors (prefixed with \verb|Cat<Style>|) like normal xcolors.
+% In addition to the usual colors of the palette, this package defines some
+% colors according to the
+% style guide\footnote{\url{https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md}}
+% for ease of use.
+%
+% This package also allows you to set a specific style which sets the shortened
+% color names (prefixed only with \verb|Cat|) to the selected style (allows for
+% easy switching style) via the package option \verb|style|.
+%
+% This package loads xcolor (without options) so if you want to set some xcolor
+% options you should load xcolor before loading this package.
+%
+% \subsection{Package options}
+% \begin{tabularx}{\linewidth}{lX}
+% \emph{Option} & \emph{Description}
+% \\\toprule
+% \verb|style| &
+% set the style used by the shortened prefix (\verb|Cat|). Possible values:
+% \verb|Latte| (default+initial), \verb|latte|, \verb|Frappe|, \verb|frappe|,
+% \verb|Mocha|, \verb|mocha|
+% \\
+% \verb|textcolor| &
+% set the default textcolor of the document to \verb|CatText|. Possible values:
+% \verb|false| (default+initial), \verb|true|
+% \\
+% \verb|pagecolor| &
+% set the pagecolor of the document to \verb|CatBackground|. Possible values:
+% \verb|false| (default+initial), \verb|true|
+% \\\midrule
+% \verb|styleAll| &
+% shortcut for setting \verb|pagecolor| and \verb|textcolor|
+% \\\bottomrule
+% \end{tabularx}
+%
+% \subsection{Colors}
+% \newcommand{\showCol}[1]{\raisebox{0.5ex}{\fcolorbox{black}{#1}{\hspace{1em}}} #1}
+% \foreach \Style in {Latte,Frappe,Macchiato,Mocha}{
+% \subsubsection{Style \texttt{\Style}}
+% \begin{multicols}{2}
+% \def\Style{Latte}
+% \showCol{Cat\Style Blue}\par
+% \showCol{Cat\Style Rosewater}\par
+% \showCol{Cat\Style Flamingo}\par
+% \showCol{Cat\Style Pink}\par
+% \showCol{Cat\Style Mauve}\par
+% \showCol{Cat\Style Red}\par
+% \showCol{Cat\Style Maroon}\par
+% \showCol{Cat\Style Peach}\par
+% \showCol{Cat\Style Yellow}\par
+% \showCol{Cat\Style Green}\par
+% \showCol{Cat\Style Teal}\par
+% \showCol{Cat\Style Sky}\par
+% \showCol{Cat\Style Sapphire}\par
+% \showCol{Cat\Style Blue}\par
+% \showCol{Cat\Style Lavender}\par
+% \showCol{Cat\Style Text}\par
+% \showCol{Cat\Style Subtext1}\par
+% \showCol{Cat\Style Subtext0}\par
+% \showCol{Cat\Style Overlay2}\par
+% \showCol{Cat\Style Overlay1}\par
+% \showCol{Cat\Style Overlay0}\par
+% \showCol{Cat\Style Surface2}\par
+% \showCol{Cat\Style Surface1}\par
+% \showCol{Cat\Style Surface0}\par
+% \showCol{Cat\Style Base}\par
+% \showCol{Cat\Style Mantle}\par
+% \showCol{Cat\Style Crust}\par
+% \end{multicols}
+%
+% Some basic colors according to the style guide:
+%
+% \begin{multicols}{2}
+% \showCol{Cat\Style Background}\par
+% \showCol{Cat\Style Link}\par
+% \phantom{}\par
+% \columnbreak
+% \showCol{Cat\Style Success}\par
+% \showCol{Cat\Style Warning}\par
+% \showCol{Cat\Style Error}\par
+% \end{multicols}
+%
+% }
+%
+%
+% \StopEventually{}
+%
+% \section{Implementation}
+%
+% \iffalse
+%<*package>
+% \fi
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\RequirePackage{pgfopts}
+\RequirePackage{xcolor}
+% \end{macrocode}
+% Define the conditionals used by package options
+% \begin{macrocode}
+\newif\ifcatppuccinpalette@pagecolor
+\newif\ifcatppuccinpalette@textcolor
+\pgfkeys{
+ /catppuccinPalette/.cd,
+% \end{macrocode}
+% Define the package option keys
+% \begin{macrocode}
+ style/.is choice,
+ style/.value required,
+ style/Latte/.code = {\def\catppuccinpalette@style{Latte}},
+ style/latte/.forward to = /catppuccinPalette/style/Latte,
+ style/Frappe/.code = {\def\catppuccinpalette@style{Frappe}},
+ style/frappe/.forward to = /catppuccinPalette/style/frappe,
+ style/Macchiato/.code = {\def\catppuccinpalette@style{Macchiato}},
+ style/macchiato/.forward to = /catppuccinPalette/style/Macchiato,
+ style/Mocha/.code = {\def\catppuccinpalette@style{Mocha}},
+ style/mocha/.forward to = /catppuccinPalette/style/Mocha,
+ textcolor/.is if = catppuccinpalette@textcolor,
+ textcolor/.default = true,
+ pagecolor/.is if = catppuccinpalette@pagecolor,
+ pagecolor/.default = true,
+ styleAll/.style = {pagecolor,textcolor},
+% \end{macrocode}
+% Set initial values for all options
+% \begin{macrocode}
+ textcolor = false,
+ pagecolor = false,
+ style = Latte,
+}
+\ProcessPgfOptions*
+% \end{macrocode}
+% Define the \emph{Latte} colorset
+% \begin{macrocode}
+\preparecolorset{RGB/HTML}{CatLatte}{}{%
+ Rosewater,220,138,120/DC8A78;%
+ Flamingo,221,120,120/DD7878;%
+ Pink,234,118,203/EA76CB;%
+ Mauve,136,57,239/8839EF;%
+ Red,210,15,57/D20F39;%
+ Maroon,230,69,83/E64553;%
+ Peach,254,100,11/FE640B;%
+ Yellow,223,142,29/DF8E1D;%
+ Green,64,160,43/40A02B;%
+ Teal,23,146,153/179299;%
+ Sky,4,165,229/04A5E5;%
+ Sapphire,32,159,181/209FB5;%
+ Blue,30,102,245/1E66F5;%
+ Lavender,114,135,253/7287FD;%
+ Text,76,79,105/4C4F69;%
+ Subtext1,92,95,119/5C5F77;%
+ Subtext0,108,111,133/6C6F85;%
+ Overlay2,124,127,147/7C7F93;%
+ Overlay1,140,143,161/8C8FA1;%
+ Overlay0,156,160,176/9CA0B0;%
+ Surface2,172,176,190/ACB0BE;%
+ Surface1,188,192,204/BCC0CC;%
+ Surface0,204,208,218/CCD0DA;%
+ Base,239,241,245/EFF1F5;%
+ Mantle,230,233,239/E6E9EF;%
+ Crust,220,224,232/DCE0E8%
+}
+% \end{macrocode}
+% Define colors according to the catppuccin style guide
+% \begin{macrocode}
+\colorlet{CatLatteBackground}{CatLatteBase}
+\colorlet{CatLatteLink}{CatLatteBlue}
+\colorlet{CatLatteSuccess}{CatLatteGreen}
+\colorlet{CatLatteWarning}{CatLatteYellow}
+\colorlet{CatLatteError}{CatLatteRed}
+% \end{macrocode}
+% Define the styles \emph{Frappe}, \emph{Macchiato} and \emph{Mocha} accordingly
+% \begin{macrocode}
+\preparecolorset{RGB/HTML}{CatFrappe}{}{%
+ Rosewater,242,213,207/F2D5CF;%
+ Flamingo,238,190,190/EEBEBE;%
+ Pink,244,184,228/F4B8E4;%
+ Mauve,202,158,230/CA9EE6;%
+ Red,231,130,132/E78284;%
+ Maroon,234,153,156/EA999C;%
+ Peach,239,159,118/EF9F76;%
+ Yellow,229,200,144/E5C890;%
+ Green,166,209,137/A6D189;%
+ Teal,129,200,190/81C8BE;%
+ Sky,153,209,219/99D1DB;%
+ Sapphire,133,193,220/85C1DC;%
+ Blue,140,170,238/8CAAEE;%
+ Lavender,186,187,241/BABBF1;%
+ Text,198,208,245/C6D0F5;%
+ Subtext1,181,191,226/B5BFE2;%
+ Subtext0,165,173,206/A5ADCE;%
+ Overlay2,148,156,187/949CBB;%
+ Overlay1,131,139,167/838BA7;%
+ Overlay0,115,121,148/737994;%
+ Surface2,98,104,128/626880;%
+ Surface1,81,87,109/51576D;%
+ Surface0,65,69,89/414559;%
+ Base,48,52,70/303446;%
+ Mantle,41,44,60/292C3C;%
+ Crust,35,38,52/232634%
+}
+\colorlet{CatFrappeBackground}{CatFrappeBase}
+\colorlet{CatFrappeLink}{CatFrappeBlue}
+\colorlet{CatFrappeSuccess}{CatFrappeGreen}
+\colorlet{CatFrappeWarning}{CatFrappeYellow}
+\colorlet{CatFrappeError}{CatFrappeRed}
+\preparecolorset{RGB/HTML}{CatMacchiato}{}{%
+ Rosewater,244,219,214/F4DBD6;%
+ Flamingo,240,198,198/F0C6C6;%
+ Pink,245,189,230/F5BDE6;%
+ Mauve,198,160,246/C6A0F6;%
+ Red,237,135,150/ED8796;%
+ Maroon,238,153,160/EE99A0;%
+ Peach,245,169,127/F5A97F;%
+ Yellow,238,212,159/EED49F;%
+ Green,166,218,149/A6DA95;%
+ Teal,139,213,202/8BD5CA;%
+ Sky,145,215,227/91D7E3;%
+ Sapphire,125,196,228/7DC4E4;%
+ Blue,138,173,244/8AADF4;%
+ Lavender,183,189,248/B7BDF8;%
+ Text,202,211,245/CAD3F5;%
+ Subtext1,184,192,224/B8C0E0;%
+ Subtext0,165,173,203/A5ADCB;%
+ Overlay2,147,154,183/939AB7;%
+ Overlay1,128,135,162/8087A2;%
+ Overlay0,110,115,141/6E738D;%
+ Surface2,91,96,120/5B6078;%
+ Surface1,73,77,100/494D64;%
+ Surface0,54,58,79/363A4F;%
+ Base,36,39,58/24273A;%
+ Mantle,30,32,48/1E2030;%
+ Crust,24,25,38/181926%
+}
+\colorlet{CatMacchiatoBackground}{CatMacchiatoBase}
+\colorlet{CatMacchiatoLink}{CatMacchiatoBlue}
+\colorlet{CatMacchiatoSuccess}{CatMacchiatoGreen}
+\colorlet{CatMacchiatoWarning}{CatMacchiatoYellow}
+\colorlet{CatMacchiatoError}{CatMacchiatoRed}
+\preparecolorset{RGB/HTML}{CatMocha}{}{%
+ Rosewater,245,224,220/F5E0DC;%
+ Flamingo,242,205,205/F2CDCD;%
+ Pink,245,194,231/F5C2E7;%
+ Mauve,203,166,247/CBA6F7;%
+ Red,243,139,168/F38BA8;%
+ Maroon,235,160,172/EBA0AC;%
+ Peach,250,179,135/FAB387;%
+ Yellow,249,226,175/F9E2AF;%
+ Green,166,227,161/A6E3A1;%
+ Teal,148,226,213/94E2D5;%
+ Sky,137,220,235/89DCEB;%
+ Sapphire,116,199,236/74C7EC;%
+ Blue,137,180,250/89B4FA;%
+ Lavender,180,190,254/B4BEFE;%
+ Text,205,214,244/CDD6F4;%
+ Subtext1,186,194,222/BAC2DE;%
+ Subtext0,166,173,200/A6ADC8;%
+ Overlay2,147,153,178/9399B2;%
+ Overlay1,127,132,156/7F849C;%
+ Overlay0,108,112,134/6C7086;%
+ Surface2,88,91,112/585B70;%
+ Surface1,69,71,90/45475A;%
+ Surface0,49,50,68/313244;%
+ Base,30,30,46/1E1E2E;%
+ Mantle,24,24,37/181825;%
+ Crust,17,17,27/11111B%
+}
+% \end{macrocode}
+% Define shortcuts for active style
+% \begin{macrocode}
+\colorlet{CatMochaBackground}{CatMochaBase}
+\colorlet{CatMochaLink}{CatMochaBlue}
+\colorlet{CatMochaSuccess}{CatMochaGreen}
+\colorlet{CatMochaWarning}{CatMochaYellow}
+\colorlet{CatMochaError}{CatMochaRed}
+\colorlet{CatRosewater}{Cat\catppuccinpalette@style Rosewater}
+\colorlet{CatFlamingo}{Cat\catppuccinpalette@style Flamingo}
+\colorlet{CatPink}{Cat\catppuccinpalette@style Pink}
+\colorlet{CatMauve}{Cat\catppuccinpalette@style Mauve}
+\colorlet{CatRed}{Cat\catppuccinpalette@style Red}
+\colorlet{CatMaroon}{Cat\catppuccinpalette@style Maroon}
+\colorlet{CatPeach}{Cat\catppuccinpalette@style Peach}
+\colorlet{CatYellow}{Cat\catppuccinpalette@style Yellow}
+\colorlet{CatGreen}{Cat\catppuccinpalette@style Green}
+\colorlet{CatTeal}{Cat\catppuccinpalette@style Teal}
+\colorlet{CatSky}{Cat\catppuccinpalette@style Sky}
+\colorlet{CatSapphire}{Cat\catppuccinpalette@style Sapphire}
+\colorlet{CatBlue}{Cat\catppuccinpalette@style Blue}
+\colorlet{CatLavender}{Cat\catppuccinpalette@style Lavender}
+\colorlet{CatText}{Cat\catppuccinpalette@style Text}
+\colorlet{CatSubtext1}{Cat\catppuccinpalette@style Subtext1}
+\colorlet{CatSubtext0}{Cat\catppuccinpalette@style Subtext0}
+\colorlet{CatOverlay2}{Cat\catppuccinpalette@style Overlay2}
+\colorlet{CatOverlay1}{Cat\catppuccinpalette@style Overlay1}
+\colorlet{CatOverlay0}{Cat\catppuccinpalette@style Overlay0}
+\colorlet{CatSurface2}{Cat\catppuccinpalette@style Surface2}
+\colorlet{CatSurface1}{Cat\catppuccinpalette@style Surface1}
+\colorlet{CatSurface0}{Cat\catppuccinpalette@style Surface0}
+\colorlet{CatBase}{Cat\catppuccinpalette@style Base}
+\colorlet{CatMantle}{Cat\catppuccinpalette@style Mantle}
+\colorlet{CatCrust}{Cat\catppuccinpalette@style Crust}
+\colorlet{CatBackground}{Cat\catppuccinpalette@style Base}
+\colorlet{CatLink}{Cat\catppuccinpalette@style Blue}
+\colorlet{CatSuccess}{Cat\catppuccinpalette@style Green}
+\colorlet{CatWarning}{Cat\catppuccinpalette@style Yellow}
+\colorlet{CatError}{Cat\catppuccinpalette@style Red}
+% \end{macrocode}
+% Set (only initial) pagecolor according to the style guide if the user wants this
+% \begin{macrocode}
+\ifcatppuccinpalette@pagecolor
+ \pagecolor{CatBackground}
+\fi
+% \end{macrocode}
+% Set textcolor according to the style guide if the user wants this
+% \begin{macrocode}
+\ifcatppuccinpalette@textcolor
+ \color{CatText}
+\fi
+% \end{macrocode}
+\endinput
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
new file mode 100644
index 0000000000..c93b929dcd
--- /dev/null
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
@@ -0,0 +1,57 @@
+%% Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
+%% --------------------------------------------------------------------------
+%% 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 Lukas Heindl.
+%%
+%% This work consists of the files catppuccinpalette.dtx and catppuccinpalette.ins
+%% and the derived filebase catppuccinpalette.sty.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/catppuccinpalette}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
+--------------------------------------------------------------------------
+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.
+
+\endpreamble
+
+\generate{\file{catppuccinpalette.sty}{\from{catppuccinpalette.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* catppuccinpalette.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file catppuccinpalette.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
new file mode 100644
index 0000000000..aedd35c9bf
--- /dev/null
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
Binary files differ
diff --git a/macros/latex/contrib/spbmark/spbmark.pdf b/macros/latex/contrib/spbmark/spbmark.pdf
index 5ad9b3e360..8242e5e3bf 100644
--- a/macros/latex/contrib/spbmark/spbmark.pdf
+++ b/macros/latex/contrib/spbmark/spbmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/spbmark/spbmark.sty b/macros/latex/contrib/spbmark/spbmark.sty
index 9646dc1e00..c1ce4837a5 100644
--- a/macros/latex/contrib/spbmark/spbmark.sty
+++ b/macros/latex/contrib/spbmark/spbmark.sty
@@ -9,7 +9,7 @@
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2018/12/31]
\RequirePackage{xparse,l3keys2e}
-\ProvidesExplPackage{spbmark}{2024/05/13}{1.46i}
+\ProvidesExplPackage{spbmark}{2024/05/19}{1.46j}
{Customize superscripts and subscripts}
\cs_generate_variant:Nn \box_set_ht:Nn { cv }
@@ -22,6 +22,8 @@
\cs_generate_variant:Nn \tl_if_novalue:nF { V }
\cs_generate_variant:Nn \tl_if_blank:nF { v }
+\providecommand{\AfterPreamble}{\AtBeginDocument}
+\AtBeginDocument{\cs_set_eq:NN \AfterPreamble \use:n}
\cs_set_eq:NN \spb@textsuperscript@save \textsuperscript
\cs_set_eq:NN \spb@textsubscript@save \textsubscript
\cs_set_eq:NN \spb@math@super@save \sp
@@ -30,46 +32,78 @@
\cs_new_protected:Npn \spb_define:n { \keys_define:nn { ctex/tools } }
\cs_new_protected:Npn \spb_set:n { \keys_set:nn { ctex/tools } }
\cs_set_eq:NN \spbset \spb_set:n
+
\keys_define:nn { spbmark/option }
{
text .choice:,
- text/true .code:n =
+ text/true .code:n =
{
\cs_set:Npn \textsuperscript { \super[textsp] }
\cs_set:Npn \textsubscript { \sub[textsb] }
},
- text/false .code:n =
+ text/false .code:n =
{
\cs_set:Npn \textsuperscript { \spb@textsuperscript@save }
\cs_set:Npn \textsubscript { \spb@textsubscript@save }
},
- text .default:n = true,
+ text .default:n = true,
math .choice:,
- math/true .code:n =
+ math/true .code:n =
{
\cs_set:Npn \sp { \super[mathsp] }
\cs_set:Npn \sb { \sub[mathsb] }
},
- math/false .code:n =
+ math/false .code:n =
{
\cs_set:Npn \sp { \spb@math@super@save }
\cs_set:Npn \sb { \spb@math@sub@save }
},
- math .default:n = true,
+ math .default:n = true,
foot .choice:,
- foot/true .code:n =
+ foot/true .code:n =
{
\cs_set:Npn \@makefnmark
{ \hbox:n { \fnmarkfont{\super[fnmark]{\@thefnmark}} } }
},
- foot/false .code:n =
+ foot/false .code:n =
{ \cs_set:Npn \@makefnmark { \spb@@makefnmark@save } },
- foot .default:n = true,
- both .meta:n = { text = #1,math = #1 },
- both .default:n = true,
- all .meta:n = { text = #1,math = #1,foot = #1 },
- all .default:n = true
+ foot .default:n = true,
+ both .meta:n = { text = #1,math = #1 },
+ both .default:n = true,
+ all .meta:n = { text = #1,math = #1,foot = #1 },
+ all .default:n = true
+ }
+\char_set_catcode_active:N \~
+\keys_define:nn { spbmark/option }
+ {
+ math* .choice:,
+ math*/true .code:n =
+ {
+ \AfterPreamble
+ {
+ \group_begin:
+ \char_set_lccode:nn { `\~ } { `\^ }
+ \lowercase{\group_end:\cs_set:Npn ~} { \super[mathsp*] }
+ \group_begin:
+ \char_set_lccode:nn { `\~ } { `\_ }
+ \lowercase{\group_end:\cs_set:Npn ~} { \sub[mathsb*] }
+ \char_set_mathcode:nn { `\^ } { "8000 }
+ \char_set_catcode_other:N \^
+ \char_set_catcode_other:N \_
+ }
+ },
+ math*/false .code:n =
+ {
+ \AfterPreamble
+ {
+ \char_set_catcode_math_superscript:N \^
+ \char_set_catcode_math_subscript:N \_
+ \char_set_mathcode:nn { `\^ } { "005E }
+ }
+ },
+ math* .default:n = true
}
+\char_set_catcode_space:N \~
\tl_if_exist:NTF \ftntm@font
{ \tl_set_eq:NN \fnmarkfont \ftntm@font }
{ \tl_set_eq:NN \fnmarkfont \normalfont }
@@ -112,7 +146,7 @@
\cs_new_protected:Npn \spbshortkv #1#2
{ \spb_define:n { #1 .meta:n = {#2} } }
\clist_map_inline:nn
- { textsp,textsb,mathsp,mathsb,fnmark }
+ { textsp,textsb,mathsp,mathsb,mathsp*,mathsb*,fnmark }
{
\defspbstyle{#1}{}
\spbshortkv{#1}{style = #1}
diff --git a/macros/latex/contrib/spbmark/spbmark.tex b/macros/latex/contrib/spbmark/spbmark.tex
index e631b4c210..9d04ea07f9 100644
--- a/macros/latex/contrib/spbmark/spbmark.tex
+++ b/macros/latex/contrib/spbmark/spbmark.tex
@@ -8,8 +8,8 @@
{
package = spbmark,
title = the spbmark package,
- version = v1.46i,
- date = 2024/05/13,
+ version = v1.46j,
+ date = 2024/05/19,
authors = Qu Yi,
info = Customize superscript and subscript,
email = toquyi@163.com,
@@ -40,7 +40,7 @@
\newsplitarg{\splitoarg}{[}{]}
\newsplitarg{\splitmarg}{\{}{\}}
\newsplitarg{\splitdarg}{(}{)}
-\newnote{\newtag}[1][New]{\textcolor{red}{#1}}
+\newnote{\newtag}[1]{\textcolor{red}{#1}}
\renewcommand{\emph}[1]{\textcolor{red}{#1}}
\renewcommand{\cnltx@write@lastname}{}
\makeatother
@@ -49,12 +49,14 @@
\section{Macro package options}
The following macro package options will redefine the script commands of the \LaTeX{} kernel. If you do not specify the values of boolean options, they default to \code{true}. These options can also be changed in the preamble area and main body using the global control command \cs{spbset}.
\begin{options}
- \keychoice{text}{true,\fbox{false}}\newtag[Changed]%
- \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. You can also use the \cs{defspbstyle} command to define the style \code{textsp} and \code{textsb} to change the format of the text superscript and subscript.
- \keychoice{math}{true,\fbox{false}}\newtag[Changed]%
- \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. You can also use the \cs{defspbstyle} command to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscript and subscript.
- \keychoice{foot}{true,\fbox{false}}\newtag[Changed]%
- The format of the footnote mark match the superscript global move and format settings. You can also use the \cs{defspbstyle} command to define the superscript style \code{fnmark} to change the format of the footnote mark.
+ \keychoice{text}{true,\fbox{false}}
+ \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscript and subscript.
+ \keychoice{math}{true,\fbox{false}}
+ \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscript and subscript.
+ \keychoice{math*}{true,\fbox{false}}\newtag{Exp\\v1.46j}%
+ The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscript and subscript.
+ \keychoice{foot}{true,\fbox{false}}
+ The format of the footnote mark match the superscript global move and format settings. \cs{defspbstyle} can be used to define the superscript style \code{fnmark} to change the format of the footnote mark.
\begin{example}[code-only]
\defspbstyle{textsp}{vmove=-1pt,cmd=\bfseries}
\defspbstyle{mathsb}{hmove=0.5em}
@@ -152,7 +154,7 @@ The options common to \meta{kv list} of the three commands are as follows. They
Use the \meta{style name} defined by the \cs{defspbstyle} command to make it work global or local.
\keychoice{mode}{text,math,\fbox{match}}
The mode of superscript or subscript output can be \code{text} or \code{math} mode. The \code{match} option automatically matches output modes according to the current mode.
- \keychoice{thiswd}{auto,\fbox{keep}}\newtag%
+ \keychoice{thiswd}{auto,\fbox{keep}}
Sets how the length of the this marker is handled after this command is used. If it is \code{keep}, the width of the previous marker remains the same. If it is \code{auto}, if the next token is a marker command and the upper or lower position is the \textcolor{red}{opposite} of the this command, the width of the this marker is maintained, otherwise the width automatically returns to \textcolor{red}{zero}.
\begin{example}
\spbset{sbhmove=-\llastwd,sbthiswd=auto,sbcmd=\color{red}}
@@ -161,7 +163,7 @@ The options common to \meta{kv list} of the three commands are as follows. They
3A\sub{bcd}[thiswd=keep]\sub{e}Some texts\sub{e} \\
4A\sub{bcd}\sub{e}Some texts\sub{e}
\end{example}
- \keyval{regex}{regular expression}\newtag%
+ \keyval{regex}{regular expression}
After using the superscript or subscript command, this option is used to determine whether the \textcolor{red}{following} tokens match the \meta{regular expression}. If it does \textcolor{red}{not}, the width of the this marker returns to zero.
\begin{example}[code-only]
\newcommand{\mysp}[2][]{\super[regex=\c{mysb},#1]{#2}}
@@ -206,13 +208,13 @@ The following list of keys control the format both of superscript \emph{or} subs
The distance between the subscript baseline and the previous line.
\keyval{sbdepth}{fixed length}
The distance between the subscript baseline and the next line.
- \keychoice{spthiswd}{auto,\fbox{keep}}\newtag%
+ \keychoice{spthiswd}{auto,\fbox{keep}}
Width processing mode after using this superscript. See Section \ref{sec:user commands} for the meaning of this option.
- \keychoice{sbthiswd}{auto,\fbox{keep}}\newtag%
+ \keychoice{sbthiswd}{auto,\fbox{keep}}
Width processing mode after using this subscript. See Section \ref{sec:user commands} for the meaning of this option.
- \keyval{spregex}{regular expression}\newtag%
+ \keyval{spregex}{regular expression}
After the superscript command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
- \keyval{sbregex}{regular expression}\newtag%
+ \keyval{sbregex}{regular expression}
After the subscript command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
\end{options}
@@ -251,9 +253,12 @@ Here is a list of the three commands, please pay attention to the usage of optio
\subsection{siunitx}
It can also be used with the \pkg*{siunitx} package to output superscript and subscript in the unit:
\begin{example}
- \unit[mode=math]{kg.m/s\super[vmove=-1pt]{2}} \\
- \qty[mode=text]{30}{A\supersub[hmove=1pt,cmd=\color{red}]{b}{c}} \\
- \spbset{sbhmove=2pt}\unit[mode=text]{A\sub{b}}
+ \spbset{spcmd=\spbifmath{}{\color{purple}}}
+ \sisetup{text-superscript-command=\super}
+ 1-\qty[mode=text]{10}{A^2} \\
+ 2-\unit[mode=math]{kg.m/s\super[vmove=-1pt]{2}} \\
+ 3-\qty[mode=text]{30}{A\supersub[hmove=1pt,cmd=\color{blue}]{b}{c}} \\
+ 4-\spbset{sbhmove=2pt}\unit[mode=text]{A\sub{b}}
\end{example}
\subsection{realscripts}
diff --git a/macros/luatex/latex/semesterplannerlua/README.md b/macros/luatex/latex/semesterplannerlua/README.md
new file mode 100644
index 0000000000..d7049942cb
--- /dev/null
+++ b/macros/luatex/latex/semesterplannerlua/README.md
@@ -0,0 +1,43 @@
+# Readme for the package semesterplannerLua
+
+Author: Lukas Heindl (`oss.heindl+latex@protonmail.com`).
+
+CTAN page: not yet
+
+## License
+The LaTeX package `semesterplannerLua` is distributed under the LPPL 1.3 license.
+
+## Description
+
+The LaTeX package `semesterplannerLua` provides commands to print timetables, lists
+of appointments and exams. Also it is possible to draw calendars of specified
+ranges (and mark dates which were previously listed).
+
+## Installation
+
+For a manual installation:
+
+* put the files `semesterplannerlua.ins` and `semesterplannerlua.dtx` in the
+same directory;
+* run `latex semesterplannerlua.ins` in that directory.
+
+The file `semesterplannerlua.sty` will be generated.
+
+In addition to the `semesterplannerlua.sty` the files
+`semesterplannerLua_calendar.lua` and `semesterplannerLua_timetable.lua` are
+also required.
+You have to put them in the same directory as your document or (best) in a `texmf` tree.
+
+
+### Simplified version:
+
+* run `l3build unpack` to generate the `.sty` (and the `.lua` files) in
+`build/unpacked/`
+
+### Experimental: dmenu script
+There is also the `semesterplannerLua_dmenu.lua` script which will display the
+previous and next (and currently running) item from your timetable via dmenu,
+copying the url or the link to the TUM roomfinder(if set) to your clipboard if
+selected.
+
+You might want to adapt the roomfinder behaviour.
diff --git a/macros/luatex/latex/semesterplannerlua/semesterplannerlua.dtx b/macros/luatex/latex/semesterplannerlua/semesterplannerlua.dtx
new file mode 100644
index 0000000000..8341981afd
--- /dev/null
+++ b/macros/luatex/latex/semesterplannerlua/semesterplannerlua.dtx
@@ -0,0 +1,885 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
+% ---------------------------------------------------------------------------
+% 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 Lukas Heindl.
+%
+% This work consists of the files beamercolorthemeCatppuccin.dtx and beamercolorthemeCatppuccin.ins
+% and the derived filebase beamercolorthemeCatppuccin.sty.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{semesterplannerlua.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{semesterplannerlua}
+%<*package>
+ [2024/05/19 v1.1.1 Semesterplanner package in lua with tikz only]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry}
+\usepackage[numbered]{hypdoc}
+\usepackage{array}
+\usepackage{semesterplannerlua}[2024/02/27]
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{362}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v0.0.0}{2021/10/07}{First draft}
+% \changes{v0.0.1}{2022/04/28}{Added new options (providing day
+% representation in source code)}
+% \changes{v0.0.2}{2022/04/30}{Write out timetable data to be able to build
+% e.g. something with dmenu over it and provide an example dmenu lua
+% script}
+% \changes{v0.0.3}{2024/02/25}{Rename to semesterplannerLua and rewrite for
+% l3build}
+% \changes{v1.0.0}{2024/02/27}{First full release}
+% \changes{v1.1.0}{2024/05/19}{Make ready for CTAN}
+% \changes{v1.1.1}{2024/05/19}{Make ready for CTAN (2)}
+%
+%
+% \DoNotIndex{\newcommand,\newenvironment,\\,\begin,\end,\def,\definecolor,\directlua,\endinput,\faBullhorn,\faCamera,\faFlag,\faQuestion,\faTimesCircle,\faWarning,\faWindows,\faYoutubePlay,\node,\pgfkeys,\pgfkeysvalueof,\protected,\raggedright,\textbf,\textcolor,\textwidth,\unexpanded,\",\x,\y,\year,\week,\tiny,\tikz@lib@cal@xshift,\tikz@lib@cal@yshift,\tikz,\textit,\t,\section,\phantom,\pgftransformyshift,\pgftransformxshif,\pgfmathsetlength,\pgf@ya,\pgf@xa,\openout,\n,\newwrite,\month,\minuteToFrac,\matrix,\l,\jobname,\init,\immediate,\ignorespaces,\ifdate,\hfil,\href,\foreach,\faStickyNoteO,\faPencil,\faComment,\faClockO,\faCalendar,\faBold,\draw,\d,\day,\checkKeys,\%,\RequirePackage,\usepackage,\usetikzlibrary,\pgftransformxshift}
+%
+% \providecommand*{\url}{\texttt}
+% \GetFileInfo{semesterplannerlua.dtx}
+% \title{\textsf{semesterplannerLua} --- Semesterplanner package in lua
+% with tikz only
+% }
+% \author{Lukas Heindl \\ \url{oss.heindl+latex@protonmail.com} \\ \faGithub:
+% \url{https://github.com/atticus-sullivan/semesterplannerLua}}
+% \date{\fileversion~from \filedate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% This package provides a mean to easily print a timetable e.g. for a
+% semesterplan. The reason for this package to exist is that I wanted to
+% reimplement \url{https://github.com/nlschn/semesterplanner/} with
+% printing the timetable with |tikz| only (which is more easily to be
+% modified) and with the ability of making entries spanning only a fraction
+% of the column (for showing simultanious events).
+%
+% Documents using this package need to be compiled with
+% LuaLaTeX. The package requires |xcolor|, |fontawesome|, |tikz| (and |pgfkeys|).
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Usage}
+% Load with |\usepackage{semesterplannerlua}|
+% \subsection{timetable}
+%
+% \DescribeEnv{timetable} |\begin{timetable}[opts]...\end{timetable}|\\
+% This is the core environment of this package. Within it you can use
+% |\lecture|, |\seminar|, |\tutorial|, |\officehour| and |\meeting|. All
+% these commands are only defined inside the |timetable| environment, and
+% have the same structure. It typesets a timetable with the specified
+% entries. If you have a look at the |.sty| file you'll see that these
+% macros just take a general macro and set some default values before. Thus
+% it is easy to define new ones (keep in mind that you'll need
+% |\makeatletter|) to access the general macro.
+%
+% Writes out a file containing the data from the timetable (your events) to
+% be able to have just the |.tex| file containing the timetable, but do
+% some scriping on the data (e.g. show the last, current and next events).
+% For simplicity the data is stored in lua-syntax (|return|s a table of the
+% events). This way we don't need to worry about any string escaping (like
+% with csv) and no complicated parsers are needed. Be aware though that a
+% simple |events = dofile"path"| has risks since |"path"| might contain lua
+% code which is simply executed that way.
+%
+% |opts| are optional arguments (enclosed with |{}|) separated with |,|:
+% \begin{description}
+% \item[|days|] List of the names of the days that should be set as
+% column names. Note that if you specify only 4 names only these 4
+% columns will be printed (with the first day being identified as
+% Monday)
+% \textit{Default: |Mon,Thue,Wend,Thur,Fri|}
+% \item[|dayse|] List of strings used in the code to idenfity the day.
+% This list is kind of a mapping string $\to$ integer.
+% \item[|start time|] Explicit start-time of the timetable given in minutes
+% (|HH*60 + MM|). Can be set as |start time/.evaluated={HH*60 + MM}|.
+% If this is empty, the start time is derived from the given events.
+% \textit{Default: |""|}
+% \item[|end time|] Equivalent to |start-time|
+% \textit{Default: |""|}
+% \item[|width|] Give the width of the timetable. (can be given e.g. as
+% |\textwidth| as this is directly given to tikz).
+% \textit{Default:} |\textwidth|
+% \item[|length|] Give the length of the timetable (measured in |cm|)
+% (has to be a straight number since this is needed in calculation)
+% \textit{Default: 10}
+% \end{description}
+%
+% \DescribeMacro{\lecture} |\lecture [opts]|
+%
+% \DescribeMacro{\tutorial} |\tutorial [opts]|
+%
+% \DescribeMacro{\seminar} |\seminar [opts]|
+%
+% \DescribeMacro{\officehour} |\officehour[opts]|
+%
+% \DescribeMacro{\meeting} |\meeting [opts]|
+%
+% |opts| are optional arguments (enclosed with |{}|) separated with |,|:
+% \begin{description}
+% \item[|title|] Give the name of the lecture
+% \item[|speaker|] Give the name of the lecturer
+% \item[|location|] Give the place of the event (most probably the room or
+% an online plattform, see \ref{icons}). If you want to use
+% |\href{url}{string repr}|, keep in mind that you need to
+% |\unescaped{}| it, since all input to lua has to be text
+% \item[|day|] The weekday on which the event takes place. Has to be
+% one of those you specified in |dayse| (or by default: |M|,|T|,|W|,|Th|,|F|)
+% \item[|time|] The timespan of the event formatted as |HH:MM-HH:MM|
+% (24H clock)
+% \item[|prio|] The priority of the event (see \ref{icons})
+% \item[|scale width|] Specify the width of the entry in fractions
+% of column (use |0.5| to span half the column).
+% \item[|offset|] Shift the entry to the right. Specified in fractions
+% of column.
+% \item[|password|] Original purpose: Only included in the file written
+% out with the timetable data, to be able to make a script which
+% quickly copies url (from |location|) and |password| to the clipboard.
+% \item[|type|] Only included in the file written out with the
+% timetable data as well (Original purpose: To be able to exclude some
+% types)
+% \item[|tikz|] Free customizable event code. See the documentation
+% at the end for keys that can be used here (all keys in |/event|). To
+% simply pass arguments to the tikz-node that is being created for the
+% event use |tikz/.append={your arguments}| (be careful with |text width|,
+% |text height|, |text depth| as these keys are being used for
+% the dimensions of the node as well as with |anchor|)
+% \item[|content|] Is usually set automatically based on the other keys
+% (|title|for instance). This key can override this.
+% \item[|textcolor|] Usually set by the type of macro used
+% \item[|formatter|] internal stub for providing different formatting
+% options. Formatting functions need to be specified in the
+% |-timetable.lua| file
+% \end{description}
+% The entries |Day| and |Time| are mandatory since they are needed for the
+% positioning of the node. All others are merely necessary for the content
+% of the node and are therefore nor mandatory.
+%
+% \subsubsection{Special Notes}
+% Note that the |length| argument does specify the length of the timetable
+% without taking account of the column headers.
+%
+% Same goes for the |width| parameter regarding the labels containing the
+% time on the right. Since in this case any tex-lenght is allowed, you can
+% simply try to subtract the length of the clock label using something like
+% |\settowidth{\length}{12:30}| to set a length to the length of a clock
+% label and then subtract this from the length you want to specify.
+%
+% \hangindent=4.5em \hangafter=1 \textbf{Hint:} The content of the
+% environment isn't processed by this package. Only the event commands (so
+% to speak |\lecture|,|\tutorial|,|\seminar|,|\officehour|,|\meeting| are
+% relevant. All other contents are set immediately before the timetable.
+% Therefore, if you wan to add e.g. a |\hspace*{10cm}| to shift the
+% timetable to the left, the last line of the env would be the place to do
+% so (there musn't be an empty line below since otherwise a new paragraph
+% is started).
+%
+% \newpage
+% \subsubsection{Example}
+% |\begin{timetable}[|\\
+% | days={Mon,Thue,Wend,Thur,Fri},|\\
+% | start time/.evaluated={11*60}, end time/.evaluated={15*60}|\\
+% | ]|\\
+% | \lecture[title={TestingLectureLongOne},speaker={Doe},|\\
+% | location={RN1},day={W},time={12:30-13:30}]|\\
+% | \lecture[title={TestingLectureLongOne},speaker={John},|\\
+% | location={RN1},day={Th},time={12:30-13:30},offset=0.5,scale width=0.5]|\\
+% | \lecture[title={TestingLectureLongOne},speaker={Dr. Doe},|\\
+% | location={\zoom},day={T},time={12:30-13:30},prio={\phigh}]|\\
+% |\end{timetable}|\\
+%
+% \begin{timetable}[days={Mon,Thue,Wend,Thur,Fri}, start
+% time/.evaluated={11*60}, end time/.evaluated={15*60}]
+% \lecture[title={TestingLectureLongOne}, speaker={Heindl}, location={RN1}, day={W}, time={12:30-13:30}]
+% \lecture[title={TestingLectureLongOne}, speaker={Heindl}, location={RN1}, day={Th}, time={12:30-13:30}, offset=0.5, scale width=0.5]
+% \lecture[title={TestingLectureLongOne}, speaker={Heindl}, location={\zoom}, day={T}, time={12:30-13:30}, prio={\phigh}]
+% \hspace*{-.2\textwidth}
+% \end{timetable}
+%
+% \subsection{Calendar related things}
+% Now some environments and commands come which in generally are being used
+% to typeset a table with the detailed information, but which also store
+% the gathered data internally.\\
+% This saved data can be used to output a calendar where the events (from
+% the saved data) are highlighted with a mark (already passed days are
+% crossed and the current day is highlighted as well).
+%
+% The different environments described below are similar in general, but
+% differ in detail (mostly the list of argument that are passed and printed
+% in the table).
+%
+% \newpage
+% \paragraph{Example}\mbox{}\\
+% |\begin{appointments}{true}|\\
+% | \appointment[print=true,shift=false,tikz={fill=black,rectangle},|\\
+% | date={2022-04-15}, course={Appointment with my dog},|\\
+% | end={2022-04-18}, period={1}]|\\
+% | \appointment[date={2022-04-14}, course={Appointment with my dog},|\\
+% | room={at home}, time={12:00}, prio={\pmandatory}]|\\
+% |\end{appointments}|\\
+% |\begin{exams}{false}|\\
+% | \exam[tikz={fill=yellow}, date={2022-06-20}, time={arround midday},|\\
+% | course={Driving}, desc={Mid-Term}, prio={\phigh},|\\
+% | room={University}, type={\oral}]|\\
+% |\end{exams}|\\
+% |\begin{deadlines}{false}|\\
+% | \deadline[tikz={fill=blue}, date={2022-06-22},|\\
+% | course={Submitting Driver-license form}, prio={\phigh}]|\\
+% |\end{deadlines}|\\
+% ||\\
+% |\printSpCalendar[2]{2022-04-01}{2022-07-31}|
+
+% \begin{appointments}{true}
+% \appointment[print=true,shift=false,tikz={fill=black,rectangle}, date={2022-04-15}, course={Appointment with my dog}, end={2022-04-18}, period={1}]
+% \appointment[date={2022-04-14}, course={Appointment with my dog}, room={at home}, time={12:00}, prio={\pmandatory}]
+% \end{appointments}
+% \begin{exams}{false}
+% \exam[tikz={fill=yellow}, date={2022-06-20}, time={arround midday}, course={Driving}, desc={Mid-Term}, prio={\phigh}, room={University}, type={\oral}]
+% \end{exams}
+% \begin{deadlines}{false}
+% \deadline[tikz={fill=blue}, date={2022-06-22}, course={Submitting Driver-license form}, prio={\phigh}]
+% \end{deadlines}
+%
+% \printSpCalendar[2]{2022-04-01}{2022-07-31}
+%
+% \DescribeMacro{\printSpCalendar} |\printSpCalendar[cols]{start_date}{end_date}|\\
+% This is the macro to output such a calendar populated with the gathered
+% events.\\
+% Use the |cols| argument to specify the amount of columns being used
+% (months set side by side).\\
+% |start_date| and |end_date| both have to be specified in the |YYYY-MM-DD|
+% format.
+%
+% \subsubsection{Appointments}
+% \DescribeEnv{appointments} |\begin{appointments}[Room]{true/false}...\end{appointments}|\\
+% Environment to typeset a table of appointments. Stores the data
+% internally to be able to typeset a calendar (with |\printSpCalendar|)
+% with a mark for each event.\\
+% The optional argument is used as header for the |Room| column (maybe for
+% some appointments another title is more suitable).\\
+% The mandatory argument which is |true/false| decides if the internally
+% stored data used to typeset the calendar is being erased before this
+% environment.
+%
+% \DescribeMacro{\appointment} |\appointment[opts]|\\
+% |opts| are optional arguments (enclosed with |{}|) separated with |,|:
+% \begin{description}
+% \item[|date|] Date of the appointment formatted as |YYYY-MM-DD|
+% \item[|course|] Name of the course
+% \item[|room|] Room (only shown in the table)
+% \item[|time|] Time of the event (free text independant of any
+% formatting, only shown in the table)
+% \item[|prio|] priority of the event (shown in the table) (see
+% \ref{icons})
+% \item[|desc|] Description of the event (shown in the table)
+% \item[|end|] upper boundary when the event should stop to repeat (with
+% |period|). Has to be set to make event periodic/repeating.
+% \item[|period|] Set the period of the repeating event.
+% \item[|draw|] |true/false| wether to draw a mark in the calendar
+% \item[|print|] |true/false| wether to display te entry in the
+% appointments table.
+% \item[|shift|] |true/false| wether to shift the mark in the calendar if
+% there is already another event on that date (to be able to see both
+% marks)
+% \item[|tikz|] Free customizable tikz code used for drawing the mark
+% in the calendar. See the documentation at the end for keys that can
+% be used here (all keys in |/cal|). To simply pass arguments to the
+% tikz-node that is being created for the event use |tikz/.append={your arguments}|\\
+% Use e.g. to set the color of the mark via |tikz/.append={green}|
+% \end{description}
+% \subsubsection{Exams}
+% \DescribeEnv{exams} |\begin{exams}{true/false}...\end{exams}|\\
+% Environment to typeset a table of exams. Stores the data
+% internally to be able to typeset a calendar (with |\printSpCalendar|)
+% with a mark for each event.\\
+% The mandatory argument which is |true/false| decides if the internally
+% stored data used to typeset the calendar is being erased before this
+% environment.
+%
+% \DescribeMacro{\exam} |\exam[opts]|\\
+% |opts| are optional arguments (enclosed with |{}|) separated with |,|:
+% \begin{description}
+% \item[|date|] Date of the exam formatted as |YYYY-MM-DD|
+% \item[|course|] Name of the course
+% \item[|room|] Room (only shown in the table)
+% \item[|type|] Type of the exam (see \ref{icons}) (intended:
+% written/oral)
+% \item[|time|] Time of the event (free text independant of any
+% formatting, only shown in the table)
+% \item[|desc|] Description of the event (shown in the table)
+% \item[|draw|] |true/false| wether to draw a mark in the calendar
+% \item[|print|] |true/false| wether to display te entry in the
+% exams table.
+% \item[|shift|] |true/false| wether to shift the mark in the calendar if
+% there is already another event on that date (to be able to see both
+% marks)
+% \item[|tikz|] Free customizable tikz code used for drawing the mark
+% in the calendar. See the documentation at the end for keys that can
+% be used here (all keys in |/cal|). To simply pass arguments to the
+% tikz-node that is being created for the event use |tikz/.append={your arguments}|\\
+% Use e.g. to set the color of the mark via |tikz/.append={green}|
+% \end{description}
+%
+% \subsubsection{Deadlines}
+% \DescribeEnv{deadlines} |\begin{deadlines}{true/false}...\end{deadlines}|\\
+% Environment to typeset a table of deadlines. Stores the data
+% internally to be able to typeset a calendar (with |\printSpCalendar|)
+% with a mark for each event.\\
+% The mandatory argument which is |true/false| decides if the internally
+% stored data used to typeset the calendar is being erased before this
+% environment.
+%
+% \DescribeMacro{\deadline} |\deadline[opts]|\\
+% |opts| are optional arguments (enclosed with |{}|) separated with |,|:
+% \begin{description}
+% \item[|date|] Date of the deadline formatted as |YYYY-MM-DD|
+% \item[|course|] Name of the course
+% \item[|prio|] priority of the event (shown in the table) (see
+% \ref{icons})
+% \item[|desc|] Description of the event (shown in the table)
+% \item[|draw|] |true/false| wether to draw a mark in the calendar
+% \item[|print|] |true/false| wether to display te entry in the
+% deadlines table.
+% \item[|shift|] |true/false| wether to shift the mark in the calendar if
+% there is already another event on that date (to be able to see both
+% marks)
+% \item[|tikz|] Free customizable tikz code used for drawing the mark
+% in the calendar. See the documentation at the end for keys that can
+% be used here (all keys in |/cal|). To simply pass arguments to the
+% tikz-node that is being created for the event use |tikz/.append={your arguments}|\\
+% Use e.g. to set the color of the mark via |tikz/.append={green}|
+% \end{description}
+%
+% \subsection{Icons}\label{icons}
+% This package defines some modified fontawesome icons (they are being
+% encircled with a white circle for better readability).\\
+% \begin{tabular}{rl|rl}
+% |\zoom| & \textcolor{DodgerBlue}{\faCamera} &
+% |\teams| & \textcolor{DodgerBlue}{\faWindows}
+% \\
+% |\BBB| & \textcolor{DodgerBlue}{\faBold} &
+% |\youtube| & \textcolor{DodgerBlue}{\faYoutubePlay}
+% \\\hline
+% |\pmandatory| & \textcolor{red}{\faWarning} &
+% |\phigh| & \textcolor{red}{\faFlag}
+% \\
+% |\pmid| & \textcolor{yellow}{\faFlag} &
+% |\plow| & \textcolor{green}{\faFlag}
+% \\
+% |\pnone| & \textcolor{gray}{\faTimesCircle}
+% \\ \hline
+% |\tbd| & \faQuestion &
+% |\tba| & \faBullhorn
+% \end{tabular}
+%
+%
+%
+% \newpage
+% \section{Implementation}
+% This package uses |semesterplannerLua| as prefix/directory where
+% possible. Since this is not possible for latex macro names, in this
+% occasions |semesterplannerLua@| is used as prefix.
+% \subsection{semesterplannerlua.sty}
+% \subsubsection{Global Stuff}
+% \begin{macrocode}
+%<*package>
+\RequirePackage{tikz}
+\usetikzlibrary{calendar, positioning, shapes.misc, backgrounds}
+\RequirePackage{pgfkeys}
+\RequirePackage{xcolor}
+\RequirePackage{fontawesome}
+\RequirePackage{luapackageloader} % use the default lua path as well
+% \end{macrocode}
+% Define some colors for the course types (can be globally overwritten)
+% \begin{macrocode}
+\definecolor{seminar}{rgb}{1.0, 0.8, 0.0}
+\definecolor{lecture}{rgb}{0.2, 0.7, 1.0}
+\definecolor{tutorial}{rgb}{0.0, 0.8, 0.0}
+\definecolor{meeting}{rgb}{0.8, 0.0, 0.0}
+\definecolor{officehour}{rgb}{0.0, 0.4, 0.6}
+\definecolor{DodgerBlue}{HTML}{1E90FF}
+% \end{macrocode}
+% \begin{macro}{\semesterplannerLua@encircle}
+% This macro puts a circle arround its argument for better readability. In
+% this package this is used for the fontawesome symbols.
+% \begin{macrocode}
+ \newcommand*{\semesterplannerLua@encircle}[1]{
+ \begin{minipage}[b][1em][c]{1.5em}
+ \begin{tikzpicture}
+ \node[fill,circle,inner sep=1pt, color = white] {#1};
+ \end{tikzpicture}
+ \end{minipage}
+ }
+% \end{macrocode}
+% \end{macro}
+% Commands for exams
+% \begin{macro}{\oral}
+% \begin{macrocode}
+\protected\def\oral{\faComment}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\written}
+% \begin{macrocode}
+\protected\def\written{\faPencil}
+% \end{macrocode}
+% \end{macro}
+% Commands for symbols of priority
+% \begin{macro}{\pmandatory}
+% \begin{macrocode}
+ \protected\def\pmandatory{\semesterplannerLua@encircle{\textcolor{red}{\faWarning}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\phigh}
+% \begin{macrocode}
+ \protected\def\phigh{\semesterplannerLua@encircle{\textcolor{red}{\faFlag}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pmid}
+% \begin{macrocode}
+ \protected\def\pmid{\semesterplannerLua@encircle{\textcolor{yellow}{\faFlag}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\plow}
+% \begin{macrocode}
+ \protected\def\plow{\semesterplannerLua@encircle{\textcolor{green}{\faFlag}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pnone}
+% \begin{macrocode}
+ \protected\def\pnone{\semesterplannerLua@encircle{\textcolor{gray}{\faTimesCircle}}}
+% \end{macrocode}
+% \end{macro}
+
+% Commands for online platforms.
+% \begin{macro}{\teams}
+% \begin{macrocode}
+ \protected\def\teams{\semesterplannerLua@encircle{\textcolor{DodgerBlue}{\faWindows}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\zoom}
+% \begin{macrocode}
+ \protected\def\zoom{\semesterplannerLua@encircle{\textcolor{DodgerBlue}{\faCamera}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\youtube}
+% \begin{macrocode}
+ \protected\def\youtube{\semesterplannerLua@encircle{\textcolor{red}{\faYoutubePlay}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BBB}
+% \begin{macrocode}
+ \protected\def\BBB{\semesterplannerLua@encircle{\textcolor{DodgerBlue}{\faBold}}}
+% \end{macrocode}
+% \end{macro}
+
+% Command for "To be determined" and "To be Announced"
+% \begin{macro}{\tbd}
+% \begin{macrocode}
+ \protected\def\tbd{\faQuestion}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\tba}
+% \begin{macrocode}
+ \protected\def\tba{\faBullhorn}
+% \end{macrocode}
+% \end{macro}
+
+
+% Load the lua modules
+% \begin{macrocode}
+\directlua{sp = require("semesterplannerLua_timetable.lua")}
+\directlua{cal = require("semesterplannerLua_calendar.lua")}
+% \end{macrocode}
+% Set all the pgfkeys required for the arguments. To achieve that the
+% defaults are restored every time the environment is used, this is
+% inside the environment definition. This of course disables all
+% possibilities of setting a global default but enables setting local
+% defaults for the events
+% \begin{macrocode}
+ \pgfkeys{
+% \end{macrocode}
+% |/semesterplannerLua| will be the pgf-path used for this package. Here
+% all used keys are set (and initialized with defaults. |timetable/env/|:
+% \begin{description}
+% \item[|days|] is a list of
+% strings representing the header names for the day columns in the
+% timetable (adding Sat and Sun (additional entries) will result in
+% two more columns.
+% \item[|start time|] can be used to set a fixed time where the timetable
+% starts (otherwise this is calculated from the entries) to enable
+% this behaviour this key has to be set to |HH*60 + MM| (easy way
+% is by using |start time/.evaluated={HH*60+MM}|)
+% \item[|end time|] equivalent to |start time|
+% \item[|width|] is
+% the horizontal width of the timetable (not including the column
+% headers on the top) this can be a latex length string or
+% |\textwidth| as well.
+% \item[|length|] is the vertical length of the
+% timetable (not including the clock labels on the side)
+% measured in cm (in future versions this may become measured in
+% pts for better interaction with the LaTeX lengths.
+% \end{description}
+% \begin{macrocode}
+ /semesterplannerLua/timetable/env/.cd,
+ days/.initial={Mon,Thue,Wend,Thur,Fri}, days/.default={Mon,Thue,Wend,Thur,Fri},
+ dayse/.initial={M,T,W,Th,F}, dayse/.default={M,T,W,Th,F},
+ %
+ start time/.initial=, start time/.default=,
+ end time/.initial=, end time/.default=,
+ %
+ width/.initial=\textwidth, width/.default=\textwidth,
+ length/.initial=10, length/.default=10,
+ %
+% \end{macrocode}
+% |timetable/event/|:
+% \begin{description}
+% \item[|content|] is the content of the event (is passed on without any
+% formatting). Since this is passed to lua without modification
+% its value must be an unexpanded string (lua will simply print
+% it so the eventually the string will be evaluated)
+% \item[|time|] is a |HH:MM-HH:MM| string representing start- and
+% end-time of the event. Used in constructing the content as well
+% \item[|day|] is either |M|,|T|,|W|,|Th| or |F| specifying the day on
+% which the event takes place
+% \item[|tikz|] this key allows the user to manually pass options to the
+% node created for this event
+% \item[|scale width|] allows to scale the width of the event to be able
+% to draw overlapping events besides each other. Will usually be a
+% value between |0| and |1|.
+% \item[|offset|] same goal like |scale width| but shifts the event node
+% by the given value to the right. (Given as value between |0| and
+% |1| indicating how many columns the event should be shifted)
+% \item[|textcolor|] foreground color of the content text
+% \item[|title|] title (set in bold by default)
+% \item[|speaker|]
+% \item[|location|]
+% \item[|prio|]
+% \item[|formatter|] this is special
+% \end{description}
+% \begin{macrocode}
+ /semesterplannerLua/timetable/event/.cd,
+ % event arguments
+ content/.initial=, content/.default=,
+ %
+ time/.initial=, time/.default=,
+ day/.initial=, day/.default=,
+ %
+ tikz/.initial=, tikz/.default=,
+ scale width/.initial=1, scale width/.default=1,
+ offset/.initial=0, offset/.default=0,
+ %
+ textcolor/.initial=, textcolor/.default=,
+ title/.initial=, title/.default=,
+ speaker/.initial=, speaker/.default=,
+ location/.initial=, location/.default=,
+ password/.initial=, password/.default=,
+ prio/.initial=, prio/.default=,
+ type/.initial=, type/.default=,
+ formatter/.initial=timetableformatter, formatter/.default=timetableformatter,
+ %
+% \end{macrocode}
+% |calendar/|:
+% \begin{description}
+% \item[|draw|]
+% \item[|room|]
+% \item[|prio|]
+% \item[|course|]
+% \item[|desc|]
+% \item[|start|]
+% \item[|end|]
+% \item[|tikz|]
+% \item[|period|]
+% \item[|shift|]
+% \item[|print|] Only makes sence if the command is suffixed by a |%|
+% otherwise somehow a space gets inserted (eventhough the |%| is
+% inserted from lua as well
+% \end{description}
+% \begin{macrocode}
+ /semesterplannerLua/calendar/.cd,
+ draw/.initial={true}, draw/.default={true},
+ room/.initial={}, room/.default={},
+ time/.initial={}, time/.default={},
+ prio/.initial={}, prio/.default={},
+ course/.initial={}, course/.default={},
+ desc/.initial={}, desc/.default={},
+ type/.initial={}, type/.default={},
+ date/.initial={}, date/.default={},
+ end/.initial={}, end/.default={},
+ tikz/.initial={}, tikz/.default={},
+ period/.initial={nil}, period/.default={nil},
+ shift/.initial={true}, shift/.default={true},
+ print/.initial={true}, print/.default={true},
+ }
+% \end{macrocode}
+%
+% \subsection{Tikz Calendar add weekday labels}
+% \begin{macrocode}
+\tikzoption{day headings}{\tikzstyle{day heading}=[#1]}
+\tikzstyle{day heading}=[]
+\tikzstyle{day letter headings}=[
+ execute before day scope={ \ifdate{day of month=1}{%
+ \pgfmathsetlength{\pgf@ya}{\tikz@lib@cal@yshift}%
+ \pgfmathsetlength\pgf@xa{\tikz@lib@cal@xshift}%
+ \pgftransformyshift{-\pgf@ya}
+ \foreach \d/\l in {0/M,1/T,2/W,3/T,4/F,5/S,6/S} {
+ \pgf@xa=\d\pgf@xa%
+ \pgftransformxshift{\pgf@xa}%
+ \pgftransformyshift{\pgf@ya}%
+ \node[every day,day heading]{\l};%
+ }
+ }{}%
+ }%
+]
+% \end{macrocode}
+%
+% \subsubsection{Local Stuff (timetable-env local)}
+% \begin{environment}{timetable}
+% This is the environment doing all the stuff. To gate the positions where
+% the corresponding macros can be used (and in terms of pgfkeys for reasons
+% of default values) all the macros used are put into the environment.
+% \begin{macrocode}
+\newenvironment{timetable}[1][]{
+ \section*{\faClockO~Timetable}
+% \end{macrocode}
+%
+% Read the argumens given by the user after restoring the defaults
+% (Restoring currently makes no sense, since they are created a few
+% lines above anyways, but creation might be moved outside the
+% environment some day.\\
+% Afterwards the lua module is beeing initialized (erase data from
+% possible previous runs.
+% \begin{macrocode}
+ \pgfkeys{/semesterplannerLua/timetable/env/.cd, days,dayse, start time,end time, width,length, #1}
+ \directlua{sp.init{
+ days=[[\pgfkeysvalueof{/semesterplannerLua/timetable/env/days}]],
+ min=[[\pgfkeysvalueof{/semesterplannerLua/timetable/env/start time}]],
+ max=[[\pgfkeysvalueof{/semesterplannerLua/timetable/env/end time}]],
+ dayse=[[\pgfkeysvalueof{/semesterplannerLua/timetable/env/dayse}]]}}
+% \end{macrocode}
+% \begin{macro}{\semesterplannerLua@event}
+% Is used to pass the event to the lua engine which in turn will collect
+% the event to draw it in the end. For that the arguments given are parsed
+% after restoring the pgf keys to their default values. The optional
+% argument herby is a sequence of pgf keys, the second argument is
+% a string representing the content (this MUST be unexpanded since
+% this is passed to lua which in turn will pass it unmodified back)
+% \begin{macrocode}
+ \newcommand{\semesterplannerLua@event}[1][]{
+ \pgfkeys{/semesterplannerLua/timetable/event/.cd,content,time,day,tikz,scale
+ width,offset,textcolor,title,speaker,type,location,password,prio,formatter, ##1}
+ \directlua{
+ sp.addEvent{
+ time="\pgfkeysvalueof{/semesterplannerLua/timetable/event/time}",
+ day="\pgfkeysvalueof{/semesterplannerLua/timetable/event/day}",
+ tikz=[[\pgfkeysvalueof{/semesterplannerLua/timetable/event/tikz}]],
+ offset=\pgfkeysvalueof{/semesterplannerLua/timetable/event/offset},
+ scale_width=\pgfkeysvalueof{/semesterplannerLua/timetable/event/scale width},
+ formatter=\pgfkeysvalueof{/semesterplannerLua/timetable/event/formatter},
+ textcolor=[[\pgfkeysvalueof{/semesterplannerLua/timetable/event/textcolor}]],
+ title=[[\pgfkeysvalueof{/semesterplannerLua/timetable/event/title}]],
+ speaker=[[\pgfkeysvalueof{/semesterplannerLua/timetable/event/speaker}]],
+ location=[[\pgfkeysvalueof{/semesterplannerLua/timetable/event/location}]],
+ password=[[\pgfkeysvalueof{/semesterplannerLua/timetable/event/password}]],
+ prio=[[\pgfkeysvalueof{/semesterplannerLua/timetable/event/prio}]],
+ type=[[\pgfkeysvalueof{/semesterplannerLua/timetable/event/type}]],
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% Short-hand macros for different events using the corresponding
+% background color
+%
+% \begin{macro}{\lecture}
+% \begin{macrocode}
+ \newcommand{\lecture}[1][]{
+ \semesterplannerLua@event[tikz={fill=lecture,}, textcolor=white, type=lect, ##1]
+ \ignorespaces
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\seminar}
+% \begin{macrocode}
+ \newcommand{\seminar}[1][]{
+ \semesterplannerLua@event[tikz={fill=seminar,}, textcolor=white, type=sem, ##1]
+ \ignorespaces
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\tutorial}
+% \begin{macrocode}
+ \newcommand{\tutorial}[1][]{
+ \semesterplannerLua@event[tikz={fill=tutorial,}, textcolor=white, type=tut, ##1]
+ \ignorespaces
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\meeting}
+% \begin{macrocode}
+ \newcommand{\meeting}[1][]{
+ \semesterplannerLua@event[tikz={fill=meeting,}, textcolor=white, type=meet, ##1]
+ \ignorespaces
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\officehour}
+% \begin{macrocode}
+ \newcommand{\officehour}[1][]{
+ \semesterplannerLua@event[tikz={fill=officehour,}, textcolor=white, type=office, ##1]
+ \ignorespaces
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+}{
+% \end{macrocode}
+% At the end of the environment after all events have been collected,
+% generate and output the tikz code needed to draw the timetable.
+% \begin{macrocode}
+ \directlua{sp.draw(
+ [[\pgfkeysvalueof{/semesterplannerLua/timetable/env/length}]],
+ [[\pgfkeysvalueof{/semesterplannerLua/timetable/env/width}]])}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macrocode}
+
+% \end{macrocode}
+% \begin{macro}{printSpCalendar}
+% Print a calendar from startDate to endDate (encoded as YYYY-MM-DD) as
+% one calendar per month in a matrix with the given amount of columns
+% \begin{macrocode}
+\newcommand{\printSpCalendar}[3][3]{\directlua{cal.drawCalendar("#2", "#3", #1)}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+
+\newenvironment{appointments}[2][Room]{
+ \directlua{cal.init(#2)}
+ \newcommand{\appointment}[1][]{%
+ \pgfkeys{/semesterplannerLua/calendar/.cd,draw,room,time,prio,course,desc,date,end,tikz,period,type,shift,print, ##1}%
+ \directlua{
+ cal.addAppointment{draw=\pgfkeysvalueof{/semesterplannerLua/calendar/draw},
+ room=[[\pgfkeysvalueof{/semesterplannerLua/calendar/room}]],
+ time=[[\pgfkeysvalueof{/semesterplannerLua/calendar/time}]],
+ prio=[[\pgfkeysvalueof{/semesterplannerLua/calendar/prio}]],
+ course=[[\pgfkeysvalueof{/semesterplannerLua/calendar/course}]],
+ desc=[[\pgfkeysvalueof{/semesterplannerLua/calendar/desc}]],
+ date=[[\pgfkeysvalueof{/semesterplannerLua/calendar/date}]],
+ endDate=[[\pgfkeysvalueof{/semesterplannerLua/calendar/end}]],
+ tikz=[[\pgfkeysvalueof{/semesterplannerLua/calendar/tikz}]],
+ period=\pgfkeysvalueof{/semesterplannerLua/calendar/period},
+ shift=\pgfkeysvalueof{/semesterplannerLua/calendar/shift},
+ print=\pgfkeysvalueof{/semesterplannerLua/calendar/print}}}%
+ \ignorespaces
+ }
+ \section*{\faCalendar~Appointments}
+ \begin{tabular}{rlllll}
+ \textbf{Date}&\textbf{Time}&\textbf{Course}&\textbf{Description}&\textbf{#1}&\textbf{Prio.}\\
+}{
+ \end{tabular}
+}
+
+\newenvironment{exams}[1]{
+ \directlua{cal.init(#1)}
+ \newcommand{\exam}[1][]{%
+ \pgfkeys{/semesterplannerLua/calendar/.cd,draw,room,time,prio,course,desc,date,end,tikz,period,type,shift,print, ##1}%
+ \directlua{
+ cal.addExam{
+ draw=\pgfkeysvalueof{/semesterplannerLua/calendar/draw},
+ room=[[\pgfkeysvalueof{/semesterplannerLua/calendar/room}]],
+ time=[[\pgfkeysvalueof{/semesterplannerLua/calendar/time}]],
+ course=[[\pgfkeysvalueof{/semesterplannerLua/calendar/course}]],
+ desc=[[\pgfkeysvalueof{/semesterplannerLua/calendar/desc}]],
+ date=[[\pgfkeysvalueof{/semesterplannerLua/calendar/date}]],
+ tikz=[[\pgfkeysvalueof{/semesterplannerLua/calendar/tikz}]],
+ type=[[\pgfkeysvalueof{/semesterplannerLua/calendar/type}]],
+ shift=\pgfkeysvalueof{/semesterplannerLua/calendar/shift},
+ print=\pgfkeysvalueof{/semesterplannerLua/calendar/print}}}%
+ \ignorespaces
+ }
+ \section*{\faStickyNoteO~Exams}
+ \begin{tabular}{rllll}
+ \textbf{Date}&\textbf{Time}&\textbf{Course}&\textbf{Type}&\textbf{Note}\\
+}{
+ \end{tabular}
+}
+
+\newenvironment{deadlines}[1]{
+ \directlua{cal.init(#1)}
+ \newcommand{\deadline}[1][]{%
+ \pgfkeys{/semesterplannerLua/calendar/.cd,draw,room,time,prio,course,desc,date,end,tikz,period,type,shift,print, ##1}%
+ \directlua{
+ cal.addDeadline{
+ draw=\pgfkeysvalueof{/semesterplannerLua/calendar/draw},
+ course=[[\pgfkeysvalueof{/semesterplannerLua/calendar/course}]],
+ desc=[[\pgfkeysvalueof{/semesterplannerLua/calendar/desc}]],
+ date=[[\pgfkeysvalueof{/semesterplannerLua/calendar/date}]],
+ tikz=[[\pgfkeysvalueof{/semesterplannerLua/calendar/tikz}]],
+ prio=[[\pgfkeysvalueof{/semesterplannerLua/calendar/prio}]],
+ shift=\pgfkeysvalueof{/semesterplannerLua/calendar/shift},
+ print=\pgfkeysvalueof{/semesterplannerLua/calendar/print}}}%
+ \ignorespaces
+ }
+ \section*{\faStickyNoteO~Deadlines}
+ \begin{tabular}{rlll}
+ \textbf{Date}&\textbf{Course}&\textbf{Description}&\textbf{Prio}\\
+}{
+ \end{tabular}
+}
+% \end{macrocode}
+\endinput
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput
diff --git a/macros/luatex/latex/semesterplannerlua/semesterplannerlua.ins b/macros/luatex/latex/semesterplannerlua/semesterplannerlua.ins
new file mode 100644
index 0000000000..d6815fbc1b
--- /dev/null
+++ b/macros/luatex/latex/semesterplannerlua/semesterplannerlua.ins
@@ -0,0 +1,59 @@
+%% Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
+%% --------------------------------------------------------------------------
+%% 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 Lukas Heindl.
+%%
+%% This work consists of the files semesterplannerlua.dtx and semesterplannerlua.ins
+%% and the derived filebase semesterplannerlua.sty.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/semesterplannerLua}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
+--------------------------------------------------------------------------
+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.
+
+\endpreamble
+
+\generate{
+ \file{semesterplannerlua.sty}{\from{semesterplannerlua.dtx}{package}}
+}
+
+\obeyspaces
+\Msg{***********************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* semesterplannerlua.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file semesterplannerlua.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{***********************************************************************}
+
+\endbatchfile
diff --git a/macros/luatex/latex/semesterplannerlua/semesterplannerlua.pdf b/macros/luatex/latex/semesterplannerlua/semesterplannerlua.pdf
new file mode 100644
index 0000000000..40ee78f8a3
--- /dev/null
+++ b/macros/luatex/latex/semesterplannerlua/semesterplannerlua.pdf
Binary files differ
diff --git a/macros/luatex/latex/semesterplannerlua/semesterplannerlua_calendar.lua b/macros/luatex/latex/semesterplannerlua/semesterplannerlua_calendar.lua
new file mode 100644
index 0000000000..f2fa0e5e32
--- /dev/null
+++ b/macros/luatex/latex/semesterplannerlua/semesterplannerlua_calendar.lua
@@ -0,0 +1,132 @@
+local dateLib = require "date"
+function init(clear)
+ -- clean up first
+ -- global variable
+ if clear then
+ EVENTS = {}
+ end
+end
+
+text = {
+ print = function(s)
+ -- print("\"" .. s .. "\"")
+ tex.print(s)
+ end
+}
+
+function genDot(opts)
+ dot = ""
+ if opts.draw then
+ dot = string.format([[\tikz[baseline=(X.base)]\node (X) [fill opacity=.5,fill=red,circle,inner sep=0mm, %s] {\phantom{D}};]], opts.tikz)
+ end
+ return dot
+end
+
+function addEvent(opts)
+ opts.inputlineno = tex.inputlineno
+ -- print(string.format("collecting from line %d", opts.inputlineno))
+ if opts.draw then
+ assert(opts.date ~= nil and opts.tikz ~= nil, "date and tikz has to be given")
+ if opts.endDate == nil or opts.endDate == '' then
+ table.insert(EVENTS, {shift=opts.shift,date=dateLib(opts.date), tikz=opts.tikz, period=opts.period, endDate=nil, inputlineno=opts.inputlineno})
+ else
+ table.insert(EVENTS, {shift=opts.shift,date=dateLib(opts.date), tikz=opts.tikz, period=opts.period, endDate=dateLib(opts.endDate), inputlineno=opts.inputlineno})
+ end
+ end
+end
+
+function addAppointment(opts)
+ addEvent(opts)
+ dot = genDot(opts)
+ if opts.print then
+ tex.sprint(string.format([[\textit{%s} & %s & %s%s & %s & %s & %s\\]], opts.date, opts.time, dot, opts.course, opts.desc, opts.room, opts.prio))
+ else
+ tex.sprint("%")
+ end
+end
+
+function addExam(opts)
+ addEvent(opts)
+ dot = genDot(opts)
+ if opts.print then
+ tex.sprint(string.format([[\textit{%s} & %s & %s%s & %s & %s \\]], opts.date, opts.time, dot, opts.course, opts.type, opts.desc))
+ else
+ tex.sprint("%")
+ end
+end
+
+function addDeadline(opts)
+ addEvent(opts)
+ dot = genDot(opts)
+ if opts.print then
+ tex.sprint(string.format([[\textit{%s} & %s%s & %s & %s \\]], opts.date, dot, opts.course, opts.desc, opts.prio))
+ else
+ tex.sprint("%")
+ end
+end
+
+function drawCalendar(minDate, maxDate, cols)
+ minDate = dateLib(minDate)
+ maxDate = dateLib(maxDate)
+ text.print([[\begin{tikzpicture}[every calendar/.style={day headings=red!50,day letter headings,inner sep=2pt, week list, month label above centered, month text={\textcolor{red}{\%mt} \%y-}, every month/.style={yshift=3ex}}] ]])
+ text.print([[\matrix[column sep=1em, row sep=1em]{]])
+ local i = 1
+ running = true
+ while running do
+ -- derive end from start, then check if maxDate is reached
+ endDate = minDate:copy():addmonths(1):setday(1):adddays(-1)
+ if endDate >= maxDate then
+ endDate = maxDate
+ running = false
+ end
+ text.print(string.format(
+ [[\calendar (%04d-%02d) [dates=%04d-%02d-%02d to %04d-%02d-%02d] if (Sunday) [red] if (Saturday) [red!50!white] if (equals=\year-\month-\day) [nodes={inner sep=.25em,rectangle,line width=1pt,draw}] if (at least=\year-\month-\day) {} else [nodes={strike out, draw}]; ]],
+ minDate:getyear(), minDate:getmonth(), minDate:getyear(), minDate:getmonth(), minDate:getday(), endDate:getyear(), endDate:getmonth(), endDate:getday()))
+
+ minDate:addmonths(1)
+ minDate:setday(1)
+
+ if i % cols == 0 or not running then
+ text.print([[\\]])
+ else
+ text.print([[&]])
+ end
+ i = i + 1
+ end
+ text.print([[ }; ]])
+
+ local usedDates = {}
+ text.print([[\begin{scope}[on background layer] ]])
+ for i,ele in ipairs(EVENTS) do
+ -- print(string.format("Drawing item from line %d", ele.inputlineno))
+ while ele.date <= maxDate and (ele.endDate == nil or ele.date <= ele.endDate) do
+ local xshift = 0
+ if ele.shift then
+ if usedDates[tostring(ele.date)] ~= nil then
+ xshift = math.ceil(usedDates[tostring(ele.date)] / 2)
+ if usedDates[tostring(ele.date)] % 2 == 0 then
+ xshift = -xshift
+ end
+ usedDates[tostring(ele.date)] = usedDates[tostring(ele.date)] + 1
+ else
+ usedDates[tostring(ele.date)] = 1
+ end
+ end
+ text.print(string.format([[\node[xshift=%d mm, fill opacity=.5,fill=red,circle,text width=0ex,inner sep=1.1ex, %s] at (%04d-%02d-%04d-%02d-%02d) {};]],
+ xshift, ele.tikz, ele.date:getyear(), ele.date:getmonth(), ele.date:getyear(), ele.date:getmonth(), ele.date:getday()))
+ if ele.period == nil then break end
+ ele.date:adddays(ele.period)
+ end
+ end
+ text.print([[\end{scope}]])
+ text.print([[\end{tikzpicture}]])
+end
+
+semesterplannerLuaCal = {
+ init = init,
+ addAppointment = addAppointment,
+ addDeadline = addDeadline,
+ addExam = addExam,
+ drawCalendar = drawCalendar,
+}
+return semesterplannerLuaCal
diff --git a/macros/luatex/latex/semesterplannerlua/semesterplannerlua_dmenu.lua b/macros/luatex/latex/semesterplannerlua/semesterplannerlua_dmenu.lua
new file mode 100644
index 0000000000..d267d68071
--- /dev/null
+++ b/macros/luatex/latex/semesterplannerlua/semesterplannerlua_dmenu.lua
@@ -0,0 +1,156 @@
+#!/usr/bin/env texlua
+
+----------------------
+-- HELPER_FUNCTIONS --
+----------------------
+local function check_installed(prog)
+ local r = os.execute("which " .. prog .. "&> /dev/null")
+ return r
+end
+
+local function help()
+ print("Displays a dmenu prompt with the last, current and next events and copies location/url [+password] to the clipboard")
+ print()
+ print("USAGE:")
+ print(string.format("\t%s dataFile [ignoreType ...]", arg[0]))
+ print()
+ print("OPTIONS:")
+ print()
+ print("ARGS:")
+ print(string.format("\t%-12s\t%s", "<dataFile>", "path to the input csv file with 'start', 'end', 'title', 'location', 'password', 'type' headers (not written in the file)"))
+ print(string.format("\t%-12s\t%s", "", "location may contain '\\href{location}{url}' in which casethe two fields are extracted"))
+ print(string.format("\t%-12s\t%s", "<ignoreType>", "entries with that type are ignored"))
+end
+
+local function dur2str(dur)
+ return string.format("%02d:%02d", dur//60, dur%60)
+end
+
+local function contains(t, ele)
+ for _,v in pairs(t) do
+ if v == ele then return true end
+ end
+ return false
+end
+
+-------------------
+-- PREREQUISITES --
+-------------------
+if not check_installed("dmenu") then
+ print("Error: dmenu has to be installed (options -l, -i and -p required, but these are in the default anyway)")
+ os.exit(-1)
+end
+if not check_installed("xsel") then
+ print("Error: xsel has to be installed")
+ os.exit(-1)
+end
+
+if #arg < 1 then
+ print("Error: At least one argument has to be given")
+ print()
+ help()
+ os.exit(-1)
+end
+if arg[1] == "-h" or arg[1] == "--help" then
+ help()
+ os.exit(0)
+end
+
+local type_exclude = {}
+for i=1,#arg do
+ table.insert(type_exclude, arg[i])
+end
+
+-----------
+-- MAIN --
+----------
+
+local maxes = {title=0, location=0, type=0}
+
+local before = {diff=25*60*7}
+local after = {diff=25*60*7}
+
+local c = {}
+
+local current = os.date("*t")
+local today = tonumber(os.date("%u")) - 1
+current.minutes = current.min + (today*24 + current.hour)*60
+
+local inputs = loadfile(arg[1], "t", {})() -- easy loading comes with the disadvantage that arbitrary code which is in that file gets executed
+for _,ele in ipairs(inputs) do
+ if not contains(type_exclude, ele["type"]) then
+ ele.start, ele["end"] = tonumber(ele.start), tonumber(ele["end"])
+ ele.url = ele.location:match([[\href ?{(.*)}{.*}]])
+ ele.location = ele.location:match([[\href ?{.*}{(.*)}]]) or ele.location
+
+ if maxes.title < #ele.title then maxes.title = #ele.title end
+ if maxes.location < #ele.location then maxes.location = #ele.location end
+ if maxes.type < #ele.type then maxes.type = #ele.type end
+
+ if current.minutes > ele.start and current.minutes < ele["end"] then
+ ele.diff = current.minutes-ele["start"]
+ table.insert(c, ele)
+ elseif current.minutes < ele.start then
+ if ele.start - current.minutes < before.diff then
+ before = {diff=ele.start-current.minutes}
+ end
+ if ele.start - current.minutes <= before.diff then
+ ele.diff = before.diff
+ table.insert(before, ele)
+ end
+ elseif current.minutes > ele["end"] then
+ if current.minutes - ele["end"] < after.diff then
+ after = {diff=current.minutes-ele["end"]}
+ end
+ if current.minutes - ele["end"] <= after.diff then
+ ele.diff = after.diff
+ table.insert(after, ele)
+ end
+ end
+ end
+end
+
+maxes = {title=maxes.title < 100 and maxes.title or 99, location=maxes.location < 100 and maxes.location or 99, type=maxes.type < 100 and maxes.type or 99}
+
+local dmenu_in,map = {},{}
+for _,x in ipairs(after) do
+ local s = string.format("%-".. maxes.title+1+maxes.type .."s %-".. maxes.location+2 .."s # ended %s ago", x.title.."-"..x.type, "("..x.location..")", dur2str(x.diff))
+ table.insert(dmenu_in, s)
+ map[s] = x
+end
+
+for _,x in ipairs(c) do
+ local s = string.format("%-".. maxes.title+1+maxes.type .."s %-".. maxes.location+2 .."s # began %s ago", x.title.."-"..x.type, "("..x.location..")", dur2str(x.diff))
+ table.insert(dmenu_in, s)
+ map[s] = x
+end
+
+for _,x in ipairs(before) do
+ local s = string.format("%-".. maxes.title+1+maxes.type .."s %-".. maxes.location+2 .."s # begins in %s", x.title.."-"..x.type, "("..x.location..")", dur2str(x.diff))
+ table.insert(dmenu_in, s)
+ map[s] = x
+end
+
+local dmenu_ins = table.concat(dmenu_in, "\n")
+
+print(dmenu_ins)
+-- TODO check for forbidden strings in dmenu_in
+local proc = io.popen(string.format("echo '%s' | dmenu -i -l %d -p 'Select entry'", dmenu_ins, #dmenu_in), "r")
+local dmenu_out = proc:read("l")
+if not dmenu_out then
+ os.execute("notify-send 'Uni' 'Nothing selected'")
+ os.exit()
+end
+
+local sel = map[dmenu_out]
+assert(sel, "Error building/reading the lookup table")
+if sel.url and sel.url ~= "" then
+ os.execute(string.format("echo -n '%s' | xsel -b && notify-send -h string:x-canonical-private-synchronous:uni 'Uni' 'Copied URL to clipboard'", sel.url))
+elseif sel.location and sel.location ~= "" then
+ os.execute(string.format("echo -n '%s' | xsel -b && notify-send -h -- string:x-canonical-private-synchronous:uni 'Uni' 'Copied URL to clipboard'", sel.location))
+ os.execute(string.format("echo -n 'https://portal.mytum.de/campus/roomfinder/search_room_results?searchstring=%s&building=Alle&search=Suche+starten' | xsel -b && notify-send -h string:x-canonical-private-synchronous:uni 'Uni' 'Copied Roomfinder-url to clipboard'", sel.location))
+end
+
+if sel.password and sel.password ~= "" then
+ os.execute(string.format("sleep 3 && echo -n '%s' | xsel -b && notify-send -h string:x-canonical-private-synchronous:uni 'Uni' 'Copied password to clipboard'", sel.password))
+end
diff --git a/macros/luatex/latex/semesterplannerlua/semesterplannerlua_timetable.lua b/macros/luatex/latex/semesterplannerlua/semesterplannerlua_timetable.lua
new file mode 100644
index 0000000000..049644d291
--- /dev/null
+++ b/macros/luatex/latex/semesterplannerlua/semesterplannerlua_timetable.lua
@@ -0,0 +1,233 @@
+function init(opts)
+ tex.print([[\newwrite\timetableATdataOutput \immediate\openout\timetableATdataOutput=\jobname-data.dat]])
+ tex.print([[\immediate\write\timetableATdataOutput{return \iftrue\string{\else}\fi}]])
+ if(not checkKeys(opts, {"days", "min", "max", "dayse"})) then
+ error("missing argument")
+ end
+ -- clean up first
+ -- global variables
+ EVENTS={}
+ DAYS = prepareDays(opts.days) -- header with names of the days set from tex currently
+ DAYSE = prepareDays(opts.dayse) -- day representation in source code
+ MIN = 25*60 -- bigger than any allowed value could be
+ MAX = 0
+ MIN_BYPASS = false -- weather min is fixed by the user
+ MAX_BYPASS = false -- weather max is fixed by the user
+
+ if(opts.min == "") then
+ else
+ assert(opts.min:match("^%d+"), "start time has to be an integer representing the HH*60+MM of the desired start time")
+ MIN = tonumber(opts.min)
+ MIN_BYPASS = true
+ end
+
+ if(opts.max == "") then
+ else
+ assert(opts.max:match("^%d+"), "end time has to be an integer representing the HH*60+MM of the desired end time")
+ MAX = tonumber(opts.max)
+ MAX_BYPASS = true
+ end
+end
+
+function defaultFormatter(opts)
+ local ret = ""
+ for k,v in pairs(opts) do
+ if type(k) == "string" then k = k:gsub("[_^]", "") end
+ if type(v) == "string" then v = v:gsub("[_^]", "") end
+ ret = string.format("%s, %s: %s", ret, tostring(k), tostring(v))
+ end
+ -- print(ret)
+ return ret
+end
+
+function timetableformatter(opts)
+ return string.format(
+ [[\textcolor{%s}{\textbf{%s}\\[.2em]\raggedright{%s}\\[0.5em]\raggedright{%s}\hfil\raggedright{%s}\\[0.5em]\raggedright{%s}}]],
+ opts.textcolor, opts.title, opts.speaker, opts.prio, opts.location, opts.time)
+end
+-- result are the global variables EVENTS, MIN and MAX
+function addEvent(opts)
+ -- print("Reading event on line ", tex.inputlineno)
+ opts.inputlineno = tex.inputlineno
+ if(not checkKeys(opts, {"time", "day", "tikz"})) then
+ error("missing argument")
+ end
+
+ if opts.content == nil then
+ if opts.formatter == nil then
+ opts.content = defaultFormatter(opts)
+ else
+ opts.content = opts.formatter(opts)
+ end
+ end
+
+ opts.from,opts.to = dur2Int(opts.time)
+
+ tex.print(string.format(
+ [[\immediate\write\timetableATdataOutput{\unexpanded{{["start"]=%q, ["end"]=%q, ["title"]=%q, ["location"]=%q, ["password"]=%q, ["type"]=%q},}}]],
+ opts.from + 24*60*day2Int(opts.day),
+ opts.to + 24*60*day2Int(opts.day),
+ opts.title,
+ opts.location:match([[\href{(.*)}{.*}]]) or opts.location,
+ opts.password,
+ opts.type
+ ))
+
+ if(not MIN_BYPASS and opts.from < MIN) then MIN = opts.from end
+ if(not MAX_BYPASS and opts.to > MAX) then MAX = opts.to end
+ assert(opts.from < opts.to, "From has to be before to")
+
+ table.insert(EVENTS, opts)
+end
+-- parameters are all global variables
+function draw(length, width)
+ -- copy relevant variables for working on local copies
+ local events = copy_array(EVENTS)
+ local days = copy_array(DAYS)
+ local min, minH, max, maxH = prepareMinMax(MIN, MAX)
+
+ assert(length:match("%d*%.?%d*"), "Length must be a valid length measured in cm")
+ length = tonumber(length)
+
+ textwidth = width
+
+ tex.print([[\begin{tikzpicture}]])
+ tex.print([[\tikzset{defStyle/.style={font=\tiny,anchor=north west,fill=blue!50,draw=black,rectangle}}]])
+ -- print the tabular with the weekday headers
+ tex.print(string.format(
+ [[\foreach \week [count=\x from 0, evaluate=\x as \y using \x+0.5] in {%s}{ ]],
+ table.concat(days, ",")
+ )
+ )
+ tex.print(string.format(
+ [[\node[anchor=south] at (\y/%d* %s, 0) {\week};]], #days, textwidth))
+ tex.print(string.format(
+ [[\draw (\x/%d * %s, 0cm) -- (\x/%d * %s, %dcm);]],
+ #days,
+ textwidth,
+ #days,
+ textwidth, -length
+ )
+ )
+ tex.print("}")
+ tex.print(string.format(
+ [[\draw (%s, 0) -- (%s,%dcm);]],
+ textwidth,
+ textwidth,
+ -length
+ )
+ )
+
+ for i=minH,maxH do
+ tex.print(string.format(
+ [[\node[anchor=east] at (0,%fcm ) {%d:00};]],
+ minuteToFrac(i*60,min,max)*-length, i
+ )
+ )
+ tex.print(string.format(
+ [[\draw (0,%fcm ) -- (%s,%fcm );]],
+ minuteToFrac(i*60,min,max)*-length,
+ textwidth,
+ minuteToFrac(i*60,min,max)*-length
+ )
+ )
+ end
+
+ local d
+ local red = 0.3333 -- calculated in em from inner sep
+ local red_y = 0.25 -- calculated in em
+ for _,e in ipairs(events) do
+ if e.from < max and e.to > min then -- only draw if event is in scope (part of the comp is done in addEvent from < to
+ if e.to > max then e.to = max end
+ if e.from < min then e.from = min end
+ -- print("Drawing event on line ", e.inputlineno)
+ d = day2Int(e.day)
+ tex.print(string.format(
+ [[\node[defStyle,text width=-%fem+%f%s/%d, text depth=%fcm-%fem, text height=%fem, %s] at (%f*%s,%fcm) {%s};]],
+ 2*red, -- text width
+ e.scale_width, -- text width
+ textwidth,
+ #days, -- text width
+ length*(e.to-e.from)/(max-min), -- text depth
+ 2*red+red_y, -- text depth
+ red_y, -- text height
+ e.tikz, -- free tikz code
+ (d+e.offset)/#days, -- xcoord
+ textwidth,
+ minuteToFrac(e.from,min,max)*-length, -- ycoord
+ e.content -- content
+ )
+ )
+ end
+ end
+ tex.print([[\end{tikzpicture}]])
+ tex.print([[\immediate\write\timetableATdataOutput{\iffalse{\else\string}\fi}]])
+end
+function search_array(t, s)
+ for k,v in ipairs(t) do
+ if(v == s) then return k end
+ end
+ return nil
+end
+
+function minuteToFrac(minute, min, max)
+ return (minute-min)/(max-min)
+end
+function prepareMinMax(min, max)
+ local minH = math.floor(min/60)
+ local maxH = math.ceil(max/60)
+ local min = minH*60
+ local max = maxH*60
+ return min, minH, max, maxH
+end
+function checkKeys(t, k)
+ for _,x in ipairs(k) do
+ if(t[x] == nil) then
+ return false
+ end
+ end
+ return true
+end
+function dur2Int(clk)
+ local f1,f2, t1,t2 = clk:match("^(%d%d?):(%d%d)-(%d%d?):(%d%d)$")
+ if(f1 ~= nil and f2 ~= nil and t1 ~= nil and t2 ~= nil) then
+ f1 = tonumber(f1) f2 = tonumber(f2)
+ t1 = tonumber(t1) t2 = tonumber(t2)
+ assert(f1 >= 0 and f1 < 24, "Hours have to be >= 0 && < 24")
+ assert(f2 >= 0 and f2 < 60, "Mins have to be >= 0 && < 60")
+ assert(t1 >= 0 and t1 < 24, "Hours have to be >= 0 && < 24")
+ assert(t2 >= 0 and t2 < 60, "Mins have to be >= 0 && < 60")
+ return f1*60 + f2, t1*60 + t2
+ else
+ error("clk string \"" .. clk .. "\" was no valid clock string")
+ end
+end
+function prepareDays(days)
+ local ret = {}
+ for m in days:gmatch("[^,]+") do
+ table.insert(ret, m)
+ end
+ return ret
+end
+function day2Int(day)
+ return search_array(DAYSE, day) - 1
+end
+
+function copy_array(obj)
+ if type(obj) ~= 'table' then return obj end
+ local res = {}
+ for k, v in pairs(obj) do
+ local c = copy_array(v)
+ res[copy_array(k)] = c
+ end
+ return res
+end
+
+semesterplannerLua = {
+ init = init,
+ addEvent = addEvent,
+ draw = draw,
+ day2Int = day2Int,
+}
+return semesterplannerLua
+
diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex
index 22c0361ada..040ebf5bde 100644
--- a/support/TeX4ht/source/tex4ht-4ht.tex
+++ b/support/TeX4ht/source/tex4ht-4ht.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1518 2024-05-13 20:19:03Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1519 2024-05-19 14:40:58Z karl $
% tex tex4ht-4ht or ht tex tex4ht-4ht
%
% Copyright 2009-2024 TeX Users Group
@@ -34954,7 +34954,7 @@ but fatal error is a worse possibility.
% Lettrine
\<lettrine.4ht\><<<
% lettrine.4ht (|version), generated from |jobname.tex
-% Copyright 2012-2018 TeX Users Group
+% Copyright 2012-2024 TeX Users Group
|<TeX4ht license text|>
|<config lettrine|>
\Hinput{lettrine}
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 401cf23c6d..5702413522 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -14,10 +14,8 @@ $mirrors = {
'https://mirrors.aliyun.com/CTAN/' => 1,
'https://mirrors.bfsu.edu.cn/CTAN/' => 1,
'https://mirrors.cloud.tencent.com/CTAN/' => 1,
- 'https://mirrors.cqu.edu.cn/CTAN/' => 1,
'https://mirrors.jlu.edu.cn/CTAN/' => 1,
'https://mirrors.nju.edu.cn/CTAN/' => 1,
- 'https://mirrors.pku.edu.cn/ctan/' => 1,
'https://mirrors.sjtug.sjtu.edu.cn/ctan/' => 1,
'https://mirrors.sustech.edu.cn/CTAN/' => 1,
'https://mirrors.tuna.tsinghua.edu.cn/CTAN/' => 1,
@@ -36,7 +34,6 @@ $mirrors = {
},
'Iran' => {
'http://ctan.asis.ai/' => 1,
- 'https://ctan.yazd.ac.ir/' => 1,
},
'Japan' => {
'http://ring.airnet.ne.jp/archives/text/CTAN/' => 1,
@@ -47,7 +44,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,
@@ -115,7 +111,7 @@ $mirrors = {
'https://mirror.physik.tu-berlin.de/pub/CTAN/' => 1,
},
'Greece' => {
- 'https://fosszone.csd.auth.gr/CTAN/' => 1,
+ 'http://ftp.ntua.gr/mirror/ctan/' => 1,
'https://ftp.cc.uoc.gr/mirrors/CTAN/' => 1,
},
'Hungary' => {
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 358c5bd3b1..7545c33654 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/2024
-depend revision/71298
+depend revision/71307
name 00texlive.image
category TLCore
-revision 71264
+revision 71305
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
@@ -3926,6 +3926,7 @@ runfiles size=14492
tlpkg/tlpsrc/semantic.tlpsrc
tlpkg/tlpsrc/semaphor.tlpsrc
tlpkg/tlpsrc/semesterplanner.tlpsrc
+ tlpkg/tlpsrc/semesterplannerlua.tlpsrc
tlpkg/tlpsrc/seminar.tlpsrc
tlpkg/tlpsrc/semioneside.tlpsrc
tlpkg/tlpsrc/semproc.tlpsrc
@@ -4900,7 +4901,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 71298
+revision 71307
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
@@ -73747,7 +73748,7 @@ containerchecksum 3b8c139a85a7c4361513da6bfd6bbda95c13c17732e96a1cc3e0a5c91a614c
name collection-luatex
category Collection
-revision 70765
+revision 71305
shortdesc LuaTeX packages
relocated 1
longdesc Packages for LuaTeX, a TeX engine using Lua as an embedded
@@ -73847,6 +73848,7 @@ depend plantuml
depend pyluatex
depend scikgtex
depend selnolig
+depend semesterplannerlua
depend showhyphenation
depend showkerning
depend spacekern
@@ -73859,8 +73861,8 @@ depend tsvtemplate
depend typewriter
depend uninormalize
depend yamlvars
-containersize 1040
-containerchecksum 2b0f8cb3ac13a978e4ea6687e5065cfd33332e96479ce5d89661c5a562064547ea33a449f67e9f6d311ee103444dfddfc522df70b07551423a7012bbee7ccbd3
+containersize 1044
+containerchecksum c400b3b9788b89be0847a3af3793eb26bc84457d4e267894a5cc7e8c525e6037cea06384f8f13ad2f0db38ce2d6743f1313d0fa1133cd9db2ba74cbd81ffe3d0
name collection-mathscience
category Collection
@@ -91482,16 +91484,16 @@ catalogue-version 1.1
name customenvs
category Package
-revision 70859
+revision 71303
shortdesc Custom environments (MCQ, list with picked items, ...)
relocated 1
longdesc The package provides some custom environments (Multiple Choice,
longdesc list with chosen items, ...) based on existing environments.
-containersize 9000
-containerchecksum 74f8584cbfecf183a824431ded843fc0bf4028a38d5c4c15a630e4447707983b18e353bd17ff999ff2486b9b8b6651bb3f0aa4c970ce4f3c56651adfe7c4bac6
-doccontainersize 1599440
-doccontainerchecksum cd4a68cf7eed7381feae917c75446377f7758881337b68a499692a3694fe82ef1d3a5cd64839e6d334e86f7bc7e79f27ec0ad409317a22421647ca58fc19dc94
-docfiles size=448
+containersize 10976
+containerchecksum 7dd5fcb64b0d8f33cafd87b1a1226fda50e19d72e7aa0e2cfeeea3f0fff03d88e69693db7608f6c832cde49450be08fa72940c098892106083ffcbbde229e65f
+doccontainersize 1647448
+doccontainerchecksum 8bdd0ef11f71e7a7a460c9cb2d8fbca53082d9c1f0567af57382fb71c96c9d971e868e6e5ff4e920d9d42a438d6d5436d275c7e5a852661c4e36c57392ac5cbb
+docfiles size=461
RELOC/doc/latex/customenvs/README.md details="Readme"
RELOC/doc/latex/customenvs/customenvs-doc-en.pdf details="Package documentation (English)"
RELOC/doc/latex/customenvs/customenvs-doc-en.tex
@@ -91499,14 +91501,14 @@ docfiles size=448
RELOC/doc/latex/customenvs/customenvs-doc-fr.tex
RELOC/doc/latex/customenvs/envtexo_exemples.pdf
RELOC/doc/latex/customenvs/envtexo_exemples.tex
-runfiles size=14
+runfiles size=17
RELOC/tex/latex/customenvs/customenvs.sty
catalogue-contact-bugs https://github.com/cpierquet/customenvs/issues
catalogue-contact-repository https://github.com/cpierquet/customenvs
catalogue-ctan /macros/latex/contrib/customenvs
catalogue-license lppl1.3c cc-by-sa-4
catalogue-topics list table
-catalogue-version 0.1.4
+catalogue-version 0.1.5
name cutwin
category Package
@@ -206645,17 +206647,17 @@ catalogue-version 1.3
name luatexja
category Package
-revision 71181
+revision 71306
shortdesc Typeset Japanese with Lua(La)TeX
relocated 1
longdesc The package offers support for typesetting Japanese documents
longdesc with LuaTeX. Either of the Plain and LaTeX2e formats may be
longdesc used with the package.
depend luatexbase
-containersize 193580
-containerchecksum 136a9c477e76325881395911c0fb70d66421400ac2de868d65673fce68bbece788921f761ceef173386a78f93c39f46832af321bb4754b1bb2b99bb0c67417b6
-doccontainersize 3241916
-doccontainerchecksum 60ba8d0a7d190cd9384fc30e3616bfaafbaa8f0639c558584570a55030a1999dd33a0aeace7d42ec2ac8103b6237293adfd07e4fbc43e7d6ff969ad3c56ce4b1
+containersize 193152
+containerchecksum 161765a3fafe00681e160e3621f7c4a0437579d979dd0d1092c8c5b5863906c7fca8d2e41a6dfab8780739dbfa4d556008ecd586d7ee8b1fd20403266bf5ef17
+doccontainersize 3241212
+doccontainerchecksum 8442451f4780a9372035d6cece31ce3b4e9e5c537cd7cede030b9b94a4bf422a256f4448a1cb41d7abe7f6e7a07fda99c599ff7155024197b3f38f5788494abc
docfiles size=976
RELOC/doc/luatex/luatexja/COPYING
RELOC/doc/luatex/luatexja/README details="Readme"
@@ -206673,8 +206675,8 @@ docfiles size=976
RELOC/doc/luatex/luatexja/luatexja-ruby.tex
RELOC/doc/luatex/luatexja/luatexja.dtx
RELOC/doc/luatex/luatexja/luatexja.ins
-srccontainersize 83900
-srccontainerchecksum 8b6c6fc393711d3548f11985a9b1276b27ad2767b22c698fc94ca660f974a14dc98006b7150481bf15a0ce6d5240ef88309f32e4c4430009ff012e1746272aca
+srccontainersize 83904
+srccontainerchecksum 90842235985c7089440abda356095f6752418c7623d75791f27a65a5bd3a1202359059ca32931d4a212c0e6837bb063850e552b11134e8c41c50f5ee853d20f7
srcfiles size=119
RELOC/source/luatex/luatexja/ltjclasses.dtx
RELOC/source/luatex/luatexja/ltjclasses.ins
@@ -206699,11 +206701,12 @@ srcfiles size=119
RELOC/source/luatex/luatexja/tool/table_jisx0208.tex
RELOC/source/luatex/luatexja/tool/test_exist_nodelib.tex
RELOC/source/luatex/luatexja/tool/unicodeBlocks.tex
-runfiles size=419
+runfiles size=422
RELOC/tex/luatex/luatexja/addons/luatexja-adjust.sty
RELOC/tex/luatex/luatexja/addons/luatexja-ajmacros.sty
RELOC/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty
RELOC/tex/luatex/luatexja/addons/luatexja-fontspec-29c.sty
+ RELOC/tex/luatex/luatexja/addons/luatexja-fontspec-29e.sty
RELOC/tex/luatex/luatexja/addons/luatexja-fontspec.sty
RELOC/tex/luatex/luatexja/addons/luatexja-otf.sty
RELOC/tex/luatex/luatexja/addons/luatexja-preset.sty
@@ -206800,7 +206803,7 @@ catalogue-contact-repository https://github.com/luatexja/luatexja
catalogue-ctan /macros/luatex/generic/luatexja
catalogue-license bsd
catalogue-topics japanese luatex class macro-gen expl3
-catalogue-version 20240505.0
+catalogue-version 20240514.0
name luatexko
category Package
@@ -269281,27 +269284,33 @@ catalogue-version 0.94
name profsio
category Package
-revision 71240
+revision 71302
shortdesc Commands (with TikZ) to work with French "BTS SIO" maths themes
relocated 1
longdesc This package provides some commands (in French) to work with:
longdesc tables of Karnaugh ; MPM graphs ; simple graphs.
-containersize 18276
-containerchecksum a8d464dfb86c3804b60ff445c1feb6f543f946b4912b9778e1b3fe48cd15a4de4bbc4bb8b0b24f5a886abde4aea0ffd8689bed7fd1a561fa131f87cb4f056de7
-doccontainersize 505836
-doccontainerchecksum c762865a1493b1d5728d806b97cffe78fe24134510694ff8cd39af394091b0d4241e98ef0a819b45815d1d2cad1dff4a9fbc2a05cf537888061399de57278440
-docfiles size=144
+containersize 20564
+containerchecksum 303bfb0f93d9dd936cc1d3521a7ea423297e15c2563117177f2434f2cb9f64873bd23b9855973c39e096f567f737e3ddd1b96ae399fbdb84ca599bbce7c348ea
+doccontainersize 578468
+doccontainerchecksum 527621885cdb8863f6792bbea6a7df13ada83335b5f5a7386f9ac6689cf8b2a383c988da9716bc2e50c3ea04a896b779a15acda52b029d4316434606a7e42017
+docfiles size=184
+ RELOC/doc/latex/profsio/ProfSio-doc-annexe71.pdf
+ RELOC/doc/latex/profsio/ProfSio-doc-annexe71.tex
+ RELOC/doc/latex/profsio/ProfSio-doc-annexe72.pdf
+ RELOC/doc/latex/profsio/ProfSio-doc-annexe72.tex
+ RELOC/doc/latex/profsio/ProfSio-doc-annexe73.pdf
+ RELOC/doc/latex/profsio/ProfSio-doc-annexe73.tex
RELOC/doc/latex/profsio/ProfSio-doc-fr.pdf details="Package documentation" language="fr"
RELOC/doc/latex/profsio/ProfSio-doc-fr.tex
RELOC/doc/latex/profsio/README.md details="Readme"
-runfiles size=37
+runfiles size=40
RELOC/tex/latex/profsio/ProfSio.sty
catalogue-contact-bugs https://github.com/cpierquet/profsio/issues
catalogue-contact-repository https://github.com/cpierquet/profsio
catalogue-ctan /graphics/pgf/contrib/profsio
catalogue-license lppl1.3c
catalogue-topics graphics pgf-tikz maths
-catalogue-version 0.2.7
+catalogue-version 0.2.8
name program
category Package
@@ -295059,6 +295068,43 @@ catalogue-license lppl1.3
catalogue-topics planning calendar luatex
catalogue-version 1.0
+name semesterplannerlua
+category Package
+revision 71305
+shortdesc Draw timetables and other organizational matters useful for planning a semester
+relocated 1
+longdesc This LaTeX package provides commands to print timetables, lists
+longdesc of appointments and exams. Also it is possible to draw
+longdesc calendars of specified ranges (and mark dates which were
+longdesc previously listed). Drawing the timetable is based on TikZ,
+longdesc which makes it very flexible.
+containersize 8352
+containerchecksum b799c136d6e77226d8a0ad00c15f02ea6832dacea694408a57d63a8b2365e8cc249f9072a5783bb87ea9b11bce48ceaaed80566520bf79fa0e11052992ad05c1
+doccontainersize 139612
+doccontainerchecksum b7c9c279cbf297b2ad47cec1e793b2bd2efe7691155f8400855544aa40dfd818bd8bf4f429dc2a00fdffad4000aeb1fbfa1342d70bc294ff78cca7e114b20ce7
+docfiles size=37
+ RELOC/doc/lualatex/semesterplannerlua/README.md details="Readme"
+ RELOC/doc/lualatex/semesterplannerlua/semesterplannerlua.pdf details="Package documentation"
+srccontainersize 10504
+srccontainerchecksum f293b503f4ecb7893aa3a0ef31ff54a1e80d1b0f8387e6ea81db7df4a9834e4a1a88de572411ae6540ca2f008d3876f6223f9fe7fba5ba1a7c46a4fb8702153a
+srcfiles size=11
+ RELOC/source/lualatex/semesterplannerlua/semesterplannerlua.dtx
+ RELOC/source/lualatex/semesterplannerlua/semesterplannerlua.ins
+runfiles size=9
+ RELOC/tex/lualatex/semesterplannerlua/semesterplannerlua.sty
+ RELOC/tex/lualatex/semesterplannerlua/semesterplannerlua_calendar.lua
+ RELOC/tex/lualatex/semesterplannerlua/semesterplannerlua_dmenu.lua
+ RELOC/tex/lualatex/semesterplannerlua/semesterplannerlua_timetable.lua
+catalogue-also semesterplanner
+catalogue-contact-announce https://github.com/atticus-sullivan/semesterplannerLua/issues/1
+catalogue-contact-bugs https://github.com/atticus-sullivan/semesterplannerLua/issues
+catalogue-contact-repository https://github.com/atticus-sullivan/semesterplannerLua/
+catalogue-contact-support https://github.com/atticus-sullivan/semesterplannerLua/discussions/categories/q-a
+catalogue-ctan /macros/luatex/latex/semesterplannerlua
+catalogue-license lppl1.3
+catalogue-topics planning calendar luatex
+catalogue-version 1.1.1
+
name seminar
category Package
revision 59801
@@ -302588,17 +302634,17 @@ catalogue-version 2.7
name spbmark
category Package
-revision 71256
+revision 71304
shortdesc Customize superscripts and subscripts
relocated 1
longdesc This package provides three commands \super, \sub and \supersub
longdesc to improve the layout of superscripts and subscripts which can
longdesc be adjusted with respect to relative position and format, and
longdesc can be used in text and math mode.
-containersize 3924
-containerchecksum e726a80b4f117fbff3d9369f4bd53a819d0f9d1f8819682cbdcf02c8a1d441f16db5fceb1d414adf748cea8dc6628e29f764a47670e2d38a013b6f7afca8d563
-doccontainersize 95744
-doccontainerchecksum d37b3dbfffb329eda93829be73e1438267ded295369c134c5a23f6fec5f1ba310c9475b0275da00268fa789ece0a5848d769ad39d720c26ff1e6749c468d0114
+containersize 4120
+containerchecksum 8a242629f76cba5fc472be65629316a2a17d3cbfbe92c3b2f124564b84131eeaa51fc32453f887ec296bda5e81ae9871783b33a9feac081e92539caac6d11177
+doccontainersize 95824
+doccontainerchecksum 1223a723426048f51cd62911684b87bed9ec830634fdb3b7eb05f3069e2d12ec52de2065b3f1def2e9f41fe76565cc5d9b1ba44198ccba4d3b1fe29d9e504cfe
docfiles size=29
RELOC/doc/latex/spbmark/README.md details="Readme"
RELOC/doc/latex/spbmark/spbmark.pdf details="Package documentation"
@@ -302609,7 +302655,7 @@ catalogue-contact-repository https://github.com/texno3/spbmark
catalogue-ctan /macros/latex/contrib/spbmark
catalogue-license cc-by-4
catalogue-topics subsup-pos expl3
-catalogue-version 1.46i
+catalogue-version 1.46j
name spectral
category Package
@@ -314736,7 +314782,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 71257
+revision 71301
shortdesc Convert (La)TeX to HTML/XML
longdesc A converter from TeX and LaTeX to SGML-based formats such as
longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a
@@ -314757,10 +314803,10 @@ longdesc files from them is nontrivial, and generally done with the
longdesc Makefile in development, from which the TeX4ht package in TeX
longdesc Live is updated.
depend tex4ht.ARCH
-containersize 1131816
-containerchecksum a89027f27105d63fcc7ff948d1eb5b5813acd6e7aa4f28f428fd0a328ffbe66317553f0457f13126db9b29ac63cb8b8c26c0580f1bb1199f3534e69a5400d7c4
+containersize 1132052
+containerchecksum f43efb1142a257225cd53d9b21f97029c35cd2f5fbceff963d8a3b01a8310da0eb67c59350462627ae87aaf8e55f69b981188e256ae960b57875849e6b5cab0f
doccontainersize 136384
-doccontainerchecksum cd451468dab4d81a5257a47f98ca9a80240efc167872df9dcba7ea611ec3b86d231f3e24829f8d158f78c64593d44b6f41f47d8066bac611918d6dba4751a192
+doccontainerchecksum 938de454982d54824af53c82249b0601496c04f8be403177ed293956cc2939ba0aaee930147c6f8d617dac10c8ec400aa429ca5d0115712db9aba759b202d2b7
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -314832,8 +314878,8 @@ docfiles size=260
texmf-dist/doc/generic/tex4ht/mn56.html
texmf-dist/doc/generic/tex4ht/mn5x.png
texmf-dist/doc/generic/tex4ht/mn6x.png
-srccontainersize 1495764
-srccontainerchecksum aa27b1984d4c5713e8d84b8699c00c0acee8beecc83cc1da90cb935ff861d6f71de75f067b46b8f1ea138850790bf0b15581c9474f06bacf1b0efd1c1b27b01e
+srccontainersize 1491072
+srccontainerchecksum f608b9907c7dd75552738aa824ac9842696e19eae927dc53bf563cfdf131a4df34f4a77339dff5a5ebe5d54b57505bab3487f87a01587f51e336c3bf6aadae06
srcfiles size=4647
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -314914,7 +314960,7 @@ srcfiles size=4647
texmf-dist/source/generic/tex4ht/update-htfonts
texmf-dist/source/generic/tex4ht/wripro.tex
texmf-dist/source/generic/tex4ht/xtpipes.tex
-runfiles size=13096
+runfiles size=13097
texmf-dist/scripts/tex4ht/ht.sh
texmf-dist/scripts/tex4ht/htcopy.pl
texmf-dist/scripts/tex4ht/htlatex.sh
@@ -327262,7 +327308,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 71298
+revision 71307
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.
@@ -327270,10 +327316,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 114364
-containerchecksum 8c3253dee46338b0aafb6005de17726c390e3a795033cfb06da7d4e4ce5404ea155bc3736fe8d85e213d0c4274b4a0aeefcf1f98f8970f871edda51a7e207a86
-doccontainersize 435608
-doccontainerchecksum ec6b867323b7d92f2f6fa2a96c28c8c5758138ebe34c8dfdc30e6031e77e4604e8badd7e083c2d02be9ae03cd20a2cde1b458d0ebf565ea94c8ee9bb3e078f1f
+containersize 114340
+containerchecksum be33d9328196565bc16328de637a4733690b2809d52023fb48fb28d6ba2465d5a2849d1350c1dc22a0360778191baf95100543e6580ddb482a37d2a2390eac83
+doccontainersize 435568
+doccontainerchecksum 22adf338de67929101940f319fb3edb5e5f5976e9bc214cfa21115b0841a2193db1f94296f07f8a341d87250c04b50a4bdbf9e1e6355532cca4b11ffc6e64c24
docfiles size=569
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index d83f3934c2..7d7c70ff0b 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-4a54262b8be505d7b380b48a8379f42d texlive.tlpdb
+2d3483357c3bdcee3c9c24e1167ba90b texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 88b0caf408..8949850267 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-88000752fc57429b9624d2cba22e25ef830b1f6577a2bb800a42b5f4e1509cfa0b85614a4f59f3c269db07594b19f50380e24c7555f1d11bb954884f9f5bea33 texlive.tlpdb
+391be824f296c4100fb08ce905869da328f1c2e894f4042bc6e56320b0c07b4e642051f8a7e640c0a295ef4ff096593f0c0df3578868a4782ddafa0c7a3c39fb texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index d65fe8c5d7..a233d12327 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+QqiBBqTOGHfhlDjHAFAmZJQE0ACgkQTOGHfhlD
-jHA2oQgAmoxn4YOKssXddTuxPFMpgjZrtqKTfBj4jkshh2KIR2IO33Xwq8v+nI8M
-DtXdrAIfPNwPpFwo3p2Ew1h2QllXHO4yfJTQlhtTSKsm/UWh2LBrzZYeayEuHM9c
-l1Ko5SvEhvRUOZKsjvYYXN6Qi/zgfvfT9kxL4OSnRGkY8dy27U0UIfhbDCjXC3mb
-rXzCqOzPUQ+a7ir/RSgR30QXbe3YYYgudhOuo8GcdxAcTqqtKEXu7AcTtIq3lxh/
-kYdDf5Ei9AjQ4Ueyy44GOEqU0pxj/OEB91dmp7bxeVOO3Yl2/gPbdoQ9NeBcNhZh
-uROPtCPeBvaoGWZmDjTlpBdEItuA5w==
-=4Z71
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmZKj3MACgkQTOGHfhlD
+jHDrfggAvCzzWLb+bLPd1To+NCunRLcR5glSW3l2LlOO9KXT8lPeqCuIQ/t6cOCr
+eao8Egv1zPXwkdN3I/yn6JZEiQIYFWh6J9sj3RgBwMYxcIvBCpYrF1PgE6rPy9MI
+c6YIhxJQ9Y1fibasSgwJVrpVpbd8+akrppjkHvNw4IThL34fdbEX5enjWwg/Qqyh
+Q+Qh357Dl908fmryQRW4oOdX9TCejFZrruNCVQOLpkzBcs3WKJHk1dVL21QR/SDi
+uucgse70AjJOXbcF5s4QSIT8UZFLfmE5UjIiwJeQ/vAfbbKflFj87WyqHTGkMOmw
+rTQEKkhahtcC6OSA50b9k9BWKhSMSQ==
+=Yppb
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 64e31617f2..6ad92be764 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 0f50a5afb2..fd5f7be5b2 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-05-19-02-02
+2024-05-20-02-02