summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname503
-rw-r--r--FILES.byname.gzbin2671544 -> 2671474 bytes
-rw-r--r--FILES.last07days352
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Changes (renamed from support/bibtexperllibs/BibTeX-Parser/Changes)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/LICENSE (renamed from support/bibtexperllibs/BibTeX-Parser/LICENSE)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/MANIFEST (renamed from support/bibtexperllibs/BibTeX-Parser/MANIFEST)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Makefile.PL (renamed from support/bibtexperllibs/BibTeX-Parser/Makefile.PL)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/Makefile.TDS (renamed from support/bibtexperllibs/BibTeX-Parser/Makefile.TDS)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/README (renamed from support/bibtexperllibs/BibTeX-Parser/README)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/dist.ini (renamed from support/bibtexperllibs/BibTeX-Parser/dist.ini)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser.pm (renamed from support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser.pm)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Author.pm (renamed from support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Author.pm)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Entry.pm (renamed from support/bibtexperllibs/BibTeX-Parser/lib/BibTeX/Parser/Entry.pm)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/notes (renamed from support/bibtexperllibs/BibTeX-Parser/notes)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/00-load.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/00-load.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/01-parse.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/01-parse.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/02-parse_string.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/02-parse_string.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/03-parse_entry.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/04-entry.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/04-entry.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/05-author.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/05-author.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/06-parse_complex.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/06-parse_complex.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/07-parse_englishbib.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/07-parse_englishbib.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/08-parse_large.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/08-parse_large.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/09-complex.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/09-complex.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/10-funnyname.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/10-funnyname.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/11-split_braced.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/12-von_token.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/12-von_token.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/13_output.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/13_output.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/14-extratext.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/14-extratext.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/15-capitalization.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/15-capitalization.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/01.bib (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/01.bib)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/06.bib (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/06.bib)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/09-complex.bib (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/09-complex.bib)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/10-funnyname.bib (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/10-funnyname.bib)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/14-extratext.bib (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/14-extratext.bib)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/braces.bib)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/endnote.txt (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/endnote.txt)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/engineering_village.txt (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/engineering_village.txt)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/english.bib)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bibs/mathscinet.txt (renamed from support/bibtexperllibs/BibTeX-Parser/t/bibs/mathscinet.txt)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bug66325.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/bug66325.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/bug67419.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/bug67419.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/cleaned_field.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/cleaned_field.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/pod-coverage.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/pod-coverage.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/pod.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/pod.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/release-pod-coverage.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/release-pod-coverage.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/BibTeX-Parser/t/release-pod-syntax.t (renamed from support/bibtexperllibs/BibTeX-Parser/t/release-pod-syntax.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Changes (renamed from support/bibtexperllibs/LaTeX-ToUnicode/Changes)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/LICENSE (renamed from support/bibtexperllibs/LaTeX-ToUnicode/LICENSE)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/MANIFEST (renamed from support/bibtexperllibs/LaTeX-ToUnicode/MANIFEST)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Makefile.PL (renamed from support/bibtexperllibs/LaTeX-ToUnicode/Makefile.PL)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/Makefile.TDS (renamed from support/bibtexperllibs/LaTeX-ToUnicode/Makefile.TDS)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/README (renamed from support/bibtexperllibs/LaTeX-ToUnicode/README)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/dist.ini (renamed from support/bibtexperllibs/LaTeX-ToUnicode/dist.ini)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/head.ltx (renamed from support/bibtexperllibs/LaTeX-ToUnicode/head.ltx)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf (renamed from support/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf)bin191418 -> 191418 bytes
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode.pm (renamed from support/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode.pm)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode/Tables.pm (renamed from support/bibtexperllibs/LaTeX-ToUnicode/lib/LaTeX/ToUnicode/Tables.pm)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.1 (renamed from support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.1)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf (renamed from support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf)bin2226 -> 2226 bytes
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/script/convert.pl (renamed from support/bibtexperllibs/LaTeX-ToUnicode/script/convert.pl)0
-rwxr-xr-xbiblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/script/ltx2unitxt (renamed from support/bibtexperllibs/LaTeX-ToUnicode/script/ltx2unitxt)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/convert.t (renamed from support/bibtexperllibs/LaTeX-ToUnicode/t/convert.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-coverage.t (renamed from support/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-coverage.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-syntax.t (renamed from support/bibtexperllibs/LaTeX-ToUnicode/t/release-pod-syntax.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/t/release-synopsis.t (renamed from support/bibtexperllibs/LaTeX-ToUnicode/t/release-synopsis.t)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/weaver.ini (renamed from support/bibtexperllibs/LaTeX-ToUnicode/weaver.ini)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/Makefile (renamed from support/bibtexperllibs/Makefile)0
-rw-r--r--biblio/bibtex/utils/bibtexperllibs/README (renamed from support/bibtexperllibs/README)0
-rw-r--r--biblio/ctan-bibdata/ctan.bib49
-rw-r--r--macros/latex/contrib/enverb/README.md34
-rw-r--r--macros/latex/contrib/enverb/doc-enverb.tex47
-rw-r--r--macros/latex/contrib/enverb/doc-examples.tex178
-rw-r--r--macros/latex/contrib/enverb/doc-keys.tex111
-rw-r--r--macros/latex/contrib/enverb/doc-using-contents.tex40
-rw-r--r--macros/latex/contrib/enverb/enverb-doc.pdfbin0 -> 346942 bytes
-rw-r--r--macros/latex/contrib/enverb/enverb-doc.tex87
-rw-r--r--macros/latex/contrib/enverb/enverb.dtx720
-rw-r--r--macros/latex/contrib/enverb/preamble-examples.tex199
-rw-r--r--macros/latex/contrib/enverb/preamble-logo.tex25
-rw-r--r--macros/latex/contrib/l3packages/CHANGELOG.md10
-rw-r--r--macros/latex/contrib/l3packages/README.md2
-rw-r--r--macros/latex/contrib/l3packages/l3keys2e.dtx4
-rw-r--r--macros/latex/contrib/l3packages/l3keys2e.pdfbin412900 -> 412980 bytes
-rw-r--r--macros/latex/contrib/l3packages/xfp.dtx4
-rw-r--r--macros/latex/contrib/l3packages/xfp.pdfbin332573 -> 332674 bytes
-rw-r--r--macros/latex/contrib/l3packages/xparse.dtx25
-rw-r--r--macros/latex/contrib/l3packages/xparse.pdfbin551837 -> 551942 bytes
-rw-r--r--macros/latex/contrib/l3packages/xtemplate.dtx5
-rw-r--r--macros/latex/contrib/l3packages/xtemplate.pdfbin449003 -> 449112 bytes
-rw-r--r--macros/latex/contrib/media9/ChangeLog7
-rw-r--r--macros/latex/contrib/media9/doc/media9.pdfbin3660318 -> 3685849 bytes
-rw-r--r--macros/latex/contrib/media9/media9.sty8
-rw-r--r--macros/latex/contrib/media9/pdfbase.sty145
-rw-r--r--macros/latex/contrib/ocgx2/ChangeLog5
-rw-r--r--macros/latex/contrib/ocgx2/ocgbase.sty262
-rw-r--r--macros/latex/contrib/ocgx2/ocgx2.sty12
-rw-r--r--macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdfbin298965 -> 0 bytes
-rw-r--r--macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdfbin0 -> 333019 bytes
-rw-r--r--macros/latex/contrib/profmaquette/latex/ProfMaquette.sty1240
-rw-r--r--macros/latex/required/l3kernel/CHANGELOG.md9
-rw-r--r--macros/latex/required/l3kernel/README.md2
-rw-r--r--macros/latex/required/l3kernel/expl3.dtx13
-rw-r--r--macros/latex/required/l3kernel/expl3.pdfbin610110 -> 610834 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.pdfbin1790077 -> 1791477 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.tex2
-rw-r--r--macros/latex/required/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3bitset.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3box.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3clist.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3coffins.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3color.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3debug.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3deprecation.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3doc.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3doc.pdfbin565298 -> 565816 bytes
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.pdfbin151011 -> 151526 bytes
-rw-r--r--macros/latex/required/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-functions.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-symbolic.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-types.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3int.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3keys.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3names.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3news.pdfbin396223 -> 396223 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news09.pdfbin250161 -> 250161 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--macros/latex/required/l3kernel/l3pdf.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.csv2
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.pdfbin83064 -> 83133 bytes
-rw-r--r--macros/latex/required/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3prop.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3quark.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3str.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.pdfbin296298 -> 296814 bytes
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.pdfbin231148 -> 231657 bytes
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/required/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.pdfbin241946 -> 242449 bytes
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/required/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text-map.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3tl-build.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/required/l3kernel/source3.pdfbin7610534 -> 7611739 bytes
-rw-r--r--macros/latex/required/l3kernel/source3.tex2
-rw-r--r--macros/latex/required/l3kernel/source3body.tex13
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl6
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb125
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2589848 -> 2588464 bytes
-rw-r--r--timestamp2
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
index 2f846f3ff5..b112eaafa3 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
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
index b319b6ebcb..b319b6ebcb 100644
--- a/support/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf
+++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/latex-tounicode.pdf
Binary files differ
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
index 7dfae7f396..7dfae7f396 100644
--- a/support/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf
+++ b/biblio/bibtex/utils/bibtexperllibs/LaTeX-ToUnicode/ltx2unitxt.pdf
Binary files differ
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
new file mode 100644
index 0000000000..fc5c35311e
--- /dev/null
+++ b/macros/latex/contrib/enverb/enverb-doc.pdf
Binary files differ
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
index df3821afb8..90c356f225 100644
--- a/macros/latex/contrib/l3packages/l3keys2e.pdf
+++ b/macros/latex/contrib/l3packages/l3keys2e.pdf
Binary files differ
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
index 2097c2b079..8640b3600d 100644
--- a/macros/latex/contrib/l3packages/xfp.pdf
+++ b/macros/latex/contrib/l3packages/xfp.pdf
Binary files differ
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
index bb31c0a5e6..b9c39f43c3 100644
--- a/macros/latex/contrib/l3packages/xparse.pdf
+++ b/macros/latex/contrib/l3packages/xparse.pdf
Binary files differ
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
index b70bd7c991..44e90a9163 100644
--- a/macros/latex/contrib/l3packages/xtemplate.pdf
+++ b/macros/latex/contrib/l3packages/xtemplate.pdf
Binary files differ
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
index 2b85529903..526dc37408 100644
--- a/macros/latex/contrib/media9/doc/media9.pdf
+++ b/macros/latex/contrib/media9/doc/media9.pdf
Binary files differ
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
deleted file mode 100644
index 655d73fe6e..0000000000
--- a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf b/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
new file mode 100644
index 0000000000..17618e7120
--- /dev/null
+++ b/macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf
Binary files differ
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
index 650e6999f9..0c0ef88180 100644
--- a/macros/latex/required/l3kernel/expl3.pdf
+++ b/macros/latex/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/interface3.pdf b/macros/latex/required/l3kernel/interface3.pdf
index 1b89f2f257..b632b9b9e9 100644
--- a/macros/latex/required/l3kernel/interface3.pdf
+++ b/macros/latex/required/l3kernel/interface3.pdf
Binary files differ
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
index 0d5a3494c0..e0a3169c1d 100644
--- a/macros/latex/required/l3kernel/l3doc.pdf
+++ b/macros/latex/required/l3kernel/l3doc.pdf
Binary files differ
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
index 07f24848e3..b37e4f8ef8 100644
--- a/macros/latex/required/l3kernel/l3docstrip.pdf
+++ b/macros/latex/required/l3kernel/l3docstrip.pdf
Binary files differ
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
index eb4c42d8c5..a37482f334 100644
--- a/macros/latex/required/l3kernel/l3news.pdf
+++ b/macros/latex/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news01.pdf b/macros/latex/required/l3kernel/l3news01.pdf
index 21997cf980..2a2f19457c 100644
--- a/macros/latex/required/l3kernel/l3news01.pdf
+++ b/macros/latex/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news02.pdf b/macros/latex/required/l3kernel/l3news02.pdf
index db1ac5b85b..146556e785 100644
--- a/macros/latex/required/l3kernel/l3news02.pdf
+++ b/macros/latex/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news03.pdf b/macros/latex/required/l3kernel/l3news03.pdf
index 6630201b1f..af48654a63 100644
--- a/macros/latex/required/l3kernel/l3news03.pdf
+++ b/macros/latex/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news04.pdf b/macros/latex/required/l3kernel/l3news04.pdf
index c74f9f0a7c..bb18f756c3 100644
--- a/macros/latex/required/l3kernel/l3news04.pdf
+++ b/macros/latex/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news05.pdf b/macros/latex/required/l3kernel/l3news05.pdf
index 18d4df3290..0c286452f1 100644
--- a/macros/latex/required/l3kernel/l3news05.pdf
+++ b/macros/latex/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news06.pdf b/macros/latex/required/l3kernel/l3news06.pdf
index 643b8f1f68..986ad4d58b 100644
--- a/macros/latex/required/l3kernel/l3news06.pdf
+++ b/macros/latex/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news07.pdf b/macros/latex/required/l3kernel/l3news07.pdf
index b457fd6033..edfce03b2c 100644
--- a/macros/latex/required/l3kernel/l3news07.pdf
+++ b/macros/latex/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news08.pdf b/macros/latex/required/l3kernel/l3news08.pdf
index a5b4744d28..1efb7d184b 100644
--- a/macros/latex/required/l3kernel/l3news08.pdf
+++ b/macros/latex/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news09.pdf b/macros/latex/required/l3kernel/l3news09.pdf
index a2242937d2..1a24b2e13c 100644
--- a/macros/latex/required/l3kernel/l3news09.pdf
+++ b/macros/latex/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news10.pdf b/macros/latex/required/l3kernel/l3news10.pdf
index 1775167008..37c75d8fe9 100644
--- a/macros/latex/required/l3kernel/l3news10.pdf
+++ b/macros/latex/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news11.pdf b/macros/latex/required/l3kernel/l3news11.pdf
index 8e14906f03..c1db8425f1 100644
--- a/macros/latex/required/l3kernel/l3news11.pdf
+++ b/macros/latex/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news12.pdf b/macros/latex/required/l3kernel/l3news12.pdf
index 15a8332f07..c4890bac7b 100644
--- a/macros/latex/required/l3kernel/l3news12.pdf
+++ b/macros/latex/required/l3kernel/l3news12.pdf
Binary files differ
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
index ab4d18e916..1898163d39 100644
--- a/macros/latex/required/l3kernel/l3prefixes.pdf
+++ b/macros/latex/required/l3kernel/l3prefixes.pdf
Binary files differ
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
index 31ff7889ff..5c51125210 100644
--- a/macros/latex/required/l3kernel/l3styleguide.pdf
+++ b/macros/latex/required/l3kernel/l3styleguide.pdf
Binary files differ
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
index 515a9eb803..766d21a8a6 100644
--- a/macros/latex/required/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/required/l3kernel/l3syntax-changes.pdf
Binary files differ
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
index d1a2058e9f..2f4e0d80ff 100644
--- a/macros/latex/required/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/required/l3kernel/l3term-glossary.pdf
Binary files differ
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
index 26c62e620d..03bbce81fc 100644
--- a/macros/latex/required/l3kernel/source3.pdf
+++ b/macros/latex/required/l3kernel/source3.pdf
Binary files differ
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
index 5b622d5cee..29e7bba453 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index 7c2672058e..246995d915 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2024-08-28-02-02
+2024-08-29-02-02