summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname480
-rw-r--r--FILES.byname.gzbin2531579 -> 2531662 bytes
-rw-r--r--FILES.last07days494
-rw-r--r--biblio/ctan-bibdata/ctan.bib49
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3675920 -> 3674536 bytes
-rw-r--r--fonts/simpleicons/doc/bindings.tex2
-rw-r--r--fonts/simpleicons/doc/simpleicons.pdfbin2017821 -> 2018257 bytes
-rw-r--r--fonts/simpleicons/enc/simpleiconsOneZero.enc2
-rw-r--r--fonts/simpleicons/opentype/SimpleIcons.otfbin1915972 -> 1916220 bytes
-rw-r--r--fonts/simpleicons/tex/simpleicons.sty2
-rw-r--r--fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex25
-rw-r--r--fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex25
-rw-r--r--fonts/simpleicons/tex/usimpleiconsEight.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsFive.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsFour.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsNine.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsOne.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsOneZero.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsSeven.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsSix.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsThree.fd2
-rw-r--r--fonts/simpleicons/tex/usimpleiconsTwo.fd2
-rw-r--r--fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfmbin820 -> 824 bytes
-rw-r--r--fonts/simpleicons/type1/SimpleIcons.pfbbin1785039 -> 1785273 bytes
-rw-r--r--macros/context/contrib/context-sudoku/LICENSE (renamed from macros/context/contrib/context-sudoku/sudoku/LICENSE)0
-rw-r--r--macros/context/contrib/context-sudoku/README.md (renamed from macros/context/contrib/context-sudoku/sudoku/README.md)0
-rw-r--r--macros/context/contrib/context-sudoku/VERSION (renamed from macros/context/contrib/context-sudoku/sudoku/VERSION)0
-rw-r--r--macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-01.txt (renamed from macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-01.txt)0
-rw-r--r--macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-02.txt (renamed from macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-02.txt)0
-rw-r--r--macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-03.txt (renamed from macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-03.txt)0
-rw-r--r--macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku.lua (renamed from macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku.lua)0
-rw-r--r--macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku.mkvi (renamed from macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku.mkvi)0
-rw-r--r--macros/latex/contrib/counterz/README22
-rw-r--r--macros/latex/contrib/counterz/counterz.dtx1409
-rw-r--r--macros/latex/contrib/counterz/counterz.ins89
-rw-r--r--macros/latex/contrib/counterz/counterz.pdfbin0 -> 300058 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/README.md10
-rw-r--r--macros/latex/contrib/msu-thesis/docs/msu-thesis.tex52
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.cls28
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.pdfbin107834 -> 109178 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdfbin139638 -> 138559 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex2
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex15
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdfbin214988 -> 214045 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex8
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin9127255 -> 9148760 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex680
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCDefiTables.tex49
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex252
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex300
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex246
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex31
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty7
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin945084 -> 1025814 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex676
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty5
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex2
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex308
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex488
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex188
-rw-r--r--macros/latex/contrib/yb-book/LICENSE.txt2
-rw-r--r--macros/latex/contrib/yb-book/yb-book.dtx17
-rw-r--r--macros/latex/contrib/yb-book/yb-book.ins12
-rw-r--r--macros/latex/contrib/yb-book/yb-book.pdfbin283494 -> 283982 bytes
-rw-r--r--macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-en.pdfbin239244 -> 164073 bytes
-rw-r--r--macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-jp.pdfbin330720 -> 278982 bytes
-rw-r--r--macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-sc.pdfbin324356 -> 265483 bytes
-rw-r--r--macros/luatex/generic/evangelion-jfm/Evangelion-JFM.dtx30
-rw-r--r--macros/luatex/generic/evangelion-jfm/README.md18
-rw-r--r--macros/luatex/generic/evangelion-jfm/jfm-eva.lua29
-rw-r--r--support/TeX4ht/source/ChangeLog6
-rw-r--r--support/TeX4ht/source/tex4ht-4ht.tex9
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl6
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb107
-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.xzbin2451296 -> 2451400 bytes
-rw-r--r--timestamp2
80 files changed, 4825 insertions, 1401 deletions
diff --git a/FILES.byname b/FILES.byname
index f7533f8aef..28486485ba 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2056,12 +2056,12 @@
2023/04/13 | 1675 | biblio/citation-style-language/README.md
2023/04/13 | 11957 | biblio/citation-style-language/vancouver.csl
2023/04/13 | 4516625 | biblio/citation-style-language.zip
-2023/05/18 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/05/19 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/05/18 | 2785269 | biblio/ctan-bibdata/ctan.bib
-2023/05/18 | 3675504 | biblio/ctan-bibdata/ctan.pdf
+2023/05/19 | 2785269 | biblio/ctan-bibdata/ctan.bib
+2023/05/19 | 3675920 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/05/18 | 4074356 | biblio/ctan-bibdata.zip
+2023/05/19 | 4074734 | 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
@@ -2218,7 +2218,7 @@
1989/12/11 | 6196 | biblio/tib/tib.man
1989/03/29 | 23265 | biblio/tib/vitaMake
2005/12/15 | 366385 | biblio/tib.zip
-2023/05/09 | 18616 | CTAN.sites
+2023/05/19 | 18462 | CTAN.sites
1990/10/03 | 5032 | dviware/beebe/00readme.txt
1990/10/03 | 479 | dviware/beebe/doc/00dir.cmd
1990/10/03 | 1209 | dviware/beebe/doc/00dir.lst
@@ -5417,7 +5417,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/05/18 | 108879 | FILES.last07days
+2023/05/19 | 98818 | 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
@@ -135425,47 +135425,47 @@
2008/10/27 | 1415 | fonts/shuffle/shuffle.mf
2008/10/27 | 295904 | fonts/shuffle/shuffle.pdf
2008/10/27 | 288258 | fonts/shuffle.zip
-2023/05/12 | 130897 | fonts/simpleicons/doc/bindings.tex
-2023/05/12 | 2017821 | fonts/simpleicons/doc/simpleicons.pdf
-2023/05/12 | 1844 | fonts/simpleicons/doc/simpleicons.tex
-2023/05/12 | 2703 | fonts/simpleicons/enc/simpleiconsEight.enc
-2023/05/12 | 2467 | fonts/simpleicons/enc/simpleiconsFive.enc
-2023/05/12 | 2748 | fonts/simpleicons/enc/simpleiconsFour.enc
-2023/05/12 | 2541 | fonts/simpleicons/enc/simpleiconsNine.enc
-2023/05/12 | 2840 | fonts/simpleicons/enc/simpleiconsOne.enc
-2023/05/12 | 2402 | fonts/simpleicons/enc/simpleiconsOneZero.enc
-2023/05/12 | 2605 | fonts/simpleicons/enc/simpleiconsSeven.enc
-2023/05/12 | 2645 | fonts/simpleicons/enc/simpleiconsSix.enc
-2023/05/12 | 2453 | fonts/simpleicons/enc/simpleiconsThree.enc
-2023/05/12 | 2669 | fonts/simpleicons/enc/simpleiconsTwo.enc
-2023/05/12 | 1119 | fonts/simpleicons/map/simpleicons.map
-2023/05/12 | 1915972 | fonts/simpleicons/opentype/SimpleIcons.otf
-2023/05/12 | 665 | fonts/simpleicons/README.md
-2023/05/12 | 220812 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
-2023/05/12 | 216539 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
-2023/05/12 | 1559 | fonts/simpleicons/tex/simpleicons.sty
-2023/05/12 | 264 | fonts/simpleicons/tex/usimpleiconsEight.fd
-2023/05/12 | 259 | fonts/simpleicons/tex/usimpleiconsFive.fd
-2023/05/12 | 259 | fonts/simpleicons/tex/usimpleiconsFour.fd
-2023/05/12 | 259 | fonts/simpleicons/tex/usimpleiconsNine.fd
-2023/05/12 | 254 | fonts/simpleicons/tex/usimpleiconsOne.fd
-2023/05/12 | 274 | fonts/simpleicons/tex/usimpleiconsOneZero.fd
-2023/05/12 | 264 | fonts/simpleicons/tex/usimpleiconsSeven.fd
-2023/05/12 | 254 | fonts/simpleicons/tex/usimpleiconsSix.fd
-2023/05/12 | 264 | fonts/simpleicons/tex/usimpleiconsThree.fd
-2023/05/12 | 254 | fonts/simpleicons/tex/usimpleiconsTwo.fd
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsEight.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFive.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFour.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsNine.tfm
-2023/05/12 | 1228 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOne.tfm
-2023/05/12 | 820 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
-2023/05/12 | 1236 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSeven.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSix.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsThree.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsTwo.tfm
-2023/05/12 | 1785039 | fonts/simpleicons/type1/SimpleIcons.pfb
-2023/05/12 | 5040405 | fonts/simpleicons.zip
+2023/05/19 | 130944 | fonts/simpleicons/doc/bindings.tex
+2023/05/19 | 2018257 | fonts/simpleicons/doc/simpleicons.pdf
+2023/05/19 | 1844 | fonts/simpleicons/doc/simpleicons.tex
+2023/05/19 | 2703 | fonts/simpleicons/enc/simpleiconsEight.enc
+2023/05/19 | 2467 | fonts/simpleicons/enc/simpleiconsFive.enc
+2023/05/19 | 2748 | fonts/simpleicons/enc/simpleiconsFour.enc
+2023/05/19 | 2541 | fonts/simpleicons/enc/simpleiconsNine.enc
+2023/05/19 | 2840 | fonts/simpleicons/enc/simpleiconsOne.enc
+2023/05/19 | 2400 | fonts/simpleicons/enc/simpleiconsOneZero.enc
+2023/05/19 | 2605 | fonts/simpleicons/enc/simpleiconsSeven.enc
+2023/05/19 | 2645 | fonts/simpleicons/enc/simpleiconsSix.enc
+2023/05/19 | 2453 | fonts/simpleicons/enc/simpleiconsThree.enc
+2023/05/19 | 2669 | fonts/simpleicons/enc/simpleiconsTwo.enc
+2023/05/19 | 1119 | fonts/simpleicons/map/simpleicons.map
+2023/05/19 | 1916220 | fonts/simpleicons/opentype/SimpleIcons.otf
+2023/05/19 | 665 | fonts/simpleicons/README.md
+2023/05/19 | 220902 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
+2023/05/19 | 216624 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
+2023/05/19 | 1559 | fonts/simpleicons/tex/simpleicons.sty
+2023/05/19 | 264 | fonts/simpleicons/tex/usimpleiconsEight.fd
+2023/05/19 | 259 | fonts/simpleicons/tex/usimpleiconsFive.fd
+2023/05/19 | 259 | fonts/simpleicons/tex/usimpleiconsFour.fd
+2023/05/19 | 259 | fonts/simpleicons/tex/usimpleiconsNine.fd
+2023/05/19 | 254 | fonts/simpleicons/tex/usimpleiconsOne.fd
+2023/05/19 | 274 | fonts/simpleicons/tex/usimpleiconsOneZero.fd
+2023/05/19 | 264 | fonts/simpleicons/tex/usimpleiconsSeven.fd
+2023/05/19 | 254 | fonts/simpleicons/tex/usimpleiconsSix.fd
+2023/05/19 | 264 | fonts/simpleicons/tex/usimpleiconsThree.fd
+2023/05/19 | 254 | fonts/simpleicons/tex/usimpleiconsTwo.fd
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsEight.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFive.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFour.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsNine.tfm
+2023/05/19 | 1228 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOne.tfm
+2023/05/19 | 824 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
+2023/05/19 | 1236 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSeven.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSix.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsThree.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsTwo.tfm
+2023/05/19 | 1785273 | fonts/simpleicons/type1/SimpleIcons.pfb
+2023/05/19 | 5041250 | fonts/simpleicons.zip
2002/02/27 | 3750 | fonts/skull/skull.dtx
2002/02/27 | 156 | fonts/skull/skull.ins
2002/02/27 | 2973 | fonts/skull/skull.mf
@@ -217830,6 +217830,11 @@
2011/09/01 | 599 | macros/latex/contrib/coseoul/cosexamp.tex
2011/09/01 | 2431 | macros/latex/contrib/coseoul/README
2011/09/06 | 163357 | macros/latex/contrib/coseoul.zip
+2023/05/19 | 48872 | macros/latex/contrib/counterz/counterz.dtx
+2023/05/19 | 2659 | macros/latex/contrib/counterz/counterz.ins
+2023/05/19 | 300058 | macros/latex/contrib/counterz/counterz.pdf
+2023/05/19 | 715 | macros/latex/contrib/counterz/README
+2023/05/19 | 307295 | macros/latex/contrib/counterz.zip
2012/08/31 | 7031 | macros/latex/contrib/counttexruns/counttexruns.dtx
2012/08/31 | 694 | macros/latex/contrib/counttexruns/counttexruns.ins
2012/08/31 | 231467 | macros/latex/contrib/counttexruns/counttexruns.pdf
@@ -230009,22 +230014,22 @@
2020/11/24 | 3537 | macros/latex/contrib/ms/multitoc.ins
2007/04/15 | 110362 | macros/latex/contrib/ms/multitoc.pdf
2021/01/17 | 401 | macros/latex/contrib/ms/README.md
-2022/12/15 | 40794 | macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
-2022/12/15 | 41840 | macros/latex/contrib/msu-thesis/msu-thesis.cls
-2022/12/15 | 107834 | macros/latex/contrib/msu-thesis/msu-thesis.pdf
-2022/12/15 | 2933 | macros/latex/contrib/msu-thesis/README.md
-2022/12/15 | 277 | macros/latex/contrib/msu-thesis/samples/chap1bib.tex
-2022/12/15 | 393 | macros/latex/contrib/msu-thesis/samples/chap2bib.tex
-2022/12/15 | 319 | macros/latex/contrib/msu-thesis/samples/chap3bib.tex
-2022/12/15 | 327 | macros/latex/contrib/msu-thesis/samples/chap4bib.tex
-2022/12/15 | 139638 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
-2022/12/15 | 1234 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
-2022/12/15 | 16293 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf
-2022/12/15 | 7019 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
-2022/12/15 | 1088 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.bib
-2022/12/15 | 214988 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
-2022/12/15 | 9929 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
-2023/01/04 | 503484 | macros/latex/contrib/msu-thesis.zip
+2023/05/19 | 41763 | macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
+2023/05/19 | 42227 | macros/latex/contrib/msu-thesis/msu-thesis.cls
+2023/05/19 | 109178 | macros/latex/contrib/msu-thesis/msu-thesis.pdf
+2023/05/19 | 2935 | macros/latex/contrib/msu-thesis/README.md
+2023/05/19 | 277 | macros/latex/contrib/msu-thesis/samples/chap1bib.tex
+2023/05/19 | 393 | macros/latex/contrib/msu-thesis/samples/chap2bib.tex
+2023/05/19 | 319 | macros/latex/contrib/msu-thesis/samples/chap3bib.tex
+2023/05/19 | 327 | macros/latex/contrib/msu-thesis/samples/chap4bib.tex
+2023/05/19 | 138559 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
+2023/05/19 | 1276 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
+2023/05/19 | 16293 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf
+2023/05/19 | 6878 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
+2023/05/19 | 1088 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.bib
+2023/05/19 | 214045 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
+2023/05/19 | 10128 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
+2023/05/19 | 502826 | macros/latex/contrib/msu-thesis.zip
2021/01/19 | 594454 | macros/latex/contrib/ms.zip
1999/07/29 | 5665 | macros/latex/contrib/mtgreek/mtgreek.dtx
1999/07/29 | 752 | macros/latex/contrib/mtgreek/mtgreek.ins
@@ -233309,120 +233314,121 @@
2022/05/05 | 80898 | macros/latex/contrib/prociagssymp/TestprocIAGssymp.pdf
2022/05/05 | 6335 | macros/latex/contrib/prociagssymp/TestprocIAGssymp.tex
2022/05/06 | 86110 | macros/latex/contrib/prociagssymp.zip
-2023/05/13 | 9127255 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
-2023/05/13 | 2342255 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
+2023/05/19 | 9148760 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2023/05/19 | 2343691 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
2023/05/13 | 2728 | macros/latex/contrib/profcollege/latex/dobblePfC.lua
-2023/05/13 | 10951 | macros/latex/contrib/profcollege/latex/PfCAutonomie.tex
-2023/05/13 | 2939 | macros/latex/contrib/profcollege/latex/PfCBarreNiveaux.tex
-2023/05/13 | 3431 | macros/latex/contrib/profcollege/latex/PfCBarresCalculs.tex
-2023/05/13 | 8271 | macros/latex/contrib/profcollege/latex/PfCBillard.tex
-2023/05/13 | 2072 | macros/latex/contrib/profcollege/latex/PfCBonSortie.tex
-2023/05/13 | 4034 | macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
-2023/05/13 | 14927 | macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
-2023/05/13 | 6148 | macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
-2023/05/13 | 7230 | macros/latex/contrib/profcollege/latex/PfCCalisson.tex
-2023/05/13 | 14262 | macros/latex/contrib/profcollege/latex/PfCCAN.tex
-2023/05/13 | 22506 | macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
-2023/05/13 | 1528 | macros/latex/contrib/profcollege/latex/PfCCartesMentales.tex
-2023/05/13 | 9699 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex
-2023/05/13 | 7088 | macros/latex/contrib/profcollege/latex/PfCColorilude.tex
-2023/05/13 | 11250 | macros/latex/contrib/profcollege/latex/PfCCompteBon.tex
-2023/05/13 | 9898 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex
-2023/05/13 | 3618 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex
-2023/05/13 | 22985 | macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
-2023/05/13 | 9367 | macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
-2023/05/13 | 14131 | macros/latex/contrib/profcollege/latex/PfCDessinerRatio.tex
-2023/05/13 | 7962 | macros/latex/contrib/profcollege/latex/PfCDessinGradue.tex
-2023/05/13 | 4664 | macros/latex/contrib/profcollege/latex/PfCDiagrammeRadar.tex
-2023/05/13 | 58462 | macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
-2023/05/13 | 831 | macros/latex/contrib/profcollege/latex/PfCDobble.tex
-2023/05/13 | 4117 | macros/latex/contrib/profcollege/latex/PfCDomino.tex
-2023/05/13 | 9413 | macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
-2023/05/13 | 2473 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex
-2023/05/13 | 12027 | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
-2023/05/13 | 2019 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
-2023/05/13 | 10633 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex
-2023/05/13 | 3765 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex
+2023/05/19 | 10951 | macros/latex/contrib/profcollege/latex/PfCAutonomie.tex
+2023/05/19 | 2939 | macros/latex/contrib/profcollege/latex/PfCBarreNiveaux.tex
+2023/05/19 | 3431 | macros/latex/contrib/profcollege/latex/PfCBarresCalculs.tex
+2023/05/19 | 8271 | macros/latex/contrib/profcollege/latex/PfCBillard.tex
+2023/05/19 | 2072 | macros/latex/contrib/profcollege/latex/PfCBonSortie.tex
+2023/05/19 | 4034 | macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
+2023/05/19 | 14927 | macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
+2023/05/19 | 6148 | macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
+2023/05/19 | 7230 | macros/latex/contrib/profcollege/latex/PfCCalisson.tex
+2023/05/19 | 14262 | macros/latex/contrib/profcollege/latex/PfCCAN.tex
+2023/05/19 | 24945 | macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
+2023/05/19 | 1528 | macros/latex/contrib/profcollege/latex/PfCCartesMentales.tex
+2023/05/19 | 9699 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+2023/05/19 | 7088 | macros/latex/contrib/profcollege/latex/PfCColorilude.tex
+2023/05/19 | 11250 | macros/latex/contrib/profcollege/latex/PfCCompteBon.tex
+2023/05/19 | 9898 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex
+2023/05/19 | 3618 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex
+2023/05/19 | 22985 | macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
+2023/05/19 | 10479 | macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
+2023/05/19 | 14131 | macros/latex/contrib/profcollege/latex/PfCDessinerRatio.tex
+2023/05/19 | 7962 | macros/latex/contrib/profcollege/latex/PfCDessinGradue.tex
+2023/05/19 | 4664 | macros/latex/contrib/profcollege/latex/PfCDiagrammeRadar.tex
+2023/05/19 | 58462 | macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
+2023/05/19 | 831 | macros/latex/contrib/profcollege/latex/PfCDobble.tex
+2023/05/19 | 4117 | macros/latex/contrib/profcollege/latex/PfCDomino.tex
+2023/05/19 | 9413 | macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
+2023/05/19 | 2473 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex
+2023/05/19 | 12027 | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
+2023/05/19 | 2019 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
+2023/05/19 | 10633 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex
+2023/05/19 | 3765 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex
2021/08/22 | 23478 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex
2021/08/22 | 19350 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex
2021/08/22 | 20438 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex
2021/08/22 | 27165 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex
2021/08/22 | 15309 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex
2021/08/22 | 22791 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex
-2023/05/13 | 3800 | macros/latex/contrib/profcollege/latex/PfCErathostene.tex
-2023/05/13 | 15072 | macros/latex/contrib/profcollege/latex/PfCFactorisation.tex
-2023/05/13 | 3280 | macros/latex/contrib/profcollege/latex/PfCFicheMemo.tex
-2023/05/13 | 15575 | macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
-2023/05/13 | 7244 | macros/latex/contrib/profcollege/latex/PfCFrise.tex
-2023/05/13 | 4692 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex
-2023/05/13 | 2155 | macros/latex/contrib/profcollege/latex/PfCGaram.tex
-2023/05/13 | 1596 | macros/latex/contrib/profcollege/latex/PfCGeometrie.tex
-2023/05/13 | 2285 | macros/latex/contrib/profcollege/latex/PfCGrades.tex
-2023/05/13 | 2211 | macros/latex/contrib/profcollege/latex/PfCHiddenMessage.tex
-2023/05/13 | 3751 | macros/latex/contrib/profcollege/latex/PfCJeuRangement.tex
-2023/05/13 | 2605 | macros/latex/contrib/profcollege/latex/PfCKakurasu.tex
-2023/05/13 | 2276 | macros/latex/contrib/profcollege/latex/PfCKakuro.tex
-2023/05/13 | 3835 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex
-2023/05/13 | 9427 | macros/latex/contrib/profcollege/latex/PfCLabyrintheJeu.tex
-2023/05/13 | 23088 | macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
-2023/05/13 | 2837 | macros/latex/contrib/profcollege/latex/PfCMentalo.tex
-2023/05/13 | 5365 | macros/latex/contrib/profcollege/latex/PfCMidpoint.tex
-2023/05/13 | 11943 | macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
-2023/05/13 | 4548 | macros/latex/contrib/profcollege/latex/PfCMosaique.tex
-2023/05/13 | 2815 | macros/latex/contrib/profcollege/latex/PfCMotsCodes.tex
-2023/05/13 | 2222 | macros/latex/contrib/profcollege/latex/PfCMotsCroises.tex
-2023/05/13 | 1862 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex
-2023/05/13 | 7051 | macros/latex/contrib/profcollege/latex/PfCNombreAstral.tex
-2023/05/13 | 14011 | macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
-2023/05/13 | 15645 | macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
-2023/05/13 | 4730 | macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
-2023/05/13 | 10168 | macros/latex/contrib/profcollege/latex/PfCPapiers.tex
-2023/05/13 | 25681 | macros/latex/contrib/profcollege/latex/PfCPavageAvecMotifImage.tex
-2023/05/13 | 32029 | macros/latex/contrib/profcollege/latex/PfCPavage.tex
-2023/05/13 | 4138 | macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
-2023/05/13 | 8113 | macros/latex/contrib/profcollege/latex/PfCPourcentage.tex
-2023/05/13 | 7733 | macros/latex/contrib/profcollege/latex/PfCProbabilites.tex
-2023/05/13 | 6260 | macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
-2023/05/13 | 15260 | macros/latex/contrib/profcollege/latex/PfCPropor.tex
-2023/05/13 | 11026 | macros/latex/contrib/profcollege/latex/PfCProprietesDroites.tex
-2023/05/13 | 7072 | macros/latex/contrib/profcollege/latex/PfCPuissanceQuatre.tex
-2023/05/13 | 7102 | macros/latex/contrib/profcollege/latex/PfCPuzzleSommePyramide.tex
-2023/05/13 | 9453 | macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
-2023/05/13 | 26690 | macros/latex/contrib/profcollege/latex/PfCPythagore.tex
-2023/05/13 | 25302 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex
-2023/05/13 | 2305 | macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
-2023/05/13 | 2617 | macros/latex/contrib/profcollege/latex/PfCQuiSuisJe.tex
-2023/05/13 | 2980 | macros/latex/contrib/profcollege/latex/PfCRangementNombres.tex
-2023/05/13 | 1777 | macros/latex/contrib/profcollege/latex/PfCRapido.tex
-2023/05/13 | 28129 | macros/latex/contrib/profcollege/latex/PfCRappelsFormules.tex
-2023/05/13 | 71256 | macros/latex/contrib/profcollege/latex/PfCReperage.tex
-2023/05/13 | 14930 | macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
-2023/05/13 | 5561 | macros/latex/contrib/profcollege/latex/PfCRepresenterEntier.tex
-2023/05/13 | 16038 | macros/latex/contrib/profcollege/latex/PfCRepresenterFraction.tex
-2023/05/13 | 5248 | macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
-2023/05/13 | 7797 | macros/latex/contrib/profcollege/latex/PfCReseauxSociaux.tex
-2023/05/13 | 16190 | macros/latex/contrib/profcollege/latex/PfCResoudreEquation.tex
-2023/05/13 | 3049 | macros/latex/contrib/profcollege/latex/PfCRLE.tex
-2023/05/13 | 16349 | macros/latex/contrib/profcollege/latex/PfCRondeInfernale.tex
-2023/05/13 | 10074 | macros/latex/contrib/profcollege/latex/PfCRose.tex
-2023/05/13 | 1488 | macros/latex/contrib/profcollege/latex/PfCScratch.tex
-2023/05/13 | 8711 | macros/latex/contrib/profcollege/latex/PfCShikaku.tex
-2023/05/13 | 7808 | macros/latex/contrib/profcollege/latex/PfCSimplifierFraction.tex
-2023/05/13 | 28303 | macros/latex/contrib/profcollege/latex/PfCSolides.tex
-2023/05/13 | 11740 | macros/latex/contrib/profcollege/latex/PfCSommeAngles.tex
-2023/05/13 | 2499 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex
-2023/05/13 | 60291 | macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
-2023/05/13 | 82533 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
-2023/05/13 | 2975 | macros/latex/contrib/profcollege/latex/PfCTablesOperations.tex
-2023/05/13 | 6030 | macros/latex/contrib/profcollege/latex/PfCTectonic.tex
-2023/05/13 | 56986 | macros/latex/contrib/profcollege/latex/PfCThales.tex
-2023/05/13 | 8307 | macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
-2023/05/13 | 24666 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
-2023/05/13 | 9951 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex
-2023/05/13 | 19900 | macros/latex/contrib/profcollege/latex/PfCTrio.tex
-2023/05/13 | 9685 | macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
-2023/05/13 | 8676 | macros/latex/contrib/profcollege/latex/PfCYohaku.tex
-2023/05/13 | 18223 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2023/05/19 | 3800 | macros/latex/contrib/profcollege/latex/PfCErathostene.tex
+2023/05/19 | 15072 | macros/latex/contrib/profcollege/latex/PfCFactorisation.tex
+2023/05/19 | 3280 | macros/latex/contrib/profcollege/latex/PfCFicheMemo.tex
+2023/05/19 | 15575 | macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
+2023/05/19 | 7244 | macros/latex/contrib/profcollege/latex/PfCFrise.tex
+2023/05/19 | 4692 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex
+2023/05/19 | 2155 | macros/latex/contrib/profcollege/latex/PfCGaram.tex
+2023/05/19 | 1596 | macros/latex/contrib/profcollege/latex/PfCGeometrie.tex
+2023/05/19 | 2285 | macros/latex/contrib/profcollege/latex/PfCGrades.tex
+2023/05/19 | 2211 | macros/latex/contrib/profcollege/latex/PfCHiddenMessage.tex
+2023/05/19 | 3751 | macros/latex/contrib/profcollege/latex/PfCJeuRangement.tex
+2023/05/19 | 2605 | macros/latex/contrib/profcollege/latex/PfCKakurasu.tex
+2023/05/19 | 2276 | macros/latex/contrib/profcollege/latex/PfCKakuro.tex
+2023/05/19 | 3835 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex
+2023/05/19 | 9427 | macros/latex/contrib/profcollege/latex/PfCLabyrintheJeu.tex
+2023/05/19 | 23088 | macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
+2023/05/19 | 2837 | macros/latex/contrib/profcollege/latex/PfCMentalo.tex
+2023/05/19 | 5365 | macros/latex/contrib/profcollege/latex/PfCMidpoint.tex
+2023/05/19 | 10548 | macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
+2023/05/19 | 4548 | macros/latex/contrib/profcollege/latex/PfCMosaique.tex
+2023/05/19 | 2815 | macros/latex/contrib/profcollege/latex/PfCMotsCodes.tex
+2023/05/19 | 2222 | macros/latex/contrib/profcollege/latex/PfCMotsCroises.tex
+2023/05/19 | 1862 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex
+2023/05/19 | 7051 | macros/latex/contrib/profcollege/latex/PfCNombreAstral.tex
+2023/05/19 | 14011 | macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
+2023/05/19 | 23924 | macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
+2023/05/19 | 4730 | macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
+2023/05/19 | 10168 | macros/latex/contrib/profcollege/latex/PfCPapiers.tex
+2023/05/19 | 5824 | macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
+2023/05/19 | 25681 | macros/latex/contrib/profcollege/latex/PfCPavageAvecMotifImage.tex
+2023/05/19 | 32029 | macros/latex/contrib/profcollege/latex/PfCPavage.tex
+2023/05/19 | 4138 | macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
+2023/05/19 | 8113 | macros/latex/contrib/profcollege/latex/PfCPourcentage.tex
+2023/05/19 | 7733 | macros/latex/contrib/profcollege/latex/PfCProbabilites.tex
+2023/05/19 | 6260 | macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
+2023/05/19 | 15260 | macros/latex/contrib/profcollege/latex/PfCPropor.tex
+2023/05/19 | 11026 | macros/latex/contrib/profcollege/latex/PfCProprietesDroites.tex
+2023/05/19 | 7072 | macros/latex/contrib/profcollege/latex/PfCPuissanceQuatre.tex
+2023/05/19 | 7102 | macros/latex/contrib/profcollege/latex/PfCPuzzleSommePyramide.tex
+2023/05/19 | 9453 | macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
+2023/05/19 | 26690 | macros/latex/contrib/profcollege/latex/PfCPythagore.tex
+2023/05/19 | 25302 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex
+2023/05/19 | 2305 | macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
+2023/05/19 | 2617 | macros/latex/contrib/profcollege/latex/PfCQuiSuisJe.tex
+2023/05/19 | 2980 | macros/latex/contrib/profcollege/latex/PfCRangementNombres.tex
+2023/05/19 | 1777 | macros/latex/contrib/profcollege/latex/PfCRapido.tex
+2023/05/19 | 28129 | macros/latex/contrib/profcollege/latex/PfCRappelsFormules.tex
+2023/05/19 | 71256 | macros/latex/contrib/profcollege/latex/PfCReperage.tex
+2023/05/19 | 15326 | macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
+2023/05/19 | 5561 | macros/latex/contrib/profcollege/latex/PfCRepresenterEntier.tex
+2023/05/19 | 16038 | macros/latex/contrib/profcollege/latex/PfCRepresenterFraction.tex
+2023/05/19 | 5248 | macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
+2023/05/19 | 7797 | macros/latex/contrib/profcollege/latex/PfCReseauxSociaux.tex
+2023/05/19 | 16190 | macros/latex/contrib/profcollege/latex/PfCResoudreEquation.tex
+2023/05/19 | 3049 | macros/latex/contrib/profcollege/latex/PfCRLE.tex
+2023/05/19 | 16349 | macros/latex/contrib/profcollege/latex/PfCRondeInfernale.tex
+2023/05/19 | 10074 | macros/latex/contrib/profcollege/latex/PfCRose.tex
+2023/05/19 | 1488 | macros/latex/contrib/profcollege/latex/PfCScratch.tex
+2023/05/19 | 8711 | macros/latex/contrib/profcollege/latex/PfCShikaku.tex
+2023/05/19 | 7808 | macros/latex/contrib/profcollege/latex/PfCSimplifierFraction.tex
+2023/05/19 | 28303 | macros/latex/contrib/profcollege/latex/PfCSolides.tex
+2023/05/19 | 11740 | macros/latex/contrib/profcollege/latex/PfCSommeAngles.tex
+2023/05/19 | 2499 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex
+2023/05/19 | 60291 | macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
+2023/05/19 | 82533 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
+2023/05/19 | 2975 | macros/latex/contrib/profcollege/latex/PfCTablesOperations.tex
+2023/05/19 | 6030 | macros/latex/contrib/profcollege/latex/PfCTectonic.tex
+2023/05/19 | 56986 | macros/latex/contrib/profcollege/latex/PfCThales.tex
+2023/05/19 | 8307 | macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
+2023/05/19 | 24666 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
+2023/05/19 | 9951 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex
+2023/05/19 | 19900 | macros/latex/contrib/profcollege/latex/PfCTrio.tex
+2023/05/19 | 9685 | macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
+2023/05/19 | 8676 | macros/latex/contrib/profcollege/latex/PfCYohaku.tex
+2023/05/19 | 18247 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
2021/11/06 | 8247 | macros/latex/contrib/profcollege/metapost/datastest/PfCafganistan.dat
2021/11/06 | 10915 | macros/latex/contrib/profcollege/metapost/datastest/PfCafriquesud1.dat
2021/11/06 | 218 | macros/latex/contrib/profcollege/metapost/datastest/PfCafriquesud2.dat
@@ -233644,7 +233650,7 @@
2022/05/26 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp
2022/11/02 | 1683 | macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp
2021/01/18 | 435 | macros/latex/contrib/profcollege/README
-2023/05/13 | 13788442 | macros/latex/contrib/profcollege.zip
+2023/05/19 | 13816673 | macros/latex/contrib/profcollege.zip
2022/04/26 | 130555 | macros/latex/contrib/proflabo/doc/ProfLabo-doc.pdf
2022/04/26 | 16528 | macros/latex/contrib/proflabo/doc/ProfLabo-doc.tex
2022/04/26 | 323 | macros/latex/contrib/proflabo/README.md
@@ -233668,33 +233674,33 @@
2023/01/02 | 9215 | macros/latex/contrib/proflycee/doc/graphics/pl-solve_b.png
2023/01/02 | 10175 | macros/latex/contrib/proflycee/doc/graphics/pl-solve_c.png
2023/01/02 | 10145 | macros/latex/contrib/proflycee/doc/graphics/pl-solve_d.png
-2023/05/09 | 945084 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
-2023/05/09 | 256428 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+2023/05/19 | 1025814 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+2023/05/19 | 276348 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
2023/04/15 | 61451 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
2023/04/15 | 6656 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex
2023/04/15 | 44184 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdf
2023/04/15 | 5409 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.tex
2022/11/06 | 712614 | macros/latex/contrib/proflycee/doc/ProfLycee-old-doc.pdf
2022/11/06 | 192682 | macros/latex/contrib/proflycee/doc/ProfLycee-old-doc.tex
-2023/05/09 | 529 | macros/latex/contrib/proflycee/doc/testscript.py
+2023/05/19 | 529 | macros/latex/contrib/proflycee/doc/testscript.py
2022/08/10 | 439 | macros/latex/contrib/proflycee/README.md
2022/11/06 | 112967 | macros/latex/contrib/proflycee/tex/ProfLycee-old.sty
-2023/05/09 | 6017 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
-2023/04/13 | 4195 | macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
-2023/05/09 | 22499 | macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
-2023/04/13 | 9518 | macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
-2023/05/02 | 4952 | macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
+2023/05/19 | 6214 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
+2023/05/18 | 4196 | macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
+2023/05/14 | 22505 | macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
+2023/05/18 | 17968 | macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
+2023/05/19 | 23734 | macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
2023/04/23 | 15637 | macros/latex/contrib/proflycee/tex/proflycee-tools-graphiques.tex
2023/04/19 | 15705 | macros/latex/contrib/proflycee/tex/proflycee-tools-listings.tex
2023/04/19 | 3142 | macros/latex/contrib/proflycee/tex/proflycee-tools-minted.tex
2023/04/19 | 6066 | macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
-2023/04/13 | 33384 | macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
+2023/05/17 | 33478 | macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
2023/04/19 | 6058 | macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex
2023/04/13 | 8967 | macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex
2023/04/13 | 6616 | macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
2023/04/13 | 6608 | macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex
2023/05/03 | 42723 | macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex
-2023/05/09 | 2018649 | macros/latex/contrib/proflycee.zip
+2023/05/19 | 2106959 | macros/latex/contrib/proflycee.zip
1996/02/05 | 1760 | macros/latex/contrib/progkeys/demo/demo.tex
1996/02/05 | 459 | macros/latex/contrib/progkeys/demo/prog1.tex
1996/02/05 | 347 | macros/latex/contrib/progkeys/demo/prog2.tex
@@ -242882,14 +242888,14 @@
2023/02/24 | 236904 | macros/latex/contrib/yathesis/source/yathesis.dtx
2023/02/24 | 52692 | macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx
2023/02/24 | 12820674 | macros/latex/contrib/yathesis.zip
-2022/10/02 | 425 | macros/latex/contrib/yb-book/DEPENDS.txt
-2022/10/02 | 1083 | macros/latex/contrib/yb-book/LICENSE.txt
-2022/10/02 | 1279 | macros/latex/contrib/yb-book/README.md
-2022/10/02 | 17873 | macros/latex/contrib/yb-book/yb-book.dtx
-2022/10/02 | 2645 | macros/latex/contrib/yb-book/yb-book.ins
-2022/10/02 | 5216 | macros/latex/contrib/yb-book/yb-book-logo.pdf
-2022/10/02 | 283494 | macros/latex/contrib/yb-book/yb-book.pdf
-2022/10/02 | 293533 | macros/latex/contrib/yb-book.zip
+2023/05/19 | 425 | macros/latex/contrib/yb-book/DEPENDS.txt
+2023/05/19 | 1083 | macros/latex/contrib/yb-book/LICENSE.txt
+2023/05/19 | 1279 | macros/latex/contrib/yb-book/README.md
+2023/05/19 | 17926 | macros/latex/contrib/yb-book/yb-book.dtx
+2023/05/19 | 2629 | macros/latex/contrib/yb-book/yb-book.ins
+2023/05/19 | 5216 | macros/latex/contrib/yb-book/yb-book-logo.pdf
+2023/05/19 | 283982 | macros/latex/contrib/yb-book/yb-book.pdf
+2023/05/19 | 294044 | macros/latex/contrib/yb-book.zip
2018/01/02 | 586 | macros/latex/contrib/ycbook/README.md
2018/01/02 | 20474 | macros/latex/contrib/ycbook/ycbook.cls
2018/01/02 | 126255 | macros/latex/contrib/ycbook/ycbook-doc.pdf
@@ -244083,18 +244089,18 @@
2013/04/08 | 1519 | macros/luatex/generic/enigma/README
2013/04/08 | 4300 | macros/luatex/generic/enigma/t-enigma.mkvi
2013/04/08 | 288194 | macros/luatex/generic/enigma.zip
-2023/04/26 | 239244 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-en.pdf
-2023/04/26 | 330720 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-jp.pdf
-2023/04/26 | 324356 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-sc.pdf
-2023/04/26 | 46859 | macros/luatex/generic/evangelion-jfm/Evangelion-JFM.dtx
-2023/02/19 | 10077 | macros/luatex/generic/evangelion-jfm/figure/fig-jp.pdf
-2023/02/19 | 10535 | macros/luatex/generic/evangelion-jfm/figure/fig-tc.pdf
-2023/02/19 | 449 | macros/luatex/generic/evangelion-jfm/figure/fig.tex
-2023/04/26 | 19322 | macros/luatex/generic/evangelion-jfm/jfm-eva.lua
-2023/02/19 | 1063 | macros/luatex/generic/evangelion-jfm/LICENSE
-2023/04/24 | 610 | macros/luatex/generic/evangelion-jfm/make.sh
-2023/04/26 | 3860 | macros/luatex/generic/evangelion-jfm/README.md
-2023/04/26 | 921312 | macros/luatex/generic/evangelion-jfm.zip
+2023/05/19 | 164073 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-en.pdf
+2023/05/19 | 278982 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-jp.pdf
+2023/05/19 | 265483 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-sc.pdf
+2023/05/19 | 47606 | macros/luatex/generic/evangelion-jfm/Evangelion-JFM.dtx
+2023/05/19 | 10077 | macros/luatex/generic/evangelion-jfm/figure/fig-jp.pdf
+2023/05/19 | 10535 | macros/luatex/generic/evangelion-jfm/figure/fig-tc.pdf
+2023/05/19 | 449 | macros/luatex/generic/evangelion-jfm/figure/fig.tex
+2023/05/19 | 19775 | macros/luatex/generic/evangelion-jfm/jfm-eva.lua
+2023/05/19 | 1063 | macros/luatex/generic/evangelion-jfm/LICENSE
+2023/05/19 | 610 | macros/luatex/generic/evangelion-jfm/make.sh
+2023/05/19 | 4250 | macros/luatex/generic/evangelion-jfm/README.md
+2023/05/19 | 742288 | macros/luatex/generic/evangelion-jfm.zip
2011/12/03 | 8984 | macros/luatex/generic/interpreter/i-doc.lua
2012/06/10 | 110003 | macros/luatex/generic/interpreter/interpreter-doc.pdf
2012/06/10 | 2828 | macros/luatex/generic/interpreter/interpreter-doc.tex
@@ -285141,7 +285147,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/05/14 | 224125 | support/TeX4ht/source/ChangeLog
+2023/05/18 | 224435 | 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
@@ -285153,7 +285159,7 @@
2021/05/03 | 1121 | support/TeX4ht/source/README
2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua
2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex
-2023/05/14 | 1161489 | support/TeX4ht/source/tex4ht-4ht.tex
+2023/05/18 | 1161600 | support/TeX4ht/source/tex4ht-4ht.tex
2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex
2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex
2022/06/05 | 21307 | support/TeX4ht/source/tex4ht-cond4ht.tex
@@ -290286,13 +290292,13 @@
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.amd64-freebsd.r65257.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.amd64-netbsd.r65257.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.armhf-linux.r65257.tar.xz
-2023/05/17 | 355032 | systems/texlive/tlnet/archive/bibcop.doc.r67131.tar.xz
+2023/05/19 | 358896 | systems/texlive/tlnet/archive/bibcop.doc.r67145.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.i386-freebsd.r65257.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.i386-linux.r65257.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.i386-netbsd.r65257.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.i386-solaris.r65257.tar.xz
-2023/05/17 | 6824 | systems/texlive/tlnet/archive/bibcop.r67131.tar.xz
-2023/05/17 | 5628 | systems/texlive/tlnet/archive/bibcop.source.r67131.tar.xz
+2023/05/19 | 7228 | systems/texlive/tlnet/archive/bibcop.r67145.tar.xz
+2023/05/19 | 6036 | systems/texlive/tlnet/archive/bibcop.source.r67145.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.universal-darwin.r65257.tar.xz
2023/02/20 | 2304 | systems/texlive/tlnet/archive/bibcop.windows.r65891.tar.xz
2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.x86_64-cygwin.r65257.tar.xz
@@ -290444,8 +290450,8 @@
2022/09/17 | 40200 | systems/texlive/tlnet/archive/biblatex-philosophy.source.r64414.tar.xz
2020/06/24 | 456536 | systems/texlive/tlnet/archive/biblatex-phys.doc.r55643.tar.xz
2020/06/24 | 3420 | systems/texlive/tlnet/archive/biblatex-phys.r55643.tar.xz
-2023/03/22 | 423136 | systems/texlive/tlnet/archive/biblatex-publist.doc.r66613.tar.xz
-2023/03/22 | 12244 | systems/texlive/tlnet/archive/biblatex-publist.r66613.tar.xz
+2023/05/19 | 425544 | systems/texlive/tlnet/archive/biblatex-publist.doc.r67148.tar.xz
+2023/05/19 | 12332 | systems/texlive/tlnet/archive/biblatex-publist.r67148.tar.xz
2023/03/07 | 254400 | systems/texlive/tlnet/archive/biblatex.r66403.tar.xz
2022/01/10 | 27192 | systems/texlive/tlnet/archive/biblatex-readbbl.doc.r61549.tar.xz
2022/01/10 | 1444 | systems/texlive/tlnet/archive/biblatex-readbbl.r61549.tar.xz
@@ -292840,8 +292846,8 @@
2019/02/28 | 3268 | systems/texlive/tlnet/archive/dynamicnumber.source.r38726.tar.xz
2019/02/28 | 377732 | systems/texlive/tlnet/archive/dynblocks.doc.r35193.tar.xz
2019/02/28 | 2084 | systems/texlive/tlnet/archive/dynblocks.r35193.tar.xz
-2021/04/06 | 851528 | systems/texlive/tlnet/archive/dynkin-diagrams.doc.r58758.tar.xz
-2021/04/06 | 20284 | systems/texlive/tlnet/archive/dynkin-diagrams.r58758.tar.xz
+2023/05/19 | 889072 | systems/texlive/tlnet/archive/dynkin-diagrams.doc.r67146.tar.xz
+2023/05/19 | 20636 | systems/texlive/tlnet/archive/dynkin-diagrams.r67146.tar.xz
2023/05/05 | 127676 | systems/texlive/tlnet/archive/dyntree.doc.r67016.tar.xz
2023/05/05 | 3092 | systems/texlive/tlnet/archive/dyntree.r67016.tar.xz
2023/05/05 | 8840 | systems/texlive/tlnet/archive/dyntree.source.r67016.tar.xz
@@ -294717,8 +294723,8 @@
2021/06/02 | 1468 | systems/texlive/tlnet/archive/hvarabic.r59423.tar.xz
2023/01/30 | 1133992 | systems/texlive/tlnet/archive/hvextern.doc.r65670.tar.xz
2023/01/30 | 7980 | systems/texlive/tlnet/archive/hvextern.r65670.tar.xz
-2023/01/30 | 10482984 | systems/texlive/tlnet/archive/hvfloat.doc.r65671.tar.xz
-2023/01/30 | 13328 | systems/texlive/tlnet/archive/hvfloat.r65671.tar.xz
+2023/05/19 | 10222436 | systems/texlive/tlnet/archive/hvfloat.doc.r67149.tar.xz
+2023/05/19 | 13380 | systems/texlive/tlnet/archive/hvfloat.r67149.tar.xz
2019/02/28 | 76336 | systems/texlive/tlnet/archive/hvindex.doc.r46051.tar.xz
2019/02/28 | 1672 | systems/texlive/tlnet/archive/hvindex.r46051.tar.xz
2022/05/09 | 87192 | systems/texlive/tlnet/archive/hvlogos.doc.r63261.tar.xz
@@ -295979,8 +295985,8 @@
2019/02/28 | 138308 | systems/texlive/tlnet/archive/linegoal.doc.r21523.tar.xz
2019/02/28 | 1988 | systems/texlive/tlnet/archive/linegoal.r21523.tar.xz
2019/02/28 | 10356 | systems/texlive/tlnet/archive/linegoal.source.r21523.tar.xz
-2023/01/20 | 835372 | systems/texlive/tlnet/archive/lineno.doc.r65586.tar.xz
-2023/01/20 | 62148 | systems/texlive/tlnet/archive/lineno.r65586.tar.xz
+2023/05/19 | 843324 | systems/texlive/tlnet/archive/lineno.doc.r67150.tar.xz
+2023/05/19 | 62384 | systems/texlive/tlnet/archive/lineno.r67150.tar.xz
2019/02/28 | 306420 | systems/texlive/tlnet/archive/ling-macros.doc.r42268.tar.xz
2019/02/28 | 5428 | systems/texlive/tlnet/archive/ling-macros.r42268.tar.xz
2019/02/28 | 274676 | systems/texlive/tlnet/archive/linguex.doc.r30815.tar.xz
@@ -298983,8 +298989,8 @@
2019/02/28 | 6296 | systems/texlive/tlnet/archive/pst-jtree.r20946.tar.xz
2019/02/28 | 53744 | systems/texlive/tlnet/archive/pst-knot.doc.r16033.tar.xz
2019/02/28 | 14940 | systems/texlive/tlnet/archive/pst-knot.r16033.tar.xz
-2023/05/13 | 2055436 | systems/texlive/tlnet/archive/pst-labo.doc.r67080.tar.xz
-2023/05/13 | 10116 | systems/texlive/tlnet/archive/pst-labo.r67080.tar.xz
+2023/05/19 | 2103560 | systems/texlive/tlnet/archive/pst-labo.doc.r67147.tar.xz
+2023/05/19 | 11184 | systems/texlive/tlnet/archive/pst-labo.r67147.tar.xz
2019/02/28 | 82676 | systems/texlive/tlnet/archive/pst-layout.doc.r29803.tar.xz
2019/02/28 | 3780 | systems/texlive/tlnet/archive/pst-layout.r29803.tar.xz
2019/02/28 | 453808 | systems/texlive/tlnet/archive/pst-lens.doc.r15878.tar.xz
@@ -300649,13 +300655,13 @@
2022/02/27 | 108804 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r62206.tar.xz
2023/02/20 | 87356 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r65923.tar.xz
2022/04/21 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r63092.tar.xz
-2023/05/15 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r67110.tar.xz
+2023/05/19 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r67151.tar.xz
2022/02/27 | 93760 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r62206.tar.xz
2022/02/27 | 91280 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r62210.tar.xz
2023/02/20 | 76164 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r65923.tar.xz
2022/02/27 | 83964 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r62206.tar.xz
-2023/05/15 | 1086280 | systems/texlive/tlnet/archive/tex4ht.r67110.tar.xz
-2023/05/15 | 1449944 | systems/texlive/tlnet/archive/tex4ht.source.r67110.tar.xz
+2023/05/19 | 1086376 | systems/texlive/tlnet/archive/tex4ht.r67151.tar.xz
+2023/05/19 | 1452252 | systems/texlive/tlnet/archive/tex4ht.source.r67151.tar.xz
2023/02/20 | 184636 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r65895.tar.xz
2023/02/20 | 62196 | systems/texlive/tlnet/archive/tex4ht.windows.r65891.tar.xz
2023/03/11 | 58016 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r66544.tar.xz
@@ -300916,7 +300922,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/05/18 | 426836 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67138.tar.xz
+2023/05/19 | 426836 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67144.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
@@ -300938,7 +300944,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/05/18 | 114076 | systems/texlive/tlnet/archive/texlive-scripts.r67138.tar.xz
+2023/05/19 | 114048 | systems/texlive/tlnet/archive/texlive-scripts.r67144.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
@@ -302800,16 +302806,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/03/12 | 125532 | systems/texlive/tlnet/install-tl
-2023/05/18 | 5735506 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/05/18 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/05/18 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/05/19 | 5735638 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/05/19 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/05/19 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/05/18 | 21036582 | systems/texlive/tlnet/install-tl-windows.exe
-2023/05/18 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/05/18 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/05/18 | 26025722 | systems/texlive/tlnet/install-tl.zip
-2023/05/18 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/05/18 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/05/19 | 21037947 | systems/texlive/tlnet/install-tl-windows.exe
+2023/05/19 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/05/19 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/05/19 | 26025709 | systems/texlive/tlnet/install-tl.zip
+2023/05/19 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/05/19 | 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
@@ -302819,7 +302825,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/01/17 | 49938 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/05/17 | 7436 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/05/18 | 7404 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/01/11 | 216583 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -302861,12 +302867,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/05/18 | 18106791 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/05/18 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/05/19 | 18106839 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/05/19 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/05/18 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/05/18 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/05/18 | 2450588 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/05/19 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/05/19 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/05/19 | 2451296 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/02/26 | 42350 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -313374,7 +313380,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/05/19 | 186 | timestamp
+2023/05/20 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 4cadf1368d..56cfe7db5f 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 39cc9791be..46333f9c34 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,237 @@
+2023/05/19 | 9951 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex
+2023/05/19 | 9898 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex
+2023/05/19 | 9699 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+2023/05/19 | 9685 | macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
+2023/05/19 | 9453 | macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
+2023/05/19 | 9427 | macros/latex/contrib/profcollege/latex/PfCLabyrintheJeu.tex
+2023/05/19 | 9413 | macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
+2023/05/19 | 9148760 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+2023/05/19 | 889072 | systems/texlive/tlnet/archive/dynkin-diagrams.doc.r67146.tar.xz
+2023/05/19 | 8711 | macros/latex/contrib/profcollege/latex/PfCShikaku.tex
+2023/05/19 | 8676 | macros/latex/contrib/profcollege/latex/PfCYohaku.tex
+2023/05/19 | 843324 | systems/texlive/tlnet/archive/lineno.doc.r67150.tar.xz
+2023/05/19 | 831 | macros/latex/contrib/profcollege/latex/PfCDobble.tex
+2023/05/19 | 8307 | macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
+2023/05/19 | 8271 | macros/latex/contrib/profcollege/latex/PfCBillard.tex
+2023/05/19 | 82533 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
+2023/05/19 | 824 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
+2023/05/19 | 8113 | macros/latex/contrib/profcollege/latex/PfCPourcentage.tex
+2023/05/19 | 7962 | macros/latex/contrib/profcollege/latex/PfCDessinGradue.tex
+2023/05/19 | 7808 | macros/latex/contrib/profcollege/latex/PfCSimplifierFraction.tex
+2023/05/19 | 7797 | macros/latex/contrib/profcollege/latex/PfCReseauxSociaux.tex
+2023/05/19 | 7733 | macros/latex/contrib/profcollege/latex/PfCProbabilites.tex
+2023/05/19 | 742288 | macros/luatex/generic/evangelion-jfm.zip
+2023/05/19 | 7244 | macros/latex/contrib/profcollege/latex/PfCFrise.tex
+2023/05/19 | 7230 | macros/latex/contrib/profcollege/latex/PfCCalisson.tex
+2023/05/19 | 7228 | systems/texlive/tlnet/archive/bibcop.r67145.tar.xz
+2023/05/19 | 715 | macros/latex/contrib/counterz/README
+2023/05/19 | 71256 | macros/latex/contrib/profcollege/latex/PfCReperage.tex
+2023/05/19 | 7102 | macros/latex/contrib/profcollege/latex/PfCPuzzleSommePyramide.tex
+2023/05/19 | 7088 | macros/latex/contrib/profcollege/latex/PfCColorilude.tex
+2023/05/19 | 7072 | macros/latex/contrib/profcollege/latex/PfCPuissanceQuatre.tex
+2023/05/19 | 7051 | macros/latex/contrib/profcollege/latex/PfCNombreAstral.tex
+2023/05/19 | 6878 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
+2023/05/19 | 665 | fonts/simpleicons/README.md
+2023/05/19 | 6260 | macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
+2023/05/19 | 62384 | systems/texlive/tlnet/archive/lineno.r67150.tar.xz
+2023/05/19 | 6214 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
+2023/05/19 | 6148 | macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
+2023/05/19 | 610 | macros/luatex/generic/evangelion-jfm/make.sh
+2023/05/19 | 6036 | systems/texlive/tlnet/archive/bibcop.source.r67145.tar.xz
+2023/05/19 | 6030 | macros/latex/contrib/profcollege/latex/PfCTectonic.tex
+2023/05/19 | 60291 | macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
+2023/05/19 | 58462 | macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
+2023/05/19 | 5824 | macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
+2023/05/19 | 5735638 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/05/19 | 56986 | macros/latex/contrib/profcollege/latex/PfCThales.tex
+2023/05/19 | 5561 | macros/latex/contrib/profcollege/latex/PfCRepresenterEntier.tex
+2023/05/19 | 5365 | macros/latex/contrib/profcollege/latex/PfCMidpoint.tex
+2023/05/19 | 529 | macros/latex/contrib/proflycee/doc/testscript.py
+2023/05/19 | 5248 | macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
+2023/05/19 | 5216 | macros/latex/contrib/yb-book/yb-book-logo.pdf
+2023/05/19 | 5041250 | fonts/simpleicons.zip
+2023/05/19 | 502826 | macros/latex/contrib/msu-thesis.zip
+2023/05/19 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/05/19 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/05/19 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/05/19 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/05/19 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/05/19 | 48872 | macros/latex/contrib/counterz/counterz.dtx
+2023/05/19 | 47606 | macros/luatex/generic/evangelion-jfm/Evangelion-JFM.dtx
+2023/05/19 | 4730 | macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
+2023/05/19 | 4692 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex
+2023/05/19 | 4664 | macros/latex/contrib/profcollege/latex/PfCDiagrammeRadar.tex
+2023/05/19 | 4548 | macros/latex/contrib/profcollege/latex/PfCMosaique.tex
+2023/05/19 | 449 | macros/luatex/generic/evangelion-jfm/figure/fig.tex
+2023/05/19 | 426836 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67144.tar.xz
+2023/05/19 | 425 | macros/latex/contrib/yb-book/DEPENDS.txt
+2023/05/19 | 425544 | systems/texlive/tlnet/archive/biblatex-publist.doc.r67148.tar.xz
+2023/05/19 | 4250 | macros/luatex/generic/evangelion-jfm/README.md
+2023/05/19 | 42227 | macros/latex/contrib/msu-thesis/msu-thesis.cls
+2023/05/19 | 41763 | macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
+2023/05/19 | 4138 | macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
+2023/05/19 | 4117 | macros/latex/contrib/profcollege/latex/PfCDomino.tex
+2023/05/19 | 4074734 | biblio/ctan-bibdata.zip
+2023/05/19 | 4034 | macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
+2023/05/19 | 393 | macros/latex/contrib/msu-thesis/samples/chap2bib.tex
+2023/05/19 | 3835 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex
+2023/05/19 | 3800 | macros/latex/contrib/profcollege/latex/PfCErathostene.tex
+2023/05/19 | 3765 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex
+2023/05/19 | 3751 | macros/latex/contrib/profcollege/latex/PfCJeuRangement.tex
+2023/05/19 | 3675920 | biblio/ctan-bibdata/ctan.pdf
+2023/05/19 | 3618 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex
+2023/05/19 | 358896 | systems/texlive/tlnet/archive/bibcop.doc.r67145.tar.xz
+2023/05/19 | 3431 | macros/latex/contrib/profcollege/latex/PfCBarresCalculs.tex
+2023/05/19 | 3280 | macros/latex/contrib/profcollege/latex/PfCFicheMemo.tex
+2023/05/19 | 327 | macros/latex/contrib/msu-thesis/samples/chap4bib.tex
+2023/05/19 | 32029 | macros/latex/contrib/profcollege/latex/PfCPavage.tex
+2023/05/19 | 319 | macros/latex/contrib/msu-thesis/samples/chap3bib.tex
+2023/05/19 | 307295 | macros/latex/contrib/counterz.zip
+2023/05/19 | 3049 | macros/latex/contrib/profcollege/latex/PfCRLE.tex
+2023/05/19 | 300058 | macros/latex/contrib/counterz/counterz.pdf
+2023/05/19 | 2980 | macros/latex/contrib/profcollege/latex/PfCRangementNombres.tex
+2023/05/19 | 2975 | macros/latex/contrib/profcollege/latex/PfCTablesOperations.tex
+2023/05/19 | 294044 | macros/latex/contrib/yb-book.zip
+2023/05/19 | 2939 | macros/latex/contrib/profcollege/latex/PfCBarreNiveaux.tex
+2023/05/19 | 2935 | macros/latex/contrib/msu-thesis/README.md
+2023/05/19 | 2840 | fonts/simpleicons/enc/simpleiconsOne.enc
+2023/05/19 | 283982 | macros/latex/contrib/yb-book/yb-book.pdf
+2023/05/19 | 2837 | macros/latex/contrib/profcollege/latex/PfCMentalo.tex
+2023/05/19 | 28303 | macros/latex/contrib/profcollege/latex/PfCSolides.tex
+2023/05/19 | 2815 | macros/latex/contrib/profcollege/latex/PfCMotsCodes.tex
+2023/05/19 | 28129 | macros/latex/contrib/profcollege/latex/PfCRappelsFormules.tex
+2023/05/19 | 278982 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-jp.pdf
+2023/05/19 | 2785269 | biblio/ctan-bibdata/ctan.bib
+2023/05/19 | 277 | macros/latex/contrib/msu-thesis/samples/chap1bib.tex
+2023/05/19 | 276348 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+2023/05/19 | 274 | fonts/simpleicons/tex/usimpleiconsOneZero.fd
+2023/05/19 | 2748 | fonts/simpleicons/enc/simpleiconsFour.enc
+2023/05/19 | 2703 | fonts/simpleicons/enc/simpleiconsEight.enc
+2023/05/19 | 2669 | fonts/simpleicons/enc/simpleiconsTwo.enc
+2023/05/19 | 26690 | macros/latex/contrib/profcollege/latex/PfCPythagore.tex
+2023/05/19 | 2659 | macros/latex/contrib/counterz/counterz.ins
+2023/05/19 | 265483 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-sc.pdf
+2023/05/19 | 264 | fonts/simpleicons/tex/usimpleiconsThree.fd
+2023/05/19 | 264 | fonts/simpleicons/tex/usimpleiconsSeven.fd
+2023/05/19 | 264 | fonts/simpleicons/tex/usimpleiconsEight.fd
+2023/05/19 | 2645 | fonts/simpleicons/enc/simpleiconsSix.enc
+2023/05/19 | 2629 | macros/latex/contrib/yb-book/yb-book.ins
+2023/05/19 | 2617 | macros/latex/contrib/profcollege/latex/PfCQuiSuisJe.tex
+2023/05/19 | 2605 | macros/latex/contrib/profcollege/latex/PfCKakurasu.tex
+2023/05/19 | 2605 | fonts/simpleicons/enc/simpleiconsSeven.enc
+2023/05/19 | 26025709 | systems/texlive/tlnet/install-tl.zip
+2023/05/19 | 259 | fonts/simpleicons/tex/usimpleiconsNine.fd
+2023/05/19 | 259 | fonts/simpleicons/tex/usimpleiconsFour.fd
+2023/05/19 | 259 | fonts/simpleicons/tex/usimpleiconsFive.fd
+2023/05/19 | 25681 | macros/latex/contrib/profcollege/latex/PfCPavageAvecMotifImage.tex
+2023/05/19 | 254 | fonts/simpleicons/tex/usimpleiconsTwo.fd
+2023/05/19 | 254 | fonts/simpleicons/tex/usimpleiconsSix.fd
+2023/05/19 | 254 | fonts/simpleicons/tex/usimpleiconsOne.fd
+2023/05/19 | 2541 | fonts/simpleicons/enc/simpleiconsNine.enc
+2023/05/19 | 25302 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex
+2023/05/19 | 2499 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex
+2023/05/19 | 24945 | macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
+2023/05/19 | 2473 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex
+2023/05/19 | 2467 | fonts/simpleicons/enc/simpleiconsFive.enc
+2023/05/19 | 24666 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
+2023/05/19 | 2453 | fonts/simpleicons/enc/simpleiconsThree.enc
+2023/05/19 | 2451296 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/05/19 | 2400 | fonts/simpleicons/enc/simpleiconsOneZero.enc
+2023/05/19 | 23924 | macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
+2023/05/19 | 23734 | macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
+2023/05/19 | 2343691 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
+2023/05/19 | 23088 | macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
+2023/05/19 | 2305 | macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
+2023/05/19 | 22985 | macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
+2023/05/19 | 2285 | macros/latex/contrib/profcollege/latex/PfCGrades.tex
+2023/05/19 | 2276 | macros/latex/contrib/profcollege/latex/PfCKakuro.tex
+2023/05/19 | 2222 | macros/latex/contrib/profcollege/latex/PfCMotsCroises.tex
+2023/05/19 | 2211 | macros/latex/contrib/profcollege/latex/PfCHiddenMessage.tex
+2023/05/19 | 220902 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
+2023/05/19 | 216624 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
+2023/05/19 | 2155 | macros/latex/contrib/profcollege/latex/PfCGaram.tex
+2023/05/19 | 214045 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
+2023/05/19 | 2106959 | macros/latex/contrib/proflycee.zip
+2023/05/19 | 21037947 | systems/texlive/tlnet/install-tl-windows.exe
+2023/05/19 | 2103560 | systems/texlive/tlnet/archive/pst-labo.doc.r67147.tar.xz
+2023/05/19 | 2072 | macros/latex/contrib/profcollege/latex/PfCBonSortie.tex
+2023/05/19 | 20636 | systems/texlive/tlnet/archive/dynkin-diagrams.r67146.tar.xz
+2023/05/19 | 2019 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
+2023/05/19 | 2018257 | fonts/simpleicons/doc/simpleicons.pdf
+2023/05/19 | 19900 | macros/latex/contrib/profcollege/latex/PfCTrio.tex
+2023/05/19 | 19775 | macros/luatex/generic/evangelion-jfm/jfm-eva.lua
+2023/05/19 | 1916220 | fonts/simpleicons/opentype/SimpleIcons.otf
+2023/05/19 | 1862 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex
+2023/05/19 | 18462 | CTAN.sites
+2023/05/19 | 1844 | fonts/simpleicons/doc/simpleicons.tex
+2023/05/19 | 18247 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
+2023/05/19 | 18106839 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/05/19 | 17926 | macros/latex/contrib/yb-book/yb-book.dtx
+2023/05/19 | 1785273 | fonts/simpleicons/type1/SimpleIcons.pfb
+2023/05/19 | 1777 | macros/latex/contrib/profcollege/latex/PfCRapido.tex
+2023/05/19 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/05/19 | 164073 | macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-en.pdf
+2023/05/19 | 16349 | macros/latex/contrib/profcollege/latex/PfCRondeInfernale.tex
+2023/05/19 | 16293 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf
+2023/05/19 | 16190 | macros/latex/contrib/profcollege/latex/PfCResoudreEquation.tex
+2023/05/19 | 16038 | macros/latex/contrib/profcollege/latex/PfCRepresenterFraction.tex
+2023/05/19 | 1596 | macros/latex/contrib/profcollege/latex/PfCGeometrie.tex
+2023/05/19 | 1559 | fonts/simpleicons/tex/simpleicons.sty
+2023/05/19 | 15575 | macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
+2023/05/19 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/05/19 | 15326 | macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
+2023/05/19 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/05/19 | 1528 | macros/latex/contrib/profcollege/latex/PfCCartesMentales.tex
+2023/05/19 | 15260 | macros/latex/contrib/profcollege/latex/PfCPropor.tex
+2023/05/19 | 15072 | macros/latex/contrib/profcollege/latex/PfCFactorisation.tex
+2023/05/19 | 14927 | macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
+2023/05/19 | 1488 | macros/latex/contrib/profcollege/latex/PfCScratch.tex
+2023/05/19 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/05/19 | 1452252 | systems/texlive/tlnet/archive/tex4ht.source.r67151.tar.xz
+2023/05/19 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/05/19 | 14262 | macros/latex/contrib/profcollege/latex/PfCCAN.tex
+2023/05/19 | 14131 | macros/latex/contrib/profcollege/latex/PfCDessinerRatio.tex
+2023/05/19 | 14011 | macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
+2023/05/19 | 138559 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
+2023/05/19 | 13816673 | macros/latex/contrib/profcollege.zip
+2023/05/19 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r67151.tar.xz
+2023/05/19 | 13380 | systems/texlive/tlnet/archive/hvfloat.r67149.tar.xz
+2023/05/19 | 130944 | fonts/simpleicons/doc/bindings.tex
+2023/05/19 | 1279 | macros/latex/contrib/yb-book/README.md
+2023/05/19 | 1276 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
+2023/05/19 | 1236 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSeven.tfm
+2023/05/19 | 12332 | systems/texlive/tlnet/archive/biblatex-publist.r67148.tar.xz
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsTwo.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsThree.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSix.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsNine.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFour.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFive.tfm
+2023/05/19 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsEight.tfm
+2023/05/19 | 1228 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOne.tfm
+2023/05/19 | 12027 | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
+2023/05/19 | 11740 | macros/latex/contrib/profcollege/latex/PfCSommeAngles.tex
+2023/05/19 | 114048 | systems/texlive/tlnet/archive/texlive-scripts.r67144.tar.xz
+2023/05/19 | 11250 | macros/latex/contrib/profcollege/latex/PfCCompteBon.tex
+2023/05/19 | 1119 | fonts/simpleicons/map/simpleicons.map
+2023/05/19 | 11184 | systems/texlive/tlnet/archive/pst-labo.r67147.tar.xz
+2023/05/19 | 11026 | macros/latex/contrib/profcollege/latex/PfCProprietesDroites.tex
+2023/05/19 | 10951 | macros/latex/contrib/profcollege/latex/PfCAutonomie.tex
+2023/05/19 | 109178 | macros/latex/contrib/msu-thesis/msu-thesis.pdf
+2023/05/19 | 1088 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.bib
+2023/05/19 | 1086376 | systems/texlive/tlnet/archive/tex4ht.r67151.tar.xz
+2023/05/19 | 1083 | macros/latex/contrib/yb-book/LICENSE.txt
+2023/05/19 | 1063 | macros/luatex/generic/evangelion-jfm/LICENSE
+2023/05/19 | 10633 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex
+2023/05/19 | 10548 | macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
+2023/05/19 | 10535 | macros/luatex/generic/evangelion-jfm/figure/fig-tc.pdf
+2023/05/19 | 10479 | macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
+2023/05/19 | 1025814 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+2023/05/19 | 10222436 | systems/texlive/tlnet/archive/hvfloat.doc.r67149.tar.xz
+2023/05/19 | 10168 | macros/latex/contrib/profcollege/latex/PfCPapiers.tex
+2023/05/19 | 10128 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
+2023/05/19 | 10077 | macros/luatex/generic/evangelion-jfm/figure/fig-jp.pdf
+2023/05/19 | 10074 | macros/latex/contrib/profcollege/latex/PfCRose.tex
2023/05/18 | 998 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
2023/05/18 | 958 | biblio/bibtex/utils/bibcop/bibcop.1
2023/05/18 | 95276 | systems/win32/miktex/tm/packages/unicode-math-input__doc.tar.lzma
@@ -26,6 +260,7 @@
2023/05/18 | 757239 | systems/win32/miktex/tm/packages/next/files.csv.lzma
2023/05/18 | 756810 | systems/win32/miktex/tm/packages/files.csv.lzma
2023/05/18 | 74660 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2023/05/18 | 7404 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/05/18 | 73282 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
2023/05/18 | 7298 | systems/win32/miktex/tm/packages/codedescribe__source.tar.lzma
2023/05/18 | 72806 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
@@ -56,7 +291,6 @@
2023/05/18 | 58758 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
2023/05/18 | 58469 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2023/05/18 | 5770052 | systems/win32/miktex/tm/packages/newcomputermodern.tar.lzma
-2023/05/18 | 5735506 | systems/texlive/tlnet/install-tl-unx.tar.gz
2023/05/18 | 56048 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2023/05/18 | 54601 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2023/05/18 | 54105 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
@@ -67,11 +301,6 @@
2023/05/18 | 501196 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
2023/05/18 | 49687 | systems/win32/miktex/tm/packages/thuthesis__source.tar.lzma
2023/05/18 | 49662 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2023/05/18 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/05/18 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/05/18 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/05/18 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/05/18 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/18 | 4826 | systems/win32/miktex/tm/packages/ptlatexcommands__source.tar.lzma
2023/05/18 | 48135 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
2023/05/18 | 47923 | macros/latex/contrib/lineno/tex/fnlineno.sty
@@ -85,10 +314,9 @@
2023/05/18 | 43824 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
2023/05/18 | 43747 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
2023/05/18 | 43088 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2023/05/18 | 426836 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67138.tar.xz
2023/05/18 | 4200 | systems/win32/miktex/tm/packages/libertinus-otf.tar.lzma
+2023/05/18 | 4196 | macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
2023/05/18 | 408650 | macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
-2023/05/18 | 4074356 | biblio/ctan-bibdata.zip
2023/05/18 | 404561 | systems/win32/miktex/tm/packages/sanitize-umlaut__doc.tar.lzma
2023/05/18 | 4032 | systems/texlive/tlnet/archive/libertinus-otf.r67139.tar.xz
2023/05/18 | 40114 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
@@ -97,7 +325,6 @@
2023/05/18 | 3911 | systems/win32/miktex/tm/packages/adobeornaments__source.tar.lzma
2023/05/18 | 37618 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
2023/05/18 | 371227 | macros/latex/contrib/lineno/doc/lineno.pdf
-2023/05/18 | 3675504 | biblio/ctan-bibdata/ctan.pdf
2023/05/18 | 36598 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
2023/05/18 | 36525 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2023/05/18 | 365162 | biblio/bibtex/utils/bibcop.zip
@@ -131,19 +358,16 @@
2023/05/18 | 288074 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2023/05/18 | 2830855 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2023/05/18 | 2789479 | systems/win32/miktex/tm/packages/simpleicons.tar.lzma
-2023/05/18 | 2785269 | biblio/ctan-bibdata/ctan.bib
2023/05/18 | 27649 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2023/05/18 | 271727 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2023/05/18 | 2709 | biblio/bibtex/utils/bibcop/README.md
2023/05/18 | 264203 | systems/win32/miktex/tm/packages/tikz-nfold__doc.tar.lzma
2023/05/18 | 2628 | biblio/bibtex/utils/bibcop/bibcop.ins
-2023/05/18 | 26025722 | systems/texlive/tlnet/install-tl.zip
2023/05/18 | 25469 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2023/05/18 | 25397 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2023/05/18 | 24 | biblio/bibtex/utils/bibcop/DEPENDS.txt
2023/05/18 | 249669 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
2023/05/18 | 246259 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2023/05/18 | 2450588 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/05/18 | 24477 | macros/latex/contrib/lineno/tex/edtable.sty
2023/05/18 | 2433 | systems/win32/miktex/tm/packages/sympycalc.tar.lzma
2023/05/18 | 2432 | systems/win32/miktex/tm/packages/plantuml.tar.lzma
@@ -158,11 +382,11 @@
2023/05/18 | 2285 | systems/win32/miktex/tm/packages/sanitize-umlaut.tar.lzma
2023/05/18 | 22654 | systems/win32/miktex/tm/packages/mcf2graph.tar.lzma
2023/05/18 | 2264 | systems/texlive/tlnet/archive/glossaries-norsk.source.r67141.tar.xz
+2023/05/18 | 224435 | support/TeX4ht/source/ChangeLog
2023/05/18 | 221206 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2023/05/18 | 2201734 | systems/win32/miktex/tm/packages/profcollege__source.tar.lzma
2023/05/18 | 217946 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
2023/05/18 | 216679 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2023/05/18 | 21036582 | systems/texlive/tlnet/install-tl-windows.exe
2023/05/18 | 209775 | systems/win32/miktex/tm/packages/hu-berlin-bundle__doc.tar.lzma
2023/05/18 | 2094520 | systems/win32/miktex/tm/packages/pst-labo__doc.tar.lzma
2023/05/18 | 2089418 | systems/win32/miktex/tm/packages/kpfonts-otf__doc.tar.lzma
@@ -185,7 +409,7 @@
2023/05/18 | 1844425 | systems/win32/miktex/tm/packages/hvfloat__source.tar.lzma
2023/05/18 | 182873 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2023/05/18 | 18194 | systems/win32/miktex/tm/packages/simpleicons__source.tar.lzma
-2023/05/18 | 18106791 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/05/18 | 17968 | macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
2023/05/18 | 1794677 | systems/win32/miktex/tm/packages/circuitikz__doc.tar.lzma
2023/05/18 | 1786 | systems/win32/miktex/tm/packages/adobeornaments.tar.lzma
2023/05/18 | 1784 | systems/texlive/tlnet/archive/glossaries-norsk.r67141.tar.xz
@@ -194,7 +418,6 @@
2023/05/18 | 172566 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
2023/05/18 | 169518 | systems/win32/miktex/tm/packages/beamer.tar.lzma
2023/05/18 | 1690252 | systems/win32/miktex/tm/packages/thuthesis__doc.tar.lzma
-2023/05/18 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/05/18 | 16752 | systems/win32/miktex/tm/packages/unicode-math-input.tar.lzma
2023/05/18 | 1653603 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2023/05/18 | 1653599 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
@@ -204,15 +427,11 @@
2023/05/18 | 161540 | macros/latex/contrib/lineno/doc/lnosuppl.pdf
2023/05/18 | 157596 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2023/05/18 | 15698 | biblio/bibtex/utils/bibcop/bibcop.dtx
-2023/05/18 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2023/05/18 | 153837 | graphics/pgf/contrib/dynkin-diagrams/dynkin-diagrams.sty
2023/05/18 | 153024 | macros/latex/contrib/lineno/tex/lineno.sty
2023/05/18 | 1530092 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2023/05/18 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2023/05/18 | 15238 | macros/latex/contrib/lineno/source/linenoamsmathdemo.tex
2023/05/18 | 15165 | systems/win32/miktex/tm/packages/hu-berlin-bundle.tar.lzma
-2023/05/18 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/05/18 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/05/18 | 14479 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2023/05/18 | 1430606 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2023/05/18 | 140277 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
@@ -229,9 +448,9 @@
2023/05/18 | 11726 | systems/win32/miktex/tm/packages/unicode-math-input__source.tar.lzma
2023/05/18 | 117130 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2023/05/18 | 1168413 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2023/05/18 | 1161600 | support/TeX4ht/source/tex4ht-4ht.tex
2023/05/18 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
2023/05/18 | 114835 | macros/latex/contrib/lineno/source/lineno.tex
-2023/05/18 | 114076 | systems/texlive/tlnet/archive/texlive-scripts.r67138.tar.xz
2023/05/18 | 11378 | systems/win32/miktex/tm/packages/pst-labo.tar.lzma
2023/05/18 | 111975 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2023/05/18 | 11095 | systems/win32/miktex/tm/packages/codedescribe.tar.lzma
@@ -250,24 +469,21 @@
2023/05/18 | 100125 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2023/05/17 | 90804 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
2023/05/17 | 84788 | systems/texlive/tlnet/archive/nicematrix.source.r67135.tar.xz
-2023/05/17 | 7436 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/05/17 | 731587 | fonts/libertinus-otf/doc/libertinus-otf-doc.pdf
2023/05/17 | 704735 | fonts/libertinus-otf.zip
-2023/05/17 | 6824 | systems/texlive/tlnet/archive/bibcop.r67131.tar.xz
2023/05/17 | 66733 | fonts/libertinus-otf/doc/libertinus-otf-doc.tex
2023/05/17 | 63112 | systems/texlive/tlnet/archive/tagpdf.source.r67136.tar.xz
2023/05/17 | 591908 | systems/texlive/tlnet/archive/l3kernel.source.r67134.tar.xz
2023/05/17 | 574 | graphics/pstricks/contrib/pst-labo/Changes
2023/05/17 | 568298 | info/biblio/sgml2000.bib
-2023/05/17 | 5628 | systems/texlive/tlnet/archive/bibcop.source.r67131.tar.xz
2023/05/17 | 4960667 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf
2023/05/17 | 4526 | macros/latex/contrib/hvfloat/doc/examples/sub-default1s1c.tex
2023/05/17 | 408 | fonts/libertinus-otf/README.md
2023/05/17 | 39356 | systems/texlive/tlnet/archive/nicematrix.r67135.tar.xz
2023/05/17 | 39013 | graphics/pstricks/contrib/pst-labo/doc/pst-labo-doc.tex
-2023/05/17 | 355032 | systems/texlive/tlnet/archive/bibcop.doc.r67131.tar.xz
2023/05/17 | 34932 | systems/texlive/tlnet/archive/tagpdf.r67136.tar.xz
2023/05/17 | 3385 | info/biblio/sgml2000.ltx
+2023/05/17 | 33478 | macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
2023/05/17 | 3145 | macros/latex/contrib/glossaries-norsk.zip
2023/05/17 | 2795 | graphics/pstricks/contrib/pst-labo/doc/pst-labo-doc.bib
2023/05/17 | 273132 | systems/texlive/tlnet/archive/tikz-nfold.doc.r67133.tar.xz
@@ -835,7 +1051,6 @@
2023/05/15 | 1465 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemespruce.sty
2023/05/15 | 1455 | macros/latex/contrib/thuthesis/thuthesis-author-year.bbx
2023/05/15 | 1452 | macros/latex/contrib/thuthesis/data/resume.tex
-2023/05/15 | 1449944 | systems/texlive/tlnet/archive/tex4ht.source.r67110.tar.xz
2023/05/15 | 1428 | macros/latex/contrib/nicematrix/nicematrix.ins
2023/05/15 | 14186 | macros/latex/contrib/thuthesis/tsinghua-name-bachelor.pdf
2023/05/15 | 1387 | macros/latex/contrib/thuthesis/thuthesis.ins
@@ -845,7 +1060,6 @@
2023/05/15 | 13709 | macros/latex/contrib/beamer/base/themes/inner/beamerinnerthemedefault.sty
2023/05/15 | 136904 | macros/latex/contrib/ptlatexcommands.zip
2023/05/15 | 13682 | macros/latex/contrib/beamer/base/beamerbasefont.sty
-2023/05/15 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r67110.tar.xz
2023/05/15 | 1358 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemefly.sty
2023/05/15 | 1353 | macros/latex/contrib/beamer/LICENSE.md
2023/05/15 | 1352 | macros/latex/contrib/beamer/base/themes/theme/beamerthemeSingapore.sty
@@ -872,7 +1086,6 @@
2023/05/15 | 1130 | macros/latex/contrib/beamer/base/beamerbasethemes.sty
2023/05/15 | 1111 | macros/latex/contrib/beamer/README.md
2023/05/15 | 10950 | macros/latex/contrib/beamer/doc/beamerug-notes.tex
-2023/05/15 | 1086280 | systems/texlive/tlnet/archive/tex4ht.r67110.tar.xz
2023/05/15 | 1084 | macros/latex/contrib/beamer/base/themes/color/beamercolorthemeseahorse.sty
2023/05/15 | 1078 | macros/context/contrib/context-sudoku/sudoku/LICENSE
2023/05/15 | 105744 | graphics/mcf2graph/main_lib.mcf
@@ -902,7 +1115,7 @@
2023/05/14 | 297994 | support/TeX4ht/source/tex4ht-fonts-newtx.tex
2023/05/14 | 263773 | macros/unicodetex/latex/adobeornaments/adobeornaments-list.pdf
2023/05/14 | 252410 | macros/luatex/latex/hu-berlin-bundle.zip
-2023/05/14 | 224125 | support/TeX4ht/source/ChangeLog
+2023/05/14 | 22505 | macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
2023/05/14 | 2208 | systems/texlive/tlnet/archive/plantuml.r67097.tar.xz
2023/05/14 | 207863 | support/TeX4ht/source/tex4ht-fonts-opensans.tex
2023/05/14 | 207441 | support/TeX4ht/source/tex4ht-fonts-spectral.tex
@@ -912,48 +1125,20 @@
2023/05/14 | 14903 | macros/luatex/latex/hu-berlin-bundle/img/texografie-logo.pdf
2023/05/14 | 134244 | macros/latex/contrib/ptlatexcommands/PTLaTexCommands.pdf
2023/05/14 | 1282152 | systems/texlive/tlnet/archive/profcollege.r67096.tar.xz
-2023/05/14 | 1161489 | support/TeX4ht/source/tex4ht-4ht.tex
2023/05/14 | 10807796 | systems/texlive/tlnet/archive/profcollege.doc.r67096.tar.xz
2023/05/14 | 104619 | support/TeX4ht/source/tex4ht-fonts-fourier.tex
-2023/05/13 | 9951 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex
-2023/05/13 | 9898 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex
2023/05/13 | 9804 | graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex
-2023/05/13 | 9699 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex
-2023/05/13 | 9685 | macros/latex/contrib/profcollege/latex/PfCVueCubes.tex
2023/05/13 | 9538 | graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex
-2023/05/13 | 9453 | macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex
-2023/05/13 | 9427 | macros/latex/contrib/profcollege/latex/PfCLabyrintheJeu.tex
-2023/05/13 | 9413 | macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
2023/05/13 | 937130 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.1.2-body.tex
-2023/05/13 | 9367 | macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
2023/05/13 | 929934 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.1.2.tex
-2023/05/13 | 9127255 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
-2023/05/13 | 8711 | macros/latex/contrib/profcollege/latex/PfCShikaku.tex
-2023/05/13 | 8676 | macros/latex/contrib/profcollege/latex/PfCYohaku.tex
2023/05/13 | 8445 | graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty
2023/05/13 | 84261 | graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex
2023/05/13 | 841340 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0-body.tex
2023/05/13 | 834142 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex
-2023/05/13 | 831 | macros/latex/contrib/profcollege/latex/PfCDobble.tex
-2023/05/13 | 8307 | macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
-2023/05/13 | 8271 | macros/latex/contrib/profcollege/latex/PfCBillard.tex
-2023/05/13 | 82533 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex
-2023/05/13 | 8113 | macros/latex/contrib/profcollege/latex/PfCPourcentage.tex
-2023/05/13 | 7962 | macros/latex/contrib/profcollege/latex/PfCDessinGradue.tex
-2023/05/13 | 7808 | macros/latex/contrib/profcollege/latex/PfCSimplifierFraction.tex
-2023/05/13 | 7797 | macros/latex/contrib/profcollege/latex/PfCReseauxSociaux.tex
-2023/05/13 | 7733 | macros/latex/contrib/profcollege/latex/PfCProbabilites.tex
2023/05/13 | 758991 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6-body.tex
2023/05/13 | 751663 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.9.6.tex
2023/05/13 | 728 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty
-2023/05/13 | 7244 | macros/latex/contrib/profcollege/latex/PfCFrise.tex
-2023/05/13 | 7230 | macros/latex/contrib/profcollege/latex/PfCCalisson.tex
-2023/05/13 | 71256 | macros/latex/contrib/profcollege/latex/PfCReperage.tex
-2023/05/13 | 7102 | macros/latex/contrib/profcollege/latex/PfCPuzzleSommePyramide.tex
-2023/05/13 | 7088 | macros/latex/contrib/profcollege/latex/PfCColorilude.tex
-2023/05/13 | 7072 | macros/latex/contrib/profcollege/latex/PfCPuissanceQuatre.tex
2023/05/13 | 70565 | macros/luatex/latex/plantuml.zip
-2023/05/13 | 7051 | macros/latex/contrib/profcollege/latex/PfCNombreAstral.tex
2023/05/13 | 690729 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3-body.tex
2023/05/13 | 683433 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.9.3.tex
2023/05/13 | 641 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty
@@ -965,247 +1150,50 @@
2023/05/13 | 632 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty
2023/05/13 | 631 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6.sty
2023/05/13 | 626 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty
-2023/05/13 | 6260 | macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
-2023/05/13 | 6148 | macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
-2023/05/13 | 6030 | macros/latex/contrib/profcollege/latex/PfCTectonic.tex
-2023/05/13 | 60291 | macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
-2023/05/13 | 58462 | macros/latex/contrib/profcollege/latex/PfCDistributivite.tex
2023/05/13 | 57153 | graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex
-2023/05/13 | 56986 | macros/latex/contrib/profcollege/latex/PfCThales.tex
-2023/05/13 | 5561 | macros/latex/contrib/profcollege/latex/PfCRepresenterEntier.tex
-2023/05/13 | 5365 | macros/latex/contrib/profcollege/latex/PfCMidpoint.tex
-2023/05/13 | 53608 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
2023/05/13 | 533316 | systems/texlive/tlnet/archive/ufrgscca.doc.r67084.tar.xz
2023/05/13 | 530600 | graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
-2023/05/13 | 5248 | macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
2023/05/13 | 5088 | graphics/pgf/contrib/circuitikz/README.md
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
2023/05/13 | 50099 | graphics/pgf/contrib/circuitikz/doc/changelog.tex
-2023/05/13 | 4730 | macros/latex/contrib/profcollege/latex/PfCOperationsTrou.tex
2023/05/13 | 4728828 | systems/texlive/tlnet/archive/novel.doc.r67086.tar.xz
-2023/05/13 | 4692 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex
-2023/05/13 | 4664 | macros/latex/contrib/profcollege/latex/PfCDiagrammeRadar.tex
-2023/05/13 | 4548 | macros/latex/contrib/profcollege/latex/PfCMosaique.tex
2023/05/13 | 422295 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3-body.tex
2023/05/13 | 418 | graphics/pgf/contrib/circuitikz/doc/compatibility.tex
2023/05/13 | 41780 | graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex
2023/05/13 | 416850 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.8.3.tex
-2023/05/13 | 4138 | macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
-2023/05/13 | 4117 | macros/latex/contrib/profcollege/latex/PfCDomino.tex
2023/05/13 | 403567 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7-body.tex
-2023/05/13 | 4034 | macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex
2023/05/13 | 393884 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6-body.tex
2023/05/13 | 3901 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex
-2023/05/13 | 3835 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex
2023/05/13 | 381810 | graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex
-2023/05/13 | 3800 | macros/latex/contrib/profcollege/latex/PfCErathostene.tex
-2023/05/13 | 3765 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex
-2023/05/13 | 3751 | macros/latex/contrib/profcollege/latex/PfCJeuRangement.tex
2023/05/13 | 364117 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4-body.tex
-2023/05/13 | 3618 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex
2023/05/13 | 35438 | graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex
-2023/05/13 | 3431 | macros/latex/contrib/profcollege/latex/PfCBarresCalculs.tex
2023/05/13 | 3288077 | install/graphics/pgf/contrib/circuitikz.tds.zip
2023/05/13 | 32826 | graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex
-2023/05/13 | 3280 | macros/latex/contrib/profcollege/latex/PfCFicheMemo.tex
2023/05/13 | 3267655 | graphics/pgf/contrib/circuitikz.zip
2023/05/13 | 32376 | systems/texlive/tlnet/archive/ufrgscca.r67084.tar.xz
-2023/05/13 | 32029 | macros/latex/contrib/profcollege/latex/PfCPavage.tex
2023/05/13 | 3150 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-legacy.tex
-2023/05/13 | 3049 | macros/latex/contrib/profcollege/latex/PfCRLE.tex
-2023/05/13 | 2980 | macros/latex/contrib/profcollege/latex/PfCRangementNombres.tex
-2023/05/13 | 2975 | macros/latex/contrib/profcollege/latex/PfCTablesOperations.tex
-2023/05/13 | 2939 | macros/latex/contrib/profcollege/latex/PfCBarreNiveaux.tex
2023/05/13 | 287228 | graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
-2023/05/13 | 2837 | macros/latex/contrib/profcollege/latex/PfCMentalo.tex
-2023/05/13 | 28303 | macros/latex/contrib/profcollege/latex/PfCSolides.tex
-2023/05/13 | 2815 | macros/latex/contrib/profcollege/latex/PfCMotsCodes.tex
-2023/05/13 | 28129 | macros/latex/contrib/profcollege/latex/PfCRappelsFormules.tex
2023/05/13 | 280 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-example.tex
2023/05/13 | 2764768 | systems/texlive/tlnet/archive/simpleicons.r67081.tar.xz
-2023/05/13 | 2728 | macros/latex/contrib/profcollege/latex/dobblePfC.lua
-2023/05/13 | 27287 | macros/latex/contrib/profcollege/metapost/PfCSolid.mp
-2023/05/13 | 26690 | macros/latex/contrib/profcollege/latex/PfCPythagore.tex
-2023/05/13 | 2617 | macros/latex/contrib/profcollege/latex/PfCQuiSuisJe.tex
-2023/05/13 | 2605 | macros/latex/contrib/profcollege/latex/PfCKakurasu.tex
-2023/05/13 | 25681 | macros/latex/contrib/profcollege/latex/PfCPavageAvecMotifImage.tex
-2023/05/13 | 25302 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex
-2023/05/13 | 2499 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex
-2023/05/13 | 2473 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex
-2023/05/13 | 24666 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
-2023/05/13 | 2342255 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
-2023/05/13 | 23088 | macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex
-2023/05/13 | 2305 | macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
-2023/05/13 | 22985 | macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex
-2023/05/13 | 2285 | macros/latex/contrib/profcollege/latex/PfCGrades.tex
2023/05/13 | 2280 | systems/texlive/tlnet/archive/sympycalc.r67087.tar.xz
-2023/05/13 | 2276 | macros/latex/contrib/profcollege/latex/PfCKakuro.tex
-2023/05/13 | 22506 | macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
-2023/05/13 | 2222 | macros/latex/contrib/profcollege/latex/PfCMotsCroises.tex
-2023/05/13 | 2211 | macros/latex/contrib/profcollege/latex/PfCHiddenMessage.tex
2023/05/13 | 2188 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-romano.tex
-2023/05/13 | 2155 | macros/latex/contrib/profcollege/latex/PfCGaram.tex
-2023/05/13 | 2072 | macros/latex/contrib/profcollege/latex/PfCBonSortie.tex
-2023/05/13 | 2055436 | systems/texlive/tlnet/archive/pst-labo.doc.r67080.tar.xz
2023/05/13 | 2027608 | systems/texlive/tlnet/archive/simpleicons.doc.r67081.tar.xz
-2023/05/13 | 2019 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
-2023/05/13 | 19900 | macros/latex/contrib/profcollege/latex/PfCTrio.tex
-2023/05/13 | 1862 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex
2023/05/13 | 1830 | macros/unicodetex/latex/textcsc/textcsc.sty
-2023/05/13 | 18223 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
-2023/05/13 | 1777 | macros/latex/contrib/profcollege/latex/PfCRapido.tex
2023/05/13 | 16722 | graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex
2023/05/13 | 1671007 | graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
2023/05/13 | 16528 | systems/texlive/tlnet/archive/unicode-math-input.r67089.tar.xz
-2023/05/13 | 16349 | macros/latex/contrib/profcollege/latex/PfCRondeInfernale.tex
-2023/05/13 | 16190 | macros/latex/contrib/profcollege/latex/PfCResoudreEquation.tex
-2023/05/13 | 16038 | macros/latex/contrib/profcollege/latex/PfCRepresenterFraction.tex
-2023/05/13 | 1596 | macros/latex/contrib/profcollege/latex/PfCGeometrie.tex
-2023/05/13 | 15645 | macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
-2023/05/13 | 15575 | macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
2023/05/13 | 15442 | graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex
-2023/05/13 | 1528 | macros/latex/contrib/profcollege/latex/PfCCartesMentales.tex
-2023/05/13 | 15260 | macros/latex/contrib/profcollege/latex/PfCPropor.tex
2023/05/13 | 1512 | graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex
-2023/05/13 | 15072 | macros/latex/contrib/profcollege/latex/PfCFactorisation.tex
-2023/05/13 | 14930 | macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
-2023/05/13 | 14927 | macros/latex/contrib/profcollege/latex/PfCCalculsCroises.tex
-2023/05/13 | 1488 | macros/latex/contrib/profcollege/latex/PfCScratch.tex
2023/05/13 | 14587 | graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex
2023/05/13 | 145792 | systems/texlive/tlnet/archive/sympycalc.doc.r67087.tar.xz
-2023/05/13 | 14262 | macros/latex/contrib/profcollege/latex/PfCCAN.tex
-2023/05/13 | 14131 | macros/latex/contrib/profcollege/latex/PfCDessinerRatio.tex
-2023/05/13 | 14011 | macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
-2023/05/13 | 13788442 | macros/latex/contrib/profcollege.zip
2023/05/13 | 13737 | graphics/pgf/contrib/circuitikz/tex/circuitikz.sty
2023/05/13 | 13455 | graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf
2023/05/13 | 12916 | systems/texlive/tlnet/archive/pdfjam.r67088.tar.xz
-2023/05/13 | 12027 | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
-2023/05/13 | 11943 | macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
2023/05/13 | 118788 | systems/texlive/tlnet/archive/pdfjam.doc.r67088.tar.xz
2023/05/13 | 117880 | graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex
-2023/05/13 | 11740 | macros/latex/contrib/profcollege/latex/PfCSommeAngles.tex
2023/05/13 | 116156 | systems/texlive/tlnet/archive/novel.r67086.tar.xz
-2023/05/13 | 11250 | macros/latex/contrib/profcollege/latex/PfCCompteBon.tex
-2023/05/13 | 11026 | macros/latex/contrib/profcollege/latex/PfCProprietesDroites.tex
-2023/05/13 | 10951 | macros/latex/contrib/profcollege/latex/PfCAutonomie.tex
2023/05/13 | 1081680 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.4.6-body.tex
2023/05/13 | 1073051 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.4.6.tex
-2023/05/13 | 10633 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex
2023/05/13 | 105924 | systems/texlive/tlnet/archive/unicode-math-input.doc.r67089.tar.xz
2023/05/13 | 1021798 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.2.7-body.tex
-2023/05/13 | 10168 | macros/latex/contrib/profcollege/latex/PfCPapiers.tex
2023/05/13 | 1014383 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.2.7.tex
-2023/05/13 | 10116 | systems/texlive/tlnet/archive/pst-labo.r67080.tar.xz
-2023/05/13 | 10074 | macros/latex/contrib/profcollege/latex/PfCRose.tex
-2023/05/12 | 98884 | macros/latex/contrib/unicode-math-input/unicode-math-input.pdf
-2023/05/12 | 975372 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma
-2023/05/12 | 974836 | systems/texlive/tlnet/archive/babel.doc.r67073.tar.xz
-2023/05/12 | 849560 | systems/texlive/tlnet/archive/context-simpleslides.doc.r67070.tar.xz
-2023/05/12 | 83870 | systems/win32/miktex/tm/packages/pdfjam__source.tar.lzma
-2023/05/12 | 832 | macros/latex/contrib/unicode-math-input/README
-2023/05/12 | 820 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
-2023/05/12 | 80929 | systems/win32/miktex/tm/packages/l3experimental__source.tar.lzma
-2023/05/12 | 80176 | systems/texlive/tlnet/archive/l3experimental.source.r67074.tar.xz
-2023/05/12 | 8015 | fonts/newcomputermodern/doc/newcomputermodern-sample.tex
-2023/05/12 | 784009 | systems/win32/miktex/tm/packages/babel__source.tar.lzma
-2023/05/12 | 783548 | systems/texlive/tlnet/archive/babel.source.r67073.tar.xz
-2023/05/12 | 7828 | systems/win32/miktex/tm/packages/huffman__source.tar.lzma
-2023/05/12 | 697984 | systems/texlive/tlnet/archive/nostarch.doc.r67072.tar.xz
-2023/05/12 | 665 | fonts/simpleicons/README.md
-2023/05/12 | 6423 | fonts/newcomputermodern/doc/opticalmathlm-cropped.pdf
-2023/05/12 | 636 | macros/luatex/latex/plantuml/example-component-diagram.tex
-2023/05/12 | 6102 | fonts/newcomputermodern/doc/integral.pdf
-2023/05/12 | 572 | macros/luatex/latex/plantuml/example-class-relations--svg.tex
-2023/05/12 | 564 | systems/texlive/tlnet/archive/collection-metapost.r67071.tar.xz
-2023/05/12 | 517000 | systems/win32/miktex/tm/packages/ufrgscca__doc.tar.lzma
-2023/05/12 | 5040405 | fonts/simpleicons.zip
-2023/05/12 | 488 | graphics/pstricks/contrib/pst-labo/README
-2023/05/12 | 4829 | macros/luatex/latex/plantuml/example-minimal.png
-2023/05/12 | 47705 | macros/luatex/latex/plantuml/plantuml.pdf
-2023/05/12 | 4730015 | systems/win32/miktex/tm/packages/novel__source.tar.lzma
-2023/05/12 | 396 | macros/luatex/latex/plantuml/release.sh
-2023/05/12 | 3928 | graphics/pstricks/contrib/pst-labo/doc/pst-labo8-tab1.tex
-2023/05/12 | 389 | macros/luatex/latex/plantuml/example-class-relations--latex.tex
-2023/05/12 | 3888 | fonts/newcomputermodern/doc/opticalmathlm.pdf
-2023/05/12 | 3499237 | systems/win32/miktex/tm/packages/l3experimental__doc.tar.lzma
-2023/05/12 | 3498172 | systems/texlive/tlnet/archive/l3experimental.doc.r67074.tar.xz
-2023/05/12 | 34859 | fonts/newcomputermodern/doc/newcm-doc.tex
-2023/05/12 | 340 | fonts/newcomputermodern/tex/newcomputermodern.sty
-2023/05/12 | 3308 | systems/win32/miktex/tm/packages/texfindpkg__source.tar.lzma
-2023/05/12 | 32712 | systems/win32/miktex/tm/packages/ufrgscca.tar.lzma
-2023/05/12 | 3185 | systems/win32/miktex/tm/packages/huffman.tar.lzma
-2023/05/12 | 3046 | macros/luatex/latex/plantuml/README.md
-2023/05/12 | 3036 | systems/texlive/tlnet/archive/huffman.r67071.tar.xz
-2023/05/12 | 29160 | systems/texlive/tlnet/archive/context-simpleslides.r67070.tar.xz
-2023/05/12 | 2908 | macros/luatex/latex/plantuml/plantuml.sty
-2023/05/12 | 2840 | fonts/simpleicons/enc/simpleiconsOne.enc
-2023/05/12 | 27845 | macros/latex/contrib/unicode-math-input/unicode-math-input.sty
-2023/05/12 | 274 | fonts/simpleicons/tex/usimpleiconsOneZero.fd
-2023/05/12 | 2748 | fonts/simpleicons/enc/simpleiconsFour.enc
-2023/05/12 | 2703 | fonts/simpleicons/enc/simpleiconsEight.enc
-2023/05/12 | 2669 | fonts/simpleicons/enc/simpleiconsTwo.enc
-2023/05/12 | 264 | fonts/simpleicons/tex/usimpleiconsThree.fd
-2023/05/12 | 264 | fonts/simpleicons/tex/usimpleiconsSeven.fd
-2023/05/12 | 264 | fonts/simpleicons/tex/usimpleiconsEight.fd
-2023/05/12 | 2645 | fonts/simpleicons/enc/simpleiconsSix.enc
-2023/05/12 | 2605 | fonts/simpleicons/enc/simpleiconsSeven.enc
-2023/05/12 | 259 | fonts/simpleicons/tex/usimpleiconsNine.fd
-2023/05/12 | 259 | fonts/simpleicons/tex/usimpleiconsFour.fd
-2023/05/12 | 259 | fonts/simpleicons/tex/usimpleiconsFive.fd
-2023/05/12 | 254 | fonts/simpleicons/tex/usimpleiconsTwo.fd
-2023/05/12 | 254 | fonts/simpleicons/tex/usimpleiconsSix.fd
-2023/05/12 | 254 | fonts/simpleicons/tex/usimpleiconsOne.fd
-2023/05/12 | 2548 | macros/luatex/latex/plantuml/CHANGELOG.md
-2023/05/12 | 2541 | fonts/simpleicons/enc/simpleiconsNine.enc
-2023/05/12 | 2467 | fonts/simpleicons/enc/simpleiconsFive.enc
-2023/05/12 | 2453 | fonts/simpleicons/enc/simpleiconsThree.enc
-2023/05/12 | 24064 | systems/texlive/tlnet/archive/nostarch.source.r67072.tar.xz
-2023/05/12 | 2402 | fonts/simpleicons/enc/simpleiconsOneZero.enc
-2023/05/12 | 23987 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma
-2023/05/12 | 23660 | systems/texlive/tlnet/archive/l3experimental.r67074.tar.xz
-2023/05/12 | 23188 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
-2023/05/12 | 22305 | systems/win32/miktex/tm/packages/novel__doc.tar.lzma
-2023/05/12 | 2218 | systems/win32/miktex/tm/packages/texfindpkg__doc.tar.lzma
-2023/05/12 | 220812 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
-2023/05/12 | 21 | macros/latex/contrib/unicode-math-input/DEPENDS.txt
-2023/05/12 | 216539 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
-2023/05/12 | 213120 | systems/win32/miktex/tm/packages/babel.tar.lzma
-2023/05/12 | 207992 | systems/texlive/tlnet/archive/babel.r67073.tar.xz
-2023/05/12 | 205 | fonts/newcomputermodern/doc/opticalmathlm.tex
-2023/05/12 | 2017821 | fonts/simpleicons/doc/simpleicons.pdf
-2023/05/12 | 191 | fonts/newcomputermodern/doc/integral.tex
-2023/05/12 | 1915972 | fonts/simpleicons/opentype/SimpleIcons.otf
-2023/05/12 | 1844 | fonts/simpleicons/doc/simpleicons.tex
-2023/05/12 | 183168 | fonts/newcomputermodern/doc/newcm-doc.pdf
-2023/05/12 | 17885 | systems/win32/miktex/tm/packages/ufrgscca__source.tar.lzma
-2023/05/12 | 1785039 | fonts/simpleicons/type1/SimpleIcons.pfb
-2023/05/12 | 17011 | macros/latex/contrib/unicode-math-input/unicode-math-input.tex
-2023/05/12 | 16717 | systems/win32/miktex/tm/packages/pdfjam__doc.tar.lzma
-2023/05/12 | 16312 | macros/latex/contrib/unicode-math-input/unicode-math-input-script.py
-2023/05/12 | 16144 | fonts/newcomputermodern/doc/newcm-unimath-symbols.ltx
-2023/05/12 | 1559 | fonts/simpleicons/tex/simpleicons.sty
-2023/05/12 | 148 | macros/luatex/latex/plantuml/example-minimal.tex
-2023/05/12 | 1488 | macros/luatex/latex/plantuml/plantuml.lua
-2023/05/12 | 147366 | macros/luatex/latex/sympycalc.zip
-2023/05/12 | 141279 | fonts/newcomputermodern/doc/newcomputermodern-sample.pdf
-2023/05/12 | 13997 | macros/luatex/latex/plantuml/example-class-relations--svg.png
-2023/05/12 | 13295 | systems/win32/miktex/tm/packages/pdfjam.tar.lzma
-2023/05/12 | 130897 | fonts/simpleicons/doc/bindings.tex
-2023/05/12 | 1303962 | fonts/newcomputermodern/doc/newcm-unimath-symbols.pdf
-2023/05/12 | 129681 | macros/latex/contrib/unicode-math-input.zip
-2023/05/12 | 126832 | systems/texlive/tlnet/archive/huffman.doc.r67071.tar.xz
-2023/05/12 | 1236 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSeven.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsTwo.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsThree.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsSix.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsNine.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFour.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsFive.tfm
-2023/05/12 | 1232 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsEight.tfm
-2023/05/12 | 1228 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsOne.tfm
-2023/05/12 | 120329 | systems/win32/miktex/tm/packages/huffman__doc.tar.lzma
-2023/05/12 | 116393 | systems/win32/miktex/tm/packages/novel.tar.lzma
-2023/05/12 | 1119 | fonts/simpleicons/map/simpleicons.map
-2023/05/12 | 11096 | systems/texlive/tlnet/archive/nostarch.r67072.tar.xz
-2023/05/12 | 101318 | macros/latex/contrib/unicode-math-input/unicode-math-input-table.tex
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 389b803c7b..977e3a9ada 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 19-05-2023, 02:04:58
+%% created at 20-05-2023, 02:00:14
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -937,7 +937,7 @@
title = {The \texttt{adobeornaments} package},
subtitle = {Using ornaments in Adobe Fonts with Lua\LaTeX{} or \XeLaTeX{}},
author = {Elijah Z Granet},
- date = {2023-05-16},
+ date = {2023-05-19},
version = {1.0.1},
license = {lppl1.3c,cc-by-sa-3},
mirror = {https://mirror.ctan.org/macros/unicodetex/latex/adobeornaments},
@@ -15543,6 +15543,17 @@
url = {https://ctan.org/pkg/count1to},
}
+@manual{ctan-counterz,
+ title = {The \texttt{counterz} package},
+ subtitle = {Additional tools for counters},
+ author = {Christopher McClain},
+ date = {2023-05-19},
+ version = {1.0.0},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/counterz},
+ url = {https://ctan.org/pkg/counterz},
+}
+
@manual{ctan-countriesofeurope,
title = {The \texttt{countriesofeurope} package},
subtitle = {A font with the images of the countries of Europe},
@@ -23367,8 +23378,8 @@
title = {The \texttt{Evangelion-JFM} package},
subtitle = {A Japanese font metric supporting many advanced features},
author = {Jing Huang},
- date = {2023-04-29},
- version = {1.0.3},
+ date = {2023-05-19},
+ version = {1.0.4 (e)},
license = {mit},
mirror = {https://mirror.ctan.org/macros/luatex/generic/evangelion-jfm},
url = {https://ctan.org/pkg/evangelion-jfm},
@@ -24054,8 +24065,8 @@
@manual{ctan-facture,
title = {The \texttt{facture} package},
subtitle = {Generate an invoice},
- author = {Maïeul Rouquette and Joël Gombin},
- date = {2017-04-18},
+ author = {Maïeul Rouquette and Joël Gombin and Étienne Deparis},
+ date = {2023-05-19},
version = {1.2.2},
license = {cc-by-sa-2},
mirror = {https://mirror.ctan.org/macros/xetex/latex/facture},
@@ -46229,8 +46240,8 @@
title = {The \texttt{msu-thesis} package},
subtitle = {Class for Michigan State University Master’s and PhD theses},
author = {Alan Munn},
- date = {2023-01-04},
- version = {4.0b},
+ date = {2023-05-19},
+ version = {4.1},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/msu-thesis},
url = {https://ctan.org/pkg/msu-thesis},
@@ -54326,8 +54337,8 @@
title = {The \texttt{ProfCollege} package},
subtitle = {A \LaTeX{} package for French maths teachers in college},
author = {Christophe Poulain},
- date = {2023-05-13},
- version = {0.99-z-l},
+ date = {2023-05-19},
+ version = {0.99-z-m},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/profcollege},
url = {https://ctan.org/pkg/profcollege},
@@ -54348,8 +54359,8 @@
title = {The \texttt{ProfLycee} package},
subtitle = {A \LaTeX{} package for French maths teachers in high school},
author = {Cédric Pierquet},
- date = {2023-05-09},
- version = {2.6.3},
+ date = {2023-05-19},
+ version = {2.6.4},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/proflycee},
url = {https://ctan.org/pkg/proflycee},
@@ -56641,7 +56652,7 @@
title = {The \texttt{ptlatexcommands} package},
subtitle = {\LaTeX{} to commands in Portuguese},
author = {Geraldo Pereira de Morais Junior},
- date = {2023-05-16},
+ date = {2023-05-19},
version = {0.1},
license = {mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/ptlatexcommands},
@@ -62063,8 +62074,8 @@
title = {The \texttt{simpleicons} package},
subtitle = {Simple Icons for \LaTeX{}},
author = {Inesh Bose},
- date = {2023-05-12},
- version = {8.13.0},
+ date = {2023-05-19},
+ version = {8.14.0},
license = {cc-by-1},
mirror = {https://mirror.ctan.org/fonts/simpleicons},
url = {https://ctan.org/pkg/simpleicons},
@@ -63977,7 +63988,7 @@
title = {The \texttt{starray} package},
subtitle = {A structured array (of properties) based on expl3},
author = {Alceu Frigeri},
- date = {2023-05-16},
+ date = {2023-05-19},
version = {1.1},
license = {lppl1.3c,gpl},
mirror = {https://mirror.ctan.org/macros/latex/contrib/starray},
@@ -72826,7 +72837,7 @@
title = {The \texttt{unicode-math-input} package},
subtitle = {Allow entering Unicode symbols in math formulas},
author = {{user202729}},
- date = {2023-05-13},
+ date = {2023-05-19},
version = {0.0.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/unicode-math-input},
@@ -77421,8 +77432,8 @@
title = {The \texttt{yb-book} package},
subtitle = {Template for YB Branded Books},
author = {Yegor Bugayenko},
- date = {2022-10-02},
- version = {0.2.0},
+ date = {2023-05-19},
+ version = {0.2.1},
license = {mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/yb-book},
url = {https://ctan.org/pkg/yb-book},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index af79486e98..297e65527e 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/fonts/simpleicons/doc/bindings.tex b/fonts/simpleicons/doc/bindings.tex
index f3a515ff3e..549bb6105f 100644
--- a/fonts/simpleicons/doc/bindings.tex
+++ b/fonts/simpleicons/doc/bindings.tex
@@ -4889,6 +4889,8 @@
\showcaseicon{zigbee}{simpleicon\{zigbee\}}
+ \showcaseicon{zilch}{simpleicon\{zilch\}}
+
\showcaseicon{zillow}{simpleicon\{zillow\}}
\showcaseicon{zincsearch}{simpleicon\{zincsearch\}}
diff --git a/fonts/simpleicons/doc/simpleicons.pdf b/fonts/simpleicons/doc/simpleicons.pdf
index ab8e049c7d..1c317e9271 100644
--- a/fonts/simpleicons/doc/simpleicons.pdf
+++ b/fonts/simpleicons/doc/simpleicons.pdf
Binary files differ
diff --git a/fonts/simpleicons/enc/simpleiconsOneZero.enc b/fonts/simpleicons/enc/simpleiconsOneZero.enc
index 2fc8fb5fc6..13cfa4f0c5 100644
--- a/fonts/simpleicons/enc/simpleiconsOneZero.enc
+++ b/fonts/simpleicons/enc/simpleiconsOneZero.enc
@@ -140,6 +140,7 @@
/zhihu
/zig
/zigbee
+/zilch
/zillow
/zincsearch
/zingat
@@ -254,5 +255,4 @@
/.notdef
/.notdef
/.notdef
-/.notdef
] def
diff --git a/fonts/simpleicons/opentype/SimpleIcons.otf b/fonts/simpleicons/opentype/SimpleIcons.otf
index b0a88f0e21..eba249022e 100644
--- a/fonts/simpleicons/opentype/SimpleIcons.otf
+++ b/fonts/simpleicons/opentype/SimpleIcons.otf
Binary files differ
diff --git a/fonts/simpleicons/tex/simpleicons.sty b/fonts/simpleicons/tex/simpleicons.sty
index 60fc99f7cd..6c5299cefb 100644
--- a/fonts/simpleicons/tex/simpleicons.sty
+++ b/fonts/simpleicons/tex/simpleicons.sty
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{simpleicons}[2023/05/12 8.13.0 Simple Icons 8.13.0 Logos]
+\ProvidesPackage{simpleicons}[2023/05/19 8.14.0 Simple Icons 8.14.0 Logos]
\RequirePackage{ifxetex,ifluatex}
diff --git a/fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex b/fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
index c41ebdadea..02e8348591 100644
--- a/fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
+++ b/fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
@@ -2444,15 +2444,16 @@
\expandafter\def\csname simpleicon@zhihu\endcsname {\simpleiconsmapOneZero\symbol{138}}
\expandafter\def\csname simpleicon@zig\endcsname {\simpleiconsmapOneZero\symbol{139}}
\expandafter\def\csname simpleicon@zigbee\endcsname {\simpleiconsmapOneZero\symbol{140}}
- \expandafter\def\csname simpleicon@zillow\endcsname {\simpleiconsmapOneZero\symbol{141}}
- \expandafter\def\csname simpleicon@zincsearch\endcsname {\simpleiconsmapOneZero\symbol{142}}
- \expandafter\def\csname simpleicon@zingat\endcsname {\simpleiconsmapOneZero\symbol{143}}
- \expandafter\def\csname simpleicon@zoho\endcsname {\simpleiconsmapOneZero\symbol{144}}
- \expandafter\def\csname simpleicon@zoiper\endcsname {\simpleiconsmapOneZero\symbol{145}}
- \expandafter\def\csname simpleicon@zomato\endcsname {\simpleiconsmapOneZero\symbol{146}}
- \expandafter\def\csname simpleicon@zoom\endcsname {\simpleiconsmapOneZero\symbol{147}}
- \expandafter\def\csname simpleicon@zorin\endcsname {\simpleiconsmapOneZero\symbol{148}}
- \expandafter\def\csname simpleicon@zotero\endcsname {\simpleiconsmapOneZero\symbol{149}}
- \expandafter\def\csname simpleicon@zulip\endcsname {\simpleiconsmapOneZero\symbol{150}}
- \expandafter\def\csname simpleicon@zwave\endcsname {\simpleiconsmapOneZero\symbol{151}}
- \expandafter\def\csname simpleicon@zyte\endcsname {\simpleiconsmapOneZero\symbol{152}} \ No newline at end of file
+ \expandafter\def\csname simpleicon@zilch\endcsname {\simpleiconsmapOneZero\symbol{141}}
+ \expandafter\def\csname simpleicon@zillow\endcsname {\simpleiconsmapOneZero\symbol{142}}
+ \expandafter\def\csname simpleicon@zincsearch\endcsname {\simpleiconsmapOneZero\symbol{143}}
+ \expandafter\def\csname simpleicon@zingat\endcsname {\simpleiconsmapOneZero\symbol{144}}
+ \expandafter\def\csname simpleicon@zoho\endcsname {\simpleiconsmapOneZero\symbol{145}}
+ \expandafter\def\csname simpleicon@zoiper\endcsname {\simpleiconsmapOneZero\symbol{146}}
+ \expandafter\def\csname simpleicon@zomato\endcsname {\simpleiconsmapOneZero\symbol{147}}
+ \expandafter\def\csname simpleicon@zoom\endcsname {\simpleiconsmapOneZero\symbol{148}}
+ \expandafter\def\csname simpleicon@zorin\endcsname {\simpleiconsmapOneZero\symbol{149}}
+ \expandafter\def\csname simpleicon@zotero\endcsname {\simpleiconsmapOneZero\symbol{150}}
+ \expandafter\def\csname simpleicon@zulip\endcsname {\simpleiconsmapOneZero\symbol{151}}
+ \expandafter\def\csname simpleicon@zwave\endcsname {\simpleiconsmapOneZero\symbol{152}}
+ \expandafter\def\csname simpleicon@zyte\endcsname {\simpleiconsmapOneZero\symbol{153}} \ No newline at end of file
diff --git a/fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex b/fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
index adc300c5d4..8f79e10785 100644
--- a/fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
+++ b/fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
@@ -2444,15 +2444,16 @@
\expandafter\def\csname simpleicon@zhihu\endcsname {\simpleiconsmap\symbol{"F38C}}
\expandafter\def\csname simpleicon@zig\endcsname {\simpleiconsmap\symbol{"F38D}}
\expandafter\def\csname simpleicon@zigbee\endcsname {\simpleiconsmap\symbol{"F38E}}
- \expandafter\def\csname simpleicon@zillow\endcsname {\simpleiconsmap\symbol{"F38F}}
- \expandafter\def\csname simpleicon@zincsearch\endcsname {\simpleiconsmap\symbol{"F390}}
- \expandafter\def\csname simpleicon@zingat\endcsname {\simpleiconsmap\symbol{"F391}}
- \expandafter\def\csname simpleicon@zoho\endcsname {\simpleiconsmap\symbol{"F392}}
- \expandafter\def\csname simpleicon@zoiper\endcsname {\simpleiconsmap\symbol{"F393}}
- \expandafter\def\csname simpleicon@zomato\endcsname {\simpleiconsmap\symbol{"F394}}
- \expandafter\def\csname simpleicon@zoom\endcsname {\simpleiconsmap\symbol{"F395}}
- \expandafter\def\csname simpleicon@zorin\endcsname {\simpleiconsmap\symbol{"F396}}
- \expandafter\def\csname simpleicon@zotero\endcsname {\simpleiconsmap\symbol{"F397}}
- \expandafter\def\csname simpleicon@zulip\endcsname {\simpleiconsmap\symbol{"F398}}
- \expandafter\def\csname simpleicon@zwave\endcsname {\simpleiconsmap\symbol{"F399}}
- \expandafter\def\csname simpleicon@zyte\endcsname {\simpleiconsmap\symbol{"F39A}} \ No newline at end of file
+ \expandafter\def\csname simpleicon@zilch\endcsname {\simpleiconsmap\symbol{"F38F}}
+ \expandafter\def\csname simpleicon@zillow\endcsname {\simpleiconsmap\symbol{"F390}}
+ \expandafter\def\csname simpleicon@zincsearch\endcsname {\simpleiconsmap\symbol{"F391}}
+ \expandafter\def\csname simpleicon@zingat\endcsname {\simpleiconsmap\symbol{"F392}}
+ \expandafter\def\csname simpleicon@zoho\endcsname {\simpleiconsmap\symbol{"F393}}
+ \expandafter\def\csname simpleicon@zoiper\endcsname {\simpleiconsmap\symbol{"F394}}
+ \expandafter\def\csname simpleicon@zomato\endcsname {\simpleiconsmap\symbol{"F395}}
+ \expandafter\def\csname simpleicon@zoom\endcsname {\simpleiconsmap\symbol{"F396}}
+ \expandafter\def\csname simpleicon@zorin\endcsname {\simpleiconsmap\symbol{"F397}}
+ \expandafter\def\csname simpleicon@zotero\endcsname {\simpleiconsmap\symbol{"F398}}
+ \expandafter\def\csname simpleicon@zulip\endcsname {\simpleiconsmap\symbol{"F399}}
+ \expandafter\def\csname simpleicon@zwave\endcsname {\simpleiconsmap\symbol{"F39A}}
+ \expandafter\def\csname simpleicon@zyte\endcsname {\simpleiconsmap\symbol{"F39B}} \ No newline at end of file
diff --git a/fonts/simpleicons/tex/usimpleiconsEight.fd b/fonts/simpleicons/tex/usimpleiconsEight.fd
index a3386aaece..7e27813ad9 100644
--- a/fonts/simpleicons/tex/usimpleiconsEight.fd
+++ b/fonts/simpleicons/tex/usimpleiconsEight.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsEight.fd}[2023/05/12 Font definitions for U/simpleiconsEight.]
+ \ProvidesFile{usimpleiconsEight.fd}[2023/05/19 Font definitions for U/simpleiconsEight.]
\DeclareFontFamily{U}{simpleiconsEight}{}
\DeclareFontShape{U}{simpleiconsEight}{m}{n}{<-> SimpleIcons--simpleiconsEight}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsFive.fd b/fonts/simpleicons/tex/usimpleiconsFive.fd
index 53daaf603c..5c2beb283d 100644
--- a/fonts/simpleicons/tex/usimpleiconsFive.fd
+++ b/fonts/simpleicons/tex/usimpleiconsFive.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsFive.fd}[2023/05/12 Font definitions for U/simpleiconsFive.]
+ \ProvidesFile{usimpleiconsFive.fd}[2023/05/19 Font definitions for U/simpleiconsFive.]
\DeclareFontFamily{U}{simpleiconsFive}{}
\DeclareFontShape{U}{simpleiconsFive}{m}{n}{<-> SimpleIcons--simpleiconsFive}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsFour.fd b/fonts/simpleicons/tex/usimpleiconsFour.fd
index 7f521d8668..d865f16dad 100644
--- a/fonts/simpleicons/tex/usimpleiconsFour.fd
+++ b/fonts/simpleicons/tex/usimpleiconsFour.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsFour.fd}[2023/05/12 Font definitions for U/simpleiconsFour.]
+ \ProvidesFile{usimpleiconsFour.fd}[2023/05/19 Font definitions for U/simpleiconsFour.]
\DeclareFontFamily{U}{simpleiconsFour}{}
\DeclareFontShape{U}{simpleiconsFour}{m}{n}{<-> SimpleIcons--simpleiconsFour}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsNine.fd b/fonts/simpleicons/tex/usimpleiconsNine.fd
index 238c7ae07e..89a683aaf8 100644
--- a/fonts/simpleicons/tex/usimpleiconsNine.fd
+++ b/fonts/simpleicons/tex/usimpleiconsNine.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsNine.fd}[2023/05/12 Font definitions for U/simpleiconsNine.]
+ \ProvidesFile{usimpleiconsNine.fd}[2023/05/19 Font definitions for U/simpleiconsNine.]
\DeclareFontFamily{U}{simpleiconsNine}{}
\DeclareFontShape{U}{simpleiconsNine}{m}{n}{<-> SimpleIcons--simpleiconsNine}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsOne.fd b/fonts/simpleicons/tex/usimpleiconsOne.fd
index 3008f2657f..8cd4b90f53 100644
--- a/fonts/simpleicons/tex/usimpleiconsOne.fd
+++ b/fonts/simpleicons/tex/usimpleiconsOne.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsOne.fd}[2023/05/12 Font definitions for U/simpleiconsOne.]
+ \ProvidesFile{usimpleiconsOne.fd}[2023/05/19 Font definitions for U/simpleiconsOne.]
\DeclareFontFamily{U}{simpleiconsOne}{}
\DeclareFontShape{U}{simpleiconsOne}{m}{n}{<-> SimpleIcons--simpleiconsOne}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsOneZero.fd b/fonts/simpleicons/tex/usimpleiconsOneZero.fd
index 107896b168..fcbf083979 100644
--- a/fonts/simpleicons/tex/usimpleiconsOneZero.fd
+++ b/fonts/simpleicons/tex/usimpleiconsOneZero.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsOneZero.fd}[2023/05/12 Font definitions for U/simpleiconsOneZero.]
+ \ProvidesFile{usimpleiconsOneZero.fd}[2023/05/19 Font definitions for U/simpleiconsOneZero.]
\DeclareFontFamily{U}{simpleiconsOneZero}{}
\DeclareFontShape{U}{simpleiconsOneZero}{m}{n}{<-> SimpleIcons--simpleiconsOneZero}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsSeven.fd b/fonts/simpleicons/tex/usimpleiconsSeven.fd
index 25f65b0984..a8792a4001 100644
--- a/fonts/simpleicons/tex/usimpleiconsSeven.fd
+++ b/fonts/simpleicons/tex/usimpleiconsSeven.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsSeven.fd}[2023/05/12 Font definitions for U/simpleiconsSeven.]
+ \ProvidesFile{usimpleiconsSeven.fd}[2023/05/19 Font definitions for U/simpleiconsSeven.]
\DeclareFontFamily{U}{simpleiconsSeven}{}
\DeclareFontShape{U}{simpleiconsSeven}{m}{n}{<-> SimpleIcons--simpleiconsSeven}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsSix.fd b/fonts/simpleicons/tex/usimpleiconsSix.fd
index 327004c8bc..1170d3a0d3 100644
--- a/fonts/simpleicons/tex/usimpleiconsSix.fd
+++ b/fonts/simpleicons/tex/usimpleiconsSix.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsSix.fd}[2023/05/12 Font definitions for U/simpleiconsSix.]
+ \ProvidesFile{usimpleiconsSix.fd}[2023/05/19 Font definitions for U/simpleiconsSix.]
\DeclareFontFamily{U}{simpleiconsSix}{}
\DeclareFontShape{U}{simpleiconsSix}{m}{n}{<-> SimpleIcons--simpleiconsSix}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsThree.fd b/fonts/simpleicons/tex/usimpleiconsThree.fd
index 5eed661d71..e5b433a848 100644
--- a/fonts/simpleicons/tex/usimpleiconsThree.fd
+++ b/fonts/simpleicons/tex/usimpleiconsThree.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsThree.fd}[2023/05/12 Font definitions for U/simpleiconsThree.]
+ \ProvidesFile{usimpleiconsThree.fd}[2023/05/19 Font definitions for U/simpleiconsThree.]
\DeclareFontFamily{U}{simpleiconsThree}{}
\DeclareFontShape{U}{simpleiconsThree}{m}{n}{<-> SimpleIcons--simpleiconsThree}{}
\endinput
diff --git a/fonts/simpleicons/tex/usimpleiconsTwo.fd b/fonts/simpleicons/tex/usimpleiconsTwo.fd
index bc53f3fe08..bfc643bd97 100644
--- a/fonts/simpleicons/tex/usimpleiconsTwo.fd
+++ b/fonts/simpleicons/tex/usimpleiconsTwo.fd
@@ -1,5 +1,5 @@
- \ProvidesFile{usimpleiconsTwo.fd}[2023/05/12 Font definitions for U/simpleiconsTwo.]
+ \ProvidesFile{usimpleiconsTwo.fd}[2023/05/19 Font definitions for U/simpleiconsTwo.]
\DeclareFontFamily{U}{simpleiconsTwo}{}
\DeclareFontShape{U}{simpleiconsTwo}{m}{n}{<-> SimpleIcons--simpleiconsTwo}{}
\endinput
diff --git a/fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm b/fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
index 7b1269e99c..b0a6975aac 100644
--- a/fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
+++ b/fonts/simpleicons/tfm/SimpleIcons--simpleiconsOneZero.tfm
Binary files differ
diff --git a/fonts/simpleicons/type1/SimpleIcons.pfb b/fonts/simpleicons/type1/SimpleIcons.pfb
index 8917fa7414..051f1022af 100644
--- a/fonts/simpleicons/type1/SimpleIcons.pfb
+++ b/fonts/simpleicons/type1/SimpleIcons.pfb
Binary files differ
diff --git a/macros/context/contrib/context-sudoku/sudoku/LICENSE b/macros/context/contrib/context-sudoku/LICENSE
index ab4635fd09..ab4635fd09 100644
--- a/macros/context/contrib/context-sudoku/sudoku/LICENSE
+++ b/macros/context/contrib/context-sudoku/LICENSE
diff --git a/macros/context/contrib/context-sudoku/sudoku/README.md b/macros/context/contrib/context-sudoku/README.md
index f9ffa7b04e..f9ffa7b04e 100644
--- a/macros/context/contrib/context-sudoku/sudoku/README.md
+++ b/macros/context/contrib/context-sudoku/README.md
diff --git a/macros/context/contrib/context-sudoku/sudoku/VERSION b/macros/context/contrib/context-sudoku/VERSION
index 0129129226..0129129226 100644
--- a/macros/context/contrib/context-sudoku/sudoku/VERSION
+++ b/macros/context/contrib/context-sudoku/VERSION
diff --git a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-01.txt b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-01.txt
index 457b024636..457b024636 100644
--- a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-01.txt
+++ b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-01.txt
diff --git a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-02.txt b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-02.txt
index 9898c3f46b..9898c3f46b 100644
--- a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-02.txt
+++ b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-02.txt
diff --git a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-03.txt b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-03.txt
index 05e95666b6..05e95666b6 100644
--- a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku-test-03.txt
+++ b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku-test-03.txt
diff --git a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku.lua b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku.lua
index 4e6e12578b..4e6e12578b 100644
--- a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku.lua
+++ b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku.lua
diff --git a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku.mkvi b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku.mkvi
index 45ee942bf6..45ee942bf6 100644
--- a/macros/context/contrib/context-sudoku/sudoku/tex/context/third/sudoku/t-sudoku.mkvi
+++ b/macros/context/contrib/context-sudoku/tex/context/third/sudoku/t-sudoku.mkvi
diff --git a/macros/latex/contrib/counterz/README b/macros/latex/contrib/counterz/README
new file mode 100644
index 0000000000..b7376e3a0b
--- /dev/null
+++ b/macros/latex/contrib/counterz/README
@@ -0,0 +1,22 @@
+
+
+----------------------------------------------------------------------
+`counterz' --- 2023/05/19 Version 1.0.0
+
+Copyright (C) 2023 by Christopher McClain
+E-mail: christopher.mcclain@mail.wvu.edu
+
+Released under the LaTeX Project Public License v1.3c or later
+See https://www.latex-project.org/lppl.txt
+----------------------------------------------------------------------
+
+The `counterz' package provides additional tools for manipulating
+counters. The package facilitates the use of stealth prefixes for
+counter names in order to help distinguish between counters from
+multiple input files. The package also provides a means to generate
+random counters and save such counter values for future typesetting.
+
+
+
+
+
diff --git a/macros/latex/contrib/counterz/counterz.dtx b/macros/latex/contrib/counterz/counterz.dtx
new file mode 100644
index 0000000000..82857faf4c
--- /dev/null
+++ b/macros/latex/contrib/counterz/counterz.dtx
@@ -0,0 +1,1409 @@
+% \iffalse meta-comment
+% !TEX program = pdfLaTeX
+
+%<*internal>
+\iffalse
+%</internal>
+
+%<*readme>
+----------------------------------------------------------------------
+`counterz' --- 2023/05/19 Version 1.0.0
+
+Copyright (C) 2023 by Christopher McClain
+E-mail: christopher.mcclain@mail.wvu.edu
+
+Released under the LaTeX Project Public License v1.3c or later
+See https://www.latex-project.org/lppl.txt
+----------------------------------------------------------------------
+
+The `counterz' package provides additional tools for manipulating
+counters. The package facilitates the use of stealth prefixes for
+counter names in order to help distinguish between counters from
+multiple input files. The package also provides a means to generate
+random counters and save such counter values for future typesetting.
+%</readme>
+
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%</internal>
+
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+----------------------------------------------------------------------
+`counterz' --- 2023/05/19 Version 1.0.0 Additional tools for counters
+E-mail: christopher.mcclain@mail.wvu.edu
+Released under the LaTeX Project Public License v1.3c or later
+See https://www.latex-project.org/lppl.txt
+----------------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+Copyright (C) 2023 by Christopher McClain
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+https://www.latex-project.org/lppl.txt
+
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Christopher McClain.
+
+This work consists of the file counterz.dtx
+and the derived files counterz.ins,
+ counterz.pdf and
+ counterz.sty.
+
+\endpostamble
+
+\usedir{tex/latex/counterz}
+\generate{
+ \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+
+%</install>
+%<install>\endbatchfile
+
+%<*internal>
+\usedir{source/latex/counterz}
+\generate{
+ \file{\jobname.ins}{\from{\jobname.dtx}{install}}
+}
+\nopreamble\nopostamble
+\usedir{doc/latex/counterz}
+\generate{
+ \file{README.txt}{\from{\jobname.dtx}{readme}}
+}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+%</package>
+
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{\jobname}
+\usepackage[numbered]{hypdoc}
+\EnableCrossrefs
+\DoNotIndex{\addtocounter,\Alph,\alph,\arabic,\begingroup,\boolfalse,\booltrue,
+ \catcode,\endgroup,\fnsymbol,\gdef,\ifbool,\ifboolexpr,\ifnumequal,
+ \ifnumgreater,\ifnumless,\immediate,\jobname,\newcommand,
+ \newcounter,\newbool,\newwrite,\numexpr,\openout,\pdfuniformdeviate,
+ \providecounter,\ProvidesPackage,\relax,\renewcommand,
+ \RequirePackage,\Roman,\roman,\setcounter,\the,\unexpanded,\value,
+ \whileboolexpr,\write}
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \newenvironment{codeoutput}{\newline\newline}{\newline\newline}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+%\GetFileInfo{\jobname.sty}
+%
+%\title{^^A
+% The \textsf{counterz} package\thanks{^^A
+% This file describes version \fileversion, last revised \filedate.^^A
+% }^^A
+%}
+%\author{^^A
+% Christopher McClain\thanks{E-mail: christopher.mcclain@mail.wvu.edu}^^A
+%}
+%\date{Released \filedate}
+%
+%\maketitle
+%
+%\changes{v1.0.0}{2023/05/19}{First public release}
+%
+%
+%\begin{abstract}
+% The \textsf{counterz} package provides additional tools for manipulating
+% counters. The package facilitates the use of stealth prefixes for
+% counter names in order to help distinguish between counters from
+% multiple input files. The package also provides a means to generate
+% random counters and save such counter values for future typesetting.
+%\end{abstract}
+%
+%\begin{multicols}{2}
+% \tableofcontents
+%\end{multicols}
+%
+%\section{Introduction}
+%
+%\subsection{About}
+%
+% This project emerged from the author's frequent use of \LaTeX\ counters as
+% traditional integer type variables when generating mathematics documents with
+% random elements. While pdf\TeX\ primitives such as \cs{pdfuniformdeviate} may
+% be used to generate random integers, these integer values will be randomized
+% with every typesetting. The \textsf{counterz} package provides a way to save
+% the values of counters. Another \textsf{.tex} file is created so that, if
+% desired, it can be inputted upon a subsequent typesetting in order to
+% initialize the counters with the previously generated values. A boolean
+% variable and accompanying commands allow an author to toggle between reusing
+% and rerandomizing counters.
+%
+% One of the consequences of preloading counter values in large projects with
+% multiple source files is that one must take care to use distinct counter names
+% throughout all of the different files. If the file \textsf{Main.tex} inputs
+% \textsf{File1.tex} and \textsf{File2.tex}, and both input files define the
+% counter \textit{mycounter}, then this could result in typesetting errors. One
+% way to address this problem is to prefix every counter name with the file name
+% or some other marker so that the counter names will actually be distinct. For
+% example, \textit{File1mycounter} is distinct from \textit{File2mycounter}.
+% Very long counter names, however, can make code difficult to read and hinder
+% consistent application of this practice. The \textsf{counterz} package
+% provides a way to stealthily define and recall such prefixes so that the
+% shorter non-prefixed names can be used for the manipulation, recall, and
+% typesetting of counters.
+%
+%\subsection{License}
+%
+% Copyright \copyright\ 2023 Christopher McClain. This software may be copied,
+% distributed, and/or modified under the %terms of the
+% \href{https://www.latex-project.org/lppl/}{LaTeX Project Public License},
+% either version 1.3c of this license or any later version.
+%
+%\subsection{Installation}
+%
+% This package may be installed by copying the file \textsf{counterz.sty} to
+% your local texmf directory. The code and documentation may also be generated
+% from \textsf{\jobname.dtx}. Typesetting the documentation requires
+% the package \textsf{hypdoc} which is included in \TeX\ distributions and at
+% \href{http://www.ctan.org}{The Comprehensive TeX Archive Network}.
+%
+%\section{User Guide}
+%
+% To use this package, include the following line in the preamble of your
+% document:
+%
+%\begin{verbatim}
+%\usepackage{counterz}
+%\end{verbatim}
+% The package \textsf{counterz} loads the packages \textsf{etoolbox} and
+% \textsf{makecmds}, both of which are included in \TeX\ distributions
+% and at \href{http://www.ctan.org}{The Comprehensive TeX Archive Network}.
+%
+%\subsection{Counter Prefixes}
+%
+%\DescribeMacro{\setcounterprefix}
+%\DescribeMacro{\clearcounterprefix}
+% Counter prefixes are stored in an internal macro whose default value is an
+% empty string. The command \cs{setcounterprefix}\marg{prefix} is used to change
+% this value. For example, to change the prefix to \textit{PurpleMonkey}, use
+%\begin{verbatim}
+%\setcounterprefix{PurpleMonkey}
+%\end{verbatim}
+% and to change it from \textit{PurpleMonkey} to \textit{Dishwasher}, use
+%\begin{verbatim}
+%\setcounterprefix{Dishwasher}
+%\end{verbatim}
+% The command \cs{clearcounterprefix} returns the prefix to its empty default:
+%\begin{verbatim}
+%\clearcounterprefix
+%\end{verbatim}
+%
+%\subsection{Manipulating Counters}
+%
+%\DescribeMacro{\xnewcounter}
+%\DescribeMacro{\xprovidecounter}
+%\DescribeMacro{\xsetcounter}
+%\DescribeMacro{\xaddtocounter}
+%\DescribeMacro{\xvalue}
+% The command \cs{xnewcounter}\marg{countername} creates a counter with a
+% prefixed name. The command \cs{xsetcounter}\marg{countername}\marg{integer}
+% assigns the specified value to the counter with the prefixed name. For
+% example, suppose that the file \textsf{BoringFile1.tex} contains the
+% following:
+%\begin{verbatim}
+%\xnewcounter{bestcounterever}
+%\xsetcounter{bestcounterever}{100}
+%\end{verbatim}
+% and suppose that the file \textsf{BoringFile2.tex} contains the following:
+%\begin{verbatim}
+%\xnewcounter{bestcounterever}
+%\xsetcounter{bestcounterever}{-29}
+%\end{verbatim}
+% and, finally, suppose that the file Main.tex contains (in part) the following:
+%\begin{verbatim}
+%\setcounterprefix{PurpleMonkey}
+%\input{BoringFile1}
+%\setcounterprefix{Dishwasher}
+%\input{BoringFile2}
+%\end{verbatim}
+% Then typesetting \textsf{Main.tex} will create a counter
+% \textit{PurpleMonkeybestcounterever} with the value 100 and a counter
+% \textit{Dishwasherbestcounterever} with the value $-29$. By using commands
+% \cs{xnewcounter} and \cs{xsetcounter} instead of \cs{newcounter} and
+% \cs{setcounter}, \textsf{BoringFile1.tex} and \textsf{BoringFile2.tex}
+% may be written independently without considering any counter name conflicts.
+% The distinction between the counters is determined by the prefixes defined
+% in the file \textsf{Main.tex}. By changing prefixes, \textsf{Main.tex} can
+% even input the same file multiple times without conflict.
+%
+% The commands \cs{xprovidecounter}, \cs{xaddtocounter}, and \cs{xvalue} are
+% likewise prefix versions of commands \cs{providecounter}, \cs{addtocounter},
+% and \cs{value}, respectively. When the prefix is empty, the commands expand
+% like their standard counterparts. (Note: \cs{providecounter} defines a counter
+% if it has not already been defined. See the documentation for the package
+% \textsf{makecmds} for details.)
+%
+%\subsection{Conditional Statements}
+%
+%\DescribeMacro{\ifctrequal}
+%\DescribeMacro{\ifctrless}
+%\DescribeMacro{\ifctrmore}
+% The command \cs{ifctrequal}\marg{counter1}\marg{counter2}\marg{foo}\marg{bar}
+% uses the command \cs{xvalue} to compare the values of the (prefixed) counters
+% and then executes \meta{foo} if the values are equal and otherwise executes
+% \meta{bar}. The commands \cs{ifctrless} and \cs{ifctrmore} work analogously,
+% based on whether the value of prefixed \meta{counter1} is less than that of
+% of prefixed \meta{counter2} or more than that of prefixed \meta{counter2},
+% respectively. Consider the example code
+%\begin{verbatim}
+%\setcounterprefix{TigerTiger}
+%\xnewcounter{Small}
+%\xsetcounter{Small}{7}
+%\xnewcounter{Large}
+%\xsetcounter{Large}{11}
+%\ifctrequal{Small}{Large}{January}{February}
+%\ifctrless{Small}{Large}{March}{April}
+%\ifctrmore{Small}{Large}{May}{June}
+%\end{verbatim}
+% which produces the output
+% \begin{codeoutput}
+%\setcounterprefix{TigerTiger}
+%\xnewcounter{Small}
+%\xsetcounter{Small}{7}
+%\xnewcounter{Large}
+%\xsetcounter{Large}{11}
+%\ifctrequal{Small}{Large}{January}{February}
+%\ifctrless{Small}{Large}{March}{April}
+%\ifctrmore{Small}{Large}{May}{June}
+% \end{codeoutput}
+% because the value of the counter \textit{TigerTigerSmall} is 7 which is less
+% than 11, the value of the counter \textit{TigerTigerLarge}.
+%
+%\DescribeMacro{\ifctrzero}
+%\DescribeMacro{\ifctrneg}
+%\DescribeMacro{\ifctrpos}
+% The command \cs{ifctrzero}\marg{counter}\marg{foo}\marg{bar} executes
+% \meta{foo} if the value of the (prefixed) counter is zero and otherwise
+% executes \meta{bar}. The commands \cs{ifctrneg} and \cs{ifctrpos} work
+% analogously based on whether the value is negative or positive, respectively.
+% The example code
+%\begin{verbatim}
+%\setcounterprefix{TigerTiger}
+%\xprovidecounter{Small}
+%\xsetcounter{Small}{7}
+%\ifctrzero{Small}{January}{February}
+%\ifctrneg{Small}{March}{April}
+%\ifctrpos{Small}{May}{June}
+%\end{verbatim}
+% produces the output
+% \begin{codeoutput}
+%\setcounterprefix{TigerTiger}
+%\xprovidecounter{Small}
+%\xsetcounter{Small}{7}
+%\ifctrzero{Small}{January}{February}
+%\ifctrneg{Small}{March}{April}
+%\ifctrpos{Small}{May}{June}
+% \end{codeoutput}
+% because the value of the counter \textit{TigerTigerSmall} is 7 which is
+% positive (and thus nonzero, as well).
+%
+%\subsection{Displaying Counters}
+%
+%\DescribeMacro{\xarabic}
+%\DescribeMacro{\xroman}
+%\DescribeMacro{\xRoman}
+%\DescribeMacro{\xalph}
+%\DescribeMacro{\xAlph}
+%\DescribeMacro{\xfnsymbol}
+% The command \cs{xarabic}\marg{counter} is simply a prefix version of the
+% standard display command \cs{arabic}. The commands \cs{xroman}, \cs{xRoman},
+% \cs{xalph}, \cs{xAlph}, and \cs{xfnsymbol} are likewise prefix versions of
+% the standard display commands \cs{roman}, \cs{Roman}, \cs{alph}, \cs{Alph},
+% and \cs{fnsymbol}, inheriting the restrictions of their parent commands.
+% Note that the code
+%\begin{verbatim}
+%\setcounterprefix{Sneaky}
+%\xprovidecounter{Pete}
+%\xsetcounter{Pete}{42}
+%\arabic{Pete}
+%\end{verbatim}
+% produces an error because the counter \textit{Pete} is not defined, but the
+% code
+%\begin{verbatim}
+%\setcounterprefix{Sneaky}
+%\xprovidecounter{Pete}
+%\xsetcounter{Pete}{42}
+%\xarabic{Pete}
+%\end{verbatim}
+% produces the output
+% \begin{codeoutput}
+%\setcounterprefix{Sneaky}
+%\xprovidecounter{Pete}
+%\xsetcounter{Pete}{42}
+%\xarabic{Pete}
+% \end{codeoutput}
+% which is the value of the counter \textit{SneakyPete}. The code
+%\begin{verbatim}
+%\setcounterprefix{Sneaky}
+%\xprovidecounter{Pete}
+%\xsetcounter{Pete}{42}
+%\clearcounterprefix
+%\xarabic{Pete}
+%\end{verbatim}
+% also generates error because the final line is trying to use the
+% undefined counter \textit{Pete} after the prefix was returned to its
+% default value.
+%
+% In addition to prefix versions of the standard display commands, the package
+% \textsf{counterz} defines some variants of \cs{xarabic} that are useful in
+% the display of mathematical expressions. For example, consider the following
+% code:
+%\begin{verbatim}
+%\xprovidecounter{a}
+%\xsetcounter{a}{5}
+%\xprovidecounter{b}
+%\xsetcounter{b}{0}
+%\xprovidecounter{c}
+%\xsetcounter{c}{-7}
+%$\xarabic{a}+\xarabic{b}+\xarabic{c}$
+%\end{verbatim}
+% which produces
+% \begin{codeoutput}
+%\xprovidecounter{a}
+%\xsetcounter{a}{5}
+%\xprovidecounter{b}
+%\xsetcounter{b}{0}
+%\xprovidecounter{c}
+%\xsetcounter{c}{-7}
+%$\xarabic{a}+\xarabic{b}+\xarabic{c}$
+% \end{codeoutput}
+% Using \cs{arabicx} causes the expression to
+% contain the consecutive pair $+-$. The command
+%\DescribeMacro{\xsigned}
+% \cs{xsigned}\marg{counter} is like \cs{xarabic} except that nonnegative values
+% are preceded by a plus sign ``+''. The code
+%\begin{verbatim}
+%$\xarabic{a}\xsigned{b}\xsigned{c}$
+%\end{verbatim}
+% produces
+% \begin{codeoutput}
+%$\xarabic{a}\xsigned{b}\xsigned{c}$
+% \end{codeoutput}
+% If we wish to suppress the $0$, we can instead use the command
+%\DescribeMacro{\xsignednz}
+%\DescribeMacro{\xarabicnz}
+% \cs{xsignednz}\marg{counter} which is a nonzero version of \cs{xsigned} and,
+% if desired or necessary, the command \cs{xarabicnz}\marg{counter} which is a
+% nonzero version of \cs{xarabic}.
+% The code
+%\begin{verbatim}
+%$\xarabicnz{a}\xsignednz{b}\xsignednz{c}$
+%\end{verbatim}
+% produces
+% \begin{codeoutput}
+%$\xarabicnz{a}\xsignednz{b}\xsignednz{c}$
+% \end{codeoutput}
+%\DescribeMacro{\xnegof}
+%\DescribeMacro{\xnegofnz}
+%\DescribeMacro{\xnegsigned}
+%\DescribeMacro{\xnegsignednz}
+% The package also contains variants of these commands for displaying the
+% negatives of counters, as demonstrated by the following code:
+%\begin{verbatim}
+%\xprovidecounter{d}
+%\xsetcounter{d}{-2}
+%$\xarabic{a}\xsigned{b}\xsigned{c}=\xarabic{d}$\\
+%$\xnegof{d}=\xnegof{a}\xnegsigned{b}\xnegsigned{c}$\\
+%$\xnegofnz{d}=\xnegofnz{a}\xnegsignednz{b}\xnegsignednz{c}$
+%\end{verbatim}
+% which produces
+%\begin{codeoutput}
+%\xprovidecounter{d}
+%\xsetcounter{d}{-2}
+%$\xarabic{a}\xsigned{b}\xsigned{c}=\xarabic{d}$\\
+%$\xnegof{d}=\xnegof{a}\xnegsigned{b}\xnegsigned{c}$\\
+%$\xnegofnz{d}=\xnegofnz{a}\xnegsignednz{b}\xnegsignednz{c}$
+%\end{codeoutput}
+% The preceding commands for displaying values related to counters were created
+% by using some other commands that we make available in case they prove useful.
+%\DescribeMacro{\xabsof}
+%\DescribeMacro{\xsignof}
+%\DescribeMacro{\xnegsignof}
+% The command \cs{xabsof}\marg{counter} prints the absolute value of
+% \meta{counter}. The command \cs{xsignof}\marg{counter} prints a minus sign
+% ``-'' if \meta{counter} is negative and otherwise prints a plus sign ``+''.
+% (Note that the latter case includes the value zero.) The command
+% \cs{xnegsignof}\marg{counter} prints a plus sign ``+'' if \meta{counter} is
+% negative and otherwise prints a minus sign ``-''. (Note that the former case
+% includes the value zero.)
+%
+% Additional variants of these commands suppress certain output, as is
+% conventional when using integers as coefficients in algebraic expressions.
+%\DescribeMacro{\xabsofcoef}
+%\DescribeMacro{\xsignofcoef}
+%\DescribeMacro{\xnegsignofcoef}
+% The command \cs{xabsofcoef}\marg{counter} prints the absolute value of
+% \meta{counter} except that it suppresses the values of 1 and 0. The command
+% \cs{xsignofcoef}\marg{counter} prints the sign of \meta{counter} if the value
+% of \meta{counter} is nonzero. The command \cs{xnegsignofcoef}\marg{counter}
+% prints the opposite sign of \meta{counter} if the value of \meta{counter} is
+% nonzero. These commands are used to build versions of \cs{xarabic} and
+% \cs{xsigned} specific to typesetting coefficients, as we now illustrate.
+%
+% Consider the following code
+%\begin{verbatim}
+%\xprovidecounter{a0}
+%\xsetcounter{a0}{-10}
+%\xprovidecounter{a1}
+%\xsetcounter{a1}{1}
+%\xprovidecounter{a2}
+%\xsetcounter{a2}{-5}
+%\xprovidecounter{a3}
+%\xsetcounter{a3}{-1}
+%\xprovidecounter{a4}
+%\xsetcounter{a4}{0}
+%\xprovidecounter{a5}
+%\xsetcounter{a5}{11}
+%$\xarabic{a5}x^5 + \xarabic{a4}x^4 + \xarabic{a3}x^3 + \xarabic{a2}x^2
+% + \xarabic{a1}x + \xarabic{a0} = 42$
+%\end{verbatim}
+% and its output
+%\begin{codeoutput}
+%\xprovidecounter{a0}
+%\xsetcounter{a0}{-10}
+%\xprovidecounter{a1}
+%\xsetcounter{a1}{1}
+%\xprovidecounter{a2}
+%\xsetcounter{a2}{-5}
+%\xprovidecounter{a3}
+%\xsetcounter{a3}{-1}
+%\xprovidecounter{a4}
+%\xsetcounter{a4}{0}
+%\xprovidecounter{a5}
+%\xsetcounter{a5}{11}
+%$\xarabic{a5}x^5 + \xarabic{a4}x^4 + \xarabic{a3}x^3 + \xarabic{a2}x^2
+% + \xarabic{a1}x + \xarabic{a0} = 42$
+%\end{codeoutput}
+% We seek a better way to handle the coefficients, especially $1$ and $-1$.
+%\DescribeMacro{\xcoef}
+%\DescribeMacro{\xsignedcoef}
+% The command \cs{xcoef}\marg{counter} prints the value of \meta{counter} except
+% that it suppresses the values of 1, 0, and -1, printing a minus sign ``-'' in
+% the latter case. The command \cs{xsignedcoef}\marg{counter} is like \cs{xcoef}
+% except that positive values are preceded by a plus sign ``+''. We use these to
+% write the code
+%\begin{verbatim}
+%$\xarabic{a5}x^5 + \xarabic{a4}x^4 + \xarabic{a3}x^3 + \xarabic{a2}x^2
+% + \xarabic{a1}x + \xarabic{a0} = 42$\\
+%$\xcoef{a5}\ifctrzero{a5}{}{x^5} \xsignedcoef{a4}\ifctrzero{a4}{}{x^4}
+% \xsignedcoef{a3}\ifctrzero{a3}{}{x^3} \xsignedcoef{a2}\ifctrzero{a2}{}{x^2}
+% \xsignedcoef{a1}\ifctrzero{a1}{}{x} \xsignednz{a0} = 42$
+%\end{verbatim}
+% whose output is
+%\begin{codeoutput}
+%$\xarabic{a5}x^5 + \xarabic{a4}x^4 + \xarabic{a3}x^3 + \xarabic{a2}x^2
+% + \xarabic{a1}x + \xarabic{a0} = 42$\\
+%$\xcoef{a5}\ifctrzero{a5}{}{x^5} \xsignedcoef{a4}\ifctrzero{a4}{}{x^4}
+% \xsignedcoef{a3}\ifctrzero{a3}{}{x^3} \xsignedcoef{a2}\ifctrzero{a2}{}{x^2}
+% \xsignedcoef{a1}\ifctrzero{a1}{}{x} \xsignednz{a0} = 42$
+%\end{codeoutput}
+%\DescribeMacro{\xnegcoef}
+%\DescribeMacro{\xnegsignedcoef}
+% The command \cs{xnegcoef}\marg{counter} prints the negative of the value of
+% \meta{counter} except that it suppresses the values of 1, 0, and -1, printing
+% a ``-'' in the latter case. The command \cs{xnegsignedcoef}\marg{counter} is
+% like \cs{xnegcoef} except that positive values are preceded by a plus sign
+% ``+''. We use these to write the code
+%\begin{verbatim}
+%$\xcoef{a5}\ifctrzero{a5}{}{x^5} \xsignedcoef{a4}\ifctrzero{a4}{}{x^4}
+% \xsignedcoef{a3}\ifctrzero{a3}{}{x^3} \xsignedcoef{a2}\ifctrzero{a2}{}{x^2}
+% \xsignedcoef{a1}\ifctrzero{a1}{}{x} \xsignednz{a0} = 42$\\
+%$\xcoef{a5}\ifctrzero{a5}{}{x^5} \xsignedcoef{a4}\ifctrzero{a4}{}{x^4}
+% \xsignedcoef{a2}\ifctrzero{a2}{}{x^2} \xsignednz{a0}
+% = \xnegcoef{a3}\ifctrzero{a3}{}{x^3} \xnegsignedcoef{a1}\ifctrzero{a1}{}{x}
+% +42$
+%\end{verbatim}
+% whose output is
+%\begin{codeoutput}
+%$\xcoef{a5}\ifctrzero{a5}{}{x^5} \xsignedcoef{a4}\ifctrzero{a4}{}{x^4}
+% \xsignedcoef{a3}\ifctrzero{a3}{}{x^3} \xsignedcoef{a2}\ifctrzero{a2}{}{x^2}
+% \xsignedcoef{a1}\ifctrzero{a1}{}{x} \xsignednz{a0} = 42$\\
+%$\xcoef{a5}\ifctrzero{a5}{}{x^5} \xsignedcoef{a4}\ifctrzero{a4}{}{x^4}
+% \xsignedcoef{a2}\ifctrzero{a2}{}{x^2} \xsignednz{a0}
+% = \xnegcoef{a3}\ifctrzero{a3}{}{x^3} \xnegsignedcoef{a1}\ifctrzero{a1}{}{x}
+% +42$
+%\end{codeoutput}
+% As the reader has probably already observed in the code above, these display
+% commands appear to be less efficient than a manual adjustment of signs and
+% numbers. For fixed, known values of counters, this assessment is correct. The
+% real utility of these commands is not apparent until they are combined with
+% randomly generated counter values.
+%
+%\subsection{Random Counters}
+%
+%\DescribeMacro{\xrandsetcounter}
+%\DescribeMacro{\xrandaddtocounter}
+% We first define random versions of \cs{xsetcounter} and \cs{xaddtocounter}.
+% The command \cs{xrandsetcounter}\marg{counter}\marg{min}\marg{max} assigns
+% to the prefixed \meta{counter} a random integer value between \meta{min} and
+% \meta{max}. Analogously, the command
+% \cs{xrandaddtocounter}\marg{counter}\marg{min}\marg{max} adds to the prefixed
+% \meta{counter} a random integer value between \meta{min} and \meta{max}. The
+% following code may be used to produce an expression in the form $ax+b$, where
+% $a$ and $b$ are random integers between $-10$ and $10$:
+%\begin{verbatim}
+%\xprovidecounter{a}
+%\xprovidecounter{b}
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$
+%\end{verbatim}
+% Organized in the following table are sixty instances of output that are
+% randomly generated by the typesetting of this document:
+%\begin{codeoutput}
+%\xprovidecounter{a}
+%\xprovidecounter{b}
+%\begin{tabular}{rrrrrr}
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ &
+%\xrandsetcounter{a}{-10}{10}
+%\xrandsetcounter{b}{-10}{10}
+%$\xcoef{a}\ifctrzero{a}{\xarabic{b}}{x \xsignednz{b}}$ \\
+%\end{tabular}
+%\end{codeoutput}
+%
+% If our document contains randomly generated counters, but we wish to typeset
+% the document again without changing those values, then we need a way to save
+% those values. The \textsf{counterz} package offers the following solution: a
+% file \textsf{\meta{jobname}.counters.tex} may be created during the
+% typesetting process to store the necessary information. For example, if the
+% document is named \textsf{Yellowdog.tex}, then the previously generated
+% counters and their assigned values will be stored the file
+% \textsf{Yellowdog.counters.tex}.
+%\DescribeMacro{\opencountersfile}
+% The command \cs{opencountersfile} creates and opens the write stream to this
+% file. The author only has to include this command once, prior to any commands
+% used to save the counter values.
+%
+%\DescribeMacro{\xsavecounter}
+% The command \cs{xsavecounter}\marg{counter} ``saves'' the value of
+% \textit{counter} by writing to the file \textsf{\meta{jobname}.counters.tex}
+% the relevant \cs{providecounter} and \cs{setcounter} commands. The commands
+% written to the file explicitly include the necessary counter prefixes, and
+% consequently an author can, if necessary, manually find in the file the
+% specific assignment for any counter. The counters file may then be inputted
+% near the beginning of a subsequent typesetting to preassign all of the
+% values.
+%
+%\DescribeMacro{\randomizectr}
+%\DescribeMacro{\norandomizectr}
+%\DescribeMacro{\ifrandomizectr}
+% In order to effectively manage the options of randomizing counter values or
+% reusing counter values, the \textsf{counterz} package offers the commands
+% \cs{randomizectr} and \cs{norandomizectr} that toggle an internal boolean
+% variable, and a conditional \cs{ifrandomizectr}\marg{foo}\marg{bar} that
+% executes \meta{foo} when the boolean is true and otherwise executes
+% \meta{bar}. For example, a document named \textsf{Yellowdog.tex} might
+% include the code
+%\begin{verbatim}
+%\ifrandomizectr{}{input{Yellowdog.counters}}
+%\end{verbatim}
+% to determine whether to preload previously stored counter values.
+%
+%\DescribeMacro{\xrandprovidecounter}
+%\DescribeMacro{\xrandprovidecounternz}
+% The command \cs{xrandprovidecounter}\marg{counter}\marg{min}\marg{max}
+% combines the four commands \cs{xprovidecounter}, \cs{ifrandomizectr},
+% \cs{xrandsetcounter}, and \cs{xsavecounter} to define a command that creates
+% \meta{counter} if it has not already been defined and, if the document is
+% randomized, assigns to \meta{counter} a random integer value between
+% \meta{min} and \meta{max} and saves this value to the counters file. The
+% command \cs{xrandprovidecounternz} is like \cs{xrandprovidecounter} except
+% that the generated value is nonzero. Suppose that \textsf{Neverending.tex}
+% contains the code
+%\begin{verbatim}
+%\randomizectr
+%\ifrandomizectr{\opencountersfile}{}
+%\setcounterprefix{Southern}
+%\xrandprovidecounternz{Oracle}{-10}{10}
+%\xcoef{Oracle}x+42
+%\end{verbatim}
+% After typesetting once, the resulting document might display an expression
+% such as $-9x+42$ and print to \textsf{Neverending.counters.tex} the line
+%\begin{verbatim}
+%\providecounter {SouthernOracle} \setcounter {SouthernOracle}{-9}
+%\end{verbatim}
+% After typesetting a second time, the resulting document might display $4x+42$
+% and print to \textsf{Neverending.counters.tex} the line
+%\begin{verbatim}
+%\providecounter {SouthernOracle} \setcounter {SouthernOracle}{4}
+%\end{verbatim}
+% If, however, the command \cs{randomizectr} is replaced by \cs{norandomizectr},
+% then a third typesetting will leave both the displayed text and the counters
+% file unchanged. (Tip: Users who are concerned about accidental randomization
+% might create a terminal prompt with the commands \cs{typeout} and \cs{typein}
+% to input the randomization preference, as an added layer of security.)
+%
+%\StopEventually{^^A
+% \PrintChanges
+% \PrintIndex
+%}
+%
+%\section{Implementation}
+%
+% The \textsf{counterz} package loads the two packages \textsf{etoolbox} and
+% \textsf{makecmds} for the use of conditional tests (boolean and numerical)
+% and the macro \cs{providecounter}.
+%
+% \begin{macrocode}
+%<*package>
+\ProvidesPackage{counterz}[2023/05/19 v1.0.0 Additional tools for counters]
+\RequirePackage{etoolbox,makecmds}
+% \end{macrocode}
+%
+%\subsection{Counter Prefixes}
+%
+%\begin{macro}{\@counterz@counterprefix}
+%\begin{macro}{\setcounterprefix}
+%\begin{macro}{\clearcounterprefix}
+%
+% The default expansion of \cs{@counterz@counterprefix} is null, but it can be
+% changed with the commands \cs{setcounterprefix} and \cs{clearcounterprefix}.
+%
+% \begin{macrocode}
+\newcommand{\@counterz@counterprefix}{}
+\newcommand{\setcounterprefix}[1]{\renewcommand{\@counterz@counterprefix}{#1}}
+\newcommand{\clearcounterprefix}{\setcounterprefix{}}
+% \end{macrocode}
+%
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%
+%\subsection{Manipulating Counters}
+%
+%\begin{macro}{\xnewcounter}
+%\begin{macro}{\xprovidecounter}
+%\begin{macro}{\xsetcounter}
+%\begin{macro}{\xaddtocounter}
+%\begin{macro}{\xvalue}
+%
+% These commands are prefix versions of commands \cs{newcounter},
+% \cs{providecounter}, \cs{setcounter}, \cs{addtocounter}, and \cs{value},
+% respectively. The creation, modification, or use of the counters is carried
+% out on a prefixed version of the specified counter name. When
+% \cs{@counterz@counterprefix} is null, the commands expand like their standard
+% counterparts.
+%
+% \begin{macrocode}
+\newcommand{\xnewcounter}[1]{\newcounter{\@counterz@counterprefix #1}}
+\newcommand{\xprovidecounter}[1]{\providecounter{\@counterz@counterprefix #1}}
+\newcommand{\xsetcounter}[2]{\setcounter{\@counterz@counterprefix #1}{#2}}
+\newcommand{\xaddtocounter}[2]{\addtocounter{\@counterz@counterprefix #1}{#2}}
+\newcommand{\xvalue}[1]{\value{\@counterz@counterprefix #1}}
+% \end{macrocode}
+%
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%
+%\subsection{Conditional Statements}
+%
+% The following commands provide if-then-else constructs analogous to those in
+% the package \textsf{etoolbox}. The notable difference is that the arguments
+% are counter names. The command \cs{xvalue} is used to determine the values of
+% the counters, so that the stored prefix is applied to the specified counter
+% names before execution.
+%
+%\begin{macro}{\ifctrequal}
+%
+% \cs{ifctrequal}\marg{counter1}\marg{counter2}\marg{foo}\marg{bar} executes
+% \meta{foo} if the value of \meta{counter1} is equal to the value of
+% \meta{counter2} and otherwise executes \meta{bar}.
+%
+% \begin{macrocode}
+\newcommand{\ifctrequal}[4]{\ifnumequal{\xvalue{#1}}{\xvalue{#2}}{#3}{#4}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\ifctrless}
+%
+% \cs{ifctrless}\marg{counter1}\marg{counter2}\marg{foo}\marg{bar} executes
+% \meta{foo} if the value of \meta{counter1} is less than the value of
+% \meta{counter2} and otherwise executes \meta{bar}.
+%
+% \begin{macrocode}
+\newcommand{\ifctrless}[4]{\ifnumless{\xvalue{#1}}{\xvalue{#2}}{#3}{#4}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\ifctrmore}
+%
+% \cs{ifctrmore}\marg{counter1}\marg{counter2}\marg{foo}\marg{bar} executes
+% \meta{foo} if the value of \meta{counter1} is more than the value of
+% \meta{counter2} and otherwise executes \meta{bar}.
+%
+% \begin{macrocode}
+\newcommand{\ifctrmore}[4]{\ifnumless{\xvalue{#2}}{\xvalue{#1}}{#3}{#4}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\ifctrzero}
+%
+% \cs{ifctrzero}\marg{counter}\marg{foo}\marg{bar} executes \meta{foo} if
+% the value of \meta{counter} is zero and otherwise executes \meta{bar}.
+%
+% \begin{macrocode}
+\newcommand{\ifctrzero}[3]{\ifnumequal{\xvalue{#1}}{0}{#2}{#3}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\ifctrneg}
+%
+% \cs{ifctrneg}\marg{counter}\marg{foo}\marg{bar} executes \meta{foo} if the
+% value of \meta{counter} is negative and otherwise executes \meta{bar}.
+%
+% \begin{macrocode}
+\newcommand{\ifctrneg}[3]{\ifnumless{\xvalue{#1}}{0}{#2}{#3}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\ifctrpos}
+%
+% \cs{ifctrpos}\marg{counter}\marg{foo}\marg{bar} executes \meta{foo} if the
+% value of \meta{counter} is positive and otherwise executes \meta{bar}.
+%
+% \begin{macrocode}
+\newcommand{\ifctrpos}[3]{\ifnumless{\xvalue{#1}}{1}{#3}{#2}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\subsection{Displaying Counters}
+%
+%\begin{macro}{\xarabic}
+%\begin{macro}{\xroman}
+%\begin{macro}{\xRoman}
+%\begin{macro}{\xalph}
+%\begin{macro}{\xAlph}
+%\begin{macro}{\xfnsymbol}
+%
+% These commands include prefix versions of the standard display commands.
+%
+% \begin{macrocode}
+\newcommand{\xarabic}[1]{\arabic{\@counterz@counterprefix #1}}
+\newcommand{\xroman}[1]{\roman{\@counterz@counterprefix #1}}
+\newcommand{\xRoman}[1]{\Roman{\@counterz@counterprefix #1}}
+\newcommand{\xalph}[1]{\alph{\@counterz@counterprefix #1}}
+\newcommand{\xAlph}[1]{\Alph{\@counterz@counterprefix #1}}
+\newcommand{\xfnsymbol}[1]{\fnsymbol{\@counterz@counterprefix #1}}
+% \end{macrocode}
+%
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+% The following commands likewise apply the stored prefix to the counter name.
+% These commands are designed to aid in the typesetting of counter values within
+% algebraic expressions while observing particular conventions about the display
+% of numbers and their and their signs.
+%
+%\begin{macro}{\xabsof}
+%
+% \cs{xabsof}\marg{counter} prints the absolute value of \meta{counter}.
+%
+% \begin{macrocode}
+\newcommand{\xabsof}[1]{%
+ \ifctrneg{#1}{%
+ \the \numexpr 0 - \xvalue{#1} \relax%
+ }{%
+ \xarabic{#1}%
+ }%
+}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xsignof}
+%
+% \cs{xsignof}\marg{counter} prints a minus sign ``-'' if \meta{counter} is
+% negative and otherwise prints a plus sign ``+''. Note that the latter case
+% includes the value zero.
+%
+% \begin{macrocode}
+\newcommand{\xsignof}[1]{\ifctrneg{#1}{-}{+}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xnegsignof}
+%
+% \cs{xnegsignof}\marg{counter} prints a plus sign ``+'' if \meta{counter} is
+% negative and otherwise prints a minus sign ``-''. Note that the latter case
+% includes the value zero.
+%
+% \begin{macrocode}
+\newcommand{\xnegsignof}[1]{\ifctrneg{#1}{+}{-}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xsigned}
+%
+% \cs{xsigned}\marg{counter} prints the absolute value of \meta{counter},
+% preceded by a plus sign ``+'' or a minus sign ``-'' as defined by
+% \cs{xsignof}.
+%
+% \begin{macrocode}
+\newcommand{\xsigned}[1]{\xsignof{#1} \xabsof{#1}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xsignednz}
+%
+% \cs{xsignednz}\marg{counter} is like \cs{xsigned} but suppresses the number
+% zero.
+%
+% \begin{macrocode}
+\newcommand{\xsignednz}[1]{\ifctrzero{#1}{}{\xsigned{#1}}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xarabicnz}
+%
+% \cs{xarabicnz}\marg{counter} is like \cs{xarabic} but suppresses the number
+% zero.
+%
+% \begin{macrocode}
+\newcommand{\xarabicnz}[1]{\ifctrzero{#1}{}{\xarabic{#1}}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xnegsigned}
+%
+% \cs{xnegsigned}\marg{counter} prints the absolute value of \meta{counter},
+% preceded by a plus sign ``+'' or a minus sign ``-'' as defined by
+% \cs{xnegsignof}.
+%
+% \begin{macrocode}
+\newcommand{\xnegsigned}[1]{\xnegsignof{#1} \xabsof{#1}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xnegsignednz}
+%
+% \cs{xnegsignednz}\marg{counter} is like \cs{xnegsigned} but suppresses the
+% number zero.
+%
+% \begin{macrocode}
+\newcommand{\xnegsignednz}[1]{\ifctrzero{#1}{}{\xnegsigned{#1}}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xnegof}
+%
+% \cs{xnegof}\marg{counter} prints the negative of the value of \meta{counter}.
+%
+% \begin{macrocode}
+\newcommand{\xnegof}[1]{\ifctrpos{#1}{-}{}\xabsof{#1}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xnegofnz}
+%
+% \cs{xnegofnz}\marg{counter} is like \cs{xnegof} but suppresses the number
+% zero.
+%
+% \begin{macrocode}
+\newcommand{\xnegofnz}[1]{\ifctrzero{#1}{}{\xnegof{#1}}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xcoef}
+%
+% \cs{xcoef}\marg{counter} prints the value of \meta{counter} except that it
+% suppresses the values of 1, 0, and -1, printing a ``-'' in the latter case.
+%
+% \begin{macrocode}
+\newcommand{\xcoef}[1]{%
+ \ifboolexpr{test {\ifnumless{\xvalue{#1}}{-1}}%
+ or test {\ifnumgreater{\xvalue{#1}}{1}}}{%
+ \xarabic{#1}%
+ }{%
+ }%
+ \ifnumequal{\xvalue{#1}}{-1}{-}{}%
+}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xnegcoef}
+%
+% \cs{xnegcoef}\marg{counter} prints the value of \meta{counter} except that it
+% suppresses the values of 1, 0, and -1, printing a ``-'' in the former case.
+%
+% \begin{macrocode}
+\newcommand{\xnegcoef}[1]{%
+ \ifboolexpr{test {\ifnumless{\xvalue{#1}}{-1}}%
+ or test {\ifnumgreater{\xvalue{#1}}{1}}}{%
+ \xnegof{#1}%
+ }{%
+ }%
+ \ifnumequal{\xvalue{#1}}{1}{-}{}%
+}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xabsofcoef}
+%
+% \cs{xabsofcoef}\marg{counter} prints the absolute value of \meta{counter}
+% except that it suppresses the values of 1 and 0.
+%
+% \begin{macrocode}
+\newcommand{\xabsofcoef}[1]{%
+ \ifboolexpr{test {\ifnumless{\xvalue{#1}}{-1}}%
+ or test {\ifnumgreater{\xvalue{#1}}{1}}}{%
+ \xabsof{#1}%
+ }{%
+ }
+}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xsignofcoef}
+%
+% \cs{xsignofcoef}\marg{counter} prints the sign of \meta{counter} if
+% \meta{counter} is nonzero.
+%
+% \begin{macrocode}
+\newcommand{\xsignofcoef}[1]{\ifctrzero{#1}{}{\xsignof{#1}}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xnegsignofcoef}
+%
+% \cs{xnegsignofcoef}\marg{counter} prints the opposite sign of \meta{counter}
+% if \meta{counter} is nonzero.
+%
+% \begin{macrocode}
+\newcommand{\xnegsignofcoef}[1]{\ifctrzero{#1}{}{\xnegsignof{#1}}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xsignedcoef}
+%
+% \cs{xsignedcoef}\marg{counter} is like \cs{xcoef} except that positive values
+% are preceded by a plus sign ``+''.
+%
+% \begin{macrocode}
+\newcommand{\xsignedcoef}[1]{\xsignofcoef{#1} \xabsofcoef{#1}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xnegsignedcoef}
+%
+% \cs{xnegsignedcoef}\marg{counter} is like \cs{xsignedcoef} except using the
+% opposite sign.
+%
+% \begin{macrocode}
+\newcommand{\xnegsignedcoef}[1]{\xnegsignofcoef{#1} \xabsofcoef{#1}}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\subsection{Random Counters}
+%
+% The commands \cs{xrandsetcounter} and \cs{xrandaddtocounter} use the pdf\TeX\
+% primitive \cs{pdfuniformdeviate} to provide random versions of
+% \cs{xsetcounter} and \cs{xaddtocounter}.
+%
+%\begin{macro}{\xrandsetcounter}
+%
+% \cs{xrandsetcounter}\marg{counter}\marg{min}\marg{max} assigns to (the
+% prefixed) \meta{counter} a random integer value between \meta{min} and
+% \meta{max}.
+%
+% \begin{macrocode}
+\newcommand{\xrandsetcounter}[3]{%
+ \xsetcounter{#1}{%
+ \the \numexpr #2+\pdfuniformdeviate \numexpr #3-#2+1 \relax
+ }
+}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xrandaddtocounter}
+%
+% \cs{xrandaddtocounter}\marg{counter}\marg{min}\marg{max} adds to (the
+% prefixed) \meta{counter} a random integer value between \meta{min} and
+% \meta{max}.
+%
+% \begin{macrocode}
+\newcommand{\xrandaddtocounter}[3]{%
+ \xaddtocounter{#1}{%
+ \the \numexpr #2+\pdfuniformdeviate \numexpr #3-#2+1 \relax
+ }
+}
+% \end{macrocode}
+%
+%\end{macro}
+% The following commands are designed to provide a means by which authors can
+% generate random values for counters but also preserve those values for future
+% typesettings. This is accomplished by storing counters and their values in an
+% external file and then inputting the file before a subsequent typesetting.
+%
+%\begin{macro}{\opencountersfile}
+%
+% The command \cs{opencountersfile} creates and opens the write stream to the
+% file \textsf{\meta{jobname}.counters.tex}, referenced by the macro
+% \cs{countersfile}.
+%
+% \begin{macrocode}
+\newcommand{\opencountersfile}{%
+ \newwrite\countersfile
+ \immediate\openout\countersfile=\jobname.counters.tex
+}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\@counterz@openbrace}
+%\begin{macro}{\@counterz@closebrace}
+%
+% The commands \cs{@counterz@openbrace} and \cs{@counterz@closebrace}
+% facilitate the writing of the brace delimiters to \cs{countersfile}.
+%
+% \begin{macrocode}
+\begingroup
+ \catcode`<=1 \catcode`>=2
+ \catcode`{=12 \catcode`}=12
+ \gdef\@counterz@openbrace<{>
+ \gdef\@counterz@closebrace<}>
+\endgroup
+% \end{macrocode}
+%
+%\end{macro}
+%\end{macro}
+%
+%\begin{macro}{\xsavecounter}
+%
+% \cs{xsavecounter}\marg{counter} writes \cs{providecounter} and \cs{setcounter}
+% commands to the file \textsf{\meta{jobname}.counters.tex} so that they may be
+% inputted as part of a future typesetting.
+%
+% \begin{macrocode}
+\newcommand{\xsavecounter}[1]{%
+ \immediate\write\countersfile{%
+ \unexpanded{\providecounter}\@counterz@openbrace%
+ \@counterz@counterprefix #1\@counterz@closebrace%
+ \unexpanded{ \setcounter}\@counterz@openbrace%
+ \@counterz@counterprefix #1\@counterz@closebrace%
+ \@counterz@openbrace%
+ \arabic{\@counterz@counterprefix #1}\@counterz@closebrace%
+ }%
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\randomizectr}
+%\begin{macro}{\norandomizectr}
+%
+% In order to assign a random value to a counter during one typesetting and
+% avoid overwriting this value with a random assignment during another
+% typesetting, the boolean \textit{@counterz@random} is used to distinguish
+% between the two typesettings. The value of \textit{@counterz@random} may
+% be changed by the commands \cs{randomizectr} and \cs{norandomizectr}.
+%
+% \begin{macrocode}
+\newbool{@counterz@random}
+\newcommand{\randomizectr}{\booltrue{@counterz@random}}
+\newcommand{\norandomizectr}{\boolfalse{@counterz@random}}
+% \end{macrocode}
+%
+%\end{macro}
+%\end{macro}
+%
+%\begin{macro}{\ifrandomizectr}
+%
+% \cs{ifrandomizectr}\marg{foo}\marg{bar} executes \meta{foo} if the boolean
+% \textit{@counterz@random} is true and otherwise executes \meta{bar}.
+%
+% \begin{macrocode}
+\newcommand{\ifrandomizectr}[2]{%
+ \ifbool{@counterz@random}{#1}{#2}
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xrandprovidecounter}
+%
+% \cs{xrandprovidecounter}\marg{counter}\marg{min}\marg{max} creates
+% \meta{counter} if it does not already exist, and if the boolean
+% \textit{@counterz@random} is true then \meta{counter} is assigned a
+% random integer value between \meta{min} and \meta{max} and then saved.
+%
+% \begin{macrocode}
+\newcommand{\xrandprovidecounter}[3]{%
+ \xprovidecounter{#1}
+ \ifrandomizectr{%
+ \xrandsetcounter{#1}{#2}{#3}
+ \xsavecounter{#1}
+ }{%
+ }
+}
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\xrandprovidecounternz}
+%
+% \cs{xrandprovidecounternz}\marg{counter}\marg{min}\marg{max} does the same
+% job as the command \cs{xrandprovidecounter} except that the value of
+% \meta{counter} is randomized until it is nonzero.
+%
+% \begin{macrocode}
+\newcommand{\xrandprovidecounternz}[3]{%
+ \xprovidecounter{#1}
+ \ifrandomizectr{%
+ \xsetcounter{#1}{0}
+ \whileboolexpr{ test {\ifnumequal{\xvalue{#1}}{0}}}{%
+ \xrandsetcounter{#1}{#2}{#3}
+ }
+ \xsavecounter{#1}
+ }{%
+ }
+}
+% \end{macrocode}
+%
+%\end{macro}%
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%\Finale \ No newline at end of file
diff --git a/macros/latex/contrib/counterz/counterz.ins b/macros/latex/contrib/counterz/counterz.ins
new file mode 100644
index 0000000000..7de3d88187
--- /dev/null
+++ b/macros/latex/contrib/counterz/counterz.ins
@@ -0,0 +1,89 @@
+%%
+%% This is file `counterz.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% counterz.dtx (with options: `install')
+%% ----------------------------------------------------------------------
+%% `counterz' --- 2023/05/19 Version 1.0.0 Additional tools for counters
+%% E-mail: christopher.mcclain@mail.wvu.edu
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See https://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------------
+%%
+
+
+
+
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+----------------------------------------------------------------------
+`counterz' --- 2023/05/19 Version 1.0.0 Additional tools for counters
+E-mail: christopher.mcclain@mail.wvu.edu
+Released under the LaTeX Project Public License v1.3c or later
+See https://www.latex-project.org/lppl.txt
+----------------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+Copyright (C) 2023 by Christopher McClain
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+https://www.latex-project.org/lppl.txt
+
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Christopher McClain.
+
+This work consists of the file counterz.dtx
+and the derived files counterz.ins,
+ counterz.pdf and
+ counterz.sty.
+
+\endpostamble
+
+\usedir{tex/latex/counterz}
+\generate{
+ \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+
+\endbatchfile
+
+
+
+%%
+%% Copyright (C) 2023 by Christopher McClain
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License (LPPL), either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in the file:
+%%
+%% https://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Christopher McClain.
+%%
+%% This work consists of the file counterz.dtx
+%% and the derived files counterz.ins,
+%% counterz.pdf and
+%% counterz.sty.
+%%
+%%
+%% End of file `counterz.ins'.
diff --git a/macros/latex/contrib/counterz/counterz.pdf b/macros/latex/contrib/counterz/counterz.pdf
new file mode 100644
index 0000000000..4b358cbb48
--- /dev/null
+++ b/macros/latex/contrib/counterz/counterz.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/README.md b/macros/latex/contrib/msu-thesis/README.md
index 97429f6781..c5aeafbc16 100644
--- a/macros/latex/contrib/msu-thesis/README.md
+++ b/macros/latex/contrib/msu-thesis/README.md
@@ -1,10 +1,10 @@
-# MSU Thesis Class Version 4.0b 2022/12/15
+# MSU Thesis Class Version 4.1 2023/05/18
-Copyright 2011-2022 by Alan Munn <amunn@msu.edu>
+Copyright 2011-2023 by Alan Munn <amunn@msu.edu>
This is a class file for producing dissertations and theses according to
the Michigan State University Graduate School Guidelines for Electronic
-Submission of Master's Theses and Dissertations (September 2022).
+Submission of Master's Theses and Dissertations (January 2023).
The class is based on the `memoir` document class, and therefore inherits
all of the functionality of that class.
@@ -12,7 +12,7 @@ all of the functionality of that class.
# Update on new formatting requirements (Fall 2022)
- The msu-thesis development team is displeased to announce a new
+ The `msu-thesis` development team is displeased to announce a new
and "improved" version of the class that conforms to the most recent
(September 2022) MSU Thesis Formatting Guide.
Among the notable new features are implementation of questionable
@@ -42,7 +42,7 @@ Put `msu-thesis.tex`, `msu-thesis.pdf` and the `samples` folder into
`<local texmf>/doc/latex/msu-thesis`
-The samples folder contains a thesis test-file and
+The samples folder contains two thesis test-files and
a template.
This package may be distributed and/or modified under the conditions of
diff --git a/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex b/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
index c5cb0fb826..48701cf2d8 100644
--- a/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
+++ b/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
@@ -2,8 +2,8 @@
\documentclass[11pt]{article}
-\def\msuversion{4.0b}
-\def\msudate{2022/12/15}
+\def\msuversion{4.1}
+\def\msudate{2023/05/18}
\title{\textbf{Using the MSU Thesis Class}}
\author{\textbf{Alan Munn}\\Department of Linguistics, Languages, and Cultures\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}}
\date{Version \msuversion\\\msudate}
@@ -57,7 +57,7 @@
\thispagestyle{empty}
\renewcommand{\abstractname}{\sffamily Abstract}
-\abstract{\noindent\begin{quote} This is a class file for MSU theses and dissertations. It is based on the \pkg{memoir}\ class, and therefore supports all of the functionality of that class. It should generate a document which meets all the basic formatting requirements laid out by the \href{https://grad.msu.edu/etd/formatting-guide}{Formatting Guide For Submission of Master’s Theses and Doctoral Dissertations}\ (September, 2022) produced by the Graduate School, including requirements for margins, titlepage, page numbering, section titles, sub- and superscript sizes etc.\end{quote}}
+\abstract{\noindent\begin{quote} This is a class file for MSU theses and dissertations. It is based on the \pkg{memoir}\ class, and therefore supports all of the functionality of that class. It should generate a document which meets all the basic formatting requirements laid out by the \href{https://grad.msu.edu/etd/formatting-guide}{Formatting Guide For Submission of Master’s Theses and Doctoral Dissertations}\ (January, 2023) produced by the Graduate School, including requirements for margins, titlepage, page numbering, section titles, sub- and superscript sizes etc.\end{quote}}
\section{Introduction}
Formatting a dissertation according to a University's thesis requirements is not always a simple task in \LaTeX, especially since the requirements are generally aimed at MSWord users. Furthermore, most of the work of formatting a document is supposed to be done by the document class itself, and not by the individual user. Fortunately, Michigan State University's thesis requirements are for the most part sane, and fairly straightforward. The present class file is designed to further make the process easier for \LaTeX\ users, by doing all the heavy lifting for you, so that you can focus on the content and not the formatting.
\section{Background}
@@ -121,6 +121,7 @@ In addition to all the user functionality defined by \pkg{memoir}, the \pkg{msu-
{\bs makededicationpage} & Creates the dedication page.\\
%{\bs makebibliographypage} & Creates the bibliography cover page.\\
{\{abbreviations\}} & Environment for the List of Abbreviations \\
+{msutocdeph} & Counter for setting the TOC depth. Default is 1 (sections+chapters). Set this to 0 to use the simplified (chapters only) format that the thesis office suggests but doesn’t require.\\
\bottomrule
\end{tabularx}
\caption{Class titling commands}
@@ -190,6 +191,14 @@ The \pkg{memoir}\ class replicates the functionality of many independent package
\subsection{Captions}
\subsubsection{Caption delimiter}\label{captiondelim}
Because the thesis office doesn't understand anything about punctuation, it requires the colon that would appear in a caption to also appear in the contents lists. Since they don't care about the colon itself, but just consistency I've removed colons from the captions entirely, since leaving it in makes the contents lists look really stupid. But in case you or your advisor want the colon in captions, you can add the colon back in by adding |\renewcommand{\msucaptiondelim}{:\space}| to your preamble, and the class will make sure the Lists of Tables and Figures match in formatting. If you have other floating objects with captions (e.g., algorithms, listings) you may need to change their delimiter too (see below). How you do this may depend on the particular packages you are using.
+
+\subsubsection{Simplified vs. full contents}
+The thesis guide suggests that you use a simplified table of contents that lists only chapter levels, but that you are welcome to use a more detailed table of contents if you wish. As with most, if not all of the “design” decisions made by the thesis office, this one makes very little typographic sense, and so I have left the default TOC level to be 1, i.e., chapters and sections will be listed in the TOC. If you wish to use the simplified contents format that just lists chapters, add the following to your preamble:
+
+\begin{quote}
+|\setcounter{msutocdepth}{0}|
+\end{quote}
+
\subsubsection{New lists}
If you are using other kinds of floats such as listings, you should use the Memoir |\newlistof| command to make the relevant list. The class provides a macro |\msucaptiondelim| which can be used to make sure the formatting of the captions in the list-of-X match the setting you have for Figures and Tables. Here is an example of how you would add a listings list. For lists of algorithms, see section \ref{algorithms} below. The following code goes in your preamble:
\begin{quote}
@@ -402,10 +411,43 @@ I'm happy to answer emails about formatting issues with the class, especially wh
\subsection{Archiving your thesis for the future}
Since the current version of the \pkg{msu-thesis}\ class satisfies the Graduate School requirements at any one time, as these requirements change, you may find that if you need to recompile your thesis after you have graduated that the formatting changes. To avoid this, I would recommend saving an archived version of the \pkg{msu-thesis.cls}\ file in the same folder as your thesis file. You only need to do this once you have completely finished your thesis however; there's no need to do it during the writing process.
\subsection{Major Version history}
-Previous versions of \pkg{msu-thesis}\ (versions 1.0--1.4b) were created for non-electronic submission and should not be used. Versions 1.5--1.6 (the first electronic submission versions) contained a |\makeabstract| command and a separate |msuabstract| environment. These have been removed as of version 1.7. Users who are upgrading from earlier versions to version 1.7 do not need to change these commands however but their use will trigger a warning.) Version 2.0 implemented landscape pages; version 2.1 added support for \pkg{hyperref}. Versions 2.2--2.5 mainly accommodated to the ever changing whims of the MSU Graduate School. Version 2.6 fixed some appendix bugs introduced by the previous whim accommodation. Version 2.7 fixed various small spacing issues, fixed a bug which prevented a new chapter page to be a landscape page, added support for the \pkg{apacite}\ package, and updated degree options. Version 2.8 fixed some spacing and capitalization issues and added support for the public abstract. Version 2.9 removed subscript/superscript size restrictions, added font size options and made small spacing changes to appease the thesis office. Version 3.0 added full support for per-chapter bibliographies and appendices, and automated bibliography spacing for |natbib| and |biblatex| produced bibliographies. Version 3.1 added support for an |{algorithm}| environment and a list of algorithms to combat incompatibilities with the \pkg{algorithm}\ and \pkg{algorithm2e}\ packages. Version 3.2 fixed some lingering problems with per-chapter appendices. Version 3.3 added code to accommodate the insane inconsistencies in formatting requirements that the thesis office requires, including a new contents option which hopefully should never be used, and fixed some numbering problems with per-chapter appendices. Version 3.4 added a starred option to the |\makecopyrightpage| command after complaints about placement. The documentation has also been updated to include more information about caption formatting and removed colons from the default caption format. Version 3.5 added user level way to change the spacing after the author’s name in the abstract, to deal with thesis office inconsistency. Version 3.6 added built-in support for the Key to Abbreviations. Version 3.7 added improved support for \pkg{hyperref}. Version 4.0 implements the new requirements as of September 2022, including adding a |\dualmajor| command. Various spacing changes have been made which will make your document look like you used Word, but this is what the thesis office seems to care about.
+Previous versions of \pkg{msu-thesis}\ (versions 1.0--1.4b) were created for non-electronic submission and should not be used.
+Versions 1.5--1.6 (the first electronic submission versions) contained a |\makeabstract| command and a separate |msuabstract| environment.
+These have been removed as of version 1.7.
+ Users who are upgrading from earlier versions to version 1.7 do not need to change these commands however but their use will trigger a warning.) Version 2.0 implemented landscape pages; version 2.1 added support for \pkg{hyperref}.
+Versions 2.2--2.5 mainly accommodated to the ever changing whims of the MSU Graduate School.
+Version 2.6 fixed some appendix bugs introduced by the previous whim accommodation.
+Version 2.7 fixed various small spacing issues, fixed a bug which prevented a new chapter page to be a landscape page, added support for the \pkg{apacite}\ package, and updated degree options.
+Version 2.8 fixed some spacing and capitalization issues and added support for the public abstract.
+Version 2.9 removed subscript/superscript size restrictions, added font size options and made small spacing changes to appease the thesis office.
+Version 3.0 added full support for per-chapter bibliographies and appendices, and automated bibliography spacing for |natbib| and |biblatex| produced bibliographies.
+Version 3.1 added support for an |{algorithm}| environment and a list of algorithms to combat incompatibilities with the \pkg{algorithm}\ and \pkg{algorithm2e}\ packages.
+ Version 3.2 fixed some lingering problems with per-chapter appendices.
+Version 3.3 added code to accommodate the insane inconsistencies in formatting requirements that the thesis office requires, including a new contents option which hopefully should never be used, and fixed some numbering problems with per-chapter appendices.
+Version 3.4 added a starred option to the |\makecopyrightpage| command after complaints about placement.
+The documentation has also been updated to include more information about caption formatting and removed colons from the default caption format.
+Version 3.5 added user level way to change the spacing after the author’s name in the abstract, to deal with thesis office inconsistency.
+Version 3.6 added built-in support for the Key to Abbreviations.
+Version 3.7 added improved support for \pkg{hyperref}.
+Version 4.0 implements the new requirements as of September 2022, including adding a |\dualmajor| command.
+Various spacing changes have been made which will make your document look like you used Word, but this is what the thesis office seems to care about.
+Version 4.1 added the |msutocdepth| counter to allow for the chapters-only format that the thesis office recommends.
\section{Acknowledgements}
-Thanks to Lars Madsen, Ulrike Fischer and Peter Wilson for help with setting up parts of the memoir code for versions 1.0--1.4 (now eliminated due to changed requirements). Thanks to Wolfgang Sternefeld for supplying the \pkg{linguex}\ spacing fix code, Leo Liu for the landscape page numbering code, which greatly simplified my original version. Thanks to Florent Chervet for early \pkg{hyperref} code (up until v.3.6), and Ulrike Fischer for the current \pkg{hyperref} code. Thanks also to the following students who have reported problems over the years: Irina Agafonova, Ali Al-jiboory, Abubakr Ayesh, Julian Blank, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk Jung, Claire Kopenhafer, Adam Liter, Vanessa Maldonado, William Muir, Eureka Pai, Alicia Parrish, Neil ver Planck, Nick Rekuski, Giacomo Romanini, William Sands, Adam Soliman, Erik Stitt, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Ali Zare, and Yisu Zhou. A special thank you to Non Thongprong who graciously provided a copy of his entire thesis which allowed me to debug some especially subtle spacing inconsistencies.
+Thanks to Lars Madsen, Ulrike Fischer and Peter Wilson for help with setting up parts of
+the memoir code for versions 1.0--1.4 (now eliminated due to changed requirements). Thanks
+to Wolfgang Sternefeld for supplying the \pkg{linguex}\ spacing fix code, Leo Liu for the
+landscape page numbering code, which greatly simplified my original version. Thanks to
+Florent Chervet for early \pkg{hyperref} code (up until v.3.6), and Ulrike Fischer for the
+current \pkg{hyperref} code. Thanks also to the following students who have reported
+problems over the years: Irina Agafonova, Ali Al-jiboory, Abubakr Ayesh, Julian Blank,
+Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk
+Jung, Claire Kopenhafer, Adam Liter, Vanessa Maldonado, Ben Miller, William Muir, Eureka
+Pai, Alicia Parrish, Neil ver Planck, Nick Rekuski, Giacomo Romanini, William Sands, Adam
+Soliman, Erik Stitt, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Ali
+Zare, and Yisu Zhou. A special thank you to Non Thongprong who graciously provided a copy
+of his entire thesis which allowed me to debug some especially subtle spacing
+inconsistencies.
\appendix
\renewcommand{\thesection}{Appendix \Alph{section}}
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.cls b/macros/latex/contrib/msu-thesis/msu-thesis.cls
index f347e08d2f..35dcb3c4f9 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.cls
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.cls
@@ -1,6 +1,6 @@
% MSU Thesis Class
%
-% Copyright 2009-2022 by Alan Munn <amunn@msu.edu>
+% Copyright 2009-2023 by Alan Munn <amunn@msu.edu>
%
% This is a class file for producing dissertations and theses according to the
% Michigan State University Graduate School Guidelines
@@ -180,11 +180,12 @@
% moment.
% Version 4.0 2022/12/13 First version to conform to the updated requirements (September 2022)
% Version 4.0b 2022/12/15 Made box for degree name larger
+% Version 4.1 2023/05/18 Added msutocdepth to allow minimal chapters only TOC
%
% Report bugs/problems/questions to <amunn@msu.edu>
%
-\def\msu@version{4.0b}
-\def\msu@date{2023/12/15}
+\def\msu@version{4.1}
+\def\msu@date{2023/05/18}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{msu-thesis}[\msu@date\space Michigan State University Thesis Class version \msu@version]
\newif\ifmsu@dissertation\msu@dissertationtrue % added v2.7 boolean for \msu@thesistype
@@ -297,6 +298,8 @@
\newcommand*{\msu@fieldseparator}{\textemdash} % this is between the degree name and field of study
\newcommand*{\dualmajor}[2]{\msu@dualmajortrue\gdef\msu@fieldofstudy{#1}\gdef\msu@dualmajor{#2}}
\newcommand*{\msu@DUALMAJOR}{Dual Major}
+\newcounter{msutocdepth}
+\setcounter{msutocdepth}{1} % section level included in the TOC
\newcounter{msu@hchap} % global counter for chapters used by hyperref
% This may also be solved by using \hypersetup{hypertexnames=false}
% hard to tell whether this is a better solution.
@@ -360,7 +363,7 @@
% set up TOC
-\settocdepth{section}
+\setcounter{tocdepth}{\value{msutocdepth}}
\setsecnumdepth{subsubsection}
\setlength{\cftsectionindent}{.5in}
\renewcommand*{\printtoctitle}[1]{\centering\bfseries\msu@contentsname}
@@ -488,6 +491,7 @@
\renewcommand\cftchapterpagefont{\msu@tocfont}
\renewcommand*{\cftappendixname}{APPENDIX\space}
\renewcommand\cftchapteraftersnum{\msutocdelim}
+ \addtocounter{tocdepth}{-1}
}
@@ -496,11 +500,11 @@
\cftinsertcode{CHAPAPPR}{
\cftsetindents{section}{.5in}{2.3em}
\setlength{\cftchapterindent}{0em}
-\setlength{\cftchapternumwidth}{3em} % added 6/24/2022
+%\setlength{\cftchapternumwidth}{3em} % removed 2/1/2023
\setlength{\cftbeforechapterskip}{1.0em \@plus\p@}
\renewcommand\cftchapterfont{\msu@chapfont\MakeUppercase}
\renewcommand\cftchapterpagefont{\msu@chapfont}
- \settocdepth{section} % added 6/24/2022
+ \setcounter{tocdepth}{\value{msutocdepth}}
}
% This code resets the changes made in the APP code back to normal
% so that the bibliography will appear correctly in the TOC
@@ -509,7 +513,7 @@
\setlength{\cftbeforechapterskip}{1.0em \@plus\p@}
\renewcommand\cftchapterfont{\msu@chapfont\MakeUppercase}
\renewcommand\cftchapterpagefont{\msu@chapfont}
- \settocdepth{section}
+ \setcounter{tocdepth}{\value{msutocdepth}}
}
\cftinsertcode{CHAPBIB}{
@@ -517,6 +521,7 @@
\setlength\cftbeforechapterskip{0pt}
\renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
\renewcommand\cftchapterpagefont{\msu@tocfont}
+ \addtocounter{tocdepth}{-1}
}
@@ -540,7 +545,7 @@
% \l@chapapp{\msu@tocfont\MakeUppercase{#1}}{#2}{\cftappendixname}} % Format appendix names
%
-\setlength{\cftchapternumwidth}{3em}
+\setlength{\cftchapternumwidth}{3em} % Could this be smaller?
\setrmarg{3.5em} % better wrapping of long titles
% Added to make sure that chapters within landscape mode have correct pagestyle
@@ -734,11 +739,11 @@
% \ifmsu@chapterapp\else
\msu@singleappendixtrue
% \fi% make sure single appendix doesn't have a number if global 3.1b (always 3.2)
- \msu@apppage\cftinserthook{toc}{SINGAPP}\settocdepth{chapter}\@resets@pp\anappendixtrue}%
+ \msu@apppage\cftinserthook{toc}{SINGAPP}\setcounter{tocdepth}{0}\@resets@pp\anappendixtrue}%
{\@ppsaveapp\@pprestoresec\anappendixfalse\cftinserthook{toc}{CHAPAPPR}} % reset aded 2022/04/16
\renewenvironment{appendices}%
- {\msu@singleappendixfalse\msu@apppage\ifmsu@chapterapp\cftinserthook{toc}{APPENDICES}\fi\settocdepth{chapter}
+ {\msu@singleappendixfalse\msu@apppage\ifmsu@chapterapp\cftinserthook{toc}{APPENDICES}\fi\setcounter{tocdepth}{\value{msutocdepth}}
\@resets@pp\anappendixtrue}%
{\@ppsaveapp\@pprestoresec\anappendixfalse\cftinserthook{toc}{CHAPAPPR}} % reset added 2022/04/16
@@ -771,7 +776,7 @@
\let\bibtocname\bibname % moved inside this page to beat apacite
\let\bibpagename\bibname
\cftinserthook{toc}{\msu@bibtype}
- \settocdepth{section} % changed v2.7 to allow for chapter bibs
+ \setcounter{tocdepth}{\value{msutocdepth}} % changed v2.7 to allow for chapter bibs
% \@setuppart
% \msu@preaddbibpagetotochook
\msu@addbibheadtotoc
@@ -827,6 +832,7 @@
{\AtBeginEnvironment{thebibliography}{\SingleSpacing\setlength{\bibsep}{\baselineskip}}} % natbib
{\AtBeginEnvironment{thebibliography}{\SingleSpacing}}} % any other bib package
%\topskip=0pt % setting this because the Grad School doesn’t know how to measure -changed back 6/15/17
+\setcounter{tocdepth}{\value{msutocdepth}}
\checkandfixthelayout
%
% set up subscript sizes so that 10 pt is the smallest
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.pdf b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
index bdb1416cbd..0e4d61d51c 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.pdf
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
index dffeb0b1ac..314819f5f8 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
index 9f7948b3f3..f4ee4c9157 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
@@ -15,7 +15,7 @@
\author{Joe Linguist}
\fieldofstudy{Linguistics} % This should be in sentence case
\date{2021}
-
+\setcounter{msutocdepth}{0} % default is 1
\begin{document}
\frontmatter
\maketitlepage
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
index 33580d3f0a..5baa21732d 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
@@ -1,5 +1,5 @@
% This is a template for use with the MSU Thesis class
-% Version 3.6 2022/08/23
+% Version 4.1 2023/05/18
%
% Class options:
%[PhD] Doctor of Philosophy (default)
@@ -61,6 +61,11 @@
%
%\dedication{This thesis is dedicated to someone.}
%
+% The default TOC format for the class lists both chapters and sections
+% The thesis office suggests only listing chapters. If you prefer that format
+% uncomment the next line:
+%\setcounter{msutocdepth}{0} % sets TOC to list chapters only
+%
\begin{document}
% All the stuff before your actual chapters is called the front matter
@@ -68,10 +73,6 @@
% First make the title page
\maketitlepage
-% if you have public abstract (optional) it should go here
-%\begin{publicabstract}
-% Public abstract goes here
-%\end{publicabstract}
% Next make the regular abstract (obligatory)
\begin{abstract}
@@ -84,9 +85,7 @@
% can't have a copyright page unless you pay ProQuest to register the copyright.
% This is simply not the case, so put in your copyright page whether or not you
% intend to pay Proquest to register the copyright.
-% Furthermore, they have occasionally complained that the copyright mark is aligned
-% to the right, even though that has been the format for more than a decade.
-% If they want the copyright mark aligned to the left, use \makecopyrightpage* instead.
+
\makecopyrightpage
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
index 50ba856441..28628d5403 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
index 443dba5a41..68851f93cf 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
@@ -30,9 +30,8 @@
\usepackage{gb4e}
\makeatletter
%\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
-
\makeatother
-
+\setlength{\cftchapternumwidth}{1.5em}
\counterwithin{exx}{chapter}
\singlegloss
@@ -48,7 +47,10 @@
\renewcommand*{\cftlistingaftersnum}{\msucaptiondelim}
\usepackage[bookmarksopenlevel=2,bookmarks=true]{hyperref} % not needed but here for testing
+\setcounter{msutocdepth}{0} % default is 1; this puts only chapters in the TOC
+
\begin{document}
+
\frontmatter
\maketitlepage
% public abstract removed v4
@@ -128,7 +130,7 @@ Men & Women & Monsters\\
\end{figure}
\lipsum[5]
\lipsum[10]
-\chapter{A chapter with a really long title to see if the chapter titles wrap correctly}
+\chapter[A chapter with a really long title to\\see if the chapter titles wrap correctly]{A chapter with a really long title to see if the chapter titles wrap correctly}
\lipsum
\begin{figure}
\centering
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
index f0a1742b38..d93d8015fc 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex b/macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
index 69f35b0424..16a60d4a46 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex
@@ -4,11 +4,11 @@
\setKVdefault[Cards]{Largeur=59,Hauteur=89,HauteurTheme=15,Marge=4,Landscape=false,Couleur=Cornsilk,Theme=Th\'eor\`eme\\de
Pythagore,ThemeSol=Solution,AfficheTheme=false,Trame=false,Jointes=false,TrameVisible=false,RayonArc=5pt,Titre=false,NomTitre=Jeu 1,Loop,JaiQuia=false,Eleve=false,BackgroundAv=false,BackgroundAr=false,ImageAv=4813762.jpg,ImageAr=4813762.jpg,AffichageSolution=true,SolutionSeule=false,%
% Pour la boite
- NbCartes=16,TypeJeu=Loop,Niveau=1,Numero=1,ThemeJeu=Nombres relatifs,Commerce=false,
+ NbCartes=16,TypeJeu=Boucle,Niveau=1,Numero=1,ThemeJeu=Nombres relatifs,CouleurTheme=black,CouleurNiveau=black,CouleurType=black,CouleurNb=black,
% Pour le trivial
Trivial=false,Symboles={\faInfinity,\faSignal,\faProjectDiagram,\faHiking,\faRuler,\faLockOpen}
}%
-\defKV[Cards]{ThemeJaiQuiA=\setKV[Cards]{AfficheTheme}}
+\defKV[Cards]{ThemeJaiQuiA=\setKV[Cards]{AfficheTheme}}%
%
\newtcolorbox{Mybox}[3]{%
enhanced,%
@@ -20,7 +20,7 @@
arc=\PfCRayonArc,%
overlay unbroken and first={%
\coordinate[yshift=-0.5\hauteurtitre] (A1) at (frame.north west);%
- \coordinate[yshift=-0.5\hauteurtitre] (B1) at (frame.north east);%
+ \coordinate[yshift=-0.5\hauteurtitre] (B1) at (frame.north east);%
\coordinate[yshift=-\hauteurtitre] (A) at (frame.north west);%
\coordinate[yshift=-\hauteurtitre] (B) at (frame.north east);%
\coordinate[xshift=1.5pt,yshift=8mm] (S1) at (frame.south west);%
@@ -47,9 +47,9 @@
colbacktitle=TrameCouleur,%
}%
-\newcommand\PfCTexteJai{J'ai}
-\newcommand\PfCTexteJesuis{Je suis\dots}
-\newcommand\PfCTexteQuia{Qui a ?}
+\newcommand\PfCTexteJai{J'ai}%
+\newcommand\PfCTexteJesuis{Je suis\dots}%
+\newcommand\PfCTexteQuia{Qui a ?}%
\makeatletter
\newtcolorbox{MyboxJQ}[2]{%
@@ -59,7 +59,7 @@
text fill,%
width=\largeurcarte,%
height=\hauteurcarte,%
- arc=\PfCRayonArc,%\useKV[Cards]{RayonArc},%
+ arc=\PfCRayonArc,%
underlay={%
\ifboolKV[Cards]{BackgroundAv}{%
\begin{tcbclipinterior}
@@ -143,9 +143,9 @@
},%
colback=white
}%
-\makeatother
+%\makeatother
-\makeatletter
+%\makeatletter
%https://tex.stackexchange.com/questions/347434/clip-background-image-inside-tcolorbox
\newtcolorbox{MyboxSimpleAv}[1]{%
enhanced,%
@@ -239,8 +239,8 @@
\newlength{\PfCCardsEcartH}%Pour décaler sur une page paire
\newlength{\PfCCardsV}%pour retenir en cas de décalage sur une page paire
\newlength{\PfCCardsEcartV}%Pour décaler sur une page paire
-\setlength{\PfCCardsEcartH}{0pt}
-\setlength{\PfCCardsEcartV}{0pt}
+\setlength{\PfCCardsEcartH}{0pt}%
+\setlength{\PfCCardsEcartV}{0pt}%
\NewDocumentEnvironment{Trame}{+b}{%
\ifodd\thepage%
@@ -280,7 +280,7 @@
\draw (C1)--(D1);%
\draw (C2)--(D2);%
\draw (C3)--(D3);%
- }{}
+ }{}%
% point pour placer les cartes
\coordinate[xshift=\margeh+0.5\PfCCardsH,yshift=-0.5\PfCCardsV] (Carte1) at (A);%
\coordinate[xshift=\largeurcards,yshift=0mm] (Carte2) at (Carte1);%
@@ -295,51 +295,7 @@
\end{tikzpicture}%
}{}%
-\NewDocumentEnvironment{Trameold}{+b}{%
- \begin{tikzpicture}[remember picture,overlay]
- % quadrillages horizontal et vertical
- \coordinate[yshift=-\margev] (A) at (current page.north west);%
- \coordinate[yshift=-\margev] (B) at (current page.north east);%
- \coordinate[yshift=-\hauteurcards] (A1) at (A);%
- \coordinate[yshift=-\hauteurcards] (B1) at (B);%
- \coordinate[yshift=-\hauteurcards] (A2) at (A1);%
- \coordinate[yshift=-\hauteurcards] (B2) at (B1);%
- \coordinate[yshift=-\hauteurcards] (A3) at (A2);%
- \coordinate[yshift=-\hauteurcards] (B3) at (B2);%
- \coordinate[yshift=-\hauteurcards] (A4) at (A3);%
- \coordinate[yshift=-\hauteurcards] (B4) at (B3);%
- \coordinate[xshift=\margeh] (C) at (current page.north west);%
- \coordinate[xshift=\margeh] (D) at (current page.south west);%
- \coordinate[xshift=\largeurcards] (C1) at (C);%
- \coordinate[xshift=\largeurcards] (D1) at (D);%
- \coordinate[xshift=\largeurcards] (C2) at (C1);%
- \coordinate[xshift=\largeurcards] (D2) at (D1);%
- \coordinate[xshift=\largeurcards] (C3) at (C2);%
- \coordinate[xshift=\largeurcards] (D3) at (D2);%
- \draw (A)--(B);%
- \draw (A1)--(B1);%
- \draw (A2)--(B2);%
- \draw (A3)--(B3);%
- \draw (A4)--(B4);%
- \draw (C)--(D);%
- \draw (C1)--(D1);%
- \draw (C2)--(D2);%
- \draw (C3)--(D3);%
- % point pour placer les cartes
- \coordinate[xshift=\margeh+0.5\largeurcards,yshift=-0.5\hauteurcards] (Carte1) at (A);%
- \coordinate[xshift=\largeurcards,yshift=0mm] (Carte2) at (Carte1);%
- \coordinate[xshift=2\largeurcards,yshift=0mm] (Carte3) at (Carte1);%
- \coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte4) at (Carte1);%
- \coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte5) at (Carte2);%
- \coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte6) at (Carte3);%
- \coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte7) at (Carte4);%
- \coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte8) at (Carte5);%
- \coordinate[xshift=0mm,yshift=-\hauteurcards] (Carte9) at (Carte6);%
- #1%
- \end{tikzpicture}%
-}{}%
-
-\NewDocumentCommand\Cartes{o +m}{%[2][]{%
+\NewDocumentCommand\Cartes{o +m}{%
\useKVdefault[Cards]%
\setKV[Cards]{#1}%
\setsepchar[*]{§*/}%
@@ -366,20 +322,224 @@
\colorlet{TrameCouleur}{\useKV[Cards]{Couleur}}%
\setlength{\PfCRayonArc}{\useKV[Cards]{RayonArc}}%
\ifboolKV[Cards]{Trivial}{%
- \xdef\PfCListeSymbolTrivial{\useKV[Cards]{Symboles}}%
- \setsepchar{,}\readlist*\ListeSymbolesTrivial{\PfCListeSymbolTrivial}%
- \setlength{\tabcolsep}{0.25\tabcolsep}
- \ifboolKV[Cards]{Trame}{%
+ \CartesTrivial%
+ }{%
+ \ifboolKV[Cards]{JaiQuia}{%
+ \CartesJaiQuia%
+ }{%
+ \ifboolKV[Cards]{Loop}{%
+ \CartesLoop%
+ }{%
+ \CartesClassique%
+ }%
+ }%
+ }%
+}%
+
+\NewDocumentCommand\CartesClassique{}{%
+ \ifboolKV[Cards]{Trame}{%
+ \clearpage%
+ \thispagestyle{empty}%
+ \begin{Trame}
+ \multido{\i=1+1}{9}{%
+ \node[] at (Carte\i) {%
+ \begin{MyboxSimpleAv}{\useKV[Cards]{Theme}}%
+ \ListeCards[\i,1]%
+ \end{MyboxSimpleAv}%
+ };%
+ }%
+ \end{Trame}%
+ \ifboolKV[Cards]{AffichageSolution}{%
+ \clearpage%
+ \thispagestyle{empty}%
+ \begin{Trame}
+ \multido{\i=1+1}{3}{%
+ \node at (Carte\i) {%
+ \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}%
+ \ListeCards[\fpeval{4-\i},2]%
+ \end{MyboxSimpleAr}%
+ };%
+ }%
+ \multido{\i=4+1}{3}{%
+ \node at (Carte\i) {%
+ \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}%
+ \ListeCards[\fpeval{10-\i},2]%
+ \end{MyboxSimpleAr}%
+ };%
+ }%
+ \multido{\i=7+1}{3}{%
+ \node at (Carte\i) {%
+ \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}%
+ \ListeCards[\fpeval{16-\i},2]%
+ \end{MyboxSimpleAr}%
+ };%
+ }%
+ \end{Trame}%
+ \clearpage%
+ }{}%
+ }{%
+ \ifboolKV[Cards]{SolutionSeule}{}{%
+ \begin{MyboxSimpleAv}{\useKV[Cards]{Theme}}%
+ \ListeCards[1,1]%
+ \end{MyboxSimpleAv}%
+ }%
+ \ifboolKV[Cards]{AffichageSolution}{%
+ \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}%
+ \ListeCards[1,2]%
+ \end{MyboxSimpleAr}%
+ }{}%
+ }%
+}%
+
+\NewDocumentCommand\CartesLoop{}{%
+ \ifboolKV[Cards]{Trame}{%
+ \clearpage%
+ \thispagestyle{empty}%
+ \begin{Trame}
+ \multido{\i=1+1}{9}{%
+ \node at (Carte\i) {%
+ \begin{Mybox}{\ListeCards[\i,1]}{\useKV[Cards]{Theme}}{\ListeCards[\i,2]}%
+ \ListeCards[\i,3]%
+ \end{Mybox}%
+ };%
+ }%
+ \end{Trame}%
+ \clearpage%
+ }{%
+ \begin{Mybox}{\ListeCards[1,1]}{\useKV[Cards]{Theme}}{\ListeCards[1,2]}%
+ \ListeCards[1,3]%
+ \end{Mybox}%
+ }%
+}%
+
+\NewDocumentCommand\CartesJaiQuia{}{%
+ \ifboolKV[Cards]{Trame}{%
+ \clearpage%
+ \thispagestyle{empty}%
+ \begin{Trame}%
+ \multido{\i=1+1}{9}{%
+ \node at (Carte\i) {%
+ \begin{MyboxJQ}{\ListeCards[\i,1]}{\ListeCards[\i,2]}%
+ %%
+ \end{MyboxJQ}%
+ };%
+ }%
+ \end{Trame}%
+ \clearpage%
+ \ifboolKV[Cards]{AffichageSolution}{%
+ \thispagestyle{empty}%
+ \begin{Trame}
+ \multido{\i=1+1}{3}{%
+ \node at (Carte\i) {%
+ \ifboolKV[Cards]{AfficheTheme}{%
+ \begin{MyboxJQAr}{\useKV[Cards]{ThemeJaiQuiA}}%
+ \end{MyboxJQAr}%
+ }{%
+ \begin{MyboxJQAr}{}%
+ \end{MyboxJQAr}%
+ }%
+ };%
+ }%
+ \multido{\i=4+1}{3}{%
+ \node at (Carte\i) {%
+ \ifboolKV[Cards]{AfficheTheme}{%
+ \begin{MyboxJQAr}{\useKV[Cards]{ThemeJaiQuiA}}%
+ \end{MyboxJQAr}%
+ }{%
+ \begin{MyboxJQAr}{}%
+ \end{MyboxJQAr}%
+ }%
+ };%
+ }%
+ \multido{\i=7+1}{3}{%
+ \node at (Carte\i) {%
+ \ifboolKV[Cards]{AfficheTheme}{%
+ \begin{MyboxJQAr}{\useKV[Cards]{ThemeJaiQuiA}}%
+ \end{MyboxJQAr}%
+ }{%
+ \begin{MyboxJQAr}{}%
+ \end{MyboxJQAr}%
+ }%
+ };%
+ }%
+ \end{Trame}%
+ \clearpage%
+ }{}%
+ }{%
+ \begin{MyboxJQ}{\ListeCards[1,1]}{\ListeCards[1,2]}%
+ %%
+ \end{MyboxJQ}%
+ \ifboolKV[Cards]{AffichageSolution}{%
+ \ifboolKV[Cards]{AfficheTheme}{%
+ \begin{MyboxJQAr}{\useKV[Cards]{ThemeJaiQuiA}}%
+ \end{MyboxJQAr}%
+ }{%
+ \begin{MyboxJQAr}{}%
+ \end{MyboxJQAr}%
+ }%
+ }{}%
+ }%
+}%
+
+\NewDocumentCommand\CartesTrivial{}{%
+ \xdef\PfCListeSymbolTrivial{\useKV[Cards]{Symboles}}%
+ \setsepchar{,}\readlist*\ListeSymbolesTrivial{\PfCListeSymbolTrivial}%
+ \setlength{\tabcolsep}{0.25\tabcolsep}%
+ \ifboolKV[Cards]{Trame}{%
+ \clearpage%
+ \thispagestyle{empty}%
+ \begin{Trame}%
+ \multido{\i=1+1}{9}{%
+ \node[] at (Carte\i) {%
+ \begin{MyboxTrivial}%
+ \begin{center}
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[9,m]}[hvlines]%
+ \xintFor* ##1 in{\xintSeq{1}{6}}\do{%
+ \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\i,\fpeval{1+2*(##1-1)}]\\
+ }%
+ \end{NiceTabular}%
+ \end{center}%
+ \end{MyboxTrivial}%
+ };%
+ }%
+ \end{Trame}%
+ \ifboolKV[Cards]{AffichageSolution}{%
\clearpage%
\thispagestyle{empty}%
\begin{Trame}%
- \multido{\i=1+1}{9}{%
- \node[] at (Carte\i) {%
+ \multido{\i=1+1}{3}{%
+ \node at (Carte\i) {%
+ \begin{MyboxTrivial}%
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
+ \xintFor* ##1 in{\xintSeq{1}{6}}\do{%
+ \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{4-\i},\fpeval{2*##1}]\\
+ }%
+ \end{NiceTabular}%
+ \end{center}%
+ \end{MyboxTrivial}%
+ };%
+ }%
+ \multido{\i=4+1}{3}{%
+ \node at (Carte\i) {%
+ \begin{MyboxTrivial}%
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
+ \xintFor* ##1 in{\xintSeq{1}{6}}\do{%
+ \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{10-\i},\fpeval{2*##1}]\\
+ }%
+ \end{NiceTabular}%
+ \end{center}%
+ \end{MyboxTrivial}%
+ };%
+ }%
+ \multido{\i=7+1}{3}{%
+ \node at (Carte\i) {%
\begin{MyboxTrivial}%
- \begin{center}
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[9,m]}[hvlines]%
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
\xintFor* ##1 in{\xintSeq{1}{6}}\do{%
- \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\i,\fpeval{1+2*(##1-1)}]\\
+ \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{16-\i},\fpeval{2*##1}]\\
}%
\end{NiceTabular}%
\end{center}%
@@ -387,219 +547,31 @@
};%
}%
\end{Trame}%
- \ifboolKV[Cards]{AffichageSolution}{%
- \clearpage%
- \thispagestyle{empty}%
- \begin{Trame}%
- \multido{\i=1+1}{3}{%
- \node at (Carte\i) {%
- \begin{MyboxTrivial}%
- \begin{center}%
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
- \xintFor* ##1 in{\xintSeq{1}{6}}\do{%
- \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{4-\i},\fpeval{2*##1}]\\
- }%
- \end{NiceTabular}%
- \end{center}%
- \end{MyboxTrivial}%
- };%
- }%
- \multido{\i=4+1}{3}{%
- \node at (Carte\i) {%
- \begin{MyboxTrivial}%
- \begin{center}%
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
- \xintFor* ##1 in{\xintSeq{1}{6}}\do{%
- \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{10-\i},\fpeval{2*##1}]\\
- }%
- \end{NiceTabular}%
- \end{center}%
- \end{MyboxTrivial}%
- };%
- }%
- \multido{\i=7+1}{3}{%
- \node at (Carte\i) {%
- \begin{MyboxTrivial}%
- \begin{center}%
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
- \xintFor* ##1 in{\xintSeq{1}{6}}\do{%
- \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[\fpeval{16-\i},\fpeval{2*##1}]\\
- }%
- \end{NiceTabular}%
- \end{center}%
- \end{MyboxTrivial}%
- };%
+ \clearpage%
+ }{}%
+ }{%
+ \begin{MyboxTrivial}%
+ \begin{center}%
+ \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
+ \xintFor* ##1 in{\xintSeq{1}{6}}\do{%
+ \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[1,\fpeval{1+2*(##1-1)}]\\
}%
- \end{Trame}%
- \clearpage%
- }{}%
- }{%
+ \end{NiceTabular}%
+ \end{center}%
+ \end{MyboxTrivial}%
+ \ifboolKV[Cards]{AffichageSolution}{%
\begin{MyboxTrivial}%
\begin{center}%
\begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
\xintFor* ##1 in{\xintSeq{1}{6}}\do{%
- \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[1,\fpeval{1+2*(##1-1)}]\\
+ \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[1,\fpeval{2*##1}]\\
}%
\end{NiceTabular}%
\end{center}%
\end{MyboxTrivial}%
- \ifboolKV[Cards]{AffichageSolution}{%
- \begin{MyboxTrivial}%
- \begin{center}%
- \begin{NiceTabular}[width=0.9\largeurcarte]{X[1,m]X[10,m]}[hvlines]%
- \xintFor* ##1 in{\xintSeq{1}{6}}\do{%
- \rule{0pt}{0.12\hauteurcards}\Block{1-1}{\ListeSymbolesTrivial[##1]}&\ListeCards[1,\fpeval{2*##1}]\\
- }%
- \end{NiceTabular}%
- \end{center}%
- \end{MyboxTrivial}%
- }{}%
- }%
- \setlength{\tabcolsep}{4\tabcolsep}%
- }{%
- \ifboolKV[Cards]{JaiQuia}{%
- \ifboolKV[Cards]{Trame}{%
- \clearpage%
- \thispagestyle{empty}%
- \begin{Trame}%
- \multido{\i=1+1}{9}{%
- \node at (Carte\i) {%
- \begin{MyboxJQ}{\ListeCards[\i,1]}{\ListeCards[\i,2]}%
- %%
- \end{MyboxJQ}%
- };%
- }%
- \end{Trame}%
- \clearpage%
- \ifboolKV[Cards]{AffichageSolution}{%
- \thispagestyle{empty}%
- \begin{Trame}
- \multido{\i=1+1}{3}{%
- \node at (Carte\i) {%
- \ifboolKV[Cards]{AfficheTheme}{%
- \begin{MyboxJQAr}{\useKV[Cards]{ThemeJaiQuiA}}%
- \end{MyboxJQAr}%
- }{%
- \begin{MyboxJQAr}{}%
- \end{MyboxJQAr}%
- }%
- };%
- }%
- \multido{\i=4+1}{3}{%
- \node at (Carte\i) {%
- \ifboolKV[Cards]{AfficheTheme}{%
- \begin{MyboxJQAr}{\useKV[Cards]{ThemeJaiQuiA}}%
- \end{MyboxJQAr}%
- }{%
- \begin{MyboxJQAr}{}%
- \end{MyboxJQAr}%
- }%
- };%
- }%
- \multido{\i=7+1}{3}{%
- \node at (Carte\i) {%
- \ifboolKV[Cards]{AfficheTheme}{%
- \begin{MyboxJQAr}{\useKV[Cards]{ThemeJaiQuiA}}%
- \end{MyboxJQAr}%
- }{%
- \begin{MyboxJQAr}{}%
- \end{MyboxJQAr}%
- }%
- };%
- }%
- \end{Trame}%
- \clearpage%
- }{}%
- }{%
- \begin{MyboxJQ}{\ListeCards[1,1]}{\ListeCards[1,2]}%
- %%
- \end{MyboxJQ}%
- \ifboolKV[Cards]{AffichageSolution}{%
- \ifboolKV[Cards]{AfficheTheme}{%
- \begin{MyboxJQAr}{\useKV[Cards]{ThemeJaiQuiA}}%
- \end{MyboxJQAr}%
- }{%
- \begin{MyboxJQAr}{}%
- \end{MyboxJQAr}%
- }%
- }{}%
- }%
- }{%
- \ifboolKV[Cards]{Loop}{%
- \ifboolKV[Cards]{Trame}{%
- \clearpage%
- \thispagestyle{empty}%
- \begin{Trame}
- \multido{\i=1+1}{9}{%
- \node at (Carte\i) {%
- \begin{Mybox}{\ListeCards[\i,1]}{\useKV[Cards]{Theme}}{\ListeCards[\i,2]}%
- \ListeCards[\i,3]%
- \end{Mybox}%
- };%
- }%
- \end{Trame}%
- \clearpage%
- }{%
- \begin{Mybox}{\ListeCards[1,1]}{\useKV[Cards]{Theme}}{\ListeCards[1,2]}%
- \ListeCards[1,3]%
- \end{Mybox}%
- }%
- }{%
- \ifboolKV[Cards]{Trame}{%
- \clearpage%
- \thispagestyle{empty}%
- \begin{Trame}
- \multido{\i=1+1}{9}{%
- \node[] at (Carte\i) {%
- \begin{MyboxSimpleAv}{\useKV[Cards]{Theme}}%
- \ListeCards[\i,1]%
- \end{MyboxSimpleAv}%
- };%
- }%
- \end{Trame}%
- \ifboolKV[Cards]{AffichageSolution}{%
- \clearpage%
- \thispagestyle{empty}%
- \begin{Trame}
- \multido{\i=1+1}{3}{%
- \node at (Carte\i) {%
- \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}%
- \ListeCards[\fpeval{4-\i},2]%
- \end{MyboxSimpleAr}%
- };%
- }%
- \multido{\i=4+1}{3}{%
- \node at (Carte\i) {%
- \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}%
- \ListeCards[\fpeval{10-\i},2]%
- \end{MyboxSimpleAr}%
- };%
- }%
- \multido{\i=7+1}{3}{%
- \node at (Carte\i) {%
- \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}%
- \ListeCards[\fpeval{16-\i},2]%
- \end{MyboxSimpleAr}%
- };%
- }%
- \end{Trame}%
- \clearpage%
- }{}%
- }{%
- \ifboolKV[Cards]{SolutionSeule}{}{%
- \begin{MyboxSimpleAv}{\useKV[Cards]{Theme}}%
- \ListeCards[1,1]%
- \end{MyboxSimpleAv}%
- }%
- \ifboolKV[Cards]{AffichageSolution}{%
- \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}%
- \ListeCards[1,2]%
- \end{MyboxSimpleAr}%
- }{}%
- }%
- }%
- }%
+ }{}%
}%
+ \setlength{\tabcolsep}{4\tabcolsep}%
}%
\newcommand\SolutionCarte[2]{%
@@ -608,4 +580,174 @@
\end{center}
#2
+}%
+
+%%%%%%%% Boites
+\def\BuildBoiteCartesCCCode{%
+ Longueur=10cm;
+ Largeur=7cm;
+ Epaisseur=\useKV[Cards]{NbCartes}*1mm;
+ pair A[],B[],C[],D[];
+ A0=(0,0);
+ A1-A0=Epaisseur*(1,0);
+ A2-A1=Largeur*(1,0);
+ A3-A2=Epaisseur*(1,0);
+ A4-A3=Largeur*(1,0);
+ A5-A4=Epaisseur*(1,0);
+ A6-A5=Longueur*(0,1);
+ A7-A4=A6-A5;
+ A8-A3=A6-A5;
+ A9-A2=A6-A5;
+ A10-A1=A6-A5;
+ A11-A0=A6-A5;
+ A12-A11=A11-A10;
+ A13-A0=A0-A1;
+ B1-A1=Epaisseur*(0,-1);
+ B2-A2=Epaisseur*(0,-1);
+ B3-A3=Epaisseur*(0,-1);
+ B4-A4=Epaisseur*(0,-1);
+ C1=1/3[B1,B2];
+ C4=2/3[B1,B2];
+ C2-C1=B1-A1;
+ C3-C4=B1-A1;
+ C5-A2=(Epaisseur+5mm)*(0,-1);
+ C6-A3=C5-A2;
+ D1=1/5[A5,A6];
+ D2-D1=(Epaisseur+5mm)*(1,0);
+ D4=2/5[A5,A6];
+ D3-D4=D2-D1;
+ D5=3/5[A5,A6];
+ D6-D5=D3-D4;
+ D8=4/5[A5,A6];
+ D7-D8=D6-D5;
+ D9=1/3[A10,A9];
+ D10=2/3[A10,A9];
+ D11-D10=Epaisseur*(0,1);
+ D12-D9=D11-D10;
+ D17-A7=Epaisseur*(0,1);
+ D18-A8=D17-A7;
+ D19-D18=(1cm,Epaisseur+5mm);
+ D20-D17=(-1cm,Epaisseur+5mm);
+ picture Legende,LegendePDF;
+ pair M[];
+ M0=1/2[A8,A7];
+ M6=1/2[A3,A4];
+ M1=1/6[M0,M6];
+ M2=2/6[M0,M6];
+ M3=3/6[M0,M6];
+ M4=4/6[M0,M6];
+ M5=5/6[M0,M6];
+}%
+
+\NewDocumentCommand\BuildBoiteCartesCommerceC{}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \BuildBoiteCartesCCCode;
+ %
+ trace chemin(A11,A12,A13,A0);
+ trace chemin(D9,A11,A0,1/3[A1,A2]);
+ trace chemin(D10,A6,A5,2/3[A1,A2]);
+ trace segment(A1,A10) dashed evenly;
+ trace segment(A1,1/5[A1,A10]);
+ trace segment(2/5[A1,A10],3/5[A1,A10]);
+ trace segment(4/5[A1,A10],A10);
+ trace marquesegment(1/5[A1,A10],2/5[A1,A10]);
+ trace marquesegment(3/5[A1,A10],4/5[A1,A10]);
+ trace segment(A2,A9);
+ trace segment(A3,A8);
+ trace segment(A4,A7);
+ trace segment(1/3[A1,A2],2/3[A1,A2]) dashed evenly;
+ trace marquesegment(1/3[A1,A2],2/3[A1,A2]);
+ % languettes basses
+ trace chemin(B1,B2);
+ trace chemin(B3,B4,A4);
+ trace chemin(C1,C2,C3,C4) shifted (B4-B2);;
+ picture Decoupe[];
+ Decoupe1=image(
+ trace chemin(B2,C5,C6,B3);
+ trace A2--B2 dashed evenly;
+ trace A3--B3 dashed evenly;
+ );
+ Decoupe2=image(
+ trace chemin(B2,C5,C6,A3);
+ trace A2--B2 dashed evenly;
+ );
+ trace Decoupe1;
+ trace symetrie(Decoupe2,iso(A2,A3),iso(C5,C6)) shifted(A0-A2);
+ trace symetrie(Decoupe2 shifted(A4-A2),iso(A0,A11),iso(A5,A6));
+ trace symetrie(Decoupe2 shifted(A4-A2),iso(A8,A4));
+ % languettes droites
+ trace polygone(D1,D2,D3,D4);
+ trace polygone(D5,D6,D7,D8);
+ % languettes hautes
+ path cc;
+ cc=cercles(iso(A10,A9),1/3[A10,A9]);
+ trace Hachurage((subpath(length cc/2,length cc) of cc)--cycle,60,0.25,1);
+ trace (subpath(length cc/2,length cc) of cc)--cycle dashed evenly;
+ trace polygone(D18,D17,D20,D19);
+ trace chemin(1/3[D18,D17],D18,D19,D20,D17,2/3[D18,D17]);
+ % label
+ drawoptions(withcolor \useKV[Cards]{CouleurTheme});
+ label(btex \bfseries\Large\useKV[Cards]{ThemeJeu} etex,M2);
+ drawoptions(withcolor \useKV[Cards]{CouleurNiveau});
+ label(btex \bfseries Niveau \useKV[Cards]{Niveau} etex,M3);
+ label(btex \bfseries Jeu \useKV[Cards]{Numero} etex,M4);
+ drawoptions(withcolor \useKV[Cards]{CouleurNb});
+ label(btex \bfseries\useKV[Cards]{NbCartes} cartes etex,M5);
+ drawoptions(withcolor \useKV[Cards]{CouleurType});
+ label(btex \bfseries\Huge\useKV[Cards]{TypeJeu} etex,M1);
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\BuildBoiteCartesCCCode;}]
+ trace chemin(A11,A12,A13,A0);
+ trace chemin(D9,A11,A0,1/3[A1,A2]);
+ trace chemin(D10,A6,A5,2/3[A1,A2]);
+ trace segment(A1,A10) dashed evenly;
+ trace segment(A1,1/5[A1,A10]);
+ trace segment(2/5[A1,A10],3/5[A1,A10]);
+ trace segment(4/5[A1,A10],A10);
+ trace marquesegment(1/5[A1,A10],2/5[A1,A10]);
+ trace marquesegment(3/5[A1,A10],4/5[A1,A10]);
+ trace segment(A2,A9);
+ trace segment(A3,A8);
+ trace segment(A4,A7);
+ trace segment(1/3[A1,A2],2/3[A1,A2]) dashed evenly;
+ trace marquesegment(1/3[A1,A2],2/3[A1,A2]);
+ % languettes basses
+ trace chemin(B1,B2);
+ trace chemin(B3,B4,A4);
+ trace chemin(C1,C2,C3,C4) shifted (B4-B2);;
+ picture Decoupe[];
+ Decoupe1=image(
+ trace chemin(B2,C5,C6,B3);
+ trace A2--B2 dashed evenly;
+ trace A3--B3 dashed evenly;
+ );
+ Decoupe2=image(
+ trace chemin(B2,C5,C6,A3);
+ trace A2--B2 dashed evenly;
+ );
+ trace Decoupe1;
+ trace symetrie(Decoupe2,iso(A2,A3),iso(C5,C6)) shifted(A0-A2);
+ trace symetrie(Decoupe2 shifted(A4-A2),iso(A0,A11),iso(A5,A6));
+ trace symetrie(Decoupe2 shifted(A4-A2),iso(A8,A4));
+ % languettes droites
+ trace polygone(D1,D2,D3,D4);
+ trace polygone(D5,D6,D7,D8);
+ % languettes hautes
+ path cc;
+ cc=cercles(iso(A10,A9),1/3[A10,A9]);
+ trace Hachurage((subpath(length cc/2,length cc) of cc)--cycle,60,0.25,1);
+ trace (subpath(length cc/2,length cc) of cc)--cycle dashed evenly;
+ trace polygone(D18,D17,D20,D19);
+ trace chemin(1/3[D18,D17],D18,D19,D20,D17,2/3[D18,D17]);
+ \end{mpost}
+ \fi
+}%
+
+\NewDocumentCommand\BoiteCartes{o}{%
+ \useKVdefault[Cards]%
+ \setKV[Cards]{#1}%
+ \BuildBoiteCartesCommerceC%
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCDefiTables.tex b/macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
index 279b7a4ad7..4505b47c48 100644
--- a/macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCDefiTables.tex
@@ -2,7 +2,7 @@
% Defi Table
%%%
-\setKVdefault[DefiTable]{Solution=false,Math=false,LargeurT=5mm,Graines=false,Creation=false}
+\setKVdefault[DefiTable]{Solution=false,Math=false,LargeurT=5mm,Graines=false,Creation=false,ValeurMin=1,ValeurMax=10}
\defKV[DefiTable]{Graine=\setKV[DefiTable]{Graines}}%
\newcommand\MelangeListeNew[2]{%
@@ -32,7 +32,36 @@
\reademptyitems%
}%
+\NewDocumentCommand\JeConstruisLesProduits{mm}{%
+ \xintFor* ##1 in{\xintSeq{#1}{#2}}\do{%
+ \xintifForFirst{%
+ \xdef\ListeDesProduitsFoo{\fpeval{##1}}%
+ \xintFor* ##2 in{\xintSeq{2}{10}}\do{%
+ \xdef\ListeDesProduitsFoo{\ListeDesProduitsFoo/\fpeval{##1*##2}}%
+ }%
+ }{%
+ \xintFor* ##2 in{\xintSeq{1}{10}}\do{%
+ \xdef\JeCoupe{0}%
+ \xintFor* ##3 in{\xintSeq{#1}{\fpeval{##1-1}}}\do{%
+ \xintifboolexpr{\fpeval{##1*##2}>\fpeval{##3*10}}{}{%
+ \modulo{\fpeval{##1*##2}}{##3}\relax%
+ \xintifboolexpr{\remainder==0}{\xdef\JeCoupe{1}\xintBreakFor}{}%
+ }%
+ }%
+ \xintifboolexpr{\JeCoupe==1}{}{\xdef\ListeDesProduitsFoo{\ListeDesProduitsFoo/\fpeval{##1*##2}}}%
+ }%
+ }%
+ }%
+ \setsepchar[*]{/}%
+ \readlist*\ListeDesProduits{\ListeDesProduitsFoo}%
+ \xdef\NombreDeProduitATester{\ListeDesProduitslen}%
+}%
+
\newcommand\DefiTableNombreLettreduCode[1]{%
+ \JeConstruisLesProduits{\useKV[DefiTable]{ValeurMin}}{\useKV[DefiTable]{ValeurMax}}%
+ \MelangeListeNew{\ListeDesProduitsFoo}{\NombreDeProduitATester}
+% Les produits mélangés sont :\par
+ \readlist*\ListeDesProduits{\faa}%
\xdef\ListeDesCaracteresFoo{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/à/é/è/ê/ï/î/ô/ö/ù/ç/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/À/É/È/,/$?$/$;$/./$!$/$:$/-}
\savecomparemode%
\comparestrict%
@@ -79,21 +108,17 @@
\xintifboolexpr{\PfCTotal==\ListeDesLettresUniqueslen}{\xdef\ListeCaracteresUniques{\ListeCaracteresUniques\ListeTotaleDesCaracteres[##1]/}}{}%
}%
%La liste des caractères uniques à ajouter
- \MelangeListeNew{\ListeCaracteresUniques}{\fpeval{42-\ListeDesLettresUniqueslen}}%
+ \MelangeListeNew{\ListeCaracteresUniques}{\fpeval{\NombreDeProduitATester-\ListeDesLettresUniqueslen}}%
%\par La liste des éléments à mélanger est :\par
\xdef\ListeDesCaracteresAUtiliser{}
\xintFor* ##1 in{\xintSeq{1}{\ListeDesLettresUniqueslen}}\do{%
\xdef\ListeDesCaracteresAUtiliser{\ListeDesCaracteresAUtiliser \ListeDesLettresUniques[##1]/}%
}%
\xdef\ListeDesCaracteresAUtiliser{\ListeDesCaracteresAUtiliser \faa}
- \MelangeListeNew{\ListeDesCaracteresAUtiliser}{42}
+ \MelangeListeNew{\ListeDesCaracteresAUtiliser}{\NombreDeProduitATester}
%Finalement, on utilise ces caractères :\par
\ignoreemptyitems%
\readlist*\ListeFinaleDesCaracteres{\faa}
- \xdef\ListeDesProduitsFoo{1/2/3/4/5/6/7/8/9/10/12/14/16/18/20/15/21/24/27/30/28/32/36/40/25/35/45/50/42/48/54/60/49/56/63/70/64/72/80/81/90/100}
- \MelangeListeNew{\ListeDesProduitsFoo}{42}
- %Les produits mélangés sont :\par
- \readlist*\ListeDesProduits{\faa}%
\restorecomparemode
\reademptyitems
}
@@ -103,9 +128,9 @@
% 2 la table de décodage
\useKVdefault[DefiTable]%
\setKV[DefiTable]{#1}%
- \ifboolKV[DefiTable]{Creation}{
+ \ifboolKV[DefiTable]{Creation}{%
\ifboolKV[DefiTable]{Graines}{\PfCGraineAlea{\useKV[DefiTable]{Graine}}}{}%
- \DefiTableNombreLettreduCode{#2}
+ \DefiTableNombreLettreduCode{#2}%
\begin{center}
\begin{tabular}{|>{\columncolor{gray!15}}c|*{10}{c|}}
\hline
@@ -114,8 +139,8 @@
}\\\hline%
\xintFor* ##1 in{\xintSeq{1}{10}}\do{%
##1\xintFor* ##2 in{\xintSeq{1}{10}}\do{%
- &\xintFor* ##3 in{\xintSeq{1}{42}}\do{%
- \xintifboolexpr{\fpeval{##1*##2}==\ListeDesProduits[##3]}{\ListeFinaleDesCaracteres[##3]}{}%
+ &\xintFor* ##3 in{\xintSeq{1}{\NombreDeProduitATester}}\do{%
+ \xintifboolexpr{\fpeval{##1*##2}==\ListeDesProduits[##3] 'and' any(\useKV[DefiTable]{ValeurMin}<=##2<=\useKV[DefiTable]{ValeurMax},\useKV[DefiTable]{ValeurMin}<=##1<=\useKV[DefiTable]{ValeurMax})}{\ListeFinaleDesCaracteres[##3]}{}%
}%
}\\\hline%
}%
@@ -169,7 +194,7 @@
\xintifForFirst{}{&}%
\StrMid{\ListeDefiTableTableau[##1]}{##2}{##2}[\DefiTableMaLettre]%
\IfStrEq{\DefiTableMaLettre}{*}{}{%
- \xintFor* ##3 in{\xintSeq{1}{42}}\do{%
+ \xintFor* ##3 in{\xintSeq{1}{\NombreDeProduitATester}}\do{%
\IfStrEq{\DefiTableMaLettre}{\ListeFinaleDesCaracteres[##3]}{\Block{}{\footnotesize\ListeDesProduits[##3]}}{}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex b/macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
index fea78f1102..38c3915888 100644
--- a/macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex
@@ -1,15 +1,15 @@
%%%
% Modele en barre
%%%
-\setKVdefault[ClesModeleBarre]{Hauteur=0.5cm,Largeur=1cm,Separation=0,Homogene=false}%Separation pour conserver le lien avec les équations.
+\setKVdefault[ClesModeleBarre]{Hauteur=0.5cm,Largeur=1cm,Separation={0},Homogene=false}%Separation pour conserver le lien avec les équations.
\defKV[ClesModeleBarre]{Longueur=\setKV[ClesModeleBarre]{Homogene}}%
\newtoks\toklistemodelbarresup%
-\toklistemodelbarresup{}%
\def\UpdateListeModelBarreSup#1\nil{\addtotok\toklistemodelbarresup{#1,}}%
\newtoks\toklistemodelbarreinf%
-\toklistemodelbarreinf{}%
\def\UpdateListeModelBarreInf#1\nil{\addtotok\toklistemodelbarreinf{#1,}}%
+\newtoks\toklistemodelbarresep%
+\def\UpdateListeModelBarreSep#1\nil{\addtotok\toklistemodelbarresep{#1,}}%
\newcommand\ModeleBarre[3][]{%
% #1 options
@@ -20,6 +20,9 @@
\setsepchar{\\/ }%
\readlist\ListeModelBarreSup{#2}%
\readlist\ListeModelBarreInf{#3}%
+ \setsepchar{,}%
+ \xdef\fooSeparation{\useKV[ClesModeleBarre]{Separation}}
+ \readlist\ListeModelBarreSep{\fooSeparation}%
\toklistemodelbarresup{}%
\foreachitem\compteur\in\ListeModelBarreSup{%
\foreachitem\valeur\in\ListeModelBarreSup[\compteurcnt]{%
@@ -32,10 +35,14 @@
\expandafter\UpdateListeModelBarreInf\valeur\nil%
}%
}%
+ \toklistemodelbarresep{}%
+ \foreachitem\compteur\in\ListeModelBarreSep{%
+ \expandafter\UpdateListeModelBarreSep\compteur\nil%
+ }%
\ifboolKV[ClesModeleBarre]{Homogene}{%
\PfCMPDessineModelBarre{\the\toklistemodelbarresup}{\the\toklistemodelbarreinf}%
}{%
- \PfCMPDessineModelBarreNonHomogene{\the\toklistemodelbarresup}{\the\toklistemodelbarreinf}%
+ \PfCMPDessineModelBarreNonHomogene{\the\toklistemodelbarresup}{\the\toklistemodelbarreinf}{\the\toklistemodelbarresep}%
}%
}%
@@ -156,37 +163,42 @@
\end{mplibcode}
}%
-\newcommand\PfCMPDessineModelBarreNonHomogene[2]{%
- \ifluatex%
- \mplibforcehmode%
- \begin{mplibcode}
- Longueur:=\useKV[ClesModeleBarre]{Largeur};
- Hauteur:=\useKV[ClesModeleBarre]{Hauteur};
- Separation:=\useKV[ClesModeleBarre]{Separation};
-
- vardef Brique(expr col,nbfois)(text t)=
- save $;
- picture $;
- $=image(
- u:=Longueur;
- if t="?":
- draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur)) dashed evenly;
- else:
- remplis polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur)) withcolor col;
- draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur));
- fi;
- if nbfois>0:
- label(TEX(t),iso((0,0),(u*abs(nbfois),Hauteur)));
- else:
- label.bot(TEX(t),iso((0,0),(u*abs(nbfois),-Hauteur)));
- drawdblarrow (0,-0.5*Hauteur)--(u*abs(nbfois),-0.5*Hauteur);
- fi;
- u:=1cm;
- );
- $
- enddef;
-
- numeric MBnbcolsup;%compte combien de couleurs
+\def\PfCMPDessineModelBarreNHCode{%
+ numeric MBnbcolinf;%compte combien de couleurs
+ MBnbcolinf=0;
+ color MBColInf[];%Sauvegarde les couleurs de la barre inf
+ numeric MBnbinfoinf[];%compte combien d'infos par couleurs.
+ numeric MBnbcasesinf[][];
+ numeric MBnbcasesinftotal;
+ MBnbcasesinftotal=0;
+ string MBTextcasesinf[][];
+ vardef tata(text t)=
+ for p_=t:
+ if color p_:
+ MBnbcolinf:=MBnbcolinf+1;% on incrémente le nombre de couleurs
+ MBColInf[MBnbcolinf]:=p_;% on définit la couleur de la série de cases
+ MBnbinfoinf[MBnbcolinf]:=0;
+ else:
+ if numeric p_:
+ MBnbinfoinf[MBnbcolinf]:=MBnbinfoinf[MBnbcolinf]+1;
+ MBnbcasesinftotal:=MBnbcasesinftotal+p_;
+ MBnbcasesinf[MBnbcolinf][MBnbinfoinf[MBnbcolinf]]:=p_;
+ else:
+ MBTextcasesinf[MBnbcolinf][MBnbinfoinf[MBnbcolinf]]:=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+ %
+ vardef Separation(text t)=
+ for p_=t:
+ if p_>0:
+ nbdecal:=p_;
+ draw (u*nbdecal,-1.5Hauteur)--(u*nbdecal,1.5Hauteur) withpen pencircle scaled 1.5 dashed evenly withcolor red;
+ fi;
+ endfor;
+ enddef;
+ numeric MBnbcolsup;%compte combien de couleurs
MBnbcolsup=0;
color MBColSup[];%Sauvegarde les couleurs de la barre sup
numeric MBnbinfosup[];%compte combien d'infos par couleurs.
@@ -211,35 +223,64 @@
fi;
endfor;
enddef;
-
- toto(#1);
+}%
- numeric MBnbcolinf;%compte combien de couleurs
- MBnbcolinf=0;
- color MBColInf[];%Sauvegarde les couleurs de la barre inf
- numeric MBnbinfoinf[];%compte combien d'infos par couleurs.
- numeric MBnbcasesinf[][];
- numeric MBnbcasesinftotal;
- MBnbcasesinftotal=0;
- string MBTextcasesinf[][];
- vardef tata(text t)=
- for p_=t:
- if color p_:
- MBnbcolinf:=MBnbcolinf+1;% on incrémente le nombre de couleurs
- MBColInf[MBnbcolinf]:=p_;% on définit la couleur de la série de cases
- MBnbinfoinf[MBnbcolinf]:=0;
- else:
- if numeric p_:
- MBnbinfoinf[MBnbcolinf]:=MBnbinfoinf[MBnbcolinf]+1;
- MBnbcasesinftotal:=MBnbcasesinftotal+p_;
- MBnbcasesinf[MBnbcolinf][MBnbinfoinf[MBnbcolinf]]:=p_;
- else:
- MBTextcasesinf[MBnbcolinf][MBnbinfoinf[MBnbcolinf]]:=p_;
- fi;
- fi;
- endfor;
- enddef;
+\def\PfCMPDessineModelBarreBriqueCode{%
+ vardef Brique(expr col,nbfois)(text t)=
+ save $;
+ picture $;
+ $=image(
+ if t="?":
+ draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur)) dashed evenly;
+ else:
+ remplis polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur)) withcolor col;
+ draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur));
+ fi;
+ if nbfois>0:
+ label(TEX(t),iso((0,0),(u*abs(nbfois),Hauteur)));
+ else:
+ label.bot(TEX(t),iso((0,0),(u*abs(nbfois),-Hauteur)));
+ drawdblarrow (0,-0.5*Hauteur)--(u*abs(nbfois),-0.5*Hauteur);
+ fi;
+ );
+ $
+ enddef;
+}%
+
+\def\PfCMPDessineModelBarreBriqueCodePDF{%
+ vardef Brique(expr col,nbfois)(text t)=
+ save $;
+ picture $;
+ $=image(
+ if t="?":
+ draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur)) dashed evenly;
+ else:
+ remplis polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur)) withcolor col;
+ draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur));
+ fi;
+ if nbfois>0:
+ label(LATEX(t),iso((0,0),(u*abs(nbfois),Hauteur)));
+ else:
+ label.bot(LATEX(t),iso((0,0),(u*abs(nbfois),-Hauteur)));
+ drawdblarrow (0,-0.5*Hauteur)--(u*abs(nbfois),-0.5*Hauteur);
+ fi;
+ );
+ $
+ enddef;
+}%
+
+\newcommand\PfCMPDessineModelBarreNonHomogene[3]{%
+ \ifluatex%
+ \mplibforcehmode%
+ \begin{mplibcode}
+ \PfCMPDessineModelBarreNHCode
+ \PfCMPDessineModelBarreBriqueCode
+ Longueur:=\useKV[ClesModeleBarre]{Largeur};
+ Hauteur:=\useKV[ClesModeleBarre]{Hauteur};
+ u:=Longueur;
+
+ toto(#1);
tata(#2);
pair VecteurDepla;
@@ -267,89 +308,11 @@
endfor;
endfor;
- if Separation>0:
- draw (u*Separation,-1.5Hauteur)--(u*Separation,1.5Hauteur) withpen pencircle scaled 1.5 dashed evenly withcolor red;
- fi;
-
+ Separation(#3);
\end{mplibcode}%
\else
- \begin{mpost}[mpsettings={Longueur:=\useKV[ClesModeleBarre]{Largeur};Hauteur:=\useKV[ClesModeleBarre]{Hauteur};Separation:=\useKV[ClesModeleBarre]{Separation};}]
- vardef Brique(expr col,nbfois)(text t)=
- save $;
- picture $;
- $=image(
- u:=Longueur;
- if t="?":
- draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur)) dashed evenly;
- else:
- remplis polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur)) withcolor col;
- draw polygone((0,0),(u*abs(nbfois),0),(u*abs(nbfois),Hauteur),(0,Hauteur));
- fi;
- if nbfois>0:
- label(LATEXProf(t),iso((0,0),(u*abs(nbfois),Hauteur)));
- else:
- label.bot(LATEXProf(t),iso((0,0),(u*abs(nbfois),-Hauteur)));
- drawdblarrow (0,-0.5*Hauteur)--(u*abs(nbfois),-0.5*Hauteur);
- fi;
- u:=1cm;
- );
- $
- enddef;
-
- numeric MBnbcolsup;%compte combien de couleurs
- MBnbcolsup=0;
- color MBColSup[];%Sauvegarde les couleurs de la barre sup
- numeric MBnbinfosup[];%compte combien d'infos par couleurs.
- numeric MBnbcasessup[][];
- numeric MBnbcasessuptotal;
- MBnbcasessuptotal=0;
- string MBTextcasessup[][];
- vardef toto(text t)=
- for p_=t:
- if color p_:
- MBnbcolsup:=MBnbcolsup+1;% on incrémente le nombre de couleurs
- MBColSup[MBnbcolsup]:=p_;% on définit la couleur de la série de cases
- MBnbinfosup[MBnbcolsup]:=0;
- else:
- if numeric p_:
- MBnbinfosup[MBnbcolsup]:=MBnbinfosup[MBnbcolsup]+1;
- MBnbcasessuptotal:=MBnbcasessuptotal+p_;
- MBnbcasessup[MBnbcolsup][MBnbinfosup[MBnbcolsup]]:=p_;
- else:
- MBTextcasessup[MBnbcolsup][MBnbinfosup[MBnbcolsup]]:=p_;
- fi;
- fi;
- endfor;
- enddef;
-
+ \begin{mpost}[mpsettings={\PfCMPDessineModelBarreNHCode;\PfCMPDessineModelBarreBriqueCodePDF;Longueur:=\useKV[ClesModeleBarre]{Largeur};Hauteur:=\useKV[ClesModeleBarre]{Hauteur};u:=Longueur;}]
toto(#1);
-
- numeric MBnbcolinf;%compte combien de couleurs
- MBnbcolinf=0;
- color MBColInf[];%Sauvegarde les couleurs de la barre inf
- numeric MBnbinfoinf[];%compte combien d'infos par couleurs.
- numeric MBnbcasesinf[][];
- numeric MBnbcasesinftotal;
- MBnbcasesinftotal=0;
- string MBTextcasesinf[][];
- vardef tata(text t)=
- for p_=t:
- if color p_:
- MBnbcolinf:=MBnbcolinf+1;% on incrémente le nombre de couleurs
- MBColInf[MBnbcolinf]:=p_;% on définit la couleur de la série de cases
- MBnbinfoinf[MBnbcolinf]:=0;
- else:
- if numeric p_:
- MBnbinfoinf[MBnbcolinf]:=MBnbinfoinf[MBnbcolinf]+1;
- MBnbcasesinftotal:=MBnbcasesinftotal+p_;
- MBnbcasesinf[MBnbcolinf][MBnbinfoinf[MBnbcolinf]]:=p_;
- else:
- MBTextcasesinf[MBnbcolinf][MBnbinfoinf[MBnbcolinf]]:=p_;
- fi;
- fi;
- endfor;
- enddef;
-
tata(#2);
pair VecteurDepla;
@@ -377,10 +340,7 @@
endfor;
endfor;
- if Separation>0:
- draw u*(Separation,-0.75)--u*(Separation,0.75) withpen pencircle scaled 1.5 dashed evenly withcolor red;
- fi;
-
+ Separation(#3);
\end{mpost}
\fi
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex b/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
index 81e88648e8..65ec863b11 100644
--- a/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
@@ -5,7 +5,10 @@
\defKV[ClesFonction]{Traces=\setKV[ClesFonction]{Codes}}%
\newtoks\toklistePtsFn%pour la discipline
-
+\newtoks\tokPfCListeDesFonctions%
+\newtoks\tokPfCListeDesNomsFonctions%
+\def\UpdatePfCListeDesFonctions#1\nil{\addtotok\tokPfCListeDesFonctions{"#1",}}%
+\def\UpdatePfCListeDesNomsFonctions#1\nil{\addtotok\tokPfCListeDesNomsFonctions{"#1",}}%
\def\UpdatePtsFn#1/#2/#3/#4\nil{\addtotok\toklistePtsFn{#1,(#2,#3),#4,}}%
\def\UpdatePtsFN#1/#2/#3/#4\nil{\addtotok\toklistePtsFn{(#2,#3),}}%
@@ -15,7 +18,21 @@
\ifboolKV[ClesFonction]{Trace}{%
\useKVdefault[TraceG]%
\setKV[TraceG]{#1}%
- \MPTraceFonction[#1]{\useKV[ClesFonction]{Calcul}}%
+ \tokPfCListeDesFonctions{}%
+ \tokPfCListeDesNomsFonctions{}%
+ \xdef\PfCFooFn{\useKV[ClesFonction]{Calcul}}
+ \xdef\PfCFooNomFn{\useKV[TraceG]{NomCourbe}}
+ \ifx\bla\PfCFooFn\bla%
+ \else
+ \readlist*\ListeDesFonctions{\PfCFooFn}
+ \foreachitem\compteur\in\ListeDesFonctions{\expandafter\UpdatePfCListeDesFonctions\compteur\nil}%
+ \fi
+ \ifx\bla\PfCFooNomFn\bla
+ \else
+ \readlist*\ListeDesNomsFonctions{\PfCFooNomFn}
+ \foreachitem\compteur\in\ListeDesNomsFonctions{\expandafter\UpdatePfCListeDesNomsFonctions\compteur\nil}%
+ \fi
+ \TraceMultiGraphique{\the\tokPfCListeDesFonctions}{\the\tokPfCListeDesNomsFonctions}%
}{%
\ifboolKV[ClesFonction]{Points}{%
\toklistePtsFn{}%
@@ -32,16 +49,14 @@
\xdef\PfCFooListePoints{}
\ifboolKV[ClesFonction]{Tangentes}{%
\foreachitem\compteur\in\ListePoints{%
- % \expandafter\UpdatePtsFn\compteur\nil%
\xdef\PfCFooListePoints{\PfCFooListePoints \ListePoints[\compteurcnt,1],(\ListePoints[\compteurcnt,2],\ListePoints[\compteurcnt,3]),\ListePoints[\compteurcnt,4],}%
}%
}{%
\foreachitem\compteur\in\ListePoints{%
- % \expandafter\UpdatePtsFN\compteur\nil%
\xdef\PfCFooListePoints{\PfCFooListePoints (\ListePoints[\compteurcnt,2],\ListePoints[\compteurcnt,3]),}%
}%
}%
- \MPCourbeNew{\PfCFooListePoints}%\the\toklistePtsFn}%
+ \MPCourbeNew{\PfCFooListePoints}%
}%
}{%
\setsepchar{,}\ignoreemptyitems%
@@ -63,6 +78,281 @@
}%
}%
+\def\PfCTraceMGCode{%
+ nbcourbe=\ListeDesFonctionslen;
+ %
+ numeric borneinf[],bornesup[],pos[];
+ %
+ vardef RetiensPos(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ pos[n]=p_;
+ endfor;
+ enddef;
+ %
+ RetiensPos(\useKV[TraceG]{LabelC});
+ %
+ vardef RetiensBorneInf(text t)=
+ borneinfmin=infinity;
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ borneinf[n]=p_;
+ if borneinf[n]<borneinfmin:
+ borneinfmin:=borneinf[n]
+ fi;
+ endfor;
+ enddef;
+ %
+ RetiensBorneInf(\useKV[TraceG]{Bornea});
+ %
+ vardef RetiensBorneSup(text t)=
+ bornesupmax=-infinity;
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ bornesup[n]=p_;
+ if bornesup[n]>bornesupmax:
+ bornesupmax:=bornesup[n]
+ fi;
+ endfor;
+ enddef;%
+ %
+ RetiensBorneSup(\useKV[TraceG]{Borneb});
+ %
+ nbpointsCourbe:=\useKV[TraceG]{NbPointsCourbe};
+ xmin=\useKV[TraceG]{Xmin};
+ xmax=\useKV[TraceG]{Xmax};
+ ymin=\useKV[TraceG]{Ymin};
+ ymax=\useKV[TraceG]{Ymax};
+ pasx=\useKV[TraceG]{Xstep};
+ pasy=\useKV[TraceG]{Ystep};
+ xu=1cm/\useKV[TraceG]{Xstep};
+ yu=1cm/\useKV[TraceG]{Ystep};
+ grillex=\useKV[TraceG]{PasGrilleX};
+ grilley=\useKV[TraceG]{PasGrilleY};
+ gradx=\useKV[TraceG]{PasGradX};
+ grady=\useKV[TraceG]{PasGradY};
+ Epaisseur:=\useKV[TraceG]{Epaisseur};
+ %
+ color colortrace[];
+ vardef RetiensCouleur(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ colortrace[n]=p_;
+ endfor;
+ enddef;
+ %
+ RetiensCouleur(\useKV[TraceG]{CouleurTrace});
+ %
+ pair Origine;
+ Origine=(xmin,ymin)+\useKV[TraceG]{Origine};
+ %
+ boolean Grille,Vide,Graduations,Code,LegendeX,LegendeY;
+ Grille=\useKV[TraceG]{Grille};
+ Vide=\useKV[TraceG]{Vide};
+ Graduations=\useKV[TraceG]{Graduations};
+ Code=\useKV[TraceG]{Code};
+ LegendeX=\useKV[TraceG]{LegendeX};
+ LegendeY=\useKV[TraceG]{LegendeY};
+ %
+ vardef sin(expr t) = sind(c*t) enddef;
+ vardef cos(expr t) = cosd(c*t) enddef;
+ vardef tan(expr t) = sin(t)/cos(t) enddef;
+ vardef exp(expr t) = e**t enddef;
+ vardef ch(expr x)=(exp(x)+exp(-x))/2 enddef;
+ vardef sh(expr x)=(exp(x)-exp(-x))/2 enddef;
+ vardef ln(expr t) = mlog(t)/256 enddef;
+ vardef arcsin(expr x)=%Définition mathématique en radian
+ pi*angle((sqrt(1-x**2),x))/180
+ enddef;
+ vardef arccos(expr x)=%Définition mathématique en radian
+ pi*angle((x,sqrt(1-x**2)))/180
+ enddef;
+ def enplace=
+ xscaled xu yscaled yu shifted (Origine*cm)
+ enddef;
+ vardef placepoint(expr q,r)=
+ (q,r) enplace
+ enddef;
+ %
+ path Cb[];
+ %
+ vardef courbe[](expr a,b,nb)(text texte)=
+ path Courbe;
+ for i:=0 upto nb :
+ x@[i]:=(a+i*(b-a)/nb);
+ x:=x@[i];
+ y@[i]:=texte;
+ endfor ;
+ Cb@:=(x@.0*xu,y@.0*yu)
+ for i:=1 upto nb :
+ ..(x@[i]*xu,y@[i]*yu)
+ endfor;
+ Cb@:=Cb@ shifted (Origine*cm);
+ Courbe=Cb@;
+ Courbe
+ enddef;
+ %
+ vardef DessineCourbes(text texto)=
+ n:=0;
+ for p_=texto:
+ n:=n+1;
+ draw courbe[n](borneinf[n],bornesup[n],100)(scantokens p_) withpen (pencircle scaled Epaisseur) withcolor if unknown colortrace[n]:black else: colortrace[n] fi;
+ endfor;
+ enddef;
+ %
+ vardef NommeCourbes(text texto)=
+ n:=0;
+ for p_=texto:
+ n:=n+1;
+ numeric tp;
+ tp=pos[n]*length Cb[n];
+ pair PT,Tangente;
+ PT:=point (tp) of Cb[n];
+ Tangente:=unitvector(direction tp of Cb[n]);
+ label(TEX(p_) rotated angle(Tangente),PT+2mm*(Tangente rotated 90));
+ endfor;
+ enddef;
+ %
+ vardef NommeCourbesPDF(text texto)=
+ n:=0;
+ for p_=texto:
+ n:=n+1;
+ numeric tp;
+ tp=pos[n]*length Cb[n];
+ pair PT,Tangente;
+ PT:=point (tp) of Cb[n];
+ Tangente:=unitvector(direction tp of Cb[n]);
+ label(LATEX(p_) rotated angle(Tangente),PT+2mm*(Tangente rotated 90));
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ \useKV[TraceG]{Traces};
+ enddef;
+ %
+ vardef LegendeCourbe=
+ if LegendeX=true:
+ label.ulft(btex \useKV[TraceG]{LabelX} etex,u*(xmax,ypart(Origine)));
+ fi;
+ if LegendeY=true:
+ label.lrt(btex \useKV[TraceG]{LabelY} etex,u*(xpart(Origine),ymax));
+ fi;
+ enddef;
+}%
+
+\NewDocumentCommand\TraceMultiGraphique{mm}{%
+ % #1 paramètres
+ % #2 Liste fonctions
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \PfCTraceMGCode
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=xpart(Origine) step grillex until xmax:
+ trace u*(k,ymin)--u*(k,ymax);
+ endfor;
+ for k=xpart(Origine) step -grillex until xmin:
+ trace u*(k,ymin)--u*(k,ymax);
+ endfor;
+ for k=ypart(Origine) step grilley until ymax:
+ trace u*(xmin,k)--u*(xmax,k);
+ endfor;
+ for k=ypart(Origine) step -grilley until ymin:
+ trace u*(xmin,k)--u*(xmax,k);
+ endfor;
+ drawoptions();
+ fi;
+ if Graduations:
+ for k=gradx step gradx until bornesupmax:%xmax*gradx/grillex:
+ dotlabel.bot(TEX("\num{"&decimal(k)&"}"),(k*xu+xpart(Origine*cm),ypart(Origine*cm)));
+ endfor;
+ for k=-gradx step -gradx until borneinfmin:%xmin*gradx/grillex:
+ dotlabel.bot(TEX("\num{"&decimal(k)&"}"),(k*xu+xpart(Origine*cm),ypart(Origine*cm)));
+ endfor;
+ for k=grady step grady until ymax*grady/grilley:
+ dotlabel.lft(TEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*yu+ypart(Origine*cm)));
+ endfor;
+ for k=-grady step -grady until ymin*grady/grilley:
+ dotlabel.lft(TEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*yu+ypart(Origine*cm)));
+ endfor;
+ fi;
+%
+ drawoptions(withpen pencircle scaled(1));
+ drawarrow (u*(0,ymin)--u*(0,ymax)) shifted (u*(xpart(Origine),0));
+ drawarrow (u*(xmin,0)--u*(xmax,0)) shifted (u*(0,ypart(Origine)));
+ label.llft(btex 0 etex,u*Origine);
+ drawoptions();
+ if Vide:
+ clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
+ else:
+ DessineCourbes(#1);
+ NommeCourbes(#2);
+ clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
+ %
+ if Code:
+ EffectuerTraces;
+ fi;
+ fi;
+ LegendeCourbe;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\PfCTraceMGCode}]
+ if Grille:
+ drawoptions(withcolor 0.75white);
+ for k=xpart(Origine) step grillex until xmax:
+ trace u*(k,ymin)--u*(k,ymax);
+ endfor;
+ for k=xpart(Origine) step -grillex until xmin:
+ trace u*(k,ymin)--u*(k,ymax);
+ endfor;
+ for k=ypart(Origine) step grilley until ymax:
+ trace u*(xmin,k)--u*(xmax,k);
+ endfor;
+ for k=ypart(Origine) step -grilley until ymin:
+ trace u*(xmin,k)--u*(xmax,k);
+ endfor;
+ drawoptions();
+ fi;
+ if Graduations:
+ for k=gradx step gradx until bornesupmax:%xmax*gradx/grillex:
+ dotlabel.bot(LATEX("\num{"&decimal(k)&"}"),(k*xu+xpart(Origine*cm),ypart(Origine*cm)));
+ endfor;
+ for k=-gradx step -gradx until borneinfmin:%xmin*gradx/grillex:
+ dotlabel.bot(LATEX("\num{"&decimal(k)&"}"),(k*xu+xpart(Origine*cm),ypart(Origine*cm)));
+ endfor;
+ for k=grady step grady until ymax*grady/grilley:
+ dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*yu+ypart(Origine*cm)));
+ endfor;
+ for k=-grady step -grady until ymin*grady/grilley:
+ dotlabel.lft(LATEX("\num{"&decimal(k)&"}"),(xpart(Origine*cm),k*yu+ypart(Origine*cm)));
+ endfor;
+ fi;
+%
+ drawoptions(withpen pencircle scaled(1));
+ drawarrow (u*(0,ymin)--u*(0,ymax)) shifted (u*(xpart(Origine),0));
+ drawarrow (u*(xmin,0)--u*(xmax,0)) shifted (u*(0,ypart(Origine)));
+ label.llft(btex 0 etex,u*Origine);
+ drawoptions();
+ if Vide:
+ clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
+ else:
+ DessineCourbes(#1);
+ NommeCourbesPDF(#2);
+ clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
+ if Code:
+ EffectuerTraces;
+ fi;
+ fi;
+ LegendeCourbe;
+ \end{mpost}
+ \fi
+}
+
\def\MPCourbeNew#1{%#2#3#4#5#6{%
\ifluatex
\mplibforcehmode
diff --git a/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex b/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
new file mode 100644
index 0000000000..2be0a20bd0
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
@@ -0,0 +1,246 @@
+\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false}%
+\defKV[ClesPatron]{Traces=\setKV[ClesPatron]{Codes}}%
+
+\newtoks\toklistepatron%
+\def\UpdatetoksPatron#1\nil{\addtotok\toklistepatron{"#1",}}%
+
+\NewDocumentCommand\Patron{om}{%
+ \useKVdefault[ClesPatron]%
+ \setKV[ClesPatron]{#1}%
+ \newtoks\toklistecouleur%
+ \xdef\ListeAvantCouleurs{\useKV[ClesPatron]{ListeCouleurs}}%
+ \readlist*\ListeCouleur{\ListeAvantCouleurs}%
+ \foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
+ \ifboolKV[ClesPatron]{Pave}{%
+ \toklistepatron{}%
+ \readlist*\PfCListePatron{#2}%
+ \foreachitem\compteur\in\PfCListePatron{\expandafter\UpdatetoksPatron\compteur\nil}%
+ \MPPatronPave{\the\toklistepatron}{\the\toklistecouleur}%
+ }{%
+ \ifboolKV[ClesPatron]{Cube}{%
+ \toklistepatron{}%
+ \readlist*\PfCListePatron{#2}%
+ \foreachitem\compteur\in\PfCListePatron{\expandafter\UpdatetoksPatron\compteur\nil}%
+ \MPPatronCube{\the\toklistepatron}{\the\toklistecouleur}%
+ }{%
+ }%
+ }%
+}%
+
+\def\MPPatronCubeCode{%
+ Arete=\useKV[ClesPatron]{Arete};
+ %
+ pair C[],M[],N[],O[],P[];
+ %
+ color Col[],CoulDefaut;
+ CoulDefaut=white;
+ %
+ boolean Codes;
+ Codes=\useKV[ClesPatron]{Codes};
+ vardef Patron(text t)=
+ nblignes:=-1;
+ nbcol:=0;
+ nbfaces:=0;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ nbcolonnes:=0;
+ for k=0 upto Long-1:
+ nbcolonnes:=nbcolonnes+1;
+ if substring(k,k+1) of p_="x":
+ nbfaces:=nbfaces+1;
+ nbcol:=nbcol+1;
+ if (unknown Col[nbcol]):
+ else:
+ if Col[nbcol]=white:
+ else:
+ fill ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes))) withcolor Col[nbcol];
+ fi;
+ fi;
+ trace (unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes));
+ C[nbfaces]=(center unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes));
+ M[nbfaces]=point(0) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ N[nbfaces]=point(1) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ O[nbfaces]=point(2) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ P[nbfaces]=point(3) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ if Codes:
+ \useKV[ClesPatron]{Traces};
+ fi;
+ enddef;
+}%
+
+\def\MPPatronCube#1#2{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \MPPatronCubeCode
+ %
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ Patron(#1);
+ EffectuerTraces;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\MPPatronCubeCode;}]
+ %
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ Patron(#1);
+ EffectuerTraces;
+ \end{mpost}
+ \fi
+}
+
+\def\MPPatronPaveCode{%
+ Largeur=\useKV[ClesPatron]{Largeur};
+ Hauteur=\useKV[ClesPatron]{Hauteur};
+ Profondeur=\useKV[ClesPatron]{Profondeur};
+ %
+ pair C[],M[],N[],O[],P[];
+ %
+ color Col[],CoulDefaut;
+ CoulDefaut=white;
+ %
+ boolean Codes;
+ Codes=\useKV[ClesPatron]{Codes};
+ numeric DecalCol[];
+ vardef LectureLargeur(text t)=
+ for p_=t:
+ Long:=length p_;
+ endfor;
+ for k=1 upto Long-1:
+ for p_=t:
+ if substring(k,k+1) of p_="l":
+ DecalCol[k]:=Largeur;
+ elseif substring(k,k+1) of p_="h":
+ DecalCol[k]:=Hauteur;
+ elseif substring(k,k+1) of p_="p":
+ DecalCol[k]:=Profondeur;
+ fi;
+ endfor;
+ endfor;
+ enddef;
+ vardef Patron(text t)=
+ path PathPave;
+ nblignes:=-1;
+ nbcol:=0;
+ nbfaces:=0;
+ for p_=t:
+ Long:=length p_;
+ nbcolonnes:=0;
+ if substring(0,1) of p_="h":
+ YEchelle:=Hauteur;
+ elseif substring(0,1) of p_="l":
+ YEchelle:=Largeur;
+ elseif substring(0,1) of p_="p":
+ YEchelle:=Profondeur;
+ fi;
+ nblignes:=nblignes-YEchelle;
+ for k=1 upto Long-1:
+ if substring(k,k+1) of p_="l":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Largeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ elseif substring(k,k+1) of p_="h":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Hauteur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ elseif substring(k,k+1) of p_="p":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Profondeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ fi;
+ if (unknown Col[nbcol]):
+ else:
+ if Col[nbcol]=white:
+ else:
+ fill PathPave withcolor Col[nbcol];
+ fi;
+ fi;
+ trace PathPave;
+ nbcolonnes:=nbcolonnes+DecalCol[k];
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ if Codes:
+ \useKV[ClesPatron]{Traces};
+ fi;
+ enddef;
+}%
+
+\def\MPPatronPave#1#2{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \MPPatronPaveCode
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ LectureLargeur(#1);
+ Patron(#1);
+ EffectuerTraces;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\MPPatronPaveCode;}]
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ LectureLargeur(#1);
+ Patron(#1);
+ EffectuerTraces;
+ \end{mpost}
+ \fi
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex b/macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
index 605cb35397..fbbde59efc 100644
--- a/macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex
@@ -1,8 +1,10 @@
%%%
% Diff\'erentes représentations graphiques
%%%
-\setKVdefault[TraceG]{Grille=false,Graduations=false,PasGradX=1,PasGradY=1,PasGrilleX=1,PasGrilleY=1,Xmin=-5.5,Xmax=5.5,Xstep=1,Ymin=-5.5,Ymax=5.5,Ystep=1,Bornea=-5.5,Borneb=5.5,LabelX={},LabelY={},LabelC=0.5,NomCourbe={},Origine={(5.5,5.5)},Fonction=false,Points=false,Invisible=false,CouleurPoint=red,CouleurTrace=black,Epaisseur=1,Relie=false,RelieSegment=false,Marque=dot,Code=false,Vide=false,NbPointsCourbe=100}%
+\setKVdefault[TraceG]{Grille=false,Graduations=false,PasGradX=1,PasGradY=1,PasGrilleX=1,PasGrilleY=1,Xmin=-5.5,Xmax=5.5,Xstep=1,Ymin=-5.5,Ymax=5.5,Ystep=1,Bornea=-5.5,Borneb=5.5,LabelX={},LabelY={},LegendeX=false,LegendeY=false,LabelC=0.5,NomCourbe={},Origine={(5.5,5.5)},Fonction=false,Points=false,Invisible=false,CouleurPoint=red,CouleurTrace=black,Epaisseur=1,Relie=false,RelieSegment=false,Marque=dot,Code=false,Vide=false,NbPointsCourbe=100}%
\defKV[TraceG]{Traces=\setKV[TraceG]{Code}}%
+\defKV[TraceG]{LabelX=\setKV[TraceG]{LegendeX}}%
+\defKV[TraceG]{LabelY=\setKV[TraceG]{LegendeY}}%
\newcommand\TraceGraphique[2][]{%
\useKVdefault[TraceG]%
@@ -41,11 +43,11 @@
color colorpoint,colortrace;
colorpoint=\useKV[TraceG]{CouleurPoint};
colortrace=\useKV[TraceG]{CouleurTrace};
- boolean Grille;
+ boolean Grille,Graduations,LegendeX,LegendeY;
Grille=\useKV[TraceG]{Grille};
-
- boolean Graduations;
Graduations=\useKV[TraceG]{Graduations};
+ LegendeX:=\useKV[TraceG]{LegendeX};
+ LegendeY:=\useKV[TraceG]{LegendeY};
boolean Relie;
Relie=\useKV[TraceG]{Relie};
@@ -122,9 +124,13 @@
endfor;
drawoptions();
fi;
- %on labelise les axes
+ % on labelise les axes
+ if LegendeX:
label.urt(btex \useKV[TraceG]{LabelX} etex,(x.u*(xmax-xmin),ypart(Origine)));
+ fi;
+ if LegendeY:
label.urt(btex \useKV[TraceG]{LabelY} etex,(xpart(Origine),y.u*(ymax-ymin)));
+ fi;
\end{mplibcode}
\else
\mpxcommands{%
@@ -229,13 +235,12 @@
pair Origine;
Origine=(xmin,ymin)+\useKV[TraceG]{Origine};
- boolean Grille,Vide;
+ boolean Grille,Vide,Graduations,LegendeX,LegendeY;
Grille=\useKV[TraceG]{Grille};
Vide=\useKV[TraceG]{Vide};
-
- boolean Graduations;
Graduations=\useKV[TraceG]{Graduations};
-
+ LegendeX:=\useKV[TraceG]{LegendeX};
+ LegendeY:=\useKV[TraceG]{LegendeY};
vardef sin(expr t) = sind(c*t) enddef;
vardef cos(expr t) = cosd(c*t) enddef;
@@ -332,11 +337,15 @@
Tangente:=unitvector(direction t of Cb1);
label(TEX("\useKV[TraceG]{NomCourbe}") rotated angle(Tangente),PT+2mm*(Tangente rotated 90));
% fin labelisation
+ if \useKV[TraceG]{Code}:
+ \useKV[TraceG]{Traces}
+ fi;
clip currentpicture to polygone(u*(xmin,ymin),u*(xmax,ymin),u*(xmax,ymax),u*(xmin,ymax));
+ if LegendeX:
label.rt(btex \useKV[TraceG]{LabelX} etex,u*(xmax,ypart(Origine)));
+ fi;
+ if LegendeY:
label.top(btex \useKV[TraceG]{LabelY} etex,u*(xpart(Origine),ymax));
- if \useKV[TraceG]{Code}:
- \useKV[TraceG]{Traces}
fi;
fi;
\end{mplibcode}
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index c80726c53a..7df0da0008 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2023/05/15}%
+\def\filedate{2023/05/19}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-z-l}%
+\def\fileversion{0.99-z-m}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -217,7 +217,7 @@
\ooalign{$\genfrac{}{}{0pt}{0}{#1}{#2}$\cr\PfCdotover\cr}%
}%
-\NewDocumentCommand\MultiCol{O{}mm}{%
+\NewDocumentCommand\MultiCol{O{}m+m}{%
\setsepchar[*]{/}%
\readlist*\ListeNombreCol{#2}%
\setsepchar[*]{§}%
@@ -571,6 +571,7 @@
}%\emoticon
}%\raisebox
}
+\input{PfCPatronPaves}
\input{PfCErathostene}
\input{PfCDobble}
\input{PfCPavage}
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index f3ed122090..a03368df85 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
index 9301ef24f3..a7c22f749d 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
@@ -5,8 +5,9 @@
% 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{2.6.3}
-\def\PLdate{9 mai 2023}
+\def\PLversion{2.6.4}
+\def\PLdate{19 mai 2023}
+\usepackage{amsfonts}
\usepackage{ProfLycee}
\useproflyclib{piton,minted,pythontex}
\usepackage[math-style=french]{fourier-otf}
@@ -307,8 +308,9 @@
\medskip
-{\small\noindent%
+{\footnotesize\noindent%
{\deblst} résoudre, de manière approchée, des équations\\
+{\deblst} calculer (et représenter) une valeur approchée d'une intégrale\\
{\deblst} tracer \textit{facilement} des repères/grilles/courbes\\
{\deblst} tracer des courbes \textit{lisses} avec gestion des extrema et des dérivées\\
{\deblst} présenter du code \textsf{python} ou \textsf{pseudocode}, une console d'exécution \textsf{Python} \\
@@ -326,11 +328,14 @@
{\deblst} générer des listes d'entiers aléatoires (avec ou sans répétitions)\\
{\deblst} déterminer la mesure principale d'un angle \\
{\deblst} calculer les lignes trigonométriques d'angles \og classiques \fg{} \\
+{\deblst} résoudre une équation diophantienne \og classique \fg{} \\
+{\deblst} travailler avec un peu de géométrie analytique \\
+
{\deblst} \ldots}
~
-\hfill{}\textsl{Merci à Anne et quark67 pour ses retours et sa relecture !}
+\hfill{}\textsl{Merci à Anne et quark67 pour leurs retours et relectures !}
\hfill{}\textsl{Merci à Christophe et Denis pour leurs retours et éclairages !}
@@ -394,7 +399,7 @@ Le {package} \ctex{ProfLycee} charge et utilise les {packages} :
\begin{itemize}
\item \ctex{xcolor} avec l' option \textsf{[table,svgnames]} ;
- \item \ctex{tikz}, \ctex{pgf}, \ctex{pgffor}, \ctex{nicefrac} ;
+ \item \ctex{tikz}, \ctex{pgf}, \ctex{pgffor}, \ctex{nicefrac}, \ctex{nicematrix} ;
\item \ctex{tcolorbox} avec l'option \textsf{[most]} ;
\item \ctex{xparse}, \ctex{xstring}, \ctex{simplekv}, \ctex{xinttools} ;
\item \ctex{listofitems}, \ctex{xintexpr} , \ctex{xintbinhex}, \ctex{xintgcd} ;
@@ -595,9 +600,6 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent
%Valeur approchée d'une intégrale
\IntegraleApprochee[clés]{fonction}{a}{b}
-
-%Équation réduite d'une droite
-\EquationReduite[option]{A/xa/ya,B/xb/yb}
\end{PresCodeTexPL}
\begin{PresCodeTexPL}{listing only}
@@ -640,8 +642,6 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent
\begin{PseudoCodeAlt}(*)[largeur]{commandes tcbox}...\end{PseudoCodeAlt}
\end{PresCodeTexPL}
-\pagebreak
-
\begin{PresCodeTexPL}{listing only}
%terminal OS
\begin{TerminalWin}[largeur]{clés}[options]...\end{TerminalWin}
@@ -662,6 +662,42 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent
\end{PresCodeTexPL}
\begin{PresCodeTexPL}{listing only}
+%Affichage des coordonnées d'un point (2 ou 3 coordonnées)
+\AffPoint[options de formatage](liste des coordonnées)
+%Affichage des coordonnées d'un vecteur (2 ou 3 coordonnées)
+\AffVecteur[options de formatage]<options nicematrix>(liste des coordonnées)
+
+%Avec un vecteur normal et un point
+\TrouveEqCartPlan[clés](vecteur normal)(point)
+%Avec deux vecteurs directeurs et un point
+\TrouveEqCartPlan[clés](vecteur dir1)(vecteur dir2)(point)
+%Avec trois points
+\TrouveEqCartPlan[clés](point1)(point2)(point3)
+
+%Avec un vecteur directeur et un point
+\TrouveEqParamDroite[clés](vecteur directeur)(point)
+%Avec deux points
+\TrouveEqParamDroite[clés](point1)(point2)
+
+%Avec un vecteur normal (choix par défaut) et un point
+\TrouveEqCartDroite[clés](vecteur normal)(point)
+%Avec un vecteur directeur et un point
+\TrouveEqCartDroite[clés,VectDirecteur](vecteur directeur)(point1)
+%Avec deux points
+\TrouveEqCartDroite[clés](point1)(point2)
+
+%Avec le point et le plan via vect normal + point
+\TrouveDistancePtPlan(point)(vec normal du plan)(point du plan)
+%Avec le point et le plan via vect normal + point
+\TrouveDistancePtPlan(point)(équation cartésienne)
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{listing only}
+%Équation réduite d'une droite
+\EquationReduite[option]{A/xa/ya,B/xb/yb}
+\end{PresCodeTexPL}
+
+\begin{PresCodeTexPL}{listing only}
%paramètres d'une régression linéaire, nuage de points
\CalculsRegLin[clés]{listeX}{listeY}
\PointsRegLin[clés]{listeX}{listeY}
@@ -756,6 +792,9 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent
%PGCD présenté
\PresentationPGCD[options]{a}{b}
+
+%Équation diophantienne
+\EquationDiophantienne[clés]{equation}
\end{PresCodeTexPL}
\begin{PresCodeTexPL}{listing only}
@@ -1180,80 +1219,6 @@ $\displaystyle\IntegraleApprochee[NbSubDiv=100,AffFormule,Expr={80x\,\text{e}^{-
\newpage
-\section{Équation réduite d'une droite}\label{eqreduite}
-
-\subsection{Idée}
-
-\begin{tipblock}
-\cmaj{2.6.3} L'idée est de proposer une commande pour déterminer l'équation réduite d'une droite passant par deux points :
-\begin{itemize}
- \item en traitant les cas particuliers \textit{horizontale}, \textit{verticale} ;
- \item en affichant une méthode de résolution ;
- \item en travaillant sous forme exacte fractionnaire (les racines carrées ou autres ne seront pas gérés).
-\end{itemize}
-
-À noter que les calculs et résultats sont traités par la commande de \textit{conversion de fraction} de \ctex{ProfLycee}.
-\end{tipblock}
-
-\begin{warningblock}
-La commande se charge de formater (normalement !) correctement les différentes étapes de calculs (il se peut quand même que cela puisse ne pas donner le résultat réellement escompté\ldots) :
-
-\begin{itemize}
- \item en travaillant en fraction ;
- \item en mettant les parenthèses nécessaires devant les éventuels nombres négatifs ;
- \item en traitant les cas particuliers $m=\pm1$ et $b=0$.
-\end{itemize}
-\vspace*{-\baselineskip}\leavevmode
-\end{warningblock}
-
-\begin{PresCodeTexPL}{listing only}
-\EquationReduite[option]{A/xa/ya,B/xb/yb}
-\end{PresCodeTexPL}
-
-\subsection{Clés et arguments}
-
-\begin{cautionblock}
-Concernant le fonctionnement de la commande :
-
-\begin{itemize}
- \item le premier argument, optionnel et entre \ctex{[...]} et valant \Cle{[d]} par défaut, permet de formater les fractions éventuelles en mode \ctex{\textbackslash displaystyle} ;
- \item le second argument, obligatoire et entre \ctex{\{...\}}, permet de donner les coordonnées des points concernés.
-\end{itemize}
-\vspace*{-\baselineskip}\leavevmode
-\end{cautionblock}
-
-\begin{PresCodePL}{}
-\EquationReduite{C/2/0,D/-2/-8}
-\end{PresCodePL}
-
-\subsection{Exemples}
-
-\begin{PresCodePL}{}
-\EquationReduite{I/-4/5,J/-4/12}
-\end{PresCodePL}
-
-\begin{PresCodePL}{}
-\EquationReduite{U/-4/5,V/-4/5}
-\end{PresCodePL}
-
-\begin{PresCodePL}{}
-\EquationReduite{L/10/7,M/-2/7}
-\end{PresCodePL}
-
-\begin{PresCodePL}{}
-\EquationReduite{L/{1/3}/2.5,M/{-5/7}/{3/5}}
-\end{PresCodePL}
-
-\begin{PresCodePL}{}
-\EquationReduite{P/4/-4,Q/-2/2}
-\end{PresCodePL}
-
-\begin{PresCodePL}{}
-\EquationReduite{G/-4/5,H/10/4}
-\end{PresCodePL}
-
-\newpage
-
\phantom{t}\par\vfill\par
\begin{PART}
\begin{center}
@@ -3853,6 +3818,436 @@ Les valeurs \Cle{mainlevee=5mm et 0.6pt} donnent des résultats -- à mon sens -
\hfill~
\end{PresCodeSortiePL}
+\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
+
+\part{Outils pour la géométrie analytique}
+
+\section{Affichage de coordonnées}\label{affcoord}
+
+\subsection{Idée}
+
+\begin{tipblock}
+\cmaj{2.6.4} L'idée est de proposer des commandes pour simplifier la saisie de coordonnées de vecteurs ou de points (plan ou espace), en saisissant les coordonnées \textit{en ligne}.
+
+\smallskip
+
+À noter que les calculs et résultats sont traités par la commande de \textit{conversion de fraction} de \ctex{ProfLycee}.
+\end{tipblock}
+
+\begin{warningblock}
+Logiquement les commandes (à insérer dans un environnement mathématique) doivent donner des résultats satisfaisants pour tout ce qui est \textit{rationnel}, mais cela ne sera pas pertinent dans le cas de coordonnées irrationnelles\ldots
+\end{warningblock}
+
+\begin{PresCodeTexPL}{listing only}
+%Affichage des coordonnées d'un point (2 ou 3 coordonnées)
+\AffPoint[options de formatage](liste des coordonnées)
+
+%Affichage des coordonnées d'un vecteur (2 ou 3 coordonnées)
+\AffVecteur[options de formatage]<options nicematrix>(liste des coordonnées)
+\end{PresCodeTexPL}
+
+\begin{warningblock}
+Dans cette partie liée à la géométrie analytique, j'ai choisi de saisir les arguments (coordonnées) via les délimiteurs \ctex{(...)} :
+
+\begin{itemize}
+ \item avec le séparateur \ctex{,} pour les points ;
+ \item avec le séparateur \ctex{;} pour les vecteurs.
+\end{itemize}
+
+De ce fait, le code \textit{sait} s'il est face à un point ou à un vecteur, et adapte sa méthode de calcul en conséquence !
+\end{warningblock}
+
+\subsection{Options et arguments}
+
+\begin{cautionblock}
+Concernant les arguments des commandes :
+
+\begin{itemize}
+ \item le premier argument, optionnel et entre \ctex{[...]} permet de spécifier la ou les caractéristiques de formatage des coordonnées, de manière globale ou individuelle, et de manière cohérente avec les options disponibles pour la commande de \textit{conversion en fraction} de \ctex{ProfLycee} :
+ \begin{itemize}
+ \item \Cle{d} : pour un formatage en \ctex{dfrac} si nécessaire ;
+ \item \Cle{t} : pour un formatage en \ctex{tfrac} si nécessaire ;
+ \item \Cle{n} : pour un formatage en \ctex{nicefrac} si nécessaire ;
+ \item \Cle{dec} : pour la forme décimale (brute) ;
+ \item \Cle{dec=k} : pour la forme décimale à $10^{-k}$.
+ \end{itemize}
+ Il est possible de spécifier des formatages différents en utilisant une \textit{liste} sous la forme \Cle{f1,f2} ou \Cle{f1,f2,f3} ;
+ \item l'argument \textit{optionnel} et entre \ctex{<...>} (uniquement pour les vecteurs !) permet de spécifier des options de type \textit{nicematrix} ;
+ \item l'argument obligatoire, et entre \ctex{\{...\}} est quant à lui la liste des coordonnées, en ligne et au format \textit{naturel xint}.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{cautionblock}
+
+\begin{noteblock}
+Il est donc possible de mettre des \textit{calculs} dans l'argument des coordonnées.
+
+Il suffit \textit{juste} d'utiliser une syntaxe compréhensible par les commandes du package \ctex{xint}.
+\end{noteblock}
+
+\begin{PresCodePL}{}
+%Point, avec affichage classique en dfrac
+$\AffPoint(1,2/3)$ \\
+%Point, avec affichage en décimal + dfrac + dfrac
+$\AffPoint[dec,d,d](-0.5,1,2/3)$ \\
+%Vecteurs, avec affichages classiques
+$\AffVecteur(1;2)$ et $\AffVecteur(1;2;3)$ \\
+%Vecteurs, avec option nicematrix et affichage en décimal + tfrac
+$\AffVecteur[dec;t]<cell-space-limits=2pt>(0.5;2/3)$ \\
+%Vecteurs, avec option nicematrix et affichage en décimal
+$\AffVecteur[dec]<cell-space-limits=2pt>(0.5;0.6;0.75)$ \\
+%Vecteurs, avec cacluls et affichage classique
+$\AffVecteur((2-(-3));(5-6);(1-1))$
+\end{PresCodePL}
+
+\newpage
+
+\section{Équation cartésienne d'un plan de l'espace}\label{eqcartplan}
+
+\subsection{Idée et commande}
+
+\begin{tipblock}
+\cmaj{2.6.4} L'idée est de proposer une commande pour déterminer une équation cartésienne d'un plan dans l'un des cas suivants :
+
+\begin{itemize}
+ \item en donnant un vecteur normal et un point ;
+ \item en donnant deux vecteurs directeurs et un point ;
+ \item en donnant trois points.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresCodeTexPL}{listing only}
+%Avec un vecteur normal et un point
+\TrouveEqCartPlan[clés](vecteur normal)(point)
+%Avec deux vecteurs directeurs et un point
+\TrouveEqCartPlan[clés](vecteur dir1)(vecteur dir2)(point)
+%Avec trois points
+\TrouveEqCartPlan[clés](point1)(point2)(point3)
+\end{PresCodeTexPL}
+
+\subsection{Clés et arguments}
+
+\begin{cautionblock}
+Concernant les arguments des commandes :
+
+\begin{itemize}
+ \item le premier argument, optionnel et entre \ctex{[...]} contient les clés :
+ \begin{itemize}
+ \item \Cle{OptionCoeffs} pour spécifier un formatage \textit{global} des coefficients ; \hfill{}défaut : \Cle{d}
+ \item \Cle{SimplifCoeffs} pour forcer des coefficients simples (entiers et premiers entre eux) ;
+
+ \hfill{}défaut : \Cle{false}
+ \item \Cle{Facteur} pour spécifier un facteur personnalisé aux simplifications. \hfill{}défaut : \Cle{1}
+ \end{itemize}
+ \item les arguments suivants, entre \ctex{(...)} correspondent aux données utilisées (entre 2 et 3).
+\end{itemize}
+
+À noter que les séparateurs \ctex{,} ou \ctex{;} permettent de spécifier point ou vecteur.
+\end{cautionblock}
+
+\begin{PresCodePL}{}
+Une équation cartésienne du plan $\mathcal{P}$ de vecteur normal $\vec{n} \AffVecteur(1;2;3)$ et passant par le point A de coordonnées $\AffPoint(4,5,6)$ est $\mathcal{P}$ : $\TrouveEqCartPlan(1;2;3)(4,5,6)$
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation cartésienne du plan $\mathcal{P}$ de vecteur normal $\vec{n} \AffVecteur[n](1/2;2/3;3/5)$ et passant par le point A de coordonnées $\AffPoint(4,5,6)$ est $\mathcal{P}$ : $\TrouveEqCartPlan(1/2;2/3;3/5)(4,5,6) \Leftrightarrow \TrouveEqCartPlan[SimplifCoeffs](1/2;2/3;3/5)(4,5,6)$
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation cartésienne du plan $\mathcal{P}$ de vecteur normal $\vec{n} \AffVecteur[n](1;2/3;0)$ et passant par le point A de coordonnées $\AffPoint[dec,dec,d](0.75,0.56,1/3)$ est $\mathcal{P}$ : $\TrouveEqCartPlan(1;2/3;0)(0.75,0.56,1/3) \Leftrightarrow \TrouveEqCartPlan[SimplifCoeffs](1;2/3;0)(0.75,0.56,1/3)$
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation cartésienne du plan $\mathcal{P}_3$ passant par les points $A\AffPoint(2,0,1)$, $B\AffPoint(3,1,1)$ et $C\AffPoint(1,-2,0)$ est
+\[ \mathcal{P}_3 \text{ : } \TrouveEqCartPlan(2,0,1)(3,1,1)(1,-2,0)\]
+\end{PresCodePL}
+
+
+
+\begin{PresCodePL}{}
+Une équation cartésienne du plan $\mathcal{R}$ passant par le points $A\AffPoint(0,0,1)$, $B\AffPoint(4,2,3)$ et $C\AffPoint(-3,1,1)$ est
+\[ \mathcal{R} \text{ : } \TrouveEqCartPlan[SimplifCoeffs](0,0,1)(4,2,3)(-3,1,1)\]
+\[ \mathcal{R} \text{ : } \TrouveEqCartPlan[SimplifCoeffs,Facteur=-1](0,0,1)(4,2,3)(-3,1,1)\]
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation cartésienne du plan $\mathcal{P}_0$ dirigé par les vecteurs $\AffVecteur(9;7;-8)$ et $\AffVecteur(-2;2;-1)$ et passant par le point $A\AffPoint(5,1,-1)$ est :
+\[ \mathcal{P}_0 \text{ : } \TrouveEqCartPlan[SimplifCoeffs](9;7;-8)(-2;2;-1)(5,1,-1)\]
+\end{PresCodePL}
+
+\newpage
+
+\section{Équation paramétrique d'une droite de l'espace}\label{eqparamdroite}
+
+\subsection{Idée et commande}
+
+\begin{tipblock}
+\cmaj{2.6.4} L'idée est de proposer une commande pour déterminer un système d'équations paramétriques d'une droite de l'espace dans l'un des cas suivants :
+
+\begin{itemize}
+ \item en donnant un vecteur directeur et un point ;
+ \item en donnant deux points.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresCodeTexPL}{listing only}
+%Avec un vecteur directeur et un point
+\TrouveEqParamDroite[clés](vecteur directeur)(point)
+%Avec deux points
+\TrouveEqParamDroite[clés](point1)(point2)
+\end{PresCodeTexPL}
+
+\subsection{Clés et arguments}
+
+\begin{cautionblock}
+Concernant les arguments des commandes :
+
+\begin{itemize}
+ \item le premier argument, optionnel et entre \ctex{[...]} contient les clés :
+ \begin{itemize}
+ \item \Cle{OptionCoeffs} pour spécifier un formatage \textit{global} des coefficients ; \hfill{}défaut : \Cle{d}
+ \item \Cle{Reel} pour coder le paramètre réel ; \hfill{}défaut : \Cle{k}
+ \item le booléen \Cle{Oppose} pour utiliser plutôt l'opposé du vecteur directeur ; \hfill{}défaut : \Cle{false}
+ \item le booléen \Cle{Rgras} pour utiliser le symbole \textbf{R} ou lieu de $\mathbb{R}$ (si \ctex{amsfonts} est chargé !).
+
+ \hfill{}défaut : \Cle{false}
+ \end{itemize}
+ \item les arguments suivants, entre \ctex{(...)} correspondent aux données utilisées.
+\end{itemize}
+
+À noter que les séparateurs \ctex{,} ou \ctex{;} permettent de spécifier point ou vecteur.
+\end{cautionblock}
+
+\begin{PresCodePL}{}
+Une équation paramétrique de la droite $(d)$ dirigée par le vecteur $\vec{u}\AffVecteur(2;5;-4)$ et passant par $A\AffPoint(-1,-1,-1)$ est
+\[ \TrouveEqParamDroite(2;5;-4)(-1,-1,-1) \]
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation paramétrique de la droite $(d)$ passant par $\AffPoint(2,5,-4)$ et $\AffPoint(-1,-1,-1)$ est
+\[ \TrouveEqParamDroite[Oppose](2,5,-4)(-1,-1,-1) \text{ ou } \TrouveEqParamDroite(2,5,-4)(-1,-1,-1) \]
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation paramétrique de la droite $(d)$ dirigée par le vecteur $\vec{u}\AffVecteur(0;-1;3)$ et passant par $O\AffPoint(0,0,0)$ est
+\[ \TrouveEqParamDroite(0;-1;3)(0,0,0) \]
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation paramétrique de la droite $(d)$ dirigée par le vecteur $\vec{u}\AffVecteur(-1;2;3)$ et passant par $A\AffPoint(2,0,-3)$ est
+\[ \TrouveEqParamDroite[Reel=\ell,Rgras](-1;2;3)(2,0,-3) \]
+\end{PresCodePL}
+
+\newpage
+
+\section{Équation cartésienne d'une droite du plan}\label{eqcartdroite}
+
+\subsection{Idée et commande}
+
+\begin{tipblock}
+\cmaj{2.6.4} L'idée est de proposer une commande pour déterminer une équation cartésienne d'une droite du plan dans l'un des cas suivants :
+
+\begin{itemize}
+ \item en donnant un vecteur directeur et un point ;
+ \item en donnant un vecteur normal et un point ;
+ \item en donnant deux points.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresCodeTexPL}{listing only}
+%Avec un vecteur normal (choix par défaut) et un point
+\TrouveEqCartDroite[clés](vecteur normal)(point)
+%Avec un vecteur directeur et un point
+\TrouveEqCartDroite[clés,VectDirecteur](vecteur directeur)(point1)
+%Avec deux points
+\TrouveEqCartDroite[clés](point1)(point2)
+\end{PresCodeTexPL}
+
+\subsection{Clés et arguments}
+
+\begin{cautionblock}
+Concernant les arguments des commandes :
+
+\begin{itemize}
+ \item le premier argument, optionnel et entre \ctex{[...]} contient les clés :
+ \begin{itemize}
+ \item \Cle{OptionCoeffs} pour spécifier un formatage \textit{global} des coefficients ; \hfill{}défaut : \Cle{d}
+ \item le booléen \Cle{SimplifCoeffs} pour forcer des coeffs simples (entiers et premiers entre eux) ;
+
+ \hfill{}défaut : \Cle{false}
+ \item \Cle{Facteur} pour spécifier un facteur personnalisé aux simplifications ; \hfill{}défaut : \Cle{1}
+ \item le booléen \Cle{VectDirecteur} pour pour préciser que le vecteur utilisé est directeur.\hfill{}défaut : \Cle{false}
+ \end{itemize}
+ \item les arguments suivants, entre \ctex{(...)} correspondent aux données utilisées.
+\end{itemize}
+
+À noter que les séparateurs \ctex{,} ou \ctex{;} permettent de spécifier point ou vecteur.
+\end{cautionblock}
+
+\begin{PresCodePL}{}
+Une équation cartésienne de la droite $\mathcal{D}$ de vecteur normal $\vec{n} \AffVecteur(1;2)$ et passant par le point A de coordonnées $\AffPoint(4,5)$ est $\mathcal{D}$ : $\TrouveEqCartDroite[VectNormal](1;2)(4,5)$
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation cartésienne de la droite $\mathcal{D}$ de vecteur directeur $\vec{u} \AffVecteur[n](1/2;2/3)$ et passant par le point A de coordonnées $\AffPoint(5,6)$ est $\mathcal{D}$ : $\TrouveEqCartDroite[VectDirecteur](1/2;2/3)(5,6) \Leftrightarrow \TrouveEqCartDroite[SimplifCoeffs,VectDirecteur](1/2;2/3)(5,6) \Leftrightarrow \TrouveEqCartDroite[SimplifCoeffs,VectDirecteur,Facteur=-1](1/2;2/3)(5,6)$
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+Une équation cartésienne de la droite $\mathcal{D}$ passant par les points $\AffPoint(2,4)$ et $\AffPoint(-4,2)$ est \[\mathcal{D} \text{ : } \TrouveEqCartDroite(2,4)(-4,2) \Leftrightarrow \TrouveEqCartDroite[SimplifCoeffs](2,4)(-4,2)\]
+\end{PresCodePL}
+
+\newpage
+
+\section{Distance d'un point à un plan}\label{distptplan}
+
+\subsection{Idée et commande}
+
+\begin{tipblock}
+\cmaj{2.6.4} L'idée est de proposer une commande pour déterminer la distance d'un point à un plan :
+
+\begin{itemize}
+ \item en donnant le point puis le plan défini par vecteur normal \&{} point ;
+ \item en donnant le point puis le plan défini par une équation cartésienne.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{PresCodeTexPL}{listing only}
+%Avec le point et le plan via vect normal + point
+\TrouveDistancePtPlan(point)(vec normal du plan)(point du plan)
+%Avec le point et le plan via vect normal + point
+\TrouveDistancePtPlan(point)(équation cartésienne)
+\end{PresCodeTexPL}
+
+\begin{noteblock}
+Le résultat étant souvent écrit à l'aide d'une racine carrée, le code se charge de simplifier le résultat sous la forme $\frac{a\sqrt{n}}{b}$.
+
+Dans le cas où les coordonnées ne seraient pas rationnelles, le résultat risque de ne pas être conforme à celui attendu.
+\end{noteblock}
+
+\subsection{Clés et arguments}
+
+\begin{cautionblock}
+Concernant les arguments de cette commande :
+
+\begin{itemize}
+ \item si on travaille avec une équation cartésienne, elle est à donner sous la forme \ctex{ax+by+cz=0} ou \ctex{ax+by+cz}
+ \item les séparateurs \ctex{,} ou \ctex{;} permettent de spécifier point ou vecteur pour les arguments 1 et 3.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{cautionblock}
+
+\begin{PresCodePL}{}
+La distance entre le point $\AffPoint(1,2,3)$ et le plan de vecteur normal $\AffVecteur(-1;-2;3)$ et passant par $\AffPoint(5,0,2)$ vaut
+\[ d = \displaystyle\TrouveDistancePtPlan(1,2,3)(-1;-2;3)(5,0,2) \]
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+La distance entre le point $\AffPoint(1,2,3)$ et le plan d'équation $x+2y+2z-7=0$ vaut
+\[ d = \displaystyle\TrouveDistancePtPlan(1,2,3)(x+2y-2z+7) \]
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+La distance entre le point $\AffPoint(-7,0,4)$ et le plan d'équation $0,5x+2y-z-1=0$ vaut
+\[ d = \displaystyle\TrouveDistancePtPlan(-7,0,4)(0.5x+2y-z-1=0) \]
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+La distance entre le point $H\AffPoint(0,4,8)$ et le plan d'équation $-x+y+z-4=0$ vaut
+\[ d = \displaystyle\TrouveDistancePtPlan(0,4,8)(-x+y+z-4=0) \]
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+La distance entre le point $H\AffPoint(0,0,5)$ et le plan d'équation $z-1=0$ vaut
+\[ d = \displaystyle\TrouveDistancePtPlan(0,0,5)(z-1=0) \]
+\end{PresCodePL}
+
+\newpage
+
+\section{Équation réduite d'une droite du plan}\label{eqreduite}
+
+\subsection{Idée}
+
+\begin{tipblock}
+\cmaj{2.6.3} L'idée est de proposer une commande pour déterminer l'équation réduite d'une droite passant par deux points :
+\begin{itemize}
+ \item en traitant les cas particuliers \textit{horizontale}, \textit{verticale} ;
+ \item en affichant une méthode de résolution ;
+ \item en travaillant sous forme exacte fractionnaire (les racines carrées ou autres ne seront pas gérés).
+\end{itemize}
+
+À noter que les calculs et résultats sont traités par la commande de \textit{conversion de fraction} de \ctex{ProfLycee}.
+\end{tipblock}
+
+\begin{warningblock}
+La commande se charge de formater (normalement !) correctement les différentes étapes de calculs (il se peut quand même que cela puisse ne pas donner le résultat réellement escompté\ldots) :
+
+\begin{itemize}
+ \item en travaillant en fraction ;
+ \item en mettant les parenthèses nécessaires devant les éventuels nombres négatifs ;
+ \item en traitant les cas particuliers $m=\pm1$ et $b=0$.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{warningblock}
+
+\begin{PresCodeTexPL}{listing only}
+\EquationReduite[option]{A/xa/ya,B/xb/yb}
+\end{PresCodeTexPL}
+
+\subsection{Clés et arguments}
+
+\begin{cautionblock}
+Concernant le fonctionnement de la commande :
+
+\begin{itemize}
+ \item le premier argument, optionnel et entre \ctex{[...]} et valant \Cle{[d]} par défaut, permet de formater les fractions éventuelles en mode \ctex{\textbackslash displaystyle} ;
+ \item le second argument, obligatoire et entre \ctex{\{...\}}, permet de donner les coordonnées des points concernés.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{cautionblock}
+
+\begin{PresCodePL}{}
+\EquationReduite{C/2/0,D/-2/-8}
+\end{PresCodePL}
+
+\subsection{Exemples}
+
+\begin{PresCodePL}{}
+\EquationReduite{I/-4/5,J/-4/12}
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+\EquationReduite{U/-4/5,V/-4/5}
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+\EquationReduite{L/10/7,M/-2/7}
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+\EquationReduite{L/{1/3}/2.5,M/{-5/7}/{3/5}}
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+\EquationReduite{P/4/-4,Q/-2/2}
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+\EquationReduite{G/-4/5,H/10/4}
+\end{PresCodePL}
+
\newpage
\phantom{t}\par\vfill\par
@@ -4418,7 +4813,9 @@ Ces commande permet de tracer les graduations des axes, avec des \Cle{clés} ide
\item \Cle{Epaisseur} qui est l'épaisseur des graduations ; \hfill~défaut \Cle{1pt}
\item \Cle{Police} qui est le style des labels des graduations ; \hfill~défaut \Cle{\textbackslash{}normalsize\textbackslash{}normalfont}
\item \Cle{PosGrad} qui est la position des graduations par rapport à l'axe ; \hfill~défaut \Cle{below} et \Cle{left}
- \item \Cle{HautGrad} qui est la position des graduations (sous la forme \Cle{lgt} ou \Cle{lgta/lgtb}) ; \hfill~défaut \Cle{4pt}
+ \item \Cle{HautGrad} qui est la position des graduations (sous la forme \Cle{lgt} ou \Cle{lgta/lgtb}) ;
+
+ \hfill~défaut \Cle{4pt}
\item le booléen \Cle{AffGrad} pour afficher les valeurs (formatés avec \ctex{num} donc dépendant de \ctex{sisetup}) des graduations ; \hfill~défaut \Cle{true}
\item le booléen \Cle{AffOrigine} pour afficher la graduation de l'origine ; \hfill~défaut \Cle{true}
\item le booléen \Cle{Annee} qui permet de ne pas formater les valeurs des graduations (type \textsf{année}). \hfill~défaut \Cle{false}
@@ -4494,7 +4891,9 @@ Cette commande, liée à la commande \ctex{CalculsRegLin} permet de représenter
\begin{itemize}
\item \Cle{Taille} qui est la taille des points du nuage ; \hfill~défaut \Cle{2pt}
\item \Cle{Style} parmi \Cle{o} (rond) ou \Cle{x} (croix) ou \Cle{+} (plus) ; \hfill~défaut \Cle{o}
- \item \Cle{Couleur} qui est la couleur (éventuellement \Cle{couleurA/couleurB} pour les ronds). \hfill~défaut \Cle{blue}
+ \item \Cle{Couleur} qui est la couleur (éventuellement \Cle{couleurA/couleurB} pour les ronds).
+
+ \hfill~défaut \Cle{blue}
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -4502,14 +4901,12 @@ Cette commande, liée à la commande \ctex{CalculsRegLin} permet de représenter
\begin{PresCodeTexPL}{listing only}
\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008, 2009,2010}
\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661, 1656,1649}
+\end{PresCodeTexPL}
+\begin{PresCodeTexPL}{listing only}
\begin{tikzpicture}[...]
\NuagePointsTikz[Couleur=blue/red]{\LLX}{\LLY}
\end{tikzpicture}
-~~
-\begin{tikzpicture}[...]
- \NuagePointsTikz[Couleur=ForestGreen,Style=x,Taille=6pt]{\LLX}{\LLY}
-\end{tikzpicture}
\end{PresCodeTexPL}
\begin{PresCodeSortiePL}{text only}
@@ -4523,6 +4920,18 @@ Cette commande, liée à la commande \ctex{CalculsRegLin} permet de représenter
\AxeyTikz{1640,1650,...,1720}
\NuagePointsTikz[Couleur=blue/red]{\LLX}{\LLY}
\end{tikzpicture}
+\end{PresCodeSortiePL}
+
+\begin{PresCodeTexPL}{listing only}
+\begin{tikzpicture}[...]
+ \NuagePointsTikz[Couleur=ForestGreen,Style=x,Taille=6pt]{\LLX}{\LLY}
+\end{tikzpicture}
+\end{PresCodeTexPL}
+
+\begin{PresCodeSortiePL}{text only}
+\def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010}
+\def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649}
+\CalculsRegLin{\LLX}{\LLY}
\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2012,xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1730,ygrille=10,ygrilles=5]
\GrilleTikz \AxesTikz
@@ -4711,7 +5120,9 @@ Quelques \Cle{clés} sont disponibles pour cette commande :
\item le booléen \Cle{AffMoyenne} qui permet d'afficher ou non la moyenne (sous forme d'un point) ;
\hfill~défaut \Cle{false}
- \item le booléen \Cle{Pointilles} qui permet d'afficher des pointillés au niveau des paramètres ; \hfill~défaut \Cle{false}
+ \item le booléen \Cle{Pointilles} qui permet d'afficher des pointillés au niveau des paramètres ;
+
+ \hfill~défaut \Cle{false}
\item le booléen \Cle{Valeurs} qui permet d'afficher les valeurs des paramètres au niveau des abscisses.
\hfill~défaut \Cle{false}
@@ -5452,7 +5863,9 @@ Peu de paramétrage pour ces commandes qui permettent de calculer $A_n^p$ et $\b
\begin{itemize}
\item les versions étoilées ne formatent pas le résultat grâce à \ctex{\textbackslash num} de \ctex{sinuitx} ;
\item le booléen \Cle{Notation} pour avoir la notation au début ; \hfill~défaut \Cle{false}
- \item le booléen \Cle{NotationAncien} pour avoir la notation \og ancienne \fg{} des combinaisons au début ; \hfill~défaut \Cle{false}
+ \item le booléen \Cle{NotationAncien} pour avoir la notation \og ancienne \fg{} des combinaisons au début ;
+
+ \hfill~défaut \Cle{false}
\item le booléen \Cle{Formule} permet de présenter la formule avant le résultat ;
\hfill~défaut \Cle{false}
@@ -5857,8 +6270,6 @@ La présentation est dans un environnement \ctex{ensuremath} donc les \ctex{\$..
\PresentationPGCD[CouleurResultat]{150}{27}
\end{PresCodePL}
-\pagebreak
-
\begin{PresCodePL}{}
\PresentationPGCD[CouleurResultat,Couleur=ForestGreen]{1250}{450}.
@@ -5887,6 +6298,77 @@ $\left[ \PresentationPGCD[AfficheConclusion=false,AfficheDelimiteurs=false]{1234
\newpage
+\section{Résolution d'une équation diophantienne}\label{eqdioph}
+
+\subsection{Idée}
+
+\begin{tipblock}
+L'idée est de proposer une résolution d'équation diophantienne du type $ax+by=c$ avec $(a;b;c) \in \mathbb{Z}^3$.
+
+\smallskip
+
+Le \textit{code} se charge de tester les différentes conditions d'existence, et d'adapter la rédaction (fixée et non modifiable\ldots) aux différentes situations :
+
+\begin{itemize}
+ \item cas où $\text{PGCD}(a;b)=1$ ;\hfill~existence de solutions
+ \item cas où $\text{PGCD}(a;b) \neq 1$ et $\text{PGCD}(a;b) \mid c$;\hfill~existence de solutions
+ \item cas où $\text{PGCD}(a;b) \neq 1$ et $\text{PGCD}(a;b) \not\mid c$.\hfill~pas de solution
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{warningblock}
+Logiquement le \textit{code} se charge de \textit{parenthéser} de manière automatique pour les nombres négatifs, mais il se peut que certains cas particuliers puissent donner des résultats \og non esthétiques \fg{}\ldots
+\end{warningblock}
+
+\begin{PresCodeTexPL}{listing only}
+\EquationDiophantienne[Clés]{equation}
+\end{PresCodeTexPL}
+
+\subsection{Options et clés}
+
+\begin{cautionblock}
+Concernant les Clés disponibles pour cette commande, à donner entre \ctex{[...]} :
+
+\begin{itemize}
+ \item la clé \Cle{Lettre} pour spécifier le \textit{nom} de l'équation ; \hfill{}défaut \Cle{E}
+ \item la clé \Cle{Inconnues} qui paramètre les noms des inconnues, sous la forme \Cle{x/y} ; \hfill{}défaut \Cle{x/y}
+ \item la clé \Cle{Entier} qui gère le nom de l'entier dans la solution ; \hfill{}défaut \Cle{k}
+ \item le booléen \Cle{Cadres} pour mettre en valeur les solutions ;\hfill{}défaut \Cle{false}
+ \item le booléen \Cle{PresPGCD} présenter le calcul du PGCD de $|a|$ et de $|b|$.\hfill{}défaut \Cle{true}
+\end{itemize}
+
+L'argument obligatoire, et entre \ctex{\{...\}} est quant à lui l'équation, en langage \og naturel \fg{} du type \ctex{ax+by=c} (le \textit{code} se charge d'extraire les coefficients, donc pas besoin des signes *).
+\end{cautionblock}
+
+\begin{PresCodePL}{}
+\EquationDiophantienne{48x+18y=3}
+\end{PresCodePL}
+
+\begin{PresCodePL}{}
+\EquationDiophantienne[PresPGCD=false]{48x+18y=-5}
+\end{PresCodePL}
+
+\pagebreak
+
+\begin{PresCodePL}{}
+\EquationDiophantienne{3x+4y=1}
+\end{PresCodePL}
+
+\pagebreak
+
+\begin{PresCodePL}{}
+\EquationDiophantienne[Cadres,Inconnues=u/v,Entier=l]{48u+18v=12}
+\end{PresCodePL}
+
+\pagebreak
+
+\begin{PresCodePL}{}
+\EquationDiophantienne{47x-18y=1}
+\end{PresCodePL}
+
+\newpage
+
\phantom{t}\par\vfill\par
\begin{PART}
\begin{center}
@@ -6567,6 +7049,12 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0
\part{Historique}
+{\small \bverb|v 2.6.4|~:~~~~Résolution d'une équation diophantienne $ax+by=c$ (page \pageref{eqdioph})
+
+{\small \bverb| |~:~~~~Correction de bugs mineurs
+
+{\small \bverb| |~:~~~~Ajout de commandes en géométrie analytique (pages \pageref{affcoord} et \pageref{eqcartplan} et \pageref{eqparamdroite} et \pageref{eqcartdroite} et \pageref{distptplan})
+
{\small \bverb|v 2.6.3|~:~~~~Ajout d'une commande pour déterminer une équation réduite (page \pageref{eqreduite})
{\small \bverb|v 2.6.2|~:~~~~Ajout d'une clé [AffTraitsEq] pour les équations trigo (page \pageref{cercletrigo})
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index 322e4ad25d..89b82dd10c 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,8 +3,9 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/05/09 2.6.3 Aide pour l'utilisation de LaTeX en lycee]
-% 2.6.3 Ajout d'une commande pour l'équation affine d'une droite passant par deux points
+\ProvidesPackage{ProfLycee}[2023/05/19 2.6.4 Aide pour l'utilisation de LaTeX en lycee]
+% 2.6.4 Correction d'un dysfonctionnement avec les racines (oubli du \num) + Equation diophantienne ax+by=c + Eq cartésiennes (plan & droite) + Corrections de bugs mineurs
+% 2.6.3 Ajout d'une commande pour rédiger l'obtention de l'équation affine d'une droite passant par deux points
% 2.6.2 Correction de commandes pour la pseudo3d + nouvelle clé pour la trigo
% 2.6.1 Ajout de commandes pour du calcul intégral (valeur approchée + tikz)
% 2.6.0 Ajout d'une clé [Brut] pour les mesures principales + commande calcul ligne trigo
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
index 943a28d0fb..c1d167f058 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex
@@ -25,7 +25,7 @@
\setKV[kvensemble]{#1}%
\ifboolKV[kvensemble]{Mathpunct}%
{\left\lbrace \PLensopt{} \mathpunct{} \StrSubstitute{#2}{/}{\mathpunct{}{\PLenssep}\mathpunct{}} \mathpunct{} \right\rbrace}%
- {\left\lbrace \PLensopt{} \StrSubstitute{#2}{/}{{\PLenssep}} \right\rbrace}
+ {\left\lbrace \PLensopt{} \StrSubstitute{#2}{/}{{\PLenssep}} \right\rbrace}%
}
%%------TRINOMEALEA
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
index 0e8906ee96..4057fe37dd 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
@@ -334,7 +334,7 @@
\ensuremath{\frac{%
\xintifboolexpr{\RacNumSimpl == 1 && \RacRacSimpl == 1}%
{1}%
- { \xintifboolexpr{\RacNumSimpl == 1}{}{\RacNumSimpl} \xintifboolexpr{\RacRacSimpl == 1}{}{\sqrt{\RacRacSimpl}} }%
+ { \xintifboolexpr{\RacNumSimpl == 1}{}{\RacNumSimpl} \xintifboolexpr{\RacRacSimpl == 1}{}{\sqrt{\num{\RacRacSimpl}}} }%
}%
{ \RacDenomSimpl }}%
}%
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
index 5b83b2a4d0..42e9264e5d 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex
@@ -16,12 +16,12 @@
\NewDocumentCommand\ConversionDecBin{ s O{} m }{%
\useKVdefault[CONVDECBIN]
\setKV[CONVDECBIN]{#2}% on paramètres les nouvelles clés et on les simplifie
- \def\resbrut{\xintDecToBin{#3}}
- \StrLen{\resbrut}[\nbchiffres]
- \def\nbgrp{\fpeval{4*ceil(\nbchiffres/4,0)}}
- \IfBooleanTF{#1}
- {\num{#3}\ifboolKV[CONVDECBIN]{AffBase}{_{10}}{}=\num[digit-group-size=4]{\resbrut}\ifboolKV[CONVDECBIN]{AffBase}{_{2}}{}}
- {\num{#3}\ifboolKV[CONVDECBIN]{AffBase}{_{10}}{}=\num[digit-group-size=4,minimum-integer-digits=\nbgrp]{\resbrut}\ifboolKV[CONVDECBIN]{AffBase}{_{2}}{}}
+ \def\resbrut{\xintDecToBin{#3}}%
+ \StrLen{\resbrut}[\nbchiffres]%
+ \def\nbgrp{\fpeval{4*ceil(\nbchiffres/4,0)}}%
+ \IfBooleanTF{#1}%
+ {\num{#3}\ifboolKV[CONVDECBIN]{AffBase}{_{10}}{}=\num[digit-group-size=4]{\resbrut}\ifboolKV[CONVDECBIN]{AffBase}{_{2}}{}}%
+ {\num{#3}\ifboolKV[CONVDECBIN]{AffBase}{_{10}}{}=\num[digit-group-size=4,minimum-integer-digits=\nbgrp]{\resbrut}\ifboolKV[CONVDECBIN]{AffBase}{_{2}}{}}%
}
\setKVdefault[CONVBINHEX]{%
@@ -43,35 +43,35 @@
%la conversion complète
\newcommand\ConversionBinHex[2][]{%
- \useKVdefault[CONVBINHEX]
+ \useKVdefault[CONVBINHEX]%
\setKV[CONVBINHEX]{#1}% on paramètres les nouvelles clés et on les simplifie
- \def\chbrut{#2}
+ \def\chbrut{#2}%
\StrLen{\chbrut}[\nbchiffres] %nb de chiffres du binaire
\xdef\nbgrp{\fpeval{4*ceil(\nbchiffres/4,0)}} %nb de chiffres avec blocs de 4
\xdef\nbblocs{\fpeval{\nbgrp/4}} %nb de blocs
%on rajoute des zeros si besoin := OK
- \xdef\resinter{\chbrut}
- \num[digit-group-size=4]{\chbrut}\ifboolKV[CONVBINHEX]{AffBase}{_{2}}{}=
+ \xdef\resinter{\chbrut}%
+ \num[digit-group-size=4]{\chbrut}\ifboolKV[CONVBINHEX]{AffBase}{_{2}}{}=%
\ifboolKV[CONVBINHEX]{Details}{%
- \ifnum\nbchiffres<\nbgrp
- \xdef\nbz{\inteval{\nbgrp-\nbchiffres}}
- \xdef\resinter{\PLstrzeros{\nbz}\chbrut}
- \num[digit-group-size=4,minimum-integer-digits=\nbgrp]{\resinter}=
- \fi
+ \ifnum\nbchiffres<\nbgrp%
+ \xdef\nbz{\inteval{\nbgrp-\nbchiffres}}%
+ \xdef\resinter{\PLstrzeros{\nbz}\chbrut}%
+ \num[digit-group-size=4,minimum-integer-digits=\nbgrp]{\resinter}=%
+ \fi%
%découpage par blocs et conversion en hexa := OK
- \newcount\cpt
- \cpt0
- \loop\ifnum \cpt<\nbblocs
+ \newcount\cpt%
+ \cpt0%
+ \loop\ifnum \cpt<\nbblocs%
\def\iinit{\fpeval{4*\cpt+1}}%
\def\ifinal{\fpeval{4*(\cpt+1)}}%
\StrMid{\resinter}{\iinit}{\ifinal}[\blocinter]%
- {\underbracket{\blocinter}_{\xintBinToHex{\blocinter}}\,}
- \advance\cpt by 1
- \repeat
- \!=
+ {\underbracket{\blocinter}_{\xintBinToHex{\blocinter}}\,}%
+ \advance\cpt by 1%
+ \repeat%
+ \!=%
}%
- {}
- \xintBinToHex{\chbrut}\ifboolKV[CONVBINHEX]{AffBase}{_{16}}{}
+ {}%
+ \xintBinToHex{\chbrut}\ifboolKV[CONVBINHEX]{AffBase}{_{16}}{}%
}
%hexa/bin->dec avec écriture polynomiale
@@ -94,62 +94,62 @@
\newcommand\ConversionVersDec[2][]{%
\useKVdefault[CONVTODEC]
\setKV[CONVTODEC]{#1}% on paramètres les nouvelles clés et on les simplifie
- \def\nbdepart{#2}
- \StrLen{\nbdepart}[\nbchiffres]
- \StrChar{\nbdepart}{1}[\chiffre]
+ \def\nbdepart{#2}%
+ \StrLen{\nbdepart}[\nbchiffres]%
+ \StrChar{\nbdepart}{1}[\chiffre]%
%si on est en base 16
\xintifboolexpr{\basedepart == 16}%
{%
- \nbdepart\ifboolKV[CONVTODEC]{AffBase}{_{\basedepart}}{} =
+ \nbdepart\ifboolKV[CONVTODEC]{AffBase}{_{\basedepart}}{} =%
\ifboolKV[CONVTODEC]{Details}{%
\xintHexToDec{\chiffre}\times\basedepart^{\inteval{\nbchiffres-1}}%
- \newcount\cpt
- \cpt2
- \loop\ifnum \cpt<\inteval{\nbchiffres+1}
- \def\puiss{\inteval{\nbchiffres-\cpt}}
- \StrChar{\nbdepart}{\cpt}[\chiffre]
+ \newcount\cpt%
+ \cpt2%
+ \loop\ifnum \cpt<\inteval{\nbchiffres+1}%
+ \def\puiss{\inteval{\nbchiffres-\cpt}}%
+ \StrChar{\nbdepart}{\cpt}[\chiffre]%
\ifboolKV[CONVTODEC]{Zeros}%
{%
+\xintHexToDec{\chiffre}\times\basedepart^{\puiss}%
- }
- {
- \ifnum\xintHexToDec{\chiffre} > 0
+ }%
+ {%
+ \ifnum\xintHexToDec{\chiffre} > 0%
+\xintHexToDec{\chiffre}\times\basedepart^{\puiss}%
- \fi
- }
- \advance\cpt by 1
- \repeat
- =
- }
- {}
- \num{\xintHexToDec{\nbdepart}}\ifboolKV[CONVTODEC]{AffBase}{_{10}}{}
+ \fi%
+ }%
+ \advance\cpt by 1%
+ \repeat%
+ =%
+ }%
+ {}%
+ \num{\xintHexToDec{\nbdepart}}\ifboolKV[CONVTODEC]{AffBase}{_{10}}{}%
}%
- {}
+ {}%
\xintifboolexpr{\basedepart == 2}%
{%
- \num[digit-group-size=4]{\nbdepart}\ifboolKV[CONVTODEC]{AffBase}{_{\basedepart}}{} =
+ \num[digit-group-size=4]{\nbdepart}\ifboolKV[CONVTODEC]{AffBase}{_{\basedepart}}{} =%
\ifboolKV[CONVTODEC]{Details}{%
\chiffre\times\basedepart^{\inteval{\nbchiffres-1}}%
- \newcount\cpt
- \cpt2
- \loop\ifnum \cpt<\inteval{\nbchiffres+1}
- \def\puiss{\inteval{\nbchiffres-\cpt}}
- \StrChar{\nbdepart}{\cpt}[\chiffre]
+ \newcount\cpt%
+ \cpt2%
+ \loop\ifnum \cpt<\inteval{\nbchiffres+1}%
+ \def\puiss{\inteval{\nbchiffres-\cpt}}%
+ \StrChar{\nbdepart}{\cpt}[\chiffre]%
\ifboolKV[CONVTODEC]{Zeros}%
{%
+\chiffre\times\basedepart^{\puiss}%
}
{
- \ifnum\chiffre > 0
+ \ifnum\chiffre > 0%
+\chiffre\times\basedepart^{\puiss}%
- \fi
- }
- \advance\cpt by 1
- \repeat
- =
- }
- {}
- \num{\xintBinToDec{\nbdepart}}\ifboolKV[CONVTODEC]{AffBase}{_{10}}{}
+ \fi%
+ }%
+ \advance\cpt by 1%
+ \repeat%
+ =%
+ }%
+ {}%
+ \num{\xintBinToDec{\nbdepart}}\ifboolKV[CONVTODEC]{AffBase}{_{10}}{}%
}%
{}%
}
@@ -157,30 +157,30 @@
\newcommand\ConversionBaseDix[3][]{%1=options,%2=nb,%3=basedep ??
\useKVdefault[CONVTODEC]
\setKV[CONVTODEC]{#1}% on paramètres les nouvelles clés et on les simplifie
- \def\NBdepart{#2}
- \def\basedepart{#3}
- \StrLen{\NBdepart}[\nbchiffres]
- \StrChar{\NBdepart}{1}[\chiffre]
- \NBdepart\ifboolKV[CONVTODEC]{AffBase}{_{\basedepart}}{} =
+ \def\NBdepart{#2}%
+ \def\basedepart{#3}%
+ \StrLen{\NBdepart}[\nbchiffres]%
+ \StrChar{\NBdepart}{1}[\chiffre]%
+ \NBdepart\ifboolKV[CONVTODEC]{AffBase}{_{\basedepart}}{} =%
\ifboolKV[CONVTODEC]{Details}{%
\xintHexToDec{\chiffre}\times\basedepart^{\inteval{\nbchiffres-1}}%
- \newcount\cpt
- \cpt2
- \loop\ifnum \cpt<\inteval{\nbchiffres+1}
- \def\puiss{\inteval{\nbchiffres-\cpt}}
- \StrChar{\NBdepart}{\cpt}[\chiffre]
+ \newcount\cpt%
+ \cpt2%
+ \loop\ifnum \cpt<\inteval{\nbchiffres+1}%
+ \def\puiss{\inteval{\nbchiffres-\cpt}}%
+ \StrChar{\NBdepart}{\cpt}[\chiffre]%
\ifboolKV[CONVTODEC]{Zeros}%
{%
+\xintHexToDec{\chiffre}\times\basedepart^{\puiss}%
- }
- {
- \ifnum\xintHexToDec{\chiffre} > 0
+ }%
+ {%
+ \ifnum\xintHexToDec{\chiffre} > 0%
+\xintHexToDec{\chiffre}\times\basedepart^{\puiss}%
- \fi
- }
- \advance\cpt by 1
- \repeat
- =
+ \fi%
+ }%
+ \advance\cpt by 1%
+ \repeat%
+ =%
}%
{}%
\num{\convertbasetobasedix{#2}{#3}}\ifboolKV[CONVTODEC]{AffBase}{_{10}}{}%
@@ -231,7 +231,7 @@
}
%dernière
\xdef\ValQ{\fpeval{trunc(\ValTMP/#3,0)}}\xdef\ValR{\fpeval{\ValTMP-#3*\ValQ}}%
- \\ \num{\ValTMP}\uppercase{&}\num{\ValB}\times\num{\ValQ}\uppercase{&}\PLnoeud{\PLConvNoeud2}{\num{\ValR}}
+ \\ \num{\ValTMP}\uppercase{&}\num{\ValB}\times\num{\ValQ}\uppercase{&}\PLnoeud{\PLConvNoeud2}{\num{\ValR}}%
\end{array} \right| \Rightarrow \num{#2}_{10}=\ifboolKV[convfromten]{CouleurRes}{\mathcolor{\PLConvCouleur}{\convertbasedixtobase{#2}{#3}_{#3}}}{\convertbasedixtobase{#2}{#3}_{#3}}}%
\ifboolKV[convfromten]{Rect}%
{%
@@ -263,6 +263,8 @@
AfficheDelimiteurs=true
}
+\RequirePackage{xintgcd}
+
\newcommand\PresentationPGCD[3][]{%
\useKVdefault[prespgcd]%
\setKV[prespgcd]{#1}%
@@ -274,7 +276,7 @@
{}%
\begin{array}{@{\,}r@{\;=\;}l@{\;+\;}r}
%1ère division
- \xdef\ValQ{\fpeval{trunc(\ValA/\ValB,0)}}\xdef\ValR{\fpeval{\ValA-\ValB*\ValQ}}
+ \xdef\ValQ{\fpeval{trunc(\ValA/\ValB,0)}}\xdef\ValR{\fpeval{\ValA-\ValB*\ValQ}}%
\num{\ValA}\uppercase{&}\num{\ValB}\times\num{\ValQ}\uppercase{&}%
\xintifboolexpr{\ValR == \respgcd}%
{\PLnoeud{\PLPGCDNoeud1}{\num{\ValR}}}%noeud si c'est le pgcd
@@ -308,4 +310,150 @@
}{}%
}
+%%===égalité de Bezout
+\NewDocumentCommand\AffCoeffBezout{ m }{%
+ \xintifboolexpr{#1 < 0}%
+ {\left( \num{#1} \right)}%
+ {\num{#1}}%
+}
+\NewDocumentCommand\EgaliteBezout{ O{black} m m }{%
+ \xintAssign{\xintBezout{#2}{#3}}\to\TmpU\TmpV\TmpD%
+ \ensuremath{\num{#2} \times \mathcolor{#1}{\AffCoeffBezout{\TmpU}} + \AffCoeffBezout{#3} \times \mathcolor{#1}{\AffCoeffBezout{\TmpV}} = \num{\TmpD}}%
+}
+
+%%===Équations diophantiennes
+\RequirePackage{cancel}
+\NewDocumentCommand\AffCoeffDioph{ m }{%
+ \xintifboolexpr{#1 < 0}%
+ {\left( \num{#1} \right)}%
+ {\num{#1}}%
+}
+\NewDocumentCommand\AffCoeffDiophSign{ m }{%
+ \xintifboolexpr{#1 < 0}%
+ {\num{#1}}%
+ {+\num{#1}}%
+}
+
+\defKV[eqdioph]{%
+ Lettre=\def\LettreSolEDioph{#1},%
+ Couleur=\def\CouleurSolEDioph{#1},%
+ Inconnues=\def\InconnuesSolEDioph{#1},%
+ Entier=\def\KKK{#1}
+}
+
+\setKVdefault[eqdioph]{%
+ Lettre=E,%
+ Couleur=black,%
+ Inconnues=x/y,%
+ Entier=k,%
+ Cadres=false,%
+ PresPGCD=true
+}
+
+\NewDocumentCommand\EquationDiophantienne{ O{} m }{%v2 avec équation en "dur"
+ \useKVdefault[eqdioph]%
+ \setKV[eqdioph]{#1}%
+ \setlength{\parindent}{0pt}%
+ %extractions des paramètres
+ \StrBefore[1]{\InconnuesSolEDioph}{/}[\XXX]%
+ \StrBehind[1]{\InconnuesSolEDioph}{/}[\YYY]%
+ \StrBefore{#2}{\XXX}[\AA]%
+ \StrBetween{#2}{\XXX}{\YYY}[\BB]%
+ \StrBehind{#2}{=}[\CC]%
+ \IfStrEq{\AA}{}%
+ {\def\AA{1}}{}%
+ \IfStrEq{\AA}{-}%
+ {\def\AA{-1}}{}%
+ \StrLen{\BB}[\lgtB]%
+ \xintifboolexpr{ \lgtB > 1 }%+b ou -b
+ {%
+ \StrDel{\BB}{+}[\BB]%
+ }%
+ {%
+ \IfStrEq{\BB}{-}%
+ {\def\BB{-1}}{}%
+ \IfStrEq{\BB}{+}%
+ {\def\BB{1}}{}%
+ }%
+ %Calcul du PGCD
+ \xdef\PGCDD{\xinteval{gcd(\AA,\BB)}}%
+ On cherche à résoudre l'équation diophantienne :\[ \num{\AA}\XXX + \AffCoeffDioph{\BB}\YYY=\num{\CC} \xintifboolexpr{ \PGCDD == 1 'or' \xintiiRem{\CC}{\PGCDD} != 0 }{\qquad (\LettreSolEDioph)}{} \]%
+ \ifboolKV[eqdioph]{PresPGCD}%
+ {D'après l'algorithme d'Euclide : \PresentationPGCD[Rectangle=false]{\xinteval{abs(\AA)}}{\xinteval{abs(\BB)}}.}%
+ {Le PGCD de \num{\AA} et de \num{\BB} vaut \num{\PGCDD}.}%
+ \par\smallskip
+ \xintifboolexpr{ \xintiiRem{\CC}{\PGCDD} == 0 }%solutions obligatoires
+ {%
+ \xintifboolexpr{ \PGCDD == 1}%
+ {%
+ Les entiers \num{\xinteval{abs(\AA)}} et \num{\xinteval{abs(\BB)}} sont premiers entre eux, donc l'équation $(\LettreSolEDioph)$ admet une infinité de solutions.\par
+ \xdef\AAA{\AA}\xdef\BBB{\BB}\xdef\CCC{\CC}%
+ }%
+ {%
+ Le PGCD de \num{\AA} et \num{\BB} divise \num{\CC}, donc on peut simplifier l'équation diophantienne par \num{\PGCDD}.%
+ \xdef\AAA{\xintiieval{\AA/\PGCDD}}\xdef\BBB{\xintiieval{\BB/\PGCDD}}\xdef\CCC{\xintiieval{\CC/\PGCDD}}%
+ %
+ \[ \num{\AA}\XXX+\AffCoeffDioph{\BB}\YYY=\num{\CC} \underset{\div\num{\PGCDD}}{\Longleftrightarrow} \num{\AAA}\XXX+\AffCoeffDioph{\BBB}\YYY=\num{\CCC} \qquad (\LettreSolEDioph) \]%
+ Les entiers \num{\AAA} et \num{\BBB} sont premiers entre eux, donc l'équation $(\LettreSolEDioph)$ admet une infinité de solutions.\par
+ }%
+ \xintAssign{\xintBezout{\AAA}{\BBB}}\to\TmpU\TmpV\TmpD
+ %
+ On détermine une solution particulière de $(E)$ : \[ \num{\AAA} \times \mathcolor{\CouleurSolEDioph}{\AffCoeffBezout{\TmpU}} + \AffCoeffBezout{\BBB} \times \mathcolor{\CouleurSolEDioph}{\AffCoeffBezout{\TmpV}} = \num{\TmpD}
+ \xintifboolexpr{ \CCC != 1}%
+ {%
+ \underset{\times\AffCoeffDioph{\CCC}}{\implies}
+ \num{\AAA} \times \mathcolor{\CouleurSolEDioph}{\AffCoeffDioph{\xinteval{\TmpU*\CCC}}} + \AffCoeffBezout{\BBB} \times \mathcolor{\CouleurSolEDioph}{\AffCoeffDioph{\xinteval{\TmpV*\CCC}}} = \num{\CCC}
+ }%
+ {}%
+ \qquad ({\LettreSolEDioph}_0)
+ \]%
+ %
+ Par soustraction :
+ %
+ \[%
+ {\renewcommand\arraystretch{1.25}%
+ \begin{array}{ @{\,} c @{\,} c @{\;\times\;} c @{\;+\;} c @{\;\times\;} c @{\;=\;} c }
+ & \num{\AAA} & \XXX & \AffCoeffDioph{\BBB} & \YYY & \num{\CCC} \\
+ -~~~~~ & \num{\AAA} & \mathcolor{\CouleurSolEDioph}{\AffCoeffDioph{\xinteval{\TmpU*\CCC}}} & \AffCoeffDioph{\BBB} & \mathcolor{\CouleurSolEDioph}{\AffCoeffDioph{\xinteval{\TmpV*\CCC}}} & \num{\CCC} \\ \hline
+ & \num{\AAA} & \left( \XXX \mathcolor{\CouleurSolEDioph}{\AffCoeffDiophSign{\xinteval{-\TmpU*\CCC}}} \right)& \AffCoeffDioph{\BBB} & \left( \YYY \mathcolor{\CouleurSolEDioph}{\AffCoeffDiophSign{\xinteval{-\TmpV*\CCC}}} \right) & 0\\
+ \end{array}}
+ \]%
+ \xdef\TmpPartieA{\XXX \mathcolor{\CouleurSolEDioph}{\AffCoeffDiophSign{\xinteval{-\TmpU*\CCC}}}}%
+ \xdef\TmpPartieB{\YYY \mathcolor{\CouleurSolEDioph}{\AffCoeffDiophSign{\xinteval{-\TmpV*\CCC}}}}%
+ %
+ On en déduit que $\num{\AAA} \times \underbrace{\left( \TmpPartieA \right)}_{\text{entier}} = \num{\xinteval{-\BBB}} \times \left( \TmpPartieB \right)$, et donc que $\num{\AAA} \mid \num{\xinteval{-\BBB}} \times \left( \TmpPartieB \right)$.\par\smallskip
+ Or \num{\xinteval{abs(\AAA)}} et \num{\xinteval{abs(\BBB)}} sont premiers entre eux, donc d'après le théorème de Gauss, on a $\num{\AAA} \mid \TmpPartieB$.\par
+ Il existe donc un entier $\KKK$ tel que $\TmpPartieB = \num{\AAA} \times \KKK$, ce qui donne
+ $\ifboolKV[eqdioph]{Cadres}
+ {\boxed{\YYY = \mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpV}}} \AffCoeffDiophSign{\AAA}\KKK}}
+ {\YYY = \mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpV}}} \AffCoeffDiophSign{\AAA}\KKK}
+ $.\par
+ En remplaçant, on obtient :
+ %
+ \begin{align*}
+ \num{\AAA} \times \left( \TmpPartieA \right) = \num{\xinteval{-\BBB}} \times \left( \TmpPartieB \right) & \implies \num{\AAA} \times \left( \TmpPartieA \right) = \num{\xinteval{-\BBB}} \times \big( \underbrace{\mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpV}}} \AffCoeffDiophSign{\AAA}\KKK}_{\mathclap{\YYY}} \mathcolor{\CouleurSolEDioph}{\AffCoeffDiophSign{\xinteval{-\CCC*\TmpV}}} \big) \\
+ & \implies \num{\AAA} \times \left( \TmpPartieA \right) = \num{\xinteval{-\BBB}} \times \left( \num{\AAA}\KKK \right) \\
+ & \implies \TmpPartieA = \num{\xinteval{-\BBB}}\KKK \\
+ & \implies \ifboolKV[eqdioph]{Cadres}
+ {\boxed{\XXX = \mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpU}}} \AffCoeffDiophSign{\xinteval{-\BBB}}\KKK}}
+ {\XXX = \mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpU}}} \AffCoeffDiophSign{\xinteval{-\BBB}}\KKK}
+ \end{align*}
+ %
+ Ainsi, si $\XXX$ et $\YYY$ sont solutions de $(\LettreSolEDioph)$, alors il existe un entier $\KKK$ tel que ${\XXX=\mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpU}}} \AffCoeffDiophSign{\xinteval{-\BBB}}\KKK}$ et ${\YYY=\mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpV}}} \AffCoeffDiophSign{\AAA}\KKK}$.\par\medskip
+ Réciproquement, soit $\KKK$ un entier quelconque :
+ %
+ \begin{align*}
+ \num{\AAA} \times \left( \mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpU}}} \AffCoeffDiophSign{\xinteval{-\BBB}}\KKK \right) + \AffCoeffDioph{\BBB} \times \left( \mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpV}}} \AffCoeffDiophSign{\AAA}\KKK \right) & = \num{\AAA} \times \mathcolor{\CouleurSolEDioph}{\AffCoeffDioph{\xinteval{\CCC*\TmpU}}} + \cancel{\AffCoeffDioph{\AAA} \times \AffCoeffDioph{\xinteval{-\BBB}} \KKK} + \AffCoeffDioph{\BBB} \times \mathcolor{\CouleurSolEDioph}{\AffCoeffDioph{\xinteval{\CCC*\TmpV}}} + \cancel{\AffCoeffDioph{\BBB} \times \AffCoeffDioph{\AAA} \KKK} \\
+ & = \underbrace{\num{\AAA} \times \mathcolor{\CouleurSolEDioph}{\AffCoeffDioph{\xinteval{\CCC*\TmpU}}} + \AffCoeffDioph{\BBB} \times \mathcolor{\CouleurSolEDioph}{\AffCoeffDioph{\xinteval{\CCC*\TmpV}}}}_{=\,\num{\CCC} \text{ d'après } ({\LettreSolEDioph}_0)} \\
+ & = \num{\CCC}
+ \end{align*}
+ %
+ On en déduit que $\left(\mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpU}}} \AffCoeffDiophSign{\xinteval{-\BBB}}\KKK \mathpunct{}; \mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpV}}} \AffCoeffDiophSign{\AAA}\KKK \right)$ est solution de $(\LettreSolEDioph)$.\par\medskip
+ En conclusion, les solutions de $(E)$ sont donc les couples $\left(\mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpU}}} \AffCoeffDiophSign{\xinteval{-\BBB}}\KKK \mathpunct{}; \mathcolor{\CouleurSolEDioph}{\num{\xinteval{\CCC*\TmpV}}} \AffCoeffDiophSign{\AAA}\KKK \right)$, avec $\KKK$ un entier relatif.
+ }%
+ {%
+ Le PGCD de \num{\AA} et \num{\BB} ne divise pas \num{\CC}, donc l'équation $(\LettreSolEDioph)$ n'admet aucune solution.
+ }%
+}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
index 93e0e09191..1758c015fd 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-geom.tex
@@ -135,5 +135,493 @@
mainlevee/.default={5mm et 0.6pt}
}
+%%Equations Cartésiennes + Affichages coordonnées
+\RequirePackage{nicematrix}
+\NewDocumentCommand\AffCoeffSgn{ s O{} m m D<>{} }{%
+ \IfStrEq{#5}{}%si argument vide, on convertit en fraction
+ {%
+ \xintifboolexpr{\xinteval{#3} == 0}%
+ {}%on n'affiche rien si le coeff est nul
+ {%sinon on teste >0 puis else
+ \xintifboolexpr{\xinteval{#3} > 0}%
+ {%
+ \IfBooleanTF{#1}{}{+}%
+ \xintifboolexpr{\xinteval{#3} == 1}%
+ {#4}%
+ {\ConversionFraction[#2]{#3}#4}%
+ }%
+ {%
+ \xintifboolexpr{\xinteval{#3} == -1}%
+ {-#4\relax}%
+ {\ConversionFraction[#2]{#3}#4}%
+ }%
+ }%
+ }%
+ %sinon on met en brut
+ {%
+ #3#4
+ }%
+}
+
+\NewDocumentCommand\AffCoeffSgnSimpl{ s O{} m D<>{} }{%
+ \IfStrEq{#4}{}%si argument vide, on convertit en fraction
+ {%
+ \xintifboolexpr{\xinteval{#3} == 0}%
+ {}%on n'affiche rien si le coeff est nul
+ {%sinon on teste >0 puis else
+ \xintifboolexpr{\xinteval{#3} > 0}%
+ {%
+ \IfBooleanTF{#1}{}{+}%
+ \xintifboolexpr{\xinteval{#3} == 1}%
+ {#3}%
+ {+\ConversionFraction[#2]{#3}}%
+ }%
+ {%
+ \xintifboolexpr{\xinteval{#3} == -1}%
+ {#3\relax}%
+ {\ConversionFraction[#2]{#3}}%
+ } %
+ }%
+ }%
+ %sinon on met en brut
+ {%
+ #3
+ }%
+}
+
+\defKV[eqcartplan]{%
+ OptionCoeffs=\def\eqcartplformat{#1},%
+ Facteur=\def\eqcartplfact{#1}
+}
+
+\setKVdefault[eqcartplan]{%
+ OptionCoeffs={d},%
+ SimplifCoeffs=false,%
+ Facteur=1
+}
+
+\NewDocumentCommand\TrouveEqCartPlan{ O{} r() r() d() }{%test commande générique avec VP ou PPP ou PVV
+ \restoreKV[eqcartplan]% revenir au valeurs par défaut
+ \setKV[eqcartplan]{#1}% lit les arguments optionnels
+ \IfNoValueTF{#4}%c'est Vect+Point
+ {%
+ \setsepchar{;}\readlist*\CoordVecNorm{#2}%
+ \setsepchar{,}\readlist*\CoordPt{#3}%
+ \itemtomacro\CoordVecNorm[1]\vecnx%
+ \itemtomacro\CoordVecNorm[2]\vecny%
+ \itemtomacro\CoordVecNorm[3]\vecnz%
+ \itemtomacro\CoordPt[1]\xpta%
+ \itemtomacro\CoordPt[2]\ypta%
+ \itemtomacro\CoordPt[3]\zpta%
+ %calculs
+ \xdef\coeffd{-((\xpta)*(\vecnx)+(\ypta)*(\vecny)+(\zpta)*(\vecnz))}%
+ \xdef\PPCMDenom{\xinteval{lcm([\xintDenominator{\xintIrr{\xinteval{\vecnx}}},\xintDenominator{\xintIrr{\xinteval{\vecny}}},\xintDenominator{\xintIrr{\xinteval{\vecnz}}},\xintDenominator{\xintIrr{\xinteval{\coeffd}}}])}}%
+ \xdef\PGCDsiEntiers{1}%
+ \xintifboolexpr{\xinteval{isint(\vecnx)}*\xinteval{isint(\vecny)}*\xinteval{isint(\vecnz)}*\xinteval{isint(\coeffd)} == 1}%tous les coeffs sont entiers
+ {%
+ \xdef\PGCDsiEntiers{\xinteval{gcd([\xinteval{\vecnx},\xinteval{\vecny},\xinteval{\vecnz},\xinteval{\coeffd}])}}%
+ }%
+ {}%
+ %affichages
+ \ifboolKV[eqcartplan]{SimplifCoeffs}%
+ {%
+ \AffCoeffSgn*[\eqcartplformat]{(\vecnx)*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{x} \AffCoeffSgn[\eqcartplformat]{(\vecny)*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{y} \AffCoeffSgn[\eqcartplformat]{(\vecnz)*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{z} \AffCoeffSgnSimpl*[\eqcartplformat]{\coeffd*\PPCMDenom/\PGCDsiEntiers} = 0%
+ }%
+ {%
+ \AffCoeffSgn*[\eqcartplformat]{\vecnx}{x} \AffCoeffSgn[\eqcartplformat]{\vecny}{y} \AffCoeffSgn[\eqcartplformat]{\vecnz}{z} \AffCoeffSgnSimpl*[\eqcartplformat]{\coeffd} = 0%
+ }%
+ }%sinon c'est Point+Point+Point ou vectdir+vectdir+point
+ {%
+ \IfSubStr{#2}{,}%c'est point+point+point
+ {%
+ \setsepchar{,}\readlist*\CoordPtA{#2}%
+ \setsepchar{,}\readlist*\CoordPtB{#3}%
+ \setsepchar{,}\readlist*\CoordPtC{#4}%
+ \itemtomacro\CoordPtA[1]\ptxa%
+ \itemtomacro\CoordPtA[2]\ptya%
+ \itemtomacro\CoordPtA[3]\ptza%
+ \itemtomacro\CoordPtB[1]\ptxb%
+ \itemtomacro\CoordPtB[2]\ptyb%
+ \itemtomacro\CoordPtB[3]\ptzb%
+ \itemtomacro\CoordPtC[1]\ptxc%
+ \itemtomacro\CoordPtC[2]\ptyc%
+ \itemtomacro\CoordPtC[3]\ptzc%
+ %calculs
+ \xdef\vecxab{(\ptxb-\ptxa)}%
+ \xdef\vecyab{(\ptyb-\ptya)}%
+ \xdef\veczab{(\ptzb-\ptza)}%
+ \xdef\vecxac{(\ptxc-\ptxa)}%
+ \xdef\vecyac{(\ptyc-\ptya)}%
+ \xdef\veczac{(\ptzc-\ptza)}%
+ %coeffs a/b/c
+ \xdef\coeffa{(\vecyab*\veczac-\veczab*\vecyac)}%
+ \xdef\coeffb{(\vecxac*\veczab-\vecxab*\veczac)}%
+ \xdef\coeffc{(\vecxab*\vecyac-\vecxac*\vecyab)}%
+ %coeffd
+ \xdef\coeffd{(-(\ptxa)*\vecyab*\veczac-(\ptza)*\vecxab*\vecyac-(\ptya)*\vecxac*\veczab+(\ptza)*\vecyab*\vecxac+(\ptxa)*\veczab*\vecyac+(\ptya)*\vecxab*\veczac)}%
+ %pour simplifier
+ \xdef\PPCMDenom{\xinteval{lcm([\xintDenominator{\xintIrr{\xinteval{\coeffa}}},\xintDenominator{\xintIrr{\xinteval{\coeffb}}},\xintDenominator{\xintIrr{\xinteval{\coeffc}}},\xintDenominator{\xintIrr{\xinteval{\coeffd}}}])}}%
+ \xdef\PGCDsiEntiers{1}%
+ \xintifboolexpr{\xinteval{isint(\coeffa)}*\xinteval{isint(\coeffb)}*\xinteval{isint(\coeffc)}*\xinteval{isint(\coeffd)} == 1}%tous les coeffs sont entiers
+ {%
+ \xdef\PGCDsiEntiers{\xinteval{gcd([\xinteval{\coeffa},\xinteval{\coeffb},\xinteval{\coeffc},\xinteval{\coeffd}])}}%
+ }%
+ {}%
+ %affichages
+ \ifboolKV[eqcartplan]{SimplifCoeffs}%
+ {%
+ \AffCoeffSgn*[\eqcartplformat]{\coeffa*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{x} \AffCoeffSgn[\eqcartplformat]{\coeffb*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{y} \AffCoeffSgn[\eqcartplformat]{\coeffc*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{z} \AffCoeffSgnSimpl*[\eqcartplformat]{\coeffd*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers} = 0%
+ }%
+ {%
+ \AffCoeffSgn*[\eqcartplformat]{\coeffa}{x} \AffCoeffSgn[\eqcartplformat]{\coeffb}{y} \AffCoeffSgn[\eqcartplformat]{\coeffc}{z} \AffCoeffSgnSimpl*[\eqcartplformat]{\coeffd} = 0%
+ }%
+ }%
+ {%
+ \setsepchar{;}\readlist*\CoordVecA{#2}%
+ \setsepchar{;}\readlist*\CoordVecB{#3}%
+ \setsepchar{,}\readlist*\CoordPtC{#4}%
+ \itemtomacro\CoordVecA[1]\vecxab%
+ \itemtomacro\CoordVecA[2]\vecyab%
+ \itemtomacro\CoordVecA[3]\veczab%
+ \itemtomacro\CoordVecB[1]\vecxac%
+ \itemtomacro\CoordVecB[2]\vecyac%
+ \itemtomacro\CoordVecB[3]\veczac%
+ \itemtomacro\CoordPtC[1]\ptxc%
+ \itemtomacro\CoordPtC[2]\ptyc%
+ \itemtomacro\CoordPtC[3]\ptzc%
+ %coeff a/b/c
+ \xdef\coeffa{((\vecyab)*(\veczac)-(\vecyac)*(\veczab))}%
+ \xdef\coeffb{((\veczab)*(\vecxac)-(\veczac)*(\vecxab))}%
+ \xdef\coeffc{((\vecxab)*(\vecyac)-(\vecxac)*(\vecyab))}%
+ %coeffd
+ \xdef\coeffd{-((\ptxc)*\coeffa+(\ptyc)*\coeffb+(\ptzc)*\coeffc)}%
+ %pour simplifier
+ \xdef\PPCMDenom{\xinteval{lcm([\xintDenominator{\xintIrr{\xinteval{\coeffa}}},\xintDenominator{\xintIrr{\xinteval{\coeffb}}},\xintDenominator{\xintIrr{\xinteval{\coeffc}}},\xintDenominator{\xintIrr{\xinteval{\coeffd}}}])}}%
+ \xdef\PGCDsiEntiers{1}%
+ \xintifboolexpr{\xinteval{isint(\coeffa)}*\xinteval{isint(\coeffb)}*\xinteval{isint(\coeffc)}*\xinteval{isint(\coeffd)} == 1}%tous les coeffs sont entiers
+ {%
+ \xdef\PGCDsiEntiers{\xinteval{gcd([\xinteval{\coeffa},\xinteval{\coeffb},\xinteval{\coeffc},\xinteval{\coeffd}])}}%
+ }%
+ {}%
+ %affichages
+ \ifboolKV[eqcartplan]{SimplifCoeffs}%
+ {%
+ \AffCoeffSgn*[\eqcartplformat]{\coeffa*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{x} \AffCoeffSgn[\eqcartplformat]{\coeffb*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{y} \AffCoeffSgn[\eqcartplformat]{\coeffc*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers}{z} \AffCoeffSgnSimpl*[\eqcartplformat]{\coeffd*(\eqcartplfact)*\PPCMDenom/\PGCDsiEntiers} = 0%
+ }%
+ {%
+ \AffCoeffSgn*[\eqcartplformat]{\coeffa}{x} \AffCoeffSgn[\eqcartplformat]{\coeffb}{y} \AffCoeffSgn[\eqcartplformat]{\coeffc}{z} \AffCoeffSgnSimpl*[\eqcartplformat]{\coeffd} = 0%
+ }%
+ }%
+ }%
+}
+
+\defKV[eqcartdroite]{%
+ OptionCoeffs=\def\eqcartdteformat{#1},%
+ Facteur=\def\eqcartdtefact{#1}
+}
+
+\setKVdefault[eqcartdroite]{%
+ OptionCoeffs={d},%
+ SimplifCoeffs=false,%
+ VectDirecteur=false,%
+ Facteur=1
+}
+
+\NewDocumentCommand\TrouveEqCartDroite{ O{} r() r() }{%vect/point ou point/point
+ \restoreKV[eqcartdroite]% revenir au valeurs par défaut
+ \setKV[eqcartdroite]{#1}% lit les arguments optionnels
+ %on teste si c'est point/point
+ \IfSubStr{#2}{;}%c'est vecteur+point, sinon c'est point+point
+ {%
+ \setsepchar{;}\readlist*\CoordVec{#2}%
+ \setsepchar{,}\readlist*\CoordPt{#3}%
+ \itemtomacro\CoordVec[1]\vecnx%
+ \itemtomacro\CoordVec[2]\vecny%
+ \itemtomacro\CoordPt[1]\xpta%
+ \itemtomacro\CoordPt[2]\ypta%
+ %calculs
+ \ifboolKV[eqcartdroite]{VectDirecteur}%
+ {%
+ \xdef\coeffd{((\xpta)*(\vecny)-(\ypta)*(\vecnx))}%
+ }%
+ {%
+ \xdef\coeffd{-((\xpta)*(\vecnx)+(\ypta)*(\vecny))}%
+ }%
+ \xdef\PPCMDenom{\xinteval{lcm([\xintDenominator{\xintIrr{\xinteval{\vecnx}}},\xintDenominator{\xintIrr{\xinteval{\vecny}}},\xintDenominator{\xintIrr{\xinteval{\coeffd}}}])}}%
+ \xdef\PGCDsiEntiers{1}%
+ \xintifboolexpr{\xinteval{isint(\vecnx)}*\xinteval{isint(\vecny)}*\xinteval{isint(\coeffd)} == 1}%tous les coeffs sont entiers
+ {%
+ \xdef\PGCDsiEntiers{\xinteval{gcd([\xinteval{\vecnx},\xinteval{\vecny},\xinteval{\coeffd}])}}%
+ }%
+ {}%
+ %affichages
+ \ifboolKV[eqcartdroite]{SimplifCoeffs}%
+ {%
+ \ifboolKV[eqcartdroite]{VectDirecteur}%
+ {%
+ \AffCoeffSgn*[\eqcartdteformat]{-(\vecny)*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers}{x} \AffCoeffSgn[\eqcartdteformat]{(\vecnx)*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers}{y} \AffCoeffSgnSimpl*[\eqcartdteformat]{\coeffd*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers} = 0%
+ }%
+ {%
+ \AffCoeffSgn*[\eqcartdteformat]{(\vecnx)*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers}{x} \AffCoeffSgn[\eqcartdteformat]{(\vecny)*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers}{y} \AffCoeffSgnSimpl*[\eqcartdteformat]{\coeffd*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers} = 0%
+ }%
+ }%
+ {%
+ \ifboolKV[eqcartdroite]{VectDirecteur}%
+ {%
+ \AffCoeffSgn*[\eqcartdteformat]{-(\vecny)}{x} \AffCoeffSgn[\eqcartdteformat]{\vecnx}{y} \AffCoeffSgnSimpl*[\eqcartdteformat]{\coeffd} = 0%
+ }%
+ {%
+ \AffCoeffSgn*[\eqcartdteformat]{\vecnx}{x} \AffCoeffSgn[\eqcartdteformat]{\vecny}{y} \AffCoeffSgnSimpl*[\eqcartdteformat]{\coeffd} = 0%
+ }%
+ }%
+ }%
+ {%
+ \setsepchar{,}\readlist*\CoordPtA{#2}%
+ \setsepchar{,}\readlist*\CoordPtB{#3}%
+ \itemtomacro\CoordPtA[1]\xpta%
+ \itemtomacro\CoordPtA[2]\ypta%
+ \itemtomacro\CoordPtB[1]\xptb%
+ \itemtomacro\CoordPtB[2]\yptb%
+ \xdef\vecnx{((\xptb)-(\xpta))}%
+ \xdef\vecny{((\yptb)-(\ypta))}%
+ %calculs
+ \xdef\coeffd{((\xpta)*(\vecny)-(\ypta)*(\vecnx))}%
+ \xdef\PPCMDenom{\xinteval{lcm([\xintDenominator{\xintIrr{\xinteval{\vecnx}}},\xintDenominator{\xintIrr{\xinteval{\vecny}}},\xintDenominator{\xintIrr{\xinteval{\coeffd}}}])}}%
+ \xdef\PGCDsiEntiers{1}%
+ \xintifboolexpr{\xinteval{isint(\vecnx)}*\xinteval{isint(\vecny)}*\xinteval{isint(\coeffd)} == 1}%tous les coeffs sont entiers
+ {%
+ \xdef\PGCDsiEntiers{\xinteval{gcd([\xinteval{\vecnx},\xinteval{\vecny},\xinteval{\coeffd}])}}%
+ }%
+ {}%
+ %affichages
+ \ifboolKV[eqcartdroite]{SimplifCoeffs}%
+ {%
+ \AffCoeffSgn*[\eqcartdteformat]{-(\vecny)*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers}{x} \AffCoeffSgn[\eqcartdteformat]{(\vecnx)*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers}{y} \AffCoeffSgnSimpl*[\eqcartdteformat]{\coeffd*(\eqcartdtefact)*\PPCMDenom/\PGCDsiEntiers} = 0%
+ }%
+ {%
+ \AffCoeffSgn*[\eqcartdteformat]{-(\vecny)}{x} \AffCoeffSgn[\eqcartdteformat]{(\vecnx)}{y} \AffCoeffSgnSimpl*[\eqcartdteformat]{\coeffd} = 0%
+ }%
+ }%
+}
+
+\NewDocumentCommand\AffVecteur{ O{d} D<>{} r() }{%
+ \setsepchar{;}\readlist*\CoordVec{#3}%
+ \xintifboolexpr{\CoordVeclen == 2}%
+ {%
+ \IfSubStr{#1}{;}%si l'option est globale...
+ {%
+ \setsepchar{;}\readlist*\OptVec{#1}%
+ \itemtomacro\OptVec[1]\optvecx%
+ \itemtomacro\OptVec[2]\optvecy%
+ }%
+ {%
+ \xdef\optvecx{#1}\xdef\optvecy{#1}%
+ }%
+ \itemtomacro\CoordVec[1]\vecx%
+ \itemtomacro\CoordVec[2]\vecy%
+ \begin{pNiceMatrix}[#2] \ConversionFraction[\optvecx]{\vecx} \\ \ConversionFraction[\optvecy]{\vecy} \end{pNiceMatrix}%
+ }%
+ {}%
+ \xintifboolexpr{\CoordVeclen == 3}%
+ {%
+ \IfSubStr{#1}{;}%si l'option est globale...
+ {%
+ \setsepchar{;}\readlist*\OptVec{#1}%
+ \itemtomacro\OptVec[1]\optvecx%
+ \itemtomacro\OptVec[2]\optvecy%
+ \itemtomacro\OptVec[3]\optvecz%
+ }%
+ {%
+ \xdef\optvecx{#1}\xdef\optvecy{#1}\xdef\optvecz{#1}%
+ }%
+ \itemtomacro\CoordVec[1]\vecx%
+ \itemtomacro\CoordVec[2]\vecy%
+ \itemtomacro\CoordVec[3]\vecz%
+ \begin{pNiceMatrix}[#2] \ConversionFraction[\optvecx]{\vecx} \\ \ConversionFraction[\optvecy]{\vecy} \\ \ConversionFraction[\optvecz]{\vecz} \end{pNiceMatrix}%
+ }%
+ {}%
+}
+
+\NewDocumentCommand\AffPoint{ O{d} r() }{%
+ \setsepchar{,}
+ \readlist*\CoordPt{#2}%
+ \xintifboolexpr{\CoordPtlen == 2}%
+ {%
+ \IfSubStr{#1}{,}%si l'option est globale...
+ {%
+ \setsepchar{,}\readlist*\OptPt{#1}%
+ \itemtomacro\OptPt[1]\optptx%
+ \itemtomacro\OptPt[2]\optpty%
+ }%
+ {%
+ \xdef\optptx{#1}\xdef\optpty{#1}%
+ }%
+ \itemtomacro\CoordPt[1]\ptx%
+ \itemtomacro\CoordPt[2]\pty%
+ \left( \ConversionFraction[\optptx]{\ptx} ; \ConversionFraction[\optpty]{\pty} \right)%
+ }%
+ {}%
+ \xintifboolexpr{\CoordPtlen == 3}%
+ {%
+ \IfSubStr{#1}{,}%si l'option est globale...
+ {%
+ \setsepchar{,}\readlist*\OptPt{#1}%
+ \itemtomacro\OptPt[1]\optptx%
+ \itemtomacro\OptPt[2]\optpty%
+ \itemtomacro\OptPt[3]\optptz%
+ }%
+ {%
+ \xdef\optptx{#1}\xdef\optpty{#1}\xdef\optptz{#1}%
+ }%
+ \itemtomacro\CoordPt[1]\ptx%
+ \itemtomacro\CoordPt[2]\pty%
+ \itemtomacro\CoordPt[3]\ptz%
+ \left( \ConversionFraction[\optptx]{\ptx} ; \ConversionFraction[\optpty]{\pty} ; \ConversionFraction[\optptz]{\ptz} \right)%
+ }%
+ {}%
+}
+
+%%Équation paramétrique de droite
+\defKV[eqparamdroite]{%
+ OptionCoeffs=\def\eqparamdteformat{#1},%
+ Reel=\def\eqparamdtereel{#1}
+}
+
+\setKVdefault[eqparamdroite]{%
+ OptionCoeffs={d},%
+ Reel=k,%
+ Aligne=false,%
+ Oppose=false,%
+ Rgras=false
+}
+
+\NewDocumentCommand\AffVarDteParam{ m m }{%
+ \xdef\restmp{\ConversionFraction[\eqparamdteformat]{#1} \AffCoeffSgn[\eqcartdteformat]{#2}{\eqparamdtereel}}%
+ \xintifboolexpr{\xinteval{#1} == 0 'and' \xinteval{#2} == 0}{\xdef\restmp{0}}{}%
+ \xintifboolexpr{\xinteval{#1} == 0 'and' \xinteval{#2} != 0}{\xdef\restmp{\AffCoeffSgn*[\eqcartdteformat]{#2}{\eqparamdtereel}}}{}%
+ \restmp%
+}
+
+\NewDocumentCommand\AffVarDteParamAlign{ m m }{%
+ \xdef\restmp{\ConversionFraction[\eqparamdteformat]{#1} & \AffCoeffSgn[\eqcartdteformat]{#2}{\eqparamdtereel}}%
+ \xintifboolexpr{\xinteval{#1} == 0 'and' \xinteval{#2} == 0}{\xdef\restmp{0 & }}{}%
+ \xintifboolexpr{\xinteval{#1} == 0 'and' \xinteval{#2} != 0}{\xdef\restmp{ & \AffCoeffSgn*[\eqcartdteformat]{#2}{\eqparamdtereel}}}{}%
+ \restmp%
+}
+
+\NewDocumentCommand\TrouveEqParamDroite{ O{} r() r() }{%vect/point ou point/point
+ \restoreKV[eqparamdroite]% revenir au valeurs par défaut
+ \setKV[eqparamdroite]{#1}% lit les arguments optionnels
+ %on teste si c'est point/point
+ \IfSubStr{#2}{;}%c'est vecteur+point, sinon c'est point+point
+ {%
+ \setsepchar{;}\readlist*\CoordVec{#2}%
+ \setsepchar{,}\readlist*\CoordPt{#3}%
+ \itemtomacro\CoordVec[1]\vecdirx%
+ \itemtomacro\CoordVec[2]\vecdiry%
+ \itemtomacro\CoordVec[3]\vecdirz%
+ \itemtomacro\CoordPt[1]\xpta%
+ \itemtomacro\CoordPt[2]\ypta%
+ \itemtomacro\CoordPt[3]\zpta%
+ }%
+ {%
+ \setsepchar{,}\readlist*\CoordPtA{#2}%
+ \setsepchar{,}\readlist*\CoordPtB{#3}%
+ \itemtomacro\CoordPtA[1]\xpta%
+ \itemtomacro\CoordPtA[2]\ypta%
+ \itemtomacro\CoordPtA[2]\zpta%
+ \itemtomacro\CoordPtB[1]\xptb%
+ \itemtomacro\CoordPtB[2]\yptb%
+ \itemtomacro\CoordPtB[2]\zptb%
+ \ifboolKV[eqparamdroite]{Oppose}%
+ {%
+ \xdef\vecdirx{((\xpta)-(\xptb))}%
+ \xdef\vecdiry{((\ypta)-(\yptb))}%
+ \xdef\vecdirz{((\zpta)-(\zptb))}%
+ }%
+ {%
+ \xdef\vecdirx{((\xptb)-(\xpta))}%
+ \xdef\vecdiry{((\yptb)-(\ypta))}%
+ \xdef\vecdirz{((\zptb)-(\zpta))}%
+ }%
+ }%
+ \ifboolKV[eqparamdroite]{Aligne}%
+ {%
+ \left\lbrace\begin{array}{@{\,}l@{\;=\;}l@{\;}r}
+ x & \AffVarDteParamAlign{\xpta}{\vecdirx} \\
+ y & \AffVarDteParamAlign{\ypta}{\vecdiry} \\
+ z & \AffVarDteParamAlign{\zpta}{\vecdirz} \\
+ \end{array}\right.
+ \text{, } \eqparamdtereel \in \ifboolKV[eqparamdroite]{Rgras}{\textbf{R}}{\mathbb{R}}%
+ }%
+ {%
+ \begin{dcases}
+ x = \AffVarDteParam{\xpta}{\vecdirx} \\
+ y = \AffVarDteParam{\ypta}{\vecdiry} \\
+ z = \AffVarDteParam{\zpta}{\vecdirz} \\
+ \end{dcases}
+ \text{, } \eqparamdtereel \in \ifboolKV[eqparamdroite]{Rgras}{\textbf{R}}{\mathbb{R}}%
+ }%
+}
+
+\NewDocumentCommand\TrouveDistancePtPlan{ r() r() d() }{%pt+vect+pt
+ \IfNoValueTF{#3}%c'est Point + Equation // sinon c'est point + vectnorm + point
+ {%
+ \StrDel{#2}{=0}[\tmpeq]%
+ %%\tmpeq \text{ et }%
+ \setsepchar{,}\readlist*\CoordPtA{#1}%
+ \itemtomacro\CoordPtA[1]\xa%
+ \itemtomacro\CoordPtA[2]\ya%
+ \itemtomacro\CoordPtA[3]\za%.
+ %calcul de d
+ \StrSubstitute{\tmpeq}{x}{(0)}[\tmpcoeffd]%
+ \StrSubstitute{\tmpcoeffd}{y}{(0)}[\tmpcoeffd]%
+ \StrSubstitute{\tmpcoeffd}{z}{(0)}[\tmpcoeffd]%
+ \xdef\coeffd{\tmpcoeffd}%
+ %%d=\xinteval{\coeffd} \text{ et }%
+ %calcul de a
+ \StrSubstitute{\tmpeq}{x}{(1)}[\tmpcoeffa]%
+ \StrSubstitute{\tmpcoeffa}{y}{(0)}[\tmpcoeffa]%
+ \StrSubstitute{\tmpcoeffa}{z}{(0)}[\tmpcoeffa]%
+ \xdef\vectx{(\tmpcoeffa)-(\coeffd)}%
+ %%a=\xinteval{\vectx} \text{ et }%
+ %calcul de b
+ \StrSubstitute{\tmpeq}{x}{(0)}[\tmpcoeffb]%
+ \StrSubstitute{\tmpcoeffb}{y}{(1)}[\tmpcoeffb]%
+ \StrSubstitute{\tmpcoeffb}{z}{(0)}[\tmpcoeffb]%
+ \xdef\vecty{(\tmpcoeffb)-(\coeffd)}%
+ %%b=\xinteval{\vecty} \text{ et }%
+ %calcul de c
+ \StrSubstitute{\tmpeq}{x}{(0)}[\tmpcoeffc]%
+ \StrSubstitute{\tmpcoeffc}{y}{(0)}[\tmpcoeffc]%
+ \StrSubstitute{\tmpcoeffc}{z}{(1)}[\tmpcoeffc]%
+ \xdef\vectz{(\tmpcoeffc)-(\coeffd)}%
+ %c=\xinteval{\vectz} \text{ et }%
+ %calcul du numérateur
+ \StrSubstitute{\tmpeq}{x}{(\xa)}[\resnum]%
+ \StrSubstitute{\resnum}{y}{(\ya)}[\resnum]%
+ \StrSubstitute{\resnum}{z}{(\za)}[\resnum]%
+ %%\text{num}=\xinteval{\resnum} \text{ et }
+ %le carré
+ \xdef\restmp{(\resnum)**2/((\vectx)**2+(\vecty)**2+(\vectz)**2)}%
+ %%\text{resultatcarré}=\xinteval{\restmp} \text{ et }%
+ }%
+ {%
+ \setsepchar{,}\readlist*\CoordPtA{#1}%
+ \setsepchar{;}\readlist*\CoordVec{#2}%
+ \setsepchar{,}\readlist*\CoordPtB{#3}%
+ \itemtomacro\CoordPtA[1]\xa%
+ \itemtomacro\CoordPtA[2]\ya%
+ \itemtomacro\CoordPtA[3]\za%
+ \itemtomacro\CoordVec[1]\vectx%
+ \itemtomacro\CoordVec[2]\vecty%
+ \itemtomacro\CoordVec[3]\vectz%
+ \itemtomacro\CoordPtB[1]\xb%
+ \itemtomacro\CoordPtB[2]\yb%
+ \itemtomacro\CoordPtB[3]\zb%
+ \def\restmp{((\vectx)*((\xb)-(\xa))+(\vecty)*((\yb)-(\ya))+(\vectz)*((\zb)-(\za)))**2/((\vectx)**2+(\vecty)**2+(\vectz)**2)}%
+ }%
+ \SimplificationRacine{\restmp}%
+}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
index 270e99e3cc..2d7e0716e6 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex
@@ -14,53 +14,53 @@
\xintFloatToDecimal{\xintfloateval{binomial(#1,#3)*#2^#3*(1-#2)^(#1-#3)}}
}
\newcommand\CalcBinomC[4]{%npab
- \def\BorneInf{#3}\def\BorneSup{#4}
+ \def\BorneInf{#3}\def\BorneSup{#4}%
\ifthenelse{\equal{#3}{*}}%
- {\def\BorneInf{0}}
- {}
+ {\def\BorneInf{0}}%
+ {}%
\ifthenelse{\equal{#4}{*}}%
- {\def\BorneSup{#1}}
- {}
- \xintFloatToDecimal{\xintfloateval{add(binomial(#1,i)*#2^i*(1-#2)^(#1-i), i=\BorneInf..\BorneSup)}}
+ {\def\BorneSup{#1}}%
+ {}%
+ \xintFloatToDecimal{\xintfloateval{add(binomial(#1,i)*#2^i*(1-#2)^(#1-i), i=\BorneInf..\BorneSup)}}%
}
\newcommand\CalcGeomP[2]{%pk
- \xintFloatToDecimal{\xintfloateval{(1-#1)^(#2-1)*(#1)}}
+ \xintFloatToDecimal{\xintfloateval{(1-#1)^(#2-1)*(#1)}}%
}
\newcommand\CalcGeomC[3]{%pab
- \def\BorneInf{#2}\def\BorneSup{#3}
+ \def\BorneInf{#2}\def\BorneSup{#3}%
\ifthenelse{\equal{#2}{*}}%
- {\def\BorneInf{1}}
- {}
+ {\def\BorneInf{1}}%
+ {}%
\ifthenelse{\equal{#3}{*}}%
- {\def\BorneSup{\fpeval{trunc(1/#1*10,0)}}}
- {}
- \xintFloatToDecimal{\xintfloateval{add((1-#1)^(i-1)*(#1), i=\BorneInf..\BorneSup)}}
+ {\def\BorneSup{\fpeval{trunc(1/#1*10,0)}}}%
+ {}%
+ \xintFloatToDecimal{\xintfloateval{add((1-#1)^(i-1)*(#1), i=\BorneInf..\BorneSup)}}%
}
\newcommand\CalcHypergeomP[4]{%Nnmk
- \xintFloatToDecimal{\xintfloateval{binomial(#3,#4)*binomial(#1-#3,#2-#4)/binomial(#1,#2)}}
+ \xintFloatToDecimal{\xintfloateval{binomial(#3,#4)*binomial(#1-#3,#2-#4)/binomial(#1,#2)}}%
}
\newcommand\CalcHypergeomC[5]{%Nnmab
- \def\BorneInf{#4}\def\BorneSup{#5}
+ \def\BorneInf{#4}\def\BorneSup{#5}%
\ifthenelse{\equal{#4}{*}}%
- {\def\BorneInf{0}}
- {}
+ {\def\BorneInf{0}}%
+ {}%
\ifthenelse{\equal{#5}{*}}%
- {\def\BorneSup{#1}}
- {}
- \xintFloatToDecimal{\xintfloateval{add(binomial(#3,i)*binomial(#1-#3,#2-i)/binomial(#1,#2), i=\BorneInf..\BorneSup)}}
+ {\def\BorneSup{#1}}%
+ {}%
+ \xintFloatToDecimal{\xintfloateval{add(binomial(#3,i)*binomial(#1-#3,#2-i)/binomial(#1,#2), i=\BorneInf..\BorneSup)}}%
}
\newcommand\CalcPoissP[2]{%lk
- \xintFloatToDecimal{\xintfloateval{exp(-#1)*#1^#2/factorial(#2)}}
+ \xintFloatToDecimal{\xintfloateval{exp(-#1)*#1^#2/factorial(#2)}}%
}
\newcommand\CalcPoissC[3]{%lab
- \def\BorneInf{#2}\def\BorneSup{#3}
+ \def\BorneInf{#2}\def\BorneSup{#3}%
\ifthenelse{\equal{#2}{*}}%
- {\def\BorneInf{0}}
- {}
+ {\def\BorneInf{0}}%
+ {}%
\ifthenelse{\equal{#3}{*}}%
- {\def\BorneSup{10*#1}}
- {}
- \xintFloatToDecimal{\xintfloateval{add(exp(-#1)*#1^i/factorial(i), i=\BorneInf..\BorneSup)}}
+ {\def\BorneSup{10*#1}}%
+ {}%
+ \xintFloatToDecimal{\xintfloateval{add(exp(-#1)*#1^i/factorial(i), i=\BorneInf..\BorneSup)}}%
}
%utiles idée de https://tex.stackexchange.com/questions/355574/im-searching-for-a-table-with-cdf-of-standard-normal-distribution
\xintdeffloatvar a_1,a_2,a_3,a_4,a_5,a_6 :=
@@ -72,170 +72,170 @@
\newcommand\CalcNormC[4]{%msab
%def des bornes de l'intervalle suivant l'absence de a ou de b...
- \def\BorneInf{#3}\def\BorneSup{#4}
+ \def\BorneInf{#3}\def\BorneSup{#4}%
\ifthenelse{\equal{#3}{*}}%
- {\def\BorneInf{#4-10*#2}}
- {}
+ {\def\BorneInf{#4-10*#2}}%
+ {}%
\ifthenelse{\equal{#4}{*}}%
- {\def\BorneSup{#3+10*#2}}
- {}
- \xintFloatToDecimal{\xintfloateval{Phi((\BorneSup-#1)/#2)-Phi((\BorneInf-#1)/#2)}}
+ {\def\BorneSup{#3+10*#2}}%
+ {}%
+ \xintFloatToDecimal{\xintfloateval{Phi((\BorneSup-#1)/#2)-Phi((\BorneInf-#1)/#2)}}%
}
%calculs "simples" fiabilite
\newcommand\CalcExpoC[3]{%lab
\def\BorneInf{#2}\def\BorneSup{#3}
\ifthenelse{\equal{#2}{*}}%
- {\def\BorneInf{0}}
- {}
+ {\def\BorneInf{0}}%
+ {}%
\ifthenelse{\equal{#3}{*}}%
- {\def\BorneSup{100/#1}}
- {}
- \xintFloatToDecimal{\xintfloateval{exp(-#1*\BorneInf)-exp(-#1*\BorneSup)}}
+ {\def\BorneSup{100/#1}}%
+ {}%
+ \xintFloatToDecimal{\xintfloateval{exp(-#1*\BorneInf)-exp(-#1*\BorneSup)}}%
}
%calculs formatés
\NewDocumentCommand{\BinomP}{ s O{3} m m m }{%*=sci,2=prec,3=n,4=p,5=k
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(binomial(#3,#5)*#4^#5*(1-#4)^(#3-#5),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(binomial(#3,#5)*#4^#5*(1-#4)^(#3-#5),#2)}}}%
}%
{%
- \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(binomial(#3,#5)*#4^#5*(1-#4)^(#3-#5),#2)}}}
- }
+ \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(binomial(#3,#5)*#4^#5*(1-#4)^(#3-#5),#2)}}}%
+ }%
}
\NewDocumentCommand{\BinomC}{ s O{3} m m m m }{%*=sci,2=prec,3=n,4=p,5=a,6=b
- \def\BorneInf{#5}\def\BorneSup{#6}
+ \def\BorneInf{#5}\def\BorneSup{#6}%
\ifthenelse{\equal{#5}{*}}%
- {\def\BorneInf{0}}
- {}
+ {\def\BorneInf{0}}%
+ {}%
\ifthenelse{\equal{#6}{*}}%
- {\def\BorneSup{#3}}
- {}
+ {\def\BorneSup{#3}}%
+ {}%
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(add(binomial(#3,i)*#4^i*(1-#4)^(#3-i), i=\BorneInf..\BorneSup),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(add(binomial(#3,i)*#4^i*(1-#4)^(#3-i), i=\BorneInf..\BorneSup),#2)}}}%
}%
{%
- \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(add(binomial(#3,i)*#4^i*(1-#4)^(#3-i), i=\BorneInf..\BorneSup),#2)}}}
- }
+ \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(add(binomial(#3,i)*#4^i*(1-#4)^(#3-i), i=\BorneInf..\BorneSup),#2)}}}%
+ }%
}
\NewDocumentCommand{\GeomP}{ s O{3} m m }{%*=sci,2=prec,3=p,4=k
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round((1-#3)^(#4-1)*(#3),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round((1-#3)^(#4-1)*(#3),#2)}}}%
}%
{%
- \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round((1-#3)^(#4-1)*(#3),#2)}}}
- }
+ \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round((1-#3)^(#4-1)*(#3),#2)}}}%
+ }%
}
\NewDocumentCommand{\GeomC}{ s O{3} m m m }{%*=sci,2=prec,3=p,4=a,5=b
- \def\BorneInf{#4}\def\BorneSup{#5}
+ \def\BorneInf{#4}\def\BorneSup{#5}%
\ifthenelse{\equal{#4}{*}}%
- {\def\BorneInf{1}}
- {}
+ {\def\BorneInf{1}}%
+ {}%
\ifthenelse{\equal{#5}{*}}%
- {\def\BorneSup{\fpeval{trunc(1/#3*10,0)}}}
- {}
+ {\def\BorneSup{\fpeval{trunc(1/#3*10,0)}}}%
+ {}%
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(add((1-#3)^(i-1)*(#3), i=\BorneInf..\BorneSup),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(add((1-#3)^(i-1)*(#3), i=\BorneInf..\BorneSup),#2)}}}%
}%
{%
- \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(add((1-#3)^(i-1)*(#3), i=\BorneInf..\BorneSup),#2)}}}
+ \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(add((1-#3)^(i-1)*(#3), i=\BorneInf..\BorneSup),#2)}}}%
}
}
\NewDocumentCommand{\HypergeomP}{ s O{3} m m m m }{%*=sci,2=prec,3=N,4=n,5=m,6=k
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(binomial(#5,#6)*binomial(#3-#5,#4-#6)/binomial(#3,#4),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(binomial(#5,#6)*binomial(#3-#5,#4-#6)/binomial(#3,#4),#2)}}}%
}%
{%
- \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(binomial(#5,#6)*binomial(#3-#5,#4-#6)/binomial(#3,#4),#2)}}}
+ \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(binomial(#5,#6)*binomial(#3-#5,#4-#6)/binomial(#3,#4),#2)}}}%
}
}
\NewDocumentCommand{\HypergeomC}{ s O{3} m m m m m }{%*=sci,2=prec,3=N,4=n,5=m,6=a,7=b
- \def\BorneInf{#6}\def\BorneSup{#7}
+ \def\BorneInf{#6}\def\BorneSup{#7}%
\ifthenelse{\equal{#6}{*}}%
- {\def\BorneInf{0}}
- {}
+ {\def\BorneInf{0}}%
+ {}%
\ifthenelse{\equal{#7}{*}}%
- {\def\BorneSup{#3}}
- {}
+ {\def\BorneSup{#3}}%
+ {}%
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(add(binomial(#5,i)*binomial(#3-#5,#4-i)/binomial(#3,#4), i=\BorneInf..\BorneSup),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(add(binomial(#5,i)*binomial(#3-#5,#4-i)/binomial(#3,#4), i=\BorneInf..\BorneSup),#2)}}}%
}%
{%
\num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(add(binomial(#5,i)*binomial(#3-#5,#4-i)/binomial(#3,#4), i=\BorneInf..\BorneSup),#2)}}}
- }
+ }%
}
\NewDocumentCommand{\PoissonP}{ s O{3} m m }{%*=sci,2=prec,3=lbda,4=k
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(exp(-#3)*#3^#4/factorial(#4),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(exp(-#3)*#3^#4/factorial(#4),#2)}}}%
}%
{%
- \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(exp(-#3)*#3^#4/factorial(#4),#2)}}}
- }
+ \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(exp(-#3)*#3^#4/factorial(#4),#2)}}}%
+ }%
}
\NewDocumentCommand{\PoissonC}{ s O{3} m m m }{%*=ing,2=prec,3=lbda,4=a,5=b
- \def\BorneInf{#4}\def\BorneSup{#5}
+ \def\BorneInf{#4}\def\BorneSup{#5}%
\ifthenelse{\equal{#4}{*}}%
- {\def\BorneInf{0}}
- {}
+ {\def\BorneInf{0}}%
+ {}%
\ifthenelse{\equal{#5}{*}}%
- {\def\BorneSup{10*#3}}
- {}
+ {\def\BorneSup{10*#3}}%
+ {}%
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(add(exp(-#3)*#3^i/factorial(i), i=\BorneInf..\BorneSup),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(add(exp(-#3)*#3^i/factorial(i), i=\BorneInf..\BorneSup),#2)}}}%
}%
{%
- \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(add(exp(-#3)*#3^i/factorial(i), i=\BorneInf..\BorneSup),#2)}}}
- }
+ \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(add(exp(-#3)*#3^i/factorial(i), i=\BorneInf..\BorneSup),#2)}}}%
+ }%
}
\NewDocumentCommand{\NormaleC}{ s O{3} m m m m }{%
%*=ing,2=prec,3=mu,4=sigma,5=a,6=b
%def des bornes de l'intervalle suivant l'absence de a ou de b...
- \def\BorneInf{#5}\def\BorneSup{#6}
+ \def\BorneInf{#5}\def\BorneSup{#6}%
\ifthenelse{\equal{#5}{*}}%
- {\def\BorneInf{#6-10*#4}}
- {}
+ {\def\BorneInf{#6-10*#4}}%
+ {}%
\ifthenelse{\equal{#6}{*}}%
- {\def\BorneSup{#5+10*#4}}
- {}
+ {\def\BorneSup{#5+10*#4}}%
+ {}%
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(Phi((\BorneSup-#3)/#4)-Phi((\BorneInf-#3)/#4),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(Phi((\BorneSup-#3)/#4)-Phi((\BorneInf-#3)/#4),#2)}}}%
}%
{%
- \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(Phi((\BorneSup-#3)/#4)-Phi((\BorneInf-#3)/#4),#2)}}}
- }
+ \num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintfloateval{round(Phi((\BorneSup-#3)/#4)-Phi((\BorneInf-#3)/#4),#2)}}}%
+ }%
}
\NewDocumentCommand{\ExpoC}{ s O{3} m m m }{%*=ing,2=prec,3=lbda,4=a,5=b
- \def\BorneInf{#4}\def\BorneSup{#5}
+ \def\BorneInf{#4}\def\BorneSup{#5}%
\ifthenelse{\equal{#4}{*}}%
- {\def\BorneInf{0}}
- {}
+ {\def\BorneInf{0}}%
+ {}%
\ifthenelse{\equal{#5}{*}}%
- {\def\BorneSup{100/#3}}
- {}
+ {\def\BorneSup{100/#3}}%
+ {}%
\IfBooleanTF{#1}%
{%
- \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(exp(-#3*\BorneInf)-exp(-#3*\BorneSup),#2)}}}
+ \num[exponent-mode=scientific]{\xintFloatToDecimal{\xintfloateval{round(exp(-#3*\BorneInf)-exp(-#3*\BorneSup),#2)}}}%
}%
{%
\num[minimum-decimal-digits=#2]{\xintFloatToDecimal{\xintFloatToDecimal{\xintfloateval{round(exp(-#3*\BorneInf)-exp(-#3*\BorneSup),#2)}}}}
- }
+ }%
}
%%------ARBRESPROBAS
diff --git a/macros/latex/contrib/yb-book/LICENSE.txt b/macros/latex/contrib/yb-book/LICENSE.txt
index bd949ffdab..5744f745f0 100644
--- a/macros/latex/contrib/yb-book/LICENSE.txt
+++ b/macros/latex/contrib/yb-book/LICENSE.txt
@@ -1,6 +1,6 @@
(The MIT License)
-Copyright (c) 2021-2022 Yegor Bugayenko
+Copyright (c) 2021-2023 Yegor Bugayenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
diff --git a/macros/latex/contrib/yb-book/yb-book.dtx b/macros/latex/contrib/yb-book/yb-book.dtx
index 2ca33cb55e..49953412a4 100644
--- a/macros/latex/contrib/yb-book/yb-book.dtx
+++ b/macros/latex/contrib/yb-book/yb-book.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% (The MIT License)
%
-% Copyright (c) 2021-2022 Yegor Bugayenko
+% Copyright (c) 2021-2023 Yegor Bugayenko
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the 'Software'), to deal
@@ -50,11 +50,13 @@
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{yb-book}
%<*class>
-[02.10.2022 0.2.0 YB Branded Book Style]
+[19.05.20230 0.2.1 YB Branded Book Style]
%</class>
%<*driver>
\documentclass{ltxdoc}
\usepackage[tt=false, type1=true]{libertine}
+\usepackage{microtype}
+\AddToHook{env/verbatim/begin}{\microtypesetup{protrusion=false}}
\usepackage{href-ul}
\usepackage{graphicx}
\PageIndex
@@ -426,19 +428,18 @@ Hello, world!
\fancyhf{}
\fancyhead[L,C,LO,CO]{}
\fancyhead[R,RO]{
- \begin{textblock}{4}(11.5,1)\begin{tikzpicture}
- \node [color=gray, rotate=270,
- font=\ttfamily\scriptsize, text width=5in] at (0,0) {
+ \begin{textblock}{4}(11.5,1)
+ \tikz \node [color=gray, rotate=270,font=\ttfamily\scriptsize, text width=5in] at (0,0) {
Copyright \textcopyright{} \the\year{} by \theauthor{}.
All rights reserved. No part of the contents of
this book may be reproduced or transmitted in any
form or by any means without the written permission
of the publisher. This particular manuscript is
- printed for \textbf{\thereviewer}} and may be used only
+ printed for \textbf{\thereviewer{}} and may be used only
for one-time review. The manuscript has to be destroyed
after the review.
- };
- \end{tikzpicture}\end{textblock}
+ }
+ \end{textblock}
}
\fancyfoot[C,CO]{\small\ttfamily
page \#\thepage{} of \pageref{LastPage}}
diff --git a/macros/latex/contrib/yb-book/yb-book.ins b/macros/latex/contrib/yb-book/yb-book.ins
index a84a03f901..e72072dbba 100644
--- a/macros/latex/contrib/yb-book/yb-book.ins
+++ b/macros/latex/contrib/yb-book/yb-book.ins
@@ -1,6 +1,6 @@
%% (The MIT License)
%%
-%% Copyright (c) 2021-2022 Yegor Bugayenko
+%% Copyright (c) 2021-2023 Yegor Bugayenko
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@
\preamble
(The MIT License)
-Copyright (c) 2021-2022 Yegor Bugayenko
+Copyright (c) 2021-2023 Yegor Bugayenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
@@ -48,8 +48,8 @@ SOFTWARE.
\endpreamble
\generate{\file{yb-book.cls}{\from{yb-book.dtx}{class}}}
\obeyspaces
-\Msg{*** To finish the installation you have to move the ".cls"}
-\Msg{*** file into a directory searched by TeX. To produce the}
-\Msg{*** documentation run the file ".dtx" through LaTeX. If any}
-\Msg{*** questions, submit a new GitHub issue.}
+\Msg{To finish the installation you have to move the ".cls"}
+\Msg{file into a directory searched by TeX. To produce the}
+\Msg{documentation run the file ".dtx" through LaTeX. If any}
+\Msg{questions, submit a new GitHub issue.}
\endbatchfile
diff --git a/macros/latex/contrib/yb-book/yb-book.pdf b/macros/latex/contrib/yb-book/yb-book.pdf
index fa56f44647..e12566d90c 100644
--- a/macros/latex/contrib/yb-book/yb-book.pdf
+++ b/macros/latex/contrib/yb-book/yb-book.pdf
Binary files differ
diff --git a/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-en.pdf b/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-en.pdf
index 2d5f69eee7..bb2e114efa 100644
--- a/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-en.pdf
+++ b/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-jp.pdf b/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-jp.pdf
index 6904c4cb63..6b3e9f7d33 100644
--- a/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-jp.pdf
+++ b/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-jp.pdf
Binary files differ
diff --git a/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-sc.pdf b/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-sc.pdf
index 69db69322e..36b355f26f 100644
--- a/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-sc.pdf
+++ b/macros/luatex/generic/evangelion-jfm/Eva-JFM_doc-sc.pdf
Binary files differ
diff --git a/macros/luatex/generic/evangelion-jfm/Evangelion-JFM.dtx b/macros/luatex/generic/evangelion-jfm/Evangelion-JFM.dtx
index 586c4664c0..6a67de23a0 100644
--- a/macros/luatex/generic/evangelion-jfm/Evangelion-JFM.dtx
+++ b/macros/luatex/generic/evangelion-jfm/Evangelion-JFM.dtx
@@ -78,7 +78,7 @@
pdfkeywords = {Japanese Font Metric},
pdfstartview = FitV
}
-\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
+\long\def\feature#1#2#3{{\vskip8pt\vbox{\normalsize\parindent=\zw\hangindent=2\zw\rightskip=2\zw\texttt{#1 --> ({\itshape #2\/})}\\\indent#3\par}}}
\def\meta#1{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}}
%<sc,ja>\def\空{\quad}
%<sc,ja>\def\段{\par}
@@ -98,20 +98,22 @@
\begin{abstract}
%<sc> 本文档将介绍名为Evangelion Japanese Font Metric(下简称为``\textsf{Eva-JFM}'')的JFM文件。其适用于简体中文(以下简称为「简中」)、繁体中文(以下简称为「繁中」)及日文字体的横直排。旨在提供一个充分利用\LuaTeX-ja的\texttt{priority}特性,基于标准\cite{jlreq}的同时,支持一些罕用特性的JFM文件。文档暂使用中文及西文撰写。
-%<ja> 本ドキュメントは、高品質な中国語および日本語のドキュメントを組版するための日本語フォントメトリック「Evangelion Japanese Font Metric(以下「Eva-JFM」とする)」を紹介するものです。このメトリックは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォントとともに使用できます。これは、\LuaTeX-ja で提供される優先機能を最大限に活用するフォントメトリックを提供し、標準\cite{jlreq}に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすることを目的としています。\段
+%<ja> 本ドキュメントは、高品質な中国語および日本語のドキュメントを組版するための日本語フォントメトリック「Evangelion Japanese Font Metric(以下「\textsf{Eva-JFM}」とする)」を紹介するものです。このメトリックは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォントとともに使用できます。これは、\LuaTeX-ja で提供される優先機能を最大限に活用するフォントメトリックを提供し、標準\cite{jlreq}に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすることを目的としています。\段
%<ja> 本ドキュメントは、完全なものではありません。文法的な(および文脈的な)エラーが多数含まれている可能性があります。
%<en> This documentation is going to introduce Evangelion Japanese Font Metric (hereinafter referred to as ``\textsf{Eva-JFM}''), a Japanese Font Metric for typesetting high quality Chinese and Japanese documents. It can be used with Traditional Chinese, Simplified Chinese and Japanese fonts for both vertically and horizontally typesetted texts. It aims to provide a font metric which makes full use of the \texttt{priority} feature (provided by \textsf{\LuaTeX-ja}), bases on the standard~\cite{jlreq}, and supports some advanced (a.k.a., rarely-used) features. The documentation is now written in both Chinese and English.\par
%<en> This documentation is far from complete. It may have many grammatical (and contextual) errors.
\end{abstract}
+\tableofcontents
+
%<sc>\section{背景及略介}
%<ja>\section{背景情報と簡単な紹介}
%<en>\section{Background Information and a Rough Introduction}
%<sc>\TeX{}是高德纳教授于20世纪末开发的强大排版引擎,能够完全满足西文排版的需求。然因时代局限性\footnote{如没有事实上的统一字符编码等。}以及客观原因\footnote{如中日字符集较大,以及书写方式的不同(纵书、横书),标点等。}对中日排版支持十分有限。为达成中日排版需求,在宏扩展(如\textsf{CJK}等)之外出现了引擎扩展。影响力较大的是\pTeX{}系列。\段
-%<ja>{\TeX}は「美しい本の制作」を目的とした強力な組版システムであり、英語ベースのテキストの組版には完全に対応しています。しかし、CJテキストのサポートは限られています\footnote{おそらく普遍的に認められたCJ文字セット標準やエンコーディングシステムが存在しなかったためかもしれません}。{\TeX}でCJテキストを扱うために、マクロ拡張(\textsf{CJK}など)やエンジン拡張が開発されました。最も影響力のあるものの1つが{\pTeX}(シリーズ)です。\段
+%<ja>{\TeX}は「美しい本の制作」を目的とした強力な組版システムであり、英語ベースのテキストの組版には完全に対応しています。しかし、CJテキストのサポートは限られています\footnote{おそらく普遍的に認められたCJ文字セット標準やエンコーディングシステムが存在しなかったためかもしれません。}。{\TeX}でCJテキストを扱うために、マクロ拡張(\textsf{CJK}など)やエンジン拡張が開発されました。最も影響力のあるものの1つが{\pTeX}(シリーズ)です。\段
%<en>{\TeX} is a powerful typesetting system ``intended for the creation of beautiful books'', it has full support for typesetting English based texts. However, its support for CJ text is limited\footnote{Maybe because there was no universally recognized or accepted CJ character set standard as well as an encoding system.}. For handling CJ texts in {\TeX}, both macro extensions (i.e., \textsf{CJK}) and engine extensions were developed. One of the most influential one is (the) {\pTeX} (series).\par
%<sc>\pTeX{}系列采用虚拟字体的理念,使用\texttt{TFM/VF}映射TrueType或OpenType字体完成排版。其不支持宏配置字体,也不支持直接生成PDF格式文件。但可以满足日本的传统横纵排版需求(工业标准)。\段
-%<ja>{\pTeX}は仮想フォント方式を使用し、TrueTypeやOpenTypeフォントを\texttt{TFM/VF}ファイルを使ってマッピングします。マクロを介したフォント設定には対応せず、PDF形式の出力にも対応していません。その利点は、伝統的な日本語のタイポグラフィレイアウト要件を扱うための証明済みの能力にあります。
+%<ja>{\pTeX}は仮想フォント方式を使用し、TrueTypeやOpenTypeフォントを\texttt{TFM/VF}ファイルを使ってマッピングします。マクロを介したフォント設定には対応せず、PDF形式の出力にも対応していません。その利点は、伝統的な日本語のタイポグラフィレイアウト要件を扱うための証明済みの能力にあります。\段
%<en>{\pTeX} uses a virtual font scheme, by mapping TrueType or OpenType fonts using \texttt{TFM/VF} files. It doesn't support font configuration through macros, and has no support for PDF format output. Its advantage is the proven ability for dealing with traditional Japanese typographic layout requirements.\par
%<sc>\pdfTeX{}则是当时另一个\TeX{}的引擎扩展,支持不经DVI格式直接输出PDF格式的文件。然对Unicode(字符编码)及TrueType、OpenType(「现代」矢量字体格式)的支持繁琐或有限。\段
%<ja>{\pdfTeX}は、PDFファイルを直接出力できる{\TeX}エンジンの拡張です(その名の通り)。ただし、Unicodeや現代のフォント形式(TrueTypeやOpenTypeベクターフォント形式)に対するサポートは限定的です。\段
@@ -172,7 +174,7 @@
\ltjenableadjust[priority = true]
\end{lstlisting}
%<sc>(注意需要调用支持直书的文档类或使用\texttt{\string\tate}命令)。\LuaTeX-ja的JFM语法为:
-%<ja>\indent 上記は、縦書きの伝統的な中国語フォントを使用して縦書きのテキストを組版する例です。注意が必要ですが、縦書きのテキストをサポートするドキュメントクラスを読み込むか、\texttt{\string\tate}コマンドを使用する必要があります。\LuaTeX-jaのJFM構文は、次のようになります。
+%<ja>\indent 上記は、縦書きの伝統的な中国語フォントを使用して縦書きのテキストを組版する例です。注意が必要ですが、縦書きのテキストをサポートするドキュメントクラスを読み込むか、\texttt{\string\tate}コマンドを使用する必要があります。\LuaTeX-jaのJFM構文は、次のようになります
%<en>(and be aware that you need to load a document class which supports vertical typesetting or use the \texttt{\string\tate} command. \LuaTeX-ja's JFM syntax is the above
\begin{lstlisting}
jfm = §\meta{JFM name}§/{§\meta{JFM features}§}
@@ -184,7 +186,7 @@
\setmainjfont{§\meta{font name}§}[Language = §\meta{language name}§, §\meta{dir}§ = {JFM = §\meta{JFM name}§/{§\meta{JFM features}§}}]
\end{lstlisting}
%<sc>其中,\meta{font name}自然为需要的字体名称。\meta{language name}在使用日文字体时可忽略,而使用简中、繁中字体时为必填\footnote{简中填\texttt{Chinese Simplified},繁中填\texttt{Chinese Traditional}即可。},因\LuaTeX-ja会默认将其覆盖为\texttt{Japanese}选项,而这会带来灾难性的后果\footnote{比如错误的标点位置:日文为冒号及分号中置、其余偏靠,简中是全部偏靠,而繁中则是统统中置。}。\meta{dir}选填\texttt{TateFeatures}(直书)或\texttt{YokoFeatures}(横书)。其后的\meta{JFM name}为调用JFM的文件名\footnote{\LuaTeX-ja会依\texttt{jfm-\meta{JFM name}.lua}的格式来查找该文件。}。最后的\meta{JFM features}选项为选择使用的JFM特性,详细请看第\ref{sec:feat}章。\段
-オプションの\meta{font name}は、文書のメインフォントとして指定したいフォントの名前です。日本語のフォントを使用する場合、\meta{language name}は自動的に\LuaTeX-jaによって補完されるため、無視してください。この場合、伝統的な中国語フォントには\texttt{Chinese Traditional}、簡体字中国語フォントには\texttt{Chinese Simplified}を指定する必要があります(これを指定しないと、出力が間違った細部、例えば句読点の形状と方向が変わってしまう可能性があります)。\meta{dir}は、縦書きの場合は\meta{TateFeatures}、横書きの場合は\texttt{YokoFeatures}に設定します。JFMの名前は\meta{JFM features}オプションで指定します\footnote{\LuaTeX-jaは\texttt{jfm-\meta{JFM name}.lua}という方法でJFMファイルを検索します。}。最後に、\meta{JFM features}キーにJFMの特徴を入力してください。これらは、セクション\ref{sec:feat}で説明されています。
+%<ja>オプションの\meta{font name}は、文書のメインフォントとして指定したいフォントの名前です。日本語のフォントを使用する場合、\meta{language name}は自動的に\LuaTeX-jaによって補完されるため、無視してください。この場合、伝統的な中国語フォントには\texttt{Chinese Traditional}、簡体字中国語フォントには\texttt{Chinese Simplified}を指定する必要があります(これを指定しないと、出力が間違った細部、例えば句読点の形状と方向が変わってしまう可能性があります)。\meta{dir}は、縦書きの場合は\texttt{TateFeatures}、横書きの場合は\texttt{YokoFeatures}に設定します。JFMの名前は\meta{JFM features}オプションで指定します\footnote{\LuaTeX-jaは\texttt{jfm-\meta{JFM name}.lua}という方法でJFMファイルを検索します。}。最後に、\meta{JFM features}キーにJFMの特徴を入力してください。これらは、セクション\ref{sec:feat}で説明されています。
%<en>Option \meta{font name} is the font (that you'd like to specify as the main font for your document)'s name. When using Japanese fonts, simply ignore the \meta{language name} since \LuaTeX-ja will automatically fill it for you. In this case, filling \texttt{Chinese} \texttt{Traditional} for Traditional Chinese fonts and \texttt{Chinese} \texttt{Simplified} for Simplified Chinese fonts is necessary\footnote{Without this, your output may result in wrong details, for instance wrong punctuation shape \& direction.}. \meta{dir} should be \texttt{TateFeatures} when typeset vertically and \texttt{YokoFeatures} for typesetting horizontally accordingly. The JFM's name is specified by the \meta{JFM name} option\footnote{\LuaTeX-ja searchs for a JFM file following the method \texttt{jfm-\meta{JFM name}.lua}.}. Finally, for the \meta{JFM features} key, fill in the JFM features. They are described in section \ref{sec:feat}.\par
%<sc>对于进阶用户,也推荐用
%<ja>上級ユーザーの場合、以下を使用することをお勧めします
@@ -299,6 +301,11 @@
%<en> This one ignores the standard priority rules for punctuation kerning. While Japanese text layout requirement~\cite{jlreq} suggests that the priority for the period should be higher than the comma (which means the period is easier to stretch), this makes the comma's priority higher than the preiod's. Only works when \textsf{luatexja-adjust}'s priority feature is enabled (set to \texttt{true}).
}
%<sc>\footnotetext{考虑逗号、句号在文字系统中占的重量,以及「开明」压缩风格。}
+\feature{plain}{PLAIN punct kerning style}{%
+%<sc> 不进行任何标点压缩。为程式码抄录环境而设(因为默认\texttt{verbatim}环境中也会有标点压缩,有时会很难看)。建议使用该环境提供的钩子调用。
+%<ja> 句読点間隔の調整は実行しません,\texttt{verbatim}環境のために設計された。提供されたフックで使用することをお勧めします。
+%<en> Disables the performance of spaceing adjustment for any of the puncts. Designed to be used in the verbatim environment. Developers can use the hook provided by that environment to specify this feature.
+}
%<sc>\section{行間標點特性}
%<ja>\section{行間句読点機能}
@@ -435,10 +442,11 @@
\bibitem{evang} 庵野秀明. \newblock 新世紀エヴァンゲリオン.
\end{thebibliography}
-%<sc>\section*{程式碼}
-%<en>\section*{Implementation}
-%<sc>以下为\texttt{jfm-eva.lua}文件内容,供参考。%及二次开发等。
-%<en>The above is the implementation of this font metric. Can be used for reference.
-\lstinputlisting{jfm-eva.lua}
+%<ignore>\section*{程式碼}
+%<ignore>\section*{実装}
+%<ignore>\section*{Implementation}
+%<ignore>以下为\texttt{jfm-eva.lua}文件内容,供参考。%及二次开发等。
+%<ignore>The above is the implementation of this font metric. Can be used for reference.
+%<ignore>\lstinputlisting{jfm-eva.lua}
\end{document}
diff --git a/macros/luatex/generic/evangelion-jfm/README.md b/macros/luatex/generic/evangelion-jfm/README.md
index 4f60a8fb36..4141648b7b 100644
--- a/macros/luatex/generic/evangelion-jfm/README.md
+++ b/macros/luatex/generic/evangelion-jfm/README.md
@@ -8,11 +8,11 @@
本项目已上传至[CTAN](https://www.ctan.org/pkg/evangelion-jfm)。
-このメトリッ クは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォント とともに使用できます。これは、LuaTeX-jaで提供される優先機能を最大限に活用するフォントメトリックを提供し、標準に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすること を目的としています。
+このメトリックは、縦書きと横書きの両方のテキストに対して、従来の中国語、簡体字中国語、および日本語のフォント とともに使用できます。これは、LuaTeX-jaで提供される優先機能を最大限に活用するフォントメトリックを提供し、標準に基づき、一部の高度な(すなわち、めったに使用されない)機能をサポートすることを目的としています。
より多くの情報は[ドキュメント](Eva-JFM_doc-jp.pdf)を見てください。
-それは[CTAN](https://www.ctan.oeg/pkg/evangelion-jfm)にアップロードされました。
+それは[CTAN](https://www.ctan.org/pkg/evangelion-jfm)にアップロードされました。
`Eva-JFM` is a JFM file which aims to support 'linegap puncutations', 'scaled font' and more features under LuaTeX-ja. It can be used with Traditional Chinese, Simplified Chinese and Japanese fonts, supporting vertical typesetting, making full-use of the `priority` feature, and added special support for Traditional Chinese font. It's based on jlreq, and insipered by `min10.tfm`. All its nine features are embeded into one single file `jfm-eva.lua` to simplify the using.
@@ -40,12 +40,24 @@ This package is also available on [CTAN](https://www.ctan.org/pkg/evangelion-jfm
- 忽略标准 非標準 Non-standard
+- 原始 調整なし Plain
+
## 状态・現在のバージョン・Current Version
-`Ver 1.0.3 (c)`
+`Ver 1.0.4 (e)`
## 历史・変更ログ・Changelog
+- 2023.5.19 Ver 1.0.4 (e): update japanese documentation and README.
+
+- 2023.5.17 Ver 1.0.4 (c): sync the documentation (en&sc) for the new feature.
+
+- 2023.5.16 Ver 1.0.4 (b): trobble with error handling is fixed (i hope).
+
+- 2023.5.14 Ver 1.0.4 (a): add feature `plain` for verbatim environments.
+
+- 2023.5.5 Ver 1.0.3 (d): revised code and documentation.
+
- 2023.4.26 Ver 1.0.3 (c): jp doc (fin).
- 2023.4.25 Ver 1.0.3 (b): jp doc (mid).
diff --git a/macros/luatex/generic/evangelion-jfm/jfm-eva.lua b/macros/luatex/generic/evangelion-jfm/jfm-eva.lua
index f4cb29e67f..632b4a85d7 100644
--- a/macros/luatex/generic/evangelion-jfm/jfm-eva.lua
+++ b/macros/luatex/generic/evangelion-jfm/jfm-eva.lua
@@ -1,11 +1,11 @@
---- Evangelion Japanese Font Metric for LuaTeX
----- Current Version: 1.0.3 (c)
+---- Current Version: 1.0.4 (e)
---- Dev URL: https://github.com/RadioNoiseE/Evangelion-JFM
---- Copyright 2023, RadioNoiseE ©
-- 初始化
-local lang_jp, lang_tc, lang_sc, dir_vt, font_extd, punc_lg, punc_hg, std_nil, al_hw, al_fw
+local lang_jp, lang_tc, lang_sc, dir_vt, font_extd, punc_lg, punc_hg, std_nil, al_hw, al_fw, as_nil
if luatexja.jfont.jfm_feature then
lang_jp = luatexja.jfont.jfm_feature.jp
@@ -18,30 +18,36 @@ if luatexja.jfont.jfm_feature then
std_nil = luatexja.jfont.jfm_feature.nstd
al_hw = luatexja.jfont.jfm_feature.hwid
al_fw = luatexja.jfont.jfm_feature.fwid
+ as_nil = luatexja.jfont.jfm_feature.plain
end
-- 預處理及容錯
if font_extd == true and dir_vt == false then
tex.error('JFM feature "extd" only works with feature "vert".\n' ..
'For now I\'ll ignore it.')
+ luatexja.jfont.jfm_feature["extd"] = nil
end
if punc_lg == true and dir_vt == false then
tex.error('JFM feature "lgp" only works with feature "vert".\n' ..
'For now I\'ll ignore it.')
+ luatexja.jfont.jfm_feature["lgp"] = nil
end
if al_hw == true and al_fw == true then
tex.error('JFM feature "hwid" cannot be used with "fwid".')
+ luatexja.jfont.jfm_feature["hwid"] = nil
+ luatexja.jfont.jfm_feature["fwid"] = nil
end
if not ((lang_jp and not (lang_tc or lang_sc)) or
- (lang_tc and not (lang_jp or lang_sc)) or
- (lang_sc and not (lang_jp or lang_tc))) then
+ (lang_tc and not (lang_jp or lang_sc)) or
+ (lang_sc and not (lang_jp or lang_tc))) then
tex.error('Specify one and only one feature from three language specific features\n' ..
'"jp", "trad" or "smpl"\n' ..
'is required.\n' ..
'For now I\'ll use "lang_jp" for japanese by default.')
+ luatexja.jfont.jfm_feature["hwid"] = nil
end
-- 壓縮比例設定
@@ -54,13 +60,13 @@ local lgp_kanjiskip = {kanjiskip_natural = 0, kanjiskip_stretch = 1, kanjiskip_s
-- 定義函數宏
local function logic_anif(f1, f2, r1, r2)
- local rta = f1 and (f2 and r1) or r2
- return rta
+ local rta = f1 and (f2 and r1) or r2
+ return rta
end
local function logic_if(f1, r1, r2)
- local rti = f1 and r1 or r2
- return rti
+ local rti = f1 and r1 or r2
+ return rti
end
local function context_height()
@@ -426,4 +432,11 @@ if al_fw == false and al_fw == true then
eva[10].width = 1
end
+if sa_nil == true then
+ for _, catnum in ipairs({1, 101, 102, 2, 201, 202, 3, 301, 302, 4, 5, 6, 7, 8, 9, 10, 11}) do
+ eva[catnum] = nil
+ end
+ eva[0].glue = {}
+end
+
luatexja.jfont.define_jfm(eva)
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index 02e9e5d0c1..fa11893bab 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,9 @@
+2023-05-19 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-4ht.tex (spanish.4ht): fixed clash between Spanish Babel
+ and MathML operators.
+ https://puszcza.gnu.org.ua/bugs/index.php?601
+
2023-05-18 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-4ht.tex (cleveref.4ht): don't include punctuation in links
diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex
index 37cefd1942..9897eaabe5 100644
--- a/support/TeX4ht/source/tex4ht-4ht.tex
+++ b/support/TeX4ht/source/tex4ht-4ht.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1332 2023-05-18 14:17:52Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1333 2023-05-19 21:43:37Z michal_h21 $
% tex tex4ht-4ht or ht tex tex4ht-4ht
%
% Copyright 2009-2023 TeX Users Group
@@ -40809,7 +40809,7 @@ Declarationf for Cyrillics characters are loaded with XeLaTeX
\<spanish.4ht\><<<
% spanish.4ht (|version), generated from |jobname.tex
-% Copyright 2021 TeX Users Group
+% Copyright 2021-2023 TeX Users Group
|<TeX4ht license text|>
|<spanish defs|>
\Hinput{spanish}
@@ -40945,7 +40945,10 @@ in Spanish babel.
\<spanish defs\><<<
\let\orig:nolimits\nolimits
\let\nolimits\o:nolimits:
-\AtBeginDocument{\let\nolimits\orig:nolimits}
+\AtBeginDocument{
+ \let\nolimits\orig:nolimits
+ \let\es@operators\relax
+}
>>>
% \def\@text@composite#1#2#3\@text@composite{%
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 354cf479a8..85f6db83c1 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -76,6 +76,9 @@ $mirrors = {
'http://ftp.cvut.cz/tex-archive/' => 1,
'https://mirrors.nic.cz/tex-archive/' => 1,
},
+ 'Denmark' => {
+ 'https://mirrors.dotsrc.org/ctan/' => 1,
+ },
'Finland' => {
'https://www.nic.funet.fi/pub/TeX/CTAN/' => 1,
'https://www.texlive.info/CTAN/' => 1,
@@ -161,9 +164,9 @@ $mirrors = {
},
'Sweden' => {
'https://ftp.acc.umu.se/mirror/CTAN/' => 1,
- 'https://ftpmirror1.infania.net/mirror/CTAN/' => 1,
},
'Switzerland' => {
+ 'https://mirror.foobar.to/CTAN/' => 1,
'https://mirror.init7.net/ctan/' => 1,
'https://mirror.metanet.ch/tex-archive/' => 1,
},
@@ -195,6 +198,7 @@ $mirrors = {
'https://mirror.las.iastate.edu/tex-archive/' => 1,
'https://mirror.math.princeton.edu/pub/CTAN/' => 1,
'https://mirror.mwt.me/ctan/' => 1,
+ 'https://mirror2.sandyriver.net/pub/ctan/' => 1,
'https://mirrors.mit.edu/CTAN/' => 1,
'https://mirrors.rit.edu/CTAN/' => 1,
},
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 27b09c4205..2c158128e8 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/67151
+depend revision/67165
name 00texlive.image
category TLCore
@@ -4744,7 +4744,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 67144
+revision 67153
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -88427,7 +88427,7 @@ catalogue-version 1.1.0
name cweb
category Package
-revision 67120
+revision 67159
catalogue cwebbin
shortdesc CWEB for ANSI-C/C++ compilers
longdesc A highly portable and extended version of Levy/Knuth CWEB 3.64c
@@ -88446,9 +88446,9 @@ longdesc 2019 CTAN no longer holds a copy of this material. Please go to
longdesc the package's github repository for more information.
depend cweb.ARCH
containersize 24376
-containerchecksum 2109ddd60dab844aabb78b00a7a5804089c31cd62bf4ce1a8248ac6650d487e8694edaa685522530042b8756238fcdc358ce1c22aa7763c9dc44787b91977d24
-doccontainersize 73548
-doccontainerchecksum 806fa012f4e1fd55dc07edbbc2e45e3f6d2428027177d6e9d51a25c4ae97fe36661d0c6ead073733cdd969776da82b979fcd18762b7e8f7dcfdaa4e98dd6885f
+containerchecksum 7267b5e521869e25e5ea686cf0135886d9eebc878e6e854c5f39b9b8c9768be307022e9ee998d68f53a36d36050c5786bca9c826a1c8445e88f36e019b639a07
+doccontainersize 73552
+doccontainerchecksum 60e3e437e1f2a53a14d73aff85dd5ab3acc969061785ba79623f076c689d277053aa9be959261fbc53fea33f5f3aaed70de73c62b4cc249e018067fc1e814aa3
docfiles size=64
texmf-dist/doc/man/man1/ctangle.1
texmf-dist/doc/man/man1/ctangle.man1.pdf
@@ -115638,7 +115638,7 @@ runfiles size=40
name evangelion-jfm
category Package
-revision 67048
+revision 67164
shortdesc A Japanese font metric supporting many advanced features
relocated 1
longdesc This package provides a Japanese Font Metric supporting
@@ -115648,11 +115648,11 @@ longdesc using traditional ('tc') and simplified ('sc') Chinese or
longdesc Japanese fonts under LuaTeX-ja. It also makes full use of the
longdesc 'priority' feature, meeting the standards, and allows easy
longdesc customisation.
-containersize 3204
-containerchecksum 5613012e4bd91f6b1620d12e66b391996728afcf1f5a82c01370204eee9efe2d2189f64dad139630377b17d2dbf9aa777f1763b2c04a412f0f015b4cd4be3972
-doccontainersize 760032
-doccontainerchecksum 66afab3b610c87535c22bcb3523f81f6d228b200f342be68f9f66fd5e8f36a07da76d0f4492aa1e105620a8ac1d5a998797dbb5a4c145280ca733401f3c64798
-docfiles size=245
+containersize 3288
+containerchecksum bff224f515e358676ec14856a671a471b0664edb8513f0a6a33aa7bc88c2b9d9cf8f0ceca597ce69005133ba341657a02abf4ff8aa6af7acdfc693ee8ae17f79
+doccontainersize 582100
+doccontainerchecksum 03c3589c8915c7dea2d8322672254150f0308132718edf2c81f45887f22fabac0064dbde3756a62fc0757a22609e9c48f28bf288be058b7ba538cd9fef0e41ed
+docfiles size=200
RELOC/doc/luatex/evangelion-jfm/Eva-JFM_doc-en.pdf details="Package documentation" language="en"
RELOC/doc/luatex/evangelion-jfm/Eva-JFM_doc-en.tex
RELOC/doc/luatex/evangelion-jfm/Eva-JFM_doc-jp.pdf
@@ -115665,8 +115665,8 @@ docfiles size=245
RELOC/doc/luatex/evangelion-jfm/figure/fig-tc.pdf
RELOC/doc/luatex/evangelion-jfm/figure/fig.tex
RELOC/doc/luatex/evangelion-jfm/make.sh
-srccontainersize 16388
-srccontainerchecksum 220f18f4c5628e55af06537c5b92d3a220dec25f3984a6b04b420854ef3d3c8e2a6a49480ef714ed5ed02b7af5ac6fe6a3ca233709c832a1ffe86844c0f38827
+srccontainersize 16632
+srccontainerchecksum 697a2d7f23aa556b47a92546d3f02b481f07300e1755240552d1051806f9e7e624ed15ab47147df00db52438cfcc310e5618d6c94f5cd0dc3e9cfb854bb6cab3
srcfiles size=12
RELOC/source/luatex/evangelion-jfm/Evangelion-JFM.dtx
runfiles size=5
@@ -115677,7 +115677,7 @@ catalogue-contact-repository https://github.com/RadioNoiseE/Evangelion-JFM
catalogue-ctan /macros/luatex/generic/evangelion-jfm
catalogue-license mit
catalogue-topics chinese japanese font-supp luatex
-catalogue-version 1.0.3
+catalogue-version 1.0.4 (e)
name everyhook
category Package
@@ -218201,7 +218201,7 @@ catalogue-topics psychology journalpub bibtex-sty apa
name msu-thesis
category Package
-revision 65462
+revision 67161
shortdesc Class for Michigan State University Master's and PhD theses
relocated 1
longdesc This is a class file for producing dissertations and theses
@@ -218211,10 +218211,10 @@ longdesc Dissertations. The class should meet all current requirements
longdesc and is updated whenever the university guidelines change. The
longdesc class is based on the memoir document class, and inherits the
longdesc functionality of that class.
-containersize 12960
-containerchecksum 918bfbcc2bec35581fc50bdd6e7ef10e5b8fd3f47d9eec896b5a0d18aaf5a953da0e46b20d0d19e03fd2a979a950e34f6956af85b19db2a6de74d1f9d91575d4
-doccontainersize 481040
-doccontainerchecksum a58f8c2103da08dbd04ee8310ae349d88fbe86a7126a0dc6bdcf44d2c91c7bb2aa453ea3830d737fb21c99de888453d83e24ba108a8f0fc17f2ec5aaede1d7ea
+containersize 13040
+containerchecksum db02e6e48a6410f95ff51331cf16eaba1f9ef9af9c12e359744fc0e578642dc3a9ae4720223ae2f9f85d798b11bdcb477bdcf40b7d23507a6d635edac440a74f
+doccontainersize 480112
+doccontainerchecksum 8ab6b10199bb359222352250e225a7286563a4e280240d7ab8bbf65fa226d651cf54e7b22046bcf46545c682bd34f993412d84e9b4542878b93b31202b286889
docfiles size=141
RELOC/doc/latex/msu-thesis/README.md details="Readme"
RELOC/doc/latex/msu-thesis/docs/msu-thesis.tex
@@ -218238,7 +218238,7 @@ catalogue-contact-repository https://github.com/amunn/msu-thesis
catalogue-ctan /macros/latex/contrib/msu-thesis
catalogue-license lppl1.3
catalogue-topics class dissertation doc-templ std-conform
-catalogue-version 4.0b
+catalogue-version 4.1
name mtgreek
category Package
@@ -256450,7 +256450,7 @@ catalogue-version 1.1
name profcollege
category Package
-revision 67096
+revision 67162
shortdesc A LaTeX package for French maths teachers in college
relocated 1
longdesc This package provides some commands to help French mathematics
@@ -256460,15 +256460,15 @@ longdesc \Pythagore{ABC}{5}{7} to write the entire calculation of AC
longdesc with the Pythagorean theorem, \Trigo[Cosinus]{ABC}{3}{}{60} to
longdesc write the entire calculation of AC with cosine, ... and some
longdesc others.
-containersize 1282152
-containerchecksum 487ef90f583132237858924360d4ee04d5a36355fd513b6f3d8cf540ed78b3b6a95339c467ae0f846aa359eaad2d97c5be90f8a900fae08948d130a050a15dc6
-doccontainersize 10807796
-doccontainerchecksum 1e931159182ffd917ee711f1f0514813e673d0cb1b326d41b54886a912e9841b37fb73e5497ef5a40b1e6d0db65f0824e63fce28cf633985f143d405603e1346
-docfiles size=2802
+containersize 1284712
+containerchecksum f1a53798b6c3e83a334e322d8983b674f1ffe92f2b16951e083f9f05780fc0998477b0056cd3a542e8d29daacb2e9d364cf5bb74f3f7d881a270f337300cd6d8
+doccontainersize 10832100
+doccontainerchecksum 4d72bd08a5916a2007740ddf7cdabb6e1968f4709d2ee010acf17f89b2d6375a3294fce50cf5ae630b598a2a56c4557a7a7aed41a4bb7dc2d1f830c216000037
+docfiles size=2808
RELOC/doc/latex/profcollege/ProfCollege-doc.pdf details="Package documentation" language="fr"
RELOC/doc/latex/profcollege/ProfCollege-doc.zip
RELOC/doc/latex/profcollege/README details="Readme"
-runfiles size=2806
+runfiles size=2811
RELOC/metapost/profcollege/PfCAfficheur.mp
RELOC/metapost/profcollege/PfCArithmetique.mp
RELOC/metapost/profcollege/PfCArithmetiquePDF.mp
@@ -256754,6 +256754,7 @@ runfiles size=2806
RELOC/tex/latex/profcollege/PfCNotionFonction.tex
RELOC/tex/latex/profcollege/PfCOperationsTrou.tex
RELOC/tex/latex/profcollege/PfCPapiers.tex
+ RELOC/tex/latex/profcollege/PfCPatronPaves.tex
RELOC/tex/latex/profcollege/PfCPavage.tex
RELOC/tex/latex/profcollege/PfCPavageAvecMotifImage.tex
RELOC/tex/latex/profcollege/PfCPixelArt.tex
@@ -256805,7 +256806,7 @@ catalogue-also proflycee
catalogue-ctan /macros/latex/contrib/profcollege
catalogue-license lppl1.3c
catalogue-topics maths french teaching
-catalogue-version 0.99-z-l
+catalogue-version 0.99-z-m
name proflabo
category Package
@@ -283771,7 +283772,7 @@ catalogue-version 1.6a
name simpleicons
category Package
-revision 67081
+revision 67160
shortdesc Simple Icons for LaTeX
relocated 1
longdesc Similar to FontAwesome icons being provided on LaTeX by the
@@ -283779,10 +283780,10 @@ longdesc fontawesome package, this package aims to do the same with
longdesc Simple Icons. For reference, visit their website:
longdesc https://simpleicons.org/.
execute addMap simpleicons.map
-containersize 2764768
-containerchecksum ac28e9f0ff750c735d225b17c2219b0427d2d748a218ad3ac9aeb3186c5e9cb8c487ced8347c0e20877d04f250d390b237e4fa6fe28f26f9f55526ece3bd06b4
-doccontainersize 2027608
-doccontainerchecksum 553a88127fcc96e9634789b77fe9f4e0a12d15fed0356efaa42cfed3499c77ed04b510b1993014c4863442692893203ebc870726b3891cc5d68c3563716856ac
+containersize 2765128
+containerchecksum 9817f38834ec0fbc39b41e0465406464b40208767012ce9bb2d7cd767d500f0995e8834d7b78c423cf4bfc1a4c0554075dc8cc11364d150734a9104c29e9191e
+doccontainersize 2028052
+doccontainerchecksum 695b34bc359eb4ce246356824bb4a7aded5052840808977f1d4a333cfdd3038f4cee02d535c5c10ad465bf26c7091dbc76428e99af535f4e1f8c2115abfd89f3
docfiles size=527
RELOC/doc/fonts/simpleicons/README.md details="Readme"
RELOC/doc/fonts/simpleicons/bindings.tex
@@ -283830,7 +283831,7 @@ catalogue-contact-repository https://github.com/ineshbose/simple-icons-latex
catalogue-ctan /fonts/simpleicons
catalogue-license cc-by-1
catalogue-topics font font-symbol font-supp-symbol font-otf font-type1
-catalogue-version 8.13.0
+catalogue-version 8.14.0
name simpleinvoice
category Package
@@ -301118,7 +301119,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 67151
+revision 67165
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
@@ -301139,10 +301140,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 1086376
-containerchecksum 380f8cea1272b2a7ada702c9b21b9986dc1532d11f789995852b7352b90af8f5b0115ee12741a2facde50bfd039fad4e0f8c57b43a75e227e081311d1b38c7b3
+containersize 1086392
+containerchecksum 4d44da12c3ebdbbc7f24f6203fb4258d5ad4c3b3a245918c213e99a2800ff0c7a6a42d31ba51491ee1cdcb63b813aeedd0af39c5843a522f023bcd921c63de11
doccontainersize 136384
-doccontainerchecksum 6f138124955adc9189d8e265455010f43e6461b795ead8e1609dff0ec3b253303f1d57cd2c0ea4df4ed65c8ab086e67343d18828848a7e112976029f174a3928
+doccontainerchecksum 25ed48179dd3a80b9c55d3b52dd1be21d10a7f9c87704ef835291dca9b7b8f0cf57b7a7e1b43487dcc4e5e4f6015727d6b93da5e4a6cd739cc4969f4045f524a
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -301214,8 +301215,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 1452252
-srccontainerchecksum 046080eb09f42265f7f153f676910e7ea8d38626b039c127b06b9999a5fbdf4fe989d4ccbac61be47dec168149de21d7aa0a96acc03a8ed996528f06707c79f3
+srccontainersize 1448000
+srccontainerchecksum 3e7954876671221997766a0c5e2e97ab86f1d3058cbcbfdebadb9142f36cb05c6c522b03d44036da42c7274d719b29f1c6e578d44c0ed64903b55c8253f51384
srcfiles size=4381
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -312708,7 +312709,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 67144
+revision 67153
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.
@@ -312716,10 +312717,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 114048
-containerchecksum d9ce5e99f6c613cce5f7588bd7d6b33c48218b5fb2b184e80125e392627e407a9f83e948deb0d2e7214b9793ef416db4cd3df412999645d36dc3d3fa3da69550
+containersize 114072
+containerchecksum 8e5d7d7caca9b4eab8b1ac645e01397a4b8b5318085ac1abff60cec712e53be712c41d1b8007f66e1eaa507c0c397bcbd67432b0c282ea051173959aff6b4aa3
doccontainersize 426836
-doccontainerchecksum f4d34eff2ca7c6ce1ca0e203b64238a35017fe0bda1f654d10f40e3f5285807951ed4eaf4518bc4c7f6b6bdcd36dbc60a08a8e00230e40b546c140b4b9f20123
+doccontainerchecksum a92c92aa6f833a0487046ca93f17cf082f46666fb614122b3b1e9baf252787b0b89b051c0fb7d373d7bb9412484b2eb939036e1b2cd423c380144c72888c0687
docfiles size=544
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -356885,7 +356886,7 @@ catalogue-version 0.3
name yb-book
category Package
-revision 64586
+revision 67163
shortdesc Template for YB Branded Books
relocated 1
longdesc This template helps the author design books published on Amazon
@@ -356923,18 +356924,18 @@ depend xcolor
depend xifthen
depend xkeyval
depend zref
-containersize 3788
-containerchecksum dea52e5aee243d84ad52bb5eb61957e05b500ea9caf36360fd587d0a38ebb602f2821e040e3acf41e8318c0ce491f3bdcb5a477ef65be7b41ec2fe12df680542
-doccontainersize 282532
-doccontainerchecksum ecb2ed5bf434f96aacd7422bc815cdc8b69c307475f8f71b8b8b5bc2aad916d1db1394eeaf3b7ddd54e3bf7dc059574c821f2d44f9247103153fb5ef3f40f02d
+containersize 3776
+containerchecksum 153006dfcc445865791aed173966cbe77c6be8c964f4474e60bd6b47f0a2d6ae23545eb3a1d6a30db807bff7fa9c31cf45eef0cc384f99c31eb9bcae5790cdb1
+doccontainersize 283052
+doccontainerchecksum eb38c0705bdfc4f3dac9562009d83dc9aec47ff0fb031315b742282753c786523b018eb7a3ade699040fe6561e317c32294ed5270cdcba7d4f49bc1a18d2f97f
docfiles size=75
RELOC/doc/latex/yb-book/DEPENDS.txt
RELOC/doc/latex/yb-book/LICENSE.txt
RELOC/doc/latex/yb-book/README.md details="Readme"
RELOC/doc/latex/yb-book/yb-book-logo.pdf
RELOC/doc/latex/yb-book/yb-book.pdf details="Package documentation"
-srccontainersize 6328
-srccontainerchecksum 20080fd53bc9c749632236d710972bac2db0ab0a7c3cd4a1b39fdc1226a2279332dca41856647b6132f033f381de798b8dc522ba3199e747ea15e5ca571d71c8
+srccontainersize 6348
+srccontainerchecksum 4789a9a6d5f26094e6ec85fd7cb4d86753db9e17b6b2a9e007c2763cef0cda8a7aba0f38a3b9c8a3e3fc4f03cd07458bb59cc3582bb9adb85d3278fbdf01254c
srcfiles size=6
RELOC/source/latex/yb-book/yb-book.dtx
RELOC/source/latex/yb-book/yb-book.ins
@@ -356944,7 +356945,7 @@ catalogue-contact-repository https://github.com/yegor256/yb-book
catalogue-ctan /macros/latex/contrib/yb-book
catalogue-license mit
catalogue-topics class doc-templ book-pub
-catalogue-version 0.2.0
+catalogue-version 0.2.1
name ycbook
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 24fdd815ae..28cf4eede2 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-c26c9c59434888d4deb0fe83c154475d texlive.tlpdb
+bb3a2548fdb8df60aa673b5290d04fa0 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 2c79fc2254..240946362b 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-ac9464426871901423fb1f2100e527fb6b5b741ad09c82ce613170933e70077ca35ba36d3d6ec07a1990a08a6c458d0f97c5f8f6a305e6b4f210ebe59c03f53e texlive.tlpdb
+030afe31c63b5856a66bd931f82f9c399b90a3c4b3d2ed13830307f4fd9a5b00ad93d94731f10fb3d01fdbb969251bafc5a2ec82bc8268139d98d37e1923e7b4 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 0abba469c4..bb68edb44f 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+QqiBBqTOGHfhlDjHAFAmRmuIwACgkQTOGHfhlD
-jHCZcwgAkBCjuD3tip1xItcPObTilZP0BxRJ9gbVeRRFxOhWdC7rRGeI9Eg011m2
-RN2AAu6fPmbnxG/npPIaV4kIA0pEczeoSPiMeuzU6IUHDdQAtFt2Ue6VD0hCAahr
-IQPEQOJyv7Nkhpafgcz2OdLFNWivkN8GSKEFubODVjJk8TOcfA3CHoQNX0ghtVsi
-Ynudj7yAvu7Wuh3X+pmyPjfhNYlPp94jPnDS2mD54wvSP88RZbUvxUbEQj7XsJM0
-5XAfUGmhMvMfD/OjZg71xqSZ7UzI4oTf+EaFd/COdyJ0dxLAcpuDOkFcCR3qtjiO
-8f1jvGbov61zAQh84+3alK9aLeG7tA==
-=wfjQ
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmRoClYACgkQTOGHfhlD
+jHDzCgf/WI8iqCMkryggnas7hjQ/thM9ARmMsH+uzMLF3rcnKsf4Dp7uNK4l77b2
+5hl66EAPgeRGXlDJlQ9V2yNmJrgv41/WzQhNa+i7ToNZYh3QFGbpiCkZo+VVtyFS
+A7ZXEVOty20UVh3txVisRbiM2epVGIpa0iXDh8eHCTodQIdDi8MeFhD2rxKFPFeL
+g6ZlkexHYdVuSXz9ywRvdp6gDfSjhH9eMtReuhyxcUgOjIvplxhnYh0MxdIYjusu
+kYXNpCN4M3RmmIZtaIvBWirgIXOmgz7eGYj+aGotZ2MPVATo3NVfty/XwqiPzE1u
+HdySDf6o1cbQyNwaNbyC0kYqMUnqjg==
+=gCQA
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index d34a67baf7..c78a1304ef 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 2fa8ce2f79..bc0b718219 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-05-19-02-02
+2023-05-20-02-02