diff options
199 files changed, 3184 insertions, 1220 deletions
diff --git a/FILES.byname b/FILES.byname index 44127d6d70..113c0438f5 100644 --- a/FILES.byname +++ b/FILES.byname @@ -1604,6 +1604,73 @@ 2005/09/29 | 16140 | biblio/bibtex/utils/bibsort.zip 2009/05/10 | 12586231 | biblio/bibtex/utils/BibTexMng/BibTeXMngSetup.exe 2009/05/10 | 1653 | biblio/bibtex/utils/BibTexMng/README +2023/08/21 | 2416 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Changes +2023/08/21 | 554 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/dist.ini +2023/08/21 | 9930 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Author.pm +2023/08/21 | 9188 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Entry.pm +2023/08/21 | 8609 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser.pm +2023/08/21 | 18414 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/LICENSE +2023/08/21 | 1598 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Makefile.PL +2023/11/18 | 799 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Makefile.TDS +2023/08/21 | 749 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/MANIFEST +2023/08/21 | 655 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/notes +2023/08/21 | 272 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/README +2023/08/21 | 234 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/00-load.t +2023/08/21 | 794 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/01-parse.t +2023/08/21 | 873 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/02-parse_string.t +2023/08/21 | 3392 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t +2023/08/21 | 997 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/04-entry.t +2023/08/21 | 2951 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/05-author.t +2023/08/21 | 1436 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/06-parse_complex.t +2023/08/21 | 869 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/07-parse_englishbib.t +2023/08/21 | 495 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/08-parse_large.t +2023/08/21 | 1224 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/09-complex.t +2023/08/21 | 1454 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/10-funnyname.t +2023/08/21 | 714 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t +2023/08/21 | 389 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/12-von_token.t +2023/08/21 | 735 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/13_output.t +2023/08/21 | 1332 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/14-extratext.t +2023/08/21 | 1742 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/15-capitalization.t +2023/08/21 | 163 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/01.bib +2023/08/21 | 451 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/06.bib +2023/08/21 | 329 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/09-complex.bib +2023/08/21 | 165 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/10-funnyname.bib +2023/08/21 | 507 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/14-extratext.bib +2023/08/21 | 709 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib +2023/08/22 | 65 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/endnote.txt +2023/08/22 | 286 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/engineering_village.txt +2023/08/21 | 1635 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib +2023/08/22 | 885 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/mathscinet.txt +2023/08/21 | 1891 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bug66325.t +2023/08/21 | 733 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bug67419.t +2023/08/21 | 2522 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/cleaned_field.t +2023/08/21 | 551 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/pod-coverage.t +2023/08/21 | 241 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/pod.t +2023/08/21 | 501 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/release-pod-coverage.t +2023/08/21 | 296 | biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/release-pod-syntax.t +2023/11/18 | 741 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Changes +2023/11/18 | 408 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/dist.ini +2023/08/21 | 829 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/head.ltx +2023/11/18 | 191418 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf +2023/11/18 | 28561 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode.pm +2023/11/18 | 18997 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode/Tables.pm +2023/11/18 | 18210 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/LICENSE +2023/11/18 | 2877 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.1 +2023/11/18 | 2226 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf +2023/11/18 | 1153 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Makefile.PL +2023/11/18 | 1398 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Makefile.TDS +2023/11/18 | 256 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/MANIFEST +2023/08/21 | 436 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/README +2023/08/21 | 3775 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/script/convert.pl +2023/08/21 | 5575 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/script/ltx2unitxt +2023/11/18 | 1958 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/convert.t +2023/08/21 | 501 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-coverage.t +2023/08/21 | 296 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-syntax.t +2023/08/21 | 307 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-synopsis.t +2023/08/21 | 261 | biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/weaver.ini +2023/11/18 | 840 | biblio/bibtex/utils/bibtexperllibs/Makefile +2023/11/18 | 1805 | biblio/bibtex/utils/bibtexperllibs/README +2023/11/19 | 264571 | biblio/bibtex/utils/bibtexperllibs.zip 2020/04/13 | 745469 | biblio/bibtex/utils/bibtool/BibTool-2.68.tar.gz 2020/04/13 | 488 | biblio/bibtex/utils/bibtool/BibTool-2.68.tar.gz.asc 2020/04/13 | 854944 | biblio/bibtex/utils/bibtool/bibtool.pdf @@ -2077,12 +2144,12 @@ 2024/08/21 | 1837 | biblio/citation-style-language/README.md 2024/08/21 | 12878 | biblio/citation-style-language/vancouver.csl 2024/08/21 | 4573853 | biblio/citation-style-language.zip -2024/08/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/08/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx -2024/08/27 | 2882209 | biblio/ctan-bibdata/ctan.bib -2024/08/27 | 3708800 | biblio/ctan-bibdata/ctan.pdf +2024/08/28 | 2882209 | biblio/ctan-bibdata/ctan.bib +2024/08/28 | 3708800 | biblio/ctan-bibdata/ctan.pdf 2023/01/16 | 1489 | biblio/ctan-bibdata/README -2024/08/27 | 4124457 | biblio/ctan-bibdata.zip +2024/08/28 | 4124457 | biblio/ctan-bibdata.zip 2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk 2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh 2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst @@ -5444,7 +5511,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2024/08/27 | 62586 | FILES.last07days +2024/08/28 | 73303 | 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 @@ -207515,7 +207582,7 @@ 2019/12/19 | 302191 | install/macros/latex/contrib/kvdefinekeys.tds.zip 2024/05/27 | 828860 | install/macros/latex/contrib/l3build.tds.zip 2024/03/14 | 3714415 | install/macros/latex/contrib/l3experimental.tds.zip -2024/05/22 | 1776494 | install/macros/latex/contrib/l3packages.tds.zip +2024/08/28 | 1777229 | install/macros/latex/contrib/l3packages.tds.zip 2024/07/07 | 622862 | install/macros/latex/contrib/lastpage.tds.zip 2009/09/02 | 556672 | install/macros/latex/contrib/layouts.tds.zip 2008/07/25 | 125603 | install/macros/latex/contrib/lcyw.tds.zip @@ -207536,7 +207603,7 @@ 2014/06/19 | 690439 | install/macros/latex/contrib/matlab-prettifier.tds.zip 2013/07/01 | 1898068 | install/macros/latex/contrib/mdframed.tds.zip 2022/10/12 | 211667 | install/macros/latex/contrib/media4svg.tds.zip -2022/08/04 | 7385937 | install/macros/latex/contrib/media9.tds.zip +2024/08/28 | 7401757 | install/macros/latex/contrib/media9.tds.zip 2024/01/26 | 3610563 | install/macros/latex/contrib/memoir.tds.zip 2024/08/05 | 22983913 | install/macros/latex/contrib/mercatormap.tds.zip 2022/10/18 | 815562 | install/macros/latex/contrib/mfirstuc.tds.zip @@ -207565,7 +207632,7 @@ 2011/09/20 | 179685 | install/macros/latex/contrib/nowidow.tds.zip 2024/03/10 | 8073931 | install/macros/latex/contrib/nwejm.tds.zip 2024/07/27 | 11395400 | install/macros/latex/contrib/oberdiek.tds.zip -2024/03/18 | 34618 | install/macros/latex/contrib/ocgx2.tds.zip +2024/08/28 | 34125 | install/macros/latex/contrib/ocgx2.tds.zip 2012/12/08 | 1025300 | install/macros/latex/contrib/ocgx.tds.zip 2023/04/18 | 543445 | install/macros/latex/contrib/pagecolor.tds.zip 2024/07/31 | 4938988 | install/macros/latex/contrib/pagelayout.tds.zip @@ -207674,7 +207741,7 @@ 2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip 2024/08/18 | 3735027 | install/macros/latex/required/babel-base.tds.zip 2024/05/23 | 946356 | install/macros/latex/required/l3backend.tds.zip -2024/08/02 | 14355195 | install/macros/latex/required/l3kernel.tds.zip +2024/08/28 | 14361138 | install/macros/latex/required/l3kernel.tds.zip 2024/06/01 | 2796532 | install/macros/latex/required/latex-amsmath.tds.zip 2024/06/17 | 244182 | install/macros/latex/required/latexbug.tds.zip 2024/06/01 | 1349959 | install/macros/latex/required/latex-cyrillic.tds.zip @@ -233990,6 +234057,17 @@ 2008/11/11 | 1941 | macros/latex/contrib/envbig/envbig.sty 2008/11/11 | 103 | macros/latex/contrib/envbig/README 2008/11/11 | 1362 | macros/latex/contrib/envbig.zip +2024/08/28 | 2663 | macros/latex/contrib/enverb/doc-enverb.tex +2024/08/28 | 5545 | macros/latex/contrib/enverb/doc-examples.tex +2024/08/28 | 4699 | macros/latex/contrib/enverb/doc-keys.tex +2024/08/28 | 1961 | macros/latex/contrib/enverb/doc-using-contents.tex +2024/08/28 | 346942 | macros/latex/contrib/enverb/enverb-doc.pdf +2024/08/28 | 2666 | macros/latex/contrib/enverb/enverb-doc.tex +2024/08/28 | 24900 | macros/latex/contrib/enverb/enverb.dtx +2024/08/28 | 6727 | macros/latex/contrib/enverb/preamble-examples.tex +2024/08/28 | 599 | macros/latex/contrib/enverb/preamble-logo.tex +2024/08/28 | 1456 | macros/latex/contrib/enverb/README.md +2024/08/28 | 353869 | macros/latex/contrib/enverb.zip 2014/05/04 | 18521 | macros/latex/contrib/environ/environ.dtx 2014/05/04 | 1704 | macros/latex/contrib/environ/environ.ins 2014/05/04 | 155907 | macros/latex/contrib/environ/environ.pdf @@ -241730,26 +241808,26 @@ 2024/03/14 | 1624 | macros/latex/contrib/l3experimental/xgalley.ins 2024/03/14 | 323591 | macros/latex/contrib/l3experimental/xgalley.pdf 2024/03/14 | 3680274 | macros/latex/contrib/l3experimental.zip -2024/05/22 | 8367 | macros/latex/contrib/l3packages/CHANGELOG.md -2024/05/22 | 1445 | macros/latex/contrib/l3packages/l3keys2e-demo.tex -2024/05/22 | 12304 | macros/latex/contrib/l3packages/l3keys2e.dtx -2024/05/22 | 1228 | macros/latex/contrib/l3packages/l3keys2e.ins -2024/05/22 | 412900 | macros/latex/contrib/l3packages/l3keys2e.pdf -2024/05/22 | 1005 | macros/latex/contrib/l3packages/README.md -2024/05/22 | 7372 | macros/latex/contrib/l3packages/xfp.dtx -2024/05/22 | 1191 | macros/latex/contrib/l3packages/xfp.ins -2024/05/22 | 332573 | macros/latex/contrib/l3packages/xfp.pdf -2024/05/22 | 84537 | macros/latex/contrib/l3packages/xparse-2018-04-12.sty -2024/05/22 | 6195 | macros/latex/contrib/l3packages/xparse-2020-10-01.sty -2024/05/22 | 60185 | macros/latex/contrib/l3packages/xparse.dtx -2024/05/22 | 80215 | macros/latex/contrib/l3packages/xparse-generic.tex -2024/05/22 | 1272 | macros/latex/contrib/l3packages/xparse.ins -2024/05/22 | 551837 | macros/latex/contrib/l3packages/xparse.pdf -2024/05/22 | 49753 | macros/latex/contrib/l3packages/xtemplate-2023-10-10.sty -2024/05/22 | 28710 | macros/latex/contrib/l3packages/xtemplate.dtx -2024/05/22 | 1561 | macros/latex/contrib/l3packages/xtemplate.ins -2024/05/22 | 449003 | macros/latex/contrib/l3packages/xtemplate.pdf -2024/05/22 | 1767940 | macros/latex/contrib/l3packages.zip +2024/08/28 | 8658 | macros/latex/contrib/l3packages/CHANGELOG.md +2024/08/28 | 1445 | macros/latex/contrib/l3packages/l3keys2e-demo.tex +2024/08/28 | 12304 | macros/latex/contrib/l3packages/l3keys2e.dtx +2024/08/28 | 1228 | macros/latex/contrib/l3packages/l3keys2e.ins +2024/08/28 | 412980 | macros/latex/contrib/l3packages/l3keys2e.pdf +2024/08/28 | 1005 | macros/latex/contrib/l3packages/README.md +2024/08/28 | 7372 | macros/latex/contrib/l3packages/xfp.dtx +2024/08/28 | 1191 | macros/latex/contrib/l3packages/xfp.ins +2024/08/28 | 332674 | macros/latex/contrib/l3packages/xfp.pdf +2024/08/28 | 84537 | macros/latex/contrib/l3packages/xparse-2018-04-12.sty +2024/08/28 | 6195 | macros/latex/contrib/l3packages/xparse-2020-10-01.sty +2024/08/28 | 60727 | macros/latex/contrib/l3packages/xparse.dtx +2024/08/28 | 80215 | macros/latex/contrib/l3packages/xparse-generic.tex +2024/08/28 | 1272 | macros/latex/contrib/l3packages/xparse.ins +2024/08/28 | 551942 | macros/latex/contrib/l3packages/xparse.pdf +2024/08/28 | 49753 | macros/latex/contrib/l3packages/xtemplate-2023-10-10.sty +2024/08/28 | 28733 | macros/latex/contrib/l3packages/xtemplate.dtx +2024/08/28 | 1561 | macros/latex/contrib/l3packages/xtemplate.ins +2024/08/28 | 449112 | macros/latex/contrib/l3packages/xtemplate.pdf +2024/08/28 | 1768561 | macros/latex/contrib/l3packages.zip 2008/03/30 | 76250 | macros/latex/contrib/labbook/labboode.pdf 2003/08/06 | 81327 | macros/latex/contrib/labbook/labbook.dtx 2003/06/03 | 1041 | macros/latex/contrib/labbook/labbook.el @@ -243343,7 +243421,7 @@ 2022/10/12 | 31378 | macros/latex/contrib/media4svg/media4svg.sty 2022/10/12 | 6064 | macros/latex/contrib/media4svg/README.md 2022/10/12 | 210103 | macros/latex/contrib/media4svg.zip -2022/08/04 | 15784 | macros/latex/contrib/media9/ChangeLog +2024/08/28 | 16019 | macros/latex/contrib/media9/ChangeLog 2019/01/02 | 7152 | macros/latex/contrib/media9/doc/files/3dsystem.fig 2019/01/02 | 5989 | macros/latex/contrib/media9/doc/files/3dsystem.pdf 2019/01/02 | 1550 | macros/latex/contrib/media9/doc/files/3dsystem.tex @@ -243371,14 +243449,14 @@ 2019/01/02 | 1268 | macros/latex/contrib/media9/doc/files/malte.js 2019/01/02 | 105696 | macros/latex/contrib/media9/doc/files/malte.u3d 2019/01/02 | 20206 | macros/latex/contrib/media9/doc/files/random.mp4 -2022/08/04 | 3660318 | macros/latex/contrib/media9/doc/media9.pdf -2022/07/29 | 93594 | macros/latex/contrib/media9/doc/media9.tex +2024/08/28 | 3685849 | macros/latex/contrib/media9/doc/media9.pdf +2022/08/04 | 93594 | macros/latex/contrib/media9/doc/media9.tex 2021/12/01 | 29121 | macros/latex/contrib/media9/javascript/3Dmenu.js 2019/01/02 | 972 | macros/latex/contrib/media9/javascript/3Dspintool.js 2019/01/02 | 3307 | macros/latex/contrib/media9/javascript/animation.js 2019/01/02 | 2561 | macros/latex/contrib/media9/javascript/asylabels.js -2022/08/04 | 162116 | macros/latex/contrib/media9/media9.sty -2022/08/04 | 99805 | macros/latex/contrib/media9/pdfbase.sty +2024/08/28 | 162116 | macros/latex/contrib/media9/media9.sty +2024/08/28 | 101061 | macros/latex/contrib/media9/pdfbase.sty 2019/01/02 | 14420 | macros/latex/contrib/media9/players/APlayer9.mxml 2019/01/02 | 206165 | macros/latex/contrib/media9/players/APlayer9.swf 2019/01/02 | 15323 | macros/latex/contrib/media9/players/APlayer.mxml @@ -243394,7 +243472,7 @@ 2019/01/02 | 12571 | macros/latex/contrib/media9/players/VPlayer.mxml 2019/01/02 | 483412 | macros/latex/contrib/media9/players/VPlayer.swf 2020/07/14 | 2053 | macros/latex/contrib/media9/README.md -2022/08/04 | 7380647 | macros/latex/contrib/media9.zip +2024/08/28 | 7396467 | macros/latex/contrib/media9.zip 2024/01/20 | 28325 | macros/latex/contrib/medmath/medmath.pdf 2024/01/20 | 17195 | macros/latex/contrib/medmath/medmath.sty 2024/01/20 | 3291 | macros/latex/contrib/medmath/medmath.tex @@ -245514,12 +245592,12 @@ 2013/08/11 | 265647 | macros/latex/contrib/ocgtools/ocgtools.pdf 2010/12/16 | 906 | macros/latex/contrib/ocgtools/README 2013/08/11 | 5062086 | macros/latex/contrib/ocgtools.zip -2024/03/18 | 7356 | macros/latex/contrib/ocgx2/ChangeLog +2024/08/28 | 7464 | macros/latex/contrib/ocgx2/ChangeLog 2019/11/05 | 585 | macros/latex/contrib/ocgx2/fixocgx.sty -2022/08/04 | 26167 | macros/latex/contrib/ocgx2/ocgbase.sty -2024/03/18 | 109125 | macros/latex/contrib/ocgx2/ocgx2.sty +2024/08/28 | 21115 | macros/latex/contrib/ocgx2/ocgbase.sty +2024/08/28 | 109151 | macros/latex/contrib/ocgx2/ocgx2.sty 2022/12/16 | 10427 | macros/latex/contrib/ocgx2/README.md -2024/03/18 | 33566 | macros/latex/contrib/ocgx2.zip +2024/08/28 | 33073 | macros/latex/contrib/ocgx2.zip 2012/12/08 | 693034 | macros/latex/contrib/ocgx/demo-ocgx.pdf 2012/12/08 | 14592 | macros/latex/contrib/ocgx/demo-ocgx.tex 2012/12/08 | 156 | macros/latex/contrib/ocgx/ocgx-example-1.tex @@ -248239,11 +248317,11 @@ 2024/02/11 | 6357 | macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex 2024/02/11 | 42472 | macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex 2024/07/13 | 2233476 | macros/latex/contrib/proflycee.zip -2024/05/02 | 298965 | macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf -2024/05/02 | 103762 | macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.zip -2024/05/02 | 144800 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty +2024/08/27 | 333019 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf +2024/08/27 | 105641 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.zip +2024/08/27 | 164002 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty 2023/06/23 | 355 | macros/latex/contrib/profmaquette/README -2024/05/03 | 413636 | macros/latex/contrib/profmaquette.zip +2024/08/28 | 451434 | macros/latex/contrib/profmaquette.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 @@ -260206,114 +260284,114 @@ 2024/05/23 | 50238 | macros/latex/required/l3backend/l3backend-pdf.dtx 2024/05/23 | 549 | macros/latex/required/l3backend/README.md 2024/05/23 | 908487 | macros/latex/required/l3backend.zip -2024/08/02 | 60403 | macros/latex/required/l3kernel/CHANGELOG.md -2024/08/02 | 71457 | macros/latex/required/l3kernel/expl3.dtx -2024/08/02 | 610110 | macros/latex/required/l3kernel/expl3.pdf -2024/08/02 | 1790077 | macros/latex/required/l3kernel/interface3.pdf -2024/08/02 | 1949 | macros/latex/required/l3kernel/interface3.tex -2024/08/02 | 138821 | macros/latex/required/l3kernel/l3basics.dtx -2024/08/02 | 19547 | macros/latex/required/l3kernel/l3bitset.dtx -2024/08/02 | 12955 | macros/latex/required/l3kernel/l3bootstrap.dtx -2024/08/02 | 87817 | macros/latex/required/l3kernel/l3box.dtx -2024/08/02 | 34447 | macros/latex/required/l3kernel/l3cctab.dtx -2024/08/02 | 83393 | macros/latex/required/l3kernel/l3clist.dtx -2024/08/02 | 88239 | macros/latex/required/l3kernel/l3coffins.dtx -2024/08/02 | 112286 | macros/latex/required/l3kernel/l3color.dtx -2024/08/02 | 41859 | macros/latex/required/l3kernel/l3debug.dtx -2024/08/02 | 24949 | macros/latex/required/l3kernel/l3deprecation.dtx -2024/08/02 | 159900 | macros/latex/required/l3kernel/l3doc.dtx -2024/08/02 | 565298 | macros/latex/required/l3kernel/l3doc.pdf -2024/08/02 | 2384 | macros/latex/required/l3kernel/l3docstrip.dtx -2024/08/02 | 151011 | macros/latex/required/l3kernel/l3docstrip.pdf -2024/08/02 | 88794 | macros/latex/required/l3kernel/l3expan.dtx -2024/08/02 | 144193 | macros/latex/required/l3kernel/l3file.dtx -2024/08/02 | 14152 | macros/latex/required/l3kernel/l3flag.dtx -2024/08/02 | 12946 | macros/latex/required/l3kernel/l3fparray.dtx -2024/08/02 | 9445 | macros/latex/required/l3kernel/l3fp-assign.dtx -2024/08/02 | 47237 | macros/latex/required/l3kernel/l3fp-aux.dtx -2024/08/02 | 84789 | macros/latex/required/l3kernel/l3fp-basics.dtx -2024/08/02 | 19637 | macros/latex/required/l3kernel/l3fp-convert.dtx -2024/08/02 | 76535 | macros/latex/required/l3kernel/l3fp.dtx -2024/08/02 | 49321 | macros/latex/required/l3kernel/l3fp-expo.dtx -2024/08/02 | 51091 | macros/latex/required/l3kernel/l3fp-extended.dtx -2024/08/02 | 7831 | macros/latex/required/l3kernel/l3fp-functions.dtx -2024/08/02 | 23206 | macros/latex/required/l3kernel/l3fp-logic.dtx -2024/08/02 | 105021 | macros/latex/required/l3kernel/l3fp-parse.dtx -2024/08/02 | 23581 | macros/latex/required/l3kernel/l3fp-random.dtx -2024/08/02 | 18528 | macros/latex/required/l3kernel/l3fp-round.dtx -2024/08/02 | 20310 | macros/latex/required/l3kernel/l3fp-symbolic.dtx -2024/08/02 | 12832 | macros/latex/required/l3kernel/l3fp-traps.dtx -2024/08/02 | 73845 | macros/latex/required/l3kernel/l3fp-trig.dtx -2024/08/02 | 4911 | macros/latex/required/l3kernel/l3fp-types.dtx -2024/08/02 | 6429 | macros/latex/required/l3kernel/l3.ins -2024/08/02 | 31533 | macros/latex/required/l3kernel/l3intarray.dtx -2024/08/02 | 90308 | macros/latex/required/l3kernel/l3int.dtx -2024/08/02 | 31020 | macros/latex/required/l3kernel/l3kernel-functions.dtx -2024/08/02 | 130536 | macros/latex/required/l3kernel/l3keys.dtx -2024/08/02 | 4570 | macros/latex/required/l3kernel/l3legacy.dtx -2024/08/02 | 23831 | macros/latex/required/l3kernel/l3luatex.dtx -2024/08/02 | 83835 | macros/latex/required/l3kernel/l3msg.dtx -2024/08/02 | 80271 | macros/latex/required/l3kernel/l3names.dtx -2024/08/02 | 122959 | macros/latex/required/l3kernel/l3news01.pdf -2024/08/02 | 4937 | macros/latex/required/l3kernel/l3news01.tex -2024/08/02 | 150919 | macros/latex/required/l3kernel/l3news02.pdf -2024/08/02 | 6677 | macros/latex/required/l3kernel/l3news02.tex -2024/08/02 | 148747 | macros/latex/required/l3kernel/l3news03.pdf -2024/08/02 | 6482 | macros/latex/required/l3kernel/l3news03.tex -2024/08/02 | 114754 | macros/latex/required/l3kernel/l3news04.pdf -2024/08/02 | 5429 | macros/latex/required/l3kernel/l3news04.tex -2024/08/02 | 112524 | macros/latex/required/l3kernel/l3news05.pdf -2024/08/02 | 4716 | macros/latex/required/l3kernel/l3news05.tex -2024/08/02 | 151591 | macros/latex/required/l3kernel/l3news06.pdf -2024/08/02 | 6433 | macros/latex/required/l3kernel/l3news06.tex -2024/08/02 | 128344 | macros/latex/required/l3kernel/l3news07.pdf -2024/08/02 | 4977 | macros/latex/required/l3kernel/l3news07.tex -2024/08/02 | 163484 | macros/latex/required/l3kernel/l3news08.pdf -2024/08/02 | 9465 | macros/latex/required/l3kernel/l3news08.tex -2024/08/02 | 250161 | macros/latex/required/l3kernel/l3news09.pdf -2024/08/02 | 107383 | macros/latex/required/l3kernel/l3news09.tex -2024/08/02 | 150302 | macros/latex/required/l3kernel/l3news10.pdf -2024/08/02 | 9999 | macros/latex/required/l3kernel/l3news10.tex -2024/08/02 | 170102 | macros/latex/required/l3kernel/l3news11.pdf -2024/08/02 | 8481 | macros/latex/required/l3kernel/l3news11.tex -2024/08/02 | 205020 | macros/latex/required/l3kernel/l3news12.pdf -2024/08/02 | 14913 | macros/latex/required/l3kernel/l3news12.tex -2024/08/02 | 396223 | macros/latex/required/l3kernel/l3news.pdf -2024/08/02 | 4890 | macros/latex/required/l3kernel/l3news.tex -2024/08/02 | 26790 | macros/latex/required/l3kernel/l3pdf.dtx -2024/08/02 | 50696 | macros/latex/required/l3kernel/l3prefixes.csv -2024/08/02 | 83064 | macros/latex/required/l3kernel/l3prefixes.pdf -2024/08/02 | 2821 | macros/latex/required/l3kernel/l3prefixes.tex -2024/08/02 | 70830 | macros/latex/required/l3kernel/l3prg.dtx -2024/08/02 | 108493 | macros/latex/required/l3kernel/l3prop.dtx -2024/08/02 | 35218 | macros/latex/required/l3kernel/l3quark.dtx -2024/08/02 | 305486 | macros/latex/required/l3kernel/l3regex.dtx -2024/08/02 | 100428 | macros/latex/required/l3kernel/l3seq.dtx -2024/08/02 | 91719 | macros/latex/required/l3kernel/l3skip.dtx -2024/08/02 | 40727 | macros/latex/required/l3kernel/l3sort.dtx -2024/08/02 | 113735 | macros/latex/required/l3kernel/l3str-convert.dtx -2024/08/02 | 82463 | macros/latex/required/l3kernel/l3str.dtx -2024/08/02 | 296298 | macros/latex/required/l3kernel/l3styleguide.pdf -2024/08/02 | 11882 | macros/latex/required/l3kernel/l3styleguide.tex -2024/08/02 | 231148 | macros/latex/required/l3kernel/l3syntax-changes.pdf -2024/08/02 | 6219 | macros/latex/required/l3kernel/l3syntax-changes.tex -2024/08/02 | 43211 | macros/latex/required/l3kernel/l3sys.dtx -2024/08/02 | 241946 | macros/latex/required/l3kernel/l3term-glossary.pdf -2024/08/02 | 7079 | macros/latex/required/l3kernel/l3term-glossary.tex -2024/08/02 | 76370 | macros/latex/required/l3kernel/l3text-case.dtx -2024/08/02 | 49000 | macros/latex/required/l3kernel/l3text.dtx -2024/08/02 | 16624 | macros/latex/required/l3kernel/l3text-map.dtx -2024/08/02 | 20460 | macros/latex/required/l3kernel/l3text-purify.dtx -2024/08/02 | 63576 | macros/latex/required/l3kernel/l3tl-analysis.dtx -2024/08/02 | 13292 | macros/latex/required/l3kernel/l3tl-build.dtx -2024/08/02 | 149633 | macros/latex/required/l3kernel/l3tl.dtx -2024/08/02 | 117222 | macros/latex/required/l3kernel/l3token.dtx -2024/08/02 | 35639 | macros/latex/required/l3kernel/l3unicode.dtx -2024/08/02 | 3078 | macros/latex/required/l3kernel/README.md -2024/08/02 | 24830 | macros/latex/required/l3kernel/source3body.tex -2024/08/02 | 7610534 | macros/latex/required/l3kernel/source3.pdf -2024/08/02 | 2282 | macros/latex/required/l3kernel/source3.tex -2024/08/02 | 14085143 | macros/latex/required/l3kernel.zip +2024/08/28 | 60595 | macros/latex/required/l3kernel/CHANGELOG.md +2024/08/28 | 71792 | macros/latex/required/l3kernel/expl3.dtx +2024/08/28 | 610834 | macros/latex/required/l3kernel/expl3.pdf +2024/08/28 | 1791477 | macros/latex/required/l3kernel/interface3.pdf +2024/08/28 | 1949 | macros/latex/required/l3kernel/interface3.tex +2024/08/28 | 138821 | macros/latex/required/l3kernel/l3basics.dtx +2024/08/28 | 19547 | macros/latex/required/l3kernel/l3bitset.dtx +2024/08/28 | 12955 | macros/latex/required/l3kernel/l3bootstrap.dtx +2024/08/28 | 87817 | macros/latex/required/l3kernel/l3box.dtx +2024/08/28 | 34447 | macros/latex/required/l3kernel/l3cctab.dtx +2024/08/28 | 83398 | macros/latex/required/l3kernel/l3clist.dtx +2024/08/28 | 88239 | macros/latex/required/l3kernel/l3coffins.dtx +2024/08/28 | 112286 | macros/latex/required/l3kernel/l3color.dtx +2024/08/28 | 41859 | macros/latex/required/l3kernel/l3debug.dtx +2024/08/28 | 24949 | macros/latex/required/l3kernel/l3deprecation.dtx +2024/08/28 | 159900 | macros/latex/required/l3kernel/l3doc.dtx +2024/08/28 | 565816 | macros/latex/required/l3kernel/l3doc.pdf +2024/08/28 | 2384 | macros/latex/required/l3kernel/l3docstrip.dtx +2024/08/28 | 151526 | macros/latex/required/l3kernel/l3docstrip.pdf +2024/08/28 | 88794 | macros/latex/required/l3kernel/l3expan.dtx +2024/08/28 | 144193 | macros/latex/required/l3kernel/l3file.dtx +2024/08/28 | 14152 | macros/latex/required/l3kernel/l3flag.dtx +2024/08/28 | 12946 | macros/latex/required/l3kernel/l3fparray.dtx +2024/08/28 | 9445 | macros/latex/required/l3kernel/l3fp-assign.dtx +2024/08/28 | 47237 | macros/latex/required/l3kernel/l3fp-aux.dtx +2024/08/28 | 84789 | macros/latex/required/l3kernel/l3fp-basics.dtx +2024/08/28 | 19637 | macros/latex/required/l3kernel/l3fp-convert.dtx +2024/08/28 | 76535 | macros/latex/required/l3kernel/l3fp.dtx +2024/08/28 | 49321 | macros/latex/required/l3kernel/l3fp-expo.dtx +2024/08/28 | 51091 | macros/latex/required/l3kernel/l3fp-extended.dtx +2024/08/28 | 7831 | macros/latex/required/l3kernel/l3fp-functions.dtx +2024/08/28 | 23206 | macros/latex/required/l3kernel/l3fp-logic.dtx +2024/08/28 | 105021 | macros/latex/required/l3kernel/l3fp-parse.dtx +2024/08/28 | 23581 | macros/latex/required/l3kernel/l3fp-random.dtx +2024/08/28 | 18528 | macros/latex/required/l3kernel/l3fp-round.dtx +2024/08/28 | 20310 | macros/latex/required/l3kernel/l3fp-symbolic.dtx +2024/08/28 | 12832 | macros/latex/required/l3kernel/l3fp-traps.dtx +2024/08/28 | 73845 | macros/latex/required/l3kernel/l3fp-trig.dtx +2024/08/28 | 4911 | macros/latex/required/l3kernel/l3fp-types.dtx +2024/08/28 | 6429 | macros/latex/required/l3kernel/l3.ins +2024/08/28 | 31533 | macros/latex/required/l3kernel/l3intarray.dtx +2024/08/28 | 90308 | macros/latex/required/l3kernel/l3int.dtx +2024/08/28 | 31020 | macros/latex/required/l3kernel/l3kernel-functions.dtx +2024/08/28 | 130536 | macros/latex/required/l3kernel/l3keys.dtx +2024/08/28 | 4570 | macros/latex/required/l3kernel/l3legacy.dtx +2024/08/28 | 23831 | macros/latex/required/l3kernel/l3luatex.dtx +2024/08/28 | 83835 | macros/latex/required/l3kernel/l3msg.dtx +2024/08/28 | 80271 | macros/latex/required/l3kernel/l3names.dtx +2024/08/28 | 122959 | macros/latex/required/l3kernel/l3news01.pdf +2024/08/28 | 4937 | macros/latex/required/l3kernel/l3news01.tex +2024/08/28 | 150919 | macros/latex/required/l3kernel/l3news02.pdf +2024/08/28 | 6677 | macros/latex/required/l3kernel/l3news02.tex +2024/08/28 | 148747 | macros/latex/required/l3kernel/l3news03.pdf +2024/08/28 | 6482 | macros/latex/required/l3kernel/l3news03.tex +2024/08/28 | 114754 | macros/latex/required/l3kernel/l3news04.pdf +2024/08/28 | 5429 | macros/latex/required/l3kernel/l3news04.tex +2024/08/28 | 112524 | macros/latex/required/l3kernel/l3news05.pdf +2024/08/28 | 4716 | macros/latex/required/l3kernel/l3news05.tex +2024/08/28 | 151591 | macros/latex/required/l3kernel/l3news06.pdf +2024/08/28 | 6433 | macros/latex/required/l3kernel/l3news06.tex +2024/08/28 | 128344 | macros/latex/required/l3kernel/l3news07.pdf +2024/08/28 | 4977 | macros/latex/required/l3kernel/l3news07.tex +2024/08/28 | 163484 | macros/latex/required/l3kernel/l3news08.pdf +2024/08/28 | 9465 | macros/latex/required/l3kernel/l3news08.tex +2024/08/28 | 250161 | macros/latex/required/l3kernel/l3news09.pdf +2024/08/28 | 107383 | macros/latex/required/l3kernel/l3news09.tex +2024/08/28 | 150302 | macros/latex/required/l3kernel/l3news10.pdf +2024/08/28 | 9999 | macros/latex/required/l3kernel/l3news10.tex +2024/08/28 | 170102 | macros/latex/required/l3kernel/l3news11.pdf +2024/08/28 | 8481 | macros/latex/required/l3kernel/l3news11.tex +2024/08/28 | 205020 | macros/latex/required/l3kernel/l3news12.pdf +2024/08/28 | 14913 | macros/latex/required/l3kernel/l3news12.tex +2024/08/28 | 396223 | macros/latex/required/l3kernel/l3news.pdf +2024/08/28 | 4890 | macros/latex/required/l3kernel/l3news.tex +2024/08/28 | 26790 | macros/latex/required/l3kernel/l3pdf.dtx +2024/08/28 | 51096 | macros/latex/required/l3kernel/l3prefixes.csv +2024/08/28 | 83133 | macros/latex/required/l3kernel/l3prefixes.pdf +2024/08/28 | 2821 | macros/latex/required/l3kernel/l3prefixes.tex +2024/08/28 | 70830 | macros/latex/required/l3kernel/l3prg.dtx +2024/08/28 | 108493 | macros/latex/required/l3kernel/l3prop.dtx +2024/08/28 | 35262 | macros/latex/required/l3kernel/l3quark.dtx +2024/08/28 | 305486 | macros/latex/required/l3kernel/l3regex.dtx +2024/08/28 | 100428 | macros/latex/required/l3kernel/l3seq.dtx +2024/08/28 | 91719 | macros/latex/required/l3kernel/l3skip.dtx +2024/08/28 | 40727 | macros/latex/required/l3kernel/l3sort.dtx +2024/08/28 | 113735 | macros/latex/required/l3kernel/l3str-convert.dtx +2024/08/28 | 82463 | macros/latex/required/l3kernel/l3str.dtx +2024/08/28 | 296814 | macros/latex/required/l3kernel/l3styleguide.pdf +2024/08/28 | 11882 | macros/latex/required/l3kernel/l3styleguide.tex +2024/08/28 | 231657 | macros/latex/required/l3kernel/l3syntax-changes.pdf +2024/08/28 | 6219 | macros/latex/required/l3kernel/l3syntax-changes.tex +2024/08/28 | 43211 | macros/latex/required/l3kernel/l3sys.dtx +2024/08/28 | 242449 | macros/latex/required/l3kernel/l3term-glossary.pdf +2024/08/28 | 7079 | macros/latex/required/l3kernel/l3term-glossary.tex +2024/08/28 | 76370 | macros/latex/required/l3kernel/l3text-case.dtx +2024/08/28 | 49000 | macros/latex/required/l3kernel/l3text.dtx +2024/08/28 | 16624 | macros/latex/required/l3kernel/l3text-map.dtx +2024/08/28 | 20460 | macros/latex/required/l3kernel/l3text-purify.dtx +2024/08/28 | 63576 | macros/latex/required/l3kernel/l3tl-analysis.dtx +2024/08/28 | 13292 | macros/latex/required/l3kernel/l3tl-build.dtx +2024/08/28 | 149633 | macros/latex/required/l3kernel/l3tl.dtx +2024/08/28 | 117222 | macros/latex/required/l3kernel/l3token.dtx +2024/08/28 | 35639 | macros/latex/required/l3kernel/l3unicode.dtx +2024/08/28 | 3078 | macros/latex/required/l3kernel/README.md +2024/08/28 | 25376 | macros/latex/required/l3kernel/source3body.tex +2024/08/28 | 7611739 | macros/latex/required/l3kernel/source3.pdf +2024/08/28 | 2282 | macros/latex/required/l3kernel/source3.tex +2024/08/28 | 14091370 | macros/latex/required/l3kernel.zip 2024/06/17 | 1603 | macros/latex/required/latexbug/changes.txt 2024/06/17 | 61454 | macros/latex/required/latexbug/latexbug.dtx 2024/06/17 | 1963 | macros/latex/required/latexbug/latexbug.ins @@ -297337,73 +297415,6 @@ 2003/10/09 | 8789 | support/bibtex-gen/bibtex.pl 2003/08/25 | 1451 | support/bibtex-gen/bibtex.template 2006/03/20 | 3841 | support/bibtex-gen.zip -2023/08/21 | 2416 | support/bibtexperllibs/BibTeX-Parser/Changes -2023/08/21 | 554 | support/bibtexperllibs/BibTeX-Parser/dist.ini -2023/08/21 | 9930 | support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Author.pm -2023/08/21 | 9188 | support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Entry.pm -2023/08/21 | 8609 | support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser.pm -2023/08/21 | 18414 | support/bibtexperllibs/BibTeX-Parser/LICENSE -2023/08/21 | 1598 | support/bibtexperllibs/BibTeX-Parser/Makefile.PL -2023/11/18 | 799 | support/bibtexperllibs/BibTeX-Parser/Makefile.TDS -2023/08/21 | 749 | support/bibtexperllibs/BibTeX-Parser/MANIFEST -2023/08/21 | 655 | support/bibtexperllibs/BibTeX-Parser/notes -2023/08/21 | 272 | support/bibtexperllibs/BibTeX-Parser/README -2023/08/21 | 234 | support/bibtexperllibs/BibTeX-Parser/t/00-load.t -2023/08/21 | 794 | support/bibtexperllibs/BibTeX-Parser/t/01-parse.t -2023/08/21 | 873 | support/bibtexperllibs/BibTeX-Parser/t/02-parse_string.t -2023/08/21 | 3392 | support/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t -2023/08/21 | 997 | support/bibtexperllibs/BibTeX-Parser/t/04-entry.t -2023/08/21 | 2951 | support/bibtexperllibs/BibTeX-Parser/t/05-author.t -2023/08/21 | 1436 | support/bibtexperllibs/BibTeX-Parser/t/06-parse_complex.t -2023/08/21 | 869 | support/bibtexperllibs/BibTeX-Parser/t/07-parse_englishbib.t -2023/08/21 | 495 | support/bibtexperllibs/BibTeX-Parser/t/08-parse_large.t -2023/08/21 | 1224 | support/bibtexperllibs/BibTeX-Parser/t/09-complex.t -2023/08/21 | 1454 | support/bibtexperllibs/BibTeX-Parser/t/10-funnyname.t -2023/08/21 | 714 | support/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t -2023/08/21 | 389 | support/bibtexperllibs/BibTeX-Parser/t/12-von_token.t -2023/08/21 | 735 | support/bibtexperllibs/BibTeX-Parser/t/13_output.t -2023/08/21 | 1332 | support/bibtexperllibs/BibTeX-Parser/t/14-extratext.t -2023/08/21 | 1742 | support/bibtexperllibs/BibTeX-Parser/t/15-capitalization.t -2023/08/21 | 163 | support/bibtexperllibs/BibTeX-Parser/t/bibs/01.bib -2023/08/21 | 451 | support/bibtexperllibs/BibTeX-Parser/t/bibs/06.bib -2023/08/21 | 329 | support/bibtexperllibs/BibTeX-Parser/t/bibs/09-complex.bib -2023/08/21 | 165 | support/bibtexperllibs/BibTeX-Parser/t/bibs/10-funnyname.bib -2023/08/21 | 507 | support/bibtexperllibs/BibTeX-Parser/t/bibs/14-extratext.bib -2023/08/21 | 709 | support/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib -2023/08/22 | 65 | support/bibtexperllibs/BibTeX-Parser/t/bibs/endnote.txt -2023/08/22 | 286 | support/bibtexperllibs/BibTeX-Parser/t/bibs/engineering_village.txt -2023/08/21 | 1635 | support/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib -2023/08/22 | 885 | support/bibtexperllibs/BibTeX-Parser/t/bibs/mathscinet.txt -2023/08/21 | 1891 | support/bibtexperllibs/BibTeX-Parser/t/bug66325.t -2023/08/21 | 733 | support/bibtexperllibs/BibTeX-Parser/t/bug67419.t -2023/08/21 | 2522 | support/bibtexperllibs/BibTeX-Parser/t/cleaned_field.t -2023/08/21 | 551 | support/bibtexperllibs/BibTeX-Parser/t/pod-coverage.t -2023/08/21 | 241 | support/bibtexperllibs/BibTeX-Parser/t/pod.t -2023/08/21 | 501 | support/bibtexperllibs/BibTeX-Parser/t/release-pod-coverage.t -2023/08/21 | 296 | support/bibtexperllibs/BibTeX-Parser/t/release-pod-syntax.t -2023/11/18 | 741 | support/bibtexperllibs/LaTeX-ToUnicode/Changes -2023/11/18 | 408 | support/bibtexperllibs/LaTeX-ToUnicode/dist.ini -2023/08/21 | 829 | support/bibtexperllibs/LaTeX-ToUnicode/head.ltx -2023/11/18 | 191418 | support/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf -2023/11/18 | 28561 | support/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode.pm -2023/11/18 | 18997 | support/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode/Tables.pm -2023/11/18 | 18210 | support/bibtexperllibs/LaTeX-ToUnicode/LICENSE -2023/11/18 | 2877 | support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.1 -2023/11/18 | 2226 | support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf -2023/11/18 | 1153 | support/bibtexperllibs/LaTeX-ToUnicode/Makefile.PL -2023/11/18 | 1398 | support/bibtexperllibs/LaTeX-ToUnicode/Makefile.TDS -2023/11/18 | 256 | support/bibtexperllibs/LaTeX-ToUnicode/MANIFEST -2023/08/21 | 436 | support/bibtexperllibs/LaTeX-ToUnicode/README -2023/08/21 | 3775 | support/bibtexperllibs/LaTeX-ToUnicode/script/convert.pl -2023/08/21 | 5575 | support/bibtexperllibs/LaTeX-ToUnicode/script/ltx2unitxt -2023/11/18 | 1958 | support/bibtexperllibs/LaTeX-ToUnicode/t/convert.t -2023/08/21 | 501 | support/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-coverage.t -2023/08/21 | 296 | support/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-syntax.t -2023/08/21 | 307 | support/bibtexperllibs/LaTeX-ToUnicode/t/release-synopsis.t -2023/08/21 | 261 | support/bibtexperllibs/LaTeX-ToUnicode/weaver.ini -2023/11/18 | 840 | support/bibtexperllibs/Makefile -2023/11/18 | 1805 | support/bibtexperllibs/README -2023/11/19 | 264571 | support/bibtexperllibs.zip 1995/02/03 | 34561 | support/bm2ltx/b2l_src.zip 1995/02/02 | 87853 | support/bm2ltx/bm2ltx.exe 1994/12/21 | 60990 | support/bm2ltx/EMX.DLL @@ -302910,7 +302921,7 @@ 2021/05/03 | 629 | support/TeX4ht/doc/README 2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex 2021/05/11 | 262 | support/TeX4ht/README -2024/08/19 | 258329 | support/TeX4ht/source/ChangeLog +2024/08/27 | 258522 | 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 @@ -302970,7 +302981,7 @@ 2021/05/03 | 90707 | support/TeX4ht/source/tex4ht-jsml-xtpipes.tex 2024/07/28 | 9026 | support/TeX4ht/source/tex4ht-mathjax.tex 2021/05/03 | 102444 | support/TeX4ht/source/tex4ht-mathltx.tex -2024/08/19 | 167115 | support/TeX4ht/source/tex4ht-mathml.tex +2024/08/27 | 167216 | support/TeX4ht/source/tex4ht-mathml.tex 2021/05/03 | 8860 | support/TeX4ht/source/tex4ht-mathplayer.tex 2023/09/11 | 46498 | support/TeX4ht/source/tex4ht-mkht.tex 2021/05/03 | 26652 | support/TeX4ht/source/tex4ht-moz.tex @@ -310127,8 +310138,8 @@ 2019/02/28 | 1932 | systems/texlive/tlnet/archive/doipubmed.r15878.tar.xz 2019/02/28 | 4020 | systems/texlive/tlnet/archive/doipubmed.source.r15878.tar.xz 2019/02/28 | 2152 | systems/texlive/tlnet/archive/doi.r48634.tar.xz -2024/08/27 | 6878588 | systems/texlive/tlnet/archive/domaincoloring.doc.r72110.tar.xz -2024/08/27 | 7192 | systems/texlive/tlnet/archive/domaincoloring.r72110.tar.xz +2024/08/28 | 13142248 | systems/texlive/tlnet/archive/domaincoloring.doc.r72119.tar.xz +2024/08/28 | 7804 | systems/texlive/tlnet/archive/domaincoloring.r72119.tar.xz 2020/05/27 | 63244 | systems/texlive/tlnet/archive/domitian.doc.r55286.tar.xz 2020/05/27 | 1376968 | systems/texlive/tlnet/archive/domitian.r55286.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/dosepsbin.aarch64-linux.r46208.tar.xz @@ -318681,13 +318692,13 @@ 2024/03/01 | 90916 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r70276.tar.xz 2024/03/01 | 88408 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r70286.tar.xz 2024/03/08 | 70304 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r70489.tar.xz -2024/08/20 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r72069.tar.xz +2024/08/28 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r72120.tar.xz 2024/03/01 | 90856 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r70276.tar.xz 2024/03/01 | 91840 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r70276.tar.xz 2024/03/01 | 76840 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r70286.tar.xz 2024/03/01 | 86840 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r70276.tar.xz -2024/08/20 | 1126780 | systems/texlive/tlnet/archive/tex4ht.r72069.tar.xz -2024/08/20 | 1497008 | systems/texlive/tlnet/archive/tex4ht.source.r72069.tar.xz +2024/08/28 | 1126660 | systems/texlive/tlnet/archive/tex4ht.r72120.tar.xz +2024/08/28 | 1497016 | systems/texlive/tlnet/archive/tex4ht.source.r72120.tar.xz 2024/03/01 | 185964 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r70274.tar.xz 2024/03/01 | 61988 | systems/texlive/tlnet/archive/tex4ht.windows.r70269.tar.xz 2024/03/11 | 57948 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r70560.tar.xz @@ -318965,7 +318976,7 @@ 2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz -2024/08/27 | 436488 | systems/texlive/tlnet/archive/texlive-scripts.doc.r72115.tar.xz +2024/08/28 | 436444 | systems/texlive/tlnet/archive/texlive-scripts.doc.r72121.tar.xz 2024/07/09 | 908 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r71749.tar.xz 2024/07/09 | 920 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r71749.tar.xz 2024/07/09 | 908 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r71749.tar.xz @@ -318987,7 +318998,7 @@ 2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz -2024/08/27 | 114460 | systems/texlive/tlnet/archive/texlive-scripts.r72115.tar.xz +2024/08/28 | 114472 | systems/texlive/tlnet/archive/texlive-scripts.r72121.tar.xz 2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz 2024/05/10 | 60592 | systems/texlive/tlnet/archive/texlive-scripts.windows.r71215.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz @@ -319848,9 +319859,9 @@ 2019/02/28 | 13868 | systems/texlive/tlnet/archive/uaclasses.source.r15878.tar.xz 2021/01/08 | 30020 | systems/texlive/tlnet/archive/uafthesis.doc.r57349.tar.xz 2021/01/08 | 7548 | systems/texlive/tlnet/archive/uafthesis.r57349.tar.xz -2024/06/25 | 4373580 | systems/texlive/tlnet/archive/uantwerpendocs.doc.r71617.tar.xz -2024/06/25 | 6475984 | systems/texlive/tlnet/archive/uantwerpendocs.r71617.tar.xz -2024/06/25 | 45884 | systems/texlive/tlnet/archive/uantwerpendocs.source.r71617.tar.xz +2024/08/28 | 4374068 | systems/texlive/tlnet/archive/uantwerpendocs.doc.r72118.tar.xz +2024/08/28 | 6475988 | systems/texlive/tlnet/archive/uantwerpendocs.r72118.tar.xz +2024/08/28 | 45892 | systems/texlive/tlnet/archive/uantwerpendocs.source.r72118.tar.xz 2019/02/28 | 106832 | systems/texlive/tlnet/archive/uassign.doc.r38459.tar.xz 2019/02/28 | 1984 | systems/texlive/tlnet/archive/uassign.r38459.tar.xz 2023/03/21 | 273308 | systems/texlive/tlnet/archive/ucalgmthesis.doc.r66602.tar.xz @@ -320940,16 +320951,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2024/07/20 | 125851 | systems/texlive/tlnet/install-tl -2024/08/27 | 5750776 | systems/texlive/tlnet/install-tl-unx.tar.gz -2024/08/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2024/08/27 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2024/08/28 | 5751679 | systems/texlive/tlnet/install-tl-unx.tar.gz +2024/08/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/08/28 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2024/04/13 | 5743 | systems/texlive/tlnet/install-tl-windows.bat -2024/08/27 | 27716318 | systems/texlive/tlnet/install-tl-windows.exe -2024/08/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2024/08/27 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2024/08/27 | 34425918 | systems/texlive/tlnet/install-tl.zip -2024/08/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2024/08/27 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2024/08/28 | 27717619 | systems/texlive/tlnet/install-tl-windows.exe +2024/08/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2024/08/28 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2024/08/28 | 34425918 | systems/texlive/tlnet/install-tl.zip +2024/08/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2024/08/28 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2024/03/13 | 1229 | systems/texlive/tlnet/README.md 2024/03/13 | 0 | systems/texlive/tlnet/TEXLIVE_2024 2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -320959,7 +320970,7 @@ 2024/01/02 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2024/07/29 | 50743 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2024/08/27 | 7608 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2024/08/28 | 7674 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2024/07/03 | 228633 | 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 @@ -321001,12 +321012,12 @@ 2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2024/05/02 | 5898 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2024/08/27 | 19576631 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2024/08/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2024/08/28 | 19576632 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2024/08/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2024/06/22 | 87725 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2024/08/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2024/08/27 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2024/08/27 | 2588288 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/08/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2024/08/28 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2024/08/28 | 2589848 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -332643,7 +332654,7 @@ 2014/07/05 | 611 | systems/win32/yandy/README 2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz 2014/07/05 | 1012416 | systems/win32/yandy.zip -2024/08/28 | 186 | timestamp +2024/08/29 | 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 Binary files differindex 2f846f3ff5..b112eaafa3 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index 31cca08511..790e179c7c 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,3 +1,185 @@ +2024/08/28 | 9999 | macros/latex/required/l3kernel/l3news10.tex +2024/08/28 | 9465 | macros/latex/required/l3kernel/l3news08.tex +2024/08/28 | 9445 | macros/latex/required/l3kernel/l3fp-assign.dtx +2024/08/28 | 91719 | macros/latex/required/l3kernel/l3skip.dtx +2024/08/28 | 90308 | macros/latex/required/l3kernel/l3int.dtx +2024/08/28 | 88794 | macros/latex/required/l3kernel/l3expan.dtx +2024/08/28 | 88239 | macros/latex/required/l3kernel/l3coffins.dtx +2024/08/28 | 87817 | macros/latex/required/l3kernel/l3box.dtx +2024/08/28 | 8658 | macros/latex/contrib/l3packages/CHANGELOG.md +2024/08/28 | 8481 | macros/latex/required/l3kernel/l3news11.tex +2024/08/28 | 84789 | macros/latex/required/l3kernel/l3fp-basics.dtx +2024/08/28 | 84537 | macros/latex/contrib/l3packages/xparse-2018-04-12.sty +2024/08/28 | 83835 | macros/latex/required/l3kernel/l3msg.dtx +2024/08/28 | 83398 | macros/latex/required/l3kernel/l3clist.dtx +2024/08/28 | 83133 | macros/latex/required/l3kernel/l3prefixes.pdf +2024/08/28 | 82463 | macros/latex/required/l3kernel/l3str.dtx +2024/08/28 | 80271 | macros/latex/required/l3kernel/l3names.dtx +2024/08/28 | 80215 | macros/latex/contrib/l3packages/xparse-generic.tex +2024/08/28 | 7831 | macros/latex/required/l3kernel/l3fp-functions.dtx +2024/08/28 | 7804 | systems/texlive/tlnet/archive/domaincoloring.r72119.tar.xz +2024/08/28 | 7674 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2024/08/28 | 76535 | macros/latex/required/l3kernel/l3fp.dtx +2024/08/28 | 76370 | macros/latex/required/l3kernel/l3text-case.dtx +2024/08/28 | 7611739 | macros/latex/required/l3kernel/source3.pdf +2024/08/28 | 7464 | macros/latex/contrib/ocgx2/ChangeLog +2024/08/28 | 7401757 | install/macros/latex/contrib/media9.tds.zip +2024/08/28 | 7396467 | macros/latex/contrib/media9.zip +2024/08/28 | 73845 | macros/latex/required/l3kernel/l3fp-trig.dtx +2024/08/28 | 7372 | macros/latex/contrib/l3packages/xfp.dtx +2024/08/28 | 71792 | macros/latex/required/l3kernel/expl3.dtx +2024/08/28 | 70830 | macros/latex/required/l3kernel/l3prg.dtx +2024/08/28 | 7079 | macros/latex/required/l3kernel/l3term-glossary.tex +2024/08/28 | 6727 | macros/latex/contrib/enverb/preamble-examples.tex +2024/08/28 | 6677 | macros/latex/required/l3kernel/l3news02.tex +2024/08/28 | 6482 | macros/latex/required/l3kernel/l3news03.tex +2024/08/28 | 6475988 | systems/texlive/tlnet/archive/uantwerpendocs.r72118.tar.xz +2024/08/28 | 6433 | macros/latex/required/l3kernel/l3news06.tex +2024/08/28 | 6429 | macros/latex/required/l3kernel/l3.ins +2024/08/28 | 63576 | macros/latex/required/l3kernel/l3tl-analysis.dtx +2024/08/28 | 6219 | macros/latex/required/l3kernel/l3syntax-changes.tex +2024/08/28 | 6195 | macros/latex/contrib/l3packages/xparse-2020-10-01.sty +2024/08/28 | 610834 | macros/latex/required/l3kernel/expl3.pdf +2024/08/28 | 60727 | macros/latex/contrib/l3packages/xparse.dtx +2024/08/28 | 60595 | macros/latex/required/l3kernel/CHANGELOG.md +2024/08/28 | 599 | macros/latex/contrib/enverb/preamble-logo.tex +2024/08/28 | 5751679 | systems/texlive/tlnet/install-tl-unx.tar.gz +2024/08/28 | 565816 | macros/latex/required/l3kernel/l3doc.pdf +2024/08/28 | 5545 | macros/latex/contrib/enverb/doc-examples.tex +2024/08/28 | 551942 | macros/latex/contrib/l3packages/xparse.pdf +2024/08/28 | 5429 | macros/latex/required/l3kernel/l3news04.tex +2024/08/28 | 51096 | macros/latex/required/l3kernel/l3prefixes.csv +2024/08/28 | 51091 | macros/latex/required/l3kernel/l3fp-extended.dtx +2024/08/28 | 4977 | macros/latex/required/l3kernel/l3news07.tex +2024/08/28 | 49753 | macros/latex/contrib/l3packages/xtemplate-2023-10-10.sty +2024/08/28 | 4937 | macros/latex/required/l3kernel/l3news01.tex +2024/08/28 | 49321 | macros/latex/required/l3kernel/l3fp-expo.dtx +2024/08/28 | 4911 | macros/latex/required/l3kernel/l3fp-types.dtx +2024/08/28 | 49000 | macros/latex/required/l3kernel/l3text.dtx +2024/08/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2024/08/28 | 4890 | macros/latex/required/l3kernel/l3news.tex +2024/08/28 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2024/08/28 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2024/08/28 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2024/08/28 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2024/08/28 | 47237 | macros/latex/required/l3kernel/l3fp-aux.dtx +2024/08/28 | 4716 | macros/latex/required/l3kernel/l3news05.tex +2024/08/28 | 4699 | macros/latex/contrib/enverb/doc-keys.tex +2024/08/28 | 45892 | systems/texlive/tlnet/archive/uantwerpendocs.source.r72118.tar.xz +2024/08/28 | 4570 | macros/latex/required/l3kernel/l3legacy.dtx +2024/08/28 | 451434 | macros/latex/contrib/profmaquette.zip +2024/08/28 | 449112 | macros/latex/contrib/l3packages/xtemplate.pdf +2024/08/28 | 4374068 | systems/texlive/tlnet/archive/uantwerpendocs.doc.r72118.tar.xz +2024/08/28 | 436444 | systems/texlive/tlnet/archive/texlive-scripts.doc.r72121.tar.xz +2024/08/28 | 43211 | macros/latex/required/l3kernel/l3sys.dtx +2024/08/28 | 41859 | macros/latex/required/l3kernel/l3debug.dtx +2024/08/28 | 412980 | macros/latex/contrib/l3packages/l3keys2e.pdf +2024/08/28 | 4124457 | biblio/ctan-bibdata.zip +2024/08/28 | 40727 | macros/latex/required/l3kernel/l3sort.dtx +2024/08/28 | 396223 | macros/latex/required/l3kernel/l3news.pdf +2024/08/28 | 3708800 | biblio/ctan-bibdata/ctan.pdf +2024/08/28 | 3685849 | macros/latex/contrib/media9/doc/media9.pdf +2024/08/28 | 35639 | macros/latex/required/l3kernel/l3unicode.dtx +2024/08/28 | 353869 | macros/latex/contrib/enverb.zip +2024/08/28 | 35262 | macros/latex/required/l3kernel/l3quark.dtx +2024/08/28 | 346942 | macros/latex/contrib/enverb/enverb-doc.pdf +2024/08/28 | 34447 | macros/latex/required/l3kernel/l3cctab.dtx +2024/08/28 | 34425918 | systems/texlive/tlnet/install-tl.zip +2024/08/28 | 34125 | install/macros/latex/contrib/ocgx2.tds.zip +2024/08/28 | 332674 | macros/latex/contrib/l3packages/xfp.pdf +2024/08/28 | 33073 | macros/latex/contrib/ocgx2.zip +2024/08/28 | 31533 | macros/latex/required/l3kernel/l3intarray.dtx +2024/08/28 | 31020 | macros/latex/required/l3kernel/l3kernel-functions.dtx +2024/08/28 | 3078 | macros/latex/required/l3kernel/README.md +2024/08/28 | 305486 | macros/latex/required/l3kernel/l3regex.dtx +2024/08/28 | 296814 | macros/latex/required/l3kernel/l3styleguide.pdf +2024/08/28 | 2882209 | biblio/ctan-bibdata/ctan.bib +2024/08/28 | 28733 | macros/latex/contrib/l3packages/xtemplate.dtx +2024/08/28 | 2821 | macros/latex/required/l3kernel/l3prefixes.tex +2024/08/28 | 27717619 | systems/texlive/tlnet/install-tl-windows.exe +2024/08/28 | 26790 | macros/latex/required/l3kernel/l3pdf.dtx +2024/08/28 | 2666 | macros/latex/contrib/enverb/enverb-doc.tex +2024/08/28 | 2663 | macros/latex/contrib/enverb/doc-enverb.tex +2024/08/28 | 2589848 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/08/28 | 25376 | macros/latex/required/l3kernel/source3body.tex +2024/08/28 | 250161 | macros/latex/required/l3kernel/l3news09.pdf +2024/08/28 | 24949 | macros/latex/required/l3kernel/l3deprecation.dtx +2024/08/28 | 24900 | macros/latex/contrib/enverb/enverb.dtx +2024/08/28 | 242449 | macros/latex/required/l3kernel/l3term-glossary.pdf +2024/08/28 | 2384 | macros/latex/required/l3kernel/l3docstrip.dtx +2024/08/28 | 23831 | macros/latex/required/l3kernel/l3luatex.dtx +2024/08/28 | 23581 | macros/latex/required/l3kernel/l3fp-random.dtx +2024/08/28 | 23206 | macros/latex/required/l3kernel/l3fp-logic.dtx +2024/08/28 | 231657 | macros/latex/required/l3kernel/l3syntax-changes.pdf +2024/08/28 | 2282 | macros/latex/required/l3kernel/source3.tex +2024/08/28 | 21115 | macros/latex/contrib/ocgx2/ocgbase.sty +2024/08/28 | 205020 | macros/latex/required/l3kernel/l3news12.pdf +2024/08/28 | 20460 | macros/latex/required/l3kernel/l3text-purify.dtx +2024/08/28 | 20310 | macros/latex/required/l3kernel/l3fp-symbolic.dtx +2024/08/28 | 19637 | macros/latex/required/l3kernel/l3fp-convert.dtx +2024/08/28 | 1961 | macros/latex/contrib/enverb/doc-using-contents.tex +2024/08/28 | 19576632 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2024/08/28 | 19547 | macros/latex/required/l3kernel/l3bitset.dtx +2024/08/28 | 1949 | macros/latex/required/l3kernel/interface3.tex +2024/08/28 | 18528 | macros/latex/required/l3kernel/l3fp-round.dtx +2024/08/28 | 1791477 | macros/latex/required/l3kernel/interface3.pdf +2024/08/28 | 1777229 | install/macros/latex/contrib/l3packages.tds.zip +2024/08/28 | 1768561 | macros/latex/contrib/l3packages.zip +2024/08/28 | 170102 | macros/latex/required/l3kernel/l3news11.pdf +2024/08/28 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/08/28 | 16624 | macros/latex/required/l3kernel/l3text-map.dtx +2024/08/28 | 163484 | macros/latex/required/l3kernel/l3news08.pdf +2024/08/28 | 162116 | macros/latex/contrib/media9/media9.sty +2024/08/28 | 16019 | macros/latex/contrib/media9/ChangeLog +2024/08/28 | 159900 | macros/latex/required/l3kernel/l3doc.dtx +2024/08/28 | 1561 | macros/latex/contrib/l3packages/xtemplate.ins +2024/08/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2024/08/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/08/28 | 151591 | macros/latex/required/l3kernel/l3news06.pdf +2024/08/28 | 151526 | macros/latex/required/l3kernel/l3docstrip.pdf +2024/08/28 | 150919 | macros/latex/required/l3kernel/l3news02.pdf +2024/08/28 | 150302 | macros/latex/required/l3kernel/l3news10.pdf +2024/08/28 | 1497016 | systems/texlive/tlnet/archive/tex4ht.source.r72120.tar.xz +2024/08/28 | 149633 | macros/latex/required/l3kernel/l3tl.dtx +2024/08/28 | 14913 | macros/latex/required/l3kernel/l3news12.tex +2024/08/28 | 148747 | macros/latex/required/l3kernel/l3news03.pdf +2024/08/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2024/08/28 | 1456 | macros/latex/contrib/enverb/README.md +2024/08/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2024/08/28 | 1445 | macros/latex/contrib/l3packages/l3keys2e-demo.tex +2024/08/28 | 144193 | macros/latex/required/l3kernel/l3file.dtx +2024/08/28 | 14361138 | install/macros/latex/required/l3kernel.tds.zip +2024/08/28 | 14152 | macros/latex/required/l3kernel/l3flag.dtx +2024/08/28 | 14091370 | macros/latex/required/l3kernel.zip +2024/08/28 | 138821 | macros/latex/required/l3kernel/l3basics.dtx +2024/08/28 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r72120.tar.xz +2024/08/28 | 13292 | macros/latex/required/l3kernel/l3tl-build.dtx +2024/08/28 | 13142248 | systems/texlive/tlnet/archive/domaincoloring.doc.r72119.tar.xz +2024/08/28 | 130536 | macros/latex/required/l3kernel/l3keys.dtx +2024/08/28 | 12955 | macros/latex/required/l3kernel/l3bootstrap.dtx +2024/08/28 | 12946 | macros/latex/required/l3kernel/l3fparray.dtx +2024/08/28 | 128344 | macros/latex/required/l3kernel/l3news07.pdf +2024/08/28 | 12832 | macros/latex/required/l3kernel/l3fp-traps.dtx +2024/08/28 | 1272 | macros/latex/contrib/l3packages/xparse.ins +2024/08/28 | 12304 | macros/latex/contrib/l3packages/l3keys2e.dtx +2024/08/28 | 122959 | macros/latex/required/l3kernel/l3news01.pdf +2024/08/28 | 1228 | macros/latex/contrib/l3packages/l3keys2e.ins +2024/08/28 | 1191 | macros/latex/contrib/l3packages/xfp.ins +2024/08/28 | 11882 | macros/latex/required/l3kernel/l3styleguide.tex +2024/08/28 | 117222 | macros/latex/required/l3kernel/l3token.dtx +2024/08/28 | 114754 | macros/latex/required/l3kernel/l3news04.pdf +2024/08/28 | 114472 | systems/texlive/tlnet/archive/texlive-scripts.r72121.tar.xz +2024/08/28 | 113735 | macros/latex/required/l3kernel/l3str-convert.dtx +2024/08/28 | 1126660 | systems/texlive/tlnet/archive/tex4ht.r72120.tar.xz +2024/08/28 | 112524 | macros/latex/required/l3kernel/l3news05.pdf +2024/08/28 | 112286 | macros/latex/required/l3kernel/l3color.dtx +2024/08/28 | 109151 | macros/latex/contrib/ocgx2/ocgx2.sty +2024/08/28 | 108493 | macros/latex/required/l3kernel/l3prop.dtx +2024/08/28 | 107383 | macros/latex/required/l3kernel/l3news09.tex +2024/08/28 | 105021 | macros/latex/required/l3kernel/l3fp-parse.dtx +2024/08/28 | 101061 | macros/latex/contrib/media9/pdfbase.sty +2024/08/28 | 1005 | macros/latex/contrib/l3packages/README.md +2024/08/28 | 100428 | macros/latex/required/l3kernel/l3seq.dtx 2024/08/27 | 9627 | macros/latex/contrib/profcollege/latex/PfCLabyrintheJeu.tex 2024/08/27 | 9559 | macros/latex/contrib/profcollege/latex/PfCReseauxSociaux.tex 2024/08/27 | 94924 | macros/latex/contrib/profcollege/latex/PfCTableauxUnites.tex @@ -20,15 +202,12 @@ 2024/08/27 | 7766 | macros/latex/contrib/profcollege/latex/PfCRangementNombres.tex 2024/08/27 | 7742 | macros/latex/contrib/profcollege/latex/PfCHorloge.tex 2024/08/27 | 7654 | macros/latex/contrib/profcollege/latex/PfCCible.tex -2024/08/27 | 7608 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2024/08/27 | 7598 | macros/latex/contrib/profcollege/latex/PfCNumerationsAnciennes.tex 2024/08/27 | 7449 | macros/latex/contrib/profcollege/latex/PfCNombreAstral.tex 2024/08/27 | 7360 | macros/latex/contrib/profcollege/latex/PfCFrise.tex 2024/08/27 | 7274 | macros/latex/contrib/profcollege/latex/PfCPuzzleSommePyramide.tex 2024/08/27 | 7226 | macros/latex/contrib/profcollege/latex/PfCColorilude.tex -2024/08/27 | 7192 | systems/texlive/tlnet/archive/domaincoloring.r72110.tar.xz 2024/08/27 | 7065 | macros/latex/contrib/profcollege/latex/PfCGrimuku.tex -2024/08/27 | 6878588 | systems/texlive/tlnet/archive/domaincoloring.doc.r72110.tar.xz 2024/08/27 | 6736 | macros/latex/contrib/profcollege/latex/PfCMulJal.tex 2024/08/27 | 6702 | macros/latex/contrib/profcollege/latex/PfCRepresenterEntier.tex 2024/08/27 | 6649 | macros/latex/contrib/profcollege/latex/PfCMentalo.tex @@ -43,7 +222,6 @@ 2024/08/27 | 5872 | systems/texlive/tlnet/archive/luafindfont.r72111.tar.xz 2024/08/27 | 5843 | macros/latex/contrib/profcollege/latex/PfCCalculsDetailles.tex 2024/08/27 | 5836 | macros/latex/contrib/profcollege/latex/PfCConversion.tex -2024/08/27 | 5750776 | systems/texlive/tlnet/install-tl-unx.tar.gz 2024/08/27 | 57382 | macros/latex/contrib/profcollege/latex/PfCThales.tex 2024/08/27 | 5709797 | macros/latex/contrib/profcollege/doc/profcollege-doc.zip 2024/08/27 | 5493 | macros/latex/contrib/profcollege/latex/PfCMidpoint.tex @@ -54,11 +232,6 @@ 2024/08/27 | 5231 | macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex 2024/08/27 | 5100 | macros/latex/contrib/profcollege/latex/PfCCalculatrice.tex 2024/08/27 | 505689 | macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf -2024/08/27 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2024/08/27 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2024/08/27 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2024/08/27 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2024/08/27 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2024/08/27 | 4869 | macros/latex/contrib/profcollege/latex/PfCCryptarithme.tex 2024/08/27 | 4835128 | systems/texlive/tlnet/archive/acmart.doc.r72113.tar.xz 2024/08/27 | 4824 | macros/latex/contrib/profcollege/latex/PfCFutoshiki.tex @@ -70,25 +243,22 @@ 2024/08/27 | 4440 | macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex 2024/08/27 | 4387 | macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex 2024/08/27 | 437383 | macros/latex/contrib/jsonparse.zip -2024/08/27 | 436488 | systems/texlive/tlnet/archive/texlive-scripts.doc.r72115.tar.xz 2024/08/27 | 43404 | systems/texlive/tlnet/archive/acmart.r72113.tar.xz 2024/08/27 | 4326 | macros/latex/contrib/profcollege/latex/PfCFractionAireCarre.tex 2024/08/27 | 430658 | macros/latex/contrib/jsonparse/jsonparse-doc.pdf 2024/08/27 | 4286 | macros/latex/contrib/profcollege/latex/PfCDomino.tex 2024/08/27 | 4194 | macros/latex/contrib/profcollege/latex/PfCVisualisationMulDeci.tex -2024/08/27 | 4124457 | biblio/ctan-bibdata.zip 2024/08/27 | 4113 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex 2024/08/27 | 4004 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex 2024/08/27 | 3956 | macros/latex/contrib/profcollege/latex/PfCEratosthene.tex 2024/08/27 | 3889 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex 2024/08/27 | 3780 | macros/latex/contrib/profcollege/latex/PfCDefiCalc.tex -2024/08/27 | 3708800 | biblio/ctan-bibdata/ctan.pdf 2024/08/27 | 3603 | macros/latex/contrib/profcollege/latex/PfCFubuki.tex 2024/08/27 | 35949 | macros/latex/contrib/profcollege/latex/PfCPavage.tex 2024/08/27 | 3577 | macros/latex/contrib/profcollege/latex/PfCBarresCalculs.tex -2024/08/27 | 34425918 | systems/texlive/tlnet/install-tl.zip 2024/08/27 | 34199 | macros/latex/contrib/profcollege/latex/PfCSolides.tex 2024/08/27 | 3412 | macros/latex/contrib/profcollege/latex/PfCFicheMemo.tex +2024/08/27 | 333019 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf 2024/08/27 | 3295 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex 2024/08/27 | 3225047 | macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf 2024/08/27 | 31967 | macros/latex/contrib/profcollege/latex/PfCCartesJeux.tex @@ -99,18 +269,16 @@ 2024/08/27 | 30124 | macros/latex/contrib/profcollege/latex/PfCUrneProba.tex 2024/08/27 | 29956 | macros/latex/contrib/profcollege/latex/PfCDecomposerNombrePremier.tex 2024/08/27 | 29499 | macros/latex/contrib/profcollege/latex/PfCLabyrintheNombre.tex -2024/08/27 | 2882209 | biblio/ctan-bibdata/ctan.bib 2024/08/27 | 28541 | macros/latex/contrib/jsonparse/jsonparse-doc.tex 2024/08/27 | 28269 | macros/latex/contrib/profcollege/latex/PfCRappelsFormules.tex 2024/08/27 | 2779 | macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex -2024/08/27 | 27716318 | systems/texlive/tlnet/install-tl-windows.exe 2024/08/27 | 27549 | macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf 2024/08/27 | 2753 | macros/latex/contrib/profcollege/latex/PfCQuiSuisJe.tex 2024/08/27 | 27503 | macros/latex/contrib/profcollege/latex/PfCPythagore.tex 2024/08/27 | 2733 | macros/latex/contrib/profcollege/latex/PfCKakurasu.tex 2024/08/27 | 26407 | macros/latex/contrib/profcollege/latex/ProfCollege.sty 2024/08/27 | 2625 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex -2024/08/27 | 2588288 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/08/27 | 258522 | support/TeX4ht/source/ChangeLog 2024/08/27 | 25681 | macros/latex/contrib/profcollege/latex/PfCPavageAvecMotifImage.tex 2024/08/27 | 25441 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex 2024/08/27 | 24920 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex @@ -128,7 +296,6 @@ 2024/08/27 | 21248 | systems/texlive/tlnet/archive/pxjahyper.r72114.tar.xz 2024/08/27 | 20467 | macros/latex/contrib/profcollege/latex/PfCRose.tex 2024/08/27 | 1996 | macros/latex/contrib/profcollege/latex/PfCMotsEmpiles.tex -2024/08/27 | 19576631 | systems/texlive/tlnet/tlpkg/texlive.tlpdb 2024/08/27 | 19284 | macros/latex/contrib/profcollege/latex/PfCPattern.tex 2024/08/27 | 1913 | macros/latex/contrib/profcollege/latex/PfCRapido.tex 2024/08/27 | 19046524 | macros/latex/contrib/profcollege.zip @@ -144,22 +311,19 @@ 2024/08/27 | 1717412 | systems/texlive/tlnet/archive/customenvs.doc.r72112.tar.xz 2024/08/27 | 16913 | macros/latex/contrib/profcollege/latex/PfCSerpent.tex 2024/08/27 | 16880 | macros/latex/contrib/profcollege/latex/PfCPyramideCalculs.tex -2024/08/27 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/08/27 | 167216 | support/TeX4ht/source/tex4ht-mathml.tex 2024/08/27 | 16529 | macros/latex/contrib/profcollege/latex/PfCResoudreEquation.tex 2024/08/27 | 16443 | macros/latex/contrib/profcollege/latex/PfCRepresenterFraction.tex +2024/08/27 | 164002 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty 2024/08/27 | 16325 | macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex 2024/08/27 | 16173 | macros/latex/contrib/profcollege/latex/PfCModeleBarre.tex 2024/08/27 | 16067 | macros/latex/contrib/profcollege/latex/PfCPropor.tex 2024/08/27 | 15996 | systems/texlive/tlnet/archive/customenvs.r72112.tar.xz 2024/08/27 | 15852 | macros/latex/contrib/profcollege/latex/PfCCartographie.tex 2024/08/27 | 15730 | macros/latex/contrib/profcollege/latex/PfCRepresentationGraphique.tex -2024/08/27 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2024/08/27 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 2024/08/27 | 15246 | macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex 2024/08/27 | 15125 | macros/latex/contrib/profcollege/latex/PfCMulArt.tex 2024/08/27 | 15091 | macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex -2024/08/27 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2024/08/27 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 2024/08/27 | 14478 | macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex 2024/08/27 | 14424 | macros/latex/contrib/profcollege/latex/PfCCAN.tex 2024/08/27 | 14409 | macros/latex/contrib/profcollege/latex/PfCDessinerRatio.tex @@ -182,7 +346,6 @@ 2024/08/27 | 11878 | macros/latex/contrib/profcollege/latex/PfCSommeAngles.tex 2024/08/27 | 1176 | macros/latex/contrib/profcollege/latex/PfCBonbon.tex 2024/08/27 | 11764 | macros/latex/contrib/profcollege/latex/PfCDefiTables.tex -2024/08/27 | 114460 | systems/texlive/tlnet/archive/texlive-scripts.r72115.tar.xz 2024/08/27 | 11430 | macros/latex/contrib/profcollege/latex/PfCCompteBon.tex 2024/08/27 | 11297 | macros/latex/contrib/profcollege/latex/PfCDessinAlgo.tex 2024/08/27 | 11275 | macros/latex/contrib/profcollege/latex/PfCProprietesDroites.tex @@ -195,6 +358,7 @@ 2024/08/27 | 108204 | macros/latex/contrib/profcollege/metapost/PfCScratch.mp 2024/08/27 | 10769 | macros/latex/contrib/profcollege/latex/PfCEnigmeAire.tex 2024/08/27 | 10627 | macros/latex/contrib/profcollege/latex/PfCCibleQOp.tex +2024/08/27 | 105641 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.zip 2024/08/27 | 10292 | macros/latex/contrib/profcollege/latex/PfCPapiers.tex 2024/08/27 | 10083 | macros/latex/contrib/profcollege/latex/PfCTriominos.tex 2024/08/27 | 10026 | macros/latex/contrib/profcollege/latex/PfCDecDeci.tex @@ -865,145 +1029,3 @@ 2024/08/22 | 1286484 | systems/texlive/tlnet/archive/siunitx.doc.r72080.tar.xz 2024/08/22 | 123744 | systems/texlive/tlnet/archive/siunitx.source.r72080.tar.xz 2024/08/22 | 112972 | systems/texlive/tlnet/archive/isosafety.doc.r72081.tar.xz -2024/08/21 | 978880 | systems/texlive/tlnet/archive/moremath.doc.r72072.tar.xz -2024/08/21 | 9736 | biblio/citation-style-language/citeproc-context.lua -2024/08/21 | 9507 | biblio/citation-style-language/CHANGELOG.md -2024/08/21 | 9408 | biblio/citation-style-language/citeproc-unicode.lua -2024/08/21 | 9190 | biblio/citation-style-language/citeproc-node-choose.lua -2024/08/21 | 91520 | biblio/citation-style-language/citeproc-bibtex-data.lua -2024/08/21 | 84519 | biblio/citation-style-language/apa.csl -2024/08/21 | 8222 | biblio/citation-style-language/american-political-science-association.csl -2024/08/21 | 8128 | biblio/citation-style-language/elsevier-harvard.csl -2024/08/21 | 7815 | biblio/citation-style-language/citeproc-node-style.lua -2024/08/21 | 77775 | macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex -2024/08/21 | 7380 | biblio/citation-style-language/citeproc-node-text.lua -2024/08/21 | 71069 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx -2024/08/21 | 70723 | biblio/citation-style-language/citeproc-output.lua -2024/08/21 | 7011 | biblio/citation-style-language/citeproc-node-locale.lua -2024/08/21 | 6813 | biblio/citation-style-language/citeproc-node-sort.lua -2024/08/21 | 6496 | systems/texlive/tlnet/archive/moremath.r72072.tar.xz -2024/08/21 | 6267 | biblio/citation-style-language/citeproc-ir-node.lua -2024/08/21 | 617 | biblio/citation-style-language/citeproc-lua.1 -2024/08/21 | 5834 | biblio/citation-style-language/nature.csl -2024/08/21 | 5211 | biblio/citation-style-language/citation-style-language.sty -2024/08/21 | 51813 | biblio/citation-style-language/citeproc-node-citation.lua -2024/08/21 | 5098 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx -2024/08/21 | 4983 | biblio/citation-style-language/citation-style-language-compatible.sty -2024/08/21 | 49224 | biblio/citation-style-language/chicago-fullnote-bibliography.csl -2024/08/21 | 480550 | macros/latex/contrib/biblatex-contrib/biblatex-publist.zip -2024/08/21 | 47674 | biblio/citation-style-language/chicago-note-bibliography.csl -2024/08/21 | 4581487 | install/biblio/citation-style-language.tds.zip -2024/08/21 | 4573853 | biblio/citation-style-language.zip -2024/08/21 | 454 | biblio/citation-style-language/citeproc.lua -2024/08/21 | 428272 | macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf -2024/08/21 | 4178 | biblio/citation-style-language/citeproc-cli.lua -2024/08/21 | 38783 | biblio/citation-style-language/citeproc-engine.lua -2024/08/21 | 37255 | biblio/citation-style-language/citeproc-node-names.lua -2024/08/21 | 3213 | biblio/citation-style-language/citeproc-node-label.lua -2024/08/21 | 32087 | biblio/citation-style-language/citeproc-util.lua -2024/08/21 | 30588 | systems/texlive/tlnet/archive/moremath.source.r72072.tar.xz -2024/08/21 | 28457 | biblio/citation-style-language/csl-locales-ru-RU.xml -2024/08/21 | 2836 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx -2024/08/21 | 27917 | biblio/citation-style-language/citeproc-manager.lua -2024/08/21 | 27141 | biblio/citation-style-language/csl-locales-hi-IN.xml -2024/08/21 | 27120 | biblio/citation-style-language/csl-locales-bg-BG.xml -2024/08/21 | 265 | biblio/citation-style-language/citeproc-lua.lua -2024/08/21 | 263 | biblio/citation-style-language/citation-style-language-data.sty -2024/08/21 | 26325 | biblio/citation-style-language/csl-locales-it-IT.xml -2024/08/21 | 26314 | biblio/citation-style-language/csl-locales-en-US.xml -2024/08/21 | 26220 | biblio/citation-style-language/csl-locales-th-TH.xml -2024/08/21 | 25960 | biblio/citation-style-language/csl-locales-lv-LV.xml -2024/08/21 | 25818 | biblio/citation-style-language/csl-locales-el-GR.xml -2024/08/21 | 25561 | biblio/citation-style-language/citation-style-language-bib.sty -2024/08/21 | 25487 | biblio/citation-style-language/csl-locales-pt-BR.xml -2024/08/21 | 25460 | biblio/citation-style-language/csl-locales-lt-LT.xml -2024/08/21 | 25355 | biblio/citation-style-language/csl-locales-pt-PT.xml -2024/08/21 | 25210 | biblio/citation-style-language/csl-locales-es-MX.xml -2024/08/21 | 25139 | biblio/citation-style-language/csl-locales-fr-FR.xml -2024/08/21 | 25122 | biblio/citation-style-language/csl-locales-en-GB.xml -2024/08/21 | 25063 | biblio/citation-style-language/csl-locales-nl-NL.xml -2024/08/21 | 25058 | biblio/citation-style-language/csl-locales-fa-IR.xml -2024/08/21 | 2503 | biblio/citation-style-language/citeproc-yaml.lua -2024/08/21 | 24889 | biblio/citation-style-language/csl-locales-fr-CA.xml -2024/08/21 | 2485 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx -2024/08/21 | 24841 | biblio/citation-style-language/csl-locales-sr-RS.xml -2024/08/21 | 2470 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx -2024/08/21 | 24689 | biblio/citation-style-language/csl-locales-km-KH.xml -2024/08/21 | 24689 | biblio/citation-style-language/csl-locales-de-AT.xml -2024/08/21 | 2467 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx -2024/08/21 | 24653 | biblio/citation-style-language/csl-locales-mn-MN.xml -2024/08/21 | 24611 | biblio/citation-style-language/csl-locales-de-DE.xml -2024/08/21 | 24534 | biblio/citation-style-language/csl-locales-he-IL.xml -2024/08/21 | 24518 | biblio/citation-style-language/csl-locales-vi-VN.xml -2024/08/21 | 24514 | biblio/citation-style-language/csl-locales-ja-JP.xml -2024/08/21 | 24419 | biblio/citation-style-language/csl-locales-sv-SE.xml -2024/08/21 | 24387 | biblio/citation-style-language/csl-locales-de-CH.xml -2024/08/21 | 24357 | biblio/citation-style-language/csl-locales-id-ID.xml -2024/08/21 | 24342 | biblio/citation-style-language/csl-locales-ro-RO.xml -2024/08/21 | 24337 | biblio/citation-style-language/csl-locales-tr-TR.xml -2024/08/21 | 24329 | biblio/citation-style-language/csl-locales-fi-FI.xml -2024/08/21 | 24286 | biblio/citation-style-language/csl-locales-cy-GB.xml -2024/08/21 | 24286 | biblio/citation-style-language/csl-locales-cs-CZ.xml -2024/08/21 | 24283 | biblio/citation-style-language/csl-locales-eu.xml -2024/08/21 | 24281 | biblio/citation-style-language/csl-locales-sk-SK.xml -2024/08/21 | 2421 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx -2024/08/21 | 24184 | biblio/citation-style-language/csl-locales-is-IS.xml -2024/08/21 | 24174 | biblio/citation-style-language/csl-locales-da-DK.xml -2024/08/21 | 24169 | biblio/citation-style-language/csl-locales-hu-HU.xml -2024/08/21 | 24149 | biblio/citation-style-language/csl-locales-pl-PL.xml -2024/08/21 | 24138 | biblio/citation-style-language/csl-locales-af-ZA.xml -2024/08/21 | 24120 | biblio/citation-style-language/csl-locales-ko-KR.xml -2024/08/21 | 24114 | biblio/citation-style-language/csl-locales-es-CL.xml -2024/08/21 | 240 | biblio/citation-style-language/DEPENDS.txt -2024/08/21 | 2409 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx -2024/08/21 | 24066 | biblio/citation-style-language/csl-locales-hr-HR.xml -2024/08/21 | 240562 | biblio/citation-style-language/citation-style-language-doc.pdf -2024/08/21 | 24042 | biblio/citation-style-language/csl-locales-sl-SI.xml -2024/08/21 | 24039 | biblio/citation-style-language/csl-locales-es-ES.xml -2024/08/21 | 24016 | biblio/citation-style-language/csl-locales-ca-AD.xml -2024/08/21 | 24007 | biblio/citation-style-language/csl-locales-la.xml -2024/08/21 | 23966 | biblio/citation-style-language/csl-locales-et-EE.xml -2024/08/21 | 2390 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx -2024/08/21 | 23895 | biblio/citation-style-language/citeproc-latex-data.lua -2024/08/21 | 23846 | biblio/citation-style-language/chicago-author-date.csl -2024/08/21 | 23517 | biblio/citation-style-language/citation-style-language-doc.tex -2024/08/21 | 2341 | biblio/citation-style-language/citeproc-nodes.lua -2024/08/21 | 23399 | biblio/citation-style-language/csl-locales-uk-UA.xml -2024/08/21 | 22529 | biblio/citation-style-language/csl-locales-ar.xml -2024/08/21 | 21785 | biblio/citation-style-language/csl-locales-zh-TW.xml -2024/08/21 | 21701 | biblio/citation-style-language/csl-locales-zh-CN.xml -2024/08/21 | 21693 | biblio/citation-style-language/citation-style-language-cite.sty -2024/08/21 | 21434 | biblio/citation-style-language/citeproc-element.lua -2024/08/21 | 21305 | biblio/citation-style-language/csl-locales-nb-NO.xml -2024/08/21 | 21251 | biblio/citation-style-language/csl-locales-nn-NO.xml -2024/08/21 | 2118 | biblio/citation-style-language/citeproc-node-layout.lua -2024/08/21 | 2051 | biblio/citation-style-language/citeproc-node-number.lua -2024/08/21 | 18578 | biblio/citation-style-language/citeproc-latex-parser.lua -2024/08/21 | 1837 | biblio/citation-style-language/README.md -2024/08/21 | 1792 | systems/texlive/tlnet/archive/collection-publishers.r72074.tar.xz -2024/08/21 | 17413 | biblio/citation-style-language/ieee.csl -2024/08/21 | 16647 | biblio/citation-style-language/citeproc-bibtex-parser.lua -2024/08/21 | 16107 | biblio/citation-style-language/modern-humanities-research-association.csl -2024/08/21 | 1544770 | macros/latex/contrib/siunitx.zip -2024/08/21 | 14783110 | biblio/citation-style-language/citeproc-journal-data.lua -2024/08/21 | 14320 | biblio/citation-style-language/citeproc-node-date.lua -2024/08/21 | 13560 | biblio/citation-style-language/citation-style-language-init.sty -2024/08/21 | 12878 | biblio/citation-style-language/vancouver.csl -2024/08/21 | 12830 | biblio/citation-style-language/citeproc-bibtex2csl.lua -2024/08/21 | 1246 | biblio/citation-style-language/citeproc-node-group.lua -2024/08/21 | 1221 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx -2024/08/21 | 1201 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx -2024/08/21 | 1199 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx -2024/08/21 | 1199 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx -2024/08/21 | 1198 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx -2024/08/21 | 1196 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx -2024/08/21 | 1195 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx -2024/08/21 | 1185 | macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx -2024/08/21 | 11594 | biblio/citation-style-language/modern-language-association.csl -2024/08/21 | 11496 | biblio/citation-style-language/citeproc-node-bibliography.lua -2024/08/21 | 11480 | biblio/citation-style-language/american-sociological-association.csl -2024/08/21 | 10993 | biblio/citation-style-language/american-medical-association.csl -2024/08/21 | 10723 | biblio/citation-style-language/harvard-cite-them-right.csl -2024/08/21 | 10588 | biblio/citation-style-language/american-chemical-society.csl -2024/08/21 | 10392 | macros/latex/contrib/biblatex-contrib/biblatex-publist/README -2024/08/21 | 1025 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx diff --git a/support/bibtexperllibs/BibTeX-Parser/Changes b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Changes index da5c2afb8e..da5c2afb8e 100644 --- a/support/bibtexperllibs/BibTeX-Parser/Changes +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Changes diff --git a/support/bibtexperllibs/BibTeX-Parser/LICENSE b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/LICENSE index 1a50e57d4d..1a50e57d4d 100644 --- a/support/bibtexperllibs/BibTeX-Parser/LICENSE +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/LICENSE diff --git a/support/bibtexperllibs/BibTeX-Parser/MANIFEST b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/MANIFEST index 032eea6a15..032eea6a15 100644 --- a/support/bibtexperllibs/BibTeX-Parser/MANIFEST +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/MANIFEST diff --git a/support/bibtexperllibs/BibTeX-Parser/Makefile.PL b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Makefile.PL index e095f253b0..e095f253b0 100644 --- a/support/bibtexperllibs/BibTeX-Parser/Makefile.PL +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Makefile.PL diff --git a/support/bibtexperllibs/BibTeX-Parser/Makefile.TDS b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Makefile.TDS index 780ebc0af1..780ebc0af1 100644 --- a/support/bibtexperllibs/BibTeX-Parser/Makefile.TDS +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Makefile.TDS diff --git a/support/bibtexperllibs/BibTeX-Parser/README b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/README index cb6f19b576..cb6f19b576 100644 --- a/support/bibtexperllibs/BibTeX-Parser/README +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/README diff --git a/support/bibtexperllibs/BibTeX-Parser/dist.ini b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/dist.ini index bc60ca9352..bc60ca9352 100644 --- a/support/bibtexperllibs/BibTeX-Parser/dist.ini +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/dist.ini diff --git a/support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser.pm b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser.pm index 2897d8495d..2897d8495d 100644 --- a/support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser.pm +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser.pm diff --git a/support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Author.pm b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Author.pm index a35e2073a6..a35e2073a6 100644 --- a/support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Author.pm +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Author.pm diff --git a/support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Entry.pm b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Entry.pm index d0bc9cc80b..d0bc9cc80b 100644 --- a/support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Entry.pm +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Entry.pm diff --git a/support/bibtexperllibs/BibTeX-Parser/notes b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/notes index 5e41df4090..5e41df4090 100644 --- a/support/bibtexperllibs/BibTeX-Parser/notes +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/notes diff --git a/support/bibtexperllibs/BibTeX-Parser/t/00-load.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/00-load.t index 9862dc7986..9862dc7986 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/00-load.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/00-load.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/01-parse.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/01-parse.t index 70e298d4be..70e298d4be 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/01-parse.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/01-parse.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/02-parse_string.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/02-parse_string.t index 90b87eba14..90b87eba14 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/02-parse_string.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/02-parse_string.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t index 6b4e4632bc..6b4e4632bc 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/04-entry.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/04-entry.t index 3ca9797011..3ca9797011 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/04-entry.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/04-entry.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/05-author.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/05-author.t index 45bc5413df..45bc5413df 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/05-author.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/05-author.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/06-parse_complex.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/06-parse_complex.t index 95a5848a71..95a5848a71 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/06-parse_complex.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/06-parse_complex.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/07-parse_englishbib.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/07-parse_englishbib.t index 3348a55248..3348a55248 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/07-parse_englishbib.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/07-parse_englishbib.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/08-parse_large.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/08-parse_large.t index 5375d9a062..5375d9a062 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/08-parse_large.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/08-parse_large.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/09-complex.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/09-complex.t index 56ce75cceb..56ce75cceb 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/09-complex.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/09-complex.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/10-funnyname.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/10-funnyname.t index 8ab48396e9..8ab48396e9 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/10-funnyname.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/10-funnyname.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t index 85a29be86f..85a29be86f 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/12-von_token.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/12-von_token.t index 6daceafa96..6daceafa96 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/12-von_token.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/12-von_token.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/13_output.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/13_output.t index 02fb1cd26f..02fb1cd26f 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/13_output.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/13_output.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/14-extratext.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/14-extratext.t index 0a663b043a..0a663b043a 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/14-extratext.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/14-extratext.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/15-capitalization.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/15-capitalization.t index 4254f5c12f..4254f5c12f 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/15-capitalization.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/15-capitalization.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/01.bib b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/01.bib index 7f6233d177..7f6233d177 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/01.bib +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/01.bib diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/06.bib b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/06.bib index 242ae662cc..242ae662cc 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/06.bib +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/06.bib diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/09-complex.bib b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/09-complex.bib index cacf322723..cacf322723 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/09-complex.bib +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/09-complex.bib diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/10-funnyname.bib b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/10-funnyname.bib index 050fbc0534..050fbc0534 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/10-funnyname.bib +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/10-funnyname.bib diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/14-extratext.bib b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/14-extratext.bib index 56f96aa01b..56f96aa01b 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/14-extratext.bib +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/14-extratext.bib diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib index 3791fb5760..3791fb5760 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/endnote.txt b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/endnote.txt index e75f1d2050..e75f1d2050 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/endnote.txt +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/endnote.txt diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/engineering_village.txt b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/engineering_village.txt index 256f5a853d..256f5a853d 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/engineering_village.txt +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/engineering_village.txt diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib index f0f097409f..f0f097409f 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bibs/mathscinet.txt b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/mathscinet.txt index eea5a05a70..eea5a05a70 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bibs/mathscinet.txt +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/mathscinet.txt diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bug66325.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bug66325.t index ac83b43aa9..ac83b43aa9 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bug66325.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bug66325.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/bug67419.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bug67419.t index 0f944f373a..0f944f373a 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/bug67419.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bug67419.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/cleaned_field.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/cleaned_field.t index 980fb1d60d..980fb1d60d 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/cleaned_field.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/cleaned_field.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/pod-coverage.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/pod-coverage.t index fc40a57c2a..fc40a57c2a 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/pod-coverage.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/pod-coverage.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/pod.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/pod.t index e22a39b524..e22a39b524 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/pod.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/pod.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/release-pod-coverage.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/release-pod-coverage.t index 3a818499f0..3a818499f0 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/release-pod-coverage.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/release-pod-coverage.t diff --git a/support/bibtexperllibs/BibTeX-Parser/t/release-pod-syntax.t b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/release-pod-syntax.t index d46a955694..d46a955694 100644 --- a/support/bibtexperllibs/BibTeX-Parser/t/release-pod-syntax.t +++ b/biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/release-pod-syntax.t diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/Changes b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Changes index 3db5c19724..3db5c19724 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/Changes +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Changes diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/LICENSE b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/LICENSE index c3402b3869..c3402b3869 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/LICENSE +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/LICENSE diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/MANIFEST b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/MANIFEST index 2aa0688c10..2aa0688c10 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/MANIFEST +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/MANIFEST diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/Makefile.PL b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Makefile.PL index 7aa2b21234..7aa2b21234 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/Makefile.PL +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Makefile.PL diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/Makefile.TDS b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Makefile.TDS index 4255cfa6b6..4255cfa6b6 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/Makefile.TDS +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Makefile.TDS diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/README b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/README index 1f241e3979..1f241e3979 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/README +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/README diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/dist.ini b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/dist.ini index 5c038d1985..5c038d1985 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/dist.ini +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/dist.ini diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/head.ltx b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/head.ltx index 3f946fcba0..3f946fcba0 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/head.ltx +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/head.ltx diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf Binary files differindex b319b6ebcb..b319b6ebcb 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode.pm b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode.pm index 1759a6acd6..1759a6acd6 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode.pm +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode.pm diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode/Tables.pm b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode/Tables.pm index dd02926e03..dd02926e03 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode/Tables.pm +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode/Tables.pm diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.1 b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.1 index 8dc8e71426..8dc8e71426 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.1 +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.1 diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf Binary files differindex 7dfae7f396..7dfae7f396 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/script/convert.pl b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/script/convert.pl index 70cc0bda84..70cc0bda84 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/script/convert.pl +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/script/convert.pl diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/script/ltx2unitxt b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/script/ltx2unitxt index 661ea40417..661ea40417 100755 --- a/support/bibtexperllibs/LaTeX-ToUnicode/script/ltx2unitxt +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/script/ltx2unitxt diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/t/convert.t b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/convert.t index 9bd7a4f3d4..9bd7a4f3d4 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/t/convert.t +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/convert.t diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-coverage.t b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-coverage.t index 3a818499f0..3a818499f0 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-coverage.t +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-coverage.t diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-syntax.t b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-syntax.t index d46a955694..d46a955694 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-syntax.t +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-syntax.t diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/t/release-synopsis.t b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-synopsis.t index 7a83682539..7a83682539 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/t/release-synopsis.t +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-synopsis.t diff --git a/support/bibtexperllibs/LaTeX-ToUnicode/weaver.ini b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/weaver.ini index 1cc341ff23..1cc341ff23 100644 --- a/support/bibtexperllibs/LaTeX-ToUnicode/weaver.ini +++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/weaver.ini diff --git a/support/bibtexperllibs/Makefile b/biblio/bibtex/utils/bibtexperllibs/Makefile index d1b0bdc84d..d1b0bdc84d 100644 --- a/support/bibtexperllibs/Makefile +++ b/biblio/bibtex/utils/bibtexperllibs/Makefile diff --git a/support/bibtexperllibs/README b/biblio/bibtex/utils/bibtexperllibs/README index fef3d0b276..fef3d0b276 100644 --- a/support/bibtexperllibs/README +++ b/biblio/bibtex/utils/bibtexperllibs/README diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib index bb5171e8ac..ad66127aa5 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 28-08-2024, 02:00:04 +%% created at 29-08-2024, 02:00:03 %% %% This file is provided under the terms of the LPPL v1.3 or @@ -8365,10 +8365,10 @@ title = {The \texttt{bibtexperllibs} package}, subtitle = {BibTeX Perl Libraries}, author = {Gerhard Gossen and Boris Veytsman}, - date = {2023-11-19}, + date = {2024-08-28}, version = {1.9}, license = {gpl1,artistic,pd}, - mirror = {https://mirror.ctan.org/support/bibtexperllibs}, + mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibtexperllibs}, url = {https://ctan.org/pkg/bibtexperllibs}, } @@ -22644,6 +22644,17 @@ url = {https://ctan.org/pkg/envelope}, } +@manual{ctan-enverb, + title = {The \texttt{enverb} package}, + subtitle = {Read an environment verbatim}, + author = {Jonathan P. Spratte}, + date = {2024-08-28}, + version = {1.0}, + license = {lppl1.3c}, + mirror = {https://mirror.ctan.org/macros/latex/contrib/enverb}, + url = {https://ctan.org/pkg/enverb}, +} + @manual{ctan-environ, title = {The \texttt{environ} package}, subtitle = {A new interface for environments in \LaTeX{}}, @@ -24555,7 +24566,7 @@ title = {The \texttt{expl3} package}, subtitle = {Wrapper package for experimental \LaTeX{}3}, author = {{The LaTeX Project Team}}, - date = {2024-08-02}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/required/l3kernel}, @@ -37667,7 +37678,7 @@ title = {The \texttt{l3docstrip} package}, subtitle = {Strip documentation in \LaTeX{}3 source}, author = {{The LaTeX Project Team}}, - date = {2024-08-02}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/required/l3kernel}, @@ -37705,7 +37716,7 @@ title = {The \texttt{l3kernel} package}, subtitle = {LaTeX3 programming conventions}, author = {{The LaTeX Project Team}}, - date = {2024-08-02}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/required/l3kernel}, @@ -37716,7 +37727,7 @@ title = {The \texttt{l3keys2e} package}, subtitle = {LaTeX2e option processing using \LaTeX{}3 keys}, author = {{The LaTeX Project Team}}, - date = {2024-05-22}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages}, @@ -37727,7 +37738,7 @@ title = {The \texttt{l3packages} package}, subtitle = {High-level \LaTeX{}3 concepts}, author = {{The LaTeX Project Team}}, - date = {2024-07-25}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages}, @@ -37738,7 +37749,7 @@ title = {The \texttt{l3regex} package}, subtitle = {Regular expression facilities for \LaTeX{}}, author = {{The LaTeX Project Team}}, - date = {2024-08-02}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/required/l3kernel/l3regex.dtx}, @@ -45181,8 +45192,8 @@ title = {The \texttt{media9} package}, subtitle = {Multimedia inclusion package with Adobe Reader-9/X compatibility}, author = {Alexander Grahn}, - date = {2022-08-04}, - version = {1.25}, + date = {2024-08-28}, + version = {1.26}, license = {lppl}, mirror = {https://mirror.ctan.org/macros/latex/contrib/media9}, url = {https://ctan.org/pkg/media9}, @@ -50803,8 +50814,8 @@ title = {The \texttt{ocgx2} package}, subtitle = {Drop-in replacement for ‘ocgx’ and ‘ocg-p’}, author = {Alexander Grahn}, - date = {2024-03-18}, - version = {0.57}, + date = {2024-08-28}, + version = {0.58}, license = {lppl}, mirror = {https://mirror.ctan.org/macros/latex/contrib/ocgx2}, url = {https://ctan.org/pkg/ocgx2}, @@ -56161,11 +56172,11 @@ } @manual{ctan-profmaquette, - title = {The \texttt{profmaquette} package}, + title = {The \texttt{ProfMaquette} package}, subtitle = {Use exercises in different types of documents}, author = {Christophe Poulain}, - date = {2024-05-03}, - version = {0.94}, + date = {2024-08-28}, + version = {0.97b}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/profmaquette}, url = {https://ctan.org/pkg/profmaquette}, @@ -79064,7 +79075,7 @@ title = {The \texttt{xfp} package}, subtitle = {Interface to the \LaTeX{}3 floating point unit}, author = {{The LaTeX Project Team}}, - date = {2024-07-25}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages}, @@ -79502,7 +79513,7 @@ title = {The \texttt{xparse} package}, subtitle = {A generic document command parser}, author = {{The LaTeX Project Team}}, - date = {2024-05-22}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages}, @@ -79767,7 +79778,7 @@ title = {The \texttt{xtemplate} package}, subtitle = {A high-level interface for declaring document commands}, author = {{The LaTeX Project Team}}, - date = {2024-07-25}, + date = {2024-08-28}, version = {}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/l3packages}, diff --git a/macros/latex/contrib/enverb/README.md b/macros/latex/contrib/enverb/README.md new file mode 100644 index 0000000000..2c035b8eb6 --- /dev/null +++ b/macros/latex/contrib/enverb/README.md @@ -0,0 +1,34 @@ +------------------------------------------------------------------------------- +# `enverb` -- read an environment verbatim + +Version 2024-08-28 v1.0 + +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt + +Hosted on the Island of TeX at https://gitlab.com/islandoftex/texmf/enverb + +------------------------------------------------------------------------------- + +Copyright (C) 2023-2024 Jonathan P. Spratte + +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: + + http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by + Jonathan P. Spratte + +------------------------------------------------------------------------------- + +## Summary of Contents + +`enverb` provides means to read the contents of a user-defined environment +verbatim. It also provides facilities to then typeset them inside a +listing-environment provided by LaTeX or another package or to evaluate them as +normal LaTeX code. This gives one the full flexibility of LaTeX to customise the +looks of documentation and examples without the need of any temporary files. +Additionally you can define your own processing of the contents, either line +oriented or processing the entire contents at once, however you see fit. diff --git a/macros/latex/contrib/enverb/doc-enverb.tex b/macros/latex/contrib/enverb/doc-enverb.tex new file mode 100644 index 0000000000..c0c578f0ef --- /dev/null +++ b/macros/latex/contrib/enverb/doc-enverb.tex @@ -0,0 +1,47 @@ +\subsection{Grabbing an Environment Verbatim} +\begin{function}{\enverb} + \begin{syntax} + \cs{enverb}\marg{key=value}\oarg{key=value} + \cs{enverb}\meta{*}\marg{key=value} + \end{syntax} + This function will store the contents of the enclosing environment verbatim + inside of \cs{enverbBody}. It should be the last thing you invoke inside the + |\begin| code of your environment and mustn't be enclosed in any nested + environment. Both the mandatory and the optional \meta{key=value} argument are + parsed by \cs{enverb} -- see \autoref{sec:keys} about the specifics of this. + The mandatory argument is meant for a package/code developer to assign the + sensible default values for the envisioned functionality and always parsed + inside the keyset of \cs{enverb}, while the optional one is meant to be used + by the user and as such should be the first thing inside the enclosing + environment (if the user wants to use an optional argument).\par + \cs{enverb} sets the special characters + \begingroup + \def\do#1% + {% + \ifx\ #1\else + , \texttt{\csname @gobble\expandafter\endcsname\string#1}% + \fi + }% + \csname @secondoftwo\expandafter\endcsname\romannumeral`\^^@\dospecials + \endgroup + \ to the category code 12 (other), and makes both spaces and tabulators active + tokens. By default each line break will be a category code 12 carriage return + (character code 13), but see the |eol| option in \autoref{sec:keys}.\par + A line that contains only whitespace on input will be output as an empty + line.\par + The \cs{enverb} syntax of the optional argument has a few peculiarities. It is + scanned for the opening bracket either on the same line as the |\begin| + statement of the enclosing environment, or on any subsequent line until a + non-whitespace character is found. The optional argument is read using the + \enquote{normal} (so surrounding) category code regime, but it is scanned for + it in a way that the first token is still read verbatim if no optional + argument was given.\par + The first non-whitespace token that's not an opening bracket must not be found + on the same line as the |\begin| statement, and if there was an optional + argument there shouldn't be any non-whitespace token trailing it in that line. + Additionally there should be no non-whitespace material following the |\end| + statement (anything preceding it in the same line is for the most part + ignored; |\begin| and |\end| are not balanced, the first |\end| with the + correct environment as argument terminates scanning).\par + The starred version of \cs{enverb} doesn't search for an optional argument. +\end{function} diff --git a/macros/latex/contrib/enverb/doc-examples.tex b/macros/latex/contrib/enverb/doc-examples.tex new file mode 100644 index 0000000000..043890dc10 --- /dev/null +++ b/macros/latex/contrib/enverb/doc-examples.tex @@ -0,0 +1,178 @@ +\subsection{Examples} + +The following preamble should work for all of the examples in this section +(except for the last one, which can be placed as is in the preamble since it +loads all the packages it needs). +\begin{ex}[no-tcb] + \documentclass{article} + + \usepackage{enverb} + \usepackage{color} + \usepackage{multicol} + \usepackage{listings} +\end{ex} + +\subsubsection{A Boxed Verbatim Display} +Defining a boxed verbatim macro is pretty simple, we just need to set up the +|bol| and |eol| hooks such that line breaks are respected, the rest of the setup +already works with \LaTeX's default definition for active spaces (and tabs). +\begin{ex}[store,no-tcb] + \newenvironment{myenv} + {\enverb{bol=\strut, eol=\strut\par}} + {% + \par + \medskip + \noindent + \fbox + {% + \parbox + {\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax} + {% + \raggedright\frenchspacing\ttfamily + \enverbBody + }% + }% + \par + \medskip + } +\end{ex} +The probably most complicated part there is the calculation of the |\parbox|'s +width, which is just a line width compensated by the space taken up by |\fbox|. + +If we now use this environment we get a nice display of our verbatim contents +(you might want to play with this and see what happens if your input lines are +longer than a |\linewidth|; also note that the spaces after |\begin| and |\end| +are optional just like within the normal category code regime, \envlogo\ will +still find the end of its scope). +\begin{ex}[restore] + \begin {myenv} + \This is a% + \begin{environment} + that looks \good + \end {myenv} +\end{ex} + +\subsubsection{A Page-Breakable Boxed Verbatim Display} +The previous example was boxed, lets put that to the next level. We can also +achieve page- (and column-)breakable boxed verbatim environments. The simple +minded trick here is to draw only line segments at the start and end of each +line using the |\vrule| primitive. As a result this will look horribly wrong for +lines longer than a single output line, but that would require too much hassle +(we just pay attention on our input formatting). + +As an added bonus this should have line counters at the start of each line. For +that we first define a little helper. +\begin{ex}[store,no-tcb] + \newcount\myline + \newcommand\linecounting + {% + \advance\myline1 + \textcolor[gray]{.7}{\footnotesize\the\myline}% + \quad + } +\end{ex} +Next we can define our environment. The |bol| and |eol| hooks look similar to +the previous example, but this time they got some added contents for the +additional formatting. Also, we borrow some code from \LaTeX's starred +\env{verbatim} to make spaces visible (since they are active in |\enverb| this +is also pretty straight forward). +\begin{ex}[store,no-tcb] + \newenvironment{myenv} + {% + \enverb + { + bol=\noindent\strut\vrule\hskip\fboxsep\linecounting + ,eol=\hfill\hskip\fboxsep\vrule\strut\par + }% + } + {% + \medskip + \hrule + \ttfamily\frenchspacing + \UseName{@setupverbvisiblespace}\UseName{@vobeyspaces}% + \enverbBody + \hrule + \medskip + } +\end{ex} +The entire result can then be used with ease. +\begin{ex}[restore,same-line=.38] + \begin{multicols}{2} + Text above + \begin{myenv} + This \is + {an} $example$ + ^of verbatim_ + input\, being + displayed boxed. + \end{myenv} + Text below + \end{multicols} +\end{ex} + +\subsubsection{The Real Deal -- Using the Body Twice} +All of the above is just pretty playthings that are easily possible with +\envlogo\ (and with relative few lines of code) though most likely better done +by more full fledged packages like \pkg{listings} or similar. The original +reason for all this was to gain control over both the listing and typeset result +for code documentation. A simple example could be the following: +\begin{ex}[store,no-tcb] + \newenvironment{myenv} + {\enverb{}} + {% + \par\noindent + \begin{minipage}{0.48\linewidth} + \enverbListing{lstlisting}{} + \end{minipage}% + \hfill + \colorbox{yellow} + {% + \begin{minipage}{\dimexpr0.48\linewidth-2\fboxsep\relax} + \enverbExecute + \end{minipage}% + }% + \par + } +\end{ex} +Which if used looks like the following (admittedly not that pretty): +\begin{ex}[restore] + \begin{myenv} + This% + is% + great.% + \end{myenv} +\end{ex} + +\subsubsection{\envlogo's Style} +And if you wondered, you guessed it, all examples in this documentation are +typeset using an \envlogo\ derived environment with a few bells and whistles +more (for instance collecting material, typesetting the verbatim listing, but +executing it together with a later code block). + +The following is a complete listing of everything that sets up the looks of this +documentation's example blocks. Note that the macros starting with |\enverb@ex@| +are not internals of \envlogo\ but exclusive to the code formatting the +examples. +\begin{exwrap}{breakable} + \footnotesize + \lstinputlisting{preamble-examples.tex} +\end{exwrap} + +And if we use that we can do all sorts of interesting things: +\begingroup + \NewEnvironmentCopy{ex2}{ex} + \begin{ex2}[same-line=.4] + We define a helper: + \begin{ex}[store,no-tcb] + \newcommand\foo{bar} + \end{ex} + And then can use it: + \begin{ex}[restore] + This is \foo + \end{ex} + A wider example: + \begin{ex}[below] + This is a wider example. + \end{ex} + \end{ex2} +\endgroup diff --git a/macros/latex/contrib/enverb/doc-keys.tex b/macros/latex/contrib/enverb/doc-keys.tex new file mode 100644 index 0000000000..6d36075d26 --- /dev/null +++ b/macros/latex/contrib/enverb/doc-keys.tex @@ -0,0 +1,111 @@ +\subsection{Available Keys\label{sec:keys}} +\begin{function}{\enverbsetup} + \begin{syntax} + \cs{enverbsetup} \marg{key=value} + \end{syntax} + This macro can be used to (locally) change the settings of \envlogo\ outside + of the |\enverb| macro. +\end{function} + +The available keys are: +\begin{function}{ignore} + \begin{syntax} + ignore = \meta{int}\keydefault{\emph{unused}} + \end{syntax} + Set up the number of tokens to ignore at the start of each line. This is only + applied after the matching |\end| was found, hence doesn't affect the + |\end|-line. A line containing any non-whitespace tokens but in total + fewer tokens (counting whitespace) than \meta{int} will lead to undefined + behaviour.\par + |ignore| and |auto-ignore| are mutually exclusive. +\end{function} + +\begin{function}{auto-ignore} + \begin{syntax} + auto-ignore\keydefault{true} + auto-ignore = \meta{bool} + \end{syntax} + If this is true (or no value is given) the number of leading tokens is + determined by the number of leading tokens found in the line with the matching + |\end|. This allows for nice nesting of indentation levels in your \LaTeX\ + sources without affecting functionality. A line containing any non-whitespace + tokens but in total fewer tokens (counting whitespace) than the leading tokens + in the |\end|-line will lead to undefined behaviour.\par + |ignore| and |auto-ignore| are mutually exclusive. +\end{function} + +\begin{function}{more-ignore} + \begin{syntax} + more-ignore = \meta{int}\keydefault{2} + \end{syntax} + If |auto-ignore| is true this specifies how many tokens in addition to the + number of leading tokens shall be ignored at the start of each line. This + allows for even the contents of the |\enverb|-environment to be further + indented than the |\begin| and |\end| statement. +\end{function} + +\begin{function}{bol} + \begin{syntax} + bol = \meta{tokens}\keydefault{\emph{empty}} + bol+ = \meta{tokens} + +bol = \meta{tokens} + \end{syntax} + Defines which \meta{tokens} are placed at the \textbf{b}egin \textbf{o}f + \textbf{l}ines. Your \meta{tokens} can be arbitrary contents and are placed as + is (so can contain macros which work as you intend when using + \cs{enverbBody}). Keep in mind that if you want to use this with + \cs{enverbExecute} or \cs{enverbListing} your tokens should be rescanned to + the same code after they got |\detokenize|d.\par + The |bol+| variant adds your \meta{tokens} after the current contents of + |bol|, while |+bol| adds them in front of the contents. +\end{function} + +\begin{function}{eol} + \begin{syntax} + eol = \meta{tokens}\keydefault{\emph{\string^\string^M\textsubscript{12}}} + eol+ = \meta{tokens} + +eol = \meta{tokens} + \end{syntax} + Defines which \meta{tokens} are placed at the \textbf{e}nd \textbf{o}f + \textbf{l}ines. Your \meta{tokens} can be arbitrary contents and are placed as + is (so can contain macros which work as you intend when using + \cs{enverbBody}). Keep in mind that if you want to use this with + \cs{enverbExecute} or \cs{enverbListing} your tokens should be rescanned to + the same code after they got |\detokenize|d.\par + The |eol+| variant adds your \meta{tokens} after the current contents of + |eol|, while |+eol| adds them in front of the contents. +\end{function} + +\begin{function}{key-handler} + \begin{syntax} + key-handler = \meta{code}\keydefault{\emph{throw an error}} + \end{syntax} + If used any undefined keys encountered while parsing the mandatory and + optional arguments of \cs{enverb} is parsed via \meta{code}. Inside your + \meta{code} use |#1| to specify where to input the list of unknown keys. This + can be used to specify additional keys to provide an interface to control your + wrapping code. This includes the handling of any unknown keys encountered + while parsing the mandatory \meta{key=value} argument of \cs{enverb}. +\end{function} + +\begin{function}{key-set} + \begin{syntax} + key-set = \meta{set} + \end{syntax} + \envlogo\ uses \pkg{expkv} for its key-parsing. This key is a special form of + |key-handler| defining a handler that parses the unknown keys as part of + \meta{set} in \pkg{expkv} (so basically a shorthand for + |key-handler = \ekvset{|\meta{set}|}{#1}|). +\end{function} + +\begin{function}{oarg-not-enverb} + \begin{syntax} + oarg-not-enverb\keydefault{false} + oarg-not-enverb = \meta{bool} + \end{syntax} + If this is true (or no value is given) the \meta{key=value} list in the + optional argument to \cs{enverb} is not parsed as keys of \envlogo\ but only + inside your defined |key-handler|. Obviously this key doesn't have any effect + if only used as part of the optional argument of \cs{enverb}. +\end{function} + diff --git a/macros/latex/contrib/enverb/doc-using-contents.tex b/macros/latex/contrib/enverb/doc-using-contents.tex new file mode 100644 index 0000000000..c3a147ab97 --- /dev/null +++ b/macros/latex/contrib/enverb/doc-using-contents.tex @@ -0,0 +1,40 @@ +\subsection{Using Verbatim Environment Contents} +\begin{function}{\enverbBody} + \begin{syntax} + \cs{enverbBody} + \end{syntax} + This macro holds the contents of the last scanned \cs{enverb}-body, + assignments to it by the package are all local. +\end{function} + +\begin{function}{\enverbExecute} + \begin{syntax} + \cs{enverbExecute} + \end{syntax} + This function executes the current contents of \cs{enverbBody} as though they + would be part of your input at this place (using |\scantokens|, it is tried as + good as possible to tackle |\scantokens|'s shortcomings; also it is assumed + that you didn't change the |eol| key, or else the newlines aren't carried over + but whatever your |eol| value set is used). The entire contents are + |\detokenize|d once before |\scantokens| does its magic (shouldn't affect the + verbatimly read material, but is deemed a sensible safety measure if something + unexpected happens; this also assumes that anything you placed inside |bol| or + |eol| is rescanned into the same stuff once |\detokenize|d).\par + The function isn't fully expandable, the contents are executed at the current + group level. +\end{function} + +\begin{function}{\enverbListing} + \begin{syntax} + \cs{enverbListing} \marg{env} \marg{args} + \end{syntax} + This function is meant to reuse the current contents of \cs{enverbBody} inside + another verbatim environment. The used mechanism is tested to work with + \env{verbatim}, and environments defined by \pkg{fancyvrb}, \pkg{listings} and + \pkg{minted} (provided you use the default |eol| setting). \meta{env} is the + environment name in which the contents should be nested, and \meta{args} is + material to be placed after the |\begin| statement (just as you input them, + with the outer braces from this argument removed).\par + Just like |\enverbExecute| this |\detokenize|s the current content of + \cs{enverbBody} as well as your \meta{args} and uses |\scantokens|. +\end{function} diff --git a/macros/latex/contrib/enverb/enverb-doc.pdf b/macros/latex/contrib/enverb/enverb-doc.pdf Binary files differnew file mode 100644 index 0000000000..fc5c35311e --- /dev/null +++ b/macros/latex/contrib/enverb/enverb-doc.pdf diff --git a/macros/latex/contrib/enverb/enverb-doc.tex b/macros/latex/contrib/enverb/enverb-doc.tex new file mode 100644 index 0000000000..985e9e03b8 --- /dev/null +++ b/macros/latex/contrib/enverb/enverb-doc.tex @@ -0,0 +1,87 @@ +\IfFileExists{enverb.sty}{\RequirePackage{enverb}}{} + +\PassOptionsToPackage{full}{textcomp} +\documentclass{l3doc} + +\usepackage[oldstylenums,nott]{kpfonts} +\usepackage{randtext,xcolor,array} +\usepackage{xistercian} +\usepackage{accsupp} +\usepackage{csquotes} +\usepackage{multicol} +%\usepackage{microtype} + +\input{preamble-logo} +\input{preamble-examples} + +\newcommand\keydefault[1]{\hfill\textcolor{enverbgrey}{default: #1}} + +\let\metaORIG\meta +\protected\def\meta #1{\texttt{\metaORIG{#1}}} +\renewcommand*\thefootnote{\cistercian{footnote}} +\hypersetup{linkcolor=red!80!black,urlcolor=purple!80!black} +\makeatletter +\@ifdefinable\gobbledocstriptag{\def\gobbledocstriptag#1>{}} +\protected\def\savefootnotestuff + {% + \let\mysavethefootnote\thefootnote + \let\mysave@makefnmark\@makefnmark + \let\mysave@makefntext\@makefntext + } +\def\restorefootnotestuff{\texorpdfstring\restorefootnotestuff@{}} +\def\restorefootnotestuff@ + {% + \global\let\thefootnote\mysavethefootnote + \global\let\@makefnmark\mysave@makefnmark + \global\let\@makefntext\mysave@makefntext + } +\makeatother + +\begin{document} +\savefootnotestuff +\title + {% + \restorefootnotestuff + The \envlogo\ package\\[\medskipamount] + \Large read an environment verbatim% + } +\GetFileInfo{enverb.sty} +\date{\filedate\space\fileversion} +\author{Jonathan P. Spratte\thanks{\protect\randomize{jspratte@yahoo.de}}} + +\maketitle + +\begin{abstract} + \noindent\parfillskip=0pt + The \envlogo\ package provides a simple yet effective way to collect the + verbatim contents of an environment into a macro, which the user can then pick + up to implement additional functionality, for instance a simple output routine + or rescanning the contents into code listings or for typesetting alike. + Arbitrary contents can be placed on either end of each line allowing flexible + line-oriented processing. +\end{abstract} + +\tableofcontents + +\begin{documentation} +\section{Documentation} +Originally I was unsatisfied by the degree of freedom and customisation present +in the available verbatim-environment providing packages like \pkg{listings}, +\pkg{minted}, \emph{etc.}, when one wants to document \TeX\ code and show the +results next to it (or I didn't bother to dig through their manuals). Also I +didn't like them producing temporary files so long as that's not necessary. As a +result I implemented what was basically the first version of \envlogo\ for one +of my other packages. + +\input{doc-enverb} +\input{doc-using-contents} +\input{doc-keys} +\input{doc-examples} +\end{documentation} + +\clearpage +\begin{implementation} + \section{Implementation} + \DocInput{enverb.dtx} +\end{implementation} +\end{document} diff --git a/macros/latex/contrib/enverb/enverb.dtx b/macros/latex/contrib/enverb/enverb.dtx new file mode 100644 index 0000000000..a33dc713d7 --- /dev/null +++ b/macros/latex/contrib/enverb/enverb.dtx @@ -0,0 +1,720 @@ +% \iffalse meta-comment +% +% File: enverb.dtx Copyright (C) 2023-2024 Jonathan P. Spratte +% +% 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: +% +% http://www.latex-project.org/lppl.txt +% +% ------------------------------------------------------------------------------ +% +%<*driver>^^A>>= +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +\input l3docstrip.tex +\askforoverwritefalse +\preamble + +-------------------------------------------------------------- +enverb -- read an environment verbatim +E-mail: jspratte@yahoo.de +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +-------------------------------------------------------------- + +Copyright (C) 2023-2024 Jonathan P. Spratte + +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: + + http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by + Jonathan P. Spratte. + +This work consists of the files enverb.dtx + enverb-doc.tex +and the derived files enverb-doc.pdf + enverb.sty + +\endpreamble +\postamble +\endpostamble +\generate{\file{enverb.sty}{\from{enverb.dtx}{pkg}}} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +%</driver>^^A=<< +% \fi +% +% \gobbledocstriptag +%<*pkg> +% +% \subsection{Who we are} +% +% \begin{macro}[internal]{\enverb@date,\enverb@version} +% We store the package version and date inside macros. +% \begin{macrocode} +\newcommand*\enverb@date{2024-08-28} +\newcommand*\enverb@version{1.0} +% \end{macrocode} +% \end{macro} +% +% And the package identification: +% \begin{macrocode} +\ProvidesPackage{enverb} + [\enverb@date\space v\enverb@version\space read an environment verbatim] +% \end{macrocode} +% +% \subsection{Some required \LaTeXe\ style argument grabbers} +% \begin{macro}[internal]{\@thirdofthree,\@firstofnine} +% This here are just two argument grabbers that aren't defined in all versions +% of \LaTeXe. +% \begin{macrocode} +\providecommand\@thirdofthree[3]{#3} +\providecommand\@firstofnine[9]{#1} +% \end{macrocode} +% \end{macro} +% +% \subsection{Borrow some code} +% \begin{macro}[internal] +% {\enverb@count,\enverb@ifxTF,\enverb@chargen,\enverb@othercr} +% We'll make use of the following two \pkg{expl3} functions, but since the +% remainder of this package is coded in \LaTeXe\ style we stick to that. +% \begin{macrocode} +\ExplSyntaxOn +\cs_new_eq:NN \enverb@count \tl_count:n +\cs_new_eq:NN \enverb@ifxTF \token_if_eq_meaning:NNTF +\cs_new_eq:NN \enverb@chargen \char_generate:nn +\cs_set:Npx \enverb@othercr { \char_generate:nn {13} {12} } +\ExplSyntaxOff +% \end{macrocode} +% \end{macro} +% +% \subsection{Key-value Setup} +% First we need to load a package to allow us defining our keys, then we define +% a bunch of keys: +% \begin{macrocode} +\RequirePackage{expkv-def} +% \end{macrocode} +% +% \begin{macrocode} +\ekvdefinekeys{enverb} + { + protect code ignore = \let\enverb@ifautoignore\@secondoftwo + ,also eint ignore = \enverb@ignore + ,boolTF auto-ignore = \enverb@ifautoignore + ,initial auto-ignore + ,eint more-ignore = \enverb@moreignore + ,initial more-ignore = 2 + ,long store bol = \enverb@bol@content + ,long code bol+ = \enverb@add\enverb@bol@content{#1} + ,long code +bol = \enverb@pre\enverb@bol@content{#1} + ,long store eol = \enverb@eol@content + ,einitial eol = \enverb@othercr + ,long code eol+ = \enverb@add\enverb@eol@content{#1} + ,long code +eol = \enverb@pre\enverb@eol@content{#1} + ,protect code key-handler = \protected\long\def\enverb@keyhandler##1{#1} + ,protect code key-set = \protected\long\ekvsetdef\enverb@keyhandler{#1} + ,unknown code = \enverb@add\enverb@unknown@kv{, {#3} = {#2} } + ,unknown noval = \enverb@add\enverb@unknown@kv{, {#2} } + ,boolTF oarg-not-enverb = \enverb@ifoargtokeyhandler + } +% \end{macrocode} +% \begin{macro}{\enverbsetup} +% We need a user facing macro to set our keys. +% \begin{macrocode} +\protected\long\ekvsetdef\enverbsetup{enverb} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@unknown@kv} +% This is a storage for all unknown keys encountered. +% \begin{macrocode} +\let\enverb@unknown@kv\@empty +% \end{macrocode} +% \end{macro} +% +% \subsection{Miscellaneous Auxiliary Functions} +% +% \begin{macro}[internal]{\enverb@stop} +% A very simple minded stop-macro, just gobble up to the eponymous mark. +% \begin{macrocode} +\long\def\enverb@stop#1\enverb@stop{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@error} +% \begin{macrocode} +\protected\def\enverb@error{\PackageError{enverb}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@misused} +% This is an error message that'd be used inside a |\lowercase| environment if +% put where it originally should've been. Hence we define it now to get +% correct formatting. +% \begin{macrocode} +\protected\def\enverb@misused + {% + \enverb@error + {Misused \string\enverb. Input already tokenised}% + {% + It seems you used the \string\enverb\space based environment + {\@currenvir} inside another\MessageBreak + macro's or a primitive's argument; that doesn't work.% + }% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@keyhandler, \enverb@keyhandler@} +% This is the initial definition of the handler for unknown keys, namely throw +% an error containing the list of unknown keys. +% \begin{macrocode} +\protected\long\def\enverb@keyhandler#1% + {% + \if\relax\detokenize{#1}\relax + \expandafter\@gobbletwo + \fi + \@firstofone + {% + \enverb@error + {% + Unknown keys encountered: + \expanded + {% + \ekvparse + {\MessageBreak\@spaces\unexpanded}% + {\MessageBreak\@spaces\enverb@keyhandler@}% + {#1}% + }% + \@gobble + }% + {% + Perhaps you misspelled some key names? Or you forgot to set up + custom key\MessageBreak + parsing.% + }% + }% + } +\long\def\enverb@keyhandler@#1{\unexpanded{#1} = \unexpanded} +% \end{macrocode} +% \end{macro} +% +% \subsection{Collector} +% +% Much of the code in this package works under a weird category code regime, +% which the following sets up. After this |~| will be an active newline +% character, |:| will be an active space, and |;| will be an active tab. +% \begin{macrocode} +\begingroup +\lccode`\~=`\^^M +\catcode`\:=13 +\lccode`\:=`\ % <- space +\catcode`\;=13 +\lccode`\;=`\^^I % <- tab +\lowercase{\endgroup +% \end{macrocode} +% +% \begin{macro}[internal] +% {\enverb@body@space,\enverb@body@tab,\enverb@body@newline,\enverb@collect} +% To quickly check whether a line contains only spaces or tabs we define them +% as empty, that way we can remove them simply by one step of |\romannumeral| +% expansion. The newlines on the other hand grab the entire next line, check +% whether the matching |\end| is encountered, and if not leave the contents +% in |\unexpanded|. This grabbing is not done by the newline characters +% directly, but instead via |\enverb@collect| so that low level errors are +% easier to understand. +% \begin{macrocode} +\def\enverb@body@space{} +\def\enverb@body@tab{} +\def\enverb@body@newline{\enverb@collect} +\def\enverb@collect#1~% + {\enverb@ifnotend{#1}{\enverb@bol\unexpanded{#1}\enverb@eol\enverb@collect}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\enverbBody} +% \begin{macro}[internal]{\enverb@body@setup} +% This function sets up the entire category code regime and initial +% assignments of special tokens. +% \begin{macrocode} +\protected\def\enverb@body@setup + {% + \let\enverbBody\@empty + \let\do\@makeother\dospecials + \endlinechar=`\^^M + \catcode`\^^M=13 \let~\enverb@body@newline + \catcode`\ =13 \let:\enverb@body@space + \catcode`\^^I=13 \let;\enverb@body@tab + \let\enverb@bol\relax + \let\enverb@eol\relax + } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}[internal] +% { +% \enverb@ifxanyTF, \enverb@ifxanyTF@, \enverb@ifxanyTF@ifdone, +% \enverb@ifxanyTF@F, \enverb@ifxanyTF@T +% } +% This function provides a loop to check a list of symbols whether any of them +% matches the meaning of the first argument. +% \begin{macrocode} +\long\def\enverb@ifxanyTF#1#2% + {\enverb@ifxanyTF@#1#2\enverb@ifxanyTF@} +\long\def\enverb@ifxanyTF@#1#2% + {% + \enverb@ifxanyTF@ifdone#2\enverb@ifxanyTF@F\enverb@ifxanyTF@ + \enverb@ifxTF#1#2\enverb@ifxanyTF@T{\enverb@ifxanyTF@#1}% + } +\long\def\enverb@ifxanyTF@ifdone#1\enverb@ifxanyTF@{} +\long\def\enverb@ifxanyTF@F + \enverb@ifxanyTF@\enverb@ifxTF#1\enverb@ifxanyTF@T#2#3#4% + {#4} +\long\def\enverb@ifxanyTF@T#1\enverb@ifxanyTF@#2#3{#2} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@search@oarg@a, \enverb@search@oarg@ifx} +% This function shall search for the optional argument. The first case is +% rather easy, namely we check for a space (remember that |:| is an active +% space character in the current context). If this isn't the first line (so +% the line containing the |\begin| statement) that space is added to the body +% and searching continues.\par +% Next repeat the same logic but for an active tab (|;|). Afterwards we check +% for an active newline (|~|) which if found sets the conditional for the +% first line to false, still applying the same logic otherwise.\par +% Lastly we check for the open bracket. If it's found we collect our optional +% argument, otherwise the body starts, which is either an illegal character +% immediately following the |\begin| line, or we normally collect the body. +% +% \begin{macrocode} +\def\enverb@search@oarg@ifx#1#2% + {% + \enverb@ifxTF#1\@let@token + {% + \ifenverb@firsteol#2\else\enverb@body@add{#1}\fi + \enverb@search@oarg@b + }% + } +\protected\def\enverb@search@oarg@a + {% + \enverb@search@oarg@ifx:{}% + {% + \enverb@search@oarg@ifx;{}% + {% + \enverb@search@oarg@ifx~\enverb@firsteolfalse + {% + \enverb@ifxTF{[}\@let@token + {\enverb@oarg}% + {% + \enverb@ifxanyTF\@let@token + {% + \@sptoken\par\bgroup\egroup$&##^_% $ + } + {% + \enverb@misused + \endgroup + }% + {% + \ifenverb@firsteol + \expandafter\enverb@body@after@begin + \else + \expandafter\enverb@body + \fi + }% + }% + }% + }% + }% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal] +% {\enverb@body, \enverb@body@after@oarg, \enverb@body@after@begin} +% The body collection works by collecting everything inside a macro in one +% sweep, and a second pass over the collected material to strip leading spaces +% if the |ignore| or |auto-ignore| feature is used. This macro starts the +% first sweep. Since during the collection of the optional argument we might +% already have collected a few tokens we place those at the start by expanding +% the current definition of |\enverbBody| once. +% \begin{macrocode} +\protected\def\enverb@body + {\edef\enverbBody{\iffalse}\fi\expandafter\enverb@collect\enverbBody} +% \end{macrocode} +% The other two macros also start collecting the body, but are only called +% after either an optional argument was found, or if the first non-ignored +% character of the optional argument search was encountered before the first +% newline. In both cases we check whether the remainder of that line can be +% considered blank, and if so collect the body. +% \begin{macrocode} +\def\enverb@body@after@oarg#1~% + {\enverb@ensure@blank{#1}{closing bracket}\enverb@body} +\def\enverb@body@after@begin#1~% + {\enverb@ensure@blank{#1}{\string\begin}\enverb@body} +% \end{macrocode} +% This is also the last place we need the strange category setup in, so we +% close the delimiting brace of the |\lowercase| above here. +% \begin{macrocode} +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@ensure@blank} +% We actually need to define the check for an empty line. This check here +% works for our specifically set up regime of spaces and tabs (which both +% expand to nothing, the same trick is basically used twice, though we once +% fully expand and once use romannumeral-expansion). +% \begin{macrocode} +\newcommand\enverb@ensure@blank[2] + {% + \expandafter\enverb@ifempty\expanded{{#1}}{}% + {% + \expanded + {% + \noexpand\enverb@error + {% + Line after #2 not empty.\noexpand\MessageBreak + Contains: \detokenize\expandafter{\romannumeral`\^^@#1}% + }% + {% + \noexpand\enverb will try to ignore this. You should clean up + your input.% + }% + }% + }% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal] +% {\enverb@ifempty,\enverb@ifempty@,\enverb@ifempty@true} +% This is just a quick argument-grabbing based test for an empty argument. +% \begin{macrocode} +\newcommand\enverb@ifempty[1] + {% + \enverb@ifempty@\enverb@ifempty@A#1\enverb@ifempty@B.\enverb@ifempty@true + \enverb@ifempty@A\enverb@ifempty@B + } +\def\enverb@ifempty@#1\enverb@ifempty@A\enverb@ifempty@B#2#3{#3} +\def\enverb@ifempty@true\enverb@ifempty@A\enverb@ifempty@B#1#2{#1} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@add,\enverb@pre,\enverb@body@add} +% These are just two functions to add things to a token list storing macro, +% one is available for arbitrary contents, the other is used for the |body|. +% \begin{macrocode} +\protected\long\def\enverb@add#1#2{\edef#1{\unexpanded\expandafter{#1#2}}} +\protected\long\def\enverb@pre#1#2% + {\edef#1{\unexpanded{#2}\unexpanded\expandafter{#1}}} +\protected\def\enverb@body@add{\enverb@add\enverbBody} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\enverb} +% This macro is the front facing command that starts the entire grabbing +% logic. The first thing we need to do is define the auxiliary we use to check +% whether we're done collecting the body, which is dependent on the current +% environment's name. Next we store the mandatory argument in |marg| and +% initialise the |oarg|-storage, category regime, and |firsteol|-boolean. +% Finally we start searching for the optional argument. +% \begin{macrocode} +\NewDocumentCommand \enverb { s +m } + {% + \expandafter\enverb@ifnotend@setup@perhaps\expanded + {{\string{\@currenvir\string}}}% + \let\enverb@collected@oarg\@empty + \edef\enverb@collected@marg{\unexpanded{#2}}% + \begingroup + \enverb@body@setup + \IfBooleanTF{#1}% + {\enverb@body@after@begin}% + {% + \enverb@firsteoltrue + \enverb@search@oarg + }% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal] +% {\ifenverb@firsteol,\enverb@firsteoltrue,\enverb@firsteolfalse} +% A simple \TeX-style boolean to keep track whether we're in front of the +% first newline. +% \begin{macrocode} +\newif\ifenverb@firsteol +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@search@oarg, \enverb@search@oarg@b} +% The core function to search for an optional argument was already defined +% above, these are the first and third step of that functionality (starting +% and resuming to search). +% \begin{macrocode} +\protected\def\enverb@search@oarg{\futurelet\@let@token\enverb@search@oarg@a} +\protected\def\enverb@search@oarg@b{\expandafter\enverb@search@oarg\@gobble} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@oarg, \enverb@oarg@} +% This is used once the opening brace of the optional argument is found. First +% we close the group in which the body's category code regime is active, then +% we actually collect the optional argument with the normal category codes, +% restore the body's regime and collect it. +% \begin{macrocode} +\protected\def\enverb@oarg{\endgroup\enverb@oarg@} +\NewDocumentCommand\enverb@oarg@{+O{}} + {% + \enverb@add\enverb@collected@oarg{#1}% + \begingroup + \enverb@body@setup + \enverb@body@after@oarg + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@ifnotend, \enverb@ifnotend} +% These functions check whether the input contains the string representation +% |\end|. If it does they invoke \cs[no-index]{enverb@ifnotend@maybe} with the +% tokens in front of |\end| and after it as two arguments. Otherwise the third +% argument after \cs{enverb@ifnotend@}'s expansion is directly used, which is +% the second (curried) argument to \cs{enverb@ifnotend}. +% \begin{macrocode} +\newcommand\enverb@ifnotend[1]% + {% + \def\enverb@ifnotend##1% + {% + \enverb@ifnotend@ + ##1\enverb@mark\enverb@ifnotend@maybe + #1\enverb@mark\@thirdofthree + \enverb@stop + }% + \def\enverb@ifnotend@##1#1##2\enverb@mark##3##4\enverb@stop{##3{##1}{##2}}% + } +\expandafter\enverb@ifnotend\expanded{{\expandafter\@gobble\string\\end}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@ifnotend@maybe} +% This function will be used if an |\end| was encountered and should check +% whether that is indeed the end of our environment, it uses a second stage +% \cs[no-index]{enverb@ifnotend@perhaps} for that check. The |\romannumeral| +% expansion it employs will strip any leading spaces or tabs from |#2|. +% \begin{macrocode} +\newcommand\enverb@ifnotend@maybe[2] + {\expandafter\enverb@ifnotend@perhaps\expandafter{\romannumeral`\^^@#2}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal] +% { +% \enverb@ifnotend@setup@perhaps, +% \enverb@ifnotend@perhaps, \enverb@ifnotend@perhaps@, +% \@thirdofthree +% } +% We need an expandable and fast check to see whether some input really +% contains the |\end| of our environment. Checking for |\end| itself is +% already done above, we need to check for the correct argument to it. The +% following does so by argument grabbing logic. +% \begin{macrocode} +\protected\def\enverb@ifnotend@setup@perhaps#1% + {% + \def\enverb@ifnotend@perhaps##1% + {% + \enverb@ifnotend@perhaps@\enverb@mark##1\enverb@mark\enverb@ifnotend@end + \enverb@mark#1\enverb@mark\@thirdofthree + \enverb@stop + }% + \def\enverb@ifnotend@perhaps@ + ##1\enverb@mark#1##2\enverb@mark##3##4\enverb@stop + {##3{##2}}% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@ifnotend@end} +% If the correct |\end| statement was found this function will be called by +% \cs[no-index]{enverb@ifnotend@perhaps}. It's first argument will be anything +% in that line following the |\end| statement, the second argument will be the +% material in front of it. And |#3| will be whatever the argument to +% \cs[no-index]{enverb@ifnotend} was. +% +% The first thing we need to do is end the body collection by placing the +% matching closing brace. After that we throw an error on lost content after +% the |\end| if it's non-blank. And finally we need to smuggle the collected +% body outside the current group's scope. +% \begin{macrocode} +\def\enverb@ifnotend@end#1#2#3% + {% + \iffalse{\fi}% + \enverb@ensure@blank{#1}{\string\end}% + \expandafter\enverb@finalise\expandafter{\enverbBody}{#2}% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@finalise} +% The finalising function closes the group containing the body's catcode +% regime. The already tokenised body is |#1|, and |#2| is the contents found +% in front of the |\end| statement, which we might use for the auto-ignore +% feature. +% +% It then does the key=val parsing, sets up the aftertreatment and assigns the +% final meaning to \cs{enverbBody}. Eventually it calls the end code of the +% enclosing environment. +% \begin{macrocode} +\protected\def\enverb@finalise#1#2% + {% + \endgroup + \expandafter\enverbsetup\expandafter{\enverb@collected@marg}% + \enverb@ifoargtokeyhandler + {% + \expandafter\enverb@keyhandler\expanded + {{% + \unexpanded\expandafter{\enverb@unknown@kv},% + \unexpanded\expandafter{\enverb@collected@oarg}% + }}% + }% + {% + \expandafter\enverbsetup\expandafter{\enverb@collected@oarg}% + \expandafter\enverb@keyhandler\expandafter{\enverb@unknown@kv}% + }% + \enverb@ifautoignore + {\enverb@setup@ignore{\enverb@count{#2}+\enverb@moreignore}}% + {\enverb@setup@ignore\enverb@ignore}% + \edef\enverb@line##1\enverb@eol + {% + \noexpand\unexpanded{##1}% + %\noexpand\detokenize{##1}% % TODO + \noexpand\unexpanded{\unexpanded\expandafter{\enverb@eol@content}}% + }% + \edef\enverbBody{#1}% + \expandafter\end\expandafter{\@currenvir}% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[internal]{\enverb@setup@ignore, \enverb@setup@ignore@} +% \begin{macrocode} +\protected\def\enverb@setup@ignore#1% + {\expandafter\enverb@setup@ignore@\the\numexpr#1\relax;\enverb@line} +\protected\def\enverb@setup@ignore@#1;#2% + {% + \ifnum#1>9 + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {\expandafter\enverb@setup@ignore@\the\numexpr#1-8;{\@firstofnine{#2}}}% +% \end{macrocode} +% Just to make sure that |\renewcommand| works correctly, we ensure the macro +% exists. +% \begin{macrocode} + {% + \let\enverb@bol@gobble\@empty + \expanded + {% + \unexpanded{\renewcommand\enverb@bol@gobble}\ifnum#1>\z@[#1]\fi + {\unexpanded{#2}}% + \unexpanded{\def\enverb@bol##1\enverb@eol}% + {% + \noexpand\unexpanded + {\unexpanded\expandafter{\enverb@bol@content}}% + \unexpanded{\expandafter\enverb@ifempty\expanded}{{##1}}% + {\noexpand\enverb@line}% + {\noexpand\enverb@bol@gobble}% + ##1\noexpand\enverb@eol + }% + }% + }% + } +% \end{macrocode} +% \end{macro} +% +% \subsection{Output Oriented Macros} +% +% \begin{macro}[internal]{\enverb@rmeol, \enverb@rmeol@} +% Many of our output routines require the |\scantokens| primitive. Since that +% one places an additional end of line at the end of its argument we need a +% way to remove it (this usually results in an additional space in the output +% otherwise). For that we place a comment character at the end of the input +% (if it's possible), if that's not available we hope that a stringified +% |\relax| will do. The code here will use \pkg{expl3} for ease of coding. +% \begin{macrocode} +\def\enverb@rmeol + {% + \ifnum\catcode`\%=14 + \enverb@chargen{`\%}{12}% + \expandafter\enverb@stop + \fi + \enverb@rmeol@0;% + \enverb@stop + } +\def\enverb@rmeol@#1;% + {% + \ifnum#1=128 + \string\relax + \expandafter\enverb@stop + \fi + \@firstofone + {% + \ifnum\catcode`\%=14 + \enverb@chargen{#1}{12}% + \expandafter\enverb@stop + \fi + \expandafter\enverb@rmeol@\the\numexpr#1+1;% + }% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\enverbExecute} +% \begin{macrocode} +\NewDocumentCommand\enverbExecute{} + {% + \begingroup + \newlinechar=`\^^M + \expandafter + \endgroup + \scantokens\expanded + {{% + \detokenize\expandafter{\enverbBody}% + \enverb@rmeol + }}% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\enverbListing} +% \begin{macro}[internal]{\enverbListing@} +% \begin{macrocode} +\NewDocumentCommand \enverbListing { m m } + {% + \scantokens\expanded + {{% + \string\begin{#1}\detokenize{#2}\enverb@othercr + \detokenize\expandafter{\enverbBody}% + \string\end{#1}\enverb@othercr + \enverb@rmeol + }}% + } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \gobbledocstriptag +%</pkg> diff --git a/macros/latex/contrib/enverb/preamble-examples.tex b/macros/latex/contrib/enverb/preamble-examples.tex new file mode 100644 index 0000000000..da18ed38a6 --- /dev/null +++ b/macros/latex/contrib/enverb/preamble-examples.tex @@ -0,0 +1,199 @@ +\makeatletter +\RequirePackage{enverb} +\global\let\enverb@ex@stored\@empty +\ekvdefinekeys{enverb/ex} + { + boolTF store = \enverb@ex@ifstore + ,invboolTF no-store = \enverb@ex@ifstore + ,boolTF restore = \enverb@ex@ifrestore + ,boolTF no-lst = \enverb@ex@ifnolst + ,also nmeta no-lst = below + ,nmeta undo-no-lst = {no-lst=false, undo-below} + ,boolTF no-tcb = \enverb@ex@ifnotcb + ,also nmeta no-tcb = below + ,nmeta undo-no-tcb = {no-tcb=false, undo-below} + ,boolTF same-line = \enverb@ex@ifsameline + ,unknown-choice same-line = + \let\enverb@ex@ifsameline\@firstoftwo\def\enverb@ex@codeshare{#1} + ,initial same-line = 0.6 + ,invboolTF other-line = \enverb@ex@ifsameline + ,nmeta below = {other-line} + ,nmeta undo-below = {same-line} + ,store inter = \enverb@ex@inter + ,code aboveskip = \def\enverb@ex@above{\vskip#1\relax} + ,code belowskip = \def\enverb@ex@below{\vskip#1\relax} + ,default aboveskip = \medskipamount + ,default belowskip = \medskipamount + ,initial aboveskip + ,initial belowskip + ,noval no-aboveskip = \let\enverb@ex@above\@empty + ,noval no-belowskip = \let\enverb@ex@below\@empty + % listings + ,store lst = \enverb@ex@options@lst + ,initial lst = {aboveskip=0pt, belowskip=0pt} + ,store same-line-lst = \enverb@ex@options@lst@same + ,meta slst = same-line-lst={#1} + ,store other-line-lst = \enverb@ex@options@lst@other + ,meta olst = other-line-lst={#1} + % tcolorbox + ,store tcb = \enverb@ex@options@tcb + ,initial tcb = {nobeforeafter} + ,store same-line-tcb = \enverb@ex@options@tcb@same + ,initial same-line-tcb = {box align=center} + ,meta stcb = same-line-tcb={#1} + ,store other-line-tcb = \enverb@ex@options@tcb@other + ,meta otcb = other-line-tcb={#1} + } +\newenvironment{ex} + {\enverb{key-set=enverb/ex}} + {% + \par + \enverb@ex@above + \noindent + \expanded{\noexpand\begin{exwrap}{\enverb@ex@ifsameline{}{breakable}}} + \enverb@ex@ifnolst + {}% + {% + \enverb@ex@ifsameline + {\noindent\begin{minipage}[c]{\enverb@ex@codeshare\linewidth}}% + {}% + \ExpandArgs{ne}\enverbListing{lstlisting}% + {% + [{% + \unexpanded\expandafter{\enverb@ex@options@lst},% + \enverb@ex@ifsameline + {\unexpanded\expandafter{\enverb@ex@options@lst@same}}% + {\unexpanded\expandafter{\enverb@ex@options@lst@other}}% + }]% + }% + \enverb@ex@ifsameline + {\end{minipage}}% + {}% + }% + \enverb@ex@ifstore + {% + \xdef\enverb@ex@stored + {% + \unexpanded\expandafter{\enverb@ex@stored}% + \unexpanded\expandafter{\enverbBody}% + }% + }% + {}% + \enverb@ex@ifrestore + {% + \edef\enverbBody + {% + \unexpanded\expandafter{\enverb@ex@stored}% + \unexpanded\expandafter{\enverbBody}% + }% + \global\let\enverb@ex@stored\@empty + }% + {}% + \enverb@ex@ifnotcb + {}% + {% + \enverb@ex@ifsameline{}{\medskip}% + \expanded{\noexpand\begin{exbox}% + {% + \unexpanded\expandafter{\enverb@ex@options@tcb},% + \enverb@ex@ifsameline + {\unexpanded\expandafter{\enverb@ex@options@tcb@same}}% + {\unexpanded\expandafter{\enverb@ex@options@tcb@other}}% + }}% + {\linewidth\enverb@ex@ifsameline{-\enverb@ex@codeshare\linewidth}{}}% + \enverbExecute + \end{exbox}% + }% + \end{exwrap}% + \par + \enverb@ex@below + \@endpetrue + } + +\RequirePackage{listings}% >>= +\newcommand\extexcsstyle{\exbasestyle\color{green!50!black}\bfseries} +\newcommand\exbasestyle{\ttfamily} +\lstset + { + language=[LaTeX]TeX + ,flexiblecolumns=true + ,basicstyle=\exbasestyle + ,texcsstyle=*\extexcsstyle + ,moretexcs=% + {% + UseName,ExpandArgs,textcolor,color,colorbox,expanded,unexpanded,@empty,% + @firstoftwo,@endpetrue,RequirePackage,lstset,usetikzlibrary,% + pgfmathsetseed,newtcolorbox,tcbsubskin,tikzset,dimexpr% + } + ,moretexcs=[2]{enverb,enverbBody,enverbExecute,enverbListing} + ,texcsstyle=*[2]\exbasestyle\color{enverbred}\bfseries + ,literate={\{}{{\extexcsstyle\string{\iffalse}\fi}}{1} + {\}}{{\extexcsstyle\iffalse{\fi\string}}}{1} + }% =<< +\RequirePackage[most]{tcolorbox}%>>= +\RequirePackage{tikz} +\usetikzlibrary{decorations.pathmorphing,calc} +\pgfmathsetseed{1} % To have predictable results +% Define paper style +\tikzset{ + % based on https://tex.stackexchange.com/questions/580671 + ragged border/.style={% + decoration={random steps, segment length=2mm, amplitude=0.5mm}, + decorate, + } +} +\tcbsubskin{exwrap}{standard} + {% + width=\linewidth + ,colframe=enverbgrey + ,colback=enverbred!15!white + ,title=Example + ,nobeforeafter + ,arc=5mm + ,sharp corners=northwest + ,toprule at break=-1sp + ,bottomrule at break=-1sp + } +\tcbsubskin{exwrap-first}{exwrap}{sharp corners=south} +\tcbsubskin{exwrap-mid}{exwrap}{sharp corners=all} +\tcbsubskin{exwrap-last}{exwrap}{sharp corners=north} +\newtcolorbox{exbox}[2] + {% + colback=white% + ,colframe=white% + ,geometry nodes=true + ,interior code= + {% + \fill[white] + decorate[ragged border]{ + ($(frame.south east) - (0, 1mm)$) -- + ($(frame.south west) - (0, 1mm)$) + } + -- (frame.south west) -- ++(0, 1pt) -| (frame.south east) -- cycle; + \fill[white] + decorate[ragged border]{ + ($(frame.north east) + (0, 1mm)$) -- + ($(frame.north west) + (0, 1mm)$) + } + -- (frame.north west) -- ++(0, -1pt) -| (frame.north east) -- cycle; + } + ,fontupper=\small + ,width={\dimexpr#2\relax}% + ,sharp corners=all + ,boxsep=0pt + ,top=\fboxsep + ,bottom=\fboxsep + ,left=\fboxsep + ,right=\fboxsep + ,#1% + } +\newtcolorbox{exwrap}[1] + {% + skin=exwrap + ,skin first=exwrap-first + ,skin middle=exwrap-mid + ,skin last=exwrap-last + ,#1% + } +%=<< +\makeatother diff --git a/macros/latex/contrib/enverb/preamble-logo.tex b/macros/latex/contrib/enverb/preamble-logo.tex new file mode 100644 index 0000000000..177f8f3e26 --- /dev/null +++ b/macros/latex/contrib/enverb/preamble-logo.tex @@ -0,0 +1,25 @@ +\definecolor{enverbred}{HTML}{9F393D} +\colorlet{enverbgrey}{black!75} +\newcommand\envlogo% >>= + {% + \texorpdfstring + {\envLogo}% + {enverb}% + }% =<< +\protected\def\envLogo% >>= + {% + \mbox + {% + \BeginAccSupp{ActualText=enverb}% + \href{https://gitlab.com/islandoftex/texmf/enverb}{\envLogoFormat}% + \EndAccSupp{}% + }% + }% =<< +\protected\def\envLogoFormat% >>= + {% + \begingroup + \normalfont\rmfamily\bfseries + \textcolor{enverbgrey}{en\kern-0.045em v}\kern-.485em + \textcolor{enverbred}{v\kern-0.045em erb}% + \endgroup + }% =<< diff --git a/macros/latex/contrib/l3packages/CHANGELOG.md b/macros/latex/contrib/l3packages/CHANGELOG.md index cd9143da08..a49c43396d 100644 --- a/macros/latex/contrib/l3packages/CHANGELOG.md +++ b/macros/latex/contrib/l3packages/CHANGELOG.md @@ -7,6 +7,13 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2024-08-16] + +### Fixed +- Support for optimised commands using `\GetDocumentCommandArgSpec` (issue + [\#1550](https://github.com/latex3/latex3/issues/1550)) +- Unmatched `macrocode` environment in `xtemplate` + ## [2024-05-08] ### Changed @@ -259,7 +266,8 @@ this project uses date-based 'snapshot' version identifiers. - Switch to ISO date format - Improve cross-module use of internal functions -[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-08...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2024-08-16...HEAD +[2024-08-16]: https://github.com/latex3/latex3/compare/2024-05-08...2024-08-16 [2024-05-08]: https://github.com/latex3/latex3/compare/2024-03-14...2024-05-08 [2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-18...2024-03-14 [2024-02-18]: https://github.com/latex3/latex3/compare/2024-02-13...2024-02-18 diff --git a/macros/latex/contrib/l3packages/README.md b/macros/latex/contrib/l3packages/README.md index 10899672d6..dfdc1135ba 100644 --- a/macros/latex/contrib/l3packages/README.md +++ b/macros/latex/contrib/l3packages/README.md @@ -1,6 +1,6 @@ # `l3packages`: Higher-level LaTeX3 Concepts (Deprecated) -Release 2024-05-08 +Release 2024-08-16 ## Overview diff --git a/macros/latex/contrib/l3packages/l3keys2e.dtx b/macros/latex/contrib/l3packages/l3keys2e.dtx index 2e5c419165..e8f6416012 100644 --- a/macros/latex/contrib/l3packages/l3keys2e.dtx +++ b/macros/latex/contrib/l3packages/l3keys2e.dtx @@ -62,7 +62,7 @@ % }^^A % } % -% \date{Released 2024-05-08} +% \date{Released 2024-08-16} % % \maketitle % @@ -154,7 +154,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3keys2e}{2024-05-08}{} +\ProvidesExplPackage{l3keys2e}{2024-08-16}{} {LaTeX2e option processing using LaTeX3 keys} % \end{macrocode} % diff --git a/macros/latex/contrib/l3packages/l3keys2e.pdf b/macros/latex/contrib/l3packages/l3keys2e.pdf Binary files differindex df3821afb8..90c356f225 100644 --- a/macros/latex/contrib/l3packages/l3keys2e.pdf +++ b/macros/latex/contrib/l3packages/l3keys2e.pdf diff --git a/macros/latex/contrib/l3packages/xfp.dtx b/macros/latex/contrib/l3packages/xfp.dtx index fe8dcd51b1..6e95e42901 100644 --- a/macros/latex/contrib/l3packages/xfp.dtx +++ b/macros/latex/contrib/l3packages/xfp.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2024-05-08} +% \date{Released 2024-08-16} % % \maketitle % @@ -171,7 +171,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xfp}{2024-05-08}{} +\ProvidesExplPackage{xfp}{2024-08-16}{} {L3 Floating point unit} % \end{macrocode} % diff --git a/macros/latex/contrib/l3packages/xfp.pdf b/macros/latex/contrib/l3packages/xfp.pdf Binary files differindex 2097c2b079..8640b3600d 100644 --- a/macros/latex/contrib/l3packages/xfp.pdf +++ b/macros/latex/contrib/l3packages/xfp.pdf diff --git a/macros/latex/contrib/l3packages/xparse.dtx b/macros/latex/contrib/l3packages/xparse.dtx index 62ac19ff25..ac0ee03d3f 100644 --- a/macros/latex/contrib/l3packages/xparse.dtx +++ b/macros/latex/contrib/l3packages/xparse.dtx @@ -67,7 +67,7 @@ % }^^A % } % -% \date{Released 2024-05-08} +% \date{Released 2024-08-16} % % \maketitle % @@ -1079,7 +1079,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xparse}{2024-05-08}{} +\ProvidesExplPackage{xparse}{2024-08-16}{} {L3 Experimental document command parser} % \end{macrocode} % @@ -1436,13 +1436,30 @@ % % \begin{macro}{\@@_get_arg_spec:NTF} % If the command is not an \pkg{xparse} command, complain. If it is, -% its second \enquote{item} is the argument specification. +% its second \enquote{item} is the argument specification unless the +% command is optimised: in the latter case, we can reconstruct the +% spec. % \begin{macrocode} \cs_gset_protected:Npn \@@_get_arg_spec:NTF #1#2#3 { \__kernel_cmd_if_xparse:NTF #1 { - \tl_set:Ne \ArgumentSpecification { \tl_item:Nn #1 { 2 } } + \tl_set:Ne \ArgumentSpecification + { + \exp_args:No \tl_if_head_eq_meaning:nNTF {#1} \@@_start_optimized: + { + \prg_replicate:nn + { + \str_count:e + { + \exp_args:Nc \cs_parameter_spec:N + { \cs_to_str:N #1 \c_space_tl code } + } / 2 + } + { m } + } + { \tl_item:Nn #1 { 2 } } + } #2 } {#3} diff --git a/macros/latex/contrib/l3packages/xparse.pdf b/macros/latex/contrib/l3packages/xparse.pdf Binary files differindex bb31c0a5e6..b9c39f43c3 100644 --- a/macros/latex/contrib/l3packages/xparse.pdf +++ b/macros/latex/contrib/l3packages/xparse.pdf diff --git a/macros/latex/contrib/l3packages/xtemplate.dtx b/macros/latex/contrib/l3packages/xtemplate.dtx index 7d20c6142f..17715905ad 100644 --- a/macros/latex/contrib/l3packages/xtemplate.dtx +++ b/macros/latex/contrib/l3packages/xtemplate.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2024-05-08} +% \date{Released 2024-08-16} % % \maketitle % @@ -704,7 +704,7 @@ \endinput } {% - \ProvidesExplPackage{xtemplate}{2024-05-08}{} + \ProvidesExplPackage{xtemplate}{2024-08-16}{} {L3 Experimental prototype document functions} \long\protected\def\DeclareRestrictedTemplate#1#2#3#4{% \DeclareTemplateCopy{#1}{#3}{#2}% @@ -722,6 +722,7 @@ % \end{macro} % \end{macro} % +% \begin{macrocode} %</package> % \end{macrocode} % diff --git a/macros/latex/contrib/l3packages/xtemplate.pdf b/macros/latex/contrib/l3packages/xtemplate.pdf Binary files differindex b70bd7c991..44e90a9163 100644 --- a/macros/latex/contrib/l3packages/xtemplate.pdf +++ b/macros/latex/contrib/l3packages/xtemplate.pdf diff --git a/macros/latex/contrib/media9/ChangeLog b/macros/latex/contrib/media9/ChangeLog index a0a11296e1..712cf2598e 100644 --- a/macros/latex/contrib/media9/ChangeLog +++ b/macros/latex/contrib/media9/ChangeLog @@ -1,3 +1,10 @@ +2024-08-28 + * v1.26 : media9.sty + * v0.56 : pdfbase.sty + * fix : dvi magnification by \mag internal TeX command (pdfbase.sty); + PDF/A compliance (fixes agrahn/ocgx2#21) + * new: hooks for adding actions at begin and end of text column + 2022-08-04 * v1.25 : media9.sty * v0.55 : pdfbase.sty diff --git a/macros/latex/contrib/media9/doc/media9.pdf b/macros/latex/contrib/media9/doc/media9.pdf Binary files differindex 2b85529903..526dc37408 100644 --- a/macros/latex/contrib/media9/doc/media9.pdf +++ b/macros/latex/contrib/media9/doc/media9.pdf diff --git a/macros/latex/contrib/media9/media9.sty b/macros/latex/contrib/media9/media9.sty index c1e00febb4..9651cd0468 100644 --- a/macros/latex/contrib/media9/media9.sty +++ b/macros/latex/contrib/media9/media9.sty @@ -39,8 +39,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@mix@date@tl{2022/08/04} -\def\g@mix@version@tl{1.25} +\def\g@mix@date@tl{2024/08/28} +\def\g@mix@version@tl{1.26} \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl} @@ -2446,8 +2446,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@mix@date@tl{2022/08/04} -\def\g@mix@version@tl{1.25} +\def\g@mix@date@tl{2024/08/28} +\def\g@mix@version@tl{1.26} \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl} diff --git a/macros/latex/contrib/media9/pdfbase.sty b/macros/latex/contrib/media9/pdfbase.sty index 67ff708ad5..66c76fff80 100644 --- a/macros/latex/contrib/media9/pdfbase.sty +++ b/macros/latex/contrib/media9/pdfbase.sty @@ -156,8 +156,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@pbs@date@tl{2022/08/04} -\def\g@pbs@version@tl{0.55} +\def\g@pbs@date@tl{2024/08/28} +\def\g@pbs@version@tl{0.56} \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl} @@ -220,11 +220,11 @@ {dvipdfmx}{ \bool_gset_true:N\g_pbs_dvipdfmx_bool \bool_gset_false:N\g_pbs_dvisvgm_bool - } + } {dvisvgm}{ \bool_gset_false:N\g_pbs_dvipdfmx_bool \bool_gset_true:N\g_pbs_dvisvgm_bool - } + } }{ % otherwise let the L3 backend code decide \str_case_e:nn{\c_sys_backend_str}{ {dvisvgm}{ @@ -270,6 +270,12 @@ \seq_new:N\g_pbs_bop_seq \seq_new:N\g_pbs_eop_seq +% column (boc, eoc) hooks +\cs_new_protected:Nn\pbs_boc_action:n{\seq_gput_right:Nn\g_pbs_boc_seq{#1}} +\cs_new_protected:Nn\pbs_eoc_action:n{\seq_gput_right:Nn\g_pbs_eoc_seq{#1}} +\seq_new:N\g_pbs_boc_seq +\seq_new:N\g_pbs_eoc_seq + \bool_new:N\g_pbs_lscape_bool %if we are inside landscape env \bool_new:N\g_pbs_ocgbase_loaded_bool \AtBeginDocument{ @@ -1105,8 +1111,8 @@ \mode_leave_vertical: % resources are managed automatically %rescale box to fit within the papersize while distilling \tl_gset:cx{scale_{pbs@obj\int_use:N\g_pbs_obj_int}}{\fp_eval:n{min(1.0, - \dim_ratio:nn{\paperwidth}{\box_wd:N#5}, - \dim_ratio:nn{\paperheight}{\box_ht:N#5+\box_dp:N#5} + \dim_ratio:nn{\paperwidth}{\box_wd:N#5}/\the\mag*1000, + \dim_ratio:nn{\paperheight}{\box_ht:N#5+\box_dp:N#5}/\the\mag*1000 )}} \box_scale:Nnn#5{ \tl_use:c{scale_{pbs@obj\int_use:N\g_pbs_obj_int}} @@ -1302,33 +1308,39 @@ \tl_gput_left:Nx\g_pbs_fields_tl{#1\space} } -%modify output routine for output box insertions -\bool_new:N\l_pbs_is_vertical_bool +% modify page output routine for inserting actions at begin and end \cs_set_eq:NN\pbs_outputpage_orig:\@outputpage \cs_set_protected_nopar:Npn\@outputpage{ - \int_gincr:N\g_pbs_page_int - \box_if_vertical:cTF{@outputbox}{ - \bool_set_true:N\l_pbs_is_vertical_bool - }{ - \bool_set_false:N\l_pbs_is_vertical_bool - } - \hbox_set:Nn\@outputbox{ + \vbox_set:Nn\@outputbox{ %begin of page - \hbox_overlap_right:n{\seq_map_inline:Nn\g_pbs_bop_seq{##1}} + \seq_map_inline:Nn\g_pbs_bop_seq{##1} \box_use_drop:N\@outputbox %end of page - \hbox_overlap_right:n{\seq_map_inline:Nn\g_pbs_eop_seq{##1}} - } - \bool_if:NT\l_pbs_is_vertical_bool{ - \vbox_set:Nn\@outputbox{\box_use_drop:N\@outputbox} + \seq_map_inline:Nn\g_pbs_eop_seq{##1} } \pbs_outputpage_orig: } +% modify column making routine for inserting actions at begin and end +\cs_set_eq:NN\pbs_makecol_orig:\@makecol +\cs_set_protected_nopar:Npn\@makecol{ + \vbox_set:Nn\@cclv{ + %begin of column + \seq_map_inline:Nn\g_pbs_boc_seq{##1} + \vbox_unpack_drop:N\@cclv + %end of column + \seq_map_inline:Nn\g_pbs_eoc_seq{##1} + } + \pbs_makecol_orig: +} + +\AddToHook{shipout}{\int_gincr:N\g_pbs_page_int} + \AddToHook{shipout/foreground}{ %insert /Properties into current page's resources \put(0,0){\pbs_insert_properties_entry:} } + \AddToHook{shipout/background}{ % workaround for curious AR bug (pdf annot or link placed on % OCG remains active although OCG is hidden) @@ -1336,8 +1348,14 @@ % somewhere on the page. \bool_if:NT\g_pbs_ocgbase_loaded_bool{ \put(1,-1){ + \tl_if_exist:NF\g_pbs_blank_xform_tl{ + \hbox_set:Nn\l_tmpa_box{\phantom{\rule{1pt}{1pt}}} + \pbs_pdfxform:nnnnn{}{1}{}{}{\l_tmpa_box} + \tl_const:Ne\g_pbs_blank_xform_tl{\pbs_pdflastxform:} + } \pbs_pdfannot:nnnn{3bp}{\c_zero_dim}{3bp}{ - /Ff~65537/FT/Btn/Subtype/Widget + /Ff~65537/FT/Btn/Subtype/Widget/F~4 + /AP~<</N~<</On~\g_pbs_blank_xform_tl>>>> /T~(pbs@ARFix@\int_use:N\g_pbs_page_int) } } @@ -1435,8 +1453,8 @@ % `fstream', then % {stream attributes as PDF key-value dictionary}{file name} % -% if #3 && #1 are both empty, an object reference will be reserved for later -% use as #1 +% if #3 && #1 are both empty, an object reference will be reserved for +% later use as #1 % % \pbs_pdflastobj: % inserts object ID of PDF object created/processed during most recent call @@ -1471,9 +1489,9 @@ % -------- % % \pbs_pdfxform:nnnnn -% #1: add pgf/tikz resources (transparency, shading)? (0|1) %dvipdfmx/xetex +% #1: add pgf/tikz resources (transparency, shading)? (0|1); dvipdfmx/xetex % #2: write immediately to PDF? (0|1); eg 1 for appearances; pdftex/luatex -% #3: additional resources %all BUT dvips +% #3: additional resources; all BUT dvips % #4: additional dictionary entries % #5: savebox number % creates PDF Form XObject from savebox content @@ -1539,8 +1557,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@pbs@date@tl{2022/08/04} -\def\g@pbs@version@tl{0.55} +\def\g@pbs@date@tl{2024/08/28} +\def\g@pbs@version@tl{0.56} \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage{pdfbase}{\g@pbs@date@tl}{\g@pbs@version@tl} @@ -1603,11 +1621,11 @@ {dvipdfmx}{ \bool_gset_true:N\g_pbs_dvipdfmx_bool \bool_gset_false:N\g_pbs_dvisvgm_bool - } + } {dvisvgm}{ \bool_gset_false:N\g_pbs_dvipdfmx_bool \bool_gset_true:N\g_pbs_dvisvgm_bool - } + } }{ % otherwise let the L3 backend code decide \str_case_e:nn{\c_sys_backend_str}{ {dvisvgm}{ @@ -1653,8 +1671,16 @@ \seq_new:N\g_pbs_bop_seq \seq_new:N\g_pbs_eop_seq -\bool_new:N\g_pbs_lscape_bool %if we are inside landscape env +% column (boc, eoc) hooks +\cs_new_protected:Nn\pbs_boc_action:n{\seq_gput_right:Nn\g_pbs_boc_seq{#1}} +\cs_new_protected:Nn\pbs_eoc_action:n{\seq_gput_right:Nn\g_pbs_eoc_seq{#1}} +\seq_new:N\g_pbs_boc_seq +\seq_new:N\g_pbs_eoc_seq + \bool_new:N\g_pbs_ocgbase_loaded_bool +\AddToHook{package/ocgbase/after}{\bool_gset_true:N\g_pbs_ocgbase_loaded_bool} + +\bool_new:N\g_pbs_lscape_bool %if we are inside landscape env \AtBeginDocument{ \iow_now:Nx\@mainaux{ \token_to_str:N\providecommand\token_to_str:N\pbs@newkey[2]{} @@ -1666,7 +1692,6 @@ \tl_put_right:Nn\landscape{\bool_gset_true:N\g_pbs_lscape_bool} \tl_put_left:Nn\endlandscape{\bool_gset_false:N\g_pbs_lscape_bool} } - \@ifpackageloaded{ocgbase}{\bool_gset_true:N\g_pbs_ocgbase_loaded_bool}{} } % writing to core objects in the PDF, using the new pdfmanagement interface @@ -1851,7 +1876,9 @@ \xsb_addto_props:n{/rm@oc\int_use:N\g_pbs_oc_int\space#2} \int_gincr:N\g_pbs_oc_int }{ - \pdf_bdcobject:nx{#1}{\tl_use:c{g_pbs_objname_#2_tl}} + \tl_if_exist:cT{g_pbs_objname_#2_tl}{ + \exp_args:Nne\pdf_bdcobject:nn{#1}{\tl_use:c{g_pbs_objname_#2_tl}} + } } } @@ -1868,9 +1895,7 @@ %pgf + transparency related settings \bool_new:N\g_pbs_pgfloaded_bool \bool_gset_false:N\g_pbs_pgfloaded_bool - \AtBeginDocument{ - \@ifpackageloaded{pgf}{\bool_gset_true:N\g_pbs_pgfloaded_bool}{} - } + \AddToHook{package/pgf/after}{\bool_gset_true:N\g_pbs_pgfloaded_bool} \int_new:N\g_pbs_obj_int %object ID \bool_if:NTF\g_pbs_dvipdfmx_bool{ %dvipdfmx/XeTeX \AtBeginDocument{ @@ -2042,7 +2067,9 @@ } \cs_new_protected_nopar:Nn\pbs_pdfbdc:nn{ - \pdf_bdcobject:nx{#1}{\tl_use:c{g_pbs_objname_#2_tl}} + \tl_if_exist:cT{g_pbs_objname_#2_tl}{ + \exp_args:Nne\pdf_bdcobject:nn{#1}{\tl_use:c{g_pbs_objname_#2_tl}} + } } }{ \bool_if:NTF\g_pbs_dvisvgm_bool{ @@ -2436,8 +2463,8 @@ \mode_leave_vertical: % resources are managed automatically %rescale box to fit within the papersize while distilling \tl_gset:cx{scale_{pbs@obj\int_use:N\g_pbs_obj_int}}{\fp_eval:n{min(1.0, - \dim_ratio:nn{\paperwidth}{\box_wd:N#5}, - \dim_ratio:nn{\paperheight}{\box_ht:N#5+\box_dp:N#5} + \dim_ratio:nn{\paperwidth}{\box_wd:N#5}/\the\mag*1000, + \dim_ratio:nn{\paperheight}{\box_ht:N#5+\box_dp:N#5}/\the\mag*1000 )}} \box_scale:Nnn#5{ \tl_use:c{scale_{pbs@obj\int_use:N\g_pbs_obj_int}} @@ -2602,7 +2629,6 @@ } } } -\cs_generate_variant:Nn\pdf_bdcobject:nn{nx} \cs_new_eq:NN\pbs_pdfemc:\pdf_emc: \cs_new_nopar:Nn\pbs_pdflastobj:{\g_pbs_pdflastobj_tl} @@ -2610,29 +2636,34 @@ \cs_new_nopar:Nn\pbs_pdflastxform:{\g_pbs_pdflastxform_tl} \cs_new_nopar:Nn\pbs_pdflastximage:{\g_pbs_pdflastximage_tl} -%modify output routine for output box insertions -\bool_new:N\l_pbs_is_vertical_bool +% modify page output routine for inserting actions at begin and end \cs_set_eq:NN\pbs_outputpage_orig:\@outputpage \cs_set_protected_nopar:Npn\@outputpage{ - \int_gincr:N\g_pbs_page_int - \box_if_vertical:cTF{@outputbox}{ - \bool_set_true:N\l_pbs_is_vertical_bool - }{ - \bool_set_false:N\l_pbs_is_vertical_bool - } - \hbox_set:Nn\@outputbox{ + \vbox_set:Nn\@outputbox{ %begin of page - \hbox_overlap_right:n{\seq_map_inline:Nn\g_pbs_bop_seq{##1}} + \seq_map_inline:Nn\g_pbs_bop_seq{##1} \box_use_drop:N\@outputbox %end of page - \hbox_overlap_right:n{\seq_map_inline:Nn\g_pbs_eop_seq{##1}} - } - \bool_if:NT\l_pbs_is_vertical_bool{ - \vbox_set:Nn\@outputbox{\box_use_drop:N\@outputbox} + \seq_map_inline:Nn\g_pbs_eop_seq{##1} } \pbs_outputpage_orig: } +% modify column making routine for inserting actions at begin and end +\cs_set_eq:NN\pbs_makecol_orig:\@makecol +\cs_set_protected_nopar:Npn\@makecol{ + \vbox_set:Nn\@cclv{ + %begin of column + \seq_map_inline:Nn\g_pbs_boc_seq{##1} + \vbox_unpack_drop:N\@cclv + %end of column + \seq_map_inline:Nn\g_pbs_eoc_seq{##1} + } + \pbs_makecol_orig: +} + +\AddToHook{shipout}{\int_gincr:N\g_pbs_page_int} + \AddToHook{shipout/background}{ % workaround for curious AR bug (pdf annot or link placed on % OCG remains active although OCG is hidden) @@ -2640,8 +2671,14 @@ % somewhere on the page. \bool_if:NT\g_pbs_ocgbase_loaded_bool{ \put(1,-1){ + \tl_if_exist:NF\g_pbs_blank_xform_tl{ + \hbox_set:Nn\l_tmpa_box{\phantom{\rule{1pt}{1pt}}} + \pbs_pdfxform:nnnnn{}{1}{}{}{\l_tmpa_box} + \tl_const:Ne\g_pbs_blank_xform_tl{\pbs_pdflastxform:} + } \pbs_pdfannot:nnnn{3bp}{\c_zero_dim}{3bp}{ - /Ff~65537/FT/Btn/Subtype/Widget + /Ff~65537/FT/Btn/Subtype/Widget/F~4 + /AP~<</N~<</On~\g_pbs_blank_xform_tl>>>> /T~(pbs@ARFix@\int_use:N\g_pbs_page_int) } } diff --git a/macros/latex/contrib/ocgx2/ChangeLog b/macros/latex/contrib/ocgx2/ChangeLog index 65ca63a13d..2aa9c20179 100644 --- a/macros/latex/contrib/ocgx2/ChangeLog +++ b/macros/latex/contrib/ocgx2/ChangeLog @@ -1,3 +1,8 @@ +2024-08-28 + * v0.58: ocgx2.sty + * v0.23: ocgbase.sty + * fix: OCG hierarchy shown in the viewer's Layer tab + 2024-03-18 * v0.57: ocgx2.sty * fix: fixed link border in pdfmanagement-testphase version diff --git a/macros/latex/contrib/ocgx2/ocgbase.sty b/macros/latex/contrib/ocgx2/ocgbase.sty index bf4edf432b..690bd593ce 100644 --- a/macros/latex/contrib/ocgx2/ocgbase.sty +++ b/macros/latex/contrib/ocgx2/ocgbase.sty @@ -100,8 +100,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@ocgbase@date@tl{2022/08/04} -\def\g@ocgbase@version@tl{0.22} +\def\g@ocgbase@date@tl{2024/08/28} +\def\g@ocgbase@version@tl{0.23} \ProvidesExplPackage{ocgbase}{\g@ocgbase@date@tl}{\g@ocgbase@version@tl} {support package for ocgx2.sty} @@ -167,10 +167,8 @@ %global Order list \tl_new:N\l_ocgbase_ocgorderentry_tl \tl_new:N\l_ocgbase_ocgorder_tl - \tl_if_exist:cT{g_ocgbase_nd_0_chld_tl}{ - \ocgbase_build_order:Nn\l_ocgbase_ocgorder_tl{ - \tl_use:c{g_ocgbase_nd_0_chld_tl} - } + \seq_if_empty:NF\g_ocgbase_order_root_seq{ + \ocgbase_build_order:Nn\l_ocgbase_ocgorder_tl{root} } \tl_if_empty:NF\l_ocgbase_ocgorder_tl{ \pbs_pdfobj:nnn{}{array}{\l_ocgbase_ocgorder_tl} @@ -228,98 +226,45 @@ \cs_new_nopar:Nn\ocgbase_last_ocg:{\g_ocgbase_last_ocg_tl} -\int_new:N\g_ocgbase_nd_int %node id -\seq_new:N\g_ocgbase_tree_nd_stack_seq %stack with open ocg node id -\seq_new:N\g_ocgbase_tree_ocg_stack_seq %stack with open ocg obj number -\seq_gpush:Nn\g_ocgbase_tree_nd_stack_seq{0} %push root node -\seq_gpush:Nn\g_ocgbase_tree_ocg_stack_seq{null} %push root node +\seq_new:N\g_ocgbase_open_ocg_seq %stack with open ocg ref +\seq_new:N\g_ocgbase_order_root_seq %seq taking ocg ref /Order root -%macro for starting OCG object (and nested children) insertion into Order +%macro for starting OCG object (and nested children) insertion into order %hierarchy (shown as tree structure in the viewers `Layers' tab \cs_new_protected_nopar:Nn\ocgbase_tree_node_begin:n{ % #1: OCG obj - %get the parent node from stack - \seq_get:NN\g_ocgbase_tree_nd_stack_seq\l__ocgbase_prnt_tl - \tl_if_exist:cTF{g_ocgbase_nd_\l__ocgbase_prnt_tl _chld_tl}{ - %parent has >=1 children (i. e. my older siblings), traverse them - \tl_set:Nv\l__ocgbase_prev_sbl_tl{g_ocgbase_nd_\l__ocgbase_prnt_tl _chld_tl} - \tl_set:Nx\l__ocgbase_cur_ocg_tl{#1} - \ocgbase_traverse_siblings:NN\l__ocgbase_prev_sbl_tl\l__ocgbase_cur_ocg_tl - \str_if_empty:NTF\l__ocgbase_cur_ocg_tl{ - %I am the first child of my parent to refer to OCG #1 - \int_gincr:N\g_ocgbase_nd_int - \tl_set:Nx\l__ocgbase_cur_nd_tl{\int_use:N\g_ocgbase_nd_int} - %set myself as my next-older sibling's `next sibling' - \tl_gset:cV{ - g_ocgbase_nd_\l__ocgbase_prev_sbl_tl _sbl_tl}\l__ocgbase_cur_nd_tl - }{ - %there is already a sibling referring to OCG #1; no new node needs be - %created - \tl_set:NV\l__ocgbase_cur_nd_tl\l__ocgbase_prev_sbl_tl - } - }{ - %I am the very first child of my parent - \int_gincr:N\g_ocgbase_nd_int - \tl_set:Nx\l__ocgbase_cur_nd_tl{\int_use:N\g_ocgbase_nd_int} - %set myself as my parent's first child - \tl_gset:cV{g_ocgbase_nd_\l__ocgbase_prnt_tl _chld_tl}\l__ocgbase_cur_nd_tl + % get parent (either currently open ocg or root) + \seq_get:NNF\g_ocgbase_open_ocg_seq\l__ocgbase_prnt_tl{ + \tl_set:Nn\l__ocgbase_prnt_tl{root} } - %set the OCG I am referring to - \tl_gset:cx{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _ocg_tl}{#1} - %push current node and its associated OCG obj on the stacks - \seq_gpush:NV\g_ocgbase_tree_nd_stack_seq\l__ocgbase_cur_nd_tl - \seq_gpush:Nx\g_ocgbase_tree_ocg_stack_seq{#1} -} - -%macro that ends insertion of OCG and sub-OCGs into Order tree -\cs_new_protected:Nn\ocgbase_tree_node_end:{ - \seq_get:NN\g_ocgbase_tree_nd_stack_seq\l_tempa_tl - \seq_get:NN\g_ocgbase_tree_ocg_stack_seq\l_tempb_tl - \str_if_eq:eeT{ - \cs_if_exist_use:c{g_ocgbase_nd_\l_tempa_tl _ocg_tl} - }{ - \l_tempb_tl - }{ - \seq_gpop:NN\g_ocgbase_tree_nd_stack_seq\g_trash_tl - \seq_gpop:NN\g_ocgbase_tree_ocg_stack_seq\g_trash_tl + %push current ocg ref on stack with open ocgs + \seq_gpush:Nx\g_ocgbase_open_ocg_seq{#1} + %create seq for current ocg if not yet existing and + %append ocg ref to its parent seq + \seq_if_exist:cF{g_ocgbase_order_#1_seq}{ + \seq_new:c{g_ocgbase_order_#1_seq} + \seq_gput_right:cx{g_ocgbase_order_ \l__ocgbase_prnt_tl _seq}{#1} } } -% helper macro (recursive); traverses siblings to find either -% the node which refers to the same OCG (arg #2 remains un-modified), or -% the last sibling inserted (arg #2 is cleared); -% the node id of the sibling found is returned in arg #1 -\cs_new_protected:Nn\ocgbase_traverse_siblings:NN{ - % #1: current node (in/out), #2: OCG obj (in/out) - \str_if_eq:eeF{#2}{\tl_use:c{g_ocgbase_nd_#1_ocg_tl}}{ - \tl_if_exist:cTF{g_ocgbase_nd_#1_sbl_tl}{ - \tl_set:Nv#1{g_ocgbase_nd_#1_sbl_tl} - \ocgbase_traverse_siblings:NN#1#2 - }{ - \tl_clear:N#2 - } - } +%macro that ends insertion of current OCG into order tree +\cs_new_protected:Nn\ocgbase_tree_node_end:{ + %pop top ocg ref from stack with open ocgs + \seq_gpop:NN\g_ocgbase_open_ocg_seq\g_trash_tl } +%macro that builds global ocg order from hierarchy and saves it into tl var \cs_new_protected_nopar:Nn\ocgbase_build_order:Nn{ % (recursive macro) % #1: tl var to which the OCG order is written (output) - % #2: starting node id (input; usually `1') - \tl_set:Nx\l__ocgbase_cur_nd_tl{#2} - % first, append the OCG obj the current node is referring to - \tl_put_right:Nx#1{~\tl_use:c{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _ocg_tl}} - % second, traverse the tree starting with the first child node - \tl_if_exist:cT{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _chld_tl}{ - \seq_gpush:NV\g_ocgbase_tree_nd_stack_seq\l__ocgbase_cur_nd_tl - \tl_put_right:Nn#1{~[} - \ocgbase_build_order:Nn#1{ - \tl_use:c{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _chld_tl}} - \tl_put_right:Nn#1{~]} - \seq_gpop:NN\g_ocgbase_tree_nd_stack_seq\l__ocgbase_cur_nd_tl - } - % third, traverse the tree starting with the next sibling node - \tl_if_exist:cT{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _sbl_tl}{ - \ocgbase_build_order:Nn#1{ - \tl_use:c{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _sbl_tl}} + % #2: starting node (input; usually `root') + \seq_map_inline:cn{g_ocgbase_order_#2_seq}{ + % first, append ocg ref to result tl var + \tl_put_right:Nx#1{~##1} + \seq_if_empty:cF{g_ocgbase_order_##1_seq}{ + \tl_put_right:Nn#1{~[} + \ocgbase_build_order:Nn#1{##1} + \tl_put_right:Nn#1{~]} + } } } @@ -433,7 +378,7 @@ % \ocgbase@tree@node@end % #1: OCG PDF object % macro pair (begin and end) for inserting OCG object and its children -% into Order hierarchy (shown as tree structure in the viewers `Layers' tab +% into order hierarchy (shown as tree structure in the viewers `Layers' tab % % -------- % @@ -479,8 +424,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@ocgbase@date@tl{2022/08/04} -\def\g@ocgbase@version@tl{0.22} +\def\g@ocgbase@date@tl{2024/08/28} +\def\g@ocgbase@version@tl{0.23} \ProvidesExplPackage{ocgbase}{\g@ocgbase@date@tl}{\g@ocgbase@version@tl} {support package for ocgx2.sty} @@ -535,25 +480,23 @@ \AddToHook{shipout/lastpage}{ \tl_if_empty:NF\g_ocgbase_ocgs_tl{ %global OCG array - \pbs_pdfobj:nnn{}{array}{\g_ocgbase_ocgs_tl} - \tl_set:Nx\l_ocgbase_ocgarray_tl{\pbs_pdflastobj:} - \tl_new:N\l_ocgbase_offocgentry_tl + \pdf_object_unnamed_write:ne{array}{\g_ocgbase_ocgs_tl} + \tl_set:Nx\l_ocgbase_ocgarray_tl{\pdf_object_ref_last:} %global OFF list + \tl_new:N\l_ocgbase_offocgentry_tl \seq_if_empty:NF\g_ocgbase_offocgs_seq{ - \pbs_pdfobj:nnn{}{array}{\seq_use:Nn\g_ocgbase_offocgs_seq{~}} - \tl_set:Nx\l_ocgbase_offocgentry_tl{/OFF~\pbs_pdflastobj:} + \pdf_object_unnamed_write:ne{array}{\seq_use:Nn\g_ocgbase_offocgs_seq{~}} + \tl_set:Nx\l_ocgbase_offocgentry_tl{/OFF~\pdf_object_ref_last:} } %global Order list \tl_new:N\l_ocgbase_ocgorderentry_tl \tl_new:N\l_ocgbase_ocgorder_tl - \tl_if_exist:cT{g_ocgbase_nd_0_chld_tl}{ - \ocgbase_build_order:Nn\l_ocgbase_ocgorder_tl{ - \tl_use:c{g_ocgbase_nd_0_chld_tl} - } + \seq_if_empty:NF\g_ocgbase_order_root_seq{ + \ocgbase_build_order:Nn\l_ocgbase_ocgorder_tl{root} } \tl_if_empty:NF\l_ocgbase_ocgorder_tl{ - \pbs_pdfobj:nnn{}{array}{\l_ocgbase_ocgorder_tl} - \tl_set:Nx\l_ocgbase_ocgorderentry_tl{/Order~\pbs_pdflastobj:} + \pdf_object_unnamed_write:ne{array}{\l_ocgbase_ocgorder_tl} + \tl_set:Nx\l_ocgbase_ocgorderentry_tl{/Order~\pdf_object_ref_last:} } %generate RBGroups entry (radio button groups) \tl_new:N\l_ocgbase_rbtn_groups_tl @@ -566,8 +509,8 @@ } \tl_new:N\l_ocgbase_rbgroupsentry_tl \tl_if_empty:NF\l_ocgbase_rbtn_groups_tl{ - \pbs_pdfobj:nnn{}{array}{\l_ocgbase_rbtn_groups_tl} - \tl_set:Nx\l_ocgbase_rbgroupsentry_tl{/RBGroups~\pbs_pdflastobj:} + \pdf_object_unnamed_write:ne{array}{\l_ocgbase_rbtn_groups_tl} + \tl_set:Nx\l_ocgbase_rbgroupsentry_tl{/RBGroups~\pdf_object_ref_last:} } \pdfmanagement_add:nnx{Catalog/OCProperties}{OCGs}{\g_ocgbase_ocgs_tl} \pdfmanagement_add:nnx{Catalog/OCProperties}{D}{<< @@ -586,12 +529,10 @@ } %macro for inserting new OCG object -\cs_generate_variant:Nn\pdf_object_new:nn{xn} -\cs_generate_variant:Nn\pdf_object_write:nn{xx} \int_new:N\g_ocgbase_int \cs_new_protected_nopar:Nn\ocgbase_new_ocg:nnn{ - \pdf_object_new:xn{g_object_\int_use:N\g_ocgbase_int _pdf}{dict} - \pdf_object_write:xx{g_object_\int_use:N\g_ocgbase_int _pdf}{ + \exp_args:Ne\pdf_object_new:n{g_object_\int_use:N\g_ocgbase_int _pdf} + \exp_args:Neee\pdf_object_write:nnn{g_object_ \int_use:N\g_ocgbase_int _pdf}{dict}{ /Type/OCG/Name~(#1)~\str_if_eq:eeF{#2}{}{/Usage<<#2>>} } \tl_gput_right:Nx\g_ocgbase_ocgs_tl{~\pdf_object_ref_last:} @@ -612,98 +553,45 @@ \cs_new_nopar:Nn\ocgbase_last_ocg:{\g_ocgbase_last_ocg_tl} -\int_new:N\g_ocgbase_nd_int %node id -\seq_new:N\g_ocgbase_tree_nd_stack_seq %stack with open ocg node id -\seq_new:N\g_ocgbase_tree_ocg_stack_seq %stack with open ocg obj number -\seq_gpush:Nn\g_ocgbase_tree_nd_stack_seq{0} %push root node -\seq_gpush:Nn\g_ocgbase_tree_ocg_stack_seq{null} %push root node +\seq_new:N\g_ocgbase_open_ocg_seq %stack with open ocg ref +\seq_new:N\g_ocgbase_order_root_seq %seq taking ocg ref /Order root -%macro for starting OCG object (and nested children) insertion into Order +%macro for starting OCG object (and nested children) insertion into order %hierarchy (shown as tree structure in the viewers `Layers' tab \cs_new_protected_nopar:Nn\ocgbase_tree_node_begin:n{ % #1: OCG obj - %get the parent node from stack - \seq_get:NN\g_ocgbase_tree_nd_stack_seq\l__ocgbase_prnt_tl - \tl_if_exist:cTF{g_ocgbase_nd_\l__ocgbase_prnt_tl _chld_tl}{ - %parent has >=1 children (i. e. my older siblings), traverse them - \tl_set:Nv\l__ocgbase_prev_sbl_tl{g_ocgbase_nd_\l__ocgbase_prnt_tl _chld_tl} - \tl_set:Nx\l__ocgbase_cur_ocg_tl{#1} - \ocgbase_traverse_siblings:NN\l__ocgbase_prev_sbl_tl\l__ocgbase_cur_ocg_tl - \str_if_empty:NTF\l__ocgbase_cur_ocg_tl{ - %I am the first child of my parent to refer to OCG #1 - \int_gincr:N\g_ocgbase_nd_int - \tl_set:Nx\l__ocgbase_cur_nd_tl{\int_use:N\g_ocgbase_nd_int} - %set myself as my next-older sibling's `next sibling' - \tl_gset:cV{ - g_ocgbase_nd_\l__ocgbase_prev_sbl_tl _sbl_tl}\l__ocgbase_cur_nd_tl - }{ - %there is already a sibling referring to OCG #1; no new node needs be - %created - \tl_set:NV\l__ocgbase_cur_nd_tl\l__ocgbase_prev_sbl_tl - } - }{ - %I am the very first child of my parent - \int_gincr:N\g_ocgbase_nd_int - \tl_set:Nx\l__ocgbase_cur_nd_tl{\int_use:N\g_ocgbase_nd_int} - %set myself as my parent's first child - \tl_gset:cV{g_ocgbase_nd_\l__ocgbase_prnt_tl _chld_tl}\l__ocgbase_cur_nd_tl + % get parent (either currently open ocg or root) + \seq_get:NNF\g_ocgbase_open_ocg_seq\l__ocgbase_prnt_tl{ + \tl_set:Nn\l__ocgbase_prnt_tl{root} } - %set the OCG I am referring to - \tl_gset:cx{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _ocg_tl}{#1} - %push current node and its associated OCG obj on the stacks - \seq_gpush:NV\g_ocgbase_tree_nd_stack_seq\l__ocgbase_cur_nd_tl - \seq_gpush:Nx\g_ocgbase_tree_ocg_stack_seq{#1} -} - -%macro that ends insertion of OCG and sub-OCGs into Order tree -\cs_new_protected:Nn\ocgbase_tree_node_end:{ - \seq_get:NN\g_ocgbase_tree_nd_stack_seq\l_tempa_tl - \seq_get:NN\g_ocgbase_tree_ocg_stack_seq\l_tempb_tl - \str_if_eq:eeT{ - \cs_if_exist_use:c{g_ocgbase_nd_\l_tempa_tl _ocg_tl} - }{ - \l_tempb_tl - }{ - \seq_gpop:NN\g_ocgbase_tree_nd_stack_seq\g_trash_tl - \seq_gpop:NN\g_ocgbase_tree_ocg_stack_seq\g_trash_tl + %push current ocg ref on stack with open ocgs + \seq_gpush:Nx\g_ocgbase_open_ocg_seq{#1} + %create seq for current ocg if not yet existing and + %append ocg ref to its parent seq + \seq_if_exist:cF{g_ocgbase_order_#1_seq}{ + \seq_new:c{g_ocgbase_order_#1_seq} + \seq_gput_right:cx{g_ocgbase_order_ \l__ocgbase_prnt_tl _seq}{#1} } } -% helper macro (recursive); traverses siblings to find either -% the node which refers to the same OCG (arg #2 remains un-modified), or -% the last sibling inserted (arg #2 is cleared); -% the node id of the sibling found is returned in arg #1 -\cs_new_protected:Nn\ocgbase_traverse_siblings:NN{ - % #1: current node (in/out), #2: OCG obj (in/out) - \str_if_eq:eeF{#2}{\tl_use:c{g_ocgbase_nd_#1_ocg_tl}}{ - \tl_if_exist:cTF{g_ocgbase_nd_#1_sbl_tl}{ - \tl_set:Nv#1{g_ocgbase_nd_#1_sbl_tl} - \ocgbase_traverse_siblings:NN#1#2 - }{ - \tl_clear:N#2 - } - } +%macro that ends insertion of current OCG into order tree +\cs_new_protected:Nn\ocgbase_tree_node_end:{ + %pop top ocg ref from stack with open ocgs + \seq_gpop:NN\g_ocgbase_open_ocg_seq\g_trash_tl } +%macro that builds global ocg order from hierarchy and saves it into tl var \cs_new_protected_nopar:Nn\ocgbase_build_order:Nn{ % (recursive macro) % #1: tl var to which the OCG order is written (output) - % #2: starting node id (input; usually `1') - \tl_set:Nx\l__ocgbase_cur_nd_tl{#2} - % first, append the OCG obj the current node is referring to - \tl_put_right:Nx#1{~\tl_use:c{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _ocg_tl}} - % second, traverse the tree starting with the first child node - \tl_if_exist:cT{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _chld_tl}{ - \seq_gpush:NV\g_ocgbase_tree_nd_stack_seq\l__ocgbase_cur_nd_tl - \tl_put_right:Nn#1{~[} - \ocgbase_build_order:Nn#1{ - \tl_use:c{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _chld_tl}} - \tl_put_right:Nn#1{~]} - \seq_gpop:NN\g_ocgbase_tree_nd_stack_seq\l__ocgbase_cur_nd_tl - } - % third, traverse the tree starting with the next sibling node - \tl_if_exist:cT{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _sbl_tl}{ - \ocgbase_build_order:Nn#1{ - \tl_use:c{g_ocgbase_nd_\l__ocgbase_cur_nd_tl _sbl_tl}} + % #2: starting node (input; usually `root') + \seq_map_inline:cn{g_ocgbase_order_#2_seq}{ + % first, append ocg ref to result tl var + \tl_put_right:Nx#1{~##1} + \seq_if_empty:cF{g_ocgbase_order_##1_seq}{ + \tl_put_right:Nn#1{~[} + \ocgbase_build_order:Nn#1{##1} + \tl_put_right:Nn#1{~]} + } } } @@ -740,7 +628,7 @@ % OC-marked content \cs_new_protected_nopar:Nn\ocgbase_oc_bdc:n{\pbs_pdfbdc:nn{OC}{#1}} -\cs_new_protected_nopar:Nn\ocgbase_oc_emc:{\pbs_pdfemc:} +\cs_new_eq:NN\ocgbase_oc_emc:\pbs_pdfemc: %stack of PDF obj references of currently open OCGs \seq_new:N\g_ocgbase_open_stack_seq diff --git a/macros/latex/contrib/ocgx2/ocgx2.sty b/macros/latex/contrib/ocgx2/ocgx2.sty index a1081f88ac..8a45995b8c 100644 --- a/macros/latex/contrib/ocgx2/ocgx2.sty +++ b/macros/latex/contrib/ocgx2/ocgx2.sty @@ -43,8 +43,8 @@ % % The Current Maintainer of this work is A. Grahn. - \def\g@ocgxii@date@tl{2024/03/18} - \def\g@ocgxii@version@tl{0.57} + \def\g@ocgxii@date@tl{2024/08/28} + \def\g@ocgxii@version@tl{0.58} \ProvidesExplPackage{ocgx2}{\g@ocgxii@date@tl}{\g@ocgxii@version@tl} {ports `ocgx' functionality to dvips+ps2pdf, xelatex and dvipdfmx} @@ -1579,8 +1579,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@ocgxii@date@tl{2024/03/18} -\def\g@ocgxii@version@tl{0.57} +\def\g@ocgxii@date@tl{2024/08/28} +\def\g@ocgxii@version@tl{0.58} \ProvidesExplPackage{ocgx2}{\g@ocgxii@date@tl}{\g@ocgxii@version@tl} {ports `ocgx' functionality to dvips+ps2pdf, xelatex and dvipdfmx} @@ -1810,8 +1810,8 @@ \cs_set_eq:NN\And \ocgxii_protected_dummy_cs:n \cs_set_eq:NN\Or \ocgxii_protected_dummy_cs:n \ocgxii_ocmd_read_visbility:xN{#2}\l_ocgxii_ocmd_visibility_tl - \pdf_object_new:xn{g_object_\int_use:N\g_ocgbase_int _pdf}{dict} - \pdf_object_write:xx{g_object_\int_use:N\g_ocgbase_int _pdf}{ + \exp_args:Ne\pdf_object_new:n{g_object_\int_use:N\g_ocgbase_int _pdf} + \exp_args:Neee\pdf_object_write:nnn{g_object_\int_use:N\g_ocgbase_int _pdf}{dict}{ /Type/OCMD\l_ocgxii_ocmd_visibility_tl } \tl_gset:cx{g_pbs_objname_\pdf_object_ref_last: _tl}{ diff --git a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf b/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf Binary files differdeleted file mode 100644 index 655d73fe6e..0000000000 --- a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf +++ /dev/null diff --git a/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf b/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf Binary files differnew file mode 100644 index 0000000000..17618e7120 --- /dev/null +++ b/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf diff --git a/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty b/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty index 9aa462bb76..f64c1bf745 100644 --- a/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty +++ b/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty @@ -2,20 +2,33 @@ % licence : Released under the LaTeX Project Public License v1.3c % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e}% -\def\filedate{2024/05/02}% +\def\filedate{2024/08/27}% \let\PfMfiledate\filedate% -\def\fileversion{0.94}% +\def\fileversion{0.97b}% \let\PfMfileversion\fileversion% \ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]% \newif\if@Dyslexie \@Dyslexiefalse +\newif\if@CAN \@CANfalse +\newif\if@Revision \@Revisionfalse +\newif\if@AssembleCorrections \@AssembleCorrectionsfalse +\newif\if@Personnel \@Personnelfalse \DeclareOption{Dyslexie}{\@Dyslexietrue} +\DeclareOption{CAN}{\@CANtrue} +\DeclareOption{Revision}{\@Revisiontrue} +\DeclareOption{AssembleCorrections}{\@AssembleCorrectionstrue} +\DeclareOption{Personnel}{\@Personneltrue} \ProcessOptions\relax + +\if@AssembleCorrections + \AddToHook{env/document/end}[AC]{\PfMAffichageTousCorriges}% +\fi + % packages nécessaires \RequirePackage{verbatim}% - +\RequirePackage{xintexpr} \RequirePackage{calc}% \RequirePackage{xlop}% @@ -34,23 +47,25 @@ \RequirePackage{modulus}% \RequirePackage{ragged2e}% - +\RequirePackage{fontawesome5} \makeatletter \gdef\PfMFontSize{\@ptsize} %\gdef\PfMFontSize{\f@size} \makeatother %définition des clés \RequirePackage{simplekv}% -\setKVdefault[Boulot]{Dys=false,Taille=14,Cours=false,Base=false,BaseHTML=false,CAN=false,Fiche=false,DM=false,DS=false,IE=false,Kholle=false,RecapBrevet=false,PdT=false,Parcours=false,Contrat=false,FdR=false,ParcoursPerso=false,OlympiadesAPMEP=false,CorrigeInverse=false,CorrigeSeul=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,Epaisseur=0pt,VersSolution=false,AvecEntrainement=false,Small=false,Footnotesize=false,Scriptsize=false,AllDirect=false,AllPouce=false}%Les deux derniers pour essayer de mettre tous les exercices d'un même fichier en mode Reponse, en mode Indice. Pas implanté, pas testé +\setKVdefault[Boulot]{Dys=false,Taille=14,Cours=false,Base=false,BaseHTML=false,CAN=false,Fiche=false,DM=false,DS=false,IE=false,Kholle=false,RecapBrevet=false,PdT=false,Parcours=false,Contrat=false,FdR=false,ParcoursPerso=false,OlympiadesAPMEP=false,LivreHeros=false,CorrigeInverse=false,CorrigeSeul=false,CorrigeApres=false,CorrigeFin=false,CorrigeAll=false,Brevet=false,BaremeComplet=false,BaremeGlobal=false,CorrectionColonnes=false,EntrainementColonnes=false,Epaisseur=0pt,VersSolution=false,AvecEntrainement=false,Small=false,Footnotesize=false,Scriptsize=false,AllDirect=false,AllPouce=false,Input=false}%Les deux derniers pour essayer de mettre tous les exercices d'un même fichier en mode Reponse, en mode Indice. Pas implanté, pas testé \defKV[Boulot]{Colonnes=\setKV[Boulot]{CorrectionColonnes}}% +\defKV[Boulot]{EColonnes=\setKV[Boulot]{EntrainementColonnes}}% \setKVdefault[Cours]{Couleur=Crimson,Theme=Trace écrite,NomExercice=Exercice}% \setKVdefault[DM]{Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname}% \setKVdefault[DS]{Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname,Calculatrice=false,Sujet=A}% \setKVdefault[Fiche]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,}% \setKVdefault[PdT]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}% \setKVdefault[FdR]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}% -\setKVdefault[Parcours]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,Vertical=false}% +\setKVdefault[Parcours]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice,Vertical=false,Plan=false,Court=false}% \setKVdefault[Contrat]{Theme=Les nombres décimaux,Date=\today,Niveau=6,Classe={},Code={},NomExercice=Exercice}% +\setKVdefault[OlympiadesAPMEP]{Theme=Les nombres décimaux}% \setKVdefault[ParcoursPerso]{Fichier={}}% \setKVdefault[IE]{Nom=\'Evaluation,Sujets=false,Theme={},Numero=1,Date=\today,Classe={},Niveau=3,Code=\jobname,Calculatrice=false}% \defKV[IE]{Sujet=\setKV[IE]{Sujets}}% @@ -58,7 +73,7 @@ \setKVdefault[Kholle]{Sujet=1,Numero=1,Date=15,Niveau=TSI-1,Code=\jobname,Lieu=Lycée du Hainaut (Valenciennes),NomEleve=Albert Einstein,CR=false}% \setKVdefault[CAN]{Date=\today,Niveau=6,Duree=9,CoefQ=0.4,CoefR=0.35,CoefJ=0.1}% -\setKVdefault[ClesExercices]{NbQuestions=1,PasTitre=false,AffichageSource=false,BaremeTotal,BaremeDetaille=false,MotPoint=point,AffichageTitre=false,Calculatrice=true,Oral=false,Difficulte=0,AffichageCompetence=false,PasCorrige=false,Direct=false,Pouce=false,Parcours=false,Contrat=false,FdR=false,Routes=false,Stops=false,Background=white,Cadre=gray!50,Numerote,Ligne=false,Doublespacing=false,Onehalfspacing=false,Cadres=false,TitreSol=false,NonUtilise=false,Profile=false,PasEntrainement=false}% +\setKVdefault[ClesExercices]{NbQuestions=1,PasTitre=false,AffichageSource=false,BaremeTotal,BaremeDetaille=false,MotPoint=point,AffichageTitre=false,Calculatrice=true,Oral=false,Difficulte=0,AffichageCompetence=false,PasCorrige=false,Direct=false,Pouce=false,Parcours=false,Contrat=false,FdR=false,Routes=false,Stops=false,Background=white,Cadre=gray!50,Numerote,Ligne=false,Doublespacing=false,Onehalfspacing=false,Cadres=false,TitreSol=false,NonUtilise=false,Profile=false,AEntretenir=false,Fragile=false,AvecIndications=false,ACompleter=false,Aide=0}% \defKV[ClesExercices]{TitreSolution=\setKV[ClesExercices]{TitreSol}}% \defKV[ClesExercices]{Source=\setKV[ClesExercices]{AffichageSource}}% \defKV[ClesExercices]{Titre=\setKV[ClesExercices]{AffichageTitre}}% @@ -70,9 +85,18 @@ \defKV[ClesExercices]{Lignes=\setKV[ClesExercices]{Ligne}}% \defKV[ClesExercices]{Encart=\setKV[ClesExercices]{Cadres}}% \def\PfMTexteEncart{Indique ton travail ci-dessous.}% -\setKVdefault[SchemaParcours]{Colonnes=100,Rayon=2.5mm,Largeur=7.5mm,Couleur=LightSteelBlue,Csv=false}% +\setKVdefault[SchemaParcours]{Colonnes=100,Rayon=2.5mm,Largeur=7.5mm,Couleur=gray!70}%,Csv=false}% \setKVdefault[SchemaContrat]{Ecart=7mm,Rayon=2.5mm}% -\setKVdefault[SchemaFdR]{Ecart=7mm,Colonnes=100,Rayon=2.5mm,Largeur=7.5mm,Couleur=LightSteelBlue,Csv=false}% +\setKVdefault[SchemaFdR]{Ecart=7mm,Colonnes=100,Rayon=2.5mm,Largeur=7.5mm,Couleur=gray!70}%,Csv=false}% +% Commande pour retenir le nombre d'exercices par maquette.Utile seulement pour la clé AssembleCorrection +\xdef\PfMRetiensLienExoMa{}% +\xdef\PfMRetiensLienDefMa{}% +% Commande pour passer des options à travers la clé Input. Elle remplace \input :) +\NewDocumentCommand\Input{om}{% + \def\Relecture{\setKV[ClesExercices]{#1}} + \input{#2} + \def\Relecture{} +}% % Sucres \makeatletter% \NewDocumentCommand\PfMDotfill{}{% @@ -88,7 +112,15 @@ % \NewDocumentCommand\PfMNbLignesRestantes{}{% \edef\measurepage{\dimexpr\pagegoal-\pagetotal\relax}% + \edef\measurepagemax{\dimexpr\textheight\relax}% + % \edef\measurepage{\dimeval{\pagegoal-\pagetotal-\baselineskip}}% \xdef\PfMResteLignes{\fpeval{trunc((\the\measurepage)/(\baselineskip),0)}}% + \xdef\PfMResteLignesMax{\fpeval{trunc((\the\measurepagemax)/(\baselineskip),0)}}% + \ifnum\PfMResteLignesMax<\PfMResteLignes\relax + \xdef\PfMResteLignes{\PfMResteLignesMax} + \fi + %\xdef\PfMResteLignes{\dimeval{trunc((\the\measurepage)/(\baselineskip),0)}}% + %Il reste \PfMResteLignes{} lignes alors que le nombre maximal de lignes sur une page est \PfMResteLignesMax{}. }% \NewDocumentCommand\PfMLignesFinales{}{% @@ -123,23 +155,30 @@ \newlength\PfMLargeurJury% \newlength\PfMEspaceAvantLignes% \newlength\PfMEspaceApresLignes% -\newlength\PfMLargeurComp +\newlength\PfMLargeurComp% \newlength\CRRHauteur% \newlength\PfMEcartSupInterMots% -\setlength{\CRRHauteur}{10cm} +\newlength\PfMCoefcompetences% +\def\PfMCoefCompetences{0.85}% +\setlength{\CRRHauteur}{10cm}% \setlength{\PfMHauteurAppreciation}{5cm}% \setlength{\PfMHauteurRemarque}{5cm}% -\setlength{\PfMEspaceAvantLignes}{1em} -\setlength{\PfMEspaceApresLignes}{1em} +\setlength{\PfMEspaceAvantLignes}{1em}% +\setlength{\PfMEspaceApresLignes}{1em}% \setlength{\PfMEcartSupInterMots}{1pt}% +\setlength{\PfMCoefcompetences}{0.7\linewidth}% % définition des compteurs \newcounter{PfMMaquette}%Pour compter le nombres de "travaux" \setcounter{PfMMaquette}{0}% +\newcounter{PfMMaquetteSol}[PfMMaquette]%Pour compter le nombres de "travaux" dans les corrections +\setcounter{PfMMaquetteSol}{0}% \newcounter{PfMSection}%Pour le barème et ne pas faire obstruction à section \setcounter{PfMSection}{0}% \newcounter{PfMExo}[PfMMaquette]%Numéro des exercices \setcounter{PfMExo}{0}% -\newcounter{PfMExoSol}%Pour repérer les valeurs aléatoires construites automatiquement dans la solution +%\newcounter{PfMExoSolAlea}%Pour repérer les valeurs aléatoires construites automatiquement dans la solution +%\setcounter{PfMExoSolAlea}{0}% +\newcounter{PfMExoSol}[PfMMaquette]% \setcounter{PfMExoSol}{0}% \newcounter{PfMExoEntrai}%Pour repérer les entrainements \setcounter{PfMExoEntrai}{0}% @@ -152,12 +191,17 @@ \newcounter{RetiensSol}%Pour l'affichage des solutions \newcounter{RetiensRep}%Pour l'affichage des reponses. \newcounter{RetiensInd}%Pour l'affichage des indices. +\newcounter{RetiensIndic}%Pour l'affichage des indications. +\newcounter{PfMRetiensQr}%Pour l'affichage des entrainements \setcounter{RetiensSol}{0}% \setcounter{RetiensRep}{0}% \setcounter{RetiensInd}{0}% +\setcounter{RetiensIndic}{0}% +\setcounter{PfMRetiensQr}{0}% \newcounter{PfMNbLogo}%Pour décaler les logos sur la ligne haute de tcolorbox \setcounter{PfMNbLogo}{0}% \newcount\Orientation%Pour le schéma des parcours +\newcount\TotalParcoursTikz%Pour le total des exos à utiliser dans l'affichage des parcours tikz \newcounter{PfMCNNumQ}% \newcounter{Nbcolonnes} @@ -166,6 +210,8 @@ \newif\ifPfMDeuxColonnes \newif\ifPfMRectoVerso +\newif\ifPfMRevision + \makeatletter \if@twocolumn \PfMDeuxColonnestrue @@ -179,6 +225,11 @@ \else \PfMRectoVersofalse \fi +\if@Revision + \PfMRevisiontrue +\else + \PfMRevisionfalse +\fi \makeatother % couleurs @@ -228,6 +279,22 @@ \ifboolKV[Boulot]{CAN}{}{\end{tcolorbox}}% }% +\tcbset{% + indications/.style={ + empty, + right=0pt, + left=0mm, + top=0pt, + bottom=0pt, + frame engine=path, + % colframe=Crimson!10, + frame hidden, + notitle, + sharp corners=west, + borderline west={3pt}{0pt}{black!50} + } +} + %% Option french pour les mathématiques % By CT \NewDocumentCommand\TypoMathFrance{}{% @@ -291,7 +358,7 @@ \NewDocumentCommand\RepartirEffectifTotal{mmm}{% % #1 valeur de l'effectif total % #2 nombre de valeurs à obtenir - % #3 écart acceptable :) autour de la moyenen + % #3 écart acceptable :) autour de la moyenne \xdef\PfCSLEffectifs{}% \xdef\PfCValeurMoyenneTemp{\fpeval{floor(#1/#2)}}% \xdef\PfCRetiensRETSomme{}% @@ -882,7 +949,7 @@ } \def\buildtabcompetences{% - \[\begin{tabular}{|p{0.70\linewidth}|*{3}{>{\centering\arraybackslash}p{0.05\linewidth}|}} + \[\begin{tabular}{|p{\PfMCoefcompetences}|*{3}{>{\centering\arraybackslash}p{0.05\linewidth}|}} \cline{2-4} \multicolumn{1}{c|}{}&\PfMCompNA&\PfMCompECA&\PfMCompA\\ \hline @@ -892,7 +959,7 @@ }% \def\Buildtabcompetences#1#2{% - \setlength{\PfMLargeurComp}{\fpeval{0.85-0.05*#1}\linewidth-\fpeval{2*(#1-3)}\tabcolsep}% + \setlength{\PfMLargeurComp}{\fpeval{\PfMCoefCompetences-0.05*#1}\linewidth-\fpeval{2*(#1-3)}\tabcolsep}% \[\begin{tabular}{|p{\PfMLargeurComp}|*{#1}{>{\centering\arraybackslash}p{0.05\linewidth}|}}% \cline{2-\fpeval{1+#1}}% \multicolumn{1}{c|}{}\xintFor* ##1 in{\xintSeq{1}{#1}}\do{% @@ -914,7 +981,7 @@ \def\SolutionWrite{% \setcounter{PfMAlea}{0}% \@bsphack% - \immediate\openout \verbatim@out "\jobname-Ex\thePfMExo.sol"% + \immediate\openout \verbatim@out "\jobname-Ma\thePfMMaquette-Ex\thePfMExo.sol"% \let\do\@makeother\dospecials% \catcode`\^^M\active% \def\verbatim@processline{% @@ -924,7 +991,7 @@ \def\SolutionWritePP{% \@bsphack - \immediate\openout \verbatim@out "\jobname-PPEx\thePfMExo.sol" % + \immediate\openout \verbatim@out "\jobname-Ma\thePfMMaquette-PPEx\thePfMExo.sol" % \let\do\@makeother\dospecials \catcode`\^^M\active \def\verbatim@processline{% @@ -934,7 +1001,7 @@ \def\ReponseWrite{% \@bsphack - \immediate\openout \verbatim@out "\jobname-Ex\thePfMExo.rep" % + \immediate\openout \verbatim@out "\jobname-Ma\thePfMMaquette-Ex\thePfMExo.rep" % \let\do\@makeother\dospecials \catcode`\^^M\active \def\verbatim@processline{% @@ -944,7 +1011,7 @@ \def\IndiceWrite{% \@bsphack - \immediate\openout \verbatim@out "\jobname-Ex\thePfMExo.cdp" %coup de pouce + \immediate\openout \verbatim@out "\jobname-Ma\thePfMMaquette-Ex\thePfMExo.cdp" %coup de pouce \let\do\@makeother\dospecials \catcode`\^^M\active \def\verbatim@processline{% @@ -953,7 +1020,7 @@ \def\endIndiceWrite{\immediate\closeout\verbatim@out\@esphack} \makeatother -\def\SolutionNow{\textbf{Correction de l'exercice --}\par\nopagebreak\setcounter{PfMExoSol}{\thePfMExo}\setcounter{PfMAlea}{0}\PfMAffichageHideItemSolution} +\def\SolutionNow{\textbf{Correction de l'exercice --}\par\nopagebreak\setcounter{PfMExoSol}{\thePfMExo}\setcounter{PfMAlea}{0}\PfMAffichageHideItemSolution}%\setcounter{PfMExoSolAlea}{\thePfMExo} \def\endSolutionNow{\par\goodbreak\PfMshowitems} \def\ReponseNow{\textbf{Réponse(s) de l'exercice --}\par\nopagebreak\PfMAffichageHideItemSolution} @@ -965,6 +1032,52 @@ \NewDocumentEnvironment{Solution}{}{}{}% \NewDocumentEnvironment{Reponse}{}{}{}% \NewDocumentEnvironment{Indice}{}{}{}% +\NewDocumentEnvironment{PfMHide}{+b}{}{}% +\NewDocumentEnvironment{PfMSeek}{+b}{#1}{}% + +\NewDocumentEnvironment{AideA}{+b}{% + \ifnum\fpeval{\useKV[ClesExercices]{Aide}}>0\relax% + \begin{PfMSeek}% + \else% + \begin{PfMHide}% + \fi% + #1 +}{% + \ifnum\fpeval{\useKV[ClesExercices]{Aide}}>0\relax% + \end{PfMSeek}% + \else% + \end{PfMHide}% + \fi% +}% + +\NewDocumentEnvironment{AideB}{+b}{% + \ifnum\fpeval{\useKV[ClesExercices]{Aide}}>1\relax% + \begin{PfMSeek}% + \else% + \begin{PfMHide}% + \fi% + #1 +}{% + \ifnum\fpeval{\useKV[ClesExercices]{Aide}}>1\relax% + \end{PfMSeek}% + \else% + \end{PfMHide}% + \fi% +}% + +\NewDocumentEnvironment{Indications}{+b}{% + \ifnum\theRetiensIndic=1\relax% + \textbf{\PfMTexteDesIndications :}\par% + \else% + \begin{PfMHide}% + \fi% + #1 +}{% + \ifnum\theRetiensIndic=1\relax% + \else + \end{PfMHide}% + \fi% +}% \NewDocumentCommand\PfMChoixAffichageCorrection{}{% \ifboolKV[Boulot]{CorrigeAll}{% @@ -1050,24 +1163,40 @@ }% }% -\def\PfMTexteDuCorrige{Corrigé de l'exercice} -\def\PfMTexteDeLEntrainement{Automatisme(s) lié(s) à l'exercice} +\NewDocumentCommand\PfMChoixEntrainement{}{% + \setcounter{PfMRetiensQr}{0}% + \ifboolKV[ClesExercices]{AEntretenir}{\setcounter{PfMRetiensQr}{1}}{}% +}% + +\NewDocumentCommand\PfMChoixAffichageEntrainement{}{% + \ifnum\thePfMRetiensQr=1\relax% + \let\Entrainement\EntrainementWrite\let\endEntrainement\endEntrainementWrite% + \else% + \let\Entrainement\comment\let\endEntrainement\endcomment + \fi% +}% + +\def\PfMTexteDuCorrige{Corrigé de l'exercice}% +\def\PfMTexteDeLEntrainement{Automatisme(s) lié(s) à l'exercice}% +\def\PfMTexteDesIndications{Indications}% \NewDocumentCommand\PfMAffichageCorrige{}{% \ifboolKV[Boulot]{CAN}{% \xintFor* ##1 in{\xintSeq{1}{\PfMCANTotalExo}}\do{% \setcounter{PfMExoSol}{##1}% \setcounter{PfMAlea}{0}% - \IfFileExists{\jobname-Ex##1.sol}{\textbf{Question\ifnum\PfMCANTotalExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{TestCAN-##1}}:\fi}~\input{\jobname-Ex##1.sol}\par\goodbreak}{}%page-\thePfMMaquette-##1 + \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.sol}{\textbf{Question\ifnum\PfMCANTotalExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{TestCAN-##1}}:\fi}~\input{\jobname-Ma\thePfMMaquette-Ex##1.sol}\par\goodbreak}{}%page-\thePfMMaquette-##1 }% }{% \setcounter{PfMExoSol}{0}% + %\setcounter{PfMExoSolAlea}{0}% \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% \refstepcounter{PfMExoSol}%{##1}% - \label{pagesol-\thePfMMaquette-\thePfMExoSol} + %\stepcounter{PfMExoSolAlea}% + \label{pagesol-\thePfMMaquette-\thePfMExoSol}% \setcounter{PfMAlea}{0}% - \IfFileExists{\jobname-Ex##1.sol}{\PfMAffichageHideItemSolution\textbf{\PfMTexteDuCorrige\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi\PfMAffichageTitreSolution}\par\nopagebreak\input{\jobname-Ex##1.sol}\par\goodbreak}{\IfFileExists{\jobname-Ex##1.rep}{\PfMAffichageHideItemSolution\textbf{Réponse(s) seule(s) de l'exercice\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi}\par\nopagebreak\input{\jobname-Ex##1.rep}\par\goodbreak}{% - \IfFileExists{\jobname-Ex##1.cdp}{\PfMAffichageHideItemSolution\textbf{Indice(s) pour l'exercice\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi}\par\nopagebreak\input{\jobname-Ex##1.cdp}\par\goodbreak}{}% + \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.sol}{\PfMAffichageHideItemSolution\textbf{\PfMTexteDuCorrige\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi\PfMAffichageTitreSolution}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.sol}\par\goodbreak}{\IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.rep}{\PfMAffichageHideItemSolution\textbf{Réponse(s) seule(s) de l'exercice\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.rep}\par\goodbreak}{% + \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.cdp}{\PfMAffichageHideItemSolution\textbf{Indice(s) pour l'exercice\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-\thePfMMaquette-##1}}\fi}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.cdp}\par\goodbreak}{}% }% }% \PfMshowitems% @@ -1075,33 +1204,73 @@ }% }% +% Tous les corrigés +\NewDocumentCommand\PfMAffichageTousCorriges{}{% + \setsepchar{,}\ignoreemptyitems% + \readlist*\ListeNombreExoMq{\PfMRetiensLienExoMa}% + \reademptyitems% + \xintFor* ##2 in{\xintSeq{1}{\thePfMMaquette}}\do{% + \refstepcounter{PfMMaquetteSol}% + \setcounter{PfMExoSol}{0}% + %\setcounter{PfMExoSolAlea}{0}% + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% + \input{\jobname-DefiMq-##2} + \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% + \xintFor* ##1 in{\xintSeq{1}{\ListeNombreExoMq[##2]}}\do{% + \stepcounter{PfMExoSol}% + %\stepcounter{PfMExoSolAlea}% + \label{pagesol-\thePfMMaquetteSol-\thePfMExoSol}% + \setcounter{PfMAlea}{0}% + \IfFileExists{\jobname-Ma##2-Ex##1.sol}{\PfMAffichageHideItemSolution\textbf{\PfMTexteDuCorrige\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-##2-##1}}\fi\PfMAffichageTitreSolution}\par\nopagebreak\input{\jobname-Ma##2-Ex##1.sol}\par\goodbreak}{\IfFileExists{\jobname-Ma##2-Ex##1.rep}{\PfMAffichageHideItemSolution\textbf{Réponse(s) seule(s) de l'exercice\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-##2-##1}}\fi}\par\nopagebreak\input{\jobname-Ma##2-Ex##1.rep}\par\goodbreak}{% + \IfFileExists{\jobname-Ma##2-Ex##1.cdp}{\PfMAffichageHideItemSolution\textbf{Indice(s) pour l'exercice\ifnum\thePfMExo=1\relax\else~\ifboolKV[Boulot]{CorrigeSeul}{##1}{\ref{page-##2-##1}}\fi}\par\nopagebreak\input{\jobname-Ma##2-Ex##1.cdp}\par\goodbreak}{}% + }% + }% + \PfMshowitems% + }% + \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% + }% +}% + \NewDocumentEnvironment{Entrainement}{}{}{}% \makeatletter \def\EntrainementWrite{% \@bsphack% - \immediate\openout \verbatim@out "\jobname-Ex\thePfMExo.qrc"% + \immediate\openout \verbatim@out "\jobname-Ma\thePfMMaquette-Ex\thePfMExo.qrc"% \let\do\@makeother\dospecials% \catcode`\^^M\active% \def\verbatim@processline{% \immediate\write\verbatim@out{\the\verbatim@line}}% \verbatim@start}% \def\endEntrainementWrite{\immediate\closeout\verbatim@out\@esphack}% - -\let\Entrainement\EntrainementWrite\let\endEntrainement\endEntrainementWrite% \makeatother \NewDocumentCommand\PfMAffichageEntrainement{}{% - \clearpage + \ifPfMDeuxColonnes + \newpage + \else + \ifPfMRectoVerso + \cleardoublepage + \else + \clearpage + \fi + \fi \TikzAutomatismes + \ifboolKV[Boulot]{EntrainementColonnes}{\begin{multicols}{\useKV[Boulot]{EColonnes}}}{}% \setcounter{PfMExoEntrai}{0}% \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% \refstepcounter{PfMExoEntrai}% - \IfFileExists{\jobname-Ex##1.qrc}{% + \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.qrc}{% \begin{center} - \label{pageentrai-\thePfMMaquette-\thePfMExoEntrai}% - \textbf{\PfMTexteDeLEntrainement\ifnum\thePfMExo=1\relax\else~\ref{page-\thePfMMaquette-##1}\fi}\par\nopagebreak\input{\jobname-Ex##1.qrc}\end{center}}{}% + \label{pageentrai-\thePfMMaquette-\thePfMExoEntrai}% + \textbf{\PfMTexteDeLEntrainement\ifnum\thePfMExo=1\relax\else~\ref{page-\thePfMMaquette-##1}\fi}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.qrc}\end{center}% + }{}% }% + \ifboolKV[Boulot]{EntrainementColonnes}{\end{multicols}}{}% }% \NewDocumentCommand\TikzAutomatismes{}{% @@ -1128,17 +1297,23 @@ \newcommand*\brm[1]{% \ifboolKV[Boulot]{Fiche}{}{% - \immediate\write\@auxout{% - \string\opadd*{#1}% - {total\the\c@PfMSection-\the\c@PfMExo}% - {total\the\c@PfMSection-\the\c@PfMExo}% - \string\opcopy{\thePfMExo}{TotalExo}% + \ifboolKV[Boulot]{FdR}{}{% + \ifboolKV[Boulot]{Contrat}{}{% + \ifboolKV[Boulot]{Parcours}{}{% + \immediate\write\@auxout{% + \string\opadd*{#1}% + {total\the\c@PfMSection-\the\c@PfMExo}% + {total\the\c@PfMSection-\the\c@PfMExo}% + \string\opcopy{\thePfMExo}{TotalExo}% + }% + \ifboolKV[ClesExercices]{BaremeDetaille}{% + \setlength{\brouillon}{\BaremeEspace@Marge-\linewidth+\textwidth}% + \makebox[0pt][r]{\footnotesize\FranPt{#1}\hspace*{\brouillon}}% + \ignorespaces% + }{}% + }% + }% }% - \ifboolKV[ClesExercices]{BaremeDetaille}{% - \setlength{\brouillon}{\BaremeEspace@Marge-\linewidth+\textwidth}% - \makebox[0pt][r]{\footnotesize\FranPt{#1}\hspace*{\brouillon}}% - \ignorespaces% - }{}% }% }% @@ -1251,12 +1426,12 @@ \NewDocumentCommand{\PfMLienVersEntrainement}{}{% \ifboolKV[Boulot]{AvecEntrainement}{% - \ifboolKV[ClesExercices]{PasEntrainement}{}{% + \ifboolKV[ClesExercices]{AEntretenir}{% \node[% fill=tcbcolback,% anchor=center,rotate=45% ] at ($(frame.north east)!0.75!(frame.south east)$){\hyperref[pageentrai-\thePfMMaquette-\thePfMExo]{\faDumbbell}};% - }% + }{}% }{}% }% @@ -1307,7 +1482,6 @@ %%% Base des exercices DM \tcbset{% tikzdm/.style={% - %lowerbox=ignored, enhanced, breakable, colback=white, @@ -1346,21 +1520,23 @@ }% }% -\NewDocumentEnvironment{exerciceDM}{so+b}{% +\NewDocumentEnvironment{exerciceDM}{so}{% \setcounter{PfMAlea}{0}% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \ifboolKV[ClesExercices]{NonUtilise}{% % Mettre la correction hors-jeu \setKV[ClesExercices]{PasCorrige}% \PfMChoixCorrection% + \begin{PfMHide} }{% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% - \refstepcounter{PfMSection}% - \PfMChoixCorrection% - \refstepcounter{PfMExo}% + \PfMAvantLesExercices% \ifboolKV[Boulot]{CorrigeSeul}{}{% \PfMChoixTitreSolution% \immediate\write\@auxout{% @@ -1376,12 +1552,11 @@ label=page-\thePfMMaquette-\thePfMExo,% ]% \ifboolKV[Boulot]{Dys}{\raggedright}{}% - #3 }% }% }{% - \ifboolKV[ClesExercices]{NonUtilise}{}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{ + \ifboolKV[ClesExercices]{NonUtilise}{\end{PfMHide}}{% + \ifboolKV[Boulot]{CorrigeSeul}{}{ \end{tcolorbox}% \PfMApresLesExercices% }% @@ -1509,23 +1684,25 @@ }% -\NewDocumentEnvironment{exerciceContrat}{so+b}{% +\NewDocumentEnvironment{exerciceContrat}{so}{% \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1}% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \ifboolKV[ClesExercices]{NonUtilise}{% % Mettre la correction hors-jeu \setKV[ClesExercices]{PasCorrige}% \PfMChoixCorrection% + \begin{PfMHide} }{% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}% - \refstepcounter{PfMSection}% - \PfMChoixCorrection% - \refstepcounter{PfMExo}% + \PfMAvantLesExercices% \ifboolKV[Boulot]{CorrigeSeul}{}{% \PfMChoixTitreSolution% \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-ContratTotalExo}}% @@ -1546,11 +1723,10 @@ label=page-\thePfMMaquette-\thePfMExo ] \ifboolKV[Boulot]{Dys}{\raggedright}{}% - #3 }% }% }{% - \ifboolKV[ClesExercices]{NonUtilise}{}{% + \ifboolKV[ClesExercices]{NonUtilise}{\end{PfMHide}}{% \ifboolKV[Boulot]{CorrigeSeul}{}{% \end{tcolorbox} \PfMApresLesExercices% @@ -1799,7 +1975,7 @@ \xdef\RetiensLeDepart{0}% \xdef\RetiensLesReponses{0}% \xdef\RetiensNonAffichees{0}% - \xdef\RetiensEtage{0} + \xdef\RetiensEtage{0}% \xintFor* ##1 in{\xintSeq{1}{\ListeRouteHautelen}}\do{% \xintifboolexpr{\ListeRouteHaute[##1]==0}{% \xdef\RetiensEtage{\fpeval{\RetiensEtage+1}}% @@ -1814,7 +1990,7 @@ \xintifboolexpr{\fpeval{\RetiensLesReponses-1}==\RetiensNonAffichees}{% % % }{% - \xintFor* ##2 in{\xintSeq{\fpeval{\RetiensLeDepart+1}}{\fpeval{\RetiensLeDepart+\RetiensLesReponses}}}\do{ + \xintFor* ##2 in{\xintSeq{\fpeval{\RetiensLeDepart+1}}{\fpeval{\RetiensLeDepart+\RetiensLesReponses}}}\do{% \xintifboolexpr{\ListeRouteHaute[##2]<0}{% \draw (B-##2) to (B-\fpeval{##2+1});% }{% @@ -1863,24 +2039,28 @@ \fi \immediate\write\@auxout{\noexpand\expandafter\gdef\noexpand\csname \Roman{PfMMaquette}FdR#1\endcsname{\csname \Roman{PfMMaquette}route#1\endcsname}}% }% - -\NewDocumentEnvironment{exerciceFdR}{so+b}{% + +\def\Relecture{}% + +\NewDocumentEnvironment{exerciceFdR}{so}{% \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1}% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \ifboolKV[ClesExercices]{NonUtilise}{% % Mettre la correction hors-jeu \setKV[ClesExercices]{PasCorrige}% \PfMChoixCorrection% + \begin{PfMHide} }{% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}% - \stepcounter{PfMSection}% - \PfMChoixCorrection% - \refstepcounter{PfMExo}% + \PfMAvantLesExercices% \ifboolKV[Boulot]{CorrigeSeul}{}{% \PfMChoixTitreSolution% \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-FdRTotalExo}}% @@ -1914,11 +2094,10 @@ label=page-\thePfMMaquette-\thePfMExo ] \ifboolKV[Boulot]{Dys}{\raggedright}{}% - #3 }% }% }{% - \ifboolKV[ClesExercices]{NonUtilise}{}{% + \ifboolKV[ClesExercices]{NonUtilise}{\end{PfMHide}}{% \ifboolKV[Boulot]{CorrigeSeul}{}{% \end{tcolorbox} \PfMApresLesExercices% @@ -1945,7 +2124,7 @@ \string\opcopy{\thePfMExo}{TotalExo}% }% \@bsphack% - \immediate\openout \verbatim@out "\jobname-Ex\thePfMExo.can"% + \immediate\openout \verbatim@out "\jobname-Ma\thePfMMaquette-Ex\thePfMExo.can"% \let\do\@makeother\dospecials% \catcode`\^^M\active% \def\verbatim@processline{\immediate\write\verbatim@out{\the\verbatim@line}}% @@ -1970,7 +2149,6 @@ \tcbset{% usercan/.style={% enhanced, - % spread upwards=-1cm,colback=gray!5% frame hidden, colback=white, middle=24pt, @@ -2030,7 +2208,6 @@ \Large\sffamily Course aux nombres (Correction) \end{center} \hfill\useKV[CAN]{Niveau}% - %\par{\tiny\useKV[CAN]{Code}}\hfill{\scriptsize\useKV[CAN]{Date}}% \end{tcolorbox}% } %%% FdR %%% @@ -2112,19 +2289,33 @@ \reademptyitems% \xdef\PfMFooTestA{\ListeExercicesPA[1]}% \ifnum\ListeExercicesPAlen>1\relax% - \xintFor* ##1 in{\xintSeq{2}{\ListeExercicesPAlen}}\do{% - \xdef\PfMFooTestA{\PfMFooTestA,\ListeExercicesPA[##1]}% - }% + \xintFor* ##1 in{\xintSeq{2}{\ListeExercicesPAlen}}\do{% + \xdef\PfMFooTestA{\PfMFooTestA,\ListeExercicesPA[##1]}% + }% \fi% - \ifboolKV[Parcours]{Vertical}{% - \BuildParcoursTikzV{\ParcoursTotalExo}{\PfMFooTestA}% + \ifboolKV[Parcours]{Plan}{% + \BuildParcoursPlan{\ParcoursTotalExo}{\PfMFooTestA}% }{% - \BuildParcoursTikz{\ParcoursTotalExo}{\PfMFooTestA}% + \ifboolKV[Parcours]{Vertical}{% + \BuildParcoursTikzV{\ParcoursTotalExo}{\PfMFooTestA}% + }{% + \BuildParcoursTikz{\ParcoursTotalExo}{\PfMFooTestA}% + }% }% }% }% %\makeatother +\NewDocumentCommand\BuildParcoursPlan{mm}{% + \setsepchar{,}% + \readlist*\ListeRetiens{#2}% + \begin{enumerate} + \foreachitem\compteur\in\ListeRetiens{% + \item[$\square$] Exercice \ref{page-\thePfMMaquette-\ListeRetiens[\compteurcnt]}% + }% + \end{enumerate} +}% + \NewDocumentCommand\BuildParcoursTikzV{mm}{% \setsepchar{,}% \readlist*\ListeRetiens{#2}% @@ -2155,8 +2346,13 @@ \begin{tikzpicture}[anchor=center,baseline=-1.25mm] % On place les points \Orientation=1\relax + \ifboolKV[Parcours]{Court}{% + \TotalParcoursTikz=\ListeRetienslen% + }{% + \TotalParcoursTikz=#1% + }% \coordinate[anchor=base,baseline=-1.25mm] (A-1) at (0,0);% - \xintFor* ##1 in{\xintSeq{2}{\fpeval{#1+1}}}\do{% + \xintFor* ##1 in{\xintSeq{2}{\fpeval{\the\TotalParcoursTikz+1}}}\do{% \modulo{##1}{\useKV[SchemaParcours]{Colonnes}}% \ifnum\remainder=0\relax% \Orientation=\numexpr\Orientation*(-1)\relax% @@ -2165,17 +2361,23 @@ \coordinate[xshift=\the\Orientation*\PfMLargeurSchemaParcours] (A-##1) at (A-\fpeval{##1-1});% \fi% }% - \foreach\i in{2,...,#1}{% - \draw[line width=1pt] (A-\fpeval{\i-1}) -- (A-\i);% - }% - % - \draw[line width=1pt,>=latex,->] (A-#1)--(A-\fpeval{#1+1}); - % - \xintFor* ##1 in{\xintSeq{1}{#1}}\do{% - \draw[fill=white,dashed](A-##1) circle (2.5mm) node{##1};% + \foreach\i in{1,...,\the\TotalParcoursTikz}{% + \draw[line width=1pt] (A-\i) -- (A-\fpeval{\i+1});% }% - \foreachitem\compteur\in\ListeRetiens{% - \draw[fill=PfMCouleurSP](A-\ListeRetiens[\compteurcnt]) circle (2.5mm) node{\ref{page-\thePfMMaquette-\ListeRetiens[\compteurcnt]}};% +% % + \draw[line width=1pt,>=latex,->] (A-\the\TotalParcoursTikz)--(A-\fpeval{\the\TotalParcoursTikz+1}); +% % + \ifboolKV[Parcours]{Court}{% + \foreachitem\compteur\in\ListeRetiens{% + \draw[fill=PfMCouleurSP](A-\compteurcnt) circle (2.5mm) node{\ref{page-\thePfMMaquette-\ListeRetiens[\compteurcnt]}};% + }% + }{% + \xintFor* ##1 in{\xintSeq{1}{\the\TotalParcoursTikz}}\do{% + \draw[fill=white,dashed](A-##1) circle (2.5mm) node{##1};% + }% + \foreachitem\compteur\in\ListeRetiens{% + \draw[fill=PfMCouleurSP](A-\ListeRetiens[\compteurcnt]) circle (2.5mm) node{\ref{page-\thePfMMaquette-\ListeRetiens[\compteurcnt]}};% + }% }% \end{tikzpicture}% }% @@ -2195,7 +2397,7 @@ \stepcounter{PfMExo}% \PfMChoixCorrection% \@bsphack% - \immediate\openout \verbatim@out "\jobname-PPEx\thePfMExo.tex" % + \immediate\openout \verbatim@out "\jobname-Ma\thePfMMaquette-PPEx\thePfMExo.tex" % \immediate\write\verbatim@out{\string\begin{exercice}} \let\do\@makeother\dospecials% \catcode`\^^M\active% @@ -2205,23 +2407,25 @@ \def\endexerciceParcoursPerso{\immediate\write\verbatim@out{\string\end{exercice}}\immediate\closeout\verbatim@out\@esphack}% -\NewDocumentEnvironment{exerciceParcours}{so+b}{% +\NewDocumentEnvironment{exerciceParcours}{so}{% \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1}% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \ifboolKV[ClesExercices]{NonUtilise}{% % Mettre la correction hors-jeu \setKV[ClesExercices]{PasCorrige}% \PfMChoixCorrection% + \begin{PfMHide} }{% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}% - \refstepcounter{PfMSection}% - \PfMChoixCorrection% - \refstepcounter{PfMExo}% + \PfMAvantLesExercices% \ifboolKV[Boulot]{CorrigeSeul}{}{% \PfMChoixTitreSolution% \immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-ParcoursTotalExo}}% @@ -2242,11 +2446,10 @@ label=page-\thePfMMaquette-\thePfMExo ] \ifboolKV[Boulot]{Dys}{\raggedright}{}% - #3 }% }% }{% - \ifboolKV[ClesExercices]{NonUtilise}{}{% + \ifboolKV[ClesExercices]{NonUtilise}{\end{PfMHide}}{% \ifboolKV[Boulot]{CorrigeSeul}{}{% \end{tcolorbox} \PfMApresLesExercices% @@ -2312,15 +2515,24 @@ \NewDocumentCommand\PfMApresLesExercices{}{% \ifboolKV[ClesExercices]{Ligne}{% - % \vspace{\PfMEspaceAvantLignes} - \PfMSetStretch\PfMLignespointilles{\useKV[ClesExercices]{Lignes}}% + \vspace*{\PfMEspaceAvantLignes}% + \PfMSetStretch\PfMLignespointilles{\useKV[ClesExercices]{Lignes}}% \par\vspace*{\PfMEspaceApresLignes}\par% }{}% \par% \ifboolKV[ClesExercices]{Cadres}{% - \begin{PfMtcbEncart}% - % - \end{PfMtcbEncart}% + \begin{PfMtcbEncart}% + % + \end{PfMtcbEncart}% + }{}% + \ifboolKV[ClesExercices]{Profile}{\PfMshowitems}{}% + \ifboolKV[ClesExercices]{ACompleter}{% + \IfHookExistsTF{env/center/begin}{\RemoveFromHook{env/center/begin}[*]}{}% + \IfHookExistsTF{env/center/end}{\RemoveFromHook{env/center/after}[*]}{}% + \IfHookExistsTF{env/itemize/begin}{\RemoveFromHook{env/itemize/begin}[*]}{}% + \IfHookExistsTF{env/itemize/end}{\RemoveFromHook{env/itemize/after}[*]}{}% + \IfHookExistsTF{env/description/begin}{\RemoveFromHook{env/description/begin}[*]}{}% + \IfHookExistsTF{env/description/end}{\RemoveFromHook{env/description/after}[*]}{}% }{}% }% @@ -2329,7 +2541,7 @@ \expandafter\xdef\csname PfMEcrireTitreSol\endcsname{\csname PfMTSol\Roman{PfMExoSol}\endcsname}% \ifx\bla\PfMEcrireTitreSol\bla% \else - \PfMEcrireTitreSol% + ~:~\PfMEcrireTitreSol% \fi% }% @@ -2361,68 +2573,105 @@ \fi% }% -\newbox\PfMBoxSauvegarde% +\NewDocumentCommand\PfMAvantLesExercices{}{% + \ifboolKV[ClesExercices]{AvecIndications}{\setcounter{RetiensIndic}{1}}{}% + \ifboolKV[ClesExercices]{Profile}{\PfMhideitems}{}% + \refstepcounter{PfMSection}% + \PfMChoixCorrection% + \PfMChoixEntrainement% + \refstepcounter{PfMExo}% + \ifboolKV[ClesExercices]{ACompleter}{% + \let\oldenumerate\enumerate% + \let\oldendenumerate\endenumerate% + \let\enumerate\autoenumerate% + \let\endenumerate\endautoenumerate% + \AddToHook{env/center/begin}[Bcenter]{\let\item\olditem}% + \AddToHook{env/center/end}[Ecenter]{\let\item\litem}% + \AddToHook{env/description/begin}[Bdescription]{\let\item\olditem}% + \AddToHook{env/description/end}[Edescription]{\let\item\litem}% + \AddToHook{env/itemize/begin}[Bitemize]{\let\item\olditem}% + \AddToHook{env/itemize/end}[Eitemize]{\let\item\litem}% + }{}% +}% -\NewDocumentEnvironment{exerciceFiche}{so+b}{% +\NewDocumentEnvironment{exerciceFiche}{so}{% \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1}% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \ifboolKV[ClesExercices]{NonUtilise}{% % Mettre la correction hors-jeu \setKV[ClesExercices]{PasCorrige}% \PfMChoixCorrection% + \begin{PfMHide} }{% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% - \ifboolKV[ClesExercices]{Profile}{\PfMhideitems}{}% \colorlet{ColExoFiche}{\useKV[ClesExercices]{Background}}% \colorlet{PfMCadreFiche}{\useKV[ClesExercices]{Cadre}}% \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}% - \refstepcounter{PfMSection}% - \PfMChoixCorrection% - \refstepcounter{PfMExo}% + \PfMAvantLesExercices% \ifboolKV[Boulot]{CorrigeSeul}{}{% - \PfMChoixTitreSolution% - \PfMChoixHideItemSolution% - \begin{tcolorbox}[% - tikzfiche, - label is label, - label=page-\thePfMMaquette-\thePfMExo - ] - \ifboolKV[Boulot]{Dys}{\raggedright}{}% - % - #3 + \PfMChoixTitreSolution% + \PfMChoixHideItemSolution% + \begin{tcolorbox}[% + tikzfiche, + label is label, + label=page-\thePfMMaquette-\thePfMExo + ] + \ifboolKV[Boulot]{Dys}{\raggedright}{}% }% }% }{% - \ifboolKV[ClesExercices]{NonUtilise}{}{% + \ifboolKV[ClesExercices]{NonUtilise}{\end{PfMHide}}{% \ifboolKV[Boulot]{CorrigeSeul}{}{ \end{tcolorbox}% - \ifboolKV[ClesExercices]{Profile}{\PfMshowitems}{}% + % \ifboolKV[ClesExercices]{Profile}{\PfMshowitems}{}% \PfMApresLesExercices% }% }% }% +%\makeatletter +\NewDocumentCommand\TikzOlympiadesAPMEPCor{m}{% + \ifPfMRectoVerso% + \cleardoublepage% + \else% + \clearpage% + \fi% + \setKV[OlympiadesAPMEP]{#1}% + \begin{tcolorbox}[colback=colLogo] + \begin{Dispo}*{\normalsize\logoapmep{\scale@logo}} + \Large\sffamily \useKV[OlympiadesAPMEP]{Theme} + + (Correction)% + \end{Dispo} + \end{tcolorbox}% +}% +%\makeatother + \NewDocumentEnvironment{exerciceOlympiadesAPMEP}{so}{% \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1}% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \ifboolKV[ClesExercices]{NonUtilise}{% % Mettre la correction hors-jeu \setKV[ClesExercices]{PasCorrige}% \PfMChoixCorrection% + \begin{PfMHide} }{% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% - \ifboolKV[ClesExercices]{Profile}{\PfMhideitems}{}% - \colorlet{ColExoFiche}{\useKV[ClesExercices]{Background}}% - \colorlet{PfMCadreFiche}{\useKV[ClesExercices]{Cadre}}% - \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}% + \PfMAvantLesExercices% \refstepcounter{PfMSection}% \PfMChoixCorrection% \refstepcounter{PfMExo}% @@ -2438,29 +2687,30 @@ }% }% }{% - \ifboolKV[ClesExercices]{NonUtilise}{}{% + \ifboolKV[ClesExercices]{NonUtilise}{\end{PfMHide}}{% \end{tcolorbox}% - \ifboolKV[ClesExercices]{Profile}{\PfMshowitems}{}% + %\ifboolKV[ClesExercices]{Profile}{\PfMshowitems}{}% \PfMApresLesExercices% - } + }% }% -\NewDocumentEnvironment{exerciceDS}{so+b}{% +\NewDocumentEnvironment{exerciceDS}{so}{% \setcounter{PfMAlea}{0}% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \ifboolKV[ClesExercices]{NonUtilise}{% % Mettre la correction hors-jeu \setKV[ClesExercices]{PasCorrige}% \PfMChoixCorrection% + \begin{PfMHide} }{% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% - \ifboolKV[ClesExercices]{Profile}{\PfMhideitems}{}% - \refstepcounter{PfMSection}% - \PfMChoixCorrection% - \refstepcounter{PfMExo}% + \PfMAvantLesExercices \ifboolKV[Boulot]{CorrigeSeul}{}{% \PfMChoixTitreSolution% \immediate\write\@auxout{% @@ -2476,11 +2726,10 @@ label=page-\thePfMMaquette-\thePfMExo ] \ifboolKV[Boulot]{Dys}{\raggedright}{}% - #3 }% }% }{% - \ifboolKV[ClesExercices]{NonUtilise}{}{% + \ifboolKV[ClesExercices]{NonUtilise}{\end{PfMHide}}{% \ifboolKV[Boulot]{CorrigeSeul}{}{% \end{tcolorbox}% \PfMApresLesExercices% @@ -2490,8 +2739,11 @@ \NewDocumentEnvironment{ExerciceRecapBrevet}{so}{% \setcounter{PfMAlea}{0}% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#2}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \IfBooleanTF{#1}{% \setKV[ClesExercices]{Numerote=false}% }{}% @@ -2655,8 +2907,11 @@ \newenvironment{exercicePdT}[1][]{% \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1} + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#1}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}% \refstepcounter{PfMSection}% \PfMChoixCorrection% @@ -2704,6 +2959,17 @@ \end{tikzpicture}% }% +\NewDocumentCommand\CheminNeutre{m}{% + \setsepchar[*]{,*/}% + \readlist*\ListeCheminVrai{#1}% + \setsepchar{,}% + \begin{tikzpicture}[remember picture,overlay]% + \foreachitem\compteur\in\ListeCheminVrai{% + \draw[cheminPdT] (\ListeCheminVrai[\compteurcnt,1]) to (\ListeCheminVrai[\compteurcnt,2]);% + }% + \end{tikzpicture}% +}% + \NewDocumentCommand\CheminFaux{m}{% \setsepchar[*]{,*/}% \readlist*\ListeCheminVrai{#1}% @@ -2785,8 +3051,11 @@ }% \NewDocumentEnvironment{exerciceKholle}{o}{% + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices]% \setKV[ClesExercices]{#1}% + \ifboolKV[Boulot]{Input}{\Relecture}{}% \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}% \PfMChoixCorrection% \refstepcounter{PfMExo}% @@ -2803,8 +3072,11 @@ \newenvironment{exerciceBase}[1][]{% \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1} + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices] \setKV[ClesExercices]{#1} + \ifboolKV[Boulot]{Input}{\Relecture}{}% \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false} \refstepcounter{PfMExo} \tcolorbox[% @@ -2816,8 +3088,11 @@ \newenvironment{exerciceBaseHTML}[1][]{% \setcounter{PfMAlea}{0}% \setcounter{PfMNbLogo}{1} + % Mettre les indications hors-jeu + \setcounter{RetiensIndic}{0} \useKVdefault[ClesExercices] \setKV[ClesExercices]{#1} + \ifboolKV[Boulot]{Input}{\Relecture}{}% \setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false} \refstepcounter{PfMExo} \tcolorbox[% @@ -3083,7 +3358,7 @@ % colframe=PfMCadreFiche, frame hidden, overlay unbroken and first={% - \draw[colLogo,line width=1pt] ([yshift=-10pt]frame.north west)--([yshift=-10pt]frame.north east); + \draw[colLogo,line width=1pt] ([yshift=-12pt]frame.north west)--([yshift=-12pt]frame.north east); \node[% name=A, fill=ColExoFiche, @@ -3311,13 +3586,13 @@ \ifnum\fpeval{\ListeExerciceslen}=1\relax{} \setKVdefault[ClesExercices]{Numerote=false} % \begin{exercice}* - \input{\jobname-PPEx\ListeExercices[1].tex}% + \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[1].tex}% % \end{exercice}% \setKVdefault[ClesExercices]{Numerote} \else \foreach\i in{1,...,\ListeExerciceslen}{% % \begin{exercice} - \input{\jobname-PPEx\ListeExercices[\i].tex}% + \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[\i].tex}% % \end{exercice}% } \fi @@ -3327,10 +3602,10 @@ \TikzFicheCor{#1,Code=\normalsize\Prenom~\Nom}% \readlist*\ListeExercices{\RecapListeExo}% \ifnum\fpeval{\ListeExerciceslen}=1\relax{} - \textbf{Corrigé de l'exercice} : \input{\jobname-PPEx\ListeExercices[1].sol}\par\goodbreak% + \textbf{Corrigé de l'exercice} : \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[1].sol}\par\goodbreak% \else \foreach\i in{1,...,\ListeExerciceslen}{% - \textbf{Corrigé de l'exercice \i} : \input{\jobname-PPEx\ListeExercices[\i].sol}\par\goodbreak% + \textbf{Corrigé de l'exercice \i} : \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[\i].sol}\par\goodbreak% }% \fi% \fi% @@ -3344,7 +3619,7 @@ \TikzFicheCor{#1,Code=\normalsize\Prenom~\Nom}% \readlist*\ListeExercices{\RecapListeExo}% \foreach\i in{1,...,\ListeExerciceslen}{% - \IfFileExists{\jobname-PPEx\ListeExercices[\i].sol}{\textbf{Corrigé de l'exercice \i} : \input{\jobname-PPEx\ListeExercices[\i].sol}\par\goodbreak}{}% + \IfFileExists{\jobname-PPEx\ListeExercices[\i].sol}{\textbf{Corrigé de l'exercice \i} : \input{\jobname-Ma\thePfMMaquette-PPEx\ListeExercices[\i].sol}\par\goodbreak}{}% }% }% }% @@ -3363,14 +3638,6 @@ }{% \ifnum\thePfMMaquette=1\relax% \else% - %\ifnum\PfMFontSize=0\relax% - % \fontsize{10}{\fpeval{1.2*10}}% - %\else\ifnum\PfMFontSize=1\relax% - % \fontsize{11}{\fpeval{1.2*11}}% - % \else% - % \fontsize{12}{\fpeval{1.2*12}}% - % \fi% - %\fi% \fontsize{\fpeval{10+\PfMFontSize}}{\fpeval{1.2*(10+\PfMFontSize)}}% \selectfont% \renewcommand{\JustifyingParindent}{\parindent} @@ -3395,9 +3662,17 @@ }% %% Pour factoriser l'appel aux corrections dans l'environnement Maquette +\makeatletter \NewDocumentCommand\PfMPrepareCorrection{m}{% \useKVdefault[Boulot]% \setKV[Boulot]{#1}% + \if@CAN + \ifnum\thepage<5\relax + \xintFor* ##1 in{\xintSeq{1}{\fpeval{5-\thepage}}}\do{% + ~\clearpage% + }% + \fi% + \fi% \if@Dyslexie% \setKV[Boulot]{Dys}% \fi% @@ -3405,6 +3680,7 @@ \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}% \PfMChangerTailleCorrection% }% +\makeatletter \NewDocumentCommand\PfMAffichageCorrectionColonnes{}{% \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% @@ -3418,9 +3694,63 @@ \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% }% +% GameBook +\tcbset{% + userlivreheros/.style={% + spread upwards=-1cm,colback=Ivory,colframe=black!25!Ivory% + }% +}% + +\setKVdefault[LivreHeros]{Theme=Les nombres décimaux} + +\NewDocumentCommand\vaen{m}{\ref{#1}}% + +\NewDocumentCommand\TikzLivreHeros{}{% + \begin{tcolorbox}[userlivreheros]% + \begin{center} + \Large\sffamily \useKV[LivreHeros]{Theme} + \end{center} + \end{tcolorbox}% +}% + +\tcbset{% + tikzLH/.style={% + before skip=1em, + enhanced, + coltitle=black, + colbacktitle=black!10!Ivory, + colframe=white, + colback=white, + attach boxed title to top center={yshift=-2mm}, + label is label + }% +}% + +\newcounter{PfMGameBook}[PfMMaquette] +\setcounter{PfMGameBook}{0} + +\makeatletter +\def\ExoGBWrite{% + \setcounter{PfMAlea}{0}% + \PfMChoixCorrection% + \stepcounter{PfMExo}% + \immediate\write\@auxout{% + \string\opcopy{\thePfMExo}{TotalExo}% + }% + \@bsphack% + \immediate\openout \verbatim@out "\jobname-Ma\thePfMMaquette-Ex\thePfMExo.gb"% + \let\do\@makeother\dospecials% + \catcode`\^^M\active% + \def\verbatim@processline{\immediate\write\verbatim@out{\the\verbatim@line}}% + \verbatim@start}% +\def\endExoGBWrite{\immediate\closeout\verbatim@out\@esphack}% +\makeatother +%%%% + %%%%%%%%%%%%%%% Debut Maquette %%%%%%% % Environnement englobant le tout. \makeatletter +\newwrite\PfMfile@out% \NewDocumentEnvironment{Maquette}{om}{% % on remet à zéro les compteurs de solutions : inutile ? \setcounter{RetiensSol}{0}% @@ -3431,10 +3761,17 @@ \setcounter{PfMSOS}{0}% % nouvelles valeurs. \stepcounter{PfMMaquette}% + \if@AssembleCorrections + \immediate\openout\PfMfile@out \jobname-DefiMq-\thePfMMaquette.tex% + \immediate\write\PfMfile@out{\unexpanded{\useKVdefault[Boulot]}}% + \immediate\write\PfMfile@out{\unexpanded{\setKV[Boulot]{#1}}}% + \immediate\write\PfMfile@out{\TikzFicheCor{\unexpanded{#2}}}% + \immediate\closeout\PfMfile@out% + \fi % options de boulot \IfHookExistsTF{env/Maquette/after}{\RemoveFromHook{env/Maquette/after}[*]}{}% - %\IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]}{}% - % \AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection}% + \AddToHook{env/Maquette/after}[RetiensExo]{\xdef\PfMRetiensLienExoMa{\PfMRetiensLienExoMa,\thePfMExo}} + %-------------- \useKVdefault[Boulot]% \setKV[Boulot]{#1}% \ifboolKV[Boulot]{CorrigeSeul}{\setKV[Boulot]{CorrigeFin}}{}% @@ -3442,32 +3779,34 @@ \setKV[Boulot]{Dys} \fi \PfMBasculeDys% - \IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection}}{\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection}}% + \IfHookExistsTF{env/exercice/after}{\RemoveFromHook{env/exercice/after}[*]\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection\PfMChoixAffichageEntrainement}}{\AddToHook{env/exercice/after}[ChoixExo]{\PfMChoixAffichageCorrection\PfMChoixAffichageEntrainement}}% % Test \IfHookExistsTF{env/exercice/begin}{\RemoveFromHook{env/exercice/begin}[*]}{}% \IfHookExistsTF{env/Maquette/end}{\RemoveFromHook{env/Maquette/end}[*]}{}% \ifboolKV[Boulot]{OlympiadesAPMEP}{% - \setKV[OlympiadesAPMEP]{#2}%\TikzOlympiadesAPMEP% - \let\exercice\exerciceOlympiadesAPMEP\let\endexercice\endexerciceOlympiadesAPMEP% - \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1}% - \PfMAffichageCorrectionColonnes% - }% - }{}% - }{% - \ifboolKV[Boulot]{CAN}{% + % \input{PfMMaquetteOlympAPMEP}% + \setKV[OlympiadesAPMEP]{#2}%\TikzOlympiadesAPMEP% + \let\exercice\exerciceOlympiadesAPMEP\let\endexercice\endexerciceOlympiadesAPMEP% + \ifboolKV[Boulot]{CorrigeFin}{% + \AddToHook{env/Maquette/after}[Correction]{% + \PfMPrepareCorrection{#1}% + \TikzOlympiadesAPMEPCor{#2}% + \PfMAffichageCorrectionColonnes% + }% + }{}% + }{% + \ifboolKV[Boulot]{CAN}{% + % \input{PfMMaquetteCAN.tex} \setKV[CAN]{#2}% - %\ifboolKV[Boulot]{CorrigeSeul}{}{\TikzCAN}% \setcounter{PfMCNNumQ}{0}% \setlength{\PfMLargeurQuestion}{\useKV[CAN]{CoefQ}\linewidth}\setlength{\PfMLargeurReponse}{\useKV[CAN]{CoefR}\linewidth}\setlength{\PfMLargeurJury}{\useKV[CAN]{CoefJ}\linewidth}% \let\exercice\ExoCANWrite\let\endexercice\endExoCANWrite% \AddToHook{env/exercice/begin}{\setcounter{PfMAlea}{0}}% \AddToHook{env/Maquette/end}{% - \xdef\PfMAncienneGraine{\PfMChoisisGraineAlea{123456789}} + \xdef\PfMAncienneGraine{\PfMChoisisGraineAlea{123456789}}% \xdef\PfMCANTotalExo{\thePfMExo}% \setbox\PfMSauvegardeBox\vbox{% - \PfMGraineAlea{\thePfMMaquette} + \PfMGraineAlea{\thePfMMaquette}% \setcounter{PfMExo}{0}% \renewcommand{\arraystretch}{2}% \begin{longtable}{|c|m{\PfMLargeurQuestion}|>{\centering\arraybackslash}m{\PfMLargeurReponse}|m{\PfMLargeurJury}|}% @@ -3476,21 +3815,21 @@ \hline% \endhead% \xintFor* ##1 in {\xintSeq{1}{\PfMCANTotalExo}}\do{% - \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ex##1.can}&\CNReponse&\\ + \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ma\thePfMMaquette-Ex##1.can}&\CNReponse&\\ \hline% }% \end{longtable}% \renewcommand{\arraystretch}{1}% - } + }% \ifboolKV[Boulot]{CorrigeInverse}{% - \PfMPrepareCorrection{#1}% - \TikzCANCor{#2}% - \PfMAffichageCorrectionColonnes% - \clearpage - \normalsize% - \TikzCAN% - \PfMGraineAlea{\thePfMMaquette}% - \setcounter{PfMCNNumQ}{0}% + \PfMPrepareCorrection{#1}% + \TikzCANCor{#2}% + \PfMAffichageCorrectionColonnes% + \clearpage + \normalsize% + \TikzCAN% + \PfMGraineAlea{\thePfMMaquette}% + \setcounter{PfMCNNumQ}{0}% \setcounter{PfMExo}{0}% \renewcommand{\arraystretch}{2}% \begin{longtable}{|c|m{\PfMLargeurQuestion}|>{\centering\arraybackslash}m{\PfMLargeurReponse}|m{\PfMLargeurJury}|}% @@ -3499,7 +3838,7 @@ \hline% \endhead% \xintFor* ##1 in {\xintSeq{1}{\PfMCANTotalExo}}\do{% - \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ex##1.can}&\CNReponse&\\ + \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ma\thePfMMaquette-Ex##1.can}&\CNReponse&\\ \hline% }% \end{longtable}% @@ -3508,7 +3847,7 @@ \PfMGraineAlea{\PfMAncienneGraine}% \TikzCAN% \setcounter{PfMCNNumQ}{0}% - \setcounter{PfMExo}{0}% + \setcounter{PfMExo}{0}% \renewcommand{\arraystretch}{2}% \begin{longtable}{|c|m{\PfMLargeurQuestion}|>{\centering\arraybackslash}m{\PfMLargeurReponse}|m{\PfMLargeurJury}|}% \hhline{~---}% @@ -3516,233 +3855,276 @@ \hline% \endhead% \xintFor* ##1 in {\xintSeq{1}{\PfMCANTotalExo}}\do{% - \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ex##1.can}&\CNReponse&\\ + \refstepcounter{PfMCNNumQ}\ttfamily{\thePfMCNNumQ}\label{TestCAN-\thePfMCNNumQ}&\Complement{}\stepcounter{PfMExo}\setcounter{PfMAlea}{0}\input{\jobname-Ma\thePfMMaquette-Ex##1.can}&\CNReponse&\\ \hline% }% \end{longtable}% \renewcommand{\arraystretch}{1}% - \ifboolKV[Boulot]{CorrigeFin}{\ifboolKV[Boulot]{CorrigeInverse}{}{\clearpage - \PfMPrepareCorrection{#1}% - \TikzCANCor{#2}% - \PfMAffichageCorrectionColonnes% - } - }{} - } + \ifboolKV[Boulot]{CorrigeFin}{% + \ifboolKV[Boulot]{CorrigeInverse}{}{% + \clearpage + \PfMPrepareCorrection{#1}% + \TikzCANCor{#2}% + \PfMAffichageCorrectionColonnes% + }% + }{}% + }% }% }{% \ifboolKV[Boulot]{FdR}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{% - \setKV[FdR]{#2}\TikzFdR% - } - \let\exercice\exerciceFdR\let\endexercice\endexerciceFdR% - \ifboolKV[Boulot]{AvecEntrainement}{% - \AddToHook{env/Maquette/end}[Haltere]{% - \PfMAffichageEntrainementColonnes% - }% - }{}% - \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1}% - \TikzFdRCor{#2}% - \PfMAffichageCorrectionColonnes + % \input{PfMMaquetteFdR.tex}% + \ifboolKV[Boulot]{CorrigeSeul}{}{% + \setKV[FdR]{#2}\TikzFdR% }% - }{}% - }{% - \ifboolKV[Boulot]{Contrat}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{% - \setKV[Contrat]{#2}\TikzContrat% - } - \let\exercice\exerciceContrat\let\endexercice\endexerciceContrat% - \ifboolKV[Boulot]{AvecEntrainement}{% - \AddToHook{env/Maquette/end}[Haltere]{% - \PfMAffichageEntrainementColonnes% - }% - }{}% - \ifboolKV[Boulot]{CorrigeFin}{% + \let\exercice\exerciceFdR\let\endexercice\endexerciceFdR% + \ifboolKV[Boulot]{AvecEntrainement}{% + \AddToHook{env/Maquette/end}[Haltere]{% + \PfMAffichageEntrainementColonnes% + }% + }{}% + \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% \PfMPrepareCorrection{#1}% - \TikzContratCor{#2}% - \PfMAffichageCorrectionColonnes% - }% - }{}% - }{% - \ifboolKV[Boulot]{Cours}{% - \setKV[Cours]{#2}% - \TikzCours% - \let\exercice\exerciceFiche\let\endexercice\endexerciceFiche% - \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1}% - \TikzFicheCor{#2}% - \PfMAffichageCorrectionColonnes - }% - }{}% - }{% - \ifboolKV[Boulot]{RecapBrevet}{% - \setKV[RecapBrevet]{#2}% - \TikzRecapBrevet% - \let\exercice\ExerciceRecapBrevet\let\endexercice\endExerciceRecapBrevet% - \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1}% - \TikzRecapBrevetCor{#2}% - \PfMAffichageCorrectionColonnes% - }% - }{}% - }{% - \ifboolKV[Boulot]{ParcoursPerso}{% - \setKV[ParcoursPerso]{#2}% - \DTLloaddb[noheader,keys={PrenomEleve,NomEleve,ListeExo}]{dataperso}{\useKV[ParcoursPerso]{Fichier}.csv}% - \let\exercice\exerciceParcoursPerso\let\endexercice\endexerciceParcoursPerso% - \ifboolKV[Boulot]{CorrigeFin}{\setcounter{PfMCorrigeParcoursPerso}{1}}{}% - \setcounter{PfMExo}{0}% - \AtEndDocument{% - \Recapitulatif{#1}{#2}% - }% - }{% - \ifboolKV[Boulot]{Parcours}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{% - \setKV[Parcours]{#2}\TikzParcours% - } - \let\exercice\exerciceParcours\let\endexercice\endexerciceParcours% - \ifboolKV[Boulot]{AvecEntrainement}{% - \AddToHook{env/Maquette/end}[Haltere]{% - \PfMAffichageEntrainementColonnes% - }% - }{}% - \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1}% - \TikzParcoursCor{#2} - \PfMAffichageCorrectionColonnes - }% + \TikzFdRCor{#2}% + \PfMAffichageCorrectionColonnes% + }% }{}% }{% - \ifboolKV[Boulot]{PdT}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{% - \setKV[PdT]{#2}\TikzPdT% - } - \let\exercice\exercicePdT\let\endexercice\endexercicePdT% + \ifboolKV[Boulot]{Contrat}{% + % \input{PfMMaquetteContrat.tex}% + \ifboolKV[Boulot]{CorrigeSeul}{}{% + \setKV[Contrat]{#2}\TikzContrat% + }% + \let\exercice\exerciceContrat\let\endexercice\endexerciceContrat% + \ifboolKV[Boulot]{AvecEntrainement}{% + \AddToHook{env/Maquette/end}[Haltere]{% + \PfMAffichageEntrainementColonnes% + }% + }{}% \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1}% - \TikzPdTCor{#2}% - \PfMAffichageCorrectionColonnes% + \AddToHook{env/Maquette/after}[Correction]{% + \PfMPrepareCorrection{#1}% + \TikzContratCor{#2}% + \PfMAffichageCorrectionColonnes% }% }{}% }{% - \ifboolKV[Boulot]{DM}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{% - \setKV[DM]{#2}\TikzDM% - } - \let\exercice\exerciceDM\let\endexercice\endexerciceDM% + \ifboolKV[Boulot]{Cours}{% + % \input{PfMMaquetteCours.tex}% + \setKV[Cours]{#2}% + \TikzCours% + \let\exercice\exerciceFiche\let\endexercice\endexerciceFiche% \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1}% - \TikzDMCor{#2}% - \PfMAffichageCorrectionColonnes% + \AddToHook{env/Maquette/after}[Correction]{% + \PfMPrepareCorrection{#1}% + \TikzFicheCor{#2}% + \PfMAffichageCorrectionColonnes% }% }{}% }{% - \ifboolKV[Boulot]{Fiche}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{% - \setKV[Fiche]{#2}% - \TikzFiche% + \ifboolKV[Boulot]{RecapBrevet}{% + % \input{PfMMaquetteRecapBrevet.tex}% + \setKV[RecapBrevet]{#2}% + \TikzRecapBrevet% + \let\exercice\ExerciceRecapBrevet\let\endexercice\endExerciceRecapBrevet% + \ifboolKV[Boulot]{CorrigeFin}{% + \AddToHook{env/Maquette/after}[Correction]{% + \PfMPrepareCorrection{#1}% + \TikzRecapBrevetCor{#2}% + \PfMAffichageCorrectionColonnes% + }% + }{}% + }{% + \ifboolKV[Boulot]{ParcoursPerso}{% + % \input{PfMMaquetteParcoursPerso.tex}% + \setKV[ParcoursPerso]{#2}% + \DTLloaddb[noheader,keys={PrenomEleve,NomEleve,ListeExo}]{dataperso}{\useKV[ParcoursPerso]{Fichier}.csv}% + \let\exercice\exerciceParcoursPerso\let\endexercice\endexerciceParcoursPerso% + \ifboolKV[Boulot]{CorrigeFin}{\setcounter{PfMCorrigeParcoursPerso}{1}}{}% + \setcounter{PfMExo}{0}% + \AtEndDocument{% + \Recapitulatif{#1}{#2}% }% - \let\exercice\exerciceFiche\let\endexercice\endexerciceFiche% - \ifboolKV[Boulot]{AvecEntrainement}{% + }{% + \ifboolKV[Boulot]{Parcours}{% + % \input{PfMMaquetteParcours.tex}% + \ifboolKV[Boulot]{CorrigeSeul}{}{% + \setKV[Parcours]{#2}\TikzParcours% + }% + \let\exercice\exerciceParcours\let\endexercice\endexerciceParcours% + \ifboolKV[Boulot]{AvecEntrainement}{% \AddToHook{env/Maquette/end}[Haltere]{% \PfMAffichageEntrainementColonnes% }% }{}% - \ifboolKV[Boulot]{CorrigeFin}{% - \ifboolKV[Boulot]{CorrigeAll}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1}% - \TikzFicheCor{#2}% - \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% - \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% - \IfFileExists{\jobname-Ex##1.sol}{\textbf{Corrigé de l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.sol}\par\goodbreak}{}% - }% - \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% - \TikzFicheCorRep{#2}% - \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% - \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% - \IfFileExists{\jobname-Ex##1.rep}{\textbf{Réponse(s) de l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.rep}\par\goodbreak}{}% - }% - \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% - \TikzFicheCorInd{#2}% - \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% - \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% - \IfFileExists{\jobname-Ex##1.cdp}{\textbf{Indice(s) pour l'exercice ##1}\par\nopagebreak\input{\jobname-Ex##1.cdp}\par\goodbreak}{}% - }% - \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% - }% - }{% - \AddToHook{env/Maquette/after}[Correction]{% - \useKVdefault[Boulot]% - \setKV[Boulot]{#1}% - %% - \if@Dyslexie - \setKV[Boulot]{Dys} - \fi - \PfMBasculeDys% - \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}% - \TikzFicheCor{#2}% - \PfMChangerTailleCorrection% - \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% - \PfMAffichageCorrige% - \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% - }% - }% - }{}% - }{% - \ifboolKV[Boulot]{DS}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{% - \setKV[DS]{#2}\TikzDS% - }% - \let\exercice\exerciceDS\let\endexercice\endexerciceDS% - \ifboolKV[Boulot]{BaremeComplet}{% - \begin{center} - \TableauRecapitulatif - \end{center} - }{}% - \ifboolKV[Boulot]{CorrigeFin}{% + \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1} - \TikzDSCor{#2}% + \PfMPrepareCorrection{#1}% + \TikzParcoursCor{#2}% \PfMAffichageCorrectionColonnes% - }% - }{}% - }{% - \ifboolKV[Boulot]{IE}{% - \ifboolKV[Boulot]{CorrigeSeul}{}{% - \setKV[IE]{#2}\TikzIE% - } - \let\exercice\exerciceDS\let\endexercice\endexerciceDS%On garde exerciceDS - \ifboolKV[Boulot]{CorrigeFin}{% - \AddToHook{env/Maquette/after}[Correction]{% - \PfMPrepareCorrection{#1} - \TikzIECor{#2}% - \PfMAffichageCorrectionColonnes }% }{}% }{% - \ifboolKV[Boulot]{Kholle}{% - \setKV[Kholle]{#2}% - \TikzKholle% - \let\exercice\exerciceKholle\let\endexercice\endexerciceKholle% - \ifboolKV[Kholle]{CR}{}{% + \ifboolKV[Boulot]{PdT}{% + % \input{PfMMaquettePdT.tex}% + \ifboolKV[Boulot]{CorrigeSeul}{}{% + \setKV[PdT]{#2}\TikzPdT% + }% + \let\exercice\exercicePdT\let\endexercice\endexercicePdT% + \ifboolKV[Boulot]{CorrigeFin}{% + \AddToHook{env/Maquette/after}[Correction]{% + \PfMPrepareCorrection{#1}% + \TikzPdTCor{#2}% + \PfMAffichageCorrectionColonnes% + }% + }{}% + }{% + \ifboolKV[Boulot]{DM}{% + % \input{PfMMaquetteDM.tex}% + \ifboolKV[Boulot]{CorrigeSeul}{}{% + \setKV[DM]{#2}\TikzDM% + }% + \let\exercice\exerciceDM\let\endexercice\endexerciceDM% \ifboolKV[Boulot]{CorrigeFin}{% \AddToHook{env/Maquette/after}[Correction]{% - \TikzKholleCor{#2}% - \TikzKholleCor{#2}% - \TikzKholleCor{#2}% - \PfMAffichageCorrige% + \PfMPrepareCorrection{#1}% + \TikzDMCor{#2}% + \PfMAffichageCorrectionColonnes% }% }{}% + }{% + \ifboolKV[Boulot]{Fiche}{% + \ifboolKV[Boulot]{CorrigeSeul}{}{% + \setKV[Fiche]{#2}% + \TikzFiche% + }% + \let\exercice\exerciceFiche\let\endexercice\endexerciceFiche% + \ifboolKV[Boulot]{AvecEntrainement}{% + \AddToHook{env/Maquette/end}[Haltere]{% + \PfMAffichageEntrainementColonnes% + }% + }{}% + \ifboolKV[Boulot]{CorrigeFin}{% + \ifboolKV[Boulot]{CorrigeAll}{% + \AddToHook{env/Maquette/after}[Correction]{% + \PfMPrepareCorrection{#1}% + \TikzFicheCor{#2}% + \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% + \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% + \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.sol}{\textbf{Corrigé de l'exercice ##1}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.sol}\par\goodbreak}{}% + }% + \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% + \TikzFicheCorRep{#2}% + \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% + \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% + \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.rep}{\textbf{Réponse(s) de l'exercice ##1}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.rep}\par\goodbreak}{}% + }% + \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% + \TikzFicheCorInd{#2}% + \ifboolKV[Boulot]{CorrectionColonnes}{\begin{multicols}{\useKV[Boulot]{Colonnes}}}{}% + \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% + \IfFileExists{\jobname-Ma\thePfMMaquette-Ex##1.cdp}{\textbf{Indice(s) pour l'exercice ##1}\par\nopagebreak\input{\jobname-Ma\thePfMMaquette-Ex##1.cdp}\par\goodbreak}{}% + }% + \ifboolKV[Boulot]{CorrectionColonnes}{\end{multicols}}{}% + }% + }{% + \AddToHook{env/Maquette/after}[Correction]{% +% \useKVdefault[Boulot]% +% \setKV[Boulot]{#1}% +% %% +% \if@Dyslexie +% \setKV[Boulot]{Dys}% +% \fi +% \PfMBasculeDys% +% \setlength{\columnseprule}{\useKV[Boulot]{Epaisseur}}% + \if@AssembleCorrections + \else + \PfMPrepareCorrection{#1}% + \TikzFicheCor{#2}% + \PfMAffichageCorrectionColonnes% + \fi% + }% + }% + }{}% + }{% + \ifboolKV[Boulot]{DS}{% + % \input{PfMMaquetteDS.tex}% + \ifboolKV[Boulot]{CorrigeSeul}{}{% + \setKV[DS]{#2}\TikzDS% + }% + \let\exercice\exerciceDS\let\endexercice\endexerciceDS% + \ifboolKV[Boulot]{BaremeComplet}{% + \begin{center} + \TableauRecapitulatif + \end{center} + }{}% + \ifboolKV[Boulot]{CorrigeFin}{% + \AddToHook{env/Maquette/after}[Correction]{% + \PfMPrepareCorrection{#1}% + \TikzDSCor{#2}% + \PfMAffichageCorrectionColonnes% + }% + }{}% + }{% + \ifboolKV[Boulot]{IE}{% + % \input{PfMMaquetteIE.tex}% + \ifboolKV[Boulot]{CorrigeSeul}{}{% + \setKV[IE]{#2}\TikzIE% + }% + \let\exercice\exerciceDS\let\endexercice\endexerciceDS%On garde exerciceDS + \ifboolKV[Boulot]{CorrigeFin}{% + \AddToHook{env/Maquette/after}[Correction]{% + \PfMPrepareCorrection{#1}% + \TikzIECor{#2}% + \PfMAffichageCorrectionColonnes% + }% + }{}% + }{% + \ifboolKV[Boulot]{Kholle}{% + % \input{PfMMaquetteKholle.tex}% + \setKV[Kholle]{#2}% + \TikzKholle% + \let\exercice\exerciceKholle\let\endexercice\endexerciceKholle% + \ifboolKV[Kholle]{CR}{}{% + \ifboolKV[Boulot]{CorrigeFin}{% + \AddToHook{env/Maquette/after}[Correction]{% + \TikzKholleCor{#2}% + \TikzKholleCor{#2}% + \TikzKholleCor{#2}% + \PfMAffichageCorrige% + }% + }{}% + }% + }{% + \ifboolKV[Boulot]{LivreHeros}{% + \setKV[LivreHeros]{#2}% + \TikzLivreHeros% + \let\exercice\ExoGBWrite\let\endexercice\endExoGBWrite% + \AddToHook{env/Maquette/end}{% + \xdef\PfMListeExoGB{}% + \xintFor* ##1 in{\xintSeq{2}{\thePfMExo}}\do{% + \xdef\PfMListeExoGB{\PfMListeExoGB,##1}% + }% + \MelangeListe{\PfMListeExoGB}{\fpeval{\thePfMExo-1}}% + \xdef\PfMFooMelange{1,\faa}% + \setsepchar{,}\ignoreemptyitems\readlist*\ListePerm{\PfMFooMelange}\reademptyitems% + \phantomsection{} + \addcontentsline{toc}{section}{\useKV[LivreHeros]{Theme}}% + \xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{% + \itemtomacro\ListePerm[##1]\PfMPermute% + \begin{tcolorbox}[tikzLH,title=##1]% + \refstepcounter{PfMGameBook}% + \input{\jobname-Ma\thePfMMaquette-Ex\PfMPermute.gb}% + \end{tcolorbox}% + }% + }% + }{}% + }% + }% + }% + }% }% - }{}% + }% }% }% }% @@ -3751,11 +4133,6 @@ }% }% }% -}% -}% -}% -}% -}% }{}% \makeatother %D'après JCC @@ -4391,8 +4768,9 @@ \BaremeEspaceMarge{-82pt} } -\AddToHook{env/multicols/begin}{\setcounter{Nbcolonnes}{2}}% -\AddToHook{env/multicols/after}{\setcounter{Nbcolonnes}{4}}% +%\AddToHook{env/multicols/begin}{\setcounter{Nbcolonnes}{2}}% +%\AddToHook{env/multicols/after}{\setcounter{Nbcolonnes}{4}}% + \NewDocumentEnvironment{Dispo}{sm+b}{% \ifPfMDeuxColonnes \IfBooleanTF{#1}{% @@ -4468,4 +4846,114 @@ }% \fi% \end{align*} +}{}% + +\def\RetiensEchelle{1cm} +\def\ChoixNbQuestions{3} +\makeatletter +\if@CAN + \AddToHook{env/document/before}{% + \ProvidesPackage{ProfMaquette}[Mode CAN (CP)]% + \RequirePackage{pgfmorepages} + \pgfmorepagesloadextralayouts + \pgfpagesuselayout{4 on 2, book format}[a4paper,landscape] + } +\fi + +\if@Revision + \AddToHook{env/document/before}{% + \ProvidesPackage{ProfMaquette}[Mode Revision (CP)]% + \setcounter{Nbcolonnes}{2}% + \def\RetiensEchelle{0.5cm} + \RequirePackage{pgfmorepages} + \pgfmorepagesloadextralayouts + \pgfpagesuselayout{4 on 2, book format}[a4paper] + } +\fi + +\if@Personnel + \input{PfMPerso.cfg} +\fi +\makeatother + +% enumitem obligatoire ^^ +\RequirePackage{enumitem} +% d'après https://tex.stackexchange.com/questions/164613/adding-code-at-the-end-of-each-list-item +\newif\iffirstlegal\firstlegalfalse% We need a toggle to track whether the item is first in the list or not + +\newlist{Test}{enumerate}{3} + +\def\PfMPar{\par} + +\NewDocumentCommand\litem{}{} + +\let\olditem\item% save the standard definition of \item in a macro, \olditem + +\setlist[Test,1]{% + leftmargin=*, + label=\arabic*., + before={% + \setcounter{PfMProfondeur}{1}% + \setcounter{PfMNbLignesFinitem}{0} + \firstlegaltrue% set the toggle for first item in the list to true + \def\Primeitem{\iffirstlegal\olditem\stepcounter{PfMNbLignesFinitem}% + \firstlegalfalse + \else + \ifnum\PfMListeDesAjoutsdeLignes[\thePfMNbLignesFinitem]>1\relax\PfMPar\Lignespointilles{\PfMListeDesAjoutsdeLignes[\thePfMNbLignesFinitem]}\else\ifnum\PfMListeDesAjoutsdeLignes[\thePfMNbLignesFinitem]=1\relax\PfMPar\pointilles\fi\fi% + \olditem\stepcounter{PfMNbLignesFinitem}% + \fi + }% new, temporary defition of \item + \let\litem\Primeitem + \let\item\litem + }, + after={% + \ifnum\PfMListeDesAjoutsdeLignes[\thePfMNbLignesFinitem]>0\relax\PfMPar\Lignespointilles{\PfMListeDesAjoutsdeLignes[\thePfMNbLignesFinitem]}\else\ifnum\PfMListeDesAjoutsdeLignes[\thePfMNbLignesFinitem]=1\relax\PfMPar\pointilles\fi\fi% + % fill for final item in list + \let\litem\olditem% restore standard definition of \item + \let\item\olditem + \setcounter{PfMProfondeur}{0}% + }% +}% + +\setlist[Test,2]{% + leftmargin=*, + label=(\alph*), + before={% + \setcounter{PfMProfondeur}{2}% + \setcounter{PfMNbLignesFinitemi}{0} + \firstlegaltrue% + \def\Seconditem{\iffirstlegal\olditem\stepcounter{PfMNbLignesFinitemi}\firstlegalfalse\else% + \ifnum\PfMListeDesAjoutsdeLignesi[\thePfMNbLignesFinitemi]>1\relax\PfMPar\Lignespointilles{\PfMListeDesAjoutsdeLignesi[\thePfMNbLignesFinitemi]}\else\ifnum\PfMListeDesAjoutsdeLignesi[\thePfMNbLignesFinitemi]=1\relax\PfMPar\pointilles\fi + \fi% + \olditem\stepcounter{PfMNbLignesFinitemi} + \fi + }% new, temporary defition of \item + \let\litem\Seconditem + \let\item\litem + }, + after={% + \ifnum\PfMListeDesAjoutsdeLignesi[\thePfMNbLignesFinitemi]>1\relax\PfMPar\Lignespointilles{\PfMListeDesAjoutsdeLignesi[\thePfMNbLignesFinitemi]}\else\ifnum\PfMListeDesAjoutsdeLignesi[\thePfMNbLignesFinitemi]=1\relax\PfMPar\pointilles\fi + \fi% +% % fill for final item in list + \let\litem\Primeitem% + \let\item\litem + \setcounter{PfMProfondeur}{1}% + }% +} + +\newcounter{PfMNbLignesFinitem} +\newcounter{PfMNbLignesFinitemi} +\newcounter{PfMProfondeur} +\setcounter{PfMProfondeur}{0}% + +\NewDocumentEnvironment{autoenumerate}{O{}m +b}{% + \setsepchar{,}\ignoreemptyitems% + \ifnum\thePfMProfondeur=0\relax% + \readlist*\PfMListeDesAjoutsdeLignes{#2}% + \else% + \readlist*\PfMListeDesAjoutsdeLignesi{#2}% + \fi% + \begin{Test}[#1]% + #3 + \end{Test}% }{}%
\ No newline at end of file diff --git a/macros/latex/required/l3kernel/CHANGELOG.md b/macros/latex/required/l3kernel/CHANGELOG.md index 76ee35a0f1..fff85488a7 100644 --- a/macros/latex/required/l3kernel/CHANGELOG.md +++ b/macros/latex/required/l3kernel/CHANGELOG.md @@ -7,6 +7,12 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2024-08-16] + +### Added +- Add quark (`\q_`) and scan mark (`\s_`) prefixes to naming scheme + (issue \#1565) + ## [2024-07-20] ### Fixed @@ -1753,7 +1759,8 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2024-07-20...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2024-08-16...HEAD +[2024-08-16]: https://github.com/latex3/latex3/compare/2024-07-20...2024-08-16 [2024-07-20]: https://github.com/latex3/latex3/compare/2024-06-19...2024-07-20 [2024-06-19]: https://github.com/latex3/latex3/compare/2024-05-27...2024-06-19 [2024-05-27]: https://github.com/latex3/latex3/compare/2024-05-08...2024-05-27 diff --git a/macros/latex/required/l3kernel/README.md b/macros/latex/required/l3kernel/README.md index 0afb38a9ba..5807a75274 100644 --- a/macros/latex/required/l3kernel/README.md +++ b/macros/latex/required/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2024-07-20 +Release 2024-08-16 Overview -------- diff --git a/macros/latex/required/l3kernel/expl3.dtx b/macros/latex/required/l3kernel/expl3.dtx index 64c65d0ff7..ad5cb365dd 100644 --- a/macros/latex/required/l3kernel/expl3.dtx +++ b/macros/latex/required/l3kernel/expl3.dtx @@ -24,7 +24,7 @@ % %<*driver|generic|package|2ekernel> %</driver|generic|package|2ekernel> -\def\ExplFileDate{2024-07-20}% +\def\ExplFileDate{2024-08-16}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % @@ -454,6 +454,15 @@ % implementation in \LaTeX3 means that |toks| are not required, and that % all operations for storing tokens can use the |tl| variable type. % +% There are two more special types of constants: +% \begin{arg-description} +% \item[q] constants of quark type; +% \item[s] constants of scan mark type. +% \end{arg-description} +% The \meta{type} part of quark and scan mark constants is omitted, and +% the \meta{module} part of general quarks and scan marks is often +% omitted too. +% % Experienced \TeX{} programmers will notice that some of the variable % types listed are native \TeX{} registers whilst others are not. In % general, the underlying \TeX{} implementation for a data structure may diff --git a/macros/latex/required/l3kernel/expl3.pdf b/macros/latex/required/l3kernel/expl3.pdf Binary files differindex 650e6999f9..0c0ef88180 100644 --- a/macros/latex/required/l3kernel/expl3.pdf +++ b/macros/latex/required/l3kernel/expl3.pdf diff --git a/macros/latex/required/l3kernel/interface3.pdf b/macros/latex/required/l3kernel/interface3.pdf Binary files differindex 1b89f2f257..b632b9b9e9 100644 --- a/macros/latex/required/l3kernel/interface3.pdf +++ b/macros/latex/required/l3kernel/interface3.pdf diff --git a/macros/latex/required/l3kernel/interface3.tex b/macros/latex/required/l3kernel/interface3.tex index 0219809dab..1a5cc9564f 100644 --- a/macros/latex/required/l3kernel/interface3.tex +++ b/macros/latex/required/l3kernel/interface3.tex @@ -58,7 +58,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2024-07-20} +\date{Released 2024-08-16} \pagenumbering{roman} \maketitle diff --git a/macros/latex/required/l3kernel/l3basics.dtx b/macros/latex/required/l3kernel/l3basics.dtx index ad15d79653..8ef1f6a5be 100644 --- a/macros/latex/required/l3kernel/l3basics.dtx +++ b/macros/latex/required/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3bitset.dtx b/macros/latex/required/l3kernel/l3bitset.dtx index 2b62c68b4a..5fc681a677 100644 --- a/macros/latex/required/l3kernel/l3bitset.dtx +++ b/macros/latex/required/l3kernel/l3bitset.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3bootstrap.dtx b/macros/latex/required/l3kernel/l3bootstrap.dtx index 7f4eba752b..b3c8536420 100644 --- a/macros/latex/required/l3kernel/l3bootstrap.dtx +++ b/macros/latex/required/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3box.dtx b/macros/latex/required/l3kernel/l3box.dtx index 532ec6a7d8..abe1ce302a 100644 --- a/macros/latex/required/l3kernel/l3box.dtx +++ b/macros/latex/required/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3cctab.dtx b/macros/latex/required/l3kernel/l3cctab.dtx index 92f134aa93..56f831becf 100644 --- a/macros/latex/required/l3kernel/l3cctab.dtx +++ b/macros/latex/required/l3kernel/l3cctab.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3clist.dtx b/macros/latex/required/l3kernel/l3clist.dtx index f8d1eeaea8..cfad9ac5a3 100644 --- a/macros/latex/required/l3kernel/l3clist.dtx +++ b/macros/latex/required/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % @@ -352,7 +352,7 @@ % Reverses the order of items stored in the \meta{clist~var}. % \end{function} % -% \begin{function}[added = 2014-07-18]{\clist_reverse:n} +% \begin{function}[added = 2014-07-18, EXP]{\clist_reverse:n} % \begin{syntax} % \cs{clist_reverse:n} \Arg{comma list} % \end{syntax} diff --git a/macros/latex/required/l3kernel/l3coffins.dtx b/macros/latex/required/l3kernel/l3coffins.dtx index afbd1bd394..82f234799e 100644 --- a/macros/latex/required/l3kernel/l3coffins.dtx +++ b/macros/latex/required/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3color.dtx b/macros/latex/required/l3kernel/l3color.dtx index 117a468d21..e973fb5e7c 100644 --- a/macros/latex/required/l3kernel/l3color.dtx +++ b/macros/latex/required/l3kernel/l3color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3debug.dtx b/macros/latex/required/l3kernel/l3debug.dtx index 4e578ee9b6..41456cf8da 100644 --- a/macros/latex/required/l3kernel/l3debug.dtx +++ b/macros/latex/required/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % @@ -69,7 +69,7 @@ % % Standard file identification. % \begin{macrocode} -\ProvidesExplFile{l3debug.def}{2024-07-20}{}{L3 Debugging support} +\ProvidesExplFile{l3debug.def}{2024-08-16}{}{L3 Debugging support} % \end{macrocode} % % \begin{variable}{\s_@@_stop} diff --git a/macros/latex/required/l3kernel/l3deprecation.dtx b/macros/latex/required/l3kernel/l3deprecation.dtx index 697f235311..21d96b8f9c 100644 --- a/macros/latex/required/l3kernel/l3deprecation.dtx +++ b/macros/latex/required/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3doc.dtx b/macros/latex/required/l3kernel/l3doc.dtx index 751d4f4e14..ecd473b837 100644 --- a/macros/latex/required/l3kernel/l3doc.dtx +++ b/macros/latex/required/l3kernel/l3doc.dtx @@ -71,7 +71,7 @@ and all files in that bundle must be distributed together. % This isn't included in the typeset documentation because it's a bit % ugly: %<*class> -\ProvidesExplClass{l3doc}{2024-07-20}{} +\ProvidesExplClass{l3doc}{2024-08-16}{} {L3 Experimental documentation class} %</class> % \fi @@ -84,7 +84,7 @@ and all files in that bundle must be distributed together. % require you to do updates, if the class changes.}} % % \author{\Team} -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % \maketitle % \tableofcontents % diff --git a/macros/latex/required/l3kernel/l3doc.pdf b/macros/latex/required/l3kernel/l3doc.pdf Binary files differindex 0d5a3494c0..e0a3169c1d 100644 --- a/macros/latex/required/l3kernel/l3doc.pdf +++ b/macros/latex/required/l3kernel/l3doc.pdf diff --git a/macros/latex/required/l3kernel/l3docstrip.dtx b/macros/latex/required/l3kernel/l3docstrip.dtx index 199801ff3b..29503b2d55 100644 --- a/macros/latex/required/l3kernel/l3docstrip.dtx +++ b/macros/latex/required/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3docstrip.pdf b/macros/latex/required/l3kernel/l3docstrip.pdf Binary files differindex 07f24848e3..b37e4f8ef8 100644 --- a/macros/latex/required/l3kernel/l3docstrip.pdf +++ b/macros/latex/required/l3kernel/l3docstrip.pdf diff --git a/macros/latex/required/l3kernel/l3expan.dtx b/macros/latex/required/l3kernel/l3expan.dtx index 499c94587e..714af5dc27 100644 --- a/macros/latex/required/l3kernel/l3expan.dtx +++ b/macros/latex/required/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3file.dtx b/macros/latex/required/l3kernel/l3file.dtx index 039c4eecb8..9074a65921 100644 --- a/macros/latex/required/l3kernel/l3file.dtx +++ b/macros/latex/required/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3flag.dtx b/macros/latex/required/l3kernel/l3flag.dtx index 690347426f..a25a02a2ca 100644 --- a/macros/latex/required/l3kernel/l3flag.dtx +++ b/macros/latex/required/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-assign.dtx b/macros/latex/required/l3kernel/l3fp-assign.dtx index e1b3bc788b..2c988e21b4 100644 --- a/macros/latex/required/l3kernel/l3fp-assign.dtx +++ b/macros/latex/required/l3kernel/l3fp-assign.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % \maketitle % % \begin{documentation} diff --git a/macros/latex/required/l3kernel/l3fp-aux.dtx b/macros/latex/required/l3kernel/l3fp-aux.dtx index 4c39e81f46..06c5304064 100644 --- a/macros/latex/required/l3kernel/l3fp-aux.dtx +++ b/macros/latex/required/l3kernel/l3fp-aux.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-basics.dtx b/macros/latex/required/l3kernel/l3fp-basics.dtx index a93ff90291..5c8ee332b9 100644 --- a/macros/latex/required/l3kernel/l3fp-basics.dtx +++ b/macros/latex/required/l3kernel/l3fp-basics.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-convert.dtx b/macros/latex/required/l3kernel/l3fp-convert.dtx index 9b5b66f815..49d25cc51b 100644 --- a/macros/latex/required/l3kernel/l3fp-convert.dtx +++ b/macros/latex/required/l3kernel/l3fp-convert.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-expo.dtx b/macros/latex/required/l3kernel/l3fp-expo.dtx index e9dcdf6646..ea6a3015cf 100644 --- a/macros/latex/required/l3kernel/l3fp-expo.dtx +++ b/macros/latex/required/l3kernel/l3fp-expo.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-extended.dtx b/macros/latex/required/l3kernel/l3fp-extended.dtx index 24f1e5c127..be1137c0d4 100644 --- a/macros/latex/required/l3kernel/l3fp-extended.dtx +++ b/macros/latex/required/l3kernel/l3fp-extended.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-functions.dtx b/macros/latex/required/l3kernel/l3fp-functions.dtx index 2c5eb9602f..7b28783cfa 100644 --- a/macros/latex/required/l3kernel/l3fp-functions.dtx +++ b/macros/latex/required/l3kernel/l3fp-functions.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-logic.dtx b/macros/latex/required/l3kernel/l3fp-logic.dtx index 9d39f4f67e..c1b9f68b9d 100644 --- a/macros/latex/required/l3kernel/l3fp-logic.dtx +++ b/macros/latex/required/l3kernel/l3fp-logic.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-parse.dtx b/macros/latex/required/l3kernel/l3fp-parse.dtx index 191ab2755c..8f8cc99ac4 100644 --- a/macros/latex/required/l3kernel/l3fp-parse.dtx +++ b/macros/latex/required/l3kernel/l3fp-parse.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-random.dtx b/macros/latex/required/l3kernel/l3fp-random.dtx index dd40704719..14a780a392 100644 --- a/macros/latex/required/l3kernel/l3fp-random.dtx +++ b/macros/latex/required/l3kernel/l3fp-random.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-round.dtx b/macros/latex/required/l3kernel/l3fp-round.dtx index ad20934215..d6097c3258 100644 --- a/macros/latex/required/l3kernel/l3fp-round.dtx +++ b/macros/latex/required/l3kernel/l3fp-round.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-symbolic.dtx b/macros/latex/required/l3kernel/l3fp-symbolic.dtx index 8223419f66..387d582d99 100644 --- a/macros/latex/required/l3kernel/l3fp-symbolic.dtx +++ b/macros/latex/required/l3kernel/l3fp-symbolic.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-traps.dtx b/macros/latex/required/l3kernel/l3fp-traps.dtx index 7f22a2d137..f2967021e3 100644 --- a/macros/latex/required/l3kernel/l3fp-traps.dtx +++ b/macros/latex/required/l3kernel/l3fp-traps.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % \maketitle % % \begin{documentation} diff --git a/macros/latex/required/l3kernel/l3fp-trig.dtx b/macros/latex/required/l3kernel/l3fp-trig.dtx index b7b67c9445..297deb2449 100644 --- a/macros/latex/required/l3kernel/l3fp-trig.dtx +++ b/macros/latex/required/l3kernel/l3fp-trig.dtx @@ -42,7 +42,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp-types.dtx b/macros/latex/required/l3kernel/l3fp-types.dtx index d969f76bdc..b48c37d453 100644 --- a/macros/latex/required/l3kernel/l3fp-types.dtx +++ b/macros/latex/required/l3kernel/l3fp-types.dtx @@ -42,7 +42,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fp.dtx b/macros/latex/required/l3kernel/l3fp.dtx index 8e37a55799..d970d631eb 100644 --- a/macros/latex/required/l3kernel/l3fp.dtx +++ b/macros/latex/required/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3fparray.dtx b/macros/latex/required/l3kernel/l3fparray.dtx index 9592671ae3..b20483a583 100644 --- a/macros/latex/required/l3kernel/l3fparray.dtx +++ b/macros/latex/required/l3kernel/l3fparray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3int.dtx b/macros/latex/required/l3kernel/l3int.dtx index 4b0d251cab..d9698e8516 100644 --- a/macros/latex/required/l3kernel/l3int.dtx +++ b/macros/latex/required/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3intarray.dtx b/macros/latex/required/l3kernel/l3intarray.dtx index 4be0ca6be6..48b5b83ad1 100644 --- a/macros/latex/required/l3kernel/l3intarray.dtx +++ b/macros/latex/required/l3kernel/l3intarray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3kernel-functions.dtx b/macros/latex/required/l3kernel/l3kernel-functions.dtx index 5d5758a6af..cc6d8f6909 100644 --- a/macros/latex/required/l3kernel/l3kernel-functions.dtx +++ b/macros/latex/required/l3kernel/l3kernel-functions.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3keys.dtx b/macros/latex/required/l3kernel/l3keys.dtx index db580c525c..9225e1042d 100644 --- a/macros/latex/required/l3kernel/l3keys.dtx +++ b/macros/latex/required/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3legacy.dtx b/macros/latex/required/l3kernel/l3legacy.dtx index b5ef896827..667b15003a 100644 --- a/macros/latex/required/l3kernel/l3legacy.dtx +++ b/macros/latex/required/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3luatex.dtx b/macros/latex/required/l3kernel/l3luatex.dtx index aa7724a8ce..963fdcb032 100644 --- a/macros/latex/required/l3kernel/l3luatex.dtx +++ b/macros/latex/required/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3msg.dtx b/macros/latex/required/l3kernel/l3msg.dtx index 66e7ac8282..c8569dd7ac 100644 --- a/macros/latex/required/l3kernel/l3msg.dtx +++ b/macros/latex/required/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3names.dtx b/macros/latex/required/l3kernel/l3names.dtx index 1cb0d132ae..9231f409c1 100644 --- a/macros/latex/required/l3kernel/l3names.dtx +++ b/macros/latex/required/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3news.pdf b/macros/latex/required/l3kernel/l3news.pdf Binary files differindex eb4c42d8c5..a37482f334 100644 --- a/macros/latex/required/l3kernel/l3news.pdf +++ b/macros/latex/required/l3kernel/l3news.pdf diff --git a/macros/latex/required/l3kernel/l3news01.pdf b/macros/latex/required/l3kernel/l3news01.pdf Binary files differindex 21997cf980..2a2f19457c 100644 --- a/macros/latex/required/l3kernel/l3news01.pdf +++ b/macros/latex/required/l3kernel/l3news01.pdf diff --git a/macros/latex/required/l3kernel/l3news02.pdf b/macros/latex/required/l3kernel/l3news02.pdf Binary files differindex db1ac5b85b..146556e785 100644 --- a/macros/latex/required/l3kernel/l3news02.pdf +++ b/macros/latex/required/l3kernel/l3news02.pdf diff --git a/macros/latex/required/l3kernel/l3news03.pdf b/macros/latex/required/l3kernel/l3news03.pdf Binary files differindex 6630201b1f..af48654a63 100644 --- a/macros/latex/required/l3kernel/l3news03.pdf +++ b/macros/latex/required/l3kernel/l3news03.pdf diff --git a/macros/latex/required/l3kernel/l3news04.pdf b/macros/latex/required/l3kernel/l3news04.pdf Binary files differindex c74f9f0a7c..bb18f756c3 100644 --- a/macros/latex/required/l3kernel/l3news04.pdf +++ b/macros/latex/required/l3kernel/l3news04.pdf diff --git a/macros/latex/required/l3kernel/l3news05.pdf b/macros/latex/required/l3kernel/l3news05.pdf Binary files differindex 18d4df3290..0c286452f1 100644 --- a/macros/latex/required/l3kernel/l3news05.pdf +++ b/macros/latex/required/l3kernel/l3news05.pdf diff --git a/macros/latex/required/l3kernel/l3news06.pdf b/macros/latex/required/l3kernel/l3news06.pdf Binary files differindex 643b8f1f68..986ad4d58b 100644 --- a/macros/latex/required/l3kernel/l3news06.pdf +++ b/macros/latex/required/l3kernel/l3news06.pdf diff --git a/macros/latex/required/l3kernel/l3news07.pdf b/macros/latex/required/l3kernel/l3news07.pdf Binary files differindex b457fd6033..edfce03b2c 100644 --- a/macros/latex/required/l3kernel/l3news07.pdf +++ b/macros/latex/required/l3kernel/l3news07.pdf diff --git a/macros/latex/required/l3kernel/l3news08.pdf b/macros/latex/required/l3kernel/l3news08.pdf Binary files differindex a5b4744d28..1efb7d184b 100644 --- a/macros/latex/required/l3kernel/l3news08.pdf +++ b/macros/latex/required/l3kernel/l3news08.pdf diff --git a/macros/latex/required/l3kernel/l3news09.pdf b/macros/latex/required/l3kernel/l3news09.pdf Binary files differindex a2242937d2..1a24b2e13c 100644 --- a/macros/latex/required/l3kernel/l3news09.pdf +++ b/macros/latex/required/l3kernel/l3news09.pdf diff --git a/macros/latex/required/l3kernel/l3news10.pdf b/macros/latex/required/l3kernel/l3news10.pdf Binary files differindex 1775167008..37c75d8fe9 100644 --- a/macros/latex/required/l3kernel/l3news10.pdf +++ b/macros/latex/required/l3kernel/l3news10.pdf diff --git a/macros/latex/required/l3kernel/l3news11.pdf b/macros/latex/required/l3kernel/l3news11.pdf Binary files differindex 8e14906f03..c1db8425f1 100644 --- a/macros/latex/required/l3kernel/l3news11.pdf +++ b/macros/latex/required/l3kernel/l3news11.pdf diff --git a/macros/latex/required/l3kernel/l3news12.pdf b/macros/latex/required/l3kernel/l3news12.pdf Binary files differindex 15a8332f07..c4890bac7b 100644 --- a/macros/latex/required/l3kernel/l3news12.pdf +++ b/macros/latex/required/l3kernel/l3news12.pdf diff --git a/macros/latex/required/l3kernel/l3pdf.dtx b/macros/latex/required/l3kernel/l3pdf.dtx index 34118c371a..e827001e9f 100644 --- a/macros/latex/required/l3kernel/l3pdf.dtx +++ b/macros/latex/required/l3kernel/l3pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3prefixes.csv b/macros/latex/required/l3kernel/l3prefixes.csv index 339f6625fd..47cd011a5c 100644 --- a/macros/latex/required/l3kernel/l3prefixes.csv +++ b/macros/latex/required/l3kernel/l3prefixes.csv @@ -79,6 +79,7 @@ etex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https: etl,etl,Jonathan P. Spratte,https://github.com/Skillmon/ltx_etl,git@github.com:Skillmon/ltx_etl.git,https://github.com/Skillmon/ltx_etl/issues,2021-08-16,2021-08-16, exp,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, expl,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, +expltools,expltools,Vít Starý Novotný,https://github.com/witiko/expltools/,https://github.com/witiko/expltools.git,https://github.com/witiko/expltools/issues,2024-06-26,2024-06-26,Development tools for expl3 programmers exsheets,exsheets,Clemens Niederberger,https://bitbucket.org/cgnieder/exsheets/,git@bitbucket.org:cgnieder/exsheets.git,https://bitbucket.org/cgnieder/exsheets/issues,2013-03-16,2013-03-16, extblx,biblatex-ext,Moritz Wemheuer,https://github.com/moewew/biblatex-ext/,https://github.com/moewew/biblatex-ext.git,https://github.com/moewew/biblatex-ext/issues,2020-02-09,2020-02-09, exwf,exwrapfig,Takuto Asakura,https://github.com/wtsnjp/exwrapfig,https://github.com/wtsnjp/exwrapfig.git,https://github.com/wtsnjp/exwrapfig/issues,2018-06-07,2018-06-07, @@ -162,6 +163,7 @@ minibox,minibox,Will Robertson,,https://github.com/wspr/will2e.git,https://githu minus,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12, mix,media9,Alexander Grahn,,https://gitlab.com/agrahn/media9,https://gitlab.com/agrahn/media9/issues,2013-01-18,2020-04-15, mode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, +moremath,moremath,Marcel Ilg,https://github.com/Mister00X/moremath,https://github.com/Mister00X/moremath.git,https://github.com/Mister00X/moremath/issues,2024-07-27,2024-07-27, morewrites,morewrites,Bruno Le Floch,https://github.com/blefloch/latex-morewrites,https://github.com/blefloch/latex-morewrites.git,https://github.com/blefloch/latex-morewrites/issues,2013-03-16,2015-09-22, msg,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27, msvg,media4svg,Alexander Grahn,,https://gitlab.com/agrahn/media4svg,https://gitlab.com/agrahn/media4svg/issues,2020-04-15,2020-04-15, diff --git a/macros/latex/required/l3kernel/l3prefixes.pdf b/macros/latex/required/l3kernel/l3prefixes.pdf Binary files differindex ab4d18e916..1898163d39 100644 --- a/macros/latex/required/l3kernel/l3prefixes.pdf +++ b/macros/latex/required/l3kernel/l3prefixes.pdf diff --git a/macros/latex/required/l3kernel/l3prg.dtx b/macros/latex/required/l3kernel/l3prg.dtx index ac6131d6ff..69c66057d4 100644 --- a/macros/latex/required/l3kernel/l3prg.dtx +++ b/macros/latex/required/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3prop.dtx b/macros/latex/required/l3kernel/l3prop.dtx index fd0d8e167d..5f60f31b81 100644 --- a/macros/latex/required/l3kernel/l3prop.dtx +++ b/macros/latex/required/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3quark.dtx b/macros/latex/required/l3kernel/l3quark.dtx index ad78a12bd2..d4558e216b 100644 --- a/macros/latex/required/l3kernel/l3quark.dtx +++ b/macros/latex/required/l3kernel/l3quark.dtx @@ -32,7 +32,7 @@ % % \title{^^A % The \pkg{l3quark} module\\ Quarks and scan marks^^A -% } +% }\ifdefined\thechapter\label{sec:l3quarks}\fi % % \author{^^A % The \LaTeX{} Project\thanks @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3regex.dtx b/macros/latex/required/l3kernel/l3regex.dtx index c3d5de27cb..b6ca0d5d2c 100644 --- a/macros/latex/required/l3kernel/l3regex.dtx +++ b/macros/latex/required/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3seq.dtx b/macros/latex/required/l3kernel/l3seq.dtx index 413e20f8ca..2f0b223753 100644 --- a/macros/latex/required/l3kernel/l3seq.dtx +++ b/macros/latex/required/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3skip.dtx b/macros/latex/required/l3kernel/l3skip.dtx index 9bea4c7b14..788abaf20c 100644 --- a/macros/latex/required/l3kernel/l3skip.dtx +++ b/macros/latex/required/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3sort.dtx b/macros/latex/required/l3kernel/l3sort.dtx index a86f916d24..6c997672de 100644 --- a/macros/latex/required/l3kernel/l3sort.dtx +++ b/macros/latex/required/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3str-convert.dtx b/macros/latex/required/l3kernel/l3str-convert.dtx index 4061895896..4da5cf1302 100644 --- a/macros/latex/required/l3kernel/l3str-convert.dtx +++ b/macros/latex/required/l3kernel/l3str-convert.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3str.dtx b/macros/latex/required/l3kernel/l3str.dtx index 2be2b105ce..787bbf6d87 100644 --- a/macros/latex/required/l3kernel/l3str.dtx +++ b/macros/latex/required/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3styleguide.pdf b/macros/latex/required/l3kernel/l3styleguide.pdf Binary files differindex 31ff7889ff..5c51125210 100644 --- a/macros/latex/required/l3kernel/l3styleguide.pdf +++ b/macros/latex/required/l3kernel/l3styleguide.pdf diff --git a/macros/latex/required/l3kernel/l3styleguide.tex b/macros/latex/required/l3kernel/l3styleguide.tex index 985f20a68c..0500ec57cd 100644 --- a/macros/latex/required/l3kernel/l3styleguide.tex +++ b/macros/latex/required/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-07-20} +\date{Released 2024-08-16} \begin{document} diff --git a/macros/latex/required/l3kernel/l3syntax-changes.pdf b/macros/latex/required/l3kernel/l3syntax-changes.pdf Binary files differindex 515a9eb803..766d21a8a6 100644 --- a/macros/latex/required/l3kernel/l3syntax-changes.pdf +++ b/macros/latex/required/l3kernel/l3syntax-changes.pdf diff --git a/macros/latex/required/l3kernel/l3syntax-changes.tex b/macros/latex/required/l3kernel/l3syntax-changes.tex index b9ffcb011a..8631fe09b8 100644 --- a/macros/latex/required/l3kernel/l3syntax-changes.tex +++ b/macros/latex/required/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-07-20} +\date{Released 2024-08-16} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/required/l3kernel/l3sys.dtx b/macros/latex/required/l3kernel/l3sys.dtx index 1db09f9550..861865c677 100644 --- a/macros/latex/required/l3kernel/l3sys.dtx +++ b/macros/latex/required/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3term-glossary.pdf b/macros/latex/required/l3kernel/l3term-glossary.pdf Binary files differindex d1a2058e9f..2f4e0d80ff 100644 --- a/macros/latex/required/l3kernel/l3term-glossary.pdf +++ b/macros/latex/required/l3kernel/l3term-glossary.pdf diff --git a/macros/latex/required/l3kernel/l3term-glossary.tex b/macros/latex/required/l3kernel/l3term-glossary.tex index fca2886337..b150aee1e9 100644 --- a/macros/latex/required/l3kernel/l3term-glossary.tex +++ b/macros/latex/required/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2024-07-20} +\date{Released 2024-08-16} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/required/l3kernel/l3text-case.dtx b/macros/latex/required/l3kernel/l3text-case.dtx index 134e2508b7..2a3702df85 100644 --- a/macros/latex/required/l3kernel/l3text-case.dtx +++ b/macros/latex/required/l3kernel/l3text-case.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3text-map.dtx b/macros/latex/required/l3kernel/l3text-map.dtx index e3586164c5..431e033707 100644 --- a/macros/latex/required/l3kernel/l3text-map.dtx +++ b/macros/latex/required/l3kernel/l3text-map.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3text-purify.dtx b/macros/latex/required/l3kernel/l3text-purify.dtx index d22ee1bc3e..051933eb9b 100644 --- a/macros/latex/required/l3kernel/l3text-purify.dtx +++ b/macros/latex/required/l3kernel/l3text-purify.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3text.dtx b/macros/latex/required/l3kernel/l3text.dtx index 9a4c4f244e..0680c19fed 100644 --- a/macros/latex/required/l3kernel/l3text.dtx +++ b/macros/latex/required/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3tl-analysis.dtx b/macros/latex/required/l3kernel/l3tl-analysis.dtx index 600da3985d..aa4ccae287 100644 --- a/macros/latex/required/l3kernel/l3tl-analysis.dtx +++ b/macros/latex/required/l3kernel/l3tl-analysis.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3tl-build.dtx b/macros/latex/required/l3kernel/l3tl-build.dtx index e484c5b1c5..a1e5b27ec8 100644 --- a/macros/latex/required/l3kernel/l3tl-build.dtx +++ b/macros/latex/required/l3kernel/l3tl-build.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3tl.dtx b/macros/latex/required/l3kernel/l3tl.dtx index 84f2c36798..2c8de13fd3 100644 --- a/macros/latex/required/l3kernel/l3tl.dtx +++ b/macros/latex/required/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3token.dtx b/macros/latex/required/l3kernel/l3token.dtx index c028310326..cf0f998103 100644 --- a/macros/latex/required/l3kernel/l3token.dtx +++ b/macros/latex/required/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/l3unicode.dtx b/macros/latex/required/l3kernel/l3unicode.dtx index 532eb315d3..89450e18fe 100644 --- a/macros/latex/required/l3kernel/l3unicode.dtx +++ b/macros/latex/required/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2024-07-20} +% \date{Released 2024-08-16} % % \maketitle % diff --git a/macros/latex/required/l3kernel/source3.pdf b/macros/latex/required/l3kernel/source3.pdf Binary files differindex 26c62e620d..03bbce81fc 100644 --- a/macros/latex/required/l3kernel/source3.pdf +++ b/macros/latex/required/l3kernel/source3.pdf diff --git a/macros/latex/required/l3kernel/source3.tex b/macros/latex/required/l3kernel/source3.tex index 228d3ca93c..9abacf7762 100644 --- a/macros/latex/required/l3kernel/source3.tex +++ b/macros/latex/required/l3kernel/source3.tex @@ -57,7 +57,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2024-07-20} +\date{Released 2024-08-16} \pagenumbering{roman} \maketitle diff --git a/macros/latex/required/l3kernel/source3body.tex b/macros/latex/required/l3kernel/source3body.tex index 8471296227..db5b907e7b 100644 --- a/macros/latex/required/l3kernel/source3body.tex +++ b/macros/latex/required/l3kernel/source3body.tex @@ -344,6 +344,19 @@ are never used by the core code. The nature of \TeX{} grouping means that as with any other scratch variable, these should only be set and used with no intervening third-party code. +There are two more special types of constants: +\begin{description} + \item[\texttt{q}] Quark constants. + \item[\texttt{s}] Scan mark constants. +\end{description} +Similarly, each quark or scan mark name starts with the module name, +but doesn't end with a variable type, because the type is already +marked by the prefix \texttt{q} or \texttt{s}. +Some general quarks and scan marks provided by \LaTeX3 don't start +with a module name, for example \cs{s_stop}. +See documentation of quarks and scan marks in Chapter~\ref{sec:l3quarks} +for more info. + \subsection{Terminological inexactitude} A word of warning. In this document, and others referring to the \pkg{expl3} diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index 1dbe7e43a1..180eff0e92 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -76,10 +76,6 @@ $mirrors = { 'Belarus' => { 'https://mirror.datacenter.by/pub/mirrors/CTAN/' => 1, }, - 'Bulgaria' => { - 'https://mirrors.neterra.net/CTAN/' => 1, - 'https://mirrors.netix.net/CTAN/' => 1, - }, 'Czech Republic' => { 'http://ftp.cvut.cz/tex-archive/' => 1, 'https://mirrors.nic.cz/tex-archive/' => 1, @@ -105,7 +101,6 @@ $mirrors = { 'http://sendinnsky.selfhost.co/tex-archive/' => 1, 'http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/' => 1, 'https://ctan.ebinger.cc/tex-archive/' => 1, - 'https://ctan.joethei.xyz/' => 1, 'https://ctan.mc1.root.project-creative.net/' => 1, 'https://ctan.mirror.norbert-ruehl.de/' => 1, 'https://ctan.net/' => 1, @@ -155,7 +150,6 @@ $mirrors = { 'https://mirrors.nxthost.com/ctan/' => 1, }, 'Russia' => { - 'https://ctan.altspu.ru/' => 1, 'https://mirror.macomnet.net/pub/CTAN/' => 1, 'https://mirror.truenetwork.ru/CTAN/' => 1, }, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 22c0314e01..4130407560 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/2024 -depend revision/72121 +depend revision/72130 name 00texlive.image category TLCore @@ -4935,7 +4935,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 72121 +revision 72130 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 @@ -169896,16 +169896,16 @@ catalogue-version 1.13 name jsonparse category Package -revision 71995 +revision 72124 shortdesc Parse, store and access JSON data in LaTeX documents relocated 1 longdesc This package provides an easy way to read in JSON data from longdesc files or strings in LaTeX documents, parse the data and store longdesc it in a user-defined token variable. -containersize 5204 -containerchecksum 3f24e63db30b4689b27da7ed270a893713523d087c8be9c10d2cb73cecbe4be9bdde97aa330e5b7f0265dba87126dd8ce7d3d6a4e86b7b91577c5270cedda49a -doccontainersize 422244 -doccontainerchecksum eb30e798f71e349b4a56da65d670ab4ea098ca4943161184cc2729e91583096663ebf677b176cb28ce9915c19374b7005f91e865c82041e9ae5d70a50ede6cbc +containersize 5220 +containerchecksum 76d5f65832c09296d10f9cb29cf280ce7ad86fbb365a69a3a44bbaa2a426ab84087bb0a737fc24de017dd100172f2f3b8d280028bded994254b1a78377839801 +doccontainersize 422748 +doccontainerchecksum 5ec111a89be98322eb8ff9195254ff92c9a0919fd4013ed8f91e7200fa2be2563c6af8ca405c8e833ea66de4dd64f4bd2b2aa869467d223f145e2ad91ccc789f docfiles size=126 RELOC/doc/latex/jsonparse/LICENCE RELOC/doc/latex/jsonparse/README.md details="Readme" @@ -169921,7 +169921,7 @@ catalogue-contact-repository https://github.com/jasperhabicht/jsonparse catalogue-ctan /macros/latex/contrib/jsonparse catalogue-license lppl1.3c catalogue-topics data-manip expl3 -catalogue-version 0.8.7 +catalogue-version 0.9.0 name jumplines category Package @@ -181182,7 +181182,7 @@ catalogue-topics macro-supp layout latex3 pre-release name l3kernel category Package -revision 71959 +revision 72127 shortdesc LaTeX3 programming conventions relocated 1 longdesc The l3kernel bundle provides an implementation of the LaTeX3 @@ -181192,11 +181192,11 @@ longdesc LaTeX3 kernel and other future code are built: it is an API for longdesc TeX programmers. The packages are set up so that the LaTeX3 longdesc conventions can be used with regular LaTeX2e packages. depend l3backend -containersize 180272 -containerchecksum d1c8734034e552ebd91a5b5f5803027db99edda09866143db5b820ba46a063d7f9ce9bf0de077cf9fd879d3aa09b6247b0501b2348ea58a38648cacb57f25db9 -doccontainersize 12040200 -doccontainerchecksum 12b10aa4b269e2b7ea788b8db67c87ff486460caf4c42dca4642c2c05e4415143531e6f646ed806c8050b8a27515620041206a2f93cf7d834ae796fd25657b78 -docfiles size=3507 +containersize 180332 +containerchecksum da63c45641b327f4237022211f3647fd13105c740db89bc0f8271a383a0c8d4f599b583152dfa43aa940d0bcbe59a25d81f54bb312504b5da8ffcbaba8462b0e +doccontainersize 12045620 +doccontainerchecksum 797c335b0864cb1f4267535f4a581015ba2ccf08455b6448ee3fe79be579e1ebbc0725c882d802a2d6d4f1ee1f9f46680d25b9cf4021cf67669f9e61ce41cfab +docfiles size=3508 RELOC/doc/latex/l3kernel/CHANGELOG.md RELOC/doc/latex/l3kernel/README.md details="Readme" RELOC/doc/latex/l3kernel/expl3.pdf details="The LaTeX3 Programming Language" @@ -181243,8 +181243,8 @@ docfiles size=3507 RELOC/doc/latex/l3kernel/source3.pdf RELOC/doc/latex/l3kernel/source3.tex RELOC/doc/latex/l3kernel/source3body.tex -srccontainersize 622508 -srccontainerchecksum 2211d506d08480c848643ba209925e76593325bc3f7a7a8c61ce07a892eafbf6748449558a666cbcf71cffbd190e1fd586908ea9ba3cc633fc688dddf419916b +srccontainersize 622652 +srccontainerchecksum 087cfda50a44f72b42ddc903701f6b0b51f7572083652a0ec3386e387f612cdcc861bf781b6fa5087ff84bf4801a504e68bf866a8558341b10e4532282450437 srcfiles size=961 RELOC/source/latex/l3kernel/expl3.dtx RELOC/source/latex/l3kernel/l3.ins @@ -181495,7 +181495,7 @@ catalogue-topics format latex3 pre-release name l3packages category Package -revision 71991 +revision 72128 shortdesc High-level LaTeX3 concepts relocated 1 longdesc This collection deals with higher-level ideas such as the @@ -181506,10 +181506,10 @@ longdesc appropriate LaTeX kernel releases incorporating the ideas from longdesc the packages here are l3keys2e 2022-06-01 xfp 2022-06-01 xparse longdesc 2020-10-01 xtemplate 2024-06-01 depend l3kernel -containersize 20336 -containerchecksum 584799c32d0f97ced604d57c0de50f81b4902bd911c7d73b858fe079770f31cf35af63e7207ea2fbe4ae92ea6e4928c200075512a989ddaa7e7f24627eb2c277 -doccontainersize 1457752 -doccontainerchecksum 718c391a4df6cda52e072dbe0c35862bfd84f9d33b3ea022a17620ccc383de5371fe964a502a3ab9b0ba7ce45b297bb8e97f766758e00eb7eee6891ce3508aef +containersize 20424 +containerchecksum f0d9762be695c12a675d3f2bcf1a211b933c634ae9ca6fc458063d6ead5e33d1b9136ea715ff04993f1f20b549cca3b12414647e3b3628e2135ba52a90b643d9 +doccontainersize 1458196 +doccontainerchecksum 55c40fa419ed6595ffbe6679f9320cfece7176e7baa56293e14ae5c30cd7ee0bd7d57d6123551cbbae384f84b4e769b395f402aa1922624196a1f2a790d22750 docfiles size=433 RELOC/doc/latex/l3packages/CHANGELOG.md RELOC/doc/latex/l3packages/README.md details="Readme" @@ -181518,8 +181518,8 @@ docfiles size=433 RELOC/doc/latex/l3packages/xfp/xfp.pdf details="xfp documentation" RELOC/doc/latex/l3packages/xparse/xparse.pdf details="xparse documentation" RELOC/doc/latex/l3packages/xtemplate/xtemplate.pdf details="xtemplate documentation" -srccontainersize 27288 -srccontainerchecksum 1741e2c83a6a7aa96e617557349f24c49ceb47f2e3b956cdf39cd96ed175b00d258f11979d693ff3e4d9a5bf663d1a8430eac22adb46746fa9bd7201231fe9a6 +srccontainersize 27412 +srccontainerchecksum 2b210c23be60534c90a1e243baf569b1b9efd5dd3724bccc1e9f84e371db556251e28104b794626720b5173e0cd77ab8db514b42847fc89aea2b98115902f66a srcfiles size=33 RELOC/source/latex/l3packages/l3keys2e/l3keys2e.dtx RELOC/source/latex/l3packages/l3keys2e/l3keys2e.ins @@ -214146,7 +214146,7 @@ catalogue-version 0.13 name media9 category Package -revision 64047 +revision 72125 shortdesc Multimedia inclusion package with Adobe Reader-9/X compatibility relocated 1 longdesc The package provides an interface to embed interactive Flash @@ -214159,16 +214159,16 @@ longdesc Player supports the efficient H.264 codec for video longdesc compression. The package is based on the RichMedia Annotation, longdesc an Adobe addition to the PDF specification. It replaces the now longdesc obsolete movie15 package. -containersize 1895928 -containerchecksum 3eab7f0687395941f6805db51fff943b6bc795a8a5cf2fb2ed9f03f0103b4fef0bfebdf449701a051b72d8f18a8e332ec02f1893812e4be6d31a56980d50a1e4 -doccontainersize 3637360 -doccontainerchecksum e3f97ec8b1fbb345e42f641eb37f6210d4ebc2e791f6ca21af6c7ac7c7f86c149fa874cafe6a2eb1d47508e2a72aded6ea40b381393ae79e9baab5ecded73c6c -docfiles size=899 +containersize 1896060 +containerchecksum 05fa97fe367120e690ebe18063a9a926be1a261a35abda88314ab51787d2c2de0d5e494b79ea7c8a8704c43f3f59c3e0b8b136f0844013050ee607ee24374789 +doccontainersize 3652336 +doccontainerchecksum db85656207da67318558995ba2f1f065e35d0347a487039079bfffdade22dc5d7f4f0d5affd66b0126e4024ba9053ab1bc3b662a120ebb6ac4e934ecd0a88e74 +docfiles size=905 RELOC/doc/latex/media9/ChangeLog RELOC/doc/latex/media9/README.txt RELOC/doc/latex/media9/media9.pdf details="Package documentation" -srccontainersize 1776700 -srccontainerchecksum 907343fbe326e491f543f104ea9335d6c69848b3d4a69469587bc5d417e3a58e2d18567a0377c71a28e8e7ee6d94959ee8a7e632819773692d34b6cc47a3cb09 +srccontainersize 1776704 +srccontainerchecksum 7ea974d3d1115555354eeff8ef5a90179441f30541ca2d6a9a186d1aa43abfb42c8eac9eaf4617169686c46b7335c71a693c86e2b02b8d5f8d765b31613813a6 srcfiles size=555 RELOC/source/latex/media9/files/3dsystem.fig RELOC/source/latex/media9/files/3dsystem.pdf @@ -214223,7 +214223,7 @@ catalogue-contact-repository https://gitlab.com/agrahn/media9 catalogue-ctan /macros/latex/contrib/media9 catalogue-license lppl catalogue-topics multimedia expl3 -catalogue-version 1.25 +catalogue-version 1.26 name medmath category Package @@ -246823,7 +246823,7 @@ catalogue-version 0.5 name ocgx2 category Package -revision 70696 +revision 72126 shortdesc Drop-in replacement for 'ocgx' and 'ocg-p' relocated 1 longdesc This package serves as a drop-in replacement for the packages @@ -246834,14 +246834,14 @@ longdesc known engines and back-ends including: LaTeX - dvips - longdesc ps2pdf/Distiller (Xe)LaTeX(x) - dvipdfmx pdfLaTeX and LuaLaTeX longdesc . It also ensures compatibility with the media9 and animate longdesc packages. -containersize 17172 -containerchecksum 4b8a88818828b02590aeed748c9ea2c9e87c5ba7c59b54d08fb83ef9240af49668c55bd8d8f82eaccf9505f8b8be465a3f94ce89470a725afd777a239ce8af33 -doccontainersize 6420 -doccontainerchecksum 04dcd5b8941b0d53828d9faa80acba4458e9bcd126082f1aab4738a9b54236f62fefbc950e4b40425b7715984563e04d51890ef6cd8c5bcdf4eaf80979a8c609 +containersize 16700 +containerchecksum f03d0b70689acecd6dcad15f97e24cda7ecdedf87643c8b49c3d5f3996aa24a3fde3ad2392ea55cdfd06b629b2fb1997771b3e22aa9f563909161c9931adbcb5 +doccontainersize 6436 +doccontainerchecksum 13dbdb6eab369362f2cd63a635ce6198bdc5647bd3afbef7d98ac7441f74f9d1dd73579c56258ef22fcb1f3bcb907c7a4a5ca589e0dd9adaee904cc802a43bb9 docfiles size=5 RELOC/doc/latex/ocgx2/ChangeLog RELOC/doc/latex/ocgx2/README.txt -runfiles size=35 +runfiles size=34 RELOC/tex/latex/ocgx2/fixocgx.sty RELOC/tex/latex/ocgx2/ocgbase.sty RELOC/tex/latex/ocgx2/ocgx2.sty @@ -246850,7 +246850,7 @@ catalogue-contact-repository https://gitlab.com/agrahn/ocgx2 catalogue-ctan /macros/latex/contrib/ocgx2 catalogue-license lppl catalogue-topics pdf-feat adobe-distiller expl3 -catalogue-version 0.57 +catalogue-version 0.58 name ocherokee category Package @@ -269957,7 +269957,7 @@ catalogue-version 1.1 name profcollege category Package -revision 71706 +revision 72129 shortdesc A LaTeX package for French maths teachers in college relocated 1 longdesc This package provides some commands to help French mathematics @@ -269967,16 +269967,16 @@ 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 1356176 -containerchecksum 1cea5b3144556ff5d48ef66275af3164aaf15a94caab5564e3aaa15634a45ef4fa2d8540b67087c1b9c33e8fb4e625678d2e9e008b1821876b01a30ed2d70f89 -doccontainersize 15571260 -doccontainerchecksum 7a682c82b957ea136a386e5ee2d6dd2bd6570fd47c6c101a7099b2b1041b6e4bf8449a399cc3e25fe7829f01d297de91146586dacb1b9c500a8343ad2f761bf9 -docfiles size=4051 +containersize 1363120 +containerchecksum 9e00a0bad506afdbbab91b63b21c3710cb4745df4b954b53cad4ddb3e04ea1529a12b1f00b75f8b997457c9f5f5309a209173607f1109ce77b78dc75e7aeab93 +doccontainersize 15967460 +doccontainerchecksum e076836c01d48d9fc7aee5337b9251114a5e1dbd1bb0f6ca219bfb64f21c83bfb62c5a29c35bfe47185dbfa51a743eae263fd5fe1c5f318ad513d0790d6915d9 +docfiles size=4056 RELOC/doc/latex/profcollege/PfCLogoNumberHive.png RELOC/doc/latex/profcollege/README details="Readme" RELOC/doc/latex/profcollege/profcollege-doc.pdf details="Package documentation" language="fr" RELOC/doc/latex/profcollege/profcollege-doc.zip -runfiles size=2974 +runfiles size=2996 RELOC/metapost/profcollege/PfCAfficheur.mp RELOC/metapost/profcollege/PfCAllumettes.mp RELOC/metapost/profcollege/PfCArithmetique.mp @@ -270003,6 +270003,7 @@ runfiles size=2974 RELOC/metapost/profcollege/PfCPseudo.mp RELOC/metapost/profcollege/PfCScratch.mp RELOC/metapost/profcollege/PfCScratchpdf.mp + RELOC/metapost/profcollege/PfCSketch.mp RELOC/metapost/profcollege/PfCSolid.mp RELOC/metapost/profcollege/PfCSvgnames.mp RELOC/metapost/profcollege/PfCTurtleTestRemplis.mp @@ -270213,6 +270214,7 @@ runfiles size=2974 RELOC/tex/latex/profcollege/PfCCAN.tex RELOC/tex/latex/profcollege/PfCCalculatrice.tex RELOC/tex/latex/profcollege/PfCCalculsCroises.tex + RELOC/tex/latex/profcollege/PfCCalculsDetailles.tex RELOC/tex/latex/profcollege/PfCCalculsFractions.tex RELOC/tex/latex/profcollege/PfCCalisson.tex RELOC/tex/latex/profcollege/PfCCartesJeux.tex @@ -270334,6 +270336,7 @@ runfiles size=2974 RELOC/tex/latex/profcollege/PfCSommeAngles.tex RELOC/tex/latex/profcollege/PfCSquaro.tex RELOC/tex/latex/profcollege/PfCStatistiques.tex + RELOC/tex/latex/profcollege/PfCTableauDoubleEntree.tex RELOC/tex/latex/profcollege/PfCTableauxUnites.tex RELOC/tex/latex/profcollege/PfCTablesOperations.tex RELOC/tex/latex/profcollege/PfCTectonic.tex @@ -270353,7 +270356,7 @@ catalogue-also proflycee catalogue-ctan /macros/latex/contrib/profcollege catalogue-license lppl1.3c catalogue-topics maths french teaching -catalogue-version 0.99-A-g +catalogue-version 0.99-A-h name proflabo category Package @@ -270431,25 +270434,25 @@ catalogue-version 3.04d name profmaquette category Package -revision 71161 +revision 72123 shortdesc Use exercises in different types of documents relocated 1 longdesc This LaTeX package can help French maths teachers to put one longdesc and the same exercise into different sorts of documents. -containersize 25092 -containerchecksum a9eb036903176aa68c4362a491feaa0820bfeea5db9dd1aaca1c2f069f4e3f9302fc784a27075065c55e313ac13554a12566bcfc5ae2a997aa5bf96004efa5b4 -doccontainersize 385104 -doccontainerchecksum 71c019ad709daf8f453a0bc02670f4afa8d902babc7a64917d6f359d1ac8f927eee62413968fdef337d6503816f99f3f4ae5a18b4d03e57a7f6386675a2f42cd -docfiles size=100 - RELOC/doc/latex/profmaquette/ProfMaquette-doc.pdf details="Package documentation" language="fr" - RELOC/doc/latex/profmaquette/ProfMaquette-doc.zip +containersize 27736 +containerchecksum da243425ebab51666cdade4c915780b79b9d6a568b249a7ce83e4a0567b337d068741c510a2cc7749c85470d81d0ecb98eeffa7a659974c17497e7f4d99c8edf +doccontainersize 419688 +doccontainerchecksum 18f7bab54ac9de39f56273c9e6b9d30cf6b6f98b8365cb3be8bfb23c4d2dd001b24609e02be2b467e547dcfa92818b1a1bc1a33dd68e53ab67c617d950531c37 +docfiles size=109 RELOC/doc/latex/profmaquette/README details="Readme" -runfiles size=36 + RELOC/doc/latex/profmaquette/profmaquette-doc.pdf details="Package documentation" language="fr" + RELOC/doc/latex/profmaquette/profmaquette-doc.zip +runfiles size=41 RELOC/tex/latex/profmaquette/ProfMaquette.sty catalogue-ctan /macros/latex/contrib/profmaquette catalogue-license lppl1.3c catalogue-topics teaching exercise maths -catalogue-version 0.94 +catalogue-version 0.97b name profsio category Package @@ -329012,7 +329015,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 72121 +revision 72130 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. @@ -329020,10 +329023,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 114472 -containerchecksum 45557ee4f79a9d3e38147743633f574d893cc896ade2c23758671b2a4531faae43a07d2e32c86712c3a88d72d7c5e44a9edcd5d1684419b82d797e3cab1367da +containersize 114432 +containerchecksum f4b73916e4320bd6a58cc238993199717cf672df01e0ab7c7a50b84de59c32b97e34a9fd78384d4fdf91f9ae6d16c71957ed21cd91da2205e3a0c2b6e0d6c812 doccontainersize 436444 -doccontainerchecksum 2b2b3432079a1a74fbd365ff663e713245ca353707015e8778add20e56022d32d7eb0c4e7dc008a635978f3a48ea99e73469fc97cfa7bdb1871e3812d8158d67 +doccontainerchecksum 84c7a73ffac291d98b2a352023ed74f2697aa620eae3784fbe5bc36438e718c47e6c8f63343cc64b795d932c7fddd9b97d0a7f6d9bf0b7185ab033458ab71740 docfiles size=565 doc.html texmf-dist/doc/man/man1/fmtutil-sys.1 diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index 2f685e4c2e..dc70dc9920 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -0402f80a744abb1d4834266bc43bda1e texlive.tlpdb +2cd32e96ba8137e9e205c1c85c77bc3b texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 3830354bdd..60c04344bc 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -bf6aa1cd4381f160d7ca62fbf454b42ccbab207c79cb4c874b996c97dbf908931283d9954490a7f331e37bd533079db2398707b6c52da53644b7b60f36e48dc5 texlive.tlpdb +5f14c767be7be44d2293d62aedb3e39bd2fa0b7a946bf2cd20b26488705e2b2eb45fc4a623c5d7bc8bde86d3305dab72d18effd7186490b081e78622cdd575fa texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index a3c2c82a91..0815fb33f2 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+QqiBBqTOGHfhlDjHAFAmbOZX0ACgkQTOGHfhlD -jHCJigf+NU9Up6zgCsJWThn1P9IH8MTink2gm5HP1Cqhd2bNGkUos0gjh7el8BvZ -DxMGHHYSeZWcF7sqEpMOfAMGHeK7pLHmIkayHgFfFWOekfK3BGQcli/deWJtCRsJ -Rm1czQwr9/jdAp4UhKuy25c7xiX5YZDxP4/71SLfEVaG+v0wGY87TTzPvy2hnZfe -a8xvbnzhZoC44b/mxcHVduLz2cMWSEQ9AKWowSn4LMybUKgA79/iuAGeU7edzEMq -xOzufJwY9nYY7Xl4wt4pdqvxcXL4ZAuC00WrJtVVTHIjvdPOoqwKYEQlrISqVHPw -et0SvspyWTCEYC7hfaP9TR+juJAI5Q== -=CUeF +iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmbPtwAACgkQTOGHfhlD +jHBwNwf/ekLG/dyDRi/gzGW1BkdsXl+6dY0rIm7/d/0oEsNXlvgilVkYbcy0P3Ad +vPem1cHqWEF85SoRbtY/QD5WuHHxCdTXDTYVZ1Jj5WR7rloUCj43Jtmf59JilUF1 +EBnOPncVcXy7cCZAI2mk7pSMeIGBTz0++ipzZ239X3YCztZ00QoQflDOOlxpYJSa +tqrKrE85bHyVfeQrsB7hqcZU+vigQuTvQD/5Z15Apr7Khn/EO0xCfDdeKuhqiBVB +UL1/recCcmw3wk5ash9odZdILGAJtQbpVH8xP7AFpvl2O5DerXnK5jd3WoRs7ujs +GwX6eu0fLKzraQ++vwuUJxN1tQ48qQ== +=gEes -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex 5b622d5cee..29e7bba453 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz @@ -2,4 +2,4 @@ # The source CTAN of this site's material: dante.ctan.org # The year-month-day-hour-minute of this site's material: -2024-08-28-02-02 +2024-08-29-02-02 |