summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r--Master/texmf-dist/doc/latex/abraces/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/abraces/abraces-doc.pdfbin245502 -> 245461 bytes
-rw-r--r--Master/texmf-dist/doc/latex/abraces/abraces-doc.tex13
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/README.md30
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib14
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdfbin706754 -> 705662 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex142
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdfbin369381 -> 39914315 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex75
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/README.md10
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib17
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdfbin729589 -> 728579 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex89
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdfbin2983602 -> 2982565 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex8
-rw-r--r--Master/texmf-dist/doc/latex/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty199
-rw-r--r--Master/texmf-dist/doc/latex/bib2qr/README.md88
-rw-r--r--Master/texmf-dist/doc/latex/bib2qr/bib2qr.pdfbin0 -> 508752 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib6
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdfbin448675 -> 482865 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex34
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/README5
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdfbin417904 -> 419434 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex87
-rw-r--r--Master/texmf-dist/doc/latex/bxjatoucs/LICENSE2
-rw-r--r--Master/texmf-dist/doc/latex/bxjatoucs/README.md14
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README-ja.md3
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/README.md1
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdfbin407611 -> 407675 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex4
-rw-r--r--Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdfbin884432 -> 887244 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bxpdfver/LICENSE2
-rw-r--r--Master/texmf-dist/doc/latex/bxpdfver/README-ja.md60
-rw-r--r--Master/texmf-dist/doc/latex/bxpdfver/README.md48
-rw-r--r--Master/texmf-dist/doc/latex/changebar/CATALOG2
-rw-r--r--Master/texmf-dist/doc/latex/changebar/README2
-rw-r--r--Master/texmf-dist/doc/latex/changebar/changebar.bug4
-rw-r--r--Master/texmf-dist/doc/latex/changebar/changebar.pdfbin486497 -> 483890 bytes
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/changelog.tex34
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdfbin2431321 -> 2451275 bytes
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex182
-rw-r--r--Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md19
-rw-r--r--Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdfbin235845 -> 240565 bytes
-rw-r--r--Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex82
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdfbin120472 -> 120466 bytes
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdfbin190173 -> 190899 bytes
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdfbin38874 -> 38794 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dashrulex/README.md12
-rw-r--r--Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdfbin58940 -> 57722 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex42
-rw-r--r--Master/texmf-dist/doc/latex/delimset/README.txt4
-rw-r--r--Master/texmf-dist/doc/latex/delimset/delimset.pdfbin327877 -> 376509 bytes
-rw-r--r--Master/texmf-dist/doc/latex/delimset/dlmssamp.tex69
-rw-r--r--Master/texmf-dist/doc/latex/doibanner/README.md91
-rw-r--r--Master/texmf-dist/doc/latex/doibanner/doibanner.pdfbin0 -> 297278 bytes
-rw-r--r--Master/texmf-dist/doc/latex/easybook/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/easybook/easybook.pdfbin626026 -> 638367 bytes
-rw-r--r--Master/texmf-dist/doc/latex/easybook/easybook.tex172
-rw-r--r--Master/texmf-dist/doc/latex/fancyhdr/README2
-rw-r--r--Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdfbin875225 -> 880898 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fillwith/MANIFEST.md54
-rw-r--r--Master/texmf-dist/doc/latex/fillwith/README.md32
-rw-r--r--Master/texmf-dist/doc/latex/fillwith/fillwith-example.pdfbin0 -> 116008 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fillwith/fillwith-example.tex71
-rw-r--r--Master/texmf-dist/doc/latex/fillwith/fillwith.pdfbin0 -> 513081 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md54
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/README.txt2
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/beery.cls153
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-classic.tex39
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-font-steps.tex38
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-modular-musical.tex38
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale-manual.pdfbin117192 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale-manual.tex390
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale-table-classic.tex41
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale-table-font-steps.tex39
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale-table-musical.tex39
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale.pdfbin0 -> 104879 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fontscale/fontscale.tex409
-rw-r--r--Master/texmf-dist/doc/latex/heria/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/heria/heria-proposal.pdfbin313877 -> 311049 bytes
-rw-r--r--Master/texmf-dist/doc/latex/heria/heria-proposal.tex6
-rw-r--r--Master/texmf-dist/doc/latex/heria/heria.pdfbin303966 -> 301201 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hypcap/README.md20
-rw-r--r--Master/texmf-dist/doc/latex/hypcap/hypcap.pdf (renamed from Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf)bin310655 -> 300905 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hypdestopt/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx57
-rw-r--r--Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdfbin323028 -> 347012 bytes
-rw-r--r--Master/texmf-dist/doc/latex/iwonamath/README7
-rw-r--r--Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdfbin502258 -> 503042 bytes
-rw-r--r--Master/texmf-dist/doc/latex/iwonamath/sample.pdfbin382573 -> 379195 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jigsaw/jigsaw-doc-settings.sty196
-rw-r--r--Master/texmf-dist/doc/latex/jsonparse/README.md6
-rw-r--r--Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdfbin214713 -> 3965 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg88
-rw-r--r--Master/texmf-dist/doc/latex/jsonparse/jason/jason.tex289
-rw-r--r--Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdfbin578489 -> 430804 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex150
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md15
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin610409 -> 610110 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1800435 -> 1790077 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3doc.pdfbin565557 -> 565298 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin151323 -> 151011 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news.pdfbin396223 -> 396223 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.pdfbin250161 -> 250161 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv7
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdfbin82843 -> 83064 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin296602 -> 296298 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin231447 -> 231148 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin242247 -> 241946 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin7618338 -> 7610534 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/lni/CHANGELOG.md15
-rw-r--r--Master/texmf-dist/doc/latex/lni/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/lni/lni.pdfbin377652 -> 377655 bytes
-rw-r--r--Master/texmf-dist/doc/latex/magicwatermark/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.pdfbin83023 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.tex212
-rw-r--r--Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.pdfbin137623 -> 134525 bytes
-rw-r--r--Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.tex373
-rw-r--r--Master/texmf-dist/doc/latex/mailing/CATALOG15
-rw-r--r--Master/texmf-dist/doc/latex/mailing/MANIFEST (renamed from Master/texmf-dist/doc/latex/mailing/manifest.txt)4
-rw-r--r--Master/texmf-dist/doc/latex/mailing/README14
-rw-r--r--Master/texmf-dist/doc/latex/mailing/mailing.pdfbin66516 -> 148418 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/ChangeLog.md109
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/README.md158
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/mathastext.pdfbin661328 -> 745164 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/mathastext.tex10
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex265
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex43
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex120
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex124
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/CHANGES.md176
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/README43
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/README.md50
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex4
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib41
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.animations.tex538
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex38
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex62
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex28
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex10
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex309
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex58
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex118
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex20
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty13
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex50
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdfbin24872307 -> 23145514 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex21
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdfbin484515 -> 484200 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex4
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex4
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex5
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex6
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex2
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/README.md10
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdfbin116903 -> 116979 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdfbin118312 -> 118460 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf (renamed from Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree_two_departments.pdf)bin132206 -> 118656 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdfbin118803 -> 118959 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdfbin118681 -> 118821 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdfbin121664 -> 121794 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdfbin132021 -> 132181 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex (renamed from Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree_two_departments.tex)18
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex3
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex13
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex9
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdfbin482879 -> 480892 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdfbin350734 -> 349865 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdfbin153678 -> 152948 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdfbin462305 -> 461124 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdfbin173819 -> 173088 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdfbin279552 -> 278894 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdfbin320853 -> 320084 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdfbin163413 -> 162721 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdfbin165290 -> 164333 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdfbin161633 -> 160667 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdfbin108765 -> 108977 bytes
-rw-r--r--Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex33
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/CHANGELOG3
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/commons/colors.tex35
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdfbin123424 -> 123425 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex4
-rw-r--r--Master/texmf-dist/doc/latex/moremath/MANIFEST.md26
-rw-r--r--Master/texmf-dist/doc/latex/moremath/README.md48
-rw-r--r--Master/texmf-dist/doc/latex/moremath/moremath-doc.pdfbin0 -> 945345 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/README.md6
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdfbin321667 -> 321663 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdfbin525958 -> 525977 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/centernot.pdfbin304565 -> 304565 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/chemarr.pdfbin318494 -> 318494 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/classlist.pdfbin298087 -> 298081 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/colonequals.pdfbin311530 -> 311533 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdfbin297233 -> 297233 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/engord.pdfbin347368 -> 347368 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/enparen.pdfbin332193 -> 332199 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdfbin346528 -> 346528 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/fibnum.pdfbin387246 -> 387246 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/flags.pdfbin311381 -> 311381 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdfbin333733 -> 333733 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdfbin317462 -> 317462 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdfbin313697 -> 313697 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdfbin328780 -> 328780 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdfbin292642 -> 292642 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/iflang.pdfbin344768 -> 344771 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdfbin277944 -> 272940 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdfbin348838 -> 348838 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdfbin336523 -> 336523 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdfbin337837 -> 337837 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdfbin336483 -> 336480 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/resizegather.pdfbin543911 -> 543911 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdfbin345328 -> 345313 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/scrindex.pdfbin309276 -> 309292 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdfbin358522 -> 358447 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex2
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/settobox.pdfbin321376 -> 321375 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/stackrel.pdfbin310389 -> 310389 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdfbin304745 -> 304749 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/tabularht.pdfbin359268 -> 359270 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdfbin280523 -> 280523 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdfbin377485 -> 377482 bytes
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/twoopt.pdfbin301484 -> 301484 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pagelayout/README.md14
-rw-r--r--Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdfbin75292 -> 75391 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex2
-rw-r--r--Master/texmf-dist/doc/latex/pagelayout/tests.zipbin2916987 -> 2920530 bytes
-rw-r--r--Master/texmf-dist/doc/latex/passopt/README.md9
-rw-r--r--Master/texmf-dist/doc/latex/passopt/passopt.pdfbin48207 -> 52494 bytes
-rw-r--r--Master/texmf-dist/doc/latex/passopt/passopt.tex14
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/README10
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex2
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex29
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdfbin7570685 -> 7558395 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pgfplotsthemebeamer/DEPENDS.txt3
-rw-r--r--Master/texmf-dist/doc/latex/pgfplotsthemebeamer/README.md39
-rw-r--r--Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc-settings.sty200
-rw-r--r--Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.pdfbin0 -> 150527 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.tex119
-rw-r--r--Master/texmf-dist/doc/latex/photobook/Makefile22
-rw-r--r--Master/texmf-dist/doc/latex/photobook/README.md7
-rw-r--r--Master/texmf-dist/doc/latex/photobook/photobook.pdfbin145475 -> 146661 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdfbin73089 -> 71193 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex7
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdfbin42567 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdfbin22935 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/example-korean.pdfbin20381 -> 20230 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/example-odia.pdfbin65705 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/example-thai.pdfbin13858 -> 14190 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/example-uyghur.tex128
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/examples.pdfbin147509 -> 147304 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/examples.tex7
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdfbin381269 -> 386065 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex91
-rw-r--r--Master/texmf-dist/doc/latex/polyglossia/test-welsh.pdfbin8886 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyomino/README.md25
-rw-r--r--Master/texmf-dist/doc/latex/polyomino/polyomino.pdfbin0 -> 109235 bytes
-rw-r--r--Master/texmf-dist/doc/latex/polyomino/polyomino.tex278
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdfbin40800 -> 40803 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdfbin201562 -> 201562 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdfbin197818 -> 197818 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdfbin295212 -> 295212 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdfbin285559 -> 285559 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdfbin198959 -> 198959 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdfbin198796 -> 198796 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdfbin210970 -> 210970 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdfbin198303 -> 198303 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdfbin201445 -> 201445 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdfbin285501 -> 285501 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdfbin278069 -> 278069 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdfbin276219 -> 276219 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdfbin292435 -> 292435 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdfbin286624 -> 286624 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdfbin288122 -> 288122 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdfbin204669 -> 204669 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdfbin212239 -> 212239 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdfbin284580 -> 284580 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdfbin36941 -> 36941 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdfbin310601 -> 310601 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdfbin288795 -> 288795 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdfbin199919 -> 199919 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdfbin23444 -> 23442 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdfbin175645 -> 175645 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdfbin32049 -> 32049 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdfbin289211 -> 289211 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdfbin200045 -> 200045 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdfbin199281 -> 199281 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdfbin177110 -> 177110 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdfbin199684 -> 199684 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdfbin198615 -> 198615 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdfbin198673 -> 198673 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdfbin198798 -> 198798 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdfbin214375 -> 214375 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdfbin210491 -> 210491 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdfbin204973 -> 204973 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdfbin298425 -> 298425 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdfbin204015 -> 204015 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdfbin225554 -> 225554 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdfbin251039 -> 251039 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdfbin202382 -> 202382 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdfbin198565 -> 198565 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdfbin302779 -> 302779 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdfbin206948 -> 206948 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdfbin194201 -> 194201 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/migration.pdfbin368433 -> 368426 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/reledmac.pdfbin2162033 -> 2161963 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reledmac/reledpar.pdfbin1041243 -> 1040784 bytes
-rw-r--r--Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdfbin271120 -> 274602 bytes
-rw-r--r--Master/texmf-dist/doc/latex/rpgicons/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdfbin500755 -> 500161 bytes
-rw-r--r--Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex5
-rw-r--r--Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md35
-rw-r--r--Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdfbin231943 -> 232002 bytes
-rw-r--r--Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdfbin362248 -> 366813 bytes
-rw-r--r--Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdfbin104340 -> 104340 bytes
-rw-r--r--Master/texmf-dist/doc/latex/sillypage/sillypage.pdfbin220111 -> 222678 bytes
-rw-r--r--Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md9
-rw-r--r--Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdfbin645802 -> 645632 bytes
-rw-r--r--Master/texmf-dist/doc/latex/siunitx/siunitx.pdfbin703908 -> 703909 bytes
-rw-r--r--Master/texmf-dist/doc/latex/spbmark/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/spbmark/spbmark.pdfbin92980 -> 92984 bytes
-rw-r--r--Master/texmf-dist/doc/latex/spbmark/spbmark.tex6
-rw-r--r--Master/texmf-dist/doc/latex/subeqn/CATALOG17
-rw-r--r--Master/texmf-dist/doc/latex/subeqn/MANIFEST19
-rw-r--r--Master/texmf-dist/doc/latex/subeqn/README14
-rw-r--r--Master/texmf-dist/doc/latex/subeqn/manifest.txt16
-rw-r--r--Master/texmf-dist/doc/latex/subeqn/subeqn-sample.pdfbin0 -> 80142 bytes
-rw-r--r--Master/texmf-dist/doc/latex/subeqn/subeqn-sample.tex (renamed from Master/texmf-dist/doc/latex/subeqn/subeqn.tex)34
-rw-r--r--Master/texmf-dist/doc/latex/subeqn/subeqn.pdfbin91698 -> 216768 bytes
-rw-r--r--Master/texmf-dist/doc/latex/subeqnarray/CATALOG17
-rw-r--r--Master/texmf-dist/doc/latex/subeqnarray/MANIFEST (renamed from Master/texmf-dist/doc/latex/subeqnarray/manifest.txt)8
-rw-r--r--Master/texmf-dist/doc/latex/subeqnarray/README16
-rw-r--r--Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.pdfbin0 -> 68356 bytes
-rw-r--r--Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.tex (renamed from Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.tex)28
-rw-r--r--Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdfbin126532 -> 212013 bytes
-rw-r--r--Master/texmf-dist/doc/latex/supertabular/CATALOG6
-rw-r--r--Master/texmf-dist/doc/latex/supertabular/MANIFEST6
-rw-r--r--Master/texmf-dist/doc/latex/supertabular/README4
-rw-r--r--Master/texmf-dist/doc/latex/supertabular/supertabular.bug (renamed from Master/texmf-dist/doc/latex/supertabular/ChangeLog)69
-rw-r--r--Master/texmf-dist/doc/latex/supertabular/supertabular.pdfbin254349 -> 291267 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tablvar/README.md6
-rw-r--r--Master/texmf-dist/doc/latex/tablvar/tablvar.pdfbin271901 -> 351117 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf56
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdfbin34295 -> 34295 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf14
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf14
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf14
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf14
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf14
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf14
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf14
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf16
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex6
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/pac2024-report.pngbin0 -> 60301 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/pac2024-version.pngbin0 -> 29032 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdfbin1716291 -> 1737121 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdfbin1172067 -> 1124473 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex75
-rw-r--r--Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex3
-rw-r--r--Master/texmf-dist/doc/latex/telprint/README.md13
-rw-r--r--Master/texmf-dist/doc/latex/telprint/telprint.pdf (renamed from Master/texmf-dist/doc/latex/oberdiek/telprint.pdf)bin331190 -> 329028 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tikzbricks/tikzbricks-doc-settings.sty199
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/README.md13
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex1648
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex45
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex789
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex8
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex8
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex355
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex2050
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex8
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex2360
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex6
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex10
-rw-r--r--Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdfbin704147 -> 817269 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tramlines/README5
-rw-r--r--Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdfbin58619 -> 60656 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex17
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/README13
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdfbin132715 -> 132716 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdfbin127940 -> 127947 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdfbin201365 -> 201366 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdfbin200965 -> 200967 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdfbin172559 -> 172712 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdfbin167650 -> 167812 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdfbin227173 -> 227180 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdfbin224980 -> 224983 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdfbin167845 -> 190497 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex4
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdfbin164309 -> 186645 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex4
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdfbin250473 -> 250474 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdfbin250364 -> 250365 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdfbin461504 -> 461588 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex7
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdfbin450479 -> 450553 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex7
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdfbin458946 -> 459207 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex7
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdfbin457385 -> 457851 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex7
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdfbin462064 -> 462143 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex7
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdfbin349412 -> 350542 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex12
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdfbin365693 -> 365821 bytes
-rw-r--r--Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex2
-rw-r--r--Master/texmf-dist/doc/latex/ut-thesis/README21
-rw-r--r--Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdfbin135197 -> 135618 bytes
-rw-r--r--Master/texmf-dist/doc/latex/wheelchart/README.md6
-rw-r--r--Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdfbin1198147 -> 1198402 bytes
-rw-r--r--Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex21
-rw-r--r--Master/texmf-dist/doc/latex/wrapstuff-doc-en/README.md11
-rw-r--r--Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.pdfbin0 -> 344457 bytes
-rw-r--r--Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.tex264
444 files changed, 11670 insertions, 5118 deletions
diff --git a/Master/texmf-dist/doc/latex/abraces/README.md b/Master/texmf-dist/doc/latex/abraces/README.md
index b26a225d8c6..5234134d051 100644
--- a/Master/texmf-dist/doc/latex/abraces/README.md
+++ b/Master/texmf-dist/doc/latex/abraces/README.md
@@ -1,11 +1,11 @@
-`abraces` 2022/11/06 v2.1
+`abraces` 2024/08/02 v2.2
----------------------------------------
A package that provides a character key-driven interface to
supplement new constructions of the traditional `\overbrace`
and `\underbrace` pairs in an asymmetric or arbitrary way.
-Copyright (c) 2021 Werner Grundlingh
+Copyright (c) 2024 Werner Grundlingh
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/Master/texmf-dist/doc/latex/abraces/abraces-doc.pdf b/Master/texmf-dist/doc/latex/abraces/abraces-doc.pdf
index c0becaadde6..a2161dafb5b 100644
--- a/Master/texmf-dist/doc/latex/abraces/abraces-doc.pdf
+++ b/Master/texmf-dist/doc/latex/abraces/abraces-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/abraces/abraces-doc.tex b/Master/texmf-dist/doc/latex/abraces/abraces-doc.tex
index 970cf74eab0..04178c2de7d 100644
--- a/Master/texmf-dist/doc/latex/abraces/abraces-doc.tex
+++ b/Master/texmf-dist/doc/latex/abraces/abraces-doc.tex
@@ -1,4 +1,4 @@
-% $Id: abraces-doc.tex,v 2.1 2022/11/06 00:00:00 wgrundlingh stable $
+% $Id: abraces-doc.tex,v 2.2 2024/08/02 00:00:00 wgrundlingh stable $
\RequirePackage{xcolor}% http://ctan.org/pkg/xcolor (required to "overload" color package)
\documentclass[10pt]{ltxdockit}[2011/03/25]
@@ -7,7 +7,7 @@
\usepackage{booktabs,shortvrb,amsmath,xfp}
\MakeShortVerb{\|}
-\rcsid{$Id: abraces.tex,v 2.1 2022/11/06 00:00:00 wgrundlingh stable $}
+\rcsid{$Id: abraces.tex,v 2.2 2024/08/02 00:00:00 wgrundlingh stable $}
%\setcounter{secnumdepth}{2}
%\setcounter{tocdepth}{4}
@@ -305,11 +305,18 @@ This material is released under and subject to the \href{https://latex-project.o
\section{Acknowledgements}
-Thanks to Frank Mittlebach who stepped in and suggested an improvement in the original way \sty{abraces} functioned. Expansions included the use of \LaTeX3 command interface (via the \href{http://ctan.org/pkg/xparse}{\sty{xparse} package}).
+Thanks to Frank Mittlebach who stepped in and suggested an improvement in the original way \sty{abraces} functioned. Expansions included the use of \LaTeX3 command interface.
\section{Change log}
\begin{itemize}
+ \item v2.2 (2024-08-02) Minor update
+
+ \begin{itemize}
+ \item
+ Added \href{http://ctan.org/pkg/xcolor}{\sty{xcolor}} dependency to always have \lstinline|\bracecolor| available.
+ \end{itemize}
+
\item v2.1 (2022-11-06) Minor update
\begin{itemize}
diff --git a/Master/texmf-dist/doc/latex/asmeconf/README.md b/Master/texmf-dist/doc/latex/asmeconf/README.md
index 2c07a04b9b0..d01de1897fe 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/README.md
+++ b/Master/texmf-dist/doc/latex/asmeconf/README.md
@@ -1,7 +1,7 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.37 dated 2024/02/06.
+ Version 1.38 dated 2024/08/01.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
@@ -80,23 +80,37 @@
####Change log####
+ v1.38 (2024/08/01)
+ - Add dcolumn type ",{x.y}" to center numbers on a comma separator
+ - Change appendix section titles block format, rather than hanging indentation
+ - Replace sample French appendix by a German appendix
+ - Fix bug in \[main=\] option (for babel)
+ - Define commands \\@title and \\@author
+ - Code clean-up (compatibility code, bookmark package loading, twocolumn loading,...)
+ - Various code changes to better support future tagged pdf
+ - Update documentation for using fontspec with asmeconf
+ - Rescale Termes, Helvetica, and Inconsolata fontdimens under LuaLaTeX to match pdfTeX
+ - Add logic to asme-template.tex to test for presence of non-latin fonts under LuaLaTeX
+ - Change code for Japanese fonts to by-pass bug in luatexja-fontspec
+ - Correct typo in babel font loading for traditional Chinese
+ - Remove calls for Harfbuzz renderer since fontspec handles this internally
+
v1.37 (2024/02/06)
- - Under luaLaTeX, fontspec is now loaded by default. The option [nofontspec] will prevent this.
- - Eliminate the following long-deprecated options: [oldauthor, lang, lang-second, lang-third]
- - newtxtext has removed the superiors font options (Jan 2024). As a result, the option [nodefaultsups] has been removed from asmeconf, along with supporting code
+ - Under LuaLaTeX, fontspec is now loaded by default. The option \[nofontspec\] will prevent this.
+ - Eliminate the following long-deprecated options: \[oldauthor, lang, lang-second, lang-third\]
+ - newtxtext has removed the superiors font options (Jan 2024). As a result, the option \[nodefaultsups\] has been removed from asmeconf, along with supporting code
- Streamline code for option handling and compatibility testing; other code clean-up
- Switch code handling successive footnotes to expl3, adjust intersecting code
- Small code changes to accommodate future tagged pdf
- Refresh sample figures, edit sample bib file
- Edits to asmeconf.bst: fix punctuation and spacing in journal title macros
-
-
+
v1.36 (2023/12/28)
- Change option-passing to xcolor package to address recent changes that package's code which lead to an error message.
v1.35 (2023/10/19)
- Adjust pdf-a code to accommodate recent changes to hyperxmp package. NOTE: \\DocumentMetadata{ ..} is now preferred to using class option [pdf-a].
- - Add option to not use boldface text in captions: [unboldcaption]
+ - Add option to not use boldface text in captions: \[unboldcaption\]
- Add mathversion sans for sans-serif math and set as default in unbolded captions
v1.34 (2022/12/30)
@@ -131,7 +145,7 @@
v1.27 (2021/12/26):
- fix bug in captions that appeared in Jan. 2021 (code not uppercasing caption text)
- revise code to switch to grid-style author block through a single package option, \[grid\]; previous macros for grid-style remain active.
- - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with luaLaTeX, TeX Live 2021 or later should be used.
+ - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with LuaLaTeX, TeX Live 2021 or later should be used.
- eliminate use of \\entry{} with a single argument to produce subheadings in nomenclature; use \\EntryHeading{} instead. (**not backward compatible**)
- incorporate recent changes to LaTeX pdf management in relation to pdf-a color profile loading and recently deprecated \\pdfcatalog command
- minor edits in relation to url links
diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
index 158b0f00813..66b2a356cfd 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
+++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmeconf.bst and asmeconf.cls
%%
-%% Revised 25 January 2024
+%% Revised 26 July 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -212,6 +212,18 @@
urldate = {January 18, 2021},
}
+@article{pohlhausen1921,
+ author = {Pohlhausen, E.},
+ title = {Der {W}\"{a}rmeaustausch zwischen festen K\"{o}rpern und {F}l\"{u}ssigkeiten mit kleiner reibung und kleiner {W}\"{a}rmeleitung},
+ journal = {Zeitschrift f\"{u}r {A}ngewandte {M}athematik und {Me}chanik},
+ volume = {1},
+ number = {2},
+ pages = {115--121},
+ doi = {10.1002/zamm.19210010205},
+ year = {1921},
+}
+%url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/zamm.19210010205},
+
@book{fourier1822,
author = {Jean Baptiste Joseph Fourier},
year = {1822},
diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
index 0e628963d36..8e3eefb5160 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
+++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
index 84eecfb0714..a325b893575 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
+++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
@@ -4,7 +4,7 @@
%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.37 dated 2024/02/06
+%% This file is version 1.38 dated 2024/08/01
%%
%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
%% Those guidelines changed the requested author block formatting to be inline.
@@ -71,8 +71,8 @@
%% * See Appendix B for details.
%% * Language support is most extensive when running LuaLaTeX, which automatically loads fontspec, but
%% * be aware that you may to install additional fonts on your system to use fontspec.
-%% *
-%% * To use LuaLaTeX without bothering about extra fonts, use the [nofontspec] option to asmeconf.
+%%
+%% * Option to use LuaLaTeX **without** bothering about extra fonts, [nofontspec]
%%
%% The use of commands defined or modified by the asmeconf class is illustrated throughout this file. In particular,
%% ASME requires capitalized, sans-serif section headings, and as a result some care is needed when using macros
@@ -93,13 +93,13 @@
%% STRONGLY RECOMMENDED new pdf management code follows.
%% This addition the LaTeX kernel was made in June 2022 by the LaTeX Project team.
%% https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
-%% Uncomment the next lines and omit the option [pdf-a] from \documentclass[...]{asemconf}
+%% If this doesn't work for you, comment out the next lines and add option [pdf-a] to \documentclass[...]{asmeconf}
-%\DocumentMetadata{%
-% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
-% pdfversion=1.7,
-% lang=en-US,
-%}
+\DocumentMetadata{%
+ pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -108,7 +108,7 @@
%% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
%% but keep that option for other uses.
-\documentclass[pdf-a,balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, spanish,french,vietnamese,russian,greek]{asmeconf}
+\documentclass[balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, german,spanish,vietnamese,russian,greek]{asmeconf}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -121,6 +121,7 @@
pdflicenseurl={https://ctan.org/pkg/asmeconf},% may delete
}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -154,7 +155,7 @@
% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
\SetAuthors{%
- John H.\ Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{},
+ John H. Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{},
Luis Hern\'andez\affil{2}\JointFirstAuthor,
Maria Silva\affil{3},
Henry Tudor\affil{4},
@@ -183,7 +184,6 @@
%%%%% End of fields to be completed. Now write your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Abstract should be 200 words or less
@@ -314,16 +314,18 @@ Run 12 & 24 & 68.3 \\
%%%%%%%%%%%%%%% begin more complicated table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% note column set as a 3 cm wide paragraph with 1em hanging indentation. See array package documentation.
+% note numbers centered on "." (with d{3.3}) and on "," (with ,{3.3}). See dcolumn package documentation.
\begin{table}[t]
\caption{Table with more complicated columns}\label{tab:2}%
\centering{%
-\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} d{3.3} !{\hspace*{0.5cm}}}
+\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} ,{3.3} !{\hspace*{0.5cm}}}
\toprule
Experiment & \multicolumn{1}{c@{\hspace*{1cm}}}{$u$ [m/s]} & \multicolumn{1}{c!{\hspace*{0.5cm}}}{$T$ [\textdegree C]} \\
\midrule
-The first test we ran this morning & 124.3 & 68.3 \\
-The second test we ran this morning & 82.50 & 103.46 \\
-Our competitor's test & 72.321 & 141.384 \\
+The first test we ran this morning & 124.3 & 68,3 \\
+The second test we ran this morning & 82.50 & 103,46 \\
+Our competitor's test & 72.321 & 141,384 \\
\bottomrule
\end{tabular}
}
@@ -444,7 +446,7 @@ Math italics are used for Roman and Greek letters by default. If you want an up
\begin{equation}\label{eqn:dw}
\vec{F} = m \vec{a} \quad\textrm{or}\quad \vec{\mathrm{F}} = m \vec{\mathrm{a}} \quad\textrm{or}\quad \mathbf{F} = m \mathbf{a} \quad\textrm{or}\quad \vec{\mathsf{F}} = m \vec{\mathsf{a}}
\end{equation}
-To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}|\ldots\texttt{\}}.
+To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}..|\texttt{\}}.
The class file also provides upright sans-serif Greek letters with \verb|\sfalpha| and similar expressions (e.g., $\sfalpha, \sfbeta, \sfgamma, \sfdelta$ \ldots $\bm{\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots}$), in case they are needed (but note that the \verb|newtxmath| options \verb|frenchmath| and \verb|slantedGreek| also affect how Greek letters are presented).
@@ -555,7 +557,9 @@ The \hologo{LuaLaTeX} engine is useful with \texttt{asmeconf} in two situations:
\item \textbf{Executing lua code directly in your \LaTeX\ file.} With lua code, complicated functions can be plotted or numerical integration can be executed. An example file in the distribution demonstrates this capability~\cite{lienhard2024}. In this situation, \textit{be sure to use the class option} \texttt{[nofontspec]}, so that you won't need to install additional fonts on your computer.
-\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system. See the example file in this distribution for more details~\cite{lienhard2021}.
+\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system.\footnote{For English, you \textit{must} have these fonts installed:\par \parbox{\columnwidth}{\setlength{\parindent}{12pt}TeX Gyre Termes (\hrefurl{https://ctan.org/tex-archive/fonts/newtx/opentype}{ctan.org/tex-archive/fonts/newtx/opentype}),\par TeX~Gyre~Heros (\hrefurl{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}{ctan.org/tex-archive/fonts/tex-gyre/opentype}),\par
+Inconsolatazi4 (\hrefurl{https://ctan.org/tex-archive/fonts/inconsolata/opentype}{ctan.org/tex-archive/fonts/inconsolata/opentype}).}} See the example file in this distribution for more details~\cite{lienhard2021}.
+
\end{description}
@@ -572,9 +576,10 @@ abstract in another language.
When more than one language option is included in \verb|\documentclass[..]{asmeconf}|, English will be
set as the document's main language. (To choose a different main language, set \texttt{[main=..]}).
-If no language options are given, the package defaults to English. As examples, a passage in French is
-shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}, followed by
-\ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
+If no language options are given, the package defaults to English. As examples, a passage in German is
+shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{german},
+%\selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english},
+followed by \ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
The input encoding can be utf-8, as for these glyphs:
%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.
@@ -588,12 +593,18 @@ The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{selectlanguage}{french}%
-\section{Discours Préliminaire de Fourier}\label{app:fourier}
-Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
-
-La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+\begin{selectlanguage}{german}%
+\section{Wärmeaustausch und Reibungswiderstand (\NoCaseChange{von} E. Pohlhausen)}\label{app:pohlhausen}
+In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung
+zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}.
\end{selectlanguage}%
+
+%\begin{selectlanguage}{french}%
+%\section{Discours Préliminaire de Fourier}\label{app:fourier}
+%Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
+%
+%La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+%\end{selectlanguage}%
\begin{selectlanguage}{spanish}%
\begin{abstract*}
@@ -625,19 +636,25 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
\fi
-\iffontspecloaded %%% requires lualatex
+\iffontspecloaded %%% These passages require using lualatex AND installing the mentioned fonts as system fonts on your computer.
%
- \begin{selectlanguage}{greek}%
- \begin{abstract*}
- Αυτή είναι η πεÏίληψη του άÏθÏου. ΧÏησιμοποιοÏμε την ελληνική γλώσσα. ΠεÏιγÏάφεται το Ï€Ïόβλημα, οι μέθοδοι και τα αποτελέσματα. ΠεÏιλαμβάνονται επίσης αναφοÏές.
- \end{abstract*}
- \end{selectlanguage}% Edited by George Barbastathis
-%
- \begin{selectlanguage}{russian}
- \begin{abstract*}
- Это резюме Ñтатьи. Пишем по руÑÑки. ОпиÑаны проблема, методы и результаты. Ð‘Ð¸Ð±Ð»Ð¸Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ включена.%
- \end{abstract*}
- \end{selectlanguage}% edited by Steven Gerasimoff
+ \IfFontExistsTF{NotoSans}{
+ \IfFontExistsTF{NotoSerif}{
+ %
+ \begin{selectlanguage}{greek}%
+ \begin{abstract*}
+ Αυτή είναι η πεÏίληψη του άÏθÏου. ΧÏησιμοποιοÏμε την ελληνική γλώσσα. ΠεÏιγÏάφεται το Ï€Ïόβλημα, οι μέθοδοι και τα αποτελέσματα. ΠεÏιλαμβάνονται επίσης αναφοÏές.
+ \end{abstract*}
+ \end{selectlanguage}% Edited by George Barbastathis
+ %
+ \begin{selectlanguage}{russian}
+ \begin{abstract*}
+ Это резюме Ñтатьи. Пишем по руÑÑки. ОпиÑаны проблема, методы и результаты. Ð‘Ð¸Ð±Ð»Ð¸Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ включена.%
+ \end{abstract*}
+ \end{selectlanguage}% edited by Steven Gerasimoff
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerif.ttf, which is needed for Greek and Russian language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSans.ttf, which is needed for Greek and Russian language text. Please install that font.}}
%
\begin{selectlanguage}{vietnamese}
\begin{abstract*}
@@ -645,24 +662,41 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{abstract*}
\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
%
-% \begin{selectlanguage}{japanese}% Use class option [japanese] if you uncomment this passage.
-% \begin{abstract*}
-% % è«–æ–‡ã®è¦ç´„ã§ã™ã€‚日本語ã§è¨˜è¿°ã—ã¾ã™ã€‚å•é¡Œã€æ–¹æ³•ã€ãŠã‚ˆã³çµæžœã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ã¾ãŸã€å‚考文献もå«ã‚ã¾ã™ã€‚
-% ã“ã®è«–æ–‡ã®æ—¥æœ¬èªžã§ã®è¦ç´„ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚å•é¡Œã€æ–¹æ³•ã€ãŠã‚ˆã³çµæžœãŒèª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚å‚考資料も添付ã—ã¦ã‚ã‚Šã¾ã™ã€‚
-% \end{abstract*}
-% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
%
- \begin{selectlanguage}{korean}
- \begin{abstract*}
- ì´ê²ƒì€ 한국어로 ì“°ì¸ ë…¼ë¬¸ì˜ ì´ˆë¡ìž…니다. 문제, 방법 ë° ê²°ê³¼ê°€ 설명ë˜ì–´ 있습니다. ì°¸ì¡°ë„ í¬í•¨ë©ë‹ˆë‹¤.
- \end{abstract*}
- \end{selectlanguage}% Edited by Hyung Won Chung.
+%% Use class option [japanese] if you uncomment this passage.
+% \IfFontExistsTF{NotoSerifCJKjp}{%
+% \IfFontExistsTF{NotoSansCJKjp}{%
+% %
+% \begin{selectlanguage}{japanese}
+% \begin{abstract*}
+% % è«–æ–‡ã®è¦ç´„ã§ã™ã€‚日本語ã§è¨˜è¿°ã—ã¾ã™ã€‚å•é¡Œã€æ–¹æ³•ã€ãŠã‚ˆã³çµæžœã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ã¾ãŸã€å‚考文献もå«ã‚ã¾ã™ã€‚
+% ã“ã®è«–æ–‡ã®æ—¥æœ¬èªžã§ã®è¦ç´„ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚å•é¡Œã€æ–¹æ³•ã€ãŠã‚ˆã³çµæžœãŒèª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚å‚考資料も添付ã—ã¦ã‚ã‚Šã¾ã™ã€‚
+% \end{abstract*}
+% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
+% %
+% }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKjp, which is needed for Japanese language text. Please install that font.}}
+% }{\ClassWarning{\ClassName}{I can't find NotoSansCJKjp, which is needed for Japanese language text. Please install that font.}}
%
- \begin{selectlanguage}{chinese-simplified}
- \begin{abstract*}
- 这是文章的摘è¦ã€‚我们用中文书写,æ述了问题,方法和结果,还包括了å‚考文献。
- \end{abstract*}
- \end{selectlanguage}% edited by Zi Hao Foo
+ \IfFontExistsTF{NotoSansCJKkr}{%
+ \IfFontExistsTF{NotoSerifCJKkr}{%
+ %
+ \begin{selectlanguage}{korean}
+ \begin{abstract*}
+ ì´ê²ƒì€ 한국어로 ì“°ì¸ ë…¼ë¬¸ì˜ ì´ˆë¡ìž…니다. 문제, 방법 ë° ê²°ê³¼ê°€ 설명ë˜ì–´ 있습니다. ì°¸ì¡°ë„ í¬í•¨ë©ë‹ˆë‹¤.
+ \end{abstract*}
+ \end{selectlanguage}% Edited by Hyung Won Chung.
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKkr.otf, which is needed for Korean language text. Please install that font.}}
+ %
+ \IfFontExistsTF{NotoSerifCJKsc}{%
+ \begin{selectlanguage}{chinese-simplified}
+ \begin{abstract*}
+ 这是文章的摘è¦ã€‚我们用中文书写,æ述了问题,方法和结果,还包括了å‚考文献。
+ \end{abstract*}
+ \end{selectlanguage}% edited by Zi Hao Foo
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKsc.otf, which is needed for Korean language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSansCJK.ttf, which is needed for Korean and simplified Chinese text. Please install that font.}}
%
\fi
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf
index 05e276803f4..d5ef0f0158e 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
index b041b0f0ff6..406a4dd6604 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
@@ -18,13 +18,36 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\DocumentMetadata{%
+ pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+ debug = {xmp-export},
+}
\documentclass[colorlinks,nofoot,spanish,japanese,russian,greek,ukrainian,vietnamese,french,portuguese,turkish,polish,indonesian,italian,german,latin,serbianc,bidi=basic]{asmeconf}
% note that not all languages given as examples in this file can be called as options.
+% directly add this xmp property. See l3pdfmeta.pdf. This is not automatic with \DocumentMetadata. "True" must be capitalized.
+\ExplSyntaxOn
+ \pdfmeta_xmp_add:n{<xmpRights:Marked>True</xmpRights:Marked>}
+\ExplSyntaxOff
+
\hypersetup{%
- pdftitle={Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec},
+ pdftitle={{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}},
pdfkeywords={asmeconf, non-Latin alphabets, fontspec, LuaLaTeX, PDFLaTeX},
- pdfauthor={John H. Lienhard, V},
+ pdfauthor={John H. Lienhard},
+ pdfsubject = {Describes font support in asmeconf LaTeX template},
+ pdfurl={https://ctan.org/pkg/asmeconf},% may delete
+ pdflicenseurl={https://ctan.org/pkg/asmeconf},
+ pdfcopyright={Copyright (c) \the\year\ by John H. Lienhard},
+ pdfcontactemail={lienhard@mit.edu},
+ pdfcaptionwriter={{John H. Lienhard, V}},
+ pdfcontactaddress={77 Massachusetts Avenue, Room 3-166},
+ pdfcontactcity={Cambridge, MA},
+ pdfcontactpostcode={02139},
+ pdfcontactcountry={USA},
+ pdfcontacturl={https://lienhard.mit.edu},
+ pdfauthortitle={Professor of Mechanical Engineering},
}
% To avoid typing these over and over, define:
@@ -33,13 +56,30 @@
\newcommand*\AC{{\upshape\texttt{asmeconf}}}
\newcommand*\PLT{{\upshape\texttt{\hologo{pdfLaTeX}}}}
+% define a unicode character by its codepoint
+\ExplSyntaxOn
+ \cs_new:Npn \MySym #1 { \codepoint_generate:nn {#1} { 12 } }
+\ExplSyntaxOff
+
+\renewcommand*{\checkmark}{\MySym{"2713}} % because default checkmark has poor glyph information
+
+%% It's necessary to force full embedding of the fonts to get valid PDF/A-3b
+\usepackage{luacode}
+\begin{luacode}
+local function embedfull(tfmdata)
+ tfmdata.embedding = "full"
+end
+luatexbase.add_to_callback("luaotfload.patch_font", embedfull, "embedfull")
+\end{luacode}
+
+
\makeatletter
\def\NotoBan@scale{0.98}% vary this if the Bengali is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
\def\NotoDev@scale{0.98}% vary this if the Devanagari is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
%\def\NotoTam@scale{0.92}% vary this if the Tamil is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
\def\NotoAra@scale{0.93}% The serif font only; the default value is 0.91
-% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], use Noto Serif Italic for visual consistency
+% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], I'm using Noto Serif Italic for visual consistency
\newfontfamily{\NotoSerif}{NotoSerif}[UprightFont=*-Regular,ItalicFont=*-Italic, BoldItalicFont=*-BoldItalic, BoldFont=*-Bold, Extension=.ttf,Scale=\Noto@scale,WordSpace={1,1.4,1}]
\newfontfamily{\NotoSerifItalns}{NotoSerif-Italic.ttf}[ItalicFont=*,Scale=\Noto@scale]% Turkish has trouble with WordSpace
\makeatother
@@ -107,10 +147,10 @@
\begin{document}
\ConfName{Proceedings of the \texttt{asmeconf} \linebreak International Examples Congress and Exposition}
-\ConfAcronym{AIECE21}
-\ConfDate{January 20, 2021}
+\ConfAcronym{AIECE24}
+\ConfDate{August 1, 2024}
\ConfCity{Cambridge, MA}
-\PaperNo{AIECE2021-0002}
+\PaperNo{AIECE2024-0002}
\title{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}
@@ -119,7 +159,7 @@
\maketitle
-\versionfootnote{Version~1.01, \today}
+\versionfootnote{Version~1.02, \today}
\keywords{asmeconf, language support, non-Latin alphabets, fontspec, \LLT}
@@ -183,12 +223,12 @@ The \FS\ package~\cite{robertson2020} allows \LLT\ to access fonts that are inst
When processed in \PLT, \AC\ uses the \texttt{newtxtext} and \texttt{inconsolata} fonts, a collection of eight-bit fonts, for Latin script. To use \FS, we must replace those fonts with corresponding unicode fonts (the math fonts, from \texttt{newtxmath}, are unchanged). Specialized fonts are needed for some additional scripts. Thus, the user will need to install several unicode fonts onto their own system in order to use \AC\ with \FS.
Fortunately, all these fonts are all free and easily downloaded.
-The needed fonts are listed in Table~\ref{tab:2}.
+The needed fonts are listed in Table~\ref{tab:2}. \textit{The Latin fonts are required for English when using \FS.}
%%%%%%%%%%%%%%% two column table %%%%%%%%%%%%%%%%%%
\NewDocumentCommand\R{O{11pt}}{\rule{0pt}{#1}}
\begin{table*}[t!]
-\caption{System fonts used by \NoCaseChange{\AC} with \NoCaseChange{\FS}. For all fonts, load regular and bold face. For Latin, Cyrillic, and Greek, also load italic and bold italic. For Noto Sans Arabic, install semibold instead of bold.\label{tab:2}}%
+\caption{System fonts used by \NoCaseChange{\AC} with \NoCaseChange{\FS}. For all fonts, load regular and bold face. For Latin, Cyrillic, and Greek serif and sans serif fonts, also load italic and bold italic. For Noto Sans Arabic, install semibold instead of bold.\label{tab:2}}%
\centering{%
\begin{tabular*}{\textwidth}{@{\hspace*{0.5em}}@{\extracolsep{\fill}}>{\raggedright}p{6em}>{\raggedright}p{12em}>{\raggedright}p{10em}p{23em}@{\hspace*{0.5em}}}
\toprule
@@ -196,7 +236,10 @@ The needed fonts are listed in Table~\ref{tab:2}.
\multicolumn{1}{c}{\textbf{Language}} &
\multicolumn{1}{c}{\textbf{Fonts}} &
\multicolumn{1}{c}{\textbf{Where to get the font}}\\ \midrule
-Latin$^*$ & most European languages & Tex Gyre Termes, Tex~Gyre~Heros & \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre}\rule{0pt}{11pt}\\
+Latin$^*$ & most European languages & TeX Gyre Termes, & \url{https://ctan.org/tex-archive/fonts/newtx/opentype}, \rule{0pt}{11pt}\\
+& & TeX~Gyre~Heros, & \url{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}\\
+%\url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} \\
+& & Inconsolatazi4 & \url{https://ctan.org/tex-archive/fonts/inconsolata/opentype} \\
Arabic\R & Arabic, Punjabi, Urdu, others & Amiri,\\ Noto~Sans~Arabic & \url{https://github.com/alif-type/amiri}\hfill\hbox{} \url{https://github.com/googlefonts/noto-fonts} \\
Bengali\R & Assamese, Bengali, others & Noto Serif Bengali,\\ Noto~Sans Bengali& \url{https://github.com/googlefonts/noto-fonts} \\
Cyrillic\R & Belarusian, Bulgarian, Macedonian, Russian, Serbian, Ukrainian, others & Noto Serif,\\ Noto~Sans, Noto~Sans~Mono & \url{https://github.com/googlefonts/noto-fonts} \\
@@ -215,7 +258,9 @@ Traditional\R\ Chinese & Traditional Mandarin, Cantonese & Noto~Serif~CJK~TC, No
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Using fontspec with asmeconf}
-When running \LLT, the \texttt{[fontspec]} option should be called, to load the appropriate fonts. With \FS, \texttt{babel} will use \texttt{.ldf} files (if available) and separate initialization files (\texttt{.ini}). If a language option is called for which there is no \texttt{.ldf} file, an error will result. However, such languages may still have an \texttt{.ini} that provides necessary information. For example, Chinese and Korean do not have \texttt{.ldf} files, but they do have \texttt{.ini} files. These languages can be accessed as described in Section~\ref{sec:6}.
+%When running \LLT, the \texttt{[fontspec]} option should be called, to load the appropriate fonts.
+When running \LLT, \texttt{fontspec} is loaded by default (as of Feb.\ 2024).
+With \FS, \texttt{babel} will use \texttt{.ldf} files (if available) and separate initialization files (\texttt{.ini}). If a language option is called for which there is no \texttt{.ldf} file, an error will result. However, such languages may still have an \texttt{.ini} that provides necessary information. For example, Chinese and Korean do not have \texttt{.ldf} files, but they do have \texttt{.ini} files. These languages can be accessed as described in Section~\ref{sec:6}.
Japanese typesetting is a little more complicated. When \texttt{[japanese]} is given as an option to the class, \AC\ calls the \texttt{luatexja-fontspec} package~\cite{lua-jp}, which is a specialized module for typesetting Japanese.
@@ -225,7 +270,7 @@ What about support for scripts not shown in Table~\ref{tab:2}? Macros from \tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{How to call a language\label{sec:6}}
-A language is called by \verb|\begin{selectlanguage}{<lang>}|, where \texttt{<lang>} is the lower-case name of the language.
+Call a language with \verb|\begin{selectlanguage}{<lang>}|, where \texttt{<lang>} is the lower-case name of the language.
For example, suppose that a Spanish language abstract is desired. The user puts \texttt{[spanish]} as a global option (this language has an \texttt{.ldf} file), and then writes:
\begin{quotation}
\noindent\hbox{}\verb|\begin{selectlanguage}{spanish}|\\
@@ -419,10 +464,12 @@ The main language of the document is English by default. This means that secti
To chose a different main language, give the option \texttt{[main=..]}, e.g., \texttt{[main=french]}. The standard caption and section names will follow \texttt{babel}'s dictionary for the language chosen. Users may additionally change ``Keywords'', ``Nomenclature'', ``Corresponding author'', and ``Joint first authors'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, \verb|\CAwords|, and \verb|\JAwords|. Changes to the page footer are described in the \AC\ documentation~\cite{lienhard2021}. The pdf bookmark for ``Appendices'' may be changed by renewing \verb|\appendicesname|. (See the \texttt{babel} documentation \cite[\S 1.15]{bezos2020} if the dictionary for the main language lacks the correct word for, say, \verb|abstractname|).
-Note that some languages make characters active, which can have unexpected effects. For example, Spanish makes ``.'' an active character, which clashes with the default \texttt{dcolumn} decimal separator, \texttt{d\{n.m\}}~\cite{dpc}. \texttt{\textbackslash spanishdeactivate\{.\}} stops this behavior. Alternatively, the decimal separator can be changed to a comma by putting \texttt{\textbackslash newcolumntype\{d\}[1]\{D\{,\}\{,\}\{\#1}\}\} in the preamble.
-
I have not explored this usage in detail, and I would welcome comments from authors who attempt such conversions.
+Note that some languages make characters active, which can have unexpected effects. For example, Spanish makes ``.'' an active character, which clashes with the default decimal separator when using \texttt{dcolumn}'s \texttt{d\{n.m\}}~\cite{dpc}. The command \texttt{\textbackslash spanishdeactivate\{.\}} stops this behavior. As of August 2024, \texttt{asmeconf} defines a \texttt{dcolumn} type \texttt{,\{n.m\}} that uses a comma (not a period) as the decimal separator.
+%Alternatively, the decimal separator can be changed to a comma by putting \texttt{\textbackslash newcolumntype\{d\}[1]\{D\{,\}\{,\}\{\#1}\}\} in the preamble.
+
+
%%% CONCLUSIONS %%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusion}
diff --git a/Master/texmf-dist/doc/latex/asmejour/README.md b/Master/texmf-dist/doc/latex/asmejour/README.md
index 69fe1e00fc9..612e0b027a6 100644
--- a/Master/texmf-dist/doc/latex/asmejour/README.md
+++ b/Master/texmf-dist/doc/latex/asmejour/README.md
@@ -1,7 +1,7 @@
#asmejour: A template for ASME journal papers#
- Version 1.22 dated 2024/02/06.
+ Version 1.23 dated 2024/07/24.
####Overview####
This class provides a template to format preprints in the style of journal papers published by the American Society of Mechanical Engineers.
@@ -67,6 +67,14 @@
####Change log####
+v1.23 (2024/07/24)
+ - Add class option for single-column formatting, \[singlecolumn\], as sometimes requested for review (thanks Lennart Hultgren)
+ - Change language sample from French to German, to avoid active characters (from Fourier to Pohlhausen)
+ - Reduce size of line number font
+ - Adjust code for \\appendix to better accommodate tagged pdf
+ - Correct bug in babel main language selection
+ - Miscellaneous code clean up and simplification
+
v1.22 (2024/02/06)
- The newtx package has dropped superiors option, so asmejour has dropped the \[superiors\] option and related code.
- Dropped legacy options \[lang, lang-second, lang-third\]
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib b/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib
index 3b715d3d059..08438fd94d9 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib
+++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmejour.bst and asmejour.cls
%%
-%% Revised: 06 February 2024
+%% Revised: 21 July 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -350,9 +350,22 @@
title = {Th\'{e}orie Analytique de la Chaleur},
publisher = {Firmin Didot, P\`{e}re et Fils},
address = {Paris},
- url = {https://archive.org/details/analyticaltheory00fourrich},
+ url = {https://archive.org/details/analyticaltheory00fourrich},
}
+@article{pohlhausen1921,
+ author = {Pohlhausen, E.},
+ title = {Der {W}\"{a}rmeaustausch zwischen festen K\"{o}rpern und {F}l\"{u}ssigkeiten mit kleiner reibung und kleiner {W}\"{a}rmeleitung},
+ journal = {Zeitschrift f\"{u}r {A}ngewandte {M}athematik und {M}echanik},
+ volume = {1},
+ number = {2},
+ pages = {115--121},
+ doi = {10.1002/zamm.19210010205},
+ year = {1921},
+}
+%url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/zamm.19210010205},
+
+
@techreport{reynolds1958,
author = {W. C. Reynolds and W. M. Kays and S. J. Kline},
title = {Heat transfer in the Incompressible Turbulent Boundary Layer. {I}---Constant Wall Temperature},
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
index 6fc96310102..c15cc9f7977 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
+++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex
index 18ae24c0572..7e3f8a29306 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex
+++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex
@@ -3,7 +3,7 @@
%%
%% This file is asmejour-template.tex, a template to format papers in the style of ASME journal papers.
%%
-%% This file is version 1.22 dated 2024/02/06
+%% This file is version 1.23 dated 2024/07/24
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -33,8 +33,10 @@
%%
%% * Option to omit all ASME text fields from the footer [nofoot].
%%
+%% * Option for single column formatting [singlecolumn].
+%%
%% * Options for PDF/A compliance. With pdfTeX, [pdf-a] will produce PDF/A-3u compliance with sRGB OutputIntent.
-%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] can enable levels 1b, 2b, 2u, and 3b.
+%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] will select other levels: 1b, 2b, 2u, and 3b.
%% *
%% * Recently, LaTeX (2021 and later) has integrated support for pdf-a, through the \DocumentMetadata{..}
%% * command. This approach works with both pdfTeX and luaLaTeX. The asmeconf class supports this new feature,
@@ -59,8 +61,8 @@
%% * [hyphenate] allow hyphenation, with pdfTeX only (normally, the typewriter font is not hyphenated)
%%
%% * Options for the babel package to support passages in other languages (such as a translated
-%% * abstract in an appendix), e.g. [french]. The main language will default to English
-%% * unless a different main language is selected, e.g. [main=spanish]. See Appendix C for details.
+%% * abstract in an appendix), e.g. [german]. The main language will default to English
+%% * unless a different main language is selected, e.g. [main=spanish]. See Appendix B for details.
%%
%% For details of the newtx and mathalfa packages, refer to their documentation (available at CTAN: http://ctan.org).
%%
@@ -82,16 +84,16 @@
%% see https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
%% Uncomment the next lines and omit the option [pdf-a], if you are using an up-to-date LaTeX platform
-%\DocumentMetadata{%
-% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
-% pdfversion=1.7,
-% lang=en-US,
-%}
+\DocumentMetadata{%
+ pdfstandard=A-3u,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Class options are described above.
-\documentclass[upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,french,pdf-a]{asmejour}% subscriptcorrection,
+\documentclass[nocopyright,upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,german]{asmejour}% subscriptcorrection,french
%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -121,11 +123,14 @@
% Use title case (upper and lower case letters)
% Note usage below for corresponding author.
-\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\
- Institution or Company Name,\\
- Street address,\\
- City, State, Country\\
- email: xxx@yyy.zzz}
+\SetAuthorBlock{John H.\ Lienhard\CorrespondingAuthor}{%
+ Fellow ASME\\
+ Rohsenow Kendall Heat Transfer Laboratory,\\
+ Department of Mechanical Engineering,\\
+ Massachusetts Institute of Technology,\\
+ Cambridge, MA 02139 USA\\
+ email: lienhard@mit.edu
+}
% To label one or more corresponding authors put "Name\CorrespondingAuthor". No space after "Name".
% An optional argument can be added if email is not in address block as
@@ -133,14 +138,12 @@
% Can also include multiple emails and use the command more than once for multiple corresponding authors,
% "Name\CorrespondingAuthor{write@to.him, write@to.her}"
-\SetAuthorBlock{John H.\ Lienhard V\CorrespondingAuthor}{%
-Fellow ASME\\
-Rohsenow Kendall Heat Transfer Laboratory,\\
-Department of Mechanical Engineering,\\
-Massachusetts Institute of Technology,\\
-Cambridge, MA 02139 USA\\
-email: lienhard@mit.edu
-}
+\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\
+ Institution or Company Name,\\
+ Street address,\\
+ City, State, Country\\
+ email: xxx@yyy.zzz
+}
%%% Change to your paper title. Can insert line breaks if you wish (otherwise breaks are selected automatically).
\title{Preprint Template for ASME\\ Journal Papers: asmejour.cls}
@@ -164,6 +167,7 @@ This paper is an example and {\upshape\LaTeX} template for the {\upshape\texttt{
\maketitle %% This command creates the author/title/abstract block. Essential!
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%% End of fields to be completed. Now write! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -227,7 +231,7 @@ Section, subsection, and subsubsection headings should be in title case (first l
%% captions go below figures
\begin{figure}
-\centering\includegraphics[width=\linewidth]{sample-figure-1.pdf}
+\centering\includegraphics[width=\linewidth,alt={Linearization errors}]{sample-figure-1.pdf}
\caption{Caption with math, eqn.~\eqref{eqn:1}: $\Delta T/T_m$ vs.\ $\Delta T/T_1$~\cite{lienhard2019}\label{fig:1}}
\end{figure}
@@ -466,8 +470,12 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La
\subsection{Typewriter Font Options} This font is the sans-serif, monospaced font \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation of the typewriter font when running \hologo{pdfTeX}.
+\subsection{Single column layout} The option \texttt{[singlecolumn]} switches from two-column to single-column layout.
%%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%%
+%
+% note: the fourth column could be a dcolumn instead of using \makebox, with d{1.4} replacing c column.
+%
\begin{table*}[t]
\caption{A table spanning two columns}\label{tab:4}%
\centering{%
@@ -478,7 +486,8 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La
\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} &
\multicolumn{1}{c}{$x$} &
\multicolumn{1}{c}{$\textrm{erf}(x)$} &
-\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule
+\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\
+\midrule
0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980 \\
0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\
0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\
@@ -554,7 +563,7 @@ Acknowledge individuals, institutions, or companies that supported the authors i
\entry{b}{bulk value}
\entry{$\infty$}{free stream value}
-\end{nomenclature}
+\end{nomenclature}
%%%%%%%%%%%%%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -571,31 +580,30 @@ Acknowledge individuals, institutions, or companies that supported the authors i
This text is just for illustration. The radiation fractional function may be written in terms of the incomplete zeta function for convenience:
\begin{align}
-f(\lambda T) = {}& \frac{1}{\sigma T^4} \int_0^\lambda\frac{2\pi h c_o^2}{\lambda^5 \left[ \exp (h c_o/k_B T \lambda) - 1\right] } \, d\lambda \\
- = {}& \frac{1}{\sigma T^4}\frac{2\pi k_B^4 T^4}{h^3c_o^2}\int^\infty_{c_2/\lambda T}\frac{t^3}{e^t -1}\, dt\label{eqn:zeta}
+f(\lambda T) &= \frac{1}{\sigma T^4} \int_0^\lambda\frac{2\pi h c_o^2}{\lambda^5 \left[ \exp (h c_o/k_B T \lambda) - 1\right] } \, d\lambda \\
+ &= \frac{1}{\sigma T^4}\frac{2\pi k_B^4 T^4}{h^3c_o^2}\int^\infty_{c_2/\lambda T}\frac{t^3}{e^t -1}\, dt\label{eqn:zeta}
\end{align}
When $\lambda T \rightarrow \infty$, $f = 1$ and the last equation yields the well-known result
\begin{equation}
- {\sigma T^4} =\frac{2\pi k_B^4 T^4}{h^3c_o^2} \underbrace{\int_0^\infty \frac{t^3}{e^t - 1} \, dt}_{\equiv\mspace{2mu} \zetaup(4)\Gamma(4)}
+\sigma T^4 =\frac{2\pi k_B^4 T^4}{h^3c_o^2} \underbrace{\int_0^\infty \frac{t^3}{e^t - 1} \, dt}_{\equiv\mspace{2mu} \zetaup(4)\Gamma(4)}
\end{equation}
where the Gamma function $\Gamma(4) = 3!$ and the Riemann zeta function, $\zetaup(4)$, has the indicated integral representation \cite[\S13.12]{ww1927}. A classical result due to Euler \cite{euler1740} gives $\zetaup(4) = \pi^4/90$ (see also \cite[\S167]{euler1748}), from which we recover the usual definition of the Stefan-Boltzmann constant, $\sigma$.
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Language Support}
+\section{Language Support\label{app:language}}
ASME publishes in English, but the \texttt{babel} package is loaded for users who may wish to include other languages.
For example, an author might wish to include an appendix that provides the abstract in another language.
When more than one language option is included in \verb|\documentclass[..]{asmejour}|, English will be
assumed to be the main language of the document. (To choose a different main language, set \texttt{[main=..]}).
-If no language options are given, the package defaults to English. As an example, a passage in French is
-shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}.
+If no language options are given, the package defaults to English. As an example, a passage in German is
+shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{english}.
The standard caption and section names will follow \texttt{babel}'s dictionary for primary languages other than English. Users may additionally change ``Keywords'', ``Nomenclature'', and ``Corresponding author'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, and \verb|\CAwords|. Changes to the page footer were described in Sec.~\ref{sec:footer}. The pdf bookmark for ``Appendices'' by be changed by renewing \verb|\appendicesname|.
The font encoding is set to T1 and utf-8 input is supported:
-%% If you have trouble with the next line (or the French text that follows), your file may not be saved in utf-8 format. You can delete these lines to resolve the issue.
+%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete these lines to resolve the issue.
\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.}
\ifluatex\typeout{Under LuaLaTeX, some of these accents must be obtained as escaped characters, with \=a, \c{e}, \l, \.o, \oe, \v{z}, \'z, etc.}\fi
Ã Ã¡Ã¢Ã¤Ã¦Ã£Ã¥Ä Ã¨Ã©Ä™Ã«ÃªÄ“Ä— îïíīįì ôöòóœøÅõ ûüùúū Ã§Ä‡Ä Å‚ ñń ßśš ÿ žźż
@@ -604,18 +612,13 @@ No effort has been made to support customization of language-specific fonts (som
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\selectlanguage{french}
-\section{Discours Préliminaire de Fourier}\label{app:fourier}
-
-Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
-
-La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+\selectlanguage{german}
+\section{Der Wärmeaustausch zwischen festen Körpern und Flüssigkeiten mit kleiner reibung und kleiner Wärmeleitung (von E. Pohlhausen)\label{app:pohlhausen}}
+In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung
+zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}.
\selectlanguage{english}
-% When you drop the [french] option, delete your .aux file as well, since [french] sets ":" as an active character.
-
-
%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\nocite{*} %% <=== Delete this line - unless you wish to typeset the entire contents of your .bib file.
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
index 5b93ad2cf97..c3b0bc535e1 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
+++ b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
index 69b98af0b29..5a506330aa4 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
+++ b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
@@ -1,6 +1,6 @@
%% Examples of a widetext macro for setting wide equations in the asmejour class.
%%
-%% Copyright (c) 2022 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
+%% Copyright (c) 2024 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
%%
%%
%% USAGE: * \begin{widetext} ...wide material here... \end{widetext}
@@ -15,8 +15,8 @@
\documentclass[nocopyright,nolists,pdf-a]{asmejour}
%% This file's version and date are:
- \def\AJwidetextversion{1.01}
- \def\AJverdate{October 22, 2023}
+ \def\AJwidetextversion{1.02}
+ \def\AJverdate{July 24, 2024}
%
\usepackage{asmewide}
\usepackage{lipsum}% Latin filler text (lipsum generates a message about 'unused global options' - this can be ignored)
@@ -81,6 +81,8 @@ address = {New York},
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
+\PreprintString{PREPRINT}
+
\SetAuthorBlock{John H.\ Lienhard V}{%
Fellow of ASME \\
Rohsenow Kendall Heat Transfer Laboratory, \\
diff --git a/Master/texmf-dist/doc/latex/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty b/Master/texmf-dist/doc/latex/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty
new file mode 100644
index 00000000000..777cedba6ef
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/beamertheme-rainbow/beamertheme-rainbow-doc-settings.sty
@@ -0,0 +1,199 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Personal helper theme for package documentations
+% Copyright samcarter
+%
+% This file may be distributed and/or modified
+% under the LaTeX Project Public License 1.3c or later
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Usage:
+% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty
+% \usepackage[
+% themecolor=samdblue
+% ]{\jobname-settings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Colours
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor}
+\definecolor{samyellow}{RGB}{246,193,65}
+\definecolor{samorange}{RGB}{241,147,45}
+\definecolor{samred}{RGB}{191,26,46}% TikZbricks
+\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots
+\definecolor{samviolet}{RGB}{136,46,114}% TikZlings
+\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme
+\definecolor{samdblue}{RGB}{0,51,134}% beamer theme
+\definecolor{samlblue}{RGB}{22,89,155}% TikZducks
+\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme
+\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw
+\definecolor{samdgreen}{RGB}{78,178,125}
+\definecolor{samlgray}{RGB}{160,160,185}
+\definecolor{samdgray}{RGB}{60,60,85}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval}
+\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}}
+\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}}
+\ExecuteOptionsX{themecolor,listingcolor}
+\ProcessOptionsX
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{beamer}{}{%
+ \RequirePackage[english]{babel}
+ \RequirePackage[paper=a4paper,margin=2.9cm]{geometry}
+ \RequirePackage{scrlayer-scrpage}
+ \let\hrulefillx\hrulefill
+ \RequirePackage[bitstream-charter]{mathdesign}
+ \let\hrulefill\hrulefillx
+ \RequirePackage[hang,flushmargin,bottom]{footmisc}
+ \RequirePackage{footnotehyper}
+ \makesavenoteenv{tcolorbox}
+ \RequirePackage[all]{nowidow}
+ \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref}
+}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{xspace}
+\RequirePackage{inconsolata}% mono font with bold, but italic is missing
+% \RequirePackage[scale=0.85]{cascadia-code}
+% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
+\RequirePackage{iexec}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Listings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage[
+ cachedir=$TMPDIR/minted/
+]{minted}
+
+% smuggling custom pygmentize style in cache folder
+% (a real pygmentise style would need installtion in some python folder)
+\begin{filecontents*}[noheader]{./sam.pygstyle}
+\makeatletter
+\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
+ \let\PYG@ul=\relax \let\PYG@tc=\relax%
+ \let\PYG@bc=\relax \let\PYG@ff=\relax}
+\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
+\def\PYG@toks#1+{\ifx\relax#1\empty\else%
+ \PYG@tok{#1}\expandafter\PYG@toks\fi}
+\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
+ \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
+\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
+
+% optional arguments
+\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}}
+
+% macros
+\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+% curly brakets
+\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+
+% comments (italics won't work with the inconsolata font)
+\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}}
+
+\def\PYGZbs{\char`\\}
+\def\PYGZus{\char`\_}
+\def\PYGZob{\char`\{}
+\def\PYGZcb{\char`\}}
+\def\PYGZca{\char`\^}
+\def\PYGZam{\char`\&}
+\def\PYGZlt{\char`\<}
+\def\PYGZgt{\char`\>}
+\def\PYGZsh{\char`\#}
+\def\PYGZpc{\char`\%}
+\def\PYGZdl{\char`\$}
+\def\PYGZhy{\char`\-}
+\def\PYGZsq{\char`\'}
+\def\PYGZdq{\char`\"}
+\def\PYGZti{\char`\~}
+% for compatibility with earlier versions
+\def\PYGZat{@}
+\def\PYGZlb{[}
+\def\PYGZrb{]}
+\makeatother
+\end{filecontents*}
+
+\iexec{mkdir -p $TMPDIR/minted && mv sam.pygstyle $TMPDIR/minted/.}
+
+\usemintedstyle{sam}
+\setminted{
+ breaksymbolleft={},
+ tabsize=2,
+ breaklines=true,
+}
+\newminted[samcode]{latex}{}
+\newmintinline[saminline]{latex}{}
+
+% use non-bold and all coloured for inline code in articles
+\ifdefined\insertaspectratio\else
+ \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{}
+\fi
+
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\tcbset{%
+ colframe=themecolor,
+ fonttitle=\bfseries,
+ sidebyside,
+ center lower,
+ righthand width=5.7cm,
+ bottom=2pt,
+ top=2pt,
+ left=3pt,
+ right=3pt,
+ sidebyside gap=10pt,
+ lower separated=false,
+ listing engine=minted,
+ minted language=latex,
+ colback=themecolor!10,
+ sharp corners,
+ boxrule=0pt,
+ before title={\strut}
+}
+
+% avoid page breaks right in front of the tcolorbox
+\@ifclassloaded{beamer}{}{
+ \tcbuselibrary{hooks}
+ \tcbset{before pre={\nopagebreak[4]}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% document settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+ \KOMAoptions{parskip=half}
+ \addtokomafont{sectioning}{\color{themecolor}}
+ \addtokomafont{date}{\normalsize}
+ \addtokomafont{author}{\normalsize}
+ \setlength{\footnotemargin}{0.7em}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Custom macros
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\CTAN}{\textsc{CTAN}\xspace}
+\providecommand*{\TikZ}{Ti\emph{k}Z\xspace}
+\providecommand*{\miktex}{MiK\TeX\xspace}
+\providecommand*{\texlive}{\TeX{}Live\xspace}
+\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace}
+\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
+\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/bib2qr/README.md b/Master/texmf-dist/doc/latex/bib2qr/README.md
new file mode 100644
index 00000000000..9f7bb900a11
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bib2qr/README.md
@@ -0,0 +1,88 @@
+# bib2qr
+
+[![License](https://img.shields.io/ctan/l/bib2qr?color=blue)](https://www.latex-project.org/lppl/lppl-1-3c.txt)
+[![Latest release](https://img.shields.io/gitea/v/release/Cs137/bib2qr?gitea_url=https%3A%2F%2Fcodeberg.org%2F)](https://codeberg.org/Cs137/bib2qr/releases/latest)
+[![CTAN](https://img.shields.io/ctan/v/bib2qr.svg)](https://ctan.org/pkg/bib2qr)
+
+A LaTeX package for citing BibTeX entries with QR codes.
+
+The `bib2qr` package provides functionality to cite BibTeX entries with QR codes
+for easy sharing and referencing. The target of the QR code is the entry's DOI,
+or URL if no DOI exists. A citation generated via `\qrfullcite`, which is part
+of `bib2qr`, might look as follows:
+
+[![Example output generated with `\qrfullcite`](https://codeberg.org/Cs137/bib2qr/media/branch/main/example/qrfullcite_example.png "Example output generated with qrfullcite")](https://codeberg.org/Cs137/bib2qr/media/branch/main/example/qrfullcite_example.png)
+
+
+## Installation
+
+Skip this section, if `bib2qr` is already provided in your TeX distribution.
+You should be able to install it [from the CTAN](https://www.ctan.org/pkg/bib2qr)
+via your distribution's utility (e.g. the TeX Live Utility).
+
+### Manual installation
+
+You can get the package's source code from the
+[project repository on Codeberg](https://codeberg.org/Cs137/bib2qr).
+The repository contains a build script, which allows you to build the required
+files for the `bib2qr` package and copy them into your _TeX Directory Structure_
+(TDS) using `l3build`. Ensure that `l3build` is installed on your system and run
+it from the repository's root directory as follows:
+
+```bash
+l3build install --full
+```
+
+The `--full` option ensures that all necessary files are built and installed.
+
+If you do not want to install the package into your TDS, but use it in a
+particular LaTeX project, follow the steps listed below.
+
+1. unpack `bib2qr.sty` from the `bib2qr.dtx` file
+ - using `l3build` and the `build.lua` script: `l3build unpack`, __or__
+ - directly via the installer file: `pdflatex bib2qr.ins`
+2. copy the extracted `bib2qr.sty` file into the same directory as your LaTeX sources.
+
+
+## Usage
+
+Please consult the [package documentation](http://mirrors.ctan.org/macros/latex/contrib/bib2qr/bib2qr.pdf)
+for detailed usage information.
+
+If you have any questions or need assistance, feel free to
+[open an issue on the repository](https://codeberg.org/Cs137/bib2qr/issues).
+
+
+## Changes
+
+All notable changes to this project are documented in the file
+[`CHANGELOG.md`](https://codeberg.org/Cs137/bib2qr/src/branch/main/CHANGELOG.md).
+
+
+## Contributing
+
+Contributions to the `bib2qr` package are very welcomed. Feel free to submit a
+pull request, if you would like to contribute to the project. In case you are
+unfamiliar with the process, consult the
+[forgejo documentation](https://forgejo.org/docs/latest/user/pull-requests-and-git-flow/)
+and follow the steps using this repository instead of the `example` repository.
+
+Create your [pull request (PR)](https://codeberg.org/Cs137/bib2qr/pulls) to
+inform that you start working on a contribution. Provide a clear description
+of your envisaged changes and the motivation behind them, prefix the PR's title
+with ``WIP: `` until your changes are finalised.
+
+All kind of contributions are appreciated, whether they are
+bug fixes, new features, or improvements to the documentation.
+
+
+### Contributors
+
+- [Christian Schreinemachers](https://codeberg.org/Cs137)
+- [Markus Kohm](https://codeberg.org/komascript)
+
+
+---
+
+This package was created and is maintained by Christian Schreinemachers, (C) 2024.
+
diff --git a/Master/texmf-dist/doc/latex/bib2qr/bib2qr.pdf b/Master/texmf-dist/doc/latex/bib2qr/bib2qr.pdf
new file mode 100644
index 00000000000..fb3800eadf9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bib2qr/bib2qr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib
index 3f6af13bdd8..6f0f9b5281c 100644
--- a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib
+++ b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.bib
@@ -71,20 +71,20 @@
issue = {25},
pages = {254504},
year = {2008},
- month = {Jun},
+ month = jun,
publisher = {American Physical Society},
doi = {10.1103/PhysRevLett.100.254504},
}
@Book{Augustine1995,
hyphenation = {american},
- author = {Augustine, Robert L.},
+ author = {Augustine, Robert L.},
title = {Heterogeneous Catalysis for the Synthetic
Chemist},
shorttitle = {Heterogeneous catalysis},
publisher = {Marcel Dekker},
location = {New York},
- date = {1995},
+ date = {1995},
}
@Article{Booth1962,
diff --git a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdf b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdf
index 16758e75a70..e7e9e05d584 100644
--- a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdf
+++ b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex
index 89550aed256..7224b722afc 100644
--- a/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-phys/biblatex-phys.tex
@@ -2,7 +2,7 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -21,12 +21,12 @@
\addbibresource{biblatex-phys.bib}
\author{Joseph Wright\thanks{E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}}}
+ \href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}}}
\title{\pkg{biblatex-phys} -- A \pkg{biblatex} implementation of the
\textsc{aip} and \textsc{aps} bibliography style%
- \footnote{This file describes v1.1b, last revised 2019/12/03.}}
-\date{Released 2019/12/03}
+ \footnote{This file describes v1.1c, last revised 2024/07/26.}}
+\date{Released 2024/07/26}
\providecommand*{\opt}[1]{\texttt{#1}}
\providecommand*{\pkg}[1]{\textsf{#1}}
@@ -49,12 +49,12 @@ in the usual way
\end{verbatim}
Load-time options are provided to deal with the small number of variations
between the \textsc{aip} and \textsc{aps} styles.
-The References section of this document demonstrates the format
+The References section of this document demonstrates the format
generated by the package using the \texttt{biblatex-phys.bib} database
of example citations.
The styles use the standard \pkg{biblatex} database requirements. This means
-that a database designed for traditional \pkg{biblatex} use may need some
+that a database designed for traditional \BibTeX{} use may need some
editing for optimal output. The accompanying example database
\texttt{biblatex-phys.bib} shows examples of all of the supported entry types
with common fields filled in.
@@ -69,13 +69,13 @@ seen between the \textsc{aip} and \textsc{aps} styles.
\DescribeOption{eprint}
\DescribeOption{isbn}
\DescribeOption{url}
-The standard style options \opt{doi}, \opt{eprint} \opt{isbn} and
-\opt{eprint}, as described in the \pkg{biblatex} manual. However, these
+The standard style options \opt{doi}, \opt{eprint}, \opt{isbn} and
+\opt{url}, as described in the \pkg{biblatex} manual. However, these
options are turned off as standard by the \pkg{phys} style. This reflects the
fact that these entries may be present in reference databases but are not
generally included in published bibliographies. Note that \textsc{doi} values
-are printed for journal articles with no pages given, even if the \opt{doi}
-option is \opt{false}.
+are printed for journal articles with no pages or eid given, even if the
+\opt{doi} option is \opt{false}.
\DescribeOption{subentry}
In common with the standard \pkg{biblatex} numeric styles, all of the styles
@@ -93,7 +93,7 @@ patents, which are treated in the same way.)
\DescribeOption{biblabel}
The format of the numbers used in the bibliography (the \enquote{bibliography
-label}) varies. he \opt{biblabel} option allows the user to easily set the
+label}) varies. The \opt{biblabel} option allows the user to easily set the
format used. This option takes a values \opt{superscript} (the standard
setting) and \opt{brackets}.
@@ -146,7 +146,7 @@ command may be used to alter this, either for the whole document or only
for the bibliography, for example by using
\begin{verbatim}
\AtBeginBibliography{%
- \urlstyle{rm}%
+ \urlstyle{same}%
}
\end{verbatim}
@@ -164,8 +164,8 @@ Suggestions for improvement and bug reports can be logged in the package issue
database, found at
\url{https://github.com/josephwright/biblatex-phys/issues}, or can
be sent by e-mail to
-\href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}.
+\href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}.
\nocite{*}
@@ -208,8 +208,8 @@ be sent by e-mail to
\end{document}
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018-2020,2022,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/README b/Master/texmf-dist/doc/latex/biblatex-publist/README
index aed0f347740..f452a57a9f0 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/README
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/README
@@ -46,6 +46,11 @@ instructions.
== CHANGES ==
+* V. 2.12 (2024-07-16):
+ - Externalize localization to *.lbx files.
+ - Add \citeitemrange and \citesecitemrange commands.
+ - Fix error with section count on first run.
+
* V. 2.11 (2024-07-02):
- Add \citesecitem and \citesecitem* commands.
- Support multiple sections in \GetSectionCount.
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
index ecc06e956e3..1d58e50fd55 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
index 5e07d272c03..a140ad01331 100644
--- a/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-publist/biblatex-publist.tex
@@ -115,7 +115,7 @@
\thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
}
-\date{Version 2.11, 2024/07/02}
+\date{Version 2.12, 2024/07/16}
\maketitle
\begin{abstract}
@@ -411,9 +411,20 @@ since otherwise they would be too ambiguous. However, for locally numbered lists
By default, the form of this addition is ``(sec.~<no.>)'', with ``sec.'' being localized (see sec.~\ref{sec:auxmacros}
on how to customize this).
+All these commands have counterparts which can be used to refer to a range of entries:
+\begin{itemize}
+ \setlength\itemsep{0pt}
+ \item \jcsmacro*{citeitemrange}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+ \item \jcsmacro*{citesecitemrange}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+ \item \jcsmacro*{citesecitemrange*}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+\end{itemize}
+%
+The range will by default be indicated by an en-dash ([12]--[17]), you can change this by redefining the
+macro \jcsmacro*{itemrangesep}.
+
Note that due to the design of refsections, no hyperlinks can be generated for the item number with \jcsmacro{citesecitem}
-and the \textsf{hyperref} package being loaded (the section reference of the starred command, however, is hyperlinked in
-this case).
+(or its starred and range counterparts) and the \textsf{hyperref} package being loaded; the section reference of the starred
+commands, however, is hyperlinked in this case.
If you need hyperlinked item references, consider refsegments rather than refsections and the \jcsmacro{citeitem} command
(although this will have other drawbacks).
@@ -763,31 +774,52 @@ are printed, so you might get redundant output. To control (e.\,g., omit) them,
\section{Localization}\label{sec:localization}
Since the package draws on \bibltx, it supports localization.
-The following additional localization keys (\jfcsmacro{bibstrings})
-are added by the package:
+The following additional localization keys (\texttt{bibstrings})
+are added by the package, in verbose and abbreviated form (depending
+on your setting of the \bibltx\ option \joption{abbreviate}):
+
\begin{description}
\setlength{\itemsep}{0pt}
-\item[impactfactor] the expression \enquote{impact factor}.
-\item[openaccess:true] the expression \enquote{OpenAccess}.
-\item[openaccess:gold] the phrase \enquote{OpenAccess (gold)}.
-\item[{openaccess:green}] the phrase \enquote{OpenAccess (green)}.
-\item[{parttranslationof}] the phrase \enquote{partial translation of}
+\item[impactfactor] the expression \enquote{impact factor} (short form: \enquote{JIF}).
+\item[openaccess:true] the expression \enquote{OpenAccess} (short form: \enquote{OA}).
+\item[openaccess:gold] the phrase \enquote{OpenAccess (gold)} (short form: \enquote{OA (gold)}).
+\item[{openaccess:green}] the phrase \enquote{OpenAccess (green)} (short form: \enquote{OA (green)}).
+\item[{parttranslationof}] the phrase \enquote{partial translation of} (short form: \enquote{part.\ trans.\ of})
for entries referring to partially translated work via \bibltx's
\enquote*{related entries} feature (see sec.~\ref{sec:partial-translations}).
-\item[{peerreview:sb}] the phrase \enquote{single blind peer review}.
-\item[{peerreview:db}] the phrase \enquote{double blind peer review}.
-\item[{peerreview:op}] the phrase \enquote{open peer review}.
-\item[{peerreview:co}] the phrase \enquote{collaborative peer review}.
-\item[{peerreview:cc}] the phrase \enquote{cascading peer review}.
-\item[{peerreview:tp}] the phrase \enquote{third-party peer review}.
-\item[{peerreview:pp}] the phrase \enquote{post-publication peer review}.
-\item[{peerreview:no}] the phrase \enquote{no peer review}.
+\item[{peerreview:sb}] the phrase \enquote{single blind peer review} (short form: \enquote{single blind peer rev.}).
+\item[{peerreview:db}] the phrase \enquote{double blind peer review} (short form: \enquote{double blind peer rev.}).
+\item[{peerreview:op}] the phrase \enquote{open peer review} (short form: \enquote{open peer rev}).
+\item[{peerreview:co}] the phrase \enquote{collaborative peer review} (short form: \enquote{collab.\ peer rev.}).
+\item[{peerreview:cc}] the phrase \enquote{cascading peer review} (short form: \enquote{casc.\ peer rev.}).
+\item[{peerreview:tp}] the phrase \enquote{third-party peer review} (short form: \enquote{3rd-party peer rev.}).
+\item[{peerreview:pp}] the phrase \enquote{post-publication peer review} (short form: \enquote{post-pub.\ peer rev.}).
+\item[{peerreview:no}] the phrase \enquote{no peer review} (short form: \enquote{no peer rev.}).
\item[{with}] the preposition \enquote{with} that precedes the list of
- co-authors by default (i.\,e., with \joption{plauthorhandling=omit}).
+ co-authors by default (i.\,e., with \joption{plauthorhandling=omit}) (short and verbose forms identical).
\end{description}
-Currently, these additional localization keys are available in the following
-languages: English, French and German.%
-\footnote{Please send suggestions for other languages to the package author.}
+%
+Localization is provided in dedicated language definition files which follow
+the naming scheme, \texttt{<language>-publist.lbx}.
+The package currently ships such files for the following languages and their varieties:
+
+\begin{flushleft}
+\begin{itemize}
+\setlength{\itemsep}{0pt}
+ \item English (\texttt{american}, \texttt{australian}, \texttt{british},
+ \texttt{canadian}, \texttt{english}, \texttt{newzealand},
+ \texttt{UKenglish}, \texttt{USenglish})
+ \item French (\texttt{french})
+ \item German (\texttt{austrian}, \texttt{german}, \texttt{naustrian}, \texttt{ngerman},
+ \texttt{nswissgerman}, \texttt{swissgerman})
+\end{itemize}
+\end{flushleft}
+%
+If you want to add support for other languages, you can simply copy one of the existing
+lbx files, name it \texttt{<yourlanguage>-publist.lbx} and adapt the localization keys.
+
+If you are confident enough, please send me your file so I can consider adding it to
+the package.
\section{Further Extensions}
@@ -1027,9 +1059,18 @@ until further change).
\section{Revision Log}
\begin{description}
+ \item [{V. 2.12 (2024/07/16):}]~
+ \begin{itemize}
+ \item Externalize localization to \texttt{*.lbx} files.
+ \item Add \jcsmacro{citeitemrange} and \jcsmacro{citesecitemrange} commands
+ (see sec.~\ref{sec:citeitems}).
+ \item Fix error with section count on first run.
+ \end{itemize}
+
\item [{V. 2.11 (2024/07/02):}]~
\begin{itemize}
- \item Add \jcsmacro{citesecitem} and \jcsmacro{citesecitem*} commands (see sec.~\ref{sec:citeitems}).
+ \item Add \jcsmacro{citesecitem} and \jcsmacro{citesecitem*} commands
+ (see sec.~\ref{sec:citeitems}).
\item Support multiple sections in \jcsmacro{GetSectionCount}.
\end{itemize}
diff --git a/Master/texmf-dist/doc/latex/bxjatoucs/LICENSE b/Master/texmf-dist/doc/latex/bxjatoucs/LICENSE
index 534324b7566..aff6b30c936 100644
--- a/Master/texmf-dist/doc/latex/bxjatoucs/LICENSE
+++ b/Master/texmf-dist/doc/latex/bxjatoucs/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2019 Takayuki YATO (aka. "ZR")
+Copyright (c) 2019-2024 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Master/texmf-dist/doc/latex/bxjatoucs/README.md b/Master/texmf-dist/doc/latex/bxjatoucs/README.md
index 6e2c9bb7bc9..cc3dd0a7a5b 100644
--- a/Master/texmf-dist/doc/latex/bxjatoucs/README.md
+++ b/Master/texmf-dist/doc/latex/bxjatoucs/README.md
@@ -69,6 +69,16 @@ Additional variants:
the argument is assumed to be a valid decimal string.
- `\bxjaFastCidToUcsHex{<value>}`: same for `\bxjaCidToUcsHex`.
+### Conversions from Unicode
+
+Starting from v0.3, macros for some conversions *from* Unicode (rather
+than conversions *to* Unicode) are available. The rule of input/output
+is the same as the existing macros.
+
+ - `\bxjaUcsToJis{<value>}`: converts to a jis scalar value.
+ - `\bxjaUcsToEuc{<value>}`: converts to an euc scalar value.
+ - `\bxjaUcsToSjis{<value>}`: converts to a sjis scalar value.
+
## Example
The following `\message` lines all display `23551:21496`.
@@ -89,6 +99,10 @@ The following `\message` lines all display `5BFF:53F8`.
Revision History
----------------
+ * Version 0.3a ‹2024/07/22›
+ - Renamed TFM 'bxjatoucs-fromjis' to 'bxjatoucs-tojis'.
+ * Version 0.3 ‹2024/07/20›
+ - Added “Unicode to JISâ€type conversions.
* Version 0.2 ‹2019/10/20›
- The first public version.
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
index 1b91f19f951..4d7450a19ce 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
@@ -111,6 +111,9 @@ XeLaTeX / LuaLaTeX ã®ä¸Šã§ã‚‚日本語処ç†ãƒ‘ッケージã¨é€£æºã—ã¦ä½¿ç
更新履歴
--------
+ * Version 2.9c 〈2024/07/19〉
+ - bm パッケージã¨ã®ä½µç”¨ã§èµ·ã“ã‚‹ä¸å…·åˆã‚’ã»ã¼è§£æ¶ˆã—ãŸã€‚
+ - hyperref 使用時ã®ä¸å…·åˆã‚’修正ã—ãŸã€‚
* Version 2.9b 〈2024/01/22〉
- bm パッケージã¨ã®ä½µç”¨ã§èµ·ã“ã‚‹ä¸å…·åˆã‚’回é¿ã—ãŸã€‚
* Version 2.9a 〈2023/08/02〉
diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md
index b42534e38c2..1f10ac7ff7f 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/README.md
+++ b/Master/texmf-dist/doc/latex/bxjscls/README.md
@@ -102,6 +102,7 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 2.9c 〈2024/07/19〉
* Version 2.9b 〈2024/01/22〉
* Version 2.9a 〈2023/08/02〉
* Version 2.9 〈2023/07/17〉
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
index 29812903d4b..d1b16869b4a 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
index aee9ffd06b6..2d69227170e 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
@@ -12,8 +12,8 @@
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{2.9b}
-\newcommand{\PkgDate}{2024/01/22}
+\newcommand{\PkgVersion}{2.9c}
+\newcommand{\PkgDate}{2024/07/19}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
index 81899778a29..6b940a52c3e 100644
--- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
+++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bxpdfver/LICENSE b/Master/texmf-dist/doc/latex/bxpdfver/LICENSE
index b6b8b923303..f6ebffefcab 100644
--- a/Master/texmf-dist/doc/latex/bxpdfver/LICENSE
+++ b/Master/texmf-dist/doc/latex/bxpdfver/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2014-2022 Takayuki YATO (aka. "ZR")
+Copyright (c) 2014-2024 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md b/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md
index 0f0955d3782..ea1a7e4ee11 100644
--- a/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md
+++ b/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md
@@ -43,16 +43,20 @@ bxpdfver パッケージ
* `objcompress`(既定): オブジェクトストリームã®ä½¿ç”¨ã‚’抑止ã—ãªã„。
* ドライãƒã‚ªãƒ—ション: 以下ã®é€šã‚Šã€‚ãªãŠã€å¾Œè¿°ã®ã€Œãƒ‰ãƒ©ã‚¤ãƒæŒ‡å®šã€ã®
節もå‚ç…§ã•ã‚ŒãŸã„。
- + PDF 出力ã®ã‚¨ãƒ³ã‚¸ãƒ³ã®å ´åˆã¯ã€æ—¢å®šã§é©åˆ‡ãªãƒ‰ãƒ©ã‚¤ãƒãŒé¸æŠžã•ã‚Œã‚‹
+ + LaTeX ã®æ–° PDF マãƒã‚¸ãƒ¡ãƒ³ãƒˆãŒæœ‰åŠ¹åŒ–ã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€è‡ªå‹•çš„ã«
+ “latex-pdfâ€ãƒ¢ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ã‚る。ドライãƒã‚ªãƒ—ションã¯ä¸è¦ã§ã‚る。
+ + PDF 出力ã®ã‚¨ãƒ³ã‚¸ãƒ³ã®å ´åˆã¯ã€è‡ªå‹•çš„ã«é©åˆ‡ãªãƒ‰ãƒ©ã‚¤ãƒãŒé¸æŠžã•ã‚Œã‚‹
ã®ã§ãƒ‰ãƒ©ã‚¤ãƒã‚ªãƒ—ションã¯ä¸è¦ã§ã‚る。
+ `dvipdfmx`: dvipdfmx 用ã®ãƒ‰ãƒ©ã‚¤ãƒã‚’指定ã™ã‚‹ã€‚
+ `nodvidriver`ï¼`disabled`: å…¨ã¦ã®æ©Ÿèƒ½ã‚’無効化ã™ã‚‹ã€‚
※ã“ã®å ´åˆ `lenient+` ãŒæ—¢å®šã«ãªã‚‹ã€‚
+ + `ignorepdfmanagement`: “latex-pdfâ€ãƒ¢ãƒ¼ãƒ‰ã¸ã®åˆ‡æ›¿ã‚’抑止ã™ã‚‹ã€‚
* `lenient`: サãƒãƒ¼ãƒˆã—ãªã„機能ã«å¯¾ã™ã‚‹ã‚¨ãƒ©ãƒ¼ã‚’警告ã«æ ¼ä¸‹ã’ã™ã‚‹ã€‚
* `lenient+`: サãƒãƒ¼ãƒˆã—ãªã„機能ã«å¯¾ã™ã‚‹ã‚¨ãƒ©ãƒ¼ã‚’完全ã«æŠ‘æ­¢ã™ã‚‹ã€‚
* `nolenient`(既定): `lenient(+)` ã®å¦å®šã€‚
* `new-dvipdfmx`: dvipdfmx ã«å¯¾ã™ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³æ¤œæŸ»ã‚’çœç•¥ã—ã€å¸¸ã«æœ€æ–°ã®
- ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã‚ã‚‹ã¨ä»®å®šã™ã‚‹ã€‚
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã‚ã‚‹ã¨ä»®å®šã™ã‚‹ã€‚
+ ※ドライãƒã‚ªãƒ—ション㌠`dvipdfmx` ã«å¤‰æ›´ã•ã‚Œã‚‹ã€‚
`compress`ã€`objcompress` ã¯ã“ã®ãƒ‘ッケージã«ã‚ˆã‚‹æŠ‘止を行ã‚ãªã„ã¨ã„ã†æ„味
ã§ã‚ã‚Šã€æ—¢ã«æŠ‘æ­¢ã•ã‚Œã¦ã„ã‚‹å ´åˆã«ãれをå†ã³æœ‰åŠ¹åŒ–ã™ã‚‹ã‚‚ã®ã§ã¯ãªã„。
@@ -72,41 +76,61 @@ bxpdfver パッケージ
* `\preservepdfdestinations`: PDF 目的地(PDF destination)ã®åå‰ã®
短縮を抑止ã—ã€TeX 文書ã§æŒ‡å®šã•ã‚ŒãŸåå‰ã‚’用ã„る。異ãªã‚‹ PDF 文書間ã§
ã®ãƒªãƒ³ã‚¯ã‚’正常ã«æ©Ÿèƒ½ã•ã›ã‚‹ãŸã‚ã«å¿…è¦ã§ã‚る。
+ * `\setpdfpkresolution{<解åƒåº¦>}`: PDF ã«åŸ‹ã‚è¾¼ã¾ã‚Œã‚‹ PK フォントã®
+ 解åƒåº¦ï¼ˆdpi 値)を指定ã™ã‚‹ã€‚
### ドライãƒæŒ‡å®šã«é–¢ã™ã‚‹è£œè¶³
\ Drivers (engines) pdfTeX dvipdfmx
- Features / LuaTeX / XeTeX others
- --------------------------- --------- --------- ------
- \setpdfversion Yes Yes No
- \suppresspdfcompression Yes Maybe(*2) No
- \suppresspdfobjcompression Yes Maybe(*2) No
+ Features / LuaTeX / XeTeX latex-pdf
+ --------------------------- --------- --------- ---------
+ \setpdfversion Yes Yes Yes
+ \suppresspdfcompression Yes Maybe(*2) Yes(*4)
+ \suppresspdfobjcompression Yes Maybe(*2) Yes(*4)
\setpdfdecimaldigits Yes Maybe(*2) No
\preservepdfdestinations No-op(*1) Maybe(*2) No
+ \setpdfpkresolution Yes Maybe(*3) No
1. pdfTeXï¼LuaTeX ã§ã¯ PDF 目的地ã®åå‰ãŒçŸ­ç¸®ã•ã‚Œã‚‹ã‚‹ã“ã¨ã¯ãªã„。ã¤ã¾ã‚Š
`\preservepdfdestinations` ã¯å¸¸ã«æœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ã¨è¦‹ãªã›ã‚‹ã€‚
- 2. ã“れらã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹ãŸã‚ã«ã¯ã€(x)dvipdfmx ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ 20160307
- 以上ã§ã‚ã‚‹å¿…è¦ãŒã‚る。
- - ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã®ãŸã‚ã« kpsewhich 㨠extractbb ã®èµ·å‹•ã‚’利用ã™ã‚‹
- ãŸã‚ã€å°‘ãªãã¨ã‚‚ã“れらã®ãƒ—ログラムã«ã¤ã„ã¦ã€ã‚·ã‚§ãƒ«ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ãŒ
- 許å¯ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚る。
- - dvipdfmx ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã¯è£œåŠ©ãƒ•ã‚¡ã‚¤ãƒ«ï¼ˆ.aux)中ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥
- ã•ã‚Œã‚‹ã€‚ã“ã®ãŸã‚ã€ä½•ã‹çŠ¶æ³ãŒå¤‰ã‚ã£ãŸå ´åˆã¯ã€ä¸€æ—¦è£œåŠ©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’
- 削除ã™ã‚‹å¿…è¦ãŒç”Ÿã˜ã‚‹ã€‚
+ 2. (x)dvipdfmx ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ 20160307 以上ã§ã‚ã‚‹å¿…è¦ãŒã‚る。
+ 3. (x)dvipdfmx ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ 20211016 以上ã§ã‚ã‚‹å¿…è¦ãŒã‚る。
+ 4. `\suppresspdfcompression` 㨠`\suppresspdfobjcompression` ã«ã¤ã„ã¦ã¯
+ 一方を実行ã™ã‚‹ã¨ä»–方も自動的ã«æœ‰åŠ¹ã«ãªã‚‹ã€‚l3pdf モジュールã§ç‰‡æ–¹ã®ã¿
+ を有効化ã™ã‚‹ã“ã¨ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œãªã„ã‹ã‚‰ã§ã‚る。
+
+dvipdfmx ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã«ã¤ã„ã¦ï¼š
+
+ - å¿…è¦ãŒç”Ÿã˜ãŸå ´åˆã«ã®ã¿ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šãŒå®Ÿè¡Œã•ã‚Œã‚‹ã€‚
+ - `new-dvipdfmx` オプションを指定ã—ãŸå ´åˆã¯ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã‚’å…¨ã¦
+ çœç•¥ã—ãŸä¸Šã§ã€æœ€æ–°ã® dvipdfmx を使用ã—ã¦ã„ã‚‹ã¨è¦‹ãªã™ã€‚
+ - ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã®ãŸã‚ã« kpsewhich 㨠extractbb ã®èµ·å‹•ã‚’利用ã™ã‚‹ãŸã‚ã€
+ å°‘ãªãã¨ã‚‚ã“れらã®ãƒ—ログラムã«ã¤ã„ã¦ã€ã‚·ã‚§ãƒ«å®Ÿè¡ŒãŒè¨±å¯ã•ã‚Œã¦ã„ã‚‹
+ å¿…è¦ãŒã‚る。
+ - ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã¯å°‘ã—時間ãŒã‹ã‹ã‚‹ãŸã‚ã€dvipdfmx ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã¯
+ 補助ファイル(.aux)中ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã‚‹ã€‚ã“ã®ãŸã‚ã€ä½•ã‹çŠ¶æ³ãŒå¤‰åŒ–
+ ã—ãŸå ´åˆã¯ã€ä¸€æ—¦è£œåŠ©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã™ã‚‹å¿…è¦ãŒç”Ÿã˜ã‚‹ã€‚
以下ã®ã“ã¨ã«ã‚‚注æ„ã•ã‚ŒãŸã„。
- * 使用ä¸å¯èƒ½ãªæ©Ÿèƒ½ã‚’使ãŠã†ã¨è©¦ã¿ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã€‚
+ * 使用ä¸å¯èƒ½ãªæ©Ÿèƒ½ã‚’使ãŠã†ã¨è©¦ã¿ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã€‚
+ ※`lenient` オプションãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã‚¨ãƒ©ãƒ¼ãŒè­¦å‘Šã«å¤‰æ›´ã•ã‚Œã€
+ ã¾ãŸ `lenient+` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã‚¨ãƒ©ãƒ¼ã‚‚警告も抑止ã•ã‚Œã‚‹ã€‚
* `dvips` ç­‰ã®â€œå…¨ã対応ã—ã¦ã„ãªã„â€è‹¥å¹²ã®ãƒ‰ãƒ©ã‚¤ãƒã‚ªãƒ—ションをèªè­˜
ã™ã‚‹ã€‚ã“ã®å ´åˆã€å…¨ã¦ã®æ©Ÿèƒ½ã®å‘¼å‡ºã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã€‚
- * `nodvidriver` ã¯ç‰¹æ®Šã§ã€ã“れを指定ã—ãŸå ´åˆã¯ã€ã©ã®æ©Ÿèƒ½ã®å‘¼å‡ºã§ã‚‚
- エラーã¯ç™ºç”Ÿã—ãªã„ãŒã€å…¨ã何ã®å‹•ä½œã‚‚è¡Œã‚ãªã„。
+ * `nodvidriver` オプションã¯æ—¢å®šã§ `lenient+` を指定ã™ã‚‹ã€‚ã¤ã¾ã‚Šã€
+ ã©ã®æ©Ÿèƒ½ã®å‘¼å‡ºã§ã‚‚エラーã¯ç™ºç”Ÿã—ãªã„ãŒã€å…¨ã何ã®å‹•ä½œã‚‚è¡Œã‚ãªã„。
更新履歴
--------
+ * Version 0.8 ‹2024/08/03›
+ - カーãƒãƒ«ã®æ–° PDF マãƒã‚¸ãƒ¡ãƒ³ãƒˆãŒæœ‰åŠ¹ãªå ´åˆã«ã‚‚一部ã®æ©Ÿèƒ½ãŒä½¿ãˆã‚‹
+ よã†ã«ã™ã‚‹ï¼ˆâ€œlatex-pdfâ€ãƒ¢ãƒ¼ãƒ‰ï¼‰ã€‚
+ * Version 0.7 ‹2024/07/24›
+ - `\setpdfpkresolution` を(正å¼ã«ï¼‰ã‚µãƒãƒ¼ãƒˆã€‚(dvipdfmx/XeTeX
+ ã§ã‚‚使用å¯èƒ½ã«ãªã£ãŸã€‚)
* Version 0.6 ‹2022/04/28›
- `lenient+`/`nolenient` オプションを追加。
- éžã‚µãƒãƒ¼ãƒˆã®ãƒ‰ãƒ©ã‚¤ãƒã§ã‚‚読込自体ã¯ã‚¨ãƒ©ãƒ¼ã«ã—ãªã„。
diff --git a/Master/texmf-dist/doc/latex/bxpdfver/README.md b/Master/texmf-dist/doc/latex/bxpdfver/README.md
index 332b6215f17..1b78b5da1cf 100644
--- a/Master/texmf-dist/doc/latex/bxpdfver/README.md
+++ b/Master/texmf-dist/doc/latex/bxpdfver/README.md
@@ -44,11 +44,16 @@ The available options are:
* `noobjcompress`: Suppresses use of object streams.
* `objcompress` (default): Does not suppress use of object streams.
* Driver options: As below:
+ + When the new PDF management of LaTeX is activated, the package
+ will automatically switch to “latex-pdf†mode. You need not
+ give driver options.
+ When using a PDF-output engine, you need not give driver options
since the appropriate one is auto-detected.
+ `dvipdfmx`: Uses dvipdfmx driver.
+ `nodvidriver`/`disabled`: Disables all functions of the package.
NB. This option sets `lenient+` by default.
+ * `ignorepdfmanagement`: Avoids switching to “latex-pdf†mode, even
+ when the new PDF management of LaTeX is activated.
* `lenient`: Turns the errors for unsupported features into warnings.
* `lenient+`: Suppreseses the errors for unsupported features.
* `nolenient`: Negation of `lenient(+)`.
@@ -72,40 +77,61 @@ when it is already suppressed by other means.
* `\preservepdfdestinations`: Stops shortening the PDF destination
names and uses the original names given in the LaTeX documents. This
is necessary for cross-document links to work correctly.
+ * `\setpdfpkresolution{<resolution>}`: Sets the resolution (in dpi)
+ of the PK fonts embedded in the PDF file.
### NOTE ON DRIVERS
\ Drivers (engines) pdfTeX dvipdfmx
- Features / LuaTeX / XeTeX others
- --------------------------- --------- --------- ------
- \setpdfversion Yes Yes No
- \suppresspdfcompression Yes Maybe(*2) No
- \suppresspdfobjcompression Yes Maybe(*2) No
+ Features / LuaTeX / XeTeX latex-pdf
+ --------------------------- --------- --------- ---------
+ \setpdfversion Yes Yes Yes
+ \suppresspdfcompression Yes Maybe(*2) Yes(*4)
+ \suppresspdfobjcompression Yes Maybe(*2) Yes(*4)
\setpdfdecimaldigits Yes Maybe(*2) No
\preservepdfdestinations No-op(*1) Maybe(*2) No
+ \setpdfpkresolution Yes Maybe(*3) No
1. In pdfTeX and LuaTeX, PDF destination names are never shortened;
that is, it can be thought as if `\preservepdfdestinations` were
always in effect.
2. These features are available only when the version of (x)dvipdfmx
- is 20160307 or later. Also shell escape must be accepted (with or
- without restriction) so that `kpsewhich` and `extractbb` will be
- allowed to run, because those programs are used in order to detect
- the dvipdfmx version.
+ is 20160307 or later.
+ 3. These features are available only when the version of (x)dvipdfmx
+ is 20211016 or later.
+ 4. As for '\suppresspdfcompression' and '\suppresspdfobjcompression',
+ when one of them is executed, the other will be activated. It is
+ because l3pdf module does not support activating only one of them.
+
+On the detection of dvipdfmx version:
+
+ * Shell escape must be accepted (with or without restriction) so that
+ `kpsewhich` and `extractbb` will be allowed to run, because those
+ programs are used in order to detect the dvipdfmx version.
+ * The detection process is slow, so the result is cached in the
+ auxiliary file (`.aux`). When the environment is changed, you need
+ to delete the auxiliary file.
More notices:
- * If you try to use unavailable features, an error will occur.
+ * If you try to use unavailable features, an error will occur.
+ NB. Option `lenient` turns the errors into warnings, and `lenient+`
+ completely suppresses the errors.
* The package recognizes some “unsupported†driver options such as
`dvips`; when such drivers are used, use of any feature will cause
an error.
- * The use of `nodvidriver` sets `lenient*` by default; use of any
+ * The use of `nodvidriver` sets `lenient+` by default; use of any
feature will do nothing (nor issue an error).
REVISION HISTORY
----------------
+ * Version 0.8 ‹2024/08/03›
+ - Support some features even when the new PDF management of the
+ LaTeX kernel is activated (“latex-pdf†mode).
+ * Version 0.7 ‹2024/07/24›
+ - Support (officialy) `\setpdfpkresolution`.
* Version 0.6 ‹2022/04/28›
- Added the `lenient+` and `nolenient` options.
* Version 0.5a ‹2021/02/14›
diff --git a/Master/texmf-dist/doc/latex/changebar/CATALOG b/Master/texmf-dist/doc/latex/changebar/CATALOG
index 50cd35da78a..5483fa9c134 100644
--- a/Master/texmf-dist/doc/latex/changebar/CATALOG
+++ b/Master/texmf-dist/doc/latex/changebar/CATALOG
@@ -1,7 +1,7 @@
Name: ChangeBar
Problems-To: johannes.braams(at)texniek.nl
Author: J.L. Braams
-Version: 3.7d
+Version: 3.7e
Description:
diff --git a/Master/texmf-dist/doc/latex/changebar/README b/Master/texmf-dist/doc/latex/changebar/README
index 2a9c69bad71..bcd9ab0bbb5 100644
--- a/Master/texmf-dist/doc/latex/changebar/README
+++ b/Master/texmf-dist/doc/latex/changebar/README
@@ -1,6 +1,6 @@
changebar bundle
- January 9, 2024
+ July 19, 2024
This bundle contains a package that I maintain to add changebars to a
LaTeX document.
diff --git a/Master/texmf-dist/doc/latex/changebar/changebar.bug b/Master/texmf-dist/doc/latex/changebar/changebar.bug
index d6613321501..aa476a2224f 100644
--- a/Master/texmf-dist/doc/latex/changebar/changebar.bug
+++ b/Master/texmf-dist/doc/latex/changebar/changebar.bug
@@ -219,6 +219,10 @@
% v3.7d JLB: Arash Esbati reported a simlar phenomenon when \nochangebars
% is used. Similar solution was needed.
%
+% v3.7e JLB: Daniel Flipo and Bruno Winckler reported that changebar no longer
+% works when \usepackage[french]{babel} is used. This was caused by the
+% solution implemented in v3.7b. This time use "/" is chosen as separator.
+%
% Known problems
% - changebars for marginal paragraphs collide with changebars
% for the main body of text
diff --git a/Master/texmf-dist/doc/latex/changebar/changebar.pdf b/Master/texmf-dist/doc/latex/changebar/changebar.pdf
index b313fe1c531..9025ebb6248 100644
--- a/Master/texmf-dist/doc/latex/changebar/changebar.pdf
+++ b/Master/texmf-dist/doc/latex/changebar/changebar.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
index 0806a20b78d..19a5cd01f35 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
+++ b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex
@@ -5,6 +5,38 @@ full list of changes.
\begin{itemize}
\item
+ Version 1.7.0 (2024-08-03)
+
+ There are no big changes here, but the change to the resistor code
+ (maybe one of the most used by the package) well deserves a minor
+ version bump. A couple of new components, and several minor fixes.
+
+ \begin{itemize}
+ \tightlist
+ \item
+ New component: new kind of current tap (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/807}{EEpchi
+ and Dr4UX on GitHub})
+ \item
+ New arrow tip \texttt{Jack\ Tap} to help drawing jack connectors
+ (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/806}{Anisio
+ Rogerio Braga})
+ \item
+ Change the drawing of the thermocouple (suggested by
+ \href{https://github.com/circuitikz/circuitikz/issues/811}{Dr4UX on
+ GitHub})
+ \item
+ Change and enhancement to the drawing of the American resistors
+ (triggered by
+ \href{https://github.com/circuitikz/circuitikz/issues/814}{Dr4UX on
+ GitHub}), fixing a long-standing small asymmetry that nobody noticed
+ \item
+ Minor adjustment for joins in \texttt{viscoe} component
+ \item
+ Minor additions (\texttt{rectjoinfill}) and fixes in documentation
+ \end{itemize}
+\item
Version 1.6.9 (2024-05-25)
Several new components and a bug fix for a nasty long-standing bug
@@ -495,7 +527,7 @@ full list of changes.
Robustify some shapes: do not let arrows option pass to the inner
drawing (see
\href{https://tex.stackexchange.com/a/632084/38080}{here} and
- \href{https://matrix.to/\#/!NuxCISwYQJuyWwNsEI:matrix.org/$vQO6luq1F66LJ79dERmaqKI46qMBcjStqYCPi725uZE?via=matrix.org&via=2krueger.de&via=im.f3l.de}{here})
+ \href{https://matrix.to/\#/!NuxCISwYQJuyWwNsEI:matrix.org/$vQO6luq1F66LJ79dERmaqKI46qMBcjStqYCPi725uZE?via=matrix.org\&via=2krueger.de\&via=im.f3l.de}{here})
\item
Add warning about global draw options in the manual
\item
diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
index 9f3d2b57e02..023c265d6ea 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
+++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
index ac116af09e0..e0fa8032b1d 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
+++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
@@ -2200,6 +2200,83 @@ For the \texttt{photoresistor} and the two ``flavors'' of the light-dependent re
\end{tikzpicture}
\end{LTXexample}
+\begingroup % protect changes to resistors
+\newcommand\showjoin[1]{%
+\begin{tikzpicture}[scale=4, transform shape]
+ \clip (0.2,-0.05) rectangle (0.6,0.3);
+ \draw[ultra thick] (0,0) to[R, resistors/thickness=#1] ++(2,0);
+\end{tikzpicture}%
+}
+\newcommand{\splat}{\begin{center}\ttfamily\scriptsize\begin{tabular}{cccc}
+ \showjoin{1}&\showjoin{2}&\showjoin{3}&\showjoin{4}\\
+ thickness=1 & thickness=2 & thickness=3 & thickness=4 \\
+ \end{tabular}\end{center}%
+}
+\newcommand{\rdivider}[1]{\begin{tikzpicture}
+ \ctikzset{resistors/thickness=#1}
+ \draw (0,0) node[ground]{} to[V] ++(0,2) to[R] ++(2,0)
+ to[R] ++(0,-2) to[short,-*] (0,0);
+\end{tikzpicture}\qquad}
+\newcommand{\divsplat}[1]{#1\par
+ \begin{center}
+ \rdivider{1}\rdivider{2}\rdivider{3}\rdivider{4}
+\end{center}}
+
+\paragraph{Details of American (``zig-zag'') resistors.\label{sec:zigzag-details}} American (zig-zag) resistors have a little joining problem\footnote{Noticed by \href{https://github.com/circuitikz/circuitikz/issues/811}{user Dr4UX on GitHub} and later \href{https://github.com/circuitikz/circuitikz/discussions/814}{discussed here}.} with the leading wires if the thickness is greater than two. In the following drawing you can see the problem when the thickness grows from 1 to 4.
+
+\splat
+
+Since \texttt{v1.7.0}, one possibility to correct the problem is to change the type of joining of the zig-zag line, using the key \texttt{resistors/zigzag join}, which is a command that by default is void. For example, the following effect is obtained by using
+
+\begin{lstlisting}[numbers=none]
+\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap}}
+\end{lstlisting}
+{\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap}}
+\splat}
+
+or you can even go full rounded
+
+\begin{lstlisting}[numbers=none]
+\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap\pgfsetroundjoin}}
+\end{lstlisting}
+{\ctikzset{resistors/zigzag hook/.code={\pgfsetroundcap\pgfsetroundjoin}}
+\splat}
+
+Another possibility is to add a little horizontal ``stub'' to the shape, with the key \texttt{resistors/zigzag stub} (default \texttt{0}), which will add a first part which is a continuation of the wire:
+\begin{lstlisting}[numbers=none]
+\ctikzset{resistors/zigzag stub=0.05}% this is relative to the resistor's length
+\end{lstlisting}
+{\ctikzset{resistors/zigzag stub=0.05}
+\splat}
+
+\dots or you can just combine all of them as you prefer. With the standard join/cap options, the look of the resistors for thickness from 1 to 4 is shown here:
+
+\ctikzset{american}
+\divsplat{Standard drawing of American resistors}
+\divsplat{With a 5\% stub: \ctikzset{resistors/zigzag stub=0.05}}
+\divsplat{With a 20\% stub: \ctikzset{resistors/zigzag stub=0.2}}
+
+
+\bigskip
+Finally, here is the detailed shape with thickness 2 (red=0, blue=0.05, green=0.2), magnified six times:
+
+\vspace*{2cm}% this vspace fences are needed because the transform canvas wreak havoc with the bbox
+\begin{tikzpicture}[transform canvas={scale=6}]
+ \ctikzset{resistors/zigzag stub=0}
+ \draw[red] (0,0.2) to [resistor, resistors/thickness=4] ++(2,0);
+ \ctikzset{resistors/zigzag stub=0.05}
+ \draw[blue] (0,0.1) to [resistor, resistors/thickness=4] ++(2,0);
+ \ctikzset{resistors/zigzag stub=0.2}
+ \draw[green] (0,0) to [resistor, resistors/thickness=4] ++(2,0);
+ % \draw [very thin](1,0.5) -- (1,-0.5);
+ % \draw [very thin](0,0) -- ++(2,0);
+ % \draw [very thin](0,0.1) -- ++(2,0);
+ % \draw [very thin](0,0.2) -- ++(2,0);
+\end{tikzpicture}
+\vspace*{2cm}
+
+\endgroup % changes to resistors stops here
+
\subsection{Capacitors and inductors: dynamical bipoles}
@@ -2852,9 +2929,9 @@ Notice that the size of the double-circle sources (and of the triple-circle one)
\end{LTXexample}
\paragraph{Waveform symbols.}
-Internal symbols of sinusoidal, triangular and square sources are drawn with the same line thickness as the component by default. You can modify this by setting the key \texttt{sources/symbols/thickness} for independent sources and the corresponding \texttt{csource/...} for dependent ones. The value used here is relative to the component (i.e. the circle) value.
+Internal symbols of sinusoidal, triangular and square sources are drawn with the same line thickness as the component by default. You can modify this by setting the key \texttt{sources/symbol/thickness} for independent sources and the corresponding \texttt{csource/...} for dependent ones. The value used here is relative to the component (i.e. the circle) value.
-Normally the symbol is oriented in the same direction as the line, and rotate rigidly with the component; you can change this orientation using the key \texttt{sources/symbols/rotate} or \texttt{csource/...}. The default value is \texttt{90} which correspond to the ``line'' direction (remember, path components are defined as horizontal ones).
+Normally the symbol is oriented in the same direction as the line, and rotate rigidly with the component; you can change this orientation using the key \texttt{sources/symbol/rotate} or \texttt{csource/...}. The default value is \texttt{90} which correspond to the ``line'' direction (remember, path components are defined as horizontal ones).
If instead of an angle value you use \texttt{auto}, the symbol will be rotated so that the waveform is always vertical, similar to what happens in instruments:
\begin{LTXexample}[varwidth=true]
@@ -3019,12 +3096,44 @@ Sometimes it is better to use a shape for instruments which is very different fr
\footnotetext{Suggested by \texttt{@nobrl} on GitHub}
\circuitdescbip{iloop}{Current loop (symbolic)}{}(left/135/0.2, right/45/0.2, center/-90/0.3, i/30/0.4)
\circuitdescbip{iloop2}{Current loop (real)}{}(left/135/0.2, right/-45/0.2, center/-90/0.3, i+/135/0.4, i-/45/0.4)
+ \circuitdescbip{currtap}{Current tap (probe)\footnotemark}{}(tap/-90/0.2)
+ \footnotetext{Suggested by \href{https://github.com/circuitikz/circuitikz/issues/807}{user EEpchi on GitHub}.}
\end{groupdesc}
\subsubsection{Instruments customizations}\label{sec:tweak-instruments}
You can change the scale of all the instruments (including the current loops) by setting the key \texttt{instruments/scale} to something different from the default \texttt{1.0}.
+\paragraph{Current probes.}
+You can change the inner dot in several way, by changing the following keys under the \verb!\ctikzset! key \texttt{bipoles/currtap}:
+\begin{center}
+ \begin{tabular}{>{\ttfamily}l>{\ttfamily}lp{0.7\linewidth}}
+ \toprule
+ parameter & default & description \\
+ \midrule
+ thickness & default & Set the thickness of the line (\texttt{default}: do not change the class thickness) \\
+ color & default & stroke color: \texttt{default} is the same as the component \\
+ dash & default & dash pattern: none means solid line, default means keep the global pattern\footnotemark \\
+ fill & default & fill the inner dot; \texttt{default} means use the wire color, \texttt{none} do not fill, other keys must be a valid color \\
+ dot size& 0.5 & relative size of the inner dot \\
+ \bottomrule
+ \end{tabular}
+ \footnotetext{Follows the syntax of the pattern sequence \texttt{\textbackslash pgfsetdash} --- see \TikZ{} manual for details; phase is always zero. Basically you pass pairs of dash-length -- blank-length dimensions, see the examples.}
+\end{center}
+
+\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily]
+\begin{circuitikz}
+ \draw (0,2) to[currtap, bipoles/currtap/fill=none, *-]
+ ++(2,0) to[currtap, bipoles/currtap/.cd,
+ fill=yellow, color=red, thickness=3,
+ dash={{1.14pt}{2pt}}] ++(2,0);
+ \draw (0,0) to[currtap=I, *-, name=ct] ++(2,0)
+ to[currtap, -*, name=ct2,
+ bipoles/currtap/dot size=0.3] ++(2,0);
+ \draw (ct.tap) -- ++(0,-1) (ct2.tap) -- ++(0,-1);
+\end{circuitikz}
+\end{LTXexample}
+
\paragraph{Oscilloscope waveform.} You can change the waveform shown in the oscilloscope ``screen''\footnote{Suggested by \href{https://tex.stackexchange.com/q/595062/38080}{Mario Tafur on TeX.SX}}. To change it, you just set the key \texttt{bipoles/oscope/waveform} to one of the available shape. You have available the shapes in the following list (the default is \texttt{ramps}):
\begin{LTXexample}[pos=t, basicstyle=\small\ttfamily]
@@ -3478,9 +3587,9 @@ While the horizontal line will be drawn with the current path values, you can ch
\end{circuitikz}
\end{LTXexample}
-\subsection{Arrows}\label{sec:arrows}
+\subsection{Arrows (fake and real)}\label{sec:arrows}
-These are pseudo-arrows used in lot of places in the packages (for transistors, flows, currents, and so on). The first three arrows are magnified by a factor~3 in the boxes below; for the \texttt{trarrow}, the anchor \texttt{tip} is exactly on the tip and \texttt{btip} is slightly receded.
+The main arrow shapes in \Circuitikz{} are really shapes, used as pseudo-arrows in lot of places in the packages (for transistors, flows, currents, and so on). The first three arrows are magnified by a factor~3 in the boxes below; for the \texttt{trarrow}, the anchor \texttt{tip} is exactly on the tip and \texttt{btip} is slightly receded.
\begin{groupdesc}
\circuitdesc[3]{currarrow}{Arrow for current and voltage}{}(center/0/0.2)
@@ -3540,6 +3649,30 @@ The arrows are the ones set with the keys \texttt{tunable start arrow} and \text
Notice also the need to force a transparency group if you want a semitransparent arrow.
+\subsubsection{Arrow tips}\label{sec:arrow-tips}
+
+In addition to the pseudo-arrows, \Circuitikz{} also adds a couple of ``real'' arrow tips.
+The package automatically loads the \texttt{arrows.meta} \TikZ{} library but \emph{not} the deprecated \texttt{arrows} library; in the first versions of the package it used quite a lot the \texttt{latex'} tip, which is not available anymore. To maintain the backward compatibility, the `latexslim` tip has been added, and used by default in several components. This is an old-style arrow tip, with no customization possible.
+
+The other tip is \texttt{Jack Tap}\footnote{Added after a suggestion from \href{https://github.com/circuitikz/circuitikz/issues/806}{Anisio Rogerio Braga} on GitHub}, which is mainly used to build jack connectors (see section~\ref{sec:jacks}). This is a new-style arrow tip, and accepts the parameter \texttt{length} (default \texttt{0.3 cm}), \texttt{width} (default \texttt{0.15 cm}), and the boolean \texttt{swap}.
+
+
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}
+ \draw (0,.25) (0,0) edge[-latexslim] ++(1,0)
+ ++(0, -0.5) edge[-{Jack Tap[swap]}] ++(1,0)
+ ++(0, -0.5) edge[-Jack Tap] ++(1,0)
+ ++(0, -0.5) edge[-{Jack Tap[fill=cyan]}] ++(1,0)
+ ++(0, -0.5) edge[-{Jack Tap[width=.3cm,fill]}]++(1,0)
+ ++(0, -0.5) edge[-{Jack Tap[width=.3cm,line join=round,
+ line cap=round]}, thick] ++(1,0)
+ ++(0, -0.5) edge[^-^f] ++(1,0)
+ ++(0, -0.5) edge[vf-v] ++(1,0);
+\end{circuitikz}
+\end{LTXexample}
+You can also have a filled version, by adding the key \texttt{fill} (without arguments\footnote{This usage of the \texttt{fill} key in arrow tips will be added to \TikZ{} in version \texttt{3.1.11}, see \href{https://github.com/pgf-tikz/pgf/pull/1352}{this PR by Henri Menke}; \Circuitikz{} will add it to older versions.}) or \texttt{fill=color} if you want a color different from the stroke ones, and they accept the \texttt{line join} and \texttt{line cap} as most of the standard \TikZ{} arrows.
+As you can see, the normal and swapped \texttt{Jack Tap} tips have the shorthands \texttt{v} and \verb|^| (and \texttt{vf} and \verb|^f| for their filled counterparts). Notice that the tips are automatically reversed when they are at the \emph{start} of the path.
+
\subsection{Terminal shapes}\label{sec:terminals}
These are the so-called ``bipole nodes'' shapes, or poles (see section~\ref{sec:bipole-nodes}). These nodes are always filled; the ``open'' versions (starting with an \texttt{o}) are by default filled with the color specified by the key \texttt{open nodes fill} (by default \texttt{white}), but you can override locally it with the \texttt{fill} parameter.
@@ -3553,6 +3686,12 @@ These are the so-called ``bipole nodes'' shapes, or poles (see section~\ref{sec:
\circuitdesc{osquarepole}{Open square-shape terminal}{}
\end{groupdesc}
+This is not a pole, but it's used to "fill" nasty corners (look closer, and see ~\ref{sec:line-joins}).
+
+\begin{groupdesc}
+ \circuitdesc{rectjoinfill}{Filling square with line width size}{}
+\end{groupdesc}
+
Since version 0.9.0, ``bipole nodes'' shapes have all the standard geographical anchors, so you can do things like these:
\begin{LTXexample}[varwidth=true]
@@ -3672,6 +3811,33 @@ You can use the \texttt{plug center} anchor to add the IEC ``multiplier'':
\end{circuitikz}
\end{LTXexample}
+\subsubsection{Jack connectors}\label{sec:jacks}
+
+There are \emph{lots} of different jack connectors symbols --- see the \href{https://github.com/circuitikz/circuitikz/issues/806}{discussion here} for examples. So instead of creating a monster component, it has been decided to add elements to simplify the drawing of such connectors. The first (and for now only) such element is the \texttt{Jack Tap} arrow tip (see section~\ref{sec:arrow-tips}) with its shorthands \texttt{v} and \verb|^|.
+
+For example, and audio jack can be drawn like this:
+
+\begin{LTXexample}[pos=t, varwidth=true]
+% drawing based on one by Anisio Rogerio Braga
+% https://github.com/circuitikz/circuitikz/issues/806
+\newcommand\dx{1.5}\newcommand\dy{1}
+\begin{circuitikz}
+ \draw[-v] (0,\dy/3*4) to[short, o-] ++(\dx,0);
+ \draw[-Triangle] (0,\dy) node[ocirc]{} -| ++(\dx/3,\dy/3);
+ \draw[-Triangle] (0,\dy/3*2) node[ocirc]{} -| ++(\dx/3,-\dy/3);
+ \draw[-^] (0,\dy/3) to[short, o-] ++(2*\dx/3,0);
+ \draw (0,0.0) to[short, o-] ++(1.75*\dx,0) rectangle ++(0.2,4*\dy/3);
+\end{circuitikz}\qquad\qquad
+%---% audio jack with an inserted plug
+\begin{circuitikz}
+ \draw[-v] (0,\dy/3*4) to[short, o-] ++(\dx,0.2);
+ \draw[-Triangle] (0,\dy) node[ocirc]{} -| ++(\dx/3,\dy/3);
+ \draw[-Triangle] (0,\dy/3*2) node[ocirc]{} -| ++(\dx/3,-\dy/3);
+ \draw[-^] (0,\dy/3) to[short, o-] ++(2*\dx/3,-0.2);
+ \draw (0,0.0) to[short, o-] ++(1.75*\dx,0) rectangle ++(0.2,4*\dy/3);
+\end{circuitikz}
+\end{LTXexample}
+
\subsection{Block diagram components}
\noindent Contributed by Stefan Erhardt.
@@ -6596,7 +6762,7 @@ with the parameter \texttt{number inputs} :
\end{circuitikz}
\end{LTXexample}
-You can suppress the drawing of the logic ports input leads by using the boolean key \texttt{logic ports draw input leads} (default \texttt{true}) or, locally, with the style \texttt{no inputs leads} (that can be reverted with \texttt{input leads}), like in the following example. The anchors do not change and you have to take responsibility to make the connection to the ``border''-anchors.
+You can suppress the drawing of the logic ports input leads by using the boolean key \texttt{logic ports draw input leads} (default \texttt{true}) or, locally, with the style \texttt{no input leads} (that can be reverted with \texttt{input leads}), like in the following example. The anchors do not change and you have to take responsibility to make the connection to the ``border''-anchors.
\begin{LTXexample}[varwidth=true]
\begin{circuitikz}
@@ -7436,9 +7602,9 @@ External pins' length is controlled by the key \texttt{multipoles/external pins
like in chips. In addition, like in logic ports, you can suppress the
drawing of the leads by using the boolean key
\texttt{logic ports draw input leads} (default \texttt{true}) or, locally,
-with the style \texttt{no inputs leads} (that can be reverted with
+with the style \texttt{no input leads} (that can be reverted with
\texttt{input leads}).
-The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no inputs lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
+The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no input lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
You can draw only selected pins and leave out the rest by setting the keys
\texttt{multipoles/draw only \emph{side} pins} and the corresponding style
@@ -7840,7 +8006,7 @@ You can, if you want, avoid printing the numbers of the pin with \texttt{hide nu
\end{LTXexample}
-Also, you can suppress the drawing of the pins, by using the style \texttt{no inputs leads} (that can be reverted with \texttt{input leads}). The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no inputs lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
+Also, you can suppress the drawing of the pins, by using the style \texttt{no input leads} (that can be reverted with \texttt{input leads}). The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no input lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
For special use you can suppress the orientation mark with the key \texttt{no topmark} (default \texttt{topmark}).
diff --git a/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md b/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md
index 60c4ae9e823..4b1c1e6c700 100644
--- a/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/citation-style-language/CHANGELOG.md
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [0.6.0] - 2024-07-31
+
+- Add support for multiple bibliographies (`refsection` environment).
+- Add global `ref-section` option.
+
+### Fixed
+
+- Fix an error of empty locator in citation (([#70](https://github.com/zepinglee/citeproc-lua/discussions/70)))
+
+## [0.5.1] - 2024-07-10
+
+### Fixed
+
+- Fix a bug in font style flip-flopping with raw code ([#67](https://github.com/zepinglee/citeproc-lua/issues/67)).
+
## [0.5.0] - 2024-06-09
### Added
@@ -197,7 +212,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Initial CTAN release.
-[Unreleased]: https://github.com/zepinglee/citeproc-lua/compare/v0.5.0...HEAD
+[Unreleased]: https://github.com/zepinglee/citeproc-lua/compare/v0.6.0...HEAD
+[0.6.0]: https://github.com/zepinglee/citeproc-lua/compare/v0.5.1...v0.6.0
+[0.5.1]: https://github.com/zepinglee/citeproc-lua/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/zepinglee/citeproc-lua/compare/v0.4.9...v0.5.0
[0.4.9]: https://github.com/zepinglee/citeproc-lua/compare/v0.4.8...v0.4.9
[0.4.8]: https://github.com/zepinglee/citeproc-lua/compare/v0.4.7...v0.4.8
diff --git a/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf b/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf
index 83d520bd1bd..604b765c1b2 100644
--- a/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf
+++ b/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex b/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex
index c8af8574e16..a1a576958e3 100644
--- a/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex
+++ b/Master/texmf-dist/doc/latex/citation-style-language/citation-style-language-doc.tex
@@ -51,7 +51,7 @@
}%
}
-\date{2024-06-09 v0.5.0}
+\date{2024-07-31 v0.6.0}
\maketitle
@@ -212,6 +212,24 @@ The locale falls back to ``\opt{en}'' (English) if the attribute is not set.
When \pkg{babel} package is loaded, the selected main language is implicitly set
as the \opt{locale} for \pkg{citation-style-language}.
+\DescribeOption{ref-section}
+This option automatically starts a new reference section at the given document
+heading such as a chapter or a section. This is equivalent to the
+\cs{newrefsection} command. The following choices are available:
+
+\begin{description}
+ \item[\opt{none}] Disable this feature (default).
+ \item[\opt{part}] Start a reference section at every \cs{part} command.
+ \item[\opt{chapter}] Start a reference section at every \cs{chapter} command.
+ \item[\opt{chapter+}] Start a reference section at every \cs{chapter} and
+ every higher level of sectioning, i.e. \cs{part}.
+ \item[\opt{section}] Start a reference section at every \cs{section} command.
+ \item[\opt{section+}] Start a reference section at every \cs{section} and
+ every higher level of sectioning, i.e. \cs{part} and \cs{chapter}.
+ \item[\opt{subsection}] Start a reference section at every \cs{subsection} command.
+ \item[\opt{subsection+}] Start a reference section at every \cs{subsection} and every higher level of sectioning, i.e. \cs{part}, \cs{chapter} and \cs{section}.
+\end{description}
+
\DescribeOption{bib-font}
Usually, the list of references is printed in the same font style and size as
the main text.
@@ -509,6 +527,68 @@ Print only the entries assigned to the given category.
This option may be used multiple times.
+\subsection{Bibliography Sections}
+
+The \env{refsection} environment is used in the document body to mark a
+reference section.
+This environment is useful if you want separate, independent
+bibliographies and bibliography lists in each chapter, section, or any other
+part of a document.
+Within a reference section, all cited works are assigned labels which are local
+to the environment. Technically, reference sections are completely independent
+from document divisions such as \cs{chapter} and \cs{section} even though they
+will most likely be used per chapter or section.
+See the refsection package option in § 3.1.2.1 for a way to automate this.
+Also see § 3.14.3 for usage examples.
+
+\begin{function}{\begin{refsection}, \end{refsection}}
+ \begin{syntax}
+ \cs{begin}\{refsection\}
+ \cs{begin}\{refsection\}[style = \meta{style-id}, bib-resource = <datafile>, ...]
+ \end{syntax}
+\end{function}
+
+All citations given outside a \env{refsection} environment are assigned to
+the global section.
+If \cs{printbibliography} is used within a refsection, it will automatically
+select the current section.
+Note that \env{refsection} environments may not be nested.
+Beginning a new reference section automatically ends the active reference context (see § 3.8.10).
+The optional argument is a list of key-value configurations. That following options are available.
+
+
+\DescribeOption{style}
+The \opt{style} option specifies the CSL style used in this reference section.
+If this is not given, the global style will be used by default which is defined
+via package options or \cs{cslsetup}.
+
+\DescribeOption{bib-resource}
+The bibliographic data files are specified with this option.
+In case of multiple data files, remember to enclose the file with curly brackets
+so that the key-values are correctly parsed
+(e.g., \texttt{bib-resource = \{foo.json, bar.bib\}}).
+By default the global bib resources are used if no \opt{bib-resource} is given.
+
+\DescribeOption{locale}
+This option sets the locale used in this reference section.
+By default the global locale is used.
+
+
+\begin{function}{\newrefsection, \endrefsection}
+ \begin{syntax}
+ \cs{newrefsection}[style = \meta{style-id}, bib-resource = <datafile>, ...]
+ \cs{endrefsection}
+ \end{syntax}
+\end{function}
+
+The \cs{newrefsection} command is similar to the \env{refsection} environment
+except that it is a standalone command rather than an environment.
+It automatically ends the previous reference section (if any) and immediately
+starts a new one.
+The \cs{endrefsection} can terminate the current reference section and restore
+to the global section.
+
+
\subsection{Bibliography Headings}
\begin{function}{\defbibheading}
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md b/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md
index e28620a02d2..aa152dd5fd4 100644
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md
+++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md
@@ -21,7 +21,7 @@ International.
## Version
-
+1.1a (2024-07-30)
## Author
@@ -133,7 +133,7 @@ licence CC BY-SA 4.0 International.
## Version
-
+1.1a (2024-07-30)
## Auteur
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdf b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdf
index c64b7fa0a24..fd93cf709b1 100644
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdf
+++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdf b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdf
index 4d9c8ae4f8d..bf7f73c7c41 100644
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdf
+++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdf b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdf
index 1cc15b18c7f..79fddb7248b 100644
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdf
+++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dashrulex/README.md b/Master/texmf-dist/doc/latex/dashrulex/README.md
index c0e441ac99a..3e81605ffcb 100644
--- a/Master/texmf-dist/doc/latex/dashrulex/README.md
+++ b/Master/texmf-dist/doc/latex/dashrulex/README.md
@@ -1,7 +1,15 @@
-# The dashrulex package
+# The `dashrulex` package
+Draw dashed rules (v1.01a)
+## Abstract
The `dashrulex` package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands `\hdashrule` and `\hanyrule`. It's written in LaTeX3 and can be used as an alternative to the `dashrule` package.
## License
+This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode
-This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode \ No newline at end of file
+## Website
+| [Gitee](https://gitee.com/texno3/dashrulex) | [Github](https://github.com/texno3/dashrulex) | [CTAN](https://ctan.org/pkg/dashrulex) |
+
+## Maintainer
+Qu Yi<br/>
+Email: toquyi@163.com \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdf b/Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdf
index 376eb91c90b..f97a5ef3023 100644
--- a/Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdf
+++ b/Master/texmf-dist/doc/latex/dashrulex/dashrulex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex b/Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex
index 06655a53e68..5469fc0c371 100644
--- a/Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex
+++ b/Master/texmf-dist/doc/latex/dashrulex/dashrulex.tex
@@ -1,22 +1,22 @@
\documentclass[load-preamble+]{cnltx-doc}
-\usepackage{setspace,hologo,dashrulex,tikz}
+\usepackage{setspace,hologo,enumitem,dashrulex,tikz}
\usepackage[noto]{newtxmath}
\setcnltx
{
package = dashrulex,
- title = the dashrulex package,
- version = v1.00c,
- date = 2024/03/25,
+ title = dashrulex,
+ version = v1.01a,
+ date = 2024/07/18,
authors = Qu Yi,
info = Draw dashed rules,
email = toquyi@163.com,
+ url = https://github.com/texno3/dashrulex,
abstract =
{
The \pkg*{dashrulex} package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands \cs{hdashrule} and \cs{hanyrule}. It's written in \hologo{LaTeX3} and can be used as an alternative to the \pkg*{dashrule} package.
},
color-scheme = blue,
- title-format = \huge\bfseries\scshape,
listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
pre-output = {\parindent = 0em\setstretch{1.3}},
before-skip = \smallskipamount,
@@ -37,9 +37,12 @@
\newsplitarg{\splitoarg}{[}{]}
\newsplitarg{\splitmarg}{\{}{\}}
\newsplitarg{\splitdarg}{(}{)}
-\newnote{\newtag}[1][New]{\textcolor{red}{\ding{73}\ #1}}
+\newnote{\newtag}[1]{\textcolor{red}{#1}}
\renewcommand{\emph}[1]{\textcolor{red}{#1}}
\renewcommand{\cnltx@write@lastname}{}
+\setlist{nosep,topsep = \smallskipamount}
+\setlist[description,1]{leftmargin = \parindent}
+\setlist[itemize,1]{leftmargin = *}
\makeatother
\begin{document}
@@ -49,7 +52,7 @@ Sometimes it is necessary to draw dashed rules when writing documents, such as g
\section{User commands}
\begin{commands}
\command{hdashrule}[\oarg{raise}\oarg{leader}\marg{width}\marg{thickness list}\marg{dash rules}]
- The command to draw horizontal dashed rules, based on the \cs{rule} command, and the same as the \cs{rule} command when the \meta{dash rules} are empty. \meta{raise} is the vertical offset of the rule. \meta{leader} is the alignment of the dashed line fill, which can be empty, \code{c}, or \code{x} (the default), corresponding to the \cs{leaders}, \cs{cleaders}, and \cs{xleaders} commands, respectively. \meta{width} is the length of the dotted line, which can be set to \cs{fill} when used to fill the remaining center of the current text line. \meta{thickness list} is a rule for the height of vertically oriented lines, separated by \textcolor{red}{commas} and written as \splitmeta{height 1}{height a}\code{,...}, where \meta{height 1} denotes the height of a solid line and \meta{height a} denotes the height of a blank space.\meta{dash rules} is expressed as \splitmeta[\code{|}]{length 1}{length a}\code{,}\splitmeta[\code{|}]{length 2}{length b}\code{,...}, where \meta{length 1} represents the length of the solid line and \meta{length a} represents the length of the blank space, such as \code{5pt|2pt,3pt}, if the blank space is empty, then it is equal to the solid line length.
+ The command to draw horizontal dashed rules, based on the \cs{rule} command, and the same as the \cs{rule} command when the \meta{dash rules} are empty. \meta{raise} is the vertical offset of the rule. \meta{leader} is the alignment of the dashed line fill, which can be empty, \code{c}, or \code{x} (the \textcolor{red}{default}), corresponding to the \cs{leaders}, \cs{cleaders}, and \cs{xleaders} commands, respectively. \meta{width} is the length of the dashed line, which can be set to \cs{fill} when used to fill the remaining part of the current text line. \meta{thickness list} is a rule for the height of \textcolor{red}{vertical} lines, separated by \textcolor{red}{commas} and written as \splitmeta{height 1}{height a}\code{,...}, where \meta{height 1} denotes the height of a solid line and \meta{height a} denotes the height of a blank space. \meta{dash rules} stands for \textcolor{red}{horizontal} dashed line rules, which expressed as \splitmeta[\code{|}]{length 1}{length a}\code{,}\splitmeta[\code{|}]{length 2}{length b}\code{,...}, where \meta{length 1} represents the length of the solid line and \meta{length a} represents the length of the blank space, such as \code{5pt|2pt,3pt}, if the blank space is empty, then it is equal to the solid line length.
\begin{example}
1X\rule{2cm}{1pt}x \\
2X\hdashrule{2cm}{1pt}{}x \\
@@ -58,31 +61,32 @@ Sometimes it is necessary to draw dashed rules when writing documents, such as g
5X\hdashrule[0.5ex]{4cm}{1pt}{1pt}x \\
6X\hdashrule[0.5ex]{4cm}{1pt}{3mm}x \\
7X\hdashrule[0.5ex]{4cm}{1mm}{3mm}x \\
- 8X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt}x \\
- 9X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt,1mm|2pt}x \\
- 10X\hdashrule[0.5ex]{4cm}{2pt,1pt,1pt}{3mm|3pt,1mm|2pt}x
+ 8X\hdashrule[0.5ex]{4cm-3mm}{1mm}{3mm}\vrulemod[0.5ex]{3mm}{1mm}x \\
+ 9X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt}x \\
+ 10X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt,1mm|2pt}x \\
+ 11X\hdashrule[0.5ex]{4cm}{2pt,1pt,1pt}{3mm|3pt,1mm|2pt}x
\end{example}
\command{vrulemod}[\oarg{raise}\oarg{height}\oarg{depth}\marg{width}\marg{thickness list}]
- The vertical component used to fill the dashed line. \meta{thickness list} is consistent with the \cs{hdashrule} command, \meta{width} represents the length of the component, and the three optional parameters are consistent with those of the \cs{raisebox} command.
+ The vertical model used to fill the dashed line. \meta{thickness list} is consistent with the \cs{hdashrule} command, \meta{width} represents the length of the component, and the three optional parameters are consistent with those of the \cs{raisebox} command.
\command{hanyrule}[\oarg{leader}\marg{width}\marg{symbol list}]
This command sets the length of the dotted rule and fills it with arbitrary symbols. \meta{symbol list} can be more than one symbol and they are separated by \textcolor{red}{commas}. Symbols are best packed in boxes of a certain length, as spacing between symbols is not provided.
\begin{example}
- \newcommand{\dblvmod}
+ \newcommand{\dblblock}
{%
- \tikz[color=blue]
+ \tikz[color=teal]
{
\draw[line width=0.8mm](0mm,1.1mm)--(3mm,1.1mm);
\draw[line width=0.3mm](0mm,0mm)--(3mm,0mm);
}%
}
- 1X\hanyrule[]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 2X\hanyrule[c]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 3X\hanyrule[x]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 4X\hanyrule[c]{5cm}{\makebox[8pt]{$\cdot$}}x \\
- 5X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 1X\hanyrule[]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 2X\hanyrule[c]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 3X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 4X\hanyrule[x]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
+ 5X\hanyrule[x]{5cm}{\makebox[8pt][r]{$\cdot$}}x \\
6X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$},\makebox[8pt]{$\circ$}}x \\
7X\hanyrule[x]{5cm}{\makebox[5mm]{\vrulemod{3mm}{2pt,1pt,1pt}}}x \\
- 8X\hanyrule[x]{5cm}{\makebox[5mm]{\dblvmod}}x
+ 8X\hanyrule[x]{5cm}{\makebox[5mm]{\dblblock}}x
\end{example}
\end{commands}
diff --git a/Master/texmf-dist/doc/latex/delimset/README.txt b/Master/texmf-dist/doc/latex/delimset/README.txt
index 729b73fbbf3..9094d596248 100644
--- a/Master/texmf-dist/doc/latex/delimset/README.txt
+++ b/Master/texmf-dist/doc/latex/delimset/README.txt
@@ -1,5 +1,5 @@
-delimset v1.1
-Copyright 2016-2018 Niklas Beisert
+delimset v2.0
+Copyright 2016-2024 Niklas Beisert
delimset is a LaTeX2e package to typeset and declare sets of delimiters
in math mode whose size can be adjusted conveniently.
diff --git a/Master/texmf-dist/doc/latex/delimset/delimset.pdf b/Master/texmf-dist/doc/latex/delimset/delimset.pdf
index b964bea59d2..734ebf01db2 100644
--- a/Master/texmf-dist/doc/latex/delimset/delimset.pdf
+++ b/Master/texmf-dist/doc/latex/delimset/delimset.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex b/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex
index 8f93312e6ab..c27a338c5f6 100644
--- a/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex
+++ b/Master/texmf-dist/doc/latex/delimset/dlmssamp.tex
@@ -6,7 +6,7 @@
%%
%% delimset.dtx (with options: `sample')
%%
-%% Copyright (C) 2016-2018 Niklas Beisert
+%% Copyright (C) 2016-2024 Niklas Beisert
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\ProvidesFile{dlmssamp.tex}[2018/12/30 v1.1 sample for delimset]
+\ProvidesFile{dlmssamp.tex}[2024/07/17 v2.0 sample for delimset]
\documentclass[12pt]{article}
\usepackage[margin=2cm]{geometry}
@@ -28,11 +28,11 @@
sizes for default brackets:
\[
-\brk0{x},\quad
-\brk1{x},\quad
-\brk2{x},\quad
-\brk3{x},\quad
-\brk4{x}
+\brk^0{x},\quad
+\brk^1{x},\quad
+\brk^2{x},\quad
+\brk^3{x},\quad
+\brk^4{x}
\]
styles for default brackets:
@@ -45,7 +45,7 @@ styles for default brackets:
nested brackets:
\[
-\brk[c]2{\brk[s]!{\brk{ax+b}x+c}x+d}
+\brk[c]^2{\brk[s]!{\brk{ax+b}x+c}x+d}
\]
default absolute value, norm and default evaluations:
@@ -58,7 +58,7 @@ default absolute value, norm and default evaluations:
outer delimiter spacing:
\begin{align*}
-&\square\brk0{x}\square,&&\square\brk1{A^k}\square,
+&\square\brk^0{x}\square,&&\square\brk^1{A^k}\square,
\\
&\square\brk*{x}\square,&&\square\brk*{A^k}\square
\end{align*}
@@ -71,7 +71,7 @@ e^{\brk!{ax+b}}
delimiter declaration:
\DeclareMathDelimiterSet{\braket}[2]
- {\selectdelim[l]<#1\selectdelim|#2\selectdelim[r]>}
+ {\selectdeliml<#1\selectdelim|#2\selectdelimr>}
\[
\braket!{\psi}{\psi},
\quad
@@ -86,30 +86,34 @@ delimiter usage:
conditional set, alternative layouts:
\[
\delimpair\{{[m]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
\delimpair\{{[b]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
+\delimpair\{{[i]|}\}!{2n}{n\in\mathbb{Z}},
+\quad
\delimpair\{{[p]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
\delimpair\{|\}!{2n}{n\in\mathbb{Z}},
-\qquad
-\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}}
+\quad
+\delimpair\{{*;}\}!{2n}{n\in\mathbb{Z}}
\]
conditional set, alternative layouts with variable size:
\[
\delimpair\{{[m]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
\delimpair\{{[b]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
+\delimpair\{{[i]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\quad
\delimpair\{{[p]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
\delimpair\{|\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
-\delimpair\{{[.];}\}*{2n}{n\in\mathbb{Z}\big.}
+\quad
+\delimpair\{{*;}\}*{2n}{n\in\mathbb{Z}\big.}
\]
delimiter definition:
-\newcommand{\comm}{\delimpair[{[.],}]}
+\newcommand{\comm}{\delimpair[{*,}]}
\[
\comm!{\comm{A}{B}}{C}
+\comm!{\comm{B}{C}}{A}
@@ -118,7 +122,7 @@ delimiter definition:
\]
alternative representation:
-\renewcommand{\comm}{\delimpair[{[.];}]}
+\renewcommand{\comm}{\delimpair[{*;}]}
\[
\comm!{\comm{A}{B}}{C}
+\comm!{\comm{B}{C}}{A}
@@ -126,6 +130,27 @@ alternative representation:
=0
\]
+display individual delimiters of a set:
+\renewcommand{\braket}{\delimpair<|>}
+\[
+\braket{A}{B}
+\to \braket( A \braket| B \braket),
+\quad
+\braket*( A\big. \braket*| B_{} \braket*),
+\quad
+\braket^1( A \braket^3| B \braket^2)
+\]
+
+placing indices before a bracket
+(does not work in variable-size mode because
+the final size is not available for the enclosed expressions):
+\DeclareMathDelimiterSet{\quadindex}[5]
+ {\selectdeliml.^{#2}_{#3}\mathord{}\selectdelim[o][
+ {#1}\selectdelim[o]]^{#4}_{#5}\selectdelimr.}
+\[
+\quadindex^2{\frac{x}{y}}{1}{2}{3}{4}
+\]
+
\end{document}
\endinput
%%
diff --git a/Master/texmf-dist/doc/latex/doibanner/README.md b/Master/texmf-dist/doc/latex/doibanner/README.md
new file mode 100644
index 00000000000..a28fd46abd2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/doibanner/README.md
@@ -0,0 +1,91 @@
+# doibanner
+
+A LaTeX package to generate DOI banners and links.
+
+The `doibanner` package allows to generate a banner for a declared [digital
+object identifier](https://www.doi.org/the-identifier/what-is-a-doi/) (DOI).
+It provides the `\doibanner` macro, which draws the banner using
+[`TikZ`](https://www.ctan.org/pkg/tikz) and adds a link via
+[`hyperref`](https://www.ctan.org/pkg/hyperref), if desired. Its output can
+be scaled by [`adjustbox`](https://www.ctan.org/pkg/adjustbox) and it might
+look as follows:
+
+![_DOI banner generated with `\doibanner`_](./example/doibanner_example.png "Example generated with doibanner")
+
+Latest release: 2024-07-28 v0.3
+
+
+## Installation
+
+Skip this section, if `doibanner` is already provided in your TeX distribution.
+You should be able to install it [from the CTAN](https://www.ctan.org/pkg/doibanner)
+via your distribution's utility (e.g. the TeX Live Utility).
+
+### Manual installation
+
+You can get the package's source code from the
+[project repository on Codeberg](https://codeberg.org/Cs137/doibanner).
+The repository contains a build script, which allows you to build the required
+files for the `doibanner` package and copy them into your _TeX Directory Structure_
+(TDS) using `l3build`. Ensure that `l3build` is installed on your system and run
+it from the repository's root directory as follows:
+
+```bash
+l3build install --full
+```
+
+The `--full` option ensures that all necessary files are built and installed.
+
+If you do not want to install the package into your TDS, but use it in a
+particular LaTeX project, follow the steps listed below.
+
+1. unpack `doibanner.sty` from the `doibanner.dtx` file
+ - using `l3build` and the `build.lua` script: `l3build unpack`, __or__
+ - directly via the installer file: `pdflatex doibanner.ins`
+2. copy the extracted `doibanner.sty` file into the same directory as your LaTeX sources.
+
+
+## Usage
+
+Please consult the [package documentation](http://mirrors.ctan.org/macros/latex/contrib/doibanner/doibanner.pdf)
+for detailed usage information.
+
+If you have any questions or need assistance, feel free to
+[open an issue on the repository](https://codeberg.org/Cs137/doibanner/issues).
+
+
+## Contributing
+
+Contributions to the `doibanner` package are very welcomed. Feel free to submit
+a [pull request (PR)](https://codeberg.org/Cs137/doibanner/pulls), if you would
+like to contribute to the project. In case you are unfamiliar with the process,
+consult the [forgejo documentation](https://forgejo.org/docs/latest/user/pull-requests-and-git-flow/)
+and follow the steps using this repository instead of the `example` repository.
+
+Create your [pull request (PR)](https://codeberg.org/Cs137/doibanner/pulls) to
+inform that you started working on a contribution. Provide a clear description
+of your envisaged changes and the motivation behind them, prefix the PR's title
+with ``WIP: `` until your changes are finalised.
+
+All kind of contributions are appreciated, whether they are
+bug fixes, new features, or improvements to the documentation.
+
+
+### Contributors
+
+- [Christian Schreinemachers](https://codeberg.org/Cs137)
+- [Marei Peischl](https://chaos.social/@TeXhackse)
+
+
+## Changes
+
+All notable changes to this project are documented in the file
+[`CHANGELOG.md`](https://codeberg.org/Cs137/doibanner/src/branch/main/CHANGELOG.md).
+
+
+## Credits
+
+This package was created and is maintained by Christian Schreinemachers, (C) 2024.
+The source code is hosted on [Codeberg](https://codeberg.org/Cs137/doibanner).
+It is subject to the [LaTeX Project Public License 1.3c](https://www.ctan.org/license/lppl1.3).
+
diff --git a/Master/texmf-dist/doc/latex/doibanner/doibanner.pdf b/Master/texmf-dist/doc/latex/doibanner/doibanner.pdf
new file mode 100644
index 00000000000..546b0c9de1f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/doibanner/doibanner.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/easybook/README.md b/Master/texmf-dist/doc/latex/easybook/README.md
index 6d523ef4c66..94518c744b0 100644
--- a/Master/texmf-dist/doc/latex/easybook/README.md
+++ b/Master/texmf-dist/doc/latex/easybook/README.md
@@ -1,5 +1,5 @@
# The `easybook` document class
-Easily typesetting Chinese theses or books (v2024cq)
+Easily typesetting Chinese theses or books (v2024di)
## Abstract
`easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the theses of many universities in China, providing multiple commands and interfaces allows users to easily customize the theses templates. Its basic macro package `easybase` can also be used with `ctex` and standard document classes.
@@ -11,5 +11,5 @@ This work may be distributed and/or modified under the conditions of the LPPL-1.
| [Gitee](https://gitee.com/texno3/easybook) | [Github](https://github.com/texno3/easybook) | [CTAN](https://ctan.org/pkg/easybook) |
## Maintainer
-QuYi<br/>
+Qu Yi<br/>
Email: toquyi@163.com \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.pdf b/Master/texmf-dist/doc/latex/easybook/easybook.pdf
index f13ae4dde99..445fa0af4ca 100644
--- a/Master/texmf-dist/doc/latex/easybook/easybook.pdf
+++ b/Master/texmf-dist/doc/latex/easybook/easybook.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/easybook/easybook.tex b/Master/texmf-dist/doc/latex/easybook/easybook.tex
index 04af78defea..582e5af198b 100644
--- a/Master/texmf-dist/doc/latex/easybook/easybook.tex
+++ b/Master/texmf-dist/doc/latex/easybook/easybook.tex
@@ -23,8 +23,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v2024cq,
- date = 2024/07/12,
+ version = v2024di,
+ date = 2024/08/08,
authors = 瞿毅,
info = 简便地排版中文学ä½è®ºæ–‡æˆ–书ç±,
email = toquyi@163.com,
@@ -249,8 +249,8 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
cells = {cmd = \pkg*},
cell{1}{3,4} = PaleTurquoise,
cell{2}{5} = PaleTurquoise,
- cell{3}{2} = PaleTurquoise,
cell{4}{5} = PaleTurquoise,
+ cell{5}{2} = PaleTurquoise,
cell{5}{1} = GreenYellow,
cell{1}{2} = GreenYellow,
cell{3}{1,4} = GreenYellow
@@ -259,7 +259,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
enumitem & etoolbox & fancyhdr & geometry & hyperref \\
imakeidx & listings & marginnote & mathtools & multicol \\
pifont & pdfpages & siunitx & spbmark & thmtools \\
- tcolorbox & titletoc & tabularray & ulem &
+ tcolorbox & titletoc & tabularray & &
\end{longtblr}
\section{全局选项}
@@ -298,6 +298,12 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\setCJKmonofont{FangSong}
\newCJKfontfamily[song]\songti{SimSun}
\end{ctexexam}
+
+ 如果用 \textsf{Overleaf} 或 \textsf{TeXPage} 等在线平å°ç¼–译文档,则åªæœ‰ \code{fandol} 字体å¯ç”¨ã€‚使用其它字体å¯å°†å­—体文件上传至项目文件夹,例如上传至 \code{font} 文件夹设置正文和无衬线字体:
+ \begin{ctexexam}
+ \setCJKmainfont{simsun.ttc}[Path = ./font/]
+ \setCJKsansfont{simhei.ttf}[Path = ./font/]
+ \end{ctexexam}
\keychoice{font}{noto,times,times*,ebgaramond,libertine,palatino,\fbox{auto}}\dtag
预置的英文字体相关é…置方案如\ref{table:english font} 所示。这些字体已ç»åŒ…å«åœ¨äº† \hologo{TeXLive} å‘行版中,所以通常ä¸éœ€è¦å†ä¸“门安装。如果您想使用默认的Latin Modern或其它英文字体,å¯ä»¥ä½¿ç”¨ \code{auto} 选项é…åˆ \pkg*{fontspec} å®åŒ…的相关命令进行设置。
\begin{longtblr}
@@ -338,7 +344,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\label{sec:interface options}
\begin{cnltxlist}
\command{ctexset}[\oarg{模å—å}\marg{键值列表}]
- \easybook{} 扩展了 \CTeX å®é›† \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模å—选项åŒæ ·å¯ç”¨å®ƒè®¾ç½®ï¼ŒåŽŸæœ‰çš„ \meta{键值列表} ä»ç„¶å¯ç”¨ã€‚本文档类目å‰æœ‰9个模å—用于实现常规的排版功能,如\ref{table:module List} 所示。
+ \easybook{} 扩展了 \CTeX å®é›† \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模å—选项åŒæ ·å¯ç”¨å®ƒè®¾ç½®ï¼ŒåŽŸæœ‰çš„ \meta{键值列表} ä»ç„¶å¯ç”¨ã€‚本文档类目å‰æœ‰10个模å—用于实现常规的排版功能,如\ref{table:module List} 所示。
\begin{longtblr}
[caption = 模å—功能和å称清å•,label = table:module List]
{
@@ -348,8 +354,8 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
}
\hyperref[subsec:tools]{工具} & \hyperref[subsec:font]{部件字体} & \hyperref[subsec:space]{é—´è·} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{å‚考文献} \\
tools & font & space & ref & bib \\
- \hyperref[subsec:theorem]{定ç†} & \hyperref[subsec:page margins]{页é¢å°ºå¯¸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog]{目录} & \\
- thmt & geo & hdr & toc &
+ \hyperref[subsec:theorem]{定ç†} & \hyperref[subsec:page margins]{页é¢å°ºå¯¸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:contents]{目录} & \hyperref[subsec:caption]{图表题注} \\
+ thmt & geo & hdr & toc & cap
\end{longtblr}
\ref{exam:kv setting} 使用\ref{subsec:tools} 介ç»çš„å·¥å…·æ¨¡å— \module*{tools} 举例三ç§é”®å€¼åˆ—表设置方å¼ï¼š1. å„ \meta{模å—å} æ˜¯ç»Ÿä¸€æŽ¥å£ \cs{ctexset} 的键路径。2. ä¸åŒæ¨¡å—还具有å•ç‹¬çš„接å£å‘½ä»¤ \cs*{eb}\meta{模å—å}\code{\textcolor{cs}{set}}。3. \meta{模å—å} 也å¯ä»¥ä½¿ç”¨ \cs{ctexset} 命令的å¯é€‰å‚数设置。路径å与所属下级选项之间å¯ä»¥ \code{/} 或 \code{=} å·åˆ†å¼€ï¼Œæ–œçº¿ \code{/} åŽä¸èƒ½æœ‰ç©ºæ ¼æˆ–者æ¢è¡Œã€‚
@@ -404,12 +410,14 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\ctexset{tools/figurepath = path1}
\ctexset{tools/figurepath = {path2}{path3}}
\end{ctexexam}
+
+ 以下几个选项用于设置题注编å·çš„连字符,\code{chapter} 计数器的值大于0时连字符æ‰æœ‰æ„义。若需更改题注编å·çš„输出格å¼å¯åœ¨æ­£æ–‡ä¸­é‡æ–°å®šä¹‰ \cs*{the}\meta{计数器} 命令。
\keyval{hyphen-figure}{图片连字符}\Default{\Marg{.}}
设置图片题注编å·çš„连字符。
\keyval{hyphen-table}{表格连字符}\Default{\Marg{.}}
设置表格题注编å·çš„连字符。
- \keyval{hyphen-listing}{代ç è¿žå­—符}\Default{\Marg{.}}
- 设置代ç é¢˜æ³¨ç¼–å·çš„连字符。
+ \keyval{hyphen-lstlisting}{代ç è¿žå­—符}\Default{\Marg{.}}
+ 设置代ç é¢˜æ³¨ç¼–å·çš„连字符。\pkg*{listings} å®åŒ…çš„ \option{numberbychapter} 选项失效。
\keyval{hyphen-equation}{å…¬å¼è¿žå­—符}\Default{\Marg{.}}
设置公å¼é¢˜æ³¨ç¼–å·çš„连字符。
\keyval{hyphen-every}{连字符}\Default{\Marg{.}}
@@ -472,7 +480,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
设置表格题注的字体,包括字体æ—ã€å­—体系列ã€å­—体尺寸和字体形状命令。
\keyval{caption-figure}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
设置图片题注的字体,包括字体æ—ã€å­—体系列ã€å­—体尺寸和字体形状命令。
- \keyval{caption-listing}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
+ \keyval{caption-lstlisting}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
设置代ç é¢˜æ³¨çš„字体,包括字体æ—ã€å­—体系列ã€å­—体尺寸和字体形状命令。
\keyval{caption-every}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
åŒæ—¶è®¾ç½®å›¾ç‰‡ã€è¡¨æ ¼å’Œä»£ç é¢˜æ³¨çš„字体命令。
@@ -492,7 +500,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\label{subsec:reference}
\begin{cnltxlist}
\keychoice{backend}{\fbox{bibtex},biblatex}
- å‚考文献处ç†åŽç«¯ã€‚选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处ç†å‚考文献,加载 \pkg*{natbib} å®åŒ…。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} å®åŒ…。
+ å‚考文献处ç†åŽç«¯ã€‚选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处ç†å‚考文献,加载 \pkg*{natbib} å®åŒ…。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} å®åŒ…。若自动载入å‚考文献å®åŒ…则ä½äºŽå¯¼è¨€åŒºæœ«å°¾ï¼Œä½†åœ¨ \pkg*{hyperref} å®åŒ…之å‰ã€‚
\keychoice{bibstyle}{\fbox{numerical},authoryear,\optpath*{other sty}}
å‚考文献格å¼ä½¿ç”¨ä¸­å›½å‚考文献推è标准GB/T 7714-2015,对应顺åºç¼–ç åˆ¶å’Œè‘—者—出版年制两ç§é£Žæ ¼ã€‚若使用其它格å¼ï¼Œä½¿ç”¨ \hologo{BibTeX} 处ç†æ—¶éœ€ç¡®ä¿æ­£ç¡®çš„ \code{bst} 文件,使用 \hologo{biber} 处ç†å¯ä½¿ç”¨ \pkg*{biblatex} å®åŒ…支æŒçš„å‚考文献风格å称。
\keyval{citestyle}{标注风格}
@@ -544,11 +552,11 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\keyval{style}{定ç†æ ·å¼}\Default{default}
选项的值为使用 \cs{declaretheoremstyle} 命令新定义的定ç†æ ·å¼ã€‚
- 使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定ç†æ ·å¼ \code{fancy} 新建一个定ç†çŽ¯å¢ƒçŒœæƒ³ï¼Œç„¶åŽç”¨ä¸€ä¸ªåŸºäºŽ \pkg*{tcolorbox} å®åŒ…çš„é¢„ç½®å½©è‰²ç›’å­ \env{easyboxi} 增加背景:
+ 使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定ç†æ ·å¼ \code{fancy} 新建一个定ç†çŽ¯å¢ƒ \env*{lemma},然åŽç”¨ä¸€ä¸ªåŸºäºŽ \pkg*{tcolorbox} å®åŒ…çš„é¢„ç½®å½©è‰²ç›’å­ \env{easyboxi} 增加背景:
\begin{ctexexam}[labelref = exam:new theorem env]
- \declaretheorem[style = fancy,name = 猜想]{caixiang}
+ \declaretheorem[style = fancy,name = 引ç†]{lemma}
\addtotcbstyle{tc-easyboxi}{colback = GreenYellow}
- \tcolorboxenvironment{caixiang}{tc-easyboxi}
+ \tcolorboxenvironment{lemma}{tc-easyboxi}
\end{ctexexam}
\command{declaretheoremstyle}[\oarg{键值列表1}\marg{定ç†æ ·å¼}\oarg{键值列表2}]
定ç†æ ·å¼å£°æ˜Žå‘½ä»¤ï¼Œé”®å€¼åˆ—表支æŒè‡ªèº«ä»¥åŠå®šç†å£°æ˜Žå‘½ä»¤ \cs{declaretheorem} 的所有选项。å¯é€‰å‚æ•°çš„ \meta{键值列表1} 与 \meta{键值列表2} 等效,其中支æŒçš„选项如下:
@@ -591,21 +599,21 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\command{listoftheorems}[\sarg\oarg{键值列表}]\default{}
\item\key{listoftheorems}{定ç†ç›®å½•æ ‡é¢˜å}
\command{settheoremtocline}[\sarg\marg{环境å}\marg{标题定义}]\newtagv{2024bb}%
- 对 \pkg*{thmtools} å®åŒ…的定ç†çŽ¯å¢ƒç›®å½•å‘½ä»¤ \cs{listoftheorems} 进行了适é…调整,\ref{subsec:directory command} å’Œ\ref{subsec:catalog} 中的选项机制å‡å¯ç”¨ï¼Œä½†æ ‡é¢˜å®šä¹‰é€‰é¡¹ \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令å•ç‹¬è®¾ç½®ã€‚在 \meta{标题定义} 中有三个命令 \cs{thmtname}ã€\cs{thmtenvname} å’Œ \cs{thmtnote} 分别代表定ç†åã€å®šç†çŽ¯å¢ƒå和题注用于排版目录æ¡ç›®ã€‚
+ 对 \pkg*{thmtools} å®åŒ…的定ç†çŽ¯å¢ƒç›®å½•å‘½ä»¤ \cs{listoftheorems} 进行了适é…调整,\ref{subsec:directory command} å’Œ\ref{subsec:contents} 中的选项机制å‡å¯ç”¨ï¼Œä½†æ ‡é¢˜å®šä¹‰é€‰é¡¹ \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令å•ç‹¬è®¾ç½®ã€‚在 \meta{标题定义} 中有三个命令 \cs{thmtname}ã€\cs{thmtenvname} å’Œ \cs{thmtnote} 分别代表定ç†åã€å®šç†çŽ¯å¢ƒå和题注用于排版目录æ¡ç›®ã€‚
\end{cnltxlist}
\optpath{thmt/}\key{loeskip}{弹性长度}\Default{10pt}
定ç†ç›®å½•ä¸­æ¯ç« ç¬¬ä¸€ä¸ªæ¡ç›®ä¸Šæ–¹å¢žåŠ çš„åž‚ç›´è·ç¦»ã€‚与 \CTeX 的表格和图片目录中æ¯ç« é—´çš„æ¡ç›®è·ç¦»é€‰é¡¹ \option*{lotskip} å’Œ \option*{lofskip} 类似,在 \cls*{article} 模å¼ä¸­æ­¤é€‰é¡¹å¤±æ•ˆã€‚
\command{thmtifnote}[\marg{存在题注代ç }\marg{ä¸å­˜åœ¨é¢˜æ³¨ä»£ç }]
- 如果标题没题注å³å®šç†çŽ¯å¢ƒä¸ç”¨å¯é€‰å‚数,则标题ä¸åŠ å…¥å®šç†ç›®å½•ï¼Œè¿™æ˜¯é»˜è®¤ä¸”åˆç†çš„行为。若需è¦å°†æ— é¢˜æ³¨çš„标题加入目录å¯å°† \meta{环境å} 加入目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是å¦å­˜åœ¨é¢˜æ³¨éœ€è¦åœ¨ \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出ä¸åŒçš„内容。
+ 如果标题没题注å³å®šç†çŽ¯å¢ƒä¸ç”¨å¯é€‰å‚数,则标题ä¸åŠ å…¥å®šç†ç›®å½•ï¼Œè¿™æ˜¯é»˜è®¤ä¸”åˆç†çš„行为。若需è¦å°†æ— é¢˜æ³¨çš„标题加入目录å¯å°† \meta{环境å} 传给目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是å¦å­˜åœ¨é¢˜æ³¨éœ€è¦åœ¨ \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出ä¸åŒçš„内容。
\command{thmtifname}[\marg{存在编å·ä»£ç }\marg{ä¸å­˜åœ¨ç¼–å·ä»£ç }]
在 \meta{标题定义} 中测试当å‰å®šç†æ˜¯å¦æœ‰ç¼–å·ä»Žè€Œè¾“出ä¸åŒçš„内容,定ç†é£Žæ ¼é€‰é¡¹ \keyis{numbered}{no} 设置当å‰å®šç†çŽ¯å¢ƒæ²¡æœ‰ç¼–å·ã€‚
\begin{ctexexam}
- \contentsuse{caixiang}{loe}
- \RegisterTocName{caixiang}
- \setlisttheoremstyle{ignoreall,show = caixiang}
- \settheoremtocline{caixiang}
+ \contentsuse{lemma}{loe}
+ \RegisterTocName{lemma}
+ \setlisttheoremstyle{ignoreall,show = lemma}
+ \settheoremtocline{lemma}
{
- \listnumberline{caixiang}
+ \listnumberline{lemma}
\thmtname\thmtifnote{[\thmtnote]}{}
}
\end{ctexexam}
@@ -632,6 +640,32 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\end{ctexexam}
\end{cnltxlist}
+\subsection[图表题注]{图表题注\smodule{cap}}
+\label{subsec:caption}
+æ¨¡å— \module*{cap} 用于设置图表等浮动体的题注格å¼ã€‚题注主è¦ç”±ä¸‰éƒ¨åˆ†ç»„æˆï¼šæ ‡é¢˜æ ‡ç­¾å³å›¾è¡¨å与题注编å·çš„组åˆï¼Œæ ‡é¢˜æ–‡æœ¬æœ¬èº«é€šå¸¸æ˜¯å†…容的简短æ述,以åŠå°†æ–‡æœ¬ä¸Žæ ‡ç­¾åˆ†å¼€çš„题注分隔符。å¯ä»¥åœ¨å¯¼è¨€åŒºè®¾ç½®æ•´ä½“æ ¼å¼ï¼Œä¹Ÿå¯ä»¥åœ¨æ­£æ–‡ä½¿ç”¨å±€éƒ¨æ›´æ”¹æ ¼å¼ã€‚æ¨¡å— \module*{cap} ç”± \pkg*{caption} å®åŒ…æ供支æŒï¼ŒæŽ¥å£é€‰é¡¹ä¸Ž \pkg*{caption} å®åŒ…完全一致,但写法为 \meta{æ¡ç›®å}\code{/}\meta{选项}。\pkg*{caption} å®åŒ…æ供了多ç§æ–¹æ³•æ¥å®šåˆ¶æµ®åŠ¨çŽ¯å¢ƒï¼ˆä¾‹å¦‚ \env{figure} å’Œ \env{table})中的题注,并å¯ä¸Žè®¸å¤šå…¶å®ƒå®åŒ…é…åˆä½¿ç”¨ã€‚功能包括旋转题注ã€ä¾§å‘题注和连续题注等。下é¢åˆ—举几个题注选项的用法,\ref{exam:caption set} 中两ç§è®¾ç½®é¢˜æ³¨çš„方法是等效的,更多选项和创建方法å¯æŸ¥çœ‹å®åŒ…文档:
+\begin{cnltxlist}[itemsep = 0ex]
+ \keyval{table/labelsep}{标签分隔符}\default{}
+ \keyval{figure/format}{题注格å¼}\default{}
+ \keyval{lstlisting/font}{题注字体}\default{}
+ \begin{ctexexam}[labelref = exam:caption set]
+ \ctexset[cap]
+ {
+ table/labelsep = space,
+ figure/format = plain
+ }
+ \captionsetup[table]{labelsep = space}
+ \captionsetup[figure]{format = plain}
+ \end{ctexexam}
+ \begin{cnltxlist}
+ \command{RegisterCapOptions}[\marg{æ¡ç›®å列表}]
+ ç»™æ¨¡å— \module*{cap} 注册题注类型为 \meta{æ¡ç›®å} çš„ \pkg*{caption} 接å£é€‰é¡¹ã€‚已预注册 \module*{figure}ã€\module*{table} å’Œ \module*{lstlisting} 三ç§ç±»åž‹çš„题注选项。å¯ä»¥æ­é… \pkg*{newfloat} å®åŒ…创建更多类型的浮动环境并设置相应题注。
+ \end{cnltxlist}
+ \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{}
+ \command{captionof}[\sarg\marg{æ¡ç›®å}\oarg{目录标题}\marg{标题}]\default{}
+ \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}]
+ 题注命令 \cs{caption} 用于在图表上下方æ’入题注,需è¦åœ¨æµ®åŠ¨çŽ¯å¢ƒ \env*{figure} å’Œ \env*{table} 中使用。在浮动环境外å¯ä»¥ä½¿ç”¨ \cs{captionof} 命令,第一个å‚数指定æ¡ç›®å。\cs{bicaption} 命令å¯ä»¥å®žçŽ°ä¸­è‹±æ–‡åŒè¯­é¢˜æ³¨ï¼Œéœ€è¦åœ¨å¯¼è¨€åŒºè½½å…¥ \pkg*{bicaption} å®åŒ…,具体用法è§å®åŒ…文档。
+\end{cnltxlist}
+
\subsection[页眉页脚]{页眉页脚\smodule{hdr}}
\label{subsec:header and footer}
æ¨¡å— \module*{hdr} 设置的命令由 \pkg*{fancyhdr} å®åŒ…æ供支æŒã€‚标题标记由标签和标题组æˆï¼Œé€‰é¡¹ä¸­å‚æ•° \code{\#1} 代表当å‰ç« ã€èŠ‚或å°èŠ‚的标题。在 \cls*{book} 模å¼æ—¶ä½¿ç”¨æ ‡é¢˜æ ‡è®°é€‰é¡¹ \option{chapter-mark} å’Œ \option{section-mark},在 \cls*{article} 模å¼æ—¶ä½¿ç”¨ \option{section-mark} å’Œ \option{subsection-mark} 选项,这与标准文档类的行为一致。é‡æ–°è®¾ç½®æ ‡é¢˜æ ‡è®°é€‰é¡¹æ—¶æ ‡è®°å¤§å°å†™é€‰é¡¹ \option{uppercase} 会失效。
@@ -708,6 +742,8 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\ebhdrset{footnotetype = plain,footnotetype = bottom}
\ebhdrset{footnotetype = {hang,bottom}}
\end{ctexexam}
+ \command{PushFntBottom}\newtagv{2024cx}%
+ 默认情况下当具有 \code{b} å‚数的底部浮动体与脚注åŒæ—¶å­˜åœ¨æ—¶ï¼Œè„šæ³¨å°†ä½äºŽæµ®åŠ¨ä½“上部。此命令å¯ä½¿è„šæ³¨å§‹ç»ˆä½äºŽé¡µé¢åº•éƒ¨ï¼Œä¸Ž \keyis{footnotetype}{bottom} 作用相åŒï¼Œåªèƒ½åœ¨å¯¼è¨€åŒºå…¨å±€ä½¿ç”¨ã€‚
\keyval{fnfirstindent}{刚性长度}\Default{1em}
æ¯ä¸ªè„šæ³¨é¦–段的首行缩进(悬挂缩进 \code{hang} 为整段缩进),等于长度 \cs{fnfirstindent} 的值。
\keyval{fnafterindent}{刚性长度}\Default{2em}
@@ -803,7 +839,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\end{cnltxlist}
\subsection[目录]{目录\smodule{toc}}
-\label{subsec:catalog}
+\label{subsec:contents}
æ¨¡å— \module*{toc} 将使用 \pkg*{titletoc} å®åŒ…处ç†ç›®å½•æ ·å¼ã€‚默认包括 \module*{part}$\longrightarrow$\module*{subparagraph}ã€\module*{figure}ã€\module*{table} å’Œ \module*{lstlisting} æ¡ç›®å的键路径。选项å‰å¸¦æœ‰\hface 符å·è¡¨ç¤ºæ”¯æŒæ‰€æœ‰ç›¸åº”\textbf{æ¡ç›®å}的路径,其它选项则处于 \module*{toc} 键路径下。目录选项å‡æ”¯æŒæ ‡é¢˜ç¼–å·åˆ¤å®šå‘½ä»¤ \cs{CTEXifname}\footnote{此功能需è¦\textbf{2023/06/01}以åŽçš„ \hologo{LaTeX} 内核支æŒã€‚}。目å‰æ”¯æŒå¤šæ•°å­¦æœ¯è®ºæ–‡ç›®å½•æ ·å¼ï¼Œæ›´å¤æ‚çš„æ ·å¼å¯ä»¥æŸ¥çœ‹ \pkg*{titletoc} 的相关用法。
\begin{cnltxlist}
\keyval{tocformat}{æ¡ç›®æ ¼å¼}\dtag
@@ -867,16 +903,16 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\DeclareFloatList{algorithm}{loa}
\listofalgorithms[multoc] % 在正文中输出åŒæ ç®—法目录
\end{ctexexam}
- \command{AllotCaptionExt}[\marg{æ¡ç›®å}\marg{扩展å}]
+ \command{AssignCaptionExt}[\marg{æ¡ç›®å}\marg{扩展å}]
ç»™æ¡ç›®ç±»åž‹å称为 \meta{æ¡ç›®å} 的标题分é…目录文件 \meta{扩展å}ï¼Œæ³¨æ„ \meta{扩展å} 需è¦è¢«å®šä¹‰åœ¨ \cs*{ext@}\meta{æ¡ç›®å} 命令中æ‰æœ‰æ•ˆï¼ˆ\pkg*{caption} å®åŒ…的默认定义形å¼ï¼‰ã€‚å¯ä»¥ä½¿ä¸åŒçš„ \meta{æ¡ç›®å} 共享一个目录:
\begin{ctexexam}
- \AllotCaptionExt{table}{lof}
+ \AssignCaptionExt{table}{lof}
\newcommand{\listoffiguretables}{\listoffigures} % åŒæ—¶è¾“出图表目录的命令
\end{ctexexam}
- \command{AllotPartialExt}[\marg{扩展å1}\marg{扩展å2}]\newtagv{2024bk}
+ \command{AssignPartialExt}[\marg{扩展å1}\marg{扩展å2}]\newtagv{2024bk}
给目录文件扩展å为 \meta{扩展å1} 的目录分é…扩展å为 \meta{扩展å2} 的局部目录\footnote{此功能需è¦\textbf{2023/06/01}以åŽçš„ \hologo{LaTeX} 内核支æŒã€‚},预注册的æ¡ç›®å‡æ— éœ€å†åˆ†é…。用于æ­é…题注标题 \cs{caption} 命令和 \pkg*{titletoc} å®åŒ…的局部题注目录命令。
\begin{ctexexam}
- \AllotPartialExt{loa}{pla}
+ \AssignPartialExt{loa}{pla}
\startlist[fancy]{loa}
\captionof{algorithm}{算法标题}
\stoplist[fancy]{loa}
@@ -913,6 +949,8 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
将目录页ç è£…进一个å³å¯¹é½çš„水平盒å­é‡Œã€‚这样å¯ä»¥ä½¿ç›®å½•å¼•å¯¼çº¿å³ç«¯å¯¹é½å¹¶ä¸Žé¡µç ä¿æŒä¸€å®šé—´è·ï¼Œå¦åˆ™ä¼šä¸Žé¡µç ç›¸è¿žã€‚
\keyval{pagenumwd}{刚性长度}\Default{1.55em}
è®¾ç½®å¼€å¯ \option{dotalign} 选项时页ç æ°´å¹³ç›’å­çš„宽度。
+ \keychoice{fileopen}{\fbox{once},odd}
+ 编译文档时打开目录文件进行写入æ“作的方å¼ï¼Œè¿™ä¸ªé€‰é¡¹å½±å“é‡å¤ä½¿ç”¨ç›®å½•å‘½ä»¤æ—¶çš„输出行为。默认åªåœ¨ç¬¬ä¸€æ¬¡ç¼–译时打开文件,选择 \code{odd} 将仅在奇数次编译时打开文件。
\keyval{tocafter-every}{è·ç¦»å‘½ä»¤}\Default{\cs*{hspace}\Marg{1em}}
统一设置所有类型æ¡ç›®ç¼–å·ä¸Žæ ‡é¢˜é—´çš„代ç ã€‚
\keyval{tocindent-every}{刚性长度}
@@ -925,8 +963,47 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\section{环境和命令}
-\subsection{文区命令}
+\subsection{å°é¢å’Œæ–‡åŒº}
\begin{cnltxlist}
+ \command{maketitle}[\oarg{键值列表}]\newtagv{2024dh}%
+ é‡æ–°æ”¹å†™äº†é»˜è®¤çš„å°é¢æ ‡é¢˜å‘½ä»¤ï¼Œåœ¨ä¿è¯åŽŸç”Ÿé£Žæ ¼çš„å‰æ下使用 \pkg*{xtemplate} å®åŒ…å°†å°é¢æŠ½è±¡ä¸ºç”±å®žä¾‹ç»„æˆçš„模æ¿ã€‚并为命令增加了å¯é€‰å‚数,选项的å«ä¹‰ä¸Žæ ‡å‡†æ–‡æ¡£ç±»ä¸€è‡´ï¼š
+ \keyval{title}{文档标题}
+ 设置文档的标题,å¯ä»¥åŒ…å«æ ¼å¼å‘½ä»¤ã€‚如果没有设置标题而输出å°é¢ä¼šæŠ¥é”™ã€‚
+ \keyval{author}{文档作者}
+ 设置文档的作者,å¯ä»¥åŒ…å«æ ¼å¼å‘½ä»¤ã€‚多ä½ä½œè€…之间å¯ä»¥ç”¨ \cs*{and} 命令分隔,æ¯ä¸ªä½œè€…åŽå¯ç”¨ \cs*{thanks} 命令添加致谢脚注。
+ \keyval{date}{文档日期}\Default{\cs*{today}}
+ 设置文档的日期,å¯ä»¥åŒ…å«æ ¼å¼å‘½ä»¤ã€‚默认的文档日期为当å‰æ—¥æœŸ \cs*{today}。
+ \command{DeclareInstance}[\Marg{easybook}\marg{ä½ç½®}\Marg{cover}\marg{键值列表}]
+ å°é¢æ¨¡æ¿å¯ç”¨ \pkg*{xtemplate} æ供的实例声明命令进行自由定制,\ref{exam:cover instance} 举例说明了定制页é¢ä¸­éƒ¨çš„内容。模æ¿ç”±é¡µé¢ä¸Šã€ä¸­å’Œä¸‹ä¸‰ä¸ªä½ç½®çš„实例组æˆï¼Œå®ƒä»¬çš„ \meta{ä½ç½®} å字分别为 \code{top}ã€\code{middle} å’Œ \code{bottom}。æ¯ä¸ªå®žä¾‹çš„属性å¯ç”¨ \meta{键值列表} 修改,包å«çš„选项如下:
+ \keyval{content}{实例内容}
+ 设置实例内容,å¯ä»¥åŒ…å«ä»»ä½•è®°å·åˆ—表的代ç ã€‚通常为格å¼å’ŒæŽ’版内容的命令,在局部生效。
+ \keyval{beforecode}{实例å‰ä»£ç }
+ 设置实例内容å‰çš„代ç ï¼Œå¯ä»¥åŒ…å«ä»»ä½•è®°å·åˆ—表的代ç ã€‚通常为æ¢é¡µå’Œåž‚ç›´è·ç¦»çš„命令。
+ \keyval{aftercode}{实例åŽä»£ç }
+ 与 \option{before} 选项类似,设置实例内容åŽçš„代ç ã€‚
+ \keychoice{align}{l,\fbox{c},r,n}
+ 设置实例内容的对é½æ–¹å¼ï¼Œåˆ†åˆ«ä¸ºå·¦ã€ä¸­ã€å³å’Œè‡ªç„¶å¯¹é½ï¼Œè‡ªç„¶å¯¹é½å³æ­£å¸¸çš„段è½æ–‡æœ¬ã€‚
+ \begin{ctexexam}[labelref = exam:cover instance]
+ \DeclareInstance{easybook}{middle}{cover}
+ {
+ content =
+ {
+ \thispagestyle{empty}
+ \begin{tblr}
+ {
+ columns = c,
+ hline{2-4} = {2}{0.5pt,solid},
+ column{1} = {rightsep = 0pt}
+ }
+ 标题:& 一个文档标题 \\
+ 作者:& 张三 \\
+ 日期:& \today
+ \end{tblr}
+ },
+ beforecode = \null\vspace{3cm},
+ aftercode = \clearpage
+ }
+ \end{ctexexam}
\command{frontmatter}[\sarg\oarg{ç¼–å·æ ¼å¼}]\Default{Roman}
å‰è¨€åŒºå‘½ä»¤ã€‚使部分和章标题ä¸ç¼–å·ï¼Œå¸¦æœ‰æ˜Ÿå·çš„å˜ä½“命令ä¸ä½¿ç”¨ \cs{cleardoublepage} å‘½ä»¤ã€‚é¡µç  \meta{ç¼–å·æ ¼å¼} å¯è®¾ç½®ä¸º \code{arabic}ã€\code{Alph}ã€\code{alph}ã€\code{Roman}ã€\code{roman} å’Œ \code{chinese} å½¢å¼ã€‚
\command{mainmatter}[\sarg]
@@ -941,7 +1018,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\subsection{目录命令}
\label{subsec:directory command}
-\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有å¯é€‰å‚数用于设置标题格å¼å’Œæ æ•°ç­‰ï¼Œå¹¶ä¸”与标准文档类ä¸åŒçš„是目录命令å¯åœ¨æ­£æ–‡ä¸­\textbf{é‡å¤}使用\footnote{此功能需è¦\textbf{2023/06/01}以åŽçš„ \hologo{LaTeX} 内核支æŒã€‚}。更多目录命令的创建和样å¼è®¾ç½®å¯å‚考\ref{subsec:catalog}。
+\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有å¯é€‰å‚数用于设置标题格å¼å’Œæ æ•°ç­‰ï¼Œå¹¶ä¸”与标准文档类ä¸åŒçš„是目录命令å¯åœ¨æ­£æ–‡ä¸­\textbf{é‡å¤}使用\footnote{此功能需è¦\textbf{2023/06/01}以åŽçš„ \hologo{LaTeX} 内核支æŒã€‚}。更多目录命令的创建和样å¼è®¾ç½®å¯å‚考\ref{subsec:contents}。
\begin{cnltxlist}
\command{tableofcontents}[\sarg\oarg{键值列表}\darg{代ç é’©å­}]
章节标题目录命令,支æŒä¸­è‹±æ–‡åŒè¯­æ ‡é¢˜ç›®å½•è¾“出。带有星å·å‚æ•°ä¸è¾“出目录æ¡ç›®ä¸Šæ–¹çš„标题。\meta{代ç é’©å­} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代ç ï¼Œå¯ä»¥æ’入设置目录样å¼å’Œæ¢é¡µç­‰å‘½ä»¤ã€‚
@@ -1300,30 +1377,16 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\end{ctexexam}
\end{cnltxlist}
-\subsection{图表题注}
-\pkg*{caption} å®åŒ…æ供了多ç§æ–¹æ³•æ¥å®šåˆ¶æµ®åŠ¨çŽ¯å¢ƒï¼ˆä¾‹å¦‚ \env{figure} å’Œ \env{table})中的标题,并å¯ä¸Žè®¸å¤šå…¶å®ƒå®åŒ…é…åˆä½¿ç”¨ã€‚功能包括旋转题注ã€ä¾§å‘题注和连续题注等。
-\begin{cnltxlist}
- \command{captionsetup}[\oarg{æ¡ç›®å}\marg{键值列表}]
- 这是 \pkg*{caption} å®åŒ…的接å£å‘½ä»¤ï¼Œ\meta{键值列表} æ供多个选项更改图表题注的格å¼ã€‚题注主è¦ç”±ä¸‰éƒ¨åˆ†ç»„æˆï¼šæ ‡é¢˜æ ‡ç­¾å³å›¾è¡¨å与题注编å·çš„组åˆï¼Œæ ‡é¢˜æ–‡æœ¬æœ¬èº«é€šå¸¸æ˜¯å†…容的简短æ述,以åŠå°†æ–‡æœ¬ä¸Žæ ‡ç­¾åˆ†å¼€çš„题注分隔符。å¯ä»¥åœ¨å¯¼è¨€åŒºè®¾ç½®æ•´ä½“æ ¼å¼ï¼Œä¹Ÿå¯ä»¥åœ¨æ­£æ–‡ä½¿ç”¨å±€éƒ¨æ›´æ”¹æ ¼å¼ã€‚
-\end{cnltxlist}
-
-\begin{cnltxlist}[itemsep = 0ex]
- \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{}
- \command{captionof}[\sarg\marg{æ¡ç›®å}\oarg{目录标题}\marg{标题}]\default{}
- \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}]
- 题注命令 \cs{caption} 用于在图表上下方æ’入题注,需è¦åœ¨æµ®åŠ¨çŽ¯å¢ƒ \env*{figure} å’Œ \env*{table} 中使用。在浮动环境外å¯ä»¥ä½¿ç”¨ \cs{captionof} 命令,第一个å‚数指定æ¡ç›®å。å¯ä»¥æ­é… \pkg*{newfloat} å®åŒ…创建更多类型的浮动环境并设置相应题注。\cs{bicaption} 命令å¯ä»¥å®žçŽ°ä¸­è‹±æ–‡åŒè¯­é¢˜æ³¨ï¼Œéœ€è¦åœ¨å¯¼è¨€åŒºè½½å…¥ \pkg*{bicaption} å®åŒ…,具体用法è§è¯´æ˜Žæ–‡æ¡£ã€‚
-\end{cnltxlist}
-
\subsection{索引}
\begin{cnltxlist}
\command{indexsetup}[\marg{键值列表}]
- \pkg*{imakeidx} å®åŒ…增强了索引的功能,å¯ä½¿ç”¨æˆ·åœ¨åˆ¶ä½œå’ŒæŽ’版文档的åŒæ—¶åˆ¶ä½œä¸€ä¸ªæˆ–多个索引。这是 \pkg*{imakeidx} å®åŒ…的接å£å‘½ä»¤ï¼Œç”¨äºŽè®¾ç½®ç´¢å¼•è¡¨çš„整体格å¼ã€‚
+ \pkg*{imakeidx} å®åŒ…增强了索引的功能,å¯ä½¿ç”¨æˆ·åœ¨åˆ¶ä½œå’ŒæŽ’版文档的åŒæ—¶åˆ¶ä½œä¸€ä¸ªæˆ–多个索引。这是 \pkg*{imakeidx} å®åŒ…的接å£å‘½ä»¤ï¼Œç”¨äºŽè®¾ç½®ç´¢å¼•è¡¨çš„整体格å¼ï¼Œå®ƒçš„ \option{level} å’Œ \option{headers} 选项失效。
\command{index}[\oarg{索引å}\marg{标签}]
索引标签命令的å¯é€‰å‚æ•°å¯ä»¥ç”¨ä¸åŒçš„ \meta{索引å} 给多个索引表设置标签。
\command{makeindex}[\oarg{键值列表}]
用于导言区开å¯ç´¢å¼•æ”¶é›†çš„命令。这个命令å¯ä»¥é‡å¤ä½¿ç”¨æ”¶é›†å¤šä¸ªç´¢å¼•è¡¨ï¼Œä»¥ä¸åŒçš„ \meta{索引å} 作为区分,如果仅打å°ä¸€ä¸ªç´¢å¼•è¡¨æ²¡å¿…è¦é‡å¤ä½¿ç”¨ã€‚
\command{printindex}[\sarg\oarg{键值列表}]
- 打å°ä¸åŒç´¢å¼•è¡¨çš„命令。这个命令被é‡æ–°å®šä¹‰ï¼Œ\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相åŒï¼Œä½†æ˜¯æŽ¥å£å‘½ä»¤ \cs{indexsetup} 的部分选项失效。
+ 打å°ä¸åŒç´¢å¼•è¡¨çš„命令。这个命令被é‡æ–°å®šä¹‰ï¼Œ\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相åŒï¼Œå¹¶å¤šå‡º \option{name} 选项用于指定打å°ç´¢å¼•çš„å字。
\keyval{name}{索引å}
指定输出å为 \meta{索引å} 的索引表,如果åªä½¿ç”¨ä¸€ä¸ªç´¢å¼•è¡¨åˆ™é»˜è®¤ä¸ºé¡¹ç›®æ–‡ä»¶åä¸éœ€è¦æŒ‡å®šã€‚
\end{cnltxlist}
@@ -1379,14 +1442,6 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
该命令由文档å®åŒ… \pkg*{pdfpages} æ供。å¯ä»¥å°†å…¶å®ƒ \code{pdf} 文档æ’入当å‰æ–‡æ¡£ï¼Œæ¯”如æ’入其它软件制作的å°é¢ã€‚å¯é€‰å‚æ•°å¯ä»¥æŒ‡å®šæ’入页数ã€é€»è¾‘页和横å‘页é¢ç­‰ï¼Œè¯¦æƒ…查看å®åŒ…文档。
\end{cnltxlist}
-\subsection{下划线}
-\begin{cnltxlist}[itemsep = 0ex]
- \command{uline}[\marg{下划直线}]\default{}
- \command{uuline}[\marg{下划åŒç›´çº¿}]\default{}
- \command{uwave}[\marg{下划波浪线}]
- \pkg*{ulem} å®åŒ…æ供了多ç§ä¸‹åˆ’线命令,å¯ä»¥é‡æ–°å®šä¹‰ \cs{ULthickness} 命令控制下划线的粗细。下划线的深度由 \cs{ULdepth} 控制,默认值 \cs*{maxdimen} 是一个å…许深度根æ®å½“å‰å­—体å˜åŒ–的特殊标志,当然也å¯ä»¥ä½¿ç”¨ \cs*{setlength} 设定为指定深度。
-\end{cnltxlist}
-
\appendix
\setlist[1]{}
\begin{changelog}[title = 更新日志]
@@ -1429,7 +1484,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\item 新增脚注段è½æ–‡æœ¬æ ¼å¼å®šä¹‰å‘½ä»¤ \cs{deffntpara} 和脚注间è·ç¦»é€‰é¡¹ \option{footnotesep}。
\item 新增悬挂缩进命令 \cs{hangfrom}。
\item 新增行间公å¼ä¸Žæ­£æ–‡ä¸Šä¸‹é—´è·é€‰é¡¹ \option{abovedisplayskip} å’Œ \option{belowdisplayskip}。
- \item 新增目录文件扩展å分é…命令 \cs{AllotCaptionExt}。
+ \item 新增目录文件扩展å分é…命令 \cs{AssignCaptionExt}。
\end{version}
\shortversion{v = 2024aq,date = 2024/03/31,changes = ä¿®å¤å‘½ä»¤ \cs{ebifbitoc} 用于æ¡ç›®ç¼©è¿›é€‰é¡¹ \option{tocindent} 失效的问题。}
\begin{version}[v = 2024as,date = 2024/04/19]
@@ -1441,7 +1496,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\end{version}
\shortversion{v = 2024aw,date = 2024/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。}
\shortversion{v = 2024bb,date = 2024/04/26,changes = 增加对 \pkg*{thmtools} å®åŒ…定ç†çŽ¯å¢ƒç›®å½• \cs{listoftheorems} 的支æŒã€‚}
- \shortversion{v = 2024bk,date = 2024/05/07,changes = 新增局部题注目录分é…命令 \cs{AllotPartialExt}。}
+ \shortversion{v = 2024bk,date = 2024/05/07,changes = 新增局部题注目录分é…命令 \cs{AssignPartialExt}。}
\begin{version}[v = 2024bn,date = 2024/05/10]
\fixed
\item ä¿®å¤ \module*{toc} 模å—中带有 \option*{every} åŽç¼€çš„选项ä¸å¯¹æ‰€æœ‰å·²æ³¨å†Œæ¡ç›®æœ‰æ•ˆçš„问题。
@@ -1458,6 +1513,15 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\shortversion{v = 2024ci,date = 2024/06/22,changes = ä¿®å¤ä½¿ç”¨ \code{flush} 类型脚注报错。}
\shortversion{v = 2024co,date = 2024/07/06,changes = 目录命令的å¯é€‰å‚æ•°æ”¯æŒ \CTeX 键值列表所有路径的章节标题样å¼é€‰é¡¹ã€‚}
\shortversion{v = 2024cq,date = 2024/07/12,changes = 新增章节标题格å¼å¤åˆ¶å‘½ä»¤ \cs{CopyTitleFormat}。}
+ \shortversion{v = 2024cu,date = 2024/07/20,changes = ä¿®å¤æ— ç¼–å·çš„定ç†çŽ¯å¢ƒæ ‡ç­¾å‘½ä»¤ \cs*{p@}\meta{定ç†å} 缺失导致报错的问题。}
+ \shortversion{v = 2024cx,date = 2024/07/28,changes = 新增将脚注置于页é¢åº•éƒ¨çš„命令 \cs{PushFntBottom}。}
+ \begin{version}[v = 2024dh,date = 2024/08/06]
+ \changed
+ \item å–消默认载入 \pkg*{ulem} 下划线å®åŒ…。
+ \added
+ \item 使用 \pkg*{xtemplate} å®åŒ…å°†å°é¢æ ‡é¢˜å‘½ä»¤ \cs{maketitle} 抽象为由实例组æˆçš„模æ¿ã€‚
+ \item æ–°å¢žå›¾è¡¨é¢˜æ³¨æ¨¡å— \module*{cap}。
+ \end{version}
\end{changelog}
\nocite{*}
% \AddToHook{cmd/printindex/before}{\clearpage}
diff --git a/Master/texmf-dist/doc/latex/fancyhdr/README b/Master/texmf-dist/doc/latex/fancyhdr/README
index 4a7d219fdc0..3131149015c 100644
--- a/Master/texmf-dist/doc/latex/fancyhdr/README
+++ b/Master/texmf-dist/doc/latex/fancyhdr/README
@@ -27,7 +27,7 @@ In order to latex the documentation you need to have a copy of
boxedminipage.sty (CTAN:/macros/latex/contrib/boxedminipage) and
refcount.sty (CTAN:/macros/latex/contrib/oberdiek/) installed.
-This is version 4.2 of fancyhdr.sty and extramarks.sty. They are
+This is version 4.3.1 of fancyhdr.sty and extramarks.sty. They are
described in the third edition of The LaTeX Companion.
Extramarks.sty has not been changed, except for the version and
copyright information.
diff --git a/Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf b/Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf
index 9f781dad3ba..35cc4524ff6 100644
--- a/Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf
+++ b/Master/texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fillwith/MANIFEST.md b/Master/texmf-dist/doc/latex/fillwith/MANIFEST.md
new file mode 100644
index 00000000000..4cfe5172382
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fillwith/MANIFEST.md
@@ -0,0 +1,54 @@
+# Manifest for fillwith
+
+Copyright (C) Fri Aug 9 12:12:59 2024 Clea F. Rees
+
+This work may be distributed and/or modified under the conditions of the LaTeX
+Project Public License, either version 1.3c of this license or (at your option)
+any later version. The latest version of this license is in
+ https://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX version
+2008-05-04 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Clea F. Rees.
+
+This work consists of all files listed in manifest.txt.
+
+This file was automatically generated by `l3build manifest`.
+
+## Source files
+
+
+### Package files
+
+
+* README.md
+* MANIFEST.md
+* fillwith.dtx
+* fillwith.ins
+
+### Development files
+
+
+* build.lua
+* manifest.lua
+* tag.lua
+* fillwith-test.lvt
+* fillwith-test.luatex.tlg
+* fillwith-test.tlg
+* fillwith-test.xetex.tlg
+
+
+## Derived files
+
+
+### Package files
+
+* fillwith.sty
+* fillwith-example.tex
+
+### Typeset documentation
+
+* fillwith.pdf
+* fillwith-example.pdf
diff --git a/Master/texmf-dist/doc/latex/fillwith/README.md b/Master/texmf-dist/doc/latex/fillwith/README.md
new file mode 100644
index 00000000000..f7f1922b89c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fillwith/README.md
@@ -0,0 +1,32 @@
+$Id: README.md 10215 2024-08-09 11:12:21Z cfrees $
+
+# fillwith
+
+A LaTeX package for filling vertical space with something rather than nothing.
+
+Currently supported somethings are solid rules and dotted lines, with or
+without numbers. The package uses a mixture of plain-ish macros, LaTeX 2e and
+expl3 methods, but a key-value approach to configuration should make the
+document-level interface relatively sane, even if nothing else is.
+
+For details, please see fillwith.pdf. The implementation is minimally
+documented because I have no idea of how to document code.
+
+## Code Repositories
+
+Code is hosted at
+ https://codeberg.org/cfr/fillwith
+For convenience, the repository is mirrored at
+ https://github.com/cfr42/fillwith
+
+## Contact Details
+
+Bug reports, feature requests etc. should be filed at
+ https://codeberg.org/cfr/fillwith/issues
+
+
+Clea F. Rees
+Version 0.3
+2024-08-09
+
+vim: et:tw=80:
diff --git a/Master/texmf-dist/doc/latex/fillwith/fillwith-example.pdf b/Master/texmf-dist/doc/latex/fillwith/fillwith-example.pdf
new file mode 100644
index 00000000000..5af411b5e05
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fillwith/fillwith-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fillwith/fillwith-example.tex b/Master/texmf-dist/doc/latex/fillwith/fillwith-example.tex
new file mode 100644
index 00000000000..29387280401
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fillwith/fillwith-example.tex
@@ -0,0 +1,71 @@
+%%
+%% This is file `fillwith-example.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fillwith.dtx (with options: `ee')
+%% Copyright (C) 2024 Clea F. Rees.
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008-05-04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Clea F. Rees.
+%%
+%% This file may only be distributed together with a copy of the package
+%% fillwith. You may however distribute the package fillwith without
+%% such generated files.
+%%
+%% This work consists of all files listed in manifest.txt.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\listfiles
+\documentclass[british,a6paper]{article}
+\usepackage{babel}
+\usepackage[scale=.85,marginparwidth=0pt,marginparsep=0pt]{geometry}
+\usepackage{fillwith}
+\usepackage{cfr-lm}
+\begin{document}
+\author{A. N. Author}
+\title{\texttt{fillwith} Demo}
+\maketitle
+\begin{enumerate}
+ \item What is the answer to the question?
+ \fillwithrules
+ \item How did you answer the previous question?
+ \fillwith*[style=line]
+ \item Why answer?
+
+ \fillwith*[style=rule,fillwith ht=1.25,colour=blue!40!cyan]
+ \clearpage
+ \item Evaluate your responses so far.
+ \fillwithdottedlines
+ \item Evaluate your responses so far.
+
+ {%
+ \fillwithset{dotted colour=magenta}%
+ \fillwithdottedlines[1.5]
+ }
+ \item Criticise your evaluation.
+ \fillwithdottedlines*
+ \clearpage
+ \item Assess your answers.
+ \fillwithnolines[goal ht = .33\textheight]
+ \item Assess your answers.
+
+ \fillwithnolines[style=rules,no font=\bfseries\tiny,colour=green!50!gray,goal ht = .67\textheight]
+ \item Summarise your analysis.
+ \fillwithnolines*
+\end{enumerate}
+
+\end{document}
+\endinput
+%%
+%% End of file `fillwith-example.tex'.
diff --git a/Master/texmf-dist/doc/latex/fillwith/fillwith.pdf b/Master/texmf-dist/doc/latex/fillwith/fillwith.pdf
new file mode 100644
index 00000000000..77fa2ccc000
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fillwith/fillwith.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md b/Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md
index 9706fbbe09e..46a32e8fc93 100644
--- a/Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/fontscale/CHANGELOG.md
@@ -7,6 +7,58 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v2.1.0] - 2024-08-12
+
+### Changed
+- Documentation improvements.
+
+### Added
+- `\CurrentFontSizeCommand`
+
+## [v2.0.0] - 2024-08-02
+
+### Changed
+- This update includes many changes that are backwards incompatible.
+- The documentation has been completely rewritten.
+- Package description changed from "A user interface for setting document font
+ sizes" to "A flexible interface for setting font sizes".
+- The code no longer uses `\@setfontsize`.
+- The font size commands provided by this package now do nothing, except issue
+ a warning, if used in math mode.
+- The base font size of the musical typographic scale is now set by the new key
+ `musical/base`.
+- `\PrintFontParameters` renamed to `\PrintFontSizeParameters`.
+- `\PrintAllFontParameters` renamed to `\PrintAllFontSizeParameters`.
+- `\PrintSampleText` uses a `+m`- instead of an `O`-type argument.
+- `\PrintFontSizeCommand` prints `\undefined` instead of `UNDEFINED`.
+- `\fontscalesetup` is now removed in `\text_purify:n`.
+
+### Removed
+- Keys `typographic-scale=modular` and `modular`.
+- Key `ignore-order` (no support for using `\tiny` to `\Huge` in the wrong
+ order).
+- Key `reset` (very rarely used).
+- Public `prop` variables for each font size command from `\tiny` to `\Huge`.
+ (They are redundant with the other public variables and programmers will very
+ likely prefer using their own `prop` variables.)
+
+### Added
+- `\fontscalesetup` now has an optional starred argument which first resets the
+ keys to their initial values.
+- Key `musical/base` (explained earlier).
+- The package commands now issue a user-friendly error message if the font size
+ is a zero or negative length.
+- The package commands now issue an error if the font baselineskip is less than
+ the font size.
+- The package commands that would produce a low-level error if used in math
+ mode now issue a user-friendly error message instead.
+
+### Fixed
+- Now correctly checks that the package requires `LaTeX2e` version 2023-11-01
+ or newer.
+- The keys `<font size command>` no longer incorrectly treat a `/` within a
+ brace group as the delimiter.
+
## [v1.3.0] - 2024-05-17
### Added
@@ -18,7 +70,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Changed
- The code now regularly uses `V`- and `v`-type arguments to get the value of a
variable.
-- The code now uses private `expl3` wrappers around the LaTeX2e commands
+- The code now uses private `expl3` wrappers around the `LaTeX2e` commands
`\@setfontsize`, `\fontsize`, and `\selectfont`.
## [v1.2.2] - 2024-04-29
diff --git a/Master/texmf-dist/doc/latex/fontscale/README.txt b/Master/texmf-dist/doc/latex/fontscale/README.txt
index 292cfada9ba..d6c9224ee0d 100644
--- a/Master/texmf-dist/doc/latex/fontscale/README.txt
+++ b/Master/texmf-dist/doc/latex/fontscale/README.txt
@@ -1,4 +1,4 @@
-Package: fontscale -- A user interface for setting document font sizes
+Package: fontscale -- A flexible interface for setting font sizes
Copyright: 2024 (c) Oliver Beery <beeryoliver@gmail.com>
CTAN: https://ctan.org/pkg/fontscale
Repository: https://github.com/beeryoliver/fontscale
diff --git a/Master/texmf-dist/doc/latex/fontscale/beery.cls b/Master/texmf-dist/doc/latex/fontscale/beery.cls
index 4777c06a8ef..f2fd7fd2c5f 100644
--- a/Master/texmf-dist/doc/latex/fontscale/beery.cls
+++ b/Master/texmf-dist/doc/latex/fontscale/beery.cls
@@ -1,71 +1,84 @@
-% Note: This documentclass is designed ONLY for the document 'fontscale-manual'. Compiled using LuaLaTeX.
+% Note: This class is designed ONLY for 'fontscale.tex'. Compiled with LuaTeX.
-% The 2023-06-01 LaTeX kernel update added the 'shipout' hook.
-\NeedsTeXFormat{LaTeX2e}[2023-06-01]
+% LaTeX2e version 2023-11-01 added \IfExplAtLeastTF.
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\ProvidesExplClass
{beery}
- {2024-04-21}
+ {2024-08-12}
{}
{}
-\RequirePackage { fix-cm }
\LoadClass { article }
+
+\box_new:N \l__beery_tmp_box
+
\RequirePackage { fontscale }
\fontscalesetup { musical }
-\RequirePackage [ list-final-separator = { ,~ and~ } ] { siunitx }
+\RequirePackage { siunitx }
+\sisetup { list-final-separator = { ,~ and~ } , mode = match }
\RequirePackage { mathtools }
\RequirePackage [ shortcuts , allowbreakbefore ] { extdash }
\RequirePackage { csquotes }
+\RequirePackage { lmodern }
% CUSTOM MACROS
+\tl_const:Nn \c_beery_alphabet_tl { abcdefghijklmnopqrstuvwxyz }
+\NewExpandableDocumentCommand \alphabet { } { \c_beery_alphabet_tl }
\NewDocumentCommand \Key { m o o }
{
+ \mode_leave_vertical:
\group_begin:
\ttfamily
- \bool_case:nF
+ \IfNoValueTF {#3}
{
- {
- \bool_lazy_and_p:nn
- { \tl_if_novalue_p:n {#2} }
- { \tl_if_novalue_p:n {#3} }
- }
- {#1}
- {
- \bool_lazy_and_p:nn
- { ! \tl_if_novalue_p:n {#2} }
- { \tl_if_novalue_p:n {#3} }
- }
- { #1~ =~ #2 }
- {
- \bool_lazy_and_p:nn
- { ! \tl_if_novalue_p:n {#2} }
- { ! \tl_if_novalue_p:n {#3} }
- }
- { #1~ =~ #2 \hspace* { \fill } \makebox { initial~ =~ #3 } }
+ \IfNoValueTF {#2}
+ {#1}
+ { #1 $\,=\,$ \allowbreak #2 }
}
- { \errmessage { invalid } }
+ { #1 $\,=\,$ #2 \hspace* { \fill } \hbox:n { initial $\,=\,$ #3 } }
\group_end:
}
+\NewDocumentCommand \Value { m } { \texttt {#1} }
\NewDocumentCommand \cmd { m } { \texttt { \token_to_str:N #1 } \@ }
\NewDocumentCommand \cs { m } { \texttt { \token_to_str:c {#1} } \@ }
\NewDocumentCommand \marg { m }
- { \allowbreak \texttt { \c_left_brace_str #1 \c_right_brace_str } }
-\NewDocumentCommand \oarg { m } { \allowbreak \texttt { [ #1 ] } }
-\NewDocumentCommand \meta { m } { \texttt { \textlangle #1 \textrangle } }
+ {
+ \allowbreak
+ \texttt { \c_left_brace_str }
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ \texttt { \c_right_brace_str }
+ }
+\NewDocumentCommand \oarg { m }
+ {
+ \allowbreak
+ \texttt { [ }
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ \texttt { ] }
+ }
+\NewDocumentCommand \sarg { } { $\langle$ \texttt {*} $\rangle$ }
+\NewDocumentCommand \meta { m }
+ {
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ }
\NewDocumentCommand \cls { m } { \textsf {#1} }
\NewDocumentCommand \env { m } { \texttt {#1} }
\NewDocumentCommand \pkg { m } { \textsf {#1} }
-\NewDocumentCommand \filex { m } { \texttt {#1} \@ }
\NewDocumentCommand \latin { m } { \textit {#1} }
% PAGE STYLE
-\hbox_set:Nn \l_tmpa_box { abcdefghijklmnopqrstuvwxyz }
-\dim_const:Nn \c_beery_alphabet_dim { \box_wd:N \l_tmpa_box }
+\hbox_set:Nn \l__beery_tmp_box { \c_beery_alphabet_tl }
+\dim_const:Nn \c_beery_alphabet_dim { \box_wd:N \l__beery_tmp_box }
+\dim_log:N \c_beery_alphabet_dim
-\dim_const:Nn \c_beery_big_dim
- { \fp_to_dim:n { \l_fontscale_normalsize_size_dim * 10 / 7 } }
+\dim_const:Nn \c_beery_big_dim { \l_fontscale_normalsize_baselineskip_skip }
\dim_const:Nn \c_beery_medium_dim { \c_beery_big_dim / 2 }
\dim_const:Nn \c_beery_small_dim { \c_beery_big_dim / 4 }
\skip_const:Nn \c_beery_big_skip
@@ -85,12 +98,15 @@
\skip_set:Nn \topskip { \l_fontscale_normalsize_size_dim }
\skip_set_eq:NN \splittopskip \topskip
-\RequirePackage
- [
- letterpaper
- , textwidth = \dim_eval:n { \fp_use:N \c_e_fp \c_beery_alphabet_dim }
+\RequirePackage { geometry }
+\geometry
+ {
+ a4paper
+ , textwidth =
+ \dim_eval:n { \fp_to_dim:n { \c_e_fp * \c_beery_alphabet_dim } }
, textheight =
- \dim_eval:n { \fp_eval:n { \c_e_fp * 1.6180 } \c_beery_alphabet_dim }
+ \dim_eval:n
+ { \fp_to_dim:n { 1.6180 * \c_e_fp * \c_beery_alphabet_dim } }
, heightrounded
, centering
, headheight = \l_fontscale_footnotesize_baselineskip_skip
@@ -98,8 +114,7 @@
, footskip =
\dim_eval:n
{ \c_beery_big_dim + \l_fontscale_footnotesize_baselineskip_skip }
- ]
- { geometry }
+ }
\RequirePackage { fancyhdr }
\pagestyle { fancy }
@@ -111,14 +126,22 @@
% PARAGRAPH STYLE
\nonfrenchspacing
-\linespread { \fp_eval:n { 25 / 21 } }
-\RequirePackage [ skip = \c_beery_medium_skip ] { parskip }
+\linespread { 1 }
+\skip_set_eq:NN \parskip \c_beery_medium_skip
+\dim_zero:N \parindent
\RequirePackage [ raggedrightboxes ] { ragged2e }
\skip_set:Nn \RaggedRightRightskip { 0pt plus 0.5 \linewidth }
+\dim_zero:N \RaggedRightParindent
+\dim_set_eq:NN \JustifyingParindent \RaggedRightParindent
\RaggedRight
+\int_set:Nn \pretolerance { -1 }
+\int_set:Nn \tolerance { 200 }
+\dim_zero:N \emergencystretch
\int_set:Nn \widowpenalty { 10000 }
\int_set_eq:NN \clubpenalty \widowpenalty
\int_set_eq:NN \displaywidowpenalty \widowpenalty
+\int_set:Nn \hyphenpenalty { 99 }
+\int_set_eq:NN \exhyphenpenalty \hyphenpenalty
% HEADINGS, TABLE OF CONTENTS
@@ -129,32 +152,34 @@
\titlespacing* \section % section
{ 0pt } % indent
{
- \fp_eval:n { 4 / 3 } \c_beery_medium_dim
- plus \fp_eval:n { 1 / 2 * 4 } \c_beery_medium_dim
- minus \fp_eval:n { 1 / 3 / 4 } \c_beery_medium_dim
+ - \parskip
+ + \c_beery_big_dim
+ plus \fp_eval:n { 1 / 2 * 4 } \c_beery_big_dim
+ minus \fp_eval:n { 1 / 3 / 4 } \c_beery_big_dim
} % before
- { \c_beery_medium_skip } % after
+ { - \parskip + \c_beery_medium_skip } % after
\titlespacing* \subsection
{ 0pt }
{
- \fp_eval:n { 4 / 3 } \c_beery_medium_dim
+ - \parskip
+ + \fp_eval:n { 4 / 3 } \c_beery_medium_dim
plus \fp_eval:n { 1 / 2 * 4 } \c_beery_medium_dim
minus \fp_eval:n { 1 / 3 / 4 } \c_beery_medium_dim
}
- { \c_beery_medium_skip }
+ { - \parskip + \c_beery_medium_skip }
\titleformat \section % section
[ block ] % shape
{ \raggedright \large \bfseries } % format
- { \thesection . } % label
- { 0.5em } % the horizontal separation between label and title body
+ { \thesection } % label
+ { 1em } % the horizontal separation between label and title body
{ } % before code
{ } % after code
\titleformat \subsection
[ block ]
{ \raggedright \normalsize \bfseries }
- { \thesubsection . }
- { 0.5em }
+ { \thesubsection }
+ { 1em }
{ }
{ }
@@ -181,7 +206,10 @@
{
\par
\IfBooleanTF #1
- { \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading } }
+ {
+ \int_compare:nNnT { \prevgraf } = { 1 }
+ { \nobreak \@afterheading }
+ }
{ \nobreak \@afterheading }
}
\NewDocumentCommand \listheading { m }
@@ -189,7 +217,8 @@
\par
#1
\par
- \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading }
+ \int_compare:nNnT { \prevgraf } = { 1 }
+ { \nobreak \@afterheading }
\vspace { \skip_eval:n { \c_beery_small_skip - \parskip } }
}
@@ -215,7 +244,10 @@
\coffin_new:N \l__beery_footnote_coffin
% 1.2 = baselineskip-size-ratio
\dim_const:Nn \c_beery_footnote_baselineheight_dim
- { \fp_eval:n { 1.2 * \f@linespread - 1 } \l_fontscale_footnotesize_size_dim }
+ {
+ \fp_to_dim:n
+ { ( 1.2 * \f@linespread - 1 ) * \l_fontscale_footnotesize_size_dim }
+ }
\RenewDocumentCommand \@makefntext { +m }
{
\vcoffin_set:Nnn \l__beery_footnote_coffin { \textwidth }
@@ -224,8 +256,10 @@
{
\dim_set:Nn \leftmargin
{
- \fp_eval:n { ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 }
- \textwidth
+ \fp_to_dim:n
+ {
+ ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 * \textwidth
+ }
}
\dim_set_eq:NN \rightmargin \leftmargin
\dim_set:Nn \labelsep { 0.5em }
@@ -242,4 +276,5 @@
\AddToHook { shipout / lastpage } { \label { LastPage } }
\RequirePackage { xurl }
-\RequirePackage [ bookmarksnumbered , hidelinks , linktoc = page ] { hyperref } \ No newline at end of file
+\RequirePackage { hyperref }
+\hypersetup { bookmarksnumbered , hidelinks , linktoc = page } \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-classic.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-classic.tex
deleted file mode 100644
index 029d304d82c..00000000000
--- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-classic.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-classic.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The size of each font size command in \unit{pt} when using a classic typographic scale.%
- \label{table:classicscales}%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2-Z}={guard}
- }
- \toprule
- Command & \Key{classic-10pt} & \Key{classic-11pt} & \Key{classic-12pt} \\
- \midrule
- \cs{tiny} & 6 & 7 & 8 \\
- \cs{scriptsize} & 7 & 8 & 9 \\
- \cs{footnotesize} & 8 & 9 & 10 \\
- \cs{small} & 9 & 10 & 11 \\
- \cs{normalsize} & 10 & 11 & 12 \\
- \cs{large} & 11 & 12 & 14 \\
- \cs{Large} & 12 & 14 & 16 \\
- \cs{LARGE} & 14 & 16 & 18 \\
- \cs{huge} & 16 & 18 & 21 \\
- \cs{Huge} & 18 & 21 & 24 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-font-steps.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-font-steps.tex
deleted file mode 100644
index 8c5cc8c1416..00000000000
--- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-font-steps.tex
+++ /dev/null
@@ -1,38 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-font-steps.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The step of each font size command.
- These are constants and cannot be changed.%
- \label{table:fontsteps}%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2}={guard}
- }
- \toprule
- Command & Step \\
- \midrule
- \cs{tiny} & -4 \\
- \cs{scriptsize} & -3 \\
- \cs{footnotesize} & -2 \\
- \cs{small} & -1 \\
- \cs{normalsize} & 0 \\
- \cs{large} & 1 \\
- \cs{Large} & 2 \\
- \cs{LARGE} & 3 \\
- \cs{huge} & 4 \\
- \cs{Huge} & 5 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-modular-musical.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-modular-musical.tex
deleted file mode 100644
index 306578ec354..00000000000
--- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual-table-modular-musical.tex
+++ /dev/null
@@ -1,38 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-modular-musical.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The size of each font size command when using a modular or musical typographic scale with the initial settings.
- The font sizes are in \unit{pt} and rounded to two decimal places.%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2-3}={guard}
- }
- \toprule
- Command & \Key{modular} & \Key{musical} \\
- \midrule
- \cs{tiny} & 6.24 & 5.74 \\
- \cs{scriptsize} & 7.02 & 6.60 \\
- \cs{footnotesize} & 7.90 & 7.58 \\
- \cs{small} & 8.89 & 8.71 \\
- \cs{normalsize} & 10 & 10 \\
- \cs{large} & 11.25 & 11.49 \\
- \cs{Large} & 12.66 & 13.20 \\
- \cs{LARGE} & 14.24 & 15.16 \\
- \cs{huge} & 16.02 & 17.41 \\
- \cs{Huge} & 18.02 & 20 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.pdf b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.pdf
deleted file mode 100644
index 2637ef9c1fe..00000000000
--- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.tex
deleted file mode 100644
index 9917636a046..00000000000
--- a/Master/texmf-dist/doc/latex/fontscale/fontscale-manual.tex
+++ /dev/null
@@ -1,390 +0,0 @@
-\documentclass{beery}
-
-\begin{document}
-
-
-\section*
- {%
- \SetFontStep*{1}%
- The \pkg{fontscale} package%
- }
-
-A user interface for setting document font sizes
-
-Oliver Beery
-
-Version 1.3.0\quad{}17 May 2024
-
-
-\section{Introduction}
-\label{sec:intro}
-
-\subsection{About}
-\label{subsec:about}
-
-\listheading{The \pkg{fontscale} package provides the following functionalities:}
-\begin{itemize}
- \item
- Set font sizes via a classic, modular, or musical typographic scale.
- \item
- Set arbitrary sizes and baselineskips for the standard font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge}.
- \item
- Set the font size settings mid\-/document or within a local group.
- \item
- Set the font size by setting the font step, scale, or size.
- \item
- Set the font size relative to the current font size.
- \item
- Use the current font step, scale, size, and baselineskip directly, for example, for printing or within calculations.
- \item
- Print sample text to test different font sizes.
- \item
- For advanced users, store the step, scale, size, and baselineskip of each font size command in \pkg{expl3} variables.
-\end{itemize}
-
-\subsection{Loading the package}
-\label{subsec:loading}
-
-This package requires the 10 October 2023 \pkg{l3kernel} update.
-You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
-
-This package lets the user set arbitrary font sizes.
-This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of fixed sizes.
-If you get a warning that Computer Modern is not available in the requested size, you may need to add the code \cs{RequirePackage{fix-cm}} before \cs{documentclass} to make Computer Modern available at arbitrary font sizes.
-
-\cs{usepackage}\marg{fontscale}
-\nopagebreak\newline
-\cs{fontscalesetup}\marg{\meta{keyval list}}
-
-Load the \pkg{fontscale} package via the usual command in the document preamble.
-This package has no package options.
-Instead, the package keys are set up via the command \cs{fontscalesetup}\marg{\meta{keyval list}}.
-\meta{keyval list} must receive a comma\-/separated list of keys and their associated values.
-The package keys are documented in \S\ref{sec:choosing} and \S\ref{sec:overwriting}.
-
-Many \LaTeX{} document classes have a font size option (\Key{10pt}, \Key{11pt}, \Key{12pt}, etc.\@) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes.
-For this reason, you may want to set the document class font size option close to the value of \cs{normalsize} set by this package.
-
-Internally, this package sets up each font size command from \cs{tiny} to \cs{Huge} using the kernel command \cs{@setfontsize}\---they have no additional functionality beyond that of \cs{@setfontsize}.
-Unlike the standard document classes, the font size commands set up by this package do not change the vertical spacing for displayed math and list structures.
-If the user would like to add this functionality or perhaps other features to the font size commands, they can do so via hooks, which are documented in the \LaTeX{} kernel.
-
-\subsection{Terminology}
-\label{subsec:terminology}
-
-When using the \pkg{fontscale} package, each font size, including the standard font size commands from \cs{tiny} to \cs{Huge}, has a step, scale, size, and baselineskip.
-The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}}.
-The font scale is the relative font size; the ratio of the font size to \cs{normalsize}.
-The font step is the number of font size gradations from \cs{normalsize}, which has a step of \num{0}.
-Table~\ref{table:fontsteps} lists the font step of each font size command.
-
-\input{./fontscale-manual-table-font-steps.tex}
-
-This package defines many keys and commands that take as a value or argument a \meta{dim expr}, \meta{skip expr}, \meta{fp expr}, or \meta{int expr}.
-This syntax is short for a dimen, skip, floating point, or integer expression, respectively.
-See \pkg{usrguide} \S5 for more information.%
-\footnote{\url{https://ctan.org/pkg/usrguide}}
-
-
-\section{Choosing the typographic scale}
-\label{sec:choosing}
-
-\Key{typographic-scale}
- [classic-10pt, classic-11pt, classic-12pt, modular, musical]
- [classic-10pt]
-\newline
-\Key{modular/ratio}[\meta{fp expr}][1.125]
-\newline
-\Key{musical/ratio}[\meta{fp expr}][2]%
-\nopagebreak\newline
-\Key{musical/notes}[\meta{int expr}][5]
-
-The key \Key{typographic\-/scale} sets the font sizes using a classic, modular, or musical typographic scale.
-These are common methods of choosing a set of document font sizes.
-The choice of typographic scale initializes to \Key{classic\-/10pt}.
-
-The key \Key{typographic\-/scale} can also be set in a condensed format via the keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, \Key{modular}, or \Key{musical}, which set the key \Key{typographic\-/scale} to the corresponding value.
-
-The classic typographic scale consists of the traditional font sizes
-\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.%
-\footnote{See \S{}3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.}
-They have been used since the sixteenth century and are the default font sizes on most computer software.
-The keys \Key{classic-10pt, classic-11pt, classic-12pt} set the size of each font size command to values based on their position in the classic typographic scale.
-The size of \cs{normalsize} is the named point size.
-The sizes of the other font size commands are the adjacent font sizes in the scale.
-Table~\ref{table:classicscales} lists the size of each font size command when using a classic typographic scale.
-
-\input{./fontscale-manual-table-classic.tex}
-
-The key \Key{modular} sets the font sizes from \cs{tiny} to \cs{Huge} using a modular typographic scale.
-In a modular scale, each font size is a fixed ratio from the adjacent font sizes.%
-\footnote{\url{https://alistapart.com/article/more-meaningful-typography/}}
-Here, the base font size is the size of \cs{normalsize}, which can be set via the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}.
-If not set, \cs{normalsize} initializes to \qty{10}{pt}.
-The modular ratio can be set via the key \Key{modular\slash{}ratio}.
-The initial modular ratio is \num{1.125}.
-
-\input{./fontscale-manual-table-modular-musical.tex}
-
-The key \Key{musical} sets the font sizes according to their position in a musical typographic scale.
-The font size is calculated using the formula:%
-\footnote
- {%
- I have referenced this article by Spencer Mortensen:
- \newline
- \url{https://spencermortensen.com/articles/typographic-scale/}%
- }
-\[ f_i = f_0 \times r ^ { i / n } \]
-$f_0$ is the base font size, the size of \cs{normalsize}.
-$f_i$ is the font size with font step~$i$.
-$n$ is the number of notes in the musical scale\---the number of font size gradations or steps above \cs{normalsize}.
-$r$ is the ratio of the musical scale, the ratio of the highest to the lowest note $ f_n / f_0 $.
-(The modular typographic scale is actually a special case of the musical typographic scale where $n=1$.)
-
-The musical ratio~$r$ and the number of notes~$n$ can be set via the keys \Key{musical\slash{}ratio} and \Key{musical\slash{}notes}.
-The initial musical ratio\---\num{2}\---and the initial number of notes\---\num{5}\---are the same as that of the classic typographic scale.%
-\footnote{Ibid.}
-Conveniently, \cs{Huge} is \num{5} steps above \cs{normalsize}.
-The font size of \cs{normalsize}~$f_0$ can be set using the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}.
-When using a musical typographic scale, \cs{normalsize} initializes to \qty{10}{pt}.%
-\footnote {I have set the initial value to \qty{10}{pt} instead of the \qty{12}{pt} recommended by the Spencer Mortensen article because this matches the default settings of the standard \LaTeXe{} document classes.}
-
-\Key{baselineskip-size-ratio}[\meta{fp expr}][1.2]
-\KeepNextPar*
-
-The key \Key{baselineskip\-/size\-/ratio} sets the ratio of the font baselineskip to the font size.
-By default, the font baselineskip of each font size command equals its font size times \meta{fp expr}.
-Users should not set this key unless they really know what they are doing.
-When using increased line spacing, users should prefer the low\-/level font command \cs{linespread} or the \pkg{setspace} package.
-
-
-\section{Overwriting the typographic scale}
-\label{sec:overwriting}
-
-In some situations, users may need to explicitly set the scale, size, or baselineskip of a font size command, overwriting the value set by the keys in \S\ref{sec:choosing}.
-Note that the font steps and the scale of \cs{normalsize} are constants and cannot be changed.
-
-\Key{\meta{font size command}/scale}[\meta{fp expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}scale} set the scale of \meta{font size command} to \meta{fp expr}, ignoring the value set by the key \Key{typographic\-/scale}.
-The key \Key{normalsize\slash{}scale} is not defined.
-
-\Key{\meta{font size command}/size}[\meta{dim expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}size} set the size of \meta{font size command} to \meta{dim expr}, ignoring the values set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}.
-\meta{dim expr} supplies a default unit of \unit{pt}.
-
-The package will issue a warning if the user sets the keys \Key{\meta{font size command}\slash{}size} and \Key{\meta{font size command}\slash{}scale} for the same \meta{font size command} since the latter key will be ignored.
-
-\Key{\meta{font size command}/baselineskip}[\meta{skip expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}baselineskip} set the font baselineskip of \meta{font size command} to \meta{skip expr} instead of calculating it from the size of \meta{font size command} and \Key{baselineskip\-/size\-/ratio}.
-\meta{skip expr} supplies a default unit of \unit{pt}.
-
-\Key{\meta{font size command}}[\meta{dim expr}]
-\nopagebreak\newline
-\Key{\meta{font size command}}[\meta{dim expr}/\meta{skip expr}]
-
-The keys \Key{\meta{font size command}} set the keys \Key{\meta{font size command}\slash{}size} or \Key{\meta{font size command}\slash{}baselineskip} in a condensed format.
-The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, $10/12$ or $11/13$.
-The number before/after the slash is the size/leading in \unit{pts}.
-
-\Key{ignore-order}[true, false][false]
-\KeepNextPar*
-
-The user should take care to ensure that the font sizes and font baselineskips remain in the correct order when directly setting the scales, sizes, or baselineskips of the different font size commands.
-The magnitudes of the font sizes and font baselineskips should be ordered from \cs{tiny} to \cs{normalsize} to \cs{Huge}.
-This is important for typographic and syntactic consistency.
-This package will issue a warning if they are not in the correct order.
-The user can disable this warning via the key \Key{ignore\-/order}[true] or just \Key{ignore\-/order}.
-
-
-\section{User commands}
-\label{sec:usercommands}
-
-\subsection{Expandable font parameters}
-\label{subsec:fontparameters}
-
-\cs{CurrentFontStep}
-\nopagebreak\newline
-\cs{CurrentFontScale}
-\newline
-\cs{CurrentFontSize}
-\nopagebreak\newline
-\cs{CurrentFontBaselineskip}
-
-These are fully expandable commands that expand to the current font step, scale, size, or baselineskip.
-They can be used for printing or within calculations.
-Caution: \cs{CurrentFontStep} will expand to nothing if the current font step is undefined.
-
-Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} use the kernel command \cs{f@size}.
-\cs{CurrentFontSize} expands to \texttt{f@size pt}.
-\cs{CurrentFontBaselineskip} expands to the kernel command \cs{f@baselineskip}.
-Note that the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}} sets \cs{f@size} to the new font size before expanding its second argument.
-This means that \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} may need to be first expanded if used in \meta{skip}.
-This package provides the command \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
-
-\subsection{More font sizing commands}
-\label{subsec:fontsize}
-
-The \pkg{fontscale} package provides the commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} which set the font size in different ways.
-The first three commands have a starred version which sets the font size relative to the current font size.
-Internally, these commands all use the low\-/level font commands \cs{fontsize} and \cs{selectfont}.
-These commands should be used only in special cases.
-Generally, users should prefer the font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency, although \cs{SetFontStep*}\marg{\meta{integer}} can use a font size command directly.
-
-\cs{SetFontStep}\marg{\meta{fp expr}}
-\nopagebreak\newline
-\cs{SetFontStep*}\marg{\meta{fp expr}}
-
-\cs{SetFontStep} sets the font size by setting the font step to \meta{fp expr}.
-The starred version \cs{SetFontStep*} adds \meta{fp expr} to the current font step.
-If the choice of typographic scale is not modular or musical, then the only valid values for \meta{fp expr} are the integers from \num{-4} to \num{5}, corresponding to the font size commands from \cs{tiny} to \cs{Huge}.
-\cs{SetFontStep} will issue an error if the calculated font step is invalid.
-The starred version \cs{SetFontStep*} will also issue an error if the current font step is invalid.
-\cs{SetFontStep} sets the font baselineskip to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-If the calculated font step matches the step of any font size command, then that font size command will be used directly.
-
-\listheading{Examples:}
-\begin{itemize}
- \item
- For example, \cs{SetFontStep}\marg{-2} and \cs{SetFontStep}\marg{2} use \cs{footnotesize} and \cs{Large}.
- Note that it is typically better to use the equivalent font size command in place of \cs{SetFontStep}\marg{\meta{integer}}.
- \item
- If the current font size is \cs{normalsize}, \cs{SetFontStep*}\marg{1} and \cs{SetFontStep*}\marg{-1} use \cs{large} and \cs{small}.
- This is useful for moving up or down a note on the typographic scale.
- \item
- If the choice of typographic scale is modular or musical, \cs{SetFontStep*}\marg{-0.5} sets the font size and font baselineskip to values between that of \cs{normalsize} and \cs{small}.
- Otherwise, it produces an error.
-\end{itemize}
-
-\cs{SetFontScale}\marg{\meta{fp expr}}
-\nopagebreak\newline
-\cs{SetFontScale*}\marg{\meta{fp expr}}
-
-\cs{SetFontScale} sets the font size by setting the font scale to \meta{fp expr}.
-The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontScale*} adds \meta{fp expr} to the current font scale.
-For example, \cs{SetFontScale}\marg{1.25} makes the font size 25\% larger than \cs{normalsize}.
-If the current font size is \cs{normalsize}, \cs{SetFontScale*}\marg{0.2} is equivalent to \cs{SetFontScale}\marg{1.2}.
-
-\cs{SetFontSize}\marg{\meta{dim expr}}
-\nopagebreak\newline
-\cs{SetFontSize*}\marg{\meta{dim expr}}
-
-\cs{SetFontSize} sets the font size to \meta{dim expr}.
-\meta{dim expr} supplies a default unit of \unit{pt}.
-The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontSize*} adds \meta{dim expr} to the current font size.
-For example, \cs{SetFontSize*}\marg{1} and \cs{SetFontSize*}\marg{-1pt} increase and decrease the current font size by a \unit{pt}.
-
-\cs{ScaleFont}\marg{\meta{fp expr}}
-\KeepNextPar*
-
-Scales the current font size and the current font baselineskip by a factor of \meta{fp expr}.
-For example, if the current font size and font baselineskip are \qty{10}{pt} and \qty{12}{pt}, using \cs{ScaleFont}\marg{0.8} will reduce them proportionally to \qty{8}{pt} and \qty{9.6}{pt}.
-
-\cs{SetFontSizeBaselineskip}\marg{\meta{dim expr}}\marg{\meta{skip expr}}
-\KeepNextPar*
-
-Sets the font size to \meta{dim expr} and the font baselineskip to \meta{skip expr}.
-Both arguments supply a default unit of \unit{pt}.
-\cs{SetFontSizeBaselineskip} can be used as an alternative to \cs{fontsize} + \cs{selectfont} as it avoids the issue with \cs{f@size} discussed in \S\ref{subsec:fontparameters}.
-
-\subsection{Testing and debugging}
-\label{subsec:debug}
-
-The commands documented here are intended primarily for testing and debugging.
-I have used them often when developing this package so I think users will find them helpful.
-
-\cs{PrintFontParameters}
-\nopagebreak\newline
-\cs{PrintAllFontParameters}
-
-\cs{PrintFontParameters} prints the current font step, scale, size, and baselineskip in this order in a comma\-/separated list of key = value pairs.
-If the current font step is undefined (as explained for \cs{SetFontStep} in \S\ref{subsec:fontsize}), it will be left blank.
-\cs{PrintAllFontParameters} prints the step, scale, size, and baselineskip of each font size command.
-
-\cs{PrintSampleText}\oarg{\meta{text}}
-\nopagebreak\newline
-\cs{PrintSampleText*}\oarg{\meta{text}}
-
-\cs{PrintSampleText} prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break.
-The starred version \cs{PrintSampleText*} reverses the sizing order.
-The \meta{text} can be changed via the optional argument, but cannot contain \cs{par} tokens.
-The default \meta{text} is \enquote{The \texttt{fontscale} package: A user interface for setting document font sizes}.
-One useful way of printing example text is by using
-\cs{PrintSampleText}\oarg{\cs{PrintFontSizeCommand}:\textvisiblespace{}\cs{PrintFontParameters}}.
-
-\cs{PrintFontSizeCommand}
-\KeepNextPar*
-
-\cs{PrintFontSizeCommand} tests whether the current font size and the current font baselineskip match the font size and font baselineskip of any font size command from \cs{tiny} to \cs{Huge}.
-If so, it prints the name of that font size command, including the backslash character.
-If not, it instead prints \enquote{UNDEFINED\@}.
-\vfill\pagebreak%manual
-
-\subsection
- {%
- \texorpdfstring
- {More on \cs{fontscalesetup}}
- {More on \textbackslash{}fontscalesetup}%
- }
-\label{subsec:fontscalesetup}
-
-\cs{fontscalesetup}\marg{\meta{keyval list}}
-\KeepNextPar*
-
-Sets and processes the \pkg{fontscale} package keys and then uses \cs{normalsize}.
-\cs{fontscalesetup} can be applied mid\-/document or locally within the current \TeX{} group.
-
-\Key{reset}[initial, preamble]
-\KeepNextPar*
-
-The key \Key{reset} is also available.
-Its value must be either \texttt{initial} or \texttt{preamble}.
-The key \Key{reset}[initial] or just \Key{reset} sets all the keys to their initial values.
-The key \Key{reset}[preamble] sets all the keys to their values at the end of the preamble (or does nothing if used before the end of the preamble).
-
-
-\section{Programming}
-\label{sec:programming}
-
-This section is relevant to \LaTeX3 programmers.
-
-The document commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} are set up to work with \cs{text_purify:n}.
-\cs{text_purify:n} will correctly remove these commands and their arguments.
-This includes the starred versions \cs{SetFontStep*}, \cs{SetFontScale*}, and \cs{SetFontSize*}.
-
-This package does not provide any public \pkg{expl3} functions.
-
-This package provides some public \pkg{expl3} variables.
-The package stores in public variables the step, scale, size, and baselineskip of each font size command.
-These variables should not be modified directly.
-Instead, they should be modified only indirectly via the command \cs{fontscalesetup}.
-
-Each takes the form:
-
-\begingroup
- \ttfamily
- \textbackslash{}c\_fontscale\_\meta{font size command}\_step\_fp
- \nopagebreak\newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_scale\_fp
- \newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_size\_dim
- \nopagebreak\newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_baselineskip\_skip
-\endgroup
-
-Exception:
-\cs{l_fontscale_normalsize_scale_fp} is not defined.
-The scale of \cs{normalsize} is instead stored as the constant \cs{c_fontscale_normalsize_scale_fp}, which always equals \num{1}.
-
-The step, scale, size, and baselineskip of each font size command are also stored in property lists, one for each font size command:
-
-\texttt{\textbackslash{}l\_fontscale\_\meta{font size command}\_prop}
-
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-table-classic.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-classic.tex
new file mode 100644
index 00000000000..50ff413e366
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-classic.tex
@@ -0,0 +1,41 @@
+\ProvidesFile
+ {fontscale-table-classic.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font size of each font size command from \cs{tiny} to \cs{Huge} in units of \unit{pt} when using a classic typographic scale.%
+ \label{table:classic}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2-Z}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ , cell{1}{2-Z}={cmd=\Key}
+ }
+ \toprule
+ font size command & classic-10pt & classic-11pt & classic-12pt \\
+ \midrule
+ tiny & 6 & 7 & 8 \\
+ scriptsize & 7 & 8 & 9 \\
+ footnotesize & 8 & 9 & 10 \\
+ small & 9 & 10 & 11 \\
+ normalsize & 10 & 11 & 12 \\
+ large & 11 & 12 & 14 \\
+ Large & 12 & 14 & 16 \\
+ LARGE & 14 & 16 & 18 \\
+ huge & 16 & 18 & 21 \\
+ Huge & 18 & 21 & 24 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-table-font-steps.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-font-steps.tex
new file mode 100644
index 00000000000..5b20f186811
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-font-steps.tex
@@ -0,0 +1,39 @@
+\ProvidesFile
+ {fontscale-table-font-steps.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font step of each font size command from \cs{tiny} to \cs{Huge}.
+ These are constants and cannot be changed.%
+ \label{table:fontsteps}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ }
+ \toprule
+ font size command & font step \\
+ \midrule
+ tiny & -4 \\
+ scriptsize & -3 \\
+ footnotesize & -2 \\
+ small & -1 \\
+ normalsize & 0 \\
+ large & 1 \\
+ Large & 2 \\
+ LARGE & 3 \\
+ huge & 4 \\
+ Huge & 5 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale-table-musical.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-musical.tex
new file mode 100644
index 00000000000..e6a6ca5ce0d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fontscale/fontscale-table-musical.tex
@@ -0,0 +1,39 @@
+\ProvidesFile
+ {fontscale-table-musical.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font size of each font size command from \cs{tiny} to \cs{Huge} when using a musical typographic scale with the initial values.
+ The font sizes are in units of \unit{pt} and rounded to two decimal places.%
+ \label{table:musical}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ }
+ \toprule
+ font size command & \Key{musical} \\
+ \midrule
+ tiny & 5.74 \\
+ scriptsize & 6.60 \\
+ footnotesize & 7.58 \\
+ small & 8.71 \\
+ normalsize & 10 \\
+ large & 11.49 \\
+ Large & 13.20 \\
+ LARGE & 15.16 \\
+ huge & 17.41 \\
+ Huge & 20 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale.pdf b/Master/texmf-dist/doc/latex/fontscale/fontscale.pdf
new file mode 100644
index 00000000000..adcd8091344
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fontscale/fontscale.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fontscale/fontscale.tex b/Master/texmf-dist/doc/latex/fontscale/fontscale.tex
new file mode 100644
index 00000000000..3737afe5b6f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fontscale/fontscale.tex
@@ -0,0 +1,409 @@
+\documentclass{beery}
+
+
+\begin{document}
+
+
+\section*
+ {%
+ \SetFontStep*{1}%
+ The \pkg{fontscale} package%
+ }
+
+A flexible interface for setting font sizes
+
+Oliver Beery
+
+Version 2.1.0\quad{}12 August 2024
+
+
+\section{Introduction}
+\label{sec:intro}
+
+\subsection{About}
+\label{subsec:about}
+
+\listheading{The \pkg{fontscale} package provides the following functionalities:}
+\begin{itemize}
+ \item
+ Set font sizes using a classic or musical typographic scale (\S\ref{subsec:typographicscale}).
+ \item
+ Set arbitrary font sizes and font baselineskips for the standard \LaTeX{} font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge} (\S\ref{subsec:overwriting}).
+ \item
+ Set the font sizes and font baselineskips of the standard \LaTeX{} font size commands mid\-/document or within a local group (\S\ref{subsec:fontscalesetup}).
+ \item
+ Provides expandable commands that expand to the current font step, font scale, font size, font baselineskip, or font size command (\S\ref{subsec:expandable}).
+ \item
+ Provides additional font size commands, including setting the font size by setting the font step or font scale and setting the font size relative to the current font size using more powerful tools than the \pkg{scalefnt} and \pkg{relsize} packages (\S\ref{subsec:fontsize}).
+ \item
+ For \LaTeX3 programmers, this package defines public \pkg{expl3} variables that store the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge} (\S\ref{sec:programming}).
+\end{itemize}
+
+\subsection{Loading the package}
+\label{subsec:loading}
+
+\listheading{Requirements:}
+\begin{itemize}
+ \item \LaTeXe{} version 2023-11-01 or newer
+ \item \pkg{l3kernel} version 2023-10-10 or newer
+\end{itemize}
+
+You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
+
+This package lets the user set arbitrary font sizes.
+This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of discrete font sizes.
+If you get a warning that Computer Modern is not available in the requested font size, you may need to add the code \cs{RequirePackage}\allowbreak\verb|{fix-cm}| before \cs{documentclass} to make Computer Modern available at arbitrary font sizes.
+Alternatively, you can use the Latin Modern font by loading the \pkg{lmodern} package.
+
+The \pkg{fontscale} package has no package options.
+Instead, this package provides the command \cs{fontscalesetup}\marg{key\-/value list} (\S\ref{subsec:fontscalesetup}) which sets the package keys (\S\ref{sec:keys}).
+
+When loaded, this package uses \cs{normalsize} after defining and initializing the font size commands from \cs{tiny} to \cs{Huge}.
+
+Many \LaTeX{} document classes have a font size option (e.g.\@ \Key{10pt}, \Key{11pt}, \Key{12pt}) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes.
+For this reason, you may want to set the document class font size option close to the font size of \cs{normalsize} set by this package.
+
+\listheading{Internally, this package defines each font size command from \cs{tiny} to \cs{Huge} using the low\-/level font commands \cs{fontsize} and \cs{selectfont}\---they have no additional functionality beyond that of \cs{fontsize} and \cs{selectfont}, except that they:}
+\begin{itemize}
+ \item
+ Set the kernel command \cs{@currsize} equal to the font size command.
+ This is needed only for compatibility.
+ \item
+ Do nothing, except issue a warning, if used in math mode.
+\end{itemize}
+
+Unlike the standard \LaTeX{} document classes, the font size commands from \cs{tiny} to \cs{Huge} defined by this package do not change the vertical spacing for displayed math and list structures.
+If the user would like to add this functionality or perhaps other features to the font size commands, they can use hooks, which are documented in the \LaTeXe{} kernel.
+
+\subsection{The font size parameters}
+\label{subsec:fontsizeparameters}
+
+When using the \pkg{fontscale} package, each font size, including the standard \LaTeX{} font size commands from \cs{tiny} to \cs{Huge}, has a font step, font scale, font size, and font baselineskip.
+The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{dimen}\marg{skip}.
+(The font baselineskip, stored in the kernel command \cs{f@baselineskip}, should not be confused with the paragraph baselineskip \cs{baselineskip}.)
+The font scale and font step are different ways of describing the font size.
+The font scale is the relative font size; the ratio of the font size to \cs{normalsize}, which has a font scale of \num{1}.
+The font step is the number of font size gradations from \cs{normalsize}, which has a font step of \num{0}.
+Table~\ref{table:fontsteps} displays the font step of each font size command.
+
+\input{./fontscale-table-font-steps.tex}
+
+\subsection{Syntax}
+\label{subsec:syntax}
+
+This package defines some keys and commands that take as a value or argument a \meta{floating point expression}, \meta{integer expression}, \meta{dimen expression}, or \meta{skip expression}.
+This syntax has the same representation as the arguments to \cs{fpeval}, \cs{inteval}, \cs{dimeval}, and \cs{skipeval}, documented in \pkg{usrguide}.%
+\footnote{\url{https://ctan.org/pkg/usrguide}}
+
+
+\section{Keys}
+\label{sec:keys}
+
+This section documents the keys provided by the \pkg{fontscale} package.
+This package has no package options.
+Set the package keys using \cs{fontscalesetup}\marg{key-value list} (\S\ref{subsec:fontscalesetup}).
+
+\subsection{The typographic scale}
+\label{subsec:typographicscale}
+
+The font sizes of the font size commands from \cs{tiny} to \cs{Huge} are initially set by the key \Key{typographic\-/scale}.
+
+\Key{typographic-scale}
+ [%
+ classic-10pt$\,\vert\,$\allowbreak
+ classic-11pt$\,\vert\,$\allowbreak
+ classic-12pt$\,\vert\,$\allowbreak\hspace*{1.5em}%
+ musical%
+ ]
+ [classic-10pt]
+\newline
+\Key{classic-10pt}
+\newline
+\Key{classic-11pt}
+\newline
+\Key{classic-12pt}
+\nopagebreak\newline
+\Key{musical}
+
+The value of the key \Key{typographic\-/scale} must be \Value{classic\-/10pt}, \Value{classic\-/11pt}, \Value{classic\-/12pt}, or \Value{musical}.
+The initial value is \Value{classic\-/10pt}.
+Sets the font size of each font size command from \cs{tiny} to \cs{Huge} using a classic or musical typographic scale.
+These are common methods of choosing a set of document font sizes.
+The keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, and \Key{musical} set the key \Key{typographic\-/scale} to the corresponding value.
+
+\input{./fontscale-table-classic.tex}
+
+The classic typographic scale consists of the traditional font sizes
+\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.%
+\footnote{See \S3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.}
+They have been used since the sixteenth century and are the default font sizes on most computer software.
+Setting the value of the key \Key{typographic\-/scale} to \Key{classic\-/10pt}, \Key{classic\-/11pt}, or \Key{classic\-/12pt} sets the font size of each font size command from \cs{tiny} to \cs{Huge} to values based on their position in the classic typographic scale.
+The named point size\---\qtylist[list-final-separator={, or }]{10;11;12}{pt}\---is the font size of \cs{normalsize}.
+The font sizes of the other font size commands are the adjacent font sizes in the classic typographic scale.
+Table~\ref{table:classic} displays the font size of each font size command when using a classic typographic scale.
+
+\Key{musical/base}[\meta{dimen expression}][10pt]%
+\nopagebreak\newline
+\Key{musical/ratio}[\meta{floating point expression}][2]%
+\nopagebreak\newline
+\Key{musical/notes}[\meta{integer expression}][5]
+
+The key \Key{typographic\-/scale}[musical] sets the font size of each font size command from \cs{tiny} to \cs{Huge} using a musical typographic scale.
+The font sizes are calculated using the formula:%
+\footnote
+ {%
+ I have referenced this article by Spencer Mortensen:
+ \newline
+ \url{https://spencermortensen.com/articles/typographic-scale/}%
+ }
+\begin{equation}\label{eq:musical}
+ f_i = f_0 \times r ^ { i / n }
+\end{equation}
+$f_i$ is the font size with font step~$i$.
+$f_0$ is the base font size.
+$n$ is the number of musical notes\---the number of font size gradations or steps above $f_0$.
+$r$ is the musical ratio, the ratio of the highest to the lowest note $ f_n / f_0 $.
+
+The key \Key{musical\slash{}base} sets the base font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+The base font size is the font size of \cs{normalsize}.
+The key \Key{musical\slash{}ratio} sets the musical ratio to the result of computing the \meta{floating point expression}.
+The key \Key{musical\slash{}notes} sets the number of musical notes to the value of \meta{integer expression}.
+Table~\ref{table:musical} displays the font size of each font size command when using a musical typographic scale with the initial values.
+
+\input{./fontscale-table-musical.tex}
+
+\subsection{The baselineskip-size-ratio}
+\label{subsec:baselineskipsizeratio}
+
+The font baselineskips of the font size commands from \cs{tiny} to \cs{Huge} are initially set by the key \Key{baselineskip\-/size\-/ratio}.
+
+\Key{baselineskip-size-ratio}[\meta{floating point expression}][1.2]
+\KeepNextPar*
+
+Sets the font baselineskip of each font size command from \cs{tiny} to \cs{Huge} equal to its font size \texttimes{} the result of computing the \meta{floating point expression}.
+Sets the font baselineskip set by \cs{SetFontStep}, \cs{SetFontScale}, and \cs{SetFontSize} (\S\ref{subsec:fontsize}) equal to the new font size \texttimes{} the result of computing the \meta{floating point expression}.
+The font baselineskip must be greater than or equal to the font size.
+
+
+\subsection{Overwriting the previous keys}
+\label{subsec:overwriting}
+
+This subsection documents keys for directly setting the font scales, font sizes, and font baselineskips of the font size commands from \cs{tiny} to \cs{Huge}.
+When doing so, the user should take care to ensure that the lengths of the font sizes and font baselineskips remain correctly ordered from \cs{tiny} to \cs{Huge}.
+This is important for typographic and syntactic consistency.
+If the font size commands are in the wrong order, this package will issue a warning and some package features may not work correctly.
+
+\Key{\meta{font size command}/scale}[\meta{floating point expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font size of \meta{font size command} by setting its font scale to the result of computing the \meta{floating point expression}.
+Overwrites the font size set by the key \Key{typographic\-/scale}.
+The key \Key{normalsize\slash{}scale} is not defined.
+
+\Key{\meta{font size command}/size}[\meta{dimen expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font size of \meta{font size command} to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Overwrites the font size set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}.
+
+\Key{\meta{font size command}/baselineskip}[\meta{skip expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font baselineskip of \meta{font size command} to the value of \meta{skip expression}, appending a default unit of \unit{pt}.
+The font baselineskip must be greater than or equal to the font size.
+Overwrites the font baselineskip set by the key \Key{baselineskip\-/size\-/ratio}.
+
+\Key{\meta{font size command}}[\meta{dimen expression}]
+\nopagebreak\newline
+\Key{\meta{font size command}}[\meta{dimen expression}/\meta{skip expression}]
+
+Sets the keys \Key{\meta{font size command}\slash{}size}[\meta{dimen expression}] or \Key{\meta{font size command}\slash{}baselineskip}[\meta{skip expression}] in a condensed format.
+The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, \num{10}/\num{12} or \num{11}/\num{13}.
+The number before\slash{}after the slash is the size\slash{}leading in units of \unit{pt}.
+
+
+\section{Commands}
+\label{sec:commands}
+
+This section documents the commands provided by the \pkg{fontscale} package.
+
+\subsection{Setting the keys}
+\label{subsec:fontscalesetup}
+
+\cs{fontscalesetup} \sarg{} \marg{key-value list}
+\KeepNextPar*
+
+Sets and processes the \pkg{fontscale} package keys (\S\ref{sec:keys}) in \meta{key\-/value list} and then uses \cs{normalsize}.
+Adding the optional star first resets all the \pkg{fontscale} package keys to their initial values.
+The order of the keys in \meta{key\-/value list} does not matter.
+Can be used mid\-/document.
+The effect is local to the current group.
+Does nothing, except issue a warning, if used in math mode.
+\cs{fontscalesetup} should typically be used only once in the preamble or omitted if the user is satisfied with the initial font sizes and font baselineskips.
+
+\subsection{Expandable commands}
+\label{subsec:expandable}
+
+\cs{CurrentFontStep}
+\nopagebreak\newline
+\cs{CurrentFontScale}
+\newline
+\cs{CurrentFontSize}
+\nopagebreak\newline
+\cs{CurrentFontBaselineskip}
+
+This package provides expandable commands that expand to the current font step, font scale, font size, or font baselineskip.
+They can be used for printing or within calculations.
+
+For clarity, \cs{CurrentFontStep} will be explained in detail.
+\cs{CurrentFontStep} initially tests if the current font size equals the font size of any font size command from \cs{tiny} to \cs{Huge}.
+If so, it expands to the font step of that font size command (Table~\ref{table:fontsteps}).
+If not and if the value of the key \Key{typographic\-/scale} is \Value{musical}, \cs{CurrentFontStep} expands to the current font step calculated from the musical typographic scale (Equation~\ref{eq:musical}).
+Otherwise, the current font step is undefined and \cs{CurrentFontStep} expands to nothing.
+
+Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} rely on the kernel command \cs{f@size}.
+(\cs{f@size} stores the current font size in units of \unit{pt}, omitting the unit.)
+The low\-/level font command \cs{fontsize}\marg{dimen}\marg{skip} sets \cs{f@size} to the new font size before expanding its second argument.
+This means that, if used in \meta{skip}, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} will expand to the new value\---unless they are first expanded.
+This package provides \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
+
+\cs{CurrentFontSizeCommand}
+\KeepNextPar*
+
+Tests if the current font size and current font baselineskip equal the font size and font baselineskip, respectively, of any font size command from \cs{tiny} to \cs{Huge}.
+If so, expands to the name of that font size command.
+This omits the backslash character and leaves only letters with catcode \num{11}.
+If not, expands to nothing.
+This package also provides a similar command \cs{PrintFontSizeCommand} (\S\ref{subsec:debug}), which is not expandable and includes the backslash character.
+
+\subsection{More font size commands}
+\label{subsec:fontsize}
+
+This package provides additional font size commands for use only in special cases.
+Users should prefer the standard \LaTeX{} font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency.
+
+\cs{SetFontStep} \sarg{} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size by setting the font step to the result of computing the \meta{floating point expression}.
+Adding the optional star instead increases the current font step by the result of computing the \meta{floating point expression} or issues an error if the current font step is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+
+\listheading{Three exceptions:}
+\begin{itemize}
+ \item
+ The font step must equal the font step of any font size command from \cs{tiny} to \cs{Huge} (Table~\ref{table:fontsteps}) unless the value of the key \Key{typographic\-/scale} is \Value{musical}.
+ \cs{SetFontStep} will issue an error if the font step is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+ \item
+ If the font step equals the font step of any font size command from \cs{tiny} to \cs{Huge}, then that font size command will be used directly.
+ \item
+ Does nothing, except issue a warning, if used in math mode.
+\end{itemize}
+
+\cs{SetFontScale} \sarg{} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size by setting the font scale to the result of computing the \meta{floating point expression}.
+Adding the optional star instead increases the current font scale by the result of computing the \meta{floating point expression}.
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{SetFontSize} \sarg{} \marg{dimen expression}
+\KeepNextPar*
+
+Sets the font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Adding the optional star instead increases the current font size by the result of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{ScaleFont} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size equal to the current font size \texttimes{} the result of computing the \meta{floating point expression}.
+Sets the font baselineskip equal to the current font baselineskip \texttimes{} the result of computing the \meta{floating point expression}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{SetFontSizeBaselineskip} \marg{dimen expression} \marg{skip expression}
+\KeepNextPar*
+
+Sets the font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Sets the font baselineskip to the value of \meta{skip expression}, appending a default unit of \unit{pt}.
+The font baselineskip must be greater than or equal to the font size.
+Does nothing, except issue a warning, if used in math mode.
+Can be used as an alternative to \cs{fontsize} + \cs{selectfont} as discussed in \S\ref{subsec:expandable}.
+
+\subsection{Testing and debugging}
+\label{subsec:debug}
+
+The commands documented here are intended primarily for testing and debugging.
+I have used them often when developing this package so I think users will find them helpful.
+
+\cs{PrintFontSizeParameters}
+\KeepNextPar*
+
+Prints the current font size parameters\---the font step, font scale, font size, and font baselineskip.
+The current font step will be left blank if it is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+
+\cs{PrintAllFontSizeParameters}
+\KeepNextPar*
+
+Prints the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge}.
+
+\cs{PrintSampleText} \sarg{} \marg{text}
+\KeepNextPar*
+
+Prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break.
+\meta{text} can contain \cs{par} tokens.
+Adding the optional star reverses the order of the font sizes.
+One useful way of printing example text is \cs{PrintSampleText}\allowbreak\texttt{\{\cs{PrintFontSizeCommand}:\allowbreak\textvisiblespace\allowbreak\cs{PrintFontSizeParameters}\}}.
+
+\cs{PrintFontSizeCommand}
+\KeepNextPar*
+
+Tests if the current font size and current font baselineskip equal the font size and font baselineskip, respectively, of any font size command from \cs{tiny} to \cs{Huge}.
+If so, prints the name of that font size command, including the backslash character.
+If not, prints \enquote{\string\undefined}.
+This package also provides a similar command \cs{CurrentFontSizeCommand} (\S\ref{subsec:expandable}), which is expandable and omits the backslash character.
+
+
+\section{Programming}
+\label{sec:programming}
+
+This section documents the \pkg{expl3} programming support provided by the \pkg{fontscale} package.
+
+\subsection
+ {%
+ Compatibility with
+ \texorpdfstring
+ {\cs{text_purify:n}}
+ {\textbackslash{}text\_purify:n}%
+ }
+\label{subsec:textpurify}
+
+\cs{text_purify:n} will correctly remove the formatting commands defined by this package, including \cs{fontscalesetup} and the commands documented in \S\ref{subsec:fontsize}.
+
+\subsection{Public functions and variables}
+\label{subsec:publicexpl3}
+
+This package does not define any public \pkg{expl3} functions.
+
+This package defines public \pkg{expl3} variables that store the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge}.
+These variables should never be modified directly.
+Their values should be changed only by \cs{fontscalesetup}.
+
+Each takes the form:
+
+\verb|\c_fontscale_|\meta{font size command}\verb|_step_fp|
+\nopagebreak\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_scale_fp|
+\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_size_dim|
+\nopagebreak\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_baselineskip_skip|
+
+Exception:
+\cs{l_fontscale_normalsize_scale_fp} is not defined.
+The font scale of \cs{normalsize} is stored in \cs{c_fontscale_normalsize_scale_fp}.
+
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/heria/README.md b/Master/texmf-dist/doc/latex/heria/README.md
index b3d5cf32b1c..664e9ae18bd 100644
--- a/Master/texmf-dist/doc/latex/heria/README.md
+++ b/Master/texmf-dist/doc/latex/heria/README.md
@@ -34,5 +34,5 @@ feature requests.
The `heria` class is distributed under the conditions of the [LaTeX
Project Public License](https://www.latex-project.org/lppl.txt),
-either version 1.3 of this license or (at your option) any later
+either version 1.3c of this license or (at your option) any later
version.
diff --git a/Master/texmf-dist/doc/latex/heria/heria-proposal.pdf b/Master/texmf-dist/doc/latex/heria/heria-proposal.pdf
index f8d64312a9a..60d99c6dab5 100644
--- a/Master/texmf-dist/doc/latex/heria/heria-proposal.pdf
+++ b/Master/texmf-dist/doc/latex/heria/heria-proposal.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/heria/heria-proposal.tex b/Master/texmf-dist/doc/latex/heria/heria-proposal.tex
index 4d75dd73234..e929caeaafb 100644
--- a/Master/texmf-dist/doc/latex/heria/heria-proposal.tex
+++ b/Master/texmf-dist/doc/latex/heria/heria-proposal.tex
@@ -8,10 +8,10 @@
%%
%% This is a generated file.
%%
-%% Copyright 2023 Tristan Miller
+%% Copyright 2023, 2024 Tristan Miller
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
@@ -20,6 +20,8 @@
%%
\documentclass[showinstructions]{heria}
+\templateversion{3.4}
+
\title{Skeleton Horizon Europe Proposal}
\callname{insert call name}
\callidentifier{HORIZON-XX0-0000-XXXXX-00-XXXXX}
diff --git a/Master/texmf-dist/doc/latex/heria/heria.pdf b/Master/texmf-dist/doc/latex/heria/heria.pdf
index af4f0cd6275..71b47d5ed5e 100644
--- a/Master/texmf-dist/doc/latex/heria/heria.pdf
+++ b/Master/texmf-dist/doc/latex/heria/heria.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hypcap/README.md b/Master/texmf-dist/doc/latex/hypcap/README.md
new file mode 100644
index 00000000000..07580bcb3f4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hypcap/README.md
@@ -0,0 +1,20 @@
+# hypcap package for LaTeX
+
+* adjusting anchors of captions;
+
+Version: 2024-07-26 v1.13
+
+This package tries a solution of the problem with
+hyperref, that links to floats points below the
+caption and not at the beginning of the float.
+Therefore this package divides the task into two
+part, the link setting with `\capstart` or
+automatically at the beginning of a float and
+the rest in the `\caption` command.
+
+## Copyright (C)
+* 1999-2001, 2006-2008, 2011 Heiko Oberdiek
+* 2016-2024 Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf b/Master/texmf-dist/doc/latex/hypcap/hypcap.pdf
index 46df7e89510..bea211492fa 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf
+++ b/Master/texmf-dist/doc/latex/hypcap/hypcap.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hypdestopt/README.md b/Master/texmf-dist/doc/latex/hypdestopt/README.md
index 0610b53e582..71e1c7066e7 100644
--- a/Master/texmf-dist/doc/latex/hypdestopt/README.md
+++ b/Master/texmf-dist/doc/latex/hypdestopt/README.md
@@ -1,6 +1,6 @@
# hypdestopt package for LaTeX
-Version: 2020-09-02 v2.7
+Version: 2024-08-07 v2.8
Hyperref destination optimizer
@@ -11,7 +11,7 @@ to get smaller PDF files.
## Copyright (C)
* 2007, 2009-2011 Heiko Oberdiek
-* 2016-2020 Oberdiek Package Support Group
+* 2016-2024 Oberdiek Package Support Group
## License
LATEX Project Public License, version 1.3c or later.
diff --git a/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx b/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx
index 03006db27bf..f9c6af1e6d9 100644
--- a/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx
+++ b/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
% File: hypdestopt.dtx
-% Version: 2020-09-02 v2.7
+% Version: 2024-08-07 v2.8
% Info: Hyperref destination optimizer
%
% Copyright (C)
% 2006-2008, 2011 Heiko Oberdiek
-% 2016-2020 Oberdiek Package Support Group
+% 2016-2024 Oberdiek Package Support Group
% https://github.com/ho-tex/hypdestopt/issues
%
% This work may be distributed and/or modified under the
@@ -79,7 +79,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: hypdestopt 2020-09-02 v2.7 Hyperref destination optimizer (HO)}
+\Msg{* Package: hypdestopt 2024-08-07 v2.8 Hyperref destination optimizer (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -91,11 +91,11 @@
This is a generated file.
Project: hypdestopt
-Version: 2020-09-02 v2.7
+Version: 2024-08-07 v2.8
Copyright (C)
2006-2008, 2011 Heiko Oberdiek
- 2016-2020 Oberdiek Package Support Group
+ 2016-2024 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -152,7 +152,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{hypdestopt.drv}%
- [2020-09-02 v2.7 Hyperref destination optimizer (HO)]%
+ [2024-08-07 v2.8 Hyperref destination optimizer (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -166,7 +166,7 @@ and the derived files
% \GetFileInfo{hypdestopt.drv}
%
% \title{The \xpackage{hypdestopt} package}
-% \date{2020-09-02 v2.7}
+% \date{2024-08-07 v2.8}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/hypdestopt/issues}}}
%
@@ -177,6 +177,9 @@ and the derived files
% \xoption{pdftex} and \xoption{luatex} driver. It removes unnecessary destinations
% and shortens the destination names or uses numbered destinations
% to get smaller PDF files.
+%
+% The package is not compatible with the \LaTeX{} PDFmanagement loaded with
+% \cs{DocumentMetadata} and will do nothing if it detects it.
% \end{abstract}
%
% \tableofcontents
@@ -289,9 +292,24 @@ and the derived files
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{hypdestopt}%
- [2020-09-02 v2.7 Hyperref destination optimizer (HO)]%
+ [2024-08-07 v2.8 Hyperref destination optimizer (HO)]%
% \end{macrocode}
%
+% \subsection{Check for PDF management}
+% \begin{macrocode}
+\IfDocumentMetadataTF
+ {
+ \PackageWarning{hypdestopt}
+ {
+ \string\DocumentMetadata detected. \MessageBreak
+ The package will do nothing.
+ }{}
+ }{}
+\IfDocumentMetadataTF
+ {
+ \endinput
+ }{}
+% \end{macrocode}
% \subsection{Options}
%
% \subsubsection{Option \xoption{verbose}}
@@ -752,26 +770,6 @@ and the derived files
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
% \subsection{Package installation}
%
% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
@@ -956,6 +954,9 @@ and the derived files
% \begin{Version}{2020-09-02 v2.7}
% \item Adapted to the new hook management of LaTeX (github issue 1)
% \end{Version}
+% \begin{Version}{2024-08-07 v2.8}
+% \item Disable the package if \cs{DocumentMetadata} is detected (github issue 2)
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdf b/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdf
index 1835545dc89..1ca7cc4c296 100644
--- a/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdf
+++ b/Master/texmf-dist/doc/latex/hypdestopt/hypdestopt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/iwonamath/README b/Master/texmf-dist/doc/latex/iwonamath/README
index 72fe9e35082..8bf59e86c3a 100644
--- a/Master/texmf-dist/doc/latex/iwonamath/README
+++ b/Master/texmf-dist/doc/latex/iwonamath/README
@@ -2,4 +2,9 @@ This package provides an interface to Iwona math fonts by Janusz
Marian Nowacki. It allows to use Iwona as math complement for sans
serif fonts without native math. The package allows font scaling, the
choice of light and condensed versions and the creation of multiple
-math versions. \ No newline at end of file
+math versions.
+
+Author: Boris Veytsman, borisv@lk.net, boris@varphi.com
+License: LPPL 1.3c, https://www.latex-project.org/lppl/lppl-1-3c/
+
+Version 1.1: Improved delimitershack as suggested by Enrico Gregorio. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdf b/Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdf
index fc0b5e6e2c2..e80a3e33d09 100644
--- a/Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdf
+++ b/Master/texmf-dist/doc/latex/iwonamath/iwonamath.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/iwonamath/sample.pdf b/Master/texmf-dist/doc/latex/iwonamath/sample.pdf
index c64d5e078d2..342ba53f87c 100644
--- a/Master/texmf-dist/doc/latex/iwonamath/sample.pdf
+++ b/Master/texmf-dist/doc/latex/iwonamath/sample.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jigsaw/jigsaw-doc-settings.sty b/Master/texmf-dist/doc/latex/jigsaw/jigsaw-doc-settings.sty
new file mode 100644
index 00000000000..13a1498c38e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jigsaw/jigsaw-doc-settings.sty
@@ -0,0 +1,196 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Personal helper theme for package documentations
+% Copyright samcarter
+%
+% This file may be distributed and/or modified
+% under the LaTeX Project Public License 1.3c or later
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Usage:
+% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty
+% \usepackage[
+% themecolor=samdblue
+% ]{\jobname-settings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Colours
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor}
+\definecolor{samyellow}{RGB}{246,193,65}
+\definecolor{samorange}{RGB}{241,147,45}
+\definecolor{samred}{RGB}{191,26,46}% TikZbricks
+\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots
+\definecolor{samviolet}{RGB}{136,46,114}% TikZlings
+\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme
+\definecolor{samdblue}{RGB}{0,51,134}% beamer theme
+\definecolor{samlblue}{RGB}{22,89,155}% TikZducks
+\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme
+\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw
+\definecolor{samdgreen}{RGB}{78,178,125}
+\definecolor{samlgray}{RGB}{160,160,185}
+\definecolor{samdgray}{RGB}{60,60,85}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval}
+\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}}
+\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}}
+\ExecuteOptionsX{themecolor,listingcolor}
+\ProcessOptionsX
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{beamer}{}{%
+ \RequirePackage[english]{babel}
+ \RequirePackage[paper=a4paper,margin=2.9cm]{geometry}
+ \RequirePackage{scrlayer-scrpage}
+ \let\hrulefillx\hrulefill
+ \RequirePackage[bitstream-charter]{mathdesign}
+ \let\hrulefill\hrulefillx
+ \RequirePackage[hang,flushmargin,bottom]{footmisc}
+ \RequirePackage{footnotehyper}
+ \makesavenoteenv{tcolorbox}
+ \RequirePackage[all]{nowidow}
+ \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref}
+}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{xspace}
+\RequirePackage{inconsolata}% mono font with bold, but italic is missing
+% \RequirePackage[scale=0.85]{cascadia-code}
+% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Listings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage[
+ cachedir=./build/
+]{minted}
+
+% smuggling custom pygmentize style in cache folder
+% (a real pygmentise style would need installtion in some python folder)
+\begin{filecontents*}[noheader]{./build/sam.pygstyle}
+\makeatletter
+\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
+ \let\PYG@ul=\relax \let\PYG@tc=\relax%
+ \let\PYG@bc=\relax \let\PYG@ff=\relax}
+\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
+\def\PYG@toks#1+{\ifx\relax#1\empty\else%
+ \PYG@tok{#1}\expandafter\PYG@toks\fi}
+\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
+ \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
+\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
+
+% optional arguments
+\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}}
+
+% macros
+\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+% curly brakets
+\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+
+% comments (italics won't work with the inconsolata font)
+\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}}
+
+\def\PYGZbs{\char`\\}
+\def\PYGZus{\char`\_}
+\def\PYGZob{\char`\{}
+\def\PYGZcb{\char`\}}
+\def\PYGZca{\char`\^}
+\def\PYGZam{\char`\&}
+\def\PYGZlt{\char`\<}
+\def\PYGZgt{\char`\>}
+\def\PYGZsh{\char`\#}
+\def\PYGZpc{\char`\%}
+\def\PYGZdl{\char`\$}
+\def\PYGZhy{\char`\-}
+\def\PYGZsq{\char`\'}
+\def\PYGZdq{\char`\"}
+\def\PYGZti{\char`\~}
+% for compatibility with earlier versions
+\def\PYGZat{@}
+\def\PYGZlb{[}
+\def\PYGZrb{]}
+\makeatother
+\end{filecontents*}
+
+\usemintedstyle{sam}
+\setminted{
+ breaksymbolleft={},
+ tabsize=2,
+ breaklines=true,
+}
+\newminted[samcode]{latex}{}
+\newmintinline[saminline]{latex}{}
+
+% use non-bold and all coloured for inline code in articles
+\ifdefined\insertaspectratio\else
+ \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{}
+\fi
+
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\tcbset{%
+ colframe=themecolor,
+ fonttitle=\bfseries,
+ sidebyside,
+ center lower,
+ righthand width=5.7cm,
+ bottom=2pt,
+ top=2pt,
+ left=3pt,
+ right=3pt,
+ sidebyside gap=10pt,
+ lower separated=false,
+ listing engine=minted,
+ minted language=latex,
+ colback=themecolor!10,
+ sharp corners,
+ boxrule=0pt,
+ before title={\strut}
+}
+
+% avoid page breaks right in front of the tcolorbox
+\@ifclassloaded{beamer}{}{
+ \tcbuselibrary{hooks}
+ \tcbset{before pre={\nopagebreak[4]}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% document settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+ \KOMAoptions{parskip=half}
+ \addtokomafont{sectioning}{\color{themecolor}}
+ \addtokomafont{date}{\normalsize}
+ \addtokomafont{author}{\normalsize}
+ \setlength{\footnotemargin}{0.7em}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Custom macros
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\CTAN}{\textsc{CTAN}\xspace}
+\providecommand*{\TikZ}{Ti\emph{k}Z\xspace}
+\providecommand*{\miktex}{MiK\TeX\xspace}
+\providecommand*{\texlive}{\TeX{}Live\xspace}
+\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace}
+\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
+\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/jsonparse/README.md b/Master/texmf-dist/doc/latex/jsonparse/README.md
index 69258570db6..c4df9ad4193 100644
--- a/Master/texmf-dist/doc/latex/jsonparse/README.md
+++ b/Master/texmf-dist/doc/latex/jsonparse/README.md
@@ -1,6 +1,6 @@
-![Version 0.8.3](https://img.shields.io/badge/version-0.8.3-blue)
+![Version 0.8.7](https://img.shields.io/badge/version-0.8.7-blue)
-![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/d6abde3a-fa12-4b63-a213-ad8332e32199)
+![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/ddfddc70-bf5f-4121-ba45-4b9128875d85)
# The `jsonparse` package
@@ -46,5 +46,5 @@ We can store it in the token variable `\myJSONdata` using the command `\JSONPars
This package including all files is subject to the LPPL 1.3c license. Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
-Jason, the JSON parseing horse: Copyright 2024 Hannah Klöber.
+Jason, the JSON parsing horse: Copyright 2024 Hannah Klöber.
diff --git a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdf b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdf
index 324458e6845..44ff3db133f 100644
--- a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdf
+++ b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg
index fe8793dfa8e..aff567e175a 100644
--- a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg
+++ b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.svg
@@ -1,67 +1,25 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="250px" height="250px" viewBox="0 0 450 450" enable-background="new 0 0 449.5 435" xml:space="preserve">
-<circle fill="#3FA9F5" cx="239" cy="226" r="206.166"/>
-<g>
- <defs>
- <circle id="SVGID_1_" cx="239" cy="226" r="206.166"/>
- </defs>
- <clipPath id="SVGID_2_">
- <use xlink:href="#SVGID_1_" overflow="visible"/>
- </clipPath>
- <path clip-path="url(#SVGID_2_)" fill="#C69C6D" d="M418.334,389.667c0,0-10.334-12.333-36-86.667S344,189.333,333.667,163
- c-5.552-14.149-12.545-22.326-17.83-26.869c7.769-5.957,15.778-13.185,19.83-20.131c6.902-11.834,11.667-24.5,15.667-38.5
- C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5c-1.534,2.754-3.036,5.383-4.538,7.892l-125.587,25.33
- C141.705,137.165,130.648,151.436,126,166c-4.127,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774l12.106,48.851
- l56.113,69.247c13.436-9.009,28.206-20.065,46.512-27.122c13.874-5.348,33.133-8.479,51.113-12.082
- c2.555,6.323,8.828,23.014,11.387,40.332c3.25,22,4.5,91.5,4.5,91.5L418.334,389.667z"/>
- <path clip-path="url(#SVGID_2_)" fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M465.5,307.334
- c0,0-9.667-14.833-21.667-21c-11.409-5.863-24.5-7.167-24.5-7.167s2.853-11.646,11.167-22.833C439.667,244,456,233.667,456,233.667
- l-51.499-17.5c0,0,17.166-6.5,25.166-13.833c9.095-8.336,13.333-30,13.333-30s-47.621,2.806-54.333-15.167
- C383.501,143.333,402.001,114,402.001,114s-27.334-6.333-41.167-6.167c-7.572,0.091-15.827,0.876-22.104,2.556
- c-0.978,1.889-1.986,3.764-3.063,5.611c-4.052,6.946-12.062,14.174-19.83,20.131c5.285,4.543,12.278,12.72,17.83,26.869
- c10.333,26.333,23.001,65.666,48.667,140s36,86.667,36,86.667l32.5-36.5c-15.167-3-22.334-20.5-22.334-20.5L465.5,307.334z"/>
- <path clip-path="url(#SVGID_2_)" fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M234,448.5
- c0,0-1.25-69.5-4.5-91.5c-2.559-17.318-8.832-34.009-11.387-40.332c-0.185,0.037-0.369,0.074-0.554,0.111"/>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.2.2 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width="250px" height="250px" viewBox='-70.503905 -70.50391 452.105105 441.67801'>
+<defs>
+<clipPath id='clip'>
+<path d='M361.3402 148.0117C361.3402 261.4457 269.3832 353.4067 155.9452 353.4067C42.5082 353.4067-49.4531 261.4457-49.4531 148.0117C-49.4531 34.5747 42.5082-57.3867 155.9452-57.3867C269.3832-57.3867 361.3402 34.5747 361.3402 148.0117Z'/>
+</clipPath>
+</defs>
+<g id='page1'>
+<path d='M361.3402 148.0117C361.3402 261.4457 269.3832 353.4067 155.9452 353.4067C42.5082 353.4067-49.4531 261.4457-49.4531 148.0117C-49.4531 34.5747 42.5082-57.3867 155.9452-57.3867C269.3832-57.3867 361.3402 34.5747 361.3402 148.0117Z' fill='#5ba3de'/>
+<path d='M334.6092 311.0627C334.6092 311.0627 324.3162 298.7777 298.7422 224.7227C273.1762 150.6637 260.5542 111.4807 250.2582 85.2457C244.7262 71.1487 237.7622 62.9997 232.4962 58.4767C240.2342 52.5387 248.2152 45.3397 252.2502 38.4217C259.1252 26.6289 263.8752 14.0117 267.8592 .0664C270.2462-8.2969 277.4922-14.0508 277.4922-14.0508S222.6952-27 199.1172 15.3398C197.5862 18.0859 196.0942 20.7031 194.5942 23.2031L69.4762 48.4377C59.0122 59.5077 48.0002 73.7227 43.3672 88.2347C39.2542 101.1167 32.0742 104.1757 17.1289 116.1287C2.1875 128.0857-30.0898 159.7387-30.0898 159.7387L-18.0273 208.4097L37.8752 277.3987C51.2622 268.4177 65.9722 257.4067 84.2152 250.3787C98.0352 245.0467 117.2222 241.9297 135.1372 238.3397C137.6832 244.6367 143.9332 261.2657 146.4802 278.5237C149.7192 300.4377 150.9652 369.6797 150.9652 369.6797Z' fill='#ba8d5d' clip-path='url(#clip)'/>
+<path d='M381.6012 229.0387C381.6012 229.0387 371.9692 214.2617 360.0122 208.1167C348.6442 202.2777 335.6052 200.9767 335.6052 200.9767S338.4452 189.3747 346.7302 178.2307C355.8592 165.9457 372.1372 155.6447 372.1372 155.6447L320.8282 138.2107C320.8282 138.2107 337.9292 131.7347 345.8982 124.4297C354.9612 116.1247 359.1832 94.5427 359.1832 94.5427S311.7422 97.3397 305.0512 79.4337C299.9062 65.6527 318.3362 36.4297 318.3362 36.4297S291.1012 30.1167 277.3242 30.2847C269.7812 30.3747 261.5542 31.1567 255.3042 32.8277C254.3282 34.7107 253.3242 36.5817 252.2502 38.4217C248.2152 45.3397 240.2342 52.5387 232.4962 58.4767C237.7622 62.9997 244.7262 71.1487 250.2582 85.2457C260.5542 111.4807 273.1762 150.6637 298.7422 224.7227C324.3162 298.7777 334.6092 311.0627 334.6092 311.0627L366.9882 274.6997C351.8752 271.7107 344.7382 254.2777 344.7382 254.2777Z' fill='#f68623' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10' clip-path='url(#clip)'/>
+<path d='M37.8712 277.3987C51.2622 268.4177 65.9722 257.4067 84.2152 250.3787C108.1682 241.1407 148.2502 238.5427 169.8632 228.6327C191.4762 218.7307 194.1792 185.4067 194.1792 185.4067M150.9652 369.6797C150.9652 369.6797 149.7192 300.4377 146.4802 278.5237C143.9332 261.2657 137.6832 244.6367 135.1332 238.3397C134.9492 238.3747 134.7692 238.4097 134.5862 238.4497M212.7342 71.7967C212.7342 71.7967 242.9532 54.3637 252.2502 38.4217C259.1252 26.6289 263.8752 14.0117 267.8592 .0664C270.2462-8.2969 277.4922-14.0508 277.4922-14.0508S222.6952-27 199.1172 15.3398C197.5862 18.0859 196.0942 20.7031 194.5942 23.2031M69.4762 48.4377C59.0122 59.5077 47.9962 73.7227 43.3672 88.2347C39.2542 101.1167 32.0742 104.1757 17.1289 116.1287C2.1875 128.0857-30.0898 159.7387-30.0898 159.7387' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10' clip-path='url(#clip)'/>
+<path d='M106.4652 1.2266C106.4652 1.2266 105.9652-3.918 96.3322-13.8828C94.6292-15.6484 92.7692-17.0078 90.8672-18.0586C91.1792-11.9961 91.7852-6.9063 92.1642-4.1016C98.3012-4.2969 103.4262-2.5938 106.4652 1.2266Z' fill='#ba8d5d' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M96.1722-32.6484C106.4652-33.4766 119.5822-30.9844 125.7222-21.6875C128.7112-24.8398 128.7112-39.9531 128.7112-39.9531S136.2112-20.1836 148.1132-14.75C143.5472-30.8398 127.1132-45.75 120.3282-51.2422C113.3552-56.8906 103.7652-70.50391 103.7652-70.50391S94.8202-59.2109 91.8322-41.6133C91.2892-38.4297 90.9722-35.0938 90.8042-31.7695C92.5002-32.1836 94.2892-32.4961 96.1722-32.6484Z' fill='#ba8d5d' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M184.1722-2.2617C173.5472-11.8906 162.4222-13.0547 153.6172-13.3828C138.5702-13.9531 128.7112-39.9531 128.7112-39.9531S128.7112-24.8398 125.7222-21.6875C119.5822-30.9844 106.4652-33.4766 96.1722-32.6484C81.6252-31.4727 72.2622-21.0234 72.2622-21.0234S86.7072-23.8438 96.3322-13.8828C105.9652-3.918 106.4652 1.2266 106.4652 1.2266C99.3242-7.7422 80.7262-5.082 64.4532 6.543C48.1832 18.1602 52.9962 49.3787 52.9962 49.3787S56.6522 36.5937 73.5862 28.7887C80.1332 25.7734 97.4962 25.1367 97.4962 25.1367S72.7582 25.9687 67.9412 54.8597C65.0472 72.2457 71.5942 87.0707 71.5942 87.0707S73.0902 71.6287 87.8672 62.4957C98.1402 56.1487 109.6212 53.1997 109.6212 53.1997C104.4722 57.0157 106.4652 67.9767 106.4652 67.9767S115.4292 52.8667 139.1722 54.3637C169.5392 56.2737 182.0352 44.1877 194.5942 23.2031C194.0432 17.1289 191.9692 4.8008 184.1722-2.2617Z' fill='#f68623' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M37.8712 277.3987C46.1912 267.0387 57.7072 251.8637 60.5542 243.9027C68.0272 222.9807 59.3082 213.2657 54.5782 206.0427C49.8442 198.8207 57.8122 194.5857 44.6132 181.8827S-8.9336 190.1017-14.4141 187.6137C-19.8945 185.1207-19.3945 181.8827-20.8906 170.9257C-22.3867 159.9647-28.0469 158.7847-37.3281 159.9647C-49.9297 161.5627-55.7617 184.3747-58.9961 200.0667C-62.23437 215.7577-70.503905 215.5117-68.71094 228.9567C-67.86328 235.3317-64.28125 241.8907-52.8711 244.2927C-53.5937 250.0317-53.8047 257.0317-52.5898 264.6597C-49.4414 284.4727-17.918 294.3787 5.5 292.1247C16.2148 291.0977 26.5742 284.9727 37.8712 277.3987Z' fill='#976d46' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M159.6012 113.0977C159.6012 122.6597 150.8982 130.4097 140.1722 130.4097C129.4412 130.4097 120.7462 122.6597 120.7462 113.0977C120.7462 103.5347 129.4412 95.7887 140.1722 95.7887C150.8982 95.7887 159.6012 103.5347 159.6012 113.0977Z' fill='#fff' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M146.6482 115.1327C146.6482 118.9847 143.1172 122.1097 138.7622 122.1097C134.4062 122.1097 130.8712 118.9847 130.8712 115.1327C130.8712 111.2817 134.4062 108.1597 138.7622 108.1597C143.1172 108.1597 146.6482 111.2817 146.6482 115.1327Z' fill='#341a13'/>
+<path d='M-1.9453 215.2187C-1.9453 215.2187 .4883 211.0157 4.1406 206.1677C8.5508 200.3047 16.4766 195.1837 20.4531 194.8357C27.5508 194.2107 32.6052 195.9337 29.7152 201.4997C26.8281 207.0707 17.3984 212.9567 10.4922 213.8907C3.5781 214.8167-1.9453 215.2187-1.9453 215.2187Z' fill='#341a13'/>
+<path d='M-43.0742 245.1407C-43.793 249.6797-44.1641 256.3747-41.0664 260.0897C-36.082 266.0667-26.6211 275.0347-5.1992 262.0817C12.7813 251.2107 35.8402 229.8127 42.7892 223.2227C38.7772 226.3637 28.1367 232.1247 4.0156 231.9457C-22.5469 231.7417-28.8125 244.2577-43.0742 245.1407Z' fill='#fff' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M-52.8711 244.2927C-50.918 244.7027-48.7383 244.9997-46.2969 245.1487C-45.1719 245.2107-44.1055 245.2067-43.0742 245.1407' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M25.7773 230.1017C9.6211 238.6997-18.1562 252.9177-25.7695 253.2777C-33.0273 253.6167-39.2852 248.5467-42.6719 245.1057C-42.8047 245.1167-42.9375 245.1287-43.0742 245.1407' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10'/>
</g>
-<path fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M267.334,75.167
- C256.668,65.5,245.5,64.333,236.667,64c-15.107-0.57-25-26.667-25-26.667s0,15.167-3,18.333c-6.167-9.333-19.333-11.833-29.667-11
- c-14.596,1.177-24,11.667-24,11.667s14.5-2.833,24.167,7.167c9.667,10,10.167,15.167,10.167,15.167
- c-7.167-9-25.834-6.334-42.167,5.333s-11.5,43-11.5,43s3.667-12.833,20.667-20.667c6.572-3.028,24-3.667,24-3.667
- S155.5,103.5,150.667,132.5c-2.909,17.455,3.667,32.333,3.667,32.333s1.5-15.5,16.333-24.667c10.31-6.371,21.833-9.333,21.833-9.333
- c-5.167,3.833-3.166,14.833-3.166,14.833s9-15.167,32.833-13.667c30.479,1.918,43.022-10.208,55.629-31.275
- C277.24,94.63,275.157,82.257,267.334,75.167z"/>
-<path fill="#A67C52" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.487,355.872
- c8.348-10.395,19.908-25.626,22.763-33.622c7.5-21-1.25-30.75-6-38s3.25-11.5-10-24.25S73.5,268.25,68,265.75S63,260,61.5,249
- s-7.183-12.182-16.5-11c-12.646,1.604-18.5,24.5-21.75,40.25s-11.549,15.507-9.75,29c0.854,6.402,4.447,12.983,15.898,15.396
- c-0.721,5.758-0.935,12.787,0.283,20.442c3.164,19.888,34.804,29.832,58.308,27.572C98.749,369.626,109.143,363.479,120.487,355.872
- z"/>
-<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M189.334,78.667c0,0-0.5-5.167-10.167-15.167
- c-1.713-1.772-3.58-3.135-5.489-4.188c0.317,6.082,0.921,11.189,1.303,14.006C181.138,73.124,186.281,74.833,189.334,78.667z"/>
-<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M179,44.667c10.334-0.833,23.5,1.667,29.667,11
- c3-3.167,3-18.333,3-18.333s7.525,19.843,19.471,25.298c-4.58-16.15-21.08-31.12-27.888-36.632
- c-7-5.667-16.625-19.333-16.625-19.333s-8.979,11.333-11.979,29c-0.542,3.195-0.864,6.542-1.031,9.882
- C175.318,45.129,177.115,44.819,179,44.667z"/>
-<ellipse fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" cx="223.167" cy="190.959" rx="19.5" ry="17.375"/>
-<ellipse fill="#42210B" cx="221.751" cy="193" rx="7.917" ry="7"/>
-<path fill="#603813" d="M80.519,293.464c0,0,2.443-4.219,6.106-9.089C91.052,278.49,99.007,273.351,103,273
- c7.125-0.625,12.198,1.105,9.299,6.695S99.936,291.193,93,292.125S80.519,293.464,80.519,293.464z"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M296,149.5c0,0,30.334-17.5,39.667-33.5
- c6.902-11.834,11.667-24.5,15.667-38.5C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5
- c-1.534,2.754-3.036,5.383-4.538,7.892"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.488,355.872
- c13.437-9.009,28.207-20.065,46.512-27.122c24.045-9.269,64.273-11.878,85.969-21.821s24.408-43.392,24.408-43.392"/>
-<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M127.5,299.5c0,0-0.749,0.729-2.083,1.995
- C126.919,300.316,127.5,299.5,127.5,299.5z"/>
-<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M39.236,323.495
- c-0.724,4.556-1.093,11.276,2.014,15.005c5,6,14.5,15,36,2c18.048-10.912,41.196-32.388,48.167-39.005
- c-4.023,3.157-14.707,8.937-38.917,8.755C59.839,310.05,53.549,322.611,39.236,323.495z"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M29.398,322.646c1.963,0.413,4.15,0.708,6.602,0.854
- c1.129,0.067,2.202,0.06,3.236-0.005"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M108.345,308.401
- c-16.22,8.63-44.097,22.899-51.74,23.26c-7.288,0.344-13.568-4.744-16.966-8.201c-0.135,0.01-0.266,0.026-0.403,0.035"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M152.209,126.056
- C141.705,137.165,130.648,151.436,126,166c-4.126,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774"/>
</svg>
diff --git a/Master/texmf-dist/doc/latex/jsonparse/jason/jason.tex b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.tex
new file mode 100644
index 00000000000..28e9eb1b0c6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jsonparse/jason/jason.tex
@@ -0,0 +1,289 @@
+% File: jason/jason.tex
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+%
+% This file is part of the `jsonparse' package (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+\documentclass{standalone}
+\usepackage{l3draw}
+
+\begin{document}
+\ExplSyntaxOn
+
+\color_set:nnn { color_i } { rgb } { 0.356863 , 0.639216 , 0.870588 }
+\color_set:nnn { color_ii } { rgb } { 0.729412 , 0.552941 , 0.364706 }
+\color_set:nnn { color_iii } { rgb } { 0.964706 , 0.52549 , 0.137255 }
+\color_set:nnn { color_iv } { rgb } { 0.592157 , 0.427451 , 0.27451 }
+\color_set:nnn { color_v } { rgb } { 0.317647 , 0.172549 , 0.0823529 }
+\color_set:nnn { color_vi } { rgb } { 0.203922 , 0.101961 , 0.0745098 }
+\color_set:nnn { color_vii } { rgb } { 1 , 1 , 1 }
+
+\draw_begin:
+
+\cs_new:Npn \__jsonparse_jason_path_i: {
+ \draw_path_moveto:n { 433.418 , 221.836 }
+ \draw_path_curveto:nnn { 433.418 , 335.695 } { 341.117 , 428 } { 227.254 , 428 }
+ \draw_path_curveto:nnn { 113.391 , 428 } { 21.086 , 335.695 } { 21.086 , 221.836 }
+ \draw_path_curveto:nnn { 21.086 , 107.973 } { 113.391 , 15.668 } { 227.254 , 15.668 }
+ \draw_path_curveto:nnn { 341.117 , 15.668 } { 433.418 , 107.973 } { 433.418 , 221.836 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_ii: {
+ \draw_path_moveto:n { 406.586 , 385.5 }
+ \draw_path_curveto:nnn { 406.586 , 385.5 } { 396.254 , 373.168 } { 370.586 , 298.836 }
+ \draw_path_curveto:nnn { 344.922 , 224.5 } { 332.254 , 185.168 } { 321.918 , 158.836 }
+ \draw_path_curveto:nnn { 316.367 , 144.684 } { 309.375 , 136.508 } { 304.09 , 131.965 }
+ \draw_path_curveto:nnn { 311.859 , 126.008 } { 319.867 , 118.781 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 330.82 , 100 } { 335.586 , 87.336 } { 339.586 , 73.336 }
+ \draw_path_curveto:nnn { 341.984 , 64.941 } { 349.254 , 59.168 } { 349.254 , 59.168 }
+ \draw_path_curveto:nnn { 349.254 , 59.168 } { 294.254 , 46.168 } { 270.586 , 88.668 }
+ \draw_path_curveto:nnn { 269.051 , 91.422 } { 267.551 , 94.051 } { 266.047 , 96.559 }
+ \draw_path_lineto:n { 140.461 , 121.891 }
+ \draw_path_curveto:nnn { 129.957 , 133 } { 118.902 , 147.27 } { 114.254 , 161.836 }
+ \draw_path_curveto:nnn { 110.125 , 174.766 } { 102.918 , 177.836 } { 87.918 , 189.836 }
+ \draw_path_curveto:nnn { 72.918 , 201.836 } { 40.52 , 233.609 } { 40.52 , 233.609 }
+ \draw_path_lineto:n { 52.629 , 282.461 }
+ \draw_path_lineto:n { 108.742 , 351.707 }
+ \draw_path_curveto:nnn { 122.176 , 342.695 } { 136.945 , 331.641 } { 155.254 , 324.586 }
+ \draw_path_curveto:nnn { 169.125 , 319.234 } { 188.387 , 316.105 } { 206.367 , 312.504 }
+ \draw_path_curveto:nnn { 208.922 , 318.824 } { 215.195 , 335.516 } { 217.754 , 352.836 }
+ \draw_path_curveto:nnn { 221.004 , 374.836 } { 222.254 , 444.336 } { 222.254 , 444.336 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_iii: {
+ \draw_path_moveto:n { 453.754 , 303.168 }
+ \draw_path_curveto:nnn { 453.754 , 303.168 } { 444.086 , 288.336 } { 432.086 , 282.168 }
+ \draw_path_curveto:nnn { 420.676 , 276.305 } { 407.586 , 275 } { 407.586 , 275 }
+ \draw_path_curveto:nnn { 407.586 , 275 } { 410.438 , 263.355 } { 418.754 , 252.168 }
+ \draw_path_curveto:nnn { 427.918 , 239.836 } { 444.254 , 229.5 } { 444.254 , 229.5 }
+ \draw_path_lineto:n { 392.754 , 212 }
+ \draw_path_curveto:nnn { 392.754 , 212 } { 409.918 , 205.5 } { 417.918 , 198.168 }
+ \draw_path_curveto:nnn { 427.016 , 189.832 } { 431.254 , 168.168 } { 431.254 , 168.168 }
+ \draw_path_curveto:nnn { 431.254 , 168.168 } { 383.633 , 170.973 } { 376.918 , 153 }
+ \draw_path_curveto:nnn { 371.754 , 139.168 } { 390.254 , 109.836 } { 390.254 , 109.836 }
+ \draw_path_curveto:nnn { 390.254 , 109.836 } { 362.918 , 103.5 } { 349.086 , 103.668 }
+ \draw_path_curveto:nnn { 341.516 , 103.758 } { 333.258 , 104.543 } { 326.984 , 106.223 }
+ \draw_path_curveto:nnn { 326.004 , 108.113 } { 324.996 , 109.988 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 319.867 , 118.781 } { 311.859 , 126.008 } { 304.09 , 131.965 }
+ \draw_path_curveto:nnn { 309.375 , 136.508 } { 316.367 , 144.684 } { 321.918 , 158.836 }
+ \draw_path_curveto:nnn { 332.254 , 185.168 } { 344.922 , 224.5 } { 370.586 , 298.836 }
+ \draw_path_curveto:nnn { 396.254 , 373.168 } { 406.586 , 385.5 } { 406.586 , 385.5 }
+ \draw_path_lineto:n { 439.086 , 349 }
+ \draw_path_curveto:nnn { 423.918 , 346 } { 416.754 , 328.5 } { 416.754 , 328.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_iv: {
+ \draw_path_moveto:n { 255.586 , 71 }
+ \draw_path_curveto:nnn { 244.922 , 61.336 } { 233.754 , 60.168 } { 224.918 , 59.836 }
+ \draw_path_curveto:nnn { 209.812 , 59.266 } { 199.918 , 33.168 } { 199.918 , 33.168 }
+ \draw_path_curveto:nnn { 199.918 , 33.168 } { 199.918 , 48.336 } { 196.918 , 51.5 }
+ \draw_path_curveto:nnn { 190.754 , 42.168 } { 177.586 , 39.668 } { 167.254 , 40.5 }
+ \draw_path_curveto:nnn { 152.656 , 41.68 } { 143.254 , 52.168 } { 143.254 , 52.168 }
+ \draw_path_curveto:nnn { 143.254 , 52.168 } { 157.754 , 49.336 } { 167.418 , 59.336 }
+ \draw_path_curveto:nnn { 177.086 , 69.336 } { 177.586 , 74.5 } { 177.586 , 74.5 }
+ \draw_path_curveto:nnn { 170.418 , 65.5 } { 151.754 , 68.168 } { 135.418 , 79.836 }
+ \draw_path_curveto:nnn { 119.086 , 91.5 } { 123.918 , 122.836 } { 123.918 , 122.836 }
+ \draw_path_curveto:nnn { 123.918 , 122.836 } { 127.586 , 110 } { 144.586 , 102.168 }
+ \draw_path_curveto:nnn { 151.156 , 99.141 } { 168.586 , 98.5 } { 168.586 , 98.5 }
+ \draw_path_curveto:nnn { 168.586 , 98.5 } { 143.754 , 99.336 } { 138.918 , 128.336 }
+ \draw_path_curveto:nnn { 136.012 , 145.789 } { 142.586 , 160.668 } { 142.586 , 160.668 }
+ \draw_path_curveto:nnn { 142.586 , 160.668 } { 144.086 , 145.168 } { 158.918 , 136 }
+ \draw_path_curveto:nnn { 169.23 , 129.629 } { 180.754 , 126.668 } { 180.754 , 126.668 }
+ \draw_path_curveto:nnn { 175.586 , 130.5 } { 177.586 , 141.5 } { 177.586 , 141.5 }
+ \draw_path_curveto:nnn { 177.586 , 141.5 } { 186.586 , 126.336 } { 210.418 , 127.836 }
+ \draw_path_curveto:nnn { 240.898 , 129.754 } { 253.441 , 117.625 } { 266.047 , 96.559 }
+ \draw_path_curveto:nnn { 265.492 , 90.465 } { 263.41 , 78.09 } { 255.586 , 71 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_v: {
+ \draw_path_moveto:n { 108.738 , 351.707 }
+ \draw_path_curveto:nnn { 117.086 , 341.312 } { 128.648 , 326.078 } { 131.504 , 318.086 }
+ \draw_path_curveto:nnn { 139.004 , 297.086 } { 130.254 , 287.336 } { 125.504 , 280.086 }
+ \draw_path_curveto:nnn { 120.754 , 272.836 } { 128.754 , 268.586 } { 115.504 , 255.836 }
+ \draw_path_curveto:nnn { 102.254 , 243.086 } { 61.754 , 264.086 } { 56.254 , 261.586 }
+ \draw_path_curveto:nnn { 50.754 , 259.086 } { 51.254 , 255.836 } { 49.754 , 244.836 }
+ \draw_path_curveto:nnn { 48.254 , 233.836 } { 42.57 , 232.652 } { 33.254 , 233.836 }
+ \draw_path_curveto:nnn { 20.605 , 235.438 } { 14.754 , 258.336 } { 11.504 , 274.086 }
+ \draw_path_curveto:nnn { 8.254 , 289.836 } { -0.047 , 289.59 } { 1.754 , 303.086 }
+ \draw_path_curveto:nnn { 2.605 , 309.484 } { 6.199 , 316.066 } { 17.652 , 318.48 }
+ \draw_path_curveto:nnn { 16.93 , 324.238 } { 16.715 , 331.266 } { 17.934 , 338.922 }
+ \draw_path_curveto:nnn { 21.098 , 358.809 } { 52.738 , 368.754 } { 76.242 , 366.492 }
+ \draw_path_curveto:nnn { 87 , 365.461 } { 97.395 , 359.312 } { 108.738 , 351.707 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_vi: {
+ \draw_path_moveto:n { 108.738 , 351.707 }
+ \draw_path_curveto:nnn { 122.176 , 342.695 } { 136.945 , 331.641 } { 155.254 , 324.586 }
+ \draw_path_curveto:nnn { 179.297 , 315.316 } { 219.527 , 312.707 } { 241.223 , 302.762 }
+ \draw_path_curveto:nnn { 262.918 , 292.82 } { 265.629 , 259.371 } { 265.629 , 259.371 }
+
+ \draw_path_moveto:n { 222.254 , 444.336 }
+ \draw_path_curveto:nnn { 222.254 , 444.336 } { 221.004 , 374.836 } { 217.754 , 352.836 }
+ \draw_path_curveto:nnn { 215.195 , 335.516 } { 208.922 , 318.824 } { 206.363 , 312.504 }
+ \draw_path_curveto:nnn { 206.18 , 312.539 } { 205.996 , 312.574 } { 205.812 , 312.613 }
+
+ \draw_path_moveto:n { 284.254 , 145.336 }
+ \draw_path_curveto:nnn { 284.254 , 145.336 } { 314.586 , 127.836 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 330.82 , 100 } { 335.586 , 87.336 } { 339.586 , 73.336 }
+ \draw_path_curveto:nnn { 341.984 , 64.941 } { 349.254 , 59.168 } { 349.254 , 59.168 }
+ \draw_path_curveto:nnn { 349.254 , 59.168 } { 294.254 , 46.168 } { 270.586 , 88.668 }
+ \draw_path_curveto:nnn { 269.051 , 91.422 } { 267.551 , 94.051 } { 266.047 , 96.559 }
+
+ \draw_path_moveto:n { 140.461 , 121.891 }
+ \draw_path_curveto:nnn { 129.957 , 133 } { 118.898 , 147.27 } { 114.254 , 161.836 }
+ \draw_path_curveto:nnn { 110.125 , 174.766 } { 102.918 , 177.836 } { 87.918 , 189.836 }
+ \draw_path_curveto:nnn { 72.918 , 201.836 } { 40.52 , 233.609 } { 40.52 , 233.609 }
+}
+
+\cs_new:Npn \__jsonparse_jason_path_vii: {
+ \draw_path_moveto:n { 177.586 , 74.5 }
+ \draw_path_curveto:nnn { 177.586 , 74.5 } { 177.086 , 69.336 } { 167.418 , 59.336 }
+ \draw_path_curveto:nnn { 165.707 , 57.562 } { 163.84 , 56.199 } { 161.93 , 55.145 }
+ \draw_path_curveto:nnn { 162.246 , 61.227 } { 162.852 , 66.336 } { 163.234 , 69.152 }
+ \draw_path_curveto:nnn { 169.391 , 68.957 } { 174.535 , 70.668 } { 177.586 , 74.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_viii: {
+ \draw_path_moveto:n { 167.254 , 40.5 }
+ \draw_path_curveto:nnn { 177.586 , 39.668 } { 190.754 , 42.168 } { 196.918 , 51.5 }
+ \draw_path_curveto:nnn { 199.918 , 48.336 } { 199.918 , 33.168 } { 199.918 , 33.168 }
+ \draw_path_curveto:nnn { 199.918 , 33.168 } { 207.445 , 53.012 } { 219.391 , 58.465 }
+ \draw_path_curveto:nnn { 214.809 , 42.316 } { 198.312 , 27.348 } { 191.504 , 21.836 }
+ \draw_path_curveto:nnn { 184.504 , 16.168 } { 174.879 , 2.5 } { 174.879 , 2.5 }
+ \draw_path_curveto:nnn { 174.879 , 2.5 } { 165.898 , 13.836 } { 162.898 , 31.5 }
+ \draw_path_curveto:nnn { 162.355 , 34.695 } { 162.035 , 38.043 } { 161.867 , 41.383 }
+ \draw_path_curveto:nnn { 163.57 , 40.965 } { 165.367 , 40.652 } { 167.254 , 40.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_ix: {
+ \draw_path_moveto:n { 230.922 , 186.793 }
+ \draw_path_curveto:nnn { 230.922 , 196.391 } { 222.188 , 204.168 } { 211.422 , 204.168 }
+ \draw_path_curveto:nnn { 200.648 , 204.168 } { 191.922 , 196.391 } { 191.922 , 186.793 }
+ \draw_path_curveto:nnn { 191.922 , 177.195 } { 200.648 , 169.418 } { 211.422 , 169.418 }
+ \draw_path_curveto:nnn { 222.188 , 169.418 } { 230.922 , 177.195 } { 230.922 , 186.793 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_x: {
+ \draw_path_moveto:n { 217.922 , 188.836 }
+ \draw_path_curveto:nnn { 217.922 , 192.699 } { 214.375 , 195.836 } { 210.004 , 195.836 }
+ \draw_path_curveto:nnn { 205.633 , 195.836 } { 202.086 , 192.699 } { 202.086 , 188.836 }
+ \draw_path_curveto:nnn { 202.086 , 184.969 } { 205.633 , 181.836 } { 210.004 , 181.836 }
+ \draw_path_curveto:nnn { 214.375 , 181.836 } { 217.922 , 184.969 } { 217.922 , 188.836 }
+ \draw_path_close:
+}
+
+% nostril
+\cs_new:Npn \__jsonparse_jason_path_xi: {
+ \draw_path_moveto:n { 68.77 , 289.297 }
+ \draw_path_curveto:nnn { 68.77 , 289.297 } { 71.215 , 285.078 } { 74.879 , 280.211 }
+ \draw_path_curveto:nnn { 79.305 , 274.324 } { 87.262 , 269.184 } { 91.254 , 268.836 }
+ \draw_path_curveto:nnn { 98.379 , 268.211 } { 103.449 , 269.938 } { 100.551 , 275.527 }
+ \draw_path_curveto:nnn { 97.652 , 281.117 } { 88.188 , 287.027 } { 81.254 , 287.961 }
+ \draw_path_curveto:nnn { 74.316 , 288.891 } { 68.77 , 289.297 } { 68.77 , 289.297 }
+ \draw_path_close:
+}
+
+% mouth
+\cs_new:Npn \__jsonparse_jason_path_xii: {
+ \draw_path_moveto:n { 27.488 , 319.328 }
+ \draw_path_curveto:nnn { 26.766 , 323.887 } { 26.395 , 330.605 } { 29.504 , 334.336 }
+ \draw_path_curveto:nnn { 34.504 , 340.336 } { 44.004 , 349.336 } { 65.504 , 336.336 }
+ \draw_path_curveto:nnn { 83.551 , 325.422 } { 106.699 , 303.945 } { 113.672 , 297.328 }
+ \draw_path_curveto:nnn { 109.645 , 300.484 } { 98.965 , 306.266 } { 74.754 , 306.086 }
+ \draw_path_curveto:nnn { 48.09 , 305.883 } { 41.801 , 318.445 } { 27.488 , 319.328 }
+ \draw_path_close:
+}
+
+% mouth edge
+\cs_new:Npn \__jsonparse_jason_path_xiii: {
+ \draw_path_moveto:n { 17.652 , 318.48 }
+ \draw_path_curveto:nnn { 19.613 , 318.891 } { 21.801 , 319.188 } { 24.254 , 319.336 }
+ \draw_path_curveto:nnn { 25.383 , 319.402 } { 26.453 , 319.395 } { 27.488 , 319.328 }
+}
+
+% teeth
+\cs_new:Npn \__jsonparse_jason_path_xiv: {
+ \draw_path_moveto:n { 96.598 , 304.234 }
+ \draw_path_curveto:nnn { 80.379 , 312.863 } { 52.5 , 327.137 } { 44.855 , 327.496 }
+ \draw_path_curveto:nnn { 37.57 , 327.84 } { 31.289 , 322.75 } { 27.891 , 319.293 }
+ \draw_path_curveto:nnn { 27.758 , 319.305 } { 27.625 , 319.32 } { 27.488 , 319.328 }
+}
+
+\draw_transform_yscale:n { -1 }
+\draw_linewidth:n { 3pt }
+\draw_miterlimit:n { 10 }
+\color_stroke:n { color_v }
+
+\draw_scope_begin:
+
+ \color_fill:n { color_i }
+ \__jsonparse_jason_path_i:
+ \draw_path_use_clear:n { fill , clip }
+
+ \color_fill:n { color_ii }
+ \__jsonparse_jason_path_ii:
+ \draw_path_use_clear:n { fill }
+
+ \color_fill:n { color_iii }
+ \__jsonparse_jason_path_iii:
+ \draw_path_use_clear:n { fill , draw }
+
+ \__jsonparse_jason_path_vi:
+ \draw_path_use_clear:n { draw }
+
+\draw_scope_end:
+
+\color_fill:n { color_ii }
+\__jsonparse_jason_path_vii:
+\draw_path_use_clear:n { fill , draw }
+
+\__jsonparse_jason_path_viii:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_iii }
+\__jsonparse_jason_path_iv:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_iv }
+\__jsonparse_jason_path_v:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_vii }
+\__jsonparse_jason_path_ix:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_vi }
+\__jsonparse_jason_path_x:
+\draw_path_use_clear:n { fill }
+
+\__jsonparse_jason_path_xi:
+\draw_path_use_clear:n { fill }
+
+\color_fill:n { color_vii }
+\__jsonparse_jason_path_xii:
+\draw_path_use_clear:n { fill , draw }
+
+\__jsonparse_jason_path_xiii:
+\draw_path_use_clear:n { draw }
+
+\__jsonparse_jason_path_xiv:
+\draw_path_use_clear:n { draw }
+
+\draw_end:
+
+\ExplSyntaxOff
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdf b/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdf
index ed7a1dded66..e52f8631a0f 100644
--- a/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdf
+++ b/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex b/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex
index 1cfcde1e184..7e775f7499f 100644
--- a/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex
+++ b/Master/texmf-dist/doc/latex/jsonparse/jsonparse-doc.tex
@@ -11,8 +11,8 @@
% This work has the LPPL maintenance status `maintained'.
%
\documentclass[a4paper]{article}
-\def\jsonparsefileversion{0.8.3}
-\def\jsonparsefiledate{28 April 2024}
+\def\jsonparsefileversion{0.8.7}
+\def\jsonparsefiledate{8 August 2024}
\usepackage[T1]{fontenc}
\usepackage{Alegreya}
@@ -193,10 +193,13 @@
\changes{v0.5.7}{2024/04/14}{Bug fixes, key-value option setting added.}
\changes{v0.6.0}{2024/04/15}{Bug fixes, renaming of several commands.}
\changes{v0.7.0}{2024/04/18}{Renaming and rearranging of keys, escaping of special JSON escape sequences added.}
-\changes{v0.7.1}{2024/04/20}{Access to first-level keys of object added.}
+\changes{v0.7.1}{2024/04/20}{Access to top-level keys of object added.}
\changes{v0.8.0}{2024/04/24}{Internal rewrite, escaping procedures changed.}
\changes{v0.8.2}{2024/04/26}{Bug fixes, externalizing parsed data.}
\changes{v0.8.3}{2024/04/28}{Escaping of characters with special meaning in TeX.}
+\changes{v0.8.5}{2024/05/05}{Enhanced key management.}
+\changes{v0.8.6}{2024/05/09}{Bug fix in nesting function.}
+\changes{v0.8.7}{2024/08/08}{Corrections in documentation, error messages.}
\begin{document}
\vspace*{-1cm}
@@ -225,20 +228,22 @@ The package does not load any dependencies.
\end{macrodef}
The package can be loaded with the option \macro{debug}. It will then output to the log file every instance of a string, a boolean (true or false) value, a null value, a number as well as the start and end of every object and the start and end of every array that is found while parsing the JSON string or JSON file.
+This key can be set either as package option or using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
\section{Escaping and special treatment of the input}\label{sec:escaping}
In general, the package reads the JSON source as string, which means that all characters have category code 12 (other), except for spaces which have category code 10 (space). The \macro{\endlinechar} value is set to $-1$. Furthermore, if PDFLaTeX is used, the upper-half of the 8-bit range is set to ``active''. JSON, however, defines a small set of escape sequences and in order to be able to process these, the category code of the backslash is set to 0 (escpape).
JSON strings cannot contain the two characters \macro{"} and \macro{\}. These two characters need to be escaped with a preceding backslash (\macro{\}). This package therefore redefines locally the TeX control symbols \macro{\"}, \macro{\/}, \macro{\\}, \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} and \macro{\u}. These control symbols are prevented from expanding during parsing. For example, \macro{\"} is first defined as \macro{\exp_not:N \"} and only hen typeset, \macro{\"} is expanded to \macro{"}, which ensures that strings are parsed properly.
-Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting keys below in section \ref{sec:settings}.
+Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting options below in section \ref{sec:options}.
It is possible to insert TeX macros to the JSON source that will eventually be parsed when typesetting. Backslashes of TeX macros need to be escaped by another backslash. The TeX macros \macro{\"} and \macro{\\} must be escaped twice in the JSON source, so that they become \macro{\\\"} and \macro{\\\\} respectively.
\begin{macrodef}
-|\x|[<token variable name>][<key>]
+|\x|{<token variable name>}{<key>}
\end{macrodef}
-Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by square brackets. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case:
+Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by curly braces. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case:
\begin{codeexamplecolumns}
\JSONParse{\myJSONdataA}{
@@ -246,49 +251,52 @@ Using the control sequence \macro{\x}, it is possible to nest JSON strings into
}
\JSONParse{\myJSONdataB}{
- { "d" : \x[myJSONdataA][a] }
+ { "d" : \x{myJSONdataA}{a} }
}
\JSONParseValue{\myJSONdataB}{d.b}
\end{codeexamplecolumns}
+Note that the control sequence \macro{\x} is replaced by the value exactly. Therefore, if the value happens to be a string, the control sequence \macro{\x} should be placed between quotation marks (\macro{"}) in order for the resulting string to be valid JSON.
+
\begin{macrodef}
-|escape|={<all>}
-|escape|={<none>}
-|escape|={<number sign>}
-|escape|={<dollar sign>}
-|escape|={<percent sign>}
-|escape|={<ampersand>}
-|escape|={<circumflex accent>}
-|escape|={<low line>}
-|escape|={<tilde>}
+|escape|={all}
+|escape|={none}
+|escape|={number sign}
+|escape|={dollar sign}
+|escape|={percent sign}
+|escape|={ampersand}
+|escape|={circumflex accent}
+|escape|={low line}
+|escape|={tilde}
\end{macrodef}
-The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into their relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected.
+The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into the relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected.
The naming of the relevant characters follows their Unicode names. However, \macro{hash} exists as alias for \macro{number sign}, \macro{dollar} as alias for \macro{dollar sign}, \macro{percent} for \macro{percent sign}, \macro{circumflex} for \macro{circumflex accent} and \macro{underscore} for \macro{low line}.
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
+
\begin{macrodef}
-replacement/|backspace|={<string>}
-replacement/|formfeed|={<string>}
-replacement/|linefeed|={<string>}
-replacement/|carriage return|={<string>}
-replacement/|horizontal tab|={<string>}
+|rescan|
+|rescan|={<boolean>}
\end{macrodef}
-These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement.
+The key \macro{rescan} can be used to activate and deactivate rescanning of the output. This key is active per default. Rescanning converts all tokens to their default category codes and TeX control sequences are expanded before typesetting. Further, during the rescanning process, JSON escape sequences are replaced and characters that don't require escaping in JSON but in TeX are replaced by the relevant TeX escape sequences.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
\section{Main user commands}
\begin{macrodef}
-|\JSONParse|[<file name>]{<token variable>}{<JSON string>}
+|\JSONParse|[<options>]{<token variable>}{<JSON string>}
\end{macrodef}
The command \macro{\JSONParse} is used to parse a JSON string and store the parsed result in a token variable (a property list). The second argument takes the name of the token variable that is created by the command. The third argument takes the JSON string to be parsed.
For example, using \macro{\JSONParse{\myJSONdata}{ { "key" : "value" } }}, the relevant JSON string will be parsed and the result stored in the token variable \macro{\myJSONdata} as property list. In this case, the property list only consists of one entry with the key \macro{key} and the value \macro{value}. The command \macro{\JSONParseValue{\myJSONdata}{key}}, for example, can then be used to extract the relevant value from this property list (see the description below).
-The first optinal argument can be used to externalize the parsed JSON data to a file. See more on externalization in section \ref{sec:externalizing} below.
+The first optional argument can be used to pass options to the command that are then applied locally.
\begin{macrodef}
-|\JSONParseFromFile|[<file name>]{<token variable>}{<JSON file>}
+|\JSONParseFromFile|[<options>]{<token variable>}{<JSON file>}
\end{macrodef}
The command \macro{\JSONParseFromFile} is used to parse a JSON file and store the parsed result in a token variable (a property list). It works the same way as \macro{\JSONParse}, but instead of a JSON string, it takes as third argument the path to the JSON file relative to the working directory.
@@ -298,8 +306,7 @@ The command \macro{\JSONParseFromFile} is used to parse a JSON file and store th
The command \macro{\JSONParseKeys} is used to store all top-level keys of a parsed JSON object as array into a token variable. The command takes as first argument the token variable that holds the parsed JSON data. The second argument takes the token variable that is assigned a JSON array containing the top-level keys of the object represented by the token variable in the first argument. The token variable to store the keys as array is created if it does not exist.
\begin{macrodef}
-|\JSONParseValue|{<token variable>}{<key>}
-|\JSONParseValue*|{<token variable>}{<key>}
+|\JSONParseValue|[<options>]{<token variable>}{<key>}
|\JSONParseExpandableValue|{<token variable>}{<key>}
\end{macrodef}
The command \macro{\JSONParseValue} is used to select values from the token variable (property list) that has been created using the commands \macro{\JSONParse} or \macro{\JSONParseFromFile}. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax.
@@ -308,15 +315,14 @@ If the JSON string \macro{{ "key" : "value" }} is parsed into the token variable
Nested objects and arrays are assigned keys that adhere to JavaScript syntax. For example, if the JSON string \macro{{ "outer_key" : { "inner_key" : "value" } }} is parsed into the token variable \macro{\myJSONdata}, to select the value associated with the key \macro{inner_key}, the command \macro{\JSONParseValue{\myJSONdata}{outer_key.inner_key}} can be used. To give an example for an array, the command \macro{\JSONParseValue{\myJSONdata}{key[0]}} selects the first value of the array associated with the key \macro{key} in the JSON string \macro{{ "key" : [ "one" , "two" ] }}.
-The non-starred variant of this command, \macro{\JSONParseValue}, rescans the token list before it is typeset (which means that all category codes that may have been changed before are set to the default values). The starred variant, \macro{\JSONParseValue*}, does not rescan the ouput. The non-starred variants of this and similar commands should therefore not be placed in a \macro{\JSONParse} command.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally. When the option \macro{rescan} is used, the token list is rescanned before it is typeset (which means that all category codes that may have been changed before are set to the default values). This is the default behaviour. If rescanning is not desired, pass the option \macro{rescan=false} to the command.
When a key is associated with an object or array, the whole object or array is output as JSON string. The special key \macro{.} (or the string defined using the key \macro{child sep}) returns the whole JSON object as string.
Whole objects or arrays can also be output as JSON string for further use in other macros using the expandable command \macro{\JSONParseExpandableValue}.
\begin{macrodef}
-|\JSONParseArrayValues|{<token variable>}{<key>}[<subkey>]{<string>}
-|\JSONParseArrayValues*|{<token variable>}{<key>}[<subkey>]{<string>}
+|\JSONParseArrayValues|[<options>]{<token variable>}{<key>}[<subkey>]{<string>}
\end{macrodef}
The command \macro{\JSONParseArrayValues} is used to select all values from an array from a parsed JSON string or JSON file. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax. The third argument is optional and can be used to pass a subkey, i.\,e. a key that is used to select a value for every item. The last argument takes a string that is inserted between all values when they are typeset.
@@ -339,11 +345,11 @@ For example, let us assume the following JSON data structure is parsed into the
Then, when using \macro{\JSONParseArrayValues{\myJSONdata}{array}[key_a]{, }}, `one, three' is typeset to the document.
-The starred variant, \macro{\JSONParseArrayValues*}, does not rescan the token lists before they are typeset.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally.
\begin{macrodef}
-|\JSONParseArrayValuesMap|{<token variable>}{<key>}[<subkey>]{<command name>}
-|\JSONParseArrayValuesMap*|{<token variable>}{<key>}[<subkey>]{<command name>}
+|\JSONParseArrayValuesMap|[<options>]{<token variable>}{<key>}[<subkey>]
+ {<command name>}
\end{macrodef}
The command \macro{\JSONParseArrayValuesMap} takes the same first three arguments as the command \macro{\JSONParseArrayValues} and works in a similar way. However, instead of a string that is added between the array items, it takes a command name as fourth argument. This command can be defined beforehand and will be called for every array item. Inside its definition, the commands \macro{\JSONParseArrayIndex}, \macro{\JSONParseArrayKey} and \macro{\JSONParseArrayValue} can be used which are updated for each item and output the index, the key and the value of the current item respectively.
@@ -362,7 +368,7 @@ For example, let us assume the same JSON data structure as defined above parsed
\end{itemize}
\end{codeexamplecolumns}
-The starred variant, \macro{\JSONParseArrayValuesMap*}, does not rescan the token lists before they are typeset.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally.
\begin{macrodef}
|\JSONParseArrayCount|{<token variable>}{<key>}
@@ -371,45 +377,89 @@ The command \macro{\JSONParseArrayCount} takes as first argument a token variabl
\subsection{Externalising parsed JSON data}\label{sec:externalizing}
-Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. The first opional argument of the commands \macro{\JSONParse} and \macro{\JSONParseFromFile} can be used to provide the name of a file (without file extension) that will be created in the working directory and which stores the relevant information. The file name will have the extension \macro{.jsonparse}. If a file with the same name and file extension already exists, an error will be issued. Once the file has been created, the package will try to load the data from this file instead of parsing the JSON data again.
+Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. Once a file for externalization has been created, the package will try to load the data from this file instead of parsing the JSON data again.
+
+\begin{macrodef}
+|externalize|
+|externalize|={<boolean>}
+\end{macrodef}
+With the key \macro{externalize} set (or set to true), a file will be created in the working directory that stores the externalization of the parsed JSON data. The file name gets the extension \macro{.jsonparse}. The file name is created automatically and consists of the name of the current file followed by an underscore and the name of the token variable where the JSON data is stored into. If a file with the same name and file extension already exists, an error will be issued.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
+\begin{macrodef}
+|externalize prefix|={<string>}
+\end{macrodef}
+With the key \macro{externalize prefix}, a prefix can be defined that is added to the file name. Per default this is an empty string.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
+\begin{macrodef}
+|externalize file name|={<token list>}
+\end{macrodef}
+The key \macro{externalize file name} sets the schema for the file name. The default schema is as follows:
+
+\begin{codeexample}
+\l_jsonparse_externalize_prefix_str \c_sys_jobname_str
+ \c_underscore_str \l_jsonparse_current_prop_str
+\end{codeexample}
+
+The token variable \macro{\l_jsonparse_externalize_prefix_str} contains the prefix that is set using the key \macro{externalize prefix}. \macro{\c_sys_jobname_str} holds the name of the current file (the current job name), \macro{\c_underscore_str} is an underscore and the token variable \macro{\l_jsonparse_current_prop_str} contains the name of the property list where the relevant JSON data is stored into.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
|\JSONParsePut|{<token variable>}{<key>}[<JSON string>]
\end{macrodef}
The command \macro{\JSONParsePut} is used by the externalization procedure to re-read already parsed JSON data to the main file. It just adds a key-value pair to the property list (where the value part is read as string). Hence, it can also be used to append more entries to an already existing property list containing parsed JSON data.
-\subsection{Changing separators, output and other settings}\label{sec:settings}
+\subsection{Changing separators, output and other options}\label{sec:options}
The package provides a set of keys can be set to change the separators used to select the relevant value in the JSON structure, the output that is generated from the JSON data as well as other things.
\begin{macrodef}
-|\JSONParseSet|{<key-value list>}
+|\JSONParseSet|{<options>}
\end{macrodef}
-The commands \macro{\JSONParseSet} can be used to specify settings via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. The following keys are available:
+The commands \macro{\JSONParseSet} can be used to specify options via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. Several user commands allow to pass keys directly which are then applied locally. The following keys are available:
\begin{macrodef}
separator/|child|={<string>}
+separator/|array left|={<string>}
+separator/|array right|={<string>}
\end{macrodef}
-With the key \macro{child sep}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters.
+With the key \macro{separator/child}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters.
+
+With the keys \macro{separator/array left} and \macro{separator/array right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters. Changing these separators to curly braces (\macro{{}}) is not supported due to their grouping function in TeX.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-separator/|array left|={<string>}
-separator/|array right|={<string>}
+|zero-based|
+|zero-based|={<boolean>}
\end{macrodef}
-With the keys \macro{array sep left} and \macro{array sep right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters.
+If set (or explicitly set to \macro{true}), the key \macro{zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-replacement/|true|={<string>}
-replacement/|false|={<string>}
-replacement/|null|={<string>}
+replace/|true|={<string>}
+replace/|false|={<string>}
+replace/|null|={<string>}
\end{macrodef}
-With the keys \macro{true}, \macro{false} and \macro{null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement.
+With the keys \macro{replace/true}, \macro{replace/false} and \macro{replace/null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement. These replacements take place already during parsing.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-|array index zero-based|
-|array index zero-based|={<boolean>}
+replace/|backspace|={<string>}
+replace/|formfeed|={<string>}
+replace/|linefeed|={<string>}
+replace/|carriage return|={<string>}
+replace/|horizontal tab|={<string>}
\end{macrodef}
-If set (or explicitly set to \macro{true}), the key \macro{array index zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation.
+These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement. These replacements take place only during typesetting.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
\subsection{L3 commands}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
index c58c1a61883..76ee35a0f1b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-07-20]
+
+### Fixed
+- Implementation of deprecated `\tl_mixed_case:n(n)`
+- Redo the fix for LaTeX2e key properties (issue latex3/latex2e\#1415)
+
+## [2024-06-19]
+
+### Fixed
+- Avoid a low-level error when LaTeX2e key properties are given without a value
+
## [2024-05-27]
### Added
@@ -1742,7 +1753,9 @@ 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-05-27...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-07-20...HEAD
+[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
[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index 8946af12933..0afb38a9ba2 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/README.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-05-27
+Release 2024-07-20
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index a6eca24ce47..650e6999f92 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
index 5c72322e357..1b89f2f257a 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
index 62501cfa53f..0219809dabd 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
index 42960f5e6f2..0d5a3494c00 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index efc8882c361..07f24848e3d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
index 4b57ef41c84..eb4c42d8c54 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
index b5f45059d3c..21997cf9808 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
index 0ee8ffaf96a..db1ac5b85b4 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
index fef9bf3a7b5..6630201b1f7 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
index 0afbb9591e3..c74f9f0a7c9 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
index 0a44ce68119..18d4df32909 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
index 10cec7c17f3..643b8f1f685 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
index 6bfbab4d96a..b457fd6033a 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
index a0130195cc4..a5b4744d286 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
index 3616cc20caf..a2242937d2e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
index 00ec553d1c1..17751670086 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
index 59a672d339e..8e14906f032 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
index 9c4f937b006..15a8332f071 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
index e85412b9d80..339f6625fd1 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
@@ -26,6 +26,7 @@ block,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
bool,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,
box,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,
bxjh,BXjaholiday,Takuto Asakura,https://github.com/wtsnjp/BXjaholiday,https://github.com/wtsnjp/BXjaholiday.git,https://github.com/wtsnjp/BXjaholiday/issues,2018-02-02,2019-02-02,
+cal,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
cascade,cascade,F. Pantigny,,,,2020-07-21,2020-07-21,
catcode,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,
cctab,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-28,2012-09-28,
@@ -135,6 +136,7 @@ keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/
keyval,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,
kgl,kantlipsum,Enrico Gregorio,,,,2013-03-16,2013-03-16,
kivitendo,"kiviletter, kivitables",Marei Peischl for Kivitendo,https://www.kivitendo.de/,https://github.com/kivitendo/kivitendo-erp,https://forum.kivitendo.de/,2021-05-28,2021-05-28,
+knot,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
langsci,langscibook,Language Science Press,https://langsci-press.org,https://github.com/langsci/langscibook,https://github.com/langsci/langscibook/issues,2021-07-20,2021-07-21,
left,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,
liftarm,liftarm,Matthias Floré,,,,2024-05-25,2024-05-25,
@@ -210,6 +212,7 @@ property,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
pseudo,pseudo,Magnus Lie Hetland,https://github.com/mlhetland/pseudo.sty,https://github.com/mlhetland/pseudo.sty.git,https://github.com/mlhetland/pseudo.sty/issues,2019-06-24,2019-06-24,
ptex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2015-07-28,2015-07-28,
ptxcd,ptxcd,Marei Peischl,,,,2020-07-27,2020-07-27,Used for specific corporate design templates
+ptxtools,"depp, ptxtools",Marei Peischl,https://gitlab.com/islandoftex/texmf/depp,https://gitlab.com/islandoftex/texmf/depp.git,https://gitlab.com/islandoftex/texmf/depp,2024-07-09,2024-07-09,
qrbill,qrbill,Marei Peischl,https://github.com/peiTeX/qrbill,https://github.com/peiTeX/qrbill.git,https://github.com/peiTeX/qrbill/issues,2020-06-27,2020-06-27,
quark,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,
rainbow,beamertheme-rainbow,samcarter,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow/issues,2023-07-04,2023-07-04,
@@ -239,6 +242,7 @@ slcd,se2thesis,Stephan Lukasczyk,https://github.com/se2p/se2thesis,https://githu
socket,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17,
sort,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,2017-02-13,
space,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,
+spath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
starray,starray,Alceu Frigeri,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray/issues,2023-05-15,2023-05-15,
statistics,statistics,Julien Rivaud,https://gitlab.com/frnchfrgg-latex/statistics,https://gitlab.com/frnchfrgg-latex/statistics.git,https://gitlab.com/frnchfrgg-latex/statistics/issues,2018-06-25,2018-06-25,
stm,lt3-stm,CV Radhakrishnan,http://www.cvr.cc/,,,2014-02-26,2014-02-26,
@@ -258,6 +262,7 @@ tex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:/
text,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15,
tikzfill,tikzfill,Thomas F. Sturm,https://github.com/T-F-S/tikzfill,https://github.com/T-F-S/tikzfill.git,https://github.com/T-F-S/tikzfill/issues,2022-07-19,2022-07-19,
tikzlings,tikzlings,samcarter,https://github.com/samcarter/tikzlings,git@github.com:samcarter/tikzlings.git,https://github.com/samcarter/tikzlings/issues,2023-02-17,2023-02-17,
+tikzspath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
tikzsymbols,tikzsymbols,Ben Vitecek,https://github.com/Vidabe/tikzsymbols,https://github.com/Vidabe/tikzsymbols.git,https://github.com/Vidabe/tikzsymbols/issues,2018-09-26,2018-09-26,
tilde,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,
tl,"l3kernel,l3tl-build",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,
@@ -288,6 +293,7 @@ xmarks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https
xparse,xparse,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,
xpatch,"regexpatch,xpatch",Enrico Gregorio,,,,2013-03-16,2013-03-16,
xpeek,xpeek,Joel C. Salomon,,,,2013-03-16,2013-03-16,
+xpg,polyglossia,Jürgen Spitzmüller,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/issues,2024-07-02,2024-07-02,
xpinyin,xpinyin,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-03-16,2013-05-26,
xsb,xsavebox,Alexander Grahn,,https://gitlab.com/agrahn/xsavebox,https://gitlab.com/agrahn/xsavebox/issues,2016-02-26,2020-04-15,
xsim,xsim,Clemens Niederberger,https://github.com/cgnieder/xsim/,https://github.com/cgnieder/xsim.git,https://github.com/cgnieder/xsim/issues,2020-04-14,2020-04-14,
@@ -299,4 +305,5 @@ zhnum,zhnumber,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/
zrefcheck,zref-check,gusbrs,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check/issues,2021-08-05,2021-08-05,
zrefclever,zref-clever,gusbrs,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever/issues,2021-11-29,2021-11-29,
zrefvario,zref-vario,gusbrs,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario/issues,2022-02-02,2022-02-02,
+zugferd,zugferd,Marei Peischl,https://github.com/TeXhackse/LaTeX-ZUGFeRD,https://github.com/TeXhackse/LaTeX-ZUGFeRD.git,https://github.com/TeXhackse/LaTeX-ZUGFeRD/issues,2024-07-09,2024-07-09,
zxjt,zxjatype,Takayuki Yato,,,,2013-03-16,2013-03-16,
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
index 602ccaaa597..ab4d18e9164 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index 0113bac5713..31ff7889ff0 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
index bcea3de06e6..985f20a68cb 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
+++ b/Master/texmf-dist/doc/latex/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-05-27}
+\date{Released 2024-07-20}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
index 99e93c2cccb..515a9eb803c 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
index 30d8d47747d..b9ffcb011af 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
+++ b/Master/texmf-dist/doc/latex/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-05-27}
+\date{Released 2024-07-20}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
index 01598ca79ae..d1a2058e9fb 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
index 141749aa6bb..fca28863372 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
+++ b/Master/texmf-dist/doc/latex/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-05-27}
+\date{Released 2024-07-20}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
index 34279f9e004..26c62e620d5 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
index 00095ad3191..228d3ca93c6 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/lni/CHANGELOG.md b/Master/texmf-dist/doc/latex/lni/CHANGELOG.md
index 5bb6f9697cd..377ce68c438 100644
--- a/Master/texmf-dist/doc/latex/lni/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/lni/CHANGELOG.md
@@ -6,9 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
## [Unreleased]
-## [1.9] - 2024-07-1
+## [1.10] - 2024-07-23
+### Changed
+- Footnotes are set as superscripts in the footer
+- URLs are set using the text font instead of a typewriter font
+
+### Fixed
+- Support for multiple affiliations (#173)
+
+## [1.9] - 2024-07-01
### Added
-- Support for multiple affiliations
+- Support for multiple affiliations (#158)
## [1.8.1] - 2024-01-08
@@ -171,7 +179,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
First release of the revised files
-[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.9...HEAD
+[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.10...HEAD
+[1.10]: https://github.com/gi-ev/LNI/compare/v1.9...v1.10
[1.9]: https://github.com/gi-ev/LNI/compare/v1.8.1...v1.9
[1.8.1]: https://github.com/gi-ev/LNI/compare/v1.8...v1.8.1
[1.8]: https://github.com/gi-ev/LNI/compare/v1.7...v1.8
diff --git a/Master/texmf-dist/doc/latex/lni/README.md b/Master/texmf-dist/doc/latex/lni/README.md
index 034ef480d86..9935391e3b1 100644
--- a/Master/texmf-dist/doc/latex/lni/README.md
+++ b/Master/texmf-dist/doc/latex/lni/README.md
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
lni -- A class for submissions to the ``Lecture Notes in Informatics''
(c) 2016-2024 Gesellschaft für Informatik (GI)
-Version: 1.9
+Version: 1.10
Maintainer: Martin Sievers
Email: martin.sievers@schoenerpublizieren.de
License: Released under the LaTeX Project Public License v1.3c or later
diff --git a/Master/texmf-dist/doc/latex/lni/lni.pdf b/Master/texmf-dist/doc/latex/lni/lni.pdf
index c3b50c0cd12..b79a12a0915 100644
--- a/Master/texmf-dist/doc/latex/lni/lni.pdf
+++ b/Master/texmf-dist/doc/latex/lni/lni.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/magicwatermark/README.md b/Master/texmf-dist/doc/latex/magicwatermark/README.md
index db59f622e81..4bdaad4b2f8 100644
--- a/Master/texmf-dist/doc/latex/magicwatermark/README.md
+++ b/Master/texmf-dist/doc/latex/magicwatermark/README.md
@@ -3,6 +3,4 @@
- Repository: https://github.com/ljguo1020/magicwatermark
- License: The LaTeX Project Public License 1.3c
-> magicwatermark is a package based on everypage and tikz and encapsulated by LATEX3 Ä°t can
-> flexibly set and clear watermarks. All watermark content is placed in inside a node of verbtikz and
-> in the center of the page.
+> magicwatermark is based on tikz and expl3, and can flexibly set backgrounds or watermarks.
diff --git a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.pdf b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.pdf
deleted file mode 100644
index 5ee2d2d9f59..00000000000
--- a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.tex b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.tex
deleted file mode 100644
index 03a3e6db112..00000000000
--- a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark-en.tex
+++ /dev/null
@@ -1,212 +0,0 @@
-\documentclass{l3doc}
-\usepackage{graphicx}
-\usepackage{enumitem}
-\usepackage{listings}
-\lstset{
-frame=tb,framerule=2pt,language={[LaTeX]TeX},basicstyle={\ttfamily},
-language={[LaTeX]TeX},
-keywordstyle=\color{red!70!black}\bfseries,
-keywordstyle={[2]\color{blue!70!black}\bfseries},
-morekeywords={PageSetup,Watermark,NewWatermark,MyPageSetup,MyWatermark,EvenPageSetup,OddPageSetup,EvenWatermark,OddWatermark,ClearWatermark}}
-\usepackage{fontspec}
-\IfFontExistsTF{calibri.ttf}
-{
- \setmainfont{calibri.ttf}[
- BoldFont = calibrib.ttf,
- ItalicFont = calibrii.ttf,
- BoldItalicFont = calibriz.ttf
- ]
-}
-{}
-\usepackage{magicwatermark}
-\renewcommand*\marg[1]{\{\meta{#1}\}}
-\renewcommand*\oarg[1]{[\meta{#1}]}
-\renewcommand*\parg[1]{(\meta{#1})}
-\title{\pkg{magicwatermark}}
-\author{lijun guo \\ liguo1020@gmail.com}
-\def\version{v1.0.1}
-\date{\today\quad\version}
-\pagestyle{empty}
-\PageSetup*
-{
- \begin{tikzpicture}[remember picture,overlay]
- \node[cyan,scale = 2,shift={(-1,-1)}] at (current page.north east){--~\thepage~--};
- \end{tikzpicture}
-}
-\Watermark
-\begin{document}
-\maketitle
-\tableofcontents
-\begin{abstract}
-\pkg{magicwatermark} is a package based on \pkg{everypage} and \pkg{tikz} and encapsulated by \LaTeX3 \. It can flexibly set and clear watermarks. All watermark content is placed in \ inside a \verb|node| of \verb|tikz| and in the center of the page.
-\end{abstract}
-\section{Introduction}
-Currently the \pkg{magicwatermark} package can only implement the following functions
-\begin{itemize}
- \item Set watermark for all pages
- \item Set watermark for odd pages
- \item Set the watermark for even pages
- \item Create a new watermark and set multiple watermarks on the same page
- \item Clear watermark
-\end{itemize}
-\section{Interface}
-\subsection{Some command}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\PageSetup}
- \begin{syntax}
- \tn{PageSetup} \oarg{option} \marg{content for watermark}
- \end{syntax}
- This command is used to set the watermark content of all pages. It accepts two parameters. The first parameter is used to set some properties and is given in the form of \verb|key=value|. The second parameter is used to set the watermark content. It is text, pictures, etc.
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\Watermark}
-\begin{syntax}
- \tn{Watermark}
-\end{syntax}
-This command is used to display the watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenPageSetup}
-\begin{syntax}
-\tn{EvenPageSetup}\oarg{option}\marg{content for watermark}
-\end{syntax}
-This command is used to set the watermark content of even pages
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenWatermark}
-\begin{syntax}
- \tn{EvenWatermark}
-\end{syntax}
-This command is used to display the even page watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddPageSetup}
-\begin{syntax}
-\tn{OddPageSetup}\oarg{option}\marg{content for watermark}
-\end{syntax}
-This command is used to set the watermark content of odd pages
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddWatermark}
-\begin{syntax}
- \tn{OddWatermark}
-\end{syntax}
-This command is used to display the odd page watermark set above
-\end{function}
-\subsection{Add command}
-The usage of the following commands with asterisks is similar to the above. It is not so much an extension as it is a cancellation of restrictions. The above commands all write the watermark content in a \verb|node|, for users who are not familiar with TikZ , the former is more square is convenient and fast, while the latter is more flexible
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\PageSetup*}
-\begin{syntax}
-\tn{PageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\EvenPageSetup*}
-\begin{syntax}
-\tn{EvenPageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\OddPageSetup*}
-\begin{syntax}
-\tn{OddPageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\NewWatermark}
-\begin{syntax}
-\tn{NewWatermark}\marg{watermark name}
-\end{syntax}
-This command is used to create a new watermark. Note that the watermark name cannot be \verb|main|, \verb|even|, \verb|odd|.
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyPageSetup}
-\begin{syntax}
-\tn{MyPageSetup}\oarg{option}\marg{watermark name}\marg{content for watermark}
-\end{syntax}
-Used to set the new watermark content
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyWatermark}
-\begin{syntax}
- \tn{MyWatermark}\marg{watermark name}
-\end{syntax}
-This command is used to display the watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\ClearWatermark}
-\begin{syntax}
- \tn{ClearWatermark}\marg{watermark list}
-This command is used to clear the set watermark, accepts a comma list as parameter, for example:
-\begin{itemize}
- \item \verb|\ClearWatermark{main}| clears the watermark set by \verb|\Watermark|
- \item \verb|\ClearWatermark{even,odd}| clears the watermark on odd and even pages
- \item \verb|\ClearWatermark{all}| Clear all watermarks
- \item \verb|\ClearWatermark{name1,name2,name3,...}|
-\end{itemize}
-\end{syntax}
-\end{function}
-\subsection{option list}
-The \textbf{option} in the above setting command is as follows
-\begin{itemize}
- \item \verb|scale = <number>| set the scale
- \item \verb|opacity = <number>| set the opacity
- \item \verb|shift = {(x,y)}| for translation by vector (x,y)
- \item \verb|color = <color expression>| set the color
- \item \verb|rotate = <angle>| Set the rotation angle
- \item \verb+align = <center|left|right>+ Set the alignment of multi-line text, the default is center
- \item \verb+showframe = <true|false>+ Set whether to display the frame, the default is false
-\end{itemize}
-\subsection{notes}
-All show and clear commands take effect only on the text following the command.
-
-\section{Examples}
-\subsection{basic}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup[
- rotate = 30, % set the rotation angle
- color = red!80, % set color for watermark content
- scale = 6 % set the scale
-]{
- watermark content
-}
-\Watermark
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-\subsection{Odd and Even Pages}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\EvenPageSetup[color=cyan,showframe,scale=4]{Even page} % Even page
-\OddPageSetup[color=purple,showframe,scale=4]{Odd page} % Odd page
-\EvenWatermark % show watermark
-\OddWatermark
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-\subsection{star}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup*{
- \begin{tikzpicture}[remember picture,overlay]
- \node[cyan,scale = 2,shift={(-1,-1)}] at
- (current page.north east){--~\thepage~--};
- \end{tikzpicture}
-}
-\begin{document}
-...
-\Watermark % This order did not take effect before
-\end{document}
-\end{lstlisting}
-\subsection{New watermark}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\NewWatermark{one} % new
-\NewWatermark{two}
-\MyPageSetup[scale=5,color=blue]{one}{content one} % setting
-\MyPageSetup[scale=5,color=red]{two}{content two}
-\begin{document}
-\MyWatermark{one} % use watermark one
-...
-\newpage
-\ClearWatermark{one} % clear watermark one
-\MyWatermark{two} % use watermark two
-...
-\end{document}
-\end{lstlisting}
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.pdf b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.pdf
index 396233aba2e..04aa894cefc 100644
--- a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.pdf
+++ b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.tex b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.tex
new file mode 100644
index 00000000000..9b610d9cab7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/magicwatermark/magicwatermark.tex
@@ -0,0 +1,373 @@
+\documentclass{article}
+
+\usepackage{lipsum}
+
+\usepackage{../magicwatermark}
+
+\usepackage[margin = 2.51828cm]{geometry}
+
+
+\def\pkgname{\textcolor{teal}{\texttt{magicwatermark}}}
+\usepackage{indentfirst}
+\pagestyle{empty}
+
+\usepackage[UTF8, scheme=plain, fontset=none, heading=true, zihao=-4]{ctex}
+\setCJKmainfont[BoldFont={LXGWWenKai-Bold},ItalicFont={LXGWWenKai-Light}]{LXGWWenKai-Regular}
+\setCJKsansfont[BoldFont={LXGWWenKai-Bold}]{LXGWWenKai-Regular}
+\setCJKmonofont[BoldFont={LXGWWenKaiMono-Bold},ItalicFont={LXGWWenKaiMono-Light}]{LXGWWenKaiMono-Regular}
+
+\ctexset{
+% chapter={
+% format+=\raggedright,
+% name = {第,部分},
+% afterskip = .5cm
+% },
+ section={
+ format+=\raggedright,
+ afterskip = .5cm
+ },
+ contentsname = {目次}
+}
+
+\usepackage{fontspec}
+\IfFontExistsTF{calibri.ttf}
+{
+ \setmainfont{calibri.ttf}[
+ BoldFont = calibrib.ttf,
+ ItalicFont = calibrii.ttf,
+ BoldItalicFont = calibriz.ttf
+ ]
+}
+{}
+
+\usepackage[listings,breakable]{tcolorbox}
+
+\ExplSyntaxOn
+\clist_new:N \l_function_variant_list %fuction variant list
+\NewDocumentCommand{\function}{svo} % #1:function name #2: variant list
+{
+ \IfBooleanTF{#1}
+ {
+ \IfNoValueTF{#3}
+ {
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2}\hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2\textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}} \hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ \def\functionn{
+ \texttt{#2}
+ }
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \def\functionn{
+ \texttt{
+ #2
+ \textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}
+ }
+ }
+ }
+ }
+
+}
+\NewDocumentCommand{\examplelabel}{s}
+{
+ \IfBooleanTF{#1}{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=purple,circle,outer~sep=0pt,scale=0.5] {\phantom{2}};
+ }}
+ }{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=cyan,circle,outer~sep=0pt,scale=0.5,font=\bfseries] {\theexample};
+ }}
+ }
+}
+\ExplSyntaxOff
+\def\Triangle{ % triangle icon
+ \raisebox{-0.3ex}{
+ \tikz{
+ \fill[scale=2,outer sep=0pt] (240:0.5ex) -- (0:0.5ex) -- (120:0.5ex);
+ }
+}}
+\newcounter{example}
+\tcbset{
+ example style/.style={
+ sharp corners,
+ colback=white,
+ boxrule=.5pt,
+ breakable,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,
+ fonttitle=\bfseries,
+ colbacktitle=lime!30,
+ coltitle=black,
+ % title={MagicWatermark},
+ listing only
+ }
+}
+
+\newtcblisting[use counter=example]{example}[1][]{
+ listing options={
+ style=tcblatex,
+ tabsize = 1,
+ language={[LaTeX]TeX},
+ classoffset=0,
+ morekeywords = {MagicWatermark, foreach, includegraphics},
+ keywordstyle={\color[RGB]{178,34,34}\bfseries},
+ commentstyle={\color[RGB]{102,205,170}\itshape},
+ classoffset=1,
+ morekeywords = {setup, pages, content, is, append, style},
+ keywordstyle=\color{cyan!50!green}\bfseries,
+ },
+ example style,
+ #1
+ }
+
+
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large\linespread{1}\selectfont, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+
+
+\def\opt#1{\textcolor{magenta}{\texttt{#1}}}
+\def\para#1{\textcolor[rgb]{0.13, 0.67, 0.8}{\texttt{#1}}}
+
+\usepackage[hidelinks]{hyperref}
+\begin{document}
+
+
+\vspace*{\fill}
+\begin{center}
+ {\Huge \textcolor{teal}{\texttt{magicwatermark}} å®åŒ…\footnote{\url{https://github.com/ljguo1020/magicwatermark}}} \\[.5cm]
+ {\Large 郭æŽå†›<ljguo1020@gmail.com>} \\[.5cm]
+ {\Large V1.2A}\\[1cm]
+\begin{example}[]
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+\end{center}
+
+\vspace*{\fill}
+
+\newpage
+
+
+\linespread{1.3}\selectfont
+\tableofcontents
+
+\section{介ç»}
+
+\pkgname{} 是一个全新的水å°å®åŒ…, 在 2022 å¹´ 6 月 17 æ—¥å‘布了第一版, 本次更新并ä¸æ˜¯åŸºäºŽç¬¬ä¸€ç‰ˆ, 而是进行了é‡æž„.
+
+\pkgname{} 基于 \texttt{tikz} å’Œ \texttt{expl3}, å¯ä»¥çµæ´»çš„设置背景或水å°.
+
+\section{使用}
+\pkgname{} 的使用, 相比于其它åŒç±»åŠŸèƒ½çš„包æ¥è¯´, å¯ä»¥è¯´æ˜¯æ˜“用性最高的, 它åªæ供了一个命令 \verb|\MagicWatermark|, 命令å‚数由多个 \opt{setup} 规则组æˆ.
+\begin{example}[]
+\MagicWatermark{
+ setup = {},
+ setup = {},
+ ...
+}
+\end{example}
+
+\opt{setup} 内部接å—四个键值选项, 用于é…置水å°çš„表现形å¼.
+
+\subsection{pages}
+\opt{pages} 接å—一个逗å·åˆ†å‰²åˆ—表, 用于é…置水å°ä½œç”¨èŒƒå›´, 例如 \verb|pages = {2, 4, 5, 8-10}|, 表示选中页ç ä¸ºç¬¬ 2, 4, 5, 8, 9, 10 这些页é¢.
+
+\opt{pages} å…±æŽ¥å— 4 ç§é…置规则,
+\begin{itemize}
+ \item \para{*}, 表示所有页é¢;
+ \item \para{odd} å’Œ \para{oven}, 表示奇å¶é¡µ;
+ \item 范围, 形如 \para{3-5}, \para{12-ii};
+ \item 表达å¼, 形如 \para{2X+1}, \para{2X\^{}2+X+1}, 但是å˜é‡å¿…须为 \para{X}.
+\end{itemize}
+
+这里å‡å®šé¡µé¢æ€»é¡µæ•°ä¸º 24 页,
+\begin{example}[title = pages é…置规则]
+pages = {*} => 1, 2, 3, ..., 24
+pages = {odd} => 1, 3, 5, ..., 23
+pages = {1, 3, 5-10} => 1, 3, 5, 6, 7, ..., 10
+pages = {1-5, 8, 20-ii} => 1, 2, ..., 5, 8, 20, 21, ..., 23
+pages = {3X + 1} => 1, 4, 7, 10, ..., 22
+\end{example}
+
+\subsection{tikz}
+\opt{tikz} 用于设置是å¦å°†æ°´å°å†…容放置在 \texttt{tikz} çš„ \texttt{node} 中, è§ä¸‹æ–‡, å¯é€‰å€¼ä¸º \para{true} å’Œ \para{false}, 默认为 \para{true}. 当你需è¦ä½¿ç”¨ \opt{tikz} æ—¶, 需è¦æ‰‹åŠ¨åŠ è½½ \texttt{tikz} å®åŒ….
+
+\subsection{content}
+\opt{content} 用æ¥è®¾ç½®æ°´å°çš„内容, 当 \opt{tikz} 被å¯ç”¨æ—¶, 它被放在了 \texttt{tikz} çš„ \texttt{node} 中, 为此, 想è¦çµæ´»çš„设置它, 您需è¦å¯¹ \texttt{node} 有一些了解.
+
+\subsection{style}
+\opt{style} 用于设置容纳水å°å†…容的 \texttt{node} çš„æ ·å¼, 默认为 \para{inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left}, 当 \opt{tikz} 被ç¦ç”¨æ—¶, 它会被忽略.
+
+\subsection{is append}
+\opt{is append} 用于设置是å¦è¦†ç›–当å‰é¡µå·²æœ‰çš„æ°´å°, å¯é€‰å€¼ä¸º \para{true} å’Œ \para{false}, 默认为 \para{false}.
+
+\section{使用案例}
+\begin{example}[title = 为所有页é¢å³ä¸Šè§’添加页ç ]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ }
+}
+\end{example}
+
+\begin{example}[title = 为å¶æ•°é¡µé¡µé¢ä¸­å¿ƒæ·»åŠ æ–‡å­— Watermark]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = 为第二页到最åŽä¸€é¡µè®¾ç½®é“ºæ»¡æ•´ä¸ªé¡µé¢çš„文字]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {2-i},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = 为奇å¶é¡µè®¾ç½®ä¸åŒæ°´å°]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 8, rotate = 45, text=red, align = center,font = \linespread{2}\selectfont},
+ content = {
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {scale = 6, rotate = -45, text = cyan, text width = 1.7\paperwidth, font = \linespread{1.5}\selectfont, align = center},
+ content = {
+ \foreach \x in {0,...,5}{
+ Odd MagicWatermark
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = 设置图片为水å°]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {opacity = 0.3},
+ content = {
+ \includegraphics{example-image-a}
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {opacity = .3, rotate=45, text width = 3\paperwidth},
+ content = {
+ \foreach \x in {0, ..., 20}{
+ \foreach \y in {1, 2, 3} {
+ \includegraphics{example-image-b}
+ } \\
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = ç¦ç”¨ tikz]
+\def\addhead#1#2{%
+ \expandafter\gdef\csname head@content@#1\endcsname{#2}%
+}
+
+\def\printhead#1{%
+ \csname head@content@#1\endcsname%
+}
+
+\addhead{2}{The only way to do great work is to love what you do.}
+\addhead{3}{Success is not final, failure is not fatal: It is the courage to continue that counts.}
+\addhead{4}{In the end, we will remember not the words of our enemies, but the silence of our friends.}
+\addhead{5}{It does not matter how slowly you go as long as you do not stop.}
+
+\NewDocumentCommand{\mywatermark}{}{%
+ \begin{tikzpicture}[remember picture, overlay]
+ \node[yshift = -\headheight - \headsep, text = teal, font = \large] at (current page.north) {\printhead{\thepage}};
+ \end{tikzpicture}
+}
+
+\MagicWatermark{
+ setup = {
+ pages = {2-5},
+ tikz = false,
+ content = \mywatermark
+ }
+}
+\end{example}
+
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/mailing/CATALOG b/Master/texmf-dist/doc/latex/mailing/CATALOG
new file mode 100644
index 00000000000..bfc37ff238b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/mailing/CATALOG
@@ -0,0 +1,15 @@
+Name: mailing
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams
+Version: 1.0c
+
+Description:
+
+The mailing package implements support for producing letters to
+multiple people.
+
+Keywords: latex mailing
+
+Address:
+TeXniek
+The Netherlands
diff --git a/Master/texmf-dist/doc/latex/mailing/manifest.txt b/Master/texmf-dist/doc/latex/mailing/MANIFEST
index b0653434c7f..b93e68a619f 100644
--- a/Master/texmf-dist/doc/latex/mailing/manifest.txt
+++ b/Master/texmf-dist/doc/latex/mailing/MANIFEST
@@ -2,11 +2,11 @@
% CONTENTS OF THE MAILING PACKAGE
% ===============================
%
-% manifest.txt -- This file
+% MANIFEST -- This file
%
% mailing.dtx -- A package to produce a `mailing' ie a large number
% of letters with (almost) identical text.
-% mailing.pdf -- The `printed´ version of mailing.dtx
+% mailing.pdf -- The `printed´ version of mailing.dtx
%
% Installation script for the various parts:
% -------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/mailing/README b/Master/texmf-dist/doc/latex/mailing/README
new file mode 100644
index 00000000000..6dccf798b90
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/mailing/README
@@ -0,0 +1,14 @@
+ mailing bundle
+
+ July 2024, 2024
+
+This bundle contains a package that provides functionality to
+produce multiple letters with the same text to different addressses.
+It provides three commands \addressfile, \mailingtext and \makemailing.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/Master/texmf-dist/doc/latex/mailing/mailing.pdf b/Master/texmf-dist/doc/latex/mailing/mailing.pdf
index 1625f90e04e..109c5c3de06 100644
--- a/Master/texmf-dist/doc/latex/mailing/mailing.pdf
+++ b/Master/texmf-dist/doc/latex/mailing/mailing.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md b/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md
index 30f4113e968..8e2c1387e84 100644
--- a/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md
+++ b/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md
@@ -1,6 +1,98 @@
MATHASTEXT CHANGE LOG
=====================
+1.4b \[2024/07/27\]
+----
+
+* Fix a regression at `1.4` regarding option `nodigits`.
+
+* New option: `noletters`. I am in old age now so I can provide an option
+ completely antithetical to my life work.
+
+* Option `everymath` which is destined to be removed at next major
+ release warns user about it. As major releases tend to happen once
+ per decade I think the constant nagging will become insufferable
+ and you will adapt to the `1.4` changes rather than persisting into
+ using this option.
+
+1.4a \[2024/07/20\]
+----
+
+* There was a documentation glitch in 1.4 and also a problem with the
+ `\MTprimeskip` feature being lost under the emergency fall-back
+ `everymath` option.
+
+1.4 \[2024/07/20\]
+---
+
+* Since 1.2 of 2012/12/20, mathastext has used mathematically active
+ characters to propose certain advanced functionalities. For reasons half
+ lost in the mists of time but whose main one was surely to keep the
+ meaning of the active shape of characters unchanged outside of math mode,
+ this mathematical activation, and (in most cases) the definitions of what
+ active characters do, were done again at *each* entrance into math mode.
+ At this 1.4 release, mathastext does not inject *any* code whatsoever into
+ the `\everymath` and `\everydisplay` toks registers anymore (except for
+ one font-related hack needed under LuaLaTeX, see below). Your documents
+ will compile a tiny bit faster.
+
+* In (unsual) documents where users play with catcodes and mathcodes it is
+ impossible to keep exact backward compatibility, because documented user
+ commands which acted formerly a toggles with delayed action now will enact
+ changes immediately if in the document body. In practice consequences are
+ expected to be few, because catcode active characters are (as was already
+ the case with earlier releases) hacked only when they are Babel shorthands
+ and they are then modified in a way altering only their action in math
+ mode. The precise description of what mathastext does when mathematically
+ activating (or not) a character, depending on circumstances, is to be
+ found among small-print comments in the section "Extended scope of the
+ math alphabets commands". See also the documentation of the
+ `\MTmathactiveletters` command for some specifics regarding ascii letters.
+
+* New option: `everymath`. It instructs mathastext to revert (partially)
+ to its legacy code which uses `\everymath/\everydisplay`. This reversal
+ is partial, the handling of ascii letters not being included into it. The
+ `everymath` option is there only to try as a quick fix in case transition
+ to this release causes a major problem in a user document and time is
+ lacking to investigate. Please report to the author such issues. Option
+ `everymath` is destined to be removed at next major release.
+
+* New option: `activedigits`. Enjoy.
+
+* It is now easier to hook into the mathastext architecture for
+ mathematically activated ascii letters. See the new section "Hacking
+ letters (and even digits) for special tasks".
+
+* Bugfix: do not override special behavior of the math mode dot in
+ babel-spanish.
+
+* Bugfix: A desperate hack related to LuaLaTeX font matters and dating
+ back to 1.3o 2016/05/03 had been for some years in dire need of an update
+ regarding fonts using `Renderer=HarfBuzz`. This is done now. Thanks to
+ tex.sx `user691586` for report. This is currently the sole remaining
+ usage of `\everymath/\everydisplay`.
+
+* Bugfix: an optional feature related to `\{` and `\}` was broken since an
+ upstream LaTeX change at its 2020-02-02 release.
+
+* With option symbolmisc, those math symbol macros formerly defined via
+ `\DeclareRobustCommand` are now declared via `\protected\def`.
+
+* Removal of legacy branches previously kept to support LaTeX earlier than
+ 2020-02-02.
+
+* Removal of support for EU1 and EU2 font encodings.
+
+* Option `noasterisk` deprecated at 1.2d 2013/01/02 has (finally) been removed.
+
+* Four test files previously included and auto-extracted from the
+ distributed dtx have been dropped. One of them is still available
+ on the package homepage.
+
+* Some parts of the documentation have been massively re-ordered and even to some
+ extent improved. But there may be some occasions where obsolete statements will
+ be found having the legacy `\everymath/\everydisplay` situation as background.
+
1.3zb \[2023/12/29\]
-----
@@ -156,7 +248,7 @@ been pushed to CTAN, hence the version increase to 1.3y)
to some other (robust) math alphabet macros, but were not
robust in the strict sense. This does cause some issues for
moving arguments in the context of multiple math versions,
- hence it was a bug. The special behaviour of the math
+ hence it was a bug. The special behavior of the math
alphabet commands (they redefine themselves and other macros
on first use) makes is somewhat problematic for mathastext
to keep them updated across math versions and at the same
@@ -400,16 +492,14 @@ been pushed to CTAN, hence the version increase to 1.3y)
* bugfix: under option nosmalldelims, `\lbrace` and `\rbrace` were
redefined as math symbols and could not be used as delimiters.
-1.3d \[2015/02/26\]
+1.3d \[2014/05/23\]
----
-* the documentation mentions the improved compatibility of mathastext
+* A 2015/02/26 edit to the documentation mentions the
+ improved compatibility of mathastext
with the latest (3.34) beamer release: no more need for
`\usefonttheme{professionalfonts}`.
-1.3d \[2014/05/23\]
-----
-
* new commands `\MTstandardgreek` and `\MTcustomgreek`.
* The Greek letters, in case of use of one of the package related
@@ -540,6 +630,8 @@ use of mathematically active characters in versions 1.2 and 1.2b.
mechanism of letting non-letter symbols obey the math alphabet
commands.
+* the `noasterisk` option is deprecated and made a no-op.
+
* documentation extended and improved.
1.2c \[2012/12/31\]
@@ -684,6 +776,11 @@ use of mathematically active characters in versions 1.2 and 1.2b.
complete manner to adapt the math configuration to fonts
provided with no math support.
+1.13d
+----
+
+* new macros `\MTstandardgreek` and `\MTcustomgreek`
+
1.13b
----
diff --git a/Master/texmf-dist/doc/latex/mathastext/README.md b/Master/texmf-dist/doc/latex/mathastext/README.md
index 44b778b7288..f2c55cf1490 100644
--- a/Master/texmf-dist/doc/latex/mathastext/README.md
+++ b/Master/texmf-dist/doc/latex/mathastext/README.md
@@ -8,13 +8,13 @@
+-------------------------------------------+
This Work may be distributed and/or modified under the conditions
-of the [LPPL1.3c](http://www.latex-project.org/lppl/lppl-1-3c.txt)
+of the [LPPL 1.3c](https://www.latex-project.org/lppl/lppl-1-3c.txt)
The Author of this Work is Jean-Francois Burnol (`jfbu at free dot fr`)
-Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
+Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol
- Source: mathastext.dtx 1.3zb 2023/12/29
+ Source: mathastext.dtx 1.4b 2024/07/27
DESCRIPTION
@@ -82,6 +82,98 @@ Main options: `italic`, `frenchmath`, `subdued`, `LGRgreek`.
RECENT CHANGES
==============
+1.4b \[2024/07/27\]
+----
+
+* Fix a regression at `1.4` regarding option `nodigits`.
+
+* New option: `noletters`. I am in old age now so I can provide an option
+ completely antithetical to my life work.
+
+* Option `everymath` which is destined to be removed at next major
+ release warns user about it. As major releases tend to happen once
+ per decade I think the constant nagging will become insufferable
+ and you will adapt to the `1.4` changes rather than persisting into
+ using this option.
+
+1.4a \[2024/07/20\]
+----
+
+* There was a documentation glitch in 1.4 and also a problem with the
+ `\MTprimeskip` feature being lost under the emergency fall-back
+ `everymath` option.
+
+1.4 \[2024/07/20\]
+---
+
+* Since 1.2 of 2012/12/20, mathastext has used mathematically active
+ characters to propose certain advanced functionalities. For reasons half
+ lost in the mists of time but whose main one was surely to keep the
+ meaning of the active shape of characters unchanged outside of math mode,
+ this mathematical activation, and (in most cases) the definitions of what
+ active characters do, were done again at *each* entrance into math mode.
+ At this 1.4 release, mathastext does not inject *any* code whatsoever into
+ the `\everymath` and `\everydisplay` toks registers anymore (except for
+ one font-related hack needed under LuaLaTeX, see below). Your documents
+ will compile a tiny bit faster.
+
+* In (unsual) documents where users play with catcodes and mathcodes it is
+ impossible to keep exact backward compatibility, because documented user
+ commands which acted formerly a toggles with delayed action now will enact
+ changes immediately if in the document body. In practice consequences are
+ expected to be few, because catcode active characters are (as was already
+ the case with earlier releases) hacked only when they are Babel shorthands
+ and they are then modified in a way altering only their action in math
+ mode. The precise description of what mathastext does when mathematically
+ activating (or not) a character, depending on circumstances, is to be
+ found among small-print comments in the section "Extended scope of the
+ math alphabets commands". See also the documentation of the
+ `\MTmathactiveletters` command for some specifics regarding ascii letters.
+
+* New option: `everymath`. It instructs mathastext to revert (partially)
+ to its legacy code which uses `\everymath/\everydisplay`. This reversal
+ is partial, the handling of ascii letters not being included into it. The
+ `everymath` option is there only to try as a quick fix in case transition
+ to this release causes a major problem in a user document and time is
+ lacking to investigate. Please report to the author such issues. Option
+ `everymath` is destined to be removed at next major release.
+
+* New option: `activedigits`. Enjoy.
+
+* It is now easier to hook into the mathastext architecture for
+ mathematically activated ascii letters. See the new section "Hacking
+ letters (and even digits) for special tasks".
+
+* Bugfix: do not override special behavior of the math mode dot in
+ babel-spanish.
+
+* Bugfix: A desperate hack related to LuaLaTeX font matters and dating
+ back to 1.3o 2016/05/03 had been for some years in dire need of an update
+ regarding fonts using `Renderer=HarfBuzz`. This is done now. Thanks to
+ tex.sx `user691586` for report. This is currently the sole remaining
+ usage of `\everymath/\everydisplay`.
+
+* Bugfix: an optional feature related to `\{` and `\}` was broken since an
+ upstream LaTeX change at its 2020-02-02 release.
+
+* With option symbolmisc, those math symbol macros formerly defined via
+ `\DeclareRobustCommand` are now declared via `\protected\def`.
+
+* Removal of legacy branches previously kept to support LaTeX earlier than
+ 2020-02-02.
+
+* Removal of support for EU1 and EU2 font encodings.
+
+* Option `noasterisk` deprecated at 1.2d 2013/01/02 has (finally) been removed.
+
+* Four test files previously included and auto-extracted from the
+ distributed dtx have been dropped. One of them is still available
+ on the package homepage.
+
+* Some parts of the documentation have been massively re-ordered and even to some
+ extent improved. But there may be some occasions where obsolete statements will
+ be found having the legacy `\everymath/\everydisplay` situation as background.
+
1.3zb \[2023/12/29\]
-----
@@ -133,63 +225,3 @@ RECENT CHANGES
* Fix long-standing hyperlink problems in the documentation:
blue color words should now all be functioning hyperlinks.
-1.3z \[2023/09/01\]
-----
-
-Fix 1.3y regression which broke `selfGreek` option due to internal
-renamings. Thanks to Stephan Korell for report.
-
-1.3y \[2022/11/04\]
-----
-
-(the 1.3x had an annoying documentation bug, and had already
-been pushed to CTAN, hence the version increase to 1.3y)
-
-* mathastext now requires the `\expanded` primitive (which is
- available with all major engines since TeXLive 2019).
-
-* Revisit parts of the documentation (mainly
- the Examples, and the section on Greek letters) and shuffle
- the other parts to surely improve things. Mention
- the [mathfont](https://ctan.org/pkg/mathfont)
- and [frenchmath](https://ctan.org/pkg/frenchmath) packages.
-
-* Add the `ncccomma` option which loads the
- [ncccomma](https://ctan.org/pkg/ncccomma)
- package to allow the comma as decimal separator.
-
-* Add the `binarysemicolon` option to let the semi-colon
- be of type `\mathbin`, not `\mathpunct`.
-
-* Add the `frenchmath*` option which does all three of
- `frenchmath`, `ncccomma` and `binarysemicolon`.
-
-* Under the `LGRgreek` and `LGRgreeks` options only:
-
- - make available upright and italic Greek letters in math mode
- via `\alphaup`, `\alphait`, ... control sequences, in
- addition to those not using such postfixed-names.
-
- - add `\mathgreekup` and `\mathgreekit` math alphabets.
-
- - add `\MTgreekupdefault` and `\MTgreekitdefault`. The former
- replaces `\updefault` which was used in some places and since
- LaTeX 2020-02-02 caused systematic Font Warnings about the
- substitution of `up` by `n`.
-
- These new features required an extensive internal refactoring
- which is expected to not induce changes to most existing
- documents. But it may induce changes to those using some
- unusual configuration in the preamble, as made possible via the
- package macros; this can apply only to documents authored by
- those few people who actually read the documentation. For full
- details make sure to read the PDF documentation about this
- change.
-
-* Fix "`\Digamma` under `LGRgreek` option uses the shape for
- lowercase not uppercase Greek".
-
-* Fix some incongruities in log messages related to Greek
- letters and emitted during math version creation in the
- preamble.
-
diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf b/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf
index 6e952274102..635b6149fb7 100644
--- a/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf
+++ b/Master/texmf-dist/doc/latex/mathastext/mathastext.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastext.tex b/Master/texmf-dist/doc/latex/mathastext/mathastext.tex
index 8ba1503a8a3..8fd899e4bc1 100644
--- a/Master/texmf-dist/doc/latex/mathastext/mathastext.tex
+++ b/Master/texmf-dist/doc/latex/mathastext/mathastext.tex
@@ -1,12 +1,12 @@
-\def\MSTpkgdate {2023/12/29}
-\def\MSTpkgversion {1.3zb}
+\def\MSTpkgdate {2024/07/27}
+\def\MSTpkgversion {1.4b}
%%----------------------------------------------------------------
%% Package: mathastext
%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3zb 2023/12/29
+%% Version: 1.4b 2024/07/27
%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
-%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
-%% <jfbu at free dot fr>
+%% Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol
+%% <jfbu at free dot fr>
%% Examples of use of mathastext:
%% http://jf.burnol.free.fr/mathastext.html
%% http://jf.burnol.free.fr/showcase.html
diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex b/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex
deleted file mode 100644
index e31202c079a..00000000000
--- a/Master/texmf-dist/doc/latex/mathastext/mathastexttestalphabets.tex
+++ /dev/null
@@ -1,265 +0,0 @@
-\def\testfileincipit{Test file to accompany \texttt{mathastext}
-version \texttt{1.3zb} of \texttt{2023/12/29}}
-%%----------------------------------------------------------------
-%% Package: mathastext
-%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3zb 2023/12/29
-%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
-%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
-%% <jfbu at free dot fr>
-%% Examples of use of mathastext:
-%% http://jf.burnol.free.fr/mathastext.html
-%% http://jf.burnol.free.fr/showcase.html
-%%----------------------------------------------------------------
-%% This file `mathastexttestalphabets.tex' is for testing the extended
-%% scope of the math alphabet commands with package `mathastext', via
-%% the package command \MTnonlettersobeymathxx.
-%%
-%% Compile either with latex, pdflatex, lualatex (pdf output) or xelatex.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.66, vscale=0.72]{geometry}
-\usepackage{amsmath}
-\usepackage{mathtools}\mathtoolsset{centercolon}
-%% WARNING THIS IS INCOMPATIBLE WITH BABEL+FRENCHB
-%% BUT WITH MATHASTEXT LOADED THIS IS CORRECTED
-%% *IF* \MTnonlettersobeymathxx IS MADE USE OF.
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\usepackage[no-math]{fontspec}
-\setmainfont[ExternalLocation,
- Mapping=tex-text,
- BoldFont=texgyretermes-bold,
- ItalicFont=texgyretermes-italic,
- BoldItalicFont=texgyretermes-bolditalic]{texgyretermes-regular}
-\setmonofont[ExternalLocation,
- Mapping=tex-text]{texgyrecursor-regular}
-\setsansfont[ExternalLocation,
- Mapping=tex-text]{texgyreheros-regular}
-\else
-\ifLuaTeX % for pdf output
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\usepackage[no-math]{fontspec}
-\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
-\setmonofont[Ligatures=TeX]{TeX Gyre Cursor}
-\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
-\else
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{tgtermes}
-\usepackage{tgcursor}
-\usepackage{tgheros}
-\fi\fi
-\usepackage{metalogo} % must be loaded /after/ [no-math]fontspec
-\usepackage[french]{babel}
-\usepackage[italic,asterisk]{mathastext}
-\MTlettershape{n}\Mathastext[upright]
-\MTnonlettersobeymathxx
-\MTexplicitbracesobeymathxx
-\delimitershortfall-1pt
-\usepackage{color}
-\begin{document}
-\testfileincipit
-
-\begin{center}
- \bfseries Two features of \texttt{mathastext}:\\
-extended scope of the math alphabets and added italic corrections\par
-\end{center}
-
-The package makes
-${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}$,
-the asterisk $*$, and $.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$ obey the
-math alphabet commands (this is the maximal list, some characters may have been
-excluded by the corresponding package options). For the characters listed first
-the mechanism involves a `mathematical activation'.
-
-As this process may create incompatibilities, it will be put into action
-for
-${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}$
-only if the user makes use of the package command
-\verb|\MTnonlettersobeymathxx| (and the braces necessitate
-\verb|\MTexplicitbracesobeymathxx|).
-
-It could be that one such character has been made `active' in the entire
-document by some other package, typically a language definition file for the
-\verb|babel| system. Here for example we have used \verb|babel| with the
-\verb|french| option, which makes the high punctuation characters !?:; active
-throughout the document (extra spacing is put in front of the character when
-used in text; no change in math but perhaps for other languages and characters
-this could happen, it is up to the language definition file to decide).
-
-When \verb|mathastext| detects that a character it wants to `mathematically
-activate' is already `active', it does not go further except if it seems that
-the activation was done by Babel. If the activation was done by Babel, then
-\verb|mathastext| replaces the expansion of the active character in math mode by
-what is necessary to achieve its goal. It does not additionally mathematically
-activate the character; rather it makes sure that the character is \emph{not}
-mathematically active. In the present document the colon was made mathematically
-active by \verb|mathtools| but this was already canceled in the preamble by
-\verb|mathastext| as it was loaded later. And it is better so, because the
-combination \verb|babel| (with option \verb|frenchb|) +\verb|mathtools| (with
-\verb|centercolon|) makes \verb|$:$| create an infinite loop!
-
-But even if someone had mathematically activated the colon after the preamble,
-or after the loading of \verb|mathastext|, this would be canceled again
-automatically for each inline or displayed mathematical formula (if the user
-does \verb|\MTnonlettersobeymathxx|).
-
-The conclusion with \verb|\MTnonlettersobeymathxx| is: if some package has tried
-to make the character mathematically active, this will be overruled by
-\verb|mathastext|; if some package has made the character globally active, then
-the package wins except if it is Babel, as \verb|mathastext| may in the latter
-case safely modify the action in math mode (paying attention to the fact that
-the character should be usable in \verb|\label| and \verb|\ref| in and outside
-of math mode).
-
-The displayed equations next illustrate the extended scope of the math alphabets
-which now apply to $=$, $-$, $($, $)$, $[$, $]$ (but not to the large delimiters
-of course). Furthermore, for testing purposes the equations were labeled using
-such characters, for example the last one has label \verb|eq=7|, to check that
-the mathematical activation of $=$ does not cause problems with
-\verb|\label/\ref|.
-
-\def\testformula{\quad\Biggl\lbrace\biggl(\left(\left[[\sin(a) + \cos(b) - \log(c) =
-\sec(d)]\right]\right)\biggr)\Biggr\rbrace}
-\begin{equation}\testformula\label{eq:1}\end{equation}
-\begin{equation}\mathnormalbold{mathnormalbold:\testformula}\label{eq;2}\end{equation}
-\begin{equation}\mathrm{mathrm:\testformula}\label{eq?3}\end{equation}
-\begin{equation}\mathbf{mathbf:\testformula}\label{eq!4}\end{equation}
-\begin{equation}\mathit{mathit:\testformula}\label{eq(5}\end{equation}
-\begin{equation}\mathtt{mathtt:\testformula}\label{eq)6}\end{equation}
-\begin{equation}\mathsf{mathsf:\testformula}\label{eq=7}\end{equation}
-
-Equations above are numbered \ref{eq:1}, \ref{eq;2}, \ref{eq?3}, \ref{eq!4}, and
-$\ref{eq(5}$, $\ref{eq)6}$, and $\ref{eq=7}$.
-
-\def\testline#1{$#1$&$\mathnormalbold{#1}$&$\mathrm{#1}$&$\mathbf{#1}$&$\mathit{#1}$&$\mathtt{#1}$&$\mathsf{#1}$}
-
-\centerline{\begin{tabular}{ccccccc}
-\testline{a!b}\\
-\testline{a?b}\\
-\testline{a,b}\\
-\testline{a;b}\\
-\testline{a:b}\\
-\testline{a:=b}\\
-\testline{a\vcentcolon= b}\\
-\testline{a\colon b}\\
-\testline{a.b}\\
-\testline{a-b}\\
-\testline{a+b}\\
-\testline{a=b}\\
-\testline{a<b}\\
-\testline{a>b}\\
-\testline{<x,y>}\\
-\testline{\mathopen{<} x,y\mathclose{>}}\\
-\testline{\left< x,y\right>}\\
-\testline{a/b}\\
-\testline{a\backslash b}\\
-\testline{a\setminus b}\\
-\testline{a|b}\\
-\testline{a\mid b}\\
-\testline{(a,b)}\\
-\testline{[a,b]}\\
-\testline{\{a,b\}}
-\end{tabular}}
-
-The question mark has been made active by \verb|babel+frenchb|.
-\verb|mathastext| has imposed in math mode its ways (now \verb|$\mathbf{???}$|
-gives $\mathbf{???}$). As the extra spacing is added by \verb|frenchb| only in
-text, we had to use the math alphabet to check that indeed \verb|mathastext|
-overruled Babel.
-
-To double-check we will now make \string? mathematically active:
-\verb|\mathcode`?="8000|\mathcode`?="8000. This is a sure cause for disaster
-normally with Babel (don't do this at home without \verb|mathastext|!). But here
-with \verb|$?$| no bad surprise (infinite loop!) awaits us: just $?$.
-
-Let's take some other character, for example the opening parenthesis, and make
-it catcode active:
-\verb|\catcode`(=\active \def ({X}|.
-Let's try the input
-\verb|( and $($|.
-\begingroup
-\catcode`(=\active \gdef ({X}
-This gives ( and $($. We see that \verb|mathastext| does not attempt to modify
-the definition of the active character, as this activation was not done via the
-\verb|babel| services. \catcode`\(=12 \mathcode`(="8000 We now revert the
-parenthesis to catcode other (but maintain \verb|\def ({X}| as definition of its
-active version), and then make it mathematically active using the command
-\verb|\mathcode`(="8000|. If we try \verb|$((($| we see that the parenthesis is
-not converted into an $X$: $((($. The mathematically active character was
-overruled by \verb|mathastext|.
-
-Issuing \verb|\MTnonlettersdonotobeymathxx|\MTnonlettersdonotobeymathxx\ we do
-get the $X$'s from the input \verb|$((($|: $((($
-\endgroup
-This shows that \verb|mathastext| now does not modify in math mode the
-non-letter \verb|(|.
-
-\MTversion{upright}\MTnonlettersobeymathxx
-We defined in the preamble of the document a \verb|mathastext|-enhanced
-math version (named \verb|upright|) having the Latin letters upright in
-math mode. Let's switch to
-it: \newline
-\hbox to\linewidth{\hss\verb|\MTversion{upright}|\hss}
-
-With a font which is neither italic nor slanted, \verb|mathastext| automatically
-inserts italic corrections for better positioning of the subscript:
-\verb|$f_i^i$| gives
-$f_i^i$.
-After \verb|\MTnoicinmath| which turns off this feature\MTnoicinmath{}, the same
-input gives $f_i^i$, which is different.
-\footnote{last time I tried, this only worked with PDF\LaTeX{}, not with
- \LuaLaTeX{} or \XeTeX{}.}
-
-Again with italic corrections on (\verb|\MTicinmath|)\MTicinmath{}
-\verb|$f_{abc}^{def}$| gives $f_{abc}^{def}$, and here is another one:
-$f^{f_{abc}^{def}}_u$. Without italic corrections\MTnoicinmath: $f_{abc}^{def}$,
-and respectively $f^{f_{abc}^{def}}_u$.
-
-\MTicinmath
-
-\verb|mathastext| does not add these italic corrections inside arguments of
-math alphabets, as this would prevent the formation of ligatures:
-$\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$
-(no ligature in teletype) and $\mathsf{ff}$.\footnote{\llap{\textcolor{magenta}{\bfseries Changed!\kern3em}}Prior to 1.3i,
- italic corrections were added to the \string\mathnormal\ arguments.}
-
-\centerline{\begin{tabular}{ccccccc}
-\testline{a!b}\\
-\testline{a?b}\\
-\testline{a,b}\\
-\testline{a;b}\\
-\testline{a:b}\\
-\testline{a:=b}\\
-\testline{a\vcentcolon= b}\\
-\testline{a\colon b}\\
-\testline{a.b}\\
-\testline{a-b}\\
-\testline{a+b}\\
-\testline{a=b}\\
-\testline{a<b}\\
-\testline{a>b}\\
-\testline{<x,y>}\\
-\testline{\mathopen{<} x,y\mathclose{>}}\\
-\testline{\left< x,y\right>}\\
-\testline{a/b}\\
-\testline{a\backslash b}\\
-\testline{a\setminus b}\\
-\testline{a|b}\\
-\testline{a\mid b}\\
-\testline{(a,b)}\\
-\testline{[a,b]}\\
-\testline{\{a,b\}}
-\end{tabular}}
-
-\end{document}
-\endinput
-%%
-%% End of file `mathastexttestalphabets.tex'.
diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex b/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex
deleted file mode 100644
index d5f4447d3ba..00000000000
--- a/Master/texmf-dist/doc/latex/mathastext/mathastexttestmathversions.tex
+++ /dev/null
@@ -1,43 +0,0 @@
-\def\testfileincipit{Test file to accompany \texttt{mathastext}
-version \texttt{1.3zb} of \texttt{2023/12/29}}
-%%----------------------------------------------------------------
-%% Package: mathastext
-%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3zb 2023/12/29
-%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
-%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
-%% <jfbu at free dot fr>
-%% Examples of use of mathastext:
-%% http://jf.burnol.free.fr/mathastext.html
-%% http://jf.burnol.free.fr/showcase.html
-%%----------------------------------------------------------------
-%% This file `mathastexttestversions.tex' is for testing the enhanced
-%% concept of math versions provided by the package `mathastext'.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{newcent}
-\usepackage[subdued]{mathastext}
-\Mathastext[newcent]
-\renewcommand\familydefault\ttdefault
-\Mathastext[courier]
-\renewcommand\familydefault\sfdefault
-\Mathastext[avantgarde]
-\renewcommand\familydefault\rmdefault
-\begin{document}
-\testfileincipit
-
-text in NewCentury and $math\ as\ in\ default$,%
-\MTversion{courier} text in Courier and $math\ in\ Courier$,%
-\MTversion{avantgarde} text in AvantGarde and $math\ in\ AvantGarde$,%
-\MTversion[newcent]{courier} text in NewCentury and $math\ in\
-Courier$,\MTversion{bold} text in bold NewCentury and $math\ as\ in\
-bold\ default$,\MTversion[courier]{avantgarde} text in Courier and
-$math\ in\ AvantGarde$.
-\end{document}
-\endinput
-%%
-%% End of file `mathastexttestmathversions.tex'.
diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex b/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex
deleted file mode 100644
index 3a22a6e0f2b..00000000000
--- a/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodelinux.tex
+++ /dev/null
@@ -1,120 +0,0 @@
-\def\testfileincipit{Test file to accompany \texttt{mathastext}
-version \texttt{1.3zb} of \texttt{2023/12/29}}
-%%----------------------------------------------------------------
-%% Package: mathastext
-%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3zb 2023/12/29
-%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
-%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
-%% <jfbu at free dot fr>
-%% Examples of use of mathastext:
-%% http://jf.burnol.free.fr/mathastext.html
-%% http://jf.burnol.free.fr/showcase.html
-%%----------------------------------------------------------------
-%% This file `mathastexttestunicodelinux.tex' is for testing the use
-%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX.
-%%
-%% Fonts which were available on a Linux machine are used. Beware that
-%% compilation with LuaLaTeX will abort with errors if specified fonts do not
-%% exist on your system.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.8]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage{metalogo}
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\else
-\ifLuaTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\fi\fi
-\usepackage[subdued,italic,asterisk]{mathastext}
-\setmainfont[Color=999999]{Verdana} \Mathastext[Verdana]
-\setmainfont[Color=0000FF]{Arial} \Mathastext[Arial]
-\setmainfont[Color=00C000]{DejaVu Serif} \Mathastext[DejaVu]
-\setmainfont[Color=FF0000]{Andale Mono} \Mathastext[Andale]
-%% commented out as these fonts do not exist anymore on the Linux box
-%% I have access to (test last done 2016/01/15)
-%%\setmainfont[Color=C000C0]{URW Chancery L} \Mathastext[Chancery]
-%%\setmainfont[Color=800080]{URW Palladio L} \Mathastext[Palladio]
-\setmainfont[Color=808000]{Liberation Serif} \Mathastext[Liberation]
-\MTDeclareVersion{Times}{T1}{ptm}{m}{n}
-\begin{document}
-\MTversion{normal}
-\testfileincipit
-
-This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and
-\emph{subdued} options. The base document fonts are the Latin Modern ones (in
-OpenType format). The other OpenType fonts were chosen from those available on
-a Linux machine. We also used the Times font in traditional \TeX\ font T1
-encoding, to demonstrate the removal since release \texttt{1.3u} of a former
-limitation that all math versions had to share the same font encoding, else
-some characters such as the dotless \texttt{i} ($\imath$), or the minus sign
-could well vanish from the output in the non-normal math versions.
-
-Furthermore we test (last line of each block, on the left) if the non-letter
-characters obey the math alphabet \verb|\mathbf|. In the normal and bold math
-versions, this feature is de-activated, as option \emph{subdued} was used; and
-if activated we should then use in these math versions the package
-\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original
-one, which will use encoding \verb|OT1| in the normal and bold versions, as we
-loaded \verb|fontspec| with its option \emph{no-math}.
-
-Some among the fonts tested have no bold variant or no italic variant.
-
-Note: the two unicode engines \XeLaTeX\ and \LuaLaTeX\ give likely not fully
-identical results particularly for the math mode. At least this is what I
-observed regularly over the years with the variant of this file prepared for
-fonts available on Mac OS, which is my main system where I develop
-|\mathastext|. Lastly for example (TL2019, august 2019), \LuaLaTeX\ could not
-find the bold variant of some system font, but \XeLaTeX\ did. And the spacing
-for the letters of the Didot font was vastly different between the two
-engines.
-
-\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}%
- \def\tmpb{normal}\def\tmpc{bold}%
- \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx
- \MTexplicitbracesobeymathxx\fi\fi
-\begin{multicols}{2}
-\hbox to\columnwidth{\hbox to\columnwidth{\hfil
- $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
- \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
- \centerline{ $0123456789$ }
- \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
- \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ }
-\columnbreak
- \centerline{ abcdefghijklmnopqrstuvwxyz }
- \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
- \centerline{ 0123456789}
- \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
- \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
-\end{multicols}}
-\begin{multicols}{2}
- \centerline{\textbf{math mode}}
-\columnbreak
- \centerline{ \textbf{text} }
-\end{multicols}
-\TEST{DejaVu}
-\TEST{Verdana}
-\TEST{Andale}
-%%\TEST{Palladio}
-\TEST{Arial}
-%%\TEST{Chancery}
-\TEST{Liberation}
-\TEST{bold}\TEST{normal}\TEST{Times}
-\end{document}
-\endinput
-%%
-%% End of file `mathastexttestunicodelinux.tex'.
diff --git a/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex b/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex
deleted file mode 100644
index ed6a3c2560e..00000000000
--- a/Master/texmf-dist/doc/latex/mathastext/mathastexttestunicodemacos.tex
+++ /dev/null
@@ -1,124 +0,0 @@
-\def\testfileincipit{Test file to accompany \texttt{mathastext}
-version \texttt{1.3zb} of \texttt{2023/12/29}}
-%%----------------------------------------------------------------
-%% Package: mathastext
-%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3zb 2023/12/29
-%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
-%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
-%% <jfbu at free dot fr>
-%% Examples of use of mathastext:
-%% http://jf.burnol.free.fr/mathastext.html
-%% http://jf.burnol.free.fr/showcase.html
-%%----------------------------------------------------------------
-%% This file `mathastexttestunicodemacos.tex' is for testing the use
-%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX.
-%%
-%% Mac OS X specific fonts are used (initially tested on 10.8.2).
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.85]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage{metalogo}
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\else
-\ifLuaTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\fi\fi
-\usepackage[subdued,italic,asterisk]{mathastext}
-\setmainfont[Color=FF0000]{Hoefler Text} \Mathastext[Hoefler]
-\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter]
-\setmainfont[Color=0000FF]{Herculanum} \Mathastext[Herculanum]
-\setmainfont[Color=FF00FF]{Didot} \Mathastext[Didot]
-\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic]
-\MTDeclareVersion{Times}{T1}{ptm}{m}{n}
-\begin{document}
-\MTversion{normal}
-\testfileincipit
-
-This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and
-\emph{subdued} options. The base document fonts are the Latin Modern ones (in
-OpenType format). The other OpenType fonts were chosen from those available on
-a Mac OS machine. We also used the Times font in traditional \TeX\ font T1
-encoding, to demonstrate the removal since release \texttt{1.3u} of a former
-limitation that all math versions had to share the same font encoding, else
-some characters such as the dotless \texttt{i} ($\imath$), or the minus sign
-could well vanish from the output in the non-normal math versions.
-
-Furthermore we test (last line of each block, on the left) if the non-letter
-characters obey the math alphabet \verb|\mathbf|. In the normal and bold math
-versions, this feature is de-activated, as option \emph{subdued} was used; and
-if activated we should then use in these math versions the package
-\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original
-one, which will use encoding \verb|OT1| in the normal and bold versions, as we
-loaded \verb|fontspec| with its option \emph{no-math}.
-
-Some among the fonts tested have no bold variant or no italic variant.
-
-Note (tested 2013/09/03): for some reason the \verb|Color| specifications in the
-\verb|\setmainfont| commands work only
-with \XeLaTeX{}, not with \LuaLaTeX{}; a few months back I had not noticed
-such a difference between the two engines.
-
-Update (tested 2016/01/15 with reasonably up-to-date TL2015): \verb|Color|
-spec in use of \verb|\setmainfont| command now functional again with
-\LuaLaTeX.
-
-Note (tested 2019/08/11, reasonably up-to-date TL2019): spacing with the Didot
-font differs widely between \XeLaTeX\ and \LuaLaTeX{} (perhaps related to
-italic corrections, see the package documentation), and also it seems
-\LuaLaTeX{} will not find (from our generic usage of the \verb|fontspec|
-interface, at least) bold variants of the Hoefler Text and American Typewriter
-fonts, contrarily to \XeLaTeX. Also, the \emph{italic} option remains
-seemingly without effect with \LuaLaTeX{} in the case of the Hoefler Text font
-(see the package source code comments on some problems with the two ``modes''
-for text fonts under \LuaLaTeX, which may be related with this specific issue
-here).
-
-Update (tested 2022/10/29, with 1.3x and up-to-date TL2022): it appears that
-most, perhaps even all, of the remarks in the preceding note are now obsolete
-as I do not see obvious differences between outputs from \XeLaTeX{} versus
-\LuaLaTeX{} but I did not seriously compare, only quickly done.
-
-\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}%
- \def\tmpb{normal}\def\tmpc{bold}%
- \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx
- \MTexplicitbracesobeymathxx\fi\fi
-\begin{multicols}{2}
-\hbox to\columnwidth{\hbox to\columnwidth{\hfil
- $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
- \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
- \centerline{ $0123456789$ }
- \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
- \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ }
-\columnbreak
- \centerline{ abcdefghijklmnopqrstuvwxyz }
- \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
- \centerline{ 0123456789 }
- \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
- \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
-\end{multicols}}
-\begin{multicols}{2}
- \centerline{\textbf{math mode}}
-\columnbreak
- \centerline{ \textbf{text} }
-\end{multicols}
-\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum}
-\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}\TEST{Times}
-\end{document}
-\endinput
-%%
-%% End of file `mathastexttestunicodemacos.tex'.
diff --git a/Master/texmf-dist/doc/latex/mercatormap/CHANGES.md b/Master/texmf-dist/doc/latex/mercatormap/CHANGES.md
new file mode 100644
index 00000000000..49ef66fb7a9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/mercatormap/CHANGES.md
@@ -0,0 +1,176 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on
+[Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project adheres to
+[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+### Added
+### Changed
+### Deprecated
+### Removed
+### Fixed
+### Security
+
+
+
+## [1.2.0] - 2024-08-05
+
+### Added
+- Command `\ifmrcNPexists` to test existence of a named position
+- Macros `\mrcAnimAngle` and `\l_mermap_anim_angle_fp` to measure
+ the current orthodrome angle
+- Animation example for static maps
+
+### Changed
+- `\mrcNPlat` and `\mrcNPlon` result to 0 now, if named position does not exist
+- `\ifmrcNPinmap` and `\ifmrcNPinvicinity` result to `false` now, if named position does not exist
+- Point definitions on an orthodrome now take an optional angle as result:
+ - Command `mrcNPfromOrthoFraction`
+ - Command `mrcNPfromOrthoFractionNamed`
+ - Command `mrcNPfromOrthoDistance`
+ - Command `mrcNPfromOrthoDistanceNamed`
+
+### Fixed
+- Documentation contained dates from `2023` instead of `2024`
+
+
+
+## [1.1.0] - 2024-08-01
+
+### Added
+- New supply sources (web tile servers):
+ - `thunderforest atlas`
+ - `topplusopen web light`
+ - `topplusopen web light grau`
+- Needed LaTeX version 2023-11-01
+- Point definitions on an orthodrome:
+ - Command `mrcNPfromOrthoFraction`
+ - Command `mrcNPfromOrthoFractionNamed`
+ - Command `mrcNPfromOrthoDistance`
+ - Command `mrcNPfromOrthoDistanceNamed`
+- Animation support:
+ - Environment `mrcAnimation`
+ - Command `\mrcTimewarpIdentity`
+ - Command `\mrcTimewarpSlowStart`
+ - Command `\mrcTimewarpSlowFinal`
+ - Command `\mrcTimewarpSlowStartFinal`
+ - Command `\mrcAnimFrame`
+ - Command `\l_mermap_anim_frame_int`
+ - Command `\mrcAnimTime`
+ - Command `\l_mermap_anim_time_fp`
+ - Command `\mrcAnimScaleDenom`
+ - Command `\l_mermap_anim_scaledenom_fp`
+ - Command `\mrcAnimLatitude`
+ - Command `\l_mermap_anim_lat_fp`
+ - Command `\mrcAnimLongitude`
+ - Command `\l_mermap_anim_lon_fp`
+ - Option `start-position`
+ - Option `named-start-position`
+ - Option `final-position`
+ - Option `named-final-position`
+ - Option `position`
+ - Option `named-position`
+ - Option `frames`
+ - Option `drop-first-frame`
+ - Option `drop-last-frame`
+ - Option `drop-no-frame`
+ - Option `scale-denominators`
+ - Option `common-scale-denominator`
+ - Option `timewarp`
+ - Option `timewarp-identity`
+ - Option `timewarp-slow-start`
+ - Option `timewarp-slow-final`
+ - Option `timewarp-slow-start-final`
+
+### Changed
+- Version history moved from documentation Chapter 11 to this changelog
+- Versioning changed to [Semantic Versioning](http://semver.org/spec/v2.0.0.html)
+ starting with 1.1.0
+- `README` changed to `README.md`
+- Key names start with `mermap` instead of `/mermap` now
+- All common scratch variables like `\l_tmpa_tl` replaced by package variables
+- Orthodrome code
+- Several code further revisions
+
+### Deprecated
+- Stamen Design has discontinued to server map tiles since 2023-07-31.
+ Therefore, all `supply/source` options based on Stamen Design are
+ deprecated now, namely
+ - `stamen terrain`
+ - `stamen terrain-background`
+ - `stamen terrain-labels`
+ - `stamen terrain-lines`
+ - `stamen toner`
+ - `stamen toner-lite`
+ - `stamen toner-hybrid`
+ - `stamen toner-background`
+ - `stamen toner-labels`
+ - `stamen toner-lines`
+ - `stamen watercolor`
+ All these options are now not documented any more, but for some time
+ are still available for old documents with cached map tiles.
+
+### Removed
+- Requirement for packages `expl3`, `xparse`, and `pdftexcmds`
+
+### Fixed
+- Links to the WMS maps of Bundesamt für Kartographie und Geodäsie changed
+- Overwrite warning while generating `maptiles.texpy`
+- Orthodrome drawing with identical starting and final point is now silently ignored
+
+
+
+## [1.02] - 2020-08-06
+
+### Added
+- New options
+ `/mermap/supply/area from marker input` and
+ `/mermap/supply/add area from marker input`
+ which allow to fit a map to a given external list of marker positions.
+- New option `/mermap/fail on missing resource` to control
+ compilation behavior for missing resource files.
+- New marker option `/mermap/marker/distance` with corresponding
+ macro `\mrcmarkerdistance` (issue #2)
+
+### Deprecated
+- Openrouteservice has discontinued mapsurfer tiles since June 2020.
+ Therefore, `/mermap/supply/source=openrouteservice mapsurfer`
+ is deprecated now. It is not documented any more, but
+ for some time it is still available for old documents with
+ cached map tiles.
+
+
+
+## [1.01] - 2020-05-05
+
+### Added
+- New general marker option
+ `/mermap/marker/generic` with corresponding macros
+ `\mrcmarkergeneric` and `\l_mermap_marker_generic_tl`.
+ Also, the marker uuid is made expl3 accessible as `\l_mermap_marker_uuid_tl`.
+- New hyper marker options:
+ - `/mermap/marker/url`
+ - `/mermap/marker/link`
+ - `/mermap/marker/use urls`
+ - `/mermap/marker/ignore urls`
+ - `/mermap/marker/use links`
+ - `/mermap/marker/ignore links`
+
+### Changed
+- User messages for failed Python script calls are changed from warnings to
+ errors to fail fast and to provide more information and hints about
+ possible reasons.
+
+### Fixed
+- Sorting of index key entries fixed for the documentation.
+
+
+
+## [1.00] - 2020-04-20
+
+### Added
+- Initial public release
diff --git a/Master/texmf-dist/doc/latex/mercatormap/README b/Master/texmf-dist/doc/latex/mercatormap/README
deleted file mode 100644
index c33ea991128..00000000000
--- a/Master/texmf-dist/doc/latex/mercatormap/README
+++ /dev/null
@@ -1,43 +0,0 @@
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
-%%
-%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
-%% -------------------------------------------------------------------------------------------
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `author-maintained'.
-%%
-%% This work consists of all files listed in README
-%%
-
-The package ...
-
-Contents of the package
-=======================
- 'README' this file
- 'mercatormap.sty' LaTeX package file (style file)
- 'mercatorsupplier.def' LaTeX package file (include file for style)
- 'mercatorpy.def' LaTeX package file (Python generator)
- 'mercatormap.pdf' Documentation
- 'mercatormap.tex' Source code of the documentation (main file)
- '*.doc.*' Source code of the documentation (include files)
- 'mercatormap-example.tex' Source code of an example
- 'mercatormap.bib' Bibliography of the documentation
-
-Installation
-============
-Copy the contents of the 'mercatormap.tds.zip' from CTAN to your local TeX file tree.
-
-Alternatively, put the files to their respective locations within the TeX installation:
- 'mercatormap.sty' -> /tex/latex/mercatormap
- 'mercatorpy.def' -> /tex/latex/mercatormap
- 'mercatorsupplier.def' -> /tex/latex/mercatormap
-
- all other files -> /doc/latex/mercatormap
diff --git a/Master/texmf-dist/doc/latex/mercatormap/README.md b/Master/texmf-dist/doc/latex/mercatormap/README.md
new file mode 100644
index 00000000000..b7b4be29abd
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/mercatormap/README.md
@@ -0,0 +1,50 @@
+# The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
+
+
+> Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+
+> This work may be distributed and/or modified under the
+> conditions of the LaTeX Project Public License, either version 1.3
+> of this license or (at your option) any later version.
+> The latest version of this license is in
+> https://www.latex-project.org/lppl.txt
+> and version 1.3c or later is part of all distributions of LaTeX
+> version 2008-05-04 or later.
+
+> This work has the LPPL maintenance status `author-maintained`.
+
+> This work consists of all files listed in README.md
+
+
+The mercatormap package extends TikZ with tools to
+create map graphics. The provided coordinate system relies on the
+Web Mercator projection used on the Web by OpenStreetMap and others.
+The package supports the seamless integration of graphics
+from public map tile servers by a Python script. Also, common map
+elements like markers, geodetic networks, bar scales, routes, orthodrome
+pieces, and more are part of the package.
+
+
+## Contents of the package
+
+- `README.md` this file
+- `CHANGES.md` log of changes (history)
+- `mercatormap.sty` LaTeX package file (style file)
+- `mercatorsupplier.def` LaTeX package file (include file for style)
+- `mercatorpy.def` LaTeX package file (Python generator)
+- `mercatormap.pdf` Documentation
+- `mercatormap.tex` Source code of the documentation (main file)
+- `*.doc.*` Source code of the documentation (include files)
+- `mercatormap-example.tex` Source code of an example
+- `mercatormap.bib` Bibliography of the documentation
+
+
+## Installation
+
+Copy the contents of the `mercatormap.tds.zip` from CTAN to your local TeX file tree.
+
+Alternatively, put the files to their respective locations within the TeX installation:
+- `mercatormap.sty` -> /tex/latex/mercatormap
+- `mercatorpy.def` -> /tex/latex/mercatormap
+- `mercatorsupplier.def` -> /tex/latex/mercatormap
+- all other files -> /doc/latex/mercatormap
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex
index 0951bf14d11..333a2495906 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap-example.tex
@@ -1,11 +1,11 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
%%
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatormap-example.tex: Example document with a map
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib
index ef2e9b62131..36a3e976ec5 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.bib
@@ -1,4 +1,5 @@
% Encoding: UTF-8
+
% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
@Report{Sturm:2020,
@@ -14,35 +15,27 @@
}
-@manual{package:tikz,
- author = {Till Tantau},
- title = {The TikZ and PGF Packages},
- subtitle = {Manual for version 3.1.5b},
- url = {http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
- date = {2020-01-08},
+@Manual{package:tikz,
+ author = {Till Tantau},
+ date = {2023-01-15},
+ title = {The TikZ and PGF Packages},
+ subtitle = {Manual for version 3.1.10},
+ url = {https://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
}
-@manual{package:xparse,
- author = {{The \LaTeX3 Project}},
- title = {The xparse package},
- subtitle = {Document command parser},
- url = {http://mirrors.ctan.org/macros/latex/contrib/l3packages/xparse.pdf},
- date = {2020-03-06},
+@Manual{l3kernel:interfaces,
+ author = {{The \LaTeX3 Project}},
+ date = {2024-05-27},
+ title = {The \LaTeX3 Interfaces},
}
-@manual{package:siunitx,
- author = {Joseph Wright},
- title = {siunitx -- A comprehensive (SI) units package},
- url = {http://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf},
- date = {2020-02-25},
+@Manual{package:siunitx,
+ author = {Joseph Wright},
+ date = {2024-06-24},
+ title = {siunitx -- A comprehensive (SI) units package},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf},
}
-
-@manual{package:expl3,
- author = {{The \LaTeX3 Project}},
- title = {The expl3 package and \LaTeX3 programming},
- url = {http://mirrors.ctan.org/macros/latex/contrib/l3kernel/expl3.pdf},
- date = {2020-04-06},
-}
+@Comment{jabref-meta: databaseType:biblatex;}
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.animations.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.animations.tex
new file mode 100644
index 00000000000..022b856a61b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.animations.tex
@@ -0,0 +1,538 @@
+% !TeX root = mercatormap.tex
+% !TeX encoding=UTF-8
+% !TeX spellcheck=en_US
+% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
+\clearpage
+\section{Animations}\label{sec:animations}%
+
+An animation in the context of map drawing is considered to be a direct movement
+from a starting position to a final position with possible adaption of
+scale denominators.
+
+This package does not provide animation production, but allows to create a
+PDF with a sequence of maps (frames) following such an animation path.
+
+
+%-------------------------------------------------------------------------------
+\subsection{Animation Environment}
+
+\begin{docEnvironment}[doc new=2024-07-31]{mrcAnimation}{\marg{options}}
+ According to the given \meta{options}, the environment loops over the
+ \meta{environment content} several times generating \textit{frames}
+ for an external animation program.
+ A detailed description for the \meta{options} is found in \Fullref{ref:animOptions}.
+ \begin{itemize}
+ \item Basically, the position is moved from
+ a given \refKey{mermap/anim/start-position} with time index |0|
+ following an orthodrome
+ to a \refKey{mermap/anim/final-position} with time index |1|.
+ \item
+ This time interval $[0,1]$ is divided into \refKey{mermap/anim/frames}.
+ The current frame number is denoted by \refCom{mrcAnimFrame},
+ the current time is denoted by \refCom{mrcAnimTime}, and
+ the current position is denoted by
+ \refCom{mrcAnimLatitude} and \refCom{mrcAnimLongitude},
+ alternatively by the named positon \docValue{AnimNP}.
+ \item
+ During movement, a time dependent sequence of \refKey{mermap/anim/scale-denominators}
+ defines the current scale denominator \refCom{mrcAnimScaleDenom}.
+ \item
+ The frames may have an equal time distance or have different time
+ distances using a \refKey{mermap/anim/timewarp}. This could be used
+ to slow down movement near ground and to speed up with more height.
+ \end{itemize}
+ The generated sequence of frames is applicable for
+ \begin{itemize}
+ \item Movement along an orthodrome from starting to final position with an unchanged
+ common scale denominator.
+ \item Zoom in or out on a fixed position.
+ \item Combination of both animations.
+ \item Animated orthodrome drawing on a static map.
+ \end{itemize}
+ For more complex animations, several \refEnv{mrcAnimation} environments may be
+ used consecutively.
+\end{docEnvironment}
+
+\clearpage
+\begin{dispExample*}{breakable}
+ \mrcNPdef{heathrow}{51.4678}{-0.4548}
+ \mrcNPdef{fiumicino}{41.8151}{12.2508}
+
+ \begin{tcbraster}[raster height=22cm,raster columns=4,raster rows=7,
+ tile,size=minimal,boxsep=1pt,colback=black!20 ]
+ \begin{mrcAnimation}
+ {
+ named-start-position = heathrow,
+ named-final-position = fiumicino,
+ frames = 36,
+ scale-denominators = 0/1000000 - 0.3/8000000 - 0.7/8000000 - 1/1000000,
+ timewarp-slow-start-final = 1.5,
+ }
+ \begin{tcolorbox}
+ \begin{tikzpicture}
+ \mermapset
+ {
+ named flex scale = \mrcAnimScaleDenom:AnimNP,
+ }
+ \mrcmap
+ [
+ type = reference,
+ named position = AnimNP,
+ source = topplusopen web,
+ tex width = \tcbtextwidth,
+ tex height = \tcbtextheight
+ ]{london-roma-\mrcAnimFrame}
+ \mrcdrawmap
+ \node[above left,font=\fontsize{3.5pt}{3.5pt}\sffamily]
+ at (mrcmap.south east) {\mrcmapattribution};
+ \mrcclipmap
+ \end{tikzpicture}
+ \end{tcolorbox}
+ \end{mrcAnimation}
+ \end{tcbraster}
+\end{dispExample*}
+
+
+
+\clearpage
+\begin{dispExample*}{breakable}
+ % \usepackage{fontawesome5}
+ \mrcNPdef{heathrow}{51.4678}{-0.4548}
+ \mrcNPdef{lax}{33.9421}{-118.4088}
+ \mrcNPdef{reykjavik}{64.1289}{-21.9369}
+
+ \begin{tcbraster}[raster height=22cm,raster columns=2,raster rows=4,
+ tile,size=minimal,boxsep=1pt,colback=black!20 ]
+ \begin{mrcAnimation}
+ {
+ named-start-position = heathrow,
+ named-final-position = lax,
+ frames = 8,
+ }
+ \begin{tcolorbox}
+ \begin{tikzpicture}
+ \mrcmap
+ [
+ type = areafit,
+ area = {heathrow,lax,reykjavik},
+ source = topplusopen web,
+ tex width = \tcbtextwidth,
+ tex height = \tcbtextheight,
+ flex area fit = 8mm,
+ ]{london-lax-\mrcAnimFrame}
+ \mrcdrawmap
+ \node[above left,font=\fontsize{3.5pt}{3.5pt}\sffamily]
+ at (mrcmap.south east) {\mrcmapattribution};
+ \mrcclipmap
+ \mrcNPdraworthodrome[red,very thick]{heathrow}{AnimNP}
+ \node[red!70!black,rotate=\mrcAnimAngle]
+ at (\mrcNPcs{AnimNP}) {\large\faPlane};
+ \end{tikzpicture}
+ \end{tcolorbox}
+ \end{mrcAnimation}
+ \end{tcbraster}
+\end{dispExample*}
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Animation Options}\label{ref:animOptions}
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = start-position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-start-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Starting position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = final-position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-final-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Final position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Fixed position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+ This sets \refKey{mermap/anim/start-position} and
+ \refKey{mermap/anim/final-position} to the identical value.
+\end{docMrcKeys}
+
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = frames,
+ doc parameter = {=\meta{frame number}},
+ doc description = initially |20|
+ },
+ }
+ Integer \meta{frame number} for the animation, at least |2|. For maps made with tiles,
+ even a large \meta{frame number} typically results in limited downloads,
+ because the tiles a reused as far as possible. For WMS maps, every frame
+ could give another download!
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ doc parameter = {\colOpt{=true\textbar false}},
+ doc description = {default |true|, initially |false|},
+ ]{
+ {
+ doc name = drop-first-frame,
+ },
+ {
+ doc name = drop-last-frame,
+ },
+ }
+ If several \refEnv{mrcAnimation} environments are used consecutively,
+ the end frame of one animation is identical to the start frame of the
+ next animation. These options allow to remove one superfluous connecting frame.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = drop-no-frame,
+ doc description = {no value, initially set},
+ },
+ }
+ Reset to drop no frames.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = scale-denominators,
+ doc parameter = {=\marg{time and scale sequence}},
+ doc description = {initially |0/25000-1/25000|},
+ },
+ }
+ The \meta{time and scale sequence} has to obey the following pattern:
+ \par
+ \meta{time$_1$}|/|\meta{scale$_1$} |-|
+ \meta{time$_2$}|/|\meta{scale$_2$} |-| $\ldots$ |-|
+ \meta{time$_n$}|/|\meta{scale$_n$}
+ \par
+ The time values have to be taken from the interval $[0,1]$ and have to be
+ strictly monotonically increasing, i.e.
+ \par
+ $0\le$ \meta{time$_1$} $<$
+ \meta{time$_2$} $<$ $\ldots$ $<$
+ \meta{time$_n$} $\le 1$
+ \par
+ If not given, time and scale for time $0$ and $1$ are automatically added
+ as constant continuation.\par
+ Depending on the current time value \refCom{mrcAnimTime}, the current
+ scale denominator \refCom{mrcAnimScaleDenom} is interpolated from this
+ sequence using a logarithmic approach.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = common-scale-denominator,
+ doc parameter = {=\marg{scale denominator}},
+ doc description = {initially |25000|},
+ },
+ }
+ This is a shortcut for\par
+ \refKey{mermap/anim/scale-denominators} |=|\\
+ \hspace*{5mm} |0/|\marg{scale denominator} |- 1/|\marg{scale denominator}
+ \par
+ Thereby, a fixed \marg{scale denominator} is set for the animation.
+\end{docMrcKeys}
+
+
+\clearpage
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp,
+ doc parameter = {=\meta{macro}},
+ doc description = initially \texttt{\textbackslash mrcTimewarpIdentity}
+ },
+ }
+ \meta{macro} has to be a fully expandable \LaTeX\ macro with one parameter.
+ The expansion has to be a valid |expl3| \meta{floating point expression}
+ denoting a strictly monotonically increasing function mapping from
+ the interval \mbox{$[0,1]$} into \mbox{$[0,1]$} again.
+ This timewarp may slow down and accelerate time over the span from $0$ to $1$.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpIdentity,
+ doc parameter = {=\marg{time}},
+ },
+ }
+ Identity function from \mbox{$[0,1]$} into \mbox{$[0,1]$}.
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-identity,
+ doc description = {no value, initially set}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpIdentity}.
+ This means that time flows constantly.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowStart,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Function term $t^{\text{\meta{exponent}}}$
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-start,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowStart}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the begin of the
+ interval \mbox{$[0,1]$}. This can be used, if a low scale denominator is
+ present at begin of a movement and is becoming larger later. Here, for smoothness,
+ you may want this to have slower speed near ground and larger speed later.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowFinal,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Function term $1 - (1-t)^{\text{\meta{exponent}}}$
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-final,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowFinal}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the end of the
+ interval \mbox{$[0,1]$}. This can be used, if a large scale denominator is
+ present at begin of a movement and is becoming lower later. Here, for smoothness,
+ you may want this to have slower speed near ground at the end.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowStartFinal,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Combination of \refCom{mrcTimewarpSlowStart} and \refCom{mrcTimewarpSlowFinal}
+ using case discrimination for the first and the second half of the intervall.
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-start-final,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowStartFinal}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the begin and at the end of the
+ interval \mbox{$[0,1]$}. This can be used, if a low scale denominator is
+ present at begin of a movement, becomes larger in the middle, and finally
+ is becoming lower later. Here, for smoothness,
+ you may want this to have slower speed near ground at the begin and the end.
+\end{docMrcKeys}
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Macros inside the Animation Environment}\label{ref:animMacros}
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimFrame,
+ },
+ {
+ doc name = l_mermap_anim_frame_int,
+ },
+ }
+ The current frame number ranging from $1$ to \refKey{mermap/anim/frames}.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimTime,
+ },
+ {
+ doc name = l_mermap_anim_time_fp,
+ },
+ }
+ The current time ranging from $0$ to $1$.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimScaleDenom,
+ },
+ {
+ doc name = l_mermap_anim_scaledenom_fp,
+ },
+ }
+ The current scale denominator according to \refKey{mermap/anim/scale-denominators}.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimLatitude,
+ },
+ {
+ doc name = l_mermap_anim_lat_fp,
+ },
+ }
+ The latitude of the current position.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimLongitude,
+ },
+ {
+ doc name = l_mermap_anim_lon_fp,
+ },
+ }
+ The longitude of the current position.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-08-05,
+ ]{
+ {
+ doc name = mrcAnimAngle,
+ },
+ {
+ doc name = l_mermap_anim_angle_fp,
+ },
+ }
+ Current angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+\end{docCommands}
+
+
+
+
+\docValue{AnimNP}\tcbdocmarginnote{\tcbdocnew{2024-07-31}}:
+ The current named position.
+
+
+
+
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex
index ad285fb7c90..01667cd1d32 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.definition.tex
@@ -23,14 +23,14 @@
\subsection{Option Setting}
\begin{docCommand}{mermapset}{\marg{options}}
Sets \meta{options} for all following maps inside the current \TeX\ group.
- All options share the common prefix |/mermap/|, e.g. for setting
- \refKey{/mermap/vicinity} use
+ All options share the common prefix |mermap/|, e.g. for setting
+ \refKey{mermap/vicinity} use
\begin{dispListing}
\mermapset{vicinity=3cm}
\end{dispListing}
Also see \refCom{mrcdefinemap}, \refCom{mermapsetsupply},
and \refCom{mermapsetmarker}.\par
- Note that the options by \refCom{mermapset} are |expl3| \cite{package:expl3}
+ Note that the options by \refCom{mermapset} are |expl3| \cite{l3kernel:interfaces}
keys while \tikzname\ \cite{package:tikz} uses its own key management.
\end{docCommand}
@@ -45,7 +45,7 @@ See \Fullref{sec:automated_map} for script aided map definitions.
\begin{docCommand}{mrcdefinemap}{\marg{options}}
Establishes a map inside a |tikzpicture| environment following
and applying the given \meta{options}.
- All options share the common prefix |/mermap/mapdef/|.
+ All options share the common prefix |mermap/mapdef/|.
After \refCom{mrcdefinemap} is applied, map drawing and map coordinates
can be used.
\begin{itemize}
@@ -60,25 +60,25 @@ See \Fullref{sec:automated_map} for script aided map definitions.
\begin{docMrcKey}[mapdef]{north}{=\meta{map north latitude}}{no default, initially 50}
Northern latitude degree of the visible map, possibly negative for the southern hemisphere,
- lower than $90$ but always larger than \refKey{/mermap/mapdef/south}.
+ lower than $90$ but always larger than \refKey{mermap/mapdef/south}.
It is accessible as \docAuxCommand{mrcmapnorth} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{south}{=\meta{map south latitude}}{no default, initially 48}
Southern latitude degree of the visible map, possibly negative for the southern hemisphere,
- larger than $-90$ but always lower than \refKey{/mermap/mapdef/north}.
+ larger than $-90$ but always lower than \refKey{mermap/mapdef/north}.
It is accessible as \docAuxCommand{mrcmapsouth} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{west}{=\meta{map west longitude}}{no default, initially 11}
Western longitude degree of the visible map, possibly negative for the western hemisphere,
- possibly shifted periodically, but always lower than \refKey{/mermap/mapdef/east}.
+ possibly shifted periodically, but always lower than \refKey{mermap/mapdef/east}.
It is accessible as \docAuxCommand{mrcmapwest} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{east}{=\meta{map east longitude}}{no default, initially 13}
Eastern longitude degree of the visible map, possibly negative for the western hemisphere,
- possibly shifted periodically, but always larger than \refKey{/mermap/mapdef/west}.
+ possibly shifted periodically, but always larger than \refKey{mermap/mapdef/west}.
It is accessible as \docAuxCommand{mrcmapeast} (use read-only).
\end{docMrcKey}
@@ -149,7 +149,7 @@ information.
\begin{docMrcKey}[mapdef]{attribution print}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source.
- In contrast to \refKey{/mermap/mapdef/attribution} it is intended for media
+ In contrast to \refKey{mermap/mapdef/attribution} it is intended for media
that does not support hyperlinks like printed posters, books, etc.
It is accessible as \docAuxCommand{mrcmapattributionprint} (use read-only).
\end{docMrcKey}
@@ -166,7 +166,7 @@ information.
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{tile size}{=\meta{length}}{no default, initially |32.512mm|}
- Typically set computationally. It is identical to \refKey{/mermap/tile size}
+ Typically set computationally. It is identical to \refKey{mermap/tile size}
which is the recommended user option for manual setup.
\end{docMrcKey}
@@ -204,7 +204,7 @@ The border of the visible map is denoted by a \tikzname\ node \docNode{mrcmap}.
\medskip
The |mrc cs| coordinate system defines a map point by
-\refKey{/mermap/cs/latitude} and \refKey{/mermap/cs/longitude}
+\refKey{mermap/cs/latitude} and \refKey{mermap/cs/longitude}
\begin{docMrcKey}[cs]{latitude}{=\meta{latitude}}{no default}
Sets the \meta{latitude} of a map point.
@@ -220,7 +220,7 @@ The |mrc cs| coordinate system defines a map point by
\medskip
A map point can also be defined by shorter variants
-\refKey{/mermap/cs/lat} and \refKey{/mermap/cs/lon}
+\refKey{mermap/cs/lat} and \refKey{mermap/cs/lon}
\begin{docMrcKey}[cs]{lat}{=\meta{latitude}}{no default}
Sets the \meta{latitude} of a map point.
@@ -298,9 +298,10 @@ A map point can be defined even quicker by
\end{docCommand}
-\begin{docCommand}{mrcNPlat}{\marg{name}}
+\begin{docCommand}[doc updated=2024-08-02]{mrcNPlat}{\marg{name}}
Inserts the \emph{latitude} of a \emph{named position} with given \meta{name}.
\refCom{mrcNPlat} is expandable and may be used in floating point expressions.
+ If the \meta{name} does not exist, the macro expands to |0|.
\begin{dispExample}
\mrcNPdef{nuremberg}{49.45522}{11.07631}
Latitude: \mrcNPlat{nuremberg}\\
@@ -309,9 +310,16 @@ A map point can be defined even quicker by
\end{docCommand}
-\begin{docCommand}{mrcNPlon}{\marg{name}}
+\begin{docCommand}[doc updated=2024-08-02]{mrcNPlon}{\marg{name}}
Inserts the \emph{longitude} of a \emph{named position} with given \meta{name}.
\refCom{mrcNPlon} is expandable and may be used in floating point expressions.
+ If the \meta{name} does not exist, the macro expands to |0|.
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2024-08-02]{ifmrcNPexists}{\marg{name}\marg{true}\marg{false}}
+ If the given \emph{named position} with given \meta{name} exists, the \meta{true} code is executed, otherwise
+ the \meta{false} code.
\end{docCommand}
@@ -356,7 +364,7 @@ Very similar to \refCom{ifmrcinmap} is \refCom{ifmrcinvicinity}.
\begin{docCommand}{ifmrcinvicinity}{\marg{latitude}\marg{longitude}\marg{true}\marg{false}}
If the given \meta{latitude} and \meta{longitude} describes a point
- inside a vicinity of the visible map, i.e. the map \emph{plus} a margin of \refKey{/mermap/vicinity},
+ inside a vicinity of the visible map, i.e. the map \emph{plus} a margin of \refKey{mermap/vicinity},
the \meta{true} code is executed, otherwise
the \meta{false} code.\par
Inside the \meta{true} code a \tikzname\ coordinate \docNode{mrcpos}
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex
index dd86fcedbdc..0b484da09bb 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.drawing.tex
@@ -11,7 +11,7 @@
\begin{docCommand}{mrcdrawmap}{\oarg{options}}
Inside a |tikzpicture| environment, \refCom{mrcdrawmap} draws a map
prepared by \refCom{mrcdefinemap}, \refCom{mrcapplymap}, or \refCom{mrcmap}.
- All \meta{options} share the common prefix |/mermap/|.
+ All \meta{options} share the common prefix |mermap/|.
This is the principal macro to draw a prepared map respectively
the background of the map. The background consists of downloaded map tiles
or just a color rectangle.
@@ -19,10 +19,10 @@
\begin{docMrcKey}{draw}{=\meta{tile draw}}{no default, initially |auto|}
\begin{itemize}
- \item\docValue{auto}: Draws the map according to \refKey{/mermap/mapdef/resource},
+ \item\docValue{auto}: Draws the map according to \refKey{mermap/mapdef/resource},
i.e. downloaded maps or tiles are used, if available.
\item\docValue{path}: Draws the map according to the style given by
- \refKey{/mermap/map path}. Existing map tiles or merged maps are ignored
+ \refKey{mermap/map path}. Existing map tiles or merged maps are ignored
\item\docValue{tiles}: Draws the map with downloaded map tiles, if
available.
\item\docValue{mergedmap}: Draws the map with a merged picture, if
@@ -75,24 +75,24 @@
Typically, the pixel size of a map tile is fixed and a map tile is a
pixel graphics file. The actual size of such an included picture inside
the document is freely selectable. Note that a very small
-\refKey{/mermap/tile size} results in very small map lettering,
-while a very large \refKey{/mermap/tile size} results results in
+\refKey{mermap/tile size} results in very small map lettering,
+while a very large \refKey{mermap/tile size} results results in
very blurred images.
The general idea of a \emph{flexible} tile size is to specify an aspired
-tile size called \refKey{/mermap/flex tile size} and to give \LaTeX\
-the freedom to select \refKey{/mermap/tile size} in \emph{about the same size}
-as \refKey{/mermap/flex tile size}.
+tile size called \refKey{mermap/flex tile size} and to give \LaTeX\
+the freedom to select \refKey{mermap/tile size} in \emph{about the same size}
+as \refKey{mermap/flex tile size}.
This freedom is used to achieve a \emph{pseudo zoom} called
-\refKey{/mermap/flex zoom} which is a nearly arbitrary rational number instead
-of \refKey{/mermap/supply/zoom} which is a natural number.
+\refKey{mermap/flex zoom} which is a nearly arbitrary rational number instead
+of \refKey{mermap/supply/zoom} which is a natural number.
This \emph{pseudo zoom} is applied by several options which share \emph{flex}
in their names, e.g.
-\refKey{/mermap/flex scale}, \refKey{/mermap/named flex scale},
-\refKey{/mermap/supply/flex reference scale},
-\refKey{/mermap/supply/flex area scale},
-\refKey{/mermap/supply/flex area fit}.
+\refKey{mermap/flex scale}, \refKey{mermap/named flex scale},
+\refKey{mermap/supply/flex reference scale},
+\refKey{mermap/supply/flex area scale},
+\refKey{mermap/supply/flex area fit}.
@@ -101,30 +101,30 @@ in their names, e.g.
For standard tiles with 256 times 256 pixels a tile size of
\SI{32.512}{mm} = \SI{1.28}{in} results in an approximate
\SI{200}{dpi} output for the document.
- For a |beamer| document, consider to use a \refKey{/mermap/tile size} of
+ For a |beamer| document, consider to use a \refKey{mermap/tile size} of
\SI{21.333333}{mm} to get approximate 1:1 pixel input and output (depending on |beamer| settings
- and used hardware). Also see \refKey{/mermap/mapdef/tile size}.
+ and used hardware). Also see \refKey{mermap/mapdef/tile size}.
\end{docMrcKey}
\begin{docMrcKey}{flex tile size}{=\meta{length}}{no default, initially |32.512mm|}
Aspired width and height of a tile picture are set to \meta{length}.
- This value is used while applying \refKey{/mermap/flex zoom}.
+ This value is used while applying \refKey{mermap/flex zoom}.
\end{docMrcKey}
\begin{docMrcKey}{flex zoom}{=\meta{pseudo zoom}}{style, no default}
- This style sets \refKey{/mermap/supply/zoom} and \refKey{/mermap/tile size} in combination.
+ This style sets \refKey{mermap/supply/zoom} and \refKey{mermap/tile size} in combination.
\begin{itemize}
\item
If \meta{pseudo zoom} is a natural number,
- \refKey{/mermap/supply/zoom} is set to \meta{pseudo zoom} and
- \refKey{/mermap/tile size} is set to \refKey{/mermap/flex tile size}.
- \item Otherwise, \refKey{/mermap/supply/zoom} is set to the natural number
- closest to \meta{pseudo zoom} and \refKey{/mermap/tile size} is such
+ \refKey{mermap/supply/zoom} is set to \meta{pseudo zoom} and
+ \refKey{mermap/tile size} is set to \refKey{mermap/flex tile size}.
+ \item Otherwise, \refKey{mermap/supply/zoom} is set to the natural number
+ closest to \meta{pseudo zoom} and \refKey{mermap/tile size} is such
enlarged or reduced that the \meta{pseudo zoom} value is simulated,
i.e. the \emph{impression} of a rational zoom factor is given.
\end{itemize}
- Note that \refKey{/mermap/flex zoom} has to be used \emph{before}
+ Note that \refKey{mermap/flex zoom} has to be used \emph{before}
\refCom{mrcsupplymap} or \refCom{mrcmap}, because the zoom setup is
adapted.
\end{docMrcKey}
@@ -133,12 +133,12 @@ in their names, e.g.
\clearpage
\begin{docMrcKey}{flex scale}{=\meta{scale denominator}:\meta{latitude}}{style, no default}
For different latitude scopes, an identical zoom factor produces maps of
- different scale. With \refKey{/mermap/flex scale}, a \refKey{/mermap/flex zoom}
+ different scale. With \refKey{mermap/flex scale}, a \refKey{mermap/flex zoom}
is computed to achieve the given \meta{scale denominator} at a given \meta{latitude}.
Note that this only applies to the center of a map. If the produced
map is not centered at \meta{latitude}, the produced scale may
differ from the intended one.
- Also see \refKey{/mermap/supply/flex reference scale}.
+ Also see \refKey{mermap/supply/flex reference scale}.
\tikzsetnextfilename{drawing_flex_scale}%
\begin{dispExample}
@@ -162,7 +162,7 @@ in their names, e.g.
\begin{docMrcKey}{named flex scale}{=\meta{scale denominator}:\meta{name}}{style, no default}
- Identical to \refKey{/mermap/flex scale}, but used the \emph{named position}
+ Identical to \refKey{mermap/flex scale}, but used the \emph{named position}
\meta{name} to provide a \emph{latitude}, see \Fullref{sec:names_positions}.
\begin{dispListing}
\mrcNPdef{munich}{48.137222}{11.575556}
@@ -179,12 +179,12 @@ in their names, e.g.
\begin{docCommand}{mrcdrawnetwork}{\oarg{options}}
Draws a geodetic network with meridians and parallels.
- All \meta{options} share the common prefix |/mermap/|.
+ All \meta{options} share the common prefix |mermap/|.
The displayed lines are selected automatically according to some tuning
parameters.
- The map is sliced in \emph{about} maximal \refKey{/mermap/network pieces} in each
+ The map is sliced in \emph{about} maximal \refKey{mermap/network pieces} in each
direction. Meridians and parallels share a minimal distance of
- \emph{about} \refKey{/mermap/network distance}. The algorithm is
+ \emph{about} \refKey{mermap/network distance}. The algorithm is
allowed to violate these conditions \emph{somewhat}.
Note that oversized maps are not supported, i.e. maps which are wider
@@ -213,7 +213,7 @@ in their names, e.g.
\begin{docMrcKey}{network pieces}{=\meta{number}}{no default, initially |8|}
The map is sliced in \emph{about} maximal \meta{number} pieces in each
direction. \meta{number} may be exceeded \emph{somewhat}.
- It is underrun to comply with \refKey{/mermap/network distance}.
+ It is underrun to comply with \refKey{mermap/network distance}.
\end{docMrcKey}
@@ -221,7 +221,7 @@ in their names, e.g.
Meridians and parallels share a minimal distance of
\emph{about} \meta{mesh width}.
\meta{mesh width} may be underrun \emph{somewhat}.
- It is exceeded to comply with \refKey{/mermap/network pieces}.
+ It is exceeded to comply with \refKey{mermap/network pieces}.
For parallels on small scale maps, it refers to an averaged mesh width.
\end{docMrcKey}
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex
index 7eb5b5f86e2..11c3068f311 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.examples.tex
@@ -14,13 +14,13 @@ Note to do all preparations documented in \Fullref{sec:python}.
%-------------------------------------------------------------------------------
\subsection{Reference Position}
-With \refKey{/mermap/supply/type}|=|\docValue{reference} a map with a
+With \refKey{mermap/supply/type}|=|\docValue{reference} a map with a
\emph{reference position} is constructed. Here, Munich is taken as
reference position and center of the map. Since the position is used
more than once, it is stored with \refCom{mrcNPdef} for further reference.
-With \refKey{/mermap/supply/flex reference scale} the scale
+With \refKey{mermap/supply/flex reference scale} the scale
is set to 1:6\,000\,000. For the background map tiles, a
-\refKey{/mermap/supply/source} is selected for download.
+\refKey{mermap/supply/source} is selected for download.
This setup is done by \refCom{mrcmap} while \refCom{mrcdrawmap} draws
the downloaded map tiles.
@@ -84,10 +84,10 @@ the downloaded map tiles.
%-------------------------------------------------------------------------------
\subsection{Fitting Area}
-With \refKey{/mermap/supply/type}|=|\docValue{areafit} a map is constructed
+With \refKey{mermap/supply/type}|=|\docValue{areafit} a map is constructed
where a given area is fitted in. The following example lists some
-US-American cities and constructs an \refKey{/mermap/supply/area} which
-contains all of them. With \refKey{/mermap/supply/flex area fit}|=15mm| a
+US-American cities and constructs an \refKey{mermap/supply/area} which
+contains all of them. With \refKey{mermap/supply/flex area fit}|=15mm| a
border region is added.
@@ -102,7 +102,7 @@ border region is added.
\mrcNPdef{denver}{39.7372435}{-104.997378}
\mrcmap[type=areafit,
area={honolulu,fairbanks,sandiego,miami,boston,denver},
- source=stamen terrain,
+ source=topplusopen web,
tex width=15cm, tex height=11cm,
flex area fit=15mm,
]{examples_fitting_area}
@@ -122,12 +122,12 @@ border region is added.
%-------------------------------------------------------------------------------
\subsection{Fixed Boundaries}
-With \refKey{/mermap/supply/type}|=|\docValue{boundaries} a map is constructed
+With \refKey{mermap/supply/type}|=|\docValue{boundaries} a map is constructed
with fixed boundaries. In contrast to the other map types, the document
map size cannot be given directly but derives from the map setup. This bears
the risk of too large maps. The following example is a map with exact
boundaries \mrcformlat{-45} to \mrcformlat{-10}
-and \mrcformlon{110} to \mrcformlon{155}. A decent \refKey{/mermap/supply/zoom}
+and \mrcformlon{110} to \mrcformlon{155}. A decent \refKey{mermap/supply/zoom}
is 5 (every zoom step doubles the map size in each direction).
\tikzsetnextfilename{examples_boundaries}%
@@ -160,7 +160,7 @@ is 5 (every zoom step doubles the map size in each direction).
\subsection{Map Without Map Tiles}
There is no coercion to use downloaded map tiles, if they are not needed or
-wanted. With \refKey{/mermap/supply/target}|=none| no map tiles are downloaded.
+wanted. With \refKey{mermap/supply/target}|=none| no map tiles are downloaded.
The following example draws a rough polygon shape of Germany using
\refEnv{mrcroute*}.
@@ -299,7 +299,7 @@ The following example draws a rough polygon shape of Germany using
%-------------------------------------------------------------------------------
\subsection{Alignment of the Reference Position}
-With \refKey{/mermap/supply/align} the reference position can be aligned
+With \refKey{mermap/supply/align} the reference position can be aligned
at different map positions.
\tikzsetnextfilename{examples_alignment}%
@@ -332,13 +332,13 @@ at different map positions.
\subsection{Flexible Zoom}
Map tiles are only provided at fixed zoom levels with natural numbers,
-but the package allows a \refKey{/mermap/flex zoom} with rational numbers.
+but the package allows a \refKey{mermap/flex zoom} with rational numbers.
The flexible zoom is realized by combining a suitable fixed zoom with
an adapted document tile scaling, see \Fullref{sec:flexible_tile_size}.
The following example shows a more or less smooth zoom increase.
The same technique is used by all options starting with |flex|, e.g.
-\refKey{/mermap/supply/flex reference scale}
-or \refKey{/mermap/supply/flex area fit}
+\refKey{mermap/supply/flex reference scale}
+or \refKey{mermap/supply/flex area fit}
as seen in the examples before.
\tikzexternaldisable
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex
index 294f5e278fc..29514fb0f03 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.intro.tex
@@ -18,9 +18,7 @@ and the algorithms of this packages, you are invited to read
\enquote{\fullcite{Sturm:2020}}.
With very few exceptions, the package is programmed with the
-|expl3| \cite{package:expl3} programming interface for \LaTeX3
-and loads the packages
-|xparse| \cite{package:xparse} and |siunitx| \cite{package:siunitx}.
+|expl3| programming interface for \LaTeX3 \cite{l3kernel:interfaces}.
\medskip
@@ -103,7 +101,7 @@ This should give a version number starting with 3. Otherwise, try
\begin{dispListing}
python3 --version
\end{dispListing}
-If this is successful, \refKey{/mermap/python} has to be adapted to |python3|
+If this is successful, \refKey{mermap/python} has to be adapted to |python3|
\subsubsection{Python Packages}
The Python packages |Pillow| (\url{https://pypi.org/project/Pillow/})
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex
index 0c44427ca54..70a08de273a 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.limitations.tex
@@ -42,8 +42,8 @@
remember that the eastern hemisphere lies \emph{west} and
the western hemisphere lies \emph{east} for your map.
Consider the following example displaying Vladivostok and Anchorage.
- Here, \refKey{/mermap/supply/west} is set to \ang{130}\,E (|130|)
- and \refKey{/mermap/supply/east} is set to \ang{149}\,W (|211| instead of |-149|).
+ Here, \refKey{mermap/supply/west} is set to \ang{130}\,E (|130|)
+ and \refKey{mermap/supply/east} is set to \ang{149}\,W (|211| instead of |-149|).
There is some automatic correction for positions to fit inside the
defined map (see Anchorage in the example below), but
@@ -123,7 +123,7 @@
\tikzsetnextfilename{limit_zoom_scale_1}
\begin{dispExample}
- \mermapsetsupply{source=stamen terrain, type=reference, zoom=12,
+ \mermapsetsupply{source=topplusopen web, type=reference, zoom=12,
tex width=7cm, tex height=5cm}
\begin{tikzpicture}
\mrcmap[latitude=59.91,longitude=10.75]{oslo1} \mrcdrawmap
@@ -133,12 +133,12 @@
\begin{center}\fontsize{7pt}{7pt}\sffamily\mrcmapattribution\end{center}
\end{dispExample}
- Same example again, but with \refKey{/mermap/flex scale} which gives
+ Same example again, but with \refKey{mermap/flex scale} which gives
1:150000 for both cities and comparable maps.
\tikzsetnextfilename{limit_zoom_scale_2}
\begin{dispExample}
- \mermapsetsupply{source=stamen terrain, type=reference}
+ \mermapsetsupply{source=topplusopen web, type=reference}
\begin{tikzpicture}
\mrcmap[latitude=59.91,longitude=10.75, flex reference scale=150000,
tex width=7cm, tex height=5cm]{oslo2} \mrcdrawmap
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex
index 9786414753f..aa306f59627 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.maptiles.tex
@@ -73,7 +73,7 @@ accompanying Python script. The technical background is documented in
\cite[Section~5]{Sturm:2020}.
\begin{enumerate}
-\item \refKey{/mermap/supply/type}|=|\docValue{reference}:
+\item \refKey{mermap/supply/type}|=|\docValue{reference}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -85,12 +85,12 @@ accompanying Python script. The technical background is documented in
}{
The default method determines the map dimensions from a reference
position and given document map dimensions.
- Also, a zoom level \refKey{/mermap/supply/zoom}
+ Also, a zoom level \refKey{mermap/supply/zoom}
is required which relates to the Web Mercator map tile covering of the Earth.
A higher zoom level gives a growing number of smaller map tiles.
Alternative to the zoom level, a \meta{scale denominator} can be provided
- by \refKey{/mermap/supply/flex area scale}, \refKey{/mermap/flex scale}
- or \refKey{/mermap/supply/flex reference scale} which determines
+ by \refKey{mermap/supply/flex area scale}, \refKey{mermap/flex scale}
+ or \refKey{mermap/supply/flex reference scale} which determines
the zoom level implicitly.
As default, the reference position is the center of the map, but can be
aligned at the map borders. This method is quite safe to use and could
@@ -100,7 +100,7 @@ accompanying Python script. The technical background is documented in
be more tricky.
}
-\item \refKey{/mermap/supply/type}|=|\docValue{areafit}:
+\item \refKey{mermap/supply/type}|=|\docValue{areafit}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -114,7 +114,7 @@ accompanying Python script. The technical background is documented in
The map dimensions are determined by an area with
latitude and longitude boundaries which is fitted into given
document map dimensions. The zoom level is computed accordingly
- for a fixed document tile size or by \refKey{/mermap/supply/flex area fit}.
+ for a fixed document tile size or by \refKey{mermap/supply/flex area fit}.
In any case, the map contains the target area plus some protrusion.
This method is also quite safe to use and may be
the preferred one for many applications like showing a map which contains
@@ -123,7 +123,7 @@ accompanying Python script. The technical background is documented in
the third method can be regarded.
}
-\item \refKey{/mermap/supply/type}|=|\docValue{boundaries}:
+\item \refKey{mermap/supply/type}|=|\docValue{boundaries}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -134,11 +134,11 @@ accompanying Python script. The technical background is documented in
}{
The most obvious method determines the map dimensions from
latitude and longitude boundaries. For this, a corresponding zoom level
- \refKey{/mermap/supply/zoom}
+ \refKey{mermap/supply/zoom}
is required which relates to the Web Mercator map tile covering of the Earth.
Alternative to the zoom level, a \meta{scale denominator} can be provided
- by \refKey{/mermap/supply/flex area scale}
- or \refKey{/mermap/supply/flex reference scale} which determines
+ by \refKey{mermap/supply/flex area scale}
+ or \refKey{mermap/supply/flex reference scale} which determines
the zoom level implicitly.
Note that a too high zoom level imposes the risk of downloading an unwanted
high quantity of map tiles resulting in a much too large document map.
@@ -156,9 +156,9 @@ accompanying Python script. The technical background is documented in
\begin{docCommand}{mrcsupplymap}{\oarg{options}\marg{definition}}
The \meta{options} provide parameters for the Python~3 script to supply all
materials for a map.
- All options share the common prefix |/mermap/supply/|.\par
+ All options share the common prefix |mermap/supply/|.\par
The map is identified by\\
- \meta{id}=\refKey{/mermap/definition prefix}+\meta{definition}\\
+ \meta{id}=\refKey{mermap/definition prefix}+\meta{definition}\\
for later drawing.
This identifier \meta{id} has to be unique for the document.
It corresponds to generated files \meta{id}|.def|, \meta{id}|.md5|, and
@@ -172,8 +172,8 @@ accompanying Python script. The technical background is documented in
\begin{docCommand}{mermapsetsupply}{\marg{options}}
Sets \meta{options} for all following maps inside the current \TeX\ group.
- All options share the common prefix |/mermap/supply/|, e.g. for setting
- \refKey{/mermap/supply/type} use
+ All options share the common prefix |mermap/supply/|, e.g. for setting
+ \refKey{mermap/supply/type} use
\begin{dispListing}
\mermapsetsupply{type=reference}
\end{dispListing}
@@ -184,7 +184,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}{definition prefix}{=\meta{definition prefix}}{no default, initially |maps/|}
Prefix for map identifiers and generated map files, see \refCom{mrcsupplymap}
and \refCom{mrcapplymap}.
- Note that \refKey{/mermap/definition prefix} is not to be used inside
+ Note that \refKey{mermap/definition prefix} is not to be used inside
the option list for \refCom{mrcsupplymap}.
\end{docMrcKey}
@@ -193,30 +193,30 @@ accompanying Python script. The technical background is documented in
\begin{itemize}
\item\docValue{reference}: \flqq map with reference position\frqq\\
The map is constructed from a given reference position
- \refKey{/mermap/supply/latitude},\\
- \refKey{/mermap/supply/longitude},\\
- a zoom level \refKey{/mermap/supply/zoom},\\
+ \refKey{mermap/supply/latitude},\\
+ \refKey{mermap/supply/longitude},\\
+ a zoom level \refKey{mermap/supply/zoom},\\
map dimensions\\
- \refKey{/mermap/supply/width},\\
- \refKey{/mermap/supply/height},\\
- and alignment \refKey{/mermap/supply/align}.
+ \refKey{mermap/supply/width},\\
+ \refKey{mermap/supply/height},\\
+ and alignment \refKey{mermap/supply/align}.
\item\docValue{areafit}: \flqq map fitting an area\frqq\\
The map is constructed from a given area boundaries\\
- \refKey{/mermap/supply/west},\\
- \refKey{/mermap/supply/east},\\
- \refKey{/mermap/supply/north},\\
- \refKey{/mermap/supply/south},\\
+ \refKey{mermap/supply/west},\\
+ \refKey{mermap/supply/east},\\
+ \refKey{mermap/supply/north},\\
+ \refKey{mermap/supply/south},\\
map dimensions\\
- \refKey{/mermap/supply/width},\\
- \refKey{/mermap/supply/height},\\
- and alignment \refKey{/mermap/supply/align}.
+ \refKey{mermap/supply/width},\\
+ \refKey{mermap/supply/height},\\
+ and alignment \refKey{mermap/supply/align}.
\item\docValue{boundaries}: \flqq map with boundaries\frqq\\
The map is constructed from given boundaries\\
- \refKey{/mermap/supply/west},\\
- \refKey{/mermap/supply/east},\\
- \refKey{/mermap/supply/north},\\
- \refKey{/mermap/supply/south},\\
- and zoom level \refKey{/mermap/supply/zoom}.
+ \refKey{mermap/supply/west},\\
+ \refKey{mermap/supply/east},\\
+ \refKey{mermap/supply/north},\\
+ \refKey{mermap/supply/south},\\
+ and zoom level \refKey{mermap/supply/zoom}.
\end{itemize}
\end{docMrcKey}
@@ -229,25 +229,25 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{north}{=\meta{setup north latitude}}{no default, initially |50|}
Northern latitude degree, possibly negative for the southern hemisphere,
- lower than $90$ but always larger than \refKey{/mermap/supply/south}.
+ lower than $90$ but always larger than \refKey{mermap/supply/south}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{south}{=\meta{setup south latitude}}{no default, initially |48|}
Southern latitude degree, possibly negative for the southern hemisphere,
- larger than $-90$ but always lower than \refKey{/mermap/supply/north}.
+ larger than $-90$ but always lower than \refKey{mermap/supply/north}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{west}{=\meta{setup west longitude}}{no default, initially |11|}
Western longitude degree, possibly negative for the western hemisphere,
- possibly shifted periodically, but always lower than \refKey{/mermap/supply/east}.
+ possibly shifted periodically, but always lower than \refKey{mermap/supply/east}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{east}{=\meta{setup east longitude}}{no default, initially |13|}
Eastern longitude degree, possibly negative for the western hemisphere,
- possibly shifted periodically, but always larger than \refKey{/mermap/supply/west}.
+ possibly shifted periodically, but always larger than \refKey{mermap/supply/west}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
@@ -262,19 +262,19 @@ accompanying Python script. The technical background is documented in
{ doc name = add area },
}
Sets
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
according to the given \meta{comma separated list of named positions}, i.e.
the described area contains all these positions.\\
- \refKey{/mermap/supply/area} resets the current area which requires
+ \refKey{mermap/supply/area} resets the current area which requires
at least two points inside the list.\\
- \refKey{/mermap/supply/add area} does not reset the current area,
+ \refKey{mermap/supply/add area} does not reset the current area,
i.e. the positions are added to the
current area which possibly grows to fit all positions.\\
Also note to take special care, if the international dateline is on your
resulting map, see \Fullref{sec:dateline}.
Used for map types \docValue{boundaries} and \docValue{areafit}
- or in combination with \refKey{/mermap/supply/area to reference} also
+ or in combination with \refKey{mermap/supply/area to reference} also
for for map type \docValue{reference}.
\end{docMrcKeys}
@@ -290,19 +290,19 @@ accompanying Python script. The technical background is documented in
{ doc name = add area from marker input },
}
Sets
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
according to the given \refCom{mrcmarker} positions contained in a
file with the given \meta{file name}.\\
- \refKey{/mermap/supply/area from marker input} resets the current area which requires
+ \refKey{mermap/supply/area from marker input} resets the current area which requires
at least two marker positions inside the file.\\
- \refKey{/mermap/supply/add area from marker input} does not reset the current area,
+ \refKey{mermap/supply/add area from marker input} does not reset the current area,
i.e. the positions are added to the
current area which possibly grows to fit all positions.\\
Also note to take special care, if the international dateline is on your
resulting map, see \Fullref{sec:dateline}.
Used for map types \docValue{boundaries} and \docValue{areafit}
- or in combination with \refKey{/mermap/supply/area to reference} also
+ or in combination with \refKey{mermap/supply/area to reference} also
for for map type \docValue{reference}.
\end{docMrcKeys}
@@ -310,10 +310,10 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{area to reference}{}{no value, initially unset}
The map settings
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
are taken to compute the map center. This center position is saved
- to \refKey{/mermap/supply/latitude} and \refKey{/mermap/supply/longitude}.
+ to \refKey{mermap/supply/latitude} and \refKey{mermap/supply/longitude}.
Used for map type \docValue{reference}.
\end{docMrcKey}
@@ -352,8 +352,8 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{tex width}{=\meta{width}}{style, no default}
Width of the map as \TeX\ dimension.
- This is a style to compute \refKey{/mermap/supply/width} according to
- the current \refKey{/mermap/tile size}.
+ This is a style to compute \refKey{mermap/supply/width} according to
+ the current \refKey{mermap/tile size}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{height}{=\meta{setup height in tiles}}{no default, initially |4|}
@@ -363,8 +363,8 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{tex height}{=\meta{width}}{style, no default}
Height of the map as \TeX\ dimension.
- This is a style to compute \refKey{/mermap/supply/height} according to
- the current \refKey{/mermap/tile size}.
+ This is a style to compute \refKey{mermap/supply/height} according to
+ the current \refKey{mermap/tile size}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{align}{=\meta{setup alignment}}{no default, initially |center|}
@@ -379,12 +379,12 @@ accompanying Python script. The technical background is documented in
\begin{itemize}
\item\docValue{none}: No tiles are downloaded and no merged map is generated, just map computation.
This is the fastest method and needs no tile supplier.
- \item\docValue{tiles}: Download map tiles from a tile map service (TMS) \refKey{/mermap/supply/url}.
+ \item\docValue{tiles}: Download map tiles from a tile map service (TMS) \refKey{mermap/supply/url}.
Compilation of a document with map tile takes longer than compilation
with a merged map and transparency should not be used with tiles,
but the resulting document is smaller than a document with merged maps.
\item\docValue{mergedmap}: Download map tiles from a tile map service (TMS)
- \refKey{/mermap/supply/url} and merge them into a single map picture.
+ \refKey{mermap/supply/url} and merge them into a single map picture.
This speeds compilation and allows transparency effects, but
the resulting document is possibly larger than a document with map tiles,
because map tiles often are optimized 8-bit image files while the merged
@@ -394,7 +394,7 @@ accompanying Python script. The technical background is documented in
may differ (shift/size) from the more accurate tile representation by
one pixel.
\item\docValue{wmsmap}: Download a single map from a web map service (WMS)
- \refKey{/mermap/supply/url}. Internally, the package treats a WMS like
+ \refKey{mermap/supply/url}. Internally, the package treats a WMS like
a tile map service including all tile calculations. Actually, a single
file is downloaded.
\end{itemize}
@@ -404,7 +404,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[][doc new=2020-08-06]{fail on missing resource}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
If set to |true|, compilation stops with an error, if
- \refKey{/mermap/supply/target} and \refKey{/mermap/mapdef/resource} are different.
+ \refKey{mermap/supply/target} and \refKey{mermap/mapdef/resource} are different.
Typically, this means that something went wrong while trying to download
map tiles. Set this option temporarily to |false|,
if the map tile service or the internet
@@ -427,7 +427,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{url with api key}{=\marg{prefix}\marg{name}\marg{postfix}}{no default}
- This is an alternative version of \refKey{/mermap/supply/url}.
+ This is an alternative version of \refKey{mermap/supply/url}.
The URL is constructed from some fixed \meta{prefix} and \meta{postfix} with
an API key in between. The API key is retrieved by \meta{name} from a
repository filled by \refCom{mrcsetapikey}.
@@ -442,7 +442,7 @@ accompanying Python script. The technical background is documented in
Stores an API key \meta{value} for access with the given \meta{name}.
Typically, \meta{value} is a received ID from a map tile service provider
after personal registration. \meta{name} is a placeholder which is used
- inside \refKey{/mermap/supply/url with api key} to mark the insertion
+ inside \refKey{mermap/supply/url with api key} to mark the insertion
point for the API key.
\begin{dispListing}
\mrcsetapikey{myservice}{....K942XY....}
@@ -454,7 +454,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{attribution}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source. Typically, it acknowledges the copyright
of the map data provider. It may contain hyperlinks.
- It is used to set up \refKey{/mermap/mapdef/attribution} afterwards
+ It is used to set up \refKey{mermap/mapdef/attribution} afterwards
and it is accessible as \docAuxCommand{mrcmapattribution} (use read-only).\par
For technical reasons, do not use \verb+"+. \docAuxCommand{mrcumlaut}
may be used for masking umlauts, e.g. use \verb+\mrcumlaut{u}+ instead of
@@ -463,9 +463,9 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{attribution print}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source.
- In contrast to \refKey{/mermap/supply/attribution} it is intended for media
+ In contrast to \refKey{mermap/supply/attribution} it is intended for media
that does not support hyperlinks like printed posters, books, etc.
- It is used to set up \refKey{/mermap/mapdef/attribution print} afterwards
+ It is used to set up \refKey{mermap/mapdef/attribution print} afterwards
and it is accessible as \docAuxCommand{mrcmapattributionprint} (use read-only).
\end{docMrcKey}
@@ -477,10 +477,10 @@ accompanying Python script. The technical background is documented in
\clearpage
\begin{docMrcKey}[supply]{flex reference scale}{=\meta{scale denominator}}{no default}
- With the given \meta{scale denominator}, an appropriate \refKey{/mermap/supply/zoom}
- and \refKey{/mermap/tile size} is computed. Note that
+ With the given \meta{scale denominator}, an appropriate \refKey{mermap/supply/zoom}
+ and \refKey{mermap/tile size} is computed. Note that
the \meta{scale denominator}
- always applies to the current \refKey{/mermap/supply/latitude}
+ always applies to the current \refKey{mermap/supply/latitude}
and is used for map type \docValue{boundaries} and \docValue{reference}.
For example, if the reference point is on the north side of the map,
also the \meta{scale denominator}
@@ -489,16 +489,16 @@ accompanying Python script. The technical background is documented in
Note to take special care to the order of the options.
\begin{itemize}
\item The reference point has to be set \emph{before}
- \refKey{/mermap/supply/flex reference scale}, e.g. by
- \refKey{/mermap/supply/latitude}, \refKey{/mermap/supply/position},
- \refKey{/mermap/supply/named position}.
- \item \refKey{/mermap/supply/tex height}, \refKey{/mermap/supply/tex width}
+ \refKey{mermap/supply/flex reference scale}, e.g. by
+ \refKey{mermap/supply/latitude}, \refKey{mermap/supply/position},
+ \refKey{mermap/supply/named position}.
+ \item \refKey{mermap/supply/tex height}, \refKey{mermap/supply/tex width}
(only for map type \docValue{reference})
- have to be set \emph{after} \refKey{/mermap/supply/flex reference scale},
- because the \refKey{/mermap/tile size} is adapted.
+ have to be set \emph{after} \refKey{mermap/supply/flex reference scale},
+ because the \refKey{mermap/tile size} is adapted.
\end{itemize}
- Also see \refKey{/mermap/flex tile size}, \refKey{/mermap/flex zoom},
- and \refKey{/mermap/flex scale}.
+ Also see \refKey{mermap/flex tile size}, \refKey{mermap/flex zoom},
+ and \refKey{mermap/flex scale}.
\tikzsetnextfilename{maptiles_flex_reference_scale}%
\begin{dispExample}
\begin{tikzpicture}
@@ -519,17 +519,17 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{flex area scale}{=\meta{scale denominator}}{no default}
- This is a shortcut for setting \refKey{/mermap/supply/area to reference}
- and \refKey{/mermap/supply/flex reference scale}=\meta{scale denominator}.
+ This is a shortcut for setting \refKey{mermap/supply/area to reference}
+ and \refKey{mermap/supply/flex reference scale}=\meta{scale denominator}.
Used for map type \docValue{boundaries} and \docValue{reference}.
Note to take special care to the order of the options.
\begin{itemize}
\item The reference point has to be set \emph{before}
- \refKey{/mermap/supply/flex area scale}.
- \item \refKey{/mermap/supply/tex height}, \refKey{/mermap/supply/tex width}
+ \refKey{mermap/supply/flex area scale}.
+ \item \refKey{mermap/supply/tex height}, \refKey{mermap/supply/tex width}
(only for map type \docValue{reference})
- have to be set \emph{after} \refKey{/mermap/supply/flex reference scale}.
+ have to be set \emph{after} \refKey{mermap/supply/flex reference scale}.
\end{itemize}
\end{docMrcKey}
@@ -538,13 +538,13 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{flex area fit}{\colOpt{=\meta{size}}}{default |0pt|}
This key can be used for map type \docValue{areafit} as \emph{final}
option \emph{after} all other options.
- It applies a fine tuning to \refKey{/mermap/tile size},
- \refKey{/mermap/supply/width}, and \refKey{/mermap/supply/height} such
+ It applies a fine tuning to \refKey{mermap/tile size},
+ \refKey{mermap/supply/width}, and \refKey{mermap/supply/height} such
that the defined area fits exactly into the map region.
If a \meta{size} is specified, width and height are reduced for the
calculation by this \meta{size}, e.g. \meta{size}|=1cm| ensures a
border of |5mm| on each side.
- Also see \refKey{/mermap/flex tile size} and \refKey{/mermap/flex zoom}.
+ Also see \refKey{mermap/flex tile size} and \refKey{mermap/flex zoom}.
\tikzsetnextfilename{maptiles_flex_area_fit}%
\begin{dispExample}
@@ -580,24 +580,24 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{dpi}{=\meta{dpi value}}{style, no default}
- This style sets \refKey{/mermap/supply/pixel} such that the given \meta{dpi value}
+ This style sets \refKey{mermap/supply/pixel} such that the given \meta{dpi value}
is resulting (approximately).
\begin{itemize}
\item Note that this only applies for WMS Servers and not for
TMS (Tile Map Service) Servers,
- because there \refKey{/mermap/supply/pixel} is a fixed number depending on
+ because there \refKey{mermap/supply/pixel} is a fixed number depending on
Server settings and cannot be chosen arbitrarily.
\item A high \meta{dpi value} results in large downloaded map files.
If the server does not provide a high resolution map, you will get
unnecessary large files with blurred content.
\item The \meta{dpi value} for TMS data can be changed by adapting
- \refKey{/mermap/tile size} or \refKey{/mermap/flex tile size}.
+ \refKey{mermap/tile size} or \refKey{mermap/flex tile size}.
\end{itemize}
\tikzsetnextfilename{maptiles_dpi_value}
\begin{dispExample}
\begin{tikzpicture}
- \mrcmap[type=reference,latitude=48.14,longitude=11.57,
+ \mrcmap[type=reference,latitude=48.14,longitude=11.57,
flex reference scale=250000,
source=topplusopen p250, target=wmsmap, dpi=300,
tex width=\linewidth,tex height=5cm]{dpi_value}
@@ -654,7 +654,7 @@ map data is free for everyone to use.
\textbf{But, map tile servers based on OpenStreetMap are not necessarily free}.
A list of online raster tile servers based on OpenStreetMap data is found here:\\
-\url{https://wiki.openstreetmap.org/wiki/Tile_servers}
+\url{https://wiki.openstreetmap.org/wiki/Raster_tile_providers}
\begin{itemize}
\item\bfseries I do not run a map tile server.
@@ -681,8 +681,8 @@ want to add more to avoid any legal uncertainties.
\medskip
\begin{docMrcKey}[supply]{source}{=\meta{source}}{style, no default}
- This style sets \refKey{/mermap/supply/url}, \refKey{/mermap/supply/attribution},\\
- \refKey{/mermap/supply/attribution print} and \refKey{/mermap/supply/basename}.\\
+ This style sets \refKey{mermap/supply/url}, \refKey{mermap/supply/attribution},\\
+ \refKey{mermap/supply/attribution print} and \refKey{mermap/supply/basename}.\\
Feasible values for \meta{source} are:
%\mermapset{tile size=3.2512cm}
\newcommand{\mapexample}[3][]{%
@@ -690,10 +690,10 @@ want to add more to avoid any legal uncertainties.
\mermapset{supply/source=#2}%
\begin{itemize}
\item Required attribution (\docAuxCommand{mrcmapattribution}):
- \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left]
+ \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left,before skip=2pt]
\mrcmapattribution\end{tcolorbox}
\item Required attribution for media without hyperlinks (\docAuxCommand{mrcmapattributionprint}):
- \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left]
+ \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left,before skip=2pt]
\mrcmapattributionprint\end{tcolorbox}
%\par\smallskip\
\end{itemize}
@@ -713,71 +713,13 @@ want to add more to avoid any legal uncertainties.
Dummy tile server at loopback |127.0.0.1| for test purposes.
\item\docValue{opentopomap}:\\
- Tile server (TMS) of \href{http://opentopomap.org/}{OpenTopoMap}.
+ Tile server (TMS) of \href{https://opentopomap.org/}{OpenTopoMap}.
\begin{itemize}
\item Usage (German language): \url{https://opentopomap.org/about#verwendung}
\end{itemize}
\mapexample{opentopomap}{opentopomap}
\clearpage
- \item\docValue{stamen terrain}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain}
- \mapexample{stamen terrain}{stamen_terrain}
-
- \item\docValue{stamen terrain-background}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-background}
- \mapexample{stamen terrain-background}{stamen_terrain-background}
-
- \item\docValue{stamen terrain-labels}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-labels}
- \mapexample{stamen terrain-labels}{stamen_terrain-labels}
-
-\clearpage
- \item\docValue{stamen terrain-lines}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-lines}
- \mapexample{stamen terrain-lines}{stamen_terrain-lines}
-
- \item\docValue{stamen toner}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner}
- \mapexample{stamen toner}{stamen_toner}
-
- \item\docValue{stamen toner-lite}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-lite}
- \mapexample{stamen toner-lite}{stamen_toner-lite}
-
-\clearpage
- \item\docValue{stamen toner-hybrid}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-hybrid}
- \mapexample{stamen toner-hybrid}{stamen_toner-hybrid}
-
- \item\docValue{stamen toner-background}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-background}
- \mapexample{stamen toner-background}{stamen_toner-background}
-
- \item\docValue{stamen toner-labels}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-labels}
- \mapexample{stamen toner-labels}{stamen_toner-labels}
-
-\clearpage
- \item\docValue{stamen toner-lines}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-lines}
- \mapexample{stamen toner-lines}{stamen_toner-lines}
-
- \item\docValue{stamen watercolor}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#watercolor}
- \mapexample{stamen watercolor}{stamen_watercolor}
-
\item\docValue{thunderforest opencyclemap}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -789,7 +731,6 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest opencyclemap}{thunderforest_opencyclemap}
-\clearpage
\item\docValue{thunderforest transport}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -812,6 +753,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest landscape}{thunderforest_landscape}
+\clearpage
\item\docValue{thunderforest outdoors}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -823,7 +765,17 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest outdoors}{thunderforest_outdoors}
-\clearpage
+ \item\docValue{thunderforest atlas}:\tcbdocmarginnote{\tcbdocnew{2024-07-29}}\\
+ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
+ A registered \meta{api-key} is needed (free plan available)
+ which is applied by\\
+ \refCom{mrcsetapikey}\brackets{\docValue{thunderforest}}\marg{api-key}.
+ \begin{itemize}
+ \item Usage: \url{https://www.thunderforest.com/terms}
+ \item API documentation: \url{https://www.thunderforest.com/maps/atlas}
+ \end{itemize}
+ \mapexample{thunderforest atlas}{thunderforest_atlas}
+
\item\docValue{thunderforest transport-dark}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -835,6 +787,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest transport-dark}{thunderforest_transport-dark}
+\clearpage
\item\docValue{thunderforest spinal-map}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -857,7 +810,6 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest pioneer}{thunderforest_pioneer}
-\clearpage
\item\docValue{thunderforest mobile-atlas}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -869,6 +821,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest mobile-atlas}{thunderforest_mobile-atlas}
+\clearpage
\item\docValue{thunderforest neighbourhood}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -880,31 +833,49 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest neighbourhood}{thunderforest_neighbourhood}
-\clearpage
\item\docValue{topplusopen web}:\\
- Tile server (TMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item Covers world / Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample{topplusopen web}{topplusopen_web}
\item\docValue{topplusopen web grau}:\\
- Tile server (TMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item Covers world / Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample{topplusopen web grau}{topplusopen_web_grau}
+\clearpage
+ \item\docValue{topplusopen web light}:\tcbdocmarginnote{\tcbdocnew{2024-07-29}}\\
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ \begin{itemize}
+ \item Covers world / Europe / Germany depending on zoom level
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
+ \end{itemize}
+ \mapexample{topplusopen web light}{topplusopen_web_light}
+
+ \item\docValue{topplusopen web light grau}\tcbdocmarginnote{\tcbdocnew{2024-07-29}}:\\
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ \begin{itemize}
+ \item Covers world / Europe / Germany depending on zoom level
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
+ \end{itemize}
+ \mapexample{topplusopen web light grau}{topplusopen_web_light_grau}
+
\end{itemize}
-\clearpage
+
+\vfill
\begin{tcolorbox}[spartan,colback=white]
The following sources are Web map server (WMS). Therefore,
-\refKey{/mermap/supply/target} can only be set to \docValue{wmsmap}
+\refKey{mermap/supply/target} can only be set to \docValue{wmsmap}
or \docValue{none}.
\end{tcolorbox}
+\clearpage
\begingroup
\ExplSyntaxOn
@@ -928,19 +899,19 @@ or \docValue{none}.
{
\cleanstep
\item\docValue{topplusopen \name}:\\
- Web map server (WMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Web map server (WMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item 1:\scdenom, covers Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample[target=wmsmap]{topplusopen \name}{topplusopen_\name}
\cleanstep
\item\docValue{topplusopen \name\ grau}:\\
- Web map server (WMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Web map server (WMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item 1:\scdenom, covers Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\def\grau{ grau}%
\mapexample[target=wmsmap]{topplusopen \name\grau}{topplusopen_\name_grau}
@@ -954,16 +925,16 @@ or \docValue{none}.
\begin{docCommand}{mrcnewsupplysource}{\marg{source}\marg{options}}
- Adds a new \meta{source} value to \refKey{/mermap/supply/source}.
+ Adds a new \meta{source} value to \refKey{mermap/supply/source}.
The \meta{options} should set the keys
- \refKey{/mermap/supply/url}, \refKey{/mermap/supply/attribution},\\
- \refKey{/mermap/supply/attribution print} and \refKey{/mermap/supply/basename}.
+ \refKey{mermap/supply/url}, \refKey{mermap/supply/attribution},\\
+ \refKey{mermap/supply/attribution print} and \refKey{mermap/supply/basename}.
It is recommend to use |x ...| for \meta{source} to avoid conflicts
- with future official additions to \refKey{/mermap/supply/source}.
+ with future official additions to \refKey{mermap/supply/source}.
\begin{dispListing}
\mrcnewsupplysource{x example}
{
- url = http://127.0.0.1/dummy/{z}/{x}/{y}.png,
+ url = https://127.0.0.1/dummy/{z}/{x}/{y}.png,
attribution = {Dummy tile server},
attribution print = {Dummy tile server},
basename = tiles/dummy,
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex
index dcd0e072b86..fb206c339eb 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.marker.tex
@@ -14,8 +14,8 @@ may be helpful which provides some predefined marker types.
\begin{docCommand}{mrcmarker}{\marg{options}}
Places a marker according to the given \meta{options} on the map.
- All \meta{options} share the common prefix |/mermap/marker/|.
- Different \refKey{/mermap/marker/type} settings are available which are
+ All \meta{options} share the common prefix |mermap/marker/|.
+ Different \refKey{mermap/marker/type} settings are available which are
more or less customizable.
\tikzsetnextfilename{marker_mrcmarker}%
@@ -48,8 +48,8 @@ may be helpful which provides some predefined marker types.
\begin{docCommand}{mermapsetmarker}{\marg{options}}
Sets \meta{options} for all following markers inside the current \TeX\ group.
- All options share the common prefix |/mermap/marker/|, e.g. for setting
- \refKey{/mermap/marker/type} use
+ All options share the common prefix |mermap/marker/|, e.g. for setting
+ \refKey{mermap/marker/type} use
\begin{dispListing}
\mermapsetmarker{type=pin}
\end{dispListing}
@@ -74,7 +74,7 @@ may be helpful which provides some predefined marker types.
\end{docMrcKey}
\begin{docMrcKey}[marker]{lat}{=\meta{latitude}}{no default, initially |12|}
- Alias for \refKey{/mermap/marker/latitude}.
+ Alias for \refKey{mermap/marker/latitude}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{longitude}{=\meta{longitude}}{no default, initially |49|}
@@ -83,7 +83,7 @@ may be helpful which provides some predefined marker types.
\end{docMrcKey}
\begin{docMrcKey}[marker]{lon}{=\meta{longitude}}{no default, initially |49|}
- Alias for \refKey{/mermap/marker/longitude}.
+ Alias for \refKey{mermap/marker/longitude}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{position}{=\meta{place latitude}:\meta{place longitude}}{no default, initially |12:49|}
@@ -100,7 +100,7 @@ may be helpful which provides some predefined marker types.
given \meta{area}. Feasible values for \meta{area} are:
\begin{itemize}
\item\docValue{map}: Use inside map.
- \item\docValue{vicinity}: Use inside map plus vicinity, see \refKey{/mermap/vicinity}.
+ \item\docValue{vicinity}: Use inside map plus vicinity, see \refKey{mermap/vicinity}.
\end{itemize}
\end{docMrcKey}
@@ -157,36 +157,36 @@ may be helpful which provides some predefined marker types.
\begin{docMrcKey}[marker]{hide}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the marker is not used.
- \refKey{/mermap/marker/hide} is inverse to \refKey{/mermap/marker/show}.
+ \refKey{mermap/marker/hide} is inverse to \refKey{mermap/marker/show}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{show category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |true|, if \refKey{/mermap/marker/category} equals \meta{category}.
+ Sets \refKey{mermap/marker/show} to |true|, if \refKey{mermap/marker/category} equals \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{show all but category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |true|, if \refKey{/mermap/marker/category} does not equal \meta{category}.
+ Sets \refKey{mermap/marker/show} to |true|, if \refKey{mermap/marker/category} does not equal \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{hide category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |false|, if \refKey{/mermap/marker/category} equals \meta{category}.
+ Sets \refKey{mermap/marker/show} to |false|, if \refKey{mermap/marker/category} equals \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{hide all but category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |false|, if \refKey{/mermap/marker/category} does not equal \meta{category}.
+ Sets \refKey{mermap/marker/show} to |false|, if \refKey{mermap/marker/category} does not equal \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\tikzsetnextfilename{marker_hide}%
\begin{dispExample}
\begin{tikzpicture}
@@ -206,10 +206,10 @@ may be helpful which provides some predefined marker types.
\clearpage
The following options require the package |hyperref| to be loaded.
-If |hyperref| is not loaded, \refKey{/mermap/marker/url} and
-\refKey{/mermap/marker/link} are ignored.\\
-Note that if \refKey{/mermap/marker/url} and \refKey{/mermap/marker/link}
-are applied concurrently, then \refKey{/mermap/marker/link} will win.
+If |hyperref| is not loaded, \refKey{mermap/marker/url} and
+\refKey{mermap/marker/link} are ignored.\\
+Note that if \refKey{mermap/marker/url} and \refKey{mermap/marker/link}
+are applied concurrently, then \refKey{mermap/marker/link} will win.
\begin{docMrcKeys}[
@@ -279,9 +279,9 @@ are applied concurrently, then \refKey{/mermap/marker/link} will win.
doc description = {default |true|, initially |false|},
},
}
- If \refKey{/mermap/marker/use urls} is set to |false|, external links
- with \refKey{/mermap/marker/url} are ignored.\\
- \refKey{/mermap/marker/ignore urls} is inverse to \refKey{/mermap/marker/use urls}.
+ If \refKey{mermap/marker/use urls} is set to |false|, external links
+ with \refKey{mermap/marker/url} are ignored.\\
+ \refKey{mermap/marker/ignore urls} is inverse to \refKey{mermap/marker/use urls}.
\end{docMrcKeys}
@@ -299,9 +299,9 @@ are applied concurrently, then \refKey{/mermap/marker/link} will win.
doc description = {default |true|, initially |false|},
},
}
- If \refKey{/mermap/marker/use links} is set to |false|, internal links
- with \refKey{/mermap/marker/link} are ignored.\\
- \refKey{/mermap/marker/ignore links} is inverse to \refKey{/mermap/marker/use links}.
+ If \refKey{mermap/marker/use links} is set to |false|, internal links
+ with \refKey{mermap/marker/link} are ignored.\\
+ \refKey{mermap/marker/ignore links} is inverse to \refKey{mermap/marker/use links}.
\end{docMrcKeys}
@@ -596,7 +596,7 @@ The different marker types can be customized by some additional options:
\subsection{New Marker Types}
\begin{docCommand}{mrcnewmarkertype}{\marg{type name}\marg{\tikzname\ code}}
- Creates a new \refKey{/mermap/marker/type} value \meta{type name} using the
+ Creates a new \refKey{mermap/marker/type} value \meta{type name} using the
given \meta{\tikzname\ code} for drawing a place marker.
To avoid future name clashes, you should start a private \meta{type name}
with letter |x|. For \meta{\tikzname\ code} settings like
@@ -630,9 +630,9 @@ The different marker types can be customized by some additional options:
\subsection{New Marker Styles}
\begin{docCommand}{mrcnewmarkerstyle}{\marg{style name}\marg{options}}
- Creates a new \refKey{/mermap/marker/style} value \meta{style name} using the
+ Creates a new \refKey{mermap/marker/style} value \meta{style name} using the
given \meta{options} for drawing a place marker.
- All \meta{options} share the common prefix |/mermap/marker/|. Here, a \emph{style}
+ All \meta{options} share the common prefix |mermap/marker/|. Here, a \emph{style}
has the same concept as a \tikzname\ style.
\tikzsetnextfilename{marker_markerstyle}%
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex
index cddb277c86b..6f9620fae0c 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.orthodromes.tex
@@ -26,7 +26,7 @@ The mathematical background and further information are found in \cite{Sturm:202
\begin{docTikzKey}{mermap samples}{=\meta{number}}{style, no default}
- \tikzname\ variant to set \refKey{/mermap/samples}.
+ \tikzname\ variant to set \refKey{mermap/samples}.
\end{docTikzKey}
\enlargethispage*{1cm}
@@ -56,7 +56,7 @@ The mathematical background and further information are found in \cite{Sturm:202
\mrcclipmap
\draw (mrcmap.south west) rectangle (mrcmap.north east);
\mrcdraworthodrome[red,very thick,mermap samples=100]
- {48.14}{11.58}{40.71}{-74.01}
+ {48.14}{11.58}{40.71}{-74.01}
\node[red,fill=white] at ([above=1.3cm]mrcmap) {
\mrcprettyorthodistance{48.14}{11.58}{40.71}{-74.01} };
\end{tikzpicture}
@@ -99,6 +99,120 @@ The mathematical background and further information are found in \cite{Sturm:202
\clearpage
%-------------------------------------------------------------------------------
+\subsection{Orthodrome Points}
+
+\begin{docCommands}[
+ ]{
+ {
+ doc new and updated = {2024-08-01}{2024-08-05},
+ doc name = mrcNPfromOrthoFraction,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}\marg{fraction},
+ },
+ {
+ doc name = mrcNPfromOrthoFractionNamed,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{name1}\marg{name2}\marg{fraction},
+ },
+ }
+ Defines a new named position \meta{name} which is located on a \meta{fraction}
+ from the starting point of the orthodromic curve
+ from a point with
+ latitude \meta{lat1} and longitude \meta{lon1} (or described by a named position \meta{name1})
+ to a point with
+ latitude \meta{lat2} and longitude \meta{lon2} (or described by a named position \meta{name2}).
+ The given starting and final point of the orthodrome need to have a distance of more than
+ \SI{1}{\meter}.
+ If \meta{\textbackslash angle} is given, this macro is set to the
+ angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+
+\tikzsetnextfilename{ortho_orthodrome3}%
+\begin{dispExample}
+ \begin{tikzpicture}
+ \mrcNPdef{munich}{48.14}{11.58}
+ \mrcNPdef{newyork}{40.71}{-74.01}
+ \mrcmap[type=areafit, area={munich,newyork},
+ source=topplusopen web,
+ tex width=\linewidth,tex height=6cm,
+ ]{ortho_orthodrome3}
+ \mrcdrawmap
+ \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south)
+ {\mrcmapattribution};
+ \mrcclipmap
+ \draw (mrcmap.south west) rectangle (mrcmap.north east);
+ \mrcmarker{type=pin,named position=munich,contents={M\"unchen}}
+ \mrcmarker{type=pinflip,shift=5mm,named position=newyork,
+ contents={New York City}}
+ \mrcNPdraworthodrome[red,very thick] {munich}{newyork}
+ \foreach \fraction in { 0.1,0.3,0.5,0.7,1.0,1.1 }
+ {
+ \mrcNPfromOrthoFractionNamed{waypoint}[\myangle]
+ {munich}{newyork}{\fraction}
+ \mrcmarker{type=pin,named position=waypoint,
+ contents={\fraction: \fpeval{round(\myangle)}\textdegree }}
+ }
+ \end{tikzpicture}
+\end{dispExample}
+\end{docCommands}
+
+\clearpage
+
+\begin{docCommands}[
+ ]{
+ {
+ doc new and updated = {2024-08-01}{2024-08-05},
+ doc name = mrcNPfromOrthoDistance,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}\marg{distance},
+ },
+ {
+ doc name = mrcNPfromOrthoDistanceNamed,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{name1}\marg{name2}\marg{distance},
+ },
+ }
+ Defines a new named position \meta{name} which is located on a \meta{distance}
+ from the starting point of the orthodromic curve
+ from a point with
+ latitude \meta{lat1} and longitude \meta{lon1} (or described by a named position \meta{name1})
+ to a point with
+ latitude \meta{lat2} and longitude \meta{lon2} (or described by a named position \meta{name2}).
+ The given starting and final point of the orthodrome need to have a distance of more than
+ \SI{1}{\meter}. The unit for the \meta{distance} is kilometer.
+ If \meta{\textbackslash angle} is given, this macro is set to the
+ angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+
+\tikzsetnextfilename{ortho_orthodrome4}%
+\begin{dispExample}
+ \begin{tikzpicture}
+ \mrcNPdef{munich}{48.14}{11.58}
+ \mrcNPdef{newyork}{40.71}{-74.01}
+ \mrcmap[type=areafit, area={munich,newyork},
+ source=topplusopen web,
+ tex width=\linewidth,tex height=6cm,
+ ]{ortho_orthodrome4}
+ \mrcdrawmap
+ \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south)
+ {\mrcmapattribution};
+ \mrcclipmap
+ \draw (mrcmap.south west) rectangle (mrcmap.north east);
+ \mrcmarker{type=pin,named position=munich,contents={M\"unchen}}
+ \mrcmarker{type=pinflip,shift=5mm,named position=newyork,
+ contents={New York City}}
+ \mrcNPdraworthodrome[red,very thick] {munich}{newyork}
+ \foreach \distance in { 1000,2000,3000,4000,5000,6000 }
+ {
+ \mrcNPfromOrthoDistanceNamed{waypoint}{munich}{newyork}{\distance}
+ \mrcmarker{type=pin,named position=waypoint,
+ contents={\SI{\distance}{\kilo\meter}}}
+ }
+ \end{tikzpicture}
+\end{dispExample}
+\end{docCommands}
+
+
+
+
+\clearpage
+%-------------------------------------------------------------------------------
\subsection{Orthodromic and Loxodromic Distances}
\begin{docCommand}{mrcprettyorthodistance}{\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}}
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex
index 6efc4fe0d09..9e210c2a240 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.scales.tex
@@ -164,7 +164,7 @@ but not for critical navigation purposes etc.
\begin{docCommand}{mrcdrawscalebar}{\oarg{options}}
Draws a scale bar according to the given \meta{options}.
- All \meta{options} share the common prefix |/mermap/scalebar/|.
+ All \meta{options} share the common prefix |mermap/scalebar/|.
The most essential option is the \emph{width} of the scale bar.
\tikzsetnextfilename{scales_scalebar1}
@@ -216,7 +216,7 @@ but not for critical navigation purposes etc.
\end{docMrcKey}
\begin{docMrcKey}[scalebar]{width-in-kilometer}{=\meta{number}}{no default, initially |0|}
- Alias for \refKey{/mermap/scalebar/width-in-km}
+ Alias for \refKey{mermap/scalebar/width-in-km}
\end{docMrcKey}
\begin{docMrcKey}[scalebar]{width-in-meter}{=\meta{number}}{no default, initially |0|}
@@ -247,7 +247,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{at}{=\marg{\tikzname\ coordinate}}{no default,
initially \texttt{\brackets{(0,0)}}}
The scale bar is positioned at the given \meta{\tikzname\ coordinate}.
- The placement is done with the \refKey{/mermap/scalebar/placement} option.
+ The placement is done with the \refKey{mermap/scalebar/placement} option.
Both option correspond to the \tikzname\ options for positioning nodes.
The scale bar can be positioned outside the map (e.g. below), but
remember to use \refCom{mrcclipmap} \emph{after} the scale bar
@@ -285,7 +285,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{placement}{=\meta{\tikzname\ positioning}}{no default, initially empty}
\meta{\tikzname\ positioning} of a scale bar in combination with
- \refKey{/mermap/scalebar/at}. All \tikzname\ placement options for nodes
+ \refKey{mermap/scalebar/at}. All \tikzname\ placement options for nodes
can be used, e.g. \texttt{above left} or \texttt{anchor=mid west}, etc.
Actually, \emph{any} node option could be applied here, but the intended use
is for placement options only.
@@ -298,7 +298,7 @@ but not for critical navigation purposes etc.
absolute shift values in each direction, i.e. the algebraic sign is
automatically complemented.
If only \meta{x shift} is given, then \meta{y shift} is set
- to the same value. \refKey{/mermap/scalebar/at} and \refKey{/mermap/scalebar/placement}
+ to the same value. \refKey{mermap/scalebar/at} and \refKey{mermap/scalebar/placement}
are set by this option.
\end{docMrcKey}
@@ -349,8 +349,8 @@ but not for critical navigation purposes etc.
The \emph{minor} part of the scale bar is a single \tikzname\ path object
which can be customized by the given \meta{\tikzname\ options}.
The \emph{minor} part is seen as holes in the default case.
- \refKey{/mermap/scalebar/minor style} has only an effect, if
- the minor part is drawn \refKey{/mermap/scalebar/solid}.
+ \refKey{mermap/scalebar/minor style} has only an effect, if
+ the minor part is drawn \refKey{mermap/scalebar/solid}.
\tikzsetnextfilename{scales_scalebar5}
\begin{dispExample}
\begin{tikzpicture}
@@ -369,7 +369,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{single}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the scale bar is drawn as a single ruler.
- \refKey{/mermap/scalebar/single} is inverse to \refKey{/mermap/scalebar/double}.
+ \refKey{mermap/scalebar/single} is inverse to \refKey{mermap/scalebar/double}.
\tikzsetnextfilename{scales_scalebar6}
\begin{dispExample}
\begin{tikzpicture}
@@ -387,8 +387,8 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{solid}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the \emph{minor} part of the scale bar is drawn opaque.
- It is drawn white or according to \refKey{/mermap/scalebar/minor style}.
- \refKey{/mermap/scalebar/solid} is inverse to \refKey{/mermap/scalebar/transparent}.
+ It is drawn white or according to \refKey{mermap/scalebar/minor style}.
+ \refKey{mermap/scalebar/solid} is inverse to \refKey{mermap/scalebar/transparent}.
\end{docMrcKey}
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty
index 80b38241ce2..95b45544d7e 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.sty
@@ -4,10 +4,9 @@
\renewcommand*\l@subsubsection{\@dottedtocline{3}{4.2em}{3.2em}}
\RequirePackage[T1]{fontenc}
-\RequirePackage[utf8]{inputenc}
\RequirePackage[english]{babel}
\RequirePackage{lmodern,parskip,array}
-\RequirePackage[svgnames,table,hyperref]{xcolor}
+\RequirePackage[svgnames,table]{xcolor}
\RequirePackage{tikz}
\RequirePackage{varioref}
\RequirePackage[makeindex]{imakeidx}
@@ -31,15 +30,17 @@
\RequirePackage{array,tabularx,booktabs}
\RequirePackage{lipsum}
\RequirePackage[extendedchars,encoding,filenameencoding=utf-8]{grffile}
-\RequirePackage{siunitx,xfp}
+\RequirePackage{xfp}
\RequirePackage{tcolorbox}
-\tcbuselibrary{skins,xparse,minted,breakable,documentation,raster}
+\tcbuselibrary{skins,minted,breakable,documentation,raster}
\providecommand\mrcpkgprefix{}
\RequirePackage{\mrcpkgprefix mercatormap}
\IfFileExists{../private/privatekeys.tex}{\input{../private/privatekeys.tex}}{}
+\RequirePackage{fontawesome5}
+
\RequirePackage{csquotes}
\RequirePackage[%style=authoryear,
style=numeric-comp,
@@ -96,8 +97,8 @@
borderline horizontal={0.3mm}{0pt}{red!50},
#1}{#2}
-\tcbmakedocSubKey{docMrcKey}{mermap}
-\tcbmakedocSubKeys{docMrcKeys}{mermap}
+\tcbmakedocSubKey[doc key prefix=]{docMrcKey}{mermap}
+\tcbmakedocSubKeys[doc key prefix=]{docMrcKeys}{mermap}
\tcbmakedocSubKey{docTikzKey}{tikz}
\def\tikzname{\textup{Ti\textit{k}Z}}
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex
deleted file mode 100644
index bcdf2fd322e..00000000000
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.doc.versionhistory.tex
+++ /dev/null
@@ -1,50 +0,0 @@
-% !TeX root = mercatormap.tex
-% !TeX encoding=UTF-8
-% !TeX spellcheck=en_US
-% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
-\clearpage
-\section{Version History}%
-
-\section*{v1.00 (2020/04/20)}
-\begin{itemize}
-\item Initial public release.
-\end{itemize}
-
-\section*{v1.01 (2020/05/05)}
-\begin{itemize}
-\item Sorting of index key entries fixed for the documentation.
-\item User messages for failed Python script calls are changed from warnings to
- errors to fail fast and to provide more information and hints about
- possible reasons.
-\item New general marker option
- \refKey{/mermap/marker/generic} with corresponding macros
- \docAuxCommand*{mrcmarkergeneric}
- and \docAuxCommand*{l_mermap_marker_generic_tl}. Also, the marker uuid is
- made |expl3| accessible as \docAuxCommand*{l_mermap_marker_uuid_tl}.
-\item New hyper marker options
- \refKey{/mermap/marker/url},
- \refKey{/mermap/marker/link},
- \refKey{/mermap/marker/use urls},
- \refKey{/mermap/marker/ignore urls},
- \refKey{/mermap/marker/use links},
- \refKey{/mermap/marker/ignore links}.
-\end{itemize}
-
-
-\section*{v1.02 (2020/08/06)}
-\begin{itemize}
-\item New options
- \refKey{/mermap/supply/area from marker input} and
- \refKey{/mermap/supply/add area from marker input}
- which allow to fit a map to a given external list of marker positions.
-\item New option \refKey{/mermap/fail on missing resource} to control
- compilation behavior for missing resource files.
-\item Openrouteservice has discontinued mapsurfer tiles since June 2020.\\
- Therefore, \refKey{/mermap/supply/source}=\docValue{openrouteservice mapsurfer}
- is deprecated now. It is not documented any more, but
- for some time it is still available for old documents with
- cached map tiles.
-\item\issuetracker{2}
- New marker option \refKey{/mermap/marker/distance} with corresponding
- macro \docAuxCommand{mrcmarkerdistance}.
-\end{itemize}
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf
index d90d7496174..1c0c7dc3d83 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex
index 882587a3d2a..a904cce2f98 100644
--- a/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex
+++ b/Master/texmf-dist/doc/latex/mercatormap/mercatormap.tex
@@ -2,11 +2,11 @@
% !TeX encoding=UTF-8
% !TeX spellcheck=en_US
%%
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatormap.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -32,8 +32,8 @@
% The following personal API-keys are needed for compilation
% \mrcsetapikey{thunderforest}{YOUR-API-KEY} % registered key
-\def\version{1.02}%
-\def\datum{2020/08/06}%
+\def\version{1.2.0}%
+\def\datum{2024/08/05}%
\mrcactivatescript% activates Python script
@@ -54,9 +54,14 @@
\tikzexternaldisable% for final version
\tcbset{shield externalize}
-\nocite{Sturm:2020,package:tikz,package:xparse,package:siunitx,package:expl3}
+\nocite{Sturm:2020,package:tikz,package:siunitx}
-\pdfsuppresswarningpagegroup=1
+\ExplSyntaxOn
+\cs_if_exist:NT \pdfsuppresswarningpagegroup
+ {
+ \pdfsuppresswarningpagegroup=1
+ }
+\ExplSyntaxOff
%\includeonly{mercatormap.doc.intro}
%\includeonly{mercatormap.doc.examples}
@@ -67,8 +72,8 @@
%\includeonly{mercatormap.doc.marker}
%\includeonly{mercatormap.doc.routes}
%\includeonly{mercatormap.doc.orthodromes}
+%\includeonly{mercatormap.doc.animations}
%\includeonly{mercatormap.doc.limitations}
-%\includeonly{mercatormap.doc.versionhistory}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -83,8 +88,8 @@
\include{mercatormap.doc.marker}
\include{mercatormap.doc.routes}
\include{mercatormap.doc.orthodromes}
+\include{mercatormap.doc.animations}
\include{mercatormap.doc.limitations}
-\include{mercatormap.doc.versionhistory}
\clearpage
\phantomsection
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdf b/Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdf
index fffb7fbf43b..e7f9b4a01ac 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-Thesis.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex
index 4311237b489..fc7e8a88f15 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/MIT-Thesis.tex
@@ -3,7 +3,7 @@
% This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class.
%
-% Version: 1.13, 2024/07/03
+% Version: 1.14, 2024/07/19
%
% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit
@@ -182,13 +182,13 @@
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-%\Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else}
+% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else}
% \Supervisor{Secunda Castor}{Professor of Research}
% \Supervisor{Quintus Castor}{Professor of Log Dams}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
- \Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics}
+ \Acceptor{Primus Castor}{Professor of Wetlands Engineering}{}%{Undergraduate Officer, Department of Physics}
% \Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research}
% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering}
%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}.
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex
index 481e96a4c4e..1f2acd20a6d 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/chapter1.tex
@@ -1,5 +1,5 @@
% From mitthesis package
-% Version: 1.05, 2023/11/03
+% Version: 1.06, 2024/07/09
% Documentation: https://ctan.org/pkg/mitthesis
@@ -7,7 +7,7 @@
\lipsum[1-2] Postremo aliquos futuros suspicor, qui me ad alias litteras vocent, genus hoc scribendi, etsi sit elegans, personae tamen et dignitatis esse negent~\cite{DKE1969,ww1920,kirk2288a,churchill1948,gibbs1863}.
-\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfup{J/\psi}\)}\fi}
+\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfit{J/\psi}\)}\fi}
We begin with some ideas from the literature \cite{Fong2015,sharpe1}.
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex
index bc7ba62c916..8795eb547e0 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex
@@ -1,16 +1,16 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-defaultfonts.tex}[2024/06/28 v1.04 Load Computer/Latin Modern text and math fonts]
+\ProvidesFile{mitthesis-defaultfonts.tex}[2023/09/12 v1.03 Load Computer/Latin Modern text and math fonts]
%% Default fonts
%
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading Computer Modern text and math fonts (default for pdftex)}
+ \typeout{^^JLoading Computer Modern text and math fonts (default for pdftex).^^J}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{Loading Latin Modern text and math fonts (default for unicode engines)}
+ \typeout{^^JLoading Latin Modern text and math fonts (default for unicode engines).^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex
index ebba9ab190a..01fa981d78b 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex
@@ -1,19 +1,19 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-fira-newtxsf.tex}[2024/06/28 v1.05 Load Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font]
+\ProvidesFile{mitthesis-fira-newtxsf.tex}[2023/09/12 v1.04 Load Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font]
%% Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font
%
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading Fira sans text font with newtx sans serif math font and Inconsolata typewriter}
+ \typeout{^^JLoading Fira sans text font with newtx sans serif math font and Inconsolata typewriter^^J}
\RequirePackage[sfdefault,scaled=0.90]{FiraSans} % sans serif text package %,scaled=.85
\RequirePackage[T1]{fontenc}
\RequirePackage[varqu,varl,scaled=1.05]{zi4} % inconsolata font for typewriter
\RequirePackage[scaled=1.05]{newtxsf} % sans serif math
\RequirePackage{bm}
\else
- \ClassWarning{\ClassName}{The fira-newtxsf font set requires pdflatex. Defaulting to LMR fonts}
+ \ClassWarning{mitnewthesis}{The fira-newtxsf font set requires pdflatex. Defaulting to LMR fonts}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case.
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex
index 1535771f11f..26ee2ab07bc 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-heros-stix2.tex}[2024/06/28 v1.03 Load TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font]
+\ProvidesFile{mitthesis-heros-stix2.tex}[2023/09/12 v1.02 Load TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font]
%% TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font
%
@@ -12,11 +12,11 @@
% Install these as system fonts on your computer
%
\ifpdftex
- \ClassWarning{\ClassName}{The heros-stix2 fontset requires a unicode engine. Defaulting to CMR fonts}
+ \ClassWarning{mitnewthesis}{The heros-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{TeX Gyre Heros (sans serif) text font with STIX2 math font and Inconsolata monospaced font}
+ \typeout{^^JTeX Gyre Heros (sans serif) text font with STIX2 math font and Inconsolata monospaced font.^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex
index 41b2f561dff..57cf26f915b 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-libertine.tex}[2024/06/28 v1.03 Load Libertine and related fonts]
+\ProvidesFile{mitthesis-libertine.tex}[2023/09/12 v1.02 Load Libertine and related fonts]
%% Linux Libertine (serif) text font with newtxmath[libertine] (pdftex) or Libertinus (unicode) math font
%
@@ -10,7 +10,7 @@
% install these as system fonts on your computer
%
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading newtx-libertine text and math fonts with Insolata typewriter font}
+ \typeout{^^JLoading newtx-libertine text and math fonts with Insolata typewriter font^^J}
\RequirePackage[lining,semibold]{libertine}
\RequirePackage[T1]{fontenc}
\RequirePackage[varqu,varl]{inconsolata}% typewriter
@@ -18,7 +18,7 @@
\RequirePackage[libertine,vvarbb]{newtxmath}
\RequirePackage{bm}% load after all math to give access to bold math
\else
- \ClassNoteNoLine{\ClassName}{Loading Linux Libertine (serif) text font with Libertinus math font}
+ \typeout{^^JLoading Linux Libertine (serif) text font with Libertinus math font^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex
index e18c72fd924..6466c369294 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex
@@ -1,11 +1,11 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-lucida.tex}[2024/06/28 v1.03 Load Lucida fonts]
+\ProvidesFile{mitthesis-lucida.tex}[2023/09/12 v1.02 Load Lucida fonts]
%% Lucida Bright and Lucida Bright Math fonts (available from the TeX Users Group)
-\ClassNoteNoLine{\ClassName}{Lucida Bright and Lucida Bright Math fonts}
+\typeout{^^JLucida Bright and Lucida Bright Math fonts^^J}
\ifpdftex
\RequirePackage[LY1]{fontenc}
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
index b76428f383f..03d62286e2c 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
@@ -1,12 +1,11 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-newtx-sans-text.tex}[2024/06/68 v1.04 Load newtx sans-serif text and regular math fonts]
+\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/10/03 v1.03 Load newtx sans-serif text and regular math fonts]
%% newtx package with sans-serif text (Helvetica-like text with Times-like math)
%
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading newtx sans-serif text and newtx serif math fonts}
\RequirePackage[T1]{fontenc}
\RequirePackage[subscriptcorrection,varvw,helvratio=0.91,defaultsups]{newtx}% upint for upright integrals
\AtEndPreamble{% added to accommodate v1.731 of newtx, 2023/11/03
@@ -18,7 +17,7 @@
% \DeclareFontFamily{\encodingdefault}{\ttdefault}{\hyphenchar\font=`\-} %
\RequirePackage{bm}% bold math
\else
- \ClassWarning{\ClassName}{The newtx font set requires pdflatex. Defaulting to LMR fonts}
+ \ClassWarning{mitnewthesis}{The newtx font set requires pdflatex. Defaulting to LMR fonts}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case.
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex
index b1541bbd051..cc43427055b 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex
@@ -1,17 +1,17 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-newtx.tex}[2024/06/28 v1.04 Load newtx text and math fonts]
+\ProvidesFile{mitthesis-newtx.tex}[2023/09/12 v1.03 Load newtx text and math fonts]
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading newtx fonts with inconsolata typewriter}
+ \typeout{^^JLoading newtx fonts with inconsolata typewriter^^J}
\RequirePackage[T1]{fontenc}
\RequirePackage[subscriptcorrection,varvw,helvratio=0.91]{newtx}% stix2, upint
\RequirePackage[varl,varqu,hyphenate,mono]{inconsolata}% sans typewriter font; mono = fixed word spacing, hyphenate = allow hyphenation
\RequirePackage{bm}
\let\textsuperscript\textsu% newtx changes the default superiors font; this is needed to get commas aligned in sequential footnotes
\else
- \ClassWarning{\ClassName}{The newtx font set requires pdflatex. Defaulting to LMR fonts}
+ \ClassWarning{mitnewthesis}{The newtx font set requires pdflatex. Defaulting to LMR fonts}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case.
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex
index c178ff233fa..de3983fe4ee 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-stix2.tex}[2024/06/28 v1.04 Load STIX Two text and math fonts]
+\ProvidesFile{mitthesis-stix2.tex}[2023/09/12 v1.03 Load STIX Two text and math fonts]
%% STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font
%
@@ -12,11 +12,11 @@
% Install these as system fonts on your computer
%
\ifpdftex
- \ClassWarning{\ClassName}{The stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
+ \ClassWarning{mitnewthesis}{The stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{Loading STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font}
+ \typeout{^^JLoading STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font.^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex
index ed2abc16557..1e65724cc0b 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-termes-stix2.tex}[2024/10/28 v1.04 Load TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font]
+\ProvidesFile{mitthesis-termes-stix2.tex}[2023/09/12 v1.03 Load TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font]
%% TeX Gyre Termes text font and Heros sans serif font with STIX2 math font and Inconsolata monospaced font
%
@@ -12,11 +12,11 @@
% Install these as system fonts on your computer
%
\ifpdftex
- \ClassWarning{\ClassName}{The termes-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
+ \ClassWarning{mitnewthesis}{The termes-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{Loading TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font}
+ \typeout{^^JLoading TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font.^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex
index fd1e15bab87..64fffb92643 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-termes.tex}[2024/06/28 v1.04 Load TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font]
+\ProvidesFile{mitthesis-termes.tex}[2023/09/12 v1.03 Load TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font]
%% TeX Gyre Termes (Times-like) text font with Termes math font and Heros sans serif font and Cursor monospaced font
%
@@ -9,11 +9,11 @@
% install these as system fonts on your computer
%
\ifpdftex
- \ClassWarning{\ClassName}{The termes fontset requires a unicode engine. Defaulting to CMR fonts.}
+ \ClassWarning{mitnewthesis}{The termes fontset requires a unicode engine. Defaulting to CMR fonts.}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{Loading TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font}
+ \typeout{^^JLoading TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font^^J}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
% unicode-math loads the fontspec package
diff --git a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex
index ef715210744..1d9184e9730 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/MIT-thesis-template/mydesign.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mydesign.tex}[20234/06/28 v1.04 Typographic design options for thesis]
+\ProvidesFile{mydesign.tex}[2024/06/28 v1.04 Typographic design options for thesis]
%%%%%%%%%% Color support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/doc/latex/mitthesis/README.md b/Master/texmf-dist/doc/latex/mitthesis/README.md
index c7035183044..9d2918ca360 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/README.md
+++ b/Master/texmf-dist/doc/latex/mitthesis/README.md
@@ -1,11 +1,11 @@
#mitthesis --- A LaTeX template for an MIT thesis#
- v1.13 dated 2024/07/03
+ v1.14 dated 2024/07/19
####Overview####
This class provides a LaTeX template to format an MIT thesis according to
- the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2023):
+ the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2024):
[https://libraries.mit.edu/distinctive-collections/thesis-specs/](https://libraries.mit.edu/distinctive-collections/thesis-specs/)
@@ -53,6 +53,12 @@
---
####Change log####
+ v1.14 (19 July 2024)
+ - add backward compatibility code for \\text_titlecase_all:n
+ - adjust supervisor and acceptor titles used on sample cover pages
+ - format J/psi as \\symbfit in sample chapter 1 and regenerate font samples
+ - edit documentation
+
v1.13 (03 July 2024)
- same as v1.12, except now includes the correct documentation
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdf
index 304d89113b8..159f037a4d0 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/No_cc_license.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
index 737603f89c9..8b4d3e09429 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree_two_departments.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf
index c10db9e046e..e7e2f13e887 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree_two_departments.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
index 7ab9882820a..1adb097a705 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
index 8950c7ed3c6..0617a275f80 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
index 61a2b631153..7e4300d5b67 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
index c9ccbd8a9a5..299acda3388 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree_two_departments.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex
index cf4fce672e8..6c1f5c39827 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree_two_departments.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex
@@ -3,7 +3,7 @@
% !BIB program = biber
% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
-% Version 1.01, 2024/06/25
+% Version 1.02, 2024/07/08
% Documentation: https://ctan.org/pkg/mitthesis
@@ -75,7 +75,7 @@
% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century.
-\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022]
+\Author{Silas W. Holman}{Department of Nuclear Science and Engineering}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022]
%\Author{Luisa Hernández}{Department of Research}%[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
% For one degree issued by two departments, leave the degree argument blank for the second degree {}.
@@ -83,23 +83,17 @@
\Degree{}{Center for Computational Science and Engineering}
% If there is more than one supervisor, use the \Supervisor command for each.
-\Supervisor{Edward C. Pickering}{Professor of Physics}
-\Supervisor{Secunda Castor}{Professor of Research}
+\Supervisor{Edward C. Pickering}{Professor of Nuclear Science and Engineering}
+%\Supervisor{Secunda Castor}{Professor of Research}
%\Supervisor{Quintus Castor}{Professor of Log Dams}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
-\Acceptor{Primus Castor}{Professor and Graduate Officer, Department of Physics}{}
-\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{}
+\Acceptor{Primus Castor}{Professor and Graduate Officer}{Department of Nuclear Science and Engineering}
+\Acceptor{Tertius Castor}{Professor and Graduate Officer}{Center for Computational Science and Engineering}
%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering}
-% In this example, several steps have been taken to make the content fit on the title page! The \Acceptors have been confined to two
-% lines in the above commands, the signature block font size is reduced, the skips are tightened, the author names use normal font size,
-% and Luisa's previous degrees are not shown.
-\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize}
-\Tighten
-\AuthorNameSize{\normalsize}
% Usage: \DegreeDate{Month}{year}
% Valid degree months are September, February, or June.
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
index 6334a228aef..f8ebb1b9650 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
@@ -85,8 +85,7 @@
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
+\Supervisor{Secunda Castor}{Professor of Mechanical Engineering}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
index e5e2618b691..a757806b010 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
@@ -2,7 +2,7 @@
% !BIB TS-program = biber
% !BIB program = biber
-% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit
+% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
% Documentation: https://ctan.org/pkg/mitthesis
@@ -75,7 +75,7 @@
% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century.
\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022]
-\Author{Luisa Hernández}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
+\Author{Luisa Hernández}{Department of Physics}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
% Use once for each degree fulfilled by thesis
% For two degrees from one department, leave the department argument blank for the second degree {}.
@@ -85,20 +85,11 @@
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-%\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
-%\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Graduate Officer, Department of Physics}
\Acceptor{Quintus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics}
-%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research}
-%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering}
-
-% If your title page is overflowing (from too many names, degrees, etc.), you can scale
-% down the Signature block at the bottom with this command, or use another creative solution...
-%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize}
% Usage: \DegreeDate{Month}{year}
% Valid degree months are September, February, or June.
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
index fd9fc21485e..57a957b6ba5 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
@@ -2,8 +2,8 @@
% !BIB TS-program = biber
% !BIB program = biber
-% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit
-% Version 1.01, 2023/10/27
+% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
+% Version 1.02, 2024/07/08
% Documentation: https://ctan.org/pkg/mitthesis
@@ -82,19 +82,16 @@
% For two degrees from one department, leave the department argument blank for the second degree {}.
\Degree{Master of Science in Physics}{Department of Physics}
\Degree{Master of Science in Mechanical Engineering}{Department of Mechanical Engineering}
-%\Degree{Master of Science in Physics}{}
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
+\Supervisor{Secunda Castor}{Professor of of Mechanical Engineering}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
\Acceptor{Primus Castor}{Professor and Graduate Officer, Department of Physics}{}
\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{}
-%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering}
% In this example, several steps have been taken to make the content fit on the title page! The \Acceptors have been confined to two
% lines in the above commands, the signature block font size is reduced, the skips are tightened, the author names use normal font size,
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdf
index c32bcc359c0..97243bde84e 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Defaultfonts.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
index f78b32a6d95..cc3e40ce75e 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdf
index 0262aabdef1..c09afd43ee7 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Heros-Stix2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdf
index 44d54df9460..418bf7e8d3a 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Libertine.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdf
index d667a4bed4c..43081a36f02 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Lucida.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdf
index 9f22058aa02..d21ca4d0578 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx-sans-text.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdf
index fabf8cd29a6..45952c0c528 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Newtx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdf
index 7c38f1d8287..0792ee30f92 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Stix2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdf
index c7993b99aa9..80b8e07d107 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes-stix2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdf b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdf
index 4affab86130..90dfd3ab31a 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/examples/font_samples/Termes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf b/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf
index 94724d1eec4..ab61cf59e59 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf
+++ b/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex b/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex
index 6f8954813b3..4e5e739585b 100644
--- a/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex
+++ b/Master/texmf-dist/doc/latex/mitthesis/mitthesis-doc/mitthesis-doc.tex
@@ -1,7 +1,7 @@
% !TEX TS-program = lualatex
% !TEX encoding = UTF-8 Unicode
-% Version date: 1 July 2024
+% Version date: 19 July 2024
\DocumentMetadata
{
@@ -24,6 +24,8 @@
\usepackage[x11names,svgnames,dvipsnames,table]{xcolor}
\usepackage{luacolor} % load AFTER xcolor
+\usepackage{mathtools}
+
\usepackage[en-US]{datetime2} %% change default date format
\makeatletter
\newcommand{\daymonthyeardate}{%
@@ -191,7 +193,7 @@
\phantomsection\pdfbookmark[1]{\abstractname}{summary}
\begin{abstract}
-This \LaTeX\ class formats theses according to the requirements of the MIT Libraries. The template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of typefaces, and it is compatible with either pdfTeX or unicode engines such as luaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template. This document provides instructions for installation and use of the template.
+This \LaTeX\ class formats theses according to the requirements of the MIT Libraries. The template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of typefaces, and it is compatible with either pdfTeX or unicode engines such as LuaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template. This document provides instructions for installation and use of the template.
\end{abstract}
\tableofcontents
@@ -220,7 +222,7 @@ If the most current version of \texttt{mitthesis.cls} is installed in your syste
The new MIT thesis template consists of: \texttt{mitthesis.cls}; a root file \texttt{MIT-Thesis.tex}; a file to load the abstract, \texttt{abstract.tex}; a file for design options, \texttt{mydesign.tex}; and an optional file to change the fonts (see the subdirectory, \texttt{fontset}). You should change the name of the root file to something more descriptive of your own work (e.g., \texttt{JohnsThesis.tex}, \texttt{MagnumOpusScientiae.tex},\ldots). In addition, files must be loaded for acknowledgments, an optional biosketch, chapters, optional appendices, and bibliography.
\subsection{\LaTeX\ engine}
-The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of lua code in your \texttt{.tex} file. With lua code, you can automate plotting, table generation, and other numerical computations.
+The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of Lua code in your \texttt{.tex} file. With Lua code, you can automate plotting, table generation, and other numerical computations.
\subsection{PDF/A compliance}
PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{pdfstandard = a-2b}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX,
@@ -242,7 +244,7 @@ Note that third, fourth, fifth, and sixth arguments are optional [..] and may be
\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis.
-If two departments jointly issue a single degree, leave the degree argument blank for the \textit{second} degree:
+If two departments jointly issue a single degree, leave the degree name blank for the \textit{second} degree:
\verb|\Degree{}{2nd department name}|.
If the thesis satisfies two degrees from one department, leave the department argument blank for
the \textit{second} degree: \verb|\Degree{2nd degree name}{}|.
@@ -312,7 +314,7 @@ twoside & gives facing-page behavior for two-sided printing; omitting it will e
\subsection{Font loading}
By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ typeface, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts.
-Ten font sets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named.
+Ten font sets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named. For unicode engines, you must have the relevant fonts installed as system fonts on your computer.
Among the predefined font sets, Termes and NewTX are serifed typefaces similar to the digital typeface Times New Roman. STIX Two is more similar to the original metal-type Times typeface. Linux Libertine is a serif typeface inspired by 19\textsuperscript{th} century book type. Lucida is a serifed typeface designed for high legibility at small size or on low resolution devices. Lucida is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text typefaces similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX fonts. Fira is a humanist sans-serif text typeface designed in association with the Firefox browser. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ typeface---is a Didone typeface, with high contrast between thick and thin elements.
% STIX Two, Termes, and LMR do not include a separate bold math font.
@@ -351,7 +353,7 @@ termes-stix2 & no & yes & serif & serif & \url{http://www.gust.org.pl/projects/
\subsection{Design options}
The thesis will follow the default styles of the \LaTeX\ report class for sections headings, captions, and lists. If you prefer different styles you can use the class option [mydesign] which loads the file \texttt{mydesign.tex}.
-With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, that change the margins, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file.
+With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can change the margins with \verb|\newgeometry{..}| from the \texttt{\hrefurl{https://ctan.org/pkg/geometry}{geometry}} package. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file.
Hyperlink colors and pdf bookmark or viewing options from the \texttt{hyperref} package can be changed by using \verb|\hypersetup{ .. }| in the preamble or using \verb|\AtBeginDocument{ \hypersetup{ .. } }| in the \texttt{mydesign.tex} file.
@@ -367,15 +369,15 @@ have one nomenclature list for whole thesis or one for each chapter (the default
For example, the following code
\begin{center}
-\begin{minipage}{0.8\textwidth}
+\begin{minipage}{0.85\textwidth}
\begin{verbatim}
\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
\EntryHeading{Roman letters}
\entry{$\mathcal{C}$}{material curve}
-\entry{$\mathbf{u}$}{velocity [m s$^{-1}$]}
+\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]}
\EntryHeading{Greek letters}
-\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]}
-\entry{$\rho$}{mass density [kg m$^{-3}$]}
+\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]}
+\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]}
\end{nomenclature}
\end{verbatim}
\end{minipage}
@@ -386,13 +388,14 @@ produces the nomenclature list below
\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
\EntryHeading{Roman letters}
\entry{$\mathcal{C}$}{material curve}
-\entry{$\mathbf{u}$}{velocity [m s$^{-1}$]}
+\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]}
\EntryHeading{Greek letters}
-\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]}
-\entry{$\rho$}{mass density [kg m$^{-3}$]}
+\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]}
+\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]}
\end{nomenclature}
\end{minipage}
\end{center}
+%% \cramped is from the mathtools package, and moves the superscript a bit lower
\section{PACKAGES FOR MATH, CHEMISTRY, CODE, TABLES, AND MORE}
The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1
@@ -458,13 +461,13 @@ unicode-math & --- & load in a fontset file if using a unicode engine\\
Listing committee members (with or without signatures) is not required under MIT's thesis specifications. Only the thesis supervisor should appear on the title page, not a list of committee members. However, some departments may require a separate committee or signature page. That page can be inserted by the author between the title and abstract pages. Check with your department about this page and any associated formatting requirements.
\subsection{Dealing with multiple titles in the signature block}\label{sec:6.3}
-When a thesis supervisor has multiple titles (and both will not fit on one line), you can obtain a line break with proper horizontal spacing by doing
+When a thesis supervisor has multiple titles (which will not fit on one line), you can obtain a line break with proper horizontal spacing by doing
\vskip 5pt
\quad\verb|\Supervisor{name}{first title and \\ \> second title}|
\vskip 5pt
\noindent\textbf{\TeX hackers note:} The signature block is typeset as a \LaTeX\ \texttt{tabbing} environment.
-\subsection{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can using some or all of the following techniques. The commands must be given before \verb|\maketitle|.
+\subsection{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can use some or all of the following techniques. The commands must be given before \verb|\maketitle|.
\begin{enumerate}
\item Reduce the 12 pt and 18 pt skips between the various blocks of text to 6 pt with this command:
\vskip 5pt
diff --git a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG
index a02c0ed4510..bcfdad1373e 100644
--- a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG
+++ b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG
@@ -1,3 +1,6 @@
+version 2.4.1 (18 Jul 2024)
+- Fix commons/colors.tex not found in package (#194)
+
version 2.4.0 (08 Jul 2024)
- Rewrote user guide, thanks to David Seus (#58, #106, #169).
- Fixed "Underfull \hbox (badness 10000)" warning in \makecvtitle (#162).
diff --git a/Master/texmf-dist/doc/latex/moderncv/commons/colors.tex b/Master/texmf-dist/doc/latex/moderncv/commons/colors.tex
deleted file mode 100644
index 7f840ff059c..00000000000
--- a/Master/texmf-dist/doc/latex/moderncv/commons/colors.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-%-------------------------------------------------------------------------------
-% built-in colors
-%-------------------------------------------------------------------------------
-
-\definecolor{black}{RGB}{0, 0, 0}
-\definecolor{red}{rgb}{0.95, 0.20, 0.20}
-\definecolor{darkgrey}{rgb}{0.45, 0.45, 0.45}
-\definecolor{orange}{rgb}{0.95, 0.55, 0.15}
-\definecolor{burgundy}{rgb}{0.596078, 0, 0}% 139/255 (0.545098) or 152/255 (0.596078)
-\definecolor{purple}{rgb}{0.50, 0.33, 0.80}
-\definecolor{lightblue}{rgb}{0.22, 0.45, 0.70}
-\definecolor{green}{rgb}{0.35, 0.70, 0.30}
-
-%-------------------------------------------------------------------------------
-% default colors
-%-------------------------------------------------------------------------------
-
-\@ifundefined{\string\color@default-socialicon-color}{\colorlet{default-socialicon-color}{darkgrey}}{}
-
-%-------------------------------------------------------------------------------
-% colors for social icons
-%-------------------------------------------------------------------------------
-
-% \definecolor{weixin}{rgb}{.184, .533, .098}
-% \definecolor{linkedin}{HTML}{0a66c2}
-% \definecolor{orcid}{HTML}{a6ce39}
-% \definecolor{twitter}{RGB}{29, 155, 240}
-% \definecolor{facebook}{HTML}{1b74e4}
-% TODO: add more colors
-
-%-------------------------------------------------------------------------------
-% custom colors
-%-------------------------------------------------------------------------------
-
-% \definecolor{tsinghua}{HTML}{791CB5}
diff --git a/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdf b/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdf
index c0fc87708ed..0468a22e0fd 100644
--- a/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex b/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex
index ada0536fa7d..feb6f31f6fa 100644
--- a/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex
+++ b/Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex
@@ -1,4 +1,4 @@
-%% moderncv_userguide.tex as shipped with 2024-07-08 v2.4.0 modern curriculum vitae and letter document class (moderncv)
+%% moderncv_userguide.tex as shipped with 2024-07-18 v2.4.1 modern curriculum vitae and letter document class (moderncv)
%% 2021 David Seus, cryptointerest@posteo.de
%
% This work may be distributed and/or modified under the
@@ -9,7 +9,7 @@
\title{%
\texttt{moderncv} User Guide\\
- {\small Package v2.4.0}%
+ {\small Package v2.4.1}%
}
% Cristina Sambo,
\author{%
diff --git a/Master/texmf-dist/doc/latex/moremath/MANIFEST.md b/Master/texmf-dist/doc/latex/moremath/MANIFEST.md
new file mode 100644
index 00000000000..ef52db4ec20
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/moremath/MANIFEST.md
@@ -0,0 +1,26 @@
+# Manifest of the `moremath`-package
+
+This file lists all files that are considered to be part of `moremath`.
+
+
+## Source Files
+- `moremath.dtx`: Documentation and package source.
+- `moremath.ins`: Batch file for generating `moremath.sty`
+
+## Text Files
+These plain text files are included as documentation or metadata.
+
+- `README.md`: README file.
+- `MANIFEST.md`: This file.
+
+## Derived Files
+
+These files are derived from other files mentioned above.
+
+### Documentation
+
+- `moremath-doc.pdf`: Package documentation generated from `moremath.dtx`
+
+### Unpacked Package Code
+
+- `moremath.sty`: File generated from `moremath.dtx` by `moremath.ins`.
diff --git a/Master/texmf-dist/doc/latex/moremath/README.md b/Master/texmf-dist/doc/latex/moremath/README.md
new file mode 100644
index 00000000000..4727b4b11db
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/moremath/README.md
@@ -0,0 +1,48 @@
+# `moremath`: Convenience Math Macros
+
+The `moremath` package provides convenience shorthand math macros such as
+(auto-)delimited operators, (auto-)delimited vector calculus operators
+and some commands for quickly producing diagonal matrices,
+column, and row vectors.
+
+It depends on [mathtools](https://ctan.org/pkg/mathtools),
+[amssymb](https://ctan.org/pkg/amsfonts),
+and optionally on [bm](https://ctan.org/pkg/bm).
+
+_____
+**Note: This package is still in its initial development phase.**
+
+Its interface may be subject to change until version 1.0.0 has been reached.
+
+_____
+
+## Unpacking the Source Code
+
+To unpack the source code use
+
+``` shell
+TEX moremath.ins
+```
+
+## Generating the Documentation
+
+To produce the documentation run `moremath.dtx` through `*latex`.
+
+
+## License
+
+Copyright (C) 2024 Marcel Ilg
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+https://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Marcel Ilg.
+
+This work consists of the files listed in `MANIFEST.md`.
diff --git a/Master/texmf-dist/doc/latex/moremath/moremath-doc.pdf b/Master/texmf-dist/doc/latex/moremath/moremath-doc.pdf
new file mode 100644
index 00000000000..4a90adc8e7c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/moremath/moremath-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/README.md b/Master/texmf-dist/doc/latex/oberdiek/README.md
index 4a2250cf370..b455eff334b 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/README.md
+++ b/Master/texmf-dist/doc/latex/oberdiek/README.md
@@ -1,6 +1,6 @@
# Oberdiek bundle
-Version: 2023-12-04
+Version: 2024-07-26
This file describes the directory
CTAN:macros/latex/contrib/oberdiek/
@@ -11,7 +11,7 @@ It contains several packages:
## Copyright (C)
* 2007, 2009-2011 Heiko Oberdiek
-* 2016-2023 Oberdiek Package Support Group
+* 2016-2024 Oberdiek Package Support Group
## License
LATEX Project Public License, version 1.3c or later.
@@ -48,7 +48,6 @@ Other files in the CTAN directory:
* flags: setting and clearing flags in bit fields and converting the bit field into a decimal number;
* holtxdoc: extra documentation macros;
* hypbmsec: bookmarks in sectioning commands;
-* hypcap: anjusting anchors of captions;
* hypgotoe: experimental package for links to embedded files;
* hyphsubst: substitute hyphenation patterns;
* ifdraft: switch for option draft;
@@ -66,6 +65,5 @@ Other files in the CTAN directory:
* stampinclude: selects the files for \include by inspecting the timestamp of the .aux file(s);
* tabularht: tabulars with height specification;
* tabularkv: key value interface for tabular parameters;
-* telprint: print German telephone numbers;
* thepdfnumber: canonical numbers for use in PDF files and elsewhere;
* twoopt: commands with two optional arguments;
diff --git a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
index 5978332f27d..cac6636ab96 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
index ecd47adb939..b376afc96a7 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
index 344a2454332..a0984732eaf 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
index c745f155827..7a39e48a3ef 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
index 40ef460d948..365627fee6d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
index 1b4e949c6b8..3446b595397 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
index 21243da3b15..3ff66c8e895 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
index 0bd217efbac..49c876e5b6b 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf b/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf
index d4de5125ba9..284b88c5c15 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/enparen.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf b/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf
index 23c097b5711..24a22d462cc 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/eolgrab.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf b/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf
index 2d2510854e7..7a143ac3b67 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/fibnum.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
index f0c8b76d544..17c5868612d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
index 67d630bd545..f2825ebf65f 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
index 45e3ce42c29..9e75d5e8fee 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf
index 98d7d1dd4b6..a6203e57a11 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/hypgotoe.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf b/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf
index 4c390bfdd9e..0d559684d12 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/hyphsubst.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
index 35e257d875a..7e6a2510923 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
index 98cb0644a32..c1941fa6eea 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
index 16e08d826a8..31c3efdda72 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
index 90a3b348a0a..d97c8441f43 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
index a49189ba4aa..8afe31978aa 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
index 1de22245d4b..eabda461d72 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf b/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf
index cabaa32c497..c5d984bf5e8 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/protecteddef.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf b/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf
index 11d07da19cc..5bf853391cd 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/resizegather.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf b/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf
index 7deae8d7561..5504f90b564 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/rotchiffre.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf b/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf
index 0ca63d3e6d2..a2e2cba8255 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/scrindex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
index dbdb939c6e2..03757dc214d 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex b/Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex
index 521074c5cca..33454e19f33 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex
+++ b/Master/texmf-dist/doc/latex/oberdiek/settobox-example.tex
@@ -60,7 +60,7 @@
% c) Print #1 commands.
% d) Print box with frame
%
-% The implemenation looks more weird:
+% The implementation looks more weird:
\makeatletter
\newcommand*{\test}[1]{%
\par
diff --git a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
index a2f1c8d1790..ef92916de2e 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
index df11fd28ddd..4edbb64c31c 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf b/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf
index 55b57219a3c..b98bf15bb16 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/stampinclude.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
index 893fe33acf1..3a70cec6a2c 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
index e6ea130064b..dedc3251c06 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf b/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf
index 8d4b73d65fa..61d98f6985c 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/thepdfnumber.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
index 6a144a8368a..071dd4d2b25 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
+++ b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pagelayout/README.md b/Master/texmf-dist/doc/latex/pagelayout/README.md
index dec375b5d39..8d08f566f73 100644
--- a/Master/texmf-dist/doc/latex/pagelayout/README.md
+++ b/Master/texmf-dist/doc/latex/pagelayout/README.md
@@ -1,4 +1,4 @@
-![The pagelayout LaTeX class](banner.svg)
+![The pagelayout LaTeX class](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/banner.svg)
The pagelayout class enables you to design pages declaratively using simple macros for pages, covers, grids, templates, text, and graphics to create graphic rich, perfectly typeset, and print ready PDFs.
@@ -26,7 +26,7 @@ Create a page with the `\page` command. A grid with rows and cells helps you to
}
```
-![A page with a two column layout](quickstart-1.svg)
+![A page with a two column layout](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-1.svg)
### Templates
@@ -44,7 +44,7 @@ You can set width relations between grid cells and height relations between grid
\template{my template}{}
```
-![A template with two placeholders](quickstart-2.svg)
+![A template with two placeholders](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-2.svg)
You can set margin and gutter at grid, page, or document level.
@@ -72,17 +72,17 @@ You can scale and position a graphic. And you can add borders and box shadows to
}
```
-![Photo with border and shadow](quickstart-3.svg)
+![Photo with border and shadow](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-3.svg)
-Have a look at the [examples](doc) to learn how to create double pages, covers, and more.
+Have a look at the [examples](https://github.com/friedemannbartels/latex-pagelayout/tree/1.1.1/doc) to learn how to create double pages, covers, and more.
-For a complete reference, read the [manual](pagelayout-manual.pdf).
+For a complete reference, read the [manual](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/pagelayout-manual.pdf).
## Installation
In general, you should use the package manager shipped with your TeX distribution to install the pagelayout package.
-To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.0/pagelayout-1.1.0.tds.zip) to your local TeX directory tree and run the command `texhash`.
+To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.1/pagelayout.tds.zip) to your local TeX directory tree and run the command `texhash`.
To enable image optimization, shadow creation, and preflight, perform these installation steps:
diff --git a/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdf b/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdf
index 6913eb17ce8..a8ec76cc089 100644
--- a/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdf
+++ b/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex b/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex
index 460f1170d08..df37ebaa6fc 100644
--- a/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex
+++ b/Master/texmf-dist/doc/latex/pagelayout/pagelayout-manual.tex
@@ -18,7 +18,7 @@
\usepackage{tikz}
\OnlyDescription
\hypersetup{pdfborder={0 0 0}}
-\def\pagelayoutversion{1.1.0}
+\def\pagelayoutversion{1.1.1}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/pagelayout/tests.zip b/Master/texmf-dist/doc/latex/pagelayout/tests.zip
index 8f90ec375db..407a787619a 100644
--- a/Master/texmf-dist/doc/latex/pagelayout/tests.zip
+++ b/Master/texmf-dist/doc/latex/pagelayout/tests.zip
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/passopt/README.md b/Master/texmf-dist/doc/latex/passopt/README.md
index 4538008c182..f8eb8f4c437 100644
--- a/Master/texmf-dist/doc/latex/passopt/README.md
+++ b/Master/texmf-dist/doc/latex/passopt/README.md
@@ -1,5 +1,5 @@
# The `passopt` package
-Passing options to packages or classes (v1.00b)
+Passing options to packages or classes (v1.01a)
## Abstract
`passopt` allow reset the global options of a loaded macro package or document class, or to change the position of the pre-passed options in the list to the right.
@@ -11,5 +11,8 @@ This work may be distributed and/or modified under the conditions of the CC-BY 4
| [Gitee](https://gitee.com/texno3/passopt) | [Github](https://github.com/texno3/passopt) | [CTAN](https://ctan.org/pkg/passopt) |
## Maintainer
-QuYi<br/>
-Email: toquyi@163.com \ No newline at end of file
+Qu Yi<br/>
+Email: toquyi@163.com
+
+## Contributor
+Jonathan P. Spratte \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/passopt/passopt.pdf b/Master/texmf-dist/doc/latex/passopt/passopt.pdf
index c99277687cd..ce6e437c651 100644
--- a/Master/texmf-dist/doc/latex/passopt/passopt.pdf
+++ b/Master/texmf-dist/doc/latex/passopt/passopt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/passopt/passopt.tex b/Master/texmf-dist/doc/latex/passopt/passopt.tex
index 16b20d5ac65..fb4473e3567 100644
--- a/Master/texmf-dist/doc/latex/passopt/passopt.tex
+++ b/Master/texmf-dist/doc/latex/passopt/passopt.tex
@@ -5,8 +5,8 @@
\setcnltx
{
package = passopt,
- version = v1.00b,
- date = 2024/07/11,
+ version = v1.01a,
+ date = 2024/07/17,
authors = Qu Yi,
info = Passing options to packages or classes,
email = toquyi@163.com,
@@ -59,6 +59,7 @@ For a developer, there are some cases where packages and classes may load other
In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt1,opt2=A,opt3}}. If you wish to \textcolor{red}{disable} the pre-enabled options or place the newly enabled options to the \textcolor{red}{right} of the list (last executed), then you need to modify the code of the load command in the package or class file, but this is not recommended for public sharing. Therefore, this macro package provides commands to reset the options and change the order of the new options.
\section{User commands}
+Four commands are provided to set the options to be passed later, all of which are \textcolor{red}{locally} assigned. Subsequent loading of the macro package is not must required due to the hook mechanism used to modify the list of options.
\begin{commands}
\command{SetOptionsToPackage}[\sarg\marg{options list}\marg{package}]
Passes options to the macro package, the location of the passed options is to the right of the options used when loading the macro package. If an asterisk parameter is used, only the passed options were ultimately retained.
@@ -87,7 +88,16 @@ In the example above, the list of options that the \pkg*{mypackage} macro packag
Similar to the previous command, but passing options for the document class.
\end{commands}
+\section{Acknowledgment}
+Thanks Jonathan P. Spratte for the improvement suggestions.
+
\appendix
+\begin{changelog}[simple]
+ \begin{version}[v = 1.01,date = 2024/07/15]
+ \item Synchronized modification for lists of \code{@raw@opt@} and \code{opt@}.
+ \item Options that are set are expanded once rather than fully expanded.
+ \end{version}
+\end{changelog}
\nocite{*}
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/README b/Master/texmf-dist/doc/latex/pgf-periodictable/README
index b1a6ef2279d..f761cd24392 100644
--- a/Master/texmf-dist/doc/latex/pgf-periodictable/README
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/README
@@ -1,4 +1,4 @@
-This is pgf-PeriodicTable, version 2.1.1 (2024/07/07).
+This is pgf-PeriodicTable, version 2.1.3 (2024/08/07).
The purpose of this package is to provide the Periodic Table of Elements in
a simple way. It relies on pgf/TikZ to offer a full or partial periodic table with
@@ -22,6 +22,14 @@ ____________________________________________________________
Major changes:
+*** v2.1.3 (07/08/2024) ***
+The engine's detection mechanism (pdfLaTeX, LuaLaTeX or XeTeX) has been changed to prevent erroneous detection when the packages 'hyperref' or 'bookmark' are loaded and the document is compiled with LuaLaTeX - in this case, pgf-PeriodicTable disturbs the selection of the document font.
+Fixed an issue with the Chemical Symbol color when a non-rgb color is used, such as cyan or yellow , which are defined in the xcolor package using the cmyk model (when loaded without options).
+
+*** v2.1.2 (01/08/2024) ***
+Fixed incorrect Spanish translations of some element names.
+Minor code improvements to eliminate runtime warnings («LaTeX Font Warning: Font shape `TU/TeXGyreHeros(0)/l/n' undefined» or «Missing character: There is no m (U+006D) in font nullfont!» ... )
+
*** v2.1.1 (07/07/2024) ***
New keys:
- group numbers (to display group numbers in arabic numerals, Roman numerals or both)
diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex
index 78f81788265..0fcc955dd20 100644
--- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_name.tex
@@ -11,7 +11,7 @@ Sets the color of the element name.
\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},name color=red]}}%
\\ [0pt]\pgfPTendoption%
% name font
-\pgfPTMoption{4}{name font}{\string\fontseries\{l\}\string\selectfont\string\tiny}{%
+\pgfPTMoption{4}{name font}{\string\tiny}{% \string\fontseries\{l\}\string\selectfont (removed @v2.1.2)
Sets the font of the element name.
}
\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},name font=\string\itshape\string\tiny]%
diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex
index ddaee71477b..f53b6659cee 100644
--- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex
@@ -1,5 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Definitions for pgf-PeriodicTable Manual
+% Hugo Gomes @ 07/08/2024 v2.1.3
+% Hugo Gomes @ 01/08/2024 v2.1.2
% Hugo Gomes @ 07/07/2024 v2.1.1
% Hugo Gomes @ 03/04/2024 v2.1.0a
% Hugo Gomes @ 14/02/2024 v2.1.0
@@ -7,7 +9,7 @@
% Hugo Gomes @ 20/02/2023 v2.0.0
% Hugo Gomes @ 08/11/2022 v1.0.1
% Hugo Gomes @ 10/10/2022 v1.0.0
-\def\pgfPTversion{2.1.1}%
+\def\pgfPTversion{2.1.3}%
\def\pgfPTnewinversion#1{new in v#1}%
\def\pgfPTchangedinversion#1{changed in v#1}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -22,31 +24,6 @@
\setcounter{secnumdepth}{1}%
\setcounter{tocdepth}{4}
%
-\makeatletter%
-\global\renewcommand\thesection{}%
-\renewcommand\thesubsection{\@arabic\c@subsection}%
-\renewcommand\section{\@startsection{section}{1}{\z@}%
- {-3.5ex \@plus -1ex \@minus -.2ex}%
- {2.3ex \@plus.2ex}%
- {\hskip-1.4395em\normalfont\Large\bfseries}}%
-\renewcommand*\l@section[2]{%
- \ifnum \c@tocdepth >\z@%
- \addpenalty\@secpenalty%
- \addvspace{1.0em \@plus\p@}%
- \setlength\@tempdima{0em}%
- \begingroup%
- \parindent \z@ \rightskip \@pnumwidth%
- \parfillskip -\@pnumwidth%
- \leavevmode \bfseries%
- \advance\leftskip\@tempdima%
- \hskip -\leftskip%
- #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par%
- \endgroup%
- \fi}%
-\renewcommand*\l@subsection{\@dottedtocline{2}{1.5em}{1.5em}}%
-\renewcommand*\l@subsubsection{\@dottedtocline{3}{3.0em}{2.4em}}%
-\renewcommand*\l@paragraph{\@dottedtocline{4}{4.25em}{1.35em}}%
-\makeatother%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pgfdeclarelayer{back}%
\pgfsetlayers{back,main}%
diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdf b/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdf
index c588490c487..e8c9672259b 100644
--- a/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdf
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/DEPENDS.txt b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/DEPENDS.txt
new file mode 100644
index 00000000000..1c4fa2d5936
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/DEPENDS.txt
@@ -0,0 +1,3 @@
+hard beamer
+hard tools
+hard pgfplots \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/README.md b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/README.md
new file mode 100644
index 00000000000..47c815caaf9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/README.md
@@ -0,0 +1,39 @@
+# pgfplotsthemebeamer
+
+[![License](https://img.shields.io/github/license/samcarter/pgfplotsthemebeamer.svg?color=blue)](http://www.latex-project.org/lppl.txt)
+[![GitHub tag](https://img.shields.io/github/tag/samcarter/pgfplotsthemebeamer.svg?label=current%20version&color=blue)](https://github.com/samcarter/pgfplotsthemebeamer/releases/latest)
+[![CTAN](https://img.shields.io/ctan/v/pgfplotsthemebeamer.svg?color=blue)](https://ctan.org/pkg/pgfplotsthemebeamer)
+
+A package for using colours from the current beamer theme in pgfplots diagrams.
+
+This project is licensed under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt .
+
+The project repository, including a bug tracker, can be found at https://github.com/samcarter/pgfplotsthemebeamer/issues .
+
+### Usage
+
+```latex
+\documentclass{beamer}
+
+\usetheme{moloch}% just as an example for a colour theme
+\usepackage{pgfplotsthemebeamer}
+
+\begin{document}
+
+\begin{frame}[plain]
+\centering
+\begin{tikzpicture}
+ \begin{axis}[
+ beamercolors
+ ]
+ \addplot {x}; \addplot {x-1}; \addplot {x-2};
+ \addplot {x-3}; \addplot {x-4}; \addplot {x-5};
+ \addplot {x-6}; \addplot {x-7}; \addplot {x-8};
+ \end{axis}
+\end{tikzpicture}
+\end{frame}
+
+\end{document}
+```
+
+For more details, please consult the [package documentation](https://github.com/samcarter/pgfplotsthemebeamer/blob/main/DOCUMENTATION.pdf).
diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc-settings.sty b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc-settings.sty
new file mode 100644
index 00000000000..cd57229fcf4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc-settings.sty
@@ -0,0 +1,200 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Personal helper theme for package documentations
+% Copyright samcarter
+%
+% This file may be distributed and/or modified
+% under the LaTeX Project Public License 1.3c or later
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Usage:
+% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty
+% \usepackage[
+% themecolor=samdblue
+% ]{\jobname-settings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Colours
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor}
+\definecolor{samyellow}{RGB}{246,193,65}
+\definecolor{samorange}{RGB}{241,147,45}% pgfplotsthemebeamer
+\definecolor{samred}{RGB}{191,26,46}% TikZbricks
+\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots
+\definecolor{samviolet}{RGB}{136,46,114}% TikZlings
+\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme
+\definecolor{samdblue}{RGB}{0,51,134}% beamer theme
+\definecolor{samlblue}{RGB}{22,89,155}% TikZducks
+\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme
+\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw
+\definecolor{samdgreen}{RGB}{78,178,125}
+\definecolor{samlgray}{RGB}{160,160,185}
+\definecolor{samdgray}{RGB}{60,60,85}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval}
+\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}}
+\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}}
+\ExecuteOptionsX{themecolor,listingcolor}
+\ProcessOptionsX
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{beamer}{}{%
+ \RequirePackage[english]{babel}
+ \RequirePackage[paper=a4paper,margin=2.9cm]{geometry}
+ \RequirePackage{scrlayer-scrpage}
+ \let\hrulefillx\hrulefill
+ \RequirePackage[bitstream-charter]{mathdesign}
+ \let\hrulefill\hrulefillx
+ \RequirePackage[hang,flushmargin,bottom]{footmisc}
+ \RequirePackage{footnotehyper}
+ \makesavenoteenv{tcolorbox}
+ \RequirePackage[all]{nowidow}
+ \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref}
+}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{xspace}
+\RequirePackage{inconsolata}% mono font with bold, but italic is missing
+% \RequirePackage[scale=0.85]{cascadia-code}
+% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
+\RequirePackage{iexec}
+\usepackage{synthslant}% to fake slented comments in inconsolata
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Listings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage[
+ cachedir=$TMPDIR/minted/
+]{minted}
+
+% smuggling custom pygmentize style in cache folder
+% (a real pygmentise style would need installtion in some python folder)
+\begin{filecontents*}[noheader,overwrite]{./sam.pygstyle}
+\makeatletter
+\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
+ \let\PYG@ul=\relax \let\PYG@tc=\relax%
+ \let\PYG@bc=\relax \let\PYG@ff=\relax}
+\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
+\def\PYG@toks#1+{\ifx\relax#1\empty\else%
+ \PYG@tok{#1}\expandafter\PYG@toks\fi}
+\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
+ \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
+\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
+
+% optional arguments
+\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}}
+
+% macros
+\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+% curly brakets
+\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+
+% comments (italics won't work with the inconsolata font)
+\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{\textsynthslant{##1}}}}
+
+\def\PYGZbs{\char`\\}
+\def\PYGZus{\char`\_}
+\def\PYGZob{\char`\{}
+\def\PYGZcb{\char`\}}
+\def\PYGZca{\char`\^}
+\def\PYGZam{\char`\&}
+\def\PYGZlt{\char`\<}
+\def\PYGZgt{\char`\>}
+\def\PYGZsh{\char`\#}
+\def\PYGZpc{\char`\%}
+\def\PYGZdl{\char`\$}
+\def\PYGZhy{\char`\-}
+\def\PYGZsq{\char`\'}
+\def\PYGZdq{\char`\"}
+\def\PYGZti{\char`\~}
+% for compatibility with earlier versions
+\def\PYGZat{@}
+\def\PYGZlb{[}
+\def\PYGZrb{]}
+\makeatother
+\end{filecontents*}
+
+\iexec{mkdir -p $TMPDIR/minted && mv sam.pygstyle $TMPDIR/minted/.}
+
+\usemintedstyle{sam}
+\setminted{
+ breaksymbolleft={},
+ tabsize=2,
+ breaklines=true,
+}
+\newminted[samcode]{latex}{}
+\newmintinline[saminline]{latex}{}
+
+% use non-bold and all coloured for inline code in articles
+\ifdefined\insertaspectratio\else
+ \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{}
+\fi
+
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\tcbset{%
+ colframe=themecolor,
+ fonttitle=\bfseries,
+ sidebyside,
+ center lower,
+ righthand width=5.7cm,
+ bottom=2pt,
+ top=2pt,
+ left=3pt,
+ right=3pt,
+ sidebyside gap=10pt,
+ lower separated=false,
+ listing engine=minted,
+ minted language=latex,
+ colback=themecolor!10,
+ sharp corners,
+ boxrule=0pt,
+ before title={\strut}
+}
+
+% avoid page breaks right in front of the tcolorbox
+\@ifclassloaded{beamer}{}{
+ \tcbuselibrary{hooks}
+ \tcbset{before pre={\nopagebreak[4]}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% document settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+ \KOMAoptions{parskip=half}
+ \addtokomafont{sectioning}{\color{themecolor}}
+ \addtokomafont{date}{\normalsize}
+ \addtokomafont{author}{\normalsize}
+ \setlength{\footnotemargin}{0.7em}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Custom macros
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\CTAN}{\textsc{CTAN}\xspace}
+\providecommand*{\TikZ}{Ti\emph{k}Z\xspace}
+\providecommand*{\miktex}{MiK\TeX\xspace}
+\providecommand*{\texlive}{\TeX{}Live\xspace}
+\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace}
+\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
+\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.pdf b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.pdf
new file mode 100644
index 00000000000..a312a05245a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.tex b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.tex
new file mode 100644
index 00000000000..3beb6c99b66
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgfplotsthemebeamer/pgfplotsthemebeamer-doc.tex
@@ -0,0 +1,119 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Documentation for the pgfplotsthemebeamer package
+% Using colours from the current beamer theme in pgfplots
+% Maintained by samcarter
+%
+% Project repository and bug tracker:
+% https://github.com/samcarter/pgfplotstheme-beamer
+%
+% Released under the LaTeX Project Public License v1.3c or later
+% See http://www.latex-project.org/lppl.txt
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% !TeX program = txs:///arara
+% arara: latexmk: {
+% arara: --> engine: pdflatex,
+% arara: --> options: [
+% arara: --> '-shell-escape',
+% arara: --> '-synctex=1',
+% arara: --> '-interaction=nonstopmode',
+% arara: --> ]
+% arara: --> }
+\documentclass{scrartcl}
+
+% meta %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{The pgfplotsthemebeamer package}
+\subtitle{Using colours from the current beamer theme in pgfplots}
+\author{%
+ \texorpdfstring{
+ \texttt{samcarter}\\
+ \url{https://github.com/samcarter/pgfplotsthemebeamer}\\
+ \url{https://ctan.org/pkg/pgfplotsthemebeamer}
+ }{samcarter}}
+\date{Version v0.2 \textendash{} 2024/08/02}
+
+\usepackage[
+ themecolor=samorange
+]{\jobname-settings}
+
+% customisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\prefix}{./include}
+\tcbset{
+ compilable listing/.style={listing file={\prefix/\jobname-listing-\thetcblistingcount.tex}},
+ run pdflatex/.style={run@system@command={cd\space \prefix;\space pdflatex}{\jobname-listing-\thetcblistingcount.tex}},%
+}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+\label{intro}
+
+Beamer themes often use carefully composed colour schemes. The \saminline|pgfplotsthemebeamer| package allows to reuse these colours in diagrams created with \saminline|pfgplots|. This ensures a consistent colour scheme throughout the presentation and avoids unsightly colour clashes.
+
+The package is included in \TeX{}Live
+%and MiK\TeX\
+and available from \textsc{CTAN} (\url{https://www.ctan.org/pkg/pgfplotsthemebeamer}).
+The development version of this package is located at \url{https://github.com/samcarter/pgfplotsthemebeamer}. If you have any problems, ideas or other feedback, please make constructive use of the issue tracker.
+
+Copyright \raisebox{0.2em}{\tiny\fontfamily{cmr}\selectfont\textcopyright} \texttt{samcarter}. Permission is granted to copy, distribute and\slash or modify this software under the terms of the LaTeX project public licence, version 1.3c or later \url{http://www.latex-project.org/lppl.txt}.
+
+\section{Usage}
+
+The basic usage is fairly simple. After loading the \saminline|pgfplotsthemebeamer| package, plots can use the \saminline|beamercolor| option to use the colours from the current beamer theme in the diagram:
+\begin{tcolorbox}[title={Usage}]
+\begin{samcode}
+\usepackage{pgfplotsthemebeamer}
+
+\begin{axis}[
+ beamercolors
+]
+...
+\end{axis}
+\end{samcode}
+\end{tcolorbox}
+The graphs will be coloured in the beamer colours \saminline|structure|, \saminline|alerted text| and \saminline|example text|. In most beamer themes, these three colours form an easily distinguishable set of colours.
+
+Users who would like to use the \saminline|beamercolors| scheme for all \saminline|pgfplots| diagrams in the presentation, can load the package with the \saminline|all| option, which will make this colour scheme the default.
+\begin{tcolorbox}[title={Usage}]
+\begin{samcode}
+\usepackage[all]{pgfplotsthemebeamer}
+\end{samcode}
+\end{tcolorbox}
+
+\section{Full example}
+\begin{tcblisting}{
+ listing only,
+ freeze pdf,
+ compilable listing,
+ run pdflatex,
+ title={Basic example},
+ righthand width=0pt
+}
+\documentclass{beamer}
+
+\usetheme{moloch}% just as an example for a colour theme
+\usepackage{pgfplotsthemebeamer}
+
+\begin{document}
+
+\begin{frame}[plain]
+\centering
+\begin{tikzpicture}
+ \begin{axis}[
+ beamercolors
+ ]
+ \addplot {x}; \addplot {x-1}; \addplot {x-2}; \addplot {x-3}; \addplot {x-4}; \addplot {x-5}; \addplot {x-6}; \addplot {x-7}; \addplot {x-8};
+ \end{axis}
+\end{tikzpicture}
+\end{frame}
+
+\end{document}
+\end{tcblisting}
+\vfill
+\centering
+\setlength{\fboxsep}{0pt}%
+\fbox{\includegraphics[width=.75\textwidth]{pgfplotsthemebeamer-doc-listing-1.pdf}}%
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/photobook/Makefile b/Master/texmf-dist/doc/latex/photobook/Makefile
index 59b7ea002c8..19edca368e3 100644
--- a/Master/texmf-dist/doc/latex/photobook/Makefile
+++ b/Master/texmf-dist/doc/latex/photobook/Makefile
@@ -85,8 +85,7 @@ endif
# markdown dialect...
#
-# XXX still needs some tweaking...
-MD_FORMAT ?= markdown_github
+MD_FORMAT ?= gfm
# debug output...
@@ -173,26 +172,11 @@ LN := cp -l
# - |..| - verbatim does not work...
# - || - parts of doc omitted...
# - verbatim blocks get merged sometimes...
+# - does not resolve \jobname in include...
# - ...
# ...not sure if this can be tweaked...
-#%.md: %.tex
-# pandoc -t $(MD_FORMAT) -s $< -o $@
-
-# XXX EXPERIMENTAL...
-# XXX revise:
-# ...for this to work we need to replace:
-# \documentclass{ltxdoc}
-# to:
-# \documentclass[markdownextra]{internet}
-# XXX install the internet class...
-# https://github.com/loopspace/latex-to-internet
-# ...needs testing...
%.md: %.tex
- cat $< \
- | sed 's/documentclass{ltxdoc}/documentclass[markdownextra]{internet}/' \
- > $<.tmp
- mv $<{.tmp,}
- $(TEX) $< $(STDERR)
+ pandoc -t $(MD_FORMAT) -s $< -o $@
# meta-section...
diff --git a/Master/texmf-dist/doc/latex/photobook/README.md b/Master/texmf-dist/doc/latex/photobook/README.md
index 13daa3c373a..7055717be06 100644
--- a/Master/texmf-dist/doc/latex/photobook/README.md
+++ b/Master/texmf-dist/doc/latex/photobook/README.md
@@ -28,7 +28,7 @@ $ make install
The `photobook` document class requires a set of modules to be installed
for it to function, the full list is included in the docs and can be
-printed by calling:
+generated and printed by calling:
```shell
$ make depends
```
@@ -39,7 +39,8 @@ For more info on `make` targets see the: [./Makefile](./Makefile)
# Documentation
-Pre-built documentation can be found on
+Pre-built documentation can be found in the
+[Github releases](https://github.com/flynx/photobook/releases/latest) or on
[CTAN](http://mirrors.ctan.org/macros/latex/contrib/photobook/photobook.pdf).
@@ -69,7 +70,7 @@ Build requirements for docs:
## Notes
-- The main refetence is inline with the source [photobook.cls](./photobook.cls)
+- The main reference is maintained inline with the source [photobook.cls](./photobook.cls)
thus it is both human-readable next to the code it documents and is
used to build the `photobook.pdf`.
Extracting the documentation source (`photobook*.tex`) is done
diff --git a/Master/texmf-dist/doc/latex/photobook/photobook.pdf b/Master/texmf-dist/doc/latex/photobook/photobook.pdf
index 5e785e73cf6..119574f6191 100644
--- a/Master/texmf-dist/doc/latex/photobook/photobook.pdf
+++ b/Master/texmf-dist/doc/latex/photobook/photobook.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/README.md b/Master/texmf-dist/doc/latex/polyglossia/README.md
index d0ba2a157a3..a3f65bbb9d6 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/README.md
+++ b/Master/texmf-dist/doc/latex/polyglossia/README.md
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v2.1
+# THE POLYGLOSSIA PACKAGE v2.2
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf
index 20caa55173c..4808227a41a 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf
+++ b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex
index 939f20665da..0e7a197b09d 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex
+++ b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex
@@ -4,7 +4,12 @@
\usepackage{xltxtra,url,amsmath}
\setmainfont{Linux Libertine O}
\defaultfontfeatures{Scale=MatchLowercase}
-\newfontfamily\arabicfont[Script=Arabic]{Amiri}
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}[%
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ Extension = .ttf,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic]
\newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
\newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq}
\let\XeTeX\undefined
diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf
deleted file mode 100644
index 394f0071ca0..00000000000
--- a/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf
deleted file mode 100644
index 61c74d82115..00000000000
--- a/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf
index 06feebd9740..dba7be728be 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf
+++ b/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-odia.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-odia.pdf
deleted file mode 100644
index a17158697c5..00000000000
--- a/Master/texmf-dist/doc/latex/polyglossia/example-odia.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf
index 12f2c1f0939..b291acb0b5e 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf
+++ b/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-uyghur.tex b/Master/texmf-dist/doc/latex/polyglossia/example-uyghur.tex
new file mode 100644
index 00000000000..b226e61f186
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/polyglossia/example-uyghur.tex
@@ -0,0 +1,128 @@
+% !TeX TS-program = xelatex
+\documentclass[a4paper]{book}
+\usepackage{polyglossia}
+\usepackage{graphicx}
+\usepackage{url,amsmath}
+
+\setmainlanguage{uyghur}
+\newfontfamily\arabicfont[Script=Arabic,Scale=1]{UKIJ Tuz}
+\let\arabicfonttt\ttfamily
+
+\setotherlanguage[variant=british]{english}
+
+\title{لاتÛكىس قوللانمىسى}
+\author{neouyghur}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\listoffigures
+
+\listoftables
+
+\pagenumbering{arabic}
+
+\chapter{ئۇيغۇرلار}
+
+\section{ئۇيغۇرلار ۋە ئۇلارنىڭ تۇرمۇش مەدەنىيىتى}
+
+ئۇيغۇرلار شىنجاڭ ئۇيغۇر ئاپتونوم رايونىنىڭ ھەقىقىي ئىگىلىرى Û‹Û• مىراسخورلىرى بولۇپ، بۇ رايوندا توپلىشىپ ياشايدىغان غوللۇق، يەرلىك مىللەت Û‹Û• ئاپتونومىيە ھوقۇقى يۈرگۈزگۈچى مىللەت. ئۇيغۇرلار پارچە ھالەتتە، جۇڭگونىڭ بىر قاتار Ú†ÙˆÚ­ شەھەرلىرىدە خىزمەت Û‹Û• تىجارەت قىلىدۇ. ئۇيغۇرلار شىنجاڭ ئۇيغۇر ئاپتونوم رايونىدىن باشقا، ÙŠÛ•Ù†Û• جۇڭگو، قازاقىستان، قىرغىزىستان، ئۆزبÛكىستان، تاجىكىستان، تۈركمەنىستان (ئاساسلىقى بايرام ئەلى رايونى)ØŒ پاكىستان، ئەرەبىستان، تۈركىيە، ئاۋسترالىيە، Ú¯Ûرمانىيە، نورۋىگىيە، گوللاندىيە، شىۋىتسىيە، Ùىنلاندىيە، بÛلگىيە، روسيە، ئامÛرىكا قاتارلىق دۆلەتلەردە كۆرۈنەرلىك نوپۇستا، مۇئەييەن جامائەت تۈركۈمى شەكلىدە ياشايدۇ.
+
+\begin{english}
+The \textbf{Uyghurs}\footnote{%
+ From \url{https://en.wikipedia.org/wiki/Uyghurs}} have traditionally inhabited a series of oases scattered across the Taklamakan Desert within the Tarim Basin. These oases have historically existed as independent states or were controlled by many civilizations including China, the Mongols, the Tibetans and various Turkic polities. The Uyghurs gradually started to become Islamized in the 10th century and most Uyghurs identified as Muslims by the 16th century. Islam has since played an important role in Uyghur culture and identity.
+\end{english}
+
+\section{نىكاھ}
+ئۇيغۇرلاردا نىكاھ مۇناسىۋىتى بىلەن چاي ئىچكۈزۈش، توي ئالدىدىكى مەسلىھەت چايلىرى، نىكاھ ئوقۇپ قىز-يىگىتنىڭ رازىلىقىنى ئÛلىش، توي مۇراسىمى، يىگىت-قىزلار ئولتۇرۇشى، قۇدىلار چىللاقلىرى ئىزچىل ساقلىنىپ كەلدى. ئۇيغۇرلاردا دەپنە مۇراسىمى ھەرقايسى دىنىي مەدەنىيەتلەر تەسىرىدە ھەرخىل بولسىمۇ، ئەمما Ù…Ûيىتنى پاكىزە ÙŠÛ‡ÙŠÛ‡Ù¾ ÙƒÛپەنلەش، ھازىدارلار ئاق رومال سÛلىپ، ئاق بەلۋاغ باغلاپ يىغا-زارە قىلىش، Ù…Ûيىتنىڭ نامىزىنى چۈشۈرۈش، جىنازىنى ئالمىشىپ تالىشىپ كۈتۈرۈپ قەبرىستانلىققا ئÛلىپ بÛرىش، لەھەتتە Ù…Ûيىتنىڭ يۈزىنى قىبلە (غەرب) تەرەپكە قىلىپ ياتقۇزۇش، ئىچ گۆرنىڭ ئاغزىنى ÙƒÛسەك بىلەن ئÛتىپ، تاش گۆرنى توپا بىلەن كۆمۈش، قەبرە بÛشىدا Ù…Ûيىتنىڭ ئىجابىي تەرىپىگە گۇۋاھلىق بÛرىش، قەبرە تÛشى-گۈمبەز ئورنىتىش، Ù…Ûيىتنىڭ يەتتە، قىرىق، يىل نەزىرلىرىنى ئۆتكۈزۈش ئادەتلىرى بىردەك ئىزچىل بۇلۇپ كەلدى. ئۇيغۇرلار Û‹Û• ئۇلارنىڭ ئەجدادلىرى Ù…Ûيىت سۆڭىكىنى كاھىش (ساپال) ساندۇققا سÛلىپ يەرلىككە قۇيۇش، Ù…Ûيىتنى تاش گۆرگە كۆمۈش، Ù…Ûيىتنى ئاستىغا ياغاچ شادا قويۇلغان گۆرگە ياتقۇزۇپ، ئۈستىگە قىزىل تۇپراق Û‹Û• Ù‚Û‡Ù… تۆكۈپ كۆمۈش، شام گۆرگە قويۇش قاتارلىق دەپنە قىلىش ئۇسۇللىرىنىمۇ قوللاندى.
+
+\section{Ú¾Ûيت-ئايەم}
+
+
+\begin{figure}
+ \begin{center}
+\includegraphics[scale=1]{example-image-a}
+\caption{ئا رەسىم.}
+ \end{center}
+\end{figure}
+
+\begin{table}
+\begin{center}
+ \begin{tabular}{||c c c c||}
+ \hline
+ Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
+ \hline\hline
+ 1 & 6 & 87837 & 787 \\
+ \hline
+ 2 & 7 & 78 & 5415 \\
+ \hline
+ 3 & 545 & 778 & 7507 \\
+ \hline
+ 4 & 545 & 18744 & 7560 \\
+ \hline
+ 5 & 88 & 788 & 6344 \\ [1ex]
+ \hline
+ \end{tabular}
+ \caption{بىر سىناق جەدۋەل}
+\end{center}
+\end{table}
+
+\begin{equation}
+ x^2 + y^2 = z^2
+ \label{test}
+\end{equation}
+
+
+\chapter{مەڭگۈ تاش يادىكارلىقلىرى}
+
+\section{تەس Ù…Û•Ú­Ú¯Ûˆ تÛشى}
+بۇ Ù…Û•Ú­Ú¯Ûˆ تاش يادىكارلىقى 1976- يىلى موڭغۇلىيەدىكى تەس دەرياسىنىڭ سول قىرغىدىكى نوغۇن تولغوي ئىگىزلىكىنىڭ ÙŠÛنىدىن تÛپىلغانلىقى ئۈچۈن، «تەس Ù…Û•Ú­Ú¯Ûˆ تÛشى» دەپ ئاتالغان. «تەس Ù…Û•Ú­Ú¯Ûˆ تÛشى» ئورخۇن ئۇيغۇر خانلىقى دەۋرىگە مەنسۇپ يادىكارلىقلارنىڭ ئىچىدە بۇزغۇنچىلىققا ئۇچرىشى ئÛغىرراق. ئەڭ مۇھىم بولغان يازما يادىكارلىق. ئۇنىڭدا بۆگۈ قاغان (759- 780- يىللار) ئەجدادى (دادىسى) بولغان ئەل ئەتمىش بىلگە قاغان (مويۇنچۇر، 747- 759- يىللار9 دەۋرىگىچە بولغان ئۇيغۇر قاغانلىرىنىڭ تارىخى، جۈملىدىن بىرىنچى Û‹Û• ئىككىنچى ئۇيغۇر خانلىقىنىڭ تەقدىرى. ÙƒÛ†Ù„ بىلگە قاغان Û‹Û• ئەل ئەتمىش بىلگە قاغان باشچىلىقىدىكى ئۈچىنچى ئۇيغۇر خانلىقىنىڭ بەرپا بولۇشى قاتارلىق مەسىلىلەر ھەققىدە مەلۇمات بÛرىلگەن. بۇ ھەقتىكى بىر قىسىم مەزمۇنلار كونا- ÙŠÛÚ­Ù‰ تاڭنامىلەردە ئۇچرىمايدۇ. شۇڭا تەس Ù…Û•Ú­Ú¯Ûˆ تÛشىدىكى مەلۇماتلار زور سÛلىشتۇرما قىممەتكە ئىگە. تەتقىقاتلارغا قارىغاندا، «تەس Ù…Û•Ú­Ú¯Ûˆ تÛشى» نىڭ ئاپتورى مويۇنچۇر قاغاننىڭ ÙŠÛقىن تۇققىنى تۈپەك ئالىپ Ø´Û‡Ù„ دÛÚ¯Û•Ù† كىشى بولۇپ، Ù…Û•Ú­Ú¯Ûˆ تاشنى قاغان ÙŠÛڭىدىن تەختكە چىققان ۋاقىتتا توغرىسى 761- 762- يىللىرى ئورنىتىلغان، دÛيىشكە بولىدۇ.
+
+
+\begin{table}
+ \begin{center}
+ \begin{tabular}{||c c c c||}
+ \hline
+ Col1 & Col2 & Col2 & Col3 \\ [0.5ex]
+ \hline\hline
+ 1 & 6 & 87837 & 787 \\
+ \hline
+ 2 & 7 & 78 & 5415 \\
+ \hline
+ 3 & 545 & 778 & 7507 \\
+ \hline
+ 4 & 545 & 18744 & 7560 \\
+ \hline
+ 5 & 88 & 788 & 6344 \\ [1ex]
+ \hline
+ \end{tabular}
+ \caption{يەنە بىر سىناق جەدۋەل}
+ \end{center}
+\end{table}
+
+\section{تÛرخىن Ù…Û•Ú­Ú¯Ûˆ تÛشى}
+
+\begin{figure}
+ \begin{center}
+ \includegraphics[scale=0.5]{example-image-b}
+ \caption{ب رەسىم.}
+ \end{center}
+\end{figure}
+
+\begin{thebibliography}{9}
+ \bibitem{latexcompanion}
+ Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+ \textit{The \LaTeX\ Companion}.
+ Addison-Wesley, Reading, Massachusetts, 1993.
+
+ \bibitem{einstein}
+ ئو. تۇرسۇن.
+ \textit{لاتÛكىست قوللانمىسى}. (ئۇيغۇرچە)
+ [\textit{بىر ژورنال}]. , 322(10):891–921, 1905.
+\end{thebibliography}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/polyglossia/examples.pdf b/Master/texmf-dist/doc/latex/polyglossia/examples.pdf
index 05d7cac61ce..ad1d2d4f693 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/examples.pdf
+++ b/Master/texmf-dist/doc/latex/polyglossia/examples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/examples.tex b/Master/texmf-dist/doc/latex/polyglossia/examples.tex
index 7e331b70d45..09beb075e70 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/examples.tex
+++ b/Master/texmf-dist/doc/latex/polyglossia/examples.tex
@@ -16,7 +16,12 @@
\setmainfont{Linux Libertine O}
\defaultfontfeatures{Scale=MatchLowercase}
\setmonofont{Inconsolata}
-\newfontfamily\arabicfont[Script=Arabic]{Amiri}
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}[%
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ Extension = .ttf,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic]
\newfontfamily\syriacfont[Script=Syriac]{Serto Jerusalem}
\newfontfamily\hebrewfont[Script=Hebrew]{Ezra SIL}
\newfontfamily\sanskritfont[Script=Devanagari]{Sanskrit 2003}
diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf
index d218332d9b0..f7b12a7bd6b 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf
+++ b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
index 1d4fc5e4aac..77fb0f02ac3 100644
--- a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
+++ b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
@@ -23,8 +23,10 @@
]{hyperref}
\usepackage{array}
\usepackage{metalogo}
-\let\XeTeX\undefined
-\let\XeLaTeX\undefined
+\ifxetex
+ \let\XeTeX\undefined
+ \let\XeLaTeX\undefined
+\fi
\usepackage[babelshorthands]{polyglossia}
\usepackage{farsical}
%
@@ -124,15 +126,23 @@
\usepackage[osf]{libertine}
% Monospace: Package dejavu-otf
\setmonofont[Scale=MatchLowercase]{DejaVuSansMono}
-% Libertine includes Hebrew, but we load it separately since
-% osf is not supported with this script and we want to avoid the
-% respective warnings
-\newfontfamily\hebrewfont[Script=Hebrew]{Linux Libertine O}
+% Package culmus
+\newfontfamily\hebrewfont[Script=Hebrew]{DavidCLM}[
+ UprightFont = *-Medium,
+ BoldFont = *-Bold,
+ Extension = .otf,
+ ItalicFont = *-MediumItalic,
+ BoldItalicFont = *-BoldItalic]
% Package dejavu-otf
\newfontfamily\armenianfont[Script=Armenian,Scale=MatchLowercase]{DejaVuSans}
\newfontfamily\georgianfont[Scale=MatchLowercase]{DejaVuSerif}
% Package amiri
-\newfontfamily\arabicfont[Script=Arabic]{Amiri-Regular}
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}[%
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ Extension = .ttf,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic]
% No Syriac otf/ttf font seems available on CTAN
% This one, from the Syriac Institute, is included on Linux
% in the x11-fonts set and can be downloaded from
@@ -457,7 +467,7 @@ Table~\ref{tab:BCP47-polyglossia} lists the currently supported tags.
dv & divehi & \tabularnewline
el & greek & \tabularnewline
el-monoton & greek & variant=monotonic [\emph{default}] \tabularnewline
- el-polyton & greek & varant=polytonic \tabularnewline
+ el-polyton & greek & variant=polytonic \tabularnewline
en & english & \tabularnewline
en-AU & english & variant=australian \tabularnewline
en-CA & english & variant=canadian \tabularnewline
@@ -771,13 +781,25 @@ see sec.~\ref{sec:langtags}).
\section{Font setup}
-With polyglossia it is possible to associate a specific font with any script or language
+With \pkg{polyglossia} it is possible to associate a specific font with any script or language
that occurs in the document. That font should always be defined as
-\cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}.
+\cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}. Note that ¦⟨language⟩¦ points to the \pkg{polyglossia}
+language name, ¦⟨script⟩¦ might point either to an OpenType script name as defined by \pkg{fontspec}
+(\eg ¦Latin¦) \new{2.2}or a BCP-47 script tag (\eg ¦Latn¦), though the script is fully lower-cased
+in the \cmd{\⟨script⟩font}\ command.
+
For instance, if the default font defined by \cmd\setmainfont\
does not support Greek, then one can define the font used to display Greek with:\\
-\centerline{ \cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}. }
-Note that polyglossia will use the font defined as is, so assure to do all necessary settings
+\centerline{\cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}}
+%
+If you want to setup a blackletter font specifically for the German blackletter script variant,
+you might do so by:\\
+\centerline{\cmd\newfontfamily\cmd{\latffont[\meta{…}]\marg{font}}}
+%
+Setting up a font specifically for traditional Chinese is possible via:\\
+\centerline{\cmd\newfontfamily\cmd{\hantfont[Script=CJK,\meta{…}]\marg{font}}}
+%
+Note that \pkg{polyglossia} will use the font defined as is, so assure to do all necessary settings
(please refer to the \pkg{fontspec} documentation for details).
For instance, if \cmd\arabicfont\ is explicitly defined, then the option ¦Script=Arabic¦ should
be included in that definition.
@@ -787,10 +809,12 @@ it can be defined by means of \new{1.2.0}
\cmd{\⟨script⟩fontsf} or \cmd{\⟨language⟩fontsf} and \cmd{\⟨script⟩fonttt} or \cmd{\⟨language⟩fonttt}, respectively.
Whenever a new language is activated, \pkg{polyglossia} will first check whether
-a font has been defined for that language or – for languages in non-Latin scripts –
-for the script it uses. If it is not defined, it will use the currently active font
-and – in the case of OpenType fonts – will attempt to turn on the appropriate
-OpenType tags for the script and language used, in case these are available in
+a font has been defined for that language. If this is not the case, it will check whether a font associated
+with the BCP-47 script tag of the current language is defined. If this also isn't the case, \pkg{polyglossia}
+will finally check (but this only for languages in non-Latin scripts) whether there is a font associated
+with the OpenType script tag. If none of these fonts is defined, \pkg{polyglossia} will use the currently
+active font as defined by ¦\setmainfont¦, ¦\setsansfont¦ or ¦\setmonofont¦ and – in the case of OpenType fonts –
+will attempt to turn on the appropriate OpenType tags for the script and language used, in case these are available in
the font, by means of \pkg{fontspec}’s \cmd\addfontfeature. If the current font
does not appear to support the script of that language, an error message is
displayed.
@@ -1585,7 +1609,7 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas
\end{table}
\item \xpgchoicekey[1.46]{hyphenation}{\xpgvalue{classic}, \xpgvalue{modern}, or \xpgvalue{liturgical}}
There are three different sets of hyphenation patterns for Latin. Separate
- documention for them is available on the
+ documentation for them is available on the
Internet.\footnote{Refer to \url{https://github.com/gregorio-project/hyphen-la/blob/master/doc/README.md\#hyphenation-styles}}
Each of the four variants mentioned above has its default set of hyphenation
patterns as indicated by table \ref{tab:latin-hyphenation}. Use the
@@ -1657,7 +1681,7 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas
\item[¦'AE¦] for Ǽ (AE ligature with acute), also available for \'Œ
\end{shorthands}
\item \xpgboolkeyfalse[1.46]{prosodicshorthands}
- Enable shorthands for prosodic marks (macrons and breves) very similiar to
+ Enable shorthands for prosodic marks (macrons and breves) very similar to
those provided by \pkg{babel-latin} using the ¦withprosodicmarks¦
modifier.
Note that the active ¦=¦ character used for macrons will cause problems with
@@ -2563,7 +2587,7 @@ in Hebrew script or in roman transliteration).
\subsection{Islamic calendar (hijrical.sty)}\label{sec:hijrical}
This package computes dates in the lunar Islamic (Hijra) calendar.\footnote{ %
It makes use of the arithmetical algorithm in chapter 6 of
- Reingold \& Gershowitz, \textit{Calendrical calculation: the Millenium edition}
+ Reingold \& Gershowitz, \textit{Calendrical calculation: the Millennium edition}
(Cambridge University Press, 2001).\label{reingold}}
It provides two macros for the end-user.
The command
@@ -2698,6 +2722,31 @@ where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta
\bgroup\footnotesize
+\subsection*{2.2 (2024/07/15)}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+ \item Fix \texttt{lang} environment (\TXI{633}).
+ \item Fix first number of Maghrib abjad numbering for Algeria, Morocco and
+ Tunisia (\TXI{640}).
+ \item Fix some captions strings in Bulgarian, Chinese, Esperanto, Estonian, Hindi,
+ Latvian, and Slovak (\TXP{651})
+ \item Improve performance with multilingual documents that have a TOC (\TXI{641}).
+\end{itemize}
+
+\subsubsection*{New Features}
+\begin{itemize}
+ \item Add possibility to associate a font to a language/variant with reference to
+ a BCP-47 script tag (\TXI{636}).
+\end{itemize}
+
+\subsubsection*{Internal work}
+\begin{itemize}
+ \item The major rewrite of the package code has been finished. More code has been cleaned up,
+ and \pkg{polyglossia} employs modern concepts (\pkg{latex3} and modern \LaTeXe).
+ All key-val handling uses \pkg{l3keys} now rather than \pkg{xkeyval}.
+\end{itemize}
+
\subsection*{2.1 (2024/03/07)}
\subsubsection*{Bug fixes}
@@ -3756,7 +3805,7 @@ where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta
\section{Acknowledgements (by François Charette)}
\pkg{Polyglossia} is notable for being a recycle box of previous contributions
by other people. I take this opportunity to thank the following individuals,
-whose splendid work has made my task almost trivial in comparision: \TA{Johannes
+whose splendid work has made my task almost trivial in comparison: \TA{Johannes
Braams} and the numerous contributors to the \pkg{babel} package (in particular
\TA{Boris Lavva} and others for its Hebrew support), \TA{Alexej Kryukov} (\pkg{antomega}),
\TA{Will Robertson} (\pkg{fontspec}), \TA{Apostolos Syropoulos} (\pkg{xgreek}), \TA{Youssef Jabri}
@@ -3783,7 +3832,7 @@ Many thanks to all the people who have contributed bugfixes and new features to
since we took over.
In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Matthew Bertucci}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz},
\TA{Ashok Das}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Philipp Gesang}, \TA{Kevin Godby},
-\TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime},
+\TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Stephen Huan}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime},
\TA{Mike Kroutikov}, \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{Gyula Magyarkuti}, \TA{José Mancera}, \TA{Miquel Ortega},
\TA{Yevgen Pogribnyi}, \TA{Will Robertson}, \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg},
\TA{Marcin Serwin}, \TA{Arvinder Singh}, \TA{Avisek Jena}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka},
diff --git a/Master/texmf-dist/doc/latex/polyglossia/test-welsh.pdf b/Master/texmf-dist/doc/latex/polyglossia/test-welsh.pdf
deleted file mode 100644
index 8f18eb1e9df..00000000000
--- a/Master/texmf-dist/doc/latex/polyglossia/test-welsh.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyomino/README.md b/Master/texmf-dist/doc/latex/polyomino/README.md
new file mode 100644
index 00000000000..7f3c8023ad0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/polyomino/README.md
@@ -0,0 +1,25 @@
+# `polyomino`
+
+## Polyominoes using Ti*k*Z and LaTeX3
+
+Version 1.0 (2024/08/01)
+
+This package is based on the package [Ti*k*Z](https://ctan.org/pkg/pgf) and can be used to draw polyominoes. It is possible to define custom styles, pics and grids.
+
+%% README.md
+%% Copyright 2024 Matthias Floré
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Matthias Floré.
+%
+% This work consists of the files polyomino.pdf, polyomino.sty,
+% polyomino.tex and README.md. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/polyomino/polyomino.pdf b/Master/texmf-dist/doc/latex/polyomino/polyomino.pdf
new file mode 100644
index 00000000000..597c00c4db5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/polyomino/polyomino.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/polyomino/polyomino.tex b/Master/texmf-dist/doc/latex/polyomino/polyomino.tex
new file mode 100644
index 00000000000..c512cec8959
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/polyomino/polyomino.tex
@@ -0,0 +1,278 @@
+%% polyomino.tex
+%% Copyright 2024 Matthias Floré
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Matthias Floré.
+%
+% This work consists of the files polyomino.pdf, polyomino.sty,
+% polyomino.tex and README.md.
+\documentclass[a4paper,english,dvipsnames]{ltxdoc}
+\usepackage[english]{babel}
+\usepackage{graphicx}
+\usepackage[a4paper,left=2.25cm,right=2.25cm,top=2.5cm,bottom=2.5cm,nohead]{geometry}
+\usepackage{parskip}
+\usepackage{iftex}
+\ifluatex
+\else
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\fi
+\usepackage{mathtools}
+\usepackage{amssymb}
+\allowdisplaybreaks
+\usepackage{pdflscape}
+\usepackage{polyomino}
+\input{pgfmanual-en-macros.tex}
+\usepackage{codehigh}
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\renewcommand{\headrulewidth}{0pt}
+\fancyhead{}
+\ExplSyntaxOn
+\NewExpandableDocumentCommand \repeatnumber {}
+ { \prg_replicate:nn { \thepage } { * } }
+\ExplSyntaxOff
+\fancyfoot[C]{\IfRefUndefinedExpandable{Thesourcecode}{}{\begin{tikzpicture}[scale=0.9]
+\polyomino[
+ grid,
+ p={*}{style={teal,draw=black}}
+]{\repeatnumber}
+\end{tikzpicture}}}
+\usepackage[nottoc]{tocbibind}
+\usepackage{imakeidx}
+\makeindex[program=makeindex,columns=2,intoc=true]
+\indexsetup{othercode={\thispagestyle{fancy}}}
+\AtEndPreamble{\hypersetup{%
+linktoc=all,
+pdfstartview=FitH,
+colorlinks=true,
+linkcolor=Mahogany,
+citecolor=ForestGreen,
+urlcolor=MidnightBlue,
+bookmarksnumbered=true,
+pdftitle={The polyomino package},
+pdfauthor={Matthias Floré},
+pdfsubject={Manual},
+pdfkeywords={polyomino}}}
+\setcounter{tocdepth}{2}
+\setcounter{secnumdepth}{2}
+\title{The \texttt{polyomino} package\\[12pt]\large Polyominoes using \tikzname{} and \LaTeX3}
+\author{Matthias Floré}
+\date{Version 1.0 (2024/08/01)}%\\[12pt]
+\begin{document}
+\maketitle
+\thispagestyle{fancy}
+\begin{abstract}
+\noindent This package is based on the package |tikz| (see \cite{TtTaPGFp}) and can be used to draw polyominoes. It is possible to define custom styles, pics and grids.% This is the manual for version .
+\end{abstract}
+\tableofcontents
+\section{Usage}
+The package |polyomino| can be used by putting the following in the preamble.
+\begin{codeexample}[code only]
+\usepackage{polyomino}
+\end{codeexample}
+The package |polyomino| loads the package |tikz|.
+\section{The command \textbackslash polyomino}
+\begin{command}{\polyomino\opt{\oarg{options}}\marg{polyomino specification}}
+This command can be placed inside a |tikzpicture| environment. The \meta{polyomino specification} is a token list. Spaces in this list are ignored. With the initial settings, a |,| starts a new row. Otherwise each element in this list corresponds to a cell. An element can consist of multiple characters by surrounding it with braces. The \meta{options} can be given with the keys described in Section \ref{Keys}.
+\begin{codeexample}[width=8cm]
+\pgfkeys{
+ /polyomino,
+ p={F}{style={blue,draw=black,ultra thick}},
+ p={I}{style={brown,draw=black,ultra thick}},
+ p={L}{style={cyan,draw=black,ultra thick}},
+ p={N}{style={gray,draw=black,ultra thick}},
+ p={P}{style={lime,draw=black,ultra thick}},
+ p={T}{style={magenta,draw=black,ultra thick}},
+ p={U}{style={olive,draw=black,ultra thick}},
+ p={V}{style={orange,draw=black,ultra thick}},
+ p={W}{style={pink,draw=black,ultra thick}},
+ p={X}{style={purple,draw=black,ultra thick}},
+ p={Y}{style={red,draw=black,ultra thick}},
+ p={Z}{style={teal,draw=black,ultra thick}}
+}
+\begin{tikzpicture}
+\polyomino[
+ grid
+]{
+ UUUVVV,
+ UXUZZV,
+ XXXFZV,
+ IXFFZZ,
+ ILLFFT,
+ ILNTTT,
+ ILNWWT,
+ ILNNWW,
+ PPPNYW,
+ PPYYYY
+}
+\end{tikzpicture}
+\end{codeexample}
+The algorithm constructs the border of each polyomino. It does not consider holes determined by empty cells. Although it does detect a cell inside a polyomino which has a different style. This is illustrated in the example below.
+\begin{codeexample}[width=10cm]
+\begin{tikzpicture}[scale=0.8]
+\polyomino[
+ p={a}{style={gray,draw=black,thick}}
+]{
+ aaaaa,
+ a.a.a,
+ aaaaa
+}
+\polyomino[
+ at={(0,-4)},
+ p={a}{style={gray,draw=black,thick}},
+ p={*}{style={white,draw=black,thick}}
+]{
+ aaaaa,
+ a*a*a,
+ aaaaa
+}
+\end{tikzpicture}
+\end{codeexample}
+\end{command}
+\section{Keys}\label{Keys}
+The keys in this Section can be given as \meta{options} to the command |\polyomino|.
+
+There are two key families: |/polyomino| and |/polyomino/p_2|. The key family |/polyomino| is intended for usage in documents whereas |/polyomino/p_2| is not. In the key family |/polyomino|, also keys from the key family |/polyomino/p_2| will be looked up. The second argument from the key |p| only accepts keys from the key family |/polyomino/p_2|.
+\begin{key}{/polyomino/at=\marg{point} (initially (0,0))}
+This key defines the bottom left coordinate of the polyomino.
+\end{key}
+\begin{key}{/polyomino/p\_2/connected}
+This key sets the |pic| type (which is activated by the key |pic|) to false. This is the initial setting.
+\end{key}
+\begin{key}{/polyomino/p\_2/discrete}
+This key sets the |pic| type (which is activated by the key |pic|) to true.
+\end{key}
+\begin{key}{/polyomino/empty cell=\marg{token list} (initially .)}
+A cell corresponding to the \meta{token list} in the \meta{polyomino specification} will be left empty.
+
+A cell corresponding to the empty token list will always be left empty.
+\end{key}
+\begin{key}{/polyomino/grid=\opt{\meta{boolean}} (default true, initially false)}
+If true then a grid is drawn. The grid does not apply to borders of polyominoes. The style of this grid is determined by the key |grid style|. A grid does not apply to a cell with a |pic|.
+\end{key}
+\begin{stylekey}{/polyomino/grid style=\marg{options} (initially \normalfont empty)}
+This key determines the style of the grid.
+\begin{codeexample}[width=6.5cm]
+\begin{tikzpicture}[rotate=90]
+\polyomino[
+ grid,
+ grid style={gray,dash pattern=on 3mm off 4mm on 3mm off 0mm},
+ p={L}{style={darkgray,draw=black}},
+ p={P}{style={green,draw=black}},
+ p={T}{style={violet,draw=black}},
+ p={V}{style={yellow,draw=black}}
+]{
+ LTVVV,
+ LTTTV,
+ LTPPV,
+ LLPPP
+}
+\end{tikzpicture}
+\end{codeexample}
+\end{stylekey}
+\begin{stylekey}{/polyomino/p\_2/p=\marg{name}\marg{options} (initially \normalfont empty)}
+This key determines the style of the polyomino with \meta{name} in the \meta{polyomino specification}.
+
+The \meta{options} only accept keys from the key family |/polyomino/p_2|.
+
+In the example below, the polyominoes have the same shape but are differentiated by using different names.
+\begin{codeexample}[width=10cm]
+\begin{tikzpicture}
+\pgfkeys{
+ /polyomino,
+ p={a}{},
+ p={b}{},
+ style={fill=none,draw}
+}
+\def\example{
+ aa,
+ ab,
+ ab,
+ bb
+}
+\polyomino{\example}
+\polyomino[
+ at={(2,0)}
+]{\example}
+\end{tikzpicture}
+\end{codeexample}
+\end{stylekey}
+\begin{key}{/polyomino/p\_2/pic=\marg{code}}
+The \meta{code} defines the |pic| which is used for each cell of the polyomino.
+
+A grid does not apply to a cell with a |pic|.
+\begin{codeexample}[width=7cm]
+\begin{tikzpicture}
+\polyomino[
+ empty cell=*,
+ grid,
+ p={a}{style={red,draw=black}},
+ p={b}{style={blue,draw=black}},
+ p={c}{style={orange,draw=black}},
+ p={circle}{pic={\fill[green] (0,0) circle[radius=0.4];}},
+ row sep=;
+]{
+ {} * * b {} c ;
+ a a b b {circle} c ;
+ {circle} a a b c c
+}
+\end{tikzpicture}
+\end{codeexample}
+\begin{codeexample}[width=5cm]
+\begin{tikzpicture}
+\polyomino[
+ p={circle}{
+ pic={\path[pic actions] (0,0) circle[radius=0.45];},
+ style={right color=cyan,left color=red,draw,dashed}
+ },
+ p={L}{
+ pic={
+ \fill[yellow!80!black] (-0.5,-0.5) rectangle +(1,1);
+ \fill[yellow!50,rounded corners] (-0.4,-0.4) rectangle +(0.8,0.8);
+ }
+ },
+ p={square}{
+ pic={\path[pic actions] (-0.45,-0.45) rectangle +(0.9,0.9);},
+ style={fill=magenta,draw,rounded corners}
+ }
+]{
+ L {circle} {square} {square} ,
+ L {circle} {circle} {square} ,
+ L L {circle} {circle}
+}
+\end{tikzpicture}
+\end{codeexample}
+\end{key}
+\begin{key}{/polyomino/row sep=\marg{token list} (initially ,)}
+The \meta{token list} in the \meta{polyomino specification} will start a new row.
+\end{key}
+\begin{stylekey}{/polyomino/p\_2/style=\marg{options} (initially \normalfont empty)}
+This key determines the style of the polyomino.
+\end{stylekey}
+\begin{thebibliography}{9}
+\bibitem{TtTaPGFp}
+Till Tantau,
+\emph{The \tikzname{} and {\upshape\pgfname} Packages},
+Manual for version 3.1.10,
+\url{https://ctan.org/pkg/pgf},
+2023.
+\end{thebibliography}
+\printindex
+\newgeometry{left=2.25cm,right=2.25cm,top=2.25cm,bottom=2.25cm}
+\pagestyle{plain}
+\appendix
+\begin{landscape}
+\section{The source code}\label{Thesourcecode}
+\dochighinput[language=latex/latex3]{polyomino.sty}
+\end{landscape}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf b/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf
index 1ae91515fbc..fc1cf0d3af0 100644
--- a/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf
index 58f1d6981d2..7454d1cce01 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf
index ea2f749d324..51238cf5712 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf
index 2d7130fcb9c..fa4b8cdbb5e 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf
index d7a945978b7..80a889d85b0 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf
index 75b679b50df..4881557ce02 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf
index e1d1b6af197..3caf07a14ac 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf
index f7b843c631f..7c94d43d135 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf
index 1c53f875a00..0278d89b9f0 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf
index c9e6daca454..542174e6f05 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf
index f702632cf35..3ecab9d63bb 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf
index ca3b90abcc8..607860d6e6f 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf
index 95a09523d9a..26e21be7b93 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf
index 0021b1cbd3b..b1dca2b1174 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf
index 67424c3e0ca..499104658be 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf
index 362ff7012a3..f5f58e81d62 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf
index 0fe795532ad..abaf67b4f6f 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf
index ad48933ba24..3cda9762d0e 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf
index e68f4f3b491..c543daa1685 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf
index ed0755c95b9..9030d23e946 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf
index a0e92d1b909..53b0429efc5 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
index 22f3ac9ed37..7872a6a918e 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf
index 6edc466546e..d751ef78ffe 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf
index ae6daea2f39..d05683ac0ac 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf
index 65e77b6045b..71adb5d7bb3 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
index 7864905fc58..3d12b5b07bb 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
index 147ece90398..36e59042160 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
index bc2e485aa77..df79382ca80 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
index a53aafd3657..d68d98ff29c 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf
index b873ef26349..448dea3da89 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
index 4437bcd188e..37ac4daee67 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
index 0c36cb95649..d69077e19b3 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
index 073be3c769d..692832cc520 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
index 7a13994ca43..bf85737443f 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
index 5dbce101618..e9fb82d3458 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
index 4c574e496bc..6136c9957b8 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf
index 012bb74b4e6..0fea810dc61 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
index fc67986e5af..b492f691216 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf
index 58d08bf3bdd..d4643edcb39 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
index 36f63213865..09f3b726021 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf
index db1ccbc5a7c..4ccf4308cd4 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
index d71f06d80e9..000ffd301c6 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
index c6186efd4de..3baa1de9869 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
index a36ab701dd8..7a63bced17a 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
index 33338d8f638..e68462600d2 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf
index c8200f5ff5f..120bdeb43a4 100644
--- a/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/migration.pdf b/Master/texmf-dist/doc/latex/reledmac/migration.pdf
index 50d46b721ed..1512a20fea9 100644
--- a/Master/texmf-dist/doc/latex/reledmac/migration.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/migration.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf b/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf
index bc1f8b20f92..bf4c1a04d6d 100644
--- a/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf b/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf
index 84a3fd4ec0c..09730ec178a 100644
--- a/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf
+++ b/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdf b/Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdf
index 31caef6e5df..cb574aa07cc 100644
--- a/Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdf
+++ b/Master/texmf-dist/doc/latex/reptheorem/reptheorem.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/rpgicons/README.md b/Master/texmf-dist/doc/latex/rpgicons/README.md
index e889b70b03d..6de01a25869 100644
--- a/Master/texmf-dist/doc/latex/rpgicons/README.md
+++ b/Master/texmf-dist/doc/latex/rpgicons/README.md
@@ -1,4 +1,4 @@
-![Version 1.8.3](https://img.shields.io/badge/version-1.8.3-blue)
+![Version 1.8.4](https://img.shields.io/badge/version-1.8.4-blue)
<img width="200" alt="rpgicons-example" src="https://github.com/jasperhabicht/rpgicons/assets/6378801/81a1d0aa-7a4f-4f83-bbdc-3bc3332023b2" />
diff --git a/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdf b/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdf
index 7fa0c036d70..dc0bce82b90 100644
--- a/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdf
+++ b/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex b/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex
index 7eef59a1a40..9aebfdcd528 100644
--- a/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex
+++ b/Master/texmf-dist/doc/latex/rpgicons/rpgicons-doc.tex
@@ -11,8 +11,8 @@
% This work has the LPPL maintenance status `maintained'.
%
\documentclass[a4paper]{article}
-\def\rpgiconsfileversion{1.8.3}
-\def\rpgiconsfiledate{15 May 2024}
+\def\rpgiconsfileversion{1.8.4}
+\def\rpgiconsfiledate{8 August 2024}
\usepackage[T1]{fontenc}
\usepackage{Alegreya}
@@ -262,6 +262,7 @@
\changes{v1.8.0}{2024/03/24}{Unified wrapper to load either package variant.}
\changes{v1.8.2}{2024/04/28}{Roll dice syntax for PGF variant.}
\changes{v1.8.3}{2024/05/15}{Minor compatibility fix. Example of how to use pics added to ducumentation.}
+\changes{v1.8.3}{2024/05/15}{Bug fix in evocation spellschool shape. Unification of frames in PGF and L3 variants.}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md b/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md
index fa60e6d1b07..2d81b57f6fb 100644
--- a/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md
@@ -7,6 +7,36 @@ and this project adheres to
## [Unreleased]
+## [v4.3.2] – 2024–08–12
+
+### Fixed
+
+- Prevent line break in the lower back title if one added a manual line break
+ using `\\` to the title in order to layout it properly for the front title
+ page.
+
+## [v4.3.1] – 2024–07–31
+
+### Added
+
+- Add a hint on the usage of `scrreprt` as the base class if one wants to have
+ numbered bibliography or appendices.
+- Add section in the documentation on the usage of babel, its shorthands for
+ German and English to re-enable hyphenation of compound words, and the
+ conflicting package `hyphenat`.
+
+### Fixed
+
+- Fix list of implicitly loaded packages.
+
+## [v4.3.0] – 2024–07–23
+
+### Fixed
+
+- The spelling bachelor thesis and master thesis are widely used but seem to be
+ wrong. According to the Oxford English Dictionary, the spelling shall be
+ bachelor's thesis and master's thesis.
+
## [v4.2.0] – 2024–06–25
### Fixed
@@ -237,7 +267,10 @@ These changes might be breaking changes!
### Added
- First official release
-[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.2.0...HEAD
+[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.3.2...HEAD
+[v4.3.2]: https://github.com/se2p/se2thesis/compare/v4.3.2...v4.3.1
+[v4.3.1]: https://github.com/se2p/se2thesis/compare/v4.3.1...v4.3.0
+[v4.3.0]: https://github.com/se2p/se2thesis/compare/v4.3.0...v4.2.0
[v4.2.0]: https://github.com/se2p/se2thesis/compare/v4.2.0...v4.1.0
[v4.1.0]: https://github.com/se2p/se2thesis/compare/v4.1.0...v4.0.3
[v4.0.3]: https://github.com/se2p/se2thesis/compare/v4.0.3...v4.0.2
diff --git a/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf b/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf
index 703086bd373..4d224fe981f 100644
--- a/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf
+++ b/Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf b/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf
index 84789f2fc38..e37c07abf4f 100644
--- a/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf
+++ b/Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf
index 3d8180932bc..5fa9dd30481 100644
--- a/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf
+++ b/Master/texmf-dist/doc/latex/sillypage/sillypage-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf b/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf
index 3efa13e7d7d..60305403ac9 100644
--- a/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf
+++ b/Master/texmf-dist/doc/latex/sillypage/sillypage.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md b/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md
index 1c81cd5e7a5..e5e9b95b0dc 100644
--- a/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md
@@ -7,6 +7,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.3.20] - 2024-08-01
+
+### Fixed
+- Avoid rounding up when residual is exactly zero (see issue
+ [\#742](https://github.com/josephwright/siunitx/issues/742))
+
## [v3.3.19] - 2024-06-24
### Fixed
@@ -2120,7 +2126,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.19...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.20...HEAD
+[v3.3.20]: https://github.com/josephwright/siunitx/compare/v3.3.19...v3.3.20
[v3.3.19]: https://github.com/josephwright/siunitx/compare/v3.3.18...v3.3.19
[v3.3.18]: https://github.com/josephwright/siunitx/compare/v3.3.17...v3.3.18
[v3.3.17]: https://github.com/josephwright/siunitx/compare/v3.3.16...v3.3.17
diff --git a/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf b/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf
index 5f4841816e6..95f55e6cac8 100644
--- a/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf
+++ b/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf b/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf
index 9d1c9d36dbf..93a003d7f5c 100644
--- a/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf
+++ b/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/spbmark/README.md b/Master/texmf-dist/doc/latex/spbmark/README.md
index 0826a540bcf..9fe0dc2c5c8 100644
--- a/Master/texmf-dist/doc/latex/spbmark/README.md
+++ b/Master/texmf-dist/doc/latex/spbmark/README.md
@@ -1,5 +1,5 @@
# The `spbmark` package
-Customize superscripts and subscripts (v1.46m)
+Customize superscripts and subscripts (v1.46n)
## Abstract
`spbmark` provides three commands `\super`, `\sub` and `\supersub` to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode.
@@ -11,5 +11,5 @@ This work may be distributed and/or modified under the conditions of the CC-BY 4
| [Gitee](https://gitee.com/texno3/spbmark) | [Github](https://github.com/texno3/spbmark) | [CTAN](https://ctan.org/pkg/spbmark) |
## Maintainer
-QuYi<br/>
+Qu Yi<br/>
Email: toquyi@163.com \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/spbmark/spbmark.pdf b/Master/texmf-dist/doc/latex/spbmark/spbmark.pdf
index dc82cf45776..c0f3a420770 100644
--- a/Master/texmf-dist/doc/latex/spbmark/spbmark.pdf
+++ b/Master/texmf-dist/doc/latex/spbmark/spbmark.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/spbmark/spbmark.tex b/Master/texmf-dist/doc/latex/spbmark/spbmark.tex
index af31659b21c..d452fd09044 100644
--- a/Master/texmf-dist/doc/latex/spbmark/spbmark.tex
+++ b/Master/texmf-dist/doc/latex/spbmark/spbmark.tex
@@ -1,14 +1,14 @@
\documentclass[load-preamble+]{cnltx-doc}
-\usepackage{siunitx,setspace,pifont,hologo,changelog,enumitem}
+\usepackage{siunitx,setspace,hologo,changelog,enumitem}
\usepackage[spbmark]{altsubsup}
\usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry}
\usepackage[noto]{newtxmath}
\setcnltx
{
package = spbmark,
- version = v1.46m,
- date = 2024/07/10,
+ version = v1.46n,
+ date = 2024/07/14,
authors = Qu Yi,
info = Customize superscripts and subscripts,
email = toquyi@163.com,
diff --git a/Master/texmf-dist/doc/latex/subeqn/CATALOG b/Master/texmf-dist/doc/latex/subeqn/CATALOG
new file mode 100644
index 00000000000..9d420c825f1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/subeqn/CATALOG
@@ -0,0 +1,17 @@
+Name: subeqn
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams, Donald Arsenau, Stephen Gildea
+Version: 2.0c
+
+Description:
+
+The subeqn package implements an extension to LaTeXs's equation
+and eqnarray environments in order to be able to put labels on
+individual expressions. To this end two now environments are defined:
+subequations and subeqnarray.
+
+Keywords: latex equations,
+
+Address:
+TeXniek
+The Netherlands
diff --git a/Master/texmf-dist/doc/latex/subeqn/MANIFEST b/Master/texmf-dist/doc/latex/subeqn/MANIFEST
new file mode 100644
index 00000000000..4fe2a9a1565
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/subeqn/MANIFEST
@@ -0,0 +1,19 @@
+%
+% CONTENTS OF THE SUBEQN PACKAGE
+% ==============================
+%
+% README -- A short introduction
+% MANIFEST -- A list of files
+% CATALOG -- An entry for the macro catalog
+%
+% subeqn.dtx -- A package to number subexpressions of an equation;
+% originally by Stephen Gildea,
+% rewritten by Donald Arsenau,
+% updated for LaTeX2e by Johannes Braams
+% subeqn.pdf -- A `printed´ version of subeqn.dtx
+% subeqn-sample.pdf -- The `printed' version of the sample file
+%
+% Installation script for the various parts:
+% -------------------------------------------
+%
+% subeqn.ins -- produces subeqn.sty and subeqn-sample.tex
diff --git a/Master/texmf-dist/doc/latex/subeqn/README b/Master/texmf-dist/doc/latex/subeqn/README
new file mode 100644
index 00000000000..25f16dbe879
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/subeqn/README
@@ -0,0 +1,14 @@
+ subeqn bundle
+
+ July 20, 2024
+
+This bundle contains a package that extends the functionality
+of LaTeX's equation and eqnarray environments.
+It provides the environments subequations and subeqnarray.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/Master/texmf-dist/doc/latex/subeqn/manifest.txt b/Master/texmf-dist/doc/latex/subeqn/manifest.txt
deleted file mode 100644
index 58e7cdb2219..00000000000
--- a/Master/texmf-dist/doc/latex/subeqn/manifest.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-%
-% CONTENTS OF THE SUBEQN PACKAGE
-% ==============================
-%
-% manifest.txt -- This file
-%
-% subeqn.dtx -- A package to number subexpressions of an equation;
-% originally by Stephen Gildea,
-% rewritten by Donald Arsenau,
-% updated for LaTeX2e by me
-% subeqn.pdf -- A `printed´ version of subeqn.dtx
-%
-% Installation script for the various parts:
-% -------------------------------------------
-%
-% subeqn.ins -- produces subeqn.sty and subeqn.tex
diff --git a/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.pdf b/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.pdf
new file mode 100644
index 00000000000..ae4bd5c4670
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/subeqn/subeqn.tex b/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.tex
index 6e2f67a639b..a169b7a658a 100644
--- a/Master/texmf-dist/doc/latex/subeqn/subeqn.tex
+++ b/Master/texmf-dist/doc/latex/subeqn/subeqn-sample.tex
@@ -1,23 +1,24 @@
%%
-%% This is file `subeqn.tex',
+%% This is file `subeqn-sample.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% subeqn.dtx (with options: `sample')
+%% This is a generated file.
%%
-%% Copyright (C) 1999-2004 Johannes Braams. All rights reserved.
+%% Copyright (C) 1999-2024 Johannes Braams. All rights reserved.
%%
%% This file was generated from file(s) of the subeqn package.
%% -----------------------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3Ñ
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
+%% and version 1.3Ñ or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%%
@@ -28,23 +29,25 @@
%% without such generated files.
%%
%% The list of all files belonging to the subeqn package is
-%% given in the file `manifest.txt.
+%% given in the file `MANIFEST'.
%%
%% The list of derived (unpacked) files belonging to the distribution
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-%% File: `subeqn.dtx'
-%% Copyright (C) 1999-2004
-%% Donald Arsenau (asnd at reg.triumf.ca),
-%% Johannes Braams (TeXniek at braams.cistron.nl)
-%%
-\ProvidesFile{subeqn.tex}
- [2004/04/15 v2.0b subnumbering of equations]
+\ProvidesFile{subeqn-sample.tex}
+ [2024/07/21 v2.0c subnumbering of equations]
\documentclass{article}
\usepackage{subeqn}
\begin{document}
-This is an example ot the use of the \texttt{subeqations} package.
+\title{Sample sub-equations}
+\author{Johannes L. Braams}
+\date{\today}
+\maketitle
+
+\noindent
+This is an example of the use of the \texttt{subeqations}
+package. First we have a normal \textsf{equation} environment.
\begin{equation}
\label{a}
a^2 + b^2 = c^2
@@ -71,6 +74,7 @@ Now we start sub-numbering.
and~\ref{c2}.
\end{subequations}
+\noindent
Now lets start a \textsf{subeqnarray} environment.
\begin{subeqnarray}
\label{d}
@@ -81,4 +85,4 @@ This was equation~\ref{d}, with parts~\ref{d1} and~\ref{d2}.
\end{document}
\endinput
%%
-%% End of file `subeqn.tex'.
+%% End of file `subeqn-sample.tex'.
diff --git a/Master/texmf-dist/doc/latex/subeqn/subeqn.pdf b/Master/texmf-dist/doc/latex/subeqn/subeqn.pdf
index e2247d3fdc1..bf29789b713 100644
--- a/Master/texmf-dist/doc/latex/subeqn/subeqn.pdf
+++ b/Master/texmf-dist/doc/latex/subeqn/subeqn.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/subeqnarray/CATALOG b/Master/texmf-dist/doc/latex/subeqnarray/CATALOG
new file mode 100644
index 00000000000..5e037823f88
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/subeqnarray/CATALOG
@@ -0,0 +1,17 @@
+Name: subeqnarray
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams, Donald Arsenau, Stephen Gildea
+Version: 2.1e
+
+Description:
+
+The subeqnarray package provides two new environments subeqnarray and
+subeqnarray* which behave like LaTeX's eqnarray and subeqnarray environments
+except the individual lines are numbered like 1a, 1b, 1c etc.
+This package is not compatible with the package subeqn.
+
+Keywords: latex equations,
+
+Address:
+TeXniek
+The Netherlands
diff --git a/Master/texmf-dist/doc/latex/subeqnarray/manifest.txt b/Master/texmf-dist/doc/latex/subeqnarray/MANIFEST
index f54bba3c8a8..7c253639719 100644
--- a/Master/texmf-dist/doc/latex/subeqnarray/manifest.txt
+++ b/Master/texmf-dist/doc/latex/subeqnarray/MANIFEST
@@ -2,14 +2,18 @@
% CONTENTS OF THE SUBEQNARRAY PACKAGE
% ===================================
%
-% manifest.txt -- This file
+% README -- A short introduction
+% MANIFEST -- A list of files
+% CATALOG -- An entry for the macro catalog
%
% subeqnarray.dtx -- Numbering of individual lines of an eqnarray
% environment as subexpressions; not compatible
% with subeqn.dtx
-% subeqnarray.pdf -- A `printed´ version of subeqnarray.dtx
+% subeqnarray.pdf -- A `printed´ version of subeqnarray.dtx
+% subeqnarray-sample.pdf -- The `printed' versino of the sample file
%
% Installation script for the various parts:
% -------------------------------------------
%
% subeqnarray.ins -- produces subeqnarray.sty and subeqnarray.tex
+
diff --git a/Master/texmf-dist/doc/latex/subeqnarray/README b/Master/texmf-dist/doc/latex/subeqnarray/README
new file mode 100644
index 00000000000..e52f27f0bb9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/subeqnarray/README
@@ -0,0 +1,16 @@
+ subeqnarray bundle
+
+ July 20, 2024
+
+This bundle contains a package that provides two new environments
+subeqnarray and subeqnarray* which behave like LaTeX's eqnarray and
+subeqnarray environments except the individual lines are numbered like
+1a, 1b, 1c etc.
+This package is not compatible with the package subeqn.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.pdf b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.pdf
new file mode 100644
index 00000000000..2345c08f589
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.tex b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.tex
index c119fe16b10..b2a63516d3f 100644
--- a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.tex
+++ b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray-sample.tex
@@ -1,23 +1,23 @@
%%
-%% This is file `subeqnarray.tex',
+%% This is file `subeqnarray-sample.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% subeqnarray.dtx (with options: `sample')
%%
-%% Copyright (C) 1999-2004 Johannes Braams. All rights reserved.
+%% Copyright (C) 1999-2024 Johannes Braams. All rights reserved.
%%
%% This file was generated from file(s) of the subeqnarray package.
%% ----------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%%
@@ -33,20 +33,20 @@
%% The list of derived (unpacked) files belonging to the distribution
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-%% Copyright (C) 1988--2004 by Johannes Braams,
-%% all rights resserved
%%
%% Error reports please to: J. Braams
%% TeXniek
-%% Kooienswater 62
-%% 2715 AJ Zoetermeer
-%% The Netherlands
-%% Email: texniek at braams.cistron.nl
-\ProvidesFile{subeqnarray.tex}
- [2004/04/15 v2.1c subeqnarray package]
+%% Email: texniek at texniek.nl
+\ProvidesFile{subeqnarray-sample.tex}
+ [2024/07/20 v2.1e subeqnarray package]
\documentclass[fleqn]{article}
\usepackage{subeqnarray}
\begin{document}
+\title{Sample subeqnarray}
+\author{Johannes L. Braams}
+\date{\today}
+\maketitle
+
This document shows an example of the use of the \emph{subeqnarray}
environment. Here is one:
\begin{subeqnarray}
@@ -76,4 +76,4 @@ These are equations~\ref{eq10},~\ref{eq11} and~\ref{eq12}.
\end{document}
\endinput
%%
-%% End of file `subeqnarray.tex'.
+%% End of file `subeqnarray-sample.tex'.
diff --git a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdf b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdf
index 937120f21dc..d69c2335130 100644
--- a/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdf
+++ b/Master/texmf-dist/doc/latex/subeqnarray/subeqnarray.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/supertabular/CATALOG b/Master/texmf-dist/doc/latex/supertabular/CATALOG
index 8c582730505..b6438f4bcfc 100644
--- a/Master/texmf-dist/doc/latex/supertabular/CATALOG
+++ b/Master/texmf-dist/doc/latex/supertabular/CATALOG
@@ -1,7 +1,7 @@
Name: supertabular (also called supertab)
-Problems-To: texniek@braams.xs4all.nl
+Problems-To: texniek@texniek.nl
Author: J.L. Braams and T. Jurriens
-Version: 4.1g
+Version: 4.2c
Description:
@@ -23,6 +23,4 @@ ISBN 0-201-54199-8.
Address:
TeXniek
-Kersengaarde 33
-2723 BP Zoetermeer
The Netherlands
diff --git a/Master/texmf-dist/doc/latex/supertabular/MANIFEST b/Master/texmf-dist/doc/latex/supertabular/MANIFEST
index bcd27adbf44..3015e0edd5a 100644
--- a/Master/texmf-dist/doc/latex/supertabular/MANIFEST
+++ b/Master/texmf-dist/doc/latex/supertabular/MANIFEST
@@ -1,6 +1,6 @@
-README - A short introduction
-MANIFEST - A list of files
-CATALOG - An entry for the macro catalog
+00readme.tx - A short introduction
+manifest.txt - A list of files
+catalog.txt - An entry for the macro catalog
Changelog - An overview of the changes to the package
supertabular.dtx - The documented version of the code, including a couple
of examples of how to use it. Needs supertabular.sty
diff --git a/Master/texmf-dist/doc/latex/supertabular/README b/Master/texmf-dist/doc/latex/supertabular/README
index ccd7c596a50..9de0746460e 100644
--- a/Master/texmf-dist/doc/latex/supertabular/README
+++ b/Master/texmf-dist/doc/latex/supertabular/README
@@ -13,9 +13,9 @@ The files contained in this bundle are listed in the file MANIFEST
Supertabular can be used with LaTeX2e as a package.
-Copyright (C) 1989 - 2020 Johannes L. Braams texniek at braams.xs4all.nl
+Copyright (C) 1989 - 2024 Johannes L. Braams texniek at texniek.nl
This program can be redistributed and/or modified under the terms
of the LaTeX Project Public License Distributed from CTAN
archives in directory macros/latex/base/lppl.txt; either
-version 1 of the License, or any later version.
+version 1.3c of the License, or any later version.
diff --git a/Master/texmf-dist/doc/latex/supertabular/ChangeLog b/Master/texmf-dist/doc/latex/supertabular/supertabular.bug
index 1dedbe6cd47..7c340f0a997 100644
--- a/Master/texmf-dist/doc/latex/supertabular/ChangeLog
+++ b/Master/texmf-dist/doc/latex/supertabular/supertabular.bug
@@ -1,8 +1,29 @@
-2020-02-02 Johannes Braams <texniek at braams.xs4all.nl>
+2021-02-14 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: Issue a \penalty-\@M instead of \newpage when
+ moving the first part of a supertabular to the next page to
+ prevent the first two rows from opverlapping.
+
+2021-02-14 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: When the tablehead and/or tabletail are not
+ defeined the internal macros that store their arguments need to
+ remain empty as well. Otherwise the algorithm will always think
+ there's a head and tail with a height of 2.5 pt.
+
+2020-06-27 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: the new algorithm for calculating the height
+ of the row broke old documents, especially when small font sizes
+ are used. Made the new algorithm optional (calculate versus
+ estimate) and make sure the row height covers super- and
+ subscripts.
+
+2020-02-02 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Replaced the way the height of normal tabular
lines is calculated by basing it on the height and depth of
- \strutbox. This also ment being able to take the \extrarowheight
+ \strutbox. This also meant being able to take the \extrarowheight
from the array package into account.
Also the height of the first and subsequent heads was not taken
into account in the calculation of the available pageheigt. This
@@ -14,25 +35,25 @@
\pagesofar. Therefore we substract a little extra from
\ST@pageleft.
-2020-01-26 Johannes Braams <texniek at braams.xs4all.nl>
+2020-01-26 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Updated the copyright year and rearranged the
text around the examples in order to get the first table to split
accross a page boundary again.
-2019-01-18 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-18 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: The linenumber in the tracing information, that
is reported from within \\, is off by one when the optional
argument is missing. Therefore the input linenumber is now saved
before TeX starts scanning. Problem reported by Frank Mittelbach.
-2019-01-16 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-16 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: The option "pageshow" didn't work as it set a
too low value in \c@tracingst. Problem reported by Frank
Mittelbach.
-2019-01-12 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-12 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The definition for the first table head was
different from the definition of the regular table heads.
This problem was reported by FMi as it produced an extra table in
@@ -44,7 +65,7 @@
themselves although this couteracts the change that was introduced
on 08-08-1999.
-2001-08-21 Johannes Braams <texniek at braams.xs4all.nl>
+2001-08-21 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The macro \ST@next needs to be defined when
\ST@skippage was called. Therefore I moved the default definition
@@ -52,7 +73,7 @@
is called; possibly defined by \ST@newpage. This problem was
reported by Andrew Dorrell <dorrell@research.canon.com.au>.
-1999-08-08 Johannes Braams <texniek at braams.xs4all.nl>
+1999-08-08 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : No longer re-initialize the internal variable
\@table@first@head and \@table@last@tail. This made it impossible
@@ -61,20 +82,20 @@
redeclaring the firsthead and/or lasttail. Reported by Christian
Matuszewski <matuszew@informatik.uni-halle.de>.
-Fri Nov 7 20:27:27 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Fri Nov 7 20:27:27 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : For standard LaTeX we need to change
\@@startpbox not \@startpbox. Found by Peter R Wilson
- <Peter.Wilson@PSS.Boeing.com>
+ <Peter.Wilson@PSS.Boeing.com>.
-Wed Oct 8 22:35:40 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Oct 8 22:35:40 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Running the documentation revealed a loop;
inside the table tail and head \\ was reset to \@tabularcr instead
of to \@@tabularcr (now: \org@tabularcr). First found by Thomas
- Esser <te@informatik.uni-hannover.de>
+ Esser <te@informatik.uni-hannover.de>.
-Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Added the mpsupertabular and mpsupertabular*
environments provided by Axel Kielhorn <A.Kielhorn@tu-bs.de>;
@@ -84,14 +105,14 @@ Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at braams.xs4all.nl>
The calculation of the available height still missed the case
where TeX has already begun the second column.
-Thu Sep 18 00:31:55 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Sep 18 00:31:55 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The \tablehead and \tabletail commands reset
the command \\; they used \cr for it. That should have been
\@tabularcr to properly deal with it's optional argument.
Found by Axel Kielhorn <A.Kielhorn@tu-bs.de>
-Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : In two column mode the parameters that
determine how much space is left on the page were not correctly
@@ -99,7 +120,7 @@ Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at braams.xs4all.nl>
completely.
Found by Jeffrey Spielberg <jspielberg@infinet-software.com>
-Tue May 20 23:46:08 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Tue May 20 23:46:08 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : \shrinkheight didn't shrink the available
height for a part of the tabular (as documented); it just *set* it
@@ -109,26 +130,26 @@ Tue May 20 23:46:08 1997 Johannes Braams <texniek at braams.xs4all.nl>
\@table@last@tail are undefined; this shoud be done globally.
Found by Axel Kielhorn <A.Kielhorn@tu-bs.de>
-Sat Apr 12 23:37:33 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Sat Apr 12 23:37:33 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Added \ST@stretchht and \ST@prevht to improve
decision process. \estimate@lineht now also computes the
difference between a normal line height and when \arraystretch is
in effect.
-Thu Apr 10 23:33:07 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Apr 10 23:33:07 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Had to repaire some documentation errors.
(found by Thomas Esser <te@informatik.uni-hannover.de>)
-Wed Apr 9 00:29:36 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Apr 9 00:29:36 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Only the first part of a supertabular can be
moved to the next page. Therefore we need to change the definition
of \ST@skippage in the middle of processing the supertabular data.
-Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Using a tabular environment in the cells of a
supertabular gives `interesting' results when the algorithm
@@ -136,14 +157,14 @@ Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
tabular. A number of changes were necessary to make this work.
Found by Axel Kielhorn <i0080108@ws.rz.tu-bs.de>
-Thu Feb 20 23:29:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Feb 20 23:29:18 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Renamed \tableformat into \ST@tableformat
because the KOPMA-packages also use \tableformat and therefore
clashed with babel.
Found by Axel Kielhorn <i0080108@ws.rz.tu-bs.de>
-Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx (section{The Implementation}): Removed the use
of the page height correction for p-columns; the current algorithm
@@ -155,7 +176,7 @@ Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at braams.xs4all.nl>
page on a calculated minimum height of the table. The minimum is
the head, the tail and 1 line of tabular data.
-Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Started a cleanup of the code, made source
file a full fledged .dtx file
@@ -168,7 +189,7 @@ Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at braams.xs4all.nl>
% jurriens at fwn.rug.nl P.O Box 800, 9700 AV Groningen
%
% revised by: Johannes Braams
-% texniek at braams.xs4all.nl TeXniek (NL)
+% texniek at texniek.nl TeXniek (NL)
% \def\fileversion{3.7c}
% \def\filename{supertabular sty}
% \def\filedate{1995/10/16}
diff --git a/Master/texmf-dist/doc/latex/supertabular/supertabular.pdf b/Master/texmf-dist/doc/latex/supertabular/supertabular.pdf
index 444cbfdcd75..a24a8c865c4 100644
--- a/Master/texmf-dist/doc/latex/supertabular/supertabular.pdf
+++ b/Master/texmf-dist/doc/latex/supertabular/supertabular.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tablvar/README.md b/Master/texmf-dist/doc/latex/tablvar/README.md
index 565ed9c0499..0be4d44111f 100644
--- a/Master/texmf-dist/doc/latex/tablvar/README.md
+++ b/Master/texmf-dist/doc/latex/tablvar/README.md
@@ -6,8 +6,8 @@
- A complete and easy to use package for typesetting pretty tables of signs and variations according to French usage.
- The syntax is similar to that of the array environment and uses intuitive position commands.
- Arrows are automatically drawn (with PSTricks or TikZ).
-- Macros are provided for drawing double bars, single bars crossing the zeros, intervals where a function is not defined or for placing special values.
-- Several features of variations tables can be customized.
+- Macros are provided for drawing double bars, single bars crossing zero values, intervals where a function is not defined or for placing special values.
+- Many features of variations tables can be customized.
## Documentation
@@ -18,7 +18,7 @@ The documentation is in French.
## Installation
- run LaTeX on tablvar.ins, you obtain the file tablvar.sty,
-- if then you run XeLaTeX or LaTeX + dvips + ps2pdf on tablvar.dtx you get the file tablvar.pdf which is also in the archive,
+- if then you run LaTeX + dvips + ps2pdf on tablvar.dtx you get the file tablvar.pdf which is also in the archive,
- put the files tablvar.sty and tablvar.pdf in your TeX Directory Structure.
diff --git a/Master/texmf-dist/doc/latex/tablvar/tablvar.pdf b/Master/texmf-dist/doc/latex/tablvar/tablvar.pdf
index 7f5962d8fc7..d949a47be31 100644
--- a/Master/texmf-dist/doc/latex/tablvar/tablvar.pdf
+++ b/Master/texmf-dist/doc/latex/tablvar/tablvar.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tagpdf/README.md b/Master/texmf-dist/doc/latex/tagpdf/README.md
index 9602302c2a2..edcdc6b5e6e 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/README.md
+++ b/Master/texmf-dist/doc/latex/tagpdf/README.md
@@ -1,6 +1,6 @@
#tagpdf — A package to create tagged pdf
-Packageversion: 0.99c
-Packagedate: 2024/06/20
+Packageversion: 0.99d
+Packagedate: 2024/08/02
Author: Ulrike Fischer, LaTeX Project Team
## License
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf
index 37673eac26e..9ba962e1e33 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf
@@ -1,11 +1,11 @@
%PDF-2.0
%ÌÕÁÔÅØÐÄÆ
22 0 obj
-<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240620175033+02'00') /Size 151 /CheckSum (4C0D15859D9BA750E65BE6F420DEA972) >> /Length 151 >>
+<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240802125547+02'00') /Size 151 /CheckSum (D4716966C44F441B4E4C1D2DD929683B) >> /Length 151 >>
stream
%% LaTeX2e file `example-input-file.tex'
%% generated by the `filecontents' environment
-%% from source `ex-AF-file' on 2024/06/20.
+%% from source `ex-AF-file' on 2024/08/02.
%%
Additional info!
@@ -15,7 +15,7 @@ endobj
<< /Type /Filespec /AFRelationship /Unspecified /F (example-input-file.tex) /UF <FEFF006500780061006D0070006C0065002D0069006E007000750074002D00660069006C0065002E007400650078> /EF<</F 22 0 R/UF 22 0 R>> >>
endobj
25 0 obj
-<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 19 >>
+<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 19 >>
stream
Bär with teh shirt
endstream
@@ -24,7 +24,7 @@ endobj
<< /Type /Filespec /AFRelationship /Supplement /F (tag-AFfile1.txt) /UF <FEFF007400610067002D0041004600660069006C00650031002E007400780074> /EF<</F 25 0 R/UF 25 0 R>> >>
endobj
28 0 obj
-<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 4 >>
+<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 4 >>
stream
Duck
endstream
@@ -242,17 +242,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:50:54+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:56:09+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-AF-file.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:50:54+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:50:54+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:50:54+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:56:09+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:56:09+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:56:09+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:38d5a844-2217-4081-87cc-b2129dc357a6</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:9859f422-c856-46c6-8928-4dfab5f8790c</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:3ff2b426-7c06-4861-8f14-4e8e04ac9b4c</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -347,7 +347,7 @@ endobj
<< /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >>
endobj
19 0 obj
-<< /Type /Namespace /NS (data:,15379C35-DB3-5B3E-89A5-42149DCFB2F) >>
+<< /Type /Namespace /NS (data:,BBA64916-90D9-A0B9-F592-8E68FD20F532) >>
endobj
8 0 obj
[ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ]
@@ -449,7 +449,7 @@ endobj
<< /Type /Catalog /Pages 36 0 R /MarkInfo 37 0 R/Lang (de-DE)/Metadata 31 0 R/StructTreeRoot 5 0 R >>
endobj
46 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175054+02'00')/ModDate (D:20240620175054+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125609+02'00')/ModDate (D:20240802125609+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 47
@@ -458,10 +458,10 @@ xref
0000000003 00000 f
0000000004 00000 f
0000000010 00000 f
-0000016360 00000 n
+0000016362 00000 n
0000013627 00000 n
0000013838 00000 n
-0000015790 00000 n
+0000015792 00000 n
0000014417 00000 n
0000000012 00000 f
0000014485 00000 n
@@ -474,34 +474,34 @@ xref
0000015425 00000 n
0000015703 00000 n
0000000000 00000 f
-0000015851 00000 n
+0000015853 00000 n
0000000020 00000 n
0000000382 00000 n
-0000015964 00000 n
+0000015966 00000 n
0000000603 00000 n
0000000758 00000 n
-0000016096 00000 n
+0000016098 00000 n
0000000943 00000 n
0000001083 00000 n
-0000016228 00000 n
+0000016230 00000 n
0000001268 00000 n
0000013481 00000 n
0000013346 00000 n
0000012740 00000 n
-0000020113 00000 n
-0000020467 00000 n
+0000020115 00000 n
+0000020469 00000 n
0000013591 00000 n
0000013684 00000 n
0000013801 00000 n
-0000016480 00000 n
-0000018929 00000 n
-0000016666 00000 n
-0000019150 00000 n
-0000020267 00000 n
-0000020529 00000 n
-0000020647 00000 n
+0000016482 00000 n
+0000018931 00000 n
+0000016668 00000 n
+0000019152 00000 n
+0000020269 00000 n
+0000020531 00000 n
+0000020649 00000 n
trailer
-<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <CB0601DB4D9A68774E7E29190E0D5823> <CB0601DB4D9A68774E7E29190E0D5823> ] >>
+<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <E2F9D94DBDFC11D2EE5801BA51FD5C99> <E2F9D94DBDFC11D2EE5801BA51FD5C99> ] >>
startxref
-20870
+20872
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf
index 8bbbbcc16c0..f64d4e66bfe 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf
index 172ce029909..feda9e252ac 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf
@@ -216,17 +216,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:51:49+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:57:08+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-attribute.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:51:49+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:51:49+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:51:49+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:57:08+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:57:08+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:57:08+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:7a9cf910-1c19-429a-8f24-339c62d8a57f</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:d4b89449-5e1d-43cf-83af-3903105d1b3f</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:b262e437-7e89-4c42-8e29-bedae4c498b6</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -450,7 +450,7 @@ endobj
<< /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de_DE)/Metadata 21 0 R/StructTreeRoot 5 0 R >>
endobj
38 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240620175149+02'00')/ModDate (D:20240620175149+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240802125708+02'00')/ModDate (D:20240802125708+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 39
@@ -494,7 +494,7 @@ xref
0000017721 00000 n
0000017839 00000 n
trailer
-<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <658202793A4D39DC44497E1203173F04> <658202793A4D39DC44497E1203173F04> ] >>
+<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <2033D8BFB67E1F1EDFB190E1DEC10A2C> <2033D8BFB67E1F1EDFB190E1DEC10A2C> ] >>
startxref
18076
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf
index 9ac7a851bc9..637338d16f2 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf
@@ -239,17 +239,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:52:18+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:57:37+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-formula-problem.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:52:18+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:52:18+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:52:18+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:57:37+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:57:37+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:57:37+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:8eb2ce1d-b2ec-440a-8bc2-73733eb3eeb0</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:b48ac58a-5b57-46ab-8ab8-087479364eeb</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:8fbc3896-5f57-401a-81d8-1fdb02abac8a</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>2</prism:pageCount>
</rdf:Description>
@@ -425,7 +425,7 @@ endobj
<< /Type /Catalog /Pages 16 0 R /MarkInfo 23 0 R/Lang (de-DE)/Metadata 19 0 R/StructTreeRoot 5 0 R >>
endobj
33 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175218+02'00')/ModDate (D:20240620175218+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125737+02'00')/ModDate (D:20240802125737+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 34
@@ -464,7 +464,7 @@ xref
0000018886 00000 n
0000019004 00000 n
trailer
-<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <4A2EBD4B9A1971E2BAF6A530303DF07B> <4A2EBD4B9A1971E2BAF6A530303DF07B> ] >>
+<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <84EDE341B761805B059537E407E8C0CD> <84EDE341B761805B059537E407E8C0CD> ] >>
startxref
19227
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf
index 2346b0398a9..381477d8292 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:52:47+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:58:08+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-list.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:52:47+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:52:47+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:52:47+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:58:08+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:58:08+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:58:08+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:4c749825-1de7-414c-879f-29e4d0bef66e</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:843c5ce9-108a-49d8-86ef-881382f178ee</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:0803684d-fad7-4d08-8dc2-c5108f24d889</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -654,7 +654,7 @@ endobj
<< /Type /Catalog /Pages 54 0 R /MarkInfo 55 0 R/Lang (en)/Metadata 48 0 R/StructTreeRoot 5 0 R >>
endobj
72 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175247+02'00')/ModDate (D:20240620175247+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125808+02'00')/ModDate (D:20240802125808+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 73
@@ -732,7 +732,7 @@ xref
0000029590 00000 n
0000029705 00000 n
trailer
-<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <14B40F363BE2C4EFB96EAE91DC2CE4F7> <14B40F363BE2C4EFB96EAE91DC2CE4F7> ] >>
+<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <0EE2DD31789AD5C7E80F8407D72CF075> <0EE2DD31789AD5C7E80F8407D72CF075> ] >>
startxref
29928
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf
index 70cfe5e7937..6d60e107364 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf
@@ -243,17 +243,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:53:22+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:58:35+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-mc-manual-para-split-obsolete.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:53:22+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:53:22+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:53:22+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:58:35+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:58:35+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:58:35+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:c33d64b4-96ec-4e48-8f27-0b3edc831547</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:36712ce3-22f3-4c4a-8418-0427448d178a</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:075c36f4-757d-4e0f-8258-3c0a3e372d69</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>2</prism:pageCount>
</rdf:Description>
@@ -413,7 +413,7 @@ endobj
<< /Type /Catalog /Pages 14 0 R /Lang (de)/Metadata 15 0 R >>
endobj
25 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175322+02'00')/ModDate (D:20240620175322+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125835+02'00')/ModDate (D:20240802125835+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 26
@@ -444,7 +444,7 @@ xref
0000023894 00000 n
0000023972 00000 n
trailer
-<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <2A141E41EDA78C2ADA31A952D041C439> <2A141E41EDA78C2ADA31A952D041C439> ] >>
+<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <1A7EFBAD198841A82D20467F858B3B6C> <1A7EFBAD198841A82D20467F858B3B6C> ] >>
startxref
24195
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf
index 5f96db2bdbf..09a8d8aca07 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:53:55+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:01+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-softhyphen.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:53:55+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:53:55+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:53:55+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:59:01+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:01+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:01+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:aa82e685-4098-469d-861c-3c45dfc700c7</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:9c8a342f-f758-4367-8d05-7621809f3e05</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:994c7ab3-d509-4a5b-88b5-92bca5031c75</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -393,7 +393,7 @@ endobj
<< /Type /Catalog /Pages 19 0 R /MarkInfo 20 0 R/Lang (de)/Metadata 14 0 R/StructTreeRoot 5 0 R >>
endobj
30 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175355+02'00')/ModDate (D:20240620175355+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125901+02'00')/ModDate (D:20240802125901+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 31
@@ -429,7 +429,7 @@ xref
0000018113 00000 n
0000018228 00000 n
trailer
-<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <5BCC76B86A64606D9B117AF50FFA18AE> <5BCC76B86A64606D9B117AF50FFA18AE> ] >>
+<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <EECF5F575625EC21F0BEE870E572FEB1> <EECF5F575625EC21F0BEE870E572FEB1> ] >>
startxref
18451
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf
index 21b11b9346f..35e1d0609af 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:54:22+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:25+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-spaceglyph-listings.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:54:22+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:54:22+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:54:22+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:59:25+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:25+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:25+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:acdc2435-bf29-4e54-8d09-1c9b6dc32038</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:ad8487cb-8dcc-4cab-8542-55106010deec</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:c59181fc-bb69-430b-8f90-90206d3ba579</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -354,7 +354,7 @@ endobj
<< /Type /Catalog /Pages 15 0 R /MarkInfo 16 0 R/Lang (de)/Metadata 10 0 R/StructTreeRoot 5 0 R >>
endobj
26 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175422+02'00')/ModDate (D:20240620175422+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125925+02'00')/ModDate (D:20240802125925+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 27
@@ -386,7 +386,7 @@ xref
0000015485 00000 n
0000015600 00000 n
trailer
-<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <50A5738B4CABF76A4CC27558811B7E58> <50A5738B4CABF76A4CC27558811B7E58> ] >>
+<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <EC0A5DEABF5EE1A293FAD60891A0BF63> <EC0A5DEABF5EE1A293FAD60891A0BF63> ] >>
startxref
15823
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf
index 7c9c135bf7a..73ce1c06022 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:54:47+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:50+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-structure-obsolete.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:54:47+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:54:47+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:54:47+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:59:50+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:50+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:50+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:bf5e4a2b-cfa9-4fc5-878c-8f9d2ee95445</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:971e1e25-37c4-4af9-8523-72714a87dea7</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:2ccba557-e5ae-4703-80db-28b73a88c1cd</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -526,7 +526,7 @@ endobj
<< /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de)/Metadata 20 0 R/StructTreeRoot 5 0 R >>
endobj
43 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175447+02'00')/ModDate (D:20240620175447+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125950+02'00')/ModDate (D:20240802125950+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 44
@@ -575,7 +575,7 @@ xref
0000023423 00000 n
0000023538 00000 n
trailer
-<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <ADB87D57539D5CE2A8FC3A4721B94DA0> <ADB87D57539D5CE2A8FC3A4721B94DA0> ] >>
+<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <AE5400E970AB8EBE6C04A229EBA70E89> <AE5400E970AB8EBE6C04A229EBA70E89> ] >>
startxref
23761
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf
index 81423fede4f..7147cd1e913 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:55:14+02:00</rdf:li>
+ <rdf:li>2024-08-02T13:00:16+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-tagpdf-template.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:55:14+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:55:14+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:55:14+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T13:00:16+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T13:00:16+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T13:00:16+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:f320abfc-f6ab-4d12-8719-d176f4d947cf</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:898c4009-cc18-43c3-8fda-44ab8e28318c</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:3b4409f1-f3e5-4c01-86c4-a0bcea68ea38</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -307,7 +307,7 @@ endobj
<< /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >>
endobj
19 0 obj
-<< /Type /Namespace /NS (data:,69C62BB9-6D5A-6FC9-FD75-56BC71E087F4) >>
+<< /Type /Namespace /NS (data:,25352333-84F8-941A-42AB-414B46468294) >>
endobj
8 0 obj
[ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ]
@@ -399,7 +399,7 @@ endobj
<< /Type /Catalog /Pages 31 0 R /MarkInfo 32 0 R/Lang (en)/Metadata 26 0 R/StructTreeRoot 5 0 R >>
endobj
42 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175514+02'00')/ModDate (D:20240620175514+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802130016+02'00')/ModDate (D:20240802130016+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 43
@@ -447,7 +447,7 @@ xref
0000017842 00000 n
0000017957 00000 n
trailer
-<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <E36FE13F3FA0066C1F9796E38E50018C> <E36FE13F3FA0066C1F9796E38E50018C> ] >>
+<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <42D962292B4982520E998D32C837DE43> <42D962292B4982520E998D32C837DE43> ] >>
startxref
18180
%%EOF
diff --git a/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex b/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex
index ef07c33e95b..1a1036d282d 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex
+++ b/Master/texmf-dist/doc/latex/tagpdf/link-figure-input.tex
@@ -27,7 +27,7 @@
\NewDocumentCommand\balloon{m}{%
\node[fit={(pic cs:#1-first) (pic cs:#1-end)
([yshift=7pt]pic cs:#1-end)},balloon](#1){};}
-\begin{tikzpicture}[overlay,remember picture]
+\begin{tikzpicture}[overlay,remember picture,alt={Illustration of link annotation structure}]
\balloon{link}
\balloon{structparent}
\balloon{OBJR}
@@ -45,7 +45,7 @@
\draw[ref] (kid)--(OBJR);
\draw[ref] (OBJR)--(linkref);
\end{tikzpicture}
-\begin{lstlisting}[name=OBJR]
+\begin{taglstlisting}[name=OBJR]
*\tikzmark{link-first}*18 0 obj*\tikzmark{link-end}* %Link Object
<< /Type /Annot /Subtype/Link
/Rect [ 196.109 494.573 399.167 506.831 ]
@@ -67,4 +67,4 @@ endobj};
<< /Nums
[... *\tikzmark{pnum-first}*16*\tikzmark{pnum-end}* *\tikzmark{pref-first}*17 0 R*\tikzmark{pref-end}* ...] >>
endobj
-\end{lstlisting}
+\end{taglstlisting}
diff --git a/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png b/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png
new file mode 100644
index 00000000000..4474bc989f1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tagpdf/pac2024-report.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png b/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png
new file mode 100644
index 00000000000..1bc12bdafe4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tagpdf/pac2024-version.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf
index 4dd216d1a95..76e839d0d50 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf
index 04d46c2fbfc..f7c6ea02a36 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf
+++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex
index ac1c33fa4a8..10d36d09a0d 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex
+++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex
@@ -16,8 +16,8 @@
}
\DebugBlocksOff
\makeatletter
-\def\UlrikeFischer@package@version{0.99c}
-\def\UlrikeFischer@package@date{2024-06-20}
+\def\UlrikeFischer@package@version{0.99d}
+\def\UlrikeFischer@package@date{2024-08-02}
\makeatother
\documentclass[bibliography=totoc,a4paper]{article}
@@ -338,13 +338,15 @@ improvements and new features in the \LaTeX\ kernel, the latex-lab bundle and
the \PDF\ management code and is now much better. Only a few
structures---mostly some from currently unsupported packages--- still need
manual tagging. But sadly the output of the validators don't quite reflect
-the improvements. The documentation uses now \PDF~2.0 and PAC~2024 can't handle
-this, it claims that the file is damaged. The Adobe validator has a bug and
+the improvements. The documentation uses now \PDF~2.0 and while the newest
+PAC~2024 can at least open the file it can not validate properly the file. For example
+it complains about the tabular header cells as it doesn't follow attribute classes.
+The Adobe validator has a bug and
doesn't like the (valid) use of the \texttt{Lbl} tag for the section numbers
(see figure~\ref{fig:adobe}).
-But even if the documentation passed the tests of the validators: as
+But even if the documentation would pass all the tests of the validators: as
mentioned above passing a formal test doesn't mean that the content is really
good and usable. The user commands used for the tagging and also some of the
patches used are still rather crude. So there is lot space for improvement.
@@ -354,8 +356,9 @@ Be aware that to create the tagged version a current lualatex-dev and a
current version of the pdfmanagment-testphase package is needed.
\end{tcolorbox}
-\includegraphics[alt=PAC 3 report]{pac3}
+\includegraphics[alt=PAC 2024 complains about PDF version]{pac2024-version}
+\includegraphics[alt=PAC 2024 complains about table header cells]{pac2024-report}
\begin{figure}
@@ -504,6 +507,10 @@ The key-val list understands at least the following keys. More keys are defined
least \PrintKeyName{activate/mc} has been used.
The old name of the key |interwordspace| is still supported but deprecated.
+\item[\PrintKeyName{activate/softhyphen}] Boolean. luamode only.
+ The key activates/deactivates the replacing of hard hyphens from hyphenation
+ by soft hyphens. By default this is activated.
+
\item[\PrintKeyName{role/new-tag}] Allows to define new tag names, see
section \ref{sec:new-tag} for a description.
@@ -721,11 +728,8 @@ To tag a \PDF{} three tasks must be carried out:
\minisec{Page stream with marked content}
-\tagpdfparaOff
-
-\tagstructbegin{tag=Figure,alt={Illustration of page stream with marked content},attribute=bbox}%
-\tagmcbegin{tag=Figure}%
-\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture]
+\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture,
+alt={Illustration of page stream with marked content}]
\node(start){\ldots~\ldots~\ldots};
\node[draw,base right = of start](a) {mc-chunk 1};
\node[draw,base right = of a](b) {mc-chunk 2};
@@ -733,20 +737,13 @@ To tag a \PDF{} three tasks must be carried out:
\node[draw,base right = of c](d) {mc-chunk 3};
\node[base right = of d] {\ldots~\ldots};
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\minisec{Structure}
-\tagpdfparaOff
\newlength\ydistance\setlength\ydistance{-0.8cm}
-\tagstructbegin{tag=Figure,alt={Illustration of structure},attribute=bbox}%
-\tagmcbegin{tag=Figure}%
-\begin{tikzpicture}[remember picture,baseline=(root.north)]
-
+\begin{tikzpicture}[remember picture,baseline=(root.north),alt={Illustration of structure}]
\node[draw,anchor=base west] (root) at (0,0) {Sect (start section)};
\node[draw,anchor=base west] at (0.3,\ydistance) {H (header section)};
\node[draw,anchor=base west](aref) at (0.6,2\ydistance){mc-chunk 1};
@@ -758,17 +755,12 @@ To tag a \PDF{} three tasks must be carried out:
\node[draw,anchor=base west] at (0.3,8\ydistance){/P (end paragraph)};
\node[draw,anchor=base west] at (0,9\ydistance){/Sect (end section)};
\end{tikzpicture}
-
\begin{tikzpicture}[remember picture, overlay]
\draw[->,red](aref)-|(a);
\draw[->,red](bref)-|(b);
\draw[->,red](cref)-|(c);
\draw[->,red](dref)-|(d);
-
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\end{tcolorbox}
@@ -1108,8 +1100,8 @@ the command, as the effect of the begin command ends with a new
\begin{docCommands}
{
- {doc name=tagmcuse},
- {doc name=tag_mc_use:n}
+ {doc name=tagmcuse,doc parameter=\marg{label}},
+ {doc name=tag_mc_use:n,doc parameter=\marg{label}}
}
\end{docCommands}
@@ -1283,13 +1275,8 @@ add the needed code.
\begin{figure}
-\tagpdfparaOff
-\tagstructbegin{tag=Figure,alt={Illustration of link annotation structure},attribute=bbox}\tagmcbegin{tag=Figure}
-\tagstop
\input{link-figure-input}
-\tagstart
-\tagmcend\tagstructend
\caption{Structure needed for a link annotation}\label{fig:linkannot}
@@ -2661,7 +2648,8 @@ already mentioned there are more requirements:
is normally not a problem. With pdflatex it could need additional
\verb+\pdfglyphtounicode+ commands.
- \item Hard and soft hyphen must be distinct.
+ \item Hard and soft hyphen must be distinct. In luamode this is now handled through
+ the \texttt{activate/softhyphen} key. For pdftex no solution is known.
\item Spaces between words should be space glyphs and not only a
horizontal movement. See section~\ref{sec:spacechars}.
@@ -3061,10 +3049,7 @@ examples and remarks easier to understand.
\item[postfix notation] \PDF{} uses in various places postfix
notation. This means that the operator is behind its arguments:
-\tagpdfparaOff
-
-\tagstructbegin{tag=Figure,alt={Illustration of postfix notation},attribute=bbox}\tagmcbegin{tag=Figure}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {18};
\node[arg,right=of a1.east](a2) {0};
\node[operator,right= of a2.east](c) {obj};
@@ -3072,7 +3057,7 @@ examples and remarks easier to understand.
\draw[->] (c.south) --++(0,-2mm) -| (a2);
\end{tikzpicture}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {18};
\node[arg,right=of a1.east](a2) {0};
\node[operator,right= of a2.east](c) {R};
@@ -3081,7 +3066,7 @@ examples and remarks easier to understand.
\end{tikzpicture} (a reference (operator R) to an object
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {1};
\node[arg,right = of a1.east](a2) {0};
\node[arg,right = of a2.east](a3) {0};
@@ -3097,19 +3082,15 @@ examples and remarks easier to understand.
\draw[->] (c.south) --++(0,-2mm) -|(a1);
\end{tikzpicture}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {/P};
\node[arg,right = of a1.east](a2) {<</MCID 0>>};
\node[operator,right = of a2.east](c) {BDC};
\draw[->] (c.south) --++(0,-2mm) -| (a1);
\draw[->] (c.south) --++(0,-2mm) -| (a2);
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
-
\item[Names] \PDF{} knows a sort of variable called a
\enquote{name}. Names start with a slash and may include any regular
characters, but not delimiter or white-space characters. Uppercase
@@ -3152,19 +3133,13 @@ examples and remarks easier to understand.
\mbox{\texttt{[0 15 0 R (hello) <</Type /X>> [1 2 3]]}}
-\tagpdfparaOff
-
- \tagstructbegin{tag=Figure,alt={Illustration of array},attribute=bbox}\tagmcbegin{tag=Figure}
- \begin{tikzpicture}[baseline=(c.base)]
+ \begin{tikzpicture}[baseline=(c.base),alt={Illustration of array}]
\node[arg](a1) {0};
\node[arg,right = of a1.east](a2) {15 0 R};
\node[arg,right = of a2.east](a3) {(hello)};
\node[arg,right = of a3.east](a4) {<</Type /X>>};
\node[arg,right = of a4.east](a5) {[1 2 3]};
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\item[Dictionaries] Dictionaries are enclosed by double angle
diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex
index 04f8b88aec6..a02411c31fd 100644
--- a/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex
+++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex
@@ -12,7 +12,8 @@ new key name & old key name & value &type & defined in \\\midrul
activate & activate & boolean &meta & tagpdf \\
activate/all & activate-all & boolean &meta & tagpdf\\
-activate/mc & activate-mc & boolean &bool & tagpdf\\
+activate/mc & activate-mc & boolean &bool & tagpdf\\
+activate/softhyphen & --- & boolean &bool & tagpdf \\
activate/spaces & interwordspace & boolean &code & tagpdf-space\\
activate/struct & activate-struct & boolean &bool & tagpdf\\
activate/struct-dest & no-struct-dest&boolean &bool & tagpdf\\
diff --git a/Master/texmf-dist/doc/latex/telprint/README.md b/Master/texmf-dist/doc/latex/telprint/README.md
new file mode 100644
index 00000000000..de7d729ad61
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/telprint/README.md
@@ -0,0 +1,13 @@
+# telprint package for LaTeX
+
+Version: 2024-07-26 v1.12
+
+Format German phone numbers
+
+## Copyright (C)
+* 1996, 1997, 2004-2008 Heiko Oberdiek
+* 2016-2024 Oberdiek Package Support Group
+
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf b/Master/texmf-dist/doc/latex/telprint/telprint.pdf
index f8027491c86..49a2968f35a 100644
--- a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf
+++ b/Master/texmf-dist/doc/latex/telprint/telprint.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tikzbricks/tikzbricks-doc-settings.sty b/Master/texmf-dist/doc/latex/tikzbricks/tikzbricks-doc-settings.sty
new file mode 100644
index 00000000000..777cedba6ef
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tikzbricks/tikzbricks-doc-settings.sty
@@ -0,0 +1,199 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Personal helper theme for package documentations
+% Copyright samcarter
+%
+% This file may be distributed and/or modified
+% under the LaTeX Project Public License 1.3c or later
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Usage:
+% ln ~/Life/latex/beamertheme-sam/themesam.sty package-doc-settings.sty
+% \usepackage[
+% themecolor=samdblue
+% ]{\jobname-settings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Colours
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor}
+\definecolor{samyellow}{RGB}{246,193,65}
+\definecolor{samorange}{RGB}{241,147,45}
+\definecolor{samred}{RGB}{191,26,46}% TikZbricks
+\definecolor{sammagenta}{RGB}{170,42,104}% TikZmarmots
+\definecolor{samviolet}{RGB}{136,46,114}% TikZlings
+\definecolor{samlila}{RGB}{101,67,159}% Rainbow beamer theme
+\definecolor{samdblue}{RGB}{0,51,134}% beamer theme
+\definecolor{samlblue}{RGB}{22,89,155}% TikZducks
+\definecolor{samteal}{RGB}{25,143,157}% Tcolorbox beamer theme
+\definecolor{samlgreen}{RGB}{68,170,153}% Jigsaw
+\definecolor{samdgreen}{RGB}{78,178,125}
+\definecolor{samlgray}{RGB}{160,160,185}
+\definecolor{samdgray}{RGB}{60,60,85}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Package options
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval}
+\DeclareOptionX{themecolor}[samdblue]{\colorlet{themecolor}{#1}}
+\DeclareOptionX{listingcolor}[samlblue]{\colorlet{listingcolor}{#1}}
+\ExecuteOptionsX{themecolor,listingcolor}
+\ProcessOptionsX
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Packages
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{beamer}{}{%
+ \RequirePackage[english]{babel}
+ \RequirePackage[paper=a4paper,margin=2.9cm]{geometry}
+ \RequirePackage{scrlayer-scrpage}
+ \let\hrulefillx\hrulefill
+ \RequirePackage[bitstream-charter]{mathdesign}
+ \let\hrulefill\hrulefillx
+ \RequirePackage[hang,flushmargin,bottom]{footmisc}
+ \RequirePackage{footnotehyper}
+ \makesavenoteenv{tcolorbox}
+ \RequirePackage[all]{nowidow}
+ \RequirePackage[colorlinks=true,breaklinks=true,allcolors=themecolor,hyperfootnotes=false]{hyperref}
+}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{xspace}
+\RequirePackage{inconsolata}% mono font with bold, but italic is missing
+% \RequirePackage[scale=0.85]{cascadia-code}
+% \AddToHook{cmd/ttfamily/before}{\fontseries{sl}}
+\RequirePackage{iexec}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Listings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage[
+ cachedir=$TMPDIR/minted/
+]{minted}
+
+% smuggling custom pygmentize style in cache folder
+% (a real pygmentise style would need installtion in some python folder)
+\begin{filecontents*}[noheader]{./sam.pygstyle}
+\makeatletter
+\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
+ \let\PYG@ul=\relax \let\PYG@tc=\relax%
+ \let\PYG@bc=\relax \let\PYG@ff=\relax}
+\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
+\def\PYG@toks#1+{\ifx\relax#1\empty\else%
+ \PYG@tok{#1}\expandafter\PYG@toks\fi}
+\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
+ \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
+\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
+
+% optional arguments
+\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor{black}{##1}}}
+
+% macros
+\expandafter\def\csname PYG@tok@k\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+% curly brakets
+\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor{listingcolor}{\bfseries ##1}}}
+
+% comments (italics won't work with the inconsolata font)
+\expandafter\def\csname PYG@tok@c\endcsname{\def\PYG@tc##1{\textcolor{gray}{##1}}}
+
+\def\PYGZbs{\char`\\}
+\def\PYGZus{\char`\_}
+\def\PYGZob{\char`\{}
+\def\PYGZcb{\char`\}}
+\def\PYGZca{\char`\^}
+\def\PYGZam{\char`\&}
+\def\PYGZlt{\char`\<}
+\def\PYGZgt{\char`\>}
+\def\PYGZsh{\char`\#}
+\def\PYGZpc{\char`\%}
+\def\PYGZdl{\char`\$}
+\def\PYGZhy{\char`\-}
+\def\PYGZsq{\char`\'}
+\def\PYGZdq{\char`\"}
+\def\PYGZti{\char`\~}
+% for compatibility with earlier versions
+\def\PYGZat{@}
+\def\PYGZlb{[}
+\def\PYGZrb{]}
+\makeatother
+\end{filecontents*}
+
+\iexec{mkdir -p $TMPDIR/minted && mv sam.pygstyle $TMPDIR/minted/.}
+
+\usemintedstyle{sam}
+\setminted{
+ breaksymbolleft={},
+ tabsize=2,
+ breaklines=true,
+}
+\newminted[samcode]{latex}{}
+\newmintinline[saminline]{latex}{}
+
+% use non-bold and all coloured for inline code in articles
+\ifdefined\insertaspectratio\else
+ \patchcmd{\minted@inputpyg@inline}{\minted@input}{\color{listingcolor}\renewcommand\textcolor[3][]{##3}\renewcommand\bfseries{}\minted@input}{}{}
+\fi
+
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{minted}
+\tcbset{%
+ colframe=themecolor,
+ fonttitle=\bfseries,
+ sidebyside,
+ center lower,
+ righthand width=5.7cm,
+ bottom=2pt,
+ top=2pt,
+ left=3pt,
+ right=3pt,
+ sidebyside gap=10pt,
+ lower separated=false,
+ listing engine=minted,
+ minted language=latex,
+ colback=themecolor!10,
+ sharp corners,
+ boxrule=0pt,
+ before title={\strut}
+}
+
+% avoid page breaks right in front of the tcolorbox
+\@ifclassloaded{beamer}{}{
+ \tcbuselibrary{hooks}
+ \tcbset{before pre={\nopagebreak[4]}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% document settings
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifclassloaded{scrartcl}{%
+ \KOMAoptions{parskip=half}
+ \addtokomafont{sectioning}{\color{themecolor}}
+ \addtokomafont{date}{\normalsize}
+ \addtokomafont{author}{\normalsize}
+ \setlength{\footnotemargin}{0.7em}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Custom macros
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand*{\CTAN}{\textsc{CTAN}\xspace}
+\providecommand*{\TikZ}{Ti\emph{k}Z\xspace}
+\providecommand*{\miktex}{MiK\TeX\xspace}
+\providecommand*{\texlive}{\TeX{}Live\xspace}
+\providecommand*{\tikzbrick}{Ti\emph{k}Zbrick\xspace}
+\providecommand*{\tikzducks}{Ti\emph{k}Zducks\xspace}
+\providecommand*{\tikzlings}{Ti\emph{k}Zlings\xspace}
+\providecommand*{\tikzmarmots}{Ti\emph{k}Zmarmots\xspace}
+\providecommand*{\ConTeXt}{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/README.md b/Master/texmf-dist/doc/latex/tkz-elements/README.md
index a4d8d90fadd..66c11bf62fe 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/README.md
+++ b/Master/texmf-dist/doc/latex/tkz-elements/README.md
@@ -1,10 +1,10 @@
# tkz-elements — for euclidean geometry
-Release 2.25c 2024/04/28
+Release 2.30c 2024/07/16
## Description
-`tkz-elements v.2.25c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
+`tkz-elements v.2.30c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
The main possibility of programmation proposed is oriented "object programming" with object classes like point, line, triangle, circle and ellipse. For the moment, once the calculations are done, it is `tkz-euclide` or `TikZ` which allows the drawings. You can use the option `mini` with `tkz-euclide` to load only the modules required for tracing.
@@ -62,6 +62,15 @@ An important example `Golden Arbelos` using the package is on the site. All the
are on the site.
## History
+
+ - version 2.30c
+ - new version of the macro `\tkzGetNodes` written by Sanskar Singh. This version now fixes a bug that prevented a figure from being centred with `centering` or the `center` environment.
+ - adding methods `bevan_circle`, `symmedial_circle`.
+ - correction of the methods `function triangle: bevan_point ()` and `function triangle: mittenpunkt_point ()`.
+ - adding `function triangle: similar ()`
+ - adding `function line : perpendicular_bisector ()` which is similar to `function line : mediator ()`
+ - correction of documentation.
+
- version 2.25c
- French documentation at my site: [http://altermundus.fr](http://altermundus.fr)
- Added `colinear_at` a new method for the classe `line`
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex
index 7ae96c7ada5..85e73595189 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex
@@ -25,8 +25,8 @@ This class is defined by two points: the center and a point through which the ci
\Iattr{circle}{south} & |C.AB.south| & |z.S = C.OA.south| \\
\Iattr{circle}{east} & |C.AB.east| & |z.E = C.OA.east| \\
\Iattr{circle}{west} & |C.AB.west| & |z.W = C.OA.west| \\
-\Iattr{circle}{opp} & |z.Ap = C.AB.opp| & Refer to (\ref{ssub:example_circle_attributes}) \\
-\Iattr{circle}{ct} & |L = C.AB.ct| & Refer to (\ref{ssub:example_circle_attributes}) \\
+\Iattr{circle}{opp} & |z.Ap = C.AB.opp| & [\ref{ssub:example_circle_attributes}] \\
+\Iattr{circle}{ct} & |L = C.AB.ct| [ \ref{ssub:example_circle_attributes} ] \\
\bottomrule %
\end{tabular}
\egroup
@@ -71,16 +71,16 @@ Three attributes are used (south, west, radius).
z.c = C.ab.opp
z.r,z.t = get_points (C.ab.ct : ortho_from (z.b))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
+
+\emph{\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPoints(a,b,c,s,w)
\tkzLabelPoints(a,b,c,s,w)
\tkzDrawCircle(a,b)
\tkzDrawSegments(a,b r,t b,c)
\tkzLabelSegment[sloped](a,b){ab = \tkzUseLua{r}}
-\end{tikzpicture}
-\hspace*{\fill}
+\end{tikzpicture}}
+
\end{minipage}
% subsubsection example_circle_attributes (end)
% subsection attributes_of_a_circle (end)
@@ -96,184 +96,314 @@ Three attributes are used (south, west, radius).
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule \\
-\Igfct{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| & circle center $O$ through $A$\\
-\Igfct{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| & circle center $O$ radius =2 cm\\
-\Igfct{circle}{diameter(A,B)} & |C.OA = circle :diameter(z.A,z.B)| & circle diameter $[AB]$ \\
+\Igfct{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| & center $O$ through $A$; [\ref{ssub:method_imeth_circle_new}]\\
+\Igfct{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| & center $O$ radius =2 cm; [\ref{ssub:method_imeth_circle_radius}]\\
+\Igfct{circle}{diameter(A,B)} & |C.OA = circle :diameter(z.A,z.B)| & diameter $[AB]$; [\ref{ssub:method_imeth_circle_diameter}] \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{circle}{antipode (pt)} & |z.C = C.OA: antipode (z.B)| & $[BC]$ is a diameter \\
-\Imeth{circle}{inversion (pt)} & |z.Bp = C.AC: inversion (z.B)|&\\
-\Imeth{circle}{midarc (pt,pt)} & |z.D = C.AB: midarc (z.B,z.C)|& $D$ is the midarc of $\widearc{BC}$\\
-\Imeth{circle}{point (r)} & |z.E = C.AB: point (0.25)|& |r| between 0 and 1\\
+\Imeth{circle}{antipode (pt)} & |z.C = C.OA: antipode (z.B)| & $[BC]$ = diameter; [\ref{ssub:method_imeth_circle_antipode}] \\
+\Imeth{circle}{midarc (pt,pt)} & |z.D = C.AB: midarc (z.B,z.C)|& $D$ is the midarc of $\widearc{BC}$; [\ref{ssub:method_imeth_circle_midarc}]\\
+\Imeth{circle}{point (r)} & |z.E = C.AB: point (0.25)|& |r| between 0 and 1; [\ref{ssub:method_imeth_circle_point}]\\
\Imeth{circle}{random\_pt(lower, upper)} & &\\
-\Imeth{circle}{internal\_similitude (C)} & |z.I = C.one : internal_similitude (C.two)| &\\
-\Imeth{circle}{external\_similitude (C)} & |z.J = C.one : external_similitude (C.two)| & \\
-\Imeth{circle}{radical\_center (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_center} \\
+\Imeth{circle}{inversion (obj)} & |z.Bp = C.AC: inversion (z.B)|& [\ref{ssub:inversion}]\\
+\Imeth{circle}{internal\_similitude (C)} & |z.I= C.one: internal_similitude(C.two)| & [\ref{ssub:method_imeth_circle_internal__similitude}]\\
+\Imeth{circle}{external\_similitude (C)} & |z.J= C.one: external_similitude(C.two)| & [\ref{ssub:method_imeth_circle_external__similitude}] \\
+\Imeth{circle}{radical\_center (C1<,C2>)} & or only (C1) & [\ref{ssub:radical_center} ] \\
\midrule
\textbf{Lines} & & \\
\midrule
-\Imeth{circle}{radical\_axis (C)} & Refer to ( \ref{sub:d_alembert_2} ; \ref{sub:radical_axis_v1} ; \ref{sub:radical_axis_v2} ; \ref{sub:radical_axis_v3} ; \ref{sub:radical_axis_v4})& \\
-\Imeth{circle}{tangent\_at (pt)} & |z.P = C.OA: tangent_at (z.M)| & Refer to (\ref{ssub:lemoine} ; \ref{ssub:example_combination_of_methods})\\
-\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N = C.OA: tangent_from (z.P)| & Refer to (\ref{tangent_from})\\
-\Imeth{circle}{inversion (line)} & |L or C = C.AC: inversion (L.EF)|& Refer to (\ref{ssub:inversion_line})\\
-\Imeth{circle}{common\_tangent (C)} & |z.a,z.b = C.AC: common_tangent (C.EF)|& Refer to (\ref{sub:common_tangent} ; \ref{sub:common_tangent_orthogonality})\\
+\Imeth{circle}{radical\_axis (C)} & [ \ref{ssub:method_imeth_circle_radical__axis_c} ; \ref{sub:d_alembert_2} ] & \\
+\Imeth{circle}{tangent\_at (pt)} & |z.P=C.OA:tangent_at(z.M)| & [\ref{ssub:method_imeth_circle_tangent}] \\
+\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N=C.OA: tangent_from (z.P)| & [\ref{ssub:method_imeth_circle_tangent} ] \\
+\Imeth{circle}{common\_tangent (C)}& |z.a,z.b = C.AC: common_tangent (C.EF)|& [\ref{ssub:common_tangent} ; \ref{sub:common_tangent_orthogonality}] \\
\midrule
\textbf{Circles}& &\\
\midrule
-\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & Refer to (\ref{ssub:altshiller} ; \ref{sub:common_tangent_orthogonality} ; \ref{sub:orthogonal_circles_v1} ; \ref{sub:pencil_v1}) \\
-\Imeth{circle}{orthogonal\_through (pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & Refer to (\ref{sub:orthogonal_circle_through})\\
-\Imeth{circle}{inversion (...)} &|C.AC:inversion (pt, pts, L or C)|& Refer to \ref{ssub:inversion}, \ref{ssub:inversion_point}, \ref{ssub:inversion_line}, \ref{ssub:inversion_circle}\\
-\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & Refer to \ref{ssub:midcircle} \\
-\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_circle}\\
+\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & [\ref{ssub:method_imeth_circle_orthogonal_from_pt} ;\ref{sub:altshiller} ; \ref{sub:pencil_v1}] \\
+\Imeth{circle}{orthogonal\_through(pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & [\ref{ssub:method_imeth_circle_orthogonal_through}]\\
+\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & [\ref{ssub:midcircle}] \\
+\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & [\ref{ssub:radical_circle}] \\
\midrule
\textbf{Miscellaneous} &&\\
\midrule
-\Imeth{circle}{power (pt)} &|p = C.OA: power (z.M)| & Refer to (\ref{sub:power_v1} ; \ref{sub:power_v2} ; \ref{sub:apollonius_circle_v1_with_inversion}) \\
-\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| & Refer to (\ref{sub:in_out_for_circle_and_disk}) \\
-\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| & Refer to (\ref{sub:in_out_for_circle_and_disk}) \\
+\Imeth{circle}{power (pt)} &| r = C.OA: power (z.M)| & [\ref{par:power_v1} ; \ref{par:power_v2} ; \ref{sub:apollonius_circle_v1_with_inversion} ] \\
+\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| & [\ref{ssub:in_out_for_circle_and_disk}] \\
+\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| & [\ref{ssub:in_out_for_circle_and_disk}] \\
\Imeth{circle}{draw ()} & for further use &\\
-\Imeth{circle}{circles\_position (C1)} & result = string &Refer to (\ref{sub:circles_position}) \\
+\Imeth{circle}{circles\_position (C1)} & result = string & [\ref{ssub:circles_position}] \\
\bottomrule
\end{tabular}
\egroup
% subsection methods_circle (end)
-\subsubsection{Altshiller} % (fold)
-\label{ssub:altshiller}
+\subsubsection{Method \Imeth{circle}{new}} % (fold)
+\label{ssub:method_imeth_circle_new}
+
+A circle is defined by its centre and a point through which it passes.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.P = point : new (0,0)
- z.Q = point : new (5,0)
- z.I = point : new (3,2)
- C.QI = circle : new (z.Q,z.I)
- C.PE = C.QI : orthogonal_from (z.P)
- z.E = C.PE.through
- C.QE = circle : new (z.Q,z.E)
- _,z.F = intersection (C.PE,C.QE)
- z.A = C.PE: point (1/9)
- L.AE = line : new (z.A,z.E)
- _,z.C = intersection (L.AE,C.QE)
- L.AF = line : new (z.A,z.F)
- L.CQ = line : new (z.C,z.Q)
- z.D = intersection (L.AF,L.CQ)
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: new (z.O , z.A)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(P,E Q,E)
- \tkzDrawLines[add=0 and 1](P,Q)
- \tkzDrawLines[add=0 and 2](A,E)
- \tkzDrawSegments(P,E E,F F,C A,F C,D)
- \tkzDrawPoints(P,Q,E,F,A,C,D)
- \tkzLabelPoints(P,Q,E,F,A,C,D)
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,O)
+\tkzLabelPoints[right](A,O)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\hspace*{\fill}
\begin{minipage}{.5\textwidth}
- \begin{tkzelements}
- scale =.5
- z.P = point : new (0,0)
- z.Q = point : new (5,0)
- z.I = point : new (3,2)
- C.QI = circle : new (z.Q,z.I)
- C.PE = C.QI : orthogonal_from (z.P)
- z.E = C.PE.through
- C.QE = circle : new (z.Q,z.E)
- _,z.F = intersection (C.PE,C.QE)
- z.A = C.PE: point (1/9)
- L.AE = line : new (z.A,z.E)
- _,z.C = intersection (L.AE,C.QE)
- L.AF = line : new (z.A,z.F)
- L.CQ = line : new (z.C,z.Q)
- z.D = intersection (L.AF,L.CQ)
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(P,E Q,E)
- \tkzDrawLines[add=0 and 1](P,Q)
- \tkzDrawLines[add=0 and 2](A,E)
- \tkzDrawSegments(P,E E,F F,C A,F C,D)
- \tkzDrawPoints(P,Q,E,F,A,C,D)
- \tkzLabelPoints(P,Q,E,F,A,C,D)
- \end{tikzpicture}
+\begin{tkzelements}
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: new (z.O , z.A)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,O)
+\tkzLabelPoints[right](A,O)
+\end{tikzpicture}
+ \end{center}
+
\end{minipage}
-%subsubsection altshiller (end)
-\subsubsection{Lemoine} % (fold)
-\label{ssub:lemoine}
+% subsubsection method_imeth_circle_new (end)
+\subsubsection{Method \Imeth{circle}{radius}} % (fold)
+\label{ssub:method_imeth_circle_radius}
+
+
+We define a circle with its centre and radius.
+
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- scale = 1.25
- z.A = point: new (1,0)
- z.B = point: new (5,2)
- z.C = point: new (1.2,2)
- T = triangle: new(z.A,z.B,z.C)
- z.O = T.circumcenter
- C.OA = circle: new (z.O,z.A)
- L.tA = C.OA: tangent_at (z.A)
- L.tB = C.OA: tangent_at (z.B)
- L.tC = C.OA: tangent_at (z.C)
- z.P = intersection (L.tA,T.bc)
- z.Q = intersection (L.tB,T.ca)
- z.R = intersection (L.tC,T.ab)
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: radius (z.A , math.sqrt(5))
+z.T = C.through
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon[teal](A,B,C)
- \tkzDrawCircle(O,A)
- \tkzDrawPoints(A,B,C,P,Q,R)
- \tkzLabelPoints(A,B,C,P,Q,R)
- \tkzDrawLine[blue](Q,R)
- \tkzDrawLines[red](A,P B,Q R,C)
- \tkzDrawSegments(A,R C,P C,Q)
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(A,T)
+\tkzDrawPoints(A,O,T)
+\tkzLabelPoints[right](A,O,T)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (2,1)
+ C = circle: radius (z.A , math.sqrt(5))
+ z.T = C.through
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawCircles(A,T)
+ \tkzDrawPoints(A,O,T)
+ \tkzLabelPoints[right](A,O,T)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_radius (end)
+
+\subsubsection{Method \Imeth{circle}{diameter}} % (fold)
+\label{ssub:method_imeth_circle_diameter}
+
+A circle is defined by two points at the ends of one of its diameters.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.B = point: new (2,1)
+C = circle: diameter (z.A , z.B)
+z.O = C.center
+z.T = C.through
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,T)
+\tkzDrawPoints(A,B,O,T)
+\tkzLabelPoints[right](A,B,O,T)
\end{tikzpicture}
\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.B = point: new (2,1)
+C = circle: diameter (z.A , z.B)
+z.O = C.center
+z.T = C.through
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,T)
+\tkzDrawPoints(A,B,O,T)
+\tkzLabelPoints[right](A,B,O,T)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_diameter (end)
+\subsubsection{Method \Imeth{circle}{antipode}} % (fold)
+\label{ssub:method_imeth_circle_antipode}
+This method is used to define a point that is diametrically opposed to a point on a given circle.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : antipode (z.A)
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O)
+\tkzLabelPoints[right](A,B,O)
+\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
-scale = .75
-z.A = point: new (1,0)
-z.B = point: new (5,2)
-z.C = point: new (1.2,2)
-T = triangle: new(z.A,z.B,z.C)
-z.O = T.circumcenter
-C.OA = circle: new (z.O,z.A)
-L.tA = C.OA: tangent_at (z.A)
-L.tB = C.OA: tangent_at (z.B)
-L.tC = C.OA: tangent_at (z.C)
-z.R = intersection (L.tC,T.ab)
-z.P = intersection (L.tA,T.bc)
-z.Q = intersection (L.tB,T.ca)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=90]
-\tkzGetNodes
-\tkzDrawPolygon[teal](A,B,C)
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : antipode (z.A)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O)
+\tkzLabelPoints[right](A,B,O)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsubsection method_imeth_circle_antipode (end)
+
+\subsubsection{Method \Imeth{circle}{midarc}} % (fold)
+\label{ssub:method_imeth_circle_midarc}
+The definition given in [ \href{https://mathworld.wolfram.com/Mid-ArcPoints.html}{Weisstein, Eric W. "Mid-Arc Points." From MathWorld--A Wolfram Web Resource.}] is as follows:
+The mid-arc points of a triangle as defined by Johnson (1929) are the points on the circumcircle of the triangle which lie half-way along each of the three arcs determined by the vertices. These points arise in the definition of the Fuhrmann circle and Fuhrmann triangle, and lie on the extensions of the perpendicular bisectors of the triangle sides drawn from the circumcenter.
+
+The definition I use here is more general: the defined point is simply the point that divides an arc into two arcs of the same length.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : point (0.25)
+z.M = C : midarc (z.A,z.B)
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O,M)
+\tkzLabelPoints[right](A,B,O,M)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : point (0.25)
+z.M = C : midarc (z.A,z.B)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O,M)
+\tkzLabelPoints[right](A,B,O,M)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+% subsubsection method_imeth_circle_midarc (end)
+
+\subsubsection{Method \Imeth{circle}{point (r)}} % (fold)
+\label{ssub:method_imeth_circle_point}
+
+Let $C$ be a circle with centre $O$ and passing through $A$ such that |z.A = C.through|. This method defines a point $M$ on the circle from A such that the ratio of the length of $\widearc{AM}$ to the circumference of the circle is equal to $r$.
+
+In the next example, $r=\dfrac{1}{6}$ corresponds to $\dfrac{\pi/3}{2\pi}$, so the angle $\widehat{AOE}$ has the measure $\pi/3$.
+
+If $r=.5$ the defined point is diametrically opposed to $A$, the angle $\widehat{AOD}$ has the measure $\pi$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (1,2)
+ C.OA = circle: new (z.O,z.A)
+ z.B = C.OA: point (1/6)
+ z.C = C.OA: point (0.25)
+ z.D = C.OA: point (0.5)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
\tkzDrawCircle(O,A)
-\tkzDrawPoints(A,B,C,P,Q,R)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\tkzDrawLine[blue](Q,R)
-\tkzDrawLines[red](A,P B,Q R,C)
-\tkzDrawSegments(A,R C,P C,Q)
+\tkzDrawPoints(A,...,D,O)
+\tkzLabelPoints(A,...,D,O)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
-%\caption{Lemoine line}
-% subsubsection lemoine (end)
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (1,2)
+ C.OA = circle: new (z.O,z.A)
+ z.B = C.OA: point (1/6)
+ z.C = C.OA: point (0.25)
+ z.D = C.OA: point (0.5)
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircle(O,A)
+\tkzDrawPoints(A,...,D,O)
+\tkzLabelPoints(A,...,D,O)
+\end{tikzpicture}
+\end{center}
+\end{minipage}
-\subsubsection{Inversion: point, line and circle} % (fold)
+
+% subsubsection method_imeth_circle_point (end)
+
+\subsubsection{Method \Imeth{circle}{inversion (obj)}: point, line and circle} % (fold)
\label{ssub:inversion}
The \code{inversion} method can be used on a point, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use.
-\subsubsection{Inversion: point} % (fold)
-\label{ssub:inversion_point}
+\paragraph{Inversion: point} % (fold)
+\label{par:inversion_point}
The \code{inversion} method can be used on a point, a group of points, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use.
@@ -308,20 +438,23 @@ The \code{inversion} method can be used on a point, a group of points, a line or
z.d = C.oa: inversion (z.c)
p = C.oa: power (z.c)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(o,a)
- \tkzDrawSegments(o,a o,c)
- \tkzDrawPoints(a,o,c,d)
- \tkzLabelPoints(a,o,c,d)
- \tkzLabelSegment[sloped,above=1em](c,d){%
- La puissance de c est \tkzUseLua{p}}
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(o,a)
+ \tkzDrawSegments(o,a o,c)
+ \tkzDrawPoints(a,o,c,d)
+ \tkzLabelPoints(a,o,c,d)
+ \tkzLabelSegment[sloped,above=1em](c,d){%
+ La puissance de c est \tkzUseLua{p}}
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
-\subsubsection{Inversion: line} % (fold)
-\label{ssub:inversion_line}
+\paragraph{Inversion: line} % (fold)
+\label{par:inversion_line}
The result is either a straight line or a circle.
@@ -333,7 +466,7 @@ The result is either a straight line or a circle.
C.oa = circle: new (z.o,z.a)
z.c = point: new (3,2)
z.d = point: new (0,4)
- L.cd = line: new (z.c,z.d)
+ L.cd = line: new (z.c,z.d)
C.OH = C.oa: inversion (L.cd)
z.O,z.H = get_points(C.OH)
\end{tkzelements}
@@ -357,19 +490,22 @@ The result is either a straight line or a circle.
C.OH = C.oa: inversion (L.cd)
z.O,z.H = get_points(C.OH)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(o,a)
- \tkzDrawCircles[new](O,H)
- \tkzDrawLines(c,d o,H)
- \tkzDrawPoints(a,o,c,d,H)
- \tkzLabelPoints(a,o,c,d,H)
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(o,a)
+ \tkzDrawCircles[new](O,H)
+ \tkzDrawLines(c,d o,H)
+ \tkzDrawPoints(a,o,c,d,H)
+ \tkzLabelPoints(a,o,c,d,H)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
- \subsubsection{Inversion: circle} % (fold)
- \label{ssub:inversion_circle}
+\paragraph{Inversion: circle} % (fold)
+ \label{par:inversion_circle}
The result is either a straight line or a circle.
@@ -423,19 +559,697 @@ color = "orange"
else z.f,z.b = get_points(obj) end
color = "orange"
\end{tkzelements}
- \hspace{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles[black](o,a)
- \tkzDrawCircles[teal](c,o e,d)
- \tkzDrawCircles[\tkzUseLua{color}](f,b)
- \tkzDrawLines[\tkzUseLua{color}](p,q)
- \tkzDrawPoints(a,...,f,o,p,q)
- \tkzLabelPoints(a,...,f,o,p,q)
- \end{tikzpicture}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[black](o,a)
+ \tkzDrawCircles[teal](c,o e,d)
+ \tkzDrawCircles[\tkzUseLua{color}](f,b)
+ \tkzDrawLines[\tkzUseLua{color}](p,q)
+ \tkzDrawPoints(a,...,f,o,p,q)
+ \tkzLabelPoints(a,...,f,o,p,q)
+ \end{tikzpicture}
+ \end{center}
\end{minipage}
+
% subsubsection inversion (end)
+\subsubsection{Method \Imeth{circle}{internal\_similitude}} % (fold)
+\label{ssub:method_imeth_circle_internal__similitude}
+
+Circles are geometrically similar to one another and mirror symmetric. Hence, a pair of circles has both types of homothetic centers, internal and external, unless the centers are equal or the radii are equal; these exceptional cases are treated after general position. These two homothetic centers lie on the line joining the centers of the two given circles, which is called the line of centers. Circles with radius zero can also be included (see exceptional cases), and negative radius can also be used, switching external and internal. [Wikipedia]
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 0.75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 5 , 2 )
+z.b = point : new ( 6 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : internal_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = 1 and 2](A1,I A2,I)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 5 , 2 )
+z.b = point : new ( 6 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : internal_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b)
+ \tkzDrawPoints(A,a,B,b,I,A1,A2)
+ \tkzDrawLines[add = 1 and 2](A1,I A2,I)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+% subsubsection method_imeth_circle_internal__similitude (end)
+
+\subsubsection{Method \Imeth{circle}{external\_similitude}} % (fold)
+\label{ssub:method_imeth_circle_external__similitude}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 3 , 2 )
+z.b = point : new ( 4 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : external_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = .5 and .2](A1,I A2,I)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 3 , 2 )
+z.b = point : new ( 4 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : external_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = .5 and .2](A1,I A2,I)
+\end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_external__similitude (end)
+
+
+\subsubsection{Method \Imeth{circle}{radical\_center (C1,C2)}} % (fold)
+\label{ssub:radical_center}
+
+The radical lines of three circles are concurrent in a point known as the radical center (also called the power center). This theorem was originally demonstrated by Monge (Dörrie 1965, p. 153). [\href{https://mathworld.wolfram.com/RadicalCenter.html}{Weisstein, Eric W. "Radical Center." From MathWorld--A Wolfram Web Resource. }
+]
+
+Here I have also named \code{radical\_center} the point of intersection of the radical axis of two circles with the centre axis. See the following example for how to obtain point $H$.
+
+
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.x = point : new (1,0)
+ z.y = point : new (4,0)
+ z.z = point : new (2,0)
+ z.Op = point : new (4,2)
+ z.P = point : new (2,2.5)
+ C.Ox = circle : new (z.O,z.x)
+ C.Pz = circle : new (z.P,z.z)
+ C.Opy = circle : new (z.Op,z.y)
+ z.ap,z.a = intersection (C.Ox,C.Pz)
+ z.bp,z.b = intersection (C.Opy,C.Pz)
+ L.aap = line : new (z.a,z.ap)
+ L.bbp = line : new (z.b,z.bp)
+ -- z.X = intersection (L.aap,L.bbp)
+ z.X = C.Ox : radical_center(C.Pz,C.Opy)
+ -- L.OOp = line : new (z.O,z.Op)
+ -- z.H = L.OOp : projection (z.X)
+ z.H = C.Ox : radical_center(C.Opy)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,a O',b P,z)
+ \tkzDrawLines[red](a,X b',X H,X O,O')
+ \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
+ \tkzLabelPoints[below right](O,O',P,H)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{tkzelements}
+z.O = point : new (0,0)
+z.x = point : new (1,0)
+z.y = point : new (4,0)
+z.z = point : new (2,0)
+z.Op = point : new (4,2)
+z.P = point : new (2,2.5)
+C.Ox = circle : new (z.O,z.x)
+C.Pz = circle : new (z.P,z.z)
+C.Opy = circle : new (z.Op,z.y)
+z.ap,z.a = intersection (C.Ox,C.Pz)
+z.bp,z.b = intersection (C.Opy,C.Pz)
+L.aap = line : new (z.a,z.ap)
+L.bbp = line : new (z.b,z.bp)
+z.X = intersection (L.aap,L.bbp)
+L.OOp = line : new (z.O,z.Op)
+z.H = L.OOp : projection (z.X)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,a O',b P,z)
+ \tkzDrawLines[red](a,X b',X H,X O,O')
+ \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
+ \tkzLabelPoints[below right](O,O',P,H)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection radical_center (end)
+
+\subsubsection{Method \Imeth{circle}{radical\_axis}(C)} % (fold)
+\label{ssub:method_imeth_circle_radical__axis_c}
+
+The radical line, also called the radical axis, is the locus of points of equal circle power with respect to two nonconcentric circles. By the chordal theorem, it is perpendicular to the line of centers (Dörrie 1965). [\href{https://mathworld.wolfram.com/RadicalLine.html}{Weisstein, Eric W. "Radical Line." From MathWorld--A Wolfram Web Resource.} ]
+
+\vspace{6pt}
+\paragraph{Radical axis v1} % (fold)
+\label{par:radical_axis_v1}
+
+\begin{Verbatim}
+\begin{tkzelements}
+scale = .75
+z.X = point : new (0,0)
+z.B = point : new (2,2)
+z.Y = point : new (7,1)
+z.Ap = point : new (8,-1)
+L.XY = line : new (z.X,z.Y)
+C.XB = circle : new (z.X,z.B)
+C.YAp = circle : new (z.Y,z.Ap)
+z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
+z.A = C.XB : point (0.4)
+T.ABAp = triangle: new (z.A,z.B,z.Ap)
+z.O = T.ABAp.circumcenter
+C.OAp = circle : new (z.O,z.Ap)
+_,z.Bp = intersection (C.OAp,C.YAp)
+L.AB = line : new (z.A,z.B)
+L.ApBp = line : new (z.Ap,z.Bp)
+z.M = intersection (L.AB,L.ApBp)
+z.H = L.XY : projection (z.M)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(X,B Y,A')
+ \tkzDrawArc[dashed,delta=30](O,A')(A)
+ \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
+ \tkzDrawLines[red](A,M A',M X,Y E,F)
+ \tkzDrawLines[red,add=1 and 3](M,H)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale = .75
+z.X = point : new (0,0)
+z.B = point : new (2,2)
+z.Y = point : new (7,1)
+z.Ap = point : new (8,-1)
+L.XY = line : new (z.X,z.Y)
+C.XB = circle : new (z.X,z.B)
+C.YAp = circle : new (z.Y,z.Ap)
+z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
+z.A = C.XB : point (0.4)
+T.ABAp = triangle: new (z.A,z.B,z.Ap)
+z.O = T.ABAp.circumcenter
+C.OAp = circle : new (z.O,z.Ap)
+_,z.Bp = intersection (C.OAp,C.YAp)
+L.AB = line : new (z.A,z.B)
+L.ApBp = line : new (z.Ap,z.Bp)
+z.M = intersection (L.AB,L.ApBp)
+z.H = L.XY : projection (z.M)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(X,B Y,A')
+ \tkzDrawArc[dashed,delta=30](O,A')(A)
+ \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
+ \tkzDrawLines[red](A,M A',M X,Y E,F)
+ \tkzDrawLines[red,add=1 and 3](M,H)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v1 (end)
+
+\paragraph{Radical axis v2} % (fold)
+\label{par:radical_axis_v2}
+
+\begin{Verbatim}
+\begin{tkzelements}
+scale = 1.25
+z.O = point : new (-1,0)
+z.Op = point : new (4,-1)
+z.B = point : new (0,2)
+z.D = point : new (4,0)
+C.OB = circle : new (z.O,z.B)
+C.OpD = circle : new (z.Op,z.D)
+L.EF = C.OB : radical_axis (C.OpD)
+z.E,z.F = get_points (L.EF)
+z.M = L.EF : point (.75)
+L.MT,L.MTp = C.OB : tangent_from (z.M)
+_,z.T = get_points (L.MT)
+_,z.Tp = get_points (L.MTp)
+L.MK,L.MKp = C.OpD : tangent_from (z.M)
+_,z.K = get_points (L.MK)
+_,z.Kp = get_points (L.MKp)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',K,K',M)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale =1.25
+z.O = point : new (-1,0)
+z.Op = point : new (4,-1)
+z.B = point : new (0,2)
+z.D = point : new (4,0)
+C.OB = circle : new (z.O,z.B)
+C.OpD = circle : new (z.Op,z.D)
+L.EF = C.OB : radical_axis (C.OpD)
+z.E,z.F = get_points (L.EF)
+z.M = L.EF : point (.75)
+L.MT,L.MTp = C.OB : tangent_from (z.M)
+_,z.T = get_points (L.MT)
+_,z.Tp = get_points (L.MTp)
+L.MK,L.MKp = C.OpD : tangent_from (z.M)
+_,z.K = get_points (L.MK)
+_,z.Kp = get_points (L.MKp)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',K,K',M)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v2 (end)
+
+\paragraph{Radical axis v3} % (fold)
+\label{par:radical_axis_v3}
+
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (4,0)
+ z.Op = point : new (6,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.M = L.EF : point (0.2)
+ L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawPoints(O,B,O',E,F,M,T,T')
+ \tkzLabelPoints(O,O',B,E,F,T,T')
+ \tkzDrawArc(M,T')(T)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+z.O = point : new (0,0)
+z.B = point : new (4,0)
+z.Op = point : new (6,0)
+C.OB = circle : new (z.O,z.B)
+C.OpB = circle : new (z.Op,z.B)
+L.EF = C.OB : radical_axis (C.OpB)
+z.E,z.F = get_points(L.EF)
+z.M = L.EF : point (0.2)
+L = C.OB : tangent_from (z.M)
+_,z.T = get_points (L)
+L = C.OpB : tangent_from (z.M)
+_,z.Tp = get_points (L)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawPoints(O,B,O',E,F,M,T,T')
+ \tkzLabelPoints(O,O',B,E,F,T,T')
+ \tkzDrawArc(M,T')(T)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v3 (end)
+
+\paragraph{Radical axis v4} % (fold)
+\label{par:radical_axis_v4}
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (5,0)
+ z.Op = point : new (3,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.H = L.EF.mid
+ z.M = L.EF : point (.8)
+ _,L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ _,L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.3 and .3](O,H)
+ \tkzDrawPoints(O,O',B,E,H,M)
+ \tkzLabelPoints[below right](O,O',E,F,M,T,T')
+ \tkzDrawArc(M,B)(T)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (5,0)
+ z.Op = point : new (3,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.H = L.EF.mid
+ z.M = L.EF : point (.8)
+ _,L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ _,L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.3 and .3](O,H)
+ \tkzDrawPoints(O,O',B,E,H,M)
+ \tkzLabelPoints[below right](O,O',E,F,M,T,T')
+ \tkzDrawArc(M,B)(T)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v4 (end)
+
+% subsubsection method_imeth_circle_radical__axis_c (end)
+
+
+\subsubsection{Methods \Imeth{circle}{tangent\_at (P)} and \Imeth{circle}{tangent\_from (P)}} % (fold)
+\label{ssub:method_imeth_circle_tangent}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (1,2)
+ C.AB = circle: new (z.A,z.B)
+ z.C = point: new (3,-2)
+ L.T = C.AB : tangent_at (z.B)
+ z.D = L.T.pb
+ L.T1,L.T2 = C.AB : tangent_from (z.C)
+ z.T1 = L.T1.pb
+ z.T2 = L.T2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircle(A,B)
+\tkzDrawLines[add =.5 and .5](B,D C,T1 C,T2)
+\tkzDrawSegments[dashed](A,B A,T1 A,T2)
+\tkzDrawPoints(A,...,D,T1,T2)
+\tkzLabelPoints[below left](A,T2,C)
+\tkzLabelPoints[above right](B,T1,D)
+\tkzMarkRightAngles(A,B,D A,T1,C A,T2,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (1,2)
+ C.AB = circle: new (z.A,z.B)
+ z.C = point: new (3,-2)
+ L.T = C.AB : tangent_at (z.B)
+ z.D = L.T.pb
+ L.T1,L.T2 = C.AB : tangent_from (z.C)
+ z.T1 = L.T1.pb
+ z.T2 = L.T2.pb
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(A,B)
+ \tkzDrawLines[add =.5 and .5](B,D C,T1 C,T2)
+ \tkzDrawSegments[dashed](A,B A,T1 A,T2)
+ \tkzDrawPoints(A,...,D,T1,T2)
+ \tkzLabelPoints[below left](A,T2,C)
+ \tkzLabelPoints[above right](B,T1,D)
+ \tkzMarkRightAngles(A,B,D A,T1,C A,T2,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection (end)
+
+\subsubsection{Common tangent: Angle of two intersecting circles} % (fold)
+\label{ssub:common_tangent}
+
+Let be a tangent common to both circles at $T$ and $T'$ (closest to $C$). Let a secant parallel to this tangent pass through $C$. Then the segment $[TT']$ is seen from the other common point $D$ at an angle equal to half the angle of the two circles.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 2 )
+ L.AB = line : new ( z.A , z.B )
+ z.C = point : new ( 1 , 2 )
+ C.AC = circle : new (z.A,z.C)
+ C.BC = circle : new (z.B,z.C)
+ z.T,z.Tp = C.AC : common_tangent (C.BC)
+ L.TTp = line : new (z.T,z.Tp)
+ z.M = C.AC : point (0.45)
+ L.MC =line : new (z.M,z.C)
+ z.Mp = intersection (L.MC, C.BC)
+ L.mm = L.TTp : ll_from (z.C)
+ _,z.M = intersection (L.mm, C.AC)
+ z.Mp = intersection (L.mm, C.BC)
+ _,z.D = intersection (C.AC,C.BC)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
+ \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
+ \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+\end{tikzpicture}
+\end{Verbatim}
+
+
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 5 , 2 )
+L.AB = line : new ( z.A , z.B )
+z.C = point : new ( 1 , 2 )
+C.AC = circle : new (z.A,z.C)
+C.BC = circle : new (z.B,z.C)
+z.T,z.Tp = C.AC : common_tangent (C.BC)
+L.TTp = line : new (z.T,z.Tp)
+z.M = C.AC : point (0.45)
+L.MC =line : new (z.M,z.C)
+z.Mp = intersection (L.MC, C.BC)
+L.mm = L.TTp : ll_from (z.C)
+_,z.M = intersection (L.mm, C.AC)
+z.Mp = intersection (L.mm, C.BC)
+_,z.D = intersection (C.AC,C.BC)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
+ \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
+ \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+ \end{tikzpicture}
+\end{center}
+% subsubsection common_tangent (end)
+
+\subsubsection{Method \Imeth{circle}{orthogonal\_from (pt)}} % (fold)
+\label{ssub:method_imeth_circle_orthogonal_from_pt}
+
+In geometry, two circles are said to be orthogonal if their respective tangent lines at the points of intersection are perpendicular (meet at a right angle). [wikipedia]
+
+This method determines a circle with a given centre, orthogonal to a circle that is also given.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .6
+ z.C_1 = point: new (0,0)
+ z.C_2 = point: new (8,0)
+ z.A = point: new (5,0)
+ C = circle: new (z.C_1,z.A)
+ z.S,z.T = get_points (C: orthogonal_from (z.C_2))
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_1,T C_2,T)
+ \tkzDrawSegments(C_1,T C_2,T)
+ \tkzDrawLine(C_1,C_2)
+ \tkzMarkRightAngle[fill=teal,%
+ opacity=.2,size=1](C_1,T,C_2)
+ \tkzDrawPoints(C_1,C_2,T)
+ \tkzLabelPoints(C_1,C_2)
+ \tkzLabelPoints[above](T)
+ \tkzLabelSegment[left](C_1,T){r}
+ \tkzLabelSegments[right](C_2,T){$\gamma$}
+ \tkzLabelSegment[below](C_1,C_2){d}
+ \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
+ \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale = .6
+z.C_1 = point: new (0,0)
+z.C_2 = point: new (8,0)
+z.A = point: new (5,0)
+C = circle: new (z.C_1,z.A)
+z.S,z.T = get_points (C: orthogonal_from (z.C_2))
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_1,T C_2,T)
+ \tkzDrawSegments(C_1,T C_2,T)
+ \tkzDrawLine(C_1,C_2)
+ \tkzMarkRightAngle[fill=teal,opacity=.2,size=.5](C_1,T,C_2)
+ \tkzDrawPoints(C_1,C_2,T)
+ \tkzLabelPoints(C_1,C_2)
+ \tkzLabelPoints[above](T)
+ \tkzLabelSegment[left](C_1,T){r}
+ \tkzLabelSegments[right](C_2,T){$\gamma$}
+ \tkzLabelSegment[below](C_1,C_2){d}
+ \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
+ \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
+ \end{tikzpicture}
+\end{center}
+
+% subsubsection method_imeth_circle_orthogonal__from_pt (end)
+
+\subsubsection{Method \Imeth{circle}{orthogonal\_through}} % (fold)
+\label{ssub:method_imeth_circle_orthogonal_through}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point: new (0,1)
+ z.A = point: new (1,0)
+ z.z1 = point: new (-1.5,-1.5)
+ z.z2 = point: new (2.5,-1.25)
+ C.OA = circle: new (z.O,z.A)
+ C = C.OA: orthogonal_through (z.z1,z.z2)
+ z.c = C.center
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircle[new](c,z1)
+ \tkzDrawPoints[new](O,A,z1,z2,c)
+ \tkzLabelPoints[right](O,A,z1,z2,c)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}\begin{tkzelements}
+ z.O = point: new (0,1)
+ z.A = point: new (1,0)
+ z.z1 = point: new (-1.5,-1.5)
+ z.z2 = point: new (2.5,-1.25)
+ C.OA = circle: new (z.O,z.A)
+ C = C.OA: orthogonal_through (z.z1,z.z2)
+ z.c = C.center
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircle[orange](c,z1)
+ \tkzDrawPoints[orange](O,A,z1,z2,c)
+ \tkzLabelPoints[right](O,A,z1,z2,c)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_orthogonal__through (end)
+
\subsubsection{midcircle} % (fold)
\label{ssub:midcircle}
@@ -473,8 +1287,8 @@ z.H = C.AO.north
z.F = C.BP.north
z.G = C.BP.south
C.IT,C.JV = C.AO : midcircle (C.BP)
-z.I,z.T = get_points ( C.IT )
-z.J,z.V = get_points ( C.JV )
+z.I,z.T = get_points (C.IT)
+z.J,z.V = get_points (C.JV)
z.X,z.Y = intersection (C.AO,C.BP)
\end{tkzelements}
\end{Verbatim}
@@ -493,8 +1307,8 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.F = C.BP.north
z.G = C.BP.south
C.IT,C.JV = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
- z.J,z.V = get_points ( C.JV )
+ z.I,z.T = get_points (C.IT)
+ z.J,z.V = get_points (C.JV)
z.X,z.Y = intersection (C.AO,C.BP)
\end{tkzelements}
\begin{tikzpicture}
@@ -520,7 +1334,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
\vfill
\item One given circle is in the interior of the other given circle.
-
+\label{midcircle_diameter}
\begin{minipage}{.6\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -539,7 +1353,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.x = C.SV.center
z.y = C.UR.center
C.IT = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
+ z.I,z.T = get_points (C.IT)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
@@ -560,7 +1374,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.x = C.SV.center
z.y = C.UR.center
C.IT = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
+ z.I,z.T = get_points (C.IT)
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -597,7 +1411,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -620,7 +1434,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -662,7 +1476,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points(C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -685,7 +1499,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -711,14 +1525,14 @@ z.F=L.TF.pb
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
-z.A = point : new ( 2 , 0 )
-z.B = point : new ( 4 , 0 )
-z.a = point : new ( 1 , 0)
-z.b = point : new ( 1 , 0)
-C.Aa = circle : new (z.A,z.a)
-C.Bb = circle : new (z.B,z.b)
-C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.A = point : new ( 2 , 0 )
+z.B = point : new ( 4 , 0 )
+z.a = point : new ( 1 , 0)
+z.b = point : new ( 1 , 0)
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+C.IT = C.Aa : midcircle (C.Bb)
+z.I,z.T = get_points(C.IT)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
@@ -731,7 +1545,7 @@ z.b = point : new ( 1 , 0)
C.Aa = circle : new (z.A,z.a)
C.Bb = circle : new (z.B,z.b)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
\end{tkzelements}
\begin{tikzpicture}
@@ -748,206 +1562,205 @@ z.I,z.T = get_points ( C.IT )
\end{enumerate}
% subsubsection midcircle (end)
-% subsection methods_of_the_class_circle (end)
-\subsection{Circles\_position} % (fold)
-\label{sub:circles_position}
-This function returns a string indicating the position of the circle in relation to another. Useful for creating a function. Cases are:
+\subsubsection{Radical circle} % (fold)
+\label{ssub:radical_circle}
-\begin{itemize}
- \item \code{outside}
- \item \code{outside tangent}
- \item \code{inside tangent}
- \item \code{inside}
- \item \code{intersect}
-\end{itemize}
-
-\begin{minipage}{.5\textwidth}
-\begin{Verbatim}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.a = point : new ( 3 , 0 )
- z.B = point : new ( 2 , 0 )
- z.b = point : new ( 3 , 0 )
- C.Aa = circle: new (z.A,z.a)
- C.Bb = circle: new (z.B,z.b)
- position = C.Aa : circles_position (C.Bb)
- if position == "inside tangent"
- then color = "orange"
- else color = "blue" end
+ scale = .5
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ C.exa = T.ABC : ex_circle ()
+ z.I_a,z.Xa = get_points (C.exa)
+ C.exb = T.ABC : ex_circle (1)
+ z.I_b,z.Xb = get_points (C.exb)
+ C.exc = T.ABC : ex_circle (2)
+ z.I_c,z.Xc = get_points (C.exc)
+ C.ortho = C.exa : radical_circle (C.exb,C.exc)
+ z.w,z.a = get_points (C.ortho)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircle(A,a)
- \tkzDrawCircle[color=\tkzUseLua{color}](B,b)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
+ \tkzDrawCircles[red,thick](w,a)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\begin{minipage}{.5\textwidth}
+
\begin{tkzelements}
-z.A = point : new ( 1 , 0 )
-z.a = point : new ( 3 , 0 )
-z.B = point : new ( 2 , 0 )
-z.b = point : new ( 3 , 0 )
-C.Aa = circle: new (z.A,z.a)
-C.Bb = circle: new (z.B,z.b)
-position = C.Aa : circles_position (C.Bb)
-if position == "inside tangent" then color = "orange" else color = "blue" end
+ scale = .5
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ C.exa = T.ABC : ex_circle ()
+ z.I_a,z.Xa = get_points (C.exa)
+ C.exb = T.ABC : ex_circle (1)
+ z.I_b,z.Xb = get_points (C.exb)
+ C.exc = T.ABC : ex_circle (2)
+ z.I_c,z.Xc = get_points (C.exc)
+ C.ortho = C.exa : radical_circle (C.exb,C.exc)
+ z.w,z.a = get_points (C.ortho)
\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(A,a)
-\tkzDrawCircle[color=\tkzUseLua{color}](B,b)
-\end{tikzpicture}\hspace{\fill}
-\end{minipage}
-% subsection circles__position (end)
-\subsection{Common tangent: Angle of two intersecting circles} % (fold)
-\label{sub:common_tangent}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
+ \tkzDrawCircles[red,thick](w,a)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+ \end{tikzpicture}
+\end{center}
+% subsubsection radical_circle (end)
-Let be a tangent common to both circles at $T$ and $T'$ (closest to $C$). Let a secant parallel to this tangent pass through $C$. Then the segment $[TT']$ is seen from the other common point $D$ at an angle equal to half the angle of the two circles.
+\subsubsection{Method \Imeth{circle}{power(C)}} % (fold)
+\label{ssub:method_imeth_circle_power_c}
+\paragraph{Power v1} % (fold)
+\label{par:power_v1}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 2 )
- L.AB = line : new ( z.A , z.B )
- z.C = point : new ( 1 , 2 )
- C.AC = circle : new (z.A,z.C)
- C.BC = circle : new (z.B,z.C)
- z.T,z.Tp = C.AC : common_tangent (C.BC)
- L.TTp = line : new (z.T,z.Tp)
- z.M = C.AC : point (0.45)
- L.MC =line : new (z.M,z.C)
- z.Mp = intersection (L.MC, C.BC)
- L.mm = L.TTp : ll_from (z.C)
- _,z.M = intersection (L.mm, C.AC)
- z.Mp = intersection (L.mm, C.BC)
- _,z.D = intersection (C.AC,C.BC)
-\end{tkzelements}
+ z.O = point : new (0,0)
+ z.A = point : new (2,-2)
+ z.M = point : new (-6,0)
+ L.AM = line : new (z.A,z.M)
+ C.OA = circle : new (z.O,z.A)
+ z.Ap = C.OA : antipode (z.A)
+ z.B = intersection (L.AM, C.OA)
+\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
- \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
- \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B)
+ \tkzDrawPoints(O,A,A',M,B)
+ \tkzLabelPoints(O,A,A',M,B)
+ \tkzDrawSegments[-Triangle](M,A M,A')
\end{tikzpicture}
\end{Verbatim}
-
-
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}
\begin{tkzelements}
-z.A = point : new ( 0 , 0 )
-z.B = point : new ( 5 , 2 )
-L.AB = line : new ( z.A , z.B )
-z.C = point : new ( 1 , 2 )
-C.AC = circle : new (z.A,z.C)
-C.BC = circle : new (z.B,z.C)
-z.T,z.Tp = C.AC : common_tangent (C.BC)
-L.TTp = line : new (z.T,z.Tp)
-z.M = C.AC : point (0.45)
-L.MC =line : new (z.M,z.C)
-z.Mp = intersection (L.MC, C.BC)
-L.mm = L.TTp : ll_from (z.C)
-_,z.M = intersection (L.mm, C.AC)
-z.Mp = intersection (L.mm, C.BC)
-_,z.D = intersection (C.AC,C.BC)
+scale = 1
+z.O = point : new (0,0)
+z.A = point : new (2,-2)
+z.M = point : new (-6,0)
+L.AM = line : new (z.A,z.M)
+C.OA = circle : new (z.O,z.A)
+z.Ap = C.OA : antipode (z.A)
+z.B = intersection (L.AM, C.OA)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,C B,C)
-\tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
-\tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
-\tkzDrawPoints(A,B,C,D,M,M',T,T')
-\tkzLabelPoints(A,B,D,M)
-\tkzLabelPoints[above](C,M',T,T')
-\tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
-\tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection common_tangent (end)
-\subsection{Common tangent: orthogonality} % (fold)
-\label{sub:common_tangent_orthogonality}
-For two circles to be orthogonal, it is necessary and sufficient for a secant passing through one of their common points to be seen from the other common point at a right angle.
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B)
+ \tkzDrawPoints(O,A,A',M,B)
+ \tkzLabelPoints(O,A,A',M,B)
+ \tkzDrawSegments[-Triangle](M,A M,A')
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% paragraph power_v1 (end)
+\paragraph{Power v2} % (fold)
+\label{par:power_v2}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 4 , 2 )
- L.AB = line : new ( z.A , z.B )
- z.a = point : new ( 1 , 2 )
- C.Aa = circle : new (z.A,z.a)
- C.BC = C.Aa : orthogonal_from (z.B)
- z.C,z.D = intersection (C.Aa,C.BC)
- C.AC = circle : new (z.A,z.C)
- z.T,z.Tp = C.AC : common_tangent (C.BC)
- L.TTp = line : new (z.T,z.Tp)
- z.M = C.AC : point (0.45)
- L.MC =line : new (z.M,z.C)
- z.Mp = intersection (L.MC, C.BC)
- L.mm = L.TTp : ll_from (z.C)
- _,z.M = intersection (L.mm, C.AC)
- z.Mp = intersection (L.mm, C.BC)
+ z.O = point : new (0,0)
+ z.A = point : new (2,2)
+ z.M = point : new (-1.5,0)
+ L.AM = line : new (z.A,z.M)
+ C.OA = circle : new (z.O,z.A)
+ z.Ap = C.OA : antipode (z.A)
+ _,z.B = intersection (L.AM, C.OA)
+ z.m = z.M : north(1)
+ L.mM = line : new (z.m,z.M)
+ z.U,z.V = intersection (L.mM,C.OA)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,C B,C A,B)
- \tkzDrawSegments[gray](D,M D,M' T,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkRightAngles(M',D,M A,C,B)
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B A,B U,V)
+ \tkzDrawPoints(O,A,A',M,B,U,V,m)
+ \tkzLabelPoints(O,A,M,U,V,m)
+ \tkzLabelPoints[below left](A',B)
+ \tkzDrawSegments(M,A M,A')
\end{tikzpicture}
\end{Verbatim}
-
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
-z.A = point : new ( 0 , 0 )
-z.B = point : new ( 4 , 2 )
-L.AB = line : new ( z.A , z.B )
-z.a = point : new ( 1 , 2 )
-C.Aa = circle : new (z.A,z.a)
-C.BC = C.Aa : orthogonal_from (z.B)
-z.C,z.D = intersection (C.Aa,C.BC)
-C.AC = circle : new (z.A,z.C)
-z.T,z.Tp = C.AC : common_tangent (C.BC)
-L.TTp = line : new (z.T,z.Tp)
-z.M = C.AC : point (0.45)
-L.MC =line : new (z.M,z.C)
-z.Mp = intersection (L.MC, C.BC)
-L.mm = L.TTp : ll_from (z.C)
-_,z.M = intersection (L.mm, C.AC)
-z.Mp = intersection (L.mm, C.BC)
+scale = 1
+z.O = point : new (0,0)
+z.A = point : new (2,2)
+z.M = point : new (-1.5,0)
+L.AM = line : new (z.A,z.M)
+C.OA = circle : new (z.O,z.A)
+z.Ap = C.OA : antipode (z.A)
+_,z.B = intersection (L.AM, C.OA)
+z.m = z.M : north(1)
+L.mM = line : new (z.m,z.M)
+z.U,z.V = intersection (L.mM,C.OA)
\end{tkzelements}
- \hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,C B,C A,B)
- \tkzDrawSegments[gray](D,M D,M' T,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkRightAngles(M',D,M A,C,B)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection common_tangent_orthogonality (end)
-\subsection{In\_out for circle and disk} % (fold)
-\label{sub:in_out_for_circle_and_disk}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B A,B U,V)
+ \tkzDrawPoints(O,A,A',M,B,U,V,m)
+ \tkzLabelPoints(O,A,M,U,V,m)
+ \tkzLabelPoints[below left](A',B)
+ \tkzDrawSegments(M,A M,A')
+ \end{tikzpicture}
+\end{center}
-\begin{Verbatim}
-\begin{tkzelements}
+\end{minipage}
+% paragraph power_v2 (end)
+
+% subsubsection method_imeth_circle_power_c (end)
+
+\subsubsection{Method \Imeth{circle}{in\_out} for circle and disk} % (fold)
+\label{ssub:in_out_for_circle_and_disk}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point : new (0,0)
+ z.A = point : new (1,2)
+ C.OA = circle : new (z.O,z.A)
+ z.N = point : new (-2,2)
+ z.M = point : new (1,0)
+ z.P = point : new (2,1)
+ BCm = C.OA : in_out (z.M)
+ BDm = C.OA : in_out_disk (z.M)
+ BCn = C.OA : in_out (z.N)
+ BDn = C.OA : in_out_disk (z.N)
+ BCp = C.OA : in_out (z.P)
+ BDp = C.OA : in_out_disk (z.P)
+ \end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}\begin{tkzelements}
z.O = point : new (0,0)
z.A = point : new (1,2)
C.OA = circle : new (z.O,z.A)
@@ -965,53 +1778,104 @@ BDp = C.OA : in_out_disk (z.P)
\tkzLabelPoints(O,M,N,P)
\ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
\tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}}
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}
+}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments[dashed](O,M O,N O,P)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(O,M,N,P)
+ \tkzPosPoint{BCm}{M}{circle}{8}
+ \tkzPosPoint{BCn}{N}{circle}{8}
+ \tkzPosPoint{BCp}{P}{circle}{8}
+ \tkzPosPoint{BDm}{M}{disk}{14}
+ \tkzPosPoint{BDn}{N}{disk}{14}
+ \tkzPosPoint{BDp}{P}{disk}{14}
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \def\tkzPosPoint#1#2#3#4{%
+ \tkzLabelPoints(O,M,N,P)
+ \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments[dashed](O,M O,N O,P)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(O,M,N,P)
+ \tkzPosPoint{BCm}{M}{circle}{8}
+ \tkzPosPoint{BCn}{N}{circle}{8}
+ \tkzPosPoint{BCp}{P}{circle}{8}
+ \tkzPosPoint{BDm}{M}{disk}{14}
+ \tkzPosPoint{BDn}{N}{disk}{14}
+ \tkzPosPoint{BDp}{P}{disk}{14}
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+
+% subsubsection in_out_for_circle_and_disk (end)
+
+\subsubsection{Method \Imeth{circle}{circles\_position}} % (fold)
+\label{ssub:circles_position}
+
+This function returns a string indicating the position of the circle in relation to another. Useful for creating a function. Cases are:
+
+\begin{itemize}
+ \item \code{outside}
+ \item \code{outside tangent}
+ \item \code{inside tangent}
+ \item \code{inside}
+ \item \code{intersect}
+\end{itemize}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.a = point : new ( 3 , 0 )
+ z.B = point : new ( 2 , 0 )
+ z.b = point : new ( 3 , 0 )
+ C.Aa = circle: new (z.A,z.a)
+ C.Bb = circle: new (z.B,z.b)
+ position = C.Aa : circles_position (C.Bb)
+ if position == "inside tangent"
+ then color = "orange"
+ else color = "blue" end
+\end{tkzelements}
+
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegments[dashed](O,M O,N O,P)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(O,M,N,P)
-\tkzPosPoint{BCm}{M}{circle}{8}
-\tkzPosPoint{BCn}{N}{circle}{8}
-\tkzPosPoint{BCp}{P}{circle}{8}
-\tkzPosPoint{BDm}{M}{disk}{14}
-\tkzPosPoint{BDn}{N}{disk}{14}
-\tkzPosPoint{BDp}{P}{disk}{14}
+ \tkzGetNodes
+ \tkzDrawCircle(A,a)
+ \tkzDrawCircle[color=\tkzUseLua{color}](B,b)
\end{tikzpicture}
\end{Verbatim}
-
+\end{minipage}
+\begin{minipage}{.5\textwidth}
\begin{tkzelements}
-z.O = point : new (0,0)
-z.A = point : new (1,2)
-C.OA = circle : new (z.O,z.A)
-z.N = point : new (-2,2)
-z.M = point : new (1,0)
-z.P = point : new (2,1)
-BCm = C.OA : in_out (z.M)
-BDm = C.OA : in_out_disk (z.M)
-BCn = C.OA : in_out (z.N)
-BDn = C.OA : in_out_disk (z.N)
-BCp = C.OA : in_out (z.P)
-BDp = C.OA : in_out_disk (z.P)
+z.A = point : new ( 1 , 0 )
+z.a = point : new ( 3 , 0 )
+z.B = point : new ( 2 , 0 )
+z.b = point : new ( 3 , 0 )
+C.Aa = circle: new (z.A,z.a)
+C.Bb = circle: new (z.B,z.b)
+position = C.Aa : circles_position (C.Bb)
+if position == "inside tangent" then color = "orange" else color = "blue" end
\end{tkzelements}
-\def\tkzPosPoint#1#2#3#4{%
-\tkzLabelPoints(O,M,N,P)
- \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}
-}
+\hspace{\fill}
\begin{tikzpicture}
\tkzGetNodes
-\tkzDrawSegments[dashed](O,M O,N O,P)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(O,M,N,P)
-\tkzPosPoint{BCm}{M}{circle}{8}
-\tkzPosPoint{BCn}{N}{circle}{8}
-\tkzPosPoint{BCp}{P}{circle}{8}
-\tkzPosPoint{BDm}{M}{disk}{14}
-\tkzPosPoint{BDn}{N}{disk}{14}
-\tkzPosPoint{BDp}{P}{disk}{14}
-\end{tikzpicture}
-% subsection in_out_for_circle_and_disk (end)
+\tkzDrawCircle(A,a)
+\tkzDrawCircle[color=\tkzUseLua{color}](B,b)
+\end{tikzpicture}\hspace{\fill}
+\end{minipage}
+% subsubsection circles__position (end)
+
+% subsection methods_of_the_class_circle (end)
% section class_circle (end)
+
\endinput
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex
index 3146f73461e..016dd8025ca 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex
@@ -141,10 +141,10 @@ To do this, you'll need to use a macro: \tkzcname{tkzUseLua} defined in \pkg{tk
\Imeth{ellipse}{foci (f1,f2,v)} & E = ellipse: foci ( focus 1, focus 2, vertex ) \\
\Imeth{ellipse}{radii (c,a,b,sl) } & E = ellipse: radii ( center, radius a, radius b, slope ) \\
\Imeth{ellipse}{in\_out (pt) } & pt in/out of the ellipse \\
-\Imeth{ellipse}{tangent\_at (pt) } & Refer to ex. \ref{ssub:method_point} \\
-\Imeth{ellipse}{tangent\_from (pt) } & Refer to ex. \ref{ssub:method_point} \\
-\Imeth{ellipse}{point (t) } & vertex = point (0) covertex = point (0.25) ex Refer to \ref{ssub:method_point} \\
-\Imeth{ellipse}{orthoptic\_circle () } & Refer to ex. \ref{ssub:steiner_inellipse_and_circumellipse} \\
+\Imeth{ellipse}{tangent\_at (pt) } & [ ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{tangent\_from (pt) } & [ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{point (t) } & vertex = point (0) covertex = point (0.25) [ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{orthoptic\_circle () } & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
\bottomrule
\end{tabular}
@@ -153,7 +153,7 @@ To do this, you'll need to use a macro: \tkzcname{tkzUseLua} defined in \pkg{tk
\subsubsection{Method \Imeth{ellipse}{new}} % (fold)
\label{ssub:method_imeth_ellipse_new}
The main method for creating a new ellipse is \Imeth{ellipse}{new}. The arguments are three: \Iattr{ellipse}{center}, \Iattr{ellipse}{vertex} and \Iattr{ellipse}{covertex}
-For attributes Refer to \ref{sec:class_ellipse}.
+For attributes [\ref{sec:class_ellipse}].
\begin{minipage}{0.5\textwidth}
\begin{Verbatim}
@@ -258,22 +258,25 @@ The first two points are the foci of the ellipse, and the third one is the verte
a,b = E.Rx,E.Ry
ang = math.deg(E.slope)
\end{tkzelements}
- \hspace*{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles[cyan](O,A N,I)
- \tkzDrawSegments(X,R A,X)
- \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
- \tkzDrawLines[add=.2 and .5](I,H)
- \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
- \tkzLabelPoints[above](C,X)
- \tkzLabelPoints[above right](N,O)
- \tkzLabelPoints[above left](R)
- \tkzLabelPoints[left](A)
- \tkzLabelPoints[right](B,I,S,H)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles[cyan](O,A N,I)
+ \tkzDrawSegments(X,R A,X)
+ \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawLines[add=.2 and .5](I,H)
+ \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
+ \tkzLabelPoints[above](C,X)
+ \tkzLabelPoints[above right](N,O)
+ \tkzLabelPoints[above left](R)
+ \tkzLabelPoints[left](A)
+ \tkzLabelPoints[right](B,I,S,H)
+ \end{tikzpicture}
+ \end{center}
+
+
\end{minipage}
\begin{Verbatim}
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex
index 435ad9bcc63..f4acdafc8c0 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-line.tex
@@ -26,22 +26,53 @@ The attributes are :
\Iattr{line}{pb} & Second point of the segment & \\
\Iattr{line}{type} & Type is 'line' & |L.AB.type = 'line'| \\
\Iattr{line}{mid} & Middle of the segment& |z.M = L.AB.mid|\\
-\Iattr{line}{slope} & Slope of the line & Refer to (\ref{ssub:example_class_line})\\
-\Iattr{line}{length} &|l = L.AB.length|&Refer to (\ref{sub:transfer_from_lua_to_tex} ; \ref{ssub:example_class_line})\\
-\Iattr{line}{north\_pa} & &Refer to (\ref{ssub:example_class_line}) \\
+\Iattr{line}{slope} & Slope of the line & [\ref{ssub:example_class_line}] \\
+\Iattr{line}{length} &|l = L.AB.length|& [\ref{sub:transfer_from_lua_to_tex} ; \ref{ssub:example_class_line}] \\
+\Iattr{line}{north\_pa} & & [\ref{ssub:example_class_line}] \\
\Iattr{line}{north\_pb} & &\\
\Iattr{line}{south\_pa} & &\\
-\Iattr{line}{south\_pb} & &Refer to (\ref{ssub:example_class_line}) \\
+\Iattr{line}{south\_pb} & & [\ref{ssub:example_class_line}] \\
\Iattr{line}{east} & &\\
\Iattr{line}{west} & &\\
-\Iattr{line}{vec} & |V.AB = L.AB.vec|& defines $\overrightarrow{AB}$ Refer to (\ref{sec:class_vector})\\
+\Iattr{line}{vec} & |V.AB = L.AB.vec|& defines $\overrightarrow{AB}$ [\ref{sec:class_vector}] \\
\bottomrule
\end{tabular}
\egroup
\subsubsection{Example: attributes of class line} % (fold)
\label{ssub:example_class_line}
-\begin{minipage}{.5\textwidth}
+
+\vspace{5pt}
+\begin{tkzelements}
+z.a = point: new (1, 1)
+z.b = point: new (5, 4)
+L.ab = line : new (z.a,z.b)
+z.m = L.ab.mid
+z.w = L.ab.west
+z.e = L.ab.east
+z.r = L.ab.north_pa
+z.s = L.ab.south_pb
+sl = L.ab.slope
+len = L.ab.length
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(a,b,m,e,r,s,w)
+ \tkzLabelPoints(a,b)
+ \tkzLabelPoint(r){north\_pa}
+ \tkzLabelPoint(s){south\_pb}
+ \tkzLabelPoint[below](m){mid}
+ \tkzLabelPoint[right](w){west}
+ \tkzLabelPoint[left](e){east}
+ \tkzDrawLine(a,b)
+ \tkzLabelSegment[above = 1em,sloped](a,b){ab = \pmpn{\tkzUseLua{len}}}
+ \tkzLabelSegment[above=2em,sloped](a,b){slope of (ab) = \pmpn{\tkzUseLua{sl}}}
+ \end{tikzpicture}
+\end{center}
+
+
\begin{Verbatim}
\begin{tkzelements}
scale = .5
@@ -67,35 +98,8 @@ The attributes are :
\tkzLabelSegment[above=12pt,sloped](a,b){slope of (ab) = \tkzUseLua{sl}}
\end{tikzpicture}
\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}\begin{tkzelements}
-scale = .5
-z.a = point: new (1, 1)
-z.b = point: new (5, 4)
-L.ab = line : new (z.a,z.b)
-z.m = L.ab.mid
-z.w = L.ab.west
-z.e = L.ab.east
-z.r = L.ab.north_pa
-z.s = L.ab.south_pb
-sl = L.ab.slope
-len = L.ab.length
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPoints(a,b,m,e,r,s,w)
- \tkzLabelPoints(a,b)
- \tkzLabelPoint(r){north\_pa}
- \tkzLabelPoint(s){south\_pb}
- \tkzLabelPoint[below](m){mid}
- \tkzLabelPoint[right](w){west}
- \tkzLabelPoint[left](e){east}
- \tkzDrawLine(a,b)
- \tkzLabelSegment[above = 1em,sloped](a,b){ab = \pmpn{\tkzUseLua{len}}}
- \tkzLabelSegment[above=2em,sloped](a,b){slope of (ab) = \pmpn{\tkzUseLua{sl}}}
-\end{tikzpicture}
-\end{minipage}
+
+
% subsubsection example_class_line (end)
\subsubsection{Method \Imeth{line}{new} and line attributes}
@@ -161,62 +165,54 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule
-\Igfct{line}{new(pt, pt)} & |L.AB = line : new(z.A,z.B)| & Create line $(AB)$ ; Refer to (\ref{ssub:altshiller})\\
+\Igfct{line}{new(pt, pt)} & |L.AB = line : new(z.A,z.B)| & Create line $(AB)$ ; [\ref{sub:altshiller}] \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{line}{gold\_ratio ()} & |z.C=L.AB : gold_ratio()| & Refer to (\ref{sub:gold_ratio_with_segment} ; \ref{sub:the_figure_pappus_circle} ; \ref{sub:bankoff_circle}) \\
-\Imeth{line}{normalize ()} & |z.C=L.AB : normalize()| & AC =1 and $C\in (AB)$ Refer to (\ref{ssub:normalize}) \\
+\Imeth{line}{gold\_ratio ()} & |z.C=L.AB : gold_ratio()| & [\ref{sub:gold_ratio_with_segment} ; \ref{sub:the_figure_pappus_circle} ; \ref{sub:bankoff_circle} ] \\
+\Imeth{line}{normalize ()} & |z.C=L.AB : normalize()| & AC =1 and $C\in (AB)$ [ \ref{ssub:normalize}] \\
\Imeth{line}{normalize\_inv ()} & |z.C=L.AB : normalize_inv()| & CB=1 and $C\in (AB)$ \\
-\Imeth{line}{barycenter (r,r)} & |z.C=L.AB : barycenter (1,2)| & Refer to (\ref{ssub:barycenter_with_a_line})\\
-\Imeth{line}{point (r)} & |z.C=L.AB : point (2)| & $\overrightarrow{AC} = 2\overrightarrow{AB}$ Refer to (\ref{sub:ellipse} ; \ref{ssub:method_point})\\
+\Imeth{line}{barycenter (r,r)} & |z.C=L.AB : barycenter (1,2)| & [\ref{ssub:barycenter_with_a_line}] \\
+\Imeth{line}{point (r)} & |z.C=L.AB : point (2)| & $\overrightarrow{AC} = 2\overrightarrow{AB}$ [\ref{sub:ellipse} ; \ref{ssub:method_point}] \\
\Imeth{line}{midpoint ()} & |z.M=L.AB : midpoint ()| & better is |z.M = L.AB.mid| \\
-\Imeth{line}{harmonic\_int (pt)} & |z.D=L.AB : harmonic_int (z.C)| & Refer to (\ref{sub:bankoff_circle})\\
-\Imeth{line}{harmonic\_ext (pt)} & |z.D=L.AB : harmonic_ext (z.C)| & Refer to (\ref{sub:bankoff_circle})\\
-\Imeth{line}{harmonic\_both (r)} & |z.C,z.D=L.AB : harmonic_both|($\varphi$) & \ref{sub:harmonic_division_with_tkzphi}\\
+\Imeth{line}{harmonic\_int (pt)} & |z.D=L.AB : harmonic_int (z.C)| & [ \ref{sub:bankoff_circle}] \\
+\Imeth{line}{harmonic\_ext (pt)} & |z.D=L.AB : harmonic_ext (z.C)| & [ \ref{sub:bankoff_circle}] \\
+\Imeth{line}{harmonic\_both (r)} & |z.C,z.D=L.AB : harmonic_both|($\varphi$) & [\ref{sub:harmonic_division_with_tkzphi}] \\
\Imeth{line}{\_east(d)} & |z.M=L.AB : _east(2)| & |BM = 2| $A,B,M$ aligned \\
\Imeth{line}{\_west(d)} & |z.M=L.AB : _east(2)| & |BM = 2| $A,B,M$ aligned \\
-\Imeth{line}{\_north\_pa(d)} &|z.M=L.AB: _north_pa(2)| &|AM=2| $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
-\Imeth{line}{\_south\_pa(d)} &|z.M=L.AB:_south_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ clockwise \\
-\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB:_north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\
-\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB:_south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
-\Imeth{line}{report(d,pt)} &|z.M=L.AB:report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; Refer to ex. (\ref{ssub:method_report})\\
-\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB:colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; Refer to ex. (\ref{ssub:method_imeth_line_colinear__at})\\
+\Imeth{line}{\_north\_pa(d)} &|z.M=L.AB: _north_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise. \\
+...&& [\ref{ssub:new_line_from_a_defined_line}; \ref{ssub:attributes_of_an_ellipse}]\\
+\Imeth{line}{\_south\_pa(d)} &|z.M=L.AB: _south_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ clockwise \\
+\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB: _north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\
+\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB: _south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
+\Imeth{line}{report(d,pt)} &|z.M=L.AB: report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; [ex. \ref{ssub:method_report}]\\
+\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB: colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; [ex. \ref{ssub:method_imeth_line_colinear__at}]\\
\midrule
\textbf{Lines} &&\\
\midrule
-\Imeth{line}{ll\_from ( pt )} &|L.CD=L.AB: ll_from(z.C)| &$(CD) \parallel (AB)$ \\
-\Imeth{line}{ortho\_from ( pt )} &|L.CD=L.AB: ortho_from(z.C)|&$(CD) \perp (AB)$\\
-\Imeth{line}{mediator ()}&|L.uv=L.AB: mediator()| & $(u,v)$mediator of $(A,B)$\\
+\Imeth{line}{ll\_from ( pt )} &|L.CD=L.AB: ll_from(z.C)| &$(CD) \parallel (AB)$; [\ref{ssub:new_line_from_a_defined_line}] \\
+\Imeth{line}{ortho\_from ( pt )} &|L.CD=L.AB: ortho_from(z.C)|&$(CD) \perp (AB)$; [\ref{ssub:newline_ortho_from}] \\
+ \Imeth{line}{mediator ()} & |L.uv=L.AB: mediator()| & perpendicular bisector of $(A,B)$ \footnote{You can use |perpendicular_bisector| intead of \tkzname{mediator}.}; [\ref{ssub:method_imeth_line_mediator}]\\
\midrule
\textbf{Triangles}&&\\
\midrule
-\Imeth{line}{equilateral (<swap>)} & |T.ABC=L.AB:equilateral()| & $(\overrightarrow{AB},\overrightarrow{AC})>0$ or $<0$ with swap \footnote{Triangles are defined in the direct sense of rotation, unless the "swap" option is present.} \\
-\Imeth{line}{isosceles (an<,swap>)}&|T.ABC=L.AB:isosceles(math.pi/6)|&\\
-\Imeth{line}{two\_angles (an,an)} &|T.ABC=L.AB:two_angles(an,an)|&note \footnote{The given side is between the two angles} Refer to (\ref{ssub:triangle_with_two__angles}) \\
+\Imeth{line}{equilateral (<swap>)} & |T.ABC=L.AB:equilateral()| & $(\overrightarrow{AB},\overrightarrow{AC})>0$ or $<0$ with swap \footnote{Triangles are defined in the direct sense of rotation, unless the "swap" option is present.}; [\ref{ssub:object_rotation}] \\
+\Imeth{line}{isosceles (an<,swap>)}&|T.ABC=L.AB:isosceles(math.pi/6)|& [\ref{ssub:method_imeth_line_isosceles}]\\
+\Imeth{line}{two\_angles (an,an)} &|T.ABC=L.AB:two_angles(an,an)|&note \footnote{The given side is between the two angles} [\ref{ssub:triangle_with_two__angles}] \\
\Imeth{line}{school ()} & 30°,60°, 90° & \\
-\Imeth{line}{sss (r,r)} & $AC=r$ $BC=r$ & \\
-\Imeth{line}{as (r,an)} & $AC =r$ $\widehat{BAC} = an$& \\
-\Imeth{line}{sa (r,an)} & $AC =r$ $\widehat{ABC} = an$& \\
-\midrule
-\textbf{Sacred triangles}&&\\
-\midrule
-\Imeth{line}{gold (<swap>)} &|T.ABC=L.AB:gold()| & right in $B$ and $AC = \varphi \times AB $ \\
-\Imeth{line}{euclide (<swap>)} &|T.ABC=L.AB:euclide()| &$AB=AC$ ; $(\overrightarrow{AB},\overrightarrow{AC}) = \pi/5$ \\
-\Imeth{line}{golden (<swap>)} &|T.ABC=L.AB:golden()| &
- $(\overrightarrow{AB},\overrightarrow{AC}) = 2\times \pi/5$ \\
-\Imeth{line}{divine ()} & & \\
-\Imeth{line}{egyptian ()} & & \\
-\Imeth{line}{cheops ()} & & \\
+\Imeth{line}{sss (r,r)} & $AC=r$ $BC=r$ & [\ref{ssub:triangle_with_three_given_sides}] \\
+\Imeth{line}{sas (r,an)} & $AC =r$ $\widehat{BAC} = an$ & [\ref{ssub:triangle_with_three_given_sides}] \\
+\Imeth{line}{ssa (r,an)} & $AC =r$ $\widehat{ABC} = an$& [\ref{ssub:triangle_with_three_given_sides}]\\
\midrule
\textbf{Squares}&&\\
\midrule
-\Imeth{line}{square ()} &|S.AB=L.AB : square () | & create a square |S.AB|.\footnote{ |_,_,z.C,z.D = get_points(S.AB)|}\\
+\Imeth{line}{square ()} &|S.AB=L.AB : square () | & create a square |S.AB|.\footnote{ |_,_,z.C,z.D = get_points(S.AB)|}; [\ref{ssub:object_rotation}] \\
\bottomrule
\end{tabular}
\egroup
\end{minipage}
+
\begin{minipage}{\textwidth}
\bgroup
\catcode`_=12
@@ -226,23 +222,33 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule
+\textbf{Sacred triangles}&&\\
+\midrule
+\Imeth{line}{gold (<swap>)} &|T.ABC=L.AB:gold()| & right in $B$ and $AC = \varphi \times AB $; [\ref{line:met}] \\
+\Imeth{line}{euclide (<swap>)} &|T.ABC=L.AB:euclide()| &$AB=AC$ ; $(\overrightarrow{AB},\overrightarrow{AC}) = \pi/5$; [\ref{line:met}] \\
+\Imeth{line}{golden (<swap>)} &|T.ABC=L.AB:golden()| &
+ $(\overrightarrow{AB},\overrightarrow{AC}) = 2\times \pi/5$ ; [\ref{line:met}] \\
+\Imeth{line}{divine ()} & & [\ref{line:met}] \\
+\Imeth{line}{egyptian ()} & & [\ref{line:met}] \\
+\Imeth{line}{cheops ()} & & [\ref{line:met}] \\
+\midrule
\textbf{Circles} &&\\
\midrule
\Imeth{line}{circle ()} & |C.AB = L.AB : circle ()| & center pa through pb \\
-\Imeth{line}{circle\_swap ()} & |C.BA = L.AB : circle_swap ()|& center pb through pa \\
-\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2| \\
+\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2|; [\ref{ssub:apollonius_circle_ma_mb_k}] \\
\midrule
\textbf{Transformations} &&\\
\midrule
-\Imeth{line}{reflection ( obj )} & |new obj = L.AB : reflection (obj|&\\
-\Imeth{line}{translation ( obj )} & |new obj = L.AB : translation (obj)|&\\
-\Imeth{line}{projection ( obj )} & |z.H = L.AB : projection (z.C)| & $CH \perp (AB)$ and $H\in (AB)$\\
+\Imeth{line}{reflection ( obj )} & |new obj = L.AB : reflection (obj|& [\ref{ssub:reflection_of_object}] \\
+\Imeth{line}{translation ( obj )} & |new obj = L.AB : translation (obj)|& [\ref{ssub:example_translation}] \\
+\Imeth{line}{projection ( obj )} & |z.H = L.AB : projection (z.C)| & $CH \perp (AB)$ and $H\in (AB)$; [\ref{ssub:example_projection_of_several_points}; \ref{ssub:example_combination_of_methods}]\\
+... & & [ \ref{ssub:example_projection_of_several_points}; \ref{ssub:example_combination_of_methods}]\\
\midrule
\textbf{Miscellaneous} &&\\
\midrule
-\Imeth{line}{distance (pt)} & |d = L.Ab : distance (z.C)| & Refer to \ref{ssub:example_distance_and_projection}\\
-\Imeth{line}{in\_out (pt)} & |b = L.AB: in_out(z.C)| & b=true if $C\in (AB)$ \\
-\Imeth{line}{slope ()} & |a = L.AB : slope()| & better is L.AB.slope \\
+\Imeth{line}{distance (pt)} & |d = L.Ab : distance (z.C)| & [\ref{ssub:example_distance_and_projection}] \\
+\Imeth{line}{in\_out (pt)} & |b = L.AB: in_out(z.C)| & b=true if $C\in (AB)$ ; [\ref{ssub:in_out_for_a_line}] \\
+\Imeth{line}{slope ()} & |a = L.AB : slope()| & better is L.AB.slope; [\ref{ssub:example_class_line}]\\
\Imeth{line}{in\_out\_segment (pt)} & |b = L.AB : in_out_segment(z.C)| & b=true if $C\in [AB$] \\
\bottomrule
\end{tabular}
@@ -309,7 +315,11 @@ The angles are on either side of the given segment
\tkzDrawPolygons(A,B,C)
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
+ \tkzLabelPoints[above](C)
+ \tkzMarkAngle[red](C,B,A)
+ \tkzMarkAngle[red](B,A,C)
+ \tkzLabelAngle[red,pos=1.3](C,B,A){$\pi/2$}
+ \tkzLabelAngle[red,pos=1.3](B,A,C){$\pi/6$}
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -321,57 +331,130 @@ The angles are on either side of the given segment
T.ABC= L.AB : two_angles (math.pi/6,math.pi/2)
z.C = T.ABC.pc
\end{tkzelements}
- \hspace*{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C)
+ \tkzMarkAngle[red](C,B,A)
+ \tkzMarkAngle[red](B,A,C)
+ \tkzLabelAngle[red,pos=1.3](C,B,A){$\pi/2$}
+ \tkzLabelAngle[red,pos=1.3](B,A,C){$\pi/6$}
+ \end{tikzpicture}
+ \end{center}
+
\end{minipage}
% subsubsection triangle_with_two__angles (end)
-\subsubsection{Method \Imeth{line}{sss}} % (fold)
+\subsubsection{Method \Imeth{line}{isosceles}} % (fold)
+\label{ssub:method_imeth_line_isosceles}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ scale = 2
+ z.a = point : new (1,2)
+ z.b = point : new (5,1)
+ L.ab = line : new (z.a,z.b)
+ T.abc = L.ab : isosceles (math.pi/6,indirect)
+ z.c = T.abc.pc
+ z.L = T.abc : lemoine_point ()
+ T.SY = T.abc : symmedian ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ L.Kb = T.abc : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(a,b,c Ka,Kb,Kc)
+\tkzDrawPoints(a,b,c,L,Ka,Kb,Kc)
+\tkzLabelPoints(c,L,Ka,Kb)
+\tkzLabelPoints[above](a,b,Kc)
+\tkzDrawSegments[cyan](a,Ka b,Kb c,Kc)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 2
+ z.a = point : new (1,2)
+ z.b = point : new (5,1)
+ L.ab = line : new (z.a,z.b)
+ T.abc = L.ab : isosceles (math.pi/6,indirect)
+ z.c = T.abc.pc
+ z.L = T.abc : lemoine_point ()
+ T.SY = T.abc : symmedian ()
+ z.Ka,z.Kb,
+ z.Kc = get_points (T.SY)
+ L.Kb = T.abc : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(a,b,c Ka,Kb,Kc)
+\tkzDrawPoints(a,b,c,L,Ka,Kb,Kc)
+\tkzLabelPoints(c,L,Ka,Kb)
+\tkzLabelPoints[above](a,b,Kc)
+\tkzDrawSegments[cyan](a,Ka b,Kb c,Kc)
+\end{tikzpicture}
+\end{minipage}
+
+% subsubsection method_imeth_line_isosceles (end)
+
+\subsubsection{Methods \Imeth{line}{sss}, \Imeth{line}{sas}, \Imeth{line}{ssa}} % (fold)
\label{ssub:triangle_with_three_given_sides}
In the following example, a small difficulty arises. The given lengths are not affected by scaling, so it's necessary to use the \Igfct{math}{value (r) } function, which will modify the lengths according to the scale.
+\vspace{6pt}
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sss (value(3),value(4))
- z.C = T.ABC.pc
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sss (value(3),value(4))
+ T.ABD = L.AB : sas (value(3),math.pi/2)
+ T.ABE = L.AB : ssa (value(7),math.pi/2)
+ z.C = T.ABC.pc
+ z.D = T.ABD.pc
+ z.E = T.ABE.pc
\end{tkzelements}
+\hspace{\fill}
\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D A,B,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
- \begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sss (value(3),value(4))
- z.C = T.ABC.pc
- \end{tkzelements}
-\hspace{\fill}
- \begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \end{tikzpicture}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sss (value(3),value(4))
+ T.ABD = L.AB : sas (value(3),math.pi/2)
+ T.ABE = L.AB : ssa (value(7),math.pi/2)
+ z.C = T.ABC.pc
+ z.D = T.ABD.pc
+ z.E = T.ABE.pc
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D A,B,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection triangle_with_three_given_sides (end)
@@ -413,16 +496,20 @@ In some cases, two solutions are possible.
z.C = T.ABC.pc
z.D = T.ABD.pc
\end{tkzelements}
- \hspace{\fill} \begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C A,B,D)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C,D)
- \tkzLabelAngle[teal](C,B,A){$\pi/6$}
- \tkzLabelSegment[below left](A,C){$7$}
- \tkzLabelSegment[below left](A,D){$7$}
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D)
+ \tkzDrawPoints(A,B,C,D)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D)
+ \tkzLabelAngle[teal](C,B,A){$\pi/6$}
+ \tkzLabelSegment[below left](A,C){$7$}
+ \tkzLabelSegment[below left](A,D){$7$}
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection triangle_with_side_between_side_and_angle (end)
@@ -536,12 +623,15 @@ This method exists for all objects except quadrilaterals.
z.J = L.AB : point (-0.5)
z.K = L.AB : point (2)
\end{tkzelements}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
- \tkzDrawLine(J,K)
- \tkzDrawPoints(A,B,I,J,K)
- \tkzLabelPoints(A,B,I,J,K)
- \end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawLine(J,K)
+ \tkzDrawPoints(A,B,I,J,K)
+ \tkzLabelPoints(A,B,I,J,K)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection method_point (end)
@@ -576,12 +666,15 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
z.D = L.AB : colinear_at (z.C,.5)
z.E = L.AB : colinear_at (z.C)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawSegments(A,B C,E)
- \tkzDrawPoints(A,B,C,D,E)
- \tkzLabelPoints(A,B,C,D,E)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments(A,B C,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B,C,D,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection method_imeth_line_colinear__at (end)
@@ -615,15 +708,17 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
L.ab = line : new (z.a,z.b)
z.c = L.ab : normalize ()
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzDrawSegments(a,b)
-\tkzDrawCircle(a,c)
-\tkzDrawPoints(a,b,c)
-\tkzLabelPoints(a,b,c)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawSegments(a,b)
+ \tkzDrawCircle(a,c)
+ \tkzDrawPoints(a,b,c)
+ \tkzLabelPoints(a,b,c)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection normalize (end)
@@ -654,16 +749,19 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
L.AB = line : new ( z.A , z.B )
z.G = L.AB : barycenter (1,2)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLine(A,B)
- \tkzDrawPoints(A,B,G)
- \tkzLabelPoints(A,B,G)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPoints(A,B,G)
+ \tkzLabelPoints(A,B,G)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection barycenter_with_a_line (end)
-\subsubsection{method \Imeth{line}{ll\_from}} % (fold)
+\subsubsection{Method \Imeth{line}{ll\_from}} % (fold)
\label{ssub:new_line_from_a_defined_line}
\begin{minipage}{0.5\textwidth}
\begin{Verbatim}
@@ -700,20 +798,162 @@ L.CD = line : new (z.C,z.D)
_,z.E = get_points ( L.CD: ll_from (z.B))
-- or z.E = L2.pb with |L2 = L.CD: ll_from (z.B)|
\end{tkzelements}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D B,E)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,...,E)
+ \tkzMarkRightAngle(B,A,C)
+ \tkzMarkSegments(A,C A,B A,D)
+ \end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+ % \caption{New line from defined line}
+% subsubsection new_line_from_a_defined_line (end)
+
+\subsubsection{Method \Imeth{line}{ortho\_from}} % (fold)
+\label{ssub:newline_ortho_from}
+\begin{minipage}{0.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (1,1)
+ z.B = point : new (3,2)
+ L.AB = line : new (z.A,z.B)
+ z.C = point : new (1,3)
+ L.CD = L.AB : ortho_from(z.C)
+ z.D = L.CD.pb
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B C,D B,E)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,...,E)
-\tkzMarkRightAngle(B,A,C)
-\tkzMarkSegments(A,C A,B A,D)
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
\end{tikzpicture}
-\hspace*{\fill}
+\end{Verbatim}
\end{minipage}
- % \caption{New line from defined line}
+\begin{minipage}{0.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (1,1)
+ z.B = point : new (3,2)
+ L.AB = line : new (z.A,z.B)
+ z.C = point : new (1,3)
+ L.CD = L.AB : ortho_from(z.C)
+ z.D = L.CD.pb
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
+\end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+
% subsubsection new_line_from_a_defined_line (end)
+\subsubsection{Method \Imeth{line}{mediator}} % (fold)
+\label{ssub:method_imeth_line_mediator}
+
+In Mathworld, the mediator is the plane through the midpoint of a line segment and perpendicular to that segment, also called a mediating plane. The term "mediator" was introduced by J. Neuberg (Altshiller-Court 1979, p. 298). Here, I have adopted the French term and the mediator or
+the perpendicular bisector of a line segment, is a line segment perpendicular to the segment and passing through the midpoint of this segment.
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ L.med = L.AB : mediator ()
+ z.M = L.AB.mid
+ z.x,z.y= get_points(L.med)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawSegments(x,y)
+\tkzDrawPoints(A,B,M)
+\tkzLabelPoints(A,B)
+\tkzLabelPoints[below left](x,y,M)
+\tkzMarkSegments(A,M M,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ L.med = L.AB : mediator ()
+ z.M = L.AB.mid
+ z.x,z.y= get_points(L.med)
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawSegments(x,y)
+\tkzDrawPoints(A,B,M)
+\tkzLabelPoints(A,B)
+\tkzLabelPoints[below left](x,y,M)
+\tkzMarkSegments(A,M M,B)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_line_mediator (end)
+
+\subsubsection{Method \Imeth{line}{equilateral}} % (fold)
+\label{ssub:method_imeth_line_equilateral}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ T.ABC = L.AB : equilateral ()
+ z.C = T.ABC.pc
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawPolygon(A,B,C)
+\tkzMarkSegments(A,B B,C C,A)
+\tkzDrawPoints(A,B,C)
+\tkzMarkAngles(B,A,C C,B,A A,C,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ T.ABC = L.AB : equilateral ()
+ z.C = T.ABC.pc
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPolygon(A,B,C)
+ \tkzMarkSegments(A,B B,C C,A)
+ \tkzDrawPoints(A,B,C)
+ \tkzMarkAngles(B,A,C C,B,A A,C,B)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_line_equilateral (end)
\subsubsection{Method \Imeth{line}{projection}} % (fold)
\label{ssub:example_projection_of_several_points}
@@ -746,14 +986,16 @@ z.d = point: new (5, 2)
L.ab = line: new (z.a,z.b)
z.cp,z.dp = L.ab : projection(z.c,z.d)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(a,b c,c' d,d')
-\tkzDrawPoints(a,...,d,c',d')
-\tkzLabelPoints(a,...,d,c',d')
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(a,b c,c' d,d')
+ \tkzDrawPoints(a,...,d,c',d')
+ \tkzLabelPoints(a,...,d,c',d')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% \caption{Projection of several points}
@@ -809,23 +1051,26 @@ L.ab = C.OA : tangent_at (z.A)
z.a,z.b = L.ab.pa,L.ab.pb
-- or z.a,z.b = get_points (L.ab)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawCircle(O,A)
-\tkzDrawSegments[purple](O,A O,B O,H)
-\tkzDrawArc[red](O,A)(B)
-\tkzDrawArc[blue](O,B)(A)
-\tkzDrawLine[add = 2 and 1](A,a)
-\tkzFillAngles[teal!30,opacity=.4,,size=.5](A,C,B b,A,B A,O,H)
-\tkzMarkAngles[mark=|,size=.5](A,C,B b,A,B A,O,H H,O,B)
-\tkzDrawPoints(A,B,C,H,O)
-\tkzLabelPoints(B,H)
-\tkzLabelPoints[above](O,C)
-\tkzLabelPoints[left](A)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawSegments[purple](O,A O,B O,H)
+ \tkzDrawArc[red](O,A)(B)
+ \tkzDrawArc[blue](O,B)(A)
+ \tkzDrawLine[add = 2 and 1](A,a)
+ \tkzFillAngles[teal!30,opacity=.4,,size=.5](A,C,B b,A,B A,O,H)
+ \tkzMarkAngles[mark=|,size=.5](A,C,B b,A,B A,O,H H,O,B)
+ \tkzDrawPoints(A,B,C,H,O)
+ \tkzLabelPoints(B,H)
+ \tkzLabelPoints[above](O,C)
+ \tkzLabelPoints[left](A)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_combination_of_methods (end)
@@ -860,63 +1105,21 @@ z.a,z.b = L.ab.pa,L.ab.pb
L.AB = line : new (z.A,z.B)
z.E,z.F = L.AB : translation (z.C,z.D)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,...,F)
-\tkzLabelPoints(A,...,F)
-\tkzDrawSegments[->,red,> =latex](C,E D,F A,B) )
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsubsection example_translation (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,...,F)
+ \tkzDrawSegments[->,red,> =latex](C,E D,F A,B) )
+ \end{tikzpicture}
+\end{center}
-\subsubsection{Method \Imeth{line}{distance}} % (fold)
-\label{ssub:example_distance_and_projection}
-\begin{minipage}{0.5\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.A = point : new (0 , 0)
- z.B = point : new (5 , -2)
- z.C = point : new (3 , 3)
- L.AB = line : new (z.A,z.B)
- d = L.AB : distance (z.C)
- z.H = L.AB : projection (z.C)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(A,B C,H)
- \tkzDrawPoints(A,B,C,H)
- \tkzLabelPoints(A,B,C,H)
- \tkzLabelSegment[above left,
- draw](C,H){$CH = \tkzUseLua{d}$}
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}{0.5\textwidth}
-\begin{tkzelements}
- z.A = point : new (0 , 0)
- z.B = point : new (5 , -2)
- z.C = point : new (3 , 3)
- L.AB = line : new (z.A,z.B)
- d = L.AB : distance (z.C)
- z.H = L.AB : projection (z.C)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B C,H)
-\tkzDrawPoints(A,B,C,H)
-\tkzLabelPoints(A,B,C,H)
-\tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
-\end{tikzpicture}
-\hspace*{\fill}
\end{minipage}
-% \caption{Method distance with line object}
-% subsubsection example_distance_and_projection (end)
+% subsubsection example_translation (end)
+
\subsubsection{Method \Imeth{line}{reflection} of an object} % (fold)
\label{ssub:reflection_of_object}
@@ -955,19 +1158,72 @@ z.a,z.b = L.ab.pa,L.ab.pb
T.new = L.AB : reflection (T.EFG)
z.Ep,z.Fp,z.Gp = get_points(T.new)
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLine(A,B)
- \tkzDrawPolygon(E,F,G)
- \tkzDrawPolygon[new](E',F',G')
- \tkzDrawSegment[red,dashed](E,E')
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPolygon(E,F,G)
+ \tkzDrawPolygon[new](E',F',G')
+ \tkzDrawSegment[red,dashed](E,E')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection reflection_of_object (end)
+\subsubsection{Method \Imeth{line}{distance}} % (fold)
+\label{ssub:example_distance_and_projection}
+
+\begin{minipage}{0.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , -2)
+ z.C = point : new (3 , 3)
+ L.AB = line : new (z.A,z.B)
+ d = L.AB : distance (z.C)
+ z.H = L.AB : projection (z.C)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,H)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzLabelPoints(A,B,C,H)
+ \tkzLabelSegment[above left,
+ draw](C,H){$CH = \tkzUseLua{d}$}
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{0.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , -2)
+ z.C = point : new (3 , 3)
+ L.AB = line : new (z.A,z.B)
+ d = L.AB : distance (z.C)
+ z.H = L.AB : projection (z.C)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,H)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzLabelPoints(A,B,C,H)
+ \tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
+ \end{tikzpicture}
+\end{center}
-\subsection{Method \Imeth{line}{apollonius} Apollonius circle MA/MB = k} % (fold)
-\label{sub:apollonius_circle_ma_mb_k}
+
+\end{minipage}
+
+% \caption{Method distance with line object}
+% subsubsection example_distance_and_projection (end)
+
+
+\subsubsection{Method \Imeth{line}{apollonius} (Apollonius circle MA/MB = k)} % (fold)
+\label{ssub:apollonius_circle_ma_mb_k}
\begin{Verbatim}
\begin{tkzelements}
@@ -984,14 +1240,15 @@ z.a,z.b = L.ab.pa,L.ab.pb
\tkzFillCircle[blue!20,opacity=.2](O,C)
\tkzDrawCircle[blue!50!black](O,C)
\tkzDrawPoints(A,B,O,C,D,P)
- \tkzLabelPoints[below right](A,B,O,C,D,P)
\tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
\tkzDrawSegments[red](A,C)
\tkzDrawPoints(A,B)
\tkzLabelCircle[draw,fill=green!10,%
text width=3cm,text centered,left=24pt](O,D)(60)%
{$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
- \tkzMarkRightAngle[opacity=.3,fill=lightgray](O,P,C)
+ \tkzLabelPoints[below right](A,B,O,C,D)
+ \tkzLabelPoints[above](P)
+ \tkzMarkRightAngle[opacity=.3,fill=lightgray](D,P,C)
\tkzMarkAngles[mark=||](A,P,D D,P,B)
\end{tikzpicture}
\end{Verbatim}
@@ -1006,24 +1263,28 @@ z.D = C.apo : antipode (z.C)
z.P = C.apo : point (0.30)
\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzFillCircle[blue!20,opacity=.2](O,C)
-\tkzDrawCircle[blue!50!black](O,C)
-\tkzDrawPoints(A,B,O,C,D,P)
-\tkzLabelPoints[below right](A,B,O,C,D,P)
-\tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
-\tkzDrawSegments[red](A,C)
-\tkzDrawPoints(A,B)
-\tkzLabelCircle[draw,fill=green!10,%
- text width=3cm,text centered,left=24pt](O,D)(60)%
- {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
-\tkzMarkRightAngle[opacity=.3,fill=lightgray](O,P,C)
-\tkzMarkAngles[mark=||](A,P,D D,P,B)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzFillCircle[blue!20,opacity=.2](O,C)
+ \tkzDrawCircle[blue!50!black](O,C)
+ \tkzDrawPoints(A,B,O,C,D,P)
+ \tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
+ \tkzDrawSegments[red](A,C)
+ \tkzDrawPoints(A,B)
+ \tkzLabelCircle[draw,fill=green!10,%
+ text width=3cm,text centered,left=24pt](O,D)(60)%
+ {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
+ \tkzLabelPoints[below right](A,B,O,C,D)
+ \tkzLabelPoints[above](P)
+ \tkzMarkRightAngle[opacity=.3,fill=lightgray](D,P,C)
+ \tkzMarkAngles[mark=||](A,P,D D,P,B)
+ \end{tikzpicture}
+\end{center}
+
Remark: |\tkzUseLua{length(z.P,z.A)/length(z.P,z.B)}| = \tkzUseLua{length(z.P,z.A)/length(z.P,z.B)}
-% subsection apollonius_circle_ma_mb_k (end)
+% subsubsection apollonius_circle_ma_mb_k (end)
% subsection methods_from_class_line (end)
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex
index 04b874532d8..d533511fbe2 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-matrices.tex
@@ -15,7 +15,7 @@ This \code{matrix} class has been created to avoid the need for an external libr
\begin{itemize}
-\item The first method is: (Refer to \ref{ssub:method_new})
+\item The first method is: [\ref{ssub:method_new}]
\begin{minipage}{.5\textwidth}
\begin{mybox}
@@ -33,13 +33,13 @@ This \code{matrix} class has been created to avoid the need for an external libr
\end{minipage}
-\item It is also possible to obtain a square matrix with: (Refer to \ref{ssub:method_square})
+\item It is also possible to obtain a square matrix with: [\ref{ssub:method_square}]
\begin{mybox}
|M = matrix : square (2,a,b,c,d)|
\end{mybox}
-\item In the case of a column vector: (Refer to \ref{ssub:method_vector})
+\item In the case of a column vector: [\ref{ssub:method_vector}]
\begin{minipage}{.5\textwidth}
\begin{mybox}
@@ -52,7 +52,7 @@ This \code{matrix} class has been created to avoid the need for an external libr
\end{tkzelements}
\end{minipage}
-\item Homogeneous transformation matrix (Refer to \ref{ssub:method_htm})
+\item Homogeneous transformation matrix [\ref{ssub:method_htm}]
The objective is to generate a matrix with homogeneous coordinates capable of transforming a coordinate system through rotation, translation, and scaling. To achieve this, it is necessary to define both the rotation angle, the coordinates of the new origin ans the scaling factors.
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex
index c8c5cccd8f3..e80a292858c 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-misc.tex
@@ -17,11 +17,11 @@
%tkzround( num, idp ) & \\
% Cramer33(a1,a2,a3,b1,b2,b3,c1,c2,c3) & \\
% Cramer22(a1,a2,b1,b2) & \\
-\Igfct{math}{length (a,b) } & point.abs(a-b) Refer to (\ref{ssub:report_de_distance}) \\
+\Igfct{math}{length (a,b) } & point.abs(a-b) [\ref{sub:report_de_distance}] \\
\Igfct{math}{islinear (z1,z2,z3) } & Are the points aligned? (z2-z1) $\parallel$ (z3-z1) ? \\
\Igfct{math}{isortho (z1,z2,z3)} & (z2-z1) $\perp$ (z3-z1) ? boolean\\
-\Igfct{math}{get\_angle (z1,z2,z3)} & the vertex is z1 Refer to (\ref{sub:get_angle}) \\
-\Igfct{math}{bisector (z1,z2,z3)} & L.Aa = bisector (z.A,z.B,z.C) from A (\ref{sub:get_angle})\\
+\Igfct{math}{get\_angle (z1,z2,z3)} & the vertex is z1 [\ref{sub:get_angle}] \\
+\Igfct{math}{bisector (z1,z2,z3)} & L.Aa = bisector (z.A,z.B,z.C) from A [\ref{sub:get_angle}] \\
\Igfct{math}{bisector\_ext (z1,z2,z3)} & L.Aa = bisector_ext (z.A,z.B,z.C) from A \\
\Igfct{math}{altitude (z1,z2,z3)} & altitude from z1 \\
\Igfct{package}{set\_lua\_to\_tex (list)} & set\_lua\_to\_tex('a','n') defines |\a| and |\n| \\
@@ -31,7 +31,7 @@
\Igfct{math}{real (v) } & apply | value /scale | \\
\Igfct{math}{angle\_normalize (an) } & to get a value between 0 and $2\pi$ \\
\Igfct{misc}{barycenter (\{z1,n1\},\{z2,n2\}, ...)} & barycenter of list of points \\
-\Igfct{math}{solve\_quadratic (a,b,c) } & gives the solution of $ax^2+bx+c =0$ a,b,c real or complex (Refer to \ref{ssub:function_solve__quadratic})\\
+\Igfct{math}{solve\_quadratic (a,b,c) } & gives the solution of $ax^2+bx+c =0$ a,b,c real or complex [\ref{ssub:function_solve__quadratic}] \\
\bottomrule
\end{tabular}
\egroup
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex
index e404dc763bb..0da8f16b78b 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-point.tex
@@ -92,7 +92,6 @@ The creation of a point is done using the following method, but there are other
This is the creation of a fixed point with coordinates 1 and 2 and which is named $A$. The notation |z.A| indicates that the coordinates will be stored in a table denoted as |z| (reference to the notation of the affixes of the complex numbers) that $A$ is the name of the point and the key allowing access to the values.
-
\begin{center}
\bgroup
\small
@@ -101,21 +100,18 @@ This is the creation of a fixed point with coordinates 1 and 2 and which is name
\begin{tabular}{lll}
\toprule
\textbf{Attributes} & \textbf{Application}& \textbf{Example}\\
- \Iattr{point}{re} & |z.A.re = 1| & Refer to (\ref{ssub:methods}) \\
- \Iattr{point}{im} & |z.A.im = 2| & Refer to (\ref{ssub:methods}) \\
+ \Iattr{point}{re} & |z.A.re = 1| & [\ref{ssub:methods}] \\
+ \Iattr{point}{im} & |z.A.im = 2| & [\ref{ssub:methods}] \\
\Iattr{point}{type} & |z.A.type = 'point'| & \\
- \Iattr{point}{argument} & |z.A.argument $\approx$ 0.78539816339745| & Refer to (\ref{ssub:example_point_attributes})\\
- \Iattr{point}{modulus} & |z.A.modulus| $\approx$ |2.2360...| =$\sqrt{5}$ & Refer to (\ref{ssub:example_point_attributes})\\
+ \Iattr{point}{argument} & |z.A.argument $\approx$ 0.78539816339745| & [\ref{ssub:example_point_attributes}] \\
+ \Iattr{point}{modulus} & |z.A.modulus| $\approx$ |2.2360...| =$\sqrt{5}$ & [\ref{ssub:example_point_attributes}] \\
\bottomrule
\end{tabular}
\egroup
\end{center}
-
-
-
\newpage
-\subsubsection{Example:point attributes} % (fold)
+\subsubsection{Example: point attributes} % (fold)
\label{ssub:example_point_attributes}
\begin{tkzelements}
@@ -189,7 +185,7 @@ Attributes of \texttt{z.M}
\end{center}
\MakeShortVerb{\|}
- \hspace*{\fill}
+
% \caption{Class Point}
% subsubsection example_point_attributes (end)
% subsection attributes_of_a_point (end)
@@ -225,19 +221,20 @@ Attributes of \texttt{z.M}
z.O = point : new ( 0 , 0 )
z.I = point : new ( 1 , 0 )
\end{tkzelements}
- \hspace{\fill}\begin{tikzpicture}
- \tkzGetNodes
- \tkzInit[xmin=-4,ymin=-4,xmax=4,ymax=4]
- \tkzDrawCircle[dashed,red](O,A)
- \tkzPointShowCoord(A)
- \tkzDrawPoint(A)
- \tkzLabelPoint[above right](A){\normalsize $a+ib$}
- \tkzDrawX\tkzDrawY
- \tkzDrawSegment(O,A)
- \tkzLabelSegment[above,anchor=south,sloped](O,A){ OA = modulus of $z_A$}
- \tkzLabelAngle[anchor=west,pos=.5](I,O,A){$\theta$ = argument of $z_A$}
- \end{tikzpicture}
- \hspace{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzInit[xmin=-4,ymin=-4,xmax=4,ymax=4]
+ \tkzDrawCircle[dashed,red](O,A)
+ \tkzPointShowCoord(A)
+ \tkzDrawPoint(A)
+ \tkzLabelPoint[above right](A){\normalsize $a+ib$}
+ \tkzDrawX\tkzDrawY
+ \tkzDrawSegment(O,A)
+ \tkzLabelSegment[above,anchor=south,sloped](O,A){ OA = modulus of $z_A$}
+ \tkzLabelAngle[anchor=west,pos=.5](I,O,A){$\theta$ = argument of $z_A$}
+ \end{tikzpicture}
+\end{center}
\end{minipage}
@@ -257,37 +254,37 @@ The methods described in the following table are standard and can be found in mo
\toprule
\textbf{Functions} & \textbf{Application}& \\
\midrule
-\Igfct{point}{new(r,r)} & |z.A = point : new(1,2)| & Refer to (\ref{ssub:method_normalize}) \\
-\Igfct{point}{polar (d,an)} & |z.A = point : polar(1,math.pi/3)| & Refer to (\ref{sub:archimedes} )\\
+\Igfct{point}{new(r,r)} & |z.A = point : new(1,2)| & [\ref{ssub:method_normalize}] \\
+\Igfct{point}{polar (d,an)} & |z.A = point : polar(1,math.pi/3)| & [\ref{sub:archimedes}] \\
\Igfct{point}{polar\_deg (d,an)} & an in deg & polar coordinates an deg \\
\midrule
\textbf{Methods} & \textbf{Application}& \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{point}{north(r)} & |r| distance to the point (1 if empty) & Refer to (\ref{sub:power_v2}) ; \ref{ssub:methods}) \\
+\Imeth{point}{north(r)} & |r| distance to the point (1 if empty) & [\ref{par:power_v2} ; \ref{ssub:methods}] \\
\Imeth{point}{south(r)} & & \\
\Imeth{point}{east(r)} & & \\
\Imeth{point}{west(r)} & & \\
-\Imeth{point}{normalize()} & |z.b = z.a: normalize ()| & Refer to (\ref{ssub:method_normalize}) \\
-\Imeth{point}{get\_points (obj)} & retrieves points from the object & \\
-\Imeth{point}{orthogonal (d)} & |z.B=z.A:orthogonal(d)| & $\overrightarrow{OB}\perp \overrightarrow{OA}$ and $OB=d$\\
-\Imeth{point}{at ()} & |z.X = z.B : at (z.A)| & $\overrightarrow{OB}= \overrightarrow{AX}$ and $OB=d$\\
+\Imeth{point}{normalize()} & |z.b = z.a: normalize ()| & [\ref{ssub:method_normalize}] \\
+\Imeth{point}{get\_points (obj)} & retrieves points from the object & [\ref{ssub:object_rotation}; \ref{ssub:apollonius_circle_ma_mb_k} ] \\
+\Imeth{point}{orthogonal (d)} & |z.B=z.A:orthogonal(d)| & $\overrightarrow{OB}\perp \overrightarrow{OA}$ and $OB=d$. [\ref{ssub:orthogonal_method}]\\
+\Imeth{point}{at ()} & |z.X = z.B : at (z.A)| & $\overrightarrow{OB}= \overrightarrow{AX}$ and $OB=d$. [\ref{ssub:_imeth_point_at_method}] \\
\midrule
\textbf{Transformations} &&\\
\midrule
- \Imeth{point}{symmetry(obj)} & obj : point, line, etc. & Refer to (\ref{ssub:object_symmetry}) \\
- \Imeth{point}{rotation(an , obj)} & point, line, etc. & Refer to (\ref{ssub:object_rotation})\\
- \Imeth{point}{homothety(r,obj)} & |z.c = z.a : homothety (2,z.b)| & Refer to (\ref{sub:homothety}) \\
+ \Imeth{point}{symmetry(obj)} & obj : point, line, etc. & [\ref{ssub:object_symmetry}] \\
+ \Imeth{point}{rotation(an , obj)} & point, line, etc. & [\ref{ssub:object_rotation}] \\
+ \Imeth{point}{homothety(r,obj)} & |z.c = z.a : homothety (2,z.b)| & [\ref{sub:homothety}] \\
\midrule
\textbf{Misc.} &&\\
\midrule
- \Imeth{point}{print()} & displays the affix of the point & Refer to (\ref{ssub:object_symmetry}) \\
+ \Imeth{point}{print()} & displays the affix of the point & [\ref{ssub:object_symmetry} ]\\
\bottomrule %
\end{tabular}
\egroup
-\subsubsection{Example: method \Imeth{point}{north (d)} } % (fold)
+\subsubsection{Method \Imeth{point}{north (d)} } % (fold)
\label{ssub:example_method_imeth_point_north_d}
This function defines a point located on a vertical line passing through the given point. This function is useful if you want to report a certain distance (Refer to the following example).
@@ -320,71 +317,21 @@ If |d| is absent then it is considered equal to 1.
z.C = z.O : west ()
z.D = z.O : south ()
\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C,D)
- \tkzDrawPoints(A,B,C,D,O,A')
- \tkzLabelPoints(A,B,C,D,O,A')
-\end{tikzpicture}
-\end{minipage}
-% subsubsection example_method_imeth_point_north_d (end)
-
-\subsubsection{Length transfer} % (fold)
-\label{ssub:report_de_distance}
-
-Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment})
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzDrawPoints(A,B,C,D,O,A')
+ \tkzLabelPoints(A,B,C,D,O,A')
+ \end{tikzpicture}
+\end{center}
-\begin{minipage}{.4\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 3 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sublime ()
- z.C = T.ABC.pc
- z.D = z.B: north (length(z.B,z.C))
- z.E = z.B: east (L.AB.length)
- z.M = L.AB.mid
- z.F = z.E : north (length(z.C,z.M))
-\end{tkzelements}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
- \tkzDrawPoints(A,...,F)
- \tkzLabelPoints(A,B,E,M)
- \tkzLabelPoints[above right](C,D,F)
-\end{tikzpicture}
-\end{Verbatim}
\end{minipage}
-\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 3 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sublime ()
- z.C = T.ABC.pc
- z.D = z.B: north (length(z.B,z.C))
- z.E = z.B: east (L.AB.length)
- z.M = L.AB.mid
- z.F = z.E : north (length(z.C,z.M))
-\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
- \tkzDrawPoints(A,...,F)
- \tkzLabelPoints(A,B,E,M)
- \tkzLabelPoints[above right](C,D,F)
-\end{tikzpicture}
-\end{minipage}
-% subsubsection report_de_distance (end)
+% subsubsection example_method_imeth_point_north_d (end)
-\subsubsection{Example: method \Imeth{point}{polar} } % (fold)
+\subsubsection{Method \Imeth{point}{polar} } % (fold)
\label{ssub:example_polar_method}
This involves defining a point using its modulus and argument.
@@ -402,7 +349,8 @@ This involves defining a point using its modulus and argument.
\tkzDrawSegments[new](O,A)
\tkzDrawSegments[purple](O,F)
\tkzDrawPoints(A,O,F)
- \tkzLabelPoints[below right=6pt](A,O,F)
+ \tkzLabelPoints[below right=6pt](A,O)
+ \tkzLabelPoints[above](F)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -413,16 +361,20 @@ This involves defining a point using its modulus and argument.
z.A = point: new (3, 0)
z.F = point: polar (3, math.pi/3)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawSegments[new](O,A)
-\tkzDrawSegments[purple](O,F)
-\tkzDrawPoints(A,O,F)
-\tkzLabelPoints(A,O,F)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawSegments[new](O,A)
+ \tkzDrawSegments[purple](O,F)
+ \tkzDrawPoints(A,O,F)
+ \tkzLabelPoints[below right=6pt](A,O)
+ \tkzLabelPoints[above](F)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_polar_method (end)
@@ -431,7 +383,26 @@ This involves defining a point using its modulus and argument.
The result is a point located between the origin and the initial point at a distance of $1$ from the origin.
-\begin{minipage}{.4\textwidth}
+\begin{tkzelements}
+scale = 1.5
+z.O = point : new (0,0)
+z.A = point : new (2,1)
+z.B = z.A : normalize ()
+z.I = point : new (1,0)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegment(O,A)
+ \tkzDrawCircle(O,B)
+ \tkzDrawPoints(O,A,B,I)
+ \tkzLabelPoints(O,A)
+ \tkzLabelPoints[above](B)
+ \tkzLabelPoint[below right](I){$1$}
+ \end{tikzpicture}
+\end{center}
+
\begin{Verbatim}
\begin{tkzelements}
scale = 1.5
@@ -449,29 +420,11 @@ The result is a point located between the origin and the initial point at a dist
\tkzLabelPoint[below right](I){$1$}
\end{tikzpicture}
\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
-scale = 1.5
-z.O = point : new (0,0)
-z.A = point : new (1,2)
-z.B = z.A : normalize ()
-z.I = point : new (1,0)
-\end{tkzelements}
- \hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegment(O,A)
-\tkzDrawCircle(O,B)
-\tkzDrawPoints(O,A,B,I)
-\tkzLabelPoints(O,A,B)
-\tkzLabelPoint[below right](I){$1$}
-\end{tikzpicture}
- \hspace*{\fill}
-\end{minipage}
+
+
% subsubsection method_normalize (end)
-\subsubsection{\Imeth{point}{Orthogonal (d)} method} % (fold)
+\subsubsection{Method \Imeth{point}{orthogonal (d)}} % (fold)
\label{ssub:orthogonal_method}
Let $O$ be the origin of the plane. The "orthogonal (d)" method is used to obtain a point $B$ from a point $A$ such that $\overrightarrow{OB}\perp \overrightarrow{OA}$ with $OB=OA$ if $d$ is empty, otherwise $OB = d$.
@@ -499,16 +452,19 @@ Let $O$ be the origin of the plane. The "orthogonal (d)" method is used to obtai
z.O = point : new ( 0,0 )
z.C = z.A : orthogonal ()
\end{tkzelements}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawSegments(O,A O,C)
- \tkzDrawPoints(O,A,B,C)
- \tkzLabelPoints[below right](O,A,B,C)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawSegments(O,A O,C)
+ \tkzDrawPoints(O,A,B,C)
+ \tkzLabelPoints[below right](O,A,B,C)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection orthogonal_method (end)
-\subsubsection{\Imeth{point}{at} method} % (fold)
+\subsubsection{Method \Imeth{point}{at}} % (fold)
\label{ssub:_imeth_point_at_method}
This method is complementary to the previous one, so you may not wish to have $\overrightarrow{OB}\perp \overrightarrow{OA}$ but $\overrightarrow{AB}\perp \overrightarrow{OA}$.
@@ -521,14 +477,16 @@ This method is complementary to the previous one, so you may not wish to have $\
z.O = point : new ( 0,0 )
-- z.B = z.B : at (z.A) -- or
z.B = z.A : orthogonal (1) : at (z.A)
+ z.E = z.A : orthogonal (1)
z.C = z.A+z.B
z.D =(z.C-z.A):orthogonal(2) : at (z.C)
\end{tkzelements}
\begin{tikzpicture}[gridded]
\tkzGetNodes
- \tkzLabelPoints[below right](O,A,B,C,D)
- \tkzDrawSegments(O,A A,B A,C C,D)
- \tkzDrawPoints(O,A,B,C,D)
+ \tkzLabelPoints[below right](O,A,C)
+ \tkzLabelPoints[above](B,D,E)
+ \tkzDrawSegments(O,A A,B A,C C,D O,E)
+ \tkzDrawPoints(O,A,B,C,D,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -539,20 +497,24 @@ z.B = z.A : orthogonal (1)
z.O = point : new ( 0,0 )
-- z.B = z.B : at (z.A) -- or
z.B = z.A : orthogonal (1) : at (z.A)
+z.E = z.A : orthogonal (1)
z.C = z.A+z.B
z.D =(z.C-z.A):orthogonal(2) : at (z.C)
\end{tkzelements}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzLabelPoints[below right](O,A,B,C,D)
-\tkzDrawSegments(O,A A,B A,C C,D)
-\tkzDrawPoints(O,A,B,C,D)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzLabelPoints[below right](O,A,C)
+ \tkzLabelPoints[above](B,D,E)
+ \tkzDrawSegments(O,A A,B A,C C,D O,E)
+ \tkzDrawPoints(O,A,B,C,D,E)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsubsection _imeth_point_at_method (end)
-\subsubsection{Example: \Imeth{point}{rotation of points}} % (fold)
+\subsubsection{Method \Imeth{point}{rotation} first example} % (fold)
\label{ssub:example_rotation_of_points}
The arguments are the angle of rotation in radians, and here a list of points.
@@ -565,26 +527,27 @@ The arguments are the angle of rotation in radians, and here a list of points.
z.o = point: new(6, -2)
z.ap,z.bp = z.o : rotation (math.pi/2,z.a,z.b)
\end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(o,a o,a' o,b o,b')
- \tkzDrawPoints(a,a',b,b',o)
- \tkzLabelPoints(b,b',o)
- \tkzLabelPoints[below left](a,a')
- \tkzDrawArc(o,a)(a')
- \tkzDrawArc(o,b)(b')
- \end{tikzpicture}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(o,a o,a' o,b o,b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(b,b',o)
+ \tkzLabelPoints[below left](a,a')
+ \tkzDrawArc(o,a)(a')
+ \tkzDrawArc(o,b)(b')
+ \end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.4\textwidth}
\begin{tkzelements}
- scale = .5
+ scale = .5
z.a = point: new(0, -1)
z.b = point: new(4, 0)
z.o = point: new(6, -2)
z.ap,z.bp = z.o : rotation (math.pi/2,z.a,z.b)
\end{tkzelements}
-\hspace*{\fill}
+
+\begin{center}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawLines(o,a o,a' o,b o,b')
@@ -594,16 +557,16 @@ The arguments are the angle of rotation in radians, and here a list of points.
\tkzDrawArc(o,a)(a')
\tkzDrawArc(o,b)(b')
\end{tikzpicture}
-\hspace*{\fill}
+\end{center}
\end{minipage}
% subsubsection example_rotation_of_points (end)
-\subsubsection{Object \Imeth{point}{rotation}} % (fold)
+\subsubsection{Method \Imeth{point}{rotation} second example} % (fold)
\label{ssub:object_rotation}
Rotate a triangle by an angle of $\pi/6$ around $O$.
\begin{minipage}{.5\textwidth}
- \begin{Verbatim}
+\begin{Verbatim}
\begin{tkzelements}
scale = .75
z.O = point : new ( -1 , -1 )
@@ -619,13 +582,12 @@ Rotate a triangle by an angle of $\pi/6$ around $O$.
T.ApBpCp = z.O : rotation (math.pi/3,T.ABC)
z.Ap,z.Bp,z.Cp = get_points ( T.ApBpCp)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C A',B',C' A,B,E,F A',B',E',F')
\tkzDrawPoints (A,B,C,A',B',C',O)
- \tkzLabelPoints (A,B,C,A',B',C',O)
- \tkzDrawArc[delta=0,->](O,A)(A')
+ \tkzLabelPoints (A,B,C,A',B',C',O)
+ \tkzDrawArc[delta=0,->](O,A)(A')
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -645,61 +607,68 @@ T.ApBpCp = z.O : rotation (math.pi/3,T.ABC)
z.Ap,z.Bp,z.Cp = get_points ( T.ApBpCp)
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
+\begin{center}
+\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C A',B',C' A,B,E,F A',B',E',F')
\tkzDrawPoints (A,B,C,A',B',C',O)
- \tkzLabelPoints (A,B,C,A',B',C',O)
+ \tkzLabelPoints (A,B,C,A',B',C',O)
\begin{scope}
\tkzDrawArc[delta=0,->,dashed,red](O,A)(A')
\tkzDrawSegments[dashed,red](O,A O,A')
\end{scope}
-
\end{tikzpicture}
+\end{center}
\end{minipage}
% subsubsection object_rotation (end)
-\subsubsection{Object \Imeth{point}{symmetry}} % (fold)
+\subsubsection{Method \Imeth{point}{symmetry}} % (fold)
\label{ssub:object_symmetry}
+
+Example of the symmetry of an object
+
+
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.a = point: new(0,-1)
- z.b = point: new(2, 0)
- L.ab = line : new (z.a,z.b)
- C.ab = circle : new (z.a,z.b)
- z.o = point: new(1,1)
- z.ap,z.bp = get_points (z.o: symmetry (C.ab))
+ z.a = point: new(0,-1)
+ z.b = point: new(2, 0)
+ L.ab = line : new (z.a,z.b)
+ C.ab = circle : new (z.a,z.b)
+ z.o = point: new(1,1)
+ z.ap,z.bp = get_points (z.o: symmetry (C.ab))
\end{tkzelements}
-
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(a,b a',b')
-\tkzDrawLines(a,a' b,b')
-\tkzDrawLines[red](a,b a',b')
-\tkzDrawPoints(a,a',b,b',o)
-\tkzLabelPoints(a,a',b,b',o)
+ \tkzGetNodes
+ \tkzDrawCircles(a,b a',b')
+ \tkzDrawLines(a,a' b,b')
+ \tkzDrawLines[red](a,b a',b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(a,a',b,b',o)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
- z.a = point: new(0, -1)
- z.b = point: new(2, 0)
- L.ab = line : new (z.a,z.b)
- C.ab = circle : new (z.a,z.b)
- z.o = point: new(1, 1)
- z.ap,z.bp = get_points (z.o: symmetry (C.ab))
+ z.a = point: new(0, -1)
+ z.b = point: new(2, 0)
+ L.ab = line : new (z.a,z.b)
+ C.ab = circle : new (z.a,z.b)
+ z.o = point: new(1, 1)
+ z.ap,z.bp = get_points (z.o: symmetry (C.ab))
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(a,b a',b')
-\tkzDrawLines(a,a' b,b')
-\tkzDrawLines[red](a,b a',b')
-\tkzDrawPoints(a,a',b,b',o)
-\tkzLabelPoints(a,a',b,b',o)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(a,b a',b')
+ \tkzDrawLines(a,a' b,b')
+ \tkzDrawLines[red](a,b a',b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(a,a',b,b',o)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection object_symmetry (end)
% subsection methods_of_the_class_point (end)
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex
index 3ec9e777a64..98b6ac3610f 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-regular.tex
@@ -94,7 +94,7 @@ z.H = RP.five.proj
\midrule
\textbf{Points} &\\
\midrule
-\Imeth{regular\_polygon}{name (string)} & Refer to\ref{ssub:pentagon} \\
+\Imeth{regular\_polygon}{name (string)} & [\ref{ssub:pentagon}] \\
\bottomrule %
\end{tabular}
\egroup
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex
index 80b711e46f6..b144ed3e012 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-triangle.tex
@@ -21,12 +21,13 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\Iattr{triangle}{pb} &T.ABC.pb \\
\Iattr{triangle}{pc} &T.ABC.pc \\
\Iattr{triangle}{type} & 'triangle' \\
-\Iattr{triangle}{circumcenter} & T.ABC.circumcenter\\
+\Iattr{triangle}{circumcenter} & T.ABC.circumcenter; [\ref{ssub:example_triangle_attributes}
+]\\
\Iattr{triangle}{centroid} &T.ABC.centroid\\
\Iattr{triangle}{incenter} &T.ABC.incenter\\
\Iattr{triangle}{orthocenter} &T.ABC.orthocenter\\
\Iattr{triangle}{eulercenter} &T.ABC.eulercenter \\
-\Iattr{triangle}{spiekercenter} &T.ABC.spiekercenter \\
+\Iattr{triangle}{spiekercenter} &T.ABC.spiekercenter; [\ref{ssub:example_apollonius_circle}] \\
\Iattr{triangle}{a}& It's the length of the side opposite the first vertex \\
\Iattr{triangle}{b}& It's the length of the side opposite the second verte\\
\Iattr{triangle}{c}& It's the length of the side opposite the third vertex \\
@@ -116,7 +117,7 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\begin{tkzelements}
z.A = point: new (0 , 0)
z.B = point: new (4 , 0)
- z.C = point: new (0 , 3)
+ z.C = point: new (1 , 3)
T.ABC = triangle : new (z.A,z.B,z.C)
z.O = T.ABC.circumcenter
z.I = T.ABC.incenter
@@ -129,18 +130,22 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
beta = T.ABC.beta
gamma = T.ABC.gamma
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C,O,G,I,H)
- \tkzLabelPoints[below](A,B,O,G,I)
- \tkzLabelPoints[above right](H,C)
- \tkzDrawCircles(O,A)
- \tkzLabelSegment[sloped](A,B){\tkzUseLua{c}}
- \tkzLabelSegment[sloped,above](B,C){\tkzUseLua{a}}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,O,G,I,H)
+ \tkzDrawCircles(O,A)
+ \tkzLabelPoints[below](A,B,O,G,I)
+ \tkzLabelPoints[above right](H)
+ \tkzLabelPoints[above](C)
+ \tkzLabelSegment[sloped](A,B){\tkzUseLua{c}}
+ \tkzLabelSegment[sloped,above](B,C){\tkzUseLua{a}}
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_triangle_attributes (end)
@@ -155,64 +160,95 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\small
\begin{minipage}{\textwidth}
\captionof{table}{triangle methods.}\label{triangle:met}
-\begin{tabular}{ll}
+\begin{tabular}{lll}
\toprule
-\textbf{Methods} & \textbf{Comments} \\
+\textbf{Methods} & \textbf{Comments} & \\
\midrule
-\Imeth{triangle}{new} (a, b ,c) & |T.ABC = triangle : new (z.A,z.B,z.C)| \\
- ... & |T| or |T.name| with what you want for name, is possible.\\
+\Imeth{triangle}{new} (a, b ,c) & |T.ABC = triangle : new (z.A,z.B,z.C)|& [\ref{sub:triangle_attributes_angles}] \footnote{|T| or |T.name| with what you want for name, is possible.} \\
\midrule
- \textbf{Points} &\\
+ \textbf{Points} &&\\
\midrule
-\Imeth{triangle}{lemoine\_point ()} & |T.ABC : lemoine_point ()| intersection os the symmedians\\
-\Imeth{triangle}{symmedian\_point ()} & Lemoine point or the Grebe point \\
-\Imeth{triangle}{bevan\_point ()} & Circumcenter of the excentral triangle\\
-\Imeth{triangle}{mittenpunkt\_point ()} & Symmedian point of the excentral triangle\\
-\Imeth{triangle}{gergonne\_point ()} & Intersection of the three cevians that lead to the contact points \\
-\Imeth{triangle}{nagel\_point () } & Intersection of the three cevians that lead to the extouch points\\
-\Imeth{triangle}{feuerbach\_point () } & The point at which the incircle and euler circle are tangent. \\
-\Imeth{triangle}{spieker\_center ()} & Incenter of the medial triangle \\
-\Imeth{triangle}{barycenter (ka,kb,kc)} & |T.ABC: barycenter (2,1,1)| barycenter of |({A,2},{B,1},{C,1}) |\\
-\Imeth{triangle}{base (u,v) } & |z.D = T.ABC: base(1,1)| \tkzar ABDC is a parallelogram \\
-\Imeth{triangle}{projection (p) } & Projection of a point on the sides \\
-\Imeth{triangle}{euler\_points () } & Euler points of euler circle \\
-\Imeth{triangle}{nine\_points () } & 9 Points of the euler circle \\
-\Imeth{triangle}{parallelogram ()} & |z.D = T.ABC : parallelogram ()| \tkzar ABCD is a parallelogram\\
+\Imeth{triangle}{lemoine\_point ()} & |T.ABC : lemoine_point ()| intersection of the symmedians & [\ref{ssub:method_imeth_line_isosceles}]\\
+
+\Imeth{triangle}{symmedian\_point ()} & Lemoine point or the Grebe point& [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{lemoine\_point ()} & symmedian point or the Grebe point& [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{bevan\_point ()} & Circumcenter of the excentral triangle& [\ref{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}
+]\\
+
+\Imeth{triangle}{mittenpunkt\_point ()} & Symmedian point of the excentral triangle& [\ref{ssub:method_imeth_triangle_mittenpunkt}]\\
+
+\Imeth{triangle}{gergonne\_point ()} & Intersection of the three cevians that lead to the contact points& [\ref{ssub:gergonne_point}]\\
+
+\Imeth{triangle}{nagel\_point () } & Intersection of the three cevians that lead to the extouch points& [\ref{ssub:method_imeth_triangle_nagel__point}]\\
+
+\Imeth{triangle}{feuerbach\_point () } & The point at which the incircle and euler circle are tangent.& [\ref{ssub:method_imeth_triangle_feuerbach}]\\
+
+\Imeth{triangle}{spieker\_center ()} & Incenter of the medial triangle& [\ref{sub:apollonius_circle_v1_with_inversion}]\\
+
+\Imeth{triangle}{barycentric (ka,kb,kc)} & |T.ABC: barycentric (2,1,1)| barycenter of |({A,2},{B,1},{C,1}) |&Remark \footnote{The function \code{barycenter} is used to obtain the barycentre for any number of points }\\
+
+\Imeth{triangle}{base (u,v) } & |z.D = T.ABC: base(1,1)| \tkzar ABDC is a parallelogram & [\ref{ssub:method_imeth_triangle_base}] \\
+\Imeth{triangle}{trilinear (u,v,w) } & |z.D = T.ABC: trilinear(1,1,1)| \tkzar ABDC parallelogram & [\ref{ssub:method_imeth_triangle_trilinear}] \\
+
+\Imeth{triangle}{projection (p) } & Projection of a point on the sides &[\ref{sub:euler_relation}; \ref{ssub:method_imeth_triangle_projection}]\\
+
+\Imeth{triangle}{euler\_points () } & Euler points of euler circle & [\ref{ssub:method_imeth_triangle_euler__points}] \\
+
+\Imeth{triangle}{nine\_points () } & 9 Points of the euler circle & [\ref{ssub:method_imeth_triangle_nine__points}] \\
+
+\Imeth{triangle}{parallelogram ()} & |z.D = T.ABC : parallelogram ()| \tkzar ABCD parallelogram& [\ref{sub:director_circle}]\\
\midrule
- \textbf{Lines} &\\
+ \textbf{Lines} &&\\
\midrule
\Imeth{triangle}{altitude (n) } & |L.AHa = T.ABC : altitude () | n empty or 0 line from $A$
-\footnote{|z.Ha = L.AHa.pb| recovers the common point of the opposite side and altitude. The method |orthic| is usefull.}\\
-\Imeth{triangle}{bisector (n) } & |L.Bb = T.ABC : bisector (1) | n = 1 line from $B$ \footnote{|_,z.b = get_points(L.Bb)| recovers the common point of the opposite side and bisector. }\\
-\Imeth{triangle}{bisector\_ext(n) } & n=2 line from the third vertex.\\
-\Imeth{triangle}{symmedian\_line (n)} & Cevian with respect to Lemoine point. \\
+\footnote{|z.Ha = L.AHa.pb| recovers the common point of the opposite side and altitude. The method |orthic| is usefull. If you don't need to use the triangle object several times, you can obtain a bisector or a altitude with the function |altitude (z.A,z.B,z.C)| ; [ \ref{misc}]}& [\ref{ssub:method_imeth_triangle_altitude} ]\\
+
+\Imeth{triangle}{bisector (n) } & |L.Bb = T.ABC : bisector (1) | n = 1 line from $B$ \footnote{|_,z.b = get_points(L.Bb)| recovers the common point of the opposite side and bisector. If you don't need to use the triangle object several times, you can obtain a bisector with the function |bisector (z.A,z.B,z.C)| [\ref{misc}]}& [\ref{ssub:method_imeth_triangle_bisector}]\\
+
+\Imeth{triangle}{bisector\_ext(n) } & n=2 line from the third vertex.& [\ref{sub:harmonic_division_and_bisector}]\\
+
+\Imeth{triangle}{symmedian\_line (n)} & Cevian with respect to Lemoine point.& [\ref{ssub:method_imeth_triangle_symmedial} ; \ref{ssub:method_imeth_line_isosceles}]\\
+
\Imeth{triangle}{euler\_line () } & the line through $N$ ,$G$, $H$ and $O$ if the triangle is not equilateral
-\footnote{N center of nine points circle, G centroid, H orthocenter , O circum center } \\
-\Imeth{triangle}{antiparallel(pt,n)} & n=0 antiparallel through pt to $(BC)$, n=1 to $(AC)$ etc.\\
+\footnote{N center of nine points circle, G centroid, H orthocenter , O circum center } & [\ref{sub:hexagram}]\\
+
+\Imeth{triangle}{antiparallel(pt,n)} & n=0 antiparallel through pt to $(BC)$, n=1 to $(AC)$ etc.& [\ref{sub:antiparallel_through_lemoine_point}]\\
\midrule
- \textbf{Circles} &\\
+ \textbf{Circles} &&\\
\midrule
\Imeth{triangle}{euler\_circle ()} & C.|NP = T.ABC : euler_circle ()| \tkzar $N$ euler point
- \footnote{ The midpoint of each side of the triangle, the foot of each altitude, the midpoint of the line segment from each vertex of the triangle to the orthocenter.} \\
-\Imeth{triangle}{circum\_circle ()} & |C.OA = T.ABC : circum ()| Triangle's circumscribed circle \\
-\Imeth{triangle}{in\_circle ()} & Inscribed circle of the triangle\\
-\Imeth{triangle}{ex\_circle (n)} & Circle tangent to the three sides of the triangle ; n =1 swap ; n=2 2 swap \\
-\Imeth{triangle}{first\_lemoine\_circle ()} & The center is the midpoint between Lemoine point and the circumcenter.\footnote{
-Through the Lemoine point draw lines parallel to the triangle's sides. The points where the parallel lines intersect the sides of ABC
- then lie on a circle known as the first Lemoine circle. } \\
-\Imeth{triangle}{second\_lemoine\_circle ()} & Refer to example \ref{sub:antiparallel_through_lemoine_point}\\
-\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle\\
-\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle Refer to (\ref{ssub:method_imeth_triangle_cevian})\\
-\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle Refer to (\ref{ssub:method_imeth_triangle_pedal})\\
-\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points Refer to (\ref{ssub:method_imeth_triangle_conway})\\
+ \footnote{ The midpoint of each side of the triangle, the foot of each altitude, the midpoint of the line segment from each vertex of the triangle to the orthocenter.} & [\ref{ssub:method_imeth_triangle_euler_circle}]\\
+
+\Imeth{triangle}{circum\_circle ()} & |C.OA = T.ABC : circum ()| Triangle's circumscribed circle & [\ref{ssub:method_imeth_triangle_circum_circle}] \\
+
+\Imeth{triangle}{in\_circle ()} & Inscribed circle of the triangle&
+[\ref{ssub:method_imeth_triangle_in_circle}]\\
+
+\Imeth{triangle}{ex\_circle (n)} & Circle tangent to the three sides of the triangle ; n =1 swap ; n=2 2 swap & [\ref{ssub:method_imeth_triangle_ex__circle}]\\
+
+\Imeth{triangle}{first\_lemoine\_circle ()} & The center is the midpoint between Lemoine point and the circumcenter.\footnote{Through the Lemoine point draw lines parallel to the triangle's sides. The points where the parallel lines intersect the sides of ABC then lie on a circle known as the first Lemoine circle. }& [\ref{sub:first_and_second_lemoine_circles}
+] \\
+
+\Imeth{triangle}{second\_lemoine\_circle ()} & & \ref{sub:antiparallel_through_lemoine_point}] \\
+
+\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle& [\ref{ssub:method_imeth_triangle_spieker__circle}]\\
+
+\Imeth{triangle}{bevan\_circle ()} & Circumscribed circle of a excentral triangle & [\ref{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}]\\
+
+\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle & [\ref{ssub:method_imeth_triangle_cevian}]\\
+
+\Imeth{triangle}{symmedial\_circle ()} & Circumscribed circle of a symmedial triangle & [\ref{ssub:method_imeth_triangle_symmedial}]\\
+
+\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle & [\ref{ssub:method_imeth_triangle_pedal}]\\
+
+\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points & [\ref{ssub:method_imeth_triangle_conway}]\\
\bottomrule
\end{tabular}
\end{minipage}
\egroup
-Remark: If you don't need to use the triangle object several times, you can obtain a bisector or a altitude with the next functions
-
-|bisector (z.A,z.B,z.C)| and |altitude (z.A,z.B,z.C)| Refer to (\ref{misc})
\clearpage\newpage
\bgroup
@@ -227,29 +263,48 @@ Remark: If you don't need to use the triangle object several times, you can obta
\midrule
\textbf{Triangles} &\\
\midrule
-\Imeth{triangle}{orthic ()} & |T = T.ABC : orthic ()| triangle joining the feet of the altitudes \\
-\Imeth{triangle}{medial ()} & |T = T.ABC : medial ()| triangle with vertices at the midpoints\\
-\Imeth{triangle}{incentral ()} & Cevian triangle of the triangle with respect to its incenter \\
-\Imeth{triangle}{excentral () } & Triangle with vertices corresponding to the excenters \\
-\Imeth{triangle}{extouch ()} & Triangle formed by the points of tangency with the excircles \\
-\Imeth{triangle}{intouch () } & Contact triangle formed by the points of tangency of the incircle \\
-\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices\\
-\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles\\
-\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle. \\
-\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|. refer to (\ref{ssub:method_imeth_triangle_cevian})\\
-\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| Refer to \ref{ssub:method_imeth_triangle_pedal}\\
-\Imeth{triangle}{symmedian ()} & Triangle formed with the intersection points of the symmedians. \\
-\Imeth{triangle}{euler ()} & Triangle formed with the euler points \\
+\Imeth{triangle}{orthic ()} & |T = T.ABC : orthic ()| triangle joining the feet of the altitudes ; [\ref{ssub:method_imeth_triangle_altitude}] \\
+
+\Imeth{triangle}{medial ()} & |T = T.ABC : medial ()| triangle with vertices at the midpoints; [\ref{ssub:method_imeth_triangle_medial} ; \ref{sub:nine_points} ; \ref{ssub:method_imeth_triangle_symmedial}]\\
+
+\Imeth{triangle}{incentral ()}& Cevian triangle of the triangle with respect to its incenter. [\ref{ssub:method_incentral}] \\
+
+\Imeth{triangle}{excentral ()} & Triangle with vertices corresponding to the excenters. [\ref{ssub:method_imeth_triangle_feuerbach} ] \\
+
+\Imeth{triangle}{extouch ()} & Triangle formed by the points of tangency with the excircles. [\ref{sub:excircles} ] \\
+
+\Imeth{triangle}{intouch () } & Contact triangle formed by the points of tangency of the incircle [\ref{ssub:gergonne_point}]\\
+
+\Imeth{triangle}{contact () } & contact = intouch ; [
+\ref{ssub:gergonne_point}] \\
+
+\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices; [\ref{ssub:method_imeth_triangle_tangential}]\\
+
+\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles; [\ref{ssub:method_imeth_triangle_feuerbach}]\\
+
+\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle.\footnote{You can use \tkzname{similar} instead of \tkzname{anti}.} ; [\ref{ssub:method_imeth_triangle_anti}] \\
+
+\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|; [\ref{ssub:method_imeth_triangle_cevian}] \\
+
+\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| [\ref{ssub:method_imeth_triangle_pedal}]\\
+
+\Imeth{triangle}{symmedial ()} & Triangle formed with the intersection points of the symmedians ; [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{euler ()} & Triangle formed with the euler points ; [\ref{ssub:method_imeth_triangle_euler__points}] \\
+
+\Imeth{triangle}{similar ()} & Triangle formed with straight lines parallel to the sides [\ref{ssub:method_imeth_triangle_similar}] \\
\midrule
\textbf{Ellipses} &\\
-\Imeth{triangle}{steiner\_inellipse ()} & Refer to ex. (\ref{ssub:steiner_inellipse_and_circumellipse})\\
-\Imeth{triangle}{steiner\_circumellipse ()} & Refer to ex. (\ref{ssub:steiner_inellipse_and_circumellipse})\\
-\Imeth{triangle}{euler\_ellipse ()} & Refer to ex. (\ref{sub:euler_ellipse})\\
+\Imeth{triangle}{steiner\_inellipse ()} & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
+
+\Imeth{triangle}{steiner\_circumellipse ()} & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
+
+\Imeth{triangle}{euler\_ellipse ()} & [ex. (\ref{sub:euler_ellipse}]\\
\midrule
\textbf{Miscellaneous} &\\
\midrule
\Imeth{triangle}{area ()} & $ \mathcal{A}$| = T.ABC: area ()|\\
-\Imeth{triangle}{barycentric\_coordinates (pt)} & Triples of numbers corresponding to masses placed at the vertices\\
+\Imeth{triangle}{barycentric\_coordinates(pt)}& Triples of numbers corresponding to masses placed at the vertices\\
\Imeth{triangle}{in\_out (pt)} & Boolean. Test if |pt| is inside the triangle\\
\Imeth{triangle}{check\_equilateral ()} & Boolean. Test if the triangle is equilateral\\
\bottomrule
@@ -259,68 +314,1146 @@ Remark: If you don't need to use the triangle object several times, you can obta
\egroup
% subsubsection methods_of_the_class_triangle (end)
+\subsubsection{Gergonne point} % (fold)
+\label{ssub:gergonne_point}
+
+In this example, some usefull methods are applied like \Imeth{triangle}{intouch} or \Imeth{triangle}{contact}.
+The points of contact of the inscribed circle (incircle) with the triangle in question are obtained.
+
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
+\begin{tkzelements}
+z.a = point: new(1,0)
+z.b = point: new(6,2)
+z.c = point: new(2,5)
+T = triangle : new (z.a,z.b,z.c)
+z.g = T : gergonne_point ()
+z.i = T.incenter
+z.ta,z.tb,z.tc = get_points (T : intouch ())
+\end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawSegments (a,ta b,tb c,tc)
+ \tkzDrawCircle(i,ta)
+ \tkzDrawPoints(a,b,c,g,ta,tb,tc)
+ \tkzLabelPoints(a,b,tc)
+ \tkzLabelPoints[above](c,ta)
+ \tkzLabelPoints[above left](tb)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{tkzelements}
+z.a = point: new(1,0)
+z.b = point: new(6,2)
+z.c = point: new(2,5)
+T = triangle : new (z.a,z.b,z.c)
+z.g = T : gergonne_point ()
+z.i = T.incenter
+z.ta,z.tb,z.tc = get_points (T : intouch ())
+\end{tkzelements}
+
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawSegments (a,ta b,tb c,tc)
+ \tkzDrawCircle(i,ta)
+ \tkzDrawPoints(a,b,c,g,ta,tb,tc)
+ \tkzLabelPoints(a,b,tc)
+ \tkzLabelPoints[above](c,ta)
+ \tkzLabelPoints[above left](tb)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection gergonne_point (end)
+
+\subsubsection{Method \Imeth{triangle}{Nagel\_point}} % (fold)
+\label{ssub:method_imeth_triangle_nagel__point}
+
+Let $E_a$ be the point at which the $J_a$-excircle meets the side $(BC)$ of a triangle $ABC$, and define $E_b$ and $E_c$ similarly. Then the lines $A,E_a$, $B,E_b$ and $C,E_c$ concur in the Nagel point $Na$.
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .7
+ z.A = point : new (0,0)
+ z.B = point : new (3.6,0)
+ z.C = point : new (2.8,4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.Na = T.ABC : nagel_point ()
+ z.J_a,z.J_b,
+ z.J_c = get_points (T.ABC : excentral ())
+ z.E_a,z.E_b,
+ z.E_c = get_points (T.ABC : extouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[red,size=2](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawLines[add=1.75 and 1.75,teal](A,B A,C B,C)
+ \tkzDrawCircles(J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[dashed,gray](J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[orange](A,E_a B,E_b C,E_c)
+ \tkzDrawPoints[red,size=2](Na,E_a,E_b,E_c)
+ \tkzLabelPoints(A,B,Na)
+ \tkzLabelPoints(E_c,J_a,J_b,J_c)
+ \tkzLabelPoints[above](E_a,E_b,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .7
+ z.A = point : new (0,0)
+ z.B = point : new (3.6,0)
+ z.C = point : new (2.8,4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.Na = T.ABC : nagel_point ()
+ z.J_a,z.J_b,
+ z.J_c = get_points (T.ABC : excentral ())
+ z.E_a,z.E_b,
+ z.E_c = get_points (T.ABC : extouch ())
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[red,size=2](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawLines[add=1.75 and 1.75,teal](A,B A,C B,C)
+ \tkzDrawCircles(J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[dashed,gray](J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[orange](A,E_a B,E_b C,E_c)
+ \tkzDrawPoints[red,size=2](Na,E_a,E_b,E_c)
+ \tkzLabelPoints(A,B,Na)
+ \tkzLabelPoints(E_c,J_a,J_b,J_c)
+ \tkzLabelPoints[above](E_a,E_b,C)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_nagel__point (end)
+
+
+\subsubsection{Method \Imeth{triangle}{mittenpunkt}} % (fold)
+\label{ssub:method_imeth_triangle_mittenpunkt}
+
+The Mittenpunkt is the symmedian point of the excentral triangle. The mittenpunkt (also called the middlespoint) of a triangle is the symmedian point of the excentral triangle, i.e., the point of concurrence of the lines from the excenters through the corresponding triangle side midpoints.
+[ \href{https://mathworld.wolfram.com/Mittenpunkt.html}{Weisstein, Eric W. "Mittenpunkt." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 6 , 0 )
+ z.C = point : new ( 4 , 6 )
+ T = triangle : new (z.A,z.B,z.C)
+ z.Ma,
+ z.Mb,
+ z.Mc = get_points (T : medial ())
+ z.Ia,z.Ib,z.Ic = get_points(T : excentral ())
+ z.Mi = T : mittenpunkt_point ()
+ T.int = T : extouch ()
+ z.Ta,z.Tb,z.Tc = get_points(T.int)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 6 , 0 )
+ z.C = point : new ( 4 , 6 )
+ T = triangle : new (z.A,z.B,z.C)
+ z.Ma,
+ z.Mb,
+ z.Mc = get_points (T : medial ())
+ z.Ia,z.Ib,z.Ic = get_points(T : excentral ())
+ z.Mi = T : mittenpunkt_point ()
+ T.int = T : extouch ()
+ z.Ta,z.Tb,z.Tc = get_points(T.int)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}[scale=.5]
+ \tkzGetNodes
+ \tkzDrawPolygons[](A,B,C Ma,Mb,Mc)
+ \tkzDrawPoints(Ma,Mb,Mc,Ia,Ib,Ic)
+ \tkzDrawPoints[red](Ta,Tb,Tc)
+ \tkzLabelPoints[below](Ib)
+ \tkzLabelPoints[above left](Ia,Ic)
+ \tkzClipBB
+ \tkzDrawLines[add=0 and 1](Ia,Ma Ib,Mb Ic,Mc)
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles[red](Ia,Ta Ib,Tb Ic,Tc)
+ \tkzDrawPoints(B,C,A,Mi) %
+ \tkzLabelPoints(B,A)
+ \tkzLabelPoints[above](C,Mi)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}[scale=.5]
+ \tkzGetNodes
+ \tkzDrawPolygons[](A,B,C Ma,Mb,Mc)
+ \tkzDrawPoints(Ma,Mb,Mc,Ia,Ib,Ic)
+ \tkzDrawPoints[red](Ta,Tb,Tc)
+ \tkzLabelPoints[below](Ib)
+ \tkzLabelPoints[above left](Ia,Ic)
+ \tkzClipBB
+ \tkzDrawLines[add=0 and 1](Ia,Ma Ib,Mb Ic,Mc)
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles[red](Ia,Ta Ib,Tb Ic,Tc)
+ \tkzDrawPoints(B,C,A,Mi)
+ \tkzLabelPoints(B,A)
+ \tkzLabelPoints[above](C,Mi)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_mittenpunkt (end)
+
+\subsubsection{Method \Imeth{triangle}{projection}} % (fold)
+\label{ssub:method_imeth_triangle_projection}
+
+This involves obtaining the projections of a point onto the sides of a triangle. In the following example, we are going to find the projections of a centre of an exinscribed circle.
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.J,_ = get_points(T.ABC: ex_circle (2))
+z.X ,
+z.Y,
+z.Z = T.ABC : projection (z.J)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.J,_ = get_points(T.ABC: ex_circle (2))
+z.X ,
+z.Y,
+z.Z = T.ABC : projection (z.J)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawSegments[blue](J,X J,Y J,Z C,Y C,X)
+ \tkzDrawPoints(A,B,C,J,X,Y,Z)
+ \tkzLabelPoints(J,X,Y)
+ \tkzLabelPoints[above](C,B,Z)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Z,J A,Y,J J,X,B)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawSegments[blue](J,X J,Y J,Z C,Y C,X)
+ \tkzDrawPoints(A,B,C,J,X,Y,Z)
+ \tkzLabelPoints(J,X,Y)
+ \tkzLabelPoints[above](C,B,Z)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Z,J A,Y,J J,X,B)
+ \end{tikzpicture}
+\end{center}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_projection (end)
+
+\subsubsection{Method \Imeth{triangle}{trilinear}} % (fold)
+\label{ssub:method_imeth_triangle_trilinear}
+
+Given a reference triangle $ABC$, the trilinear coordinates of a point $P$ with respect to $ABC$ are an ordered triple of numbers, each of which is proportional to the directed distance from $P$ to one of the side lines. Trilinear coordinates are denoted alpha:beta:gamma or (alpha,beta,gamma) and also are known as homogeneous coordinates or "trilinears." Trilinear coordinates were introduced by Plücker in 1835.
+[\href{https://mathworld.wolfram.com/TrilinearCoordinates.html}{Weisstein, Eric W. "Trilinear Coordinates." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 0 )
+z.C = point : new ( 4 , 3 )
+T.ABC = triangle : new ( z.A , z.B , z.C )
+a = T.ABC.a
+b = T.ABC.b
+c = T.ABC.c
+z.Gp = T.ABC : trilinear (b*c,a*c,a*b)
+z.G = T.ABC : barycentric (1,1,1)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPoints(A,B,C,G',G)
+\tkzLabelPoints(A,B,G')
+\tkzLabelPoints[above](C,G)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 0 )
+z.C = point : new ( 4 , 3 )
+T.ABC = triangle : new ( z.A , z.B , z.C )
+a = T.ABC.a
+b = T.ABC.b
+c = T.ABC.c
+z.Gp = T.ABC : trilinear (b*c,a*c,a*b)
+z.G = T.ABC : barycentric (1,1,1)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,G',G)
+ \tkzLabelPoints(A,B,G')
+ \tkzLabelPoints[above](C,G)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_trilinear (end)
+
+\subsubsection{Method \Imeth{triangle}{barycentric\_coordinates}} % (fold)
+\label{ssub:method_imeth_triangle_barycentric__coordinates}
+
+This method produces a triplet of coordinates which are the barycentric coordinates of a point as a function of the three points of a given triangle.
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (2,5)
+ T = triangle: new(z.A,z.B,z.C)
+ z.G = T.centroid
+ ca,cb,cc = T : barycentric_coordinates (z.G)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,G)
+ \tkzLabelPoints(A,B,C,G)
+ \tkzLabelPoint(G){\pmpn{\tkzUseLua{ca}}:\pmpn{\tkzUseLua{cb}}:\pmpn{\tkzUseLua{cc}}}
+\end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (2,5)
+ T = triangle: new(z.A,z.B,z.C)
+ z.G = T.centroid
+ ca,cb,cc = T : barycentric_coordinates (z.G)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,G)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C) \tkzLabelPoint(G){\pmpn{\tkzUseLua{ca}}:\pmpn{\tkzUseLua{cb}}:\pmpn{\tkzUseLua{cc}}}
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_barycentric__coordinates (end)
+
+\subsubsection{Method \Imeth{triangle}{base}} % (fold)
+\label{ssub:method_imeth_triangle_base}
+
+In the next example, the point $D$ is defined by $\overrightarrow{AD} = 1\cdot \overrightarrow{AB}+1\cdot \overrightarrow{AC}$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (0,5)
+ z.X = point: new (2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.D = T : base (1,1)
+ z.E = T : base (.5,1)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,D,C A,B,E,C)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (0,5)
+ z.X = point: new (2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.D = T : base (1,1)
+ z.E = T : base (.5,1)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,D,C A,B,E,C)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_base (end)
+
+
+\subsubsection{Method \Imeth{triangle}{euler\_points}} % (fold)
+\label{ssub:method_imeth_triangle_euler__points}
+
+The points $a$, $b$ and $c$ are the Euler points. They are the midpoints of the segments $AH$, $BH$ and $CH$.
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.a,
+ z.b,
+ z.c = get_points (T : euler ())
+ z.H = T.orthocenter
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygons[cyan](a,b,c)
+ \tkzDrawCircle[purple](N,a)
+ \tkzDrawPoints(a,b,B,C,A,c,H)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzLabelPoints(A,B,a,b,H)
+ \tkzLabelPoints[above](c,C)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.a,
+ z.b,
+ z.c = get_points (T : euler ())
+ z.H = T.orthocenter
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygons[cyan](a,b,c)
+ \tkzDrawCircle[purple](N,a)
+ \tkzDrawPoints(a,b,B,C,A,c,H)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzLabelPoints(A,B,a,b,H)
+ \tkzLabelPoints[above](c,C)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_triangle_euler__points (end)
+
+\subsubsection{Method \Imeth{triangle}{nine\_points}} % (fold)
+\label{ssub:method_imeth_triangle_nine__points}
+
+This method gives the nine main points belonging to the Euler circle: in order, first the midpoints of the sides of the triangle, then the feet of the altitudes and finally the three Euler points. Refer to the last example.
+In the next example, we look for the centre of gravity in two different ways: the first uses the \code{trilinear} method, the second the \code{barycentric} method.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.e1,
+ z.e2,
+ z.e3,
+ z.e4,
+ z.e5,
+ z.e6,
+ z.e7,
+ z.e8,
+ z.e9 = T : nine_points ()
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.e1,
+ z.e2,
+ z.e3,
+ z.e4,
+ z.e5,
+ z.e6,
+ z.e7,
+ z.e8,
+ z.e9 = T : nine_points ()
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle[purple](N,e1)
+ \tkzDrawPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+ \tkzLabelPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+\end{tikzpicture}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle[purple](N,e1)
+ \tkzDrawPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+ \tkzLabelPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_nine__points (end)
+
+\subsubsection{Method \Imeth{triangle}{altitude}} % (fold)
+\label{ssub:method_imeth_triangle_altitude}
+
+There are several methods to obtain one or more altitudes of a triangle. One possible method is the \Imeth{triangle}{orthic} method. This method allows for defining the \code{orthic} triangle whose vertices are the feet of the altitudes from each vertex. If only one altitude is needed, one can use the \code{altitude(n)} method. The numeric value $n$ can be $0$, $1$, or $2$. By default, if it is absent, it is considered to be $0$. Considering the triangle $ABC$, $n=0$ means no cyclic permutation of the vertices, and the altitude will be from the first point, here $A$. If $n=1$, the point trio $BCA$ is considered, and the altitude will be from $B$. For $n=2$, the altitude will be from $C$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ L.HA = T : altitude ()
+ L.HC = T :altitude (2)
+ z.Hc = L.HC.pb
+ z.Ha = L.HA.pb
+ z.a,z.b,z.c = get_points (T : orthic ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzDrawSegments[red](C,Hc A,Ha)
+ \tkzLabelPoints(A,B,H)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,C)
+ \tkzMarkRightAngles[fill = gray!30,opacity=.4](B,Hc,C A,Ha,C)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ L.HA = T : altitude ()
+ L.HC = T : altitude (2)
+ z.Hc = L.HC.pb
+ z.Ha = L.HA.pb
+ z.a,z.b,z.c = get_points (T : orthic ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzDrawSegments[red](C,Hc A,Ha)
+ \tkzLabelPoints(A,B,H)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,C)
+ \tkzMarkRightAngles[fill = gray!30,opacity=.4](B,Hc,C A,Ha,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_altitude (end)
+
+\subsubsection{Method \Imeth{triangle}{bisector}} % (fold)
+\label{ssub:method_imeth_triangle_bisector}
+
+There are several methods to obtain one or more bisectors of a triangle. One possible method is the \Imeth{triangle}{incentral} method. This method allows for defining the \code{incentral} triangle whose vertices are the feet of the bisectors from each vertex. If only one bisector is needed, one can use the \code{bisector(n)} method. The numeric value $n$ can be $0$, $1$, or $2$. By default, if it is absent, it is considered to be $0$. Considering the triangle $ABC$, $n=0$ means no cyclic permutation of the vertices, and the bisector will be from the first point, here $A$. If $n=1$, the point trio $BCA$ is considered, and the bisector will be from $B$. For $n=2$, the bisector will be from $C$.
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (3 , 2)
+ z.C = point : new (2 , 5)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ L.AE = T.ABC : bisector ()
+ z.E = L.AE.pb
+ z.F = T.ABC : bisector (1).pb
+ z.a,z.b,z.c = get_points (T.ABC : incentral ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawLines(A,B A,C A,E B,F)
+ \tkzDrawPoints(A,B,C,a,b,c)
+ \tkzLabelPoints(A,B,c)
+ \tkzLabelPoints[above](C,b,a)
+ \tkzMarkAngles[mark=|](B,A,a a,A,C)
+ \tkzMarkAngles[mark=||](C,B,b b,B,A)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (3 , 2)
+ z.C = point : new (2 , 5)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ L.AE = T.ABC : bisector ()
+ z.E = L.AE.pb
+ z.F = T.ABC : bisector (1).pb
+ z.a,z.b,z.c = get_points (T.ABC : incentral ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawLines(A,B A,C A,E B,F)
+ \tkzDrawPoints(A,B,C,a,b,c)
+ \tkzLabelPoints(A,B,c)
+ \tkzLabelPoints[above](C,b,a)
+ \tkzMarkAngles[cyan,mark=|,size=.75](B,A,a a,A,C)
+ \tkzMarkAngles[mark=||,size=.5](C,B,b b,B,A)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_bisector (end)
+
+%%%%%% Circles %%%%%%
+
+\subsubsection{Method \Imeth{triangle}{euler\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_euler_circle}
+
+The nine-point circle, also called Euler's circle or the Feuerbach circle, is the circle that passes through the perpendicular feet $H_A, H_B, and H_C$ dropped from the vertices of any reference triangle DeltaABC on the sides opposite them. Euler showed in 1765 that it also passes through the midpoints$ M_A, M_B, M_C$ of the sides of DeltaABC. By Feuerbach's theorem, the nine-point circle also passes through the midpoints $E_A, E_B, and E_C$ of the segments that join the vertices and the orthocenter $H$. These points are commonly referred to as the Euler points.
+\href{https://mathworld.wolfram.com/Nine-PointCircle.html}{Weisstein, Eric W. "Nine-Point Circle." From MathWorld--A Wolfram Web Resource.}
+
+\vspace{6pt}
+There are several ways of obtaining the Euler circle. The first would be to use an attribute of the triangle to determine the centre. This centre is defined by |z.N = T.eulercenter|. Next, the circle passes through the midpoint of one of the sides. IF this circle is useful later on, it is best to define it using the \code{euler\_circle} method.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.euler = T : euler_circle ()
+ z.N,z.K = get_points (C.euler)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(N,K)
+ \tkzDrawPoints(A,B,C,N,K)
+ \tkzLabelPoints(A,B,N)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.euler = T : euler_circle ()
+ z.N,z.K = get_points (C.euler)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(N,K)
+ \tkzDrawPoints(A,B,C,N,K)
+ \tkzLabelPoints(A,B,N)
+ \tkzLabelPoints[above](C,K)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_euler_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{circum\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_circum_circle}
+
+To obtain the circumscribed circle, simply use the \code{T.circumcenter} attribute, but if it is necessary to determine the circle then the method is \code{circum\_circle}.
-\subsubsection{Méthodes \Imeth{triangle}{cevian} et \Imeth{triangle}{cevian\_circle}} % (fold)
-\label{ssub:method_imeth_triangle_cevian}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.circum = T : circum_circle ()
+ z.O,z.K = get_points (C.circum)
\end{tkzelements}
\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(O,K)
+ \tkzDrawPoints(A,B,C,O,K)
+ \tkzLabelPoints(A,B,O)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.circum = T : circum_circle ()
+ z.O,z.K = get_points (C.circum)
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(O,K)
+ \tkzDrawPoints(A,B,C,O,K)
+ \tkzLabelPoints(A,B,O)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_circum_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{in\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_in_circle}
+
+An incircle is an inscribed circle of a polygon, i.e., a circle that is tangent to each of the polygon's sides. The center $I$ of the incircle is called the incenter, and the radius $r$ of the circle is called the inradius.
+
+The incenter is the point of concurrence of the triangle's angle bisectors. In addition, the points $M_A, M_B, and M_C$ of intersection of the incircle with the sides of $ABC$ are the polygon vertices of the pedal triangle [\ref{ssub:method_imeth_triangle_pedal}] taking the incenter as the pedal point (c.f. tangential triangle [\ref{ssub:method_imeth_triangle_medial}]). This triangle is called the contact triangle.
+
+[\href{https://mathworld.wolfram.com/Incircle.html}{Weisstein, Eric W. "Incircle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , 0)
+ z.C = point : new (1 , 3)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ z.E = T.ABC : bisector ().pb
+ z.F = T.ABC : bisector (1).pb
+ z.G = T.ABC : bisector (2).pb
+ C.IH = T.ABC : in_circle ()
+ z.I,z.H = get_points (C.IH)
+\end{tkzelements}
+\begin{tikzpicture}%
+ [ new/.style ={ color = orange },
+ one/.style = { new,/tkzmkangle/size=.5 },
+ two/.style = { new,/tkzmkangle/size=.6 },
+ l/.style = { /tkzmkangle/arc=l },
+ ll/.style = { /tkzmkangle/arc=ll },
+ lll/.style = { /tkzmkangle/arc=lll }]
+\tkzGetNodes
+\tkzDrawPolygon(A,B,C)
+\tkzDrawSegments[new](A,E B,F C,G)
+ \tkzDrawSegments[dashed,add=0 and .5](I,H)
+ \tkzDrawPoints(A,B,C,E,F,G,I)
+ \tkzDrawCircle(I,H)
+ \tkzDrawPoints(I,A,B,C,H)
+\begin{scope}[one]
+ \tkzMarkAngles[l](B,A,E)
+ \tkzMarkAngles[ll](C,B,F)
+ \tkzMarkAngles[lll](A,C,G)
+\end{scope}
+\begin{scope}[two]
+ \tkzMarkAngles[l](E,A,C)
+ \tkzMarkAngles[ll](F,B,A)
+ \tkzMarkAngles[lll](G,C,B)
+\end{scope}
+\tkzLabelPoints(A,B,I)
+\tkzLabelPoints[above](C,H)
+\end{tikzpicture}
+
+
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , 0)
+ z.C = point : new (1 , 3)
+ T.ABC = triangle : new(z.A,z.B,z.C)
+ z.E = T.ABC : bisector ().pb
+ z.F = T.ABC : bisector (1).pb
+ z.G = T.ABC : bisector (2).pb
+ C.IH = T.ABC : in_circle ()
+ z.I,z.H = get_points (C.IH)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}%
+ [ new/.style ={color = orange },
+ one/.style = { new,/tkzmkangle/size=.5 },
+ two/.style = { new,/tkzmkangle/size=.6 },
+ l/.style = { /tkzmkangle/arc=l },
+ ll/.style = { /tkzmkangle/arc=ll },
+ lll/.style = { /tkzmkangle/arc=lll }]
\tkzGetNodes
-\tkzDrawPolygons(a,b,c ta,tb,tc)
-\tkzDrawSegments(a,ta b,tb c,tc)
-\tkzDrawPoints(a,b,c,i,ta,tb,tc)
-\tkzLabelPoints(a,b,c,i)
-\tkzDrawCircles(w,ta)
+\tkzDrawPolygon(A,B,C)
+\tkzDrawSegments[new](A,E B,F C,G)
+\tkzDrawSegments[dashed,add=0 and .5](I,H)
+\tkzDrawPoints(A,B,C,E,F,G,I)
+\tkzDrawCircle(I,H)
+\tkzDrawPoints(I,A,B,C,H)
+\begin{scope}[one]
+ \tkzMarkAngles[l](B,A,E)
+ \tkzMarkAngles[ll](C,B,F)
+ \tkzMarkAngles[lll](A,C,G)
+\end{scope}
+\begin{scope}[two]
+ \tkzMarkAngles[l](E,A,C)
+ \tkzMarkAngles[ll](F,B,A)
+ \tkzMarkAngles[lll](G,C,B)
+\end{scope}
+\tkzLabelPoints(A,B,I)
+\tkzLabelPoints[above](C,H)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
+
+
+% subsubsection method_imeth_triangle_in_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{ex\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_ex__circle}
+
+Given a triangle, extend two sides in the direction opposite their common vertex. The circle tangent to these two lines and to the other side of the triangle is called an excircle, or sometimes an escribed circle. The center of the excircle is called the excenter and lies on the external angle bisector of the opposite angle.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.I,_ = get_points(T.ABC: ex_circle ())
+z.J,_ = get_points(T.ABC: ex_circle (1))
+z.K,_ = get_points(T.ABC: ex_circle (2))
+z.Xk ,
+z.Yk,
+z.Zk = T.ABC : projection (z.K)
+z.Xi ,
+z.Yi,
+z.Zi = T.ABC : projection (z.I)
+z.Xj ,
+z.Yj,
+z.Zj = T.ABC : projection (z.J)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .5
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.I,_ = get_points(T.ABC: ex_circle ())
+z.J,_ = get_points(T.ABC: ex_circle (1))
+z.K,_ = get_points(T.ABC: ex_circle (2))
+z.Xk ,
+z.Yk,
+z.Zk = T.ABC : projection (z.K)
+z.Xi ,
+z.Yi,
+z.Zi = T.ABC : projection (z.I)
+z.Xj ,
+z.Yj,
+z.Zj = T.ABC : projection (z.J)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(K,Xk)(Yk)
+ \tkzDrawArc(I,Yi)(Zi)
+ \tkzDrawArc(J,Zj)(Yj)
+ \tkzDrawSegments[blue](K,Xk K,Yk K,Zk C,Yk C,Xk I,Xi J,Yj)
+ \tkzDrawPoints(A,B,C,I,J,K,Xk,Yk,Zk,Xi,Yj)
+ \tkzLabelPoints(K,Xk,Yk)
+ \tkzLabelPoints[above](C,B,Zk,I,J)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Zk,K A,Yk,K K,Xk,B)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(K,Xk)(Yk)
+ \tkzDrawArc(I,Yi)(Zi)
+ \tkzDrawArc(J,Zj)(Yj)
+ \tkzDrawSegments[blue](K,Xk K,Yk K,Zk C,Yk C,Xk I,Xi J,Yj)
+ \tkzDrawPoints(A,B,C,I,J,K,Xk,Yk,Zk,Xi,Yj)
+ \tkzLabelPoints(K,Xk,Yk)
+ \tkzLabelPoints[above](C,B,Zk,I,J)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Zk,K A,Yk,K K,Xk,B)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_ex__circle (end)
+
+\subsubsection{Method \Imeth{triangle}{spieker\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_spieker__circle}
+
+In geometry, the incircle of the medial triangle of a triangle is the Spieker circle. Its center is the Spieker center.
+
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ C.first_lemoine = T:spieker_circle()
+ z.S,z.w = get_points( C.first_lemoine )
+ z.Ma,z.Mb,z.Mc = get_points(T : medial ())
+ z.N = T : nagel_point ()
+ z.Qa = midpoint(z.A,z.N)
+ z.Qb = midpoint(z.B,z.N)
+ z.Qc = midpoint(z.C,z.N)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C Qa,Qb,Qc)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawCircles[red](S,w)
+ \tkzDrawSegments[dashed](N,A N,B N,C)
+ \tkzDrawPoints(A,B,C,S,w,Ma,Mb,Mc,Qa,Qb,Qc,N)
+ \tkzLabelPoints(A,B,S,w,Mc,N)
+ \tkzLabelPoints[above](C,Ma,Mb,Qa,Qb,Qc)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
\begin{tkzelements}
-scale = 2
-z.a = point: new (1,2)
-z.b = point: new (5,1)
-z.c = point: new (3,5)
-T = triangle: new (z.a,z.b,z.c)
-z.i = T.orthocenter
-T.cevian = T : cevian (z.i)
-z.ta,z.tb,z.tc = get_points (T.cevian)
-C.cev = T : cevian_circle (z.i)
-z.w = C.cev.center
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ C.first_lemoine = T:spieker_circle()
+ z.S,z.w = get_points( C.first_lemoine )
+ z.Ma,z.Mb,z.Mc = get_points(T : medial ())
+ z.N = T : nagel_point ()
+ z.Qa = midpoint(z.A,z.N)
+ z.Qb = midpoint(z.B,z.N)
+ z.Qc = midpoint(z.C,z.N)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C Qa,Qb,Qc)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawCircles[red](S,w)
+ \tkzDrawSegments[dashed](N,A N,B N,C)
+ \tkzDrawPoints(A,B,C,S,w,Ma,Mb,Mc,Qa,Qb,Qc,N)
+ \tkzLabelPoints(A,B,S,w,Mc,N)
+ \tkzLabelPoints[above](C,Ma,Mb,Qa,Qb,Qc)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_spieker__circle (end)
+
+\subsubsection{Methods \Imeth{triangle}{cevian} and \Imeth{triangle}{cevian\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_cevian}
+
+A Cevian is a line segment which joins a vertex of a triangle with a point on the opposite side (or its extension). The condition for three general Cevians from the three vertices of a triangle to concur is known as Ceva's theorem.
+
+Picking a Cevian point $P$ in the interior of a triangle $ABC$ and drawing Cevians from each vertex through $P$ to the opposite side produces a set of three intersecting Cevians $APa$, $BPb$, and $CPc$ with respect to that point. The triangle $PaPbPc$ is known as the Cevian triangle of $ABC$ with respect to $P$, and the circumcircle of $PaPbPc$ is similarly known as the Cevian circle. [\href{https://mathworld.wolfram.com/CevianTriangle.html}{Weisstein, Eric W. "Cevian Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+
+\vspace{6pt}
+
+\begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (4,0)
+ z.C = point: new (1.8,3)
+ T.ABC = triangle: new(z.A,z.B,z.C)
+ z.Q = point : new (1,-0.4)
+ z.P = point : new (2,1)
+ T.cevian = T.ABC : cevian (z.Q)
+ z.Qa,z.Qb,z.Qc = get_points (T.cevian)
+ T.cevian = T.ABC : cevian (z.P)
+ z.Pa,z.Pb,z.Pc = get_points (T.cevian)
+ C.cev = T.ABC : cevian_circle (z.P)
+ z.w = C.cev.center
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[cyan](A,B,C)
+ \tkzDrawSegments[cyan](A,Qb B,Qa)
+ \tkzDrawSegments[red](A,Qa B,Qb C,Q)
+ \tkzDrawSegments[blue](A,Pa B,Pb C,Pc)
+ \tkzDrawCircles(w,Pa)
+ \tkzDrawPoints(A,B,C,Qa,Qb,Qc,P,Q,Pa,Pb,Pc)
+ \tkzLabelPoints(A,B,P,Q,Pc)
+ \tkzLabelPoints[above](C,Qc)
+ \tkzLabelPoints[left](Qb,Pb)
+ \tkzLabelPoints[right](Qa,Pa)
+ \end{tikzpicture}
+\end{center}
+
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (4,0)
+ z.C = point: new (1.8,3)
+ T.ABC = triangle: new(z.A,z.B,z.C)
+ z.Q = point : new (1,-0.4)
+ z.P = point : new (2,1)
+ T.cevian = T.ABC : cevian (z.Q)
+ z.Qa,z.Qb,z.Qc = get_points (T.cevian)
+ T.cevian = T.ABC : cevian (z.P)
+ z.Pa,z.Pb,z.Pc = get_points (T.cevian)
+ C.cev = T.ABC : cevian_circle (z.P)
+ z.w = C.cev.center
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
-\tkzDrawPolygons(a,b,c ta,tb,tc)
-\tkzDrawSegments(a,ta b,tb c,tc)
-\tkzDrawPoints(a,b,c,i,ta,tb,tc)
-\tkzLabelPoints(a,b,c,i)
-\tkzDrawCircles(w,ta)
+\tkzDrawPolygons[cyan](A,B,C)
+\tkzDrawSegments[cyan](A,Qb B,Qa)
+\tkzDrawSegments[red](A,Qa B,Qb C,Q)
+\tkzDrawSegments[blue](A,Pa B,Pb C,Pc)
+\tkzDrawCircles(w,Pa)
+\tkzDrawPoints(A,B,C,Qa,Qb,Qc,P,Q,Pa,Pb,Pc)
+\tkzLabelPoints(A,B,P,Q,Pc)
+\tkzLabelPoints[above](C,Qc)
+\tkzLabelPoints[left](Qb,Pb)
+\tkzLabelPoints[right](Qa,Pa)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
+
% subsubsection method_imeth_triangle_cevian (end)
-\subsubsection{Méthodes \Imeth{triangle}{pedal} et \Imeth{triangle}{pedal\_circle}} % (fold)
+\subsubsection{Methods \Imeth{triangle}{pedal} and \Imeth{triangle}{pedal\_circle}} % (fold)
\label{ssub:method_imeth_triangle_pedal}
+Given a point $P$, the pedal triangle of $P$ is the triangle whose polygon vertices are the feet of the perpendiculars from $P$ to the side lines.
+
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
z.A = point: new(0,0)
z.B = point: new(5,0)
z.C = point: new(1.5,3)
- z.O = point: new (2,1)
+ z.O = point: new (2,1)
T.ABC = triangle: new (z.A,z.B,z.C)
T.pedal = T.ABC : pedal (z.O)
z.E,z.F,z.G = get_points(T.pedal)
@@ -334,7 +1467,8 @@ z.w = C.cev.center
\tkzDrawPolygon[red](E,F,G)
\tkzDrawCircle(w,T)
\tkzDrawPoints(A,B,C,E,F,G,O)
- \tkzLabelPoints(A,B,C,E,F,G)
+ \tkzLabelPoints(A,B,G)
+ \tkzLabelPoints[above](C,E,F)
\tkzDrawSegments(O,E O,F O,G)
\end{tikzpicture}
\end{Verbatim}
@@ -344,7 +1478,7 @@ z.w = C.cev.center
z.A = point: new(0,0)
z.B = point: new(5,0)
z.C = point: new(1.5,3)
- z.O = point: new (2,1)
+ z.O = point: new (2,1)
T.ABC = triangle: new (z.A,z.B,z.C)
T.pedal = T.ABC : pedal (z.O)
z.E,z.F,z.G = get_points(T.pedal)
@@ -352,23 +1486,28 @@ z.w = C.cev.center
z.w = C.pedal.center
z.T = C.pedal.through
\end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPolygon[red](E,F,G)
- \tkzDrawCircle(w,T)
- \tkzDrawPoints(A,B,C,E,F,G,O)
- \tkzLabelPoints(A,B,C,E,F,G)
- \tkzDrawSegments(O,E O,F O,G)
- \end{tikzpicture}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](E,F,G)
+ \tkzDrawCircle(w,T)
+ \tkzDrawPoints(A,B,C,E,F,G,O)
+ \tkzLabelPoints(A,B,G)
+ \tkzLabelPoints[above](C,E,F)
+ \tkzDrawSegments(O,E O,F O,G)
+ \end{tikzpicture}
+ \end{center}
+
\end{minipage}
% subsubsection method_imeth_triangle_pedal (end)
-\subsubsection{Méthodes \Imeth{triangle}{conway\_points} et \Imeth{triangle}{conway\_circle}} % (fold)
+\subsubsection{Methods \Imeth{triangle}{conway\_points} and \Imeth{triangle}{conway\_circle}} % (fold)
\label{ssub:method_imeth_triangle_conway}
-En géométrie plane, le théorème du cercle de Conway stipule que lorsque les côtés se rencontrant à chaque sommet d'un triangle sont prolongés par la longueur du côté opposé, les six points d'extrémité des trois segments de droite résultants se trouvent sur un cercle dont le centre est le centre d'incidence du triangle.
+In plane geometry, Conway's circle theorem states that when the sides meeting at each vertex of a triangle are extended by the length of the opposite side, the six endpoints of the three resulting line segments lie on a circle whose centre is the centre of incidence of the triangle.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -424,9 +1563,557 @@ En géométrie plane, le théorème du cercle de Conway stipule que lorsque les
% subsubsection methode_imeth_triangle_conway (end)
+\subsubsection{Methods \Imeth{triangle}{bevan\_circle} and \Imeth{triangle}{bevan\_point} } % (fold)
+\label{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .5
+ z.A = point: new (1,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.bevan = T : bevan_circle ()
+ z.c,z.t = get_points (C.bevan)
+ -- or z.c = T : bevan_point ()
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawCircle(c,t)
+ \tkzDrawPoints(A,B,C,c,t)
+ \tkzLabelPoints(A,B,c,t)
+ \tkzLabelPoints[above](C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (1,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.bevan = T : bevan_circle ()
+ z.c,z.t = get_points (C.bevan)
+ -- or z.c = T : bevan_point ()
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawCircle(c,t)
+ \tkzDrawPoints(A,B,C,c,t)
+ \tkzLabelPoints(A,B,c,t)
+ \tkzLabelPoints[above](C)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point (end)
+
+
+
+%%%%%% Triangles %%%%%
+
+
+
+\subsubsection{Method \Imeth{triangle}{feuerbach} and method \Imeth{triangle}{feuerbach\_point}} % (fold)
+\label{ssub:method_imeth_triangle_feuerbach}
+
+The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles. (The fact that the excircles touch the nine-point circle is known as Feuerbach's theorem.)
+Refer to \href{https://mathworld.wolfram.com/FeuerbachTriangle.html}{Weisstein, Eric W. "Feuerbach Triangle." From MathWorld--A Wolfram Web Resource.}.
+
+The exinscribed circles of a triangle are tangent to the circle of the nine points of a triangle at points which form the \code{Feuerbach} triangle ($FaFbFc$). The inscribed circle and the circle of nine points are tangent at a point called the Feurerbach point $F$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ scale = .8
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ z.N = T.ABC.eulercenter
+ z.Fa,z.Fb,z.Fc = get_points ( T.ABC : feuerbach () )
+ z.F = T.ABC : feuerbach_point ()
+ z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () )
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,z.Ic = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPoints(Ja,Jb,Jc)
+\tkzClipBB
+\tkzFillCircles[green!30,,opacity=.5](N,Fa)
+\tkzFillCircles[lightgray,,opacity=.5](I,F)
+\tkzDrawLines[add=3 and 3](A,B A,C B,C)
+\tkzDrawCircles(Ja,Fa Jb,Fb Jc,Fc N,Fa N,F I,F)
+\tkzDrawPoints(A,B,C,F,Fa,Fb,Fc,N,I,Ia,Ib,Ic)
+\tkzLabelPoints(N,A,B,Ia,Ib,Ic)
+\tkzLabelPoints[above](Fa,Fb,Fc,F,I,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+\begin{tkzelements}
+ scale = .7
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ z.N = T.ABC.eulercenter
+ z.Fa,z.Fb,z.Fc = get_points ( T.ABC : feuerbach () )
+ z.F = T.ABC : feuerbach_point ()
+ z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () )
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,z.Ic = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(Ja,Jb,Jc)
+ \tkzClipBB
+ \tkzFillCircles[green!30,,opacity=.5](N,Fa)
+ \tkzFillCircles[lightgray,,opacity=.5](I,F)
+ \tkzDrawLines[add=3 and 3](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Fa Jb,Fb Jc,Fc N,Fa N,F I,F)
+ \tkzDrawPoints(A,B,C,F,Fa,Fb,Fc,N,I,Ia,Ib,Ic)
+ \tkzLabelPoints(N,A,B,Ia,Ib,Ic)
+ \tkzLabelPoints[above](Fa,Fb,Fc,F,I,C)
+ \end{tikzpicture}
+\end{center}
+
+%subsubsection method_imeth_triangle_feuerbach (end)
+
+
+\subsubsection{Method \Imeth{triangle}{similar}} % (fold)
+\label{ssub:method_imeth_triangle_similar}
+
+The \code{similar} method creates a new triangle whose sides are parallel to the sides of the original triangle and pass through its vertices.
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1.5 , 3.5)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.X,z.Y,z.Z = get_points ( T.ABC : similar ())
+ z.H_a,z.H_b,
+ z.H_c = get_points (T.ABC : orthic ())
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C X,Y,Z)
+ \tkzDrawLines(A,H_a B,H_b C,H_c)
+ \tkzDrawPoints(A,B,C,X,Y,Z)
+ \tkzLabelPoints(A,B,Z)
+ \tkzLabelPoints[above](X,Y,C)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1.5 , 3.5)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.X,z.Y,z.Z = get_points ( T.ABC : similar ())
+ z.H_a,z.H_b,
+ z.H_c = get_points (T.ABC : orthic ())
+ \end{tkzelements}
+\hspace*{\fill}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C X,Y,Z)
+ \tkzDrawLines(A,H_a B,H_b C,H_c)
+ \tkzDrawPoints(A,B,C,X,Y,Z)
+ \tkzLabelPoints(A,B,Z)
+ \tkzLabelPoints[above](X,Y,C)
+ \end{tikzpicture}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_similar (end)
+
+\subsubsection{Method \Imeth{triangle}{medial}} % (fold)
+\label{ssub:method_imeth_triangle_medial}
+
+The triangle $MaMbMc$ formed by joining the midpoints of the sides of a triangle $ABC$. The medial triangle is sometimes also called the auxiliary triangle (Dixon 1991).
+[\href{https://mathworld.wolfram.com/MedialTriangle.html}{Weisstein, Eric W. "Medial Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.med = T : medial ()
+ z.Ma,z.Mb,z.Mc= get_points (T.med)
+ z.G = T.centroid
+ z.O = T.circumcenter
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawSegments(A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,cyan](O,Ma O,Mb O,Mc)
+ \tkzDrawPoints(A,B,C,Ma,Mb,Mc,O,G)
+ \tkzLabelPoints(A,B,Mc,O)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](Mb)
+ \tkzLabelPoints[right](Ma,G)
+ \tkzMarkRightAngles[fill=cyan!20,
+ opacity=.4](O,Ma,B O,Mb,A O,Mc,A)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.med = T : medial ()
+ z.Ma,z.Mb,z.Mc= get_points (T.med)
+ z.G = T.centroid
+ z.O = T.circumcenter
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawSegments(A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,cyan](O,Ma O,Mb O,Mc)
+ \tkzDrawPoints(A,B,C,Ma,Mb,Mc,O,G)
+ \tkzLabelPoints(A,B,Mc,O)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](Mb)
+ \tkzLabelPoints[right](Ma,G)
+ \tkzMarkRightAngles[fill=cyan!20,
+ opacity=.4](O,Ma,B O,Mb,A O,Mc,A)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_medial (end)
+
+\subsubsection{Method \Imeth{triangle}{incentral} } % (fold)
+\label{ssub:method_incentral}
+
+The incentral triangle $IaIbIc$ is the Cevian triangle of a triangle $ABC$ with respect to its incenter $I$. It is therefore also the triangle whose vertices are determined by the intersections of the reference triangle's angle bisectors with the respective opposite sides.
+[ \href{https://mathworld.wolfram.com/IncentralTriangle.html}{Weisstein, Eric W. "Incentral Triangle." From MathWorld--A Wolfram Web Resource.}
+]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1 , 4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,
+ z.Ic = get_points (T.ABC : incentral ())
+ z.Ta,z.Tb,
+ z.Tc = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[dashed,red](Ia,Ib,Ic)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzDrawCircle(I,Ta)
+ \tkzDrawPoints(A,B,C,Ia,Ib,Ic,I,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Ic,I,Tc)
+ \tkzLabelPoints[above](Ia,Ta,C)
+ \tkzLabelPoints[above left](Ib,Tb)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1 , 4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,
+ z.Ic = get_points (T.ABC : incentral ())
+ z.Ta,z.Tb,
+ z.Tc = get_points (T.ABC : intouch ())
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[dashed,red](Ia,Ib,Ic)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzDrawCircle(I,Ta)
+ \tkzDrawPoints(A,B,C,Ia,Ib,Ic,I,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Ic,I,Tc)
+ \tkzLabelPoints[above](Ia,Ta,C)
+ \tkzLabelPoints[above left](Ib,Tb)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_incentral (end)
+
+
+\subsubsection{Method \Imeth{triangle}{tangential}} % (fold)
+\label{ssub:method_imeth_triangle_tangential}
+
+The tangential triangle is the triangle $TaTbTc$ formed by the lines tangent to the circumcircle of a given triangle DeltaABC at its vertices. It is therefore antipedal triangle of $ABC$ with respect to the circumcenter $O$. It is also anticevian triangle of $ABC$ with the symmedian point $K$ as the anticevian point (Kimberling 1998, p. 156). Furthermore, the symmedian point $K$ of $ABC$ is the Gergonne point of $TaTbTc$.
+
+The sides of an orthic triangle are parallel to the tangents to the circumcircle at the vertices (Johnson 1929, p. 172). This is equivalent to the statement that each line from a triangle's circumcenter to a vertex is always perpendicular to the corresponding side of the orthic triangle (Honsberger 1995, p. 22), and to the fact that the orthic and tangential triangles are homothetic.
+[ \href{https://mathworld.wolfram.com/TangentialTriangle.html}{Weisstein, Eric W. "Tangential Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,3)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ z.O = T.circumcenter
+ z.L = T : symmedian_point ()
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T : tangential ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C Ta,Tb,Tc)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,O,H,Ta,Tb,Tc,L)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzDrawSegments[green](C,Tc B,Tb A,Ta)
+ \tkzDrawPolygon[blue](Ha,Hb,Hc)
+ \tkzLabelPoints(A,B,O,Tc)
+ \tkzLabelPoints[above](C,Tb,Ta)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,Hb)
+ \tkzMarkRightAngles(A,Ha,C B,Hb,A C,Hc,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,3)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ z.O = T.circumcenter
+ z.L = T : symmedian_point ()
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T : tangential ())
+\end{tkzelements}
+
+ \begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C Ta,Tb,Tc)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,O,H,Ta,Tb,Tc,L)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzDrawSegments[green](C,Tc B,Tb A,Ta)
+ \tkzDrawPolygon[blue](Ha,Hb,Hc)
+ \tkzLabelPoints(A,B,O,Tc)
+ \tkzLabelPoints[above](C,Tb,Ta)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,Hb)
+ \tkzMarkRightAngles(A,Ha,C B,Hb,A C,Hc,B)
+\end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_tangential (end)
+
+
+\subsubsection{Method \Imeth{triangle}{symmedial}} % (fold)
+\label{ssub:method_imeth_triangle_symmedial}
+
+The symmedial triangle $LaLbLc$ is the triangle whose vertices are the intersection points of the symmedians with the reference triangle $ABC$.
+
+The symmedial circle is the circumcircle of the symmedial triangle.
+
+The following example groups several concepts around the symmedian. As a reminder, a symmedian of a triangle is the reflection of the median with respect to the angle bisector.
+
+The points of contact of the symmedians with the sides of the triangle are obtained using the \code{symmedian} method.
+The intersection of the symmedians is the point known as the \code{Lemoine} or \code{Symmedian} point.
+You can use the triangle methods \code{lemoine\_point} or \code{symmedian\_point}. If you only need one of the lines, you can use the method \code{symmedian\_line(n)}. \(n=0\) corresponds to the line coming from the first vertex of the triangle, \(n=1\) to the second, and so on.
+
+In the next example, $L$ is the \code{Lemoine point} or the \code{Symmedian point}. $LaLbLc$ is the symmedian triangle.[\href{https://mathworld.wolfram.com/SymmedianPoint.html}{Weisstein, Eric W. "Symmedian Point." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0,0)
+ z.B = point : new (7,0)
+ z.C = point : new (2,3)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ z.L = T.ABC : lemoine_point ()
+ T.SY = T.ABC : symmedian ()
+ T.med = T.ABC : medial ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ z.Ma,z.Mb,z.Mc = get_points (T.med)
+ L.Kb = T.ABC : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+ z.G = T.ABC.centroid
+ z.Ia,z.Ib,z.Ic = get_points ( T.ABC : incentral ())
+ -- z.T = T.ABC : trilinear (0,1,1)
+ z.I = T.ABC.incenter
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(A,B,C)
+\tkzDrawPoints(A,B,C,L,Ka,Kb,Kc,G,Ma,Mb,Mc,Ia,Ib,Ic,I)
+\tkzDrawSegments[cyan](A,Ka B,Kb C,Kc)
+\tkzDrawSegments[green](A,Ma B,Mb C,Mc)
+\tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+\tkzLabelPoints[above](C,Ka,Ia,Ma)
+\tkzLabelPoints[above left](Kb,Ib,Mb)
+\tkzLabelPoints(A,B,L,Kc,I,Ic,Mc,G)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0,0)
+ z.B = point : new (7,0)
+ z.C = point : new (2,3)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ z.L = T.ABC : lemoine_point ()
+ T.SY = T.ABC : symmedian ()
+ T.med = T.ABC : medial ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ z.Ma,z.Mb,z.Mc = get_points (T.med)
+ L.Kb = T.ABC : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+ z.G = T.ABC.centroid
+ z.Ia,z.Ib,z.Ic = get_points ( T.ABC : incentral ())
+ -- z.T = T.ABC : trilinear (0,1,1)
+ z.I = T.ABC.incenter
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Ka,Kb,Kc,G,Ma,Mb,Mc,Ia,Ib,Ic,I)
+ \tkzDrawSegments[cyan](A,Ka B,Kb C,Kc)
+ \tkzDrawSegments[green](A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzLabelPoints[above](C,Ka,Ia,Ma)
+ \tkzLabelPoints[above left](Kb,Ib,Mb)
+ \tkzLabelPoints(A,B,L,Kc,I,Ic,Mc,G)
+ \end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_symmedial (end)
+
+\subsubsection{Method \Imeth{triangle}{anti}} % (fold)
+\label{ssub:method_imeth_triangle_anti}
+
+The anticomplementary triangle is the triangle $TaTbTc$ which has a given triangle $ABC$ as its medial triangle. It is therefore the anticevian triangle with respect to the triangle centroid G (Kimberling 1998, p. 156). [\href{https://mathworld.wolfram.com/AnticomplementaryTriangle.html}{Weisstein, Eric W. "Anticomplementary Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .6
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.similar = T: anti()
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T.similar)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygon[blue](Ta,Tb,Tc)
+ \tkzDrawPoints(A,B,C,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Tc)
+ \tkzLabelPoints[above](Ta,Tb,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .6
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.similar = T: anti()
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T.similar)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygon[blue](Ta,Tb,Tc)
+ \tkzDrawPoints(A,B,C,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Tc)
+ \tkzLabelPoints[above](Ta,Tb,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_anti (end)
+
+
\subsubsection{Euler line} % (fold)
\label{ssub:euler_line}
+The line on which the orthocenter $H$, triangle centroid $G$, circumcenter $O$, nine-point center $N$, and a number of other important triangle centers lie.
+[ \href{https://mathworld.wolfram.com/EulerLine.html}{Weisstein, Eric W. "Euler Line." From MathWorld--A Wolfram Web Resource.}]
+
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -468,33 +2155,38 @@ En géométrie plane, le théorème du cercle de Conway stipule que lorsque les
z.P,z.Q,z.R = get_points (T.ABC: orthic())
z.K,z.I,z.J = get_points (T.ABC: medial ())
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines[blue](O,H)
-\tkzDrawCircle[red](N,I)
-\tkzDrawCircles[teal](O,A)
-\tkzDrawSegments(A,P B,Q C,R)
-\tkzDrawSegments[red](A,I B,J C,K)
-\tkzDrawPolygons(A,B,C)
-\tkzDrawPoints(A,B,C,N,I,J,K,O,P,Q,R,H,G)
-\tkzLabelPoints(A,B,C,I,J,K,P,Q,R)
-\tkzLabelPoints[below](N,O,G,H)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines[blue](O,H)
+ \tkzDrawCircle[red](N,I)
+ \tkzDrawCircles[teal](O,A)
+ \tkzDrawSegments(A,P B,Q C,R)
+ \tkzDrawSegments[red](A,I B,J C,K)
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,N,I,J,K,O,P,Q,R,H,G)
+ \tkzLabelPoints(A,B,J,P,R)
+ \tkzLabelPoints[above](C,I,Q,K)
+ \tkzLabelPoints[below](N,O,G,H)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection euler_line (end)
\subsection{Euler ellipse} % (fold)
\label{sub:euler_ellipse}
+The Euler ellipse is a conic, tangent to the three sides of a triangle, with the orthocentre and the centre of the circumscribed circle as foci.
Example of obtaining the Euler circle as well as the Euler ellipse.
+\vspace{6pt}
\begin{tkzelements}
z.A = point: new (2,3.8)
z.B = point: new (0 ,0)
z.C = point: new (6.2 ,0)
L.AB = line : new ( z.A , z.B )
T.ABC = triangle: new (z.A,z.B,z.C)
-z.K = midpoint (z.B,z.C)
+z.K = midpoint (z.B,z.C)
E.euler = T.ABC : euler_ellipse ()
z.N = T.ABC.eulercenter
C.euler = circle : new (z.N,z.K)
@@ -512,7 +2204,7 @@ z.B = point: new (0 ,0)
z.C = point: new (6.2 ,0)
L.AB = line : new ( z.A , z.B )
T.ABC = triangle: new (z.A,z.B,z.C)
-z.K = midpoint (z.B,z.C)
+z.K = midpoint (z.B,z.C)
E.euler = T.ABC : euler_ellipse ()
z.N = T.ABC.eulercenter
C.euler = circle : new (z.N,z.K)
@@ -554,21 +2246,22 @@ z.H = T.ABC.orthocenter
\subsubsection{Steiner inellipse and circumellipse} % (fold)
\label{ssub:steiner_inellipse_and_circumellipse}
-In this example, the inner and outer Steiner ellipses, referred to as the "inellipse" and "circumellipse" (Mathworld.com), respectively, along with the orthoptic circle, are depicted.. The triangle must be acutangle.
+In this example, the inner and outer Steiner ellipses, referred to as the "inellipse" and "circumellipse" [\href{https://mathworld.wolfram.com/SteinerInellipse.html}{Weisstein, Eric W. "Steiner Inellipse." From MathWorld--A Wolfram Web Resource.} and \href{https://mathworld.wolfram.com/SteinerCircumellipse.html}{Weisstein, Eric W. "Steiner Circumellipse." From MathWorld--A Wolfram Web Resource.}], respectively, along with the orthoptic circle, are depicted.. The triangle must be acutangle.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
scale = .5
z.A = point: new (1 , 4)
z.B = point: new (11 , 1)
- z.C = point: new (5 , 12)
+ z.C = point: new (5 , 12)
T.ABC = triangle: new(z.A,z.B,z.C)
E = T.ABC: steiner_inellipse ()
z.G = E.center
ang = math.deg(E.slope)
z.F = E.Fa
- z.E = E.Fb
+ z.E = E.Fb
C = E: orthoptic_circle ()
z.w = C.center
z.o = C.through
@@ -584,13 +2277,13 @@ In this example, the inner and outer Steiner ellipses, referred to as the "inell
scale = .5
z.A = point: new (1 , 4)
z.B = point: new (11 , 1)
-z.C = point: new (5 , 12)
+z.C = point: new (5 , 12)
T.ABC = triangle: new(z.A,z.B,z.C)
E = T.ABC: steiner_inellipse ()
z.G = E.center
ang = math.deg(E.slope)
z.F = E.Fa
-z.E = E.Fb
+z.E = E.Fb
C = E: orthoptic_circle ()
z.w = C.center
z.o = C.through
@@ -611,7 +2304,7 @@ z.T2 = L.T2.pb
\tkzUseLua{EE.Ry},\tkzUseLua{ang})
\tkzDrawLines(F,E M,T1 M,T2) %
\tkzDrawPoints(A,B,C,F,E,G,M,T1,T2)
-\tkzLabelPoints[above](C,M,T1)
+\tkzLabelPoints[above](C,M,T1)
\tkzLabelPoints[right](T2,B)
\tkzLabelPoints[below left](A,F,E,G)
\end{tikzpicture}
@@ -628,7 +2321,7 @@ z.T2 = L.T2.pb
\tkzUseLua{EE.Ry},\tkzUseLua{ang})
\tkzDrawLines(F,E M,T1 M,T2) %
\tkzDrawPoints(A,B,C,F,E,G,M,T1,T2)
-\tkzLabelPoints[above](C,M,T1)
+\tkzLabelPoints[above](C,M,T1)
\tkzLabelPoints[right](T2,B)
\tkzLabelPoints[below left](A,F,E,G)
\end{tikzpicture}
@@ -639,9 +2332,17 @@ z.T2 = L.T2.pb
\subsection{Harmonic division and bisector} % (fold)
\label{sub:harmonic_division_and_bisector}
+Let four points $A$, $C$, $B$ and $D$, in this order, lying on the straight line $(d)$ and $M$ un point pris hors de $(d)$. Then, if two of the following three propositions are true, then the third is also true:
+ \begin{enumerate}
+ \item The division (A,B;C,D) is harmonic. ($CA/CB = DA/DB$)
+ \item $(MC)$ is the internal angle bisector of $\widehat{AMB}$.
+ \item $(MD) \perp (MC)$.
+ \end{enumerate}
+
+ \vspace{6pt}
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
-\begin{tkzelements}
+\begin{tkzelements}
scale = .4
z.A = point: new (0 , 0)
z.B = point: new (6 , 0)
@@ -664,7 +2365,7 @@ z.T2 = L.T2.pb
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
+\begin{tkzelements}
scale =.4
z.A = point: new (0 , 0)
z.B = point: new (6 , 0)
@@ -684,7 +2385,7 @@ z.T2 = L.T2.pb
z.E = intersection (L.LL,L.MC)
z.F = intersection (L.LL,L.MD)
\end{tkzelements}
-\hspace{\fill}
+\hspace{\fill}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygon(A,B,M)
@@ -719,59 +2420,8 @@ z.T2 = L.T2.pb
\end{Verbatim}
% subsection harmonic_division_and_bisector (end)
-\subsubsection{Method \Imeth{triangle}{cevan}} % (fold)
-\label{ssub:method_imeth_triangle_cevan}
-
-\begin{minipage}{.5\textwidth}
- \begin{Verbatim}
- \begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(a,b,c ta,tb,tc)
- \tkzDrawSegments(a,ta b,tb c,tc)
- \tkzDrawPoints(a,b,c,i,ta,tb,tc)
- \tkzLabelPoints(a,b,c,i)
- \tkzDrawCircles(w,ta)
- \end{tikzpicture}
- \end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}
- \begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(a,b,c ta,tb,tc)
- \tkzDrawSegments(a,ta b,tb c,tc)
- \tkzDrawPoints(a,b,c,i,ta,tb,tc)
- \tkzLabelPoints(a,b,c,i)
- \tkzDrawCircles(w,ta)
- \end{tikzpicture}
-\end{minipage}
-
-
-% subsubsection method_imeth_triangle_cevan (end)
-% subsection methods_of_the_class_triangle (end)
-% section class_triangle (end)
+%
+% % subsection methods_of_the_class_triangle (end)
+% % section class_triangle (end)
\endinput
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex
index b981ef555ab..ed1ea771833 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-classes-vectors.tex
@@ -41,11 +41,11 @@ z.E = V.AE.head -- we recover the final point (head)
\begin{tabular}{lll}
\toprule
\textbf{Attributes} & \textbf{Application}& \textbf{Example}\\
-\Iattr{vector}{tail} & |V.AB.t = z.A| & Refer to (\ref{ssub:methods}) \\
-\Iattr{vector}{head} & |V.AB.head = z.B| & Refer to (\ref{ssub:methods}) \\
+\Iattr{vector}{tail} & |V.AB.t = z.A| & [\ref{ssub:methods}]\\
+\Iattr{vector}{head} & |V.AB.head = z.B| & [\ref{ssub:methods}] \\
\Iattr{vector}{type} & |V.AB.type = 'vector'| & \\
-\Iattr{vector}{slope} & |V.AB.slope| & Refer to (\ref{ssub:example_vector_attributes})\\
-\Iattr{vector}{length} & |V.AB.norm|& Refer to (\ref{ssub:example_vector_attributes})\\
+\Iattr{vector}{slope} & |V.AB.slope| & [\ref{ssub:example_vector_attributes}] \\
+\Iattr{vector}{length} & |V.AB.norm|& [\ref{ssub:example_vector_attributes} ]\\
\Iattr{vector}{mtx} & |V.AB.mtx| & The result is a column matrix |{{V.AB.t},{V.AB.h}}|\\
\bottomrule
\end{tabular}
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex
index 4f46d4a1278..284ecca8eba 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-examples.tex
@@ -2,7 +2,65 @@
\section{Examples} % (fold)
\label{sec:examples}
-
+
+\subsection{Length transfer} % (fold)
+\label{sub:report_de_distance}
+
+Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment})
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 3 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sublime ()
+ z.C = T.ABC.pc
+ z.D = z.B: north (length(z.B,z.C))
+ z.E = z.B: east (L.AB.length)
+ z.M = L.AB.mid
+ z.F = z.E : north (length(z.C,z.M))
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,B,E,M)
+ \tkzLabelPoints[above right](C,D,F)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 3 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sublime ()
+ z.C = T.ABC.pc
+ z.D = z.B: north (length(z.B,z.C))
+ z.E = z.B: east (L.AB.length)
+ z.M = L.AB.mid
+ z.F = z.E : north (length(z.C,z.M))
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,B,E,M)
+ \tkzLabelPoints[above right](C,D,F)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsection report_de_distance (end)
+
+
\subsection{D'Alembert 1} % (fold)
\label{sub:d_alembert_1}
@@ -54,15 +112,18 @@ z.Ip = C.Aa : internal_similitude (C.Bb)
z.Jp = C.Aa : internal_similitude (C.Cc)
z.Kp = C.Cc : internal_similitude (C.Bb)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=30]
- \tkzGetNodes
- \tkzDrawCircles(A,a B,b C,c)
- \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
- \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
- \tkzDrawSegments[purple](I,J' I',J I',K)
- \tkzLabelPoints(I,J,K,I',J',K')
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[rotate=30]
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b C,c)
+ \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
+ \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
+ \tkzDrawSegments[purple](I,J' I',J I',K)
+ \tkzLabelPoints(I,J,K,I',J',K')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection d_alembert_1 (end)
@@ -110,14 +171,148 @@ z.Kp = C.Cc : internal_similitude (C.Bb)
z.m,z.n = get_points (C.Bb : radical_axis (C.Cc))
\end{tkzelements}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b C,c)
+ \tkzDrawLines[new](i,j k,l m,n)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsection d_alembert_2 (end)
+
+\subsection{Altshiller} % (fold)
+\label{sub:altshiller}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.P = point : new (0,0)
+ z.Q = point : new (5,0)
+ z.I = point : new (3,2)
+ C.QI = circle : new (z.Q,z.I)
+ C.PE = C.QI : orthogonal_from (z.P)
+ z.E = C.PE.through
+ C.QE = circle : new (z.Q,z.E)
+ _,z.F = intersection (C.PE,C.QE)
+ z.A = C.PE: point (1/9)
+ L.AE = line : new (z.A,z.E)
+ _,z.C = intersection (L.AE,C.QE)
+ L.AF = line : new (z.A,z.F)
+ L.CQ = line : new (z.C,z.Q)
+ z.D = intersection (L.AF,L.CQ)
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,a B,b C,c)
-\tkzDrawLines[new](i,j k,l m,n)
+ \tkzGetNodes
+ \tkzDrawCircles(P,E Q,E)
+ \tkzDrawLines[add=0 and 1](P,Q)
+ \tkzDrawLines[add=0 and 2](A,E)
+ \tkzDrawSegments(P,E E,F F,C A,F C,D)
+ \tkzDrawPoints(P,Q,E,F,A,C,D)
+ \tkzLabelPoints(P,Q,E,F,A,C,D)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.P = point : new (0,0)
+ z.Q = point : new (5,0)
+ z.I = point : new (3,2)
+ C.QI = circle : new (z.Q,z.I)
+ C.PE = C.QI : orthogonal_from (z.P)
+ z.E = C.PE.through
+ C.QE = circle : new (z.Q,z.E)
+ _,z.F = intersection (C.PE,C.QE)
+ z.A = C.PE: point (1/9)
+ L.AE = line : new (z.A,z.E)
+ _,z.C = intersection (L.AE,C.QE)
+ L.AF = line : new (z.A,z.F)
+ L.CQ = line : new (z.C,z.Q)
+ z.D = intersection (L.AF,L.CQ)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(P,E Q,E)
+ \tkzDrawLines[add=0 and 1](P,Q)
+ \tkzDrawLines[add=0 and 2](A,E)
+ \tkzDrawSegments(P,E E,F F,C A,F C,D)
+ \tkzDrawPoints(P,Q,E,F,A,C,D)
+ \tkzLabelPoints(P,Q,E,F,A,C,D)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+%subsection altshiller (end)
+
+\subsection{Lemoine} % (fold)
+\label{sub:lemoine}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (1,0)
+ z.B = point: new (5,2)
+ z.C = point: new (1.2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.OA = circle: new (z.O,z.A)
+ L.tA = C.OA: tangent_at (z.A)
+ L.tB = C.OA: tangent_at (z.B)
+ L.tC = C.OA: tangent_at (z.C)
+ z.P = intersection (L.tA,T.bc)
+ z.Q = intersection (L.tB,T.ca)
+ z.R = intersection (L.tC,T.ab)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](A,P B,Q R,C)
+ \tkzDrawSegments(A,R C,P C,Q)
\end{tikzpicture}
+\end{Verbatim}
+
\end{minipage}
-% subsection d_alembert_2 (end)
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+scale = .75
+z.A = point: new (1,0)
+z.B = point: new (5,2)
+z.C = point: new (1.2,2)
+T = triangle: new(z.A,z.B,z.C)
+z.O = T.circumcenter
+C.OA = circle: new (z.O,z.A)
+L.tA = C.OA: tangent_at (z.A)
+L.tB = C.OA: tangent_at (z.B)
+L.tC = C.OA: tangent_at (z.C)
+z.R = intersection (L.tC,T.ab)
+z.P = intersection (L.tA,T.bc)
+z.Q = intersection (L.tB,T.ca)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[rotate=90]
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](A,P B,Q R,C)
+ \tkzDrawSegments(A,R C,P C,Q)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+%\caption{Lemoine line}
+% subsection lemoine (end)
+
\subsection{Alternate} % (fold)
\label{sub:alternate}
@@ -148,7 +343,7 @@ z.Kp = C.Cc : internal_similitude (C.Bb)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\hspace*{\fill}
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
z.A = point: new (0 , 0)
@@ -161,21 +356,94 @@ z.D = intersection (L.AI,T.bc)
L.LLC = T.ab: ll_from (z.C)
z.E = intersection (L.AI,L.LLC)
\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple](C,E)
-\tkzDrawSegment[purple](A,E)
-\tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
-\tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,B)
-\tkzLabelPoints[above](C,D,E)
-\tkzMarkSegments(A,C C,E)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple](C,E)
+ \tkzDrawSegment[purple](A,E)
+ \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
+ \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \tkzMarkSegments(A,C C,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection alternate (end)
+\subsection{Method \Imeth{circle}{common tangent}: orthogonality} % (fold)
+\label{sub:common_tangent_orthogonality}
+For two circles to be orthogonal, it is necessary and sufficient for a secant passing through one of their common points to be seen from the other common point at a right angle.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 4 , 2 )
+ L.AB = line : new ( z.A , z.B )
+ z.a = point : new ( 1 , 2 )
+ C.Aa = circle : new (z.A,z.a)
+ C.BC = C.Aa : orthogonal_from (z.B)
+ z.C,z.D = intersection (C.Aa,C.BC)
+ C.AC = circle : new (z.A,z.C)
+ z.T,z.Tp = C.AC : common_tangent (C.BC)
+ L.TTp = line : new (z.T,z.Tp)
+ z.M = C.AC : point (0.45)
+ L.MC =line : new (z.M,z.C)
+ z.Mp = intersection (L.MC, C.BC)
+ L.mm = L.TTp : ll_from (z.C)
+ _,z.M = intersection (L.mm, C.AC)
+ z.Mp = intersection (L.mm, C.BC)
+\end{tkzelements}
+
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,C B,C A,B)
+ \tkzDrawSegments[gray](D,M D,M' T,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkRightAngles(M',D,M A,C,B)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 2 )
+L.AB = line : new ( z.A , z.B )
+z.a = point : new ( 1 , 2 )
+C.Aa = circle : new (z.A,z.a)
+C.BC = C.Aa : orthogonal_from (z.B)
+z.C,z.D = intersection (C.Aa,C.BC)
+C.AC = circle : new (z.A,z.C)
+z.T,z.Tp = C.AC : common_tangent (C.BC)
+L.TTp = line : new (z.T,z.Tp)
+z.M = C.AC : point (0.45)
+L.MC =line : new (z.M,z.C)
+z.Mp = intersection (L.MC, C.BC)
+L.mm = L.TTp : ll_from (z.C)
+_,z.M = intersection (L.mm, C.AC)
+z.Mp = intersection (L.mm, C.BC)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,C B,C A,B)
+ \tkzDrawSegments[gray](D,M D,M' T,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkRightAngles(M',D,M A,C,B)
+ \end{tikzpicture}
+\end{center}
+% subsection common_tangent_orthogonality (end)
+
+
\subsection{Apollonius circle} % (fold)
\label{sub:apollonius_circle}
@@ -215,23 +483,26 @@ scale=.75
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
- \hspace*{\fill}
- \begin{tikzpicture}[scale=.8]
- \tkzGetNodes
- \tkzDrawSegment[add=0 and 1](A,M)
- \tkzDrawSegments[purple](M,C M,D)
- \tkzDrawCircle[purple](O,C)
- \tkzDrawSegments(A,B B,M D,B)
- \tkzDrawPoints(A,B,M,C,D)
- \tkzLabelPoints[below right](A,B,C,D)
- \tkzLabelPoints[above](M)
- \tkzFillAngles[opacity=.4,cyan!20](A,M,B)
- \tkzFillAngles[opacity=.4,purple!20](B,M,E)
- \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
- \tkzMarkAngles[mark=|](A,M,C C,M,B)
- \tkzMarkAngles[mark=||](B,M,D D,M,E)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}[scale=.8]
+ \tkzGetNodes
+ \tkzDrawSegment[add=0 and 1](A,M)
+ \tkzDrawSegments[purple](M,C M,D)
+ \tkzDrawCircle[purple](O,C)
+ \tkzDrawSegments(A,B B,M D,B)
+ \tkzDrawPoints(A,B,M,C,D)
+ \tkzLabelPoints[below right](A,B,C,D)
+ \tkzLabelPoints[above](M)
+ \tkzFillAngles[opacity=.4,cyan!20](A,M,B)
+ \tkzFillAngles[opacity=.4,purple!20](B,M,E)
+ \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
+ \tkzMarkAngles[mark=|](A,M,C C,M,B)
+ \tkzMarkAngles[mark=||](B,M,D D,M,E)
+ \end{tikzpicture}
+ \end{center}
+
+
\end{minipage}
@@ -319,20 +590,23 @@ Remark : The circle can be obtained with:
_,z.N = intersection (C.GA , C.OC)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,M)
-\tkzDrawCircles[purple](O,C G,A)
-\tkzDrawSegments[purple](M,D)
-\tkzDrawSegments(D,B O,G M,C)
-\tkzDrawSegments[red,dashed](M,N M,O M,G)
-\tkzDrawPoints(A,B,M,C,D,N,O,G)
-\tkzLabelPoints[below right](A,B,C,D,N,O,G)
-\tkzLabelPoints[above](M)
-\tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,M)
+ \tkzDrawCircles[purple](O,C G,A)
+ \tkzDrawSegments[purple](M,D)
+ \tkzDrawSegments(D,B O,G M,C)
+ \tkzDrawSegments[red,dashed](M,N M,O M,G)
+ \tkzDrawPoints(A,B,M,C,D,N,O,G)
+ \tkzLabelPoints[below right](A,B,C,D,N,O,G)
+ \tkzLabelPoints[above](M)
+ \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection apollonius_and_circle_circumscribed (end)
\subsection{Apollonius circles in a triangle} % (fold)
@@ -414,19 +688,22 @@ L.Bpt = line: new (z.Bp,z.T)
z.O3 = L.Bpt.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B')
-\tkzDrawSegments[new](B,S C,T A,R)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3)
-\tkzLabelPoints(A,B,C,A',B',C',O,I)
-\tkzLabelPoints(O1,O2,O3)
-\tkzDrawCircle[purple](O,A)
-\tkzDrawLine(O1,O2)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B')
+ \tkzDrawSegments[new](B,S C,T A,R)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3)
+ \tkzLabelPoints(A,B,C,A',B',C',O,I)
+ \tkzLabelPoints(O1,O2,O3)
+ \tkzDrawCircle[purple](O,A)
+ \tkzDrawLine(O1,O2)
+ \end{tikzpicture}
+\end{center}
+
+
Same result using the function |T.ABC.ab : apollonius (k) |
@@ -493,15 +770,18 @@ Same result using the function |T.ABC.ab : apollonius (k) |
C = circle: new (z.O_2,z.A)
z.C,z.D = intersection (L ,C)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O_1,A O_2,A)
-\tkzDrawSegments[new](O_1,A E,F C,D)
-\tkzDrawSegments[purple](A,E A,F)
-\tkzDrawPoints(A,O_1,O_2,E,F,C,D)
-\tkzLabelPoints(A,O_1,O_2,E,F,C,D)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O_1,A O_2,A)
+ \tkzDrawSegments[new](O_1,A E,F C,D)
+ \tkzDrawSegments[purple](A,E A,F)
+ \tkzDrawPoints(A,O_1,O_2,E,F,C,D)
+ \tkzLabelPoints(A,O_1,O_2,E,F,C,D)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection archimedes (end)
@@ -615,30 +895,156 @@ Same result using the function |T.ABC.ab : apollonius (k) |
z.O_5 = T.CP1P2.circumcenter
\end{tkzelements}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSemiCircles[teal](O_0,B)
+ \tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
+ \tkzDrawCircle[fill=green!10](O_4,P_0)
+ \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
+ \tkzDrawSegments(A,B O_0,P' B,P A,Q)
+ \tkzDrawSegments(P,B Q,O_2 P,O_1)
+ \tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C)
+ \tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S)
+ \tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P')
+ \tkzLabelPoints[above](Q,P)
+ \tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S)
+ \begin{scope}[font=\scriptsize]
+ \tkzLabelCircle[above](O_1,C)(120){$(\beta)$}
+ \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$}
+ \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$}
+ \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$}
+ \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$}
+ \end{scope}
+ \end{tikzpicture}
+\end{center}
+
+% subsection bankoff_circle (end)
+
+\subsection{Symmedian property} % (fold)
+\label{sub:example_symmedian_property}
+
+$L$ is the symmedian point or lemoine point. $\dfrac{CL}{CLc} = \dfrac{a^2+b^2}{a^2+b^2+c^2}$
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.5
+ z.A = point : new (1,2)
+ z.B = point : new (5,1)
+ z.C = point : new (3,5)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ T.SY = T.ABC : symmedian ()
+ z.La,z.Lb,z.Lc = get_points (T.SY)
+ k = (T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c)
+ L.SY = line : new (z.C,z.Lc)
+ z.L = L.SY : point (k)
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Lc)
+ \tkzDrawPoints[red](L)
+ \tkzDrawSegments[cyan](C,Lc)
+ \tkzLabelPoints(A,B,Lc)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](L)
+ \tkzLabelSegment(B,C){$a$}
+ \tkzLabelSegment(A,C){$b$}
+ \tkzLabelSegment(A,B){$ca$}
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.5
+ z.A = point : new (1,2)
+ z.B = point : new (5,1)
+ z.C = point : new (3,5)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ T.SY = T.ABC : symmedian ()
+ z.La,z.Lb,z.Lc = get_points (T.SY)
+ k = (T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c)
+ L.SY = line : new (z.C,z.Lc)
+ z.L = L.SY : point (k)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Lc)
+ \tkzDrawPoints[red](L)
+ \tkzDrawSegments[cyan](C,Lc)
+ \tkzLabelPoints(A,B,Lc)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](L)
+ \tkzLabelSegment(B,C){$a$}
+ \tkzLabelSegment(A,C){$b$}
+ \tkzLabelSegment(A,B){$ca$}
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsection example_symmedian_property (end)
+
+\subsection{Example: Cevian with orthocenter} % (fold)
+\label{sub:example_cevian_with_orthocenter}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.5
+ z.a = point: new (1,2)
+ z.b = point: new (5,1)
+ z.c = point: new (3,5)
+ T = triangle: new (z.a,z.b,z.c)
+ z.i = T.orthocenter
+ T.cevian = T : cevian (z.i)
+ z.ta,z.tb,z.tc = get_points (T.cevian)
+ C.cev = T : cevian_circle (z.i)
+ z.w = C.cev.center
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSemiCircles[teal](O_0,B)
-\tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
-\tkzDrawCircle[fill=green!10](O_4,P_0)
-\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
-\tkzDrawSegments(A,B O_0,P' B,P A,Q)
-\tkzDrawSegments(P,B Q,O_2 P,O_1)
-\tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C)
-\tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S)
-\tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P')
-\tkzLabelPoints[above](Q,P)
-\tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S)
-\begin{scope}[font=\scriptsize]
- \tkzLabelCircle[above](O_1,C)(120){$(\beta)$}
- \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$}
- \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$}
- \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$}
- \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$}
-\end{scope}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c ta,tb,tc)
+ \tkzDrawSegments(a,ta b,tb c,tc)
+ \tkzDrawPoints(a,b,c,i,ta,tb,tc)
+ \tkzLabelPoints(a,b,c,i)
+ \tkzDrawCircles(w,ta)
\end{tikzpicture}
-\hspace*{\fill}
-% subsection bankoff_circle (end)
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+scale = 1.5
+z.a = point: new (1,2)
+z.b = point: new (5,1)
+z.c = point: new (3,5)
+T = triangle: new (z.a,z.b,z.c)
+z.i = T.orthocenter
+T.cevian = T : cevian (z.i)
+z.ta,z.tb,z.tc = get_points (T.cevian)
+C.cev = T : cevian_circle (z.i)
+z.w = C.cev.center
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c ta,tb,tc)
+ \tkzDrawSegments(a,ta b,tb c,tc)
+ \tkzDrawPoints(a,b,c,i,ta,tb,tc)
+ \tkzLabelPoints(a,b,c,i)
+ \tkzDrawCircles(w,ta)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+% subsection example_cevian_with_orthocenter (end)
\subsection{Excircles} % (fold)
\label{sub:excircles}
@@ -693,73 +1099,33 @@ Same result using the function |T.ABC.ab : apollonius (k) |
z.G = intersection (la,lb)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints[new](J_a,J_b,J_c)
-\tkzClipBB
-\tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawLines[add=1 and 1](A,B B,C C,A)
-\tkzDrawSegments[new](A,T_a B,T_b C,T_c)
-\tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawPolygon[new](T_a,T_b,T_c)
-\tkzDrawPoints(A,B,C,K)
-\tkzDrawPoints[new](T_a,T_b,T_c)
-\tkzLabelPoints[below left](A)
-\tkzLabelPoints[below](B)
-\tkzLabelPoints[above](C)
-\tkzLabelPoints[new,below left](T_b)
-\tkzLabelPoints[new,below right](T_c)
-\tkzLabelPoints[new,right=6pt](T_a)
-\tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection excircles (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints[new](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
+ \tkzDrawLines[add=1 and 1](A,B B,C C,A)
+ \tkzDrawSegments[new](A,T_a B,T_b C,T_c)
+ \tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[new](T_a,T_b,T_c)
+ \tkzDrawPoints(A,B,C,K)
+ \tkzDrawPoints[new](T_a,T_b,T_c)
+ \tkzLabelPoints[below left](A)
+ \tkzLabelPoints[below](B)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[new,below left](T_b)
+ \tkzLabelPoints[new,below right](T_c)
+ \tkzLabelPoints[new,right=6pt](T_a)
+ \tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A)
+ \end{tikzpicture}
+\end{center}
+
+
+% subsection excircles (end)
-\subsection{Orthogonal circle through} % (fold)
-\label{sub:orthogonal_circle_through}
-\begin{minipage}{.5\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point: new (0,1)
- z.A = point: new (1,0)
- z.z1 = point: new (-1.5,-1.5)
- z.z2 = point: new (2.5,-1.25)
- C.OA = circle: new (z.O,z.A)
- C = C.OA: orthogonal_through (z.z1,z.z2)
- z.c = C.center
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzDrawCircle[new](c,z1)
- \tkzDrawPoints[new](O,A,z1,z2,c)
- \tkzLabelPoints[right](O,A,z1,z2,c)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}\begin{tkzelements}
- z.O = point: new (0,1)
- z.A = point: new (1,0)
- z.z1 = point: new (-1.5,-1.5)
- z.z2 = point: new (2.5,-1.25)
- C.OA = circle: new (z.O,z.A)
- C = C.OA: orthogonal_through (z.z1,z.z2)
- z.c = C.center
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawCircle[orange](c,z1)
-\tkzDrawPoints[orange](O,A,z1,z2,c)
-\tkzLabelPoints[right](O,A,z1,z2,c)
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsection orthogonal_circle_through (end)
\subsection{Divine ratio} % (fold)
\label{sub:divine_ratio}
@@ -826,16 +1192,19 @@ L.BG = line: new (z.B,z.G)
z.L = intersection (L.AR,L.BG)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(A,C,E,F A,B,G,H)
-\tkzDrawCircles(O_1,C O_2,B O_0,B)
-\tkzDrawSegments(H,C B,K A,L)
-\tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
-\tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,C,E,F A,B,G,H)
+ \tkzDrawCircles(O_1,C O_2,B O_0,B)
+ \tkzDrawSegments(H,C B,K A,L)
+ \tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
+ \tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection divine_ratio (end)
\subsection{Director circle} % (fold)
@@ -893,19 +1262,22 @@ z.J = L.J.pb
z.K = L.K.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(F1,F2,O)
-\tkzDrawCircles[teal](O,P)
-\tkzDrawPolygon(H,O,A,P)
-\tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
-\tkzDrawSegments[orange](O,P O,L L,J L,K)
-\tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
-\tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
-\tkzLabelPoints[above](L)
-\tkzMarkRightAngles(A,P,H J,L,K)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(F1,F2,O)
+ \tkzDrawCircles[teal](O,P)
+ \tkzDrawPolygon(H,O,A,P)
+ \tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
+ \tkzDrawSegments[orange](O,P O,L L,J L,K)
+ \tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
+ \tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
+ \tkzLabelPoints[above](L)
+ \tkzMarkRightAngles(A,P,H J,L,K)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection director_circle (end)
@@ -961,18 +1333,21 @@ z.C = intersection (L.EG,L.AB)
z.O = C.AB: antipode (z.B)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawArc[delta=5](O,B)(G)
- \tkzDrawCircles(A,B B,A)
- \tkzDrawSegments(A,E B,E O,I)
- \tkzDrawSegments[purple](J,E A,G G,I K,G E,G)
- \tkzMarkSegments[mark=s||](A,E B,E O,A)
- \tkzDrawPoints(A,B,C,E,I,J,G,O,K)
- \tkzLabelPoints(A,B,C,E,I,J,G,O,K)
-\end{tikzpicture}
- \hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawArc[delta=5](O,B)(G)
+ \tkzDrawCircles(A,B B,A)
+ \tkzDrawSegments(A,E B,E O,I)
+ \tkzDrawSegments[purple](J,E A,G G,I K,G E,G)
+ \tkzMarkSegments[mark=s||](A,E B,E O,A)
+ \tkzDrawPoints(A,B,C,E,I,J,G,O,K)
+ \tkzLabelPoints(A,B,C,E,I,J,G,O,K)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection gold_division (end)
\subsection{Ellipse} % (fold)
@@ -1014,15 +1389,17 @@ b = E.Ry
slope = math.deg(E.slope)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[teal](C,A)
-\tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
-\tkzDrawPoints(C,A,B,b)
-\tkzLabelPoints(C,A,B)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[teal](C,A)
+ \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
+ \tkzDrawPoints(C,A,B,b)
+ \tkzLabelPoints(C,A,B)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection ellipse (end)
@@ -1060,12 +1437,15 @@ z.V = E : point (0)
z.CoV = E : point (math.pi/2)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
-\tkzDrawPoints(C,V,CoV)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawPoints(C,V,CoV)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection ellipse_with_radii (end)
@@ -1122,15 +1502,18 @@ z.F = L.ta.pb
z.G = L.tb.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPoints(A,B,C,K,F,G,V,cV)
- \tkzLabelPoints(A,B,C,K,F,G,V,cV)
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C,K,F,G,V,cV)
+ \tkzLabelPoints(A,B,C,K,F,G,V,cV)
\tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
- \tkzDrawLines(K,F K,G)
-\end{tikzpicture}
- \hspace*{\fill}
+ \tkzDrawLines(K,F K,G)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection ellipse_with_foci (end)
@@ -1184,19 +1567,21 @@ L.Ow = line : new (z.O,z.w)
_,z.E = intersection (L.Ow, C.OA)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawArc(J,X)(Y)
-\tkzDrawCircles(I,H O,A)
-\tkzDrawCircle[red](w,I)
-\tkzDrawLines(Y,C A,B X,C E,w E,B)
-\tkzDrawSegments[blue](J,C J,K I,H I,O w,B)
-\tkzDrawPoints(A,B,C,I,J,E,w,H,K,O)
-\tkzLabelPoints(A,B,C,J,I,w,H,K,E,O)
-\tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawCircles(I,H O,A)
+ \tkzDrawCircle[red](w,I)
+ \tkzDrawLines(Y,C A,B X,C E,w E,B)
+ \tkzDrawSegments[blue](J,C J,K I,H I,O w,B)
+ \tkzDrawPoints(A,B,C,I,J,E,w,H,K,O)
+ \tkzLabelPoints(A,B,C,J,I,w,H,K,E,O)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection euler_relation (end)
@@ -1242,20 +1627,23 @@ z.D = intersection (T.ext.ab,T.ABC.ab)
z.E = z.C: symmetry (z.B)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple,add=0 and .5](B,C)
-\tkzDrawSegment[purple](A,D)
-\tkzDrawSegment[orange](C,D)
-\tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D)
-\tkzMarkAngles[mark=|](D,C,A E,C,D)
-\tkzDrawPoints(A,...,D)
-\tkzLabelPoints[above](C)
-\tkzLabelPoints(A,B,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple,add=0 and .5](B,C)
+ \tkzDrawSegment[purple](A,D)
+ \tkzDrawSegment[orange](C,D)
+ \tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D)
+ \tkzMarkAngles[mark=|](D,C,A E,C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints(A,B,D)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection external_angle (end)
@@ -1304,19 +1692,22 @@ L.LL = T.ab: ll_from (z.C)
L.AD = line: new (z.A,z.D)
z.E = intersection (L.LL,L.AD)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple](C,E)
-\tkzDrawSegment[purple](A,E)
-\tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
-\tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,B)
-\tkzLabelPoints[above](C,D,E)
-\tkzMarkSegments(A,C C,E)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple](C,E)
+ \tkzDrawSegment[purple](A,E)
+ \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
+ \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \tkzMarkSegments(A,C C,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
%subsection internal_angle (end)
@@ -1392,18 +1783,20 @@ L.LH = line: new (z.L,z.H)
z.F = intersection (L.LH,C.IH) -- feuerbach
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=90]
-\tkzGetNodes
-\tkzDrawLine(L,F)
-\tkzDrawCircle[red](N,A')
-\tkzDrawCircle[blue](I,H)
-\tkzDrawCircles[teal](O,A L,C')
-\tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q)
-\tkzDrawPolygons(A,B,C A',B',C')
-\tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
-\tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[rotate=90]
+ \tkzGetNodes
+ \tkzDrawLine(L,F)
+ \tkzDrawCircle[red](N,A')
+ \tkzDrawCircle[blue](I,H)
+ \tkzDrawCircles[teal](O,A L,C')
+ \tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q)
+ \tkzDrawPolygons(A,B,C A',B',C')
+ \tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
+ \tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection nine_points (end)
@@ -1448,15 +1841,17 @@ L.AK = line: new (z.Y,z.K)
z.C = intersection (L.AK,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B X,K)
-\tkzDrawLine[teal](Y,K)
-\tkzDrawPoints(A,B,C,X,Y,M,K)
-\tkzDrawArc[delta=20](M,A)(K)
-\tkzLabelPoints(A,B,C)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B X,K)
+ \tkzDrawLine[teal](Y,K)
+ \tkzDrawPoints(A,B,C,X,Y,M,K)
+ \tkzDrawArc[delta=20](M,A)(K)
+ \tkzLabelPoints(A,B,C)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
%subsection gold_ratio_with_segment (end)
@@ -1502,13 +1897,15 @@ L.AB = line: new (z.A,z.B)
z.O_0 = L.AB.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x)
-\tkzDrawPoints(A,C,B,O_1,O_2,O_0,x)
-\tkzLabelPoints[below right](A,C,B)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x)
+ \tkzDrawPoints(A,C,B,O_1,O_2,O_0,x)
+ \tkzLabelPoints[below right](A,C,B)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection gold_arbelos (end)
@@ -1554,15 +1951,16 @@ z.O_0 = L.AB.mid
L.GF = line :new (z.G,z.F)
z.C = intersection (L.GF,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
- \tkzDrawPoints(A,B,G,E,F,C,D)
- \tkzLabelPoints(A,B,G,E,F,C,D)
- \tkzMarkSegments(F,B B,E)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
+ \tkzDrawPoints(A,B,G,E,F,C,D)
+ \tkzLabelPoints(A,B,G,E,F,C,D)
+ \tkzMarkSegments(F,B B,E)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection harmonic_division_v1 (end)
@@ -1616,13 +2014,15 @@ L.GX = line: new (z.G,z.X)
z.C = intersection (L.GX,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C)
-\tkzDrawPoints(A,...,G,X)
-\tkzLabelPoints(A,...,G,X)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C)
+ \tkzDrawPoints(A,...,G,X)
+ \tkzLabelPoints(A,...,G,X)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection harmonic_division_v2 (end)
@@ -1666,390 +2066,21 @@ z.Q = intersection (L.AC,L.PX)
z.R = intersection (L.BC,L.PX)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[new](P,R)
-\tkzDrawLines(P,B A,C B,C)
-\tkzDrawPoints(P,Q,R,A,B,C)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsection menelaus (end)
-
-\subsection{Radical axis v1} % (fold)
-\label{sub:radical_axis_v1}
-
-\begin{Verbatim}
-\begin{tkzelements}
-scale = .75
-z.X = point : new (0,0)
-z.B = point : new (2,2)
-z.Y = point : new (7,1)
-z.Ap = point : new (8,-1)
-L.XY = line : new (z.X,z.Y)
-C.XB = circle : new (z.X,z.B)
-C.YAp = circle : new (z.Y,z.Ap)
-z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
-z.A = C.XB : point (0.4)
-T.ABAp = triangle: new (z.A,z.B,z.Ap)
-z.O = T.ABAp.circumcenter
-C.OAp = circle : new (z.O,z.Ap)
-_,z.Bp = intersection (C.OAp,C.YAp)
-L.AB = line : new (z.A,z.B)
-L.ApBp = line : new (z.Ap,z.Bp)
-z.M = intersection (L.AB,L.ApBp)
-z.H = L.XY : projection (z.M)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(X,B Y,A')
- \tkzDrawArc[dashed,delta=30](O,A')(A)
- \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
- \tkzDrawLines[red](A,M A',M X,Y E,F)
- \tkzDrawLines[red,add=1 and 3](M,H)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale = .75
-z.X = point : new (0,0)
-z.B = point : new (2,2)
-z.Y = point : new (7,1)
-z.Ap = point : new (8,-1)
-L.XY = line : new (z.X,z.Y)
-C.XB = circle : new (z.X,z.B)
-C.YAp = circle : new (z.Y,z.Ap)
-z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
-z.A = C.XB : point (0.4)
-T.ABAp = triangle: new (z.A,z.B,z.Ap)
-z.O = T.ABAp.circumcenter
-C.OAp = circle : new (z.O,z.Ap)
-_,z.Bp = intersection (C.OAp,C.YAp)
-L.AB = line : new (z.A,z.B)
-L.ApBp = line : new (z.Ap,z.Bp)
-z.M = intersection (L.AB,L.ApBp)
-z.H = L.XY : projection (z.M)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(X,B Y,A')
-\tkzDrawArc[dashed,delta=30](O,A')(A)
-\tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
-\tkzDrawLines[red](A,M A',M X,Y E,F)
-\tkzDrawLines[red,add=1 and 3](M,H)
-\end{tikzpicture}
-% subsection radical_axis_v1 (end)
-
-\subsection{Radical axis v2} % (fold)
-\label{sub:radical_axis_v2}
-
-\begin{Verbatim}
-\begin{tkzelements}
-scale = 1.25
-z.O = point : new (-1,0)
-z.Op = point : new (4,-1)
-z.B = point : new (0,2)
-z.D = point : new (4,0)
-C.OB = circle : new (z.O,z.B)
-C.OpD = circle : new (z.Op,z.D)
-L.EF = C.OB : radical_axis (C.OpD)
-z.E,z.F = get_points (L.EF)
-z.M = L.EF : point (.75)
-L.MT,L.MTp = C.OB : tangent_from (z.M)
-_,z.T = get_points (L.MT)
-_,z.Tp = get_points (L.MTp)
-L.MK,L.MKp = C.OpD : tangent_from (z.M)
-_,z.K = get_points (L.MK)
-_,z.Kp = get_points (L.MKp)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',D)
- \tkzDrawLine(E,F)
- \tkzDrawLine[add=.5 and .5](O,O')
- \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
- \tkzDrawCircle(M,T)
- \tkzDrawPoints(O,O',T,M,T',K,K')
- \tkzLabelPoints(O,O',T,T',K,K',M)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale =1.25
-z.O = point : new (-1,0)
-z.Op = point : new (4,-1)
-z.B = point : new (0,2)
-z.D = point : new (4,0)
-C.OB = circle : new (z.O,z.B)
-C.OpD = circle : new (z.Op,z.D)
-L.EF = C.OB : radical_axis (C.OpD)
-z.E,z.F = get_points (L.EF)
-z.M = L.EF : point (.75)
-L.MT,L.MTp = C.OB : tangent_from (z.M)
-_,z.T = get_points (L.MT)
-_,z.Tp = get_points (L.MTp)
-L.MK,L.MKp = C.OpD : tangent_from (z.M)
-_,z.K = get_points (L.MK)
-_,z.Kp = get_points (L.MKp)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',D)
-\tkzDrawLine(E,F)
-\tkzDrawLine[add=.5 and .5](O,O')
-\tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
-\tkzDrawCircle(M,T)
-\tkzDrawPoints(O,O',T,M,T',K,K')
-\tkzLabelPoints(O,O',T,T',K,K',M)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v2 (end)
-
-\subsection{Radical axis v3} % (fold)
-\label{sub:radical_axis_v3}
-
-\begin{Verbatim}
- \begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (4,0)
- z.Op = point : new (6,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.M = L.EF : point (0.2)
- L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.5 and .5](O,O')
- \tkzDrawPoints(O,B,O',E,F,M,T,T')
- \tkzLabelPoints(O,O',B,E,F,T,T')
- \tkzDrawArc(M,T')(T)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-z.O = point : new (0,0)
-z.B = point : new (4,0)
-z.Op = point : new (6,0)
-C.OB = circle : new (z.O,z.B)
-C.OpB = circle : new (z.Op,z.B)
-L.EF = C.OB : radical_axis (C.OpB)
-z.E,z.F = get_points(L.EF)
-z.M = L.EF : point (0.2)
-L = C.OB : tangent_from (z.M)
-_,z.T = get_points (L)
-L = C.OpB : tangent_from (z.M)
-_,z.Tp = get_points (L)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',B)
-\tkzDrawSegments(M,T M,T')
-\tkzDrawSegments(E,F)
-\tkzDrawLine[add=.5 and .5](O,O')
-\tkzDrawPoints(O,B,O',E,F,M,T,T')
-\tkzLabelPoints(O,O',B,E,F,T,T')
-\tkzDrawArc(M,T')(T)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v3 (end)
-
-\subsection{Radical axis v4} % (fold)
-\label{sub:radical_axis_v4}
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (5,0)
- z.Op = point : new (3,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.H = L.EF.mid
- z.M = L.EF : point (.8)
- _,L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- _,L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.3 and .3](O,H)
- \tkzDrawPoints(O,O',B,E,H,M)
- \tkzLabelPoints[below right](O,O',E,F,M,T,T')
- \tkzDrawArc(M,B)(T)
-\end{tikzpicture}
-\end{Verbatim}
-
-
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (5,0)
- z.Op = point : new (3,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.H = L.EF.mid
- z.M = L.EF : point (.8)
- _,L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- _,L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.3 and .3](O,H)
- \tkzDrawPoints(O,O',B,E,H,M)
- \tkzLabelPoints[below right](O,O',E,F,M,T,T')
- \tkzDrawArc(M,B)(T)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v4 (end)
-
-\subsection{Radical center} % (fold)
-\label{sub:radical_center}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.x = point : new (1,0)
- z.y = point : new (4,0)
- z.z = point : new (2,0)
- z.Op = point : new (4,2)
- z.P = point : new (2,2.5)
- C.Ox = circle : new (z.O,z.x)
- C.Pz = circle : new (z.P,z.z)
- C.Opy = circle : new (z.Op,z.y)
- z.ap,z.a = intersection (C.Ox,C.Pz)
- z.bp,z.b = intersection (C.Opy,C.Pz)
- L.aap = line : new (z.a,z.ap)
- L.bbp = line : new (z.b,z.bp)
- z.X = intersection (L.aap,L.bbp)
--- or z.X = radical_center(C.Ox,C.Pz,C.Opy)
- L.OOp = line : new (z.O,z.Op)
- z.H = L.OOp : projection (z.X)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,a O',b P,z)
- \tkzDrawLines[red](a,X b',X H,X O,O')
- \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
- \tkzLabelPoints[below right](O,O',P,H)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-z.O = point : new (0,0)
-z.x = point : new (1,0)
-z.y = point : new (4,0)
-z.z = point : new (2,0)
-z.Op = point : new (4,2)
-z.P = point : new (2,2.5)
-C.Ox = circle : new (z.O,z.x)
-C.Pz = circle : new (z.P,z.z)
-C.Opy = circle : new (z.Op,z.y)
-z.ap,z.a = intersection (C.Ox,C.Pz)
-z.bp,z.b = intersection (C.Opy,C.Pz)
-L.aap = line : new (z.a,z.ap)
-L.bbp = line : new (z.b,z.bp)
-z.X = intersection (L.aap,L.bbp)
-L.OOp = line : new (z.O,z.Op)
-z.H = L.OOp : projection (z.X)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,a O',b P,z)
-\tkzDrawLines[red](a,X b',X H,X O,O')
-\tkzDrawPoints(O,O',P,a,a',b,b',X,H)
-\tkzLabelPoints[below right](O,O',P,H)
-\end{tikzpicture}
-\end{minipage}
-% subsection radical_center (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[new](P,R)
+ \tkzDrawLines(P,B A,C B,C)
+ \tkzDrawPoints(P,Q,R,A,B,C)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \end{tikzpicture}
+\end{center}
-\subsection{Radical circle} % (fold)
-\label{sub:radical_circle}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- scale = .5
- z.A = point: new (0,0)
- z.B = point: new (6,0)
- z.C = point: new (0.8,4)
- T.ABC = triangle : new ( z.A,z.B,z.C )
- C.exa = T.ABC : ex_circle ()
- z.I_a,z.Xa = get_points (C.exa)
- C.exb = T.ABC : ex_circle (1)
- z.I_b,z.Xb = get_points (C.exb)
- C.exc = T.ABC : ex_circle (2)
- z.I_c,z.Xc = get_points (C.exc)
- C.ortho = C.exa : radical_circle (C.exb,C.exc)
- z.w,z.a = get_points (C.ortho)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
- \tkzDrawCircles[red,thick](w,a)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-\end{Verbatim}
\end{minipage}
+% subsection menelaus (end)
-\begin{tkzelements}
- scale = .5
- z.A = point: new (0,0)
- z.B = point: new (6,0)
- z.C = point: new (0.8,4)
- T.ABC = triangle : new ( z.A,z.B,z.C )
- C.exa = T.ABC : ex_circle ()
- z.I_a,z.Xa = get_points (C.exa)
- C.exb = T.ABC : ex_circle (1)
- z.I_b,z.Xb = get_points (C.exb)
- C.exc = T.ABC : ex_circle (2)
- z.I_c,z.Xc = get_points (C.exc)
- C.ortho = C.exa : radical_circle (C.exb,C.exc)
- z.w,z.a = get_points (C.ortho)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
- \tkzDrawCircles[red,thick](w,a)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-\hspace*{\fill}
-
-% subsection radical_circle (end)
\subsection{Euler ellipse} % (fold)
\label{sub:hexagram}
@@ -2136,21 +2167,22 @@ _,z.W = intersection (L.ZO,E)
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawCircles[red](N,Ma O,A)
-\tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O)
-\tkzDrawPolygon[red](U,V,W)
-\tkzLabelPoints[red](U,V,W)
-\tkzLabelPoints(A,B,C,X,Y,Z)
-\tkzDrawLine[blue](I,J)
-\tkzLabelPoints[blue,right](O,N,G,H,I,J)
-\tkzDrawPoints(I,J,U,V,W)
-\tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
-\tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles[red](N,Ma O,A)
+ \tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O)
+ \tkzDrawPolygon[red](U,V,W)
+ \tkzLabelPoints[red](U,V,W)
+ \tkzLabelPoints(A,B,C,X,Y,Z)
+ \tkzDrawLine[blue](I,J)
+ \tkzLabelPoints[blue,right](O,N,G,H,I,J)
+ \tkzDrawPoints(I,J,U,V,W)
+ \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
+ \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \end{tikzpicture}
+\end{center}
\end{minipage}
\begin{Verbatim}
@@ -2165,8 +2197,8 @@ _,z.W = intersection (L.ZO,E)
\tkzDrawLine[blue](I,J)
\tkzLabelPoints[blue,right](O,N,G,H,I,J)
\tkzDrawPoints(I,J,U,V,W)
- \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
- \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
+ \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\end{tikzpicture}
\end{Verbatim}
@@ -2256,36 +2288,39 @@ z.O = C.DC : inversion (z.W)
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[teal](O_1,B)
-\tkzDrawSemiCircles[thin,teal](O_2,C O_3,B)
-\tkzDrawArc[purple,delta=0](D,V)(U)
-\tkzDrawCircle[new](O_7,C)
-\tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V)
-\tkzDrawSegments[thin,red](O,D A,O O,B)
-\tkzDrawPoints(A,B,C,D,O_7) %,
-\tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O)
-\tkzDrawSegments[cyan](O_3,S O_2,R)
-\tkzDrawSegments[very thin](A,B)
-\tkzDrawSegments[cyan,thin](C,U U,D)
-\tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B
- D,S,C D,W,V O_3,S,U O_2,R,U)
-\tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1
- C,D,B D,C,R B,C,S A,R,O_2)
-\tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D
- D,B,C R,C,A O_3,S,B)
-\tkzLabelPoints[below](C,O_2,O_3,O_1)
-\tkzLabelPoints[above](D)
-\tkzLabelPoints[below](O)
-\tkzLabelPoints[below left](A)
-\tkzLabelPoints[above left](R)
-\tkzLabelPoints[above right](S)
-\tkzLabelPoints[left](V)
-\tkzLabelPoints[below right](B,U,W,O_7)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[teal](O_1,B)
+ \tkzDrawSemiCircles[thin,teal](O_2,C O_3,B)
+ \tkzDrawArc[purple,delta=0](D,V)(U)
+ \tkzDrawCircle[new](O_7,C)
+ \tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V)
+ \tkzDrawSegments[thin,red](O,D A,O O,B)
+ \tkzDrawPoints(A,B,C,D,O_7) %,
+ \tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O)
+ \tkzDrawSegments[cyan](O_3,S O_2,R)
+ \tkzDrawSegments[very thin](A,B)
+ \tkzDrawSegments[cyan,thin](C,U U,D)
+ \tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B
+ D,S,C D,W,V O_3,S,U O_2,R,U)
+ \tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1
+ C,D,B D,C,R B,C,S A,R,O_2)
+ \tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D
+ D,B,C R,C,A O_3,S,B)
+ \tkzLabelPoints[below](C,O_2,O_3,O_1)
+ \tkzLabelPoints[above](D)
+ \tkzLabelPoints[below](O)
+ \tkzLabelPoints[below left](A)
+ \tkzLabelPoints[above left](R)
+ \tkzLabelPoints[above right](S)
+ \tkzLabelPoints[left](V)
+ \tkzLabelPoints[below right](B,U,W,O_7)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
\begin{Verbatim}
@@ -2379,25 +2414,27 @@ z.O = C.DC : inversion (z.W)
z.xa,z.xb,z.xc = C.ortho : inversion (z.Ea,z.Eb,z.Ec)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
-\tkzDrawCircles[red](O,xa N,Ea)
-\tkzFillCircles[green!30!black,opacity=.3](O,xa)
-\tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
-\tkzFillCircles[teal!30!black,opacity=.3](S,a)
-\tkzFillCircles[green!30,opacity=.3](N,Ea)
-\tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
-\tkzClipCircle(O,xa)
-\tkzDrawLines[add=3 and 3](A,B A,C B,C)
-\tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
-\tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
-\tkzDrawCircles[teal](S,a)
-\tkzDrawPoints(A,B,C,O)
-\tkzDrawPoints[teal](S)
-\tkzLabelPoints(A,B,C,O,S,N)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[red](O,xa N,Ea)
+ \tkzFillCircles[green!30!black,opacity=.3](O,xa)
+ \tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+ \tkzFillCircles[teal!30!black,opacity=.3](S,a)
+ \tkzFillCircles[green!30,opacity=.3](N,Ea)
+ \tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
+ \tkzClipCircle(O,xa)
+ \tkzDrawLines[add=3 and 3](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
+ \tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+ \tkzDrawCircles[teal](S,a)
+ \tkzDrawPoints(A,B,C,O)
+ \tkzDrawPoints[teal](S)
+ \tkzLabelPoints(A,B,C,O,S,N)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection apollonius_circle_v1_with_inversion (end)
\subsection{Apollonius circle v2} % (fold)
@@ -2472,82 +2509,24 @@ L.MaS = line: new (z.Ma,z.S)
z.t = intersection (L.ox,L.MaS) -- through
\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines[add=1 and 1](A,B A,C B,C)
-\tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) %
-\tkzClipCircle(o,t)
-\tkzDrawLines[red](o,L N,o Ma,t)
-\tkzDrawLines[cyan,add=4 and 4](Ma,N o,t)
-\tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc)
-\tkzDrawPoints[red](N,O,L,S,o,t)
-\tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) %
+ \tkzClipCircle(o,t)
+ \tkzDrawLines[red](o,L N,o Ma,t)
+ \tkzDrawLines[cyan,add=4 and 4](Ma,N o,t)
+ \tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc)
+ \tkzDrawPoints[red](N,O,L,S,o,t)
+ \tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o)
+ \end{tikzpicture}
+\end{center}
% subsection apollonius_circle_v2 (end)
-\subsection{Orthogonal circles v1} % (fold)
-\label{sub:orthogonal_circles_v1}
-
-\begin{Verbatim}
-\begin{tkzelements}
- scale = .6
- z.C_1 = point: new (0,0)
- z.C_2 = point: new (8,0)
- z.A = point: new (5,0)
- C = circle: new (z.C_1,z.A)
- z.S,z.T = get_points (C: orthogonal_from (z.C_2))
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(C_1,T C_2,T)
- \tkzDrawSegments(C_1,T C_2,T)
- \tkzDrawLine(C_1,C_2)
- \tkzMarkRightAngle[fill=teal,%
- opacity=.2,size=1](C_1,T,C_2)
- \tkzDrawPoints(C_1,C_2,T)
- \tkzLabelPoints(C_1,C_2)
- \tkzLabelPoints[above](T)
- \tkzLabelSegment[left](C_1,T){r}
- \tkzLabelSegments[right](C_2,T){$\gamma$}
- \tkzLabelSegment[below](C_1,C_2){d}
- \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
- \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale = .6
-z.C_1 = point: new (0,0)
-z.C_2 = point: new (8,0)
-z.A = point: new (5,0)
-C = circle: new (z.C_1,z.A)
-z.S,z.T = get_points (C: orthogonal_from (z.C_2))
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_1,T C_2,T)
-\tkzDrawSegments(C_1,T C_2,T)
-\tkzDrawLine(C_1,C_2)
-\tkzMarkRightAngle[fill=teal,opacity=.2,size=.5](C_1,T,C_2)
-\tkzDrawPoints(C_1,C_2,T)
-\tkzLabelPoints(C_1,C_2)
-\tkzLabelPoints[above](T)
-\tkzLabelSegment[left](C_1,T){r}
-\tkzLabelSegments[right](C_2,T){$\gamma$}
-\tkzLabelSegment[below](C_1,C_2){d}
-\tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
-\tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection orthogonal_circles_v1 (end)
-
-\subsection{Orthogonal circles v2} % (fold)
+\subsection{Orthogonal circles} % (fold)
\label{sub:orthogonal_circles_v2}
\begin{Verbatim}
@@ -2602,24 +2581,26 @@ L.OOp = line : new (z.O,z.Op)
z.M = L.OOp.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle[red](O,P)
-\tkzDrawCircle[purple](O',z1)
-\tkzDrawCircle[cyan](M,T)
-\tkzDrawSegments(O',T O,T' O',T')
-\tkzDrawSegment[purple](O',T)
-\tkzDrawSegments[red](O,T O,O')
-\tkzDrawPoints(O,O',T,T',M)
-\tkzMarkRightAngle[fill=gray!10](O',T,O)
-\tkzLabelPoint[below](O){$O$}
-\tkzLabelPoint[above](T){$T$}
-\tkzLabelPoint[above](M){$M$}
-\tkzLabelPoint[below](T'){$T'$}
-\tkzLabelPoint[above left](O'){$O'$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle[red](O,P)
+ \tkzDrawCircle[purple](O',z1)
+ \tkzDrawCircle[cyan](M,T)
+ \tkzDrawSegments(O',T O,T' O',T')
+ \tkzDrawSegment[purple](O',T)
+ \tkzDrawSegments[red](O,T O,O')
+ \tkzDrawPoints(O,O',T,T',M)
+ \tkzMarkRightAngle[fill=gray!10](O',T,O)
+ \tkzLabelPoint[below](O){$O$}
+ \tkzLabelPoint[above](T){$T$}
+ \tkzLabelPoint[above](M){$M$}
+ \tkzLabelPoint[below](T'){$T'$}
+ \tkzLabelPoint[above left](O'){$O'$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection orthogonal_circles_v2 (end)
%
\subsection{Orthogonal circle to two circles} % (fold)
@@ -2674,19 +2655,22 @@ z.Tp = L.Tp.pb
z.Kp = L.Kp.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',D)
-\tkzDrawLine[cyan](E,F)
-\tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T')
-\tkzDrawSegments[cyan](M,T M,T' M,K M,K')
-\tkzDrawCircle(M,T)
-\tkzDrawPoints(O,O',T,M,T',K,K')
-\tkzLabelPoints(O,O',T,T',M,K,K')
-\end{tikzpicture}
-\hspace*{\fill}
-% \subsection{Orthogonal to two circles} % (fold)
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine[cyan](E,F)
+ \tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T')
+ \tkzDrawSegments[cyan](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',M,K,K')
+ \end{tikzpicture}
+\end{center}
+
+
+% subsection Orthogonal to two circles (fold)
\subsection{Midcircles} % (fold)
\label{sub:midcircles}
@@ -2738,36 +2722,39 @@ z.Ap = z.M_1: symmetry (z.A)
z.H_4,z.F,z.E,z.H_0 = L.AB : projection (z.O_4,z.G,z.H,z.P_0)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle[thin,fill=green!10](O_4,P_0)
-\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
-\tkzDrawSemiCircles[teal](O_0,B)
-\tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
-\tkzDrawSemiCircles[color = orange](M_2,B)
-\tkzDrawSemiCircles[color = orange](M_1,A')
-\tkzDrawArc[purple,delta=0](M_0,P_0)(C)
-\tkzDrawSegments[very thin](A,B A,P B,Q)
-\tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2)
-\tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J)
-\tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S)
-\tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H)
-\tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0)
-\tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0)
-\tkzLabelPoints[above](P_0,O_5,O_4)
-\tkzLabelPoints[above](P_1,J)
-\tkzLabelPoints[above](P_2,P,Q,S)
-\tkzLabelPoints[above right](H,E)
-\tkzLabelPoints[above left](F,G)
-\tkzLabelPoints[below right](H_0)
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$}
-\tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$}
-\tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle[thin,fill=green!10](O_4,P_0)
+ \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
+ \tkzDrawSemiCircles[teal](O_0,B)
+ \tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
+ \tkzDrawSemiCircles[color = orange](M_2,B)
+ \tkzDrawSemiCircles[color = orange](M_1,A')
+ \tkzDrawArc[purple,delta=0](M_0,P_0)(C)
+ \tkzDrawSegments[very thin](A,B A,P B,Q)
+ \tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2)
+ \tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J)
+ \tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S)
+ \tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H)
+ \tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0)
+ \tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0)
+ \tkzLabelPoints[above](P_0,O_5,O_4)
+ \tkzLabelPoints[above](P_1,J)
+ \tkzLabelPoints[above](P_2,P,Q,S)
+ \tkzLabelPoints[above right](H,E)
+ \tkzLabelPoints[above left](F,G)
+ \tkzLabelPoints[below right](H_0)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$}
+ \tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$}
+ \tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$}
+ \end{tikzpicture}
+\end{center}
+
+
\begin{Verbatim}
\begin{tkzelements}
@@ -2900,18 +2887,20 @@ z.xp,z.yp = get_points (C.C0A : orthogonal_from (z.M_1))
z.O = L.BA.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A)
-\tkzDrawCircles[thick,color=red](M_0,x M_1,x')
-\tkzDrawCircles[thick,color=blue](O,A)
-\tkzDrawLines(C_0,C_1 B,M_1)
-\tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y)
-\tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y)
-\tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A)
+ \tkzDrawCircles[thick,color=red](M_0,x M_1,x')
+ \tkzDrawCircles[thick,color=blue](O,A)
+ \tkzDrawLines(C_0,C_1 B,M_1)
+ \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y)
+ \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y)
+ \tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection pencil_v1 (end)
\subsection{Pencil v2} % (fold)
@@ -2967,123 +2956,20 @@ z.O = L.BA.mid
z.t = C.orth2.through
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_0,A C_1,B)
-\tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t)
-\tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1)
-\tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2)
-\tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2)
-\tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$}
-\end{tikzpicture}
-\hspace*{\fill}
-%subsection pencil_v2 (end)
-
-\subsection{Power v1} % (fold)
-\label{sub:power_v1}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.A = point : new (2,-2)
- z.M = point : new (-6,0)
- L.AM = line : new (z.A,z.M)
- C.OA = circle : new (z.O,z.A)
- z.Ap = C.OA : antipode (z.A)
- z.B = intersection (L.AM, C.OA)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzMarkRightAngle[fill=gray!10](A',B,M)
- \tkzDrawSegments(M,O A,A' A',B)
- \tkzDrawPoints(O,A,A',M,B)
- \tkzLabelPoints(O,A,A',M,B)
- \tkzDrawSegments[-Triangle](M,A M,A')
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-scale = 1
-z.O = point : new (0,0)
-z.A = point : new (2,-2)
-z.M = point : new (-6,0)
-L.AM = line : new (z.A,z.M)
-C.OA = circle : new (z.O,z.A)
-z.Ap = C.OA : antipode (z.A)
-z.B = intersection (L.AM, C.OA)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzMarkRightAngle[fill=gray!10](A',B,M)
-\tkzDrawSegments(M,O A,A' A',B)
-\tkzDrawPoints(O,A,A',M,B)
-\tkzLabelPoints(O,A,A',M,B)
-\tkzDrawSegments[-Triangle](M,A M,A')
-\end{tikzpicture}
-\end{minipage}
-% subsection power_v1 (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_0,A C_1,B)
+ \tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t)
+ \tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1)
+ \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2)
+ \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2)
+ \tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$}
+ \end{tikzpicture}
+\end{center}
-\subsection{Power v2} % (fold)
-\label{sub:power_v2}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.A = point : new (2,2)
- z.M = point : new (-1.5,0)
- L.AM = line : new (z.A,z.M)
- C.OA = circle : new (z.O,z.A)
- z.Ap = C.OA : antipode (z.A)
- _,z.B = intersection (L.AM, C.OA)
- z.m = z.M : north(1)
- L.mM = line : new (z.m,z.M)
- z.U,z.V = intersection (L.mM,C.OA)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzMarkRightAngle[fill=gray!10](A',B,M)
- \tkzDrawSegments(M,O A,A' A',B A,B U,V)
- \tkzDrawPoints(O,A,A',M,B,U,V,m)
- \tkzLabelPoints(O,A,M,U,V,m)
- \tkzLabelPoints[below left](A',B)
- \tkzDrawSegments(M,A M,A')
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-scale = 1
-z.O = point : new (0,0)
-z.A = point : new (2,2)
-z.M = point : new (-1.5,0)
-L.AM = line : new (z.A,z.M)
-C.OA = circle : new (z.O,z.A)
-z.Ap = C.OA : antipode (z.A)
-_,z.B = intersection (L.AM, C.OA)
-z.m = z.M : north(1)
-L.mM = line : new (z.m,z.M)
-z.U,z.V = intersection (L.mM,C.OA)
-\end{tkzelements}
+%subsection pencil_v2 (end)
-\hspace*{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzMarkRightAngle[fill=gray!10](A',B,M)
-\tkzDrawSegments(M,O A,A' A',B A,B U,V)
-\tkzDrawPoints(O,A,A',M,B,U,V,m)
-\tkzLabelPoints(O,A,M,U,V,m)
-\tkzLabelPoints[below left](A',B)
-\tkzDrawSegments(M,A M,A')
-\end{tikzpicture}
-\end{minipage}
-% subsection power_v2 (end)
\subsection{Reim v1} % (fold)
\label{sub:reim_v1}
@@ -3137,22 +3023,25 @@ z.U,z.V = intersection (L.mM,C.OA)
z.O = intersection (L.EC,L.FD)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,E B,H)
-\tkzDrawSegments(E,D C,F)
-\tkzDrawLines(E,O F,O)
-\tkzDrawLines[red](E,F H,G)
-\tkzDrawPoints(A,...,H,O)
-\tkzLabelPoints(A,B,D,F,G,O)
-\tkzLabelPoints[above](E,C,H)
-\tkzMarkAngles[size=.5](E,C,F E,D,F)
-\tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F)
-\tkzMarkAngles[size=.5](F,C,H G,D,E)
-\tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,E B,H)
+ \tkzDrawSegments(E,D C,F)
+ \tkzDrawLines(E,O F,O)
+ \tkzDrawLines[red](E,F H,G)
+ \tkzDrawPoints(A,...,H,O)
+ \tkzLabelPoints(A,B,D,F,G,O)
+ \tkzLabelPoints[above](E,C,H)
+ \tkzMarkAngles[size=.5](E,C,F E,D,F)
+ \tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F)
+ \tkzMarkAngles[size=.5](F,C,H G,D,E)
+ \tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v1 (end)
\subsection{Reim v2} % (fold)
@@ -3200,19 +3089,22 @@ z.m,z.mp = get_points (C.AC: tangent_at (z.M))
z.n,z.np = get_points (C.BC: tangent_at (z.N))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,C B,C)
-\tkzDrawLines[new,add=1 and 1](M,m N,n C,c)
-\tkzDrawSegment(M,N)
-\tkzDrawPoints(A,B,C,M,N)
-\tkzLabelPoints[below right](A,B,C,M,N)
-\tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C)
-\tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$}
-\tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawLines[new,add=1 and 1](M,m N,n C,c)
+ \tkzDrawSegment(M,N)
+ \tkzDrawPoints(A,B,C,M,N)
+ \tkzLabelPoints[below right](A,B,C,M,N)
+ \tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$}
+ \tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v2 (end)
\subsection{Reim v3} % (fold)
@@ -3282,21 +3174,23 @@ z.n,z.np = get_points (C.BC: tangent_at (z.N))
z.D = intersection (L.KO,C.zO)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegments(K,D D,C)
-\tkzDrawPolygon[teal](A,B,C)
-\tkzDrawCircles[orange](x,A y,B z,C)
-\tkzDrawPoints[fill=white](A,B,C,I,J,K,D)
-\tkzLabelPoints[below](A,B,J,K,O)
-\tkzLabelPoints[above](C,D,I)
-\tkzDrawPoints[fill=black](O)
-\tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$}
-\tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments(K,D D,C)
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircles[orange](x,A y,B z,C)
+ \tkzDrawPoints[fill=white](A,B,C,I,J,K,D)
+ \tkzLabelPoints[below](A,B,J,K,O)
+ \tkzLabelPoints[above](C,D,I)
+ \tkzDrawPoints[fill=black](O)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$}
+ \tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v3 (end)
\subsection{Tangent and circle} % (fold)
@@ -3339,14 +3233,17 @@ z.i = L.Ti.pb
z.j = L.Tj.pb
z.k,z.l = get_points (C.AB: tangent_at (z.B))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,B M,A)
-\tkzDrawPoints(A,B,E,i,j,M,S)
-\tkzDrawLines(E,i E,j k,l)
-\tkzLabelPoints[right,font=\small](A,B,E,S,M)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,B M,A)
+ \tkzDrawPoints(A,B,E,i,j,M,S)
+ \tkzDrawLines(E,i E,j k,l)
+ \tkzLabelPoints[right,font=\small](A,B,E,S,M)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection tangent_and_circle (end)
@@ -3377,13 +3274,16 @@ z.B = point: new (1,2)
z.E = point: new (-3,2)
z.C,z.D = z.E : homothety(2,z.A,z.B)
\end{tkzelements}
-\hspace*{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,B,C,E,D)
-\tkzLabelPoints(A,B,C,E)
-\tkzDrawCircles(A,B C,D)
-\tkzDrawLines(E,C E,D)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C,E,D)
+ \tkzLabelPoints(A,B,C,E)
+ \tkzDrawCircles(A,B C,D)
+ \tkzDrawLines(E,C E,D)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection homothety (end)
@@ -3436,18 +3336,21 @@ z.b1,z.b2 = get_points (C.OA: tangent_at (z.B))
z.H = L.AB: projection (z.O)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawSegments[new](A,O B,O O,H A,D D,B)
-\tkzDrawLine(b1,b2)
-\tkzDrawPoints(A,B,C,D,H,O)
-\tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B A,B,b1)
-\tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A)
-\tkzLabelPoints(A,B,C,D,H,O)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawSegments[new](A,O B,O O,H A,D D,B)
+ \tkzDrawLine(b1,b2)
+ \tkzDrawPoints(A,B,C,D,H,O)
+ \tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B A,B,b1)
+ \tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A)
+ \tkzLabelPoints(A,B,C,D,H,O)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection tangent_and_chord (end)
@@ -3541,26 +3444,26 @@ z.Cp,_ = intersection (L.GD,C.xD)
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\hspace*{\fill}
-\begin{tikzpicture}[scale=.75]
-\tkzGetNodes
-\tkzDrawCircles(O,B)
-\tkzDrawCircles[cyan](P,B)
-\tkzDrawCircles[red](w,E)
-\tkzDrawCircles[new](x,F)
-\tkzDrawSegments(A,G E,G C,G)
-\tkzDrawPolygons[new](A,E,C A',E',C')
-\tkzDrawPoints(A,...,G,A',E',C',O,P)
-\begin{scope}[font=\scriptsize]
- \tkzLabelPoints(A,...,F)
- \tkzLabelPoints[above left](G,A',E',C')
- \tkzLabelCircle[left](O,B)(30){$(\beta)$}
- \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
- \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
- \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
-\end{scope}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}[scale=.75]
+ \tkzGetNodes
+ \tkzDrawCircles(O,B)
+ \tkzDrawCircles[cyan](P,B)
+ \tkzDrawCircles[red](w,E)
+ \tkzDrawCircles[new](x,F)
+ \tkzDrawSegments(A,G E,G C,G)
+ \tkzDrawPolygons[new](A,E,C A',E',C')
+ \tkzDrawPoints(A,...,G,A',E',C',O,P)
+ \begin{scope}[font=\scriptsize]
+ \tkzLabelPoints(A,...,F)
+ \tkzLabelPoints[above left](G,A',E',C')
+ \tkzLabelCircle[left](O,B)(30){$(\beta)$}
+ \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
+ \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
+ \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
+ \end{scope}
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection three_chords (end)
@@ -3620,19 +3523,20 @@ L.TA = C.wE : tangent_at (z.A)
L.TC = C.xE : tangent_at (z.C)
z.I = intersection (L.TA,L.TC)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(w,E)
-\tkzDrawCircles[cyan](x,E)
-\tkzDrawCircles[red](G,A)
-\tkzDrawLines(A,I C,I F,I)
-\tkzDrawPoints(A,C,E,F)
-\tkzLabelPoints[right](A)
-\tkzLabelPoints[above right](E,F)
-\tkzLabelPoints[below](C)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(w,E)
+ \tkzDrawCircles[cyan](x,E)
+ \tkzDrawCircles[red](G,A)
+ \tkzDrawLines(A,I C,I F,I)
+ \tkzDrawPoints(A,C,E,F)
+ \tkzLabelPoints[right](A)
+ \tkzLabelPoints[above right](E,F)
+ \tkzLabelPoints[below](C)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection three_tangents (end)
@@ -3665,15 +3569,16 @@ C.AB = circle: new (z.A,z.B)
z.C = z.A: rotation (math.pi/3,z.B)
z.D = C.AB: midarc (z.B,z.C)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,B,C)
-\tkzDrawCircles(A,B)
-\tkzDrawPoints(A,...,D)
-\tkzLabelPoints(A,...,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawCircles(A,B)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection midarc (end)
@@ -3738,68 +3643,92 @@ z.Q = intersection (L.tB,L.AC)
z.R = intersection (L.tC,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon[teal](A,B,C)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(A,B,C,P,Q,R)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\tkzDrawLine[blue](Q,R)
-\tkzDrawLines[red](Ar,Al Br,Q Cr,Cl)
-\tkzDrawSegments(A,R C,P C,Q)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](Ar,Al Br,Q Cr,Cl)
+ \tkzDrawSegments(A,R C,P C,Q)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection lemoine_line_without_macro (end)
\subsection{First Lemoine circle} % (fold)
\label{sub:first_lemoine_circle}
+Draw lines through the symmedian point $L$ and parallel to the sides of the triangle. The points where the parallel lines intersect the sides of the triangle then lie on a circle known as the first Lemoine circle. It has center at the Brocard midpoint, i.e., the midpoint of $[OL]$, where $O$ is the circumcenter and $K$ is the symmedian point
+
+[\href{https://mathworld.wolfram.com/FirstLemoineCircle.html}{Weisstein, Eric W. "First Lemoine Circle." From MathWorld--A Wolfram Web Resource.}]
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
\begin{tkzelements}
z.A = point: new (1,1)
z.B = point: new (5,1)
- z.C = point: new (2,3)
- T = triangle: new (z.A,z.B,z.C)
- z.O = T.circumcenter
- z.o,z.w = get_points (T : first_lemoine_circle ())
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.first_lemoine = T:first_lemoine_circle()
+ z.o,z.w = get_points( C.first_lemoine )
+ z.y1,z.y2 = intersection (T.ab,C.first_lemoine)
+ z.y5,z.y6 = intersection (T.bc,C.first_lemoine)
+ z.y3,z.y4 = intersection (T.ca,C.first_lemoine)
z.L = T : lemoine_point ()
\end{tkzelements}
+\begin{center}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C,o,w,O,L)
- \tkzLabelPoints(A,B,C,o,w,O,L)
- \tkzDrawCircles(o,w O,A)
+ \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzDrawCircles(o,w)
+ \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L)
\end{tikzpicture}
-\end{Verbatim}
+\end{center}
\end{minipage}
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
\begin{tkzelements}
-z.A = point: new (1,1)
-z.B = point: new (5,1)
-z.C = point: new (2,3)
-T = triangle: new (z.A,z.B,z.C)
-z.O = T.circumcenter
-z.o,z.w = get_points(T:first_lemoine_circle())
-z.L = T : lemoine_point ()
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.first_lemoine = T:first_lemoine_circle()
+ z.o,z.w = get_points( C.first_lemoine )
+ z.y1,z.y2 = intersection (T.ab,C.first_lemoine)
+ z.y5,z.y6 = intersection (T.bc,C.first_lemoine)
+ z.y3,z.y4 = intersection (T.ca,C.first_lemoine)
+ z.L = T : lemoine_point ()
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[scale = 1.25]
-\tkzGetNodes
-\tkzDrawPolygons(A,B,C)
-\tkzDrawPoints(A,B,C,o,w,O,L)
-\tkzLabelPoints(A,B,C,o,w,O,L)
-\tkzDrawCircles(o,w O,A)
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzDrawCircles(o,w)
+ \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
+
% subsection first_lemoine_circle (end)
\subsection{First and second Lemoine circles} % (fold)
\label{sub:first_and_second_lemoine_circles}
+Draw antiparallels through the symmedian point $L$. The points where these lines intersect the sides then lie on a circle, known as the cosine circle (or sometimes the second Lemoine circle). Refer to [\ref{sub:antiparallel_through_lemoine_point}]
+
+[\href{https://mathworld.wolfram.com/CosineCircle.html}{Weisstein, Eric W. "Cosine Circle." From MathWorld--A Wolfram Web Resource.}]
+
+
\begin{Verbatim}
\begin{tkzelements}
scale = 2
@@ -3863,19 +3792,22 @@ L.y4y5 = line : new (z.y4,z.y5)
L.y2y3 = line : new (z.y2,z.y3)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[scale = .75]
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6)
-\tkzDrawPoints(x1,x2,x3,x4,x5,x6,L)
-\tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6)
-\tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6)
-\tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6)
-\tkzLabelPoints[above](L)
-\tkzDrawCircles(L,x o,p O,a)
-\tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}[scale = .75]
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6)
+ \tkzDrawPoints(x1,x2,x3,x4,x5,x6,L)
+ \tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6)
+ \tkzLabelPoints[above](L)
+ \tkzDrawCircles(L,x o,p O,a)
+ \tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection first_and_second_lemoine_circles (end)
\subsection{Inversion} % (fold)
@@ -3942,52 +3874,6 @@ z.Cp = C.AC: inversion ( z.B, z.E, z.C )
\end{minipage}
% subsection inversion (end)
-\subsection{Gergonne point} % (fold)
-\label{sub:gergonne_point}
-
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
-z.a = point: new(1,0)
-z.b = point: new(6,2)
-z.c = point: new(2,5)
-T = triangle : new (z.a,z.b,z.c)
-z.g = T : gergonne_point ()
-z.i = T.incenter
-z.ta,z.tb,z.tc = get_points (T : intouch ())
-\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,g)
-\tkzLabelPoints(a,b,c)
-\tkzDrawSegments (a,ta b,tb c,tc)
-\tkzDrawCircle(i,ta)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-z.a = point: new(1,0)
-z.b = point: new(6,2)
-z.c = point: new(2,5)
-T = triangle : new (z.a,z.b,z.c)
-z.g = T : gergonne_point ()
-z.i = T.incenter
-z.ta,z.tb,z.tc = get_points (T : intouch ())
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,g)
-\tkzLabelPoints(a,b,c)
-\tkzDrawSegments (a,ta b,tb c,tc)
-\tkzDrawCircle(i,ta)
-\end{tikzpicture}
-\end{minipage}
-% subsection gergonne_point (end)
\subsection{Antiparallel through Lemoine point} % (fold)
\label{sub:antiparallel_through_lemoine_point}
@@ -4035,16 +3921,18 @@ L.anti = T : antiparallel (z.L,2)
z.z_0,z.z_1 = get_points (L.anti)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1)
-\tkzLabelPoints(a,b)
-\tkzLabelPoints[above](L,c)
-\tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1)
-\tkzDrawCircle(L,x_0)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1)
+ \tkzLabelPoints(a,b)
+ \tkzLabelPoints[above](L,c)
+ \tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1)
+ \tkzDrawCircle(L,x_0)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection antiparallel_through_lemoine_point (end)
@@ -4362,7 +4250,8 @@ end
\end{minipage}
% subsection three_circles (end)
-\subsection{pentagons in a golden arbelos} % (fold)
+\subsection{p
+Pentagons in a golden arbelos} % (fold)
\label{sub:golden_arbelos}
\begin{tkzelements}
@@ -4499,6 +4388,5 @@ z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1)
\end{tikzpicture}
\end{Verbatim}
-
-
-% subsection golden_arbelos (end) \ No newline at end of file
+% subsection golden_arbelos (end)
+% section examples (end) \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex
index 6f58cbec5c7..140063f9289 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex
@@ -282,7 +282,7 @@ Then |z.B = z.A * za| describes a rotation of point A by an angle |a|.
\end{minipage}
% subsubsection example_of_complex_use (end)
-\subsubsection{Point operations(complex)} % (fold)
+\subsubsection{Point operations (complex)} % (fold)
\label{ssub:point_operations_complex}
\begin{minipage}{.5\textwidth}
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex
index cc842aba53d..1ba8fd0981c 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex
@@ -61,7 +61,7 @@ end
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}, \ref{ssub:lemoine}, \ref{sub:alternate}
+Other examples: \ref{sub:altshiller}, \ref{sub:lemoine}, \ref{sub:alternate}
% subsection line_line (end)
\newpage
@@ -117,7 +117,7 @@ _,z.K = intersection (C.OD,L.AE)
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}
+Other examples: \ref{sub:altshiller}
% subsection line_circle (end)
\newpage
@@ -168,7 +168,7 @@ C.DC = circle : new (z.D,z.C)
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}, \ref{sub:the_figure_pappus_circle}
+Other examples: \ref{sub:altshiller}, \ref{sub:the_figure_pappus_circle}
% subsection circle_circle (end)
\newpage
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex
index 55608bb26b0..10998bb7f58 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex
+++ b/Master/texmf-dist/doc/latex/tkz-elements/TKZdoc-elements-main.tex
@@ -1,6 +1,6 @@
% !TEX TS-program = lualatex
% encoding : utf8
-% Documentation of tkz-elements v2.25c
+% Documentation of tkz-elements v2.30c
% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,10 +21,10 @@
headings = small
]{tkz-doc}
\gdef\tkznameofpack{tkz-elements}
-\gdef\tkzversionofpack{2.25c}
+\gdef\tkzversionofpack{2.30c}
\gdef\tkzdateofpack{\today}
\gdef\tkznameofdoc{tkz-elements.pdf}
-\gdef\tkzversionofdoc{2.25c}
+\gdef\tkzversionofdoc{2.30c}
\gdef\tkzdateofdoc{\today}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
@@ -170,10 +170,8 @@ sharp corners
\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
-
-
\begin{document}
-\LuaCodeDebugOn
+%\LuaCodeDebugOn
\parindent=0pt
\tkzTitleFrame{tkz-elements \tkzversionofpack\\Euclidean Geometry}
diff --git a/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf b/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf
index d42a3a109b8..edb5864f4fb 100644
--- a/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf
+++ b/Master/texmf-dist/doc/latex/tkz-elements/tkz-elements.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tramlines/README b/Master/texmf-dist/doc/latex/tramlines/README
index b252d9323ac..0dcd98c4a0d 100644
--- a/Master/texmf-dist/doc/latex/tramlines/README
+++ b/Master/texmf-dist/doc/latex/tramlines/README
@@ -1,6 +1,6 @@
tramlines - make tramlines
-version: 1.1.0
+version: 1.1.1
This package automatically creates tramlines (lines above and below a title used by lawyers in the UK and the Commonwealth).
@@ -12,6 +12,9 @@ For suggestions, feature requests, and bug reports, please use the project's
GitHub site: https://github.com/ezgranet/tramlines
Version history:
+18/07/2024: Change erroneous left alignment to centre alignment
+
+
29/01/2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user niruvt
diff --git a/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdf b/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdf
index e9d9c9d6d9e..1ccb2be9655 100644
--- a/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdf
+++ b/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex b/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex
index f39e7ba70cc..ba560093467 100644
--- a/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex
+++ b/Master/texmf-dist/doc/latex/tramlines/tramlines-documentation.tex
@@ -74,9 +74,9 @@ breaklines,
firstnumber=last
]
{latex}
-\def\tramlinesversionnumber{1.1.0}
+\def\tramlinesversionnumber{1.1.1}
\ProvidesPackage{tramlines}
-[2023/01/29\tramlinesversionnumber\
+[2024/07/18\tramlinesversionnumber\
Tramlines]
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -112,7 +112,7 @@ firstnumber=last
\centering
{%notglobal
\setlength\doublerulesep{\tramlinesep}% <-- set distance between double rule
-\begin{tabular}[t]{l c c }
+\begin{tabular}[t]{c c c }
\toprule\toprule
& #1 & \\
\bottomrule\bottomrule
@@ -129,8 +129,19 @@ firstnumber=last
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%\end{minted}
+\section{Version History}
+\subsection*{\ttfamily 1.1.1}
+\ttfamily 18 July 2024: Change erroneous left alignment to centre alignment
+\subsection*{\ttfamily 1.1.0}
+
+\ttfamily 29 October 2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user `niruvt'
+
+\ttfamily 29/01/2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user niruvt
+
+
\subsection*{\texttt{1.0.0}}
+
\ttfamily 27 January 2023: Package creation
diff --git a/Master/texmf-dist/doc/latex/univie-ling/README b/Master/texmf-dist/doc/latex/univie-ling/README
index b90c86e8cc3..c73460f0b42 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/README
+++ b/Master/texmf-dist/doc/latex/univie-ling/README
@@ -97,6 +97,19 @@ also have a look at the example files.
== CHANGES ==
+V. 2.7 (2024-07-23):
+ - univie-ling-wlg: Use proper spacing with covington's
+ reflist environment.
+ - univie-ling-poster: add smallmargins option.
+ - univie-ling-thesis: fix running headers in twoside mode.
+ - univie-ling-handout:
+ - univie-ling-expose:
+ - univie-ling-paper:
+ - univie-ling-thesis:
+ - univie-ling-wlg:
+ * Fix empty argument check in \weblink.
+ * Fix spacing after \weblink.
+
V. 2.6 (2024-06-27):
- univie-ling-poster: add smallmargins option.
- univie-ling-thesis: fix running headers in twoside mode.
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdf
index 1773af1838e..8652b32a5b1 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-deutsch.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdf
index 2f632ebda3c..a8ac59e821b 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-expose-english.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdf
index 484e4365b5d..48b41cac878 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-deutsch.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdf
index b61d77074dc..608e203154b 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-handout-english.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdf
index 37e2bc3e004..5ac9aba1d19 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-deutsch.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdf
index d4885d07435..49efca45fac 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-paper-english.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdf
index 76ab0629d54..f2260ffeb4c 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-deutsch.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdf
index 0b9643c0bd7..b16ccfe334f 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-poster-english.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf
index 34ac74afc76..9673abfdb0f 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex
index 527f8d0498d..7b01c0a88f3 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-deutsch.tex
@@ -2,9 +2,7 @@
% Ãœbersetzen mit pdflatex -- biber -- pdflatex
% Verwende den vom Hochschulschriftenservice verlangten Standard PDF/A1-b
% (siehe http://e-theses.univie.ac.at/elektronische_einreichung.html)
-% pdfx is currently broken
-%\documentclass[naustrian,pdfa]{univie-ling-thesis}
-\documentclass[naustrian]{univie-ling-thesis}
+\documentclass[naustrian,pdfa]{univie-ling-thesis}
\usepackage{babel}
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdf
index 800946d7c88..0d550fa2862 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex
index c2f7c5f4a03..0be7edb6006 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-thesis-english.tex
@@ -2,9 +2,7 @@
% Run pdflatex -- biber -- pdflatex
% Use the PDF/A1-b standard as required by the Hochschulschriften-Service
% (see http://e-theses.univie.ac.at/elektronische_einreichung.html)
-% pdfx is currently broken
-%\documentclass[naustrian,english,pdfa]{univie-ling-thesis}
-\documentclass[naustrian,english]{univie-ling-thesis}
+\documentclass[naustrian,english,pdfa]{univie-ling-thesis}
\usepackage{babel}
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdf
index b65b92ef1b1..8a1d9155c6a 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-article.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdf b/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdf
index 2e8562ef5df..f811c049e47 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/templates/template-wlg-review.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdf
index d47fcaaa0bb..7efd2c2f362 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex
index fcb89d9727e..c3d1c668055 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-expose.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -370,6 +370,11 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdf
index bb7dfd5c25d..a253d4003ef 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex
index 8fbb627024a..bdd72da44e1 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-handout.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -415,6 +415,11 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdf
index 9f7f328fbb0..e04efcd52f7 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex
index 6ade5e4b726..d6f5293a898 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-paper.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -411,6 +411,11 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdf
index 204245e59f2..06d64c7638a 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex
index c8580538c3e..1985658b786 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-poster.tex
@@ -65,7 +65,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -577,6 +577,11 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdf
index 4c9fb2a37c5..b77ad97265c 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex
index 92d06ea9528..2feb157bce8 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-thesis.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -433,6 +433,11 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdf
index 62765185465..f2a5a48dc28 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex
index a12fccdeac2..6ca75cc0ed0 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling-wlg.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -263,6 +263,10 @@ If the class option \joption{biblatex=true} is set, the \uvlt\ class loads a bib
\emph{Unified Style Sheet for Linguistics} of the LSA (\emph{Linguistic Society of America}).
In order to conform to this style, the \uvlt\ class uses the \textsf{biblatex} package with the \textsf{univie-ling} style that is included in the \textsf{univie-ling} bundle.
+If, for some reason, you do not want to use \textsf{biblatex} and prefer to have a manually constituted bibliography\footnote{A reason might be that you transform
+a paper submitted in a an office file format to \LaTeX.}, use the \texttt{reflist} environment
+and separate each entry by a blank line. Since this environment is provided by \textsf{covington}, the \joption{covington} options must not be \joption{false}.
+
\section{\LyX\ layouts and templates}
A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-wlg.layout}.
@@ -274,6 +278,12 @@ A template is provided as well: \url{https://github.com/jspitz/univie-ling/raw/m
\raggedright
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Use proper spacing with \textsf{covington}'s \texttt{reflist} environment.
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdf b/Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdf
index b0f3e13826a..394cddb6923 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdf
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex b/Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex
index 34435a38765..f88f1fcea48 100644
--- a/Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex
+++ b/Master/texmf-dist/doc/latex/univie-ling/univie-ling.tex
@@ -42,7 +42,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/ut-thesis/README b/Master/texmf-dist/doc/latex/ut-thesis/README
index 785d74c6061..ed1db06b9db 100644
--- a/Master/texmf-dist/doc/latex/ut-thesis/README
+++ b/Master/texmf-dist/doc/latex/ut-thesis/README
@@ -5,8 +5,8 @@ as of Fall 2020:
[https://www.sgs.utoronto.ca/academic-progress/program-completion/formatting]
Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
- 2020-2023 Jesse Knight <jesse.knight@mail.utoronto.ca>
-last updated at 13:00 (EST) on Wed 08 Feb 2023
+ 2020-2024 Jesse Knight <jesse.x.knight@protonmail.com>
+last updated at 09:00 (BST) on Fri 26 July 2024
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public Licence, either version 1.3c of this licence
@@ -22,7 +22,7 @@ and is not covered by the licence.
This work has the LPPL maintenance status "maintained".
The Current Maintainer of this work is
-Jesse Knight <jesse.knight@mail.utoronto.ca>.
+Jesse Knight <jesse.x.knight@protonmail.com>.
This work consists of the files:
- README
@@ -31,12 +31,13 @@ This work consists of the files:
- ut-thesis.pdf (derived user manual)
- ut-thesis.cls (derived class file)
-To generate ut-thesis.cls (class file), run: pdflatex ut-thesis.ins
-To generate ut-thesis.pdf (documentation), run: pdflatex ut-thesis.dtx
-To use the class, make ut-thesis.cls visible to your LaTeX distribution,
-by placing ut-thesis.cls either in your working directory,
-or in your texmf tree, perhaps: $texmf/tex/latex/ut-thesis/ut-thesis.cls
-and the documentation: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+Install ut-thesis from your favourite LaTeX distribution.
+Alternatively, or to use the latest version:
+- generate ut-thesis.cls (class file) using: pdflatex ut-thesis.ins
+ and copy to: $texmf/tex/latex/ut-thesis/ut-thesis.cls
+- generate ut-thesis.pdf (documentation) using: pdflatex ut-thesis.dtx
+ and copy to: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+or simply copy ut-thesis.cls to your working directory.
See version history on GitHub:
-[https://github.com/jessexknight/ut-thesis] \ No newline at end of file
+[https://github.com/jessexknight/ut-thesis]
diff --git a/Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdf b/Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdf
index 8f055d54d09..fdf74d5a9a4 100644
--- a/Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdf
+++ b/Master/texmf-dist/doc/latex/ut-thesis/ut-thesis.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/wheelchart/README.md b/Master/texmf-dist/doc/latex/wheelchart/README.md
index ec414f34409..df9f81a74dd 100644
--- a/Master/texmf-dist/doc/latex/wheelchart/README.md
+++ b/Master/texmf-dist/doc/latex/wheelchart/README.md
@@ -2,9 +2,11 @@
## Diagrams with circular or other shapes using Ti*k*Z and LaTeX3
-Version 3.0 (2024/03/08)
+Version 4.0 (2024/07/28)
-This package is based on the package [Ti*k*Z](https://ctan.org/pkg/pgf) and can be used to draw various kinds of diagrams such as a bar chart, doughnut chart, infographic, pie chart, ring chart, square chart, sunburst chart, waffle chart and wheel chart with Ti*k*Z. It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams.
+This package is based on the package [Ti*k*Z](https://ctan.org/pkg/pgf) and can be used to draw various kinds of diagrams such as bar charts, doughnut charts, infographics, pie charts, ring charts, square charts, sunburst charts, waffle charts and wheel charts.
+
+It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams.
%% README.md
%% Copyright 2022-2024 Matthias Floré
diff --git a/Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdf b/Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdf
index 2cfa0dd1be1..808551f33c5 100644
--- a/Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdf
+++ b/Master/texmf-dist/doc/latex/wheelchart/wheelchart.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex b/Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex
index 5f0857f1a68..952fc93a818 100644
--- a/Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex
+++ b/Master/texmf-dist/doc/latex/wheelchart/wheelchart.tex
@@ -137,7 +137,7 @@
\setcounter{secnumdepth}{2}
\title{The \texttt{wheelchart} package\\[12pt]\large Diagrams with circular or other shapes using \tikzname{} and \LaTeX3}
\author{Matthias Floré}
-\date{Version 3.0 (2024/03/08)}%\\[12pt]
+\date{Version 4.0 (2024/07/28)}%\\[12pt]
\begin{document}
\iftotalpages%
\newsavebox{\fancyfootdefaultbox}%
@@ -155,7 +155,11 @@
\maketitle
\thispagestyle{fancy}
\begin{abstract}
-\noindent This package is based on the package |tikz| (see \cite{TtTaPGFp}) and can be used to draw various kinds of diagrams such as a bar chart, doughnut chart, infographic, pie chart, ring chart, square chart, sunburst chart, waffle chart and wheel chart with \tikzname. It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams. Other tools for creating wheel charts or pie charts can be found in \cite{MpMP}, \cite{JhcIparowcltopotPGFm}, \cite{Tumfdb}, \cite{XdPCbupp} and \cite{RSVpaaMfp}.% This is the manual for version .
+\noindent This package is based on the package |tikz| (see \cite{TtTaPGFp}) and can be used to draw various kinds of diagrams such as bar charts, doughnut charts, infographics, pie charts, ring charts, square charts, sunburst charts, waffle charts and wheel charts.
+
+\noindent It provides several options to customize the diagrams. It is also possible to specify a plot for the shape of the chart. Furthermore a legend can be added and the table of contents can be displayed as one of these diagrams.
+
+\noindent Other tools for creating wheel charts or pie charts can be found in \cite{MpMP}, \cite{JhcIparowcltopotPGFm}, \cite{Tumfdb}, \cite{XdPCbupp} and \cite{RSVpaaMfp}.% This is the manual for version .
\end{abstract}
\section*{\contentsname}
\iftotalpages
@@ -257,7 +261,7 @@ The default wheelchart with these data is shown below.
\end{tikzpicture}
\end{codeexample}
\end{command}
-\newpage%such that this section has its own block in the header
+\newpage%so that this section has its own block in the header
\section{Additional macros}
\begin{command}{\WCangle\opt{\oarg{number}}\marg{angle pos}\marg{angle shift}\marg{pos}\marg{sep}}
This command gives the angle in degrees of the point which is constructed as follows.
@@ -670,6 +674,11 @@ In the example below, it is necessary to use |arc data expand=e| and to place |\
\begin{key}{/wheelchart/arc data line sep factor=\marg{factor} (initially 1)}
The contents of the key |arc data| can consist of multiple lines separated by |\\|. The \meta{factor} determines the spacing between these lines.
\end{key}
+\begin{key}{/wheelchart/arc data lines pos=\marg{factor} (initially 0.5)}
+\end{key}
+\begin{key}{/wheelchart/arc data lines shift=\marg{value} (initially 0)}
+The positioning of the lines of the key |arc data| is determined by the index $k-1-\text{|arc data lines pos|}\cdot(N-1)+\text{|arc data lines shift|}$ where $N$ is the number of lines and $k\in\{1,\dots,N\}$.
+\end{key}
\begin{key}{/wheelchart/arc data pos=\marg{value} (initially 1)}
\end{key}
\begin{key}{/wheelchart/arc data sep=\marg{value} (initially 1ex/1cm)}
@@ -738,7 +747,6 @@ This key accepts a list of keys which will be applied to the node where the cont
\begin{codeexample}[width=10cm]
\begin{tikzpicture}
\wheelchart[
- at={(5,2)},
caption=Caption,
caption style={font=\scshape},
caption left=Caption left,
@@ -2909,6 +2917,11 @@ The following example is an answer to the question on \url{https://tex.stackexch
\item In v2.0, the key |arc data angle shift| was not taken into account for the key |arc| in combination with the key |arc around text|. This is fixed in v3.0.
\item In v2.0, the number of items for each slice in the \meta{wheelchart data} which can be accessed with the macros |\WCvarA| and so on was determined by the number of items for the last slice. For example, |data{1}=\WCvarD| in combination with the \meta{wheelchart data} |1/black/A/a,2/gray/B| was not possible with v2.0. This is not a limitation anymore with v3.0.
\end{itemize}
+\item[] \textbf{Version 4.0 (2024/07/28)}
+\begin{itemize}
+\item Added the keys |arc data lines pos| and |arc data lines shift|.
+\item Solved an incompatibility if |\\| is used in a key such as |data| inside an environment such as |center|.
+\end{itemize}
\end{itemize}
\begin{thebibliography}{9}
\bibitem{JhcIparowcltopotPGFm}
diff --git a/Master/texmf-dist/doc/latex/wrapstuff-doc-en/README.md b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/README.md
new file mode 100644
index 00000000000..3aa62709da1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/README.md
@@ -0,0 +1,11 @@
+## Introduction
+
+English version of the wrapstuff package documentation
+
+## Author
+
+Siyu Wu 2401336502@qq.com
+
+## License
+
+LPPL v1.3c or later \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.pdf b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.pdf
new file mode 100644
index 00000000000..765387601db
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.tex b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.tex
new file mode 100644
index 00000000000..cd8599d7cd1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/wrapstuff-doc-en/wrapstuff-doc-en.tex
@@ -0,0 +1,264 @@
+\documentclass{l3doc}
+\usepackage{wrapstuff}
+\usepackage{graphicx}
+\usepackage{lipsum}
+\title{The \textsf{wrapstuff} package\thanks{Corresponding to version v0.3*
+ of the Chinese documentation.}}
+\author{Author: Qing Lee \\ Translator: Siyu Wu}
+\date{\today}
+\newcommand{\opt}[1]{\texttt{#1}}
+\ExplSyntaxOn
+\makeatletter
+\DeclareDocumentCommand \ADDSPECEIALKEY { m }
+ {
+ \cs_gset_eq:NN \@@_codedoc_names_typeset_save:
+ \__codedoc_names_typeset:
+ \cs_gset_protected:Npn \__codedoc_names_typeset:
+ {
+ \cs_gset_eq:NN \__codedoc_names_typeset:
+ \@@_codedoc_names_typeset_save:
+ \__codedoc_names_typeset:
+ #1 \\
+ }
+ }
+\makeatother
+\ExplSyntaxOff
+\begin{document}
+
+\maketitle
+
+\section{Basic Usage}
+
+The \pkg{wrapstuff} package provides another implementation
+of wrapping text around a figure.
+\pkg{wrapstuff} tries to integrate and extend the function
+of some similar packages such as \pkg{picinpar}, \pkg{floatflt},
+\pkg{wrapfig}, \pkg{cutwin} and \pkg{wrapfig2}.
+This package is compatible with \pkg{caption}, \pkg{float}
+and \pkg{floatrow}. And it tries to be compatible with display
+math and various kinds of \LaTeX{} list environments so that
+they can wrap figures and tables correctly.
+
+The implementation of \pkg{wrapstuff} depends on the paragraph
+hooks provided by \LaTeX{} 2021-06-01, and also depends on
+\LaTeX3 2022-04-10 or later version.
+
+\begin{function}{wrapstuff}
+ \begin{syntax}
+ \cs{begin}\{wrapstuff\}\oarg{options}
+ \meta{wrapped contents}
+ \cs{end}\{wrapstuff\}
+ \meta{main text}
+ \end{syntax}
+\end{function}
+
+\pkg{wrapstuff} only provides one environment called \env{wrapstuff},
+which will wrap text from the paragraph after this environment on.
+For example,
+
+\begin{verbatim}
+ \begin{wrapstuff}[c,top=1]
+ \includegraphics[width=\dimeval{\linewidth/3}]{example-image.pdf}
+ \end{wrapstuff}
+ \lipsum[1-2]
+\end{verbatim}
+
+\begin{wrapstuff}[c,top=1]
+ \includegraphics[width=\dimeval{\linewidth/3}]{example-image.pdf}
+\end{wrapstuff}
+\lipsum[1]
+
+\begin{function}{\wrapstuffset}
+ \begin{syntax}
+ \cs{wrapstuff}\marg{option list}
+ \end{syntax}
+ The options of \pkg{wrapstuff} can be set when invoking the package,
+ but they can also be set using \cs{wrapstuffset}.
+\end{function}
+
+\ADDSPECEIALKEY{\textrm{\meta{n}}}
+\begin{function}{top}
+ \begin{syntax}
+ top = \meta{non-negative integer}
+ \end{syntax}
+ sets the number of the line after which \pkg{wrapstuff} begins to wrap text.
+ \meta{n} is the abbreviation of setting \texttt{top} to \meta{n}.
+ The initial value is 0.
+\end{function}
+
+\begin{function}{width}
+ \begin{syntax}
+ width = \meta{width}
+ \end{syntax}
+ sets the width of wrapped contents. The initial value is 0pt,
+ which represents for the natural width.
+ At this time, the contents in the \env{wrapstuff} environment
+ can only have one line and users are not permitted to use
+ \cmd\\ to break line or \cs{par} to start new paragraph.
+ If one needs to break line or start a new paragraph in the environment,
+ he has to set proper value for \texttt{width}.
+\end{function}
+
+\begin{function}{height}
+ \begin{syntax}
+ height = \meta{height}
+ \end{syntax}
+ sets the height of the wrapped contents. The initial value is 0pt,
+ which represents for the natural height.
+\end{function}
+
+\begin{function}{lines}
+ \begin{syntax}
+ lines = \meta{positive integer}
+ \end{syntax}
+ sets the number of lines occupied by the wrapped contents.
+ The initial value is empty, which means that the number will
+ be calculated automatically.
+\end{function}
+
+\begin{function}{linewidth}
+ \begin{syntax}
+ linewidth = \meta{width}
+ \end{syntax}
+ sets the line width of the main text.
+ The initial value is \cs{linewidth} and typically it is unnecessary
+ to adjust it.
+\end{function}
+
+\begin{function}{l,r,c,i,o,ratio}
+ \begin{syntax}
+ l/r/c/i/o
+ ratio = \meta{real number}
+ \end{syntax}
+ These options set the position of the wrapped contents relative to
+ the main text. Options \opt{l/r/c/i/o} means left, right, center,
+ inner and outer respectively. The option \opt{ratio} sets the
+ ratio of the line width occupied by the main text on the left side
+ of the wrapped contents. One can set \opt{ratio} to any proper real number
+ between the interval $[0,1]$.
+ Options \opt{i/o} can be used together with \opt{ratio}.
+ The initial value is \opt{r}.
+\end{function}
+
+\begin{function}{column}
+ \begin{syntax}
+ column = \meta{true|false|par}
+ \end{syntax}
+ controls whether to display the main text around the wrapped contents
+ as two columns or not. Only when setting the option \opt{c}
+ or setting \opt{ratio} in $(0,1)$ this option has its effect.
+ \opt{false} means not displaying the main text in two columns
+ and \opt{par} means displaying the main text as two columns
+ but with per paragraph as a separate unit.
+\end{function}
+
+\begin{verbatim}
+ \def\lorem{%
+ Just then her head struck against the roof of the hall:
+ in fact she was now more than nine feet high, and she
+ at once took up the little golden key and hurried off
+ to the garden door.\par
+ Poor Alice! It was as much as she could do, lying down
+ on one side, to look through into the garden with one eye;
+ but to get through was more hopeless than ever:
+ she sat down and began to cry again.}
+
+ \begin{wrapstuff}[c,column=par]
+ \includegraphics[width=3cm]{example-image.pdf}
+ \end{wrapstuff}
+ \lorem
+
+ \begin{wrapstuff}[c]
+ \includegraphics[width=3cm]{example-image.pdf}
+ \end{wrapstuff}
+ \lorem
+
+ \begin{wrapstuff}[c,column=false]
+ \includegraphics[width=3cm]{example-image.pdf}
+ \end{wrapstuff}
+ \lorem
+\end{verbatim}
+
+\def\lorem{%
+Just then her head struck against the roof of the hall: in fact she was now more than nine feet high, and she at once took up the little golden key and hurried off to the garden door.\par
+Poor Alice! It was as much as she could do, lying down on one side, to look through into the garden with one eye; but to get through was more hopeless than ever: she sat down and began to cry again.}
+\begin{wrapstuff}[c,column=par]
+ \includegraphics[width=3cm]{example-image.pdf}
+\end{wrapstuff}
+\lorem
+
+\begin{wrapstuff}[c]
+ \includegraphics[width=3cm]{example-image.pdf}
+\end{wrapstuff}
+\lorem
+
+\begin{wrapstuff}[c,column=false]
+ \includegraphics[width=3cm]{example-image.pdf}
+\end{wrapstuff}
+\lorem
+
+\begin{function}{leftsep,rightsep,hsep}
+ \begin{syntax}
+ leftsep = \meta{length}
+ rightsep = \meta{length}
+ hsep = \meta{length}
+ \end{syntax}
+ set the left/right space between wrapped contents and main text.
+ The option \texttt{hsep} sets \texttt{leftsep} and \texttt{rightsep}
+ simultaneously. The initial value is 1em.
+\end{function}
+
+\begin{function}{abovesep,belowsep,vsep}
+ \begin{syntax}
+ abovesep = \meta{length}
+ belowsep = \meta{length}
+ vsep = \meta{length}
+ \end{syntax}
+ set the upper/lower space between wrapped contents and main text.
+ The option \texttt{vsep} sets \texttt{abovesep} and \texttt{belowsep}
+ simultaneously. The initial value is 0pt.
+\end{function}
+
+\begin{function}{hoffset}
+ \begin{syntax}
+ hoffset = \meta{length}
+ \end{syntax}
+ sets the length of the wrapped contents that extend beyond
+ the main text area. When \texttt{c} is used or \texttt{ratio}
+ is set between $(0,1)$, this option loses effect.
+ One special value \cs{width} is used to represent the total width
+ of wrapped contents and the corresponding spacing.
+ If setting \opt{hoffset} equals to \cs{width}, then
+ the wrapped contents are totally placed outside of the main text area.
+ The initial value is 0pt.
+\end{function}
+
+\begin{function}{voffset}
+ \begin{syntax}
+ voffset = \meta{length}
+ \end{syntax}
+ is used to adjust the vertical position of the wrapped contents.
+ The initial value is 0pt.
+\end{function}
+
+\begin{function}{type}
+ \begin{syntax}
+ type = \meta{float type}
+ \end{syntax}
+ sets the type of float of the wrapped contents.
+ The initial value is empty.
+ If one needs to use \cs{caption} in \env{wrapstuff},
+ then he has to set \opt{type} to \opt{figure} or \opt{table}
+ and set the value for \opt{width}.
+\end{function}
+
+\begin{function}{\wrapstuffclear}
+ If the number of lines in the current paragraph is not enough,
+ the effect of \pkg{wrapstuff} will continue to the next paragraph.
+ Sometimes it may cause some undesirable results,
+ in which case one could issue \cs{wrapstuffclear} to eliminate
+ the effect.
+\end{function}
+
+\PrintIndex
+\end{document} \ No newline at end of file