summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-12-07 03:00:45 +0000
committerNorbert Preining <norbert@preining.info>2023-12-07 03:00:45 +0000
commitd1c8f933dea4fce5c8b5628fe829cadf0b33b43d (patch)
tree5b152bf88f12fcde263af23542df43d609a18aa9
parent517bc0ad712becd89c09bdc30e6b5cdb135fcd83 (diff)
CTAN sync 202312070300
-rw-r--r--FILES.byname231
-rw-r--r--FILES.byname.gzbin2558468 -> 2558700 bytes
-rw-r--r--FILES.last07days179
-rw-r--r--biblio/ctan-bibdata/ctan.bib26
-rw-r--r--macros/latex/contrib/proflycee/README.md13
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin1418840 -> 1444492 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex272
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty3
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex293
-rw-r--r--macros/latex/contrib/spacingtricks/spacingtricks.dtx63
-rw-r--r--macros/latex/contrib/spacingtricks/spacingtricks.pdfbin182079 -> 182798 bytes
-rw-r--r--macros/latex/contrib/thermodynamics/thermodynamics.dtx9
-rw-r--r--macros/latex/contrib/thermodynamics/thermodynamics.pdfbin273124 -> 270368 bytes
-rw-r--r--macros/latex/contrib/tutodoc/MANIFEST.md72
-rw-r--r--macros/latex/contrib/tutodoc/README.md19
-rw-r--r--macros/latex/contrib/tutodoc/code/tdoc-locale-english.cfg.sty17
-rw-r--r--macros/latex/contrib/tutodoc/code/tdoc-locale-french.cfg.sty17
-rw-r--r--macros/latex/contrib/tutodoc/code/tutodoc.sty1026
-rw-r--r--macros/latex/contrib/tutodoc/doc/tutodoc-en.pdfbin0 -> 710329 bytes
-rw-r--r--macros/latex/contrib/tutodoc/doc/tutodoc-en.tex1098
-rw-r--r--macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdfbin0 -> 730016 bytes
-rw-r--r--macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex1118
-rw-r--r--macros/latex/required/babel/base/README.md19
-rw-r--r--macros/latex/required/babel/base/babel-code.pdfbin641895 -> 642032 bytes
-rw-r--r--macros/latex/required/babel/base/babel.dtx440
-rw-r--r--macros/latex/required/babel/base/babel.ins2
-rw-r--r--macros/latex/required/babel/base/babel.pdfbin417319 -> 417807 bytes
-rw-r--r--macros/latex/required/babel/base/bbcompat.dtx2
-rw-r--r--macros/latex/required/babel/base/bbidxglo.dtx4
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.dtx32
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.pdfbin1249527 -> 1250193 bytes
-rw-r--r--obsolete/info/luatex/lualatex-doc/Makefile (renamed from info/luatex/lualatex-doc/Makefile)0
-rw-r--r--obsolete/info/luatex/lualatex-doc/News (renamed from info/luatex/lualatex-doc/News)0
-rw-r--r--obsolete/info/luatex/lualatex-doc/README (renamed from info/luatex/lualatex-doc/README)0
-rw-r--r--obsolete/info/luatex/lualatex-doc/lltxdoc.cls (renamed from info/luatex/lualatex-doc/lltxdoc.cls)0
-rw-r--r--obsolete/info/luatex/lualatex-doc/lualatex-doc.pdf (renamed from info/luatex/lualatex-doc/lualatex-doc.pdf)bin155858 -> 155858 bytes
-rw-r--r--obsolete/info/luatex/lualatex-doc/lualatex-doc.tex (renamed from info/luatex/lualatex-doc/lualatex-doc.tex)0
-rw-r--r--support/TeX4ht/source/ChangeLog6
-rw-r--r--support/TeX4ht/source/tex4ht-fonts-noncjk.tex4
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb188
-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.xzbin2493716 -> 2492892 bytes
-rw-r--r--timestamp2
-rw-r--r--usergrps/usergrps/bg.html2
-rw-r--r--usergrps/usergrps/br.html2
-rw-r--r--usergrps/usergrps/cn.html2
-rw-r--r--usergrps/usergrps/ct.html2
-rw-r--r--usergrps/usergrps/cz.html2
-rw-r--r--usergrps/usergrps/de.html2
-rw-r--r--usergrps/usergrps/dk.html2
-rw-r--r--usergrps/usergrps/ee.html2
-rw-r--r--usergrps/usergrps/es.html2
-rw-r--r--usergrps/usergrps/fr.html2
-rw-r--r--usergrps/usergrps/gr.html2
-rw-r--r--usergrps/usergrps/hu.html2
-rw-r--r--usergrps/usergrps/ie.html2
-rw-r--r--usergrps/usergrps/index.html2
-rw-r--r--usergrps/usergrps/is.html8
-rw-r--r--usergrps/usergrps/it.html2
-rw-r--r--usergrps/usergrps/kh.html2
-rw-r--r--usergrps/usergrps/kr.html2
-rw-r--r--usergrps/usergrps/labels.pdfbin10628 -> 10649 bytes
-rw-r--r--usergrps/usergrps/labels.tex4
-rw-r--r--usergrps/usergrps/lt.html2
-rw-r--r--usergrps/usergrps/lugs.html50
-rw-r--r--usergrps/usergrps/lugs.pdfbin47308 -> 47421 bytes
-rw-r--r--usergrps/usergrps/lugs.tex4
-rw-r--r--usergrps/usergrps/mx.html2
-rw-r--r--usergrps/usergrps/nl.html2
-rw-r--r--usergrps/usergrps/no.html2
-rw-r--r--usergrps/usergrps/pl.html2
-rw-r--r--usergrps/usergrps/pt.html2
-rw-r--r--usergrps/usergrps/tw.html2
-rw-r--r--usergrps/usergrps/us.html2
-rw-r--r--usergrps/usergrps/uy.html2
-rw-r--r--usergrps/usergrps/vn.html2
-rw-r--r--usergrps/usergrps/za.html2
79 files changed, 4705 insertions, 592 deletions
diff --git a/FILES.byname b/FILES.byname
index c2de2ebad0..649a4b3131 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2063,12 +2063,12 @@
2023/10/05 | 1710 | biblio/citation-style-language/README.md
2023/10/05 | 12878 | biblio/citation-style-language/vancouver.csl
2023/10/05 | 4531754 | biblio/citation-style-language.zip
-2023/12/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/12/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/12/05 | 2831018 | biblio/ctan-bibdata/ctan.bib
-2023/12/05 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2023/12/06 | 2831006 | biblio/ctan-bibdata/ctan.bib
+2023/12/06 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/12/05 | 4113831 | biblio/ctan-bibdata.zip
+2023/12/06 | 4113827 | 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
@@ -5429,7 +5429,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2023/12/05 | 62191 | FILES.last07days
+2023/12/06 | 65598 | 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
@@ -192581,13 +192581,6 @@
2013/05/12 | 123776 | info/luatex/lualatex-doc-de/lualatex-doc-DE.pdf
2013/05/12 | 41655 | info/luatex/lualatex-doc-de/lualatex-doc-DE.tex
2013/05/14 | 137395 | info/luatex/lualatex-doc-de.zip
-2013/05/05 | 3269 | info/luatex/lualatex-doc/lltxdoc.cls
-2013/05/05 | 155858 | info/luatex/lualatex-doc/lualatex-doc.pdf
-2013/05/05 | 37562 | info/luatex/lualatex-doc/lualatex-doc.tex
-2013/05/05 | 1007 | info/luatex/lualatex-doc/Makefile
-2013/05/05 | 763 | info/luatex/lualatex-doc/News
-2013/05/13 | 802 | info/luatex/lualatex-doc/README
-2013/05/14 | 133864 | info/luatex/lualatex-doc.zip
1994/09/02 | 280617 | info/maad/maad.tex
1994/09/02 | 1131 | info/maad/pgm1.bas
1994/09/02 | 1848 | info/maad/pgm1.c
@@ -194547,7 +194540,6 @@
2022/11/24 | 135902 | install/graphics/pstricks/contrib/pst-ode.tds.zip
2011/10/25 | 476972 | install/info/fifinddo-info.tds.zip
2012/05/29 | 19774 | install/info/latexfileinfo-pkgs.tds.zip
-2013/05/13 | 135206 | install/info/luatex/lualatex-doc.tds.zip
2018/03/19 | 2053336 | install/language/arabic/dad.tds.zip
2022/08/14 | 1480090 | install/language/armenian/armtex.tds.zip
2016/05/14 | 160646 | install/language/chinese/cjkpunct.tds.zip
@@ -194881,7 +194873,7 @@
2023/11/01 | 7343701 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
2023/11/01 | 43671611 | install/macros/latex/latex-base.tds.zip
2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip
-2023/11/11 | 3603428 | install/macros/latex/required/babel-base.tds.zip
+2023/12/06 | 3605244 | install/macros/latex/required/babel-base.tds.zip
2023/11/01 | 2795407 | install/macros/latex/required/latex-amsmath.tds.zip
2022/06/14 | 242625 | install/macros/latex/required/latexbug.tds.zip
2022/06/16 | 1352652 | install/macros/latex/required/latex-cyrillic.tds.zip
@@ -235127,14 +235119,15 @@
2022/04/26 | 323 | macros/latex/contrib/proflabo/README.md
2022/04/26 | 9327 | macros/latex/contrib/proflabo/tex/ProfLabo.sty
2022/04/26 | 136164 | macros/latex/contrib/proflabo.zip
-2023/11/30 | 1615785 | macros/latex/contrib/proflycee/doc/ProfLycee-docctan.zip
-2023/11/30 | 1418840 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+2023/12/06 | 1642767 | macros/latex/contrib/proflycee/doc/ProfLycee-docctan.zip
+2023/12/06 | 1444492 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+2023/12/06 | 5215 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
2023/09/27 | 59868 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
2023/09/27 | 6908 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex
2023/09/17 | 41175 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdf
2023/09/17 | 5435 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.tex
-2023/11/30 | 570 | macros/latex/contrib/proflycee/README.md
-2023/11/30 | 8403 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
+2022/08/10 | 439 | macros/latex/contrib/proflycee/README.md
+2023/12/06 | 8469 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
2023/11/10 | 3940 | macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
2023/11/18 | 26939 | macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
2023/11/18 | 33819 | macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
@@ -235147,10 +235140,10 @@
2023/11/10 | 35380 | macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
2023/11/21 | 6167 | macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
2023/11/10 | 23702 | macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex
-2023/11/10 | 17662 | macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
+2023/12/06 | 30120 | macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
2023/11/10 | 6352 | macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex
2023/11/10 | 42467 | macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex
-2023/11/30 | 3155520 | macros/latex/contrib/proflycee.zip
+2023/12/06 | 3210869 | macros/latex/contrib/proflycee.zip
2023/11/25 | 268144 | macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
2023/11/25 | 54684 | macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.tex
2023/11/01 | 21506 | macros/latex/contrib/profmaquette/doc/TestCANComplement.pdf
@@ -238346,10 +238339,10 @@
2019/04/05 | 114796 | macros/latex/contrib/soup/soup.pdf
2019/04/06 | 120099 | macros/latex/contrib/soup.zip
2023/07/28 | 776 | macros/latex/contrib/spacingtricks/README.md
-2023/07/28 | 36632 | macros/latex/contrib/spacingtricks/spacingtricks.dtx
+2023/12/06 | 37089 | macros/latex/contrib/spacingtricks/spacingtricks.dtx
2023/02/23 | 2005 | macros/latex/contrib/spacingtricks/spacingtricks.ins
-2023/07/28 | 182079 | macros/latex/contrib/spacingtricks/spacingtricks.pdf
-2023/07/28 | 171528 | macros/latex/contrib/spacingtricks.zip
+2023/12/06 | 182798 | macros/latex/contrib/spacingtricks/spacingtricks.pdf
+2023/12/06 | 172257 | macros/latex/contrib/spacingtricks.zip
2016/10/06 | 1360 | macros/latex/contrib/spalign/README.md
2016/10/06 | 45312 | macros/latex/contrib/spalign/spalign.dtx
2016/10/05 | 1964 | macros/latex/contrib/spalign/spalign.ins
@@ -240212,10 +240205,10 @@
2013/05/22 | 8987 | macros/latex/contrib/theoremref/theoremref.sty
2013/05/22 | 340054 | macros/latex/contrib/theoremref.zip
2023/11/12 | 1407 | macros/latex/contrib/thermodynamics/README.md
-2023/11/16 | 169186 | macros/latex/contrib/thermodynamics/thermodynamics.dtx
+2023/12/06 | 169270 | macros/latex/contrib/thermodynamics/thermodynamics.dtx
2023/10/21 | 3059 | macros/latex/contrib/thermodynamics/thermodynamics.ins
-2023/11/17 | 273124 | macros/latex/contrib/thermodynamics/thermodynamics.pdf
-2023/11/17 | 305471 | macros/latex/contrib/thermodynamics.zip
+2023/12/06 | 270368 | macros/latex/contrib/thermodynamics/thermodynamics.pdf
+2023/12/06 | 302939 | macros/latex/contrib/thermodynamics.zip
2021/08/12 | 69173 | macros/latex/contrib/thesis-ekf/eszterhazy-logo-de.eps
2021/08/12 | 22963 | macros/latex/contrib/thesis-ekf/eszterhazy-logo-de.pdf
2021/08/11 | 64873 | macros/latex/contrib/thesis-ekf/eszterhazy-logo-en.eps
@@ -241912,6 +241905,16 @@
2011/09/02 | 2391 | macros/latex/contrib/turnthepage/turnpagewoetex.sty
2011/03/24 | 1101 | macros/latex/contrib/turnthepage/turnthepage.sty
2011/09/03 | 87208 | macros/latex/contrib/turnthepage.zip
+2023/12/05 | 880 | macros/latex/contrib/tutodoc/code/tdoc-locale-english.cfg.sty
+2023/12/05 | 903 | macros/latex/contrib/tutodoc/code/tdoc-locale-french.cfg.sty
+2023/12/05 | 23742 | macros/latex/contrib/tutodoc/code/tutodoc.sty
+2023/12/05 | 710329 | macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf
+2023/12/05 | 26773 | macros/latex/contrib/tutodoc/doc/tutodoc-en.tex
+2023/12/05 | 730016 | macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf
+2023/12/05 | 28523 | macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex
+2023/12/05 | 1691 | macros/latex/contrib/tutodoc/MANIFEST.md
+2023/12/05 | 525 | macros/latex/contrib/tutodoc/README.md
+2023/12/06 | 1420370 | macros/latex/contrib/tutodoc.zip
2022/03/30 | 6929935 | macros/latex/contrib/twemojis/all-twemojis.pdf
2022/03/30 | 4161 | macros/latex/contrib/twemojis/README.md
2022/03/30 | 861548 | macros/latex/contrib/twemojis/twemojis.dtx
@@ -245433,15 +245436,15 @@
2023/11/01 | 454658 | macros/latex/required/amsmath/testmath.pdf
2023/11/01 | 81184 | macros/latex/required/amsmath/testmath.tex
2023/11/01 | 2762551 | macros/latex/required/amsmath.zip
-2023/11/11 | 641895 | macros/latex/required/babel/base/babel-code.pdf
-2023/11/11 | 790648 | macros/latex/required/babel/base/babel.dtx
-2023/11/11 | 8905 | macros/latex/required/babel/base/babel.ins
-2023/11/11 | 417319 | macros/latex/required/babel/base/babel.pdf
-2023/11/11 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
-2023/11/11 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx
-2023/11/11 | 1036974 | macros/latex/required/babel/base/locale.zip
-2023/11/11 | 1906 | macros/latex/required/babel/base/README.md
-2023/11/11 | 2303174 | macros/latex/required/babel/base.zip
+2023/12/06 | 642032 | macros/latex/required/babel/base/babel-code.pdf
+2023/12/06 | 792586 | macros/latex/required/babel/base/babel.dtx
+2023/12/06 | 8905 | macros/latex/required/babel/base/babel.ins
+2023/12/06 | 417807 | macros/latex/required/babel/base/babel.pdf
+2023/12/06 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
+2023/12/06 | 3527 | macros/latex/required/babel/base/bbidxglo.dtx
+2023/12/06 | 1037159 | macros/latex/required/babel/base/locale.zip
+2023/12/06 | 2124 | macros/latex/required/babel/base/README.md
+2023/12/06 | 2304617 | macros/latex/required/babel/base.zip
2022/06/16 | 5612 | macros/latex/required/cyrillic/changes.txt
2022/06/16 | 57710 | macros/latex/required/cyrillic/cyinpenc.dtx
2022/06/16 | 215413 | macros/latex/required/cyrillic/cyinpenc.pdf
@@ -256029,12 +256032,12 @@
2020/09/29 | 211 | macros/unicodetex/latex/lilyglyphs/tex/README-tex
2020/09/29 | 49 | macros/unicodetex/latex/lilyglyphs/VERSION
2020/09/29 | 2283370 | macros/unicodetex/latex/lilyglyphs.zip
-2023/11/14 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
-2023/11/14 | 315956 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
-2023/11/14 | 3231 | macros/unicodetex/latex/njuthesis/njuthesis.ins
-2023/11/14 | 1249527 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
-2023/11/14 | 1077 | macros/unicodetex/latex/njuthesis/README.md
-2023/11/14 | 1324126 | macros/unicodetex/latex/njuthesis.zip
+2023/12/05 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
+2023/12/05 | 316167 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
+2023/12/05 | 3231 | macros/unicodetex/latex/njuthesis/njuthesis.ins
+2023/12/05 | 1250193 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
+2023/12/05 | 1077 | macros/unicodetex/latex/njuthesis/README.md
+2023/12/06 | 1324454 | macros/unicodetex/latex/njuthesis.zip
2021/08/05 | 269 | macros/unicodetex/latex/nwafuthesis/build.sh
2021/08/05 | 263 | macros/unicodetex/latex/nwafuthesis/build-win.bat
2021/08/05 | 218987 | macros/unicodetex/latex/nwafuthesis/logo/building.jpg
@@ -272148,6 +272151,13 @@
1993/03/23 | 46341 | obsolete/info/latex-info/latex.info-2
1993/03/23 | 98830 | obsolete/info/latex-info/latex.texinfo
2008/06/15 | 51699 | obsolete/info/latex-info.zip
+2013/05/05 | 3269 | obsolete/info/luatex/lualatex-doc/lltxdoc.cls
+2013/05/05 | 155858 | obsolete/info/luatex/lualatex-doc/lualatex-doc.pdf
+2013/05/05 | 37562 | obsolete/info/luatex/lualatex-doc/lualatex-doc.tex
+2013/05/05 | 1007 | obsolete/info/luatex/lualatex-doc/Makefile
+2013/05/05 | 763 | obsolete/info/luatex/lualatex-doc/News
+2013/05/13 | 802 | obsolete/info/luatex/lualatex-doc/README
+2013/05/14 | 133864 | obsolete/info/luatex/lualatex-doc.zip
2015/01/18 | 3949 | obsolete/info/math/voss/mathmode/Changes
2007/12/08 | 7514 | obsolete/info/math/voss/mathmode/images/amsalign.pdf
2007/12/08 | 88938 | obsolete/info/math/voss/mathmode/images/cmbright-crop.pdf
@@ -287332,7 +287342,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2023/12/05 | 238287 | support/TeX4ht/source/ChangeLog
+2023/12/05 | 238472 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -287365,7 +287375,7 @@
2022/07/16 | 187196 | support/TeX4ht/source/tex4ht-fonts-mnsymbol.tex
2023/03/29 | 703260 | support/TeX4ht/source/tex4ht-fonts-modern.tex
2023/11/19 | 297980 | support/TeX4ht/source/tex4ht-fonts-newtx.tex
-2023/12/05 | 1659552 | support/TeX4ht/source/tex4ht-fonts-noncjk.tex
+2023/12/05 | 1659578 | support/TeX4ht/source/tex4ht-fonts-noncjk.tex
2023/05/14 | 207863 | support/TeX4ht/source/tex4ht-fonts-opensans.tex
2023/05/14 | 207441 | support/TeX4ht/source/tex4ht-fonts-spectral.tex
2023/05/14 | 162204 | support/TeX4ht/source/tex4ht-fonts-stix2.tex
@@ -293400,7 +293410,7 @@
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2023/05/16 | 400 | systems/texlive/tlnet/archive/collection-langportuguese.r67125.tar.xz
2023/06/09 | 396 | systems/texlive/tlnet/archive/collection-langspanish.r67307.tar.xz
-2023/12/04 | 7048 | systems/texlive/tlnet/archive/collection-latexextra.r69026.tar.xz
+2023/12/06 | 7044 | systems/texlive/tlnet/archive/collection-latexextra.r69043.tar.xz
2022/06/10 | 700 | systems/texlive/tlnet/archive/collection-latex.r63515.tar.xz
2023/01/11 | 744 | systems/texlive/tlnet/archive/collection-latexrecommended.r65512.tar.xz
2023/11/11 | 1016 | systems/texlive/tlnet/archive/collection-luatex.r68808.tar.xz
@@ -295416,8 +295426,8 @@
2019/02/28 | 790224 | systems/texlive/tlnet/archive/fbithesis.doc.r21340.tar.xz
2019/02/28 | 6152 | systems/texlive/tlnet/archive/fbithesis.r21340.tar.xz
2019/02/28 | 41564 | systems/texlive/tlnet/archive/fbithesis.source.r21340.tar.xz
-2022/02/22 | 47640 | systems/texlive/tlnet/archive/fbox.doc.r62126.tar.xz
-2022/02/22 | 1856 | systems/texlive/tlnet/archive/fbox.r62126.tar.xz
+2023/12/06 | 49888 | systems/texlive/tlnet/archive/fbox.doc.r69041.tar.xz
+2023/12/06 | 1904 | systems/texlive/tlnet/archive/fbox.r69041.tar.xz
2019/02/28 | 5424 | systems/texlive/tlnet/archive/fbs.r15878.tar.xz
2019/02/28 | 332084 | systems/texlive/tlnet/archive/fcavtex.doc.r38074.tar.xz
2019/02/28 | 16180 | systems/texlive/tlnet/archive/fcavtex.r38074.tar.xz
@@ -299510,8 +299520,8 @@
2022/03/21 | 6560 | systems/texlive/tlnet/archive/newcastle-bst.r62856.tar.xz
2019/02/28 | 407624 | systems/texlive/tlnet/archive/newcommand.doc.r18704.tar.xz
2019/02/28 | 496 | systems/texlive/tlnet/archive/newcommand.r18704.tar.xz
-2023/10/17 | 14220820 | systems/texlive/tlnet/archive/newcomputermodern.doc.r68563.tar.xz
-2023/10/17 | 5652784 | systems/texlive/tlnet/archive/newcomputermodern.r68563.tar.xz
+2023/12/06 | 15535876 | systems/texlive/tlnet/archive/newcomputermodern.doc.r69039.tar.xz
+2023/12/06 | 6183796 | systems/texlive/tlnet/archive/newcomputermodern.r69039.tar.xz
2019/02/28 | 1632 | systems/texlive/tlnet/archive/newenviron.doc.r29331.tar.xz
2019/02/28 | 2488 | systems/texlive/tlnet/archive/newenviron.r29331.tar.xz
2019/02/28 | 147644 | systems/texlive/tlnet/archive/newfile.doc.r15878.tar.xz
@@ -299721,9 +299731,9 @@
2022/09/23 | 1608828 | systems/texlive/tlnet/archive/nwejm.doc.r64462.tar.xz
2022/09/23 | 4089760 | systems/texlive/tlnet/archive/nwejm.r64462.tar.xz
2022/09/23 | 49840 | systems/texlive/tlnet/archive/nwejm.source.r64462.tar.xz
-2023/01/12 | 8042572 | systems/texlive/tlnet/archive/oberdiek.doc.r65521.tar.xz
-2023/01/12 | 40024 | systems/texlive/tlnet/archive/oberdiek.r65521.tar.xz
-2023/01/12 | 106480 | systems/texlive/tlnet/archive/oberdiek.source.r65521.tar.xz
+2023/12/06 | 7770012 | systems/texlive/tlnet/archive/oberdiek.doc.r69038.tar.xz
+2023/12/06 | 37060 | systems/texlive/tlnet/archive/oberdiek.r69038.tar.xz
+2023/12/06 | 100772 | systems/texlive/tlnet/archive/oberdiek.source.r69038.tar.xz
2022/01/24 | 261448 | systems/texlive/tlnet/archive/objectz.doc.r61719.tar.xz
2022/01/24 | 9724 | systems/texlive/tlnet/archive/objectz.r61719.tar.xz
2022/01/24 | 15088 | systems/texlive/tlnet/archive/objectz.source.r61719.tar.xz
@@ -300198,6 +300208,9 @@
2019/02/28 | 263692 | systems/texlive/tlnet/archive/pdfprivacy.doc.r45985.tar.xz
2019/02/28 | 1488 | systems/texlive/tlnet/archive/pdfprivacy.r45985.tar.xz
2019/02/28 | 5432 | systems/texlive/tlnet/archive/pdfprivacy.source.r45985.tar.xz
+2023/12/06 | 394684 | systems/texlive/tlnet/archive/pdfrender.doc.r69043.tar.xz
+2023/12/06 | 4980 | systems/texlive/tlnet/archive/pdfrender.r69043.tar.xz
+2023/12/06 | 10028 | systems/texlive/tlnet/archive/pdfrender.source.r69043.tar.xz
2019/02/28 | 576684 | systems/texlive/tlnet/archive/pdfreview.doc.r50100.tar.xz
2019/02/28 | 6448 | systems/texlive/tlnet/archive/pdfreview.r50100.tar.xz
2019/02/28 | 407468 | systems/texlive/tlnet/archive/pdfscreen.doc.r42428.tar.xz
@@ -302715,13 +302728,13 @@
2023/08/16 | 108860 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r67940.tar.xz
2023/08/16 | 87320 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r67940.tar.xz
2023/08/16 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r67940.tar.xz
-2023/12/05 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69035.tar.xz
+2023/12/06 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69044.tar.xz
2023/08/16 | 93764 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r67940.tar.xz
2023/08/16 | 91236 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r67940.tar.xz
2023/08/16 | 76184 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r67940.tar.xz
2023/08/16 | 83936 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r67940.tar.xz
-2023/12/05 | 1120704 | systems/texlive/tlnet/archive/tex4ht.r69035.tar.xz
-2023/12/05 | 1458860 | systems/texlive/tlnet/archive/tex4ht.source.r69035.tar.xz
+2023/12/06 | 1122272 | systems/texlive/tlnet/archive/tex4ht.r69044.tar.xz
+2023/12/06 | 1459276 | systems/texlive/tlnet/archive/tex4ht.source.r69044.tar.xz
2023/08/16 | 184636 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r67940.tar.xz
2023/10/23 | 62056 | systems/texlive/tlnet/archive/tex4ht.windows.r68621.tar.xz
2023/08/16 | 57992 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r67940.tar.xz
@@ -302999,7 +303012,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2023/12/05 | 430444 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69030.tar.xz
+2023/12/06 | 430532 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69037.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
@@ -303021,7 +303034,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2023/12/05 | 114256 | systems/texlive/tlnet/archive/texlive-scripts.r69030.tar.xz
+2023/12/06 | 114256 | systems/texlive/tlnet/archive/texlive-scripts.r69037.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -303880,8 +303893,8 @@
2019/02/28 | 3948 | systems/texlive/tlnet/archive/uebungsblatt.r15878.tar.xz
2019/02/28 | 4250444 | systems/texlive/tlnet/archive/uestcthesis.doc.r36371.tar.xz
2019/02/28 | 17228 | systems/texlive/tlnet/archive/uestcthesis.r36371.tar.xz
-2023/12/04 | 536700 | systems/texlive/tlnet/archive/ufrgscca.doc.r69025.tar.xz
-2023/12/04 | 24092 | systems/texlive/tlnet/archive/ufrgscca.r69025.tar.xz
+2023/12/06 | 538480 | systems/texlive/tlnet/archive/ufrgscca.doc.r69042.tar.xz
+2023/12/06 | 24188 | systems/texlive/tlnet/archive/ufrgscca.r69042.tar.xz
2019/02/28 | 872 | systems/texlive/tlnet/archive/uhc.doc.r16791.tar.xz
2019/02/28 | 3600148 | systems/texlive/tlnet/archive/uhc.r16791.tar.xz
2019/02/28 | 380280 | systems/texlive/tlnet/archive/uhhassignment.doc.r44026.tar.xz
@@ -304379,8 +304392,8 @@
2023/02/18 | 85496 | systems/texlive/tlnet/archive/web.x86_64-linuxmusl.r65877.tar.xz
2023/02/18 | 79076 | systems/texlive/tlnet/archive/web.x86_64-linux.r65877.tar.xz
2023/02/18 | 87104 | systems/texlive/tlnet/archive/web.x86_64-solaris.r65877.tar.xz
-2022/09/14 | 663212 | systems/texlive/tlnet/archive/wheelchart.doc.r64373.tar.xz
-2022/09/14 | 4700 | systems/texlive/tlnet/archive/wheelchart.r64373.tar.xz
+2023/12/06 | 1087704 | systems/texlive/tlnet/archive/wheelchart.doc.r69040.tar.xz
+2023/12/06 | 15492 | systems/texlive/tlnet/archive/wheelchart.r69040.tar.xz
2020/01/16 | 465604 | systems/texlive/tlnet/archive/widetable.doc.r53409.tar.xz
2020/01/16 | 1468 | systems/texlive/tlnet/archive/widetable.r53409.tar.xz
2020/01/16 | 9224 | systems/texlive/tlnet/archive/widetable.source.r53409.tar.xz
@@ -304907,16 +304920,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2023/08/07 | 125713 | systems/texlive/tlnet/install-tl
-2023/12/05 | 5744539 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/12/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/12/05 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/12/06 | 5743382 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/12/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/12/06 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/12/05 | 21035504 | systems/texlive/tlnet/install-tl-windows.exe
-2023/12/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/12/05 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/12/05 | 26029643 | systems/texlive/tlnet/install-tl.zip
-2023/12/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/12/05 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/12/06 | 21035604 | systems/texlive/tlnet/install-tl-windows.exe
+2023/12/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/12/06 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/12/06 | 26029643 | systems/texlive/tlnet/install-tl.zip
+2023/12/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/12/06 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -304968,12 +304981,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/12/05 | 18374269 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/12/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/12/06 | 18375947 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/12/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/10/16 | 87924 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/12/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/12/05 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/12/05 | 2493716 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/12/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/12/06 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/12/06 | 2492892 | 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
@@ -315956,7 +315969,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/12/06 | 186 | timestamp
+2023/12/07 | 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
@@ -317294,40 +317307,40 @@
1999/06/04 | 27445 | usergrps/uktug/baskervi/baskrep.cls
1999/05/12 | 7702 | usergrps/uktug/baskervi/epstopdf
1997/10/01 | 444 | usergrps/uktug/baskervi/README
-2023/09/10 | 9576 | usergrps/usergrps/bg.html
-2023/09/10 | 9245 | usergrps/usergrps/br.html
-2023/09/10 | 9538 | usergrps/usergrps/cn.html
-2023/09/10 | 9331 | usergrps/usergrps/ct.html
-2023/09/10 | 9701 | usergrps/usergrps/cz.html
-2023/09/10 | 9818 | usergrps/usergrps/de.html
-2023/09/10 | 9189 | usergrps/usergrps/dk.html
-2023/09/10 | 9118 | usergrps/usergrps/ee.html
-2023/09/10 | 9477 | usergrps/usergrps/es.html
-2023/09/10 | 9580 | usergrps/usergrps/fr.html
-2023/09/10 | 9355 | usergrps/usergrps/gr.html
-2023/09/10 | 9757 | usergrps/usergrps/hu.html
-2023/09/10 | 9264 | usergrps/usergrps/ie.html
-2023/09/10 | 6371 | usergrps/usergrps/index.html
-2023/09/10 | 9230 | usergrps/usergrps/is.html
-2023/09/10 | 9482 | usergrps/usergrps/it.html
-2023/09/10 | 9209 | usergrps/usergrps/kh.html
-2023/09/10 | 9597 | usergrps/usergrps/kr.html
-2023/09/10 | 10628 | usergrps/usergrps/labels.pdf
-2023/09/07 | 2106 | usergrps/usergrps/labels.tex
-2023/09/10 | 9246 | usergrps/usergrps/lt.html
-2023/09/10 | 33029 | usergrps/usergrps/lugs.html
-2023/09/10 | 47308 | usergrps/usergrps/lugs.pdf
-2023/09/10 | 21072 | usergrps/usergrps/lugs.tex
-2023/09/10 | 9198 | usergrps/usergrps/mx.html
-2023/09/10 | 9535 | usergrps/usergrps/nl.html
-2023/09/10 | 9298 | usergrps/usergrps/no.html
-2023/09/10 | 9764 | usergrps/usergrps/pl.html
-2023/09/10 | 9326 | usergrps/usergrps/pt.html
-2023/09/10 | 9099 | usergrps/usergrps/tw.html
-2023/09/10 | 9365 | usergrps/usergrps/us.html
-2023/09/10 | 9247 | usergrps/usergrps/uy.html
-2023/09/10 | 9319 | usergrps/usergrps/vn.html
-2023/09/10 | 9258 | usergrps/usergrps/za.html
+2023/12/06 | 9575 | usergrps/usergrps/bg.html
+2023/12/06 | 9244 | usergrps/usergrps/br.html
+2023/12/06 | 9537 | usergrps/usergrps/cn.html
+2023/12/06 | 9330 | usergrps/usergrps/ct.html
+2023/12/06 | 9700 | usergrps/usergrps/cz.html
+2023/12/06 | 9817 | usergrps/usergrps/de.html
+2023/12/06 | 9188 | usergrps/usergrps/dk.html
+2023/12/06 | 9117 | usergrps/usergrps/ee.html
+2023/12/06 | 9476 | usergrps/usergrps/es.html
+2023/12/06 | 9579 | usergrps/usergrps/fr.html
+2023/12/06 | 9354 | usergrps/usergrps/gr.html
+2023/12/06 | 9756 | usergrps/usergrps/hu.html
+2023/12/06 | 9263 | usergrps/usergrps/ie.html
+2023/12/06 | 6370 | usergrps/usergrps/index.html
+2023/12/06 | 9296 | usergrps/usergrps/is.html
+2023/12/06 | 9481 | usergrps/usergrps/it.html
+2023/12/06 | 9208 | usergrps/usergrps/kh.html
+2023/12/06 | 9596 | usergrps/usergrps/kr.html
+2023/12/06 | 10649 | usergrps/usergrps/labels.pdf
+2023/12/06 | 2105 | usergrps/usergrps/labels.tex
+2023/12/06 | 9245 | usergrps/usergrps/lt.html
+2023/12/06 | 32856 | usergrps/usergrps/lugs.html
+2023/12/06 | 47421 | usergrps/usergrps/lugs.pdf
+2023/12/06 | 21139 | usergrps/usergrps/lugs.tex
+2023/12/06 | 9197 | usergrps/usergrps/mx.html
+2023/12/06 | 9534 | usergrps/usergrps/nl.html
+2023/12/06 | 9297 | usergrps/usergrps/no.html
+2023/12/06 | 9763 | usergrps/usergrps/pl.html
+2023/12/06 | 9325 | usergrps/usergrps/pt.html
+2023/12/06 | 9098 | usergrps/usergrps/tw.html
+2023/12/06 | 9364 | usergrps/usergrps/us.html
+2023/12/06 | 9246 | usergrps/usergrps/uy.html
+2023/12/06 | 9318 | usergrps/usergrps/vn.html
+2023/12/06 | 9257 | usergrps/usergrps/za.html
1992/12/06 | 2551 | web/aplweb/announcement
1993/11/03 | 802292 | web/aplweb/aplweba.zip
1993/11/03 | 771814 | web/aplweb/aplwebb.zip
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 5c4d5cb3cb..b907721ca0 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 4acedd2d1b..0c0d43e792 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,30 +1,122 @@
+2023/12/06 | 9817 | usergrps/usergrps/de.html
+2023/12/06 | 9763 | usergrps/usergrps/pl.html
+2023/12/06 | 9756 | usergrps/usergrps/hu.html
+2023/12/06 | 9700 | usergrps/usergrps/cz.html
+2023/12/06 | 9596 | usergrps/usergrps/kr.html
+2023/12/06 | 9579 | usergrps/usergrps/fr.html
+2023/12/06 | 9575 | usergrps/usergrps/bg.html
+2023/12/06 | 9537 | usergrps/usergrps/cn.html
+2023/12/06 | 9534 | usergrps/usergrps/nl.html
+2023/12/06 | 9481 | usergrps/usergrps/it.html
+2023/12/06 | 9476 | usergrps/usergrps/es.html
+2023/12/06 | 9364 | usergrps/usergrps/us.html
+2023/12/06 | 9354 | usergrps/usergrps/gr.html
+2023/12/06 | 9330 | usergrps/usergrps/ct.html
+2023/12/06 | 9325 | usergrps/usergrps/pt.html
+2023/12/06 | 9318 | usergrps/usergrps/vn.html
+2023/12/06 | 9297 | usergrps/usergrps/no.html
+2023/12/06 | 9296 | usergrps/usergrps/is.html
+2023/12/06 | 9263 | usergrps/usergrps/ie.html
+2023/12/06 | 9257 | usergrps/usergrps/za.html
+2023/12/06 | 9246 | usergrps/usergrps/uy.html
+2023/12/06 | 9245 | usergrps/usergrps/lt.html
+2023/12/06 | 9244 | usergrps/usergrps/br.html
+2023/12/06 | 9208 | usergrps/usergrps/kh.html
+2023/12/06 | 9197 | usergrps/usergrps/mx.html
+2023/12/06 | 9188 | usergrps/usergrps/dk.html
+2023/12/06 | 9117 | usergrps/usergrps/ee.html
+2023/12/06 | 9098 | usergrps/usergrps/tw.html
+2023/12/06 | 8905 | macros/latex/required/babel/base/babel.ins
+2023/12/06 | 8469 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
+2023/12/06 | 792586 | macros/latex/required/babel/base/babel.dtx
+2023/12/06 | 7770012 | systems/texlive/tlnet/archive/oberdiek.doc.r69038.tar.xz
+2023/12/06 | 7044 | systems/texlive/tlnet/archive/collection-latexextra.r69043.tar.xz
+2023/12/06 | 642032 | macros/latex/required/babel/base/babel-code.pdf
+2023/12/06 | 6370 | usergrps/usergrps/index.html
+2023/12/06 | 6183796 | systems/texlive/tlnet/archive/newcomputermodern.r69039.tar.xz
+2023/12/06 | 5743382 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/12/06 | 538480 | systems/texlive/tlnet/archive/ufrgscca.doc.r69042.tar.xz
+2023/12/06 | 5215 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+2023/12/06 | 49888 | systems/texlive/tlnet/archive/fbox.doc.r69041.tar.xz
+2023/12/06 | 4980 | systems/texlive/tlnet/archive/pdfrender.r69043.tar.xz
+2023/12/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/12/06 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/12/06 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/12/06 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/12/06 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/12/06 | 47421 | usergrps/usergrps/lugs.pdf
+2023/12/06 | 430532 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69037.tar.xz
+2023/12/06 | 417807 | macros/latex/required/babel/base/babel.pdf
+2023/12/06 | 4113827 | biblio/ctan-bibdata.zip
+2023/12/06 | 394684 | systems/texlive/tlnet/archive/pdfrender.doc.r69043.tar.xz
+2023/12/06 | 37089 | macros/latex/contrib/spacingtricks/spacingtricks.dtx
+2023/12/06 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2023/12/06 | 37060 | systems/texlive/tlnet/archive/oberdiek.r69038.tar.xz
+2023/12/06 | 3605244 | install/macros/latex/required/babel-base.tds.zip
+2023/12/06 | 3527 | macros/latex/required/babel/base/bbidxglo.dtx
+2023/12/06 | 32856 | usergrps/usergrps/lugs.html
+2023/12/06 | 3210869 | macros/latex/contrib/proflycee.zip
+2023/12/06 | 302939 | macros/latex/contrib/thermodynamics.zip
+2023/12/06 | 30120 | macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
+2023/12/06 | 2831006 | biblio/ctan-bibdata/ctan.bib
+2023/12/06 | 270368 | macros/latex/contrib/thermodynamics/thermodynamics.pdf
+2023/12/06 | 26029643 | systems/texlive/tlnet/install-tl.zip
+2023/12/06 | 2492892 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/12/06 | 24188 | systems/texlive/tlnet/archive/ufrgscca.r69042.tar.xz
+2023/12/06 | 2304617 | macros/latex/required/babel/base.zip
+2023/12/06 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
+2023/12/06 | 2124 | macros/latex/required/babel/base/README.md
+2023/12/06 | 21139 | usergrps/usergrps/lugs.tex
+2023/12/06 | 2105 | usergrps/usergrps/labels.tex
+2023/12/06 | 21035604 | systems/texlive/tlnet/install-tl-windows.exe
+2023/12/06 | 1904 | systems/texlive/tlnet/archive/fbox.r69041.tar.xz
+2023/12/06 | 18375947 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/12/06 | 182798 | macros/latex/contrib/spacingtricks/spacingtricks.pdf
+2023/12/06 | 172257 | macros/latex/contrib/spacingtricks.zip
+2023/12/06 | 169270 | macros/latex/contrib/thermodynamics/thermodynamics.dtx
+2023/12/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/12/06 | 1642767 | macros/latex/contrib/proflycee/doc/ProfLycee-docctan.zip
+2023/12/06 | 15535876 | systems/texlive/tlnet/archive/newcomputermodern.doc.r69039.tar.xz
+2023/12/06 | 15492 | systems/texlive/tlnet/archive/wheelchart.r69040.tar.xz
+2023/12/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/12/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/12/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/12/06 | 1459276 | systems/texlive/tlnet/archive/tex4ht.source.r69044.tar.xz
+2023/12/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/12/06 | 1444492 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+2023/12/06 | 1420370 | macros/latex/contrib/tutodoc.zip
+2023/12/06 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69044.tar.xz
+2023/12/06 | 1324454 | macros/unicodetex/latex/njuthesis.zip
+2023/12/06 | 114256 | systems/texlive/tlnet/archive/texlive-scripts.r69037.tar.xz
+2023/12/06 | 1122272 | systems/texlive/tlnet/archive/tex4ht.r69044.tar.xz
+2023/12/06 | 1087704 | systems/texlive/tlnet/archive/wheelchart.doc.r69040.tar.xz
+2023/12/06 | 10649 | usergrps/usergrps/labels.pdf
+2023/12/06 | 1037159 | macros/latex/required/babel/base/locale.zip
+2023/12/06 | 100772 | systems/texlive/tlnet/archive/oberdiek.source.r69038.tar.xz
+2023/12/06 | 10028 | systems/texlive/tlnet/archive/pdfrender.source.r69043.tar.xz
2023/12/05 | 94463 | macros/latex/contrib/bookmark/bookmark.dtx
2023/12/05 | 938 | macros/latex/contrib/oberdiek/oberdiek-source.bib
2023/12/05 | 91068 | systems/texlive/tlnet/archive/nicematrix.source.r69034.tar.xz
+2023/12/05 | 903 | macros/latex/contrib/tutodoc/code/tdoc-locale-french.cfg.sty
+2023/12/05 | 880 | macros/latex/contrib/tutodoc/code/tdoc-locale-english.cfg.sty
+2023/12/05 | 730016 | macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf
+2023/12/05 | 710329 | macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf
2023/12/05 | 6358 | macros/latex/contrib/oberdiek/oberdiek-bundle.bib
2023/12/05 | 609388 | systems/texlive/tlnet/archive/heria.doc.r69033.tar.xz
2023/12/05 | 588913 | macros/latex/contrib/ufrgscca.zip
-2023/12/05 | 5744539 | systems/texlive/tlnet/install-tl-unx.tar.gz
2023/12/05 | 543911 | macros/latex/contrib/oberdiek/resizegather.pdf
+2023/12/05 | 525 | macros/latex/contrib/tutodoc/README.md
2023/12/05 | 525958 | macros/latex/contrib/oberdiek/bmpsize.pdf
2023/12/05 | 510 | macros/latex/contrib/bookmark/README.md
2023/12/05 | 507420 | macros/latex/contrib/bookmark.zip
2023/12/05 | 503992 | macros/latex/contrib/bookmark/bookmark.pdf
-2023/12/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/12/05 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/12/05 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/12/05 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/12/05 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/12/05 | 45772 | fonts/newcomputermodern/doc/newcm-doc.tex
-2023/12/05 | 430444 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69030.tar.xz
2023/12/05 | 42204 | systems/texlive/tlnet/archive/nicematrix.r69034.tar.xz
2023/12/05 | 4120 | systems/texlive/tlnet/archive/ltxcmds.r69032.tar.xz
-2023/12/05 | 4113831 | biblio/ctan-bibdata.zip
2023/12/05 | 405944 | systems/texlive/tlnet/archive/ltxcmds.doc.r69032.tar.xz
2023/12/05 | 402906 | macros/latex/contrib/pdfrender.zip
2023/12/05 | 387246 | macros/latex/contrib/oberdiek/fibnum.pdf
2023/12/05 | 377485 | macros/latex/contrib/oberdiek/thepdfnumber.pdf
-2023/12/05 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/12/05 | 359268 | macros/latex/contrib/oberdiek/tabularht.pdf
2023/12/05 | 358522 | macros/latex/contrib/oberdiek/setouterhbox.pdf
2023/12/05 | 348838 | macros/latex/contrib/oberdiek/pdfcolparallel.pdf
@@ -45,11 +137,13 @@
2023/12/05 | 328780 | macros/latex/contrib/oberdiek/hyphsubst.pdf
2023/12/05 | 326428 | fonts/newcomputermodern/otf/NewCM08Devanagari-Regular.otf
2023/12/05 | 324796 | fonts/newcomputermodern/otf/NewCM10Devanagari-Bold.otf
+2023/12/05 | 3231 | macros/unicodetex/latex/njuthesis/njuthesis.ins
2023/12/05 | 322324 | fonts/newcomputermodern/otf/NewCM10Devanagari-Book.otf
2023/12/05 | 321667 | macros/latex/contrib/oberdiek/aliascnt.pdf
2023/12/05 | 321376 | macros/latex/contrib/oberdiek/settobox.pdf
2023/12/05 | 318494 | macros/latex/contrib/oberdiek/chemarr.pdf
2023/12/05 | 317462 | macros/latex/contrib/oberdiek/hypbmsec.pdf
+2023/12/05 | 316167 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
2023/12/05 | 313697 | macros/latex/contrib/oberdiek/hypgotoe.pdf
2023/12/05 | 311530 | macros/latex/contrib/oberdiek/colonequals.pdf
2023/12/05 | 311381 | macros/latex/contrib/oberdiek/flags.pdf
@@ -64,15 +158,15 @@
2023/12/05 | 297233 | macros/latex/contrib/oberdiek/dvipscol.pdf
2023/12/05 | 29459 | macros/latex/contrib/oberdiek/setouterhbox.dtx
2023/12/05 | 292642 | macros/latex/contrib/oberdiek/ifdraft.pdf
+2023/12/05 | 28523 | macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex
2023/12/05 | 28427 | macros/latex/contrib/bookmark/bookmark-frozen.dtx
-2023/12/05 | 2831018 | biblio/ctan-bibdata/ctan.bib
2023/12/05 | 280523 | macros/latex/contrib/oberdiek/tabularkv.pdf
2023/12/05 | 27847 | macros/latex/contrib/oberdiek/pdfcrypt.dtx
2023/12/05 | 277944 | macros/latex/contrib/oberdiek/oberdiek.pdf
2023/12/05 | 26994 | macros/latex/contrib/oberdiek/pdfcolparallel.dtx
2023/12/05 | 2693 | macros/latex/contrib/oberdiek/README.md
+2023/12/05 | 26773 | macros/latex/contrib/tutodoc/doc/tutodoc-en.tex
2023/12/05 | 26109 | macros/latex/contrib/oberdiek/enparen.dtx
-2023/12/05 | 26029643 | systems/texlive/tlnet/install-tl.zip
2023/12/05 | 25860 | systems/texlive/tlnet/archive/heria.source.r69033.tar.xz
2023/12/05 | 25810 | macros/latex/contrib/oberdiek/fibnum.dtx
2023/12/05 | 25691 | macros/latex/contrib/oberdiek/rotchiffre.dtx
@@ -81,55 +175,48 @@
2023/12/05 | 25189060 | fonts/newcomputermodern.zip
2023/12/05 | 25146 | macros/latex/contrib/oberdiek/hypbmsec.dtx
2023/12/05 | 25097 | macros/latex/contrib/oberdiek/eolgrab.dtx
-2023/12/05 | 2493716 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/12/05 | 24890 | macros/latex/contrib/oberdiek/telprint.dtx
2023/12/05 | 24780 | macros/latex/contrib/oberdiek/resizegather.dtx
2023/12/05 | 24106 | macros/latex/contrib/oberdiek/engord.dtx
-2023/12/05 | 238287 | support/TeX4ht/source/ChangeLog
+2023/12/05 | 238472 | support/TeX4ht/source/ChangeLog
+2023/12/05 | 23742 | macros/latex/contrib/tutodoc/code/tutodoc.sty
2023/12/05 | 2188612 | systems/texlive/tlnet/archive/nicematrix.doc.r69034.tar.xz
2023/12/05 | 21668 | macros/latex/contrib/oberdiek/holtxdoc.dtx
2023/12/05 | 21476 | macros/latex/contrib/oberdiek/hypcap.dtx
2023/12/05 | 21343 | macros/latex/contrib/oberdiek/hyphsubst.dtx
2023/12/05 | 2120 | macros/latex/contrib/oberdiek/oberdiek.ins
-2023/12/05 | 21035504 | systems/texlive/tlnet/install-tl-windows.exe
2023/12/05 | 20819 | macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
2023/12/05 | 20812 | macros/latex/contrib/oberdiek/protecteddef.dtx
2023/12/05 | 20045 | macros/latex/contrib/oberdiek/settobox.dtx
2023/12/05 | 19267 | macros/latex/contrib/oberdiek/scrindex.dtx
+2023/12/05 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
2023/12/05 | 18499 | macros/latex/contrib/oberdiek/stampinclude.dtx
-2023/12/05 | 18374269 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2023/12/05 | 18053 | macros/latex/contrib/oberdiek/hypgotoe.dtx
2023/12/05 | 17616 | systems/texlive/tlnet/archive/heria.r69033.tar.xz
2023/12/05 | 1728 | systems/texlive/tlnet/archive/collection-publishers.r69033.tar.xz
+2023/12/05 | 1691 | macros/latex/contrib/tutodoc/MANIFEST.md
2023/12/05 | 16829 | macros/latex/contrib/oberdiek/twoopt.dtx
-2023/12/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/12/05 | 16789 | macros/latex/contrib/oberdiek/flags.dtx
2023/12/05 | 16633 | macros/latex/contrib/oberdiek/classlist.dtx
2023/12/05 | 16614 | macros/latex/contrib/oberdiek/oberdiek.tex
-2023/12/05 | 1659552 | support/TeX4ht/source/tex4ht-fonts-noncjk.tex
+2023/12/05 | 1659578 | support/TeX4ht/source/tex4ht-fonts-noncjk.tex
2023/12/05 | 16564 | macros/latex/contrib/oberdiek/colonequals.dtx
2023/12/05 | 16535 | macros/latex/contrib/oberdiek/aliascnt.dtx
-2023/12/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/12/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2023/12/05 | 15169 | macros/latex/contrib/oberdiek/ifdraft.dtx
2023/12/05 | 15084 | macros/latex/contrib/oberdiek/centernot.dtx
-2023/12/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/12/05 | 1458860 | systems/texlive/tlnet/archive/tex4ht.source.r69035.tar.xz
-2023/12/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/12/05 | 14185 | macros/latex/contrib/oberdiek/dvipscol.dtx
2023/12/05 | 13814400 | fonts/newcomputermodern/source.txz
2023/12/05 | 13782 | macros/latex/contrib/oberdiek/stackrel.dtx
2023/12/05 | 13772 | macros/latex/contrib/oberdiek/chemarr.dtx
-2023/12/05 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69035.tar.xz
2023/12/05 | 13344 | macros/latex/contrib/oberdiek/tabularkv.dtx
2023/12/05 | 13123 | fonts/newcomputermodern/README
2023/12/05 | 12948 | systems/texlive/tlnet/archive/ltxcmds.source.r69032.tar.xz
+2023/12/05 | 1250193 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
2023/12/05 | 1223200 | fonts/newcomputermodern/otf/NewCMMath-Book.otf
2023/12/05 | 12039364 | install/macros/latex/contrib/oberdiek.tds.zip
2023/12/05 | 11934052 | macros/latex/contrib/oberdiek.zip
-2023/12/05 | 114256 | systems/texlive/tlnet/archive/texlive-scripts.r69030.tar.xz
-2023/12/05 | 1120704 | systems/texlive/tlnet/archive/tex4ht.r69035.tar.xz
2023/12/05 | 1092680 | fonts/newcomputermodern/otf/NewCMMath-Regular.otf
+2023/12/05 | 1077 | macros/unicodetex/latex/njuthesis/README.md
2023/12/05 | 106085 | macros/latex/contrib/oberdiek/bmpsize.dtx
2023/12/04 | 987276 | systems/texlive/tlnet/archive/scrabble.doc.r69024.tar.xz
2023/12/04 | 972770 | macros/latex/contrib/nicematrix/nicematrix-code.pdf
@@ -137,7 +224,6 @@
2023/12/04 | 8531 | macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
2023/12/04 | 77380 | macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
2023/12/04 | 7403 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
-2023/12/04 | 7048 | systems/texlive/tlnet/archive/collection-latexextra.r69026.tar.xz
2023/12/04 | 666553 | install/macros/latex/contrib/heria.tds.zip
2023/12/04 | 66238 | macros/generic/ltxcmds/ltxcmds.dtx
2023/12/04 | 6563 | macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -149,7 +235,6 @@
2023/12/04 | 594121 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
2023/12/04 | 590459 | macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
2023/12/04 | 5555 | macros/latex/contrib/ufrgscca/README.md
-2023/12/04 | 536700 | systems/texlive/tlnet/archive/ufrgscca.doc.r69025.tar.xz
2023/12/04 | 51602 | macros/latex/contrib/fbox.zip
2023/12/04 | 48539 | macros/latex/contrib/fbox/doc/fbox.pdf
2023/12/04 | 4599 | macros/latex/contrib/ufrgscca/latex/ufrgscca-terms-en.tex
@@ -170,7 +255,6 @@
2023/12/04 | 27745 | macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
2023/12/04 | 270220 | systems/texlive/tlnet/archive/argumentation.doc.r69023.tar.xz
2023/12/04 | 25540 | macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
-2023/12/04 | 24092 | systems/texlive/tlnet/archive/ufrgscca.r69025.tar.xz
2023/12/04 | 2366196 | macros/latex/contrib/nicematrix.zip
2023/12/04 | 23485 | macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
2023/12/04 | 22548 | macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
@@ -785,13 +869,11 @@
2023/11/30 | 9644 | systems/texlive/tlnet/archive/starray.r69002.tar.xz
2023/11/30 | 9577 | macros/latex/contrib/vectorlogos/doc/vectorlogos-doc.tex
2023/11/30 | 882620 | systems/texlive/tlnet/archive/fvextra.doc.r69001.tar.xz
-2023/11/30 | 8403 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
2023/11/30 | 827216 | systems/texlive/tlnet/archive/yquant.doc.r68997.tar.xz
2023/11/30 | 6967 | macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
2023/11/30 | 61526 | info/biblio/texjourn.bib
2023/11/30 | 59784 | systems/texlive/tlnet/archive/fvextra.source.r69001.tar.xz
2023/11/30 | 57932 | systems/texlive/tlnet/archive/yquant.r68997.tar.xz
-2023/11/30 | 570 | macros/latex/contrib/proflycee/README.md
2023/11/30 | 564 | systems/texlive/tlnet/archive/antique-spanish-units.r68998.tar.xz
2023/11/30 | 5589 | fonts/concmath-otf/concmath-otf.sty
2023/11/30 | 548453 | macros/latex/contrib/vectorlogos.zip
@@ -801,7 +883,6 @@
2023/11/30 | 424 | systems/texlive/tlnet/archive/tlmgrbasics.r68999.tar.xz
2023/11/30 | 372944 | fonts/concmath-otf/Concrete-Math.otf
2023/11/30 | 3442 | macros/latex/contrib/vectorlogos/tex/vectorlogos.sty
-2023/11/30 | 3155520 | macros/latex/contrib/proflycee.zip
2023/11/30 | 2888 | info/biblio/texjourn.ltx
2023/11/30 | 2824 | systems/texlive/tlnet/archive/affilauthor.r68996.tar.xz
2023/11/30 | 2777 | macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-structure.tex
@@ -814,41 +895,5 @@
2023/11/30 | 16886 | fonts/concmath-otf/unimath-concrete.ltx
2023/11/30 | 163396 | systems/texlive/tlnet/archive/tlmgrbasics.doc.r68999.tar.xz
2023/11/30 | 162386 | fonts/concmath-otf/concmath-otf.pdf
-2023/11/30 | 1615785 | macros/latex/contrib/proflycee/doc/ProfLycee-docctan.zip
2023/11/30 | 146792 | fonts/concmath-otf/Concrete-Math-Bold.otf
-2023/11/30 | 1418840 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
2023/11/30 | 13720 | systems/texlive/tlnet/archive/fvextra.r69001.tar.xz
-2023/11/29 | 9777 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
-2023/11/29 | 951039 | macros/latex/contrib/fvextra.zip
-2023/11/29 | 943211 | graphics/pgf/contrib/yquant.zip
-2023/11/29 | 905185 | macros/latex/contrib/fvextra/fvextra.pdf
-2023/11/29 | 8147 | macros/latex/contrib/cjs-rcs-article/README.md
-2023/11/29 | 7916 | macros/latex/contrib/coolfn/coolfndocumentation.tex
-2023/11/29 | 652 | macros/latex/contrib/coolfn/README
-2023/11/29 | 615 | macros/latex/contrib/fvextra/README
-2023/11/29 | 597479 | macros/latex/contrib/affilauthor.zip
-2023/11/29 | 57702 | macros/latex/contrib/coolfn.zip
-2023/11/29 | 54355 | macros/latex/contrib/coolfn/coolfndocumentation.pdf
-2023/11/29 | 481938 | install/macros/latex/contrib/cjs-rcs-article.tds.zip
-2023/11/29 | 38737 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf
-2023/11/29 | 323249 | macros/latex/contrib/fvextra/fvextra.dtx
-2023/11/29 | 2980 | macros/latex/contrib/coolfn/coolfn.sty
-2023/11/29 | 290376 | systems/texlive/tlnet/archive/erewhon-math.r68990.tar.xz
-2023/11/29 | 258872 | systems/texlive/tlnet/archive/xcharter-math.r68992.tar.xz
-2023/11/29 | 251260 | systems/texlive/tlnet/archive/euler-math.r68991.tar.xz
-2023/11/29 | 241701 | macros/latex/contrib/starray.zip
-2023/11/29 | 236182 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
-2023/11/29 | 2349 | macros/latex/contrib/fvextra/fvextra.ins
-2023/11/29 | 230088 | info/spanish/antique-spanish-units.zip
-2023/11/29 | 1993896 | systems/texlive/tlnet/archive/erewhon-math.doc.r68990.tar.xz
-2023/11/29 | 1974672 | systems/texlive/tlnet/archive/xcharter-math.doc.r68992.tar.xz
-2023/11/29 | 19494 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj
-2023/11/29 | 193556 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
-2023/11/29 | 19227 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj
-2023/11/29 | 176709 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf
-2023/11/29 | 1603340 | systems/texlive/tlnet/archive/euler-math.doc.r68991.tar.xz
-2023/11/29 | 1424 | macros/latex/contrib/vectorlogos/README.md
-2023/11/29 | 1190 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj
-2023/11/29 | 112323 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf
-2023/11/29 | 11131 | macros/latex/contrib/affilauthor/affilauthor.sty
-2023/11/29 | 10870 | macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 4235dc9e3b..ab5d3b71a5 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 05-12-2023, 02:00:03
+%% created at 06-12-2023, 02:00:03
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -9444,8 +9444,8 @@
title = {The \texttt{bookmark} package},
subtitle = {A new bookmark (outline) organization for hyperref},
author = {Heiko Oberdiek},
- date = {2020-11-08},
- version = {1.29},
+ date = {2023-12-05},
+ version = {1.30},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/bookmark},
url = {https://ctan.org/pkg/bookmark},
@@ -31675,7 +31675,7 @@
title = {The \texttt{heria} package},
subtitle = {A \LaTeX{} class for Horizon Europe RIA and IA grant proposals},
author = {Tristan Miller},
- date = {2023-12-04},
+ date = {2023-12-05},
version = {3.2.1.0},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/heria},
@@ -48515,8 +48515,8 @@
title = {The \texttt{NewComputerModern} package},
subtitle = {Computer Modern fonts including matching non-latin alphabets},
author = {Antonis Tsolomitis},
- date = {2023-10-16},
- version = {4.7},
+ date = {2023-12-05},
+ version = {5.0},
license = {gfl},
mirror = {https://mirror.ctan.org/fonts/newcomputermodern},
url = {https://ctan.org/pkg/newcomputermodern},
@@ -49920,7 +49920,7 @@
title = {The \texttt{oberdiek} package},
subtitle = {A bundle of packages submitted by Heiko Oberdiek},
author = {Heiko Oberdiek},
- date = {2023-01-10},
+ date = {2023-12-05},
version = {},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek},
@@ -52433,10 +52433,10 @@
title = {The \texttt{pdfrender} package},
subtitle = {Control rendering parameters},
author = {Heiko Oberdiek},
- date = {2019-12-31},
- version = {1.6},
- license = {lppl1.3},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/oberdiek/pdfrender.dtx},
+ date = {2023-12-05},
+ version = {1.7},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/pdfrender},
url = {https://ctan.org/pkg/pdfrender},
annotation = {The package provides interfaces for the user to control PDF
parameters, such as line width or text rendering mode. The
@@ -73428,8 +73428,8 @@
title = {The \texttt{ufrgscca} package},
subtitle = {A bundle for undergraduate students final work/report (tcc) at UFRGS/EE},
author = {Alceu Frigeri},
- date = {2023-12-02},
- version = {2.2},
+ date = {2023-12-05},
+ version = {2.3},
license = {lppl1.3c,gpl},
mirror = {https://mirror.ctan.org/macros/latex/contrib/ufrgscca},
url = {https://ctan.org/pkg/ufrgscca},
diff --git a/macros/latex/contrib/proflycee/README.md b/macros/latex/contrib/proflycee/README.md
index bdafe102e4..11502d6f77 100644
--- a/macros/latex/contrib/proflycee/README.md
+++ b/macros/latex/contrib/proflycee/README.md
@@ -1,10 +1,13 @@
You are a french mathematics teacher ?
proflycee may be a useful package to daily use of LaTeX.
------------------------------------------------------------------------------
+
+----------------
+
Vous êtes un enseignant de mathématiques en lycée ?
proflycee est un package qui pourra vous aider à utiliser LaTeX au quotidien.
------------------------------------------------------------------------------
-Author.....: Cédric Pierquet
-email......: cpierquet@outlook.fr
-Licence....: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+----------------
+
+Author : Cédric Pierquet
+email : cpierquet@outlook.fr
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index c35a881442..21a32e22f8 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
new file mode 100644
index 0000000000..0dfda9ed87
--- /dev/null
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
@@ -0,0 +1,272 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pythontex: {rerun: always}
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[a4paper,french,11pt]{article}
+\def\PLversion{3.01a}
+\def\PLdate{6 décembre 2023}
+\usepackage{amsfonts}
+\usepackage{ProfLycee}
+\useproflyclib{piton,minted,pythontex,ecritures}
+\usepackage[math-style=french]{fourier-otf}
+\usepackage{mathrsfs}%pour mathscr
+\usepackage{awesomebox}
+\usepackage[lua]{tkz-euclide}
+\usepackage{tkz-tab}
+\tikzstyle{every picture}+=[remember picture]
+\usetikzlibrary{hobby}
+\usepackage[group-minimum-digits=4]{siunitx}
+\sisetup{locale=FR}
+\usepackage{enumitem}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\usepackage{tabularray}
+\usepackage{multicol}
+\DeclareMathSymbol{;}\mathbin{operators}{'73} %espacement avec ;
+%fancy
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily \small [ProfLycee]}
+\cfoot{\sffamily \small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+\usepackage{graphics}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+\newcommand\TableauDocumentation{%
+ \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\huge\sffamily}}
+ {\LaTeX} & {\hologo{pdfLaTeX}} & {\hologo{LuaLaTeX}} & {\TikZ} & {\TeXLive} & {\hologo{MiKTeX}} \\
+ \end{tblr}
+}
+\usepackage{simplekv}
+\usepackage{menukeys}
+\let\tab\relax
+\usepackage{tabto}
+\usepackage{pgf,pgfplots}
+\pgfplotsset{compat=newest,xlabel near ticks,ylabel near ticks}
+\usepackage{listofitems}
+\usepackage{xintexpr}
+\usepackage{codehigh}
+\usepackage{scontents}
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage{geometry}
+\geometry{margin=1.5cm}
+\usepackage{babel}
+\usepackage{newverbs}
+
+\input{ProfLycee-doc-macropreamb.tex}
+
+\input{ProfLycee-doc-pagegarde.tex}
+
+\newpage
+
+\phantomsection
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Introduction}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-introduction.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Liste des commandes}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-listecommandes.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Écritures mathématiques}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-ecritures.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Outils pour l'analyse}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-outilsanalyse.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Outils graphiques}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-outilsgraphiques.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Présentation de codes}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-prescodes.tex}
+
+\pagebreak
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Outils pour la géométrie}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-outilsgeom.tex}
+
+\pagebreak
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Outils pour la géométrie analytique}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-outilsgeomanalyt.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Outils pour les statistiques}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-stats.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Outils pour les probabilités}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-probas.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Outils pour l'arithmétique}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-arithm.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Écritures, simplifications}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-simplif.tex}
+
+\pagebreak
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Jeux et récréations}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-jeuxrecreat.tex}
+
+\newpage
+
+\phantom{t}\par\vfill\par
+\begin{PART}
+ \begin{center}
+ \Huge\MakeUppercase{Historique}
+ \end{center}
+\end{PART}
+\par\vfill\par\phantom{t}
+
+\newpage
+
+\input{ProfLycee-doc-historique.tex}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index 1a9535be02..6d2d836957 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,8 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/11/30 3.00g Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/12/06 3.01a Aide pour l'utilisation de LaTeX en lycee]
+% 3.01a Ajout des courbes ECC/FCC + paramètres par interpolation
% 3.00g Amélioration de la marge Gauche dans le PseudoCode
% 3.00f Conversion d'une écriture décimale périodique en fraction (avec rédaction éventuelle)
% 3.00e Ajout des 'machines à transformer' + Correction d'un nom de commande (cc ProfCollege ^^)
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
index eafa4c5909..335b524ec2 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
@@ -2,6 +2,7 @@
% Copyright 2023 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+%3.01a Courbe ECC
%2.6.8 Grille histogrammes non réguliers
%2.6.7 Histogrammes
@@ -482,4 +483,296 @@
{}%
}
+%%----Courbe ECC
+%\usetikzlibrary{intersections}
+
+% \newcommand\recuptikzxy[3]{%
+ % \tikz@scan@one@point\pgfutil@firstofone#1\relax
+ % \edef#2{\the\pgf@x}%
+ % \edef#3{\the\pgf@y}%
+% }
+
+\defKV[courbeECC]{%
+ Largeur=\def\ecc@larg@graph{#1},%
+ Hauteur=\def\ecc@haut@graph{#1},%
+ PasX=\def\ecc@grille@x{#1},%
+ PasY=\def\ecc@grille@y{#1},%
+ Couleur=\def\ecc@coul@graph{#1},%
+ CouleursParams=\def\ecc@coul@params{#1},%
+ GraduationsX=\def\ecc@gradx@graph{#1},%
+ GraduationsY=\def\ecc@grady@graph{#1},%
+ PoliceAxes=\def\ecc@font@axes{#1},%
+ ElargirAxes=\def\ecc@elarg@axes{#1}
+}
+
+\setKVdefault[courbeECC]{%
+ Largeur=15,%
+ Hauteur=10,%
+ PasX=50,%
+ PasY=50,%
+ Couleur=blue,%
+ AffParams=true,%
+ CouleursParams={CouleurVertForet/red},%
+ GraduationsX={\DonneesXmin},%
+ GraduationsY={0},%
+ PoliceAxes=\normalsize\normalfont,%
+ ElargirOx=true,%
+ ElargirOy=true,%
+ ElargirAxes=3mm
+}
+
+\tikzset{traitsparamecc/.style={line width=1pt,densely dashed}}
+\tikzset{courbeecc/.style={line width=1pt}}
+\tikzset{gradsecc/.style={thick}}
+\tikzset{axesecc/.style={gradsecc,->,>=latex}}
+
+\NewDocumentCommand\CourbeECCStylesDefaut{ }{%
+ \tikzset{traitsparamecc/.style={line width=1pt,densely dashed}}
+ \tikzset{courbeecc/.style={line width=1pt}}
+ \tikzset{gradsecc/.style={thick}}
+ \tikzset{axesecc/.style={gradsecc,->,>=latex}}
+}
+
+\NewDocumentCommand\CourbeECC{ O{} m m }{%
+ \restoreKV[courbeECC]%
+ \setKV[courbeECC]{#1}%
+ \IfSubStr{\ecc@coul@params}{/}%
+ {%
+ \StrCut{\ecc@coul@params}{/}{\ecc@coul@quart}{\ecc@coul@med}%
+ }%
+ {%
+ \def\ecc@coul@quart{\ecc@coul@params}\def\ecc@coul@med{\ecc@coul@params}%
+ }%
+ \readlist*\DataClass{#2}%
+ \readlist*\DataEff{#3}%
+ \xdef\DonneesECC{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+ \xdef\DonneesTmp{0}
+ \xintFor* ##2 in {\xintSeq{1}{##1}}\do{%
+ \xdef\DonneesTmp{\xintfloateval{\DonneesTmp+\DataEff[##2]}}%
+ }%
+ \xdef\DonneesECC{\DonneesECC,\DonneesTmp}%
+ }%
+ \readlist*\DataECC\DonneesECC%
+ \itemtomacro\DataClass[1]\DonneesXmin%
+ \itemtomacro\DataClass[-1]\DonneesXmax%
+ \itemtomacro\DataECC[-1]\DonneesEffMax%
+ \xdef\UniteGraphiqueX{\xintfloateval{(\ecc@larg@graph)/(\DonneesXmax-\DonneesXmin)}}%
+ \xdef\UniteGraphiqueY{\xintfloateval{(\ecc@haut@graph)/(\DonneesEffMax)}}%
+ \xdef\DonneesListeECC{(\DataClass[1],\DataECC[1])}%
+ \xintFor* ##1 in {\xintSeq{2}{\DataECClen}}\do{%
+ \xdef\DonneesListeECC{\DonneesListeECC--(\DataClass[##1],\DataECC[##1])}%
+ }%
+ %paramètres par interpolation
+ \xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+ \xdef\isuiv{\xinteval{##1+1}}%
+ \xintifboolexpr{\DataECC[##1] < (0.25*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.25*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValPremQuartile{\xintfloateval{(0.25*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ \xintifboolexpr{\DataECC[##1] < (0.50*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.50*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValMed{\xintfloateval{(0.50*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ \xintifboolexpr{\DataECC[##1] < (0.75*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.75*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValTroisQuartile{\xintfloateval{(0.75*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ }%
+ %graphique
+ \begin{tikzpicture}[x=\UniteGraphiqueX cm,y=\UniteGraphiqueY cm]
+ \draw[xstep=\ecc@grille@x,ystep=\ecc@grille@y,thin,lightgray] (\DonneesXmin,0) grid (\DonneesXmax,\DonneesEffMax) ;
+ %modif axes avec pgffor :-(
+ \foreach \valx in \ecc@gradx@graph {%
+ \draw[gradsecc] (\valx,3pt)--++(0,-6pt) node[below,font=\ecc@font@axes] {\num{\valx}} ;
+ }
+ \foreach \valy in \ecc@grady@graph {%
+ \draw[gradsecc] ($({\DonneesXmin},\valy)+(3pt,0)$)--++(-6pt,0) node[left,font=\ecc@font@axes] {\num{\valy}} ;
+ }
+ \ifboolKV[courbeECC]{ElargirOx}%
+ {%
+ \draw[axesecc] (\DonneesXmin,0)--($(\DonneesXmax,0)+(\ecc@elarg@axes,0)$) ;
+ }%
+ {%
+ \draw[axesecc] (\DonneesXmin,0)--(\DonneesXmax,0) ;
+ }%
+ \ifboolKV[courbeECC]{ElargirOy}%
+ {%
+ \draw[axesecc] (\DonneesXmin,0)--($(\DonneesXmin,\DonneesEffMax)+(0,\ecc@elarg@axes)$) ;
+ }%
+ {%
+ \draw[axesecc] (\DonneesXmin,0)--(\DonneesXmin,\DonneesEffMax) ;
+ }%
+ \draw[courbeecc,\ecc@coul@graph] \DonneesListeECC ;
+ \xintFor* ##1 in {\xintSeq{1}{\DataECClen}}\do{%
+ \filldraw[\ecc@coul@graph] (\DataClass[##1],\DataECC[##1]) circle[radius=2pt] ;
+ }%
+ \ifboolKV[courbeECC]{AffParams}%
+ {%
+ \draw[traitsparamecc,\ecc@coul@quart] (\DonneesXmin,{0.25*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+ \draw[traitsparamecc,\ecc@coul@med] (\DonneesXmin,{0.50*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+ \draw[traitsparamecc,\ecc@coul@quart] (\DonneesXmin,{0.75*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+ \draw[traitsparamecc,\ecc@coul@quart] (\ValPremQuartile,{0.25*\DonneesEffMax})--(\ValPremQuartile,0) ; \draw[\ecc@coul@quart,thick,fill=white] (\ValPremQuartile,{0.25*\DonneesEffMax}) circle[radius=2pt] ;
+ \draw[traitsparamecc,\ecc@coul@quart] (\ValTroisQuartile,{0.75*\DonneesEffMax})--(\ValTroisQuartile,0) ; \draw[\ecc@coul@quart,thick,fill=white] (\ValTroisQuartile,{0.75*\DonneesEffMax}) circle[radius=2pt] ;
+ \draw[traitsparamecc,\ecc@coul@med] (\ValMed,{0.5*\DonneesEffMax})--(\ValMed,0) ; \draw[\ecc@coul@med,thick,fill=white] (\ValMed,{0.5*\DonneesEffMax}) circle[radius=2pt] ;
+ }%
+ {}%
+ \end{tikzpicture}%
+ \CourbeECCStylesDefaut%
+}
+
+\NewDocumentEnvironment{EnvCourbeECC}{ O{} m m }%
+{%
+ \restoreKV[courbeECC]%
+ \setKV[courbeECC]{#1}%
+ \IfSubStr{\ecc@coul@params}{/}%
+ {%
+ \StrCut{\ecc@coul@params}{/}{\ecc@coul@quart}{\ecc@coul@med}%
+ }%
+ {%
+ \def\ecc@coul@quart{\ecc@coul@params}%
+ \def\ecc@coul@med{\ecc@coul@params}%
+ }%
+ \readlist*\DataClass{#2}%
+ \readlist*\DataEff{#3}%
+ \xdef\DonneesECC{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+ \xdef\DonneesTmp{0}
+ \xintFor* ##2 in {\xintSeq{1}{##1}}\do{%
+ \xdef\DonneesTmp{\xintfloateval{\DonneesTmp+\DataEff[##2]}}%
+ }%
+ \xdef\DonneesECC{\DonneesECC,\DonneesTmp}%
+ }%
+ \readlist*\DataECC\DonneesECC%
+ \itemtomacro\DataClass[1]\DonneesXmin%
+ \itemtomacro\DataClass[-1]\DonneesXmax%
+ \itemtomacro\DataECC[-1]\DonneesEffMax%
+ \xdef\UniteGraphiqueX{\xintfloateval{(\ecc@larg@graph)/(\DonneesXmax-\DonneesXmin)}}%
+ \xdef\UniteGraphiqueY{\xintfloateval{(\ecc@haut@graph)/(\DonneesEffMax)}}%
+ \xdef\DonneesListeECC{(\DataClass[1],\DataECC[1])}%
+ \xintFor* ##1 in {\xintSeq{2}{\DataECClen}}\do{%
+ \xdef\DonneesListeECC{\DonneesListeECC--(\DataClass[##1],\DataECC[##1])}%
+ }%
+ %paramètres par interpolation
+ \xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+ \xdef\isuiv{\xinteval{##1+1}}%
+ \xintifboolexpr{\DataECC[##1] < (0.25*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.25*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValPremQuartile{\xintfloateval{(0.25*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ \xintifboolexpr{\DataECC[##1] < (0.50*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.50*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValMed{\xintfloateval{(0.50*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ \xintifboolexpr{\DataECC[##1] < (0.75*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.75*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValTroisQuartile{\xintfloateval{(0.75*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ }%
+ %graphique
+ \begin{tikzpicture}[x=\UniteGraphiqueX cm,y=\UniteGraphiqueY cm]
+ \draw[xstep=\ecc@grille@x,ystep=\ecc@grille@y,thin,lightgray] (\DonneesXmin,0) grid (\DonneesXmax,\DonneesEffMax) ;
+ %modif axes avec pgffor :-(
+ \foreach \valx in \ecc@gradx@graph {%
+ \draw[gradsecc] (\valx,3pt)--++(0,-6pt) node[below,font=\ecc@font@axes] {\num{\valx}} ;
+ }
+ \foreach \valy in \ecc@grady@graph {%
+ \draw[gradsecc] ($({\DonneesXmin},\valy)+(3pt,0)$)--++(-6pt,0) node[left,font=\ecc@font@axes] {\num{\valy}} ;
+ }
+ \ifboolKV[courbeECC]{ElargirOx}%
+ {%
+ \draw[axesecc] (\DonneesXmin,0)--($(\DonneesXmax,0)+(\ecc@elarg@axes,0)$) ;
+ }%
+ {%
+ \draw[axesecc] (\DonneesXmin,0)--(\DonneesXmax,0) ;
+ }%
+ \ifboolKV[courbeECC]{ElargirOy}%
+ {%
+ \draw[axesecc] (\DonneesXmin,0)--($(\DonneesXmin,\DonneesEffMax)+(0,\ecc@elarg@axes)$) ;
+ }%
+ {%
+ \draw[axesecc] (\DonneesXmin,0)--(\DonneesXmin,\DonneesEffMax) ;
+ }%
+ \draw[courbeecc,\ecc@coul@graph] \DonneesListeECC ;
+ \xintFor* ##1 in {\xintSeq{1}{\DataECClen}}\do{%
+ \filldraw[\ecc@coul@graph] (\DataClass[##1],\DataECC[##1]) circle[radius=2pt] ;
+ }%
+ \ifboolKV[courbeECC]{AffParams}%
+ {%
+ \draw[traitsparamecc,\ecc@coul@quart] (\DonneesXmin,{0.25*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+ \draw[traitsparamecc,\ecc@coul@med] (\DonneesXmin,{0.50*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+ \draw[traitsparamecc,\ecc@coul@quart] (\DonneesXmin,{0.75*\DonneesEffMax})--++({\DonneesXmax-\DonneesXmin},0);
+ \draw[traitsparamecc,\ecc@coul@quart] (\ValPremQuartile,{0.25*\DonneesEffMax})--(\ValPremQuartile,0) ; \draw[\ecc@coul@quart,thick,fill=white] (\ValPremQuartile,{0.25*\DonneesEffMax}) circle[radius=2pt] ;
+ \draw[traitsparamecc,\ecc@coul@quart] (\ValTroisQuartile,{0.75*\DonneesEffMax})--(\ValTroisQuartile,0) ; \draw[\ecc@coul@quart,thick,fill=white] (\ValTroisQuartile,{0.75*\DonneesEffMax}) circle[radius=2pt] ;
+ \draw[traitsparamecc,\ecc@coul@med] (\ValMed,{0.5*\DonneesEffMax})--(\ValMed,0) ; \draw[\ecc@coul@med,thick,fill=white] (\ValMed,{0.5*\DonneesEffMax}) circle[radius=2pt] ;
+ }%
+ {}%
+ % \path[name intersections={of=CourbeECC and Quartile1,by=Q1}];
+ % \path[name intersections={of=CourbeECC and Mediane,by=Q2}];
+ % \path[name intersections={of=CourbeECC and Quartile3,by=Q3}];
+ % \recuptikzxy{(Q1)}{\xqun}{\yqun}%
+ % \xdef\ValPremQuartile{\xintfloateval{(0.03515*\fpeval{\xqun})/\UniteGraphiqueX}}%
+ % \recuptikzxy{(Q2)}{\xmediane}{\ymediane}
+ % \xdef\ValMed{\xintfloateval{(0.03515*\fpeval{\xmediane})/\UniteGraphiqueX}}%
+ % \recuptikzxy{(Q3)}{\xqtrois}{\yqtrois}%
+ % \xdef\ValTroisQuartile{\xintfloateval{(0.03515*\fpeval{\xqtrois})/\UniteGraphiqueX}}%
+}%
+{%
+ \end{tikzpicture}%
+ \CourbeECCStylesDefaut%
+}
+
+%détermination 'simple' des paramètres
+\NewDocumentCommand\MedianeQuartilesECC{ m m }{%
+ %lecture des listes
+ \readlist*\DataClass{#1}%
+ \readlist*\DataEff{#2}%
+ %création etlecture de la liste des ECC
+ \xdef\DonneesECC{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+ \xdef\DonneesTmp{0}%
+ \xintFor* ##2 in {\xintSeq{1}{##1}}\do{%
+ \xdef\DonneesTmp{\xintfloateval{\DonneesTmp+\DataEff[##2]}}%
+ }%
+ \xdef\DonneesECC{\DonneesECC,\DonneesTmp}%
+ }%
+ \readlist*\DataECC\DonneesECC%
+ %effectif total + nb
+ \itemtomacro\DataECC[-1]\DonneesEffMax%
+ %détermination de Q1, par balayage + par interpolation
+ \xintFor* ##1 in {\xintSeq{1}{\DataEfflen}}\do{%
+ \xdef\isuiv{\xinteval{##1+1}}%
+ \xintifboolexpr{\DataECC[##1] < (0.25*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.25*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValPremQuartile{\xintfloateval{(0.25*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ \xintifboolexpr{\DataECC[##1] < (0.50*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.50*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValMed{\xintfloateval{(0.50*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ \xintifboolexpr{\DataECC[##1] < (0.75*\DonneesEffMax) 'and' \DataECC[\isuiv] >= (0.75*\DonneesEffMax)}%
+ {%
+ \xdef\pentetmpECC{(\DataECC[\isuiv]-\DataECC[##1])/(\DataClass[\isuiv]-\DataClass[##1])}%OK
+ \xdef\ValTroisQuartile{\xintfloateval{(0.75*\DonneesEffMax+\pentetmpECC*\DataClass[##1]-\DataECC[##1])/(\pentetmpECC)}}%
+ }
+ {}%
+ }%
+}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/spacingtricks/spacingtricks.dtx b/macros/latex/contrib/spacingtricks/spacingtricks.dtx
index f6c14e621c..5a75a47aa6 100644
--- a/macros/latex/contrib/spacingtricks/spacingtricks.dtx
+++ b/macros/latex/contrib/spacingtricks/spacingtricks.dtx
@@ -20,7 +20,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{spacingtricks}
- [2023/07/28 v1.7 .dtx spacingtricks file]
+ [2023/12/06 v1.8 .dtx spacingtricks file]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -58,7 +58,7 @@
%</driver>
% \fi
%
-% \CheckSum{246}
+% \CheckSum{261}
%
% \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
@@ -114,13 +114,16 @@
%
% \changes{v1.7}{2023/07/27}{
% - Minor adjustments in the documentation}
+
+% \changes{v1.8}{2023/12/05}{
+% - New macro cstrut}
%
% \GetFileInfo{spacingtricks.sty}
%
% \title{The \textsf{spacingtricks} package\thanks{This document
% corresponds to \textsf{spacingtricks}~\fileversion, dated \filedate.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{July 28, 2023}
+% \date{December 6, 2023}
% \maketitle
%
% \section{Introduction}
@@ -132,7 +135,8 @@
% \item \hyperlink{footnote}{\texttt{\bslash footnote}} has been redefined
% to avoid unsuitable spacing in certain cases.
% \item \hyperlink{vstrut}{\texttt{\bslash vstrut}} generates a strut
-% with variable height or depth for maintaining consistent vertical spacing.
+% with variable height or depth for maintaining consistent vertical spacing,
+% and \hyperlink{cstrut}{\texttt{\bslash cstrut}} being symmetric around the mathematical axis.
% \item \hyperlink{indent}{\texttt{\bslash indent}} has been redefined
% to indent a line at the beginning
% of a particular paragraph even if "\parindent" has been set to 0.
@@ -341,8 +345,8 @@
%
% \begin{juxtapose}
% \begin{verbatim}
-%\[\frac{\sqrt{0.5p}}{10} =
-%\frac{\sqrt{\vstrut{1.7ex} 0.5p}}{10}\]
+%\[\frac{\sqrt{0.5p}}{10}
+% = \frac{\sqrt{\vstrut{1.7ex} 0.5p}}{10}\]
% \end{verbatim}
% \otherside
% \[\frac{\sqrt{0.5p}}{10} = \frac{\sqrt{\vstrut{1.7ex} 0.5p}}{10}\]
@@ -352,19 +356,21 @@
% \fbox{\vstrut{2ex}$\sigma(X)=1$}
% better than \fbox{$\sigma(X)=1$}.
%
+% % \hypertarget{cstrut}{}
% \medskip
-% \noindent
-% Adjusting the height using "\vstrut" is done by trial and error.
-% While a vertical phantom box would provide a good result,
-% for example "\vphantom{\bar{t}}" in the previous square root,
-% it's not obvious to know what to put in the phantom box.
-% Moreover, "\vstrut" allows a finer tuning.
+% \DescribeMacro{\cstrut}
+% The "\cstrut" macro is a alternative of "\vstrut" that adds a symmetric strut in height
+% and depth relative to the mathematical center line, which is halfway the height of an `x'.
+% It takes a single parameter "\cstrut"\marg{height}.
+% It's useful in \texttt{array} environments as it maintains
+% the mathematical axis at the center of the cell with \meta{height}
+% above and under.
%
% In a table, using
% "\renewcommand{\arraystretch}"\marg{stretch}
% allows you to increase the height of all rows, but it
-% has a global effect, whereas "\vstrut" allows to adjust the height of each row individually,
-% as in the following table:
+% has a global effect, whereas "\cstrut" (or "\vstrut") allows to adjust the height
+% of each row individually, as in the following table:
% \[
% \begin{array}{|c|}
% \hline
@@ -382,10 +388,10 @@
% \hline
% \multicolumn{2}{|c|}{\text{good}}\\
% \hline
-% \displaystyle\lim_{\substack{x \to 1\\x>1}} \ln\left(\dfrac{x^2}{x-1}\right)\vstrut{3.8ex}
-% & \mbox{obtained with } "\vstrut{3.8ex}" \\
+% \displaystyle\lim_{\substack{x \to 1\\x>1}} \ln\left(\dfrac{x^2}{x-1}\right)\cstrut{3.8ex}
+% & \mbox{obtained with } "\cstrut{3.8ex}" \\
% \hline
-% \dfrac{a}{b} \vstrut[2ex]{3ex} & "\vstrut[2ex]{3ex}" \\
+% \dfrac{a}{b} \cstrut{2.5ex} & "\cstrut{2.5ex}" \\
% \hline
% \displaystyle\int_{1}^{X} \frac{1}{t} \, \mathrm{d} t \vstrut[2.5ex]{4.2ex}
% & "\vstrut[2.5ex]{4.2ex}" \\
@@ -394,10 +400,7 @@
%\]
% However, for tables, we have the \textsf{arraycols} package~\cite{ARCOL},
% which is based on \textsf{cellspace}~\cite{CELLSP} and it allows to automatically adjust
-% row heights. Nevertheless, "\vstrut" can be useful for fine adjustments.
-%
-% In a text line "\vstrut" can be used to increase line space,
-% and is better than "\vspace".
+% row heights. Nevertheless, "\cstrut" and "\vstrut" can be useful for fine adjustments.
%
% \hypertarget{indent}{}
% \medskip
@@ -740,11 +743,21 @@
\newcommand*{\vstrut}[2][0pt]{%
\setlength{\strutheight}{#2}%
\addtolength{\strutheight}{#1}%
- \unskip
- \ensuremath{\rule[-#1]{0pt}{\strutheight}}%
+ \unskip%
+ \rule[-#1]{0pt}{\strutheight}%
\ignorespaces%
}
+\newlength{\strutdepth}
+\newcommand*{\cstrut}[1]{%
+ \setlength\strutdepth{#1}%
+ \setlength\strutheight{2\strutdepth}% total height
+ \addtolength{\strutdepth}{-0.5ex}%
+ \unskip%
+ \rule[-\strutdepth]{0pt}{\strutheight}%
+ \ignorespaces%
+}
+
\newlength{\parindentlength}
\setlength{\parindentlength}{\parindent}
\renewcommand{\indent}{\hspace{\parindentlength}}
@@ -854,9 +867,9 @@
% \bibitem{MAFR} \emph{La distribution \textsf{mafr}}, Christian Obrecht,
% CTAN, v1.0 17/09/2006.
% \bibitem{ARCOL} \emph{The \textsf{arraycols} package}, Antoine Missier, CTAN,
-% v1.2 2021/09/20.
+% v1.4 2031/09/13.
% \bibitem{MSMATH} \emph{\textsf{mismath} -- Miscellaneous mathematical macros},
-% Antoine Missier, CTAN, v2.5 2023/02/24.
+% Antoine Missier, CTAN, v2.8 2023/07/27.
% \bibitem{FVERB} \emph{The \textsf{‘fancyvrb’} package -- Fancy Verbatims in \LaTeX},
% Timothy Van Zandt, CTAN, v4.5a 2023/01/19.
% \bibitem{MKCELL} \emph{The \textsf{makecell} package}, Olga Lapko, CTAN, v0.1e 2009/08/03.
diff --git a/macros/latex/contrib/spacingtricks/spacingtricks.pdf b/macros/latex/contrib/spacingtricks/spacingtricks.pdf
index b2a9b54e38..417fafc0d8 100644
--- a/macros/latex/contrib/spacingtricks/spacingtricks.pdf
+++ b/macros/latex/contrib/spacingtricks/spacingtricks.pdf
Binary files differ
diff --git a/macros/latex/contrib/thermodynamics/thermodynamics.dtx b/macros/latex/contrib/thermodynamics/thermodynamics.dtx
index 7d6904c9ee..972a2b6b0c 100644
--- a/macros/latex/contrib/thermodynamics/thermodynamics.dtx
+++ b/macros/latex/contrib/thermodynamics/thermodynamics.dtx
@@ -36,7 +36,7 @@
%<package>\RequirePackage{expl3}
%<package>\ProvidesPackage{thermodynamics}
%<*package>
- [2023/11/16 v2.00 thermodynamics notation]
+ [2023/12/05 v2.01 thermodynamics notation]
%</package>
%^^X {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
%<*driver>
@@ -3147,6 +3147,7 @@
% \begin{macro}{\NewSuperscriptedSymbol}
% \changes{v2.00}{2023/11/16}{Created \cs{NewSuperscriptedSymbol} to handle
% superscripted excess and residual properties without intervention.}
+% \changes{v2.01}{2023/12/05}{Fixed two typos in \cs{NewSuperscriptedSymbol}.}
% \begin{macrocode}
\NewDocumentCommand{\NewSuperscriptedSymbol}{m m m}
{
@@ -3160,10 +3161,10 @@
}
\cs_new:cpn {\cs_to_str:N #1_one:n} ##1
{
- {#2}\c_math_subscript_token{#1}
+ {#2}\c_math_subscript_token{##1}
\peek_catcode_remove:NTF \c_math_superscript_token
- { \use:c {\cs_to_str:N #1_one:n} }
- { \c_math_subscript_token{#3} }
+ { \use:c {\cs_to_str:N #1_three:n} }
+ { \c_math_superscript_token{#3} }
}
\cs_new:cpn {\cs_to_str:N #1_two:n} ##1
diff --git a/macros/latex/contrib/thermodynamics/thermodynamics.pdf b/macros/latex/contrib/thermodynamics/thermodynamics.pdf
index e4106e74cd..389a58d238 100644
--- a/macros/latex/contrib/thermodynamics/thermodynamics.pdf
+++ b/macros/latex/contrib/thermodynamics/thermodynamics.pdf
Binary files differ
diff --git a/macros/latex/contrib/tutodoc/MANIFEST.md b/macros/latex/contrib/tutodoc/MANIFEST.md
new file mode 100644
index 0000000000..6c712e7180
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/MANIFEST.md
@@ -0,0 +1,72 @@
+# Manifest for tutodoc
+
+This file is a listing of all files considered to be part of this package.
+It is automatically generated with `l3build manifest`.
+
+
+## Repository manifest
+
+The following groups list the files included in the development repository of the package.
+Files listed with a ‘†’ marker are included in the TDS but not CTAN files, and files listed
+with ‘‡’ are included in both.
+
+### Source files
+
+These are source files for a number of purposes, including the `unpack` process which
+generates the installation files of the package. Additional files included here will also
+be installed for processing such as testing.
+
+* tdoc-locale-english.cfg.sty †
+* tdoc-locale-french.cfg.sty †
+* tutodoc.sty †
+
+### Text files
+
+Plain text files included as documentation or metadata.
+
+* MANIFEST.md ‡
+* README.md ‡
+
+### Derived files
+
+The files created by ‘unpacking’ the package sources. This typically includes
+`.sty` and `.cls` files created from DocStrip `.dtx` files.
+
+* tdoc-locale-english.cfg.sty †
+* tdoc-locale-french.cfg.sty †
+* tutodoc.sty †
+
+
+## TDS manifest
+
+The following groups list the files included in the TeX Directory Structure used to install
+the package into a TeX distribution.
+
+### TeX files (TDS)
+
+All files included in the `tutodoc/tex` directory.
+
+* tdoc-locale-english.cfg.sty
+* tdoc-locale-french.cfg.sty
+* tutodoc.sty
+
+### Doc files (TDS)
+
+All files included in the `tutodoc/doc` directory.
+
+* MANIFEST.md
+* README.md
+* tutodoc-en.pdf
+* tutodoc-en.tex
+* tutodoc-fr.pdf
+* tutodoc-fr.tex
+
+
+## CTAN manifest
+
+The following group lists the files included in the CTAN package.
+
+### CTAN files
+
+* MANIFEST.md
+* README.md
diff --git a/macros/latex/contrib/tutodoc/README.md b/macros/latex/contrib/tutodoc/README.md
new file mode 100644
index 0000000000..335d288b1d
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/README.md
@@ -0,0 +1,19 @@
+The `LaTeX` package `tutodoc`
+=============================
+
+About `tutodoc`
+---------------
+
+This package proposes some macros to write human documentations of `LaTeX` packages with a tutorial-like flavour.
+
+
+License
+-------
+
+This project may be distributed and/or modified under the conditions of the GNU 3 License.
+
+
+Where is the documentation?
+---------------------------
+
+At this time, there is a French and an English documentation writing with a tutorial-like flavor (in the repository, see the folder `rollout/doc`).
diff --git a/macros/latex/contrib/tutodoc/code/tdoc-locale-english.cfg.sty b/macros/latex/contrib/tutodoc/code/tdoc-locale-english.cfg.sty
new file mode 100644
index 0000000000..58d8975905
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/code/tdoc-locale-english.cfg.sty
@@ -0,0 +1,17 @@
+\NewDocumentCommand{\tdoc@trans@in@EN}{}{in \ english}
+\NewDocumentCommand{\tdoc@trans@latex@show@start}{}{Start \ of \ the \ real \ output}
+\NewDocumentCommand{\tdoc@trans@latex@show@end}{}{End \ of \ the \ real \ output}
+\NewDocumentCommand{\tdoc@trans@this@gives}{}{This \ gives}
+\NewDocumentCommand{\tdoc@trans@exa@title}{}{Example}
+\NewDocumentCommand{\tdoc@trans@rmk@title}{}{Remark}
+\NewDocumentCommand{\tdoc@trans@important@title}{}{Important}
+\NewDocumentCommand{\tdoc@trans@warn@title}{}{Warning}
+\NewDocumentCommand{\tdoc@trans@caution@title}{}{Caution}
+\NewDocumentCommand{\tdoc@trans@note@title}{}{Note}
+\NewDocumentCommand{\tdoc@trans@tip@title}{}{Tip}
+
+\NewDocumentCommand{\tdoc@trans@chges@new}{}{New}
+\NewDocumentCommand{\tdoc@trans@chges@update}{}{Update}
+\NewDocumentCommand{\tdoc@trans@chges@fix}{}{Fix}
+
+\NewDocumentCommand{\tdoc@trans@date}{ mmm }{#1-#2-#3}
diff --git a/macros/latex/contrib/tutodoc/code/tdoc-locale-french.cfg.sty b/macros/latex/contrib/tutodoc/code/tdoc-locale-french.cfg.sty
new file mode 100644
index 0000000000..2973757dd8
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/code/tdoc-locale-french.cfg.sty
@@ -0,0 +1,17 @@
+\NewDocumentCommand{\tdoc@trans@in@EN}{}{en \ anglais}
+\NewDocumentCommand{\tdoc@trans@latex@show@start}{}{Début \ du \ rendu \ réel}
+\NewDocumentCommand{\tdoc@trans@latex@show@end}{}{Fin \ du \ rendu \ réel}
+\NewDocumentCommand{\tdoc@trans@this@gives}{}{Ceci \ donne}
+\NewDocumentCommand{\tdoc@trans@exa@title}{}{Exemple}
+\NewDocumentCommand{\tdoc@trans@rmk@title}{}{Remarque}
+\NewDocumentCommand{\tdoc@trans@important@title}{}{Important}
+\NewDocumentCommand{\tdoc@trans@warn@title}{}{Avertissement}
+\NewDocumentCommand{\tdoc@trans@caution@title}{}{Prudence}
+\NewDocumentCommand{\tdoc@trans@note@title}{}{Note}
+\NewDocumentCommand{\tdoc@trans@tip@title}{}{Astuce}
+
+\NewDocumentCommand{\tdoc@trans@chges@new}{}{Nouveau}
+\NewDocumentCommand{\tdoc@trans@chges@update}{}{Mise \ à \ jour}
+\NewDocumentCommand{\tdoc@trans@chges@fix}{}{Réparation}
+
+\NewDocumentCommand{\tdoc@trans@date}{ mmm }{#3/#2/#1}
diff --git a/macros/latex/contrib/tutodoc/code/tutodoc.sty b/macros/latex/contrib/tutodoc/code/tutodoc.sty
new file mode 100644
index 0000000000..83b6c88433
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/code/tutodoc.sty
@@ -0,0 +1,1026 @@
+% ------------------------------------------------------- %
+% - This is file `tutodoc.sty' generated automatically. - %
+% - - %
+% - Copyright (C) 2023 by Christophe BAL - %
+% - - %
+% - This file may be distributed and/or modified under - %
+% - the conditions of the GNU 3 License. - %
+% ------------------------------------------------------- %
+
+\ProvidesExplPackage
+ {tutodoc}
+ {2023-11-29} % Creation: 2023-11-29
+ {1.0.0}
+ {This package proposes tools for writing "human friendly" documentations of LaTeX packages.}
+
+\RequirePackage[
+ top = 2.5cm,
+ bottom = 2.5cm,
+ left = 2.5cm,
+ right = 2.5cm,
+ marginparwidth = 2cm,
+ marginparsep = 2mm,
+ heightrounded
+]{geometry}[2020-01-02]
+
+\RequirePackage[raggedright]{titlesec}[2021/07/05]
+\RequirePackage{tocbasic}
+
+\RequirePackage{xcolor}[2022/06/12]
+\RequirePackage{hyperref}[2023-02-07]
+
+
+% We delegate the management of quoting to the `csquotes' package,
+% which takes care of the linguistic parameters.
+\RequirePackage{csquotes}[2022-09-14]
+
+
+\RequirePackage{amsthm}[2017/09]
+
+
+\RequirePackage{clrstrip}[2021-08-28]
+
+
+\RequirePackage{tcolorbox}[2023/06/19]
+\tcbuselibrary{minted, breakable, skins}
+
+
+\RequirePackage{marginnote}[2023-09-07]
+
+
+% -- LOCALE LANG -- %
+
+\ExplSyntaxOn
+
+% :: SOME MESSAGES :: %
+
+\msg_set:nnnn { tdoc } { package-option-lang-unknown }
+ { Unknown ~ language. }
+ { See ~ the ~ documentation ~ for ~ the ~ supported ~ languages. }
+
+
+% :: SETTING SOME KEYS :: %
+
+\str_new:N \l_tdoc_opt_lang_str
+
+%%%
+% We define the key-val options that will be exposed by the package.
+%%%
+\keys_define:nn { tdoc } {
+ lang .choices:nn =
+ { french, english }
+ {
+ \tl_set:Nn \l_tdoc_opt_lang_str
+ { \tl_use:N \l_keys_choice_tl }
+ },
+ lang .initial:n = english,
+ lang / unknown .code:n =
+ \msg_error:nnxxx { tdoc } { package-option-lang-unknown }
+ { lang } % Name of choice key
+ { french, english } % Valid choices
+ { \exp_not:n {#1} } % Invalid choice given
+}
+
+\ProcessKeyOptions[tdoc]
+
+\ExplSyntaxOff
+
+
+% -- LOCALE SETTINGS -- %
+
+\NewDocumentCommand{\tdoc@colon}{}{:}
+
+% We must take care of the colons, babel and spacing.
+\@ifpackageloaded{babel}{
+ \iflanguage{french}{
+ \RenewDocumentCommand{\tdoc@colon}{}{\babelshorthand{:}}
+ }{}
+}{}
+
+\ExplSyntaxOn
+
+\input{tdoc-locale-\l_tdoc_opt_lang_str.cfg.sty}
+
+\ExplSyntaxOff
+
+
+% -- GENERAL SETTINGS -- %
+
+\setlength{\parindent}{0cm}
+
+
+% -- LINKS -- %
+
+\hypersetup{
+ colorlinks,
+ citecolor = orange!75!black,
+ filecolor = orange!75!black,
+ linkcolor = orange!75!black,
+ urlcolor = orange!75!black
+}
+
+
+% -- TOC & Co. -- %
+
+\ifcsundef{chapter}%
+ {}%
+ {\renewcommand\thechapter{\Alph{chapter}.}}
+
+\renewcommand\thesection{\Roman{section}.}
+\renewcommand\thesubsection{\arabic{subsection}.}
+\renewcommand\thesubsubsection{\roman{subsubsection}.}
+
+\titleformat{\paragraph}[hang]%
+ {\normalfont\normalsize\bfseries}%
+ {\theparagraph}{1em}%
+ {}
+
+\titlespacing*{\paragraph}%
+ {0pt}%
+ {3.25ex plus 1ex minus .2ex}%
+ {0.5em}
+
+% Source
+% * https://tex.stackexchange.com/a/558025/6880
+\DeclareTOCStyleEntries[
+ raggedentrytext,
+ linefill = \hfill,
+ indent = 0pt,
+ dynindent,
+ numwidth = 0pt,
+ numsep = 1ex,
+ dynnumwidth
+]{tocline}{
+ chapter,
+ section,
+ subsection,
+ subsubsection,
+ paragraph,
+ subparagraph
+}
+
+\DeclareTOCStyleEntry[indentfollows = chapter]{tocline}{section}
+
+
+% -- QUOTING -- %
+
+%%%
+% prototype::
+% #1 : a text to quote.
+%
+% For example, ''\tdocquote{Something}'' prints something like **"Something"**.
+%%%
+\NewDocumentCommand{\tdocquote}{m}{%
+ \enquote{\emph{#1}}%
+}
+
+
+% -- EXPLAINING ENGLISH NAMES -- %
+
+%%%
+% prototype::
+% #1 : an english text to explain in another language.
+%
+% :extra: this macro has a star version.
+%
+% For example, if the language chosen is ''french'', we have
+% the following outputs.
+%
+% 1) ''\tdocinEN{Something}'' prints
+% **"Something" en anglais**.
+%
+% 2) ''\tdocinEN*{Something}'' just prints
+% **"Something"**.
+% This can be useful in a case like
+% ''\tdocinEN*{Something} et \tdocinEN{Another thing}''
+% which gives
+% **"Something" et "Another thing" en anglais**.
+%%%
+\NewDocumentCommand{\tdocinEN}{s m}{%
+ \tdocquote{#2}%
+ \IfBooleanF{#1}{% No star used.
+ \ \tdoc@trans@in@EN{}%
+ }%
+}
+
+
+% -- FOCUS ON SOME CONTENT -- %
+
+% :: EXAMPLE - HIDDEN VERSIONS :: %
+
+%%%
+% See the \doc of the macro ''\newtheorem'' from the package ''amsthm''
+% to have \infos about the environment ''@@tdocexa@nb''.
+%%%
+\newtheorem{@@tdocexa@nb}{\tdoc@trans@exa@title}%
+ [subsubsection]
+
+%%%
+% We redefine the counter associated to the environment ''@@tdocexa@nb''
+% to obtain only one single arabic number.
+%%%
+\renewcommand{\the@@tdocexa@nb}{\arabic{@@tdocexa@nb}}
+
+
+%%%
+% See the \doc of the macro ''\newtheorem*'' from the package ''amsthm''
+% to have \infos about the environment ''@@tdocexa@no@nb''.
+%%%
+\newtheorem*{@@tdocexa@no@nb}{\tdoc@trans@exa@title}
+
+
+% :: EXAMPLE - PUBLIC VERSION :: %
+
+\ExplSyntaxOn
+
+\msg_set:nnnn { tdoc } { env-tdocexa-unknown-option }
+ { Unknown ~ rafters ~ option. }
+ { See ~ the ~ documentation ~ for ~ the ~ supported ~ options. }
+
+\NewDocumentEnvironment{tdocexa}{D<>{nb} O{}}{
+ \str_case:nnF { #1 } {
+ { nb } {
+ \begin{@@tdocexa@nb}[#2]
+ }
+ { nonb } {
+ \begin{@@tdocexa@no@nb}[#2]
+ }
+ }{
+ \msg_error:nn { tdoc } { env-tdocexa-unknown-option }
+ }
+}{
+ \str_case:nnF { #1 } {
+ { nb } {
+ \end{@@tdocexa@nb}
+ }
+ { nonb } {
+ \end{@@tdocexa@no@nb}
+ }
+ }{}
+}
+
+\ExplSyntaxOff
+
+
+% :: REMARK :: %
+
+%%%
+% See the \doc of the macro ''\newtheorem*'' from the package ''amsthm''
+% to have \infos about the environment ''tdocrem''.
+%%%
+\newtheorem*{tdocrem}{\tdoc@trans@rmk@title}
+
+
+% :: IMPORTANT :: %
+
+%%%
+% See the \doc of the macro ''\newtheorem*'' from the package ''amsthm''
+% to have \infos about the environment ''tdocimportant''.
+%%%
+\newtheorem*{tdocimportant}{\tdoc@trans@important@title}
+
+
+% :: NOTE :: %
+
+%%%
+% See the \doc of the macro ''\newtheorem*'' from the package ''amsthm''
+% to have \infos about the environment ''tdocnote''.
+%%%
+\newtheorem*{tdocnote}{\tdoc@trans@note@title}
+
+
+% :: TIP :: %
+
+%%%
+% See the \doc of the macro ''\newtheorem*'' from the package ''amsthm''
+% to have \infos about the environment ''tdoctip''.
+%%%
+\newtheorem*{tdoctip}{\tdoc@trans@tip@title}
+
+
+% :: CUATION :: %
+
+%%%
+% See the \doc of the macro ''\newtheorem*'' from the package ''amsthm''
+% to have \infos about the environment ''tdoccaution''.
+%%%
+\newtheorem*{tdoccaution}{\tdoc@trans@caution@title}
+
+
+% :: WARNING :: %
+
+%%%
+% See the \doc of the macro ''\newtheorem*'' from the package ''amsthm''
+% to have \infos about the environment ''tdocwarn''.
+%%%
+\newtheorem*{tdocwarn}{\tdoc@trans@warn@title}
+
+
+% -- NAMES OF PACKAGES, MACROS & ENVIRONMENTS -- %
+
+%%%
+% prototype::
+% #1 : the name of a class
+%
+% :action: ''\tdoccls{myclass}'' prints verb::''myclass''.
+%%%
+\NewDocumentCommand{\tdoccls}{m}{%
+ \texttt{#1}%
+}
+
+
+%%%
+% prototype::
+% #1 : the name of a package
+%
+% :action:''\tdocpack{mypack}'' prints verb::''mypack''.
+%%%
+\NewDocumentCommand{\tdocpack}{m}{%
+ \texttt{#1}%
+}
+
+
+%%%
+% prototype::
+% #1 : the name of a macro
+%
+% :action: ''\tdocenv{mymacro}'' prints verb::''\mymacro''.
+%%%
+\NewDocumentCommand{\tdocmacro}{m}{%
+ \texttt{\textbackslash{}#1}%
+}
+
+
+%%%
+% prototype::
+% #1 : hard typed options with the good delimiters
+% #2 : the name of an environment
+%
+% :action: ''\tdocenv{myenv}'' prints verb::''\begin{myenv} ... \end{myenv}''
+% or something like verb::''\begin{myenv}<opt1> ... \end{myenv}'',
+% the spaces being secable.
+%%%
+\NewDocumentCommand{\tdocenv}{O{}m}{%
+ \texttt{\textbackslash{}begin\{#2\}#1 %
+ \!...\! %
+ \textbackslash{}end\{#2\}}%
+}
+
+
+% -- EXPLAINING PREFIXES -- %
+
+\ExplSyntaxOn
+
+% :: MESSAGES :: %
+
+\msg_set:nnnn { bdoc } { prefixwhy-bad-format }
+{ Bad ~ format, ~ something ~ like ~ ''pre.fix'' ~ expected. }
+{ You ~ must ~ use ~ one ~ single ~ point. }
+
+
+% :: PREFIX FROM... :: %
+
+%%%
+% prototype::
+% #1 : a prefix and a suffix separated by one colon.
+%
+% :action: ''\tdocprewhy{pre.fix}'' prints verb::''pre''.fix.
+%%%
+\NewDocumentCommand{\tdocprewhy}{m}{%
+% Do we have 2 parts?
+ \seq_set_split:Nnn \l_tmpa_seq { . } { #1 }
+
+ \int_set:Nn \l_tmpa_int
+ {\int_eval:n {\seq_count:N \l_tmpa_seq}}
+
+ \if_int_compare:w \l_tmpa_int = 2
+ \else:
+ \msg_error:nn { bdoc } { prefixwhy-bad-format }
+ \fi:
+
+% Let's go.
+ \seq_pop:NN \l_tmpa_seq \l_tmpa_tl
+ \seq_pop:NN \l_tmpa_seq \l_tmpb_tl
+
+ \textbf{\tdocpre{\tl_use:N \l_tmpa_tl}\kern.5pt\textperiodcentered\kern.5pt{\tl_use:N \l_tmpb_tl}}
+}
+
+\ExplSyntaxOff
+
+
+% :: JUST ONE PREFIX :: %
+
+%%%
+% prototype::
+% #1 : just a prefix
+%
+% :action: ''\tdocpre{pre}'' only prints verb::''pre''.
+% This can be useful in a case like
+% ''\tdocpre{pre} comes from \tdocprewhy{pre}{fix}''
+% which prints:
+% verb::''pre'' comes from verb::''pre''-fix.
+%%%
+\NewDocumentCommand{\tdocpre}{m}{%
+ \texttt{#1}%
+}
+
+
+% -- GENERAL FORMATTING -- %
+
+% :: TEXT INSIDE A RULE :: %
+
+\ExplSyntaxOn
+
+%%%
+% prototype::
+% #1 : a text
+% #2 : a color
+%
+% :action: this macro adds two horizontal lines on either side of the text.
+% The final output is centered.
+%
+% note::
+% The code used comes from
+% cf::''this post ;
+% https://tex.stackexchange.com/a/604708/6880''.
+%%%
+\NewDocumentCommand{\tdocruler}{m m}{
+ \par
+ {
+ \centering
+ \scriptsize
+ \itshape
+ \bfseries
+ \color{#2}
+
+ \hbox_set:Nn \l_tmpa_box { \,\, #1 \,\, }
+ \dim_set:Nn \l_tmpa_dim {
+ .35 \linewidth - .5 \box_wd:N \l_tmpa_box
+ }
+
+ \rule[.75pt] { \dim_use:N \l_tmpa_dim }
+ { 2.5pt }
+ \box_use:N \l_tmpa_box
+ \rule[.75pt] { \dim_use:N \l_tmpa_dim }
+ { 2.5pt }
+ \par
+ }
+}
+
+\ExplSyntaxOff
+
+
+% :: COLOR TRANSFORMATIONS :: %
+
+%%%
+% prototype::
+% #1 : one color following the ''xcolor'' format.
+%
+% :return: a "darker" version of the color ''#1''.
+%%%
+\NewExpandableDocumentCommand{\tdocdarkcolor}{m}{%
+ #1!50!black%
+}
+
+
+%%%
+% prototype::
+% #1 : one color following the ''xcolor'' format.
+%
+% :return: a "transparent" version of the color `#1`.
+%%%
+\NewExpandableDocumentCommand{\tdoclightcolor}{m}{%
+ #1!5%
+}
+
+
+% :: INTERNAL ENVIRONMENTS :: %
+
+%%%
+% prototype::
+% #1 : the text before the real output
+% #2 : the text after the real output
+% #3 : one color following the ''xcolor'' format.
+% This color is used to set the one for the decorated texts printed
+% corresponding to the two first arguments.
+%
+% :action: this environment just adds its content processed by \latex
+% between centered materials produced by the macro ''\tdocruler''
+% such as to stress the start and the end of the content.
+%%%
+\NewDocumentEnvironment{tdoc@showcase@basic}{m m m}{
+ \tdocruler{#1}{\tdocdarkcolor{#3}}
+ \medskip
+}{
+ \medskip
+ \tdocruler{#2}{\tdocdarkcolor{#3}}
+}
+
+
+%%%
+% prototype::
+% #1 : the text before the real output
+% #2 : the text after the real output
+% #3 : the color following the ''xcolor'' format.
+% This color is used to set the ones of the stripe and the decorated
+% texts printed (see the two first arguments).
+%
+% :action: this environment adds a page-width colored stripe in the
+% background of the environment content processed by \latex.
+% This stripe is preceded and followed by centered materials
+% produced by the macro ''\tdocruler'' such as to stress the
+% start and the end of the content.
+%%%
+
+\NewDocumentEnvironment{tdoc@showcase@colorstrip}{m m m}{
+ \begin{colorstrip}{\tdoclightcolor{#3}}
+ \begin{tdoc@showcase@basic}{#1}{#2}{#3}
+}{
+ \end{tdoc@showcase@basic}
+ \end{colorstrip}
+}
+
+
+\ExplSyntaxOn
+
+% :: SETTING SOME KEYS :: %
+
+\tl_new:N \l_tdoc_showcase_before_tl
+\tl_new:N \l_tdoc_showcase_after_tl
+\tl_new:N \l_tdoc_showcase_color_tl
+\bool_new:N \l_tdoc_showcase_nostripe_bool
+
+
+%%%
+% prototype::
+% :see: env.tdocshowcase
+%
+% We define the key-val options that will be exposed by the \env
+% ''tdocshowcase''.
+%%%
+\keys_define:nn { tdoc/showcase } {
+% Texts.
+ before .tl_set:N = \l_tdoc_showcase_before_tl,
+ before .initial:n = \tdoc@trans@latex@show@start,
+ after .tl_set:N = \l_tdoc_showcase_after_tl,
+ after .initial:n = \tdoc@trans@latex@show@end,
+% Decorations.
+ color .tl_set:N = \l_tdoc_showcase_color_tl,
+ color .initial:n = cyan,
+ nostripe .bool_set:N = \l_tdoc_showcase_nostripe_bool,
+ nostripe .initial:n = false,
+}
+
+
+% :: SHOWCASE FROM TYPED CODE :: %
+
+% prototype::
+% #1 : the key-value options.
+%
+% :action: this \env formats \latex code, given as an argument,
+% by framing it with texts decorated by ''\tdocruler'',
+% in order to clearly identify a rendering used as an
+% example.
+% It is also possible to have a coloured strip of the width
+% of the page in the background of the content.
+%
+% :see: env.tdoc@showcase@basic ,
+% env.tdoc@showcase@colorstrip
+%%%
+\NewDocumentEnvironment{tdocshowcase}{O{}}{
+ \group_begin:
+ \keys_set:nn { tdoc/showcase } { #1 }
+
+ \bool_if:NTF \l_tdoc_showcase_nostripe_bool {
+ \begin{tdoc@showcase@basic}%
+ { \tl_use:N \l_tdoc_showcase_before_tl }%
+ { \tl_use:N \l_tdoc_showcase_after_tl }%
+ { \tl_use:N \l_tdoc_showcase_color_tl }
+ }{
+ \begin{tdoc@showcase@colorstrip}%
+ { \tl_use:N \l_tdoc_showcase_before_tl }%
+ { \tl_use:N \l_tdoc_showcase_after_tl }%
+ { \tl_use:N \l_tdoc_showcase_color_tl }
+ }
+}{
+ \bool_if:NTF \l_tdoc_showcase_nostripe_bool {
+ \end{tdoc@showcase@basic}
+ }{
+ \end{tdoc@showcase@colorstrip}
+ }
+ \group_end:
+}
+
+
+% :: SHOWCASE FROM FILE :: %
+
+%%%
+% prototype::
+% #1 : the key-value options supported by the ''tdocshowcase'' \env.
+% #2 : the path of a file
+%
+% :see: env.tdocshowcase
+%%%
+\NewDocumentCommand{\tdocshowcaseinput}{O{} m}{
+ \group_begin:
+ \keys_set_known:nnN { tdoc/latexshow } { #1 } \l_tmpa_tl
+
+ \exp_last_unbraced:NNV \tdocshowcase [\l_tmpa_tl]
+ \input{#2}
+ \endtdocshowcase
+ \group_end:
+}
+
+\ExplSyntaxOff
+
+
+% -- LATEX EXAMPLES -- %
+
+% :: INLINE SHORT LATEX CODE :: %
+
+%%%
+% See the \doc of the macro ''\newmintinline'' from the package ''minted''
+% to have \infos about the macro ''tdocinlatex''.
+%%%
+\newmintinline[tdocinlatex]{latex}{}
+
+
+% :: SHORTCUTS FOR TCOLORBOX LISTING FORMATING :: %
+
+\ExplSyntaxOn
+
+%%%
+% In the following easy-to-understand macro, we use one fictive ''tcolorbox''
+% style such as to indicate an unknown ''tdoc'' style to the user.
+% For example, this can give one message similar to the following one.
+%
+% term::
+% Package pgfkeys Error: I do not know the key '/tcb/tdoclatex bad option
+% "NOT-A-STYLE"' and I am going to ignore it. Perhaps you misspelled it.
+%
+% See the pgfkeys package documentation for explanation.
+%%%
+\NewExpandableDocumentCommand{\tdoc@latex@listing@formating}{ m }{
+ \str_case:nnF { #1 } {
+ { sbs } { listing ~ side ~ text }
+ { code } { listing ~ only }
+ { std } { listing ~ and ~ text }
+ } { tdoclatex ~ bad ~ option ~ "#1" }
+}
+
+\ExplSyntaxOff
+
+
+% :: THE TCOLORBOX LISTING STYLE :: %
+
+%%%
+% note::
+% The settings used come from the following sources.
+% * https://tex.stackexchange.com/a/604821/6880
+% * https://tex.stackexchange.com/a/327983/6880
+%%%
+\tcbset{
+ tdoclatex_tcbstyle/.style = {
+ minted language = latex,
+ breakable,
+% Code and output
+ colback = yellow!5,
+% Frame
+ colframe = darkgray,
+ shadow = {.75mm}{-.75mm}{0mm}{black!30},
+ arc = .75mm,
+ left = 1mm, right = 1mm,
+ bottom = 1mm, top = 1mm,
+% We can use ''sharp corners'' to obtain an "old school" style.
+%
+% Separating line
+ enhanced,
+ segmentation style = {
+ gray,
+ dash pattern = {on 5pt off 2.5pt},
+ line width = 1.25pt
+ },
+ #1
+ },
+}
+
+
+% :: TCOLORBOX LISTING ENVIRONMENT :: %
+
+%%%
+% prototype::
+% #1 : the style to be used (code only, code and output side by side,
+% or the standard style corresponding to the code followed by
+% its output)
+% @ #1 in [code, sbs, std]
+%
+% note::
+% See the \doc of the macro ''\newtcblisting'' from the package
+% ''tcolorbox'' to have \infos about the environment ''tdoclatex''.
+%%%
+\newtcblisting{tdoclatex}[1][std]{%
+ tdoclatex_tcbstyle = \tdoc@latex@listing@formating{#1}
+}
+
+
+% :: TCOLORBOX IMPORTED LISTING MACRO :: %
+
+%%%
+% prototype::
+% #1 : :see: \newtcblisting{tdoclatex}.
+% #2 : the path of the file to input and format.
+%
+% note::
+% See the \doc of the macro ''\newtcbinputlisting'' from the package
+% ''tcolorbox'' to have more \infos about the macro ''\tdoclatexinput''.
+%%%
+\newtcbinputlisting{\tdoclatexinput}[2][std]{
+ listing file = {#2},
+ tdoclatex_tcbstyle = \tdoc@latex@listing@formating{#1}
+}
+
+
+% -- LATEX REAL USE CASES -- %
+
+\ExplSyntaxOn
+
+% :: SETTING SOME KEYS :: %
+
+\tl_new:N \l_tdoc_listing_explain_tl
+
+%%%
+% prototype::
+% :see: macro.tdoclatexshow
+%
+% We define the key-val options that will be exposed by ''\tdoclatexshow''.
+%%%
+\keys_define:nn { tdoc/latexshow } {
+ explain .tl_set:N = \l_tdoc_listing_explain_tl,
+ explain .initial:n = { \tdoc@trans@this@gives \tdoc@colon },
+}
+
+
+% :: LATEXSHOW MACRO :: %
+
+%%%
+% prototype::
+% #1 : the key-value options supported by the ''tdocshowcase'' \env,
+% plus one allowing you to change the description of a line
+% printed between the code and its focused output.
+% #2 : the path of a file
+%
+% :see: env.tdocshowcase ,
+% macro.tdoclatexinput
+%%%
+\NewDocumentCommand{\tdoclatexshow}{O{} m}{
+ \group_begin:
+ \keys_set_known:nnN { tdoc/latexshow } { #1 } \l_tmpa_tl
+
+ \tdoclatexinput[code]{#2}
+
+ \tl_use:N \l_tdoc_listing_explain_tl
+
+% Source: https://tex.stackexchange.com/a/696700/6880
+ \exp_last_unbraced:NNV \tdocshowcaseinput [\l_tmpa_tl] {#2}
+ \group_end:
+}
+
+\ExplSyntaxOff
+
+
+% -- CHANGES - WHEN? --%
+
+\ExplSyntaxOn
+
+% :: MESSAGES :: %
+
+\msg_set:nnnn { tdoc } { date-bad-format }
+ { Bad ~ format ~ for ~ a ~ date. }
+ { Use ~ YYYY-MM-DD. }
+
+
+% :: MARGIN NOTE :: %
+
+\reversemarginpar{}
+
+%%%
+% prototype::
+% #1 : the color of the margin note
+% #2 : the first material (a date or nothing)
+% #3 : the second material (a version number or nothing)
+% #4 : the last negative vertical spacing for the 2nd rule
+%
+% :action: this macro factorizes the printing of the changes
+% in the left margin.
+%
+% :see: \__tdoc_translate_date:n
+%%%
+\NewDocumentCommand{\tdoc@new@change@margin}{m m m m}{
+ \marginnote{
+ \color{#1}
+ \scriptsize
+ \centering
+
+ \vspace{0pt}
+ \rule{1.65cm}{.95pt}
+ \vspace{-2.9pt}
+
+ \IfBlankTF{#2}{}{
+ \par
+ \__tdoc_translate_date:n { #2 }
+ \par
+ }
+
+ \vspace{1pt}
+
+ \par
+ #3
+ \par
+
+ \vspace{#4}
+ \rule{1.65cm}{.95pt}
+ }[-.345cm]
+}
+
+
+%%%
+% prototype::
+% :action: this function checks if we have something like
+% ''YYYY-MM-DD'' and then it calls the function
+% ''\__tdoc_translate_date_process:w'' to finish
+% the job.
+%
+% :see: \__tdoc_translate_date_process:w
+%%%
+\cs_new:Nn \__tdoc_translate_date:n {
+ \regex_match:nnTF { \A \d{1,4} \- \d{2} \- \d{2} \Z } { #1 }{
+ \__tdoc_translate_date_process:w #1 \q_stop
+ }{
+ \msg_error:nn { tdoc } { date-bad-format }
+ }
+}
+
+
+%%%
+% prototype::
+% :action: this function extracts year, month and day in something
+% like ''YYYY-MM-DD'' and then it calls ''\tdoc@trans@date''
+% to use the format expected for a "localised" date.
+%%%
+\cs_new:Npn \__tdoc_translate_date_process:w #1 - #2 - #3 \q_stop {
+ \tdoc@trans@date{#1}
+ {#2}
+ {#3}
+}
+
+
+% :: VERSION AND DATE :: %
+
+%%%
+% prototype::
+% #1 : the color of the margin note
+% #2 : a version number
+% #3 : a date ''YYYY-MM-DD''
+%
+% :action: this macro prints a margin note showing a version number
+% below a date, and the optional argument is used to colorize
+% all this text.
+%
+% warning::
+% The date must use an english formatting like ''2021-07-14''. This allows
+% to parse the date such as to display it following the standard convention
+% of the language chosen when loading the package.
+%%%
+\NewDocumentCommand{\tdocversion}{O{blue} m O{}}{
+ \tdoc@new@change@margin{#1} % Color
+ {#3} % Date
+ {#2} % Version
+ {-4.25pt} % Last negative vertical spacing
+}
+
+
+% :: DATE :: %
+
+%%%
+% prototype::
+% #1 : the color of the margin note
+% #2 : a date ''YYYY-MM-DD''
+%
+% :action: this macro is similar to ''\tdocversion'' except that it just
+% prints a date.
+%%%
+\NewDocumentCommand{\tdocdate}{O{blue} m}{
+ \tdoc@new@change@margin{#1} % Color
+ {#2} % Date
+ {} % Version
+ {-5.35pt} % Last negative spacing
+}
+
+
+% -- CHANGES - WHAT?
+
+% :: MESSAGES :: %
+
+\msg_set:nnnn { tdoc } { changes-topic-missing-title }
+ { Missing ~ title. }
+ { One ~ single ~ title ~ must ~ be ~ indicated. }
+
+
+% :: CHANGES - TOPIC :: %
+
+%%%
+% prototype::
+% #1 : a title that will be followed by a colon.
+%
+% :action: this environment prints some ¨infos about specific changes
+% achieved in a new version (no special formatting is applied).
+%%%
+\NewDocumentEnvironment{tdoctopic}{ m }{
+ \IfBlankT{#1}{
+ \msg_fatal:nn { tdoc } { changes-topic-missing-title }
+ }
+
+ \textbf{
+ \textsc{#1.}
+ }
+
+ \begin{itemize}
+}{
+ \end{itemize}
+}
+
+
+% :: CHANGES - NEW THINGS :: %
+
+%%%
+% prototype::
+% :see: env.tdoctopic
+%
+% :action: similar to the \env ''tdoctopic'' with the title "New"
+% translated into the good language.
+%%%
+\NewDocumentEnvironment{tdocnew}{}{
+ \begin{tdoctopic}{\tdoc@trans@chges@new}
+}{
+ \end{tdoctopic}
+}
+
+
+% :: CHANGES - UPDATE :: %
+
+%%%
+% prototype::
+% :see: env.tdoctopic
+%
+% :action: similar to the \env ''tdoctopic'' with the title "Update"
+% translated into the good language.
+%%%
+\NewDocumentEnvironment{tdocupdate}{}{
+ \begin{tdoctopic}{\tdoc@trans@chges@update}
+}{
+ \end{tdoctopic}
+}
+
+
+% :: CHANGES - FIX :: %
+
+%%%
+% prototype::
+% :see: env.tdoctopic
+%
+% :action: similar to the \env ''tdoctopic'' with the title "Fix"
+% translated into the good language.
+%%%
+\NewDocumentEnvironment{tdocfix}{}{
+ \begin{tdoctopic}{\tdoc@trans@chges@fix}
+}{
+ \end{tdoctopic}
+}
+
+\ExplSyntaxOff
+
+
+% -- DECORATIONS -- %
+
+%%%
+% prototype::
+% :action: this macro draws a centered horizontal rule with a height
+% of qty::''0.75 pt'', and a width equal to half of the current
+% text width.
+% Extra vertical spaces are added above and below the rule.
+%%%
+\NewDocumentCommand{\tdocsep}{}{
+ \medskip
+ \hfill\rule{0.5\textwidth}{0.75pt}\hfill
+ \medskip
+ \smallskip
+}
+
+
+%%%
+% prototype::
+% :action: this macro adds a tiny vertical spacing.
+%%%
+\NewDocumentCommand{\tdocxspace}{}{
+ \vspace{0.25em}
+}
diff --git a/macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf b/macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf
new file mode 100644
index 0000000000..4d051d3010
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/tutodoc/doc/tutodoc-en.tex b/macros/latex/contrib/tutodoc/doc/tutodoc-en.tex
new file mode 100644
index 0000000000..a520d22847
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/doc/tutodoc-en.tex
@@ -0,0 +1,1098 @@
+
+% -------------------- %
+% -- RESOURCES USED -- %
+% -------------------- %
+
+
+\begin{filecontents*}{examples-focus-exa.tex}
+ Bla, bla, bla...
+
+ \begin{tdocexa}
+ Ble, ble, ble...
+ \end{tdocexa}
+
+ \begin{tdocexa}[Wonderful]
+ Bli, bli, bli...
+ \end{tdocexa}
+
+ \begin{tdocexa}<nonb>
+ Blo, blo, blo...
+ \end{tdocexa}
+
+ \begin{tdocexa}<nonb>[Superb]
+ Blu, blu, blu...
+ \end{tdocexa}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-exa-leavevmode.tex}
+\begin{tdocexa}
+ \leavevmode
+
+ \begin{enumerate}
+ \item Point 1.
+
+ \item Point 2.
+ \end{enumerate}
+\end{tdocexa}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-rmk.tex}
+\begin{tdocrem}
+ Just one remark...
+\end{tdocrem}
+
+\begin{tdocrem}[Mini title]
+ Useful?
+\end{tdocrem}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-tip.tex}
+\begin{tdoctip}
+ A tip.
+\end{tdoctip}
+
+\begin{tdoctip}[Mini title]
+ Useful?
+\end{tdoctip}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-note.tex}
+\begin{tdocnote}
+ Something useful to tell you...
+\end{tdocnote}
+
+\begin{tdocnote}[Mini title]
+ Useful?
+\end{tdocnote}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-important.tex}
+\begin{tdocimportant}
+ Important and harmless.
+\end{tdocimportant}
+
+\begin{tdocimportant}[Mini title]
+ Useful?
+\end{tdocimportant}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-caution.tex}
+\begin{tdoccaution}
+ Caution, caution...
+\end{tdoccaution}
+
+\begin{tdoccaution}[Mini title]
+ Useful?
+\end{tdoccaution}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-warn.tex}
+\begin{tdocwarn}
+ Avoid the dangers...
+\end{tdocwarn}
+
+\begin{tdocwarn}[Mini title]
+ Useful?
+\end{tdocwarn}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-default.tex}
+\begin{tdocshowcase}
+ \bfseries A bit of code \LaTeX.
+
+ \bigskip
+
+ \emph{\large End of the awful demo.}
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-customized.tex}
+\begin{tdocshowcase}[before = My beginning,
+ after = My end,
+ color = red]
+Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-hook.tex}
+\begin{tdocshowcase}[]
+ [This works...]
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-no-clrstrip.tex}
+\begin{tdocshowcase}[nostripe]
+ Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-no-clrstrip-customized.tex}
+\begin{tdocshowcase}[nostripe,
+ before = My beginning,
+ after = My end,
+ color = green]
+Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+\end{tdocshowcase}
+
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-external.tex}
+Blablobli, blablobli, blablobli, blablobli, blablobli, blablobli...
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-listing-ABC.tex}
+\begin{tdoclatex}[sbs]
+ $A = B + C$
+\end{tdoclatex}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-listing-strange.tex}
+\begin{tdoclatex}[std]
+ [Strange... Or not!]
+\end{tdoclatex}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-listing-xyz.tex}
+% Just one demo.
+$x y z = 1$
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-listing-latexshow-options.tex}
+\tdoclatexshow[explain = What comes next is colourful...,
+ before = Rendering below.,
+ after = Finished rendering.,
+ color = orange]
+ {examples-listing-xyz.tex}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-dating.tex}
+Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+
+\medskip % CAUTION! This prevents overlapping.
+
+\tdocdate{2023-09-24}
+
+Ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
+
+\medskip % CAUTION! This prevents overlapping.
+
+\tdocdate[gray]{2020-05-08}
+
+Bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli...
+
+Blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo...
+
+Blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu...
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-versioning.tex}
+\tdocversion[red]{10.2.0-beta}[2023-12-01]
+
+Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+
+\bigskip % CAUTION! This prevents overlapping.
+
+\tdocversion{10.2.0-alpha}
+
+Ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
+ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
+ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
+ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-new.tex}
+\begin{tdocnew}
+ \item Info 1...
+ \item Info 2...
+\end{tdocnew}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-update.tex}
+\begin{tdocupdate}
+ \item Info 1...
+ \item Info 2...
+\end{tdocupdate}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-fix.tex}
+\begin{tdocfix}
+ \item Info 1...
+ \item Info 2...
+\end{tdocfix}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-topic.tex}
+\begin{tdoctopic}{Unclassifiable changes}
+% This is where the point needs to be put.
+ \item Info 1...
+ \item Info 2...
+\end{tdoctopic}
+\end{filecontents*}
+
+
+% ------------------------ %
+% -- SOURCE FOR THE DOC -- %
+% ------------------------ %
+
+\documentclass[12pt, a4paper]{article}
+
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+
+\usepackage[english]{babel, varioref}
+
+\usepackage{enumitem}
+%\frenchsetup{StandardItemLabels=true}
+
+\usepackage{tabularray}
+\usepackage{fmtcount}
+
+% Package documented.
+\usepackage[lang = english]{tutodoc}
+
+
+% Source.
+% * https://tex.stackexchange.com/a/604698/6880
+
+\NewDocumentCommand{ \tdocdocbasicinput }{ m }{%
+ Considérons le code suivant.
+
+ \tdoclatexinput[code]{#1}
+
+ Ceci produira ce qui suit.
+
+ \input{#1}
+}
+
+
+% Source.
+% * https://tex.stackexchange.com/a/604698/6880
+
+\NewDocumentCommand{ \tdocdocextraruler }{ m }{%
+ \par
+ {
+ \centering
+ \color{green!50!black}%
+ \leavevmode
+ \kern.075\linewidth
+ \leaders\hrule height3.25pt\hfill\kern0pt
+ \footnotesize\itshape\bfseries\space\ignorespaces#1\unskip\space
+ \leaders\hrule height3.25pt\hfill\kern0pt
+ \kern.075\linewidth
+ \par
+ }
+}
+
+\NewDocumentEnvironment{ tdoc-doc-showcase }
+ { O{ Début du rendu dans cette doc. }
+ O{ Fin du rendu dans cette doc. } }{
+ \tdocdocextraruler{#1}
+ \smallskip
+}{
+ \smallskip
+ \tdocdocextraruler{#2}
+}
+
+
+
+\begin{document}
+
+\title{Le package \texttt{tutodoc} - Documentation de type tutoriel}
+\author{Christophe BAL}
+\date{29 Nov. 2023 - Version 1.0.0}
+
+\maketitle
+
+\begin{abstract}
+The \tdocpack{tutodoc} package
+\footnote{
+ The name comes from \tdocquote{\tdocprewhy{tuto.rial-type} \tdocprewhy{doc.umentation}}.
+}
+is used by its author to semantically produce documentation of \LaTeX\ packages and classes in a tutorial style
+\footnote{
+ The idea is to produce an efficient \texttt{PDF} file that can be browsed for one-off needs. This is generally what is expected of coding documentation.
+},
+and with a sober rendering for reading on screen.
+
+
+\begin{tdocnote}
+ This package imposes a formatting style. In the not-too-distant future, \tdocpack{tutodoc} will probably be split into a class and a package.
+\end{tdocnote}
+\end{abstract}
+
+
+\newpage
+\tableofcontents
+\newpage
+\section{General formatting imposed}
+
+\subsection{Page geometry}
+
+The \tdocpack{geometry} package is loaded with the following settings.
+
+
+\begin{tdoclatex}[code]
+\RequirePackage[
+ top = 2.5cm,
+ bottom = 2.5cm,
+ left = 2.5cm,
+ right = 2.5cm,
+ marginparwidth = 2cm,
+ marginparsep = 2mm,
+ heightrounded
+]{geometry}
+\end{tdoclatex}
+
+\subsection{Title and table of contents}
+
+The \tdocpack{titlesec} and \tdocpack{tocbasic} packages are set as follows.
+
+
+\begin{tdoclatex}[code]
+\RequirePackage[raggedright]{titlesec}
+
+% ...
+\ifcsundef{chapter}%
+ {}%
+ {\renewcommand\thechapter{\Alph{chapter}.}}
+
+\renewcommand\thesection{\Roman{section}.}
+\renewcommand\thesubsection{\arabic{subsection}.}
+\renewcommand\thesubsubsection{\roman{subsubsection}.}
+
+\titleformat{\paragraph}[hang]%
+ {\normalfont\normalsize\bfseries}%
+ {\theparagraph}{1em}%
+ {}
+
+\titlespacing*{\paragraph}%
+ {0pt}%
+ {3.25ex plus 1ex minus .2ex}%
+ {0.5em}
+
+% Source
+% * https://tex.stackexchange.com/a/558025/6880
+\DeclareTOCStyleEntries[
+ raggedentrytext,
+ linefill = \hfill,
+ indent = 0pt,
+ dynindent,
+ numwidth = 0pt,
+ numsep = 1ex,
+ dynnumwidth
+]{tocline}{
+ chapter,
+ section,
+ subsection,
+ subsubsection,
+ paragraph,
+ subparagraph
+}
+
+\DeclareTOCStyleEntry[indentfollows = chapter]{tocline}{section}
+\end{tdoclatex}
+
+
+\subsection{Dynamic links}
+
+The \tdocpack{hyperref} package is imported behind the scenes with the settings below.
+
+
+\begin{tdoclatex}[code]
+\hypersetup{
+ colorlinks,
+ citecolor = orange!75!black,
+ filecolor = orange!75!black,
+ linkcolor = orange!75!black,
+ urlcolor = orange!75!black
+}
+\end{tdoclatex}
+
+
+\section{Select language when loading package}
+
+By default, \tdocpack{tutodoc} is set for English, but it is possible to change the language: for example, a French documentation will use \tdocinlatex|\usepackage[lang = french]{tutodoc}| .
+For the moment, we only have the following two choices.
+
+\begin{enumerate}
+ \item \tdocinlatex|english| is the default value.
+
+ \item \tdocinlatex|french|
+\end{enumerate}
+
+
+\begin{tdocnote}
+ Language names are those suggested by the \tdocpack{babel} package.
+\end{tdocnote}
+
+
+\section{What does that mean in \tdocquote{English}?}
+
+The macro \tdocmacro{tdocinEN} and its starred version are useless for English speakers because they have the following effects.
+
+
+\begin{tdoclatex}
+Cool and top stand for \tdocinEN*{cool} and \tdocinEN{top}.
+\end{tdoclatex}
+
+
+The macro \tdocmacro{tdocinEN} and its starred version are based on \tdocmacro{tdocquote} : for example, \tdocquote{semantic} is obtained via \tdocinlatex|tdocquote{semantic}| .
+
+
+\begin{tdocnote}
+ As the text \tdocquote{in English} is translated into the language indicated when \tdocpack{tutodoc} is imported, the macro \tdocmacro{tdocinEN} and its starred version become useful for non-English speakers.
+\end{tdocnote}
+
+
+\section{Highlighting content}
+
+\begin{tdocnote}
+ The environments presented in this section
+ \footnote{
+ The formatting comes from the \tdocpack{amsthm} package.
+ }
+ add a short title indicating the type of information provided.
+ This short text will always be translated into the language indicated when the \tdocpack{tutodoc} package is loaded.
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\subsection{Examples}
+
+Numbered or unnumbered examples can be indicated using the \tdocenv{tdocexa} environment, which offers two optional arguments.
+
+\begin{enumerate}
+ \item The \ordinalnum{1} argument between brackets \verb#<...># can take the values \verb#nb# to number, which is the default setting, and \verb#nonb# to not number.
+
+ \item The \ordinalnum{2} argument in square brackets \verb#[...]# is used to add a mini-title..
+\end{enumerate}
+
+
+Here are some possible uses.
+
+\tdoclatexinput[sbs]{examples-focus-exa.tex}
+
+
+% ------------------ %
+
+
+\begin{tdocimportant}
+ The numbering of the examples is reset to zero as soon as a section with a level at least equal to a \tdocinlatex|\subsubsection| is opened.
+\end{tdocimportant}
+
+
+% ------------------ %
+
+
+\begin{tdoctip}
+ It can sometimes be useful to return to the line at the start of the content. Here's how to do it (this trick remains valid for the environments presented in the following sub-sections). Note in passing that the numbering follows that of the previous example as desired.
+
+ \tdoclatexinput[sbs]{examples-focus-exa-leavevmode.tex}
+\end{tdoctip}
+
+
+\subsection{Some remarks}
+
+Everything happens via the \tdocenv{tdocrem} environment, as in the following example.
+
+\tdoclatexinput[sbs]{examples-focus-rmk.tex}
+
+
+\subsection{A tip}
+
+The \tdocenv{tdoctip} environment is used to give tips. Here's how to use it.
+
+\tdoclatexinput[sbs]{examples-focus-tip.tex}
+
+
+\subsection{Informative note}
+
+The \tdocenv{tdocnote} environment is used to highlight useful information. Here's how to use it.
+
+\tdoclatexinput[sbs]{examples-focus-note.tex}
+
+
+
+\subsection{Something important}
+
+The \tdocenv{tdocimportant} environment is used to indicate something important but harmless.
+
+\tdoclatexinput[sbs]{examples-focus-important.tex}
+
+\subsection{Caution about a delicate point}
+
+The \tdocenv{tdoccaution} environment is used to indicate a delicate point to the user. Here's how to use it.
+
+\tdoclatexinput[sbs]{examples-focus-caution.tex}
+
+
+\subsection{Warning of danger}
+
+The \tdocenv{tdocwarn} environment is used to warn the user of a trap to avoid. Here's how to use it.
+
+\tdoclatexinput[sbs]{examples-focus-warn.tex}
+
+
+\section{Specify packages, classes, macros or environments}
+
+Here's what you can type semantically.
+
+
+\begin{tdoclatex}[sbs]
+\tdoccls{myclass} is for...
+
+\tdocpack{mypackage} is for...
+
+\tdocmacro{onemacro} is for...
+
+\tdocenv{env} produces...
+
+We also have :
+
+\tdocenv[{[opt1]<opt2>}]{env}
+\end{tdoclatex}
+
+
+\begin{tdocrem}
+ The advantage of the previous macros over the use of \tdocmacro{tdocinlatex}, see the section \ref{tdoc-listing-inline} page \pageref{tdoc-listing-inline}, is the absence of colouring.
+ Furthermore, the \tdocmacro{tdocenv} macro simply asks you to type the name of the environment
+ \footnote{
+ In addition, \tdocinlatex{\tdocenv{monenv}} produces \tdocenv{monenv} with spaces to allow line breaks if necessary.
+ }
+ with any options by typing the correct delimiters
+ \footnote{
+ Remember that almost anything is possible from now on.
+ }
+ by hand.
+\end{tdocrem}
+
+
+\begin{tdocwarn}
+ The optional argument to the \tdocmacro{tdocenv} macro is copied and pasted during rendering. This can sometimes require the use of protective braces, as in the previous example.
+\end{tdocwarn}
+
+
+% -------------------- %
+
+
+\section{Origin of a prefix or suffix}
+
+To explain the names chosen, there is nothing like indicating and explaining the short prefixes and suffixes used. This is easily done as follows.
+
+
+\begin{tdoclatex}[sbs]
+\tdocpre{sup} relates to...
+
+\tdocprewhy{sup.erbe} means...
+
+\emph{\tdocprewhy{sup.er} for...}
+\end{tdoclatex}
+
+
+\begin{tdocrem}
+ The choice of a full stop to split a word allows words with a hyphen to be used, as in \tdocinlatex+\tdocprewhy{bric.k-breaker}+ which gives \tdocprewhy{bric.k-breaker}.
+\end{tdocrem}
+
+
+\section{A real-life rendering} \label{tdoc-showcase}
+
+It is sometimes useful to render code directly in the documentation. This type of rendering must be dissociable from the explanatory text.
+
+
+% ------------------ %
+
+
+\subsection{With a coloured stripe}
+
+\begin{tdocexa} [With default text]
+ It can be useful to show a real rendering directly in a document
+ \footnote{
+ Typically when making a demo.
+ }.
+ This is done via \tdocenv{tdocshowcase} as follows.
+
+ \tdoclatexinput[code]{examples-showcase-default.tex}
+
+ The result is the following rendering
+ \footnote{
+ Behind the scenes, the strip is created effortlessly using the \tdocpack{clrstrip} package.
+ }.
+
+ \medskip
+
+ \input{examples-showcase-default.tex}
+\end{tdocexa}
+
+
+\begin{tdocrem}
+ See the section \ref{tdoc-latexshow} on page \pageref{tdoc-latexshow} to easily obtain code followed by its actual rendering as in the previous example.
+\end{tdocrem}
+
+
+\begin{tdocnote}
+ The explanatory texts adapt to the language chosen when \tdocpack{tutodoc} is loaded.
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Change the default colour and/or text]
+ \leavevmode
+
+ \tdoclatexinput[code]{examples-showcase-customized.tex}
+
+ This will produce the following.
+
+ \medskip
+
+ \input{examples-showcase-customized.tex}
+\end{tdocexa}
+
+
+\begin{tdocnote}
+ You will have noticed that we don't obtain a pure red: behind the scenes, the expandable macros \tdocmacro{tdocbackcolor} and \tdocmacro{tdocdarkcolor} are used to create the background and title colours respectively from the ones proposed in \tdocenv{tdocshowcase}.
+ These macros have a single argument, the chosen colour, and accept the following codes.
+
+ \begin{tdoclatex}[code]
+\NewExpandableDocumentCommand{\tdocbackcolor}{m}{#1!5}
+\NewExpandableDocumentCommand{\tdocdarkcolor}{m}{#1!50!black}
+ \end{tdoclatex}
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\begin{tdocwarn}
+ With the default settings, if the code to be formatted begins with an opening bracket, an empty option must be explicitly indicated, as in the following example.
+
+ \tdoclatexinput[code]{examples-showcase-hook.tex}
+
+ This will produce the following.
+
+ \medskip
+
+ \input{examples-showcase-hook.tex}
+\end{tdocwarn}
+
+
+\begin{tdocnote}
+ Behind the scenes, the \tdocmacro{tdocruler} macro is used.
+
+ \begin{tdoclatex}[std]
+ \tdocruler{Un pseudo-titre décoré}{red}
+ \end{tdoclatex}
+\end{tdocnote}
+
+
+\subsection{Without a colour strip}
+
+The rendering of \tdocenv{tdocshowcase} with a coloured strip may not be suitable, or sometimes may not be acceptable despite the work done by \tdocpack{clrstrip}.
+It is possible not to use a coloured strip, as we will see straight away.
+
+
+\begin{tdocexa}
+ The use of \tdocenv[{[nostripe]}]{tdocshowcase} indicate to not use \tdocpack{clrstrip}.
+ Here is an example.
+
+ \tdoclatexinput[code]{examples-showcase-no-clrstrip.tex}
+
+ This will produce the following.
+
+ \medskip
+
+ \input{examples-showcase-no-clrstrip.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Change the default colour and/or text]
+ \leavevmode
+
+ \tdoclatexinput[code]{examples-showcase-no-clrstrip-customized.tex}
+
+ This will produce the following.
+
+ \medskip
+
+ \input{examples-showcase-no-clrstrip-customized.tex}
+\end{tdocexa}
+
+
+\subsection{By importing the \LaTeX\ code}
+
+To obtain renderings by importing the code from an external file, instead of typing it, simply use the \tdocmacro{tdocshowcaseinput} macro whose option uses the syntax of that of \tdocenv{tdocshowcase} and the mandatory argument corresponds to the path of the file.
+
+
+\begin{tdocexa}<nonb>
+ The following was obtained via \tdocinlatex+\tdocshowcaseinput{external.tex}+.
+
+ \medskip
+
+ \tdocshowcaseinput{examples-showcase-external.tex}
+
+ \medskip
+
+ As for \tdocinlatex+\tdocshowcaseinput[color = orange]{external.tex}+ , this will produce the colour change shown below.
+
+ \medskip
+
+ \tdocshowcaseinput[color = orange]{examples-showcase-external.tex}
+\end{tdocexa}
+
+
+\section{Use cases in \LaTeX}
+
+Documenting a package or a class is done efficiently using use cases showing both the code and the corresponding result.
+
+
+% ------------------ %
+
+
+\subsection{\tdocquote{Inline} codes} \label{tdoc-listing-inline}
+
+The \tdocmacro{tdocinlatex} macro
+\footnote{
+ The name of the macro \tdocmacro{tdocinlatex} comes from \tdocquote{tdocprewhy{in.line} \LaTeX}.
+}
+can be used to type inline code in a similar way to \tdocmacro{verb}.
+Here are some examples.
+
+
+\begin{tdoclatex}[sbs]
+ 1: \tdocinlatex|$a^b = c$|
+
+ 2: \tdocinlatex+\tdocinlatex|$a^b = c$|+
+\end{tdoclatex}
+
+
+\begin{tdocnote}
+ The \tdocmacro{tdocinlatex} macro can be used in a footnote: see the bottom of this page
+ \footnote{
+ \tdocinlatex+$minted = TOP$+ was typed \tdocinlatex|\tdocinlatex+$minted = TOP$+| in this footnote.
+ }.
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\subsection{Directly typed codes}
+
+\begin{tdocexa}[Side by side]
+ Using \tdocenv[{[sbs]}]{tdoclatex}, we can display a code and its rendering side by side.
+ \tdocdocbasicinput{examples-listing-ABC.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Following]
+ \tdocenv{tdoclatex} produces the following result, which corresponds to the default option \tdocinlatex#std#
+ \footnote{
+ \tdocinlatex{std} refers to the \tdocquote{standard} behaviour of \tdocpack{tcolorbox} in relation to the \tdocpack{minted} library.
+ }.
+
+ \begin{tdoclatex}
+ $A = B + C$
+ \end{tdoclatex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Just the code]
+ Via \tdocenv[{[code]}]{tdoclatex}, we'll just get the code as shown below.
+
+ \begin{tdoclatex}[code]
+ $A = B + C$
+ \end{tdoclatex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocwarn}
+ With default formatting, if the code begins with an opening bracket, the default option must be explicitly indicated.
+ \tdocdocbasicinput{examples-listing-strange.tex}
+\end{tdocwarn}
+
+
+\subsection{Imported codes}
+
+For the following codes, consider a file with the relative path \verb+examples-listing-xyz.tex+, and with the following contents.
+
+\tdoclatexinput[code]{examples-listing-xyz.tex}
+
+\medskip
+
+The \tdocmacro{tdoclatexinput} macro, shown below, is used in the same way as the \tdocenv{tdoclatex} environment except that the path to a file is supplied.
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Side by side]
+ \leavevmode
+
+ \begin{tdoclatex}[code]
+\tdoclatexinput[sbs]{examples-listing-xyz.tex}
+ \end{tdoclatex}
+
+ This produces the following layout.
+
+ \tdoclatexinput[sbs]{examples-listing-xyz.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Following]
+ \leavevmode
+
+ \begin{tdoclatex}[code]
+\tdoclatexinput{examples-listing-xyz.tex}
+ \end{tdoclatex}
+
+ This produces the following formatting where the default option is \tdocinlatex#std#.
+
+ \tdoclatexinput{examples-listing-xyz.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Just the code]
+ \leavevmode
+
+ \begin{tdoclatex}[code]
+\tdoclatexinput[code]{examples-listing-xyz.tex}
+ \end{tdoclatex}
+
+ This produces the following layout.
+
+ \tdoclatexinput[code]{examples-listing-xyz.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\subsection{Imported codes put into practice} \label{tdoc-latexshow}
+
+\begin{tdocexa}[Showcase]
+ The following can be obtained via \tdocinlatex+\tdoclatexshow{examples-listing-xyz.tex}+.
+
+ \medskip
+
+ \begin{tdoc-doc-showcase}
+ \tdoclatexshow{examples-listing-xyz.tex}
+ \end{tdoc-doc-showcase}
+\end{tdocexa}
+
+
+\begin{tdocnote}
+ The default texts take into account the language chosen when loading the package \tdocpack{tutodoc}.
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Changing the explanatory text]
+ Using the key \tdocinlatex|explain|, you can use custom text. Thus, \tdocinlatex|tdoclatexshow[explain = Here is the actual rendering.]{examples-listing-xyz.tex}| will produce the following.
+
+ \medskip
+
+ \begin{tdoc-doc-showcase}
+ \tdoclatexshow[explain = Here is the actual rendering.]{examples-listing-xyz.tex}
+ \end{tdoc-doc-showcase}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[The options available]
+ In addition to the explanatory text, it is also possible to use all the options of \tdocenv{tdocshowcase}, see \ref{tdoc-showcase} page \pageref{tdoc-showcase}.
+ Here is an example to illustrate this.
+
+ \medskip
+
+ \tdoclatexinput[code]{examples-listing-latexshow-options.tex}
+
+ \medskip
+
+ This will produce the following.
+
+ \medskip
+
+ \begin{tdoc-doc-showcase}
+ \input{examples-listing-latexshow-options.tex}
+ \end{tdoc-doc-showcase}
+\end{tdocexa}
+
+
+\section{Indicate changes}
+
+To make it easier to monitor a package, it is essential to provide a history indicating the changes made when a new version is published.
+
+
+% ------------------ %
+
+
+\subsection{When?}
+
+You can either date something, or version it, in which case the version number can be dated.
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Dating new products]
+ The \tdocmacro{tdocdate} macro is used to indicate a date in the margin, as in the following example.
+
+ \tdoclatexshow{examples-version-n-change-dating.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Versioning new features, possibly with a date]
+ Associating a version number with a new feature is done using the \tdocmacro{tdocversion} macro, with the colour and date being optional arguments.
+
+ \tdoclatexshow{examples-version-n-change-versioning.tex}
+\end{tdocexa}
+
+
+\begin{tdocimportant}
+ \leavevmode
+
+ \begin{enumerate}
+ \item The \tdocmacro{tdocdate} and \tdocmacro{tdocversion} macros require two compilations.
+
+ \item The final rendering of the dates takes into account the language specified when loading the package \tdocpack{tutodoc}: for example, if French is selected, the dates will be displayed in the format \texttt{DD/MM/YYYY}.
+ \end{enumerate}
+\end{tdocimportant}
+
+
+\begin{tdocwarn}
+ Only the use of the digital format \tdocinlatex+YYYY-MM-DD+ is verified.
+ \footnote{
+ Technically, checking the validity of a date using \LaTeX3 presents no difficulty.
+ },
+ and this is a choice! Why? Quite simply because dating and versioning explanations should be done semi-automatically to avoid any human bugs.
+\end{tdocwarn}
+
+
+\subsection{What's new?}
+
+\tdocpack{tutodoc} offers different environments to indicate quickly and clearly what has been done
+\footnote{
+ The user doesn't need all the technical details.
+}
+during the latest changes.
+
+
+\begin{tdocexa}[For new features]
+ \leavevmode
+
+ \tdoclatexinput[sbs]{examples-version-n-change-new.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[For updates]
+ \leavevmode
+
+ \tdoclatexinput[sbs]{examples-version-n-change-update.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[For fixes]
+ \leavevmode
+
+ \tdoclatexinput[sbs]{examples-version-n-change-fix.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Chosen topics]
+ \leavevmode
+
+ \tdoclatexinput[sbs]{examples-version-n-change-topic.tex}
+\end{tdocexa}
+
+\section{Ornaments}
+
+Let's finish this documentation with a few small formatting tools that can be very useful.
+
+
+\begin{tdoclatex}[sbs]
+Bla, bla, bla...
+
+\tdocsep % Practical for demarcation.
+
+Ble, ble, ble...
+
+Bli, bli, bli...
+
+\tdocxspace % Subtle space
+ % but useful.
+
+Blo, blo, blo...
+
+Blu, blu, blu...
+
+\end{tdoclatex}
+
+
+
+\section{History}
+
+\tdocversion{1.0.0}[2023-11-29]
+
+First public version of the project.
+
+\end{document}
diff --git a/macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf b/macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf
new file mode 100644
index 0000000000..61c26a3f4f
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex b/macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex
new file mode 100644
index 0000000000..d5c55ff667
--- /dev/null
+++ b/macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex
@@ -0,0 +1,1118 @@
+
+% -------------------- %
+% -- RESOURCES USED -- %
+% -------------------- %
+
+
+\begin{filecontents*}{examples-focus-exa.tex}
+Bla, bla, bla...
+
+\begin{tdocexa}
+ Ble, ble, ble...
+\end{tdocexa}
+
+\begin{tdocexa}[Magnifique]
+ Bli, bli, bli...
+\end{tdocexa}
+
+\begin{tdocexa}<nonb>
+ Blo, blo, blo...
+\end{tdocexa}
+
+\begin{tdocexa}<nonb>[Superbe]
+ Blu, blu, blu...
+\end{tdocexa}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-exa-leavevmode.tex}
+\begin{tdocexa}
+ \leavevmode
+
+ \begin{enumerate}
+ \item Point 1.
+
+ \item Point 2.
+ \end{enumerate}
+\end{tdocexa}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-rmk.tex}
+\begin{tdocrem}
+ Juste une remarque...
+\end{tdocrem}
+
+\begin{tdocrem}[Mini titre]
+ Utile ?
+\end{tdocrem}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-tip.tex}
+\begin{tdoctip}
+ Une astuce.
+\end{tdoctip}
+
+\begin{tdoctip}[Mini titre]
+ Utile ?
+\end{tdoctip}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-note.tex}
+\begin{tdocnote}
+ Un truc utile à vous dire...
+\end{tdocnote}
+
+\begin{tdocnote}[Mini titre]
+ Utile ?
+\end{tdocnote}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-important.tex}
+\begin{tdocimportant}
+ Un truc important sans danger.
+\end{tdocimportant}
+
+\begin{tdocimportant}[Mini titre]
+ Utile ?
+\end{tdocimportant}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-caution.tex}
+\begin{tdoccaution}
+ Prudence, prudence...
+\end{tdoccaution}
+
+\begin{tdoccaution}[Mini titre]
+ Utile ?
+\end{tdoccaution}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-focus-warn.tex}
+\begin{tdocwarn}
+ Evitez les dangers...
+\end{tdocwarn}
+
+\begin{tdocwarn}[Mini titre]
+ Utile ?
+\end{tdocwarn}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-default.tex}
+\begin{tdocshowcase}
+ \bfseries Un peu de code \LaTeX.
+
+ \bigskip
+
+ \emph{\large Fin de l'affreuse démo.}
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-customized.tex}
+\begin{tdocshowcase}[before = Mon début,
+ after = Ma fin à moi,
+ color = red]
+ Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-hook.tex}
+\begin{tdocshowcase}[]
+ [Cela fonctionne...]
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-no-clrstrip.tex}
+\begin{tdocshowcase}[nostripe]
+ Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-no-clrstrip-customized.tex}
+\begin{tdocshowcase}[nostripe,
+ before = Mon début,
+ after = Ma fin à moi,
+ color = green]
+ Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+\end{tdocshowcase}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-showcase-external.tex}
+Blablobli, blablobli, blablobli, blablobli, blablobli, blablobli...
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-listing-ABC.tex}
+\begin{tdoclatex}[sbs]
+ $A = B + C$
+\end{tdoclatex}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-listing-strange.tex}
+\begin{tdoclatex}[std]
+ [Étrange... Ou pas !]
+\end{tdoclatex}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-listing-xyz.tex}
+% Juste une démo.
+$x y z = 1$
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-listing-latexshow-options.tex}
+\tdoclatexshow[explain = Ce qui vient est coloré...,
+ before = Rendu ci-après.,
+ after = Rendu fini.,
+ color = orange]
+ {examples-listing-xyz.tex}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-dating.tex}
+Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+
+\medskip % ATTENTION ! Ceci évite le chevauchement.
+
+\tdocdate{2023-09-24}
+
+Ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
+
+\medskip % ATTENTION ! Ceci évite le chevauchement.
+
+\tdocdate[gray]{2020-05-08}
+
+Bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli, bli...
+
+Blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo, blo...
+
+Blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu, blu...
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-versioning.tex}
+\tdocversion[red]{10.2.0-beta}[2023-12-01]
+
+Bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla...
+
+\bigskip % ATTENTION ! Ceci évite le chevauchement.
+
+\tdocversion{10.2.0-alpha}
+
+Ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
+ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
+ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble,
+ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-new.tex}
+\begin{tdocnew}
+ \item Info 1...
+ \item Info 2...
+\end{tdocnew}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-update.tex}
+\begin{tdocupdate}
+ \item Info 1...
+ \item Info 2...
+\end{tdocupdate}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-fix.tex}
+\begin{tdocfix}
+ \item Info 1...
+ \item Info 2...
+\end{tdocfix}
+\end{filecontents*}
+
+
+\begin{filecontents*}{examples-version-n-change-topic.tex}
+\begin{tdoctopic}{Des changements inclassables}
+% Ici le point s'impose.
+ \item Info 1...
+ \item Info 2...
+\end{tdoctopic}
+\end{filecontents*}
+
+
+% ------------------------ %
+% -- SOURCE FOR THE DOC -- %
+% ------------------------ %
+
+\documentclass[10pt, a4paper]{article}
+
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+
+\usepackage[french]{babel, varioref}
+
+\usepackage{enumitem}
+\frenchsetup{StandardItemLabels=true}
+
+% Package documented.
+\usepackage[lang = french]{tutodoc}
+
+
+% Source.
+% * https://tex.stackexchange.com/a/604698/6880
+
+\NewDocumentCommand{ \tdocdocbasicinput }{ m }{%
+ Considérons le code suivant.
+
+ \tdoclatexinput[code]{#1}
+
+ Ceci produira ce qui suit.
+
+ \input{#1}
+}
+
+
+% Source.
+% * https://tex.stackexchange.com/a/604698/6880
+
+\NewDocumentCommand{ \tdocdocextraruler }{ m }{%
+ \par
+ {
+ \centering
+ \color{green!50!black}%
+ \leavevmode
+ \kern.075\linewidth
+ \leaders\hrule height3.25pt\hfill\kern0pt
+ \footnotesize\itshape\bfseries\space\ignorespaces#1\unskip\space
+ \leaders\hrule height3.25pt\hfill\kern0pt
+ \kern.075\linewidth
+ \par
+ }
+}
+
+\NewDocumentEnvironment{ tdoc-doc-showcase }
+ { O{ Début du rendu dans cette doc. }
+ O{ Fin du rendu dans cette doc. } }{
+ \tdocdocextraruler{#1}
+ \smallskip
+}{
+ \smallskip
+ \tdocdocextraruler{#2}
+}
+
+
+
+\begin{document}
+
+\title{Le package \texttt{tutodoc} - Documentation de type tutoriel}
+\author{Christophe BAL}
+\date{29 Nov. 2023 - Version 1.0.0}
+
+\maketitle
+
+\begin{abstract}
+Le package \tdocpack{tutodoc}
+\footnote{
+ Le nom vient de \tdocquote{\tdocprewhy{tuto.rial-type} \tdocprewhy{doc.umentation}} se traduit en \tdocquote{documentation de type tutoriel}.
+}
+est utilisé par son auteur pour produire de façon sémantique des documentations de packages et de classes \LaTeX\ dans un style de type tutoriel
+\footnote{
+ L'idée est de produire un fichier \texttt{PDF} efficace à parcourir pour des besoins ponctuels. C'est généralement ce que l'on attend d'une documentation liée au codage.
+},
+et avec un rendu sobre pour une lecture sur écran.
+
+
+\begin{tdocnote}
+ Ce package impose un style de mise en forme.
+ Dans un avenir plus ou moins proche, \tdocpack{tutodoc} sera sûrement éclaté en une classe et un package.
+\end{tdocnote}
+
+\tdocsep
+
+{\small\itshape
+\textbf{Abstract.}
+The \tdocpack{tutodoc} package
+\footnote{
+ The name comes from \tdocquote{\tdocprewhy{tuto.rial-type} \tdocprewhy{doc.umentation}}.
+}
+is used by its author to semantically produce documentation of \LaTeX\ packages and classes in a tutorial style
+\footnote{
+ The idea is to produce an efficient \texttt{PDF} file that can be browsed for one-off needs. This is generally what is expected of coding documentation.
+},
+and with a sober rendering for reading on screen.
+
+
+\begin{tdocnote}
+ This package imposes a formatting style. In the not-too-distant future, \tdocpack{tutodoc} will probably be split into a class and a package.
+\end{tdocnote}
+}
+\end{abstract}
+
+
+\newpage
+\tableofcontents
+\newpage
+\section{Mises en forme générales imposées}
+
+\subsection{Géométrie de la page}
+
+Le package \tdocpack{geometry} est chargé avec les réglages suivants.
+
+
+\begin{tdoclatex}[code]
+\RequirePackage[
+ top = 2.5cm,
+ bottom = 2.5cm,
+ left = 2.5cm,
+ right = 2.5cm,
+ marginparwidth = 2cm,
+ marginparsep = 2mm,
+ heightrounded
+]{geometry}
+\end{tdoclatex}
+
+
+\subsection{Titre et table des matières}
+
+Les packages \tdocpack{titlesec} et \tdocpack{tocbasic} sont réglés comme suit.
+
+
+\begin{tdoclatex}[code]
+\RequirePackage[raggedright]{titlesec}
+
+% ...
+\ifcsundef{chapter}%
+ {}%
+ {\renewcommand\thechapter{\Alph{chapter}.}}
+
+\renewcommand\thesection{\Roman{section}.}
+\renewcommand\thesubsection{\arabic{subsection}.}
+\renewcommand\thesubsubsection{\roman{subsubsection}.}
+
+\titleformat{\paragraph}[hang]%
+ {\normalfont\normalsize\bfseries}%
+ {\theparagraph}{1em}%
+ {}
+
+\titlespacing*{\paragraph}%
+ {0pt}%
+ {3.25ex plus 1ex minus .2ex}%
+ {0.5em}
+
+% Source
+% * https://tex.stackexchange.com/a/558025/6880
+\DeclareTOCStyleEntries[
+ raggedentrytext,
+ linefill = \hfill,
+ indent = 0pt,
+ dynindent,
+ numwidth = 0pt,
+ numsep = 1ex,
+ dynnumwidth
+]{tocline}{
+ chapter,
+ section,
+ subsection,
+ subsubsection,
+ paragraph,
+ subparagraph
+}
+
+\DeclareTOCStyleEntry[indentfollows = chapter]{tocline}{section}
+\end{tdoclatex}
+
+
+\subsection{Liens dynamiques}
+
+Le package \tdocpack{hyperref} est importé en coulisse avec les réglages ci-dessous.
+
+
+\begin{tdoclatex}[code]
+\hypersetup{
+ colorlinks,
+ citecolor = orange!75!black,
+ filecolor = orange!75!black,
+ linkcolor = orange!75!black,
+ urlcolor = orange!75!black
+}
+\end{tdoclatex}
+
+
+\section{Choisir la langue au chargement du package}
+
+La présente documentation utilise le français via \tdocinlatex|\usepackage[lang = french]{tutodoc}| .
+Pour le moment, on a juste les deux choix suivants.
+
+\begin{enumerate}
+ \item \tdocinlatex|english| est la valeur par défaut.
+
+ \item \tdocinlatex|french| est pour \tdocinEN{français}.
+\end{enumerate}
+
+
+\begin{tdocnote}
+ Les noms des langues sont ceux proposés par le package \tdocpack{babel}.
+\end{tdocnote}
+
+
+\section{Cela veut dire quoi en \tdocquote{anglais}}
+
+Penser aux non-anglophones est bien, même si ces derniers se font de plus en plus rares.
+
+
+\begin{tdoclatex}
+Cool et top signifient \tdocinEN*{cool} et \tdocinEN{top}.
+\end{tdoclatex}
+
+
+La macro \tdocmacro{tdocinEN} et sa version étoilée s'appuient sur \tdocmacro{tdocquote} : par exemple, \tdocquote{sémantique} s'obtient via \tdocinlatex|\tdocquote{sémantique}| .
+
+
+\begin{tdocnote}
+ Le texte \tdocquote{en anglais} est traduit dans la langue indiquée lors de l'importation de \tdocpack{tutodoc}.
+\end{tdocnote}
+
+
+\section{Mettre en avant du contenu}
+
+\begin{tdocnote}
+ Les environnements présentés dans cette section
+ \footnote{
+ La mise en forme provient du package \tdocpack{amsthm}.
+ }
+ ajoutent un court titre indiquant le type d'informations fournies.
+ Ce court texte sera toujours traduit dans la langue indiquée lors du chargement du package \tdocpack{tutodoc}.
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\subsection{Des exemples}
+
+Des exemples numérotés, ou non, s'indiquent via l'environnement \tdocenv{tdocexa} qui propose deux arguments optionnels.
+
+\begin{enumerate}
+ \item Le 1\ier{} argument entre chevrons \verb#<...># peut prendre au choix les valeurs \verb#nb# pour numéroter, réglage par défaut, et \verb#nonb# pour ne pas numéroter.
+
+ \item Le 2\ieme{} argument entre crochets \verb#[...]# sert à ajouter un mini-titre.
+\end{enumerate}
+
+
+Voici différents emplois possibles.
+
+\tdoclatexinput[sbs]{examples-focus-exa.tex}
+
+
+% ------------------ %
+
+
+\begin{tdocimportant}
+ La numérotation des exemples est remise à zéro dès qu'une section de niveau au moins égale à une \tdocinlatex|\subsubsection| est ouverte.
+\end{tdocimportant}
+
+
+% ------------------ %
+
+
+\begin{tdoctip}
+ Il peut parfois être utile de revenir à la ligne dès le début du contenu. Voici comment faire (ce tour de passe-passe reste valable pour les environnements présentés dans les sous-sections suivantes). Noter au passage que la numérotation suit celle de l'exemple précédent comme souhaité.
+
+ \tdoclatexinput[sbs]{examples-focus-exa-leavevmode.tex}
+\end{tdoctip}
+
+
+\subsection{Des remarques}
+
+Tout se passe via l'environnement \tdocenv{tdocrem} comme dans l'exemple suivant.
+
+\tdoclatexinput[sbs]{examples-focus-rmk.tex}
+
+
+\subsection{Une astuce}
+
+L'environnement \tdocenv{tdoctip} sert à donner des astuces. Voici comment l'employer.
+
+\tdoclatexinput[sbs]{examples-focus-tip.tex}
+
+
+\subsection{Note informative}
+
+L'environnement \tdocenv{tdocnote} sert à mettre en avant des informations utiles. Voici comment l'utiliser.
+
+\tdoclatexinput[sbs]{examples-focus-note.tex}
+
+
+\subsection{Un truc important}
+
+L'environnement \tdocenv{tdocimportant} permet d'indiquer quelque chose d'important mais sans danger.
+
+\tdoclatexinput[sbs]{examples-focus-important.tex}
+
+
+\subsection{Avertir d'un point très délicat}
+
+L'environnement \tdocenv{tdoccaution} sert à indiquer un point délicat à l'utilisateur. Voici comment l'employer.
+
+\tdoclatexinput[sbs]{examples-focus-caution.tex}
+
+
+\subsection{Avertir d'un danger}
+
+L'environnement \tdocenv{tdocwarn} sert à avertir l'utilisateur d'un piège à éviter. Voici comment l'employer.
+
+\tdoclatexinput[sbs]{examples-focus-warn.tex}
+
+
+\section{Indiquer des packages, des classes, des macros ou des environnements}
+
+Voici ce qu'il est possible de taper de façon sémantique.
+
+
+\begin{tdoclatex}[sbs]
+\tdoccls{maclasse} sert à...
+
+\tdocpack{monpackage} est pour...
+
+\tdocmacro{unemacro} permet de...
+
+\tdocenv{env} produit...
+
+On a aussi :
+
+\tdocenv[{[opt1]<opt2>}]{env}
+\end{tdoclatex}
+
+
+\begin{tdocrem}
+ L'intérêt des macros précédentes vis à vis de l'usage de \tdocmacro{tdocinlatex}, voir la section \ref{tdoc-listing-inline} page \pageref{tdoc-listing-inline}, est l'absence de coloration.
+ De plus, la macro \tdocmacro{tdocenv} demande juste de taper le nom de l'environnement
+ \footnote{
+ De plus, \tdocinlatex{\tdocenv{monenv}} produit \tdocenv{monenv} avec des espaces afin d'autoriser des retours à la ligne si besoin.
+ }
+ avec des éventuelles options en tapant les bons délimiteurs
+ \footnote{
+ Se souvenir que tout est possible ou presque dorénavant.
+ }
+ à la main.
+\end{tdocrem}
+
+
+\begin{tdocwarn}
+ L'argument optionnel de la macro \tdocmacro{tdocenv} est copié-collé lors du rendu. Ceci peut donc parfois nécessiter d'utiliser des accolades protectrices comme dans l'exemple précédent.
+\end{tdocwarn}
+
+
+% -------------------- %
+
+
+\section{Origine d'un préfixe ou d'un suffixe}
+
+Pour expliquer les noms retenus, rien de tel que d'indiquer et expliciter les courts préfixes et suffixes employés. Ceci se fait facilement comme suit.
+
+
+\begin{tdoclatex}[sbs]
+\tdocpre{sup} est relatif à...
+
+\tdocprewhy{sup.erbe} signifie...
+
+\emph{\tdocprewhy{sup.er} pour...}
+\end{tdoclatex}
+
+
+\begin{tdocrem}
+ Le choix du point pour scinder un mot permet d'utiliser des mots avec un tiret comme dans \tdocinlatex+\tdocprewhy{ca.sse-brique}+ qui donne \tdocprewhy{ca.sse-brique}.
+\end{tdocrem}
+
+
+\section{Un rendu en situation réelle} \label{tdoc-showcase}
+
+Il est parfois utile d'obtenir directement le rendu d'un code dans la documentation. Ceci nécessite que ce type de rendu soit dissociable du texte donnant des explications.
+
+
+% ------------------ %
+
+
+\subsection{Avec une bande colorée}
+
+\begin{tdocexa}[Avec les textes par défaut]
+ Il peut être utile de montrer un rendu réel directement dans un document
+ \footnote{
+ Typiquement lorsque l'on fait une démo.
+ }.
+ Ceci se tape via \tdocenv{tdocshowcase} comme suit.
+
+ \tdoclatexinput[code]{examples-showcase-default.tex}
+
+ On obtient alors le rendu suivant
+ \footnote{
+ En coulisse, la bande est créée sans effort grâce au package \tdocpack{clrstrip}.
+ }.
+
+ \medskip
+
+ \input{examples-showcase-default.tex}
+\end{tdocexa}
+
+
+\begin{tdocrem}
+ Voir la section \ref{tdoc-latexshow} page \pageref{tdoc-latexshow} pour obtenir facilement un code suivi de son rendu réel comme dans l'exemple précédent.
+\end{tdocrem}
+
+
+\begin{tdocnote}
+ Les textes explicatifs s'adaptent à la langue choisie lors du chargement de \tdocpack{tutodoc}.
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Changer la couleur et/ou les textes par défaut]
+ \leavevmode
+
+ \tdoclatexinput[code]{examples-showcase-customized.tex}
+
+ Ceci produira ce qui suit.
+
+ \medskip
+
+ \input{examples-showcase-customized.tex}
+\end{tdocexa}
+
+
+\begin{tdocnote}
+ Vous avez sûrement noté que l'on n'obtient pas un rouge pur : en coulisse les macros développables \tdocmacro{tdocbackcolor} et \tdocmacro{tdocdarkcolor} sont utilisées pour créer celles du fond et des titres respectivement à partir de la couleur proposée à \tdocenv{tdocshowcase}.
+ Ces macros à un seul argument, la couleur choisie, admettent les codes suivants.
+
+ \begin{tdoclatex}[code]
+\NewExpandableDocumentCommand{\tdocbackcolor}{m}{#1!5}
+\NewExpandableDocumentCommand{\tdocdarkcolor}{m}{#1!50!black}
+ \end{tdoclatex}
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\begin{tdocwarn}
+ Avec les réglages par défaut, si le code \LaTeX\ à mettre en forme commence par un crochet ouvrant, il faudra indiquer explicitement une option vide comme dans l'exemple suivant.
+
+ \tdoclatexinput[code]{examples-showcase-hook.tex}
+
+ Ceci produira ce qui suit.
+
+ \medskip
+
+ \input{examples-showcase-hook.tex}
+\end{tdocwarn}
+
+
+\begin{tdocnote}
+ Il faut savoir qu'en coulisse la macro \tdocmacro{tdocruler} est utilisée.
+
+ \begin{tdoclatex}[std]
+ \tdocruler{Un pseudo-titre décoré}{red}
+ \end{tdoclatex}
+\end{tdocnote}
+
+
+\subsection{Sans bande colorée}
+
+Le rendu de \tdocenv{tdocshowcase} avec une bande colorée peut ne pas convenir, ou parfois ne pas être acceptable malgré le travail fait par \tdocpack{clrstrip}.
+Il est possible de ne pas utiliser une bande colorée comme nous allons le voir tout de suite.
+
+
+\begin{tdocexa}
+ L'emploi de \tdocenv[{[nostripe]}]{tdocshowcase} demande de ne pas faire appel à \tdocpack{clrstrip}.
+ Voici un exemple d'utilisation.
+
+ \tdoclatexinput[code]{examples-showcase-no-clrstrip.tex}
+
+ Ceci produira ce qui suit.
+
+ \medskip
+
+ \input{examples-showcase-no-clrstrip.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Changer la couleur et/ou les textes par défaut]
+ \leavevmode
+
+ \tdoclatexinput[code]{examples-showcase-no-clrstrip-customized.tex}
+
+ Ceci produira ce qui suit.
+
+ \medskip
+
+ \input{examples-showcase-no-clrstrip-customized.tex}
+\end{tdocexa}
+
+
+\subsection{En important le code \LaTeX}
+
+Pour obtenir des rendus en important le code depuis un fichier externe, au lieu de le taper, il suffit d'employer la macro \tdocmacro{tdocshowcaseinput} dont l'option reprend la syntaxe de celle de \tdocenv{tdocshowcase} et l'argument obligatoire correspond au chemin du fichier.
+
+
+\begin{tdocexa}<nonb>
+ Ce qui suit a été obtenu via \tdocinlatex+\tdocshowcaseinput{external.tex}+.
+
+ \medskip
+
+ \tdocshowcaseinput{examples-showcase-external.tex}
+
+ \medskip
+
+ Quant à \tdocinlatex+\tdocshowcaseinput[color = orange]{external.tex}+ , ceci produira le changement de couleur observable ci-après.
+
+ \medskip
+
+ \tdocshowcaseinput[color = orange]{examples-showcase-external.tex}
+\end{tdocexa}
+
+
+\section{Cas d'utilisation en \LaTeX}
+
+Documenter un package ou une classe se fait efficacement via des cas d'utilisation montrant à la fois du code et le résultat correspondant.
+
+
+% ------------------ %
+
+
+\subsection{Codes \tdocquote{en ligne}} \label{tdoc-listing-inline}
+
+La macro \tdocmacro{tdocinlatex}
+\footnote{
+ Le nom de la macro \tdocmacro{tdocinlatex} vient de \tdocquote{\tdocprewhy{in.line} \LaTeX} soit \tdocinEN{\LaTeX\ en ligne}.
+}
+permet de taper du code en ligne via un usage similaire à \tdocmacro{verb}.
+Voici des exemples d'utilisation.
+
+
+\begin{tdoclatex}[sbs]
+ 1: \tdocinlatex|$a^b = c$|
+
+ 2: \tdocinlatex+\tdocinlatex|$a^b = c$|+
+\end{tdoclatex}
+
+
+\begin{tdocnote}
+ La macro \tdocmacro{tdocinlatex} est utilisable dans une note de pied de page : voir le bas de cette page
+ \footnote{
+ \tdocinlatex+$minted = TOP$+ a été tapé \tdocinlatex|\tdocinlatex+$minted = TOP$+| dans cette note de bas de page..
+ }.
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\subsection{Codes tapés directement}
+
+\begin{tdocexa}[Face à face]
+ Via \tdocenv[{[sbs]}]{tdoclatex}, on affichera un code et son rendu côte à côte.
+ Indiquons que \tdocinlatex#sbs# est pour \tdocquote{\tdocprewhy{s.ide} \tdocprewhy{b.y} \tdocprewhy{s.ide}} soit \tdocinEN{côte à côte}.
+ \tdocdocbasicinput{examples-listing-ABC.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[À la suite]
+ \tdocenv{tdoclatex} produit le résultat suivant qui correspond à l'option par défaut \tdocinlatex#std#
+ \footnote{
+ \tdocinlatex{std} fait référence au comportement \tdocquote{standard} de \tdocpack{tcolorbox} vis à vis de la librairie \tdocpack{minted}.
+ }.
+
+ \begin{tdoclatex}
+ $A = B + C$
+ \end{tdoclatex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Juste le code]
+ Via \tdocenv[{[code]}]{tdoclatex}, on aura juste le code comme ci-après.
+
+ \begin{tdoclatex}[code]
+ $A = B + C$
+ \end{tdoclatex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocwarn}
+ Avec la mise en forme par défaut, si le code commence par un crochet ouvrant, il faudra indiquer explicitement l'option par défaut.
+ \tdocdocbasicinput{examples-listing-strange.tex}
+\end{tdocwarn}
+
+
+\subsection{Codes importés}
+
+Pour les codes suivants, on considère un fichier de chemin relatif \verb+examples-listing-xyz.tex+, et ayant le contenu suivant.
+
+\tdoclatexinput[code]{examples-listing-xyz.tex}
+
+\medskip
+
+La macro \tdocmacro{tdoclatexinput} , présentée ci-après, s'utilise comme l'environnement \tdocenv{tdoclatex} excepté que l'on fournit le chemin d'un fichier.
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Face à face]
+ \leavevmode
+
+ \begin{tdoclatex}[code]
+\tdoclatexinput[sbs]{examples-listing-xyz.tex}
+ \end{tdoclatex}
+
+ Ceci produit la mise en forme suivante.
+
+ \tdoclatexinput[sbs]{examples-listing-xyz.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[À la suite]
+ \leavevmode
+
+ \begin{tdoclatex}[code]
+\tdoclatexinput{examples-listing-xyz.tex}
+ \end{tdoclatex}
+
+ Ceci produit la mise en forme suivante où l'option employée par défaut est \tdocinlatex#std#.
+
+ \tdoclatexinput{examples-listing-xyz.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Juste le code]
+ \leavevmode
+
+ \begin{tdoclatex}[code]
+\tdoclatexinput[code]{examples-listing-xyz.tex}
+ \end{tdoclatex}
+
+ Ceci produit la mise en forme suivante.
+
+ \tdoclatexinput[code]{examples-listing-xyz.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\subsection{Codes importés et mis en situation} \label{tdoc-latexshow}
+
+\begin{tdocexa}[Showcase]
+ Ce qui suit s'obtient via \tdocinlatex+\tdoclatexshow{examples-listing-xyz.tex}+.
+
+ \medskip
+
+ \begin{tdoc-doc-showcase}
+ \tdoclatexshow{examples-listing-xyz.tex}
+ \end{tdoc-doc-showcase}
+\end{tdocexa}
+
+
+\begin{tdocnote}
+ Les textes par défaut tiennent compte de la langue choisie lors du chargement du package \tdocpack{tutodoc}.
+\end{tdocnote}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Changer le texte explicatif]
+ Via la clé \tdocinlatex|explain|, on peut utiliser un texte personnalisé. Ainsi, \tdocinlatex|\tdoclatexshow[explain = Voici le rendu réel.]{examples-listing-xyz.tex}| produira ce qui suit.
+
+ \medskip
+
+ \begin{tdoc-doc-showcase}
+ \tdoclatexshow[explain = Voici le rendu réel.]{examples-listing-xyz.tex}
+ \end{tdoc-doc-showcase}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Les options disponibles]
+ En plus du texte explicatif, il est aussi possible d'utiliser toutes les options de \tdocenv{tdocshowcase}, voir \ref{tdoc-showcase} page \pageref{tdoc-showcase}.
+ Voici un exemple illustrant ceci.
+
+ \medskip
+
+ \tdoclatexinput[code]{examples-listing-latexshow-options.tex}
+
+ \medskip
+
+ Ceci va produire ce qui suit.
+
+ \medskip
+
+ \begin{tdoc-doc-showcase}
+ \input{examples-listing-latexshow-options.tex}
+ \end{tdoc-doc-showcase}
+\end{tdocexa}
+
+
+\section{Indiquer les changements}
+
+Afin de faciliter le suivi d'un package, il est indispensable de fournir un historique indiquant les changements effectués lors de la publication d'une nouvelle version.
+
+
+% ------------------ %
+
+
+\subsection{À quel moment ?}
+
+On peut au choix dater quelque chose, ou bien le versionner, dans ce second cas le numéro de version pourra éventuellement être daté.
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Dater des nouveautés]
+ La macro \tdocmacro{tdocdate} permet d'indiquer une date dans la marge comme dans l'exemple suivant.
+
+ \tdoclatexshow{examples-version-n-change-dating.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Versionner des nouveautés en les datant événtuellement]
+ Associer un numéro de version à une nouveauté se fait via la macro \tdocmacro{tdocversion}, la couleur et la date étant des arguments optionnels.
+
+ \tdoclatexshow{examples-version-n-change-versioning.tex}
+\end{tdocexa}
+
+
+\begin{tdocimportant}
+ \leavevmode
+
+ \begin{enumerate}
+ \item Les macros \tdocmacro{tdocdate} et \tdocmacro{tdocversion} nécessitent deux compilations.
+
+ \item Comme la langue indiquée pour cette documentation est le français, la date dans le rendu final est au format \texttt{JJ/MM/AAAA} alors que dans le code celle-ci devra toujours être saisie au format anglais \texttt{AAAA-MM-JJ}.
+ \end{enumerate}
+\end{tdocimportant}
+
+
+\begin{tdocwarn}
+ Seul l'emploi du format numérique \tdocinlatex+YYYY-MM-DD+ est vérifié
+ \footnote{
+ Techniquement, vérifier la validité d'une date, via \LaTeX3, ne présente pas de difficulté.
+ },
+ et ceci est un choix ! Pourquoi cela ? Tout simplement car dater et versionner des explications devrait se faire de façon semi-automatisée afin d'éviter tout bug humain.
+% \footnote{
+% L'auteur de \tdocpack{tutodoc} est entrain de mettre en place un ensemble d'outils permettant une telle semi-automatisation.
+% }.
+\end{tdocwarn}
+
+
+\subsection{Quoi de neuf ?}
+
+\tdocpack{tutodoc} propose différents environnements pour indiquer rapidement et clairement ce qui a été fait
+\footnote{
+ L'utilisateur n'a pas besoin de tous les détails techniques.
+}
+lors des derniers changements.
+
+
+\begin{tdocexa}[Pour les nouveautés]
+ \leavevmode
+
+ \tdoclatexinput[sbs]{examples-version-n-change-new.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Pour les mises à jour]
+ \leavevmode
+
+ \tdoclatexinput[sbs]{examples-version-n-change-update.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Pour les réparations]
+ \leavevmode
+
+ \tdoclatexinput[sbs]{examples-version-n-change-fix.tex}
+\end{tdocexa}
+
+
+% ------------------ %
+
+
+\begin{tdocexa}[Thématiques aux choix]
+ \leavevmode
+
+ \tdoclatexinput[sbs]{examples-version-n-change-topic.tex}
+\end{tdocexa}
+
+
+\section{Décorations}
+
+Finissons cette documentation avec de petites outils de mise en forme pouvant rendre de grands services.
+
+
+\begin{tdoclatex}[sbs]
+Bla, bla, bla...
+
+\tdocsep % Pratique pour délimiter.
+
+Ble, ble, ble...
+
+Bli, bli, bli...
+
+\tdocxspace % Espace subtile
+ % mais utile.
+
+Blo, blo, blo...
+
+Blu, blu, blu...
+
+\end{tdoclatex}
+\section{Historique}
+
+\tdocversion{1.0.0}[2023-11-29]
+
+Première version publique du projet.
+
+\end{document}
diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md
index 2957d780bb..b55e1bf964 100644
--- a/macros/latex/required/babel/base/README.md
+++ b/macros/latex/required/babel/base/README.md
@@ -1,6 +1,6 @@
-## Babel 3.97
+## Babel 3.98
-2023-11-11
+2023-12-06
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -10,9 +10,9 @@ is a set of ini files for about 275 languages.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 3.97 are described in:
+Changes in version 3.98 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-3.97.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.98.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -48,9 +48,14 @@ respective authors.
### Summary of latest changes
```
-3.97 2023-11-11
- * Support for 'interchar' (xetex).
- * New locale for Buriat, thanks to J. Khaganov.
+3.98 2023-12-06
+ * Case mappings in ini files, with new casing variants in the
+ Latin locales.
+ * New: \ShowLocaleProperties.
+ * Improved Persian/Farsi, thanks to Farshad Rasuli
+ (@farshadrasuli).
+ * In some languages and xetex, the language name was printed with
+ the first \foreignlanguage.
```
### Previous changes
diff --git a/macros/latex/required/babel/base/babel-code.pdf b/macros/latex/required/babel/base/babel-code.pdf
index 130befcb9e..f319285ed3 100644
--- a/macros/latex/required/babel/base/babel-code.pdf
+++ b/macros/latex/required/babel/base/babel-code.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx
index 4345b09198..afe17f79c5 100644
--- a/macros/latex/required/babel/base/babel.dtx
+++ b/macros/latex/required/babel/base/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2023/11/11 v3.97 The Babel package]
+\ProvidesFile{babel.dtx}[2023/12/06 v3.98 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -582,6 +582,16 @@ _\usepackage[vietnamese,danish]{babel}_
BCP47 tag. See section \ref{bcp47} for further details.
\end{note}
+\begin{note}
+ Documents with several input encodings are not frequent, but
+ sometimes are useful. You can set different encodings for different
+ languages as the following example shows:
+\begin{verbatim}
+\addto\extrasfrench{\inputencoding{latin1}}
+\addto\extrasrussian{\inputencoding{koi8-r}}
+\end{verbatim}
+\end{note}
+
\subsection{Mostly monolingual documents}
\label{mostlymono}
@@ -1438,7 +1448,7 @@ Or also:
corresponding behavior is not always implemented. Also, there are
some limitations in the engines. A few remarks follow (which could no
longer be valid when you read this manual, if the packages involved
- han been updated). The Harfbuzz renderer has still some issues, so as
+ have been updated). The Harfbuzz renderer still has some issues, so as
a rule of thumb prefer the default renderer, and resort to Harfbuzz
only if the former does not work for you. Fortunately, fonts can be
loaded twice with different renderers; for example:
@@ -1562,6 +1572,7 @@ captions):
\tag{bs-Cyrl} Bosnian
\tag{bs-Latn} Bosnian\hascapu\hascapl
\tag{bs} Bosnian\hascapu\hascapl
+\tag{bua} Buriat\hascapu\hascapl
\tag{byn} Blin
\tag{ca} Catalan\hascapu\hascapl
\tag{cch} Atsam
@@ -1936,6 +1947,7 @@ breton\\
british\\
britishenglish\\
bulgarian\\
+buriat\\
burmese\\
canadian\\
canadianenglish\\
@@ -2309,7 +2321,7 @@ Many locale templates are quite useable, provided captions and dates are
not required (which is a very frequent case, particularly in ancient
languages). So, they will be included in the default \babel{} distribution.
This can serve to encourage contributions, too. A warning will remember
-they are ‘bare minumum locales’. The locales are currently
+they are ‘bare minimum locales’. The locales are currently
the following:
\begin{multicols}{4}
\small
@@ -2615,23 +2627,25 @@ something like:
first loads |danish.ldf|, and then redefines the captions for
\texttt{danish} (as provided by the |ini| file) and prevents
hyphenation. The rest of the language definitions are not touched.
-Without the optional argument it just loads some aditional tools if
+Without the optional argument it just loads some additional tools if
provided by the |ini| file, like extra counters.
\Describe{\BabelUppercaseMapping}
{\marg{locale-name}\marg{codepoint}\marg{output}}
\DescribeOther{\BabelLowercaseMapping}
{\marg{locale-name}\marg{codepoint}\marg{output}}
+\DescribeOther{\BabelTitlecaseMapping}
+ {\marg{locale-name}\marg{codepoint}\marg{output}}
\New{3.90} These macros are devised as a high level interface for
declaring case mappings, based on the locale name as declared by or
-with \babel. They are the equivalent of |\DeclareUppercaseMapping| and
-|\DeclareLowercaseMapping| (see \textsf{usrguide.pdf}). The purpose is
-twofold: (1) a user-friendly way to declare them, because
-often BCP 47 tags are not known (and sometimes can be complex);
-(2) if for some reason the tag changes (eg, you decide to tag
-|english| as |en-001| instead of |en-US|), the new mappings will be
-still assigned to that language.
+with \babel. They are the equivalent of |\DeclareUppercaseMapping|,
+|\DeclareLowercaseMapping|, and |\DeclareTitlecaseMapping| (see
+\textsf{usrguide.pdf}). The purpose is twofold: (1) a user-friendly way
+to declare them, because often BCP 47 tags are not known (and sometimes
+can be complex); (2) if for some reason the tag changes (eg, you decide
+to tag |english| as |en-001| instead of |en-US|), the new mappings will
+be still assigned to that language.
\begin{example} For Classical Latin (no need to know the tag is
\texttt{la-x-classic}):
@@ -2832,14 +2846,19 @@ See the next section.
\Describe{Alph=}{\meta{counter-name}} Same for |\Alph|.
\Describe{casing}{\meta{rules}} \New{3.90} Selects the casing rules in a few
-languages. They are (from \textsf{interface3.pdf}):
+languages. The first ones are predefined by \LaTeX{} (see
+\textsf{interface3.pdf}), while the following are defined by \babel:
\begin{description}
- \item[Armenian] |yiwn|, which maps U+0587 to capital ech and yiwn on
+ \item[Armenian] |yiwn| maps U+0587 to capital ech and yiwn on
uppercasing.
- \item[German] |eszett|, which maps the lowercase \textit{Eszett} to a
+ \item[German] |eszett| maps the lowercase \textit{Eszett} to a
\textit{großes Eszett}.
- \item[Greek] |iota|, which converts the \textit{ypogegrammeni} (subscript muted
+ \item[Greek] |iota| converts the \textit{ypogegrammeni} (subscript muted
iota) to capital iota when uppercasing.
+ \item[Latin] |nouv| in |classicallatin| and |medievallatin| reverts
+ the default rules, which maps u ↔ V; |uv| in |ecclesianticallatin|
+ and the basic |latin| locale applies the map u ↔ V (by default it’s
+ u ↔ U and v ↔ V).
\end{description}
\begin{example} For the latter:
@@ -3048,7 +3067,7 @@ CSS. They only work with \xetex{} and \luatex{} and are fully
expandable (even inside an unprotected |\edef|). Currently, they are
limited to numbers below 10000.
-There are several ways to use them (for the availabe styles in each
+There are several ways to use them (for the available styles in each
language, see the list below):
\begin{itemize}
@@ -3327,6 +3346,10 @@ note several locales may share a single |\language|, so they are
separated concepts. In \luatex, the |\localeid| is saved in each node
(when it makes sense) as an attribute, too.
+\Describe{\ShowLocaleProporties}{\marg{language}}
+\New{3.98} Prints to the |log| file all the key/value pairs declared in
+the |ini| locale file for \meta{language}.
+
\Describe{\LocaleForEach}{\marg{code}}
\Babel{} remembers which |ini| files have been loaded. There is a loop
named |\LocaleForEach| to traverse the list, where |#1| is the name of
@@ -3498,6 +3521,22 @@ Unicode engines, spacing is based on the ``current'' em unit (the size
of the previous char in \luatex, and the font size set by the last
|\selectfont| in \xetex).
+\begin{note}
+ With Unicode engines, a line break can happen just before an explicit
+ combining char (eg, \textit{\~{g}}, used in Guarani and Filipino, is
+ not included as a combined char and it’s represented in Unicode as
+ |U+0067|~|U+0303|. This issue is not directly related to \babel, but
+ to the hyphenation patterns and/or the font renderer. However, at
+ least with \luatex{} there is a workaround (change the language name
+ to what you are using):
+\begin{verbatim}
+\babelposthyphenation{guarani}{ | [{0300}-{036F}] }{ remove, {} }
+\end{verbatim}
+The Lua pattern means ‘a discretionary followed by a character in the
+range |U+0300|--|U+0367| (which contains combining chars)’. An
+alternative to a transform is |\babelpatterns|.
+\end{note}
+
\subsection{Transforms}
\label{transforms}
@@ -3514,7 +3553,7 @@ It currently embraces |\babelprehyphenation| and
\New{3.57} Several \textsf{ini} files predefine some transforms. They
are activated with the key |transforms| in |\babelprovide|, either if
the locale is being defined with this macro or the languages has been
-previouly loaded as a class or package option, as the following example
+previously loaded as a class or package option, as the following example
illustrates:
\begin{verbatim}
\usepackage[hungarian]{babel}
@@ -3798,7 +3837,7 @@ future release).
\marg{class-first} and \marg{class-second} can be comma separated lists
of char classes, and all combinations are defined (so that 2 first
classes with 2 second classes, define 4 combinations). In the
-\marg{options} field a key named |label| is available, which allows to
+\meta{options} field a key named |label| is available, which allows to
enable or to disable the rule with the following two commands. Like
prehyphenation transforms in \luatex{}, interchars are not applied if the
current hyphenation rules are |nohyphenation|.
@@ -3832,7 +3871,7 @@ current language.
\begin{warning}
Keep in mind two points: (1) a character can be assigned a single
- class; this is a limitation in the interchar mechanims that often
+ class; this is a limitation in the interchar mechanisms that often
leads to incompatibilities; (2) since the character classes set with
|\babelcharclass| are saved (so that they can be restored), there is a
limit in the number of characters in the \marg{char-list} (which,
@@ -4610,7 +4649,7 @@ layout.lists
The first four are documented elsewhere. The following are by default
|on|, but with |off| can disable some features: |bidi.math| (only
preamble) changes for math or \textsf{amsmath}, |linebreak.sea|,
-|linebreak.sea| and |justify.arabic| the corresponding algorithms,
+|linebreak.cjk| and |justify.arabic| the corresponding algorithms,
|layout.tabular| and |layout.lists| changes for tabular and lists.
Some of the are reverted only to some extent.
@@ -4657,18 +4696,11 @@ options (like paragraph direction with |bidi.text|).
\end{verbatim}
\textit{before} loading babel. This way, when the document begins
the sequence is (1) make \verb/|/ active (\textsf{ltxdoc}); (2) make
- it unactive (your settings); (3) make babel shorthands active
+ it inactive (your settings); (3) make babel shorthands active
(\textsf{babel)}; (4) reload \textsf{hhline} (\textsf{babel}, now
with the correct catcodes for \verb/|/ and
\verb|:|).\catcode`\|=\active
-\item Documents with several input encodings are not frequent, but
- sometimes are useful. You can set different encodings for different
- languages as the following example shows:
-\begin{verbatim}
-\addto\extrasfrench{\inputencoding{latin1}}
-\addto\extrasrussian{\inputencoding{koi8-r}}
-\end{verbatim}
\item For the hyphenation to work correctly, lccodes cannot change,
because \TeX{} only takes into account the values when the
paragraph is hyphenated, i.e., when it has been
@@ -4934,8 +4966,8 @@ recommended.
\label{contribute}
Currently, the easiest way to contribute a new language is by taking
-one the the 500 or so |ini| templates available on GitHub as a basis.
-Just make a pull request o dowonload it and then, after filling the
+one of the 500 or so |ini| templates available on GitHub as a basis.
+Just make a pull request or download it and then, after filling the
fields, sent it to me. Fell free to ask for help or to make feature
requests.
@@ -5180,7 +5212,7 @@ The \TeX book states: ``Plain \TeX\ includes a macro called
all characters that have a special category code.'' \cite[p.~380]{DEK}
It is used to set text `verbatim'. To make this work if more
characters get a special category code, you have to add this character
-to the macro |\dospecial|. \LaTeX\ adds another macro called
+to the macro |\dospecials|. \LaTeX\ adds another macro called
|\@sanitize| representing the same character set, but without the
curly braces. The macros |\bbl@add@special|\meta{char} and
|\bbl@remove@special|\meta{char} add and remove the character
@@ -5440,13 +5472,6 @@ to define |\abmoniname|, |\abmoniiname|, etc. (and similarly with
\end{verbatim}
|#1| is replaced by the roman numeral.
-\Describe\SetCase{\oarg{map-list}\marg{toupper-code}\marg{tolower-code}\qquad\textit{Deprecated}}
-
-\begin{warning}
-This feature doesn’t work any longer after some changes in the \LaTeX{}
-kernel. It’s now deprecated and an alternative is on the way.
-\end{warning}
-
\Describe{\SetHyphenMap}{\marg{to-lower-macros}}
\New{3.9g} Case mapping for hyphenation is handled with |\SetHyphenMap|
and controlled with the package option |hyphenmap|.
@@ -5600,7 +5625,7 @@ wouldn’t exist.
%
% The \babel{} installer extends \textsf{docstrip} with a few
% ``pseudo-guards'' to set ``variables'' used at installation time.
-% They are used with |<||@name@>| at the appropiated places in the
+% They are used with |<||@name@>| at the appropriate places in the
% source code and defined with either
% $\langle\langle$\textit{name}=\textit{value}$\rangle\rangle$, or with
% a series of lines between
@@ -5630,8 +5655,8 @@ wouldn’t exist.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.97>>
-%<<date=2023/11/11>>
+%<<version=3.98>>
+%<<date=2023/12/06>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -5858,14 +5883,14 @@ wouldn’t exist.
\edef#1{\the\toks@}}
% \end{macrocode}
%
-% An extensison to the previous macro. It takes into account the
+% An extension to the previous macro. It takes into account the
% parameters, and it is string based (ie, if you replace |elax| by
% |ho|, then |\relax| becomes |\rho|). No checking is done at all,
% because it is not a general purpose macro, and it is used by \babel{}
% only when it works (an example where it does \textit{not} work is in
% |\bbl@TG@@date|, and also fails if there are macros with spaces,
% because they are retokenized). It may change! (or even merged with
-% |\bbl@replace|; I'm not sure ckecking the replacement is really
+% |\bbl@replace|; I'm not sure checking the replacement is really
% necessary or just paranoia).
%
% \begin{macrocode}
@@ -6100,7 +6125,7 @@ wouldn’t exist.
% \end{macrocode}
%
% This file also takes care of a number of compatibility issues with
-% other packages an defines a few aditional package options. Apart from
+% other packages an defines a few additional package options. Apart from
% all the language options below we also have a few options that
% influence the behavior of language definition files.
%
@@ -6124,7 +6149,7 @@ wouldn’t exist.
%
% If the format created a list of loaded languages (in
% |\bbl@languages|), get the name of the 0-th to show the actual
-% language used. Also avaliable with |base|, because it just shows
+% language used. Also available with |base|, because it just shows
% info.
%
% \begin{macrocode}
@@ -6156,7 +6181,7 @@ wouldn’t exist.
% it exits.
%
% Now the \texttt{base} option. With it we can define (and load, with
-% \luatex) hyphenation patterns, even if we are not interesed in the
+% \luatex) hyphenation patterns, even if we are not interested in the
% rest of babel.
%
% \begin{macrocode}
@@ -6376,7 +6401,7 @@ wouldn’t exist.
% \end{macrocode}
%
% The following is ignored with |shorthands=off|, since it is
-% intended to take some aditional actions for certain chars.
+% intended to take some additional actions for certain chars.
%
% \begin{macrocode}
\bbl@ifshorthand{'}%
@@ -6815,7 +6840,7 @@ wouldn’t exist.
%
% The macro |\bbl@set@language| takes care of switching the language
% environment \emph{and} of writing entries on the auxiliary files.
-% For historial reasons, language names can be either |language| of
+% For historical reasons, language names can be either |language| of
% |\language|. To catch either form a trick is used, but
% unfortunately as a side effect the catcodes of letters in
% |\languagename| are messed up. This is a bug, but preserved for
@@ -8011,7 +8036,7 @@ wouldn’t exist.
%
% The very first thing to do is saving the original catcode and the
% original definition, even if not active, which is possible
-% (undefined characters require a special treatement to avoid
+% (undefined characters require a special treatment to avoid
% making them |\relax| and preserving some degree of protection).
%
% \begin{macrocode}
@@ -8450,14 +8475,14 @@ wouldn’t exist.
%
% \begin{macro}{\defineshorthand}
%
-% Currently we only support two groups of user level shorthands,
-% named internally |user| and |user@<lang>| (language-dependent
-% user shorthands). By default, only the first one is taken into
-% account, but if the former is also used (in the optional argument
-% of |\defineshorthand|) a new level is inserted for it
-% (|user@generic|, done by |\bbl@set@user@generic|); we make also
-% sure |{}| and |\protect| are taken into account in this new top
-% level.
+% Currently we only support two groups of user level shorthands,
+% named internally |user| and |user@<lang>| (language-dependent
+% user shorthands). By default, only the first one is taken into
+% account, but if the former is also used (in the optional argument
+% of |\defineshorthand|) a new level is inserted for it
+% (|user@generic|, done by |\bbl@set@user@generic|); we make also
+% sure |{}| and |\protect| are taken into account in this new top
+% level.
%
% \begin{macrocode}
\def\user@language@group{user@\language@group}
@@ -8485,12 +8510,12 @@ wouldn’t exist.
%
% \begin{macro}{\languageshorthands}
%
-% A user level command to change the language from which shorthands
-% are used. Unfortunately, \babel{} currently does not keep track
-% of defined groups, and therefore there is no way to catch a
-% possible change in casing to fix it in the same way languages names
-% are fixed. [TODO].
-%
+% A user level command to change the language from which shorthands
+% are used. Unfortunately, \babel{} currently does not keep track
+% of defined groups, and therefore there is no way to catch a
+% possible change in casing to fix it in the same way languages names
+% are fixed. [TODO].
+% %
% \begin{macrocode}
\def\languageshorthands#1{\def\language@group{#1}}
% \end{macrocode}
@@ -8498,11 +8523,12 @@ wouldn’t exist.
% \end{macro}
%
% \begin{macro}{\aliasshorthand}
-% \textit{Deprecated}. First the new shorthand needs to be
-% initialized. Then, we define the new shorthand in terms of the
-% original one, but note with |\aliasshorthands{"}{/}| is
-% |\active@prefix /\active@char/|, so we still need to let the
-% lattest to |\active@char"|.
+%
+% \textit{Deprecated}. First the new shorthand needs to be
+% initialized. Then, we define the new shorthand in terms of the
+% original one, but note with |\aliasshorthands{"}{/}| is
+% |\active@prefix /\active@char/|, so we still need to let the
+% latter to |\active@char"|.
%
% \begin{macrocode}
\def\aliasshorthand#1#2{%
@@ -8541,9 +8567,10 @@ wouldn’t exist.
%
% \begin{macro}{\shorthandon}
% \begin{macro}{\shorthandoff}
-% The first level definition of these macros just passes the
-% argument on to |\bbl@switch@sh|, adding |\@nil| at the end to
-% denote the end of the list of characters.
+%
+% The first level definition of these macros just passes the
+% argument on to |\bbl@switch@sh|, adding |\@nil| at the end to
+% denote the end of the list of characters.
%
% \begin{macrocode}
\newcommand*\shorthandon[1]{\bbl@switch@sh\@ne#1\@nnil}
@@ -8554,19 +8581,19 @@ wouldn’t exist.
%
% \begin{macro}{\bbl@switch@sh}
%
-% The macro |\bbl@switch@sh| takes the list of characters apart one
-% by one and subsequently switches the category code of the
-% shorthand character according to the first argument of
-% |\bbl@switch@sh|.
+% The macro |\bbl@switch@sh| takes the list of characters apart one
+% by one and subsequently switches the category code of the
+% shorthand character according to the first argument of
+% |\bbl@switch@sh|.
%
-% But before any of this switching takes place we make sure that the
-% character we are dealing with is known as a shorthand character.
-% If it is, a macro such as |\active@char"| should exist.
+% But before any of this switching takes place we make sure that the
+% character we are dealing with is known as a shorthand character.
+% If it is, a macro such as |\active@char"| should exist.
%
-% Switching off and on is easy -- we just set the category code to
-% `other' (12) and |\active|. With the starred version, the original
-% catcode and the original definition, saved in
-% |@initiate@active@char|, are restored.
+% Switching off and on is easy -- we just set the category code to
+% `other' (12) and |\active|. With the starred version, the original
+% catcode and the original definition, saved in
+% |@initiate@active@char|, are restored.
%
% \begin{macrocode}
\def\bbl@switch@sh#1#2{%
@@ -8605,8 +8632,8 @@ wouldn’t exist.
% \end{macro}
% \end{macro}
%
-% Note the value is that at the expansion time; eg, in the preample
-% shorhands are usually deactivated.
+% Note the value is that at the expansion time; eg, in the preamble
+% shorthands are usually deactivated.
%
% \begin{macrocode}
\def\babelshorthand{\active@prefix\babelshorthand\bbl@putsh}
@@ -8678,15 +8705,15 @@ wouldn’t exist.
% \end{macro}
% \end{macro}
%
-% Usually the |~| is active and expands to \verb*=\penalty\@M\ =.
-% When it is written to the \file{.aux} file it is written
-% expanded. To prevent that and to be able to use the character |~|
-% as a start character for a shorthand, it is redefined here as a
-% one character shorthand on system level. The system declaration
-% is in most cases redundant (when |~| is still a non-break space),
-% and in some cases is inconvenient (if |~| has been redefined);
-% however, for backward compatibility it is maintained (some
-% existing documents may rely on the \babel{} value).
+% Usually the |~| is active and expands to \verb*=\penalty\@M\ =.
+% When it is written to the \file{.aux} file it is written
+% expanded. To prevent that and to be able to use the character |~|
+% as a start character for a shorthand, it is redefined here as a
+% one character shorthand on system level. The system declaration
+% is in most cases redundant (when |~| is still a non-break space),
+% and in some cases is inconvenient (if |~| has been redefined);
+% however, for backward compatibility it is maintained (some
+% existing documents may rely on the \babel{} value).
%
% \begin{macrocode}
\initiate@active@char{~}
@@ -8723,6 +8750,7 @@ wouldn’t exist.
% Language attributes provide a means to give the user control over
% which features of the language definition files he wants to
% enable.
+%
% \begin{macro}{\languageattribute}
%
% The macro |\languageattribute| checks whether its arguments are
@@ -8739,10 +8767,10 @@ wouldn’t exist.
\bbl@vforeach{#2}{%
% \end{macrocode}
%
-% We want to make sure that each attribute is selected only once;
-% therefore we store the already selected attributes in
-% |\bbl@known@attribs|. When that control sequence is not yet
-% defined this attribute is certainly not selected before.
+% To make sure each attribute is selected only once, we store the
+% already selected attributes in |\bbl@known@attribs|. When that
+% control sequence is not yet defined this attribute is certainly
+% not selected before.
%
% \begin{macrocode}
\ifx\bbl@known@attribs\@undefined
@@ -8757,9 +8785,9 @@ wouldn’t exist.
\else
% \end{macrocode}
%
-% When we end up here the attribute is not selected before. So, we
-% add it to the list of selected attributes and execute the
-% associated \TeX-code.
+% When we end up here the attribute is not selected before. So, we
+% add it to the list of selected attributes and execute the
+% associated \TeX-code.
%
% \begin{macrocode}
\bbl@exp{%
@@ -9166,7 +9194,7 @@ wouldn’t exist.
%
% \subsection{Multiencoding strings}
%
-% The aim following commands is to provide a commom interface for
+% The aim following commands is to provide a common interface for
% strings in several encodings. They also contains several hooks which
% can be used by \luatex{} and \xetex. The code is organized here with
% pseudo-guards, so we start with the basic commands.
@@ -9181,37 +9209,8 @@ wouldn’t exist.
\def\bbl@toglobal#1{\global\let#1#1}
% \end{macrocode}
%
-% The second one. We need to patch |\@uclclist|, but it is done once
-% and only if |\SetCase| is used or if strings are encoded. The code
-% is far from satisfactory for several reasons, including the fact
-% |\@uclclist| is not a list any more. Therefore a package option is
-% added to ignore it. Instead of gobbling the macro
-% getting the next two elements (usually |\reserved@a|), we pass it as
-% argument to |\bbl@uclc|. The parser is restarted inside
-% |\|\m{lang}|@bbl@uclc| because we do not know how many expansions
-% are necessary (depends on whether strings are encoded). The last
-% part is tricky -- when uppercasing, we have:
-%\begin{verbatim}
-% \let\bbl@tolower\@empty\bbl@toupper\@empty
-%\end{verbatim}
-% and starts over (and similarly when lowercasing).
-%
-% \begin{macrocode}
-\@ifpackagewith{babel}{nocase}%
- {\let\bbl@patchuclc\relax}%
- {\def\bbl@patchuclc{% TODO. Delete. Doesn’t work any more.
- \global\let\bbl@patchuclc\relax
- \g@addto@macro\@uclclist{\reserved@b{\reserved@b\bbl@uclc}}%
- \gdef\bbl@uclc##1{%
- \let\bbl@encoded\bbl@encoded@uclc
- \bbl@ifunset{\languagename @bbl@uclc}% and resumes it
- {##1}%
- {\let\bbl@tempa##1\relax % Used by LANG@bbl@uclc
- \csname\languagename @bbl@uclc\endcsname}%
- {\bbl@tolower\@empty}{\bbl@toupper\@empty}}%
- \gdef\bbl@tolower{\csname\languagename @bbl@lc\endcsname}%
- \gdef\bbl@toupper{\csname\languagename @bbl@uc\endcsname}}}
-% \end{macrocode}
+% The following option is currently no-op. It was meant for the
+% deprecated |\SetCase|.
%
% \begin{macrocode}
%<<*More package options>>
@@ -9280,7 +9279,7 @@ wouldn’t exist.
%
% Parse the encoding info to get the label, input, and font parts.
%
-% Select the behavior of |\SetString|. Thre are two main cases,
+% Select the behavior of |\SetString|. There are two main cases,
% depending of if there is an optional argument: without it and
% |strings=encoded|, strings are defined
% always; otherwise, they are set only if they are still undefined
@@ -9426,31 +9425,12 @@ wouldn’t exist.
\csname\bbl@LC\expandafter\endcsname\expandafter{\BabelString}}}
% \end{macrocode}
%
-% Now, some addtional stuff to be used when encoded strings are
-% used. Captions then include |\bbl@encoded| for string to be
-% expanded in case transformations. It is |\relax| by default, but
-% in |\MakeUppercase| and |\MakeLowercase| its value is a modified
-% expandable |\@changed@cmd|.
+% A little auxiliary command sets the string. TODO: Formerly used with
+% casing. Very likely no longer necessary, although it’s used in
+% |\setlocalecaption|.
%
% \begin{macrocode}
-\ifx\bbl@opt@strings\relax
- \def\bbl@scset#1#2{\def#1{\bbl@encoded#2}}
- \bbl@patchuclc
- \let\bbl@encoded\relax
- \def\bbl@encoded@uclc#1{%
- \@inmathwarn#1%
- \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
- \expandafter\ifx\csname ?\string#1\endcsname\relax
- \TextSymbolUnavailable#1%
- \else
- \csname ?\string#1\endcsname
- \fi
- \else
- \csname\cf@encoding\string#1\endcsname
- \fi}
-\else
- \def\bbl@scset#1#2{\def#1{#2}}
-\fi
+\def\bbl@scset#1#2{\def#1{#2}}
% \end{macrocode}
%
% Define |\SetStringLoop|, which is actually set inside
@@ -9484,18 +9464,24 @@ wouldn’t exist.
%
% \paragraph{Case mapping}
%
-% The command |\SetCase| provides a way to change the behavior of
-% |\MakeUppercase| and |\MakeLowercase|. |\bbl@tempa| is set by the
-% patched |\@uclclist| to the parsing command. \textit{Deprecated.}
+% The command |\SetCase| is deprecated. Currently it consists in a
+% definition with a hack just for backward compatibility in the macro
+% mapping.
%
% \begin{macrocode}
%<<*Macros local to BabelCommands>>
\newcommand\SetCase[3][]{%
- \bbl@patchuclc
- \bbl@forlang\bbl@tempa{%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@uclc}{\bbl@tempa##1}%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@uc}{##2}%
- \bbl@carg\bbl@encstring{\bbl@tempa @bbl@lc}{##3}}}%
+ \def\bbl@tempa####1####2{%
+ \ifx####1\@empty\else
+ \bbl@carg\bbl@add{extras\CurrentOption}{%
+ \bbl@carg\babel@save{c__text_uppercase_\string####1_tl}%
+ \bbl@carg\def{c__text_uppercase_\string####1_tl}{####2}%
+ \bbl@carg\babel@save{c__text_lowercase_\string####2_tl}%
+ \bbl@carg\def{c__text_lowercase_\string####2_tl}{####1}}%
+ \expandafter\bbl@tempa
+ \fi}%
+ \bbl@tempa##1\@empty\@empty
+ \bbl@carg\bbl@toglobal{extras\CurrentOption}}
%<</Macros local to BabelCommands>>
% \end{macrocode}
%
@@ -10175,7 +10161,7 @@ wouldn’t exist.
%
% |\babelprovide| is a general purpose tool for creating and modifying
% languages. It creates the language infrastructure, and loads, if
-% requested, an |ini| file. It may be used in conjunction to previouly
+% requested, an |ini| file. It may be used in conjunction to previously
% loaded |ldf| files.
%
% \begin{macrocode}
@@ -10196,6 +10182,7 @@ wouldn’t exist.
Alph,labels,labels*,calendar,date,casing}%
{\bbl@csarg\let{KVP@##1}\@nnil}%
\global\let\bbl@release@transforms\@empty
+ \global\let\bbl@release@casing\@empty
\let\bbl@calendars\@empty
\global\let\bbl@inidata\@empty
\global\let\bbl@extend@ini\@gobble
@@ -10508,9 +10495,10 @@ wouldn’t exist.
\let\\\@Alph\<bbl@cntr@\bbl@KVP@Alph @\languagename>}}%
\fi
% == Casing ==
+ \bbl@release@casing
\ifx\bbl@KVP@casing\@nnil\else
\bbl@csarg\xdef{casing@\languagename}%
- {\@nameuse{bbl@casing@\languagename}-x-\bbl@KVP@casing}%
+ {\@nameuse{bbl@casing@\languagename}\bbl@maybextx\bbl@KVP@casing}%
\fi
% == Calendars ==
\ifx\bbl@KVP@calendar\@nnil
@@ -10958,6 +10946,7 @@ wouldn’t exist.
Reported }}}
%
\let\bbl@release@transforms\@empty
+\let\bbl@release@casing\@empty
\def\bbl@ini@exports#1{%
% Identification always exported
\bbl@iniwarning{}%
@@ -10973,7 +10962,7 @@ wouldn’t exist.
\bbl@exp{\\\bbl@exportkey{lname}{identification.name.opentype}%
{\csname bbl@elname@\languagename\endcsname}}%
\bbl@exportkey{tbcp}{identification.tag.bcp47}{}%
- % Somewhat hackish. TODO
+ % Somewhat hackish. TODO:
\bbl@exportkey{casing}{identification.tag.bcp47}{}%
\bbl@exportkey{lbcp}{identification.language.tag.bcp47}{}%
\bbl@exportkey{lotf}{identification.tag.opentype}{dflt}%
@@ -11036,10 +11025,33 @@ wouldn’t exist.
\let\bbl@inikv@identification\bbl@inikv
\let\bbl@inikv@date\bbl@inikv
\let\bbl@inikv@typography\bbl@inikv
-\let\bbl@inikv@characters\bbl@inikv
\let\bbl@inikv@numbers\bbl@inikv
% \end{macrocode}
%
+% The |characters| section also stores the values, but |casing| is
+% treated in a different fashion. Much like transforms, a set of
+% commands calling the parser are stored in |\bbl@release@casing|,
+% which is executed in |\babelprovide|.
+%
+% \begin{macrocode}
+\def\bbl@maybextx{-\bbl@csarg\ifx{extx@\languagename}\@empty x-\fi}
+\def\bbl@inikv@characters#1#2{%
+ \bbl@ifsamestring{#1}{casing}% eg, casing = uV
+ {\bbl@exp{%
+ \\\g@addto@macro\\\bbl@release@casing{%
+ \\\bbl@casemapping{}{\languagename}{\unexpanded{#2}}}}}%
+ {\in@{$casing.}{$#1}% eg, casing.Uv = uV
+ \ifin@
+ \lowercase{\def\bbl@tempb{#1}}%
+ \bbl@replace\bbl@tempb{casing.}{}%
+ \bbl@exp{\\\g@addto@macro\\\bbl@release@casing{%
+ \\\bbl@casemapping
+ {\\\bbl@maybextx\bbl@tempb}{\languagename}{\unexpanded{#2}}}}%
+ \else
+ \bbl@inikv{#1}{#2}%
+ \fi}}
+% \end{macrocode}
+%
% Additive numerals require an additional definition. When |.1| is
% found, two macros are defined -- the basic one, without |.1| called
% by |\localenumeral|, and another one preserving the trailing |.1| for
@@ -11374,7 +11386,6 @@ wouldn’t exist.
% \textbf{Transforms.}
%
% \begin{macrocode}
-\let\bbl@release@transforms\@empty
\bbl@csarg\let{inikv@transforms.prehyphenation}\bbl@inikv
\bbl@csarg\let{inikv@transforms.posthyphenation}\bbl@inikv
\def\bbl@transforms@aux#1#2#3#4,#5\relax{%
@@ -11456,7 +11467,7 @@ wouldn’t exist.
\fi
\AtBeginDocument{%
\bbl@patchfont{\bbl@xenohyph}%
- \expandafter\select@language\expandafter{\languagename}}%
+ {\expandafter\select@language\expandafter{\languagename}}}%
\fi}}%
\fi
\bbl@csarg\bbl@toglobal{lsys@#1}}
@@ -11571,7 +11582,7 @@ wouldn’t exist.
\def\bbl@alphnumeral#1#2{%
\expandafter\bbl@alphnumeral@i\number#2 76543210\@@{#1}}
\def\bbl@alphnumeral@i#1#2#3#4#5#6#7#8\@@#9{%
- \ifcase\@car#8\@nil\or % Currenty <10000, but prepared for bigger
+ \ifcase\@car#8\@nil\or % Currently <10000, but prepared for bigger
\bbl@alphnumeral@ii{#9}000000#1\or
\bbl@alphnumeral@ii{#9}00000#1#2\or
\bbl@alphnumeral@ii{#9}0000#1#2#3\or
@@ -11637,6 +11648,13 @@ wouldn’t exist.
% singletons may change.
%
% \begin{macrocode}
+\ifcase\bbl@engine % Converts utf8 to its code (expandable)
+ \def\bbl@utftocode#1{\the\numexpr\decode@UTFviii#1\relax}
+\else
+ \def\bbl@utftocode#1{\expandafter`\string#1}
+\fi
+% Still somewhat hackish. WIP. Note |\str_if_eq:nnTF| is fully
+% expandable (|\bbl@ifsamestring| isn’t).
\providecommand\BCPdata{}
\ifx\renewcommand\@undefined\else % For plain. TODO. It’s a quick fix
\renewcommand\BCPdata[1]{\bbl@bcpdata@i#1\@empty}
@@ -11652,18 +11670,52 @@ wouldn’t exist.
{\bbl@ifunset{bbl@\csname bbl@info@#1.tag.bcp47\endcsname @#2}{}%
{\bbl@cs{\csname bbl@info@#1.tag.bcp47\endcsname @#2}}}}
\fi
-% Still somewhat hackish. WIP.
\@namedef{bbl@info@casing.tag.bcp47}{casing}
\newcommand\BabelUppercaseMapping[3]{%
- \let\bbl@tempx\languagename
- \edef\languagename{#1}%
- \DeclareUppercaseMapping[\BCPdata{casing}]{#2}{#3}%
- \let\languagename\bbl@tempx}
+ \DeclareUppercaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
+\newcommand\BabelTitlecaseMapping[3]{%
+ \DeclareTitlecaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
\newcommand\BabelLowercaseMapping[3]{%
- \let\bbl@tempx\languagename
- \edef\languagename{#1}%
- \DeclareLowercaseMapping[\BCPdata{casing}]{#2}{#3}%
- \let\languagename\bbl@tempx}
+ \DeclareLowercaseMapping[\@nameuse{bbl@casing@#1}]{#2}{#3}}
+% \end{macrocode}
+%
+% The parser for |casing| and |casing.|\meta{variant}.
+%
+% \begin{macrocode}
+\def\bbl@casemapping#1#2#3{% 1:variant
+ \def\bbl@tempa##1 ##2{% Loop
+ \bbl@casemapping@i{##1}%
+ \ifx\@empty##2\else\bbl@afterfi\bbl@tempa##2\fi}%
+ \edef\bbl@templ{\@nameuse{bbl@casing@#2}#1}% Language code
+ \def\bbl@tempe{0}% Mode (upper/lower...)
+ \def\bbl@tempc{#3 }% Casing list
+ \expandafter\bbl@tempa\bbl@tempc\@empty}
+\def\bbl@casemapping@i#1{%
+ \def\bbl@tempb{#1}%
+ \ifcase\bbl@engine % Handle utf8 in pdftex, by surrounding chars with {}
+ \@nameuse{regex_replace_all:nnN}%
+ {[\x{c0}-\x{ff}][\x{80}-\x{bf}]*}{{\0}}\bbl@tempb
+ \else
+ \@nameuse{regex_replace_all:nnN}{.}{{\0}}\bbl@tempb % TODO. needed?
+ \fi
+ \expandafter\bbl@casemapping@ii\bbl@tempb\@@}
+\def\bbl@casemapping@ii#1#2#3\@@{%
+ \in@{#1#3}{<>}% ie, if <u>, <l>, <t>
+ \ifin@
+ \edef\bbl@tempe{%
+ \if#2u1 \else\if#2l2 \else\if#2t3 \fi\fi\fi}%
+ \else
+ \ifcase\bbl@tempe\relax
+ \DeclareUppercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
+ \DeclareLowercaseMapping[\bbl@templ]{\bbl@utftocode{#2}}{#1}%
+ \or
+ \DeclareUppercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
+ \or
+ \DeclareLowercaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
+ \or
+ \DeclareTitlecaseMapping[\bbl@templ]{\bbl@utftocode{#1}}{#2}%
+ \fi
+ \fi}
% \end{macrocode}
%
% With version 3.75 |\BabelEnsureInfo| is executed always, but there is
@@ -11715,11 +11767,17 @@ wouldn’t exist.
\fi}
\let\bbl@ini@loaded\@empty
\newcommand\LocaleForEach{\bbl@foreach\bbl@ini@loaded}
+\def\ShowLocaleProperties#1{%
+ \typeout{}%
+ \typeout{*** Properties for language '#1' ***}
+ \def\bbl@elt##1##2##3{\typeout{##1/##2 = ##3}}%
+ \@nameuse{bbl@inidata@#1}%
+ \typeout{*******}}
% \end{macrocode}
%
% \section{Adjusting the Babel bahavior}
%
-% A generic high level inteface is provided to adjust some global
+% A generic high level interface is provided to adjust some global
% and general settings.
%
% \begin{macrocode}
@@ -12774,7 +12832,7 @@ wouldn’t exist.
% \textit{except} if a |main| language has been set. In such a
% case, it is not loaded until all options has been processed.
% The following macro inputs the ldf file and does some additional
-% checks (|\input| works, too, but possible errors are not catched).
+% checks (|\input| works, too, but possible errors are not caught).
%
% \begin{macrocode}
\bbl@trace{Language options}
@@ -12899,7 +12957,7 @@ wouldn’t exist.
%
% Now define the corresponding loaders. With package options, assume
% the language exists. With class options, check if the option is a
-% language by checking if the correspondin file exists.
+% language by checking if the corresponding file exists.
%
% \begin{macrocode}
\bbl@foreach\bbl@language@opts{%
@@ -13608,10 +13666,10 @@ wouldn’t exist.
% For historical reasons, \LaTeX{} can select two different series
% (|bx| and |b|), for what is conceptually a single one. This can
% lead to problems when a single family requires several fonts,
-% depending on the language, mainly because ‘subtitutions’ with some
+% depending on the language, mainly because ‘substitutions’ with some
% combinations are not done consistently -- sometimes |bx/sc| is the
% correct font, but sometimes points to |b/n|, even if |b/sc| exists.
-% So, some subtitutions are redefined (in a somewhat hackish way, by
+% So, some substitutions are redefined (in a somewhat hackish way, by
% inspecting if the variant declaration contains |>ssub*|).
%
% \begin{macrocode}
@@ -14630,7 +14688,7 @@ end
% \subsection{CJK line breaking}
%
% Minimal line breaking for CJK scripts, mainly intended for simple
-% documents and short texts as a secundary language. Only line
+% documents and short texts as a secondary language. Only line
% breaking, with a little stretching for justification, without any
% attempt to adjust the spacing. It is based on (but does not strictly
% follow) the Unicode algorithm.
@@ -14789,7 +14847,7 @@ end
\catcode`_=11 \catcode`:=11
\gdef\bblar@nofswarn{\gdef\msg_warning:nnx##1##2##3{}}
\endgroup
-\gdef\bbl@arabicjust{% TODO. Allow for serveral locales.
+\gdef\bbl@arabicjust{% TODO. Allow for several locales.
\let\bbl@arabicjust\relax
\newattribute\bblar@kashida
\directlua{ Babel.attr_kashida = luatexbase.registernumber'bblar@kashida' }%
@@ -24652,7 +24710,7 @@ Babel.cjk_breaks = {
\@onlypreamble\@onlypreamble
% \end{macrocode}
%
-% Mimick \LaTeX's |\AtBeginDocument|; for this to work the user
+% Mimic \LaTeX's |\AtBeginDocument|; for this to work the user
% needs to add |\begindocument| to his file.
%
% \begin{macrocode}
@@ -24672,7 +24730,7 @@ Babel.cjk_breaks = {
\def\AtBeginDocument{\g@addto@macro\@begindocumenthook}
% \end{macrocode}
%
-% We also have to mimick \LaTeX's |\AtEndOfPackage|. Our
+% We also have to mimic \LaTeX's |\AtEndOfPackage|. Our
% replacement macro is much simpler; it stores its argument in
% |\@endofldf|.
%
@@ -24699,7 +24757,7 @@ Babel.cjk_breaks = {
\catcode`\&=4
% \end{macrocode}
%
-% Mimick \LaTeX's commands to define control sequences.
+% Mimic \LaTeX's commands to define control sequences.
%
% \begin{macrocode}
\def\newcommand{\@star@or@long\new@command}
@@ -25016,7 +25074,7 @@ Babel.cjk_breaks = {
%
% For a couple of languages we need the \LaTeX-control sequence
% |\scriptsize| to be available. Because plain \TeX\ doesn't have such
-% a sofisticated font mechanism as \LaTeX\ has, we just |\let| it to
+% a sophisticated font mechanism as \LaTeX\ has, we just |\let| it to
% |\sevenrm|.
%
% \begin{macrocode}
diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins
index b47775f117..88446a4ef6 100644
--- a/macros/latex/required/babel/base/babel.ins
+++ b/macros/latex/required/babel/base/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2023/11/11}
+\def\filedate{2023/12/06}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf
index da4b04f928..bbf0f874f9 100644
--- a/macros/latex/required/babel/base/babel.pdf
+++ b/macros/latex/required/babel/base/babel.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx
index 61e273e2f5..48667a55a2 100644
--- a/macros/latex/required/babel/base/bbcompat.dtx
+++ b/macros/latex/required/babel/base/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2023/11/11 v3.97]
+\ProvidesFile{bbcompat.dtx}[2023/12/06 v3.98]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/macros/latex/required/babel/base/bbidxglo.dtx b/macros/latex/required/babel/base/bbidxglo.dtx
index 58a43d9adb..37dbd9505a 100644
--- a/macros/latex/required/babel/base/bbidxglo.dtx
+++ b/macros/latex/required/babel/base/bbidxglo.dtx
@@ -46,7 +46,7 @@
% \end{macrocode}
%
% \fi
-% \title{Generating the index and chage log for the Babel system}
+% \title{Generating the index and change log for the Babel system}
% \author{Johannes Braams}
% \date{\filedate}
% \maketitle
@@ -73,7 +73,7 @@ level '>'
%
% Because the \babel\ system consists of so many files the default
% codeline numbering scheme of the \Lopt{doc} package has been
-% adapted. The line numbers consist of two parts seperated with a
+% adapted. The line numbers consist of two parts separated with a
% dot. This has to made known to the \mkidx\ program when it
% produces the index.
%
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.dtx b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
index b2e693bf63..fde426c1d8 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.dtx
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
@@ -112,7 +112,7 @@ To produce the documentation run the original source files ending with
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<*!(driver|install)>
-%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.3.1 2023-11-14 11:30:00
+%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.3.2 2023-12-05 16:30:00
%<+!driver> +0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
%<class> {Thesis template for Nanjing University}
%<class>\ProvidesExplClass{njuthesis}
@@ -148,7 +148,7 @@ To produce the documentation run the original source files ending with
% \thanks{E-mail: \href{mailto:git+nju-lug-email-3104-issue-@yaoge123.cn}
% {git+nju-lug-email-3104-issue-@yaoge123.cn}}}
%
-% \date{v1.3.1 \quad 2023-11-14}
+% \date{v1.3.2 \quad 2023-12-05}
%
% \changes{v0.1}{2021/09/04}{开始开发。}
% \changes{v0.2}{2021/09/07}{初步搭建了可用的模板。}
@@ -1192,15 +1192,14 @@ To produce the documentation run the original source files ending with
% 院系。
% \end{function}
%
-% \begin{function}[updated=2023-05-11]{info/major,info/major*}
+% \begin{function}[updated=2023-12-05]{info/major,info/major*}
% \begin{syntax}
% \OPT{major} = \Arg{专业}
-% \OPT{major} = \Arg{专业,专业全称}
+% \OPT{major} = \Arg{封面专业, 摘要专业}
% \OPT{major*} = \Arg{专业}
% \end{syntax}
-% 专业。研究生的专业型学位封面上,“专业学位类别(领域)”一栏默认会补全为
-% “专业硕/博士(\meta{专业})”。如果希望覆盖模板的自动处理,
-% 可以填写 \opt{info/major} 第二种写法的“专业全称”字段。
+% 专业。研究生的专业型学位封面上,“专业学位类别(领域)”一栏的
+% 填写内容可能与摘要页不一致,可以使用半角逗号分隔两个值。
% \end{function}
%
% \begin{function}[updated=2021-10-01]{info/field,info/field*}
@@ -2637,8 +2636,9 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@ifpackagelater { expl3 } { 2023/10/10 } { }
{
- \cs_generate_variant:Nn \tl_set:Nn { Ne }
- \cs_generate_variant:Nn \tl_const:Nn { Ne }
+ \cs_generate_variant:Nn \tl_set:Nn { Ne }
+ \cs_generate_variant:Nn \tl_const:Nn { Ne }
+ \cs_generate_variant:Nn \tl_gput_right:Nn { Ne }
}
% \end{macrocode}
%
@@ -4449,15 +4449,17 @@ To produce the documentation run the original source files ending with
%
% \begin{macro}{info/major}
% \changes{v1.3}{2023/05/11}{专业型研究生封面可额外修改专业名称。}
-% 专业。
+% \changes{v1.3}{2023/12/05}{调整专业型学位的填写方式。}
+% 专业。研究生专业型学位可以取封面和摘要的两个值,此外都取第一个值。
% \begin{macrocode}
major .code:n =
{
- \clist_pop:NN \l_keys_value_tl \g_@@_info_major_tl
- \clist_pop:NNF \l_keys_value_tl \g_@@_info_majorc_tl
+ \bool_if:NTF \g_@@_opt_academic_bool
+ { \clist_pop:NN \l_keys_value_tl \g_@@_info_major_tl }
{
- \tl_set:Nn \g_@@_info_majorc_tl
- { 工程 \g_@@_info_type_tl( \g_@@_info_major_tl ) }
+ \clist_pop:NN \l_keys_value_tl \g_@@_info_majorc_tl
+ \clist_pop:NNF \l_keys_value_tl \g_@@_info_major_tl
+ { \tl_set_eq:NN \g_@@_info_major_tl \g_@@_info_majorc_tl }
}
},
% \end{macrocode}
@@ -6647,7 +6649,7 @@ To produce the documentation run the original source files ending with
\cs_new:Npn \@@_g_cover_info:
{
\tl_set:Nn \l_@@_tmpa_tl { \skip_horizontal:n { .7 cm } }
- \@@_g_cover_info:NNNNN \l_@@_tmpa_clist \l_@@_tmpa_tl
+ \@@_g_cover_info:NNNNN \l_@@_tmp_clist \l_@@_tmpa_tl
\c_@@_clabelwd_dim \c_@@_crulewd_dim \c_@@_fmt_coverlabel_tl
}
% \end{macrocode}
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.pdf b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
index 441b2ee9bf..36778dd442 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.pdf
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
Binary files differ
diff --git a/info/luatex/lualatex-doc/Makefile b/obsolete/info/luatex/lualatex-doc/Makefile
index f2778000a5..f2778000a5 100644
--- a/info/luatex/lualatex-doc/Makefile
+++ b/obsolete/info/luatex/lualatex-doc/Makefile
diff --git a/info/luatex/lualatex-doc/News b/obsolete/info/luatex/lualatex-doc/News
index 29ef9b4a97..29ef9b4a97 100644
--- a/info/luatex/lualatex-doc/News
+++ b/obsolete/info/luatex/lualatex-doc/News
diff --git a/info/luatex/lualatex-doc/README b/obsolete/info/luatex/lualatex-doc/README
index 8c5db2745c..8c5db2745c 100644
--- a/info/luatex/lualatex-doc/README
+++ b/obsolete/info/luatex/lualatex-doc/README
diff --git a/info/luatex/lualatex-doc/lltxdoc.cls b/obsolete/info/luatex/lualatex-doc/lltxdoc.cls
index ae0e8961b1..ae0e8961b1 100644
--- a/info/luatex/lualatex-doc/lltxdoc.cls
+++ b/obsolete/info/luatex/lualatex-doc/lltxdoc.cls
diff --git a/info/luatex/lualatex-doc/lualatex-doc.pdf b/obsolete/info/luatex/lualatex-doc/lualatex-doc.pdf
index 27dfd1bafa..27dfd1bafa 100644
--- a/info/luatex/lualatex-doc/lualatex-doc.pdf
+++ b/obsolete/info/luatex/lualatex-doc/lualatex-doc.pdf
Binary files differ
diff --git a/info/luatex/lualatex-doc/lualatex-doc.tex b/obsolete/info/luatex/lualatex-doc/lualatex-doc.tex
index 445c9ff1c0..445c9ff1c0 100644
--- a/info/luatex/lualatex-doc/lualatex-doc.tex
+++ b/obsolete/info/luatex/lualatex-doc/lualatex-doc.tex
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index c181028100..890c82c655 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,9 @@
+2023-12-05 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-fonts-noncjk.tex (
+ tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/cm/cmtcsc.htf
+ ): require use of small caps monospaced font.
+
2023-12-04 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-fonts-noncjk.tex (
diff --git a/support/TeX4ht/source/tex4ht-fonts-noncjk.tex b/support/TeX4ht/source/tex4ht-fonts-noncjk.tex
index 7320ca112d..d9ea432b56 100644
--- a/support/TeX4ht/source/tex4ht-fonts-noncjk.tex
+++ b/support/TeX4ht/source/tex4ht-fonts-noncjk.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-fonts-noncjk.tex 1415 2023-12-04 09:09:29Z michal_h21 $
+% $Id: tex4ht-fonts-noncjk.tex 1416 2023-12-05 08:58:07Z michal_h21 $
% tex tex4ht-fonts-noncjk
% or ht tex tex4ht-fonts-noncjk
%
@@ -11176,7 +11176,7 @@ as it contains errors.
\<cmtcsc-uni\><<<
.cmtt
-htfcss: cmtcsc font-family: monospace,monospace;
+htfcss: cmtcsc font-family: monospace,monospace; font-variant: small-caps;
>>>
\AddFont{cmtcsc-uni}{unicode/cm/cmtcsc}
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index e93ea56a33..5c7fe47bb0 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/69035
+depend revision/69044
name 00texlive.image
category TLCore
-revision 69033
+revision 69043
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
@@ -3316,6 +3316,7 @@ runfiles size=13117
tlpkg/tlpsrc/pdfpc-movie.tlpsrc
tlpkg/tlpsrc/pdfpc.tlpsrc
tlpkg/tlpsrc/pdfprivacy.tlpsrc
+ tlpkg/tlpsrc/pdfrender.tlpsrc
tlpkg/tlpsrc/pdfreview.tlpsrc
tlpkg/tlpsrc/pdfscreen.tlpsrc
tlpkg/tlpsrc/pdfslide.tlpsrc
@@ -71602,7 +71603,7 @@ containerchecksum c73220abd1545907a1d8de37cb534d2c6bd2534f1b55f03c069f39f535c326
name collection-latexextra
category Collection
-revision 69026
+revision 69043
shortdesc LaTeX additional packages
relocated 1
longdesc A very large collection of add-on packages for LaTeX.
@@ -72657,6 +72658,7 @@ depend pdfpagediff
depend pdfpc
depend pdfpc-movie
depend pdfprivacy
+depend pdfrender
depend pdfreview
depend pdfscreen
depend pdfslide
@@ -73125,8 +73127,8 @@ depend zref-clever
depend zref-vario
depend zwgetfdate
depend zwpagelayout
-containersize 7048
-containerchecksum 9aac1959330dcdcb2368ce9eb78ff4b70c4826d347f99d04bc53540df17740b97dbcc0edec27ff8a5eb2e6035f9e13166675d51921ff70d8d2daaa3e81f6e951
+containersize 7044
+containerchecksum ac4c838e83c3f6fd07b139c71c1f0b3976244ad1b051b8893700cea5bfc2b3370ea9e481617b901ebe8cdbb81389c33c6f4851677d33333eb0f8f6dea16a8bd1
name collection-latexrecommended
category Collection
@@ -120407,7 +120409,7 @@ catalogue-version 1.2m
name fbox
category Package
-revision 62126
+revision 69041
shortdesc Extended \fbox macro from standard LaTeX
relocated 1
longdesc This package redefines \fbox to allow an optional argument for
@@ -120415,21 +120417,21 @@ longdesc different frames. It can be any combination of l)eft, r)ight,
longdesc t)op, and b)ottom, for example: \fbox[lt]{foo}. Using uppercase
longdesc letters or a combination of lowercase and uppercase is also
longdesc possible.
-containersize 1856
-containerchecksum 8f4786fd15b1f6f2bf64a00e9367cd346716edef54298bc3334046166a067815112eb85a6277d7165ad5e4e830b1cd1ae149c907842df46196f6d33c2ba6534a
-doccontainersize 47640
-doccontainerchecksum e52d356422df18f8e29243b5323cf888c5d0b6f89c3c822613b577509d8dff44bd4d4e1ebd5f7b6c72abbbc782f362ed9162803b572a2d995482db86153678bf
+containersize 1904
+containerchecksum 705a0f1f6d5009f0ac2fa1059f3029ef7bf7e8fdab6e85bddba822eb50dfcc049f94b7ff43afc97234d44f42505e1cd4e6caac1f22178949dcaea0a60e572281
+doccontainersize 49888
+doccontainerchecksum 19a61ddc64c3c5108ec05089e988a07f0e10d772bed810898bf82046922eab58a389c3816b15055b5c2e8a4d1392305a351802eaf3f1e72799c9c192eb8c1484
docfiles size=16
RELOC/doc/latex/fbox/CHANGELOG
RELOC/doc/latex/fbox/README.md details="Readme"
RELOC/doc/latex/fbox/fbox.pdf details="Package documentation"
RELOC/doc/latex/fbox/fbox.tex
-runfiles size=1
+runfiles size=2
RELOC/tex/latex/fbox/fbox.sty
catalogue-ctan /macros/latex/contrib/fbox
catalogue-license lppl1.3c
catalogue-topics boxing
-catalogue-version 0.06
+catalogue-version 0.07
name fbs
category Package
@@ -226349,7 +226351,7 @@ catalogue-version 2.0
name newcomputermodern
category Package
-revision 68563
+revision 69039
shortdesc Computer Modern fonts including matching non-latin alphabets
relocated 1
longdesc This is a new assembly of Computer Modern fonts including
@@ -226358,12 +226360,14 @@ longdesc non-Latin based languages and Mathematics, all compatible in
longdesc style to CM fonts. In addition to the Regular weight of
longdesc Computer Modern, it provides a Book weight for heavier
longdesc printing.
-containersize 5652784
-containerchecksum 5793812cbf3edab7203d4a1deb39f61beef8a7852ab1aecfe3d7ea9e9f284bb6fad2578a50799a197c2222501b1c3502da9a3669bb5770305b6f0ac23c2ae8b0
-doccontainersize 14220820
-doccontainerchecksum b85add4e9a1ab1342f50f8b1fb9f5a2e00fdfb9db6f6ec2a935e6fc364eac3323d3930b2254b760a01e2f86696073daf69b932105542257fcc40354ab202c6ac
-docfiles size=3495
+containersize 6183796
+containerchecksum f64497fc062c534d34c5256002e454c3d1d7a3f1b8d9469bff649cf40de82c93305f140a6892e2e89333541a7aa0b904f41a898d4c4ace3fce53f11b13605ddf
+doccontainersize 15535876
+doccontainerchecksum b73e03a721b092b8ef4af265ec4faaed1dff10ec8980228c5de98cf3990e27b04f0d52de0e4a981d0919385950c5023f193dd3fb4e1577b28e33a50f3645fef4
+docfiles size=3822
RELOC/doc/fonts/newcomputermodern/README details="Readme"
+ RELOC/doc/fonts/newcomputermodern/colored-diacritics.pdf
+ RELOC/doc/fonts/newcomputermodern/colored-diacritics.tex
RELOC/doc/fonts/newcomputermodern/integral.pdf
RELOC/doc/fonts/newcomputermodern/integral.tex
RELOC/doc/fonts/newcomputermodern/newcm-doc.pdf details="Package documentation"
@@ -226376,17 +226380,22 @@ docfiles size=3495
RELOC/doc/fonts/newcomputermodern/opticalmathlm.pdf
RELOC/doc/fonts/newcomputermodern/opticalmathlm.tex
RELOC/doc/fonts/newcomputermodern/source.txz
-runfiles size=3381
+runfiles size=3902
RELOC/fonts/opentype/public/newcomputermodern/NewCM08-Book.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM08-BookItalic.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM08-Italic.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM08-Regular.otf
+ RELOC/fonts/opentype/public/newcomputermodern/NewCM08Devanagari-Book.otf
+ RELOC/fonts/opentype/public/newcomputermodern/NewCM08Devanagari-Regular.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM10-Bold.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM10-BoldItalic.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM10-Book.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM10-BookItalic.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM10-Italic.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCM10-Regular.otf
+ RELOC/fonts/opentype/public/newcomputermodern/NewCM10Devanagari-Bold.otf
+ RELOC/fonts/opentype/public/newcomputermodern/NewCM10Devanagari-Book.otf
+ RELOC/fonts/opentype/public/newcomputermodern/NewCM10Devanagari-Regular.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCMMath-Book.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCMMath-Regular.otf
RELOC/fonts/opentype/public/newcomputermodern/NewCMMono10-Bold.otf
@@ -226421,8 +226430,8 @@ runfiles size=3381
catalogue-alias newcm
catalogue-ctan /fonts/newcomputermodern
catalogue-license gfl
-catalogue-topics font font-archaic font-cm font-coptic font-body font-proportional font-mono font-serif font-sans font-multilingual font-greek font-cyrillic font-hebrew font-maths font-medieval font-otf cherokee font-supp linguistic phonetic
-catalogue-version 4.7
+catalogue-topics font cherokee font-archaic font-body font-cm font-coptic font-cyrillic font-greek font-hebrew font-indic font-maths font-medieval font-mono font-multilingual font-otf font-proportional font-sans font-serif font-supp linguistic phonetic
+catalogue-version 5.0
name newenviron
category Package
@@ -237768,7 +237777,7 @@ catalogue-version 1.0.5
name oberdiek
category Package
-revision 65521
+revision 69038
shortdesc A bundle of packages submitted by Heiko Oberdiek
relocated 1
longdesc The bundle comprises packages to provide: aliascnt: 'alias
@@ -237789,23 +237798,23 @@ longdesc option draft; iflang: provides expandable checks for the
longdesc current language; pdfcolparallel: fixes colour problems in
longdesc package parallel; pdfcolparcolumns: fixes colour problems in
longdesc package parcolumns; pdfcrypt: setting PDF encryption;
-longdesc pdfrender: control PDF rendering modes; protecteddef: define a
-longdesc command that protected against expansion; resizegather:
-longdesc automatically resize overly large equations; rotchiffre:
-longdesc performs simple rotation cyphers; scrindex: redefines
-longdesc environment 'theindex' of package 'index', if a class from
-longdesc KOMA-Script is loaded; setouterhbox: set \hbox in outer
-longdesc horizontal mode; settobox: getting box sizes; stackrel:
-longdesc extensions of the \stackrel command; stampinclude: selects the
-longdesc files for \include by inspecting the timestamp of the .aux
-longdesc file(s); tabularht: tabulars with height specification;
-longdesc tabularkv: key value interface for tabular parameters;
-longdesc telprint: print German telephone numbers; thepdfnumber:
-longdesc canonical numbers for use in PDF files and elsewhere; twoopt:
-longdesc commands with two optional arguments; Each of the packages is
-longdesc represented by two files, a .dtx (documented source) and a PDF
-longdesc file; the .ins file necessary for installation is extracted by
-longdesc running the .dtx file with Plain TeX.
+longdesc protecteddef: define a command that protected against
+longdesc expansion; resizegather: automatically resize overly large
+longdesc equations; rotchiffre: performs simple rotation cyphers;
+longdesc scrindex: redefines environment 'theindex' of package 'index',
+longdesc if a class from KOMA-Script is loaded; setouterhbox: set \hbox
+longdesc in outer horizontal mode; settobox: getting box sizes;
+longdesc stackrel: extensions of the \stackrel command; stampinclude:
+longdesc selects the files for \include by inspecting the timestamp of
+longdesc the .aux file(s); tabularht: tabulars with height
+longdesc specification; tabularkv: key value interface for tabular
+longdesc parameters; telprint: print German telephone numbers;
+longdesc thepdfnumber: canonical numbers for use in PDF files and
+longdesc elsewhere; twoopt: commands with two optional arguments; Each
+longdesc of the packages is represented by two files, a .dtx (documented
+longdesc source) and a PDF file; the .ins file necessary for
+longdesc installation is extracted by running the .dtx file with Plain
+longdesc TeX.
depend auxhook
depend grfext
depend grffile
@@ -237813,11 +237822,11 @@ depend iftex
depend infwarerr
depend kvoptions
depend pdftexcmds
-containersize 40024
-containerchecksum a07473833a8eb833fa1b149ae6f913219c48ad9ecf9671196774d9b0ea7ac06ef110e3ca18a2a53d7a875ca803aff6e07cf435ef1e6d2020a353df97c0cb7046
-doccontainersize 8042572
-doccontainerchecksum 73a422dd8009d191a24790f5f68b9ae2a5046f3e42e3c360faabb3f7c7581afdf9bf2b20da8609e8d3513135ee1de98329cd4fb1713fce23c5a03fac28c976b9
-docfiles size=3095
+containersize 37060
+containerchecksum d8c75685ac77c9b8f3259952cead1d5d46dc7bc556044daeecccbe1229da7566c0a31dda776356a6bddd0b710b8e8e3e84612c3ea9e9691bb486e154d9e121be
+doccontainersize 7770012
+doccontainerchecksum 728d95ced0404da11e4dffbde075eb02803a09d5c89fc34b6ffe78e47c78837c105a85827adaf8974d2edc84ddf1e7eb0ff20846a2712d152011b2198bcbf18d
+docfiles size=2992
RELOC/doc/latex/oberdiek/README.md details="Bundle README"
RELOC/doc/latex/oberdiek/aliascnt.pdf
RELOC/doc/latex/oberdiek/bmpsize.pdf
@@ -237847,7 +237856,6 @@ docfiles size=3095
RELOC/doc/latex/oberdiek/pdfcolparallel.pdf
RELOC/doc/latex/oberdiek/pdfcolparcolumns.pdf
RELOC/doc/latex/oberdiek/pdfcrypt.pdf
- RELOC/doc/latex/oberdiek/pdfrender.pdf
RELOC/doc/latex/oberdiek/protecteddef.pdf
RELOC/doc/latex/oberdiek/resizegather.pdf
RELOC/doc/latex/oberdiek/rotchiffre.pdf
@@ -237868,9 +237876,9 @@ docfiles size=3095
RELOC/doc/latex/oberdiek/telprint.pdf
RELOC/doc/latex/oberdiek/thepdfnumber.pdf
RELOC/doc/latex/oberdiek/twoopt.pdf
-srccontainersize 106480
-srccontainerchecksum ef0eeceef6d0f4d1cc804350fae483d464678397e9832e3bb17214dcff3f789bd930af2e9784bac89a53a39a107a76f88682a93a6323f4dfc18fdcbd1df98f8e
-srcfiles size=244
+srccontainersize 100772
+srccontainerchecksum 726481c21c3bda68ab4050c8dca78cfef2a9e7fdd6f8ee21540fc1dcd629383e21db06588cfd836915a58e4c8da7fa7762f4e65bb01da8d0ba94e874c1d04742
+srcfiles size=232
RELOC/source/latex/oberdiek/aliascnt.dtx
RELOC/source/latex/oberdiek/bmpsize.dtx
RELOC/source/latex/oberdiek/centernot.dtx
@@ -237895,7 +237903,6 @@ srcfiles size=244
RELOC/source/latex/oberdiek/pdfcolparallel.dtx
RELOC/source/latex/oberdiek/pdfcolparcolumns.dtx
RELOC/source/latex/oberdiek/pdfcrypt.dtx
- RELOC/source/latex/oberdiek/pdfrender.dtx
RELOC/source/latex/oberdiek/protecteddef.dtx
RELOC/source/latex/oberdiek/resizegather.dtx
RELOC/source/latex/oberdiek/rotchiffre.dtx
@@ -237909,7 +237916,7 @@ srcfiles size=244
RELOC/source/latex/oberdiek/telprint.dtx
RELOC/source/latex/oberdiek/thepdfnumber.dtx
RELOC/source/latex/oberdiek/twoopt.dtx
-runfiles size=97
+runfiles size=91
RELOC/bibtex/bib/oberdiek/oberdiek-bundle.bib
RELOC/bibtex/bib/oberdiek/oberdiek-source.bib
RELOC/tex/generic/oberdiek/engord.sty
@@ -237918,7 +237925,6 @@ runfiles size=97
RELOC/tex/generic/oberdiek/hyphsubst.sty
RELOC/tex/generic/oberdiek/iflang.sty
RELOC/tex/generic/oberdiek/pdfcrypt.sty
- RELOC/tex/generic/oberdiek/pdfrender.sty
RELOC/tex/generic/oberdiek/protecteddef.sty
RELOC/tex/generic/oberdiek/rotchiffre.sty
RELOC/tex/generic/oberdiek/setouterhbox.sty
@@ -247895,6 +247901,34 @@ catalogue-license lppl1.3c
catalogue-topics pdf-feat pdf-view pdfprocess
catalogue-version 1.0
+name pdfrender
+category Package
+revision 69043
+shortdesc Control rendering parameters
+relocated 1
+longdesc The package provides interfaces for the user to control PDF
+longdesc parameters, such as line width or text rendering mode. The
+longdesc control operations work in a manner very similar to that of the
+longdesc color package.
+containersize 4980
+containerchecksum c43ee89d4d951e1c17445fe5473c90a82e617cdc6b405493a3364dffa40709b314ddb9fc164ef897e8cdf7b7e9c409ce1680e486640ed0a41d90925e2cb7db62
+doccontainersize 394684
+doccontainerchecksum 04df5e0c68e9d32f9c55ae0375baafbe0067d0c0c47b59a9c955d10b06877a95061c40e47f2b59927385890fa41f70d3aab1506c79ddbc57125a41b3821f16f1
+docfiles size=101
+ RELOC/doc/latex/pdfrender/README.md
+ RELOC/doc/latex/pdfrender/pdfrender.pdf details="Package documentation"
+srccontainersize 10028
+srccontainerchecksum 9fb3fd5ee4c95d03d2b098ef000108c7f639adc9824c9d3d3ec1d7e2e0830507db84b80eb4b93f72795fa4a8750800c92f555784c0f0989c8427e05ef172ef9f
+srcfiles size=11
+ RELOC/source/latex/pdfrender/pdfrender.dtx
+runfiles size=6
+ RELOC/tex/latex/pdfrender/pdfrender.sty
+catalogue-contact-bugs https://github.com/ho-tex/pdfrender/issues
+catalogue-ctan /macros/latex/contrib/pdfrender
+catalogue-license lppl1.3c
+catalogue-topics typesetting
+catalogue-version 1.7
+
name pdfreview
category Package
revision 50100
@@ -305757,7 +305791,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 69035
+revision 69044
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
@@ -305778,10 +305812,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 1120704
-containerchecksum 53cdf8f8b2bbc0ab2ce7546b4df786f5e7b8cd7b8f2ad8e5daa4c56d1a2968e0c0359a2003c24910833885a8d6529ea2949218ca02dc9e58064c3642b4ea5fb2
+containersize 1122272
+containerchecksum e78c84350d01a7f5411473f33e56d2cd99b4a0e61a56e67b3bfcc947631de2036f2a2b536a4429d41bb128a5ed85c252a7e0ad5f131af3a89b33268717431f87
doccontainersize 136384
-doccontainerchecksum 4391a3893c66508f19a5b12a179a1d3139759bde14d50bfc8091a2f1171c020e7cc2341207fb04869c184ede6e2e20b5ec4f0ebdb32549218494462ce86b52db
+doccontainerchecksum 1f3985872dfdbec3386def284bf3e80b448079cf10e3a0bfe8633405cf525e21211bfcc63e537a01bb9aa377412ad463c9dfc4508ac87c787c9f299b89bc08a9
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -305853,8 +305887,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 1458860
-srccontainerchecksum baa6a5f5f664ddd77283684f21fa351ba5493153171edf182dcbb07b0784665a8eaaaba1f85e3d6f5e7ad32e245ec0c2067b1dcb338458ea192e7a2878b5ef82
+srccontainersize 1459276
+srccontainerchecksum 4be0692adb25b288ce693d026031ece1cb77f359b21dfc737cdac14f181ff4449cf8317396517918ce59e2a22b9d1ea5784e9e5532b13dd2db10afbe24bc14e9
srcfiles size=4403
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -317531,7 +317565,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 69030
+revision 69037
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.
@@ -317540,9 +317574,9 @@ depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
containersize 114256
-containerchecksum 67dc058feee1b366c2317fe44e0882cd3afedbb3055609a8b6d55182ec73f76c81f6d65b9f7d01058bbb5499e29f3d24f2b61a06d44a0adc641814fdc4f607c5
-doccontainersize 430444
-doccontainerchecksum 68ace6fa6f3ddbc3f33265da88917978cac0bbfe3f0b77fb5f92d49c7bff491bdc9bc473b5a4fdfe41489dae7f05ef0c019b3e64cc21946f8bfa62f33de6674b
+containerchecksum 6b5c39e26624d57a87be1dbe2cb60da6b2886aa38d7bc466f6879e10b15525453bce70d18ad67c141915e1a4cd6eef54ef5277865b964f358368a820e0cd50ed
+doccontainersize 430532
+doccontainerchecksum 94d8fa61bd50eeff615d8a986518f3f568e8f02a55af6d7deb0fdd35274b2bba15b01e85f4788064a7f3737e1cc43d41a82f8931c5475582fe788965809a0bf7
docfiles size=560
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -338126,7 +338160,7 @@ catalogue-version 1.1.0
name ufrgscca
category Package
-revision 69025
+revision 69042
shortdesc A bundle for undergraduate students final work/report (tcc) at UFRGS/EE
relocated 1
longdesc This bundle is aimed at producing undergraduate students' final
@@ -338135,11 +338169,11 @@ longdesc University of Rio Grande do Sul), closely following ABNT rules
longdesc (Brazilian Association for Technical Norms). It is composed of
longdesc a main class, ufrgscca, and a set of auxiliary packages, some
longdesc of which can be used independently.
-containersize 24092
-containerchecksum 87729540fa65f304c4cf97269590e3ffd5d9f4d89e96f4f1e7ca8095c71c86d66d551a74c699a95f436ae0877edd88147ef629e3c93d0b440416f9aa42a61804
-doccontainersize 536700
-doccontainerchecksum 1d18507d6f3d61d8566751614b01b0c0b51246b25ac7219f377a5d5660cb97624c7451ad498751d2f39f60f31853d1bc4ed47c89c6335ed93ee4f848c481760c
-docfiles size=185
+containersize 24188
+containerchecksum ae9f69feebcd487305cbd94661af5262d32e98f6d65dbfa8b5a2760b93fcd482aca13b7193cdb93d3f518b8e3e3ebe31275af53d34e38d4b944ee36588d2cebe
+doccontainersize 538480
+doccontainerchecksum 71dc771856ad8f31a8a69845128ae0bcc9fb7c21252e728d7f8914f2040d5550c397da8a5e7d5c2cfcc5c8a7f65328dc5ded3036f4dc786d4802ab61c1c2063c
+docfiles size=187
RELOC/doc/latex/ufrgscca/README.md details="Readme"
RELOC/doc/latex/ufrgscca/ufrgscca-cover-ptBR.tex
RELOC/doc/latex/ufrgscca/ufrgscca-forms.tex
@@ -338164,7 +338198,7 @@ catalogue-contact-repository https://github.com/alceu-frigeri/ufrgscca
catalogue-ctan /macros/latex/contrib/ufrgscca
catalogue-license lppl1.3c gpl
catalogue-topics dissertation portuguese-br std-conform expl3
-catalogue-version 2.2
+catalogue-version 2.3
name uhc
category Package
@@ -353379,26 +353413,26 @@ binfiles arch=x86_64-solaris size=1
name wheelchart
category Package
-revision 64373
+revision 69040
shortdesc Draw wheelcharts with TikZ
relocated 1
longdesc This package is based on the package TikZ and can be used to
longdesc draw wheelcharts with TikZ. It provides several options to
longdesc customize the wheelcharts.
-containersize 4700
-containerchecksum 5119fac9b5b6b6c65771184da8dac9c0f27c4c115aa874eefc2d322e864595e9ec4a70dc782334bbfaa9eba30ebb1e079f914453c330d46f898241c34e9e9e54
-doccontainersize 663212
-doccontainerchecksum a24f915836ee36150625a4cb297f80b66c6f4ad3231043300d438e0d522942322602fb39b3026faa58d1ddb48097af54ca71b729c8ccba15d0cc4ba9ce505b21
-docfiles size=175
+containersize 15492
+containerchecksum 17660fd6ff9cf02bf01b95b505128aac52005b4ff59fcc1b28c64e9870aaed03f8652555cc2c323453441c83e696a0c5bc281281a1baee8c6ede1e9a11dc376d
+doccontainersize 1087704
+doccontainerchecksum 6ad02cbf669800f8a9d81cfd3ed3abcfc5b8a2df6040d3eb6ab0dc1ffb01875230be13959adb1ea7dde805d4ffb6bd9767de1b275479636f245e1140be07b16e
+docfiles size=301
RELOC/doc/latex/wheelchart/README.md details="Readme"
RELOC/doc/latex/wheelchart/wheelchart.pdf details="Package documentation"
RELOC/doc/latex/wheelchart/wheelchart.tex
-runfiles size=6
+runfiles size=32
RELOC/tex/latex/wheelchart/wheelchart.sty
catalogue-ctan /graphics/pgf/contrib/wheelchart
catalogue-license lppl1.3c
-catalogue-topics graphics pgf-tikz
-catalogue-version 1.0
+catalogue-topics graphics pgf-tikz expl3
+catalogue-version 2.0
name widetable
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 130fe2255a..8b48c76c4d 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-4b7d5a32c903cb094ee2f58d5c074129 texlive.tlpdb
+89415b37e7210e1c5ffd899abc608686 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 486354570b..afe1821fb3 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-802d96424a894d0061aea4a7787b0cafdddc439e8d62ff62ddc02db3dfef6767a1b33109d0109ce696ae0ca82b01cafab52aab98a38a41e07eabb7858bca172d texlive.tlpdb
+6e62e20d58fd70b2dcbc7c346aaca7e3ba51690972c602dcf067b05a450a0883a8957cb45dacd9826c7e13d4546966c4d0746c06721fba94ce47ee3333ca68ca texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 2516b527b7..4c9a5672c9 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+QqiBBqTOGHfhlDjHAFAmVucw4ACgkQTOGHfhlD
-jHDl5Qf/b9RkzBSqRpyqkV7w196p4oh+JKE5IFHoT8p/Br+z556kiq5Rzx5ZwpQD
-22kRl1C+C/tjZ6AlkcmwYPhOGfhoyBmuL7JZQATEGZMFPRtV0yvDC7cV2s0UjqcK
-8tmRfQlpAsuMl39hrufn2xLyP1i3Xbzv3+2LyMSEZcsGa5l4WAiVmsZ+Gdot9Hjj
-7sUw/WBQDtQYuh1PkVg2XgVMdgr6OGmSkW9xsmbdGIH648wb8Yaz8ebuL//MHCG3
-gzbAvLVHHi+H4S9rKKVwQZogCRtl1mCF02wqSOSeIQkx4JW8x2knCF/Thgd2XAze
-2XjFOy3rLWI5lT31UPodXxQMETLtXA==
-=htY4
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmVvw70ACgkQTOGHfhlD
+jHAyIQgAp1D8ce5D2GbIdooXF4h+SOigH3/RDoia+gl6UIeqfodBlqDWv8x5mXfj
+rbW2VHrkKTgmjdYXuc0U25kY11u3VlAXHlICysXpxoXMa/pjwJgG3yt7zyLw/hjX
+SH7NvMJKGD7uNo9eMj8sOGX1XovskRbtGfoCkjCxvZHNB2wUu1MsDu0/czWj2VAm
+SoMNExu/7sbkDwef/rOvIteFSRxW/xTuxnLieQKeNIv3T6KAKJkdeKQjukNcCo8y
+AbbTdviGbkTN4K1CZHAMn/GcTPnBgDsZOVNOxu+HujuG5B1aSsaZruHeX3H9IgYm
+bfiHnF223cXOIm9g6i1scUkZ6dRH0A==
+=z8B2
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 9ec9a1d42a..d53768376b 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 7be85cff83..65783067dc 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2023-12-06-02-02
+2023-12-07-02-02
diff --git a/usergrps/usergrps/bg.html b/usergrps/usergrps/bg.html
index 46bb8a1415..5b9c19f6e9 100644
--- a/usergrps/usergrps/bg.html
+++ b/usergrps/usergrps/bg.html
@@ -301,7 +301,7 @@ Bulgaria
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/br.html b/usergrps/usergrps/br.html
index f44347afe5..4c7d577d0e 100644
--- a/usergrps/usergrps/br.html
+++ b/usergrps/usergrps/br.html
@@ -293,7 +293,7 @@
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/cn.html b/usergrps/usergrps/cn.html
index 3e83d4679a..07e832094f 100644
--- a/usergrps/usergrps/cn.html
+++ b/usergrps/usergrps/cn.html
@@ -307,7 +307,7 @@ China
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/ct.html b/usergrps/usergrps/ct.html
index f6686cc521..e0437bf54d 100644
--- a/usergrps/usergrps/ct.html
+++ b/usergrps/usergrps/ct.html
@@ -296,7 +296,7 @@ Spain
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/cz.html b/usergrps/usergrps/cz.html
index 392fd47f42..3d21b69bf0 100644
--- a/usergrps/usergrps/cz.html
+++ b/usergrps/usergrps/cz.html
@@ -303,7 +303,7 @@ Czech Republic
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/de.html b/usergrps/usergrps/de.html
index f22678f107..b83f3a6faa 100644
--- a/usergrps/usergrps/de.html
+++ b/usergrps/usergrps/de.html
@@ -306,7 +306,7 @@ Germany
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/dk.html b/usergrps/usergrps/dk.html
index d6f395b1c4..69414a6050 100644
--- a/usergrps/usergrps/dk.html
+++ b/usergrps/usergrps/dk.html
@@ -293,7 +293,7 @@
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/ee.html b/usergrps/usergrps/ee.html
index 9e9c75269f..2779c31682 100644
--- a/usergrps/usergrps/ee.html
+++ b/usergrps/usergrps/ee.html
@@ -295,7 +295,7 @@ EE 2444 Estonia
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/es.html b/usergrps/usergrps/es.html
index 4a651a549c..3eac4d4caa 100644
--- a/usergrps/usergrps/es.html
+++ b/usergrps/usergrps/es.html
@@ -295,7 +295,7 @@ Spain
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/fr.html b/usergrps/usergrps/fr.html
index 730028f85f..451b1dd60e 100644
--- a/usergrps/usergrps/fr.html
+++ b/usergrps/usergrps/fr.html
@@ -296,7 +296,7 @@ FRANCE
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/gr.html b/usergrps/usergrps/gr.html
index c598b9b33d..d0fb8653d2 100644
--- a/usergrps/usergrps/gr.html
+++ b/usergrps/usergrps/gr.html
@@ -295,7 +295,7 @@ Greece
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/hu.html b/usergrps/usergrps/hu.html
index 539c3e59e8..89fa00e08d 100644
--- a/usergrps/usergrps/hu.html
+++ b/usergrps/usergrps/hu.html
@@ -309,7 +309,7 @@ Hungary
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/ie.html b/usergrps/usergrps/ie.html
index 29ced7065f..8ea41de9b6 100644
--- a/usergrps/usergrps/ie.html
+++ b/usergrps/usergrps/ie.html
@@ -295,7 +295,7 @@ Ireland
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/index.html b/usergrps/usergrps/index.html
index c229579172..af80f4c949 100644
--- a/usergrps/usergrps/index.html
+++ b/usergrps/usergrps/index.html
@@ -169,7 +169,7 @@ the cell.
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/is.html b/usergrps/usergrps/is.html
index f7bbb1211b..78dc5b060f 100644
--- a/usergrps/usergrps/is.html
+++ b/usergrps/usergrps/is.html
@@ -155,8 +155,8 @@
<td class="tr">address
<td>
<textarea class="lug" cols="20" rows="6" name=
- "paddr">Öldugötu 28
-101 Reykjavík
+ "paddr">Strandvegi 20
+210 Garđabć
Iceland
</textarea>
<td>
@@ -169,7 +169,7 @@ Iceland
</textarea>
<tr>
<td class="r">email
- <td><input class="lug" value="arnima@hafro.is" name="pemail">
+ <td><input class="lug" value="thisisarni@gmail.com " name="pemail">
<td><input class="lug" value="" name="gemail">
<td><input class="lug" value="" name="femail">
<tr>
@@ -295,7 +295,7 @@ Iceland
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/it.html b/usergrps/usergrps/it.html
index 6469f1e1fd..6b7d0fedbe 100644
--- a/usergrps/usergrps/it.html
+++ b/usergrps/usergrps/it.html
@@ -296,7 +296,7 @@ Via Claudio 21
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/kh.html b/usergrps/usergrps/kh.html
index cf7d86d449..00c78888c9 100644
--- a/usergrps/usergrps/kh.html
+++ b/usergrps/usergrps/kh.html
@@ -295,7 +295,7 @@ Cambodia
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/kr.html b/usergrps/usergrps/kr.html
index 342d56516d..006e073205 100644
--- a/usergrps/usergrps/kr.html
+++ b/usergrps/usergrps/kr.html
@@ -307,7 +307,7 @@ Republic of Korea
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/labels.pdf b/usergrps/usergrps/labels.pdf
index 9cd8f147dd..c5b2b56cfc 100644
--- a/usergrps/usergrps/labels.pdf
+++ b/usergrps/usergrps/labels.pdf
Binary files differ
diff --git a/usergrps/usergrps/labels.tex b/usergrps/usergrps/labels.tex
index 969d099d28..82e1c51c85 100644
--- a/usergrps/usergrps/labels.tex
+++ b/usergrps/usergrps/labels.tex
@@ -74,8 +74,8 @@ Cork T12 WEX9
Ireland
ÍsTeX
-Öldugötu 28
-101 Reykjavík
+Strandvegi 20
+210 Garđabć
Iceland
GuIT
diff --git a/usergrps/usergrps/lt.html b/usergrps/usergrps/lt.html
index 61dd3d9be1..60f0775d0c 100644
--- a/usergrps/usergrps/lt.html
+++ b/usergrps/usergrps/lt.html
@@ -295,7 +295,7 @@ Lithuania
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/lugs.html b/usergrps/usergrps/lugs.html
index 48bfeb0255..06a7098d12 100644
--- a/usergrps/usergrps/lugs.html
+++ b/usergrps/usergrps/lugs.html
@@ -94,7 +94,7 @@ in this document.
<tr><td class="r">language: <td>bg
<tr><td class="r">members: <td>234
<tr><td class="r">email: <td>bulgarian-latex-users-group@googlegroups.com
-<tr><td class="r">web site: <td><a href="https://https://groups.google.com/forum/?hl=bg&amp;fromgroups#!forum/bulgarian-latex-users-group">https://groups.google.com/forum/?hl=bg&amp;fromgroups#!forum/bulgarian-latex-users-group</a>
+<tr><td class="r">web site: <td><a href="https://groups.google.com/forum/?hl=bg&amp;fromgroups#!forum/bulgarian-latex-users-group">https://groups.google.com/forum/?hl=bg&amp;fromgroups#!forum/bulgarian-latex-users-group</a>
<tr><td class="tr">address: <td>Dept. of Applied Mathematics and Statistics<br>University of Ruse<br>8 Studentska str.<br>Ruse,7017<br>Bulgaria
<tr><td class="r">name: <td>Stefka R. Karakoleva
<tr><td class="tr">address: <td>Dept. of Applied Mathematics and Statistics<br>University of Ruse<br>8 Studentska str.<br>Ruse,7017<br>Bulgaria
@@ -105,7 +105,7 @@ in this document.
<tr><td class="r">full name: <td>Grupo de Usuários latex-br
<tr><td class="r">language: <td>pt
<tr><td class="r">members: <td>1427
-<tr><td class="r">web site: <td><a href="https://https://www.abntex.net.br">https://www.abntex.net.br</a>
+<tr><td class="r">web site: <td><a href="https://www.abntex.net.br">https://www.abntex.net.br</a>
<tr><td class="r">discussion list:<td>latex-br@googlegroups.com
<tr><td class="r">subscribe at: <td>latex-br+subscribe@googlegroups.com
<tr><td class="r">name: <td>Lauro César
@@ -115,7 +115,7 @@ in this document.
<tr><td class="r">full name: <td>Chinese TeX Society
<tr><td class="r">language: <td>zh
<tr><td class="r">members: <td>20000
-<tr><td class="r">web site: <td><a href="https://https://www.ctex.org">https://www.ctex.org</a>
+<tr><td class="r">web site: <td><a href="https://www.ctex.org">https://www.ctex.org</a>
<tr><td class="tr">address: <td>No. 55, Zhongguancun East Road<br>Haidian<br>Beijing 100080<br>China
<tr><td class="r">name: <td>Lingyun Wu
<tr><td class="tr" >address: <td>No. 55, Zhongguancun East Road<br>Haidian<br>Beijing 100080<br>China
@@ -132,7 +132,7 @@ in this document.
<tr><td class="r">short name: <td>Tirant lo TeX
<tr><td class="r">full name: <td>Catalan TeX Users Group
<tr><td class="r">language: <td>ca
-<tr><td class="r">web site: <td><a href="https://https://www.cs.upc.edu/~valiente/tug-catalan.html">https://www.cs.upc.edu/~valiente/tug-catalan.html</a>
+<tr><td class="r">web site: <td><a href="https://www.cs.upc.edu/~valiente/tug-catalan.html">https://www.cs.upc.edu/~valiente/tug-catalan.html</a>
<tr><td class="r">discussion list:<td>catala-tex@ldist.upc.edu
<tr><td class="r">name: <td>Gabriel Valiente
<tr><td class="tr" >address: <td>Technical University of Catalonia<br>Jordi Girona, 1-3<br>E-08034 Barcelona<br>Spain
@@ -143,7 +143,7 @@ in this document.
<tr><td class="r">language: <td>cs
<tr><td class="r">members: <td>300
<tr><td class="r">email: <td>cstug@cstug.cz
-<tr><td class="r">web site: <td><a href="https://https://www.cstug.cz">https://www.cstug.cz</a>
+<tr><td class="r">web site: <td><a href="https://www.cstug.cz">https://www.cstug.cz</a>
<tr><td class="tr">address: <td>c/o Petr Sojka<br>Nejedlého 373/1,<br>CZ 638 00 Brno<br>Czech Republic
<tr><td class="h3" colspan="2">Periodical
<tr><td class="r">title: <td>Zpravodaj CSTUGu
@@ -171,7 +171,7 @@ in this document.
<tr><td class="r">language: <td>de
<tr><td class="r">members: <td>2000
<tr><td class="r">email: <td>info@dante.de
-<tr><td class="r">web site: <td><a href="https://https://www.dante.de">https://www.dante.de</a>
+<tr><td class="r">web site: <td><a href="https://www.dante.de">https://www.dante.de</a>
<tr><td class="r">discussion list:<td>dante-ev@dante.de
<tr><td class="r">subscribe at: <td>lists.dante.de/mailman/listinfo/dante-ev
<tr><td class="tr">address: <td>Postal address:<br>Postfach 110361<br>69072 Heidelberg<br>Germany<br>Physical address:<br>Bergheimer Straße 110a<br>69115 Heidelberg<br>Germany
@@ -203,7 +203,7 @@ in this document.
<tr><td class="r">language: <td>da
<tr><td class="r">members: <td>10
<tr><td class="r">email: <td>board@tug.dk
-<tr><td class="r">web site: <td><a href="https://https://tug.dk/">https://tug.dk/</a>
+<tr><td class="r">web site: <td><a href="https://tug.dk/">https://tug.dk/</a>
<tr><td class="r">name: <td>Bent Jessen
<tr><td class="r">email: <td>board@tug.dk
<tr><td class="r">name: <td>Klaus Jensen
@@ -220,7 +220,7 @@ in this document.
<tr><td class="r">language: <td>es
<tr><td class="r">members: <td>45
<tr><td class="r">email: <td>secretario@cervantex.es
-<tr><td class="r">web site: <td><a href="https://http://www.cervantex.es">http://www.cervantex.es</a>
+<tr><td class="r">web site: <td><a href="http://www.cervantex.es">http://www.cervantex.es</a>
<tr><td class="r">discussion list:<td>es-tex@listserv.rediris.es
<tr><td class="r">subscribe at: <td>www.cervantex.es/listas.php
<tr><td class="h3" colspan="2">Periodical
@@ -239,7 +239,7 @@ in this document.
<tr><td class="r">full name: <td>Groupe francophone des utilisateurs de TeX
<tr><td class="r">language: <td>fr
<tr><td class="r">members: <td>400
-<tr><td class="r">web site: <td><a href="https://https://www.gutenberg.eu.org">https://www.gutenberg.eu.org</a>
+<tr><td class="r">web site: <td><a href="https://www.gutenberg.eu.org">https://www.gutenberg.eu.org</a>
<tr><td class="r">discussion list:<td>gut@ens.fr
<tr><td class="r">subscribe at: <td>gut-request@ens.fr
<tr><td class="tr">address: <td>Association GUTenberg<br>15 rue des Halles – BP 74<br>75001 Paris<br>FRANCE
@@ -257,7 +257,7 @@ in this document.
<tr><td class="r">short name: <td>ɛϕτ
<tr><td class="r">full name: <td>Σύλλογος Ελλήνων Φίλων του TeX / Greek TeX Friends
<tr><td class="r">language: <td>el en
-<tr><td class="r">web site: <td><a href="https://https://www.eutypon.gr">https://www.eutypon.gr</a>
+<tr><td class="r">web site: <td><a href="https://www.eutypon.gr">https://www.eutypon.gr</a>
<tr><td class="h3" colspan="2">Periodical
<tr><td class="r">title: <td>Τὸ Εὔτυπον / The Eutypon
<tr><td class="r">name: <td>Apostolos Syropoulos
@@ -269,7 +269,7 @@ in this document.
<tr><td class="r">language: <td>hu
<tr><td class="r">members: <td>15
<tr><td class="r">email: <td>matex@math.klte.hu
-<tr><td class="r">web site: <td><a href="https://http://www.matexhu.org">http://www.matexhu.org</a>
+<tr><td class="r">web site: <td><a href="http://www.matexhu.org">http://www.matexhu.org</a>
<tr><td class="r">discussion list:<td>tex-l@tigris.klte.hu
<tr><td class="r">subscribe at: <td>www.math.klte.hu/~matex/LevLista.html
<tr><td class="tr">address: <td>Inst of Mathematics and Informatics<br>University of Debrecen<br>H-4010 Debrecen<br>P.O. Box 12<br>Hungary
@@ -299,20 +299,20 @@ in this document.
<tr><td class="r">full name: <td>Vefur íslenskra TeX notenda
<tr><td class="r">language: <td>is
<tr><td class="r">members: <td>90
-<tr><td class="r">web site: <td><a href="https://https://istex.hafro.is">https://istex.hafro.is</a>
+<tr><td class="r">web site: <td><a href="https://istex.hafro.is">https://istex.hafro.is</a>
<tr><td class="h3" colspan="2">Periodical
<tr><td class="r">title: <td>SamanTeXt
<tr><td class="r">editor: <td>Árni Magnússon
<tr><td class="r">name: <td>Árni Magnússon
-<tr><td class="tr" >address: <td>Öldugötu 28<br>101 Reykjavík<br>Iceland
-<tr><td class="r">email: <td>arnima@hafro.is
+<tr><td class="tr" >address: <td>Strandvegi 20<br>210 Garđabć<br>Iceland
+<tr><td class="r">email: <td>thisisarni@gmail.com
<tr><th class="kop"><img src="images/it.png" width="48" alt="flag"><th class="kop" id="it">it - Italy
<tr><td class="r">short name: <td>GuIT
<tr><td class="r">full name: <td>Gruppo Utilizzatori Italiani di TeX
<tr><td class="r">language: <td>it
<tr><td class="r">members: <td>111
<tr><td class="r">email: <td>guit@guitex.org
-<tr><td class="r">web site: <td><a href="https://https://www.guitex.org">https://www.guitex.org</a>
+<tr><td class="r">web site: <td><a href="https://www.guitex.org">https://www.guitex.org</a>
<tr><td class="tr">address: <td>c/o Università degli Studi di Napoli Federico II<br>Dipartimento di Ingegneria Industriale<br>Via Claudio 21<br>80125 Napoli
<tr><td class="h3" colspan="2">Periodical
<tr><td class="r">title: <td>ArsTeXnica
@@ -332,14 +332,14 @@ in this document.
<tr><td class="r">full name: <td>Khmer TeX Users Group
<tr><td class="r">language: <td>kh
<tr><td class="r">email: <td>khmertug@gmail.com
-<tr><td class="r">web site: <td><a href="https://https://t.me/KhmerTeXUsersGroup">https://t.me/KhmerTeXUsersGroup</a>
+<tr><td class="r">web site: <td><a href="https://t.me/KhmerTeXUsersGroup">https://t.me/KhmerTeXUsersGroup</a>
<tr><td class="tr">address: <td>Confederation de la Russie<br>Phnom Penh 12101<br>Cambodia
<tr><th class="kop"><img src="images/kr.png" width="48" alt="flag"><th class="kop" id="kr">kr - Korea (South)
<tr><td class="r">short name: <td>KTS or KTUG
<tr><td class="r">full name: <td>Korean TeX Society
<tr><td class="r">language: <td>ko
<tr><td class="r">members: <td>200
-<tr><td class="r">web site: <td><a href="https://http://www.ktug.org/xe">http://www.ktug.org/xe</a>
+<tr><td class="r">web site: <td><a href="http://www.ktug.org/xe">http://www.ktug.org/xe</a>
<tr><td class="tr">address: <td>Department of Law<br>Dongguk University<br>26, 3-ga, Pil-dong<br>Chung-gu<br>Seoul 100-715<br>Republic of Korea
<tr><td class="h3" colspan="2">Periodical
<tr><td class="r">title: <td>The Asian Journal of TeX
@@ -360,7 +360,7 @@ in this document.
<tr><td class="r">language: <td>lt
<tr><td class="r">members: <td>8
<tr><td class="r">email: <td>tex-lietuva@googlegroups.com
-<tr><td class="r">web site: <td><a href="https://https://ltex.lt">https://ltex.lt</a>
+<tr><td class="r">web site: <td><a href="https://ltex.lt">https://ltex.lt</a>
<tr><td class="r">name: <td>Linas Stonys
<tr><td class="tr" >address: <td>Mokslininkų g. 2A<br>LT-08412 Vilnius<br>Lithuania
<tr><td class="r">email: <td>lstonys@vtex.lt
@@ -380,7 +380,7 @@ in this document.
<tr><td class="r">language: <td>nl
<tr><td class="r">members: <td>195
<tr><td class="r">email: <td>info@ntg.nl
-<tr><td class="r">web site: <td><a href="https://https://www.ntg.nl">https://www.ntg.nl</a>
+<tr><td class="r">web site: <td><a href="https://www.ntg.nl">https://www.ntg.nl</a>
<tr><td class="h3" colspan="2">Periodical
<tr><td class="r">title: <td>MAPS
<tr><td class="r">editor: <td>Frans Goddijn
@@ -405,7 +405,7 @@ in this document.
<tr><td class="r">full name: <td>Nordic TeX Users Group
<tr><td class="r">language: <td>da et fi fo is nb nn sv
<tr><td class="r">members: <td>78
-<tr><td class="r">web site: <td><a href="https://http://heim.ifi.uio.no/~dag/ntug/">http://heim.ifi.uio.no/~dag/ntug/</a>
+<tr><td class="r">web site: <td><a href="http://heim.ifi.uio.no/~dag/ntug/">http://heim.ifi.uio.no/~dag/ntug/</a>
<tr><td class="r">discussion list:<td>nordictex@ifi.uio.no
<tr><td class="r">name: <td>Dag Langmyhr
<tr><td class="tr" >address: <td>University of Oslo<br>PO Box 1080 Blindern<br>N-0316 Oslo<br>Norway
@@ -418,7 +418,7 @@ in this document.
<tr><td class="r">language: <td>pl
<tr><td class="r">members: <td>276
<tr><td class="r">email: <td>sekretariat@gust.org.pl
-<tr><td class="r">web site: <td><a href="https://https://www.GUST.org.pl">https://www.GUST.org.pl</a>
+<tr><td class="r">web site: <td><a href="https://www.GUST.org.pl">https://www.GUST.org.pl</a>
<tr><td class="r">discussion list:<td>gust-l@man.torun.pl
<tr><td class="tr">address: <td>Pl. Rapackiego 1<br>PL-87-100 Toruń<br>Poland
<tr><td class="h3" colspan="2">Periodical
@@ -441,7 +441,7 @@ in this document.
<tr><td class="r">short name: <td>GUTpt
<tr><td class="r">full name: <td>Grupo de Utilizadores de TeX
<tr><td class="r">language: <td>pt
-<tr><td class="r">web site: <td><a href="https://http://gentzen.mat.uc.pt/~gutpt/">http://gentzen.mat.uc.pt/~gutpt/</a>
+<tr><td class="r">web site: <td><a href="http://gentzen.mat.uc.pt/~gutpt/">http://gentzen.mat.uc.pt/~gutpt/</a>
<tr><td class="r">discussion list:<td>gutpt@gentzen.mat.uc.pt
<tr><td class="r">name: <td>Pedro Quaresma de Almeida
<tr><td class="tr" >address: <td>Coimbra Univ., Dep. Matemática<br>Largo D. Dinis<br>Apartado 3008<br>3001-454 COIMBRA<br>Portugal
@@ -460,7 +460,7 @@ in this document.
<tr><td class="r">full name: <td>TeX Users Group
<tr><td class="r">members: <td>1200
<tr><td class="r">email: <td>office@tug.org
-<tr><td class="r">web site: <td><a href="https://https://www.tug.org">https://www.tug.org</a>
+<tr><td class="r">web site: <td><a href="https://www.tug.org">https://www.tug.org</a>
<tr><td class="r">discussion list:<td>texhax@tug.org
<tr><td class="r">subscribe at: <td>lists.tug.org/texhax
<tr><td class="tr">address: <td>P.O. Box 2311<br>Portland, OR 97208<br>USA
@@ -482,7 +482,7 @@ in this document.
<tr><td class="r">language: <td>es
<tr><td class="r">members: <td>3
<tr><td class="r">email: <td>latexuy@gmail.com
-<tr><td class="r">web site: <td><a href="https://https://sites.google.com/view/latexuy">https://sites.google.com/view/latexuy</a>
+<tr><td class="r">web site: <td><a href="https://sites.google.com/view/latexuy">https://sites.google.com/view/latexuy</a>
<tr><td class="r">discussion list:<td>https://groups.io/g/uylatex
<tr><td class="r">subscribe at: <td>latexuy@gmail.com
<tr><th class="kop"><img src="images/vn.png" width="48" alt="flag"><th class="kop" id="vn">vn - Vietnam
@@ -561,7 +561,7 @@ in this document.
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/lugs.pdf b/usergrps/usergrps/lugs.pdf
index 6e2bdc2b64..c4db3ed3e9 100644
--- a/usergrps/usergrps/lugs.pdf
+++ b/usergrps/usergrps/lugs.pdf
Binary files differ
diff --git a/usergrps/usergrps/lugs.tex b/usergrps/usergrps/lugs.tex
index d3569f16c1..b62376c5b4 100644
--- a/usergrps/usergrps/lugs.tex
+++ b/usergrps/usergrps/lugs.tex
@@ -288,8 +288,8 @@
\item[editor] Árni Magnússon
\subhead{President}
\item[name] Árni Magnússon
-\item[address] \Longunderstack[l]{Öldugötu 28\\101 Reykjavík\\Iceland\strut}
-\item[email] \url{arnima@hafro.is}
+\item[address] \Longunderstack[l]{Strandvegi 20\\210 Garđabć\\Iceland\strut}
+\item[email] \url{thisisarni@gmail.com }
\end{mylist}
\begin{mylist}
\head{it}{Italy}
diff --git a/usergrps/usergrps/mx.html b/usergrps/usergrps/mx.html
index b983544ea2..7a9c12c62d 100644
--- a/usergrps/usergrps/mx.html
+++ b/usergrps/usergrps/mx.html
@@ -296,7 +296,7 @@ Mexico
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/nl.html b/usergrps/usergrps/nl.html
index 7f2b94d4f9..e7bb52f62e 100644
--- a/usergrps/usergrps/nl.html
+++ b/usergrps/usergrps/nl.html
@@ -299,7 +299,7 @@ The Netherlands
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/no.html b/usergrps/usergrps/no.html
index c8b8c07801..38406c52e4 100644
--- a/usergrps/usergrps/no.html
+++ b/usergrps/usergrps/no.html
@@ -296,7 +296,7 @@ Norway
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/pl.html b/usergrps/usergrps/pl.html
index 8f985421a2..3cada3ac6b 100644
--- a/usergrps/usergrps/pl.html
+++ b/usergrps/usergrps/pl.html
@@ -303,7 +303,7 @@ Poland
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/pt.html b/usergrps/usergrps/pt.html
index 6cc665805b..517462cde7 100644
--- a/usergrps/usergrps/pt.html
+++ b/usergrps/usergrps/pt.html
@@ -297,7 +297,7 @@ Portugal
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/tw.html b/usergrps/usergrps/tw.html
index 13f5669870..0990795b66 100644
--- a/usergrps/usergrps/tw.html
+++ b/usergrps/usergrps/tw.html
@@ -293,7 +293,7 @@
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/us.html b/usergrps/usergrps/us.html
index a3ceb86a5e..4b280ab867 100644
--- a/usergrps/usergrps/us.html
+++ b/usergrps/usergrps/us.html
@@ -295,7 +295,7 @@ USA
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/uy.html b/usergrps/usergrps/uy.html
index dbbca87b78..02def24745 100644
--- a/usergrps/usergrps/uy.html
+++ b/usergrps/usergrps/uy.html
@@ -293,7 +293,7 @@
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/vn.html b/usergrps/usergrps/vn.html
index 9c806f7d61..dbd118281c 100644
--- a/usergrps/usergrps/vn.html
+++ b/usergrps/usergrps/vn.html
@@ -301,7 +301,7 @@ Việt Nam
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>
diff --git a/usergrps/usergrps/za.html b/usergrps/usergrps/za.html
index 6cff393b37..e67f30ae12 100644
--- a/usergrps/usergrps/za.html
+++ b/usergrps/usergrps/za.html
@@ -296,7 +296,7 @@ South Africa
<p id="copyright">&copy; NTG - last changed on
-2023-09-09 16:14:19 CEST
+2023-12-05 13:26:47 CET
</div></body></html>