summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/context/third/chat/LICENSE232
-rw-r--r--Master/texmf-dist/doc/context/third/chat/README.md72
-rw-r--r--Master/texmf-dist/doc/context/third/chat/VERSION1
-rw-r--r--Master/texmf-dist/doc/fonts/bonum-otf/Changes1
-rw-r--r--Master/texmf-dist/doc/fonts/bonum-otf/README.md13
-rw-r--r--Master/texmf-dist/doc/fonts/bonum-otf/bonum-otf-doc.pdfbin0 -> 479640 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/bonum-otf/bonum-otf-doc.tex900
-rw-r--r--Master/texmf-dist/doc/fonts/gelasiomath/README11
-rw-r--r--Master/texmf-dist/doc/fonts/gelasiomath/gelasiomath-doc.pdfbin0 -> 123573 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/gelasiomath/gelasiomath-doc.tex168
-rw-r--r--Master/texmf-dist/doc/fonts/gelasiomath/newtx-gel-subs.tex17
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/Feature_Reference.tex419
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/GettingStarted.tex2
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/JunicodeManual.pdfbin1978610 -> 2001745 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/JunicodeManual.sty1
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/JunicodeManual.tex4
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/README14
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/Specimens.tex2
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/encoded-glyphs.tex2
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/junicode-samples.pdfbin164380 -> 289841 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/junicode/upperpua.tex242
-rw-r--r--Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.ltx3
-rw-r--r--Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.pdfbin209755 -> 210229 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/lete-sans-math/README.md6
-rw-r--r--Master/texmf-dist/doc/fonts/lete-sans-math/unimath-lete.pdfbin1937725 -> 1897653 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/luwiantype/OFL.txt93
-rw-r--r--Master/texmf-dist/doc/fonts/luwiantype/README.md41
-rw-r--r--Master/texmf-dist/doc/fonts/luwiantype/U14400.pdfbin0 -> 741333 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/luwiantype/lppl1-3c.txt416
-rw-r--r--Master/texmf-dist/doc/fonts/luwiantype/luwiantype-doc.pdfbin0 -> 126315 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/luwiantype/luwiantype-doc.tex180
-rw-r--r--Master/texmf-dist/doc/fonts/newtx/README9
-rw-r--r--Master/texmf-dist/doc/fonts/niceframe-type1/README.md7
-rw-r--r--Master/texmf-dist/doc/fonts/simpleicons/bindings.tex148
-rw-r--r--Master/texmf-dist/doc/fonts/simpleicons/simpleicons.pdfbin2581340 -> 2545130 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/simpleicons/simpleicons.tex2
-rw-r--r--Master/texmf-dist/doc/fonts/xcharter-math/README.md28
-rw-r--r--Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx61
-rw-r--r--Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.pdfbin201881 -> 206035 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/xcharter-math/unimath-xcharter.pdfbin1862620 -> 1825149 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/README.md2
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex-changes.hntbin620033 -> 620020 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex.hntbin745156 -> 745144 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie-changes.hntbin444875 -> 444867 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie.hntbin453729 -> 453833 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/common-changes.hntbin476803 -> 476784 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/common.hntbin548944 -> 549042 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle-changes.hntbin470999 -> 470989 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle.hntbin487685 -> 487785 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/ctwill.hntbin828138 -> 828110 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave-changes.hntbin568460 -> 568458 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave.hntbin712329 -> 712514 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/cwebman.hntbin730712 -> 731032 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort-changes.hntbin383065 -> 383053 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort.hntbin418778 -> 418765 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx-changes.hntbin393447 -> 393438 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx.hntbin394218 -> 394206 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eight.hntbin806109 -> 806105 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eleven.hntbin824010 -> 824007 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.five.hntbin789118 -> 789103 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.four.hntbin948482 -> 948479 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.hntbin904968 -> 904965 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.nine.hntbin407769 -> 407766 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.one.hntbin733434 -> 733431 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.seven.hntbin741537 -> 741534 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.six.hntbin909790 -> 909786 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.ten.hntbin1057100 -> 1057095 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.three.hntbin1158528 -> 1158523 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.twelve.hntbin1107169 -> 1107166 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errata.two.hntbin728931 -> 728926 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/errata/errorlog.hntbin601780 -> 601777 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp-changes.hntbin402219 -> 402211 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp.hntbin519890 -> 519878 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf-changes.hntbin391100 -> 391090 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf.hntbin588039 -> 588023 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/hitex/hitex.hntbin2128389 -> 2128059 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/index.html5
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/index.pdfbin151691 -> 151802 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mf/mf-changes.hntbin817887 -> 817883 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mf/mf.hntbin1568620 -> 1568599 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mf/trapman.hntbin466177 -> 466175 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi-changes.hntbin510418 -> 510409 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi.hntbin696337 -> 696325 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk-changes.hntbin411335 -> 411326 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk.hntbin492269 -> 492258 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype-changes.hntbin406835 -> 406825 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype.hntbin503532 -> 503518 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mfware/mft-changes.hntbin444602 -> 444596 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mfware/mft.hntbin523657 -> 523645 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mp/mp.hntbin0 -> 1818565 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/mp/mpost.hntbin0 -> 497733 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy-changes.hntbin480022 -> 480015 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy.hntbin703127 -> 703121 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/other/patgen-changes.hntbin346863 -> 346856 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/other/patgen.hntbin502636 -> 502625 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/other/pktogf-changes.hntbin376130 -> 376122 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/other/pktogf.hntbin451072 -> 451060 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/other/pktype-changes.hntbin368462 -> 368455 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/other/pktype.hntbin397416 -> 397404 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex-changes.hntbin1284930 -> 1286651 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex.hntbin2182753 -> 2182740 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/tex/glue.hntbin437655 -> 437653 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/tex/tex-changes.hntbin1028614 -> 1029743 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/tex/tex.hntbin1625083 -> 1625074 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/tex/tripman.hntbin450716 -> 450713 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype-changes.hntbin429290 -> 429279 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype.hntbin590280 -> 590266 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf-changes.hntbin386789 -> 386777 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf.hntbin561630 -> 561616 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype-changes.hntbin400734 -> 400727 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype.hntbin403360 -> 403340 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl-changes.hntbin385420 -> 385411 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl.hntbin487820 -> 487806 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/tie/tie-changes.hntbin444039 -> 444032 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/tie/tie.hntbin522787 -> 522888 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/web/tangle-changes.hntbin453293 -> 453283 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/web/tangle.hntbin591508 -> 591493 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/web/twill.hntbin675792 -> 675856 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/web/weave-changes.hntbin488700 -> 488689 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/web/weave.hntbin654048 -> 654030 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/web/webman.hntbin584924 -> 585159 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex-changes.pdfbin2340413 -> 2344346 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex.pdfbin4249910 -> 4251718 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/README.md2
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex-changes.pdfbin623160 -> 629416 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex.pdfbin1328094 -> 1327941 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie-changes.pdfbin141590 -> 145326 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie.pdfbin283447 -> 283980 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/common-changes.pdfbin226908 -> 231562 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/common.pdfbin363918 -> 364470 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle-changes.pdfbin221560 -> 225044 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle.pdfbin381223 -> 381756 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctwill.pdfbin1147605 -> 1147761 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave-changes.pdfbin412398 -> 417800 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave.pdfbin838251 -> 838763 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/cwebman.pdfbin357558 -> 357792 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort-changes.pdfbin50755 -> 52986 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort.pdfbin162580 -> 162976 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx-changes.pdfbin84828 -> 86829 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx.pdfbin193924 -> 194209 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eight.pdfbin275286 -> 275286 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eleven.pdfbin250940 -> 250940 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.five.pdfbin306863 -> 306863 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.four.pdfbin334571 -> 334571 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.nine.pdfbin156353 -> 156353 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.one.pdfbin270067 -> 270067 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.pdfbin368828 -> 368795 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.seven.pdfbin267573 -> 267573 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.six.pdfbin303640 -> 303640 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.ten.pdfbin378717 -> 378717 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.three.pdfbin443746 -> 443746 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.twelve.pdfbin413937 -> 413920 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.two.pdfbin247190 -> 247190 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/errata/errorlog.pdfbin404270 -> 404270 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp-changes.pdfbin213056 -> 216902 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp.pdfbin461117 -> 461387 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf-changes.pdfbin199563 -> 202774 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf.pdfbin555750 -> 556019 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/hitex/hitex.pdfbin4392415 -> 4392280 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/index.html5
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/index.pdfbin151150 -> 151266 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mf/mf-changes.pdfbin1212142 -> 1216755 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mf/mf.pdfbin3230882 -> 3231757 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mf/trapman.pdfbin266243 -> 266243 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi-changes.pdfbin277099 -> 280945 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi.pdfbin704913 -> 705180 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk-changes.pdfbin145028 -> 148214 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk.pdfbin370482 -> 370755 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype-changes.pdfbin134208 -> 137496 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype.pdfbin327391 -> 327409 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft-changes.pdfbin203350 -> 206765 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft.pdfbin389071 -> 389351 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mp/mp.pdfbin0 -> 4179204 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/mp/mpost.pdfbin0 -> 300726 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy-changes.pdfbin314420 -> 318016 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy.pdfbin789931 -> 789955 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/other/patgen-changes.pdfbin156200 -> 158662 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/other/patgen.pdfbin402193 -> 402456 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf-changes.pdfbin121083 -> 124016 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf.pdfbin317801 -> 318062 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/other/pktype-changes.pdfbin94494 -> 96842 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/other/pktype.pdfbin258988 -> 259019 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex-changes.pdfbin3381944 -> 2723866 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex.pdfbin5401461 -> 5402637 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/tex/glue.pdfbin197838 -> 198043 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/tex/tex-changes.pdfbin1855165 -> 1869694 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/tex/tex.pdfbin3613707 -> 3614612 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/tex/tripman.pdfbin325778 -> 325778 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype-changes.pdfbin190726 -> 194586 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype.pdfbin469694 -> 469704 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf-changes.pdfbin175756 -> 179394 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf.pdfbin473927 -> 474185 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype-changes.pdfbin76451 -> 78866 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype.pdfbin191691 -> 191709 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl-changes.pdfbin157546 -> 160857 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl.pdfbin360549 -> 360811 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/tie/tie-changes.pdfbin127618 -> 130255 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/tie/tie.pdfbin311153 -> 311712 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/web/tangle-changes.pdfbin257973 -> 262160 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/web/tangle.pdfbin580493 -> 580773 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/web/twill.pdfbin839309 -> 839862 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/web/weave-changes.pdfbin461212 -> 289149 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/web/weave.pdfbin764839 -> 765097 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/web/webman.pdfbin316118 -> 316276 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex-changes.pdfbin2339296 -> 2353558 bytes
-rw-r--r--Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex.pdfbin4246841 -> 4248217 bytes
-rw-r--r--Master/texmf-dist/doc/generic/markdown/CHANGES.md35
-rw-r--r--Master/texmf-dist/doc/generic/markdown/README.md2
-rw-r--r--Master/texmf-dist/doc/generic/markdown/VERSION2
-rw-r--r--Master/texmf-dist/doc/generic/markdown/markdown.html57
-rw-r--r--Master/texmf-dist/doc/generic/markdown/markdown.pdfbin1124699 -> 1114115 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-diffraction/Changes3
-rw-r--r--Master/texmf-dist/doc/generic/pst-diffraction/README27
-rw-r--r--Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.bib157
-rw-r--r--Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.pdfbin22756751 -> 23064303 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.tex83
-rw-r--r--Master/texmf-dist/doc/generic/pst-node/Changes6
-rw-r--r--Master/texmf-dist/doc/generic/pst-node/README5
-rw-r--r--Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.bib35
-rw-r--r--Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.pdfbin0 -> 229201 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.tex1155
-rw-r--r--Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdfbin513402 -> 585632 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex36
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news24.pdfbin98554 -> 99744 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pst-news24.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pstricks/pstricks-bug.tex6
-rw-r--r--Master/texmf-dist/doc/info/mf2pt1.info359
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/CHANGELOG.md9
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/README.md2
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/expl3.pdfbin610536 -> 610110 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/interface3.pdfbin1800816 -> 1790077 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/interface3.tex2
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3doc.pdfbin565819 -> 565298 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3docstrip.pdfbin151530 -> 151011 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news.pdfbin396223 -> 396223 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news09.pdfbin250161 -> 250161 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3prefixes.csv7
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3prefixes.pdfbin82843 -> 83064 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.pdfbin296736 -> 296298 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.pdfbin231569 -> 231148 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.pdfbin242363 -> 241946 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.tex2
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/source3.pdfbin7619159 -> 7610534 bytes
-rw-r--r--Master/texmf-dist/doc/latex-dev/l3kernel/source3.tex2
-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.md39
-rw-r--r--Master/texmf-dist/doc/latex/bxpdfver/README.md27
-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/chemformula-ru/chemformula-ru.pdfbin167712 -> 167985 bytes
-rw-r--r--Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex41
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/README.md12
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.pdfbin112323 -> 120472 bytes
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.tex5
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article.pdfbin176709 -> 190173 bytes
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-en.dbj611
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-fr.dbj603
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-class.dbj39
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-english.mbs420
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-french.mbs370
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.mbs8009
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.pdfbin38737 -> 38874 bytes
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-template.tex19
-rw-r--r--Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex21
-rw-r--r--Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdfbin346722 -> 346756 bytes
-rw-r--r--Master/texmf-dist/doc/latex/colortbl/colortbl.pdfbin312925 -> 313437 bytes
-rw-r--r--Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdfbin183663 -> 191562 bytes
-rw-r--r--Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex59
-rw-r--r--Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdfbin1466206 -> 1472616 bytes
-rw-r--r--Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex66
-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/CHANGELOG.md51
-rw-r--r--Master/texmf-dist/doc/latex/doibanner/README.md26
-rw-r--r--Master/texmf-dist/doc/latex/doibanner/doibanner.pdfbin0 -> 375402 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dtk/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdfbin80200 -> 80230 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex3
-rw-r--r--Master/texmf-dist/doc/latex/dynkin-diagrams/README4
-rw-r--r--Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib64
-rw-r--r--Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdfbin894840 -> 908783 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex93
-rw-r--r--Master/texmf-dist/doc/latex/easybook/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/easybook/easybook.pdfbin622160 -> 626752 bytes
-rw-r--r--Master/texmf-dist/doc/latex/easybook/easybook.tex82
-rw-r--r--Master/texmf-dist/doc/latex/esami/README6
-rw-r--r--Master/texmf-dist/doc/latex/esami/VERSION2
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdfbin483307 -> 500412 bytes
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex4
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdfbin492308 -> 508695 bytes
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex4
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie1.parametri.tex4
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie2.parametri.tex4
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie3.parametri.tex4
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie4.parametri.tex4
-rw-r--r--Master/texmf-dist/doc/latex/esami/doc/examples/testA-xetex-sol.sol.tex84
-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/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/hyperref/ChangeLog.txt9
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/backref.pdfbin206469 -> 206469 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html54
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdfbin318600 -> 318416 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex2
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdfbin439109 -> 438491 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/hyperref.pdfbin2341341 -> 2341312 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/nameref.pdfbin172475 -> 172475 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hyperref/xr-hyper.pdfbin304784 -> 303974 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/jnuexam/examfc-a-answer.pdfbin112749 -> 113078 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdfbin98857 -> 99214 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdfbin112707 -> 112978 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdfbin98922 -> 99233 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdfbin69901 -> 69509 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdfbin66139 -> 65749 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdfbin69943 -> 69556 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdfbin66167 -> 65775 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdfbin85122 -> 85441 bytes
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdfbin924647 -> 931263 bytes
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex19
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex64
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex9
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex149
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex318
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex2
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex1
-rw-r--r--Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex2
-rw-r--r--Master/texmf-dist/doc/latex/lastpage/README2
-rw-r--r--Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdfbin130556 -> 130263 bytes
-rw-r--r--Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex11
-rw-r--r--Master/texmf-dist/doc/latex/lastpage/lastpage.pdfbin464581 -> 465434 bytes
-rw-r--r--Master/texmf-dist/doc/latex/lie-hasse/README4
-rw-r--r--Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdfbin573306 -> 631928 bytes
-rw-r--r--Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex123
-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/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.md95
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/README.md142
-rw-r--r--Master/texmf-dist/doc/latex/mathastext/mathastext.pdfbin661328 -> 739148 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/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/CHANGELOG622
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS27
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/README.md43
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.pdfbin320611 -> 123425 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/manual/moderncv_userguide.tex1449
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/signature.pngbin0 -> 13746 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/template.tex71
-rw-r--r--Master/texmf-dist/doc/latex/moloch/CHANGELOG.md15
-rw-r--r--Master/texmf-dist/doc/latex/moloch/README.md8
-rw-r--r--Master/texmf-dist/doc/latex/moloch/moloch.pdfbin276169 -> 295500 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moloch/moloch.tex58
-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/msu-thesis/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex6
-rw-r--r--Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdfbin117627 -> 117738 bytes
-rw-r--r--Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdfbin140074 -> 140074 bytes
-rw-r--r--Master/texmf-dist/doc/latex/overarrows/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty41
-rw-r--r--Master/texmf-dist/doc/latex/overarrows/overarrows.pdfbin554421 -> 597885 bytes
-rw-r--r--Master/texmf-dist/doc/latex/passopt/README.md18
-rw-r--r--Master/texmf-dist/doc/latex/passopt/passopt.pdfbin0 -> 52494 bytes
-rw-r--r--Master/texmf-dist/doc/latex/passopt/passopt.tex103
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/README8
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_O.tex33
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex2
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex18
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex57
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex5
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.pdfbin7457011 -> 7570685 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.tex8
-rw-r--r--Master/texmf-dist/doc/latex/pgf-spectra/README29
-rw-r--r--Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdfbin2384961 -> 2388018 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex22
-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/proflycee/ProfLycee-doc.pdfbin1788630 -> 1793092 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zipbin260715 -> 277006 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdfbin74004 -> 80800 bytes
-rw-r--r--Master/texmf-dist/doc/latex/prtec/PRTEC19-template.pdfbin355572 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/prtec/PRTEC24-template.pdfbin0 -> 391935 bytes
-rw-r--r--Master/texmf-dist/doc/latex/prtec/PRTEC24-template.tex (renamed from Master/texmf-dist/doc/latex/prtec/PRTEC19-template.tex)63
-rw-r--r--Master/texmf-dist/doc/latex/prtec/README.md10
-rw-r--r--Master/texmf-dist/doc/latex/prtec/sample-figure.pdfbin171646 -> 149248 bytes
-rw-r--r--Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdfbin49886 -> 49579 bytes
-rw-r--r--Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdfbin41751 -> 41376 bytes
-rw-r--r--Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdfbin49948 -> 49565 bytes
-rw-r--r--Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdfbin41687 -> 41319 bytes
-rw-r--r--Master/texmf-dist/doc/latex/randexam/randexam.pdfbin63636 -> 63481 bytes
-rw-r--r--Master/texmf-dist/doc/latex/randexam/randexam.tex2
-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/responsive/README4
-rw-r--r--Master/texmf-dist/doc/latex/responsive/responsive-doc.pdfbin77546 -> 75970 bytes
-rw-r--r--Master/texmf-dist/doc/latex/responsive/responsive-doc.tex5
-rw-r--r--Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md11
-rw-r--r--Master/texmf-dist/doc/latex/se2thesis/se2thesis-master-thesis-example.pdfbin231943 -> 231949 bytes
-rw-r--r--Master/texmf-dist/doc/latex/se2thesis/se2thesis.pdfbin362248 -> 362259 bytes
-rw-r--r--Master/texmf-dist/doc/latex/sepfootnotes/README7
-rw-r--r--Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdfbin218406 -> 223965 bytes
-rw-r--r--Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex16
-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/spbmark/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/spbmark/spbmark.pdfbin93123 -> 92984 bytes
-rw-r--r--Master/texmf-dist/doc/latex/spbmark/spbmark.tex112
-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/synthslant/LICENSE6
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/README.md3
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/RELEASE-HOWTO.md51
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/index.md4
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/shear-transform.mp6
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdfbin181403 -> 181403 bytes
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex8
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/synthslant-minimal-test.tex39
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/synthslant.gst44
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/synthslant.ist13
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/synthslant.pdfbin796407 -> 840480 bytes
-rw-r--r--Master/texmf-dist/doc/latex/synthslant/title.mp6
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md40
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdfbin274323 -> 137729 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdfbin447103 -> 287734 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdfbin438130 -> 247127 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib6
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex4
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex12
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex18
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex43
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex6
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex4
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex8
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex2
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex7
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty4
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex37
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex23
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex21
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex137
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex6
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdfbin4859487 -> 4856594 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex20
-rw-r--r--Master/texmf-dist/doc/latex/texvc/texvc.pdfbin246091 -> 307351 bytes
-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/tkz-grapheur/tkz-grapheur-doc-en.pdfbin746493 -> 1222359 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex84
-rw-r--r--Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdfbin804095 -> 1309490 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex146
-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/typog/LICENSE415
-rw-r--r--Master/texmf-dist/doc/latex/typog/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/typog/RELEASE-HOWTO.md51
-rw-r--r--Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp10
-rw-r--r--Master/texmf-dist/doc/latex/typog/index.md5
-rw-r--r--Master/texmf-dist/doc/latex/typog/slant-angle.mp10
-rw-r--r--Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp10
-rw-r--r--Master/texmf-dist/doc/latex/typog/teximan2latex.sed30
-rw-r--r--Master/texmf-dist/doc/latex/typog/title.mp10
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog-example.pdfbin392419 -> 402037 bytes
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog-example.tex250
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog-grep.1.pdfbin511632 -> 514141 bytes
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog-grep.pl.in682
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog-grep.pod284
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog-grep.version.sed3
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog-minimal-test.tex50
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog-without-microtype-test.tex (renamed from Master/texmf-dist/doc/latex/typog/typog-nomt.tex)53
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog.gst48
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog.ist17
-rw-r--r--Master/texmf-dist/doc/latex/typog/typog.pdfbin902362 -> 996908 bytes
-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/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
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/README42
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/Ch-1-15.tex1312
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/Ch-16-30.tex2061
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/book-mathematics.tex44
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/candide.tex61
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/euler.tex512
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/handout-euler.tex29
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/handout-polynomes-deg2.tex27
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/polynome-deg2.tex557
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/puissance-cercle.tex713
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/recurrence.tex189
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/rel-bin.tex443
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/examples/schoolwork.tex238
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/tango-en.pdfbin0 -> 160307 bytes
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/tango-en.tex753
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/tango-fr.pdfbin0 -> 169741 bytes
-rw-r--r--Master/texmf-dist/doc/lualatex/tango/tango-fr.tex786
-rw-r--r--Master/texmf-dist/doc/luatex/luamplib/NEWS31
-rw-r--r--Master/texmf-dist/doc/luatex/luamplib/luamplib.pdfbin214279 -> 252318 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex80
-rw-r--r--Master/texmf-dist/doc/luatex/luamplib/test-luamplib-plain.tex60
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/README6
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdfbin699725 -> 700023 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdfbin1143479 -> 1143849 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx30
-rw-r--r--Master/texmf-dist/doc/luatex/luaxml/README2
-rw-r--r--Master/texmf-dist/doc/luatex/luaxml/luaxml.pdfbin119150 -> 124725 bytes
-rw-r--r--Master/texmf-dist/doc/luatex/luaxml/luaxml.tex92
-rw-r--r--Master/texmf-dist/doc/man/man1/epstopdf.man1.pdfbin29667 -> 29695 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/repstopdf.man1.pdfbin29667 -> 29695 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/typog-grep.1397
-rw-r--r--Master/texmf-dist/doc/man/man1/typog-grep.man1.pdfbin38115 -> 44396 bytes
-rw-r--r--Master/texmf-dist/doc/support/latexindent/README2
-rw-r--r--Master/texmf-dist/doc/support/latexindent/latexindent-yaml-schema.json2
-rw-r--r--Master/texmf-dist/doc/support/latexindent/latexindent.pdfbin1297627 -> 1274961 bytes
-rw-r--r--Master/texmf-dist/doc/support/latexindent/latexindent.tex11
-rw-r--r--Master/texmf-dist/doc/support/mf2pt1/ChangeLog19
-rw-r--r--Master/texmf-dist/doc/support/mf2pt1/README2
-rw-r--r--Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdfbin183116 -> 182727 bytes
-rw-r--r--Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi16
722 files changed, 24148 insertions, 16207 deletions
diff --git a/Master/texmf-dist/doc/context/third/chat/LICENSE b/Master/texmf-dist/doc/context/third/chat/LICENSE
new file mode 100644
index 00000000000..c7290031817
--- /dev/null
+++ b/Master/texmf-dist/doc/context/third/chat/LICENSE
@@ -0,0 +1,232 @@
+GNU GENERAL PUBLIC LICENSE
+Version 3, 29 June 2007
+
+Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The GNU General Public License is a free, copyleft license for software and other kinds of works.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
+
+To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
+
+Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
+
+Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS
+
+0. Definitions.
+
+“This License” refers to version 3 of the GNU General Public License.
+
+“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
+
+To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
+
+A “covered work” means either the unmodified Program or a work based on the Program.
+
+To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
+
+1. Source Code.
+The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
+
+A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
+
+The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+
+2. Basic Permissions.
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+
+4. Conveying Verbatim Copies.
+You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+
+5. Conveying Modified Source Versions.
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
+
+ c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
+
+6. Conveying Non-Source Forms.
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+
+ d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
+
+“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+
+7. Additional Terms.
+“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+
+All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+
+8. Termination.
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+
+9. Acceptance Not Required for Having Copies.
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
+
+10. Automatic Licensing of Downstream Recipients.
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+
+11. Patents.
+A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
+
+A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+
+12. No Surrender of Others' Freedom.
+If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
+
+13. Use with the GNU Affero General Public License.
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
+
+14. Revised Versions of this License.
+The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+
+15. Disclaimer of Warranty.
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. Limitation of Liability.
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+17. Interpretation of Sections 15 and 16.
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
+
+ context-chat
+ Copyright (C) 2024 fiee
+
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
+
+ context-chat Copyright (C) 2024 fiee
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
+
+You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
+
+The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/Master/texmf-dist/doc/context/third/chat/README.md b/Master/texmf-dist/doc/context/third/chat/README.md
new file mode 100644
index 00000000000..ca1c5ec7e2e
--- /dev/null
+++ b/Master/texmf-dist/doc/context/third/chat/README.md
@@ -0,0 +1,72 @@
+# ConTeXt Chat
+
+Typeset messenger chats with ConTeXt
+
+2024 by Henning Hraban Ramm
+
+## Introduction
+
+In a youth novel that I’m writing, the actors frequently use a messenger app on
+their smartphones to chat. I wanted to depict that accordingly, but simplified:
+no need for a sophisticated user interface, for replies, reactions, images,
+attachments etc.
+
+## Usage
+
+ \usemodule[chat]
+ \setupChat[
+ recipient=A,
+ ]
+
+ \starttext
+ \startChat{A} Do you wanna chat?\stopChat
+ \startChat{B} Maybe. What about?\stopChat
+ \startChat{A} How about cats?\stopChat
+ \startChat{A} or squirrels?\stopChat
+ \stoptext
+
+There’s no general environment around the messages. If you need to adapt the spacing or want a background, use ConTeXt’s usual possibilities.
+
+The parameter of `\startChat` is the sender of that message, i.e. their avatar. I’m using emoji for that but I’m planning to add more options.
+
+Every first message of a person shows their avatar and a speech bubble tail.
+Follow-up messages by the same person have no avatar and no tail.
+You can use `\resetChat` to reset this “memory”.
+
+Each conversation has one recipient, that’s the person reading it. Their messages (also avatar and tail) are displayed on the right-hand side, all others on the left.
+
+In my novel, the recipient is fixed by section, so I set it in a setup that is called like `\setuphead[section][before=\setup{section:before}]`.
+
+I suggest using Roboto (Condensed) as base font. You must also setup a fallback font for emojis.
+
+## Options
+
+* `recipient`: Name of the person reading the conversation.
+* `style`: text style; default: `\ss`
+* `senderstyle`: style of the avatar text; default: `\ss\bf`
+* `width`: maximum width of speech bubbles; default: `.8\textwidth`
+* `distance`: vertical distance of speech bubbles, unreliable; default: `.25em`
+* colors: You can change ChatColorI, ChatColorII, ChatNameColor and ChatFrameColor (switching to a palet soon).
+
+Options regarding the bubble, frame and tail are still missing.
+
+## Limitations
+
+Configuration options are limited. I might enhance the possibilities on request.
+
+* Avatars: I’m using emoji as avatars of the participants; I’m planning to make it work with initials (two characters) or graphics.
+* Other planned features: status messages like “Admin added Person”
+* Not currently planned features: images, emoji reactions, replies with quotes, read markers, date & time.
+* Background: Since I’m going for a printed version, I’m not planning to include a general background or a dark mode.
+* There are slightly different bubble forms for “solo”, “first”, “middle” and “last”, but ATM just “solo” and “middle” are used (automatically), since there’s no lookahead, i.e. the module can’t know what will come next. I’ll probably add an option to set the version manually.
+* Only one frame color for all messages.
+* No further documentation.
+
+## Contributors
+
+* Aditya Mahajan wrote a first draft of speech bubbles for me in 2022. His MetaPost code was more elegant than mine, but I didn’t manage to adapt it to my needs.
+* Hans Hagen gave me some valuable hints when I showed him my first working version.
+
+## License
+
+[GPL 3.0+](LICENSE)
diff --git a/Master/texmf-dist/doc/context/third/chat/VERSION b/Master/texmf-dist/doc/context/third/chat/VERSION
new file mode 100644
index 00000000000..50af9173a9f
--- /dev/null
+++ b/Master/texmf-dist/doc/context/third/chat/VERSION
@@ -0,0 +1 @@
+2024.07.20
diff --git a/Master/texmf-dist/doc/fonts/bonum-otf/Changes b/Master/texmf-dist/doc/fonts/bonum-otf/Changes
new file mode 100644
index 00000000000..4eed5f4e755
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/bonum-otf/Changes
@@ -0,0 +1 @@
+0.01 2024-07-23 - first CTAN version
diff --git a/Master/texmf-dist/doc/fonts/bonum-otf/README.md b/Master/texmf-dist/doc/fonts/bonum-otf/README.md
new file mode 100644
index 00000000000..6333fa343f5
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/bonum-otf/README.md
@@ -0,0 +1,13 @@
+# README #
+Package bonum-otf supports the free TeX Gyre fonts Bonum
+as OpenType and defines all missing typefaces (slanted text
+and bold math).
+
+% This file is distributed under the terms of the LaTeX Project Public
+% License from CTAN archives in directory macros/latex/base/lppl.txt.
+% Either version 1.3 or, at your option, any later version.
+%
+%
+
+% Copyright 2024 Herbert Voss hvoss@tug.org
+
diff --git a/Master/texmf-dist/doc/fonts/bonum-otf/bonum-otf-doc.pdf b/Master/texmf-dist/doc/fonts/bonum-otf/bonum-otf-doc.pdf
new file mode 100644
index 00000000000..99a465fba07
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/bonum-otf/bonum-otf-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/bonum-otf/bonum-otf-doc.tex b/Master/texmf-dist/doc/fonts/bonum-otf/bonum-otf-doc.tex
new file mode 100644
index 00000000000..067a107f111
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/bonum-otf/bonum-otf-doc.tex
@@ -0,0 +1,900 @@
+%% $Id: bonum-otf-doc.tex 925 2024-07-23 17:47:45Z herbert $
+\listfiles
+\documentclass[ngerman,spanish,polish,english,a4paper]{article}
+\usepackage{heros-otf}
+\usepackage{bonum-otf}
+\setmonofont[Scale=MatchLowercase,FakeStretch=0.88]{AnonymousPro}
+\usepackage{babel}
+\usepackage{geometry}
+\usepackage{booktabs}
+\usepackage{xltabular}
+\usepackage{listings}
+\usepackage{xspace}
+\usepackage{setspace}
+\usepackage{xltabular}
+\usepackage{marginnote}
+\usepackage{xcolor,url}
+\usepackage{varioref,multido}
+\newcommand\Macro[1]{\texttt{\textbackslash#1}}
+\newcommand\textstyleVariable[1]{\texttt{#1}}
+\newcommand\textgerman[1]{\foreignlanguage{ngerman}{\texttt{#1}}}
+\usepackage{hvextern}
+\lstset{basicstyle=\ttfamily\small}
+%\setkeys{hv}{lstOptions={basicstyle=\Mono\small,columns=fixed}}
+\setkeys{hv}{moveToExampleDir,ExampleDir=Examples,showFilename,verbose}
+
+\usepackage[imakeidx]{xindex}
+\makeindex[title=Index]
+
+\newenvironment{demoquote}
+ {\begingroup
+ \setlength{\topsep}{0pt}
+ \setlength{\partopsep}{0pt}
+ \list{}{\rightmargin\leftmargin}%
+ \item\relax}
+ {\endlist\endgroup}
+
+\def\Lcs#1{\texttt{\textbackslash#1}\index{#1@\texttt{\textbackslash#1}}}
+\def\Largb#1{\texttt{\{}\textit{#1}\texttt{\}}}
+\def\Lpack#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Package!#1@\texttt{#1}}}
+\def\testfeature#1#2#3{{\fontspec[RawFeature={+#2}]{#1}#3\relax}}
+\def\Loption#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Option!#1@\texttt{#1}}}
+\def\SUP{\addfontfeatures{RawFeature={+sups}}}
+
+\usepackage{multicol,luacode}
+\setlength{\columnsep}{0.3cm}
+\setlength{\columnseprule}{0.1pt}
+
+
+\title{The \TeX\ Gyre Bonum OpenType font}
+\author{Herbert Voß}
+\usepackage{parskip}
+\parindent=0pt
+
+
+\begin{document}
+\maketitle
+
+
+
+
+\section{The default setting}
+
+The \LaTeX\ package \Lpack{bonum-otf} supports the following OpenType fonts:
+\begin{verbatim}
+texgyrebonum-regular.otf
+texgyrebonum-bold.otf
+texgyrebonum-italic.otf
+texgyrebonum-bolditalic.otf
+texgyrebonum-math.otf
+\end{verbatim}
+
+The fonts are free available and part of any \TeX-distribution.
+
+
+\begin{verbatim}
+\setmainfont{texgyrebonum}[
+ RawFeature = {\bonum@figurealign;\bonum@figurestyle},
+ Scale = \bonumRM@scale ,
+ UprightFont = *-regular,
+ ItalicFont = *-italic,
+ ItalicFeatures = { SmallCapsFont = *-italic },
+ SlantedFont = *-regular,
+ SlantedFeatures= {FakeSlant=0.2},
+ BoldFont = *-bold,
+ BoldFeatures = { SmallCapsFont = *-Bold },
+ BoldItalicFont = *-bolditalic,
+ BoldItalicFeatures = { SmallCapsFont = *-bolditalic },
+ BoldSlantedFont= *-bold,
+ BoldSlantedFeatures= {FakeSlant=0.2, SmallCapsFont = *-bold },
+ SmallCapsFont = *-regular,
+% SmallCapsFeatures={RawFeature=+smcp},
+ SmallCapsFeatures={Letters=SmallCaps},
+ Extension = .otf
+]
+
+\newfontfamily\bonumOsF{texgyrebonum}[
+ RawFeature = {+onum},
+ Scale = \bonumRM@scale ,
+ UprightFont = *-regular,
+ ItalicFont = *-italic,
+ ItalicFeatures = { SmallCapsFont = *-italic },
+ SlantedFont = *-regular,
+ SlantedFeatures= {FakeSlant=0.2},
+ BoldFont = *-bold,
+ BoldFeatures = { SmallCapsFont = *-Bold },
+ BoldItalicFont = *-bolditalic,
+ BoldItalicFeatures = { SmallCapsFont = *-bolditalic },
+ BoldSlantedFont= *-bold,
+ BoldSlantedFeatures= {FakeSlant=0.2, SmallCapsFont = *-bold },
+ SmallCapsFont = *-regular,
+% SmallCapsFeatures={RawFeature=+smcp},
+ SmallCapsFeatures={Letters=SmallCaps},
+ Extension = .otf
+]
+
+\newfontfamily\bonumTLF{texgyrebonum}[
+ RawFeature = {+tnum;-onum},
+ Scale = \bonumRM@scale ,
+ UprightFont = *-regular,
+ ItalicFont = *-italic,
+ ItalicFeatures = { SmallCapsFont = *-italic },
+ SlantedFont = *-regular,
+ SlantedFeatures= {FakeSlant=0.2},
+ BoldFont = *-bold,
+ BoldFeatures = { SmallCapsFont = *-Bold },
+ BoldItalicFont = *-bolditalic,
+ BoldItalicFeatures = { SmallCapsFont = *-bolditalic },
+ BoldSlantedFont= *-bold,
+ BoldSlantedFeatures= {FakeSlant=0.2, SmallCapsFont = *-bold },
+ SmallCapsFont = *-regular,
+% SmallCapsFeatures={RawFeature=+smcp},
+ SmallCapsFeatures={Letters=SmallCaps},
+ Extension = .otf
+]
+\end{verbatim}
+
+
+\section{The serif font}
+
+\selectlanguage{polish}
+\marginnote{mdseries\\upright}
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\marginnote{\normalfont bfseries\\upright}\bfseries
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+
+\marginnote{\normalfont mdseries\\itshape}\normalfont\itshape
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\marginnote{\normalfont bfseries\\itshape}\bfseries
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\normalfont
+\marginnote{\normalfont mdseries\\slshape}\normalfont\slshape
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\marginnote{\normalfont bfseries\\slshape}\bfseries
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\normalfont
+\marginnote{\normalfont mdseries\\upright\\scshape}\scshape
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\marginnote{\normalfont bfseries\\upright\\scshape}\bfseries
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\mdseries
+\marginnote{\normalfont mdseries\\itshape\\scshape}\itshape
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\marginnote{\normalfont bfseries\\itshape\\scshape}\bfseries
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\marginnote{\normalfont mdseries\\slshape\\scspape}\mdseries
+\slshape
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+\marginnote{\normalfont bfseries\\slshape\\scspape}\bfseries
+Honoru myśliwych zaraza Rymsza Libijskich wszystkich Wożny przerywał szczodroty
+opowiadań. Cesarskich znaczy rączy muchom malarstwie spisem różowemi zacnie
+urządzał. Nasze Praga stare żeś Żyje cnoty Tabor. Mówcy pokój Również śmieléj
+wionęła jarzynach liczne drogą jastrząb słowo zabawy odjechał życie. Dano
+ojcu Wyprowadzają kuca dramatycznych myśliwskiém bór pęk żyt maja Wiec. Nię
+Taka Albo tace Usta pęk ucha.
+
+
+
+\normalfont\normalsize
+\selectlanguage{english}
+
+\section{Package options}
+
+Possible optional arguments are
+
+\noindent
+\begin{tabular}{@{} >{\ttfamily}l l @{}}
+oldstyle, osf & old-style figures \\
+lining, nf, lf & lining figures (default)\\
+proportional, p & varying-width figures\\
+tabular, t & fixed-width figures (default)\\
+ScaleRM & scaling for the serif font, preset to 1\\
+defaultfeatures & presetting of features only for rmfamily\\
+libertinus & use integral symbols from Libertinus Math
+\end{tabular}
+
+
+
+%\lstset{extendedchars}
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,
+ compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,
+ code,
+ docType=latex,
+ frame,
+ showFilename,
+ ExampleDir=Examples,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage[osf]{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+0000111122223333444455556666777788889999\par abcdefghijklmn
+\end{document}
+\end{externalDocument}
+
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ compiler=lualatex,
+ crop,
+ force=true,
+ runs=1,
+ code,
+ docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+%lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage[lining]{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+0000111122223333444455556666777788889999\par
+\addfontfeatures{RawFeature=-lnum;+onum}%
+0000111122223333444455556666777788889999
+\end{document}
+\end{externalDocument}
+
+
+
+
+\begin{externalDocument}[
+ frame,
+ compiler=lualatex,
+ crop,
+ force=true,
+ runs=1,
+ code,
+ docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+%lstOptions={columns=flexible}
+ ]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage[t=false]{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+0000111122223333444455556666777788889999\par
+\addfontfeatures{RawFeature=+tnum}%L
+0000111122223333444455556666777788889999
+\end{document}
+\end{externalDocument}
+
+
+
+
+
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,code,docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage[p]{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+0000111122223333444455556666777788889999\par
+\addfontfeatures{RawFeature=-pnum}%
+0000111122223333444455556666777788889999
+\end{document}
+\end{externalDocument}
+
+\section{Features}
+
+
+\begin{lstlisting}[basicstyle=\ttfamily\small]
+bash-3.2$ otfinfo -f texgyrebonum-regular.otf
+aalt Access All Alternates
+c2sc Small Capitals From Capitals
+cpsp Capital Spacing
+dlig Discretionary Ligatures
+frac Fractions
+kern Kerning
+liga Standard Ligatures
+lnum Lining Figures
+onum Oldstyle Figures
+pnum Proportional Figures
+salt Stylistic Alternates
+size Optical Size
+smcp Small Capitals
+ss01 Stylistic Set 1
+ss02 Stylistic Set 2
+ss03 Stylistic Set 3
+ss04 Stylistic Set 4
+tnum Tabular Figures
+zero Slashed Zero
+\end{lstlisting}
+
+%$
+
+
+\subsection{Capitals to Small Caps}
+
+The macro \Lcs{Lctosc}\Largb{arg} is for a local change of \emph{arg} and \Lcs{LCtoSC+} and \Lcs{LCtoSC-} for
+a global change of capitals to small caps.
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,code,docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+\parindent=0pt
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+\usepackage{xcolor}
+%StopVisiblePreamble
+\begin{document}
+bonum Font ŐŰÉÁÄ \Lctosc{bonum Font ŐŰÉÁÄ}\\
+\LCtoSC+ bonum Font ŐŰÉÁÄ
+\end{document}
+\end{externalDocument}
+
+
+
+\subsection{Capitals to Small Caps and small captitals}
+
+The macro \Lcs{Lctosmcp}\Largb{arg} is for a local change of \emph{arg} and \Lcs{LCtoSMCP+} and \Lcs{LCtoSMCP-} for
+a global change of capitals to small caps.
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,code,docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+\parindent=0pt
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+\usepackage{xcolor}
+%StopVisiblePreamble
+\begin{document}
+bonum Font ŐŰÉÁÄ \Lctosmcp{bonum Font ŐŰÉÁÄ}\\
+\LCtoSMCP+ bonum Font ŐŰÉÁÄ
+\end{document}
+\end{externalDocument}
+
+\subsection{Ligatures}
+
+The macros \Lcs{Lliga}\Largb{arg} (standard ligatures), \Lcs{Lhlig}\Largb{arg} (historical ligatures),
+\Lcs{Ldlig}\Largb{arg} (discretionary ligatures)
+are for a local change of \emph{arg} and \Lcs{LLIGA+}/\Lcs{LLIGA-}, \Lcs{LHLIG+}/\Lcs{LHLIG-}, and \Lcs{LDLIG+}/\Lcs{LDIG-} for
+a global change of capitals to small caps relative to the current group.
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,code,docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+\parindent=0pt
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+\usepackage{xcolor}
+%StopVisiblePreamble
+\begin{document}%\LLIGA+ % Default
+ff, fi, ffi, fl
+
+\LLIGA- ff, fi, ffi, fl
+\end{document}
+\end{externalDocument}
+
+
+
+
+\subsection{Capital spacing, uppercase kerning}
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,code,docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+\parindent=0pt
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+\usepackage{xcolor}
+%StopVisiblePreamble
+\begin{document}
+IN THE BEGINNING GOD CREATED THE HEAVENS AND THE EARTH.\\
+\textcolor{red}{\Lcpsp{IN THE BEGINNING GOD CREATED THE HEAVENS AND THE EARTH.}}
+
+\makebox[0pt][l]{IN THE BEGINNING GOD CREATED THE HEAVENS AND THE EARTH.}%
+\textcolor{red}{\LCPSP IN THE BEGINNING GOD CREATED THE HEAVENS AND THE EARTH.}
+\end{document}
+\end{externalDocument}
+
+
+\subsection{Stylistic Alternates}
+
+The macro \Lcs{Lsalt}\Largb{arg} is for a local change of \emph{arg} and \Lcs{LSALT+} and \Lcs{LSALT-} for
+the alternate characters.
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,code,docType=latex,
+ usefancyvrb,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+\parindent=0pt
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+θκφ \quad \Lsalt{θκφ} \quad\LSALT+ θκφ \quad\LSALT- θκφ
+\end{document}
+\end{externalDocument}
+
+
+% ss01 Stylistic Set 1
+% ss02 Stylistic Set 2
+% ss03 Stylistic Set 3
+% ss04 Stylistic Set 4
+% ss10 Stylistic Set 10
+
+\subsection{Stylistic Sets}
+
+\iffalse
+
+
+
+
+
+¡“¶¢[]|{}≠¿'
+«∑€®†Ω¨⁄øπ•±
+å‚∂ƒ©ªº∆@œæ
+\≈ç√∫~µ∞…–
+---
+≥¬”#£fi^\˜·¯˙˚
+»„‰¸˝ˇÁÛØ∏°’
+ÅÍ™ÏÌÓıˆflŒÆ
+‡ÙÇ◊‹›˘˛÷—
+\fi
+
+There is a short command \Lcs{Lssxx}\Largb{text} for the four stylistic sets,
+where xx is the number of the set (two digits)
+and \textit{text} the local argument:
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ usefancyvrb,
+ runs=2,code,docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+\parindent=0pt
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+εμφ πρθ Īī@©⁄¶® ̄ $\rightarrow$ \Lss01{εμφ πρθ Īī@©⁄¶® ̄}\par
+@©⁄¶® $\rightarrow$ \Lss02{@©⁄¶®}\par
+εμφπρθ $\rightarrow$ \Lss03{εμφ πρθ}\par
+Īī̄ $\rightarrow$ \Lss04{Īī̄}\par
+\end{document}
+\end{externalDocument}
+
+For a global change of the stylistic set one can use the command \Lcs{LSSxx}, where xx
+is again the number of the set.
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ usefancyvrb,
+ force=true,
+ runs=2,code,docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+εμφ πρθ Īī@©⁄¶® ̄ $\rightarrow$ \LSS01 εμφ πρθ Īī@©⁄¶® ̄
+\end{document}
+\end{externalDocument}
+
+
+
+\begin{externalDocument}[
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ usefancyvrb,
+ runs=2,code,docType=latex,
+ frame,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+@©⁄¶® $\rightarrow$ \LSS02 @©⁄¶®
+\end{document}
+\end{externalDocument}
+
+\iffalse
+≤¡“¶¢[]|{}≠¿'
+«∑€®†Ω¨⁄øπ•±
+å‚∂ƒ©ªº∆@œæ
+\≈ç√∫~µ∞…–
+---
+≥¬”#£fi^\˜·¯˙˚
+»„‰¸˝ˇÁÛØ∏°’
+ÅÍ™ÏÌÓıˆflŒÆ
+‡ÙÇ◊‹›˘˛÷—
+\fi
+
+
+%\section{New text macros}
+%
+%\Lcs{textsup}\Largb{text} for superiors:
+%
+%\begin{verbatim}
+%7\textsup{th} floor
+%\end{verbatim}
+
+%7\textsup{th} floor
+
+
+\section{Font commands}
+Instead of using the command \Lcs{fontspec} for changing to a different type of
+a bonum font, one can use a predefinded command:
+
+\begin{verbatim}
+\bonum (default)
+\bonumOsF (Old style proportional figures)
+\bonumTLF (tabular lining figures)
+\end{verbatim}
+
+\begin{externalDocument}[
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ usefancyvrb,
+ runs=2,code,docType=latex,
+ frame,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+The default setting with 123456. \bonumOsF Now with 123456 and
+\bonumTLF now with 123456 \bonum and back to the default 123456.
+\end{document}
+\end{externalDocument}
+
+
+
+
+
+\section{Math mode}
+
+
+%bash-3.2$ otfinfo -f --script=math texgyrebonum-math.otf
+%aalt Access All Alternates
+%dtls <unknown feature>
+%ssty <unknown feature>
+
+
+\subsection{Example for bonum math}
+
+
+\noindent\fbox{%
+\begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule}
+\textbf{Theorem 1 (Residue Theorem).}
+Let $f$ be analytic in the region $G$ except for the isolated singularities $a_1,a_2,\ldots,a_m$. If $\gamma$ is a closed rectifiable curve in $G$ which does not pass through any of the points $a_k$ and if $\gamma\approx 0$ in $G$ then
+%
+\[
+\mathop{\symup{Res}}\limits_{z=a}f(z) = \mathop{\mathrm{Res}}\limits_a f
+ = \frac{1}{2\pi\symup{i}} \int\limits_C f(z)\,\symup dz,
+\]
+%
+where $C\subset D\backslash\{a\}$ is a closed line
+$ n(C,a)=1$ (e.\,g. a counterclockwise circle loop).
+
+\medskip
+$\symup{A} \Lambda \Delta \nabla \symup{B C D} \Sigma \symup{E F} \Gamma \symup{G H I J} K L M N O
+ \Theta \Omega \symup{P} \Phi \Pi \Xi \mathtt{Q R S T} U V W X Y \Upsilon \Psi \symup{Z}$
+$\mathsf{ABCDabcd1234}$
+
+$a\alpha b \beta c \partial d \delta e \epsilon \varepsilon f \zeta \xi g \gamma h \hbar \iota i \imath j
+k \kappa l \ell \lambda m n \eta \theta \vartheta o \sigma \varsigma \phi \varphi \wp p
+\rho \varrho q r s t \tau \pi u \mu \nu v \upsilon w \omega \varpi $
+
+$xyz \infty \propto \emptyset y=f(x)$
+\hfill$\sum\int\prod\displaystyle~\prod\int\sum~
+ \textstyle\sum_a^b\int_a^b\prod_a^b~ \displaystyle\sum_a^b\int\limits_a^b\prod_a^b$
+
+\boldmath
+$\symup{A} \Lambda \Delta \nabla \symup{B C D} \Sigma \symup{E F} \Gamma \symup{G H I J} K L M N O
+ \Theta \Omega \symup{P} \Phi \Pi \Xi \mathtt{Q R S T} U V W X Y \Upsilon \Psi \symup{Z}$
+$\mathsf{ABCDabcd1234}$
+
+$a\alpha b \beta c \partial d \delta e \epsilon \varepsilon f \zeta \xi g \gamma h \hbar \iota i \imath j
+k \kappa l \ell \lambda m n \eta \theta \vartheta o \sigma \varsigma \phi \varphi \wp p
+\rho \varrho q r s t \tau \pi u \mu \nu v \upsilon w \omega \varpi $
+
+$xyz \infty \propto \emptyset y=f(x)$
+\hfill$\sum\int\prod\displaystyle~\prod\int\sum~
+ \textstyle\sum_a^b\int_a^b\prod_a^b~ \displaystyle\sum_a^b\int\limits_a^b\prod_a^b$
+\unboldmath
+\end{minipage}}
+
+
+There exists an optional argument \texttt{math} for setting features only for the math font,
+for example \texttt{+aalt} for slightly wider characters:
+
+
+\begin{externalDocument}[
+% grfOptions={width=0.5\linewidth},
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,code,docType=latex,
+ frame,
+% showFilename,
+% align=\centering,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage{bonum-otf}
+%StopVisiblePreamble
+\begin{document}
+ $\alpha\beta\gamma\delta\Delta\epsilon\varepsilon\zeta
+ \eta\theta\Theta\vartheta\iota\kappa\lambda\Lambda\mu
+ \nu\xi\Xi\pi\Pi\varpi\rho\varrho\sigma\Sigma\varsigma
+ \tau\upsilon\Upsilon\phi\Phi\varphi\chi\psi\Psi\omega
+ \Omega$
+
+{\setmathfont[Script=Math,RawFeature=+aalt]{texgyrebonum-math.otf}
+ $\alpha\beta\gamma\delta\Delta\epsilon\varepsilon\zeta
+ \eta\theta\Theta\vartheta\iota\kappa\lambda\Lambda\mu
+ \nu\xi\Xi\pi\Pi\varpi\rho\varrho\sigma\Sigma\varsigma
+ \tau\upsilon\Upsilon\phi\Phi\varphi\chi\psi\Psi\omega
+ \Omega$
+}
+\end{document}
+\end{externalDocument}
+
+
+
+\subsection{Integrals}
+If you do not like the small integral symbols from bonum then use the package
+option \Loption{libertinus}. Then these symbols are taken from Libertinus Math.
+
+
+\begin{externalDocument}[
+ frame,compiler=lualatex,
+ crop,
+ force=true,
+ runs=2,code,docType=latex,
+ frame,
+ usefancyvrb,
+% lstOptions={columns=flexible}
+]{bonum}
+\documentclass{article}
+\pagestyle{empty}
+%StartVisiblePreamble
+\usepackage[libertinus]{bonum-otf}% use integrals from Libertinus
+%StopVisiblePreamble
+\begin{document}
+The integrals from Libertinus Math:
+\[ \int_\gamma\iint\iiint\iiiint\oint\oiint\oiiint\frac{f(x)}{z-a} \]
+
+The default integrals from bonum:
+\setmathfont{texgyrebonum-math.otf}
+\[ \int_\gamma\iint\iiint\iiiint\oint\oiint\oiiint\frac{f(x)}{z-a} \]
+\end{document}
+\end{externalDocument}
+
+
+
+
+
+
+
+
+
+\clearpage
+\newgeometry{margin=1cm,bmargin=2cm}
+
+\section{The font list of bonum Regular}
+
+\begin{multicols}{5}
+\begin{luacode*}
+ local f = fontloader.open('/Users/voss/Links/fonts/opentype/public/tex-gyre/texgyrebonum-regular.otf')
+ print("Max glyphs: "..f.glyphmax)
+ local glyphs = {}
+ for i = 0, f.glyphmax - 1 do
+ local g = f.glyphs[i]
+ if g then
+ table.insert(glyphs, {name = g.name, unicode = g.unicode})
+ end
+ end
+ table.sort(glyphs, function (a,b) return (a.unicode < b.unicode) end)
+ for i = 1, #glyphs do
+ tex.sprint('\\scriptsize'..glyphs[i].unicode .. ': ')
+ if (glyphs[i].unicode > 0) then
+ tex.sprint('{\\char' .. glyphs[i].unicode .. '}');
+ end
+ tex.sprint(' {\\scriptsize (')
+ tex.sprint(-2, glyphs[i].name)
+ tex.sprint(')}\\\\')
+ end
+ fontloader.close(f)
+\end{luacode*}
+\end{multicols}
+
+
+
+
+\section{The font list of bonum Math}
+
+
+\begingroup
+\catcode`\%=12
+\gdef\perCent{%}
+\endgroup
+
+%\UnicodeMathSymbol{"00021}{\mathexclam }{\mathclose}{exclamation mark}%
+\begin{multicols}{3}
+\def\UnicodeMathSymbol#1#2#3#4{\scriptsize\texttt{#1}: $#2{}$ (#4) \\}
+\input{unicode-math-table}
+\end{multicols}
+
+
+\clearpage\restoregeometry
+
+\printindex
+
+
+
+
+\end{document}
diff --git a/Master/texmf-dist/doc/fonts/gelasiomath/README b/Master/texmf-dist/doc/fonts/gelasiomath/README
new file mode 100644
index 00000000000..d0139acde11
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/gelasiomath/README
@@ -0,0 +1,11 @@
+This small package provides math support for the Gelasio text fonts, based on the newtxmath symbols with Roman letters taken from Gelasio and Greek letters taken from XCharter magnified by 1.02. Newtx, version 1.752 or higher, must be installed and its map file enabled. The package also provides small caps based on XCharter for Gelasio as well as pdflatex access to some of its small figures---numerators, denominators and inferiors. A modified OT1 (TLF only) is also provided for use as math operators, with Greek upper case taken from XCharter. The font files in this package are in pfb format, licensed under the SIL OFL, version 1.1. All other LaTeX support files are subject to the LaTeX Project Public License. See
+http://www.ctan.org/license/lppl1.3 for the details of that license.
+Copyright (c) 2024 Michael Sharpe
+
+Current version: 1.00 2024-07-05
+
+
+
+
+
+Maintainer: Michael Sharpe, msharpe@ucsd.edu \ No newline at end of file
diff --git a/Master/texmf-dist/doc/fonts/gelasiomath/gelasiomath-doc.pdf b/Master/texmf-dist/doc/fonts/gelasiomath/gelasiomath-doc.pdf
new file mode 100644
index 00000000000..0d0157bcf66
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/gelasiomath/gelasiomath-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/gelasiomath/gelasiomath-doc.tex b/Master/texmf-dist/doc/fonts/gelasiomath/gelasiomath-doc.tex
new file mode 100644
index 00000000000..8aabb656d7b
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/gelasiomath/gelasiomath-doc.tex
@@ -0,0 +1,168 @@
+% !TEX TS-program = lualatexmk
+%!TEX encoding = UTF-8 Unicode
+
+\documentclass[11pt]{article}
+\usepackage{geometry} % See geometry.pdf to learn the layout options. There are lots.
+\geometry{letterpaper} % ... or a4paper or a5paper or ...
+\RequirePackage{etoolbox,trace,bm}
+
+%\geometry{landscape} % Activate for for rotated page geometry
+\usepackage[parfill]{parskip}
+\usepackage{graphicx,fonttable}
+\usepackage{array,booktabs}
+\usepackage[T1]{fontenc} % Active encoding for use in math text
+\usepackage[type1,sfdefault,scale=1]{sourcesanspro}% used by \mathsf
+\usepackage[scaled=.98,varqu,varl]{zi4} % for \mathtt
+\usepackage[vvarbb]{gelasiomath}
+
+\iftutex\setmonofont{inconsolata.otf}\fi
+%\else
+%\RequirePackage{pdftexcmds}
+%\usepackage{zi4}
+%\fi
+%\usepackage[gelasio]{newtx}
+%\usepackage{xchsc}
+\usepackage{booktabs}
+%\setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Gill Sans}
+%\setmonofont[Scale=MatchLowercase]{Andale Mono}
+
+\title{Gelasiomath}
+\author{Michael Sharpe}
+%\date{} % Activate to display a given date or no date
+
+\begin{document}
+\maketitle
+The newest versions of {\tt newtx.sty} and {\tt newtxmath.sty}
+and the new {\tt gelasiomath.sty}
+provide support for the {\tt Gelasio} text fonts and the associated {\tt gelasio} package. Its main features are:
+\begin{itemize}
+\item
+Math support for {\tt gelasio};
+\item small caps (regular, italic, bold and bold italic) for {\tt gelasio} by means of a work-around using {\tt XCharter} small caps enlarged by 2\%;
+\item access to numerator, denominator and inferior figures from {\tt pdflatex}. (The {\tt Gelasio} fonts have these figures but {\tt gelasio.sty} does not offer support for them under {\tt pdflatex}.)
+\item
+Math figures are lining, rather than simply following the text figure style, which is, by default, oldstyle. E.g., \verb|$1X$| gives $1X$, not 1$X$.
+\end{itemize}
+
+The simplest and most capable way to use these support macros is through the small {\tt gelasiomath} package, which works with all LaTeX engines.
+\begin{verbatim}
+\usepackage[<options>]{gelasiomath}
+\end{verbatim}
+The only options handled directly by {\tt gelasiomath} are {\tt scale} and {\tt scosf}. The {\tt scale} option sets appropriate scales for {\tt gelasio}, {\tt xcharter} and {\tt newtxmath}, taking into account that {\tt gelasio} requires a reduction by the factor {\tt.92} to match {\tt newtxmath}. Option {\tt scosf} specifies that figures in amall caps should be transformed to oldstyle, no matter what the figure style for {\tt gelasio} was set to.
+
+All other options added to {\tt gelasiomath} are passed along to {\tt gelasio} and {\tt newtxmath}.
+E.g., to use {\tt gelasio} with lining figures except in small caps, at its natural size with matching math scale, you could write
+\begin{verbatim}
+\usepackage[scale=1.087,lining,scosf]{gelasiomath}
+\end{verbatim}
+
+%The basic method to load {\tt gelasio} with math support is to include in your preamble the lines
+%\begin{verbatim}
+%\usepackage[scale=.92]{gelasio}
+%\usepackage[gelasio]{newtxmath}
+%\end{verbatim}
+%or just
+%\begin{verbatim}
+%\usepackage[gelasio]{newtx}
+%\end{verbatim}
+%Loading using {\tt newtx} is preferred as it offers scaling both text and math without fiddling arithmetic as well as other enhancements described below. For the remainder of this description, I'll assume you are making use of {\tt newtx}.
+
+%To add support for XCharter small caps, add to your preamble the line
+%\begin{verbatim}
+%\usepackage{xchsc}
+%\end{verbatim}
+%No options are available.
+
+%I recommend applying \verb|\textsc| and \verb|\scshape| only to text, not figures, as {\tt XCharter} figures do not match {\tt Gelasio} figures very well. For example:\\
+
+The insertion of {\tt xcharter} small caps is complicated by the fact that xcharter capital letters are not a good match for gelasio capitals, and figures are an even worse mismatch. In {\tt gelasiomath}, LaTeX's font switch \verb|\scshape| is redefined to {\tt xcharter} small caps at the appropriate scale, and this in turn leads to a corresponding change of the macro \verb|\textsc|. The following table illustrates the problems with capitals and figures.
+
+\begin{center}
+ \begin{tabular}{@{} ccc @{}}
+ \toprule
+ Source & Typeset source & Comments \\
+ \midrule
+ Reg. 2345 \verb|{\scshape| SmCap 2345\verb|}|& Reg. 2345 {\scshape SmCap 2345} & figures do not match \\
+ Reg. 2345 \verb|{\scshape| SmCap\verb|}| 2345& Reg. 2345 {\scshape SmCap} 2345 & Caps not good match \\
+ S\verb|{\scshape| mall\verb|}| C\verb|{\scshape| ap\verb|}|& S{\scshape mall} C{\scshape ap}& Better IMO\\
+ \bottomrule
+ \end{tabular}
+\end{center}
+
+The macro \verb|\textsc| is left as is and a new macro \verb|\textSC| is defined so as to exclude capitals and figures from the font change to {\tt xcharter}, making use of an {\tt expl3 regex} method I learned from a posting by Enrico Gregorio. (The regex tries to find all capitals in the argument string---this depends on the use of macros to specify non-ASCII capitals.) I found no way to make an equivalent font switch \verb|\SCshape|. The following lines compare the effects of \verb|\textSC| versus \verb|\textsc| for regular, italic, bold and bold italic.
+
+
+\textSC{Small Caps 2345} v. \textsc{Small Caps 2345}\\
+{\itshape \textSC{Small Caps 2345} v. \textsc{Small Caps 2345}}\\
+{\bfseries \textSC{Small Caps 2345} v. \textsc{Small Caps 2345}}\\
+{\bfseries\itshape \textSC{Small Caps 2345} v. \textsc{Small Caps 2345}}
+
+Users of XeLaTeX/LuaLaTeX will have to contend with irritating LaTeX Font Warnings about \verb|TU/Gelasio(?)/m/sc[it]| being undefined, but the output will be correct.
+
+{\bfseries\textSC{New Text Commands}:}
+\begin{itemize}
+\item
+In unicode tex, font switches \verb|\nufigures|, \verb|\defigures| and \verb|\infigures| are defined for numerators, denominators and inferiors as well as the corresponding macros \verb|\textnum|, \verb|\textde|, and \verb|\textinf|.
+\item (All engines)
+\verb|\textlf|, \verb|\texttlf|, \verb|\textosf|, \verb|\texttosf| give their arguments in lining figures, tabular lining figures, oldstyle figures and tabular oldstyle figures respectively.
+\item For {\tt pdflatex}, macros \verb|\textnum|, \verb|\textde|, and \verb|\textinf| are provided, but not the corresponding font switch commands. (These work by changing the baseline of the superior figures.)
+\item A \verb|\textfrac| macro is provided, intended for regular weight only. E.g., \verb|\textfrac{3}{16}| gives \textfrac{3}{16} and \verb|\textfrac[2]{3}{16}| gives \textfrac[2]{3}{16}.
+\item
+There is a stacked fraction macro, \verb|\textsfrac|. E.g.,
+\verb|\textsfrac[1]{7}{32}| gives \textsfrac[1]{7}{32}. See the documentation for {\tt newtx} for details about the options available. The small denominator figures have configurable size and are made available for general use with the macro \verb|\textsmde|.
+\end{itemize}
+See the documentation for the {\tt newtx} package for detailed information about math typesetting, bearing in mind that {\tt gelasiomath} takes care of loading {\tt gelasio} and {\tt newtxmath}. Here is a sample basic preamble using unicode latex.
+
+\begin{verbatim}
+% !TEX TS-program = lualatex
+\documentclass[11pt,leqno]{article}
+\usepackage[margin=1in]{geometry}
+\usepackage[parfill]{parskip}
+\usepackage{array,booktabs}
+\usepackage[T1]{fontenc} % Active encoding for use in math text
+\usepackage[type1,sfdefault,scale=1]{sourcesanspro}% used by \mathsf
+\usepackage[scaled=.98,varqu,varl]{zi4} % for \mathtt
+% the next line loads fontspec
+\usepackage[amsthm,vvarbb,scosf]{gelasiomath}
+%\setmonofont and \setsansfont could be set here if
+% necessary for use in text passages
+\end{verbatim}
+Here is a well-known nonsense fragment from \emph{The TeXBook.}
+
+With a price of \pounds 148, almost anything can be found \textsc{Floating In \textbf{Fields}.} --- ?`But aren't Kafka's
+Schlo{\ss} and {\AE}sop's {\OE}uvres often \emph{na{\"\i}ve} vis-\`{a}-vis
+the d{\ae}monic ph{\oe}nix's official r\^{o}le in fluffy souffl\'{e}s?
+
+\newcommand\ibinom[2]{\genfrac\lbrace\rbrace{0pt}{}{#1}{#2}}
+% \section*{...}
+The following is borrowed from \emph{The \LaTeX\ Companion Third Edition}.
+
+First some large operators both in text:
+\smash{$ \iiint\limits_{\mathcal{Q}} f(x,y,z)\,dx\,dy\,dz $} and
+ $ \prod_{\gamma\in\Gamma_{\widetilde{C}}}
+ \partial(\widetilde{X}_\gamma) $; and also on display:
+
+\begin{equation} \begin{split} \iiiint\limits_{\mathbf{Q}} f(w,x,y,z)dwdxdydz
+ & \leq \oint_{\bm{\partial Q}} f’ \left( \max \left\lbrace
+ \frac{\lVert w \rVert}{\lvert w^2 + x^2 \rvert} ;
+ \frac{\lVert z \rVert}{\lvert y^2 + z^2 \rvert} ;
+ \frac{\lVert w \oplus z \rVert}{\lVert x \oplus y \rVert}
+ \right\rbrace \right) \\
+ & \precapprox \biguplus_{\mathbb{Q} \Subset \bar{\mathbf{Q}}}
+ \left[ f^{\ast} \left(
+ \frac{\left\lmoustache\mathbb{Q}(t)\right\rmoustache}
+ {\sqrt {1 - t^2}}
+ \right) \right]_{t=\alpha}^{t=\vartheta} - ( \Delta + \nu - v )^3
+ \end{split} \end{equation}
+
+For $x$ in the open interval $ \left] -1, 1 \right[ $ the infinite
+ sum in Equation~(2) is convergent; however, this does
+ not hold throughout the closed interval $ \left[ -1, 1 \right] $.
+
+ \begin{equation}
+ (1 - x)^{-k} = 1 + \sum_{j=1}^{\infty} (-1)^j \ibinom{k}{j} x^j
+ \text{\quad for $k \in \mathbb{N}$; $k \neq 0$.} %\label{eq:binom1}
+ \end{equation}
+
+%\fonttable{Gelasio-Regular-tlf-ot1}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/fonts/gelasiomath/newtx-gel-subs.tex b/Master/texmf-dist/doc/fonts/gelasiomath/newtx-gel-subs.tex
new file mode 100644
index 00000000000..2e6f5722576
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/gelasiomath/newtx-gel-subs.tex
@@ -0,0 +1,17 @@
+{f}{-2.5}
+{j}{-2.5}
+{p}{-2.5}
+{y}{-1.5}
+{A}{-2.5}
+{B}{-1}
+{D}{-1}
+{H}{-1}
+{I}{-1}
+{K}{-1}
+{L}{-1}
+{M}{-1}
+{N}{-0.5}
+{P}{-1}
+{X}{-1}
+{\rho}{-2}
+{\beta}{2} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/fonts/junicode/Feature_Reference.tex b/Master/texmf-dist/doc/fonts/junicode/Feature_Reference.tex
index 77642ab0670..b7e359a9a7e 100644
--- a/Master/texmf-dist/doc/fonts/junicode/Feature_Reference.tex
+++ b/Master/texmf-dist/doc/fonts/junicode/Feature_Reference.tex
@@ -168,7 +168,7 @@ enlarged minuscule for a capital (or, less likely, a lowercase) letter everywher
a & cv02 &
{1=\cvd{2}{a}, 2=\cvd[1]{2}{a}, 3=\cvd[2]{2}{a}, 4=\cvd[3]{2}{a},
5=\cvd[4]{2}{a}, 6=\cvc{\cvd[5]{2}{a}}, 7=\cvd[6]{2}{a}, 8=\cvd[7]{2}{a}, 9=\cvd[8]{2}{a},
- 10=\cvd[9]{2}{a}}\index{cv02|textbf}\\
+ 10=\cvd[9]{2}{a}, 11=\cvd[10]{2}{a}}\index{cv02|textbf}\\
%
\bluerow B & cv03 &
1=\cvc{\cvd{3}{B}}, 2=\cvd[1]{3}{B}\index{cv03|textbf}\\
@@ -180,34 +180,39 @@ b & cv04 &
{1=\cvd{5}{C}, 2=\cvc{\cvd[1]{5}{C}}}\index{cv05|textbf}\\
%
c & cv06 &
-{1=\cvd{6}{c}, 2=\cvd[1]{6}{c}}\index{cv06|textbf}\\
+{1=\cvd{6}{c}, 2=\cvd[1]{6}{c}, 3=\cvd[2]{6}{c}}\index{cv06|textbf}\\
%
\bluerow D & cv07 &
{1=\cvd{7}{D}, 2=\cvc{\cvd[1]{7}{D}}, 3=\cvc{\cvd[2]{7}{D}}}\index{cv07|textbf}\\
%
d & cv08 &
{1=\cvd{8}{d}, 2=\cvd[1]{8}{d}, 3=\cvd[2]{8}{d}, 4=\cvc{\cvd[3]{8}{d}},
- 5=\cvc{\cvd[4]{8}{d}, 6=\cvc{\cvd[5]{8}{d}} (also affects ḋ)}\index{cv08|textbf}}\\
+ 5=\cvc{\cvd[4]{8}{d}}, 6=\cvc{\cvd[5]{8}{d}}, 7=\cvc{\cvd[6]{8}{d}},
+ 8=\cvc{\cvd[7]{8}{d}} (also affects ḋ)}\index{cv08|textbf}\\
%
\bluerow E & cv09 &
{1=\cvd{9}{E}, 2=\cvd[1]{9}{E}, 3=\cvc{\cvd[2]{9}{E}}, 4=\cvd[3]{9}{E}}\index{cv09|textbf}\\
%
e & cv10 &
-{1=\cvd{10}{e}, 2=\cvd[1]{10}{e}, 3=\cvd[2]{10}{e}, 4=\cvc{\cvd[3]{10}{e}}, 5=\cvd[4]{10}{e}}\index{cv10|textbf}\\
+{1=\cvd{10}{e}, 2=\cvd[1]{10}{e}, 3=\cvd[2]{10}{e}, 4=\cvc{\cvd[3]{10}{e}}, 5=\cvd[4]{10}{e},
+6=\cvd[5]{10}{e}, 7=\cvd[6]{10}{e}, 8=\cvd[7]{10}{e}}\index{cv10|textbf}\\
%
\bluerow F & cv11 &
{1=\cvd{11}{F}, 2=\cvc{\cvd[1]{11}{F}, 3=\cvd[2]{11}{F}}}\index{cv11|textbf}\\
%
f & cv12 &
{1=\cvd{12}{f}, 2=\cvd[1]{12}{f}, 3=\cvd[2]{12}{f}, 4=\cvd[3]{12}{f}, 5=\cvd[4]{12}{f},
- 6=\cvd[5]{12}{f}, 7=\cvc{\cvd[6]{12}{f}}, 8=\cvc{\cvd[7]{12}{f}}, 9=\cvd[8]{12}{f}}\index{cv12|textbf}\\
+ 6=\cvd[5]{12}{f}, 7=\cvc{\cvd[6]{12}{f}}, 8=\cvc{\cvd[7]{12}{f}}, 9=\cvd[8]{12}{f},
+ 10=\cvd[9]{12}{f}}\index{cv12|textbf}\\
%
\bluerow G & cv13 &
{1=\cvd{13}{G}, 2=\cvd[1]{13}{G}, 3=\cvd[2]{13}{G}, 4=\cvc{\cvd[3]{13}{G}}}\index{cv13|textbf}\\
%
g & cv14 &
{1=\cvd{14}{g}, 2=\cvd[1]{14}{g}, 3=\cvd[2]{14}{g}, 4=\cvd[3]{14}{g}, 5=\cvd[4]{14}{g},
- 6=\cvd[5]{14}{g}, 7=\cvd[6]{14}{g}, 8=\cvc{\cvd[7]{14}{g}}, 9=\cvc{\cvd[8]{14}{g}}}\index{cv14|textbf}\\
+ 6=\cvd[5]{14}{g}, 7=\cvd[6]{14}{g}, 8=\cvc{\cvd[7]{14}{g}}, 9=\cvc{\cvd[8]{14}{g}},
+ 10=\cvd[9]{14}{g}, 11=\cvd[10]{14}{g}, 12=\cvd[11]{14}{g},
+ 13=\cvd[12]{14}{g}, 14=\cvd[13]{14}{g}, 15=\cvd[14]{14}{g}}\index{cv14|textbf}\\
%
\bluerow H & cv15 &
{1=\cvd{15}{H}, 2=\cvc{\cvd[1]{15}{H}}, 3=\cvd[2]{15}{H}}\index{cv15|textbf}\\
@@ -233,7 +238,8 @@ j & cv20 &
{1=\cvc{\cvd{21}{K}}}\index{cv21|textbf}\\
%
k & cv22 &
-{1=\cvd{22}{k}, 2=\cvd[1]{22}{k}, 3=\cvd[2]{22}{k}, 4=\cvd[3]{22}{k}, \cvc{5=\cvd[4]{22}{k}}, 6=\cvd[5]{22}{k}}\index{cv22|textbf}\\
+{1=\cvd{22}{k}, 2=\cvd[1]{22}{k}, 3=\cvd[2]{22}{k}, 4=\cvd[3]{22}{k}, \cvc{5=\cvd[4]{22}{k}},
+6=\cvd[5]{22}{k}, 7=\cvd[6]{22}{k}}\index{cv22|textbf}\\
%
\bluerow L & cv23 &
{1=\cvc{\cvd{23}{L}}}\index{cv23|textbf}\\
@@ -252,7 +258,8 @@ m & cv26 &
%
n & cv28 &
{1=\cvd{28}{n}, 2=\cvd[1]{28}{n}, 3=\cvd[2]{28}{n}, 4=\cvd[3]{28}{n}, \cvc{5=\cvd[4]{28}{n}},
- 6=\cvd[5]{28}{n}, 7=\cvd[6]{28}{n}, 8=\cvd[7]{28}{n}}\index{cv28|textbf}\\
+ 6=\cvd[5]{28}{n}, 7=\cvd[6]{28}{n}, 8=\cvd[7]{28}{n},
+ \cvc{9=\cvd[8]{28}{n}}}\index{cv28|textbf}\\
%
\bluerow O & cv29 &
{1=\cvd{29}{O}, 2=\cvc{\cvd[1]{29}{O}}}\index{cv29|textbf}\\
@@ -278,7 +285,7 @@ q & cv34 &
%
r & cv36 &
{1=\cvd{36}{r}, 2=\cvd[1]{36}{r}, 3=\cvd[2]{36}{r}, 4=\cvc{\cvd[3]{36}{r}},
-5=\cvd[4]{36}{r}}\index{cv36|textbf}\\
+5=\cvd[4]{36}{r}, 6=\cvd[5]{36}{r}, 7=\cvd[6]{36}{r}}\index{cv36|textbf}\\
%
\bluerow S & cv37 &
{1=\cvd{37}{S}, 2=\cvd[1]{37}{S}, 3=\cvc{\cvd[2]{37}{S}}, 4=\cvd[3]{37}{S}, 5=\cvd[4]{37}{S},
@@ -288,7 +295,7 @@ s & cv38 &
{1=\cvd{38}{s}, 2=\cvd[1]{38}{s}, 3=\cvd[2]{38}{s}, 4=\cvd[3]{38}{s},
5=\cvd[4]{38}{s}, 6=\cvd[5]{38}{s}, 7=\cvc{\cvd[6]{38}{s}}, 8=\cvd[7]{38}{s},
9=\cvd[8]{38}{s}, 10=\cvd[9]{38}{s}, 11=\cvd[10]{38}{s}, 12=\cvd[11]{38}{s},
- 13=\cvd[12]{38}{s}, 14=\cvd[13]{38}{s}}\index{cv38|textbf}\\
+ 13=\cvd[12]{38}{s}, 14=\cvd[13]{38}{s}, 15=\cvd[14]{38}{s}}\index{cv38|textbf}\\
%
\bluerow T & cv39 &
{1=\cvd{39}{T}, 2=\cvc{\cvd[1]{39}{T}}}\index{cv39|textbf}\\
@@ -386,7 +393,8 @@ cv56\index{cv56|textbf} &
\bluerow{\ae} (\unic{U+00E6}) &
cv57\index{cv57|textbf} &
{1=\cvd{57}{\ae}, 2=\cvc{\cvd[1]{57}{\ae}}, 3=\cvd[2]{57}{\ae}, 4=\cvd[3]{57}{\ae},
-5=\cvd[4]{57}{\ae}, 6=\cvd[5]{57}{\ae}}\\
+5=\cvd[4]{57}{\ae}, 6=\cvd[5]{57}{\ae}, 7\cvd[6]{57}{\ae}, 8=\cvd[7]{57}{\ae}
+9=\cvd[8]{57}{\ae}, 10=\cvd[9]{57}{\ae}, 11=\cvd[10]{57}{\ae}}\\
%
Ꜵ (\unic{U+A734}) &
cv58\index{cv58|textbf} &
@@ -631,27 +639,33 @@ Stylistic\index{salt|textbf} Alternates (medieval capitals, etc.)}\hypertarget{s
Junicode has two series of decorative capitals in medieval scripts. These affect only the letters
A-Z and a-z. \textSourceText{salt[1]} provides rustic capitals, a script used for text in the late
ancient and early medieval periods and for display until around the eleventh century:
-\textex{\addfontfeature{StylisticAlternates=0}Gazifrequens Libycos duxit Karthago triumphos}. \textSourceText{salt[2]}
-provides Lombardic capitals, a style used mainly for what are now called drop caps. Junicode’s Lombardic capitals
-are not suitable for running text, titles, or headers:
-\textex{\addfontfeature{StylisticAlternates=1}A\,B\,C\,D\,E\,F}.
-Rustic capital Æ is available (\textex{\addfontfeature{StylisticAlternates=0}Æ}), but not Lombardic.
+\textex{\salti{0}{Gazifrequens Libycos duxit Karthago triumphos}}. \textSourceText{salt[2]}
+provides Lombardic capitals, a style used mainly for what are now called drop caps and not for
+running text, titles, or headers:
+\textex{\salti{1}{A\,B\,C\,D\,E\,F}}.
+Rustic capital Æ is available (\textex{\salti{0}{Æ}}), but not Lombardic.
\textSourceText{salt[3]} provides variants of rustic G and Lombardic F and T:
-\textex{\addfontfeature{StylisticAlternates=2}G\,F\,T}.
+\textex{\salti{2}{G\,F\,T}}
Miscellaneous alternates (for which Character Variants are
-unavailable) are also gathered here on \textSourceText{salt[1]}:
-ð \rightarrow{ }\textex{\addfontfeature{Language=English,StylisticAlternates=0}ð},
-ẏ \rightarrow{ }\textex{\addfontfeature{Language=English,StylisticAlternates=0}ẏ},
-ƚ \rightarrow{ }\textex{\addfontfeature{Language=English,StylisticAlternates=0}ƚ}.
-Also miscellaneous non-alphabetic characters:
-⁓ \rightarrow{ }\textex{\addfontfeature{Language=English,StylisticAlternates=0}⁓},
-- \rightarrow{ }\textex{\addfontfeature{Language=English,StylisticAlternates=0}-},
-☞ \rightarrow{ }\textex{\addfontfeature{Language=English,StylisticAlternates=0}☞} (a variant of the
-right index character used by Thomas Pynchon).
-Three variants of U+2E4D (⹍):
-1=\textex{\addfontfeature{Language=English,StylisticAlternates=0}⹍},
-2=\textex{\addfontfeature{Language=English,StylisticAlternates=1}⹍},
-3=\textex{\addfontfeature{Language=English,StylisticAlternates=2}⹍}.
+unavailable) are also gathered here:
+
+\begin{multicols}{2}
+\color{GGOrange} ⹍: 1=\salti{0}{⹍}, 2=\salti{1}{⹍}, 3=\salti{2}{⹍}.
+
+{\addfontfeature{Language=English}ð: 1=\salti{0}{ð}, 2=\salti{1}{ð}, 3=\salti{2}{ð}.}
+
+ẏ: 1=\salti{0}{ẏ}.
+
+☞: 1=\salti{0}{☞}.
+
+- (hyphen): 1=\salti{0}{-}.
+
+ƚ: 1=\salti{0}{ƚ}.
+
+ꝭ: 1=\salti{0}{ꝭ}.
+
+ƿ: 1=\salti{0}{ƿ}.
+\end{multicols}
\subsection{\textSourceText{cv68} – Variant of ʔ (\unic{U+0294}, glottal stop)}
@@ -1177,7 +1191,8 @@ Colons,\index{ss18|textbf} semicolons, parentheses, quotation marks and several
\subsection{\textSourceText{cv69} – Variants of ⁊⹒
(\unic{U+204A / U+2E52}, Tironian nota)}
1=\cvd{69}{⁊⹒}, 2=\cvd[1]{69}{⁊⹒}, 3=\cvd[2]{69}{⁊⹒}, 4=\cvd[3]{69}{⁊⹒}, 5=\cvd[4]{69}{⁊⹒},
-6=\cvd[5]{69}{⁊⹒}, 7=\cvd[6]{69}{⁊⹒}, 8=\cvd[7]{69}{⁊⹒}, 9=\cvd[8]{69}{⁊⹒}.\index{cv69|textbf}
+6=\cvd[5]{69}{⁊⹒}, 7=\cvd[6]{69}{⁊⹒}, 8=\cvd[7]{69}{⁊⹒}, 9=\cvd[8]{69}{⁊⹒},
+10=\cvd[9]{69}{⁊⹒}, 11=\cvd[10]{69}{⁊⹒}.\index{cv69|textbf}
\subsection{\textSourceText{cv70} –
Variants of . (period)}\index{cv70|textbf}
@@ -1362,9 +1377,13 @@ with the diacritic properly positioned.
35\hfill=\hfill\cvd[34]{84}{◌͏̄}
-36\hfill=\hfill\cvd[34]{84}{◌͏̄}
+36\hfill=\hfill\cvd[35]{84}{◌͏̄}
+
+37\hfill=\hfill\cvd[36]{84}{◌͏̄}
-37\hfill=\hfill\cvd[34]{84}{◌͏̄}
+38\hfill=\hfill\cvd[37]{84}{◌͏̄}
+
+39\hfill=\hfill\cvd[38]{84}{◌͏̄}
\end{multicols}\index{cv84}
\subsection{\textSourceText{cv81} – Variants of ◌͛ (\unic{U+035B}, combining
@@ -1704,251 +1723,251 @@ Cmd-D: enable Kerning, Standard Ligatures, and Contextual Alternates, and the ot
but in most other applications they are enabled by default.
-\chapter{Non-MUFI Code Points}\hypertarget{nonmufi}{}
+% \chapter{Non-MUFI Code Points}\hypertarget{nonmufi}{}
-Characters in Junicode that do not have Unicode code points should be accessed via OpenType
-features whenever possible. MUFI/PUA code points should be used only in applications that do not support OpenType, or
-that support it only partially (for example, MS Word). For certain characters that lack either Unicode or MUFI code
-points, code points in the Supplementary Private Use Area-A (plane 15) are available.
+% Characters in Junicode that do not have Unicode code points should be accessed via OpenType
+% features whenever possible. MUFI/PUA code points should be used only in applications that do not support OpenType, or
+% that support it only partially (for example, MS Word). For certain characters that lack either Unicode or MUFI code
+% points, code points in the Supplementary Private Use Area-A (plane 15) are available.
-\begin{multicols}{4}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0000\hfill\cvd{53}{Ą}}
+% \begin{multicols}{4}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0000\hfill\cvd{53}{Ą}}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0001\hfill{}󰀁}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0001\hfill{}󰀁}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0002\hfill{}󰀂}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0002\hfill{}󰀂}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0003\hfill{}󰀃}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0003\hfill{}󰀃}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0004\hfill{}󰀄}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0004\hfill{}󰀄}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0005\hfill{}󰀅}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0005\hfill{}󰀅}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0006\hfill{}󰀆}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0006\hfill{}󰀆}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0007\hfill{}󰀇}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0007\hfill{}󰀇}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0008\hfill{}󰀈}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0008\hfill{}󰀈}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0009\hfill{}󰀉}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0009\hfill{}󰀉}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F000A\hfill{}󰀊}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F000A\hfill{}󰀊}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F000B\hfill{}󰀋}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F000B\hfill{}󰀋}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F000C\hfill{}󰀌}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F000C\hfill{}󰀌}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F000D\hfill{}󰀍}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F000D\hfill{}󰀍}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F000E\hfill{}󰀎}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F000E\hfill{}󰀎}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F000F\hfill{}󰀏}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F000F\hfill{}󰀏}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0010\hfill{}󰀐}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0010\hfill{}󰀐}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0011\hfill{}󰀑}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0011\hfill{}󰀑}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0012\hfill{}󰀒}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0012\hfill{}󰀒}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0013\hfill{}󰀓}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0013\hfill{}󰀓}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0014\hfill{}󰀔}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0014\hfill{}󰀔}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0015\hfill{}󰀕}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0015\hfill{}󰀕}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0016\hfill{}󰀖}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0016\hfill{}󰀖}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0017\hfill{}󰀗}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0017\hfill{}󰀗}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0018\hfill{}󰀘}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0018\hfill{}󰀘}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0019\hfill{}󰀙}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0019\hfill{}󰀙}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F001A\hfill{}󰀚}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F001A\hfill{}󰀚}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F001B\hfill{}󰀛}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F001B\hfill{}󰀛}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F001C\hfill{}󰀜}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F001C\hfill{}󰀜}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F001D\hfill{}󰀝}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F001D\hfill{}󰀝}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F001E\hfill{}󰀞}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F001E\hfill{}󰀞}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F001F\hfill{}󰀟}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F001F\hfill{}󰀟}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0020\hfill\char"0F0020}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0020\hfill\char"0F0020}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0021\hfill\char"0F0021}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0021\hfill\char"0F0021}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0030\hfill\char"0F0030}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0030\hfill\char"0F0030}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0031\hfill\char"0F0031}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0031\hfill\char"0F0031}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0032\hfill\char"0F0032}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0032\hfill\char"0F0032}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0033\hfill\char"0F0033}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0033\hfill\char"0F0033}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0034\hfill\char"0F0034}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0034\hfill\char"0F0034}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0035\hfill\char"0F0035}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0035\hfill\char"0F0035}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0036\hfill\char"0F0036}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0036\hfill\char"0F0036}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0037\hfill\char"0F0037}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0037\hfill\char"0F0037}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0038\hfill\char"0F0038}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0038\hfill\char"0F0038}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0039\hfill\char"0F0039}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0039\hfill\char"0F0039}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F003A\hfill\char"0F003A}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F003A\hfill\char"0F003A}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F003B\hfill\char"0F003B}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F003B\hfill\char"0F003B}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F003C\hfill\char"0F003C}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F003C\hfill\char"0F003C}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F003D\hfill\char"0F003D}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F003D\hfill\char"0F003D}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F003E\hfill\char"0F003E}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F003E\hfill\char"0F003E}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F003F\hfill\char"0F003F}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F003F\hfill\char"0F003F}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0040\hfill\char"0F0040}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0040\hfill\char"0F0040}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0041\hfill\char"0F0041}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0041\hfill\char"0F0041}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0042\hfill\char"0F0042}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0042\hfill\char"0F0042}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0043\hfill\char"0F0043}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0043\hfill\char"0F0043}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0044\hfill\char"0F0044}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0044\hfill\char"0F0044}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0045\hfill\char"0F0045}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0045\hfill\char"0F0045}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0046\hfill\char"0F0046}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0046\hfill\char"0F0046}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0047\hfill\char"0F0047}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0047\hfill\char"0F0047}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0048\hfill\char"0F0048}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0048\hfill\char"0F0048}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0049\hfill\char"0F0049}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0049\hfill\char"0F0049}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F004A\hfill\char"0F004A}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F004A\hfill\char"0F004A}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F004B\hfill\char"0F004B}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F004B\hfill\char"0F004B}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F004C\hfill\char"0F004C}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F004C\hfill\char"0F004C}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F004D\hfill\char"0F004D}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F004D\hfill\char"0F004D}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F004E\hfill\char"0F004E}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F004E\hfill\char"0F004E}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F004F\hfill\char"0F004F}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F004F\hfill\char"0F004F}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0050\hfill\char"0F0050}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0050\hfill\char"0F0050}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0051\hfill\char"0F0051}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0051\hfill\char"0F0051}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0052\hfill\char"0F0052}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0052\hfill\char"0F0052}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0053\hfill\char"0F0053}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0053\hfill\char"0F0053}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0054\hfill\char"0F0054}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0054\hfill\char"0F0054}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0055\hfill\char"0F0055}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0055\hfill\char"0F0055}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0056\hfill\char"0F0056}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0056\hfill\char"0F0056}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0057\hfill\char"0F0057}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0057\hfill\char"0F0057}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0058\hfill\char"0F0058}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0058\hfill\char"0F0058}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F0059\hfill\char"0F0059}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F0059\hfill\char"0F0059}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F005A\hfill\char"0F005A}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F005A\hfill\char"0F005A}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F005B\hfill\char"0F005B}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F005B\hfill\char"0F005B}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F005C\hfill\char"0F005C}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F005C\hfill\char"0F005C}
-{\color[rgb]{0.13333334,0.29411766,0.07058824}
-U+F005D\hfill\char"0F005D}
-\end{multicols}
+% {\color[rgb]{0.13333334,0.29411766,0.07058824}
+% U+F005D\hfill\char"0F005D}
+% \end{multicols}
diff --git a/Master/texmf-dist/doc/fonts/junicode/GettingStarted.tex b/Master/texmf-dist/doc/fonts/junicode/GettingStarted.tex
index 56bc48b825c..d458a13eec7 100644
--- a/Master/texmf-dist/doc/fonts/junicode/GettingStarted.tex
+++ b/Master/texmf-dist/doc/fonts/junicode/GettingStarted.tex
@@ -29,7 +29,7 @@ and there are good reasons to choose
the variable version of Junicode for any web project. The greatest reason to go
with the variable version is to speed the loading of web pages: users will never
have to download more than two font files (the size of which can be radically
-reduced via subsetting, explained in Section 9 of this Manual). Additionally,
+reduced via subsetting, explained in Section 8 of this Manual). Additionally,
however, variable fonts can make a page of text more dynamic and visually
interesting. See Mozilla's
\href{https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_fonts/Variable_fonts_guide}%
diff --git a/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.pdf b/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.pdf
index 9e09c2440f5..ecea72494e3 100644
--- a/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.pdf
+++ b/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.sty b/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.sty
index f7c4c7ab465..ea6cfe19599 100644
--- a/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.sty
+++ b/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.sty
@@ -100,6 +100,7 @@
\newcommand\textstyleEmphasis[1]{\textit{#1}}
\newcommand\textstyleEntityRef[1]{\textrm{#1}}
\newcommand{\cvd}[3][0]{{\addfontfeature{CharacterVariant=#2:#1}#3}}
+\newcommand{\salti}[2]{{\addfontfeature{StylisticAlternates=#1}#2}}
\newcommand{\hlig}[1]{{\addfontfeature{Ligatures=Historic}#1}}
\newcommand{\sups}[1]{{\addfontfeature{VerticalPosition = Superior}#1}}
\newcommand{\subs}[1]{{\addfontfeature{VerticalPosition = Inferior}#1}}
diff --git a/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.tex b/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.tex
index c23269c36c4..dbe787c4552 100644
--- a/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.tex
+++ b/Master/texmf-dist/doc/fonts/junicode/JunicodeManual.tex
@@ -13,7 +13,7 @@
\huge \centering the font for medievalists \\[1cm]
\Huge\centering {\color{myRed}} \\[1cm]
\huge\centering {\jItalic specimens and user manual} \\[1ex]
- \Large\centering{\jRegular for version 2.208}\\
+ \Large\centering{\jRegular for version 2.209}\\
\vfill
{\color{myRed}}
\end{titlepage}
@@ -44,6 +44,8 @@
\input{encoded-glyphs.tex}
+\input{upperpua.tex}
+
\printindex
\vspace*{\fill}
diff --git a/Master/texmf-dist/doc/fonts/junicode/README b/Master/texmf-dist/doc/fonts/junicode/README
index c3ddaf1b199..cc3a848111f 100644
--- a/Master/texmf-dist/doc/fonts/junicode/README
+++ b/Master/texmf-dist/doc/fonts/junicode/README
@@ -1,5 +1,5 @@
-This is the README for version 2.208 of Peter S. Baker's
-Junicode family of fonts (2024-06-06). The Junicode font is
+This is the README for version 2.209 of Peter S. Baker's
+Junicode family of fonts (2024-07-17). The Junicode font is
primarily for scholars and students of the Middle Ages, but
it serves users with a wide variety of interests. It tracks
the development of the Medieval Unicode Font Initiative
@@ -7,9 +7,13 @@ the development of the Medieval Unicode Font Initiative
but it also provides many OpenType features that allow users
to access MUFI characters in accessible ways.
-Version 2.208 rearranges naming and encoding of standard
-f-ligatures to work better with the TeX font utility
-otftotfm. It also adds U+1DC4 combining macron-acute.
+This version of Junicode adds more than forty new glyphs
+for the Ansund project. It also adjusts the slant of
+proportional old-style figures; fixes an occasional problem
+with the combining dot accent; adds a couple of archaic
+phonetic characters; and fixes a bug that prevented the
+correct operation of a shortcut key combination in Adobe
+InDesign.
This package supports the Junicode static fonts for
XeLaTeX, LuaLaTeX and [pdf]LaTeX. To install this
diff --git a/Master/texmf-dist/doc/fonts/junicode/Specimens.tex b/Master/texmf-dist/doc/fonts/junicode/Specimens.tex
index 31526877027..df35dc9f33f 100644
--- a/Master/texmf-dist/doc/fonts/junicode/Specimens.tex
+++ b/Master/texmf-dist/doc/fonts/junicode/Specimens.tex
@@ -167,7 +167,7 @@ sadr̥śāsadr̥śatvācca viṣayāviṣayatvataḥ \\
{\small\jSmCondItalic Lithuanian poses several typographical challenges. Make sure
Contextual Alternates (calt\index{calt}) is turned on; for i̇́, use i followed
- by combining dot accent (\unic{U+0307}) and acute (\unic{U+0301}).}\\[1ex]
+ by combining dot accent (\kern+1.5pt\unic{U+0307}) and acute (\kern+1.5pt\unic{U+0301}).}\\[1ex]
{\jExp\addfontfeature{Language=Lithuanian} Visa žemė turėjo vieną kalbą ir tuos pačius žodžius. Kai žmonės
kėlėsi iš rytų, jie rado slėnį Šinaro krašte ir ten įsikūrė. Vieni
kitiems sakė: Eime, pasidirbkime plytų ir jas išdekime. – Vietoj
diff --git a/Master/texmf-dist/doc/fonts/junicode/encoded-glyphs.tex b/Master/texmf-dist/doc/fonts/junicode/encoded-glyphs.tex
index 9ca17260996..a9f024b38f8 100644
--- a/Master/texmf-dist/doc/fonts/junicode/encoded-glyphs.tex
+++ b/Master/texmf-dist/doc/fonts/junicode/encoded-glyphs.tex
@@ -13,5 +13,5 @@ and these spill out on one or more sides.
\displayfonttable[color=blue,title-format=\caption{Encoded Glyphs in Junicode},
title-format-cont=\caption{Encoded Glyphs in Junicode, \emph{cont.}}, missing-glyph=•,
-missing-glyph-color=blue, range-end=F005F, glyph-width=12pt, hex-digits=head]{JunicodeVF-Roman.ttf}[Renderer=HarfBuzz]
+missing-glyph-color=blue, range-end=FFFFF, glyph-width=12pt, hex-digits=head]{JunicodeVF-Roman.ttf}[Renderer=HarfBuzz]
diff --git a/Master/texmf-dist/doc/fonts/junicode/junicode-samples.pdf b/Master/texmf-dist/doc/fonts/junicode/junicode-samples.pdf
index bd0f7b6a332..260aab76f6a 100644
--- a/Master/texmf-dist/doc/fonts/junicode/junicode-samples.pdf
+++ b/Master/texmf-dist/doc/fonts/junicode/junicode-samples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/junicode/upperpua.tex b/Master/texmf-dist/doc/fonts/junicode/upperpua.tex
new file mode 100644
index 00000000000..a1c5edfaf05
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/junicode/upperpua.tex
@@ -0,0 +1,242 @@
+\noindent Because the package that produced the table above cannot handle Unicodes greater than
+U+FFFFF, these are listed separately below.
+
+\begin{multicols}{4}
+\setlength{\parindent}{0em}\addfontfeature{Numbers={Lining,Uppercase}}10A03D: 􊀽
+
+10A047: 􊁇
+
+10A026: 􊀦
+
+10A036: 􊀶
+
+10A03F: 􊀿
+
+10A048: 􊁈
+
+10A04E: 􊁎
+
+10A04A: 􊁊
+
+10A04C: 􊁌
+
+10A008: 􊀈
+
+10A02B: 􊀫
+
+10A04B: 􊁋
+
+10A04D: 􊁍
+
+10A022: 􊀢
+
+10A045: 􊁅
+
+10A023: 􊀣
+
+10A029: 􊀩
+
+10A044: 􊁄
+
+10A03E: 􊀾
+
+10A040: 􊁀
+
+10A031: 􊀱
+
+10A027: 􊀧
+
+10A053: 􊁓
+
+10A006: 􊀆
+
+10A021: 􊀡
+
+10A02C: 􊀬
+
+10A037: 􊀷
+
+10A04F: 􊁏
+
+10A007: 􊀇
+
+10A032: 􊀲
+
+10A050: 􊁐
+
+10A033: 􊀳
+
+10A054: 􊁔
+
+10A003: 􊀃
+
+10A004: 􊀄
+
+10A005: 􊀅
+
+10A039: 􊀹
+
+10A024: 􊀤
+
+10A00D: 􊀍
+
+10A01D: 􊀝
+
+10A049: 􊁉
+
+10A025: 􊀥
+
+10A028: 􊀨
+
+10A01B: 􊀛
+
+10A051: 􊁑
+
+10A052: 􊁒
+
+10A02D: 􊀭
+
+10A02E: 􊀮
+
+10A02F: 􊀯
+
+10A00A: 􊀊
+
+10A00B: 􊀋
+
+10A00E: 􊀎
+
+10A00F: 􊀏
+
+10A010: 􊀐
+
+10A011: 􊀑
+
+10A012: 􊀒
+
+10A013: 􊀓
+
+10A014: 􊀔
+
+10A015: 􊀕
+
+10A016: 􊀖
+
+10A017: 􊀗
+
+10A018: 􊀘
+
+10A034: 􊀴
+
+10A035: 􊀵
+
+10A03A: 􊀺
+
+10A030: 􊀰
+
+10A019: 􊀙
+
+10A046: 􊁆
+
+10A00C: 􊀌
+
+10A03B: 􊀻
+
+10A01F: 􊀟
+
+10A041: 􊁁
+
+10A03C: 􊀼
+
+10A01E: 􊀞
+
+10A042: 􊁂
+
+10A043: 􊁃
+
+10A001: 􊀁
+
+10A002: 􊀂
+
+10A055: 􊁕
+
+10A056: 􊁖
+
+10A057: 􊁗
+
+10A058: 􊁘
+
+10A059: 􊁙
+
+10A05A: 􊁚
+
+10A05B: 􊁛
+
+10A05C: 􊁜
+
+10A05D: ◌􊁝
+
+10A05E: 􊁞
+
+10A05F: 􊁟
+
+10A060: 􊁠
+
+10A061: 􊁡
+
+10A062: 􊁢
+
+10A063: 􊁣
+
+10A064: 􊁤
+
+10A065: 􊁥
+
+10A066: 􊁦
+
+10A067: 􊁧
+
+10A068: 􊁨
+
+10A069: 􊁩
+
+10A06A: 􊁪
+
+10A06B: 􊁫
+
+10A06D: 􊁭
+
+10A06E: 􊁮
+
+10A06F: 􊁯
+
+10A070: 􊁰
+
+10A071: 􊁱
+
+10A073: 􊁳
+
+10A074: 􊁴
+
+10A075: ◌􊁵
+
+10A076: 􊁶
+
+10A077: 􊁷
+
+10A078: 􊁸
+
+10A079: 􊁹
+
+10A07A: 􊁺
+
+10A07B: 􊁻
+
+10A07C: 􊁼
+
+10A07D: 􊁽
+
+10A07E: 􊁾
+
+10A07F: 􊁿
+\end{multicols}
diff --git a/Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.ltx b/Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.ltx
index 3075db7835e..f89d716c94c 100644
--- a/Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.ltx
+++ b/Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.ltx
@@ -49,7 +49,7 @@
\author{Chenjing Bu --- Daniel Flipo\\
\url{https://github.com/abccsss/LeteSansMath}}
-\newcommand*{\version}{0.40}
+\newcommand*{\version}{0.41}
\setlength{\parindent}{0pt}
\setlength{\parskip}{12pt plus 3pt minus 3pt}
@@ -287,6 +287,7 @@ and $\varphi$ instead of $\epsilon$ and $\phi$, you can add option
cv08 & $\sigma$ & $\varsigma$ & \cmd{sigma} \\
cv09 & $\theta$ & $\vartheta$ & \cmd{theta} \\
cv10 & $\Theta$ & $\varTheta$ & \cmd{Theta}\\
+ cv11 & $g$ & $\mitvarg$ & g \\
\hline
\end{tabular}
\end{table}
diff --git a/Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.pdf b/Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.pdf
index cec5302d510..c07728e637f 100644
--- a/Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.pdf
+++ b/Master/texmf-dist/doc/fonts/lete-sans-math/LeteSansMath.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/lete-sans-math/README.md b/Master/texmf-dist/doc/fonts/lete-sans-math/README.md
index 2ed767a4dc6..f06c61df8b8 100644
--- a/Master/texmf-dist/doc/fonts/lete-sans-math/README.md
+++ b/Master/texmf-dist/doc/fonts/lete-sans-math/README.md
@@ -59,7 +59,11 @@ Either version 1.3c or, at your option, any later version.
Fonts renamed from "Lato Math" to "Lete Sans Math" due to the
Reserved Font Name clause on the Lato fonts.
Package "lato-math" renamed as "lete-sans-math".
-
+
+* v.0.41
+ Added feature cv11 to provide a single-storey variant for lowercase g
+ (upright, italic, bold, bolditalic).
+
---
Copyright 2024 Chenjing Bu, Daniel Flipo.
https://github.com/abccsss/LeteSansMath/
diff --git a/Master/texmf-dist/doc/fonts/lete-sans-math/unimath-lete.pdf b/Master/texmf-dist/doc/fonts/lete-sans-math/unimath-lete.pdf
index 6c646cca6b9..0d88c234c79 100644
--- a/Master/texmf-dist/doc/fonts/lete-sans-math/unimath-lete.pdf
+++ b/Master/texmf-dist/doc/fonts/lete-sans-math/unimath-lete.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/luwiantype/OFL.txt b/Master/texmf-dist/doc/fonts/luwiantype/OFL.txt
new file mode 100644
index 00000000000..9513c84d1d3
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/luwiantype/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2022 The Noto Project Authors (https://github.com/notofonts/anatolian-hieroglyphs)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Master/texmf-dist/doc/fonts/luwiantype/README.md b/Master/texmf-dist/doc/fonts/luwiantype/README.md
new file mode 100644
index 00000000000..0f69525bca1
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/luwiantype/README.md
@@ -0,0 +1,41 @@
+LuwianType Package v1.2
+==================
+2024/07/15
+
+Maintainer: Jonathan Walls
+
+jonathan.walls@ling-phil.ox.ac.uk
+
+___________________________
+
+The LuwianType package allows for typing in Hieroglyphic Luwian in LaTeX documents, using relatively simple commands based on the Latin transcriptions of the various signs. It also includes some formatting commands designed to allow boustrophedon and columns, as well as shorthands for symbols commonly used in transcriptions.
+
+The luwiantype-doc.tex file is the LaTeX version of the documentation which can be run as a testing ground for new users.
+
+__________________________
+
+
+Copyright 2024 Jonathan Walls
+
+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/lppl-1-3c.txt
+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'.
+
+The Current Maintainer of this work is Jonathan Walls.
+
+This work consists of the files luwiantype.sty, luwiantype-doc.tex and the derived file luwiantype-doc.pdf.
+
+The LuwianFont.ttf file consists of the Google Noto Sans Anatolian Hieroglyphs font, distributed under the terms of the included Open Font License.
+
+
+Version history:
+1.2 - updated to resolve some minor typos and command formatting
+1.1 - updated to comply with CTAN formatting requirements, adjustments to licensing
+
diff --git a/Master/texmf-dist/doc/fonts/luwiantype/U14400.pdf b/Master/texmf-dist/doc/fonts/luwiantype/U14400.pdf
new file mode 100644
index 00000000000..793842562ef
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/luwiantype/U14400.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/luwiantype/lppl1-3c.txt b/Master/texmf-dist/doc/fonts/luwiantype/lppl1-3c.txt
new file mode 100644
index 00000000000..1b57559a832
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/luwiantype/lppl1-3c.txt
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2008 M. Y. Name
+ %
+ % 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 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/Master/texmf-dist/doc/fonts/luwiantype/luwiantype-doc.pdf b/Master/texmf-dist/doc/fonts/luwiantype/luwiantype-doc.pdf
new file mode 100644
index 00000000000..406fb8fab0a
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/luwiantype/luwiantype-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/luwiantype/luwiantype-doc.tex b/Master/texmf-dist/doc/fonts/luwiantype/luwiantype-doc.tex
new file mode 100644
index 00000000000..1529b12e4e1
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/luwiantype/luwiantype-doc.tex
@@ -0,0 +1,180 @@
+%% Copyright 2024 Jonathan Walls
+%
+% 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/lppl-1-3c.txt
+% 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'.
+%
+% The Current Maintainer of this work is Jonathan Walls.
+%
+% This work consists of the files luwiantype.sty, luwiantype-doc.tex
+% and the derived file luwiantype-doc.pdf.
+%
+%
+% Version history:
+% 1.2 - updated to resolve some minor typos and command formatting
+% 1.1 - updated to comply with CTAN formatting requirements, adjustments to licensing
+
+\documentclass[12pt,A4]{article}
+\usepackage{fontspec}
+\usepackage{polyglossia}
+\usepackage[notes,backend=biber]{biblatex-chicago}
+\usepackage{csquotes}
+
+\usepackage{expex}
+\setdefaultlanguage{english}
+\usepackage{lua-ul, luacolor}
+\usepackage{hyperref}
+\setmainfont{Charis SIL}
+\usepackage{luwiantype}
+\usepackage{float}
+
+\title{The LuwianType Package}
+\author{Jonathan Walls}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This package aims to allow platform-agnostic typing in Luwian hieroglyphs using LaTeX. It is based on the Noto Sans Anatolian Hieroglyphic font by Google, and incorporates functionality from the fontspec, stackengine, and graphicx packages in order to create a system for the aforementioned purpose.
+
+\section{Setup}
+The system aims to be maximally user-friendly (to the extent that LaTeX ever is), allowing more-or-less free typing using Latin characters as LaTeX commands which are then converted to hieroglyphic text in the PDF. To begin, in the project folders, one must include:
+\begin{enumerate}
+ \item The Fonts folder containing the necessary fonts
+ \item The luwiantype.sty file containing the commands necessary for the Unicode conversions.
+\end{enumerate}
+
+In the preamble of the main.tex file (or however you name your main project file), one must also include the following line to import the package:\small
+\begin{verbatim}
+\usepackage{luwiantype}
+\end{verbatim}
+\normalsize\newpage
+This will incorporate the fontspec package allowing switching to the Unicode font, bring in the LuwianType functionality from the .sty file, and create a
+\begin{verbatim}
+ \Luwian
+\end{verbatim}
+command which will allow easy switching to the cuneiform typing mode. To switch back, simply use the \verb|\Lat| command.
+
+\section{Usage}
+\subsection{Basic Hieroglyphic Typing}
+To use the package, in a given section, you can trigger the cuneiform writing mode by using the \verb|\Luwian| command as listed above. Each character is designated by an uppercase command (to differentiate it from other stock LaTeX commands), and subscripts for sign variants are given in brackets. Typing is made fairly easy by simply turning on caps lock. An example of use is shown below:
+\begin{verbatim}
+ \Luwian\DEUS\KU\AVIS\PA\PA\SA\Lat
+\end{verbatim}
+This displays the hieroglyphic inline text corresponding to:
+\\
+
+\noindent(DEUS)ku-AVIS-pa-pa-sa
+
+ \noindent\Luwian\DEUS\KU\AVIS\PA\PA\SA\\\Lat
+
+Luwian of course is written in boustrophedon pattern, and the graphicx package has been utilized to create a \verb|\boust{}| command which takes arguments and then mirrors the text for R-to-L reading as shown:
+
+\begin{verbatim}
+ \Luwian\boust{\DEUS\KU\AVIS\PA\PA\SA}\\
+\end{verbatim}
+ \Luwian\boust{\DEUS\KU\AVIS\PA\PA\SA}\\\Lat
+
+\newpage Luwian, however, was written not in strict linear fashion, but included columns as well. This, naturally, is much more easily reproduced in physical media than in text, but the stackengine package allows us to approximate the look and feel of real Luwian text, should this be required. For this purpose, we have the \verb|\gstack{{\argi} {\argii} {\etc}}| command which stacks glyphs in a ``glyph stack," with as many glyphs as needed.
+
+ \begin{verbatim}
+ \Luwian\gstack{{\DEUS} {\KU} {\AVIS}}\gstack{{\PA} {\PA} {\SA}}
+ \HUGE\gstack{{ } {\REX}}
+ \end{verbatim}
+ \Luwian\gstack{{\DEUS} {\KU} {\AVIS}}\gstack{{\PA} {\PA} {\SA}}\HUGE\gstack{{ } {\REX}}\Lat\\
+
+In this example, we can see the two glyph stacks, with each glyph in brackets and separated by a space in the \verb|\gstack| command, shown next to each other, as well as a following stack made up of a single large REX sign and an empty argument. Often, single signs may be written large and take up an entire column, which is best approximated by what is shown above. Here, the font size is changed with \verb|\HUGE|, and a space argument is fed into the glyph stack to help with spacing. This system is very flexible, and able to relatively neatly approximate the look of most Luwian text.\\
+
+To change between S\'A and S\`A, use the following syntax:
+\begin{verbatim}
+ \SA[2]
+ \SA[3]
+ %the base SA character can be had with
+ \SA
+\end{verbatim}
+Thus \Luwian\SA[2], \SA[3], \SA,\setmainfont{Charis SIL}\normalsize in order.
+
+Commands which correspond to numbers, i.e., 1, 2, etc., are in the LaTeX code with
+\begin{verbatim}
+ \ONE
+ \TWO
+\end{verbatim}
+as LaTeX does not allow numeric characters in command names. Signs with varying vowels like \textit{wa/i} have both vowels in the command name, unseparated, as in \verb|\WAI|. Those signs which are compound, such as LITUUS+na will be designated without any break between the signs as \verb|\LITUUSNA|, except on the rare occasion where a distinction needs to be made between two signs joined by . or +, in which case the latter is designated \verb|PLUS| in the command name. The signs which do not have a standard reading such as \Luwian\LIII\Lat will be designated by an L (Laroche) and the appropriate Laroche number in roman numerals, as in \verb|\LIII|. The special signs for word divisions, logograms, and personal identifiers are \Luwian\VIRIIA \Lat\verb|\VIRIIA|, \Luwian\LOGS \Lat\verb|\LOGS| ("logogram start"), \Luwian\LOGE \Lat\verb|\LOGE| ("logogram end"), and \Luwian\PERS \Lat\verb|\PERS|.
+
+\subsection{Formatting Transcriptions}
+This package also contains a number of commands which are useful for formatting transcriptions of Luwian, which follows conventions that are often tedious to work through. Some of these will create special characters often used in such transcriptions, as in the following table.
+
+
+\begin{table}[H]
+ \centering
+ \begin{tabular}{cc}
+ \textbf{Command} & \textbf{Effect} \\ \hline
+ \verb|\badeq| (``bad equal") & \badeq\\
+ \verb|\hl| (``half left") & \hl\\
+ \verb|\hr| (``half right") & \hr\\
+ \end{tabular}
+\end{table}
+
+Some other commands are included which serve to facilitate formatting, as shown in the following table.
+
+
+\begin{table}[H]
+ \centering
+ \begin{tabular}{cc}
+ \textbf{Command} & \textbf{Effect} \\ \hline
+ \verb|\tsup{}| & \tsup{M}\\
+ \verb|\tsub{}| & \tsub{2}\\
+ \end{tabular}
+\end{table}
+
+\verb|\tsup| and \verb|\tsub| create super- and subscripts, respectively.
+
+\subsection{Working with expex}
+
+If one is using the expex package for interlinear translation or example glossing, the easiest thing to do is to define a new glw level as shown in this example:
+\color{red}
+\begin{verbatim}
+\defineglwlevels{luw}
+\begingl[glwordalign=center,glhangstyle=none, aboveglftskip=0pt,
+ everygla=\normalfont, everyglluw=\Luwian]
+\end{verbatim}\color{black}
+\begin{verbatim}
+\gla REX \textsuperscript{I}t\'a-i-t\'a-sa EGO-wa/i-mi
+(VIR\textsubscript{2})HEROS (VIR\textsubscript{2})pa-l\'a/\'i-s\`a-ti-[n\'i]-za-sa
+REX a-wa/i x mi-i-*a//
+\end{verbatim}\color{red}
+\begin{verbatim}
+\glluw {\REX} {\PERS\TA[2]\I\TA[2]\SA} {\EGO\WAI\MI} {\VIR[2]\HEROS}
+{\VIR[2]\PA\LAI[2]\SA[3]\TI\NI[2]\ZA\SA} {\REX} {\A\WAI} x {\MI\I\A}//
+\end{verbatim}\color{black}
+\begin{verbatim}
+\glb hantawattis Taitas amu\badeq wa\badeq mi hastalis Falistinizzas
+hantawattis a\badeq wa x ammi//
+\glc king.nom Taitas I.quot.myself Hero Falistina.nom king.nom and.quot x
+my.dat//
+\glft I am King Taitas, Hero, Falistinian king, and I\newline//
+\endgl
+\end{verbatim}
+
+Note the section at the beginning which defines a ``luw" (Luwian) glw level, which needs to be done only once at the beginning of the document, and note also the \verb|evergylluw=\Luwian| specification in the parameters which assigns the entire line to be in Luwian hieroglyphs. You may of course omit one of the transcription levels, in which case you can simply add the specification to the a, b, or c level instead. This code will produce the following output:\\
+
+\defineglwlevels{luw}
+
+\begingl[glwordalign=center,glhangstyle=none, aboveglftskip=0pt, everygla=\normalfont, everyglluw=\Luwian]
+\gla REX \textsuperscript{I}t\'a-i-t\'a-sa EGO-wa/i-mi (VIR\textsubscript{2})HEROS (VIR\textsubscript{2})pa-l\'a/\'i-s\`a-ti-[n\'i]-za-sa REX a-wa/i x mi-i-*a//
+\glluw {\REX} {\PERS\TA[2]\I\TA[2]\SA} {\EGO\WAI\MI} {\VIR[2]\HEROS} {\VIR[2]\PA\LAI[2]\SA[3]\TI\NI[2]\ZA\SA} {\REX} {\A\WAI} x {\MI\I\A}//
+\glb hantawattis Taitas amu\badeq wa\badeq mi hastalis Falistinizzas hantawattis a\badeq wa x ammi//
+\glc king.nom Taitas I.quot.myself Hero Falistina.nom king.nom and.quot x my.dat//
+\glft I am King Taitas, Hero, Falistinian king, and I\newline//
+\endgl
+
+Happy Luwian!
+\end{document}
+
diff --git a/Master/texmf-dist/doc/fonts/newtx/README b/Master/texmf-dist/doc/fonts/newtx/README
index e8c037ee2d3..99873acf792 100644
--- a/Master/texmf-dist/doc/fonts/newtx/README
+++ b/Master/texmf-dist/doc/fonts/newtx/README
@@ -1,10 +1,17 @@
This package, initially based on txfonts, provides many fixes and enhancements to the txfonts package, splitting it into two separate packages---newtxtext and newtxmath, which may be run independently of one another. It provides scaling, improved metrics, and other options. In particular, newtxmath offers a libertine option which substitutes Linux Libertine (provided with TeXLive and MikTeX) italic and Greek letters for the default Times letters, providing a good match for the Libertine text font, which is heavier than Computer Modern but lighter than Times, and in my experience, looks very sharp and clear on the screen.
-Current version: 1.75 2024-06-20
+Current version: 1.752 2024-07-05
This material is subject to the LaTeX Project Public License. See http://www.ctan.org/license/lppl1.3
for the details of that license.
+Changes in version 1.752
+Small addition to newtxmath so that with option gelasio, the operator
+fd is changed to ot1mingelasio.fd, whose fonts have XCharter Greek upper case.
+
+Changes in version 1.751
+Reworked the scaling calculations in newtx.sty to repair the handling of the scaling of sans text.
+
Changes in version 1.75
Added code to newtx.sty and newtxmath.sty to support gelasio small caps, additional
figure in pdflatex and math. (Best to use gelasiomath.sty as the interface as it adds
diff --git a/Master/texmf-dist/doc/fonts/niceframe-type1/README.md b/Master/texmf-dist/doc/fonts/niceframe-type1/README.md
index 3a3ec238932..967151899d4 100644
--- a/Master/texmf-dist/doc/fonts/niceframe-type1/README.md
+++ b/Master/texmf-dist/doc/fonts/niceframe-type1/README.md
@@ -1,4 +1,3 @@
-
The Type1 versions of the fonts
* bbding10.mf
@@ -7,7 +6,7 @@ The Type1 versions of the fonts
* umranda.mf
* umrandb.mf
-are created using the font editor `fontforge` with a bit
-handwork for `umranda.pfb'.
+are created using the font editor "fontforge" with a bit
+handwork for "umranda.pfb".
-Rolf Niepraschk, 2023-08-17
+Rolf Niepraschk, 2024-07-19
diff --git a/Master/texmf-dist/doc/fonts/simpleicons/bindings.tex b/Master/texmf-dist/doc/fonts/simpleicons/bindings.tex
index 0644724ff58..3419a4196dc 100644
--- a/Master/texmf-dist/doc/fonts/simpleicons/bindings.tex
+++ b/Master/texmf-dist/doc/fonts/simpleicons/bindings.tex
@@ -601,16 +601,6 @@
\showcaseicon{axios}{simpleicon\{axios\}}
- \showcaseicon{azureartifacts}{simpleicon\{azureartifacts\}}
-
- \showcaseicon{azuredataexplorer}{simpleicon\{azuredataexplorer\}}
-
- \showcaseicon{azuredevops}{simpleicon\{azuredevops\}}
-
- \showcaseicon{azurefunctions}{simpleicon\{azurefunctions\}}
-
- \showcaseicon{azurepipelines}{simpleicon\{azurepipelines\}}
-
\showcaseicon{babel}{simpleicon\{babel\}}
\showcaseicon{babelio}{simpleicon\{babelio\}}
@@ -1021,6 +1011,8 @@
\showcaseicon{chromecast}{simpleicon\{chromecast\}}
+ \showcaseicon{chromewebstore}{simpleicon\{chromewebstore\}}
+
\showcaseicon{chrysler}{simpleicon\{chrysler\}}
\showcaseicon{chupachups}{simpleicon\{chupachups\}}
@@ -1317,8 +1309,6 @@
\showcaseicon{crystal}{simpleicon\{crystal\}}
- \showcaseicon{csharp}{simpleicon\{csharp\}}
-
\showcaseicon{css3}{simpleicon\{css3\}}
\showcaseicon{cssdesignawards}{simpleicon\{cssdesignawards\}}
@@ -1359,8 +1349,6 @@
\showcaseicon{dailymotion}{simpleicon\{dailymotion\}}
- \showcaseicon{daimler}{simpleicon\{daimler\}}
-
\showcaseicon{daisyui}{simpleicon\{daisyui\}}
\showcaseicon{dapr}{simpleicon\{dapr\}}
@@ -1395,8 +1383,6 @@
\showcaseicon{datastax}{simpleicon\{datastax\}}
- \showcaseicon{dataverse}{simpleicon\{dataverse\}}
-
\showcaseicon{datefns}{simpleicon\{datefns\}}
\showcaseicon{datev}{simpleicon\{datev\}}
@@ -1463,8 +1449,6 @@
\showcaseicon{derspiegel}{simpleicon\{derspiegel\}}
- \showcaseicon{designernews}{simpleicon\{designernews\}}
-
\showcaseicon{deutschebahn}{simpleicon\{deutschebahn\}}
\showcaseicon{deutschebank}{simpleicon\{deutschebank\}}
@@ -1539,8 +1523,6 @@
\showcaseicon{docusaurus}{simpleicon\{docusaurus\}}
- \showcaseicon{docusign}{simpleicon\{docusign\}}
-
\showcaseicon{dogecoin}{simpleicon\{dogecoin\}}
\showcaseicon{doi}{simpleicon\{doi\}}
@@ -1613,8 +1595,6 @@
\showcaseicon{dwm}{simpleicon\{dwm\}}
- \showcaseicon{dynamics365}{simpleicon\{dynamics365\}}
-
\showcaseicon{dynatrace}{simpleicon\{dynatrace\}}
\showcaseicon{e}{simpleicon\{e\}}
@@ -2269,8 +2249,6 @@
\showcaseicon{googledocs}{simpleicon\{googledocs\}}
- \showcaseicon{googledomains}{simpleicon\{googledomains\}}
-
\showcaseicon{googledrive}{simpleicon\{googledrive\}}
\showcaseicon{googleearth}{simpleicon\{googleearth\}}
@@ -2285,8 +2263,6 @@
\showcaseicon{googlegemini}{simpleicon\{googlegemini\}}
- \showcaseicon{googlehangouts}{simpleicon\{googlehangouts\}}
-
\showcaseicon{googlehome}{simpleicon\{googlehome\}}
\showcaseicon{googlekeep}{simpleicon\{googlekeep\}}
@@ -2301,22 +2277,16 @@
\showcaseicon{googlemessages}{simpleicon\{googlemessages\}}
- \showcaseicon{googlemybusiness}{simpleicon\{googlemybusiness\}}
-
\showcaseicon{googlenearby}{simpleicon\{googlenearby\}}
\showcaseicon{googlenews}{simpleicon\{googlenews\}}
- \showcaseicon{googleoptimize}{simpleicon\{googleoptimize\}}
-
\showcaseicon{googlepay}{simpleicon\{googlepay\}}
\showcaseicon{googlephotos}{simpleicon\{googlephotos\}}
\showcaseicon{googleplay}{simpleicon\{googleplay\}}
- \showcaseicon{googlepodcasts}{simpleicon\{googlepodcasts\}}
-
\showcaseicon{googlepubsub}{simpleicon\{googlepubsub\}}
\showcaseicon{googlescholar}{simpleicon\{googlescholar\}}
@@ -2607,12 +2577,6 @@
\showcaseicon{iberia}{simpleicon\{iberia\}}
- \showcaseicon{ibm}{simpleicon\{ibm\}}
-
- \showcaseicon{ibmcloud}{simpleicon\{ibmcloud\}}
-
- \showcaseicon{ibmwatson}{simpleicon\{ibmwatson\}}
-
\showcaseicon{iced}{simpleicon\{iced\}}
\showcaseicon{iceland}{simpleicon\{iceland\}}
@@ -2741,8 +2705,6 @@
\showcaseicon{internetcomputer}{simpleicon\{internetcomputer\}}
- \showcaseicon{internetexplorer}{simpleicon\{internetexplorer\}}
-
\showcaseicon{intigriti}{simpleicon\{intigriti\}}
\showcaseicon{intuit}{simpleicon\{intuit\}}
@@ -3001,6 +2963,8 @@
\showcaseicon{kodi}{simpleicon\{kodi\}}
+ \showcaseicon{koenigsegg}{simpleicon\{koenigsegg\}}
+
\showcaseicon{kofax}{simpleicon\{kofax\}}
\showcaseicon{kofi}{simpleicon\{kofi\}}
@@ -3455,44 +3419,6 @@
\showcaseicon{micropython}{simpleicon\{micropython\}}
- \showcaseicon{microsoft}{simpleicon\{microsoft\}}
-
- \showcaseicon{microsoftacademic}{simpleicon\{microsoftacademic\}}
-
- \showcaseicon{microsoftaccess}{simpleicon\{microsoftaccess\}}
-
- \showcaseicon{microsoftazure}{simpleicon\{microsoftazure\}}
-
- \showcaseicon{microsoftbing}{simpleicon\{microsoftbing\}}
-
- \showcaseicon{microsoftedge}{simpleicon\{microsoftedge\}}
-
- \showcaseicon{microsoftexcel}{simpleicon\{microsoftexcel\}}
-
- \showcaseicon{microsoftexchange}{simpleicon\{microsoftexchange\}}
-
- \showcaseicon{microsoftonedrive}{simpleicon\{microsoftonedrive\}}
-
- \showcaseicon{microsoftonenote}{simpleicon\{microsoftonenote\}}
-
- \showcaseicon{microsoftoutlook}{simpleicon\{microsoftoutlook\}}
-
- \showcaseicon{microsoftpowerpoint}{simpleicon\{microsoftpowerpoint\}}
-
- \showcaseicon{microsoftsharepoint}{simpleicon\{microsoftsharepoint\}}
-
- \showcaseicon{microsoftsqlserver}{simpleicon\{microsoftsqlserver\}}
-
- \showcaseicon{microsoftstore}{simpleicon\{microsoftstore\}}
-
- \showcaseicon{microsoftteams}{simpleicon\{microsoftteams\}}
-
- \showcaseicon{microsofttranslator}{simpleicon\{microsofttranslator\}}
-
- \showcaseicon{microsoftvisio}{simpleicon\{microsoftvisio\}}
-
- \showcaseicon{microsoftword}{simpleicon\{microsoftword\}}
-
\showcaseicon{microstation}{simpleicon\{microstation\}}
\showcaseicon{microstrategy}{simpleicon\{microstrategy\}}
@@ -3509,8 +3435,6 @@
\showcaseicon{minds}{simpleicon\{minds\}}
- \showcaseicon{minecraft}{simpleicon\{minecraft\}}
-
\showcaseicon{minetest}{simpleicon\{minetest\}}
\showcaseicon{mini}{simpleicon\{mini\}}
@@ -3555,8 +3479,6 @@
\showcaseicon{modx}{simpleicon\{modx\}}
- \showcaseicon{mojangstudios}{simpleicon\{mojangstudios\}}
-
\showcaseicon{moleculer}{simpleicon\{moleculer\}}
\showcaseicon{momenteo}{simpleicon\{momenteo\}}
@@ -3591,6 +3513,8 @@
\showcaseicon{moonrepo}{simpleicon\{moonrepo\}}
+ \showcaseicon{moq}{simpleicon\{moq\}}
+
\showcaseicon{moqups}{simpleicon\{moqups\}}
\showcaseicon{morrisons}{simpleicon\{morrisons\}}
@@ -3993,6 +3917,8 @@
\showcaseicon{org}{simpleicon\{org\}}
+ \showcaseicon{organicmaps}{simpleicon\{organicmaps\}}
+
\showcaseicon{origin}{simpleicon\{origin\}}
\showcaseicon{osano}{simpleicon\{osano\}}
@@ -4243,9 +4169,9 @@
\showcaseicon{playstation5}{simpleicon\{playstation5\}}
- \showcaseicon{playstationvita}{simpleicon\{playstationvita\}}
+ \showcaseicon{playstationportable}{simpleicon\{playstationportable\}}
- \showcaseicon{playwright}{simpleicon\{playwright\}}
+ \showcaseicon{playstationvita}{simpleicon\{playstationvita\}}
\showcaseicon{pleroma}{simpleicon\{pleroma\}}
@@ -4325,22 +4251,8 @@
\showcaseicon{postmates}{simpleicon\{postmates\}}
- \showcaseicon{powerapps}{simpleicon\{powerapps\}}
-
- \showcaseicon{powerautomate}{simpleicon\{powerautomate\}}
-
- \showcaseicon{powerbi}{simpleicon\{powerbi\}}
-
- \showcaseicon{powerfx}{simpleicon\{powerfx\}}
-
- \showcaseicon{powerpages}{simpleicon\{powerpages\}}
-
\showcaseicon{powers}{simpleicon\{powers\}}
- \showcaseicon{powershell}{simpleicon\{powershell\}}
-
- \showcaseicon{powervirtualagents}{simpleicon\{powervirtualagents\}}
-
\showcaseicon{prdotco}{simpleicon\{prdotco\}}
\showcaseicon{preact}{simpleicon\{preact\}}
@@ -4653,6 +4565,8 @@
\showcaseicon{redox}{simpleicon\{redox\}}
+ \showcaseicon{redsys}{simpleicon\{redsys\}}
+
\showcaseicon{redux}{simpleicon\{redux\}}
\showcaseicon{reduxsaga}{simpleicon\{reduxsaga\}}
@@ -4679,7 +4593,7 @@
\showcaseicon{render}{simpleicon\{render\}}
- \showcaseicon{renovatebot}{simpleicon\{renovatebot\}}
+ \showcaseicon{renovate}{simpleicon\{renovate\}}
\showcaseicon{renpy}{simpleicon\{renpy\}}
@@ -5085,10 +4999,6 @@
\showcaseicon{skypack}{simpleicon\{skypack\}}
- \showcaseicon{skype}{simpleicon\{skype\}}
-
- \showcaseicon{skypeforbusiness}{simpleicon\{skypeforbusiness\}}
-
\showcaseicon{skyrock}{simpleicon\{skyrock\}}
\showcaseicon{slack}{simpleicon\{slack\}}
@@ -5509,6 +5419,8 @@
\showcaseicon{teamviewer}{simpleicon\{teamviewer\}}
+ \showcaseicon{techcrunch}{simpleicon\{techcrunch\}}
+
\showcaseicon{ted}{simpleicon\{ted\}}
\showcaseicon{teepublic}{simpleicon\{teepublic\}}
@@ -5861,6 +5773,8 @@
\showcaseicon{unity}{simpleicon\{unity\}}
+ \showcaseicon{unjs}{simpleicon\{unjs\}}
+
\showcaseicon{unlicense}{simpleicon\{unlicense\}}
\showcaseicon{unocss}{simpleicon\{unocss\}}
@@ -5987,14 +5901,6 @@
\showcaseicon{visa}{simpleicon\{visa\}}
- \showcaseicon{visualbasic}{simpleicon\{visualbasic\}}
-
- \showcaseicon{visualstudio}{simpleicon\{visualstudio\}}
-
- \showcaseicon{visualstudioappcenter}{simpleicon\{visualstudioappcenter\}}
-
- \showcaseicon{visualstudiocode}{simpleicon\{visualstudiocode\}}
-
\showcaseicon{visx}{simpleicon\{visx\}}
\showcaseicon{vite}{simpleicon\{vite\}}
@@ -6119,6 +6025,8 @@
\showcaseicon{webgl}{simpleicon\{webgl\}}
+ \showcaseicon{webgpu}{simpleicon\{webgpu\}}
+
\showcaseicon{weblate}{simpleicon\{weblate\}}
\showcaseicon{webmin}{simpleicon\{webmin\}}
@@ -6185,16 +6093,6 @@
\showcaseicon{winamp}{simpleicon\{winamp\}}
- \showcaseicon{windows}{simpleicon\{windows\}}
-
- \showcaseicon{windows10}{simpleicon\{windows10\}}
-
- \showcaseicon{windows95}{simpleicon\{windows95\}}
-
- \showcaseicon{windowsterminal}{simpleicon\{windowsterminal\}}
-
- \showcaseicon{windowsxp}{simpleicon\{windowsxp\}}
-
\showcaseicon{wipro}{simpleicon\{wipro\}}
\showcaseicon{wire}{simpleicon\{wire\}}
@@ -6251,14 +6149,8 @@
\showcaseicon{x}{simpleicon\{x\}}
- \showcaseicon{xamarin}{simpleicon\{xamarin\}}
-
- \showcaseicon{xaml}{simpleicon\{xaml\}}
-
\showcaseicon{xampp}{simpleicon\{xampp\}}
- \showcaseicon{xbox}{simpleicon\{xbox\}}
-
\showcaseicon{xcode}{simpleicon\{xcode\}}
\showcaseicon{xdadevelopers}{simpleicon\{xdadevelopers\}}
@@ -6297,8 +6189,6 @@
\showcaseicon{yaml}{simpleicon\{yaml\}}
- \showcaseicon{yammer}{simpleicon\{yammer\}}
-
\showcaseicon{yandexcloud}{simpleicon\{yandexcloud\}}
\showcaseicon{yarn}{simpleicon\{yarn\}}
diff --git a/Master/texmf-dist/doc/fonts/simpleicons/simpleicons.pdf b/Master/texmf-dist/doc/fonts/simpleicons/simpleicons.pdf
index a8fbad1628c..13f78e3cb53 100644
--- a/Master/texmf-dist/doc/fonts/simpleicons/simpleicons.pdf
+++ b/Master/texmf-dist/doc/fonts/simpleicons/simpleicons.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/simpleicons/simpleicons.tex b/Master/texmf-dist/doc/fonts/simpleicons/simpleicons.tex
index e69c67e283a..56df7284081 100644
--- a/Master/texmf-dist/doc/fonts/simpleicons/simpleicons.tex
+++ b/Master/texmf-dist/doc/fonts/simpleicons/simpleicons.tex
@@ -14,7 +14,7 @@
Simple Icons (Font)\\%
Inesh Bose (\LaTeX{} package)%
}
-\date{12.4.0 -- \today}\maketitle
+\date{13.1.0 -- \today}\maketitle
This package provides \LaTeX{} support for the Simple Icons logos.
To use Simple Icons in your document, include the package with |\usepackage{simpleicons}|.
diff --git a/Master/texmf-dist/doc/fonts/xcharter-math/README.md b/Master/texmf-dist/doc/fonts/xcharter-math/README.md
index 4c6ac09be90..dd290bb8dc5 100644
--- a/Master/texmf-dist/doc/fonts/xcharter-math/README.md
+++ b/Master/texmf-dist/doc/fonts/xcharter-math/README.md
@@ -8,16 +8,17 @@ with the XCharter text fonts.
## Contents
-* XCharter-Math.otf OpenType Math font
-* xcharter-otf.sty LaTeX style file
-* XCharter-Math.pdf Documentation in PDF format
-* XCharter-Math.ltx Source of XCharter-Math.pdf
-* unimath-xcharter.pdf Modified version of unimath-symbols.pdf
- showing available XCharter-Math symbols compared to
- LatinModern, STIXTwo, Erewhon, TeXGyrePagella,
- Libertinus and EBGaramond.
-* unimath-xcharter.ltx Source of unimath-xcharter.pdf
-* README.md (this file)
+* XCharter-Math.otf OpenType Math font
+* XCharter-Math-Bold.otf Bold variant (limited coverage)
+* xcharter-otf.sty LaTeX style file
+* XCharter-Math.pdf Documentation in PDF format
+* XCharter-Math.ltx Source of XCharter-Math.pdf
+* unimath-xcharter.pdf Modified version of unimath-symbols.pdf
+ showing available XCharter-Math symbols compared
+ to LatinModern, STIXTwo, Erewhon, TeXGyrePagella,
+ Libertinus and EBGaramond.
+* unimath-xcharter.ltx Source of unimath-xcharter.pdf
+* README.md (this file)
## Installation
@@ -41,7 +42,7 @@ Version 1.1. This license is available with a FAQ at:
http://scripts.sil.org/OFL
* The other files are distributed under the terms of the LaTeX Project
Public License from CTAN archives in directory macros/latex/base/lppl.txt.
-Either version 1.3 or, at your option, any later version.
+Either version 1.3c or, at your option, any later version.
## Changes
@@ -109,7 +110,10 @@ Either version 1.3 or, at your option, any later version.
with \leq, \geq.
- XCharter-Math-Bold: missing italic correction added for int.up,
int.v1, int.v1.up.
-
+* v0.63:
+ - Added lmoustache, rmoustache (U+23B0, U+23B1).
+ - Superscripts BbbE.st and BbbE.sst fixed (U+EA04, U+ED04).
+
---
Copyright 2022-2024 Daniel Flipo
E-mail: daniel (dot) flipo (at) free (dot) fr
diff --git a/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx b/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx
index 43a0d4fa87d..09ba4523467 100644
--- a/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx
+++ b/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.ltx
@@ -34,7 +34,7 @@
\title{\decofourleft\,\XCotf\,\decofourright}
\author{Daniel Flipo \\ \texttt{daniel.flipo@free.fr}}
-\newcommand*{\version}{0.62}
+\newcommand*{\version}{0.63}
\begin{document}
\maketitle
@@ -85,15 +85,16 @@ otherwise you would get Latin Modern for text fonts.
As an alternative to load \XCotf{} you can type:\\[.5\baselineskip]
\verb+\usepackage[ +\textit{options}
-\footnote{Possible \textit{options} are \opt{loose}, \opt{no-text}, \opt{Scale=}
- or any of the options described in sections \ref{ssection-um},
+\footnote{Possible \textit{options} are \opt{loose}, \opt{no-text},
+ \opt{Scale=} or any of the options described in sections \ref{ssection-um},
\ref{ssection-cv} and \ref{ssection-ss}.}%
\verb+ ]{xcharter-otf}+\\[.5\baselineskip]
-it loads \pkg{unicode-math} with the default options, sets XCharter-Math
+it loads \pkg{unicode-math} with the default options, sets \XCotf{}
as maths font and XCharter Text fonts as Roman fonts
-(families \textit{sf} and \textit{tt} left unchanged) but does a bit more:
+(families \textit{sf} and \textit{tt} left unchanged) and does a bit more:
\begin{enumerate}
-\item it loads \pkg{realscripts} for better superscripts;
+\item it loads \pkg{realscripts} for better looking superscripts and footnote
+ calls;
\item it checks at \verb+\begin{document}+ if packages \pkg{amssymb} or
\pkg{latexsym} are loaded and issues warnings in case they are;
\item it provides aliases for glyphs named differently in Unicode, so that
@@ -119,9 +120,10 @@ specific options, f.i. \\
\section{What is provided?}
-\XCotf{} provides all glyphs supplied by \FGUT{} plus all glyphs available in
-the \pkg{amssymb} and \pkg{latexsym} packages and many more. Therefore, these
-two packages \emph{should not} be loaded as they might override \XCotf{} glyphs.
+\XCotf{} provides the most common \pkg{unicode-math} glyphs and all glyphs
+available in the \pkg{amssymb} and \pkg{latexsym} packages.
+Therefore, the latter two packages \emph{should not} be loaded as they might
+override \XCotf{} glyphs.
Sans-serif, typewriter and fraktur alphabets are borrowed from Latin Modern
fonts. See in section~\vref{ssec-math-alphabets} how to choose from other
@@ -179,8 +181,8 @@ Other possible customisation: $\nabla$ is printed upright and $\partial$ is
printed slanted by default, but \opt{nabla=italic} and
\opt{partial=upright} can change this.
-All these options are offered by the \pkg{unicode-math} package but they can
-be added to the \cmd{setmathfont} call%
+All these options are offered by the \pkg{unicode-math} package, they can
+be added to the \cmd{setmathfont} call as well%
\footnote{IMHO it is easier to add \emph{all options} to the \cmd{setmathfont}
command.}, for example:
@@ -209,7 +211,7 @@ $\symup{α}$, $\symup{β}$, $\symup{Γ}$,… for \cmd{alpha}, \cmd{beta},
\subsection{Character variants}
\label{ssection-cv}
-\XCotf{} provides fourteen ``Character Variants’’ options, listed on
+\XCotf{} provides fourteen ``Character Variants'' options, listed on
table~\vref{cv}, to choose between different glyphs for Greek characters
and some others. Alternative calligraphic capitals for E, Q
and T have been added (version~0.50) and an alternative italic v, easier
@@ -259,21 +261,21 @@ Similarly with \opt{math-style=french}, \verb+\epsilon+ and \verb+\phi+
are output as $\symup{\varepsilon}$ and $\symup{\varphi}$ (upright).
Please note that curly braces are mandatory whenever more than one
-``Character Variant’’ is selected.
+``Character Variant'' is selected.
Note about \cmd{hbar} (v\,0.43): \pkg{unicode-math} defines \cmd{hbar} as
\cmd{hslash} (U+210F) while \pkg{amsmath} provides two different glyphs
-(italic h with horizontal or diagonal stroke).\\
-\pkg{XCharter Math} now follows \pkg{unicode-math}; the italic h with horizontal
-stroke can be printed using \cmd{hslash} or \cmd{hbar} together with character
-variant \texttt{cv01} or with \cmd{mithbar} (replacement for AMS’ command
-\cmd{hbar}).
+(italic $h$ with horizontal or diagonal stroke).\\
+\pkg{xcharter math} now follows \pkg{unicode-math}; the italic $h$ with
+horizontal stroke can be printed using \cmd{hslash} or \cmd{hbar} together
+with character variant \texttt{cv01} or with \cmd{mithbar} (replacement
+for AMS’ command \cmd{hbar}).
\subsection{Stylistic sets}
\label{ssection-ss}
-\XCotf{} provides five ``Stylistic Sets’’ options to choose between different
+\XCotf{} provides five ``Stylistic Sets'' options to choose between different
glyphs for families of maths symbols.
\verb+StylisticSet=4+, alias%
@@ -331,7 +333,7 @@ their smaller variants, see table~\vref{ss05}.
symbols, as shown in table~\vref{ss06}.
\verb+StylisticSet=7+, alias \verb+Style=parallelslant+, converts
-``parallel’’ symbols into their slanted variants, see table~\vref{ss07}.
+``parallel'' symbols into their slanted variants, see table~\vref{ss07}.
\begin{table}[ht]
\centering
\caption{Stylistic Sets 6 and 7}
@@ -425,10 +427,10 @@ To get oldstyle numbers in maths, the feature \texttt{+onum} is available:
$0123456789, \symbf{0123456789}$
\setmathfont{XCharter-Math.otf}
-\subsection{Standard \LaTeX{} math commands}
+\subsection{Standard LaTeX math commands}
\label{ssec-math-commands}
-All standard \LaTeX{} maths commands, all \pkg{amssymb} commands and all
+All standard LaTeX maths commands, all \pkg{amssymb} commands and all
\pkg{latexsym} commands are supported by \XCotf{}, for some of them loading
\pkg{xcharter-otf.sty} is required.
@@ -522,7 +524,8 @@ Various wide accents are also supported:
All the extensible arrows provided by the \pkg{mathtools} package are
available in the \XCotf{} font (loading \pkg{xcharter-otf.sty} is required),
f.i.:
-\[X \xLeftrightarrow{above} Y \xhookrightarrow[under]{} Z\xmapsto{above} W\]
+\[X \xLeftrightarrow{\text{above}} Y \xhookrightarrow[\text{under}]{}
+ Z\xmapsto{\text{above}} W\]
\subsection{Mathematical alphabets}
\label{ssec-math-alphabets}
@@ -587,7 +590,7 @@ $\symtt{ABCDE...XYZ abcde...xyz}$
$\symtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$
\end{itemize}
-Like Latin Modern, \pkg{XCharter-Math} provides only four lowercase latin
+Like Latin Modern, \pkg{xcharter-math} provides only four lowercase latin
letters in script (or calligraphic) shape: $\mscre$, $\mscrg$, $\ell$,
$\mscro$ (\verb+\mscre+, \verb+\mscrg+, \verb+\ell+, \verb+\mscro+).
@@ -600,13 +603,15 @@ from another maths font if needed, i.e.
\subsection{Bold variant}
+\setmathfont{XCharter-Math.otf}[BoldFont=XCharter-Math-Bold.otf]
In case short maths formulas have to be printed in section titles,
-a \emph{limited} bold variant has been added in version~0.35. Example of usage:\\
+a \emph{limited} bold variant has been added in version~0.35.
+Example of usage: \quad\textbf{\boldmath Einstein’s equation $E=mc^2$}\\
\verb+\setmathfont{XCharter-Math-Bold.otf}[version=bold, +\textit{options}\verb+]+\\
\verb+\section{\mathversion{bold} Einstein’s equation $E=mc^2$}+
It is also possible to use the \verb+\boldmath+ command:\\
-\verb+\setmathfont{XCharter-Math-Regular.otf}[BoldFont=XCharter-Math-Bold.otf]+\\
+\verb+\setmathfont{XCharter-Math.otf}[BoldFont=XCharter-Math-Bold.otf]+\\
\verb+\section{\boldmath Einstein’s equation $E=mc^2$}+
\subsection{Missing symbols}
@@ -627,7 +632,7 @@ scaling is possible, multiple character ranges are separated with commas:\\
\verb+\setmathfont{Asana-Math.otf}[range={"294A-"2951,"2964,"2ABB-"2ABE}]+
Let’s mention \pkg{albatross}, a useful tool to find out the list of fonts
-providing a given glyph: f.i. type in a terminal ``\texttt{albatross U+2964}’’,
+providing a given glyph: f.i. type in a terminal ``\texttt{albatross U+2964}'',
see the manpage or \file{albatross-manual.pdf}.
\section{Acknowledgements}
@@ -637,7 +642,7 @@ OpenType format.
I am grateful to George Williams and his co-workers for providing and
maintaining FontForge and to Ulrik Vieth for his illuminating paper published
-in TUGboat~2009 Volume~30 about Open Type Math.
+in TUGboat~2009 Volume~30 about OpenType Math.
\bigskip
diff --git a/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.pdf b/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.pdf
index 0d797d078d2..501ffbff4ce 100644
--- a/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.pdf
+++ b/Master/texmf-dist/doc/fonts/xcharter-math/XCharter-Math.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/xcharter-math/unimath-xcharter.pdf b/Master/texmf-dist/doc/fonts/xcharter-math/unimath-xcharter.pdf
index 7125c9c20d8..a375861be9a 100644
--- a/Master/texmf-dist/doc/fonts/xcharter-math/unimath-xcharter.pdf
+++ b/Master/texmf-dist/doc/fonts/xcharter-math/unimath-xcharter.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/README.md b/Master/texmf-dist/doc/generic/knuth-hint/README.md
index ee62dccaa2a..2871f311770 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/README.md
+++ b/Master/texmf-dist/doc/generic/knuth-hint/README.md
@@ -21,4 +21,4 @@ The “License” of the `knuth-hint` package is “Public Domain” and it cove
the contents of this package, _not_ the various (and varying) “free software”
licenses of the presented software codes.
-This is version “2.2” of the `knuth-hint` package — 2024-03-16, Andreas Scherer.
+This is version “2.4” of the `knuth-hint` package — 2024-07-10, Andreas Scherer.
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex-changes.hnt
index e5c76be4b78..af386a05bdb 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex.hnt b/Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex.hnt
index 2e69c2120ef..5ab7689272b 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/bibtex/bibtex.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie-changes.hnt
index 8a061693528..f2d9da77475 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie.hnt b/Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie.hnt
index dc2e6464874..24ba1efaff4 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/ctie/ctie.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/common-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/common-changes.hnt
index e12b8a33668..de95e4b943e 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/common-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/common-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/common.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/common.hnt
index 2d516e598c0..9a96197992f 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/common.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/common.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle-changes.hnt
index 6048e785175..e6287e16af7 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle.hnt
index 5e824be2670..bf9129299a2 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctangle.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctwill.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctwill.hnt
index 8f413813a2f..204772d939f 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctwill.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/ctwill.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave-changes.hnt
index d6523093010..cbc875f35e9 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave.hnt
index 2461ca986bf..0d86f949476 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/cweave.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/cwebman.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/cwebman.hnt
index 53b2217e48e..2ec505001e6 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/cwebman.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/cwebman.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort-changes.hnt
index b8cbae7dcae..0f6e69a63ac 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort.hnt
index aaf28e60e4c..a1c52bc602d 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/refsort.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx-changes.hnt
index 42a979c0f34..5c749f76221 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx.hnt b/Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx.hnt
index b1def8c2be6..d56b7dc7c93 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/cweb/twinx.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eight.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eight.hnt
index e854b5cac6c..25d99a83130 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eight.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eight.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eleven.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eleven.hnt
index 6bea192135b..3dbbcf25e98 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eleven.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.eleven.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.five.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.five.hnt
index 70bc65040c1..36c678088c6 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.five.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.five.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.four.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.four.hnt
index 4affc611d31..995f7ee94c7 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.four.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.four.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.hnt
index 69b0a6190aa..49cd9b214c4 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.nine.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.nine.hnt
index 575b99bee2f..10923cbe630 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.nine.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.nine.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.one.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.one.hnt
index cb68aa0fd14..ebc91808ccb 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.one.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.one.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.seven.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.seven.hnt
index 9fec56f15b8..9cc71b83163 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.seven.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.seven.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.six.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.six.hnt
index 2208a5908d8..fcbafe804de 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.six.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.six.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.ten.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.ten.hnt
index 66a9491861f..9b5a1a2d9fe 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.ten.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.ten.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.three.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.three.hnt
index f0d476ae604..8a080af0fe7 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.three.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.three.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.twelve.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.twelve.hnt
index 2d23f2e6a60..dcd90d53185 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.twelve.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.twelve.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.two.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.two.hnt
index 423b12ccc29..e250acf6d3e 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.two.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errata.two.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/errata/errorlog.hnt b/Master/texmf-dist/doc/generic/knuth-hint/errata/errorlog.hnt
index b1a301b57ce..448a2d05920 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/errata/errorlog.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/errata/errorlog.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp-changes.hnt
index a873a4fd3f6..91535effb91 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp.hnt b/Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp.hnt
index d4143c4281d..09354d32f76 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/etc/vftovp.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf-changes.hnt
index fcdf539b8b2..96bcc0d073a 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf.hnt b/Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf.hnt
index 5998ed5aef7..c3557f37509 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/etc/vptovf.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/hitex/hitex.hnt b/Master/texmf-dist/doc/generic/knuth-hint/hitex/hitex.hnt
index 8a5cb8d4cc4..05ff4ca503e 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/hitex/hitex.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/hitex/hitex.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/index.html b/Master/texmf-dist/doc/generic/knuth-hint/index.html
index 78b58c2d120..729f2c83c9b 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/index.html
+++ b/Master/texmf-dist/doc/generic/knuth-hint/index.html
@@ -301,6 +301,9 @@ href="tie/tie.hnt"><code>TIE</code></a>+<a
href="tie/tie-changes.hnt"><code>chg</code></a> <span>]</span></p></li>
<li><p><code>hitex/</code> <span>[</span> <a
href="hitex/hitex.hnt"><code>HiTeX</code></a> <span>]</span></p></li>
+<li><p><code>mp/</code> <span>[</span> <a
+href="mp/mp.hnt"><code>MP</code></a> <a
+href="mp/mpost.hnt"><code>MPOST</code></a> <span>]</span></p></li>
</ul>
<h2 id="errata-for-computers-typesetting-by-donald-e.-knuth">Errata for
“Computers &amp; Typesetting” by Donald E. Knuth</h2>
@@ -337,6 +340,6 @@ early 2014</a></p></li>
</ul></li>
</ul>
<h2 id="happy-cweb-programming">Happy C/WEB Programming!</h2>
-<p>2024-03-16 Andreas Scherer</p>
+<p>2024-07-09 Andreas Scherer</p>
</body>
</html>
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/index.pdf b/Master/texmf-dist/doc/generic/knuth-hint/index.pdf
index 63f7fe051d2..69a8c3e14d7 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/index.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-hint/index.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mf/mf-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mf/mf-changes.hnt
index 4417e9901cb..e6c956616d1 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mf/mf-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mf/mf-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mf/mf.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mf/mf.hnt
index 1afd231b71e..c96e0613ff7 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mf/mf.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mf/mf.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mf/trapman.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mf/trapman.hnt
index ce8cf0e61ee..3382522847f 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mf/trapman.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mf/trapman.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi-changes.hnt
index 9acebf05e58..458affe998e 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi.hnt
index d7cf17f9d50..dcaba4f5161 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftodvi.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk-changes.hnt
index ea1defaf64d..ffb63848324 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk.hnt
index b6f60cbaa12..1879e40b853 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftopk.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype-changes.hnt
index 437ba9fe60f..324740fd5dd 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype.hnt
index 1c2df72eec1..5e3e38dd722 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mfware/gftype.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mfware/mft-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mfware/mft-changes.hnt
index 6b76611ecaa..7babd18f2a2 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mfware/mft-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mfware/mft-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mfware/mft.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mfware/mft.hnt
index fb513a2a133..b70f1314abd 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/mfware/mft.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mfware/mft.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mp/mp.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mp/mp.hnt
new file mode 100644
index 00000000000..052014216f4
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mp/mp.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/mp/mpost.hnt b/Master/texmf-dist/doc/generic/knuth-hint/mp/mpost.hnt
new file mode 100644
index 00000000000..b9e969072dd
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/knuth-hint/mp/mpost.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy-changes.hnt
index 057ed90238f..94a39fd26f8 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy.hnt b/Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy.hnt
index d200c6c0738..ca6b0594926 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/other/dvicopy.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/other/patgen-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/other/patgen-changes.hnt
index 523add9b509..77950a826b5 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/other/patgen-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/other/patgen-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/other/patgen.hnt b/Master/texmf-dist/doc/generic/knuth-hint/other/patgen.hnt
index a451e836d22..f3ca7c8ab8c 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/other/patgen.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/other/patgen.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/other/pktogf-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/other/pktogf-changes.hnt
index 95cdb945b3c..237e6a210ec 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/other/pktogf-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/other/pktogf-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/other/pktogf.hnt b/Master/texmf-dist/doc/generic/knuth-hint/other/pktogf.hnt
index c4d4ba78908..39f8c4601c9 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/other/pktogf.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/other/pktogf.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/other/pktype-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/other/pktype-changes.hnt
index 382d09362d4..f086f5a9fc8 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/other/pktype-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/other/pktype-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/other/pktype.hnt b/Master/texmf-dist/doc/generic/knuth-hint/other/pktype.hnt
index b1430e1d380..e407be00906 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/other/pktype.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/other/pktype.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex-changes.hnt
index 3b43c58d951..1440f73a23f 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex.hnt b/Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex.hnt
index e29767f7be6..666c4d4a289 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/pdftex/pdftex.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/tex/glue.hnt b/Master/texmf-dist/doc/generic/knuth-hint/tex/glue.hnt
index 79b62fc2b78..7b1a87f1853 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/tex/glue.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/tex/glue.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/tex/tex-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/tex/tex-changes.hnt
index 14c5b76456f..4192d154c7f 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/tex/tex-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/tex/tex-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/tex/tex.hnt b/Master/texmf-dist/doc/generic/knuth-hint/tex/tex.hnt
index f95932650d4..b3f89d8de4a 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/tex/tex.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/tex/tex.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/tex/tripman.hnt b/Master/texmf-dist/doc/generic/knuth-hint/tex/tripman.hnt
index 45a15b24350..c8bf5c45b2c 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/tex/tripman.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/tex/tripman.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype-changes.hnt
index 7ca0d271c78..f7e1e4d709a 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype.hnt b/Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype.hnt
index 9d0a2a13459..e8c992161a1 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/texware/dvitype.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf-changes.hnt
index f8e3a2194f0..4124eb55b78 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf.hnt b/Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf.hnt
index 8599fd7c236..ae31e25182b 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/texware/pltotf.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype-changes.hnt
index 1a71d835232..f9eb390cafb 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype.hnt b/Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype.hnt
index f4f59ab19f3..88faa6ec97a 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/texware/pooltype.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl-changes.hnt
index 6007c4f7592..3c63decdd87 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl.hnt b/Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl.hnt
index 24c22cd3110..e44c9e2dc90 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/texware/tftopl.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/tie/tie-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/tie/tie-changes.hnt
index 2c5e9d43c88..04b16f22f86 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/tie/tie-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/tie/tie-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/tie/tie.hnt b/Master/texmf-dist/doc/generic/knuth-hint/tie/tie.hnt
index 3bdfa2d76a2..ebfc9397a06 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/tie/tie.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/tie/tie.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/web/tangle-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/web/tangle-changes.hnt
index 26ff176658a..505d0643634 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/web/tangle-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/web/tangle-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/web/tangle.hnt b/Master/texmf-dist/doc/generic/knuth-hint/web/tangle.hnt
index dcbfa4d184c..e75bbac2923 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/web/tangle.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/web/tangle.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/web/twill.hnt b/Master/texmf-dist/doc/generic/knuth-hint/web/twill.hnt
index b95532ae38d..a7d0373095a 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/web/twill.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/web/twill.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/web/weave-changes.hnt b/Master/texmf-dist/doc/generic/knuth-hint/web/weave-changes.hnt
index bd8987be5a3..633989f2369 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/web/weave-changes.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/web/weave-changes.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/web/weave.hnt b/Master/texmf-dist/doc/generic/knuth-hint/web/weave.hnt
index 60273e2deca..7549cf9f8f4 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/web/weave.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/web/weave.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/web/webman.hnt b/Master/texmf-dist/doc/generic/knuth-hint/web/webman.hnt
index 02b010539a8..eec4f9a535b 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/web/webman.hnt
+++ b/Master/texmf-dist/doc/generic/knuth-hint/web/webman.hnt
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex-changes.pdf b/Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex-changes.pdf
index addc6ca074b..b9cbe8f8c79 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex.pdf b/Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex.pdf
index 5c2a1baa052..5c47d2464c7 100644
--- a/Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-hint/xetex/xetex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/README.md b/Master/texmf-dist/doc/generic/knuth-pdf/README.md
index 05c4af5d83f..0ae94e0eb01 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/README.md
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/README.md
@@ -23,4 +23,4 @@ licenses of the presented software codes.
In part `knuth-pdf` is an update and replacement for the `latex-tds` package.
-This is version “2.2” of the `knuth-pdf` package — 2024-03-16, Andreas Scherer.
+This is version “2.4” of the `knuth-pdf` package — 2024-07-10, Andreas Scherer.
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex-changes.pdf
index eb132c79697..51afb728285 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex.pdf
index 8f7b06ef65b..e925af9e095 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/bibtex/bibtex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie-changes.pdf
index cd3043bcf09..b5d24bfff0f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie.pdf
index 74d9de89210..c00112ba6a3 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/ctie/ctie.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/common-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/common-changes.pdf
index 4c8bab8fbef..8294d6721ab 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/common-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/common-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/common.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/common.pdf
index 96d5beff59b..fe92cb15379 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/common.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/common.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle-changes.pdf
index 4fe552304b7..3fa90674ff5 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle.pdf
index 5586b05baf9..2321c56c31f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctangle.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctwill.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctwill.pdf
index 34333c5509c..b4ec76b58b6 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctwill.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/ctwill.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave-changes.pdf
index 1e5780a6244..0f78fcf762f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave.pdf
index 3fecb996d35..228381d60d4 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cweave.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cwebman.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cwebman.pdf
index d4b27fda3cd..b6f051dfed0 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cwebman.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/cwebman.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort-changes.pdf
index 5d3578c3336..a81f0164ed1 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort.pdf
index 06282bcbc04..1aed4d9b987 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/refsort.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx-changes.pdf
index 919204b1483..42fe0976ebc 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx.pdf
index 7f6fb035b79..bff5092b2b0 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/cweb/twinx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eight.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eight.pdf
index daa449f4366..91e9da35708 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eight.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eight.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eleven.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eleven.pdf
index 8706ec864ca..844cead11f7 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eleven.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.eleven.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.five.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.five.pdf
index 1a879bd82a3..d8235bb8b27 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.five.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.five.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.four.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.four.pdf
index bf53a97e6a8..5d4601997bc 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.four.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.four.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.nine.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.nine.pdf
index 107192205a7..56ee96c487c 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.nine.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.nine.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.one.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.one.pdf
index 8567ea2dea1..cced6e62616 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.one.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.one.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.pdf
index fad47d4c428..3b55012174b 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.seven.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.seven.pdf
index 1c24b632d30..7c579e8629f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.seven.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.seven.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.six.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.six.pdf
index 0cbfd71d50f..85c84182b37 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.six.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.six.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.ten.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.ten.pdf
index e992c1533e6..2e787bc2e1f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.ten.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.ten.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.three.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.three.pdf
index 93f2d1db946..2b220d18bf6 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.three.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.three.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.twelve.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.twelve.pdf
index 36290940496..4cf60accb7f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.twelve.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.twelve.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.two.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.two.pdf
index 2fb55e82f9d..780eef75646 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.two.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errata.two.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errorlog.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errorlog.pdf
index 3d229cb1b86..7e67495e260 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/errata/errorlog.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/errata/errorlog.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp-changes.pdf
index 9bcefb9f5d1..62e8779bb5a 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp.pdf
index 98b32e18215..7f42019be4a 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/etc/vftovp.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf-changes.pdf
index 82a6ac09cbd..3a3d94965ca 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf.pdf
index 81941dc1f68..544bf76c1e0 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/etc/vptovf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/hitex/hitex.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/hitex/hitex.pdf
index b3abb29f28a..7b82c521de0 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/hitex/hitex.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/hitex/hitex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/index.html b/Master/texmf-dist/doc/generic/knuth-pdf/index.html
index 6670304e645..2dc82d621bd 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/index.html
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/index.html
@@ -295,6 +295,9 @@ href="tie/tie.pdf"><code>TIE</code></a>+<a
href="tie/tie-changes.pdf"><code>chg</code></a> <span>]</span></p></li>
<li><p><code>hitex/</code> <span>[</span> <a
href="hitex/hitex.pdf"><code>HiTeX</code></a> <span>]</span></p></li>
+<li><p><code>mp/</code> <span>[</span> <a
+href="mp/mp.pdf"><code>MP</code></a> <a
+href="mp/mpost.pdf"><code>MPOST</code></a> <span>]</span></p></li>
</ul>
<h2 id="errata-for-computers-typesetting-by-donald-e.-knuth">Errata for
“Computers &amp; Typesetting” by Donald E. Knuth</h2>
@@ -331,6 +334,6 @@ early 2014</a></p></li>
</ul></li>
</ul>
<h2 id="happy-cweb-programming">Happy C/WEB Programming!</h2>
-<p>2024-03-16 Andreas Scherer</p>
+<p>2024-07-09 Andreas Scherer</p>
</body>
</html>
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/index.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/index.pdf
index 0debc240090..cdad14512ee 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/index.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/index.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mf/mf-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mf/mf-changes.pdf
index 980465451f8..a16ecb16e3f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mf/mf-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mf/mf-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mf/mf.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mf/mf.pdf
index a4981be56bb..1fd069cfcda 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mf/mf.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mf/mf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mf/trapman.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mf/trapman.pdf
index d6fa8cde57e..b97414ec234 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mf/trapman.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mf/trapman.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi-changes.pdf
index a42e872a813..8d300e9b3a4 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi.pdf
index 6ec2f1b39e5..b3b2dbc463f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftodvi.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk-changes.pdf
index d31608e082b..cfa20619710 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk.pdf
index 658de054d5c..358babf99e6 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftopk.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype-changes.pdf
index 3044a6dfd61..bd3a31448cc 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype.pdf
index 946e7d93d32..99c425e27ea 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/gftype.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft-changes.pdf
index 2787bde5edd..741f1d3b41e 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft.pdf
index bfb53791aee..456b4352190 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mfware/mft.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mp/mp.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mp/mp.pdf
new file mode 100644
index 00000000000..8db59988efc
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mp/mp.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/mp/mpost.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/mp/mpost.pdf
new file mode 100644
index 00000000000..7dc8cc7838e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/mp/mpost.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy-changes.pdf
index 175b9d3825a..059c71b9f16 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy.pdf
index cb23c2abdcf..d5e6a7de1a6 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/other/dvicopy.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/other/patgen-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/other/patgen-changes.pdf
index c0ac24a5bc7..9b24696e4e1 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/other/patgen-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/other/patgen-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/other/patgen.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/other/patgen.pdf
index 32cdc74562a..b4aa6ebad87 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/other/patgen.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/other/patgen.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf-changes.pdf
index fdd897165f8..0874fc69eae 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf.pdf
index 7246a18bc2f..7898be14054 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/other/pktogf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/other/pktype-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/other/pktype-changes.pdf
index b7422ecf9ef..86078c7dee9 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/other/pktype-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/other/pktype-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/other/pktype.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/other/pktype.pdf
index fd70bc33c49..9d3e2822216 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/other/pktype.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/other/pktype.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex-changes.pdf
index 941a3ff409c..e0d8340ff45 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex.pdf
index a77fbf388b7..42bf275b728 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/pdftex/pdftex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/tex/glue.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/tex/glue.pdf
index 742cd78b22f..d698e786296 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/tex/glue.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/tex/glue.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/tex/tex-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/tex/tex-changes.pdf
index 5047b9f720c..f4e81bf4d63 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/tex/tex-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/tex/tex-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/tex/tex.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/tex/tex.pdf
index e82e47aea10..3068cc9edc8 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/tex/tex.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/tex/tex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/tex/tripman.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/tex/tripman.pdf
index 70bd03683ed..ac9f4eaa928 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/tex/tripman.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/tex/tripman.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype-changes.pdf
index 0119a3b71b2..fbcedb9bde7 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype.pdf
index 610eb15cf62..a8a3cfc2d2a 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/texware/dvitype.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf-changes.pdf
index 79b906d3bfe..6528a5c5b3f 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf.pdf
index dfc083ae720..3ca3b977e71 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/texware/pltotf.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype-changes.pdf
index 1a3c866638c..922d39d91a7 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype.pdf
index 9c4e5df12ad..d2d46a32041 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/texware/pooltype.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl-changes.pdf
index d46b9521dc7..9b0c58f22c1 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl.pdf
index 067b684a1a8..980ce9472c6 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/texware/tftopl.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/tie/tie-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/tie/tie-changes.pdf
index 8e8b95ef63a..563d5788f5a 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/tie/tie-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/tie/tie-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/tie/tie.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/tie/tie.pdf
index 641ee72547e..db3830b5443 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/tie/tie.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/tie/tie.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/web/tangle-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/web/tangle-changes.pdf
index dac870d44d5..6f9ad6d8124 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/web/tangle-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/web/tangle-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/web/tangle.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/web/tangle.pdf
index 27741dac9b1..0e6a77f36ca 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/web/tangle.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/web/tangle.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/web/twill.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/web/twill.pdf
index 80d61da453e..e360148f2d8 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/web/twill.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/web/twill.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/web/weave-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/web/weave-changes.pdf
index 3d97d108ffe..85ee36841f7 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/web/weave-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/web/weave-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/web/weave.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/web/weave.pdf
index 3095ba9b798..ce2315c2ae3 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/web/weave.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/web/weave.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/web/webman.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/web/webman.pdf
index de6d6c1ecb3..eda4824bd9b 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/web/webman.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/web/webman.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex-changes.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex-changes.pdf
index 02504c7faa0..32dd78f0502 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex-changes.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex.pdf b/Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex.pdf
index f351e2931de..9ad6e9d383e 100644
--- a/Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex.pdf
+++ b/Master/texmf-dist/doc/generic/knuth-pdf/xetex/xetex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/markdown/CHANGES.md b/Master/texmf-dist/doc/generic/markdown/CHANGES.md
index 550989a936f..922aadff91c 100644
--- a/Master/texmf-dist/doc/generic/markdown/CHANGES.md
+++ b/Master/texmf-dist/doc/generic/markdown/CHANGES.md
@@ -1,5 +1,34 @@
# Changes
+## 3.6.2 (2024-07-14)
+
+Fixes:
+
+- Fix the interplay between inline notes and square brackets.
+ (#453, #456, reported by @nopria, contributed by @lostenderman)
+- Fix the interplay between lists and citations.
+ (witiko/expltools#3, #460, #461, contributed by @lostenderman)
+- Do not override the `outputDir` option if if has been defined
+ before loading the package and pass it to lt3luabridge library.
+ (#457, #459)
+
+Documentation:
+
+- Fix various typos. (#454, contributed by @mbertucci47)
+- Add file `DEPENDS.txt`. (#462, #463, 93bb7e18)
+
+Continuous Integration:
+
+- Only test latest TeX Live in pull requests. (81927ca1)
+
+Unit Tests:
+
+- Test the `outputDir` plain TeX option. (#457, #459)
+
+Libraries:
+
+- Update `tinyyaml` to v0.4.4-1-g197632c. (1e83ac94)
+
## 3.6.1 (2024-06-20)
Fixes:
@@ -704,7 +733,7 @@ Development:
- Add support for strike-throughs, fenced divs, subscripts, superscripts,
and fancy lists. (#149, #160, #162, #168, #170)
-- Add facade in front of expl3 inferface for YAML metadata. (#118, #175)
+- Add facade in front of expl3 interface for YAML metadata. (#118, #175)
- Add `\setupmarkdown` and `\inputmarkdown` commands to ConTeXt. (#17, #176)
Fixes:
@@ -784,7 +813,7 @@ Docker:
Documentation:
-- Remove disfunctional badges for Docker from `README.md`. (ad00b58, 707cad9)
+- Remove dysfunctional badges for Docker from `README.md`. (ad00b58, 707cad9)
- Link to TUG's version of the TUG 2021 video in `README.md`. (1462411)
Miscellaneous:
@@ -1045,7 +1074,7 @@ Fixes:
Fixes:
- String text and parenthetical citations. (e6026c1)
-- Escape autolink labels even when hybrid mode is enabled. (repored by @iwelch,
+- Escape autolink labels even when hybrid mode is enabled. (reported by @iwelch,
693e134)
- Protect LaTeX strong emphasis renderer prototype and make it detect font.
(reported by @iwelch, 89a031a)
diff --git a/Master/texmf-dist/doc/generic/markdown/README.md b/Master/texmf-dist/doc/generic/markdown/README.md
index 1aaa42ed9ee..2a02ee9736e 100644
--- a/Master/texmf-dist/doc/generic/markdown/README.md
+++ b/Master/texmf-dist/doc/generic/markdown/README.md
@@ -18,7 +18,7 @@ Markdown
The Markdown package converts [CommonMark][] markup to TeX commands. The
functionality is provided both as a Lua module, and as plain TeX, LaTeX, and
ConTeXt macro packages that can be used to directly typeset TeX documents
-containing markdown markup. Unlike other convertors, the Markdown package does
+containing markdown markup. Unlike other converters, the Markdown package does
not require any external programs, and makes it easy to redefine how each and
every markdown element is rendered. Creative abuse of the markdown syntax is
encouraged. 😉
diff --git a/Master/texmf-dist/doc/generic/markdown/VERSION b/Master/texmf-dist/doc/generic/markdown/VERSION
index e15dd6a469c..c2b2c7e0ab9 100644
--- a/Master/texmf-dist/doc/generic/markdown/VERSION
+++ b/Master/texmf-dist/doc/generic/markdown/VERSION
@@ -1 +1 @@
-3.6.1-0-g5a45a922 (2024-06-20)
+3.6.2-0-g6c30af7e (2024-07-14)
diff --git a/Master/texmf-dist/doc/generic/markdown/markdown.html b/Master/texmf-dist/doc/generic/markdown/markdown.html
index f16477d9488..81e62b20443 100644
--- a/Master/texmf-dist/doc/generic/markdown/markdown.html
+++ b/Master/texmf-dist/doc/generic/markdown/markdown.html
@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
- <meta name="author" content="Vít Starý Novotný" />
+ <meta name="author" content="Vít Starý Novotný, Andrej Genčur" />
<title>Markdown Package User Manual</title>
<style>
code{white-space: pre-wrap;}
@@ -92,8 +92,8 @@
<body>
<header id="title-block-header">
<h1 class="title">Markdown Package User Manual</h1>
-<p class="author">Vít Starý Novotný</p>
-<p class="date">3.6.1-0-g5a45a922 2024-06-20</p>
+<p class="author">Vít Starý Novotný, Andrej Genčur</p>
+<p class="date">3.6.2-0-g6c30af7e 2024-07-14</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
@@ -191,7 +191,7 @@ class="tex">T<sub>e</sub>X</span>, <span
class="latex">L<sup>a</sup>T<sub>e</sub>X</span>, and Con<span
class="tex">T<sub>e</sub>X</span>t macro packages that can be used to
directly typeset <span class="tex">T<sub>e</sub>X</span> documents
-containing markdown markup. Unlike other convertors, the Markdown
+containing markdown markup. Unlike other converters, the Markdown
package does not require any external programs, and makes it easy to
redefine how each and every markdown element is rendered. Creative abuse
of the markdown syntax is encouraged. <i class="em em-wink"></i></p>
@@ -227,10 +227,10 @@ class="tex">T<sub>e</sub>X</span> distribution, you will need to install
it.</p>
<p>From <a href="https://github.com/witiko/markdown/releases"
title="Releases - witiko/markdown">Releases</a>, download <a
-href="https://github.com/witiko/markdown/releases/download/3.6.1/markdown.zip"
-title="Release 3.6.1 - witiko/markdown">an archive
+href="https://github.com/witiko/markdown/releases/download/3.6.2/markdown.zip"
+title="Release 3.6.2 - witiko/markdown">an archive
<code>markdown.zip</code> for this version of the Markdown package
-(3.6.1)</a> or a different version that you wish to install. Then, unzip
+(3.6.2)</a> or a different version that you wish to install. Then, unzip
the archive. If you downloaded an archive for a different version of the
Markdown package, you should now locate a file named
<code>markdown.html</code> with the user manual for that version, open
@@ -4720,7 +4720,7 @@ markdown markup freely.</p>
<dd>
<p>Enable the escaping of special plain <span
class="tex">T<sub>e</sub>X</span> characters outside verbatim
-environments, so that they are not interpretted by <span
+environments, so that they are not interpreted by <span
class="tex">T<sub>e</sub>X</span>. This is encouraged when typesetting
automatically generated content or markdown documents that were not
prepared with this package in mind.</p>
@@ -8288,7 +8288,7 @@ options directly from <span
class="latex">L<sup>a</sup>T<sub>e</sub>X</span>. For example, to set
the <code>\markdownOptionInputTempFileName</code> plain <span
class="tex">T<sub>e</sub>X</span> option to
-<code>helper-script.lua</code>, we would inclde the following code in
+<code>helper-script.lua</code>, we would include the following code in
our <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> document:</p>
<div class="sourceCode" id="cb477"><pre
class="sourceCode tex"><code class="sourceCode latex"><span id="cb477-1"><a href="#cb477-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span>
@@ -9077,12 +9077,12 @@ contain the following text:</p>
class="header-section-number">2.3.1.6</span> Code Block Renderers</h4>
<p>The <code>\markdownRendererInputVerbatim</code> macro represents a
code block. The macro receives a single argument that corresponds to the
-filename of a file contaning the code block contents.</p>
+filename of a file containing the code block contents.</p>
<p>The <code>\markdownRendererInputFencedCode</code> macro represents a
fenced code block. This macro will only be produced, when the
<strong><code>fencedCode</code></strong> option is enabled. The macro
receives three arguments that correspond to the filename of a file
-contaning the code block contents, the fully escaped code fence
+containing the code block contents, the fully escaped code fence
infostring that can be directly typeset, and the raw code fence
infostring that can be used outside typesetting.</p>
<h5 class="unnumbered" id="latex-example-62"><span
@@ -9841,7 +9841,7 @@ nutrient-rich, and produced on an industrial scale.</p>
<h4 data-number="2.3.1.11" id="ellipsis-renderer"><span
class="header-section-number">2.3.1.11</span> Ellipsis Renderer</h4>
<p>The <code>\markdownRendererEllipsis</code> macro replaces any
-occurance of ASCII ellipses in the input text. This macro will only be
+occurrence of ASCII ellipses in the input text. This macro will only be
produced, when the <strong><code>smartEllipses</code></strong> option is
enabled. The macro receives no arguments.</p>
<h5 class="unnumbered" id="plain-tex-example-30">Plain <span
@@ -11581,14 +11581,14 @@ item).</p>
class="header-section-number">2.3.1.31</span> Raw Content Renderers</h4>
<p>The <code>\markdownRendererInputRawInline</code> macro represents an
inline raw span. The macro receives two arguments: the filename of a
-file contaning the inline raw span contents and the raw attribute that
+file containing the inline raw span contents and the raw attribute that
designates the format of the inline raw span. This macro will only be
produced, when the <strong><code>rawAttribute</code></strong> option is
enabled.</p>
<p>The <code>\markdownRendererInputRawBlock</code> macro represents a
raw block. The macro receives two arguments: the filename of a file
-contaning the raw block and the raw attribute that designates the format
-of the raw block. This macro will only be produced, when the
+containing the raw block and the raw attribute that designates the
+format of the raw block. This macro will only be produced, when the
<strong><code>rawAttribute</code></strong> and
<strong><code>fencedCode</code></strong> options are enabled.</p>
<h5 class="unnumbered" id="latex-example-89"><span
@@ -12140,7 +12140,7 @@ class="sourceCode tex"><code class="sourceCode latex"><span id="cb646-1"><a href
<span id="cb646-35"><a href="#cb646-35" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span>
<span id="cb646-36"><a href="#cb646-36" aria-hidden="true" tabindex="-1"></a> renderers = {</span>
<span id="cb646-37"><a href="#cb646-37" aria-hidden="true" tabindex="-1"></a> table = {<span class="co">%</span></span>
-<span id="cb646-38"><a href="#cb646-38" aria-hidden="true" tabindex="-1"></a> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 colums wide</span>
+<span id="cb646-38"><a href="#cb646-38" aria-hidden="true" tabindex="-1"></a> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 columns wide</span>
<span id="cb646-39"><a href="#cb646-39" aria-hidden="true" tabindex="-1"></a> and #2 rows long.</span>
<span id="cb646-40"><a href="#cb646-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\rowCounter</span>=0<span class="co">%</span></span>
<span id="cb646-41"><a href="#cb646-41" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\rowTotal</span>{#2}<span class="co">%</span></span>
@@ -12167,18 +12167,19 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb647-1"><a href="
contain the following text:</p>
<blockquote>
<p>This is a table with caption <em>Demonstration of pipe table
-syntax</em> that is 4 colums wide and 4 rows long. As for the alignment,
-column number 1 is right-aligned, column number 2 is left-aligned,
-column number 3 has default alignment, and column number 4 is centered.
-In row 1, column number 1 says <em>Right</em>, column number 2 says
-<em>Left</em>, column number 3 says <em>Default</em>, and column number
-4 says <em>Center</em>. In row 2, column number 1 says <em>12</em>,
-column number 2 says <em>12</em>, column number 3 says <em>12</em>, and
-column number 4 says <em>12</em>. In row 3, column number 1 says
-<em>123</em>, column number 2 says <em>123</em>, column number 3 says
-<em>123</em>, and column number 4 says <em>123</em>. In row 4, column
-number 1 says <em>1</em>, column number 2 says <em>1</em>, column number
-3 says <em>1</em>, and column number 4 says <em>1</em>.</p>
+syntax</em> that is 4 columns wide and 4 rows long. As for the
+alignment, column number 1 is right-aligned, column number 2 is
+left-aligned, column number 3 has default alignment, and column number 4
+is centered. In row 1, column number 1 says <em>Right</em>, column
+number 2 says <em>Left</em>, column number 3 says <em>Default</em>, and
+column number 4 says <em>Center</em>. In row 2, column number 1 says
+<em>12</em>, column number 2 says <em>12</em>, column number 3 says
+<em>12</em>, and column number 4 says <em>12</em>. In row 3, column
+number 1 says <em>123</em>, column number 2 says <em>123</em>, column
+number 3 says <em>123</em>, and column number 4 says <em>123</em>. In
+row 4, column number 1 says <em>1</em>, column number 2 says <em>1</em>,
+column number 3 says <em>1</em>, and column number 4 says
+<em>1</em>.</p>
</blockquote>
<h4 data-number="2.3.1.40" id="tex-math-renderers"><span
class="header-section-number">2.3.1.40</span> <span
diff --git a/Master/texmf-dist/doc/generic/markdown/markdown.pdf b/Master/texmf-dist/doc/generic/markdown/markdown.pdf
index 40adf14658a..3787cdbe80a 100644
--- a/Master/texmf-dist/doc/generic/markdown/markdown.pdf
+++ b/Master/texmf-dist/doc/generic/markdown/markdown.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-diffraction/Changes b/Master/texmf-dist/doc/generic/pst-diffraction/Changes
index 9f4fe42b2ba..d40c814ac75 100644
--- a/Master/texmf-dist/doc/generic/pst-diffraction/Changes
+++ b/Master/texmf-dist/doc/generic/pst-diffraction/Changes
@@ -1,4 +1,7 @@
pst-diffraction.tex --------
+2.06a 2024-07-15 - small fix in the documentation
+2.06 2024-07-10 - fix for missing contrast option for \psdiffractionCircular (Keno Wehr)
+2.05 2024-07-10 - removed unused optional argument gamma
2.04a 2024-06-29 - bugfix for the documentation header
- removed german and french docs
2.04 2010-01-05 - fix bug with missing \space for keywords
diff --git a/Master/texmf-dist/doc/generic/pst-diffraction/README b/Master/texmf-dist/doc/generic/pst-diffraction/README
index 86d7c0bb597..3d95ca6feb4 100644
--- a/Master/texmf-dist/doc/generic/pst-diffraction/README
+++ b/Master/texmf-dist/doc/generic/pst-diffraction/README
@@ -1,7 +1,7 @@
%% Package `pst-diffraction.tex'
%%
-%% Manuel Luque (ml _at_ pstricks.de) (France)
-%% Herbert Voss (hv _at_ pstricks.de) (Germany)
+%% Manuel Luque (France)
+%% Herbert Voss (hvoss _at_ tug.org) (Germany)
%%
%% 2024-06-29
%%
@@ -19,24 +19,14 @@ Save the files
pst-diffraction.sty
pst-diffraction.tex
-pst-diffraction.pro
in any place, where latex or any other TeX program will find it.
-The pro file should go into $TEXMF$/dvips/pstricks/.
-
-pst-diffraction uses the extended version of the keyval package. So
-be sure that you
-- have installed xkeyval with the special pst-xkey
- (CTAN: tex-archive/macros/latex/contrib/xkeyval/)
-- do not load another package after pst-diffraction, which loads
- the old keyval.sty or pst-key.tex
You can run the documentation with
-make DE
-make E
-make FR
-or for all make all ;-) this will take a lot of time, because
+make
+
+or for all make all ;-) this may take some time, because
the images are very big.
If you like to get the documentation file in another format run
@@ -50,8 +40,7 @@ to get a PostScript file. But pay attention, that the pst-diffraction
files are saved in the above mentioned way, before you run
latex on the documentation file.
-The intermediate DVI file works only with viewers which can
-interprete the embedded PostScript code.
+Running the files with lualatex is possible, but may take a lot of
+time in fact of the heavy calculations.
-For another PDF output read the introduction from
-the documentation.
+hvoss@tug.org
diff --git a/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.bib b/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.bib
index 737b6dbba99..0d2ecefe777 100644
--- a/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.bib
+++ b/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.bib
@@ -1,45 +1,105 @@
-@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{tugboat = {TUGboat} }
+@STRING{dtk = {Die {\TeX}nische Komödie} }
+@STRING{bretter = {Bretter, die die Welt bedeuten } }
+
+@Book{companion,
+ author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Dennis Roegel and Herbert Voß},
+ title = {The {\LaTeX} Graphics Companion},
+ publisher = {Lehmanns Media},
+ edition = {2},
+ date = {2022},
+ location = {Berlin},
+ note={Preprint of the english version, 2nd edition}
+}
+
+@Article{girou:01:,
+ author = {Denis Girou},
+ title = {Présentation de PSTricks},
+ journal = {Cahier {GUT}enberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21-70}
+}
+
+@Article{girou:02:,
+ author = {Timothy Van Zandt and Denis Girou},
+ title = {Inside {PST}ricks},
+ journal = TUGboat,
+ year = 1994,
+ volume = {15},
+ month = sep,
+ pages = {239-246}
+}
@Book{PostScript,
Author = {Kollock, Nikolai G.},
- Title = {PostScript richtig eingesetzt: vom Konzept zum
- praktischen Einsatz},
+ Title = {PostScript richtig eingesetzt: vom Konzept zum praktischen Einsatz},
Publisher = {IWT},
Address = {Vaterstetten},
year = 1989,
}
-@Manual{pstricks,
- Title = {PSTricks - {\PS} macros for Generic TeX},
- Author = {Timothy Van Zandt},
- Organization = {},
- Address = {\url{http://www.tug.org/application/PSTricks}},
- Note = {},
- year = 1993,
+@ctan{multido,
+title = {The Multido package},
+subtitle = {A loop facility for Generic TeX},
+author = {Van Zandt, Timothy and Voß, Herbert and Niepraschk, Rolf},
+url = {macros/latex/multido},
+urldate = {2018-09-01},
+version = {1.42}
}
-@Manual{pdftricks,
- Title = {PSTricks Support for pdf},
- Author = {Herbert Voss},
- Organization = {},
- Address = {\url{http://PSTricks.de/pdf/pdfoutput.phtml}},
- Note = {},
- year = 2002,
+@Book{PSTricks2,
+ author = {Herbert Voß},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {7},
+ publisher = {DANTE {\eV} and Lehmanns Media},
+ date = {2016},
+ address = {Heidelberg and Hamburg}
}
-@Manual{miwi,
- Title = {References for \TeX{} and Friends},
- Author = {Michael Wiedmann and Peter Karp},
- Organization = {},
- Address = {\url{http://www.miwie.org/tex-refs/}},
- Note = {},
- year = 2003,
+@Book{PSTricksE,
+ author = {Herbert Voß},
+ title = {\texttt{PSTricks} -- Graphics and PostScript for \LaTeX},
+ edition = {1},
+ publisher = {UIT},
+ date = {2011},
+ address = {Cambridge -- UK}
+}
+
+@Book{LTXquick,
+ author = {Herbert Voß},
+ title = {{\LaTeX} quick reference},
+ edition = {1},
+ publisher = {UIT},
+ year = {2012},
+ address = {Cambridge -- UK}
+}
+
+@Book{presentations,
+ author = {Herbert Voß},
+ title = {Presentations with \LaTeX},
+ edition = {2},
+ publisher = {DANTE {\eV} and Lehmanns Media},
+ year = {2019},
+ address = {Heidelberg and Berlin}
}
+@Book{tbt,
+ author = {Victor Eijkhout},
+ title = {\TeX\ by Topic -- {A} \TeX{}nician Reference},
+ edition = {1},
+ publisher = {DANTE {\eV} and Lehmanns Media},
+ year = {2014},
+ address = {Heidelberg and Berlin}
+}
+
+
+
@Article{dtk02.1:voss:mathematischen,
- author = {Herbert Vo{\ss}},
+ author = {Herbert Voß},
title = {Die mathematischen {F}unktionen von {P}ostscript},
journal = dtk,
year = 2002,
@@ -49,7 +109,6 @@
month = mar,
pages = {40-47},
annote = bretter,
- keywords = {},
abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im
Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es
darum geht zu beurteilen, was es denn nun im eigentlichen
@@ -61,31 +120,30 @@
gezeigt. }
}
-@Book{companion,
- author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}},
- title = {The {\LaTeX} {G}raphics {C}ompanion},
- publisher = {{Addison-Wesley Publishing Company}},
- edition = 2,
- year = {2007},
- address = {Reading, Mass.}
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {PostScript richtig eingesetzt: vom Konzept zum
+ praktischen Einsatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
}
-@Book{PSTricks2,
- author = {Herbert Vo\ss},
- title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
- edition = {4.},
- publisher = {DANTE -- Lehmanns},
- year = {2007},
- address = {Heidelberg/Hamburg}
+@online{pstricks,
+ Title = {PSTricks - {\PS} macros for Generic TeX},
+ Author = {Timothy Van Zandt},
+ Organization = {},
+ url = {http://www.tug.org/application/PSTricks},
+ year = 1993,
}
-@Book{LaTeXRef,
- author = {Herbert Vo\ss},
- title = {\LaTeX\ Referenz},
- edition = {1.},
- publisher = {DANTE -- Lehmanns},
- year = {2007},
- address = {Heidelberg/Hamburg}
+
+@online{pdftricks,
+ Title = {PSTricks Support for pdf},
+ Author = {Herbert Voß},
+ url = {http://PSTricks.de/pdf/pdfoutput.phtml},
+ year = 2002,
}
@Book{diffraction,
@@ -107,12 +165,11 @@
publisher = {Society of {P}hoto {O}ptical}
}
-@Manual{Fresnel,
+@online{Fresnel,
Title = {Augustin Fresnel},
Author = {Manuel Luque},
Organization = {},
- Address = {\url{http://melusine.eu.org/syracuse/mluque/fresnel/augustin/fresnel.html}},
- Note = {},
+ url = {http://melusine.eu.org/syracuse/mluque/fresnel/augustin/fresnel.html},
year = 2004
}
diff --git a/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.pdf b/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.pdf
index 33256a5b76f..d6e0b803aca 100644
--- a/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.tex b/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.tex
index f38f06f02e3..382907d86cc 100644
--- a/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-diffraction/pst-diffraction-doc.tex
@@ -1,13 +1,16 @@
%% $Id: pst-diffraction-docE.tex 134 2009-09-27 12:28:50Z herbert $
-\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings,
- headexclude,footexclude,oneside]{pst-doc}
-\usepackage{pst-grad,pst-diffraction}
-\let\pstDiffractionFV\fileversion
+\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,twoside,english]{pst-doc}
-\usepackage{libertinus}
+%\usepackage{libertinus}
\usepackage{biblatex}
\addbibresource{pst-diffraction-doc.bib}
+\usepackage{xurl,pst-grad,pst-diffraction}
+\let\pstDiffractionFV\fileversion
+
+
+
\lstset{pos=t,wide=true,language=PSTricks,
morekeywords={psdiffractionRectangle,psdiffractionCircle,psdiffractionCircular},basicstyle=\footnotesize\ttfamily}
\lstdefinestyle{syntax}{backgroundcolor=\color{blue!20},numbers=none,xleftmargin=0pt,xrightmargin=0pt,
@@ -16,6 +19,15 @@
frame=single}
\newcommand*\psp{\texttt{pspicture}\xspace}
%
+
+\renewcommand\bgImage{%
+\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
+\psdiffractionCircular[f=10,showFunc=true]
+\end{pspicture}
+}
+
+\def\eV{e.\kern-1pt{}V\kern-1pt}
+
\begin{document}
\title{\texttt{pst-diffraction}}
@@ -24,21 +36,18 @@ apertures; v.\pstDiffractionFV}
\author{Manuel Luque \\ Herbert Vo\ss}
\docauthor{Herbert Voß}
\date{\today}
-\maketitle
+%\maketitle
+\settitle
\tableofcontents
-
-\clearpage
-
-\begin{abstract}
-\noindent
+\psset{unit=1cm}
\vfill\noindent
Thanks to: Julien Cubizolles,
Doris Wagner,
Timothy Van Zandt, Keno Wehr,
Michael Zedler.
-\end{abstract}
+
\section{Optical setup}
@@ -136,7 +145,7 @@ By default the settings are as follows:
\begin{tabular}{@{}lll@{}}
\Lkeyword{a}=0.2e-3 in m; & \Lkeyword{k}=1; & \Lkeyword{f}=5 in m;\\
-\Lkeyword{lambda}=650 in nm; & \Lkeyword{pixel}=0.5; & \Lkeyword{contrast}=38, greates value;\\
+\Lkeyword{lambda}=650 in nm; & \Lkeyword{pixel}=0.5; & \Lkeyword{contrast}=38, greatest value;\\
\Lkeyword{colorMode}=3; & \Lkeyword{IIID}=\false.
\end{tabular}
@@ -156,7 +165,7 @@ By default the settings are as follows:
\end{pspicture}
\hfill
\begin{pspicture}(-1.5,-2.5)(3.5,3.5)
-\psdiffractionRectangle[IIID,Alpha=30,f=2.5]
+\psdiffractionRectangle[IIID,Alpha=30,f=2.5]% for Alpha see package pst-3dplot
\end{pspicture}
\end{lstlisting}
@@ -200,6 +209,7 @@ By default the settings are as follows:
\hfill
\begin{pspicture}(-1.5,-2)(3.5,3)
\psdiffractionRectangle[IIID,Alpha=20,a=0.5e-3,k=2,f=10,lambda=515,colorMode=1]
+% % for Alpha see package pst-3dplot
\end{pspicture}
\end{lstlisting}
@@ -211,6 +221,7 @@ By default the settings are as follows:
\hfill
\begin{pspicture}(-3.5,-1)(3.5,4)
\psdiffractionRectangle[IIID,Alpha=10,a=0.5e-3,k=20,f=10,pixel=0.5,lambda=450]
+% % for Alpha see package pst-3dplot
\end{pspicture}
\begin{lstlisting}[style=example]
@@ -220,6 +231,7 @@ By default the settings are as follows:
\hfill
\begin{pspicture}(-3.5,-1)(3.5,4)
\psdiffractionRectangle[IIID,Alpha=10,a=0.5e-3,k=20,f=10,pixel=0.5,lambda=450]
+% % for Alpha see package pst-3dplot
\end{pspicture}
\end{lstlisting}
@@ -230,7 +242,7 @@ It is also possible to render the diffraction pattern of two congruent rectangle
by using the option \Lkeyword{twoSlit}.
By default this option is deactivated.
The distance of the two rectangles is specified by the option $s$.
-The default for $s$ is $12e^{-3}\,\mathrm{m}$.
+The default for $s$ is $12\cdot10^{-3}\,\mathrm{m}$.
\begin{center}
@@ -249,12 +261,14 @@ The default for $s$ is $12e^{-3}\,\mathrm{m}$.
\begin{center}
\begin{pspicture}(-2,-1)(4,4)
\psdiffractionRectangle[IIID,Alpha=20,a=0.5e-3,k=10,f=10,pixel=0.5,lambda=650,twoSlit,s=2e-3]
+% % for Alpha see package pst-3dplot
\end{pspicture}
\end{center}
\begin{lstlisting}[pos=t,style=example,wide=false]
\begin{pspicture}(-2,-1)(4,4)
\psdiffractionRectangle[IIID,Alpha=20,a=0.5e-3,k=10,f=10,pixel=0.5,lambda=650,twoSlit,s=2e-3]
+% % for Alpha see package pst-3dplot
\end{pspicture}
\end{lstlisting}
@@ -271,9 +285,9 @@ cropped if its height exceeds the margin of the environment \Lenv{pspicture*}).
\hspace*{-1cm}%
\begin{LTXexample}[pos=t,style=example,wide=false]
-\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
+\begin{pspicture*}(-3.5,-3.5)(3.5,3.5)
\psdiffractionCircular[r=0.5e-3,f=10,pixel=0.5,lambda=520]
-\end{pspicture}
+\end{pspicture*}
%
\begin{pspicture}(-3.5,-1.5)(3.5,3.5)
\psdiffractionCircular[IIID,r=0.5e-3,f=10,pixel=0.5,lambda=520]
@@ -281,6 +295,20 @@ cropped if its height exceeds the margin of the environment \Lenv{pspicture*}).
\end{LTXexample}
+\begin{LTXexample}[pos=t,style=example,wide=false]
+\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
+\psdiffractionCircular[f=10]
+\end{pspicture}
+\hfill
+\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
+\psdiffractionCircular[f=10,showFunc=true]
+\end{pspicture}
+\end{LTXexample}
+
+
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Diffraction from two circular apertures}
Only the case of equal radii is provided, this common radius can be defined like in the
@@ -291,7 +319,7 @@ Furthermore one has to give the half distance of the circles measured from their
The rendering process could take some time in this case\dots
-\begin{pspicture}(-3,-3.5)(3.5,3.5)
+\begin{pspicture}(-3.5,-3.5)(4,3.5)
\psdiffractionCircular[r=0.5e-3,f=10,d=3e-3,lambda=515,twoHole]
\end{pspicture}
%
@@ -312,7 +340,7 @@ The rendering process could take some time in this case\dots
\hspace*{-1cm}%
-\begin{pspicture}(-3,-3)(3.5,4)
+\begin{pspicture}(-4,-3)(4,4)
\psdiffractionCircular[r=0.5e-3,f=10,d=2e-3,lambda=700,twoHole,colorMode=0]
\end{pspicture}
%
@@ -336,21 +364,22 @@ or $d=\frac{2r}{1.22}$ (see
\url{http://www.unice.fr/DeptPhys/optique/diff/trouscirc/diffrac.html}).
\hspace*{-1cm}%
-\begin{pspicture}(-3,-3.5)(3,3.5)
+\begin{pspicture}(-4,-3.5)(3,4.5)
\psdiffractionCircular[r=0.5e-3,f=10,d=4.1e-4,lambda=632,twoHole]
\end{pspicture}
%
-\begin{pspicture}(-3.5,-1.5)(3.5,3)
+\begin{pspicture}(-5,-2)(3.5,3)
\psdiffractionCircular[IIID,r=0.5e-3,f=10,d=4.1e-4,lambda=632,twoHole]
\end{pspicture}
+\bigskip
\begin{lstlisting}[style=example]
\begin{pspicture}(-3,-3.5)(3,3.5)
\psdiffractionCircular[r=0.5e-3,f=10,d=4.1e-4,lambda=632,twoHole]
\end{pspicture}
%
-\begin{pspicture}(-3.5,-1.5)(3.5,3)
+\begin{pspicture}(-5,-1.5)(3.5,3)
\psdiffractionCircular[IIID,r=0.5e-3,f=10,d=4.1e-4,lambda=632,twoHole]
\end{pspicture}
\end{lstlisting}
@@ -377,7 +406,7 @@ option \Lkeyword{colorMode}=0.
\makebox[\linewidth]{%
\begin{pspicture}(-3,-3)(3,2.5)
-\psdiffractionTriangle[f=10,h=1e-3,lambda=515,contrast=38]
+\psdiffractionTriangle[f=10,h=1e-3,lambda=515,contrast=18]
\end{pspicture}
\quad
\begin{pspicture}(-3,-3)(3,2.5)
@@ -391,7 +420,7 @@ option \Lkeyword{colorMode}=0.
\begin{lstlisting}[style=example]
\begin{pspicture}(-3,-3)(3,2.5)
-\psdiffractionTriangle[f=10,h=1e-3,lambda=515,contrast=38]
+\psdiffractionTriangle[f=10,h=1e-3,lambda=515,contrast=18]
\end{pspicture}
\quad
\begin{pspicture}(-3,-3)(3,2.5)
@@ -433,9 +462,8 @@ option \Lkeyword{colorMode}=0.
-\clearpage
-\section{List of all optional arguments for \texttt{pst-diff}}
-\Loption{pst-diff} is the short form for the keywords in the package \LPack{pst-diffraction}.
+\section{List of all optional arguments for \texttt{pst-diffraction}}
+%\Loption{pst-diff} is the short form for the keywords in the package \LPack{pst-diffraction}.
\xkvview{family=pst-diff,columns={key,type,default}}
@@ -444,7 +472,6 @@ option \Lkeyword{colorMode}=0.
\raggedright
\nocite{*}
\printbibliography
-%\bibliography{pst-diffraction-doc}
\printindex
diff --git a/Master/texmf-dist/doc/generic/pst-node/Changes b/Master/texmf-dist/doc/generic/pst-node/Changes
index cac34e69124..6ef6294b360 100644
--- a/Master/texmf-dist/doc/generic/pst-node/Changes
+++ b/Master/texmf-dist/doc/generic/pst-node/Changes
@@ -1,5 +1,7 @@
----- pst-node.tex
-1.43 2021-09-15 - fix for lualatex and empty value in \psk@nrot
+1.45 2024-07-10 - fix \algparnode (Erich Schmidt)
+1.44 2024-07-04 - modified \psparnode and \algparnode (Erich Schmidt)
+1.43 2022-10-31 - fix for lualatex and empty value in \psk@nrot
1.42a 2020-04-01 - fix typo in the documentation
1.42 2019-03-03 - bugfix for \rnode inside \psframebox*
1.41 2017-12-30 - added \psnpolygon
@@ -56,12 +58,14 @@
----- pst-node.sty
+1.02 2024-07-10 - update package versions (hv)
1.01 2012-09-18 - update package versions (hv)
1.00 2011-06-05 - make ancient variant 97 available (hv)
2008-12-12 first version (hv)
----- pst-node.pro
+1.15a 2024-07-10 - typos
1.15 2014-01-27 - comment out empty lines
1.14 2012-09-18 - add subroutines for global dict
1.13 2011-11-21 - fix bug for xelatex and scaling
diff --git a/Master/texmf-dist/doc/generic/pst-node/README b/Master/texmf-dist/doc/generic/pst-node/README
index 3f4fd08e595..29b62ef30c4 100644
--- a/Master/texmf-dist/doc/generic/pst-node/README
+++ b/Master/texmf-dist/doc/generic/pst-node/README
@@ -1,13 +1,10 @@
-This version of pst-node uses the xkeyval package, the extended
-version of keyval.
-
Save the files pst-node.sty|.tex|.pro in a directory, which is part of your
local TeX node. Then do not forget to run texhash to update this node
if these packages are new to your TeX distribution.
For more information see the documentation of your LaTeX distribution
on installing packages into your LaTeX distribution or the
TeX Frequently Asked Questions:
-(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+(https://texfaq.org/#installing).
pst-node needs pstricks, which should be part of your
local TeX installation, otherwise get it from a CTAN server, f.ex.
diff --git a/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.bib b/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.bib
new file mode 100644
index 00000000000..f2a5d82e847
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.bib
@@ -0,0 +1,35 @@
+@Manual{pstricks2007,
+ Title = {PSTricks - {\PS} macros for Generic TeX. Version 1.5},
+ Author = {Timothy Van Zandt},
+ Organization = {},
+ Address =
+ {\url{http://www.tug.org/tex-archive/graphics/pstricks/base/doc/pst-user.pdf}},
+ Note = {},
+ year = 2007,
+}
+
+
+@Manual{siart,
+ Title = {Befehls\"ubersicht f\"ur \texttt{PSTricks} (Version
+ 0.93},
+ Author = {Uwe Siart},
+ Organization = {},
+ Address =
+ {\url{http://www.siart.de/typografie/pstricks-referenz.pdf}},
+ Note = {},
+ year = 2009,
+}
+
+
+
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {fünfte},
+ publisher = {DANTE -- Lehmanns},
+ year = {2008},
+ address = {Heidelberg/Hamburg}
+}
+
+
diff --git a/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.pdf b/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.pdf
new file mode 100644
index 00000000000..cb72a62b43e
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.tex b/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.tex
new file mode 100644
index 00000000000..8ca96eab4e7
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-node/psmatrix-docDE.tex
@@ -0,0 +1,1155 @@
+%% $Id: psmatrix-docDE.tex 696 2017-12-30 19:01:07Z herbert $
+\listfiles
+\documentclass[11pt,ngerman,a4paper,BCOR10mm,DIV12,bibliography=totoc,parskip,smallheadings,
+ headexclude,footexclude,oneside]{pst-doc}
+\usepackage[utf8]{inputenc}
+\usepackage{babel}
+
+%\setlength{\parindent}{0pt}
+%\setlength{\parskip}{1ex plus 0.2ex minus 0.1ex}
+
+\usepackage{pst-node,pst-grad,pstricks-add,pst-blur,float}
+\def\tab#1{\tabular{@{}l@{}}#1\endtabular}
+\def\OptEinh{\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Einheit}}\kern1pt}
+
+\let\myFV\fileversion
+
+\usepackage{tabularx}
+\usepackage{longtable}
+
+\addbibresource{\jobname.bib}
+
+
+\lstset{explpreset={pos=l,rframe=},frame=,backgroundcolor=\color{white},literate={ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
+ {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
+ {ß}{\ss}1}
+
+
+\usepackage{bibgerm}
+
+%\psset{subgriddiv=0,gridlabels=7pt,gridcolor=black!15}
+%\hypersetup{pdfauthor={Christine Roemer},pdftitle={psmatrix}}
+%
+\def\bgImage{\hspace*{1cm}%
+\begin{psmatrix}[colsep=0.8cm,rowsep=0.4cm,mcol=c,emnode=r]
+ & & semantische Ebene & &
+ \psshadowbox[framearc=0.25]{Bedeutung}\\
+ & & morphologische Ebene & & \\
+[name=A]\tab{pragmatische\\Ebene} & [name=B]& & & \\
+ & & syntaktische Ebene & & \\
+ & & \tab{phonetisch-phonologische Ebene\\graphische Ebene}
+ & & \psshadowbox[framearc=0.25]{Formativ}
+\end{psmatrix}
+\psset{nodesep=3pt,arrowscale=1.5,arrows=->,
+ armA=6mm,angleB=180}
+\ncline{A}{B}
+\ncangles{A}{1,3} \ncangles{A}{2,3}
+\ncangles{A}{4,3} \ncangles{A}{5,3}
+\ncline{1,3}{1,5} \ncline{5,3}{5,5}
+\ncline{<->}{1,5}{5,5}%
+}
+
+\lstset{basicstyle=\ttfamily\footnotesize}
+
+\begin{document}
+\author{Timothy van Zandt\\Herbert Vo\ss}
+\docauthor{Christine R\"omer}
+\date{\today}
+\title{Schematische \"Ubersichten mit \texttt{psmatrix}}
+
+\maketitle%
+
+\tableofcontents
+
+\clearpage
+\begin{abstract}
+Mit der
+\texttt{psmatrix}-Umgebung\index{psmatrix@\texttt{psmatrix}-Umgebung} k\"onnen au{\ss}erhalb
+einer mathematischen
+Umgebung vielfältige schematische \"Ubersichten gesetzt werden. Das Makro \texttt{psmatrix}
+wird nicht extra geladen. Es ist in verschiedene Pakete des
+PSTricks-Verbundes\index{PSTricks-Verbund}
+(\texttt{pstricks,\\pst-node,pst-grad})\index{pstricks@\texttt{pstricks}}
+\index{pst-node@\texttt{pst-node}} \index{pst-grad@\texttt{pst-grad}} integriert
+ und wird mit ihnen aufgerufen.
+
+\vfill\noindent
+Danke f\"ur die Unterst\"utzung bei der Erstellung dieser Dokumentation an Herbert Vo\ss.
+\end{abstract}
+
+
+\section{Einf\"uhrung}
+
+Mit der
+\texttt{psmatrix}-Umgebung\index{psmatrix@\texttt{psmatrix}-Umgebung} k\"onnen
+au{\ss}erhalb einer mathematischen
+Umgebung schematische \"Ubersichten gesetzt werden. Sie basiert auf dem
+Tabellenmakro \texttt{array}\index{array@\texttt{array}} und gleicht ihm deshalb in der
+Syntax. Es hat jedoch nicht dessen
+Einschr\"ankungen bez\"uglich Verbindungen über die Zellen und Zeilen hinweg. Das Makro
+\texttt{psmatrix}
+wird nicht extra geladen. Es ist in verschiedene Pakete des
+PSTricks-Verbundes\index{PSTricks-Verbund}
+(\texttt{pstricks,\\pst-node,pst-grad})\index{pstricks@\texttt{pstricks}}
+\index{pst-node@\texttt{pst-node}} \index{pst-grad@\texttt{pst-grad}} integriert und
+wird mit ihnen aufgerufen.
+
+\section{Erstellen einer Matrix}
+\subsection{Einordnung}
+
+Das Makro \bs{\texttt{psmatrix}} arbeitet sowohl in einer \TeX - als auch
+\LaTeX-Umgebung:
+
+\begin{BDef}
+\Lcs{psmatrix}\OptArgs \ldots\ \Lcs{endpsmatrix} & \% TeX-Version\\
+\LBEG{psmatrix}\OptArgs \ldots \ \LEND{psmatrix} & \% LaTeX-Version
+\end{BDef}
+
+Da mit der \TeX-Version einige Einschr\"ankungen verbunden sind, wird nur auf
+die \LaTeX-Variante eingegangen. Das Grundprinzip des Strukturaufbaus
+stellt eine Knoten- und Knotenverbindungszuordnung dar. Diese kann mehrfach
+geschachtelt und sowohl bei der Knotenbelegung als auch
+Verbindungsdarstellung in verschiedener Weise ausgestalltet werden. Dazu
+stellt der PSTricksverbund zahlreiche Makros bereit.
+
+\subsection{Matrixgrundstruktur}\index{Matrixgrundstruktur}
+
+Die Knoten werden in der Art einer Tabelle innerhalb der
+\texttt{psmatrix}-Umgebung\index{psmatrix@\texttt{psmatrix}-Umgebung} angeordnet.
+
+\begin{LTXexample}[width=.3\linewidth]
+\begin{psmatrix}[rowsep=0.2cm]
+1 & 2 & 3 \\
+X & Y & Z
+\end{psmatrix}
+\end{LTXexample}
+
+
+\section{Zuordnung Knoten zu Verbindungen}
+
+Die Matrix entsteht durch die Zuordnung von Knoten zu Verbindungen. Die
+Knoten werden in die Zellen in der \texttt{psmatrix}-Umgebung eingetragen
+(siehe obiges Beispiel). Nach \bs{\texttt{end}}\{\texttt{psmatrix}\} werden die gew\"unschten
+Linien definiert. Grunds\"atzlich geschieht dies nach dem Schema
+
+\psframebox{\bs
+nc\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Verbindung}}
+[\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Optionen}}]
+\{Koordinaten ZelleA\}\{Koordinaten ZelleB\}}
+
+Die Koordinaten\index{Zellen-Koordinaten} werden, wenn den Zellen keine
+Namen gegeben werden (siehe
+Parameter \texttt{name}),
+durch abz\"ahlen gewonnen: jeweils erst die Zeile und danach durch Komma abgetrennt
+die Zelle.
+
+\vspace{4mm}
+\begin{LTXexample}[width=.3\linewidth]
+\begin{psmatrix}[rowsep=0.2cm]
+1 & 2 & 3 \\
+X & Y & Z
+\end{psmatrix}
+\ncline[linecolor=red]{1,1}{2,2}
+\ncline[linecolor=green]{1,3}{2,2}
+\ncline[linestyle=dotted]{<-}{1,2}{2,1}
+\ncline[linestyle=dashed]{->}{1,2}{2,3}
+\end{LTXexample}
+
+
+\section{Knotenparameter}
+\subsection{mnode}\index{mnode@\texttt{mnode}}
+
+Der Parameter \texttt{mnode=<Knotenart>} legt die Knotenart fest. Das kann lokal für
+einzelne Knoten oder global für die ganze Matrix erfolgen (siehe folgende
+Beispiele). Dazu muss neben
+dem Paket \texttt{pstricks}\index{pstricks@\texttt{pstricks}} auch
+\texttt{pst-node}\index{pst-node@\texttt{pst-node}} geladen werden.
+
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=circle,rowsep=0.2cm,colsep=1cm]
+1 & 2 \\
+X & Y
+\end{psmatrix}
+\end{LTXexample}
+
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=circle,rowsep=0.2cm,colsep=1cm]
+1 & 2 \\
+[mnode=dia] X & Y
+\end{psmatrix}
+\end{LTXexample}
+
+Folgende \textbf{Knotenarten}\index{Knotenarten} stehen zur Verf\"ugung. Ihr Aufruf erfolgt mit
+\texttt{mnode=} über die in Klammern angegebenen K\"urzel.
+
+\begin{compactitem}
+ \item \texttt{Rnode} (R):\index{Rnode@\texttt{Rnode} (R)}
+ Es wird damit das Eingetragene zur Basislinie
+ positioniert. Mittels Optionen kann dies variiert werden.
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[rowsep=0.2cm,linecolor=blue,radius=0.5]
+X & [mnode=R,vref=0pt] Y
+\end{psmatrix}
+\ncline{1,1}{1,2}
+\end{LTXexample}
+
+\item \texttt{Cnode} (C):\index{Cnode@\texttt{Cnode} (C)} Ungef\"ullte Kreise werden gesetzt.
+Deren Radius mit dem Parameter \texttt{radius}\index{radius@\texttt{radius}} modifiziert
+werden kann. Es muss irgendetwas eingetragen werden, was dann aber nicht erscheint.
+\vspace{2mm}
+\begin{LTXexample}[width=.3\linewidth]
+\begin{psmatrix}[mnode=C,rowsep=0.2cm,linecolor=blue,radius=0.5]
+ X & Y
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+\item \texttt{pnode} (p):\index{pnode@\texttt{pnode} (p)} Ein Knoten mit dem Radius Null, ein
+leerer Knoten (siehe folgendes Beispiel, wo der Knoten 1 leer gesetzt wird).
+
+\item \texttt{Circlenode}
+(Circle):\index{Circlenode@\texttt{Circlenode} (Circle)} Ein Knoten, der von einem Kreis
+umschlossen
+wird, dessen Umfang richtet sich nach dem Inhalt. Er kann mit der Option
+\texttt{radius} modifiziert werden (siehe obiges Beispiel).
+
+\vspace{2mm}
+\begin{LTXexample}[width=.42\linewidth]
+\begin{psmatrix}[mnode=Circle,radius=1cm,rowsep=0.2cm]
+ X & Y \\
+[mnode=p] 1 & 2
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+\item \texttt{dianode} (dia):\index{dianode@\texttt{dianode} (dia)} Ein Knoten, der von
+einer Raute umschlossen
+wird, deren Umfang richtet sich nach dem Inhalt
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=dia,rowsep=0.2cm,colsep=0.7cm]
+ X & Y \\
+ 1 & 2
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+\item \texttt{dotnode} (dot):\index{Rnode@\texttt{dotnode} (dot)} Es wird im unmarkierten
+Fall ein gef\"ullter Kreisknoten gesetzt, der
+u.\,a. \"uber den Parameter \texttt{dotscale} gesteuert
+werden kann.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=dot,rowsep=0.2cm]
+[mnode=dot,dotscale=3] X & Y \\
+[mnode=dot,dotscale=2,dotstyle=triangle]1&2
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+\item \texttt{rnode} (r):\index{Rnode@\texttt{rnode} (r)}
+Unterscheidet sich von \bs{rnode} (R) in der
+Festlegung des Knotenzentrums, das ohne optionale Parameter das Zentrum
+der umgebenden Box ist. Eingesetzter "`Text"' erscheint pur.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=r,rowsep=0.2cm]
+ X & Y \\
+ 1 & 2
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+
+
+\item \texttt{fnode} (f):\index{fnode@\texttt{fnode} (f)} Ein leerer
+Rahmen, dessen Gr\"o{"s}e \"uber
+\texttt{framesize=} und
+Koordinatenfestlegungen beeinflusst werden kann.%\footnote{Diese Funktion
+%ist bisher nur eingeschr\"ankt nutzbar, die K\"astchen einer Zeile werden nicht getrennt.
+%Mit "`Text"' gef\"ullte K\"astchen k\"onnen einfach mit \bs{\texttt{fbox}\{
+%\}} oder \bs{\texttt{psframebox}\{ \}} gesetzt werden.}
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=f,rowsep=0.2cm]
+ X & Y \\
+ 1 & 2
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+
+\item \texttt{circlenode}
+(circle):\index{circlenode@\texttt{circlenode} (circle)} Entspricht
+weitgehend \texttt{Circlenode}. Es
+kann aber nicht der Radius ge\"andert werden.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=circle,rowsep=0.2cm,colsep=1cm]
+ X & Y \\
+ 1 & 2
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+\item \texttt{ovalnode} (oval):\index{ovalnode@\texttt{ovalnode} (oval)} Ovaler Knoten,
+dessen Gr\"o"se aus dem Inhalt resultiert.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=oval,rowsep=0.2cm,colsep=0.7cm]
+ XX & YY \\
+ 1 & 2
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+
+\item \texttt{trinode} (tri):\index{trinode@\texttt{trinode} (tri)}
+Dreieck, dessen Gr\"o"se aus dem Inhalt resultiert.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[mnode=tri,rowsep=0.2cm,colsep=0.7cm]
+ X & Y \\
+ 1 & 2
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+Mit der Option \texttt{trimode}\index{trimode@\texttt{trimode}} kann die Lage der Dreiecke verändert
+werden. Die Sternversion verkleinert die Basis und erzeugt aus
+stumpfwinkligen (Winkel zwischen 90 und 180 Grad) spitzwinkelige (kleiner
+als 90 Grad) Dreiecke.
+\vspace{2mm}
+\begin{table}[H]
+\centering
+\caption{Ver\"anderung der Dreieckslage}
+\begin{tabular}{@{}ll@{}}
+Befehl & Lage des Dreiecks \\ \hline
+\texttt{trimode=U} & Spitze oben \\
+\texttt{trimode=D} & Spitze unten \\
+\texttt{trimode=R} & Spitze rechts \\
+\texttt{trimode=L} & Spitze links
+\end{tabular}
+\end{table}
+
+\vspace{2mm}
+\begin{LTXexample}[width=.25\linewidth]
+\begin{pspicture}(0,-2)(3,2)
+\begin{psmatrix}[mnode=tri,rowsep=0.2cm,colsep=0.7cm]
+ [trimode=U] Dreieck \\
+ [trimode=*D]Dreieck
+\end{psmatrix}
+\end{pspicture}
+\end{LTXexample}
+\vspace{2mm}
+
+
+ \item \texttt{no node} (none):\index{no node@\texttt{no node} (none)} Ohne Knoten, was für das
+ Einf\"ugen von Verbindungslinien sinnvoll sein kann.
+
+
+\end{compactitem}
+
+
+
+\subsection{emnode}\index{emnode@\texttt{emnode}}
+
+Mit \texttt{emnode} k\"onnen verschiedene Arten (Parameter wie bei
+\texttt{mnode} von Knoten für "`leere"' Zellen gesetzt
+werden. Es muss also nichts in die Zellen eingetragen werden. Wie
+nachfolgendes Beispiel auch belegt, kann es dabei auf der rechten Seite zu
+fehlerhaften Ausgaben kommen, weil
+\bs{pst-node}\index{pst-node@\texttt{pst-node}} da noch nicht v\"ollig korrekt
+arbeitet.
+
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[emnode=circle,rowsep=0.2cm,colsep=2cm]
+ & \\
+ &
+\end{psmatrix}
+\end{LTXexample}
+\vspace{2mm}
+
+\subsection{nodealign}\index{nodealign@\texttt{nodealign}}
+
+Der Parameter \texttt{nodealign} kann in [\texttt{nodealign=true}]
+abge\"andert werden, um das Zentrum des Knotens auf die Basisebene zu
+verschieben (vgl. \cite[S.\,259]{PSTricks2}).
+
+\section{Parameter zu Zellen und Zeilen}
+
+\subsection{name}\index{name@\texttt{name}}
+
+Der Parameter \texttt{name} erm\"oglicht es, jeder Zelle einen
+selbstgew\"ahlten Namen zu geben, der am Anfang einer Zelle eingef\"ugt werden
+muss. Dies kann beim Setzen von Linien die
+Arbeit erleichtern, man muss dann nicht die Positionen ausz\"ahlen.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.4\linewidth]
+\begin{psmatrix}[emnode=r,colsep=0.4cm,
+ rowsep=0.4cm]
+ & [name=A] Buch & \\
+[name=B]Fachbuch & [name=C]Lehrbuch & [name=D]Roman
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=->}
+\ncline{A}{B} \ncline{A}{C} \ncline{A}{D}
+\end{LTXexample}
+\vspace{2mm}
+
+
+Au"serdem ist es \"uber diese Zellenfestlegung m\"oglich, auch \Lcs{pcline} und
+\Lcs{psline} in einer Matrixumgebung zu benutzen. Diese nehmen die
+Koordinatenargumente (hier gleich Zellennamen) aber in runden Klammern, wie
+in dem folgenden Beispiel zu sehen ist.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.45\linewidth]
+\begin{psmatrix}[emnode=r,colsep=1cm,
+ rowsep=0.4cm]
+[name=A]Buch \psspan{3} & \\[1cm]
+[name=B]Fachbuch & [name=C]Lehrbuch &
+[name=D]Roman
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=->,linecolor=red}
+\psline(A)(C)
+\pcline(A)(B)
+\nbput*[nrot=:D]{\footnotesize \texttt{pcline}}
+\ncline{A}{D}
+\naput*[nrot=:U]{\footnotesize \texttt{ncline}}
+\end{LTXexample}
+
+\Lcs{pcline} geht immer vom Zentrum aus und kann nicht an einer
+Umgebungsbox beginnen oder aufh\"oren. Sie kann deshalb von
+\texttt{nodesep} nicht beeinflusst werden. Andere Parameter --
+beispielsweise \texttt{offset=},\index{offset@\texttt{offset}} der eine vertikale Verschiebung
+erm\"oglicht, -- k\"onnen das aber schon. \Lcs{psline}
+reagiert wiederum darauf nicht.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.3\linewidth]
+\begin{psmatrix}[emnode=r,colsep=1cm,rowsep=0.4cm]
+[name=A]Fachbuch & \\[1cm]
+ & [name=C]Roman
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=<-,linecolor=red,offset=0.3cm}
+\pcline(A)(C)
+\pcline(C)(A)
+\end{LTXexample}
+
+\begin{LTXexample}[width=.3\linewidth]
+\begin{psmatrix}[emnode=r,colsep=1cm,rowsep=0.4cm]
+ [name=A] Fachbuch & \\[1cm]
+ & [name=C] Roman
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=->,linecolor=red,offset=1cm}
+\psline(A)(C)
+\psline(C)(A)
+\end{LTXexample}
+
+
+
+\subsection{mcol}\index{mcol@\texttt{mcol}}
+
+Mit \texttt{mcol} kann lokal und global der horizontale
+Zellenabstand\index{Zellenabstand!horizontal}
+mit den Optionen \texttt{l,r,c} modifiziert werden.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.4\linewidth]
+\begin{psmatrix}[emnode=r,colsep=0.4cm,
+ rowsep=0.4cm,mcol=r]
+ & [name=A] Buch & \\
+[name=B]Fachbuch & [name=C]Lehrbuch & [name=D]Roman
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=->}
+\ncline{A}{B} \ncline{A}{C} \ncline{A}{D}
+\end{LTXexample}
+\vspace{2mm}
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{psmatrix}[emnode=r,colsep=0.4cm,
+ rowsep=0.4cm,mcol=l]
+ & [name=A]Buch & \\
+[name=B]Fachbuch & [name=C]Lehrbuch & [name=D]Roman
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=->}
+\ncline{A}{B} \ncline{A}{C} \ncline{A}{D}
+\end{LTXexample}
+
+\subsection{rowsep und colsep}\index{Abstand!Zellen und Zeilen}
+
+Mit \texttt{rowsep}\index{rowsep@\texttt{rowsep}} kann man den
+vertikalen und mit \texttt{colsep}\index{colsep@\texttt{colsep}}
+den horizontalen Abstand zwischen
+den Zeilen bzw. Zellen regulieren; welchen hinzuf\"ugen oder mit einem
+negativen Wert reduzieren (siehe Beispiele bei \texttt{name}).
+
+\subsection{mnodesize}\index{mnodesize@\texttt{mnodesize}}
+
+Im Defaultfall wird die Breite der Zellen\index{Zelle!Breite} von deren Inhalt bestimmt;
+innerhalb einer Zellenspalte von der mit dem gr\"o"sten Umfang. Mit
+\texttt{mnodesize=} kann allen Spalten dieselbe Breite gegeben werden.
+Dabei ist zu beachten, dass kein automatischen
+Zeilenumbruch\index{Zelle!Zeilenumbruch} in den Zellen
+erfolgt. Man kann in eine Zelle jedoch mehrere Zeilen über eine Tabelle
+einbringen.
+
+\begin{LTXexample}[width=.52\linewidth]
+\begin{psmatrix}[emnode=r,
+colsep=-0.4cm,rowsep=0.6cm,
+mnodesize=3cm]
+& [name=A]
+ \begin{tabular}{c}Grafische\\Grundelemente\end{tabular} & \\
+[name=B]Linien & [name=C]Polygone &
+[name=D]Rahmen
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=->}
+\ncline{A}{B} \ncline{A}{C}
+\ncline{A}{D}
+\end{LTXexample}
+
+Wenn der von \texttt{mnodesize=} festgelegte Raum nicht ausreichend ist
+erweitert sich einfach die Zelle.
+
+\subsection{psspan}\index{psspan@\texttt{psspan}}
+
+Mit \texttt{psspan\{n\}} k\"onnen Zellen analog zu
+\bs{multicolumn}\index{multicolumn@\texttt{\textbackslash{multicolumn}}} mehrere
+Zellen\index{Zellen!zusammenfassen} zusammengefasst werden.
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{psmatrix}[emnode=r,colsep=0.4cm,
+rowsep=0.4cm]
+[name=A]Buch \psspan{3} & \\
+[name=B]Fachbuch & [name=C]Lehrbuch & [name=D]Roman
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=->}
+\ncline{A}{B} \ncline{A}{C} \ncline{A}{D}
+\end{LTXexample}
+
+
+\section{Knotenverbindungen}\index{Knotenverbindung}
+
+Die Knotenverbindungen beginnen in der Regel mit \texttt{nc} und haben die Syntax:
+
+\begin{BDef}
+\bs{Knotenverbindung}\OptArgs\{Pfeile\}\{KnotenA\}\{KnotenB\}
+\end{BDef}
+
+Sie gehen von einem Knoten zu einem anderen, wenn es nicht anders festgelegt
+wurde, ist die Zielorientierung die Knotenmitte.
+
+Die Knotenverbindungen können über eine Reihe von Parametern geändert
+werden (vgl. \cite[S.\,43\,f]{PSTricks2} und \cite{siart}). Einige, die für das Zeichnen von
+Strukturen besonders relevant sind, werden in der nachfolgenden Tabelle
+aufgelistet:\index{Knotenverbindung!Parameter}
+
+\begin{table}[H]
+\centering
+\caption{Parameter f\"ur Knotenverbindungen}
+\begin{tabular}{@{}lll@{}}
+Name & Werte & Vorgabe \\ \hline
+\texttt{linewidth} & <Wert>\OptEinh\ & 0.8pt \\
+\texttt{linecolor} & <Farbe> & black \\
+\texttt{linestyle} & none|solid|dotted|dashed & solid \\
+\texttt{shadow} & <an (true)/aus (false)> & false \\
+\texttt{shadowsize} & <Wert>\OptEinh\ & 3pt \\
+\texttt{shadowangle} & <Winkel> & $-$45 \\
+\texttt{shadowcolor} & <Farbe> & darkgray \\
+\texttt{arrows} & <Pfeiltyp> & -- \\
+\texttt{doubleline} & <true/false> & false
+\end{tabular}
+\end{table}
+
+\subsection{ncline}
+
+Mit \Lcs{ncline} wird eine direkte Linie von einem Knoten zum anderen
+gezogen\footnote{Wenn Sie das nächste Beispiel mit den
+folgenden Beispielen vergleichen, können Sie auch sehen, dass eine bessere
+Positionierung in einer einfachen Box über die Umgebung
+\bs{\texttt{pspicture}}
+m\"oglich ist. Zumal ohne diese Umgebung die Kurvenlinien \"uber die Box
+hinausragen w\"urden, wie dies im ersten Beispiel zu \texttt{ncdiag} der
+Fall ist.}.
+
+\begin{LTXexample}[width=.35\linewidth]
+\begin{psmatrix}[emnode=r,colsep=2cm]
+ KnotenX & KnotenY
+\end{psmatrix}
+\ncline[linecolor=red]{1,1}{1,2}
+\end{LTXexample}
+
+
+\subsection{ncarc}\xLcs{ncarc}
+
+Eine Kurve verbindet die Knoten.
+
+\begin{LTXexample}[width=.35\linewidth]
+\begin{pspicture}(0,-0.5)(4,1)
+\begin{psmatrix}[emnode=r,colsep=2cm]
+ KnotenX & KnotenY
+\end{psmatrix}
+\ncarc[linecolor=red]{<->}{1,1}{1,2}
+\end{pspicture}
+\end{LTXexample}
+
+Mit der Option \texttt{arcangle=}\index{arcangle@\texttt{arcangle}} kann der
+Steigungswinkel\index{Steigungswinkel} erh\"oht werden.
+
+\begin{LTXexample}[width=.35\linewidth]
+\begin{pspicture}(0,-0.5)(4,1)
+\begin{psmatrix}[emnode=r,colsep=2cm]
+ KnotenX & KnotenY
+\end{psmatrix}
+\ncarc[arcangle=60,linecolor=red]{<->}{1,1}{1,2}
+\end{pspicture}
+\end{LTXexample}
+
+In der Sternchenversion wird der von der Kurve eingeschlossenen Raum mit
+der Linienfarbe ausgefüllt.
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{pspicture}(0,-0.5)(4,1)
+\begin{psmatrix}[emnode=r,colsep=2cm]
+ KnotenX & KnotenY
+\end{psmatrix}
+\ncarc*[arcangle=60,linecolor=red]{<->}{1,1}{1,2}
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{ncdiag}
+
+Mit \Lcs{ncdiag} wird eine Linie in drei Segmente "`zerlegt"'. Man kann
+diese Zerlegung über die Winkelfestlegungen (siehe folgendes Beispiel)
+steuern.
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{psmatrix}[emnode=r,colsep=2cm]
+ KnotenX & KnotenY
+\end{psmatrix}
+\ncdiag[angleA=90,angleB=-90,linecolor=red]{<->}{1,1}{1,2}
+\end{LTXexample}
+
+Die Angabe \texttt{arm=0}\index{arm@\texttt{arm}} erzwingt eine gerade Linie.
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{psmatrix}[emnode=r,colsep=2cm]
+ KnotenX & KnotenY
+\end{psmatrix}
+\ncdiag[angleA=-90,angleB=90,arm=0,linecolor=red]{<->}{1,1}{1,2}
+\end{LTXexample}
+
+\subsection{ncdiagg}
+
+\Lcs{ncdiagg} ist \Lcs{ncdiag} \"ahnlich. Für den Ausgangsknoten wird aber
+nur eine Verbindung gezeichnet.
+
+\begin{LTXexample}[width=.3\linewidth]
+\usepackage{pstricks-add}
+\begin{pspicture}(-1,-1)(4,6)
+ \circlenode{A}{A}\quad\circlenode{C}{C}
+ \rput(0,4){\circlenode{B}{B}}
+ \rput(1,5){\circlenode{D}{D}}
+ {\psset{arrowscale=2,linearc=0.2,
+ linecolor=red,armA=0.5,angleA=90}
+ \ncdiagg[lineAngle=-160]{->}{A}{B}
+ \ncput*[nrot=:U]{Linie I}
+ \ncdiagg[lineAngle=-160]{->}{C}{D}
+ \ncput*[nrot=:U]{Linie II}}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{ncbar}
+
+\Lcs{ncbar} arbeitet ähnlich wie \Lcs{ncdiag}. Zwei Knoten werden
+durch drei Linienteile verbunden.
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{pspicture}(0,1)(4,-2)
+\begin{psmatrix}[emnode=r]
+\psset{arrowscale=2}
+Verbinde {\rnode{A}{KnotenX}} mit
+{\rnode{B}{KnotenY}}!
+\end{psmatrix}
+\ncbar[nodesep=3pt,angleA=-90,angleB=90,linecolor=red,arrows=<->,arrowscale=2,
+arm=0.8]{A}{B}
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{ncbarr}
+
+\Lcs{ncbarr} verwendet f\"unf Liniensegmente und erstellt damit eine
+S-f\"ormige Verbindung.
+
+\begin{LTXexample}[width=.3\linewidth]
+\begin{psmatrix}
+ & \circlenode{X}{X}\\[1cm]
+ & \circlenode{Y}{Y}
+\end{psmatrix}
+\ncbarr[angleA=0,linecolor=red]{X}{Y}
+\end{LTXexample}
+
+
+\subsection{ncangle}
+
+\Lcs{ncangle} erm\"oglich genauer berechnete dreiteilige Linien. Es
+arbeitet analog zu \Lcs{ncdiag}.
+
+\begin{LTXexample}[width=.37\linewidth]
+\begin{pspicture}(0,1)(4,-1)
+\begin{psmatrix}[emnode=r,colsep=2cm,
+ rowsep=0.5cm]
+KnotenX & KnotenY \\
+\end{psmatrix}
+\ncdiag[angleA=-90,angleB=135,armA=1cm,armB=1cm,
+linearc=.5,linecolor=red]{->}{1,1}{1,2}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{ncangles}
+
+\Lcs{ncangles} produziert viergliedrige Linien.
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{pspicture}(0,1)(4,-2.3)
+\begin{psmatrix}[emnode=r,colsep=2cm,
+ rowsep=0.5cm]
+\psframebox{\emph{KnotenX}} &
+\psframebox{\emph{KnotenY}}
+\end{psmatrix}
+\ncangles[angleA=-90,angleB=135,armA=1cm,
+ armB=1cm,
+linearc=.15,linecolor=red]{->}{1,1}{1,2}
+\rput[bl](-5,-0.7){armA}
+\rput[rB](-0.4,0.5){armB}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{ncloop}
+
+\Lcs{ncloop} setzt f\"unfgliedrige Linien. Gegenüber \Lcs{ncangles}
+kommt noch die Option \texttt{loopsize}\index{loopsize@\texttt{loopsize}} hinzu, die die
+H\"ohe für einen Loop (eine Schlinge) vorgibt.
+
+
+\begin{LTXexample}[width=.45\linewidth]
+\begin{pspicture}(-1.5,-1)(4,2)
+\rnode[lB]{A}{\psframebox{Knoten mit Schlinge}}
+\ncloop[angleB=180,loopsize=1,arm=.5,
+ linearc=.2,linecolor=red]{->}{A}{A}
+\ncput[npos=3.5,nrot=:U]{\psline{|<->|}%
+ (0.5,-0.2)(-0.5,-0.2)}
+\nbput[npos=3.5,nrot=:D,labelsep=.35cm]{%
+ {\small\texttt{loopsize}}}
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{nccurve}
+
+\Lcs{nccurve} setzt eine B\`ezierkurve zwischen zwei Knoten, die über
+die Winkel \texttt{angleA} und \texttt{angleB} sowie den
+Kurvenparameter\index{Kurvenparameter}
+\texttt{ncurv}\index{nccurv@\texttt{nccurv}} gesteuert werden kann.
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{psmatrix}[emnode=r,colsep=2cm,
+rowsep=0.5cm]
+{\rnode{A}{\psframebox{KnotenX}}} & \\
+& {\rnode{B}{\psframebox{KnotenY}}}
+\end{psmatrix}
+\nccurve[angleB=180,ncurv=0.9,
+linecolor=red]{A}{B}
+\end{LTXexample}
+
+\subsection{nccircle}
+
+\Lcs{nccircle} erzeugt \"uber einem Knoten einen ungef\"ullten oder gef\"ullten
+(Sternchenversion) Kreis.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.25\linewidth]
+\begin{pspicture}(-1,-1)(3,2)
+\begin{psmatrix}[emnode=r]
+\rnode{A}{herum}
+\end{psmatrix}
+\nccircle[nodesep=3pt,linecolor=red]{->}{A}{.8cm}
+\kern 5pt
+\end{pspicture}
+\end{LTXexample}
+
+\vspace{2mm}
+\begin{LTXexample}[width=.25\linewidth]
+\begin{pspicture}(-1,-1)(3,2)
+\begin{psmatrix}[emnode=r]
+\rnode{A}{dar\"uber}
+\end{psmatrix}
+\nccircle*[nodesep=3pt,linecolor=lightgray]{->}{A}{1cm}
+\kern 5pt
+\end{pspicture}
+\end{LTXexample}
+
+\subsection{offset}
+
+Die Option \texttt{offset}\index{offset@\texttt{offset}} verschiebt, wie
+schon bei den Erl\"auterungen zu dem Parameter \texttt{name} angesprochen,
+die Verbindungslinie parallel zum eigentlich festgelegten Verlauf. Dies ist
+besonders bei zwei Linien sinnvoll und effektiv.
+Wenn man jede Linien einzeln modifizieren m\"ochte, kann dies mit
+\texttt{offsetA}\index{offsetA@\texttt{offsetA}} und
+\texttt{offsetB}\index{offsetB@\texttt{offsetB}}
+geschehen. Beispielsweise, wenn von
+einem Knoten zwei Verbindungen ausgehen sollen.
+
+\vspace{2mm}
+\begin{LTXexample}[width=.2\linewidth]
+\begin{psmatrix}[emnode=r,colsep=1cm,rowsep=0.4cm]
+[name=A]Buch \\
+[name=B]Fachbuch \\
+[name=C]\LaTeX buch
+\end{psmatrix}
+\psset{nodesep=3pt,arrows=->,linecolor=red,offset=0.3cm}
+\pcline[offsetA=0.3cm](A)(B)
+\pcline[offsetB=-0.3cm](A)(C)
+\end{LTXexample}
+
+
+\section{Linien beschriften}\index{Linienbeschriftung}
+
+\subsection{Beschriftung einf\"ugen}
+
+\psframebox{\parbox{0.65\textwidth}{
+\bs ncput\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{*}
+[\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Optionen}}]
+\{Beschriftung auf der Linie\}\\
+\bs naput\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{*}
+[\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Optionen}}]
+\{Beschriftung \"uber der Linie\}\\
+\bs nbput\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{*}
+[\psframebox[framesep=2pt,fillstyle=solid,fillcolor=black!20,linecolor=black!20]{\texttt{Optionen}}]
+\{Beschriftung unter der Linie\}
+}}
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{pspicture}(0,1)(4,-2)
+\begin{psmatrix}[emnode=r]
+\psset{arrowscale=2}
+Verbinde {\rnode{A}{KnotenX}} mit
+{\rnode{B}{KnotenY}}!
+\end{psmatrix}
+\ncbar[nodesep=3pt,angleA=-90,angleB=90,
+linecolor=red,arrows=<->,arrowscale=2,arm=0.8]
+{A}{B}
+\ncput*{auf}
+\naput*{\"uber}
+\nbput*{unter}
+\end{pspicture}
+\end{LTXexample}
+
+Die angegebene Sternchenversion ist besser geeignet, da sie die Linien
+überschreibt und damit die Beschriftungen besser sichtbar sind (vgl. mit
+der nachfolgenden Beispielversion ohne Sternchen). Das betrifft besonders
+die \texttt{naput}-Version.
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{pspicture}(0,1)(4,-2)
+\begin{psmatrix}[emnode=r]
+\psset{arrowscale=2}
+Verbinde {\rnode{A}{KnotenX}} mit
+{\rnode{B}{KnotenY}}!
+\end{psmatrix}
+\ncbar[nodesep=3pt,angleA=-90,angleB=90,
+linecolor=red,arrows=<->,arrowscale=2,arm=0.8]
+{A}{B}
+\ncput{auf}
+\naput{\"uber}
+\nbput{unter}
+\end{pspicture}
+\end{LTXexample}
+
+Ohne die Angabe von Optionen wird die Beschriftung auf den sichtbaren
+Linienteil geschrieben. Sie orientiert sich dabei an der Linienmitte.
+Mit \texttt{npos=}\index{npos@\texttt{npos}} und
+\text{nrot=}\index{nrot@\texttt{nrot}} kann diese Orientierung ge\"andert werden.
+
+Mit \Lcs{psset}\{labelset=\} kann der Abstand zwischen Label und Linie
+reguliert werden. Wenn der Wert auf 0pt gesetzt wird (also direkt über oder
+unter der Linie, sollte f\"ur \Lcs{naput} bzw. \Lcs{nbput} nicht die
+Sternchenversion gew\"ahlt werden, die wahrscheinlich ohnehin nur f\"ur
+\Lcs{ncput} sinnvoll scheint. Die Nullversion ist immer dann zu nehmen,
+wenn es Probleme mit dem Sichtbarmachen des Labels gibt.
+
+\subsection{npos}
+
+\texttt{npos} ermöglicht die Platzierung der Beschriftung auf den
+verschiedenen Segmenten des entsprechenden Linientyps. Die Zahl gibt vor
+dem Punkt die Segmentnummer (0,1,2,\ldots) und nach dem Punkt den Abstand
+zum Segmentanfang an. Im folgenden Beispiel bekommt die Beschriftung den
+Wert 1.2 und steht damit auf dem zweiten Liniensegment 20\% vom
+Segmentanfang.
+
+\begin{table}[H]
+\centering
+\caption{Zusammenstellung der Kurzformen für die Drehwinkel}\label{tab:wind}
+ \begin{tabular}{@{}l|*{8}{>{\ttfamily}c}@{}}
+ \emph{Buchstabe} & U & L & D & R & N & W & S & E \\\hline
+ \emph{Bedeutung} & Up& Left&Down&Right&North&West&South&East\\
+ \emph{Enstprechung} &0&90&180&270&*0&*90&*180&*270
+%
+% \begin{tabular}{@{}>{\ttfamily}llr@{}}
+% \textrm{Buchstabe} & Bedeutung & Winkel\\\hline
+% U & Up & 0\\
+% L & Left & 90\\
+% D & Down & 180\\
+% R & Right & 270\\
+% N & North & *0\\
+% W & West & *90\\
+% S & South & *180\\
+% E & East & *270
+ \end{tabular}
+\end{table}
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{pspicture}(0,1)(4,-2)
+\begin{psmatrix}[emnode=r]
+\psset{arrowscale=2}
+Verbinde {\rnode{A}{KnotenX}} mit
+{\rnode{B}{KnotenY}}!
+\end{psmatrix}
+\ncbar[nodesep=3pt,angleA=-90,angleB=90,
+linecolor=red,arrows=<->,arrowscale=2,arm=0.8]
+{A}{B}
+\ncput*[npos=1.2]{auf}
+\end{pspicture}
+\end{LTXexample}
+
+
+\subsection{nrot}
+
+\texttt{nrot=:Winkel/K\"urzel} erm\"oglicht es die Beschriftung zu
+drehen:
+
+\begin{table}[htb]
+\centering\tabcolsep=3pt
+\caption{Vergleich der verschiedenen Knotenverbindungen bez\"uglich ihrer
+Segmentanzahl}\label{tab:segmente}
+\hspace*{-1em}
+\begin{tabular}{@{} lccc | lccc @{}}
+\emph{Verbindung} & \emph{Segm.} & \emph{Bereich} & \emph{Vorgabe} &
+\emph{Verbindung} & \emph{Segm.} & \emph{Bereich} & \emph{Vorgabe}\\\hline
+ \Lcs{ncline} & $1$ & $0\leq npos\leq 1$ & $0.5$ &
+ \Lcs{nccurve} & $1$ & $0\leq npos\leq 1$ & $0.5$\\
+ \Lcs{ncarc} & $1$ & $0\leq npos\leq 1$ & $0.5$ &
+ \Lcs{ncbar} & $3$ & $0\leq npos\leq 3$ & $1.5$\\
+ \Lcs{ncdiag} & $3$ & $0\leq npos\leq 3$ & $1.5$ &
+ \Lcs{ncdiagg} & $2$ & $0\leq npos\leq 2$ & $0.5$\\
+ \Lcs{ncangle} & $3$ & $0\leq npos\leq 3$ & $1.5$ &
+ \Lcs{ncangles} & $4$ & $0\leq npos\leq 4$ & $1.5$\\
+ \Lcs{ncloop} & $5$ & $0\leq npos\leq 5$ & $2.5$ &
+ \Lcs{nccircle} & $1$ & $0\leq npos\leq 1$ & $0.5$\\
+\end{tabular}
+\end{table}
+
+
+\begin{LTXexample}[width=.4\linewidth]
+\begin{pspicture}(0,1)(4,-2)
+\begin{psmatrix}[emnode=r]
+\psset{arrowscale=2}
+Verbinde {\rnode{A}{KnotenX}} mit
+{\rnode{B}{KnotenY}}!
+\end{psmatrix}
+\ncbar[nodesep=3pt,angleA=-90,angleB=90,
+linecolor=red,arrows=<->,arrowscale=2,arm=0.8]
+{A}{B}
+\ncput*[nrot=:L]{auf}
+\end{pspicture}
+\end{LTXexample}
+
+\section{Strukturbeispiele}
+
+
+
+Jetzt sollen noch einige wenige Beispiele von Struktur\"ubersichten
+vorgestellt werden, die von mir in der \texttt{pstmatrix}-Umgebung gesetzt wurden.
+
+\begin{figure}[H]\centering
+\begin{psmatrix}[colsep=0.8,rowsep=0.8]
+\psframebox[fillcolor=red!40,fillstyle=solid,doubleline=true]
+{$\left[\tabular{c}GF: /Pinguin/\\ WA: +N\endtabular\right]$}
+ & \psframebox[fillcolor=yellow!40,fillstyle=solid]{Vogel} \\
+\psframebox[fillcolor=blue!40,fillstyle=solid,doubleline=true]{\tabular{l}aufrecht\\ gehend\endtabular}
+ & \psshadowbox[fillcolor=red,fillstyle=solid,shadow=true,blur=true,shadowsize=5pt]{\textbf{Pinguin}} &
+ \psframebox[fillcolor=blue!40,fillstyle=solid,doubleline=true]{flugunfähig}\\
+ & \psframebox[fillcolor=green!40,fillstyle=solid]{Felsenpinguin}
+\end{psmatrix}
+\ncline{1,1}{2,2} \naput{s}
+\ncline{1,2}{2,2} \naput{ob}
+\ncline{2,1}{2,2} \naput{a}
+\ncline{2,2}{2,3} \naput{a}
+\ncline{2,2}{3,2} \naput{ub}
+\caption{Ein Frame}
+\end{figure}
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle=\rmfamily\small,backgroundcolor={\color{yellow!20}},frame=single]
+\usepackage{pst-node,pst-blur}
+\begin{psmatrix}[colsep=0.8,rowsep=0.8]
+\psframebox[fillcolor=red!40,fillstyle=solid,doubleline=true]
+{$\left[\tabular{c}GF: /Pinguin/\\ WA: +N\endtabular\right]$}
+ & \psframebox[fillcolor=yellow!40,fillstyle=solid]{Vogel} \\
+\psframebox[fillcolor=blue!40,fillstyle=solid,doubleline=true]{\tabular{l}aufrecht\\ gehend\endtabular}
+ & \psshadowbox[fillcolor=red,fillstyle=solid,shadow=true,blur=true,shadowsize=5pt]{\textbf{Pinguin}} &
+ \psframebox[fillcolor=blue!40,fillstyle=solid,doubleline=true]{flugunfähig}\\
+ & \psframebox[fillcolor=green!40,fillstyle=solid]{Felsenpinguin}
+\end{psmatrix}
+\ncline{1,1}{2,2} \naput{s}
+\ncline{1,2}{2,2} \naput{ob}
+\ncline{2,1}{2,2} \naput{a}
+\ncline{2,2}{2,3} \naput{a}
+\ncline{2,2}{3,2} \naput{ub}
+\end{lstlisting}
+
+
+\begin{figure}[H]\centering
+\begin{psmatrix}[colsep=0.8,rowsep=0.8]
+\psset{shortput=nab,framesep=10pt}
+ \psshadowbox[framearc=0.25,fillcolor=blue!20,fillstyle=solid,doubleline=true]{Lebewesen} &
+ \psframebox[fillcolor=yellow!40,fillstyle=solid]{allgemeine Kategorisierung}\\
+ \psshadowbox[framearc=0.25,fillcolor=red!40,fillstyle=solid,doubleline=true]{\textbf{Löwe}}
+& \psframebox[fillcolor=red!40,fillstyle=solid,doubleline=true]{Basisebene}\\
+ \psshadowbox[framearc=0.25,fillcolor=blue!20,fillstyle=solid,doubleline=true]{Höhlenlöwe}
+& \psframebox[fillcolor=green!30,fillstyle=solid]{spezielle Kategorisierung}
+\end{psmatrix}
+\psset{nodesep=2pt,arrows=->}
+\ncline[arrowscale=2]{1,1}{2,1}
+\ncline[arrowscale=2]{2,1}{3,1}
+\caption{Eine konzeptuelle Kategorisierung}
+\end{figure}
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle=\rmfamily\small,backgroundcolor={\color{yellow!20}},frame=single]
+\begin{psmatrix}[colsep=0.8,rowsep=0.8]
+\psset{shortput=nab,framesep=10pt}
+ \psshadowbox[framearc=0.25,fillcolor=blue!20,fillstyle=solid,doubleline=true]{Lebewesen} &
+ \psframebox[fillcolor=yellow!40,fillstyle=solid]{allgemeine Kategorisierung}\\
+ \psshadowbox[framearc=0.25,fillcolor=red!40,fillstyle=solid,doubleline=true]{\textbf{Löwe}}
+& \psframebox[fillcolor=red!40,fillstyle=solid,doubleline=true]{Basisebene}\\
+ \psshadowbox[framearc=0.25,fillcolor=blue!20,fillstyle=solid,doubleline=true]{Höhlenlöwe}
+& \psframebox[fillcolor=green!30,fillstyle=solid]{spezielle Kategorisierung}
+\end{psmatrix}
+\psset{nodesep=2pt,arrows=->}
+\ncline[arrowscale=2]{1,1}{2,1}
+\ncline[arrowscale=2]{2,1}{3,1}
+\end{lstlisting}
+
+\begin{figure}[H]\centering
+\psset{framearc=0.2,shadow=true,fillstyle=solid,shadowcolor=black!55}
+\begin{psmatrix}[colsep=0,rowsep=0.9]
+ & & \psframebox[fillcolor=blue!30]{Synchronie}\\
+ & \psframebox[fillcolor=red!30]{Sprache} & \\
+ & & \psframebox[fillcolor=blue!30]{Diachronie} \\
+\psframebox[fillcolor=red!30]{Menschliche Rede} & & \\
+ & \psframebox[fillcolor=red!30]{Sprechen} &
+ \end{psmatrix}
+ \psset{shadow=false}
+\ncline[arrows=->,arrowscale=2]{2,2}{1,3}
+\ncline[arrows=->,arrowscale=2]{2,2}{3,3}
+\ncline[arrows=->,arrowscale=2]{4,1}{2,2}
+\ncline[arrows=->,arrowscale=2]{4,1}{5,2}
+\caption{F. de Saussure zu Sprache}
+\end{figure}
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle=\rmfamily\small,backgroundcolor={\color{yellow!20}},frame=single]
+\psset{framearc=0.2,shadow=true,fillstyle=solid,shadowcolor=black!55}
+\begin{psmatrix}[colsep=0,rowsep=0.9]
+ & & \psframebox[fillcolor=blue!30]{Synchronie}\\
+ & \psframebox[fillcolor=red!30]{Sprache} & \\
+ & & \psframebox[fillcolor=blue!30]{Diachronie} \\
+\psframebox[fillcolor=red!30]{Menschliche Rede} & & \\
+ & \psframebox[fillcolor=red!30]{Sprechen} &
+ \end{psmatrix}
+ \psset{shadow=false}
+\ncline[arrows=->,arrowscale=2]{2,2}{1,3}
+\ncline[arrows=->,arrowscale=2]{2,2}{3,3}
+\ncline[arrows=->,arrowscale=2]{4,1}{2,2}
+\ncline[arrows=->,arrowscale=2]{4,1}{5,2}
+\end{lstlisting}
+
+\begin{figure}[H] \centering
+\begin{psmatrix}[emnode=r,colsep=0.5cm,rowsep=0.5cm,mcol=c]
+ & & & & <Metall> & \\
+ & & & [mnode=oval] 18 & &\\
+ <WERKZEUG> & & & & & \\
+ & & & &[mnode=tri] 12 &\\
+ & & & & & <arbeiten> \\
+ & & [mnode=C,linestyle=dashed,radius=0.5,mcol=l] & & &\\
+ \fbox{12} & & & \fbox{51} & & \\
+ & \fbox{36} & & & <Hammer> &\\
+ <Feile> & & <Zange> & & &
+\end{psmatrix}
+\psset{arrowscale=2,labelsep=0pt}
+\ncline{->}{1,5}{2,4}
+\ncarc{->}{4,5}{2,4}\naput[npos=0.4]{OBJ}
+\ncarc{->}{6,3}{4,5}\naput[npos=0.4]{INSTR}
+\ncline{<->}{6,3}{3,1}
+\ncarc{->}{6,3}{7,1}\naput[npos=0.4]{UB}
+\ncarc{->}{6,3}{7,4}\naput[npos=0.4]{UB}
+\ncarc{->}{6,3}{8,2}\naput[npos=0.4]{UB}
+\ncarc{->}{9,1}{7,1} \ncarc{->}{9,3}{8,2}
+\ncarc{->}{8,5}{7,4} \ncline{->}{5,6}{4,5}
+\caption{Begriffliches Merkmalsnetz nach Hoffmann}
+\end{figure}
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle=\rmfamily\small,backgroundcolor={\color{yellow!20}},frame=single]
+\begin{psmatrix}[emnode=r,colsep=0.5cm,rowsep=0.5cm,mcol=c]
+ & & & & <Metall> & \\
+ & & & [mnode=oval] 18 & &\\
+ <WERKZEUG> & & & & & \\
+ & & & &[mnode=tri] 12 &\\
+ & & & & & <arbeiten> \\
+ & & [mnode=C,linestyle=dashed,radius=0.5,mcol=l] & & &\\
+ \fbox{12} & & & \fbox{51} & & \\
+ & \fbox{36} & & & <Hammer> &\\
+ <Feile> & & <Zange> & & &
+\end{psmatrix}
+\psset{arrowscale=2,labelsep=0pt}
+\ncline{->}{1,5}{2,4}
+\ncarc{->}{4,5}{2,4}\naput[npos=0.4]{OBJ}
+\ncarc{->}{6,3}{4,5}\naput[npos=0.4]{INSTR}
+\ncline{<->}{6,3}{3,1}
+\ncarc{->}{6,3}{7,1}\naput[npos=0.4]{UB}
+\ncarc{->}{6,3}{7,4}\naput[npos=0.4]{UB}
+\ncarc{->}{6,3}{8,2}\naput[npos=0.4]{UB}
+\ncarc{->}{9,1}{7,1} \ncarc{->}{9,3}{8,2}
+\ncarc{->}{8,5}{7,4} \ncline{->}{5,6}{4,5}
+\end{lstlisting}
+
+\newpage
+\bgroup
+\appendix
+
+%\addcontentsline{toc}{section}{Literaturverzeichnis}
+
+\nocite{*}
+\raggedright
+
+\printbibliography
+\egroup
+\clearpage
+\addcontentsline{toc}{section}{Index}
+\printindex
+
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdf b/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdf
index 8be7b3ec525..f8bebfdf1e0 100644
--- a/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex b/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex
index 5ff16cb6cf5..a4d0faa9642 100644
--- a/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-node/pst-node-doc.tex
@@ -1,7 +1,8 @@
-\RequirePackage{pdfmanagement-testphase}
-\DeclareDocumentMetadata{}
-%% $Id: pst-node-doc.tex 438 2022-01-31 17:45:26Z herbert $
-\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+%\RequirePackage{pdfmanagement-testphase}
+\DocumentMetadata{}
+%% $Id: pst-node-doc.tex 920 2024-07-11 07:41:04Z herbert $
+\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,
+ headings=small,
headinclude=false,footinclude=false,oneside]{pst-doc}
\listfiles
@@ -75,7 +76,8 @@ when also running the main package \LPack{pstricks} with this option.
\vfill
\noindent
-Thanks to: Marco Daniel; Denis Girou; Thomas Iyer; Rolf Niepraschk; Sebastian Rahtz; Andi Setiawan;
+Thanks to: Marco Daniel; Denis Girou; Thomas Iyer; Rolf Niepraschk; Sebastian Rahtz;
+Erich Schmidt; Andi Setiawan;
\end{abstract}
\clearpage
@@ -1356,7 +1358,7 @@ Here is how I used \Lcs{nput} to mark an angle in a previous example:
\end{pspicture}
\end{LTXexample}
-\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%
For the put macros there are several possibilities:
@@ -1411,7 +1413,7 @@ will produce the same effect as
\end{LTXexample}
-\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%
+%\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Normal behavior with rotation}
If there are a point $B$ of type node and a point $A$ of any type then
@@ -1589,7 +1591,7 @@ connections:
You can include the node connections inside the \Lcs{psmatrix}, in the last entry
and right before \Lcs{endpsmatrix}. One advantage to doing this is that
-\Lkeyset{shortput=tab} is the default within a \Lcs{psmatrix}.
+\Lkeyset{shortput=tab} is the default within a \Lcs{psmatrix}.\label{tab}
\begin{LTXexample}
$ \begin{psmatrix}
@@ -2489,13 +2491,12 @@ For example,
\end{pspicture}
\end{LTXexample}
-
\begin{BDef}
\Lcs{fnpnode}\Largb{xval}\Largb{expression in x}\Largb{nodename}
\end{BDef}
- sets a single node on the graph. Eg,
+ sets a single node on the graph, eg:
\begin{verbatim}
\fnpnode{.5}{x x 1 add mul 2 div}{P}
@@ -2507,7 +2508,12 @@ For example,
\end{verbatim}
If your expression in \texttt{t} is algebraic, you must specify the keyword \texttt{algebraic}, as in
- \Lcs{fnpnode}\verb|[algebraic]{0.5}{x*(x+1)/2}{P}|.
+
+
+\begin{verbatim}
+\fnpnode[algebraic]{0.5}{x*(x+1)/2}{P}
+\end{verbatim}
+
\begin{LTXexample}[width=.35\textwidth]
\begin{pspicture}[showgrid](-.5,-.5)(2.5,3)
@@ -2574,7 +2580,7 @@ turn a list of coordinates into a node sequence P0 P1 ...
\begin{LTXexample}[width=.35\textwidth]
\begin{pspicture}[showgrid,algebraic](-.5,-.5)(2.5,2)
\pnodes{B}(.1,.1)(1;10)(*2 {x^2/4})(0,1.4)
-%definesuP0..P3--now join them
+% defines P0..P3 -- now join them
\psnline[arrowscale=2]{-D>}(0,3){B}
\end{pspicture}
\end{LTXexample}
@@ -2635,7 +2641,7 @@ Conversion between any angle unit and radian unit
\begin{LTXexample}[width=.35\textwidth]
\begin{pspicture}[showgrid,algebraic](-.5,-.5)(2.5,2)
\pnodes{P}(.1,.1)(1;10)(*2 {x^2/4})(0,1.4)
-%defines P0..P3--now join them
+% defines P0..P3 -- now join them
\psncurve[arrowscale=2]{-D>}(0,3){P}
\end{pspicture}
\end{LTXexample}
@@ -2644,7 +2650,7 @@ Conversion between any angle unit and radian unit
\begin{LTXexample}[width=.35\textwidth]
\begin{pspicture}[showgrid,algebraic](-.5,-.5)(2.5,2)
\pnodes{P}(.1,.1)(1;10)(*2 {x^2/4})(0,1.4)
-%defines P0..P3--now join them
+% defines P0..P3 -- now join them
\psnccurve[arrowscale=2]{-D>}(0,3){P}
\end{pspicture}
\end{LTXexample}
@@ -2753,7 +2759,7 @@ line from \verb|<basept>+<nodexpr1>| to \verb|<basept>+<nodexpr2>|.
\curvepnode{2}{\pfn}{P}% sets P, Ptang
\normalvec(Ptang){Q}\uput[-45](P){P}
\psxline[linecolor=red]{<->}(P){-(Ptang)}{1.5(Ptang)}
-\psxline[linecolor=blue]{->}(P){}{.5(Q)}%can use } for {(0,0)}
+\psxline[linecolor=blue]{->}(P){}{.5(Q)}% can use {} for {(0,0)}
\end{pspicture}
\end{LTXexample}
\vspace{2pc}
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news24.pdf b/Master/texmf-dist/doc/generic/pstricks/pst-news24.pdf
index bbc7bf404d2..e102b8a602a 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pst-news24.pdf
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news24.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news24.tex b/Master/texmf-dist/doc/generic/pstricks/pst-news24.tex
index 3fb53580ab3..bf357b88d48 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pst-news24.tex
+++ b/Master/texmf-dist/doc/generic/pstricks/pst-news24.tex
@@ -41,6 +41,12 @@ broken.
Added a test for \verb|lualatex| before the default linewidth and color are set.
See last line in \verb|pstricks.tex|
+Moved macro \Lcs{clipbox} to \Lcs{psclipbox} to prevent a clash with package
+\LPack{adjustbox}
+from Martin Scharrer.
+
+
+
\section{\LuaLaTeX}\label{lua}
This version has a stable basic support for the lua package
\LPack{luapstricks.lua}, available from \url{https://github.com/zauguin/luapstricks}.
diff --git a/Master/texmf-dist/doc/generic/pstricks/pstricks-bug.tex b/Master/texmf-dist/doc/generic/pstricks/pstricks-bug.tex
index b5f9ba2c32c..d4e0329dd39 100644
--- a/Master/texmf-dist/doc/generic/pstricks/pstricks-bug.tex
+++ b/Master/texmf-dist/doc/generic/pstricks/pstricks-bug.tex
@@ -97,7 +97,7 @@
% 15. When lines are very short, linestyle=dash may cause an error.
% PATCH: Input this file.
%
-% 16. \clipbox does not work.
+% 16. \psclipbox does not work.
% PATCH: Input this file.
%
% 17. Various nodes are missing \leavevmode, which can cause irregularities
@@ -509,8 +509,8 @@
stroke>
% 16.
-\def\clipbox{\@ifnextchar[{\clipbox@}{\clipbox@[\z@]}}
-\def\clipbox@[#1]{\pst@makebox\clipbox@@{#1}}
+\def\psclipbox{\@ifnextchar[{\psclipbox@}{\psclipbox@[\z@]}}
+\def\psclipbox@[#1]{\pst@makebox\psclipbox@@{#1}}
% 20.
\def\mixed@coor#1#2{%
diff --git a/Master/texmf-dist/doc/info/mf2pt1.info b/Master/texmf-dist/doc/info/mf2pt1.info
index 5666407401c..7667cbf3e49 100644
--- a/Master/texmf-dist/doc/info/mf2pt1.info
+++ b/Master/texmf-dist/doc/info/mf2pt1.info
@@ -1,6 +1,6 @@
-This is mf2pt1.info, produced by makeinfo version 6.8 from mf2pt1.texi.
+This is mf2pt1.info, produced by makeinfo version 7.1 from mf2pt1.texi.
-Copyright (C) 2005-2021 Scott Pakin
+Copyright © 2005-2024 Scott Pakin
@@ -27,9 +27,9 @@ File: mf2pt1.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
mf2pt1
******
-'mf2pt1' is a tool that lets font designers design PostScript Type 1
+‘mf2pt1’ is a tool that lets font designers design PostScript Type 1
fonts using the Metafont language. The same source file can be used to
-produce both Type 1 ('.pfb') and bitmap ('.pk') fonts.
+produce both Type 1 (‘.pfb’) and bitmap (‘.pk’) fonts.
* Menu:
@@ -63,12 +63,12 @@ in the name "Metafont"). Ideally, we would like to design a font using
the Metafont language, but produce PostScript Type 1 output instead of
bitmaps.
- 'mf2pt1' helps bridge the gap between Metafont and Type 1 fonts.
-'mf2pt1' facilitates producing PostScript Type 1 fonts from a Metafont
+ ‘mf2pt1’ helps bridge the gap between Metafont and Type 1 fonts.
+‘mf2pt1’ facilitates producing PostScript Type 1 fonts from a Metafont
source file. It is _not_, as the name may imply, an automatic converter
-of arbitrary Metafont fonts to Type 1 format. 'mf2pt1' imposes a number
+of arbitrary Metafont fonts to Type 1 format. ‘mf2pt1’ imposes a number
of restrictions on the Metafont input. If these restrictions are met,
-'mf2pt1' will produce valid Type 1 output.
+‘mf2pt1’ will produce valid Type 1 output.
* Menu:
@@ -81,26 +81,26 @@ File: mf2pt1.info, Node: Requirements, Next: Installation, Prev: Introduction
1.1 Requirements
================
-Before using 'mf2pt1', you will need to install the following programs:
+Before using ‘mf2pt1’, you will need to install the following programs:
Perl
- 'mf2pt1' is written in Perl. You will need a Perl interpreter to
+ ‘mf2pt1’ is written in Perl. You will need a Perl interpreter to
run it.
MetaPost
- 'mf2pt1' actually uses MetaPost, not Metafont, to produce
- PostScript output. Specifically, you will need the 'mpost'
- executable and the 'mfplain.mp' base file.
+ ‘mf2pt1’ actually uses MetaPost, not Metafont, to produce
+ PostScript output. Specifically, you will need the ‘mpost’
+ executable and the ‘mfplain.mp’ base file.
Type 1 Utilities
- Producing properly encoded Type 1 fonts is tricky. 'mf2pt1'
+ Producing properly encoded Type 1 fonts is tricky. ‘mf2pt1’
delegates the effort to the Type 1 Utilities, specifically, to the
- 't1asm' program within that suite.
+ ‘t1asm’ program within that suite.
FontForge (optional)
FontForge is a WYSIWYG, but scriptable, Type 1 font-editing
- program. Although FontForge is not strictly required for 'mf2pt1'
- to produce a Type 1 font, 'mf2pt1' uses FontForge when available to
+ program. Although FontForge is not strictly required for ‘mf2pt1’
+ to produce a Type 1 font, ‘mf2pt1’ uses FontForge when available to
autohint the generated Type 1 font, thereby making it look better
especially at lower resolutions.
@@ -115,7 +115,7 @@ the Type 1 utilities' home page is <https://www.lcdf.org/type/>.
designer to hint fonts manually for additional fine-tuning and to
convert among a variety of font formats, such as PostScript, TrueType,
and X Window fonts. FontForge is strongly recommended as a complement
-to 'mf2pt1'.
+to ‘mf2pt1’.

File: mf2pt1.info, Node: Installation, Prev: Requirements, Up: Introduction
@@ -123,51 +123,51 @@ File: mf2pt1.info, Node: Installation, Prev: Requirements, Up: Introduction
1.2 Installation
================
-To install 'mf2pt1', move the 'mf2pt1' executable someplace where your
+To install ‘mf2pt1’, move the ‘mf2pt1’ executable someplace where your
operating system can find it. If you're running Microsoft Windows, you
-should rename the program to 'mf2pt1.pl', so that Windows knows it's a
-Perl script. (Alternatively, if you have 'pl2bat', use that to produce
-a 'mf2pt1.bat' file, which you can run as simply 'mf2pt1'.)
+should rename the program to ‘mf2pt1.pl’, so that Windows knows it's a
+Perl script. (Alternatively, if you have ‘pl2bat’, use that to produce
+a ‘mf2pt1.bat’ file, which you can run as simply ‘mf2pt1’.)
- The next step is to produce a 'mf2pt1.mem' file from the supplied
-'mf2pt1.mp'. The command to do this differs from system to system but
+ The next step is to produce a ‘mf2pt1.mem’ file from the supplied
+‘mf2pt1.mp’. The command to do this differs from system to system but
is usually something like the following:
mpost -progname=mpost -ini mf2pt1 \\dump
- Move the resulting 'mf2pt1.mem' file someplace where MetaPost can
+ Move the resulting ‘mf2pt1.mem’ file someplace where MetaPost can
find it.
- The 'mf2pt1' documentation (what you're reading now) is written in
+ The ‘mf2pt1’ documentation (what you're reading now) is written in
Texinfo and can therefore easily be converted to a variety of formats:
-PDF ('mf2pt1.pdf')
+PDF (‘mf2pt1.pdf’)
texi2pdf mf2pt1.texi
-PostScript ('mf2pt1.ps')
+PostScript (‘mf2pt1.ps’)
texi2dvi mf2pt1.texi
dvips mf2pt1.dvi -o mf2pt1.ps
-HTML ('mf2pt1.html')
+HTML (‘mf2pt1.html’)
makeinfo --html mf2pt1.texi
-Info ('mf2pt1.info')
+Info (‘mf2pt1.info’)
makeinfo mf2pt1.texi
-N.B. The 'install-info' command is a convenient way to install
-'mf2pt1.info' on your system.
+N.B. The ‘install-info’ command is a convenient way to install
+‘mf2pt1.info’ on your system.
- On Unix, you may also want to generate an 'mf2pt1' man page. The man
-page is embedded within the 'mf2pt1' Perl script and can be extracted
-with 'pod2man':
+ On Unix, you may also want to generate an ‘mf2pt1’ man page. The man
+page is embedded within the ‘mf2pt1’ Perl script and can be extracted
+with ‘pod2man’:
- pod2man --center="User Commands" --date="4 December 2021" \
- --release="v2.7" mf2pt1 > mf2pt1.1
+ pod2man --center="User Commands" --date="6 July 2024" \
+ --release="v2.8" mf2pt1 > mf2pt1.1
-You can then move 'mf2pt1.1' into '/usr/man/man1' or any other man page
-directory. Note that the 'mf2pt1' man page is fairly rudimentary. It
+You can then move ‘mf2pt1.1’ into ‘/usr/man/man1’ or any other man page
+directory. Note that the ‘mf2pt1’ man page is fairly rudimentary. It
is primarily a list of the command-line options (*note Font
information::) and a pointer to the document that you're reading now.
@@ -177,7 +177,7 @@ File: mf2pt1.info, Node: Usage, Next: Future Work, Prev: Introduction, Up: T
2 Usage
*******
-'mf2pt1' is fairly straightforward to use. To process a Metafont source
+‘mf2pt1’ is fairly straightforward to use. To process a Metafont source
file, merely specify the filename:
mf2pt1 myfont.mf
@@ -185,30 +185,30 @@ file, merely specify the filename:
That simple command automatically performs all of the following
operations:
- 1. Read 'myfont.mf'.
+ 1. Read ‘myfont.mf’.
- 2. Use 'mpost' to convert each character to a separate Encapsulated
- PostScript (EPS) file named 'myfont.NUM'.
+ 2. Use ‘mpost’ to convert each character to a separate Encapsulated
+ PostScript (EPS) file named ‘myfont.NUM’.
3. Process and merge the EPS files into a single "disassembled" Type 1
- font called 'myfont.pt1'.
+ font called ‘myfont.pt1’.
- 4. Run 't1asm' from the Type 1 Utilities to convert the disassembled
- font into a true, binary Type 1 font called 'myfont.pfb'.
+ 4. Run ‘t1asm’ from the Type 1 Utilities to convert the disassembled
+ font into a true, binary Type 1 font called ‘myfont.pfb’.
- 5. Invoke 'fontforge' to apply rendering hints to 'myfont.pfb' and to
+ 5. Invoke ‘fontforge’ to apply rendering hints to ‘myfont.pfb’ and to
attempt to remove overlapping paths.
- The external programs launched by 'mf2pt1'--'mpost', 't1asm', and
-'fontforge'--can be overridden by setting the eponymous, uppercase
+ The external programs launched by ‘mf2pt1’--‘mpost’, ‘t1asm’, and
+‘fontforge’--can be overridden by setting the eponymous, uppercase
environment variable. For example, invoking FontForge's predecessor,
PfaEdit, instead of FontForge is simply a matter of setting the
-'FONTFORGE' environment variable to 'pfaedit' before invoking 'mf2pt1'.
-As a corollary, you can inhibit an 'mf2pt1' external program from
+‘FONTFORGE’ environment variable to ‘pfaedit’ before invoking ‘mf2pt1’.
+As a corollary, you can inhibit an ‘mf2pt1’ external program from
running by setting the corresponding environment variable to the name of
a nonexistent program. Arguments can be included in the environment
-variable's value. Hence, defining 'MPOST' to 'mpost -recorder', for
-instance, instructs 'mf2pt1' to run 'mpost' with the '-recorder' option.
+variable's value. Hence, defining ‘MPOST’ to ‘mpost -recorder’, for
+instance, instructs ‘mf2pt1’ to run ‘mpost’ with the ‘-recorder’ option.
* Menu:
@@ -224,46 +224,46 @@ File: mf2pt1.info, Node: Restrictions, Next: Font information, Prev: Usage,
2.1 Restrictions
================
-If 'mf2pt1' sounds too good to be true, it is--somewhat. 'mf2pt1' is
+If ‘mf2pt1’ sounds too good to be true, it is--somewhat. ‘mf2pt1’ is
not a general-purpose Metafont-to-Type 1 converter. Rather, it can
convert only certain Metafont constructs. This is not a showstopper for
-new fonts designed with 'mf2pt1' in mind, but it is unlikely that
-'mf2pt1' will work on an arbitrary Metafont source file.
+new fonts designed with ‘mf2pt1’ in mind, but it is unlikely that
+‘mf2pt1’ will work on an arbitrary Metafont source file.
- 'mf2pt1''s biggest restriction is that each glyph must be drawn
+ ‘mf2pt1’'s biggest restriction is that each glyph must be drawn
entirely from closed paths, using Metafont's *fill* and *unfill*
-commands. ('mf2pt1' has limited support for *draw* and *undraw*, but
+commands. (‘mf2pt1’ has limited support for *draw* and *undraw*, but
their use is currently discouraged. *filldraw* and *unfilldraw* issue a
warning message and invoke *draw* and *undraw*, respectively.) The
Type 1 format requires that these paths be nonoverlapping. The
following are some of the alternatives for removing path overlaps:
1. Install FontForge. As part of its final step in producing a Type 1
- font, 'mf2pt1' instructs FontForge to replace overlapping paths
+ font, ‘mf2pt1’ instructs FontForge to replace overlapping paths
with nonoverlapping paths.
2. Remove overlaps using Metafont code within the font program itself.
- A '.zip' file attachment to a 6 January 2005 article
+ A ‘.zip’ file attachment to a 6 January 2005 article
(https://tug.org/pipermail/metapost/2005-January/000080.html) by
Boguslaw Jackowski on the MetaPost mailing list (subject: "Re: all
intersections between two paths") includes a MetaPost library which
assists with that task. The library provides a *find_outlines*
command which can be used to define a path as the union of two
other paths. A number of MetaPost example programs are also
- included in the '.zip' file.
+ included in the ‘.zip’ file.
3. Design your fonts from the beginning without using overlapping
paths.
- A secondary restriction is that 'mf2pt1' redefines a number of Plain
+ A secondary restriction is that ‘mf2pt1’ redefines a number of Plain
Metafont commands, such as *beginchar*, *fill*, and *unfill*. Metafont
font programs which redefine or bypass these (using Metafont primitives)
-will not be convertible with 'mf2pt1'.
+will not be convertible with ‘mf2pt1’.
- A far less severe restriction is due to 'mf2pt1''s utilizing
+ A far less severe restriction is due to ‘mf2pt1’'s utilizing
MetaPost's Metafont interface instead of Metafont itself. The
-implication is that commands not defined by MetaPost's 'mfplain.mp'
-cannot be handled by 'mf2pt1', either. Very few fonts will have a
+implication is that commands not defined by MetaPost's ‘mfplain.mp’
+cannot be handled by ‘mf2pt1’, either. Very few fonts will have a
problem with this restriction but see the MetaPost manual for more
information.
@@ -279,7 +279,7 @@ These include features such as the font's x-height, quad width,
interword stretchability and shrinkability, and other design
characteristics that TeX makes use of. PostScript fonts utilize a
largely different set of font parameters, such as the underline position
-and thickness, font family name, and copyright notice. 'mf2pt1'
+and thickness, font family name, and copyright notice. ‘mf2pt1’
provides Metafont commands to define the PostScript font parameters in
the generated Type 1 font. These parameters should appear in the
Metafont source file as follows:
@@ -288,9 +288,9 @@ Metafont source file as follows:
...
fi
-'ps_output' is defined by 'mf2pt1' but not by Plain Metafont. Checking
+‘ps_output’ is defined by ‘mf2pt1’ but not by Plain Metafont. Checking
if it is known is the recommended way to determine if the font is being
-built under 'mf2pt1'.
+built under ‘mf2pt1’.
* Menu:
@@ -306,23 +306,23 @@ File: mf2pt1.info, Node: Parameters, Next: Command-line equivalents, Prev: Fo
----------------
The following list presents all of the font-information commands
-provided by 'mf2pt1' and describes what each command means. Commands
+provided by ‘mf2pt1’ and describes what each command means. Commands
marked with an asterisk are also defined by Plain Metafont and therefore
-do not need to be enveloped within a test for 'ps_output'.
+do not need to be enveloped within a test for ‘ps_output’.
*font_coding_scheme*
The mapping between character numbers and PostScript names. If
- this is the name of a file, 'mf2pt1' expects it to contain
+ this is the name of a file, ‘mf2pt1’ expects it to contain
PostScript code defining a font-encoding vector. *Note Custom font
encodings::, for an example of such a file. If
- *font_coding_scheme* is not the name of a file, 'mf2pt1' expects it
- to be one of the literal strings 'standard' (Adobe standard
- encoding), 'isolatin1' (ISO Latin 1 encoding), 'ot1' (TeX 7-bit
- encoding), 't1' (TeX 8-bit encoding), or 'asis' (encoding
+ *font_coding_scheme* is not the name of a file, ‘mf2pt1’ expects it
+ to be one of the literal strings ‘standard’ (Adobe standard
+ encoding), ‘isolatin1’ (ISO Latin 1 encoding), ‘ot1’ (TeX 7-bit
+ encoding), ‘t1’ (TeX 8-bit encoding), or ‘asis’ (encoding
integrated with the character programs using the *glyph_name*
command as described in *note Custom font encodings::). Anything
- else will generate a warning message and cause 'mf2pt1' to use
- 'standard' instead.
+ else will generate a warning message and cause ‘mf2pt1’ to use
+ ‘standard’ instead.
*font_comment*
A textual comment that will appear within the generated font. This
@@ -330,20 +330,20 @@ do not need to be enveloped within a test for 'ps_output'.
*font_family*
The family that this font belongs to. For example, "Utopia Bold
- Italic" belongs to the 'Utopia' family.
+ Italic" belongs to the ‘Utopia’ family.
*font_fixed_pitch*
Whether the font is monospaced (if *true*) or or proportionally
spaced (if *false*).
*font_identifier (*)*
- The full name of the font, e.g., 'Utopia Bold Italic'.
+ The full name of the font, e.g., ‘Utopia Bold Italic’.
*font_name*
The symbolic font name, used to load the font from a PostScript
document. Spaces are forbidden. Generally, the font name is of
- the form 'FAMILY-MODIFIERS'. For example, the font name of Utopia
- Bold Italic would be 'Utopia-BoldItalic'.
+ the form ‘FAMILY-MODIFIERS’. For example, the font name of Utopia
+ Bold Italic would be ‘Utopia-BoldItalic’.
*font_size (*)*
The font design size. This is specified in "sharped" units within
@@ -351,7 +351,7 @@ do not need to be enveloped within a test for 'ps_output'.
*font_slant (*)*
When specified with *font_slant*, the amount of slant per point.
- When specified with '--italicangle', the angle in counterclockwise
+ When specified with ‘--italicangle’, the angle in counterclockwise
degrees from the vertical (i.e., zero for an upright font, negative
for a right-slanting italic font).
@@ -369,18 +369,18 @@ do not need to be enveloped within a test for 'ps_output'.
16,777,215, with the "open" range being 4,000,000-4,999,999. All
IDs not in that range are allocated by contacting Adobe's UniqueID
Coordinator. (I don't believe a fee is involved, but I don't know
- for sure.) If a unique ID is not specified, 'mf2pt1' will not
+ for sure.) If a unique ID is not specified, ‘mf2pt1’ will not
write a unique ID to the file. Note that Adobe no longer
recommends including unique IDs in fonts.
*font_version*
The version number of the font. This should be of the form
- 'MMM.MMM', where MMM is the major version number and MMM is the
+ ‘MMM.MMM’, where MMM is the major version number and MMM is the
minor version number.
*font_weight*
The font weight. For example, the font weight of Utopia Bold
- Italic is 'Bold'.
+ Italic is ‘Bold’.

File: mf2pt1.info, Node: Command-line equivalents, Next: Default values, Prev: Parameters, Up: Font information
@@ -392,36 +392,36 @@ Each of the font-information commands listed in *note Parameters:: has a
command-line equivalent. Their use is discouraged but they are listed
here for completeness:
-*font_coding_scheme* '--encoding'
+*font_coding_scheme* ‘--encoding’
-*font_comment* '--comment'
+*font_comment* ‘--comment’
-*font_family* '--family'
+*font_family* ‘--family’
-*font_fixed_pitch* '--fixedpitch'
+*font_fixed_pitch* ‘--fixedpitch’
-*font_identifier* '--fullname'
+*font_identifier* ‘--fullname’
-*font_name* '--name'
+*font_name* ‘--name’
-*font_size* '--designsize'
+*font_size* ‘--designsize’
-*font_slant* '--italicangle'
+*font_slant* ‘--italicangle’
-*font_underline_position* '--underpos'
+*font_underline_position* ‘--underpos’
-*font_underline_thickness* '--underthick'
+*font_underline_thickness* ‘--underthick’
-*font_unique_id* '--uniqueid'
+*font_unique_id* ‘--uniqueid’
-*font_version* '--fontversion'
+*font_version* ‘--fontversion’
-*font_weight* '--weight'
+*font_weight* ‘--weight’
- A special case is '--fixedpitch' which does not take an argument.
-Rather, you should use '--fixedpitch' as the equivalent of
-'font_fixed_pitch true' and '--nofixedpitch' as the equivalent of
-'font_fixed_pitch false'.
+ A special case is ‘--fixedpitch’ which does not take an argument.
+Rather, you should use ‘--fixedpitch’ as the equivalent of
+‘font_fixed_pitch true’ and ‘--nofixedpitch’ as the equivalent of
+‘font_fixed_pitch false’.

File: mf2pt1.info, Node: Default values, Next: Parameter example, Prev: Command-line equivalents, Up: Font information
@@ -432,11 +432,11 @@ File: mf2pt1.info, Node: Default values, Next: Parameter example, Prev: Comma
The next table lists the Metafont type and default value of each of the
parameters listed in *note Parameters::.
-*font_coding_scheme* *string* '"standard"'
+*font_coding_scheme* *string* ‘"standard"’
-*font_comment* *string* '"Font converted to
+*font_comment* *string* ‘"Font converted to
Type 1 by mf2pt1, written
- by Scott Pakin."'
+ by Scott Pakin."’
*font_family* *string* (The value of
*font_identifier*)
@@ -444,7 +444,7 @@ parameters listed in *note Parameters::.
*font_fixed_pitch* *boolean* *false*
*font_identifier* *string* (The input filename,
- minus '.mf')
+ minus ‘.mf’)
*font_name* *string* (The value of
*font_family*, plus an
@@ -453,7 +453,7 @@ parameters listed in *note Parameters::.
with all spaces removed)
*font_size* *numeric* (Must be specified or
- 'mf2pt1' will abort with
+ ‘mf2pt1’ will abort with
an error message)
*font_slant* *numeric* 0
@@ -466,9 +466,9 @@ parameters listed in *note Parameters::.
the range
4000000-4999999)
-*font_version* *string* '"001.000"'
+*font_version* *string* ‘"001.000"’
-*font_weight* *string* '"Medium"'
+*font_weight* *string* ‘"Medium"’

@@ -478,11 +478,11 @@ File: mf2pt1.info, Node: Parameter example, Prev: Default values, Up: Font in
-----------------------
As an example, the following Metafont code shows the usage of all of the
-parameters that 'mf2pt1' accepts:
+parameters that ‘mf2pt1’ accepts:
if known ps_output:
font_coding_scheme "ot1";
- font_comment "Copyright (C) 2021 Scott Pakin.";
+ font_comment "Copyright (C) 2005-2024 Scott Pakin.";
font_family "Kerplotz";
font_fixed_pitch false;
font_identifier "Kerplotz Light Oblique";
@@ -492,8 +492,7 @@ if known ps_output:
font_slant 1/6;
font_underline_position -1pt#;
font_underline_thickness 1/2pt#;
- font_unique_id "4112233"; % Better to omit
- this.
+ font_unique_id "4112233"; % Better to omit this.
font_version "002.005";
font_weight "Light";
fi
@@ -501,12 +500,12 @@ fi
In the above, the *font_fixed_pitch* call could have been omitted, as it
defaults to *false*. Also, unless you've requested a unique ID from
Adobe, it's generally better not to assign *font_unique_id*; let
-'mf2pt1' choose a random value itself.
+‘mf2pt1’ choose a random value itself.
The same parameters can also be specified on the command line as
follows:
- mf2pt1 --encoding=ot1 --comment="Copyright (C) 2021 Scott Pakin."
+ mf2pt1 --encoding=ot1 --comment="Copyright (C) 2005-2024 Scott Pakin."
--family=Kerplotz --nofixedpitch --fullname="Kerplotz Light Oblique"
--name=Kerplotz-LightOblique --designsize=10 --italicangle=-9.5
--underpos=-100 --underthick=50 --uniqueid=4112233 --version=002.005
@@ -516,7 +515,7 @@ Note that a Metafont font slant of 1/6 is equal to a PostScript italic
angle of approximately -9.5. The conversion formula is slant =
-tan(angle). In addition, the underline position and thickness must be
multiplied by 1000/*font_size* to convert from the Metafont units that
-are used within the '.mf' file to the PostScript units that are used on
+are used within the ‘.mf’ file to the PostScript units that are used on
the command line.

@@ -526,29 +525,29 @@ File: mf2pt1.info, Node: Additional command-line options, Next: Custom font en
===================================
In addition to the command-line options for setting font parameters that
-were presented in *note Parameters::, 'mf2pt1' supports a '--rounding'
-option. While 'mf2pt1' normally rounds all font coordinates to the
-nearest integer, '--rounding' increases coordinate precision by
-instructing 'mf2pt1' to round instead to the nearest multiple of a given
-fractional number. For example, '--rounding=0.25' rounds the coordinate
+were presented in *note Parameters::, ‘mf2pt1’ supports a ‘--rounding’
+option. While ‘mf2pt1’ normally rounds all font coordinates to the
+nearest integer, ‘--rounding’ increases coordinate precision by
+instructing ‘mf2pt1’ to round instead to the nearest multiple of a given
+fractional number. For example, ‘--rounding=0.25’ rounds the coordinate
(7.4, 10.3) to (7.5, 10.25) while it would otherwise be rounded to the
less-precise (7, 10).
Large glyphs can be problematic in MetaPost and therefore in
-'mf2pt1'. Unlike Metafont, MetaPost does not honor 'mag' for magnifying
+‘mf2pt1’. Unlike Metafont, MetaPost does not honor ‘mag’ for magnifying
dimensions. Rather, the number of PostScript (a.k.a. "big") points per
-pixel--'bpppix'--is hardwired to 0.02 and all other dimensions ('mm',
-'in', 'pt', etc.) are expressed in terms of that. Consequently, glyphs
+pixel--‘bpppix’--is hardwired to 0.02 and all other dimensions (‘mm’,
+‘in’, ‘pt’, etc.) are expressed in terms of that. Consequently, glyphs
that multiply a large number of font units by a dimension are likely to
exceed 4096, the largest value that MetaPost can represent in its
fixed-point format. If numerical overflow becomes a problem you can use
-the '--bpppix' option to 'mf2pt1' to change the value of 'bpppix'. For
-example, specifying '--bpppix=0.2' enables a tenfold increase in maximum
+the ‘--bpppix’ option to ‘mf2pt1’ to change the value of ‘bpppix’. For
+example, specifying ‘--bpppix=0.2’ enables a tenfold increase in maximum
glyph size (with a corresponding decrease in precision).
- After generating a Type 1 font, 'mf2pt1' runs it through FontForge to
+ After generating a Type 1 font, ‘mf2pt1’ runs it through FontForge to
add hinting information, remove overlaps, and otherwise clean up the
-generated font. The '--ffscript' option specifies the filename of a
+generated font. The ‘--ffscript’ option specifies the filename of a
FontForge script to use instead of the default script, which is listed
below:
@@ -566,10 +565,10 @@ below:
See the FontForge documentation for an explanation of each of those
commands and a description of other commands made available to FontForge
-scripts. 'mf2pt1' runs the script with one argument ('$1'), which is
-the name of the generated '.pfb' file.
+scripts. ‘mf2pt1’ runs the script with one argument (‘$1’), which is
+the name of the generated ‘.pfb’ file.
- 'mf2pt1' also supports a '--help' option which summarizes all of the
+ ‘mf2pt1’ also supports a ‘--help’ option which summarizes all of the
program's command-line options.

@@ -579,12 +578,12 @@ File: mf2pt1.info, Node: Custom font encodings, Next: Restoring mfplain defaul
=========================
*note Parameters::, lists the font encodings currently supported by
-'mf2pt1' and mentions that an alternate encoding can be specified by
+‘mf2pt1’ and mentions that an alternate encoding can be specified by
providing the name of an encoding file. To elaborate, the following
example represents the contents of an encoding file which defines
a--largely useless nowadays--EBCDIC font encoding:
- '% Sample encoding vector: EBCDIC
+ ‘% Sample encoding vector: EBCDIC
% The encoding vector must have a name and be defined as a
PostScript array.
@@ -614,23 +613,23 @@ a--largely useless nowadays--EBCDIC font encoding:
/_a237 /_a238 /_a239 /zero /one /two /three /four /five /six /seven
/eight /nine /_a250 /_a251 /_a252 /_a253 /_a254 /_a255
% Don't forget to end the array.
- ] def'
+ ] def’
All entries in the encoding vector are PostScript "names" and
therefore must be prefixed with a slash. Unnamed characters such as
-control characters are commonly named '_aNUMBER', where NUMBER is the
+control characters are commonly named ‘_aNUMBER’, where NUMBER is the
decimal offset into the character table. Undefined characters are
-indicated by '.notdef'. In the EBCDIC example, the character at
-position 0 in the font will be named 'a0'; the character at position 1
-will be named 'a1'; the character at position 74 will be named
-'bracketleft'; the character at position 129 will be named 'a'; and so
+indicated by ‘.notdef’. In the EBCDIC example, the character at
+position 0 in the font will be named ‘a0’; the character at position 1
+will be named ‘a1’; the character at position 74 will be named
+‘bracketleft’; the character at position 129 will be named ‘a’; and so
forth.
Individual characters can be mapped to an encoding either numerically
or by executing a *glyph_name* command within a character definition.
For example, the following code overrides the character position passed
to *beginchar* (i.e., 123) with whatever character position the current
-encoding has designated for the 'ohungarumlaut' glyph:
+encoding has designated for the ‘ohungarumlaut’ glyph:
beginchar (123, cap_height#-1/2pt#, cap_height#, 0);
if known ps_output:
@@ -642,17 +641,17 @@ encoding has designated for the 'ohungarumlaut' glyph:

File: mf2pt1.info, Node: Restoring mfplain defaults, Prev: Custom font encodings, Up: Usage
-2.5 Restoring 'mfplain' defaults
+2.5 Restoring ‘mfplain’ defaults
================================
-'mf2pt1' normally redefines *filldraw* as *fill* and *unfilldraw* and
+‘mf2pt1’ normally redefines *filldraw* as *fill* and *unfilldraw* as
*unfill* because Type 1 fonts don't allow overlapping curves.
-Similarly, 'mf2pt1' redefines *pencircle* as a 20-gon to coerce MetaPost
+Similarly, ‘mf2pt1’ redefines *pencircle* as a 20-gon to coerce MetaPost
into drawing it using a filled instead of a stroked PostScript path.
If you know you'll be postprocessing your fonts using FontForge,
which can automatically convert overlapping paths to nonoverlapping
-paths, then you can restore the original 'mfplain.mp' definitions of
+paths, then you can restore the original ‘mfplain.mp’ definitions of
*filldraw*, *unfilldraw*, and *pencircle* as follows:
if known ps_output:
@@ -677,29 +676,29 @@ locations, using commands such as *define_corrected_pixels*,
completely different manner. Type 1 hints distinguish key character
features, such as stems and dots, from decorations which can be
discarded at low resolutions. The PostScript interpreter uses that
-information to determine how to map points to pixels. Although 'mf2pt1'
+information to determine how to map points to pixels. Although ‘mf2pt1’
employs FontForge to autohint the fonts it generates, the approach is
mechanical and unlikely to hint as well as a human can do manually. It
-would be convenient for 'mf2pt1' one day to provide Metafont commands
+would be convenient for ‘mf2pt1’ one day to provide Metafont commands
for *hstem*, *vstem*, *dotsection*, and the other Type 1 hints. That
way, hints will no longer need to be re-added manually every time
-'mf2pt1' regenerates a Type 1 font.
+‘mf2pt1’ regenerates a Type 1 font.
- Another future addition to 'mf2pt1' is the addition of more font
-encodings. The following are the encodings that 'mf2pt1' will most
+ Another future addition to ‘mf2pt1’ is the addition of more font
+encodings. The following are the encodings that ‘mf2pt1’ will most
likely accept:
-'TeXMathItalicEncoding'
+‘TeXMathItalicEncoding’
Upper- and lowercase Greek and Latin letters, old-style digits, and
a few symbols and accents.
-'TeXMathSymbolEncoding'
+‘TeXMathSymbolEncoding’
A variety of symbols, as well as calligraphic Latin majuscules.
-'TeXMathExtensionEncoding'
+‘TeXMathExtensionEncoding’
Variable-sized symbols, such as braces, integrals, and radicals.
-'AdobeExpert'
+‘AdobeExpert’
Small caps, currency symbols, old-style digits, and various
superior and inferior letters and digits.
@@ -710,43 +709,43 @@ Acknowledgments
***************
Many thanks are owed to Werner Lemberg for writing the code underlying
-the '--rounding' option; for introducing the *glyph_name* command and
-'asis' encoding vector; for providing the default FontForge script
+the ‘--rounding’ option; for introducing the *glyph_name* command and
+‘asis’ encoding vector; for providing the default FontForge script
listed in *note Additional command-line options::; for fixing some
-code-generation bugs in 'mf2pt1'; for finding a more robust way to dump
-'mf2pt1.mem'; for directing me to the overlap-removal code mentioned in
+code-generation bugs in ‘mf2pt1’; for finding a more robust way to dump
+‘mf2pt1.mem’; for directing me to the overlap-removal code mentioned in
*note Restrictions::; for supplying the _crossproduct_, _makeline_, and
-_is_clockwise_ functions used by 'mf2pt1.mp'; for proposing the
-'--bpppix' command-line option; and for suggesting various features and
-improvements to 'mf2pt1'. Thanks also go to Werner Lemberg and Boguslaw
-Jackowski for updating the *is_clockwise* function in 'mf2pt1.mp' to
+_is_clockwise_ functions used by ‘mf2pt1.mp’; for proposing the
+‘--bpppix’ command-line option; and for suggesting numerous features and
+improvements to ‘mf2pt1’. Thanks also go to Werner Lemberg and Boguslaw
+Jackowski for updating the *is_clockwise* function in ‘mf2pt1.mp’ to
work around a bug in MetaPost which relates to the *turningnumber*
command. Finally, thanks go to Ralf Stubner for providing the T1
encoding vector and for pointing out a typo in the generated font
programs; to Michael Zedler for alerting me to problems with
-'--encoding' and suggesting I modify that option to accept PostScript
-'.enc' files; and to Michael Ummels for fixing a couple of bugs that
+‘--encoding’ and suggesting I modify that option to accept PostScript
+‘.enc’ files; and to Michael Ummels for fixing a couple of bugs that
made character widths in the generated fonts slightly too large.

Tag Table:
-Node: Top628
-Node: Introduction1166
-Node: Requirements2998
-Node: Installation4731
-Node: Usage6545
-Node: Restrictions8449
-Node: Font information10827
-Node: Parameters12185
-Node: Command-line equivalents15660
-Node: Default values17141
-Node: Parameter example19361
-Node: Additional command-line options21370
-Node: Custom font encodings23710
-Node: Restoring mfplain defaults27160
-Node: Future Work28019
-Node: Acknowledgments29883
+Node: Top627
+Node: Introduction1177
+Node: Requirements3025
+Node: Installation4798
+Node: Usage6696
+Node: Restrictions8688
+Node: Font information11122
+Node: Parameters12496
+Node: Command-line equivalents16047
+Node: Default values17600
+Node: Parameter example19844
+Node: Additional command-line options21843
+Node: Custom font encodings24275
+Node: Restoring mfplain defaults27761
+Node: Future Work28635
+Node: Acknowledgments30535

End Tag Table
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex-dev/l3kernel/CHANGELOG.md
index 3696c567d17..76ee35a0f1b 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/CHANGELOG.md
@@ -7,6 +7,12 @@ 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
@@ -1747,7 +1753,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-06-19...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
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/README.md b/Master/texmf-dist/doc/latex-dev/l3kernel/README.md
index 2c0b2a04773..0afb38a9ba2 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/README.md
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-06-19
+Release 2024-07-20
Overview
--------
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/expl3.pdf
index e2e48dedf73..cf3f79416b9 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/interface3.pdf
index 959d7187ab8..6c4ea0a544c 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex-dev/l3kernel/interface3.tex
index 9e36aa8fe8a..0219809dabd 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-07-20}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3doc.pdf
index f417c92811d..554a61ad500 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3doc.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3docstrip.pdf
index 2c97de0d5f7..1ec928d673c 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news.pdf
index 80a88e47cd9..e9e7149b0df 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news01.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news01.pdf
index 99aebce94c6..d85dfd045e7 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news01.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news01.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news02.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news02.pdf
index 8724ffc776e..7bd350172e0 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news02.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news02.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news03.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news03.pdf
index 6e02927db4b..f1f3afb7263 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news03.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news03.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news04.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news04.pdf
index ce24a41b647..4093837a055 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news04.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news04.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news05.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news05.pdf
index b4e1a4fb634..c8000e8f0fc 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news05.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news05.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news06.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news06.pdf
index 1d675540eca..1bd0875ea78 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news06.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news06.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news07.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news07.pdf
index a1c228a4412..452e18749b7 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news07.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news07.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news08.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news08.pdf
index 004c269c5e3..f985db2b445 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news08.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news08.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news09.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news09.pdf
index 33a6bde2a96..50924df70cc 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news09.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news09.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news10.pdf
index ab6903d9177..4fb21174bd7 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news10.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news10.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news11.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news11.pdf
index e5d326a4530..a06c363913c 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news11.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news11.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news12.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news12.pdf
index 83cd26364b8..09a1a6955c5 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3news12.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3news12.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3prefixes.csv b/Master/texmf-dist/doc/latex-dev/l3kernel/l3prefixes.csv
index e85412b9d80..339f6625fd1 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3prefixes.csv
+++ b/Master/texmf-dist/doc/latex-dev/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-dev/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3prefixes.pdf
index e9633dee241..908809cda4f 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3prefixes.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.pdf
index 80dabed6261..6d9065124dc 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.tex
index 1caf698e9bc..985f20a68cb 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3styleguide.tex
+++ b/Master/texmf-dist/doc/latex-dev/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-06-19}
+\date{Released 2024-07-20}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.pdf
index ef84d78a9f0..f7b4cf0d3d0 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.tex
index 5ed2fba8671..b9ffcb011af 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3syntax-changes.tex
+++ b/Master/texmf-dist/doc/latex-dev/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-06-19}
+\date{Released 2024-07-20}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.pdf
index 5705a815993..bb77c0a4c2e 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.tex
index 3221b102807..fca28863372 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/l3term-glossary.tex
+++ b/Master/texmf-dist/doc/latex-dev/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-06-19}
+\date{Released 2024-07-20}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex-dev/l3kernel/source3.pdf
index c61b5e0adea..6ccc2109c22 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/source3.pdf
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex-dev/l3kernel/source3.tex b/Master/texmf-dist/doc/latex-dev/l3kernel/source3.tex
index 4297476aabd..228d3ca93c6 100644
--- a/Master/texmf-dist/doc/latex-dev/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex-dev/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-07-20}
\pagenumbering{roman}
\maketitle
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..5cc0505780b 100644
--- a/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md
+++ b/Master/texmf-dist/doc/latex/bxpdfver/README-ja.md
@@ -52,7 +52,8 @@ bxpdfver パッケージ
* `lenient+`: サポートしない機能に対するエラーを完全に抑止する。
* `nolenient`(既定): `lenient(+)` の否定。
* `new-dvipdfmx`: dvipdfmx に対するバージョン検査を省略し、常に最新の
- バージョンであると仮定する。
+ バージョンであると仮定する。
+ ※ドライバオプションが `dvipdfmx` に変更される。
`compress`、`objcompress` はこのパッケージによる抑止を行わないという意味
であり、既に抑止されている場合にそれを再び有効化するものではない。
@@ -72,6 +73,8 @@ bxpdfver パッケージ
* `\preservepdfdestinations`: PDF 目的地(PDF destination)の名前の
短縮を抑止し、TeX 文書で指定された名前を用いる。異なる PDF 文書間で
のリンクを正常に機能させるために必要である。
+ * `\setpdfpkresolution{<解像度>}`: PDF に埋め込まれる PK フォントの
+ 解像度(dpi 値)を指定する。
### ドライバ指定に関する補足
@@ -83,30 +86,42 @@ bxpdfver パッケージ
\suppresspdfobjcompression Yes Maybe(*2) No
\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 以上である必要がある。
+
+dvipdfmx のバージョン判定について:
+
+ - 必要が生じた場合にのみバージョン判定が実行される。
+ - `new-dvipdfmx` オプションを指定した場合は、バージョン判定を全て
+ 省略した上で、最新の dvipdfmx を使用していると見なす。
+ - バージョン判定のために kpsewhich と extractbb の起動を利用するため、
+ 少なくともこれらのプログラムについて、シェル実行が許可されている
+ 必要がある。
+ - バージョン判定は少し時間がかかるため、dvipdfmx のバージョン情報は
+ 補助ファイル(.aux)中にキャッシュされる。このため、何か状況が変化
+ した場合は、一旦補助ファイルを削除する必要が生じる。
以下のことにも注意されたい。
- * 使用不可能な機能を使おうと試みるとエラーが発生する。
+ * 使用不可能な機能を使おうと試みるとエラーが発生する。
+ ※`lenient` オプションが指定された場合はエラーが警告に変更され、
+ また `lenient+` が指定された場合はエラーも警告も抑止される。
* `dvips` 等の“全く対応していない”若干のドライバオプションを認識
する。この場合、全ての機能の呼出でエラーが発生する。
- * `nodvidriver` は特殊で、これを指定した場合は、どの機能の呼出でも
- エラーは発生しないが、全く何の動作も行わない。
+ * `nodvidriver` オプションは既定で `lenient+` を指定する。つまり、
+ どの機能の呼出でもエラーは発生しないが、全く何の動作も行わない。
更新履歴
--------
+ * 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..df7995de21f 100644
--- a/Master/texmf-dist/doc/latex/bxpdfver/README.md
+++ b/Master/texmf-dist/doc/latex/bxpdfver/README.md
@@ -72,6 +72,8 @@ 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
@@ -83,29 +85,42 @@ when it is already suppressed by other means.
\suppresspdfobjcompression Yes Maybe(*2) No
\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.
+ 2. These features are available only when the version of (x)dvipdfmx
+ is 20211016 or later.
+
+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.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/chemformula-ru/chemformula-ru.pdf b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf
index 09126f6cc1c..bed9614116a 100644
--- a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf
+++ b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex
index 02edcbca417..192da90cb48 100644
--- a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex
+++ b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex
@@ -3,7 +3,6 @@
\geometry{total={180mm, 267mm}, centering}
\usepackage[russian]{babel}
-\usepackage{chemformula}
\usepackage[ch2Ch,cosh2ch]{chemformula-ru}
\usepackage{array,multicol}
@@ -11,7 +10,7 @@
\title{The \textsf{chemformula-ru} package}
\author{Alexey Kuznetsov}
-\date{01.03.2024}
+\date{10.07.2024}
\maketitle
\begin{multicols}{2}
@@ -23,9 +22,8 @@ Russian settings of the \textsf{babel} package \textsf{(russianb.ldf)} define th
\mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex]
Loading packages together leads to the error\\[1ex]
\mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex]
-The \textsf{chemformula-ru} package ``neutralizes'' it by making the babel's command undefined.
-
-The package has two parameters to configure the printing of the hyperbolic cosine in Russian notation:\\[1ex]
+The \textsf{chemformula-ru} package loads the \textsf{chemformula} and ``neutralizes'' the error by making the babel's command undefined.
+Two it's parameters configure printing of the hyperbolic cosine in Russian notation:\\[1ex]
\begin{tabular}{>\sf l @{ ---\quad } p{.75\linewidth}}
cosh2ch & overrides the \verb|\cosh| command for printing:\linebreak
\verb|$\cosh x$| $\to \cosh x$. \\[1ex]
@@ -37,13 +35,12 @@ ch2Ch & defines a new \verb|\Ch| command for printing:\linebreak
\mbox{}\hfil\verb|\сh{|\textit{химическая фоормула}\verb|}|\\[.5ex]
для верстки химических формул:\\[.5ex]
\mbox{}\hfil\verb|\ch{H3PO4}| $\to$ \ch{H3PO4}.\\[.5ex]
-Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.5ex]
+Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.85\baselineskip]
\mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex]
Cовместная загрузка пакетов ведет к ошибке\\[1ex]
\mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex]
-Пакет \textsf{chemformula-ru} <<нейтрализует>> ее, делая команду пакета \textsf{babel} неопределенной.
-
-Пакет имеет два параметра, настраивающих печать гиперболического косинуса в русских нотациях:\\[1ex]
+Пакет \textsf{chemformula-ru} загружает \textsf{chemformula} и <<нейтрализует>> ошибку, делая команду пакета \textsf{babel} неопределенной.
+Два его параметра настраивают печать гиперболического косинуса в русских нотациях:\\[1ex]
\begin{tabular}{>\sf l @{ --- } p{.8\linewidth}}
cosh2ch & переопределяет для печати команду \verb|\cosh|:\linebreak
\verb|$\cosh x$| $\to \cosh x$. \\[1ex]
@@ -52,10 +49,11 @@ ch2Ch & определяет для печати новую команду \verb
\end{tabular}
\end{multicols}
+\thispagestyle{empty}
+
\noindent\hrulefill
\begin{verbatim}
-
%% Redefine \cosh to print ch.
\DeclareOption{cosh2ch}{\def\cosh@ch{%
\DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}}
@@ -64,19 +62,22 @@ ch2Ch & определяет для печати новую команду \verb
\DeclareOption{ch2Ch}{\def\ch@Ch{%
\DeclareRobustCommand\Ch{\mathop{\operator@font ch}\nolimits}}}
+%% Pass all other options to the chemformula package.
+\DeclareOption*{\PassOptionsToPackage\CurrentOption{chemformula}}
+
\ProcessOptions\relax
+\RequirePackage{chemformula}
+
\BeforeBeginEnvironment{document}{
- \IfPackageLoadedTF{chemformula}{
- \IfPackageLoadedWithOptionsTF{babel}{russian}{
- \let\@Chem@Formula\ch \let\ch\undefined
- \AtBeginDocument{ \let\ch\@Chem@Formula
- \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
- \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
- }
- } { \relax }
- } { \relax }
-}
+ \let\@Chem@Formula\ch \let\ch\undefined
+ \AtBeginDocument{
+ \let\ch\@Chem@Formula
+ \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
+ @ifundefined{ch@Ch}{\relax}{\ch@Ch}
+ } }
+
+\endinput
\end{verbatim}
\end{document}
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 69c983dbb73..e28620a02d2 100644
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md
+++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/README.md
@@ -16,11 +16,12 @@ compatible with the traditional engine pdfLaTeX.
## Licence
LaTeX Project Public License, version 1.3c or (at your option) any
-later version.
+later version. The documentation is also licensed under CC BY-SA 4.0
+International.
## Version
-1.0 (2023-11-29)
+
## Author
@@ -103,7 +104,7 @@ version history of the bibliographic styles appears in
## Comments or suggestions
-The Gitlab [project repository](https://gitlab.com/cjs-rcs/cjs-rcs-article)
+The GitLab [project repository](https://gitlab.com/cjs-rcs/cjs-rcs-article)
is the best place to report bugs or to propose improvements to the
project.
@@ -127,11 +128,12 @@ grande partie compatible avec le moteur pdfLaTeX.
## Licence
LaTeX Project Public License, version 1.3c ou (à votre choix) toute
-version ultérieure.
+version ultérieure. La documentation est également publiée sous
+licence CC BY-SA 4.0 International.
## Version
-1.0 (2023-11-29)
+
## 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 5ec31c2669c..c64b7fa0a24 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-fr.tex b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.tex
deleted file mode 100644
index b7f01a64fda..00000000000
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-article-fr.tex
+++ /dev/null
@@ -1,5 +0,0 @@
-%% Wrapper to set language to French
-%% (https://tex.stackexchange.com/a/28646).
-\expandafter\newif\csname ifenglish\endcsname
-\englishfalse
-\input{cjs-rcs-article.dtx}
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 dc76f9053ec..4d9c8ae4f8d 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-bst-en.dbj b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-en.dbj
deleted file mode 100644
index 38907626da6..00000000000
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-en.dbj
+++ /dev/null
@@ -1,611 +0,0 @@
-%% Driver file to produce cjs-rcs-en.bst from cjs-rcs-merlin.mbs
-%% Originally generated with makebst, version 4.1 (2003/09/08),
-%% on 2023/10/05 at 15:25, then hand edited by Vincent Goulet.
-%%
-\input docstrip
-
-\preamble
-
-Copyright (C) 2023 Statistical Society of Canada | Société
-canadienne de statistique
-
-This file 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
-
-This work has the LPPL maintenance status `maintained'.
-
-The Current Maintainer of this work is Vincent Goulet
-<vincent.goulet@act.ulaval.ca>.
-
-This work consists of the master bibliographic style file
-cjs-rcs-merlin.mbs, the language definition file cjs-rcs-english.mbs,
-the driver file cjs-rcs-en.dbj, and the derived file cjs-rcs-en.bst.
-
-\endpreamble
-
-\postamble
-End of customized bst file
-\endpostamble
-
-\keepsilent
-
-\askforoverwritefalse
-\def\MBopts{\from{cjs-rcs-merlin.mbs}{%
-%EXTERNAL FILES:
-%Name of language file: \cfile=cjs-rcs-english.mbs.
-%No included files.
- head,\MBopta}
-\from{cjs-rcs-english.mbs}{\MBopta}
-\from{cjs-rcs-merlin.mbs}{tail,\MBopta}}
-\def\MBopta{%
-%INTERNAL LANGUAGE SUPPORT (if no external language file)
-% %: (def) English
-% babel,%: Babel
-%--------------------
- exlang,%: External language file
-%STYLE OF CITATIONS:
-% %: (def) Numerical
- ay,%: Author-year
-% alph,%: Alpha style, Jon90 or JWB90
-% alph,alf-1,%: Alpha style, Jon90
-% alph,alf-f,%: Alpha style, Jones90
-% cite,%: Cite key
-%--------------------
-%HTML OUTPUT (if non author-year citations)
-% %: (def) Normal LaTeX
-% html,%: Hypertext
-% html,htlist,%: Hypertext list
-% html,htdes,%: Hypertext with keys
-%--------------------
-%AUTHOR--YEAR SUPPORT SYSTEM (if author-year citations)
- nat,%: Natbib
-% %: (def) Older Natbib
-% alk,%: Apalike
-% har,%: Harvard
-% ast,%: Astronomy
-% cay,%: Chicago
-% nmd,%: Named
-% cn,%: Author-date
-%--------------------
-%HARVARD EXTENSIONS INCLUDED (if Harvard support selected)
-% harnm,%: With Harvard extensions
-% %: (def) Older Harvard
-%--------------------
-%LANGUAGE FIELD
-% %: (def) No language field
- lang,%: Add language field
-%--------------------
-%ANNOTATIONS:
- %: (def) No annotations
-% annote,%: Annotations
-%--------------------
-%PRESENTATIONS:
- %: (def) Do not add presentation type
-% pres,%: Add presentation, speaker not highlighted
-% pres,pres-bf,%: Presentation, speaker bold face
-% pres,pres-it,%: Presentaion, speaker italic
-% pres,pres-sc,%: Presentaion, speaker in small caps
-%--------------------
-%ORDERING OF REFERENCES (if non-author/year and non-alph)
-% %: (def) Alphabetical
-% seq-no,%: Citation order
-% seq-yr,%: Year ordered
-% seq-yrr,%: Reverse year ordered
-%--------------------
-%ORDERING OF REFERENCES (if author-year citations)
- %: (def) Alphabetical
-% seq-lab,%: By label
-% seq-labc,%: By label and cite order
-% seq-key,%: By label and cite key
-% seq-yr,%: Year ordered
-% seq-yrr,%: Reverse year ordered
-% seq-no,%: Citation order
-%--------------------
-%ORDER ON VON PART (if not citation order)
- %: (def) Sort on von part
-% vonx,%: Sort without von part
-%--------------------
-%IGNORE FIRST NAMES (if author-year citations)
- %: (def) Respect first names
-% xintls,%: Sort on surname only
-%--------------------
-%AUTHOR NAMES:
-% ed-au,%: Full, surname last
-% nm-revf,%: Full, surname first
-% nm-init,ed-au,%: Initials + surname
- nm-rev,%: Surname + initials
-% nm-rv,%: Surname + dotless initials
-% nm-rvvc,%: Surname + comma + spaceless initials
-% nm-rvx,%: Surname + pure initials
-% nm-rvcx,%: Surname + comma + pure initials
-% nm-rvv,%: Surname + spaceless initials
-% nm-rev1,%: Only first name reversed, initials
-% nm-revv1,%: First name reversed, with full names
-%--------------------
-%EDITOR NAMES IN COLLECTIONS (if author names reversed)
- %: (def) Editor names NOT reversed
-% ed-rev,%: Editor names reversed
-%--------------------
-%POSITION OF JUNIOR (if author names reversed)
- jnrlst,%: Junior comes last
-% %: (def) Junior between
-%--------------------
-%JUNIOR PART IN THE CITATION (if author-year citations)
- %: (def) No `junior' part in the citations
-% jnrlab,%: `Junior' in citations
-%--------------------
-%PUNCTUATION BETWEEN AUTHOR NAMES:
- %: (def) Author names separated by commas
-% aunm-semi,%: Names separated by semi-colon
-% aunm-sl,%: Names separated by slash
-%--------------------
-%ADJACENT REFERENCES WITH REPEATED NAMES:
- %: (def) Author/editor names always present
-% nmdash,%: Repeated author/editor names replaced by dash
-% nmdash,nmd-2,%: Repeated author/editor names replaced by 2 dashes
-% nmdash,nmd-3,%: Repeated author/editor names replaced by 3 dashes
-%--------------------
-%NUMBER OF AUTHORS IN BIBLIOGRAPHY:
- %: (def) All authors
-% nmlm,%: Limited authors
-%--------------------
-%AUTHORS IN CITATIONS:
- %: (def) One author et al
-% mcite,%: Some other truncation scheme
-%--------------------
-%MAX AUTHORS BEFORE ET AL: (if regular cite not selected)
-% mct-1,%: One et al
-% mct-2,%: One, Two et al
-% mct-3,%: One, Two, Three et al
-% mct-4,%: One, Two, Three, Four et al
-% mct-5,%: One, Two, Three, Four, Five et al
-% mct-6,%: One, Two, Three, Four, Five, Six et al
-%--------------------
-%MAX AUTHORS WITHOUT ET AL: (if regular cite not selected)
-% mct-x2,%: Two authors without truncating
-% mct-x3,%: Three authors
-% mct-x4,%: Four authors
-% mct-x5,%: Five authors
-% mct-x6,%: Six authors
-%--------------------
-%TYPEFACE FOR AUTHORS IN LIST OF REFERENCES:
- %: (def) Normal font for author names
-% nmft,nmft-sc,%: Small caps authors
-% nmft,nmft-it,%: Italic authors
-% nmft,nmft-bf,%: Bold authors
-% nmft,nmft-def,%: User defined author font
-%--------------------
-%FONT FOR FIRST NAMES (if non-default font for authors)
-% %: (def) First names same font as surnames
-% fnm-rm,%: First names in normal font
-% fnm-def,%: First names in user defined font
-%--------------------
-%EDITOR NAMES IN INCOLLECTION ETC:
-% %: (def) Editors incollection normal font
-% nmfted,%: Editors incollection like authors
-%--------------------
-%FONT FOR `AND' IN LIST:
-% %: (def) `And' in author font
-% nmand-rm,%: `And' in normal font
-%--------------------
-%FONT OF CITATION LABELS IN TEXT (if author-year citations)
- %: (def) Cited authors plain
-% lab,lab-it,%: Cited authors italic
-% lab,lab-sc,%: Cited authors small caps
-% lab,lab-bf,%: Cited authors bold
-% lab,lab-def,%: User defined citation font
-%--------------------
-%FONT FOR `AND' IN CITATIONS (if non-default font for citation lables)
-% %: (def) Cited `and' in author font
-% and-rm,%: Cited `and' in normal font
-%--------------------
-%FONT OF EXTRA LABEL (The extra letter on the year)
- %: (def) Extra label plain
-% xlab-it,%: Extra label italic
-%--------------------
-%LABEL WHEN AUTHORS MISSING (if author-year citations)
- keyxyr,%: Year blank when KEY replaces missing author
-% %: (def) Year included when KEY replaces missing author
-%--------------------
-%MISSING DATE (if author-year citations)
-% %: (def) Missing date set to ????
- blkyear,%: Missing date left blank
-%--------------------
-%DATE POSITION:
-% %: (def) Date at end
- dt-beg,%: Date after authors
-% dt-jnl,%: Date part of journal spec.
-% dt-end,%: Date at very end
-%--------------------
-%DATE FORMAT (if non author-year citations)
-% %: (def) Plain month and year
-% yr-par,%: Date in parentheses
-% yr-brk,%: Date in brackets
-% yr-col,%: Date preceded by colon
-% yr-per,%: Date preceded by period
-% yr-com,%: Date preceded by comma
-% yr-blk,%: Date preceded by space
-%--------------------
-%SUPPRESS MONTH:
-% %: (def) Date is month and year
-% xmth,%: Date is year only
-%--------------------
-%REVERSED DATE (if including month)
-% %: (def) Date as month year
-% dtrev,%: Date as year month
-%--------------------
-%DATE FORMAT (if author-year citations)
-% %: (def) Year plain
- yr-par,%: Year in parentheses
-% yr-brk,%: Year in brackets
-% yr-col,%: Year preceded by colon
-% yr-per,%: Year preceded by period
-% yr-com,%: Date preceded by comma
-% yr-blk,%: Year preceded by space
-%--------------------
-%INCLUDE MONTHS:
- %: (def) Date is year only
-% aymth,%: Include month in date
-%--------------------
-%REVERSED DATE (if including month)
-% %: (def) Date as month year
-% dtrev,%: Date as year month
-%--------------------
-%DATE PUNCTUATION (if date not at end)
-% %: (def) Date with standard block punctuation
-% yrp-col,%: Colon after date
-% yrp-semi,%: Semi-colon after date
- yrp-per,%: Period after date
-% yrp-x,%: No punct. after date
-%--------------------
-%BLANK AFTER DATE:
- %: (def) Space after date
-% yrpp-xsp,%: No space after date
-%--------------------
-%DATE FONT:
- %: (def) Date in normal font
-% dtbf,%: Date in bold face
-%--------------------
-%TRUNCATE YEAR (if author-year citations)
- note-yr,%: Year text full
-% %: (def) Year truncated
-%--------------------
-%TITLE OF ARTICLE:
- %: (def) Title plain
-% tit-it,%: Title italic
-% tit-qq,qt-s,%: Title and punctuation in single quotes
-% tit-qq,%: Title and punctuation in double quotes
-% tit-qq,qt-g,%: Title and punctuation in guillemets
-% tit-qq,qt-s,qx,%: Title in single quotes
-% tit-qq,qx,%: Title in double quotes
-% tit-qq,qt-g,qx,%: Title in guillemets
-%--------------------
-%COLLECTION/PROCEEDINGS TITLES (if quoted title)
-% bt-qq,%: Quote collection and proceedings titles
-% %: (def) Collection and proceedings titles not in quotes
-%--------------------
-%CAPITALIZATION OF ARTICLE TITLE:
- %: (def) Sentence style
-% atit-u,%: Title style
-%--------------------
-%ARTICLE TITLE PRESENT:
- %: (def) Article title present
-% jtit-x,%: No article title
-%--------------------
-%JOURNAL NAMES:
- %: (def) Periods in journal names
-% jxper,%: Dotless journal names
-%--------------------
-%JOURNAL NAME FONT:
- %: (def) Journal name italics
-% jttl-rm,%: Journal name normal
-%--------------------
-%THESIS TITLE:
- %: (def) Thesis titles like books
-% thtit-a,%: Thesis title like article
-% thtit-x,%: No thesis title
-%--------------------
-%TECHNICAL REPORT TITLE:
-% %: (def) Tech. report title like articles
- trtit-b,%: Tech. report title like books
-%--------------------
-%TECHNICAL REPORT NUMBER:
- %: (def) Tech. report and number plain
-% trnum-it,%: Tech. report and number italic
-%--------------------
-%JOURNAL VOLUME:
- %: (def) Volume plain
-% vol-it,%: Volume italic
-% vol-bf,%: Volume bold
-% vol-2bf,%: Volume and number bold
-%--------------------
-%JOURNAL VOL AND NUMBER:
- %: (def) Journal vol(num)
-% vnum-sp,%: Journal vol (num)
-% vnum-cm,%: Journal vol, num
-% vnum-nr,%: Journal vol, no. num
-% vnum-h,%: Journal vol, \# number
-% vnum-b,%: Journal vol number
-% vnum-x,%: Journal vol, without number
-%--------------------
-%VOLUME PUNCTUATION:
- %: (def) Volume with colon
-% volp-sp,%: Volume with colon and space
-% volp-semi,%: Volume with semi-colon
-% volp-com,%: Volume with comma
-% volp-blk,%: Volume with blank
-%--------------------
-%YEAR IN JOURNAL SPECIFICATION:
- %: (def) Journal year like others
-% jdt-v,%: Journal vol(year)
-% jdt-vs,%: Journal vol (year)
-% jdt-p,%: Year with pages
-% jdt-pc,%: Year, comma, pages
-%--------------------
-%PAGE NUMBERS:
- %: (def) Start and stop page numbers
-% jpg-1,%: Only start page number
-%--------------------
-%LARGE PAGE NUMBERS:
- %: (def) No separators for large page numbers
-% pgsep-c,%: Comma inserted over 9999
-% pgsep-s,%: Thin space inserted over 9999
-% pgsep-p,%: Period inserted over 9999
-%--------------------
-%WORD `PAGE' IN ARTICLES:
- %: (def) Article pages numbers only
-% jwdpg,%: Include `page' in articles
-%--------------------
-%POSITION OF PAGES:
- %: (def) Pages given mid text
-% pp-last,%: Pages at end
-%--------------------
-%WORD `VOLUME' IN ARTICLES:
- %: (def) Article volume as number only
-% jwdvol,%: Include `volume' in articles
-%--------------------
-%NUMBER AND SERIES FOR COLLECTIONS:
- num-xser,%: Allows number without series
-% %: (def) Standard BibTeX
-%--------------------
-%POSITION OF NUMBER AND SERIES:
-% %: (def) After chapter and pages
- numser,%: Just before publisher
-%--------------------
-%VOLUME AND SERIES FOR BOOKS/COLLECTIONS:
- %: (def) Vol. 23 of Series
-% ser-vol,%: Series, vol. 23
-%--------------------
-%POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS:
-% %: (def) Series and volume after the editors
- ser-ed,%: Series and volume after booktitle
-%--------------------
-%JOURNAL NAME PUNCTUATION:
- %: (def) Comma after journal
-% jnm-x,%: Space after journal
-%--------------------
-%BOOK TITLE:
- %: (def) Book title italic
-% btit-rm,bt-rm,%: Book title plain
-%--------------------
-%PAGES IN BOOKS:
- %: (def) Pages in book plain
-% bkpg-par,%: Pages in book in parentheses
-% bkpg-x,%: Pages in book bare
-%--------------------
-%TOTAL PAGES OF A BOOK:
- %: (def) Total book pages not printed
-% pg-bk,%: For book: 345 pages
-% pg-bk,pg-pre,%: Total book pages before publisher
-%--------------------
-%PUBLISHER ADDRESS:
- %: (def) Publisher, address
-% add-pub,%: Address: Publisher
-%--------------------
-%PUBLISHER IN PARENTHESES:
- %: (def) Publisher as normal block
-% pub-par,%: Publisher in parentheses
-% pub-date,%: Publisher and date in parentheses
-% pub-date,pub-xc,%: Publisher and date in parentheses, no comma
-% pub-date,pub-xpar,%: Publisher and date without parentheses
-% pub-date,pub-xpar,pub-xc,%: Publisher and date, no parentheses, no comma
-%--------------------
-%PUBLISHER POSITION:
-% %: (def) Publisher after chapter, pages
-% pre-pub,%: Publisher before chapter, pages
- pre-edn,%: Publisher after edition
-%--------------------
-%ISBN NUMBER:
- isbn,%: Include ISBN
-% %: (def) No ISBN
-%--------------------
-%ISSN NUMBER:
-% issn,%: Include ISSN
- %: (def) No ISSN
-%--------------------
-%DOI NUMBER:
-% doi,%: Include DOI
- url-doi,%: Format DOI as URL //dx.doi.org/doi
-% agu-doi,doi,%: Insert DOI AGU style
-% %: (def) No DOI
-%--------------------
-%`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS):
- %: (def) Word `editor' after name
-% edpar,%: `Name (editor),'
-% edpar,bkedcap,%: `Name (Editor),'
-% edparc,%: `Name, (editor)'
-% edparc,bkedcap,%: `Name, (Editor)'
-% edparxc,%: `Name (editor)'
-% edparxc,bkedcap,%: `Name (Editor)'
-%--------------------
-%EDITOR IN COLLECTIONS:
- %: (def) Same as for edited book
-% edby,%: In booktitle, edited by ..
-% edby-par,%: In booktitle (edited by ..)
-% edby-parc,%: In booktitle, (edited by ..)
-% edby,edbyx,%: In booktitle, editor ..
-% edby,edbyw,%: In booktitle, (editor) ..
-% edby-par,edbyx,%: In booktitle (editor..)
-% edby-parc,edbyx,%: In booktitle, (editor..)
-% edby,edbyy,%: In booktitle, .., editor
-% edby-par,edbyy,%: In booktitle (.., editor)
-%--------------------
-%CAPITALIZE `EDITOR' OR `EDITED BY' (if editor capitalizable)
-% %: (def) `(editor,..)' or `(edited by..)'
-% edcap,%: `(Editor,..)' or `(Edited by..)'
-%--------------------
-%PUNCTUATION BETWEEN SECTIONS (BLOCKS):
- %: (def) \newblock after blocks
-% blk-com,%: Comma between blocks
-% blk-com,com-semi,%: Semi-colon between blocks
-% blk-com,com-blank,%: Blanks between blocks
-% blk-tit,%: Period after titles of articles, books, etc
-% blk-tit,tit-col,%: Colon after titles of articles, books, etc
-% blk-tita,%: Period after titles of articles
-% blk-tita,tit-col,%: Colon after titles of articles
-%--------------------
-%PUNCTUATION BEFORE NOTES (if not using \newblock)
-% %: (def) Notes have regular punctuation
-% blknt,%: Notes preceded by period
-%--------------------
-%PUNCTUATION AFTER AUTHORS:
- %: (def) Author block normal
-% au-col,%: Author block with colon
-%--------------------
-%PUNCTUATION AFTER `IN':
- %: (def) Space after `in'
-% in-col,%: Colon after `in'
-% in-it,%: Italic `in'
-% in-col,in-it,%: Italic `in' and colon
-% in-x,%: No word `in'
-%--------------------
-%`IN' WITH JOURNAL NAMES (if using 'in' with collections)
- %: (def) No `in' before journal name
-% injnl,%: Add `in' before journal name
-%--------------------
-%FINAL PUNCTUATION:
- %: (def) Period at very end
-% fin-bare,%: No period at end
-%--------------------
-%ABBREVIATE WORD `PAGES' (if not using external language file)
-% %: (def) `Page(s)'
-% pp,%: `Page' abbreviated
-% ppx,%: `Page' omitted
-%--------------------
-%ABBREVIATE WORD `EDITORS':
-% %: (def) `Editor(s)'
-% ed,%: `Editor' abbreviated
-%--------------------
-%OTHER ABBREVIATIONS:
-% %: (def) No abbreviations
-% abr,%: Abbreviations
-%--------------------
-%ABBREVIATION FOR `EDITION' (if abbreviating words)
-% %: (def) `Edition' abbreviated as `edn'
-% ednx,%: `Edition' abbreviated as `ed'
-%--------------------
-%MONTHS WITH DOTS:
-% %: (def) Months with dots
-% mth-bare,%: Months without dots
-%--------------------
-%EDITION NUMBERS:
-% xedn,%: Editions as in database
-% %: (def) Write out editions
-% ord,%: Numerical editions
-%--------------------
-%Reading external language file \cfile=cjs-rcs-english.mbs
- english,%: English language
-%ABBREVIATE WORD `PAGES'
- %: (def) `Page(s)'
-% pp,%: `Page' abbreviated
-% ppx,%: `Page' omitted
-%--------------------
-%ABBREVIATE WORD `EDITORS':
- %: (def) `Editor(s)'
-% ed,%: `Editor' abbreviated
-%--------------------
-%OTHER ABBREVIATIONS:
-% %: (def) No abbreviations
- abr,%: Abbreviations
-%--------------------
-%ABBREVIATION FOR `EDITION' (if abbreviating words)
-% %: (def) `Edition' abbreviated as `edn'
- ednx,%: `Edition' abbreviated as `ed'
-%--------------------
-%MONTHS WITH DOTS:
- %: (def) Months with dots
-% mth-bare,%: Months without dots
-%--------------------
-%EDITION NUMBERS:
-% xedn,%: Editions as in database
-% %: (def) Write out editions
- ord,%: Numerical editions
-%--------------------
-%STORED JOURNAL NAMES:
- %: (def) Full journal names
-% jabr,%: Abbreviated journal names
-% jabr,jaa,%: Abbreviated with astronomy shorthands
-%--------------------
-%AMPERSAND:
- %: (def) Use word `and'
-% amper,%: Use ampersand
-% varand,%: Use \BIBand
-%--------------------
-%COMMA BEFORE `AND':
- %: (def) Comma before `and'
-% and-xcom,%: No comma before `and'
-% and-com,%: Comma even with 2 authors
-%--------------------
-%COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS (if using comma before `and' with authors)
-% and-com-ed,%: Comma with 2 editors
-% %: (def) Two editors without comma
-%--------------------
-%NO `AND' IN REFERENCE LIST:
- %: (def) With `and'
-% xand,%: No `and'
-%--------------------
-%COMMA BEFORE `ET AL':
-% %: (def) Comma before `et al'
- etal-xc,%: No comma before `et al'
-%--------------------
-%FONT OF `ET AL':
- %: (def) Plain et al
-% etal-it,%: Italic et al
-% etal-rm,%: Roman et al
-%--------------------
-%ADDITIONAL REVTeX DATA FIELDS:
- %: (def) No additional fields
-% revdata,eprint,url,url-blk,%: Include REVTeX data fields
-%--------------------
-%E-PRINT DATA FIELD: (without REVTeX fields)
- %: (def) Do not include eprint field
-% eprint,%: Include eprint and archive fields
-%--------------------
-%URL ADDRESS: (without REVTeX fields)
-% %: (def) No URL
- url,url-blk,%: Include URL
-% url,url-nt,%: URL as note
-% url,url-nl,%: URL on new line
-%--------------------
-%REFERENCE COMPONENT TAGS:
- %: (def) No reference component tags
-% bibinfo,%: Reference component tags
-%--------------------
-%EMPHASIS: (affects all so-called italics)
- %: (def) Use emphasis
-% em-it,%: Use true italics
-% em-x,%: No italics
-% em-ul,%: Underlining
-%--------------------
-%COMPATIBILITY WITH PLAIN TEX:
- nfss,%: Use LaTeX commands
-% plntx,%: Use only Plain TeX
-%--------------------
-,{%
- }}
-\generate{\file{cjs-rcs-en.bst}{\MBopts}}
-\endbatchfile
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-fr.dbj b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-fr.dbj
deleted file mode 100644
index 3ae793cf2bf..00000000000
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-bst-fr.dbj
+++ /dev/null
@@ -1,603 +0,0 @@
-%% Driver file to produce cjs-rcs-fr.bst from cjs-rcs-merlin.mbs
-%% Originally generated with makebst, version 4.1 (2003/09/08),
-%% on 2023/10/11 at 12:01, then hand edited by Vincent Goulet.
-%%
-\input docstrip
-
-\preamble
-
-Copyright (C) 2023 Statistical Society of Canada | Société
-canadienne de statistique
-
-This file 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
-
-This work has the LPPL maintenance status `maintained'.
-
-The Current Maintainer of this work is Vincent Goulet
-<vincent.goulet@act.ulaval.ca>.
-
-This work consists of the master bibliographic style file
-cjs-rcs-merlin.mbs, the language definition file cjs-rcs-french.mbs,
-the driver file cjs-rcs-fr.dbj, and the derived file cjs-rcs-fr.bst.
-
-\endpreamble
-
-\postamble
-End of customized bst file
-\endpostamble
-
-\keepsilent
-
-\askforoverwritefalse
-\def\MBopts{\from{cjs-rcs-merlin.mbs}{%
-%EXTERNAL FILES:
-%Name of language file: \cfile=cjs-rcs-french.mbs.
-%No included files.
- head,\MBopta}
-\from{cjs-rcs-french.mbs}{\MBopta}
-\from{cjs-rcs-merlin.mbs}{tail,\MBopta}}
-\def\MBopta{%
-%INTERNAL LANGUAGE SUPPORT (if no external language file)
-% %: (def) English
-% babel,%: Babel
-%--------------------
- exlang,%: External language file
-%STYLE OF CITATIONS:
-% %: (def) Numerical
- ay,%: Author-year
-% alph,%: Alpha style, Jon90 or JWB90
-% alph,alf-1,%: Alpha style, Jon90
-% alph,alf-f,%: Alpha style, Jones90
-% cite,%: Cite key
-%--------------------
-%HTML OUTPUT (if non author-year citations)
-% %: (def) Normal LaTeX
-% html,%: Hypertext
-% html,htlist,%: Hypertext list
-% html,htdes,%: Hypertext with keys
-%--------------------
-%AUTHOR--YEAR SUPPORT SYSTEM (if author-year citations)
- nat,%: Natbib
-% %: (def) Older Natbib
-% alk,%: Apalike
-% har,%: Harvard
-% ast,%: Astronomy
-% cay,%: Chicago
-% nmd,%: Named
-% cn,%: Author-date
-%--------------------
-%HARVARD EXTENSIONS INCLUDED (if Harvard support selected)
-% harnm,%: With Harvard extensions
-% %: (def) Older Harvard
-%--------------------
-%LANGUAGE FIELD
-% %: (def) No language field
- lang,%: Add language field
-%--------------------
-%ANNOTATIONS:
- %: (def) No annotations
-% annote,%: Annotations
-%--------------------
-%PRESENTATIONS:
- %: (def) Do not add presentation type
-% pres,%: Add presentation, speaker not highlighted
-% pres,pres-bf,%: Presentation, speaker bold face
-% pres,pres-it,%: Presentaion, speaker italic
-% pres,pres-sc,%: Presentaion, speaker in small caps
-%--------------------
-%ORDERING OF REFERENCES (if non-author/year and non-alph)
-% %: (def) Alphabetical
-% seq-no,%: Citation order
-% seq-yr,%: Year ordered
-% seq-yrr,%: Reverse year ordered
-%--------------------
-%ORDERING OF REFERENCES (if author-year citations)
- %: (def) Alphabetical
-% seq-lab,%: By label
-% seq-labc,%: By label and cite order
-% seq-key,%: By label and cite key
-% seq-yr,%: Year ordered
-% seq-yrr,%: Reverse year ordered
-% seq-no,%: Citation order
-%--------------------
-%ORDER ON VON PART (if not citation order)
-% %: (def) Sort on von part
- vonx,%: Sort without von part
-%--------------------
-%IGNORE FIRST NAMES (if author-year citations)
- %: (def) Respect first names
-% xintls,%: Sort on surname only
-%--------------------
-%AUTHOR NAMES:
-% ed-au,%: Full, surname last
-% nm-revf,%: Full, surname first
-% nm-init,ed-au,%: Initials + surname
-% nm-rev,%: Surname + initials
-% nm-rv,%: Surname + dotless initials
-% nm-rvvc,%: Surname + comma + spaceless initials
-% nm-rvx,%: Surname + pure initials
-% nm-rvcx,%: Surname + comma + pure initials
-% nm-rvv,%: Surname + spaceless initials
- nm-rev1,%: Only first name reversed, initials
-% nm-revv1,%: First name reversed, with full names
-%--------------------
-%EDITOR NAMES IN COLLECTIONS (if author names reversed)
- %: (def) Editor names NOT reversed
-% ed-rev,%: Editor names reversed
-%--------------------
-%POSITION OF JUNIOR (if author names reversed)
- jnrlst,%: Junior comes last
-% %: (def) Junior between
-%--------------------
-%JUNIOR PART IN THE CITATION (if author-year citations)
- %: (def) No `junior' part in the citations
-% jnrlab,%: `Junior' in citations
-%--------------------
-%PUNCTUATION BETWEEN AUTHOR NAMES:
- %: (def) Author names separated by commas
-% aunm-semi,%: Names separated by semi-colon
-% aunm-sl,%: Names separated by slash
-%--------------------
-%ADJACENT REFERENCES WITH REPEATED NAMES:
- %: (def) Author/editor names always present
-% nmdash,%: Repeated author/editor names replaced by dash
-% nmdash,nmd-2,%: Repeated author/editor names replaced by 2 dashes
-% nmdash,nmd-3,%: Repeated author/editor names replaced by 3 dashes
-%--------------------
-%NUMBER OF AUTHORS IN BIBLIOGRAPHY:
- %: (def) All authors
-% nmlm,%: Limited authors
-%--------------------
-%AUTHORS IN CITATIONS:
- %: (def) One author et al
-% mcite,%: Some other truncation scheme
-%--------------------
-%MAX AUTHORS BEFORE ET AL: (if regular cite not selected)
-% mct-1,%: One et al
-% mct-2,%: One, Two et al
-% mct-3,%: One, Two, Three et al
-% mct-4,%: One, Two, Three, Four et al
-% mct-5,%: One, Two, Three, Four, Five et al
-% mct-6,%: One, Two, Three, Four, Five, Six et al
-%--------------------
-%MAX AUTHORS WITHOUT ET AL: (if regular cite not selected)
-% mct-x2,%: Two authors without truncating
-% mct-x3,%: Three authors
-% mct-x4,%: Four authors
-% mct-x5,%: Five authors
-% mct-x6,%: Six authors
-%--------------------
-%TYPEFACE FOR AUTHORS IN LIST OF REFERENCES:
- %: (def) Normal font for author names
-% nmft,nmft-sc,%: Small caps authors
-% nmft,nmft-it,%: Italic authors
-% nmft,nmft-bf,%: Bold authors
-% nmft,nmft-def,%: User defined author font
-%--------------------
-%FONT FOR FIRST NAMES (if non-default font for authors)
-% %: (def) First names same font as surnames
-% fnm-rm,%: First names in normal font
-% fnm-def,%: First names in user defined font
-%--------------------
-%EDITOR NAMES IN INCOLLECTION ETC:
-% %: (def) Editors incollection normal font
-% nmfted,%: Editors incollection like authors
-%--------------------
-%FONT FOR `AND' IN LIST:
-% %: (def) `And' in author font
-% nmand-rm,%: `And' in normal font
-%--------------------
-%FONT OF CITATION LABELS IN TEXT (if author-year citations)
- %: (def) Cited authors plain
-% lab,lab-it,%: Cited authors italic
-% lab,lab-sc,%: Cited authors small caps
-% lab,lab-bf,%: Cited authors bold
-% lab,lab-def,%: User defined citation font
-%--------------------
-%FONT FOR `AND' IN CITATIONS (if non-default font for citation lables)
-% %: (def) Cited `and' in author font
-% and-rm,%: Cited `and' in normal font
-%--------------------
-%FONT OF EXTRA LABEL (The extra letter on the year)
- %: (def) Extra label plain
-% xlab-it,%: Extra label italic
-%--------------------
-%LABEL WHEN AUTHORS MISSING (if author-year citations)
- keyxyr,%: Year blank when KEY replaces missing author
-% %: (def) Year included when KEY replaces missing author
-%--------------------
-%MISSING DATE (if author-year citations)
-% %: (def) Missing date set to ????
- blkyear,%: Missing date left blank
-%--------------------
-%DATE POSITION:
-% %: (def) Date at end
- dt-beg,%: Date after authors
-% dt-jnl,%: Date part of journal spec.
-% dt-end,%: Date at very end
-%--------------------
-%DATE FORMAT (if non author-year citations)
-% %: (def) Plain month and year
-% yr-par,%: Date in parentheses
-% yr-brk,%: Date in brackets
-% yr-col,%: Date preceded by colon
-% yr-per,%: Date preceded by period
-% yr-com,%: Date preceded by comma
-% yr-blk,%: Date preceded by space
-%--------------------
-%SUPPRESS MONTH:
-% %: (def) Date is month and year
-% xmth,%: Date is year only
-%--------------------
-%REVERSED DATE (if including month)
-% %: (def) Date as month year
-% dtrev,%: Date as year month
-%--------------------
-%DATE FORMAT (if author-year citations)
-% %: (def) Year plain
-% yr-par,%: Year in parentheses
-% yr-brk,%: Year in brackets
-% yr-col,%: Year preceded by colon
- yr-per,%: Year preceded by period
-% yr-com,%: Date preceded by comma
-% yr-blk,%: Year preceded by space
-%--------------------
-%INCLUDE MONTHS:
- %: (def) Date is year only
-% aymth,%: Include month in date
-%--------------------
-%REVERSED DATE (if including month)
-% %: (def) Date as month year
-% dtrev,%: Date as year month
-%--------------------
-%DATE PUNCTUATION (if date not at end)
- %: (def) Date with standard block punctuation
-% yrp-col,%: Colon after date
-% yrp-semi,%: Semi-colon after date
-% yrp-per,%: Period after date
-% yrp-x,%: No punct. after date
-%--------------------
-%BLANK AFTER DATE:
- %: (def) Space after date
-% yrpp-xsp,%: No space after date
-%--------------------
-%DATE FONT:
- %: (def) Date in normal font
-% dtbf,%: Date in bold face
-%--------------------
-%TRUNCATE YEAR (if author-year citations)
- note-yr,%: Year text full
-% %: (def) Year truncated
-%--------------------
-%TITLE OF ARTICLE:
-% %: (def) Title plain
-% tit-it,%: Title italic
-% tit-qq,qt-s,%: Title and punctuation in single quotes
-% tit-qq,%: Title and punctuation in double quotes
-% tit-qq,qt-g,%: Title and punctuation in guillemets
-% tit-qq,qt-s,qx,%: Title in single quotes
-% tit-qq,qx,%: Title in double quotes
- tit-qq,qt-g,qx,%: Title in guillemets
-%--------------------
-%COLLECTION/PROCEEDINGS TITLES (if quoted title)
-% bt-qq,%: Quote collection and proceedings titles
- %: (def) Collection and proceedings titles not in quotes
-%--------------------
-%CAPITALIZATION OF ARTICLE TITLE:
- %: (def) Sentence style
-% atit-u,%: Title style
-%--------------------
-%ARTICLE TITLE PRESENT:
- %: (def) Article title present
-% jtit-x,%: No article title
-%--------------------
-%JOURNAL NAMES:
- %: (def) Periods in journal names
-% jxper,%: Dotless journal names
-%--------------------
-%JOURNAL NAME FONT:
- %: (def) Journal name italics
-% jttl-rm,%: Journal name normal
-%--------------------
-%THESIS TITLE:
- %: (def) Thesis titles like books
-% thtit-a,%: Thesis title like article
-% thtit-x,%: No thesis title
-%--------------------
-%TECHNICAL REPORT TITLE:
-% %: (def) Tech. report title like articles
- trtit-b,%: Tech. report title like books
-%--------------------
-%TECHNICAL REPORT NUMBER:
- %: (def) Tech. report and number plain
-% trnum-it,%: Tech. report and number italic
-%--------------------
-%JOURNAL VOLUME:
- %: (def) Volume plain
-% vol-it,%: Volume italic
-% vol-bf,%: Volume bold
-% vol-2bf,%: Volume and number bold
-%--------------------
-%JOURNAL VOL AND NUMBER:
-% %: (def) Journal vol(num)
-% vnum-sp,%: Journal vol (num)
-% vnum-cm,%: Journal vol, num
- vnum-nr,%: Journal vol, no. num
-% vnum-h,%: Journal vol, \# number
-% vnum-b,%: Journal vol number
-% vnum-x,%: Journal vol, without number
-%--------------------
-%VOLUME PUNCTUATION:
-% %: (def) Volume with colon
-% volp-sp,%: Volume with colon and space
-% volp-semi,%: Volume with semi-colon
- volp-com,%: Volume with comma
-% volp-blk,%: Volume with blank
-%--------------------
-%YEAR IN JOURNAL SPECIFICATION:
- %: (def) Journal year like others
-% jdt-v,%: Journal vol(year)
-% jdt-vs,%: Journal vol (year)
-% jdt-p,%: Year with pages
-% jdt-pc,%: Year, comma, pages
-%--------------------
-%PAGE NUMBERS:
- %: (def) Start and stop page numbers
-% jpg-1,%: Only start page number
-%--------------------
-%LARGE PAGE NUMBERS:
-% %: (def) No separators for large page numbers
-% pgsep-c,%: Comma inserted over 9999
- pgsep-s,%: Thin space inserted over 9999
-% pgsep-p,%: Period inserted over 9999
-%--------------------
-%WORD `PAGE' IN ARTICLES:
-% %: (def) Article pages numbers only
- jwdpg,%: Include `page' in articles
-%--------------------
-%POSITION OF PAGES:
- %: (def) Pages given mid text
-% pp-last,%: Pages at end
-%--------------------
-%WORD `VOLUME' IN ARTICLES:
-% %: (def) Article volume as number only
- jwdvol,%: Include `volume' in articles
-%--------------------
-%NUMBER AND SERIES FOR COLLECTIONS:
- num-xser,%: Allows number without series
-% %: (def) Standard BibTeX
-%--------------------
-%POSITION OF NUMBER AND SERIES:
-% %: (def) After chapter and pages
- numser,%: Just before publisher
-%--------------------
-%VOLUME AND SERIES FOR BOOKS/COLLECTIONS:
-% %: (def) Vol. 23 of Series
- ser-vol,%: Series, vol. 23
-%--------------------
-%POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS:
-% %: (def) Series and volume after the editors
- ser-ed,%: Series and volume after booktitle
-%--------------------
-%JOURNAL NAME PUNCTUATION:
- %: (def) Comma after journal
-% jnm-x,%: Space after journal
-%--------------------
-%BOOK TITLE:
- %: (def) Book title italic
-% btit-rm,bt-rm,%: Book title plain
-%--------------------
-%PAGES IN BOOKS:
- %: (def) Pages in book plain
-% bkpg-par,%: Pages in book in parentheses
-% bkpg-x,%: Pages in book bare
-%--------------------
-%TOTAL PAGES OF A BOOK:
-% %: (def) Total book pages not printed
- pg-bk,%: For book: 345 pages
-% pg-bk,pg-pre,%: Total book pages before publisher
-%--------------------
-%PUBLISHER ADDRESS:
- %: (def) Publisher, address
-% add-pub,%: Address: Publisher
-%--------------------
-%PUBLISHER IN PARENTHESES:
- %: (def) Publisher as normal block
-% pub-par,%: Publisher in parentheses
-% pub-date,%: Publisher and date in parentheses
-% pub-date,pub-xc,%: Publisher and date in parentheses, no comma
-% pub-date,pub-xpar,%: Publisher and date without parentheses
-% pub-date,pub-xpar,pub-xc,%: Publisher and date, no parentheses, no comma
-%--------------------
-%PUBLISHER POSITION:
-% %: (def) Publisher after chapter, pages
- pre-pub,%: Publisher before chapter, pages
- pre-edn,%: Publisher after edition
-%--------------------
-%ISBN NUMBER:
- isbn,%: Include ISBN
-% %: (def) No ISBN
-%--------------------
-%ISSN NUMBER:
-% issn,%: Include ISSN
- %: (def) No ISSN
-%--------------------
-%DOI NUMBER:
-% doi,%: Include DOI
- url-doi,%: Format DOI as URL //doi.org/doi
-% agu-doi,doi,%: Insert DOI AGU style
-% %: (def) No DOI
-%--------------------
-%`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS):
-% %: (def) Word `editor' after name
-% edpar,%: `Name (editor),'
-% edpar,bkedcap,%: `Name (Editor),'
-% edparc,%: `Name, (editor)'
-% edparc,bkedcap,%: `Name, (Editor)'
- edparxc,%: `Name (editor)'
-% edparxc,bkedcap,%: `Name (Editor)'
-%--------------------
-%EDITOR IN COLLECTIONS:
-% %: (def) Same as for edited book
- edby,%: In booktitle, edited by ..
-% edby-par,%: In booktitle (edited by ..)
-% edby-parc,%: In booktitle, (edited by ..)
-% edby,edbyx,%: In booktitle, editor ..
-% edby,edbyw,%: In booktitle, (editor) ..
-% edby-par,edbyx,%: In booktitle (editor..)
-% edby-parc,edbyx,%: In booktitle, (editor..)
-% edby,edbyy,%: In booktitle, .., editor
-% edby-par,edbyy,%: In booktitle (.., editor)
-%--------------------
-%CAPITALIZE `EDITOR' OR `EDITED BY' (if editor capitalizable)
-% %: (def) `(editor,..)' or `(edited by..)'
-% edcap,%: `(Editor,..)' or `(Edited by..)'
-%--------------------
-%PUNCTUATION BETWEEN SECTIONS (BLOCKS):
-% %: (def) \newblock after blocks
- blk-com,%: Comma between blocks
-% blk-com,com-semi,%: Semi-colon between blocks
-% blk-com,com-blank,%: Blanks between blocks
-% blk-tit,%: Period after titles of articles, books, etc
-% blk-tit,tit-col,%: Colon after titles of articles, books, etc
-% blk-tita,%: Period after titles of articles
-% blk-tita,tit-col,%: Colon after titles of articles
-%--------------------
-%PUNCTUATION BEFORE NOTES (if not using \newblock)
-% %: (def) Notes have regular punctuation
- blknt,%: Notes preceded by period
-%--------------------
-%PUNCTUATION AFTER AUTHORS:
- %: (def) Author block normal
-% au-col,%: Author block with colon
-%--------------------
-%PUNCTUATION AFTER `IN':
- %: (def) Space after `in'
-% in-col,%: Colon after `in'
-% in-it,%: Italic `in'
-% in-col,in-it,%: Italic `in' and colon
-% in-x,%: No word `in'
-%--------------------
-%`IN' WITH JOURNAL NAMES (if using 'in' with collections)
- %: (def) No `in' before journal name
-% injnl,%: Add `in' before journal name
-%--------------------
-%FINAL PUNCTUATION:
- %: (def) Period at very end
-% fin-bare,%: No period at end
-%--------------------
-%ABBREVIATE WORD `PAGES' (if not using external language file)
-% %: (def) `Page(s)'
-% pp,%: `Page' abbreviated
-% ppx,%: `Page' omitted
-%--------------------
-%ABBREVIATE WORD `EDITORS':
-% %: (def) `Editor(s)'
-% ed,%: `Editor' abbreviated
-%--------------------
-%OTHER ABBREVIATIONS:
-% %: (def) No abbreviations
-% abr,%: Abbreviations
-%--------------------
-%ABBREVIATION FOR `EDITION' (if abbreviating words)
-% %: (def) `Edition' abbreviated as `edn'
-% ednx,%: `Edition' abbreviated as `ed'
-%--------------------
-%MONTHS WITH DOTS:
-% %: (def) Months with dots
-% mth-bare,%: Months without dots
-%--------------------
-%EDITION NUMBERS:
-% xedn,%: Editions as in database
-% %: (def) Write out editions
-% ord,%: Numerical editions
-%--------------------
-%Reading external language file \cfile=cjs-rcs-french.mbs
- french,%: French language
-%ABBREVIATE WORD `PAGES':
-% %: (def) `Page(s)'
- pp,%: `Page' abbreviated
-% ppx,%: `Page' omitted
-%--------------------
-%ABBREVIATE WORD `EDITEUR:
-% %: (def) `\'Editeur(s)'
- ed,%: `\'Editeur' abbreviated
-%--------------------
-%OTHER ABBREVIATIONS:
-% %: (def) No abbreviations
- abr,%: Abbreviations
-%--------------------
-%EDITION NUMBERS:
-% xedn,%: Editions as in database
-% %: (def) Write out editions
- ord,%: Numerical editions
-%--------------------
-%STORED JOURNAL NAMES:
- %: (def) Full journal names
-% jabr,%: Abbreviated journal names
-% jabr,jaa,%: Abbreviated with astronomy shorthands
-%--------------------
-%AMPERSAND:
- %: (def) Use word `and'
-% amper,%: Use ampersand
-% varand,%: Use \BIBand
-%--------------------
-%COMMA BEFORE `AND':
-% %: (def) Comma before `and'
- and-xcom,%: No comma before `and'
-% and-com,%: Comma even with 2 authors
-%--------------------
-%COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS (if using comma before `and' with authors)
-% and-com-ed,%: Comma with 2 editors
-% %: (def) Two editors without comma
-%--------------------
-%NO `AND' IN REFERENCE LIST:
- %: (def) With `and'
-% xand,%: No `and'
-%--------------------
-%COMMA BEFORE `ET AL':
-% %: (def) Comma before `et al'
- etal-xc,%: No comma before `et al'
-%--------------------
-%FONT OF `ET AL':
- %: (def) Plain et al
-% etal-it,%: Italic et al
-% etal-rm,%: Roman et al
-%--------------------
-%ADDITIONAL REVTeX DATA FIELDS:
- %: (def) No additional fields
-% revdata,eprint,url,url-blk,%: Include REVTeX data fields
-%--------------------
-%E-PRINT DATA FIELD: (without REVTeX fields)
- %: (def) Do not include eprint field
-% eprint,%: Include eprint and archive fields
-%--------------------
-%URL ADDRESS: (without REVTeX fields)
-% %: (def) No URL
- url,url-blk,%: Include URL
-% url,url-nt,%: URL as note
-% url,url-nl,%: URL on new line
-%--------------------
-%REFERENCE COMPONENT TAGS:
- %: (def) No reference component tags
-% bibinfo,%: Reference component tags
-%--------------------
-%EMPHASIS: (affects all so-called italics)
- %: (def) Use emphasis
-% em-it,%: Use true italics
-% em-x,%: No italics
-% em-ul,%: Underlining
-%--------------------
-%COMPATIBILITY WITH PLAIN TEX:
- nfss,%: Use LaTeX commands
-% plntx,%: Use only Plain TeX
-%--------------------
-,{%
- }}
-\generate{\file{cjs-rcs-fr.bst}{\MBopts}}
-\endbatchfile
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-class.dbj b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-class.dbj
deleted file mode 100644
index c987b1e6a7d..00000000000
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-class.dbj
+++ /dev/null
@@ -1,39 +0,0 @@
-\input docstrip.tex
-\keepsilent
-\askforoverwritefalse
-\nopostamble
-\preamble
-
-This is a generated file.
-
-Copyright (C) 2023 Statistical Society of Canada | Société
-canadienne de statistique
-
-This file 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 2006/05/20 or later.
-
-This work has the LPPL maintenance status `maintained'.
-
-The Current Maintainer of this work is Vincent Goulet
-<vincent.goulet@act.ulaval.ca>.
-
-This work consists of the file cjs-rcs-article.dtx and the derived
-files cjs-rcs-article.cls, cjs-rcs-article-fr.tex, cjs-template.tex
-and rcs-gabarit.tex.
-
-\endpreamble
-
-\generate{
- \file{cjs-rcs-article.cls}{\from{cjs-rcs-article.dtx}{class}}
- \file{cjs-rcs-article-fr.tex}{\nopreamble\from{cjs-rcs-article.dtx}{fr-doc}}
- \file{cjs-template.tex}{\nopreamble\from{cjs-rcs-article.dtx}{template,en}}
- \file{rcs-gabarit.tex}{\nopreamble\from{cjs-rcs-article.dtx}{template,fr}}
-}
-\endbatchfile
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-english.mbs b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-english.mbs
deleted file mode 100644
index e786d500bde..00000000000
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-english.mbs
+++ /dev/null
@@ -1,420 +0,0 @@
-% \iffalse meta-comment -*- mode: doctex -*-
-%
-% English language definition file of the master bibliography style
-% for The Canadian Journal of Statistics | La revue canadienne de
-% statistique
-%
-% Copyright (C) 2023 Statistical Society of Canada | Société
-% canadienne de statistique
-%
-% This file 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
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Vincent Goulet
-% <vincent.goulet@act.ulaval.ca>.
-%
-% This work derives from english.mbs, part of the custom-bib
-% collection, a contribution to the LaTeX2e system.
-% Copyright 1994-2002 Patrick W Daly
-% Max-Planck-Institut f\"ur Sonnensystemforschung
-% Max-Planck-Str. 2
-% D-37191 Katlenburg-Lindau
-% Germany
-% E-mail: daly@mps.mpg.de
-%
- %-------------------------------------------------------------------
- % Begin module:
-%\fi
- % \ProvidesFile{cjs-rcs-english.mbs}[2023/11/29 v1.0 (VG, PWD)]
-%\iffalse
-%<*a&!a>
-% The following ensures that the driver part is not seen by makebst
-% The driver part must not contain any \end other than \end{document} !
-\ifx\endoptions\undefined\let\tempx=\relax\else
- \long\def\tempx#1\end#2{}\fi\tempx
-%</a&!a>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}%
-\documentclass[nocjs,x11names,french,english]{cjs-rcs-article}
-
- %% Loading doc.sty creates some conflicts with the class and memoir. We
- %% need to:
- %%
- %% - keep a copy of the class' \maketitle command;
- %% - undefine the 'glossary' environment created by memoir;
- %% - restore the standard LaTeX commands for the glossary that
- %% doc.sty relies upon.
- \let\makeCJStitle\maketitle % keep class definition
- \let\theglossary\relax % avoid conflict with doc.sty
- \let\endtheglossary\relax % avoid conflict with doc.sty
- \makeatletter
- \def\makeglossary{%
- \newwrite\@glossaryfile
- \immediate\openout\@glossaryfile=\jobname.glo
- \def\glossary{\@bsphack\begingroup
- \@sanitize
- \@wrglossary}\typeout
- {Writing glossary file \jobname.glo }%
- \let\makeglossary\@empty
- }
- \@onlypreamble\makeglossary
- \def\@wrglossary#1{%
- \protected@write\@glossaryfile{}%
- {\string\glossaryentry{#1}{\thepage}}%
- \endgroup
- \@esphack}
- \def\glossary{\@bsphack\begingroup\@sanitize\@index}
- \@twosidefalse\@mparswitchfalse % turn off twoside option
- \makeatother
- \usepackage{doc}
- \def\changes#1#2#3{\glossary{#1>#3}} % simplified
- \DisableCrossrefs
- \CodelineNumbered
- \RecordChanges
- \OnlyDescription
- \DontCheckModules
-
- \AtEndPreamble{%
- \hypersetup{%
- pdfauthor = {Statistical Society of Canada},
- pdftitle = {French language definition file cjs-rcs-french.mbs}}}
-
- %% Configuration of the glossary
- \addto\extrasenglish{%
- \def\glossaryname{Version history}}
- \GlossaryPrologue{\section*{\glossaryname}%
- \addcontentsline{toc}{section}{\glossaryname}}
- \setlength{\GlossaryMin}{5cm}
-
- %% Additional semantic typesetting
- \newcommand*\class[1]{\textsf{#1}}
- \newcommand*\dtx{\textsf{docstrip}}
-
- %% Name of the journal
- \makeatletter
- \newcommand*\TheCJS{\@ifstar{\emph{The Journal}}{\emph{\CJS@journalname@en}}}
- \newcommand*\LaRevue{\@ifstar{\emph{La revue}}{\emph{\CJS@journalname@fr}}}
- \newcommand*\CJSclass{\class{cjs-rcs-article}}
- \newcommand*\CJSbsten{\texttt{cjs-rcs-en.bst}}
- \newcommand*\CJSbstfr{\texttt{cjs-rcs-fr.bst}}
- \makeatother
-
- %% Redefine \year using information from \filedate instead of using
- %% compilation time
- \def\parsedate#1/#2/#3\relax{\def\year{#1}}
-
- \MakeShortVerb{\|}
-
-\begin{document}
- \DocInput{cjs-rcs-english.mbs}
-\end{document}
-%</driver>
-% end of meta-comment \fi
-% \GetFileInfo{cjs-rcs-english.mbs}
-% \expandafter\parsedate\filedate\relax
-%
-% \changes{0.9}{2023-10-14}{Initial version based on version 4.2 of
-% \texttt{english.mbs} from \textbf{custom-bib}.}
-% \changes{0.93}{2023-11-06}{Add a prefix v in the version number like
-% the main file.}
-% \changes{1.0}{2023-11-29}{First official release distributed through
-% CTAN.}
-%
-% \title[English language definition file \filename]{%
-% English language definition file \\
-% of the master bibliographic style file \\
-% for \TheCJS}
-% \author{Statistical Society of Canada}
-% \affil{Developed by Vincent Goulet, Université Laval}
-%
-% \begin{englishabstract}
-% The list of references in {\TheCJS} is typeset using the
-% bibliographic styles {\CJSbsten} for articles in English and
-% {\CJSbstfr} for articles in French. These styles are created using
-% the program \texttt{makebst} from the master bibliographic file
-% \texttt{cjs-rcs-merlin.mbs}, and the language definition files
-% \texttt{cjs-rcs-english.mbs} and \texttt{cjs-rcs-french.mbs}.
-% \end{englishabstract}
-% \begin{frenchabstract}
-% La liste des références dans {\LaRevue} est composée avec les
-% style de bibliographie {\CJSbstfr} pour les articles en français
-% et {\CJSbsten} pour les articles en anglais. Ceux-ci sont générés
-% par le programme \texttt{makebst} à partir du fichier maitre
-% \texttt{cjs-rcs-merlin.mbs} et des fichiers de localisation
-% \texttt{cjs-rcs-english.mbs} et \texttt{cjs-rcs-french.mbs}.
-% \end{frenchabstract}
-%
-% ^^A abusing the 'classification' environment. The final period is
-% ^^A added by the environment.
-% \begin{classification}[Version]
-% \item[] This is the documentation for the file \code{\filename}
-% {\fileversion}, dated {\filedate}
-% \end{classification}
-%
-% \licence{{\year}, Statistical Society of Canada~{\textbar}~Société
-% canadienne de statistique}
-%
-% \makeCJStitle
-%
-% \section{Introduction}
-%
-% This file is to be used as a language definition file with the
-% master bibliographic file for {\TheCJS}. The language it defines is
-% English.
-%
-% This is not a self-sufficient \texttt{.mbs} file, but rather may
-% be used together with one that contains language support via
-% external definition files.
-%
-% See the documentation for \texttt{makebst} for formatting details.
-%
-% \section{The Menu Information}
-%
-% All the menu information is nested between \dtx{} guard options
-% |%<*options>| \dots\ |%</options>|, and the last command is
-% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>|
-% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to
-% extract only the menu information or the documentation driver.
-%
-% \begin{macrocode}
-%<*options>
-\mes{^^JOptions for ENGLISH}
-\wr{\spsp\spsp english,\pc: English language}
-
-\beginoptiongroup{ABBREVIATE WORD `PAGES'}{}
-\optdef{*}{}{`Page(s)'}{(no abbreviation)}
-\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.}
-\optdef{x}{ppx}{`Page' omitted}{}
-\getans
-\endoptiongroup
-\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{}
-\optdef{*}{}{`Editor(s)'}{(no abbreviation)}
-\optdef{a}{ed}{`Editor' abbreviated}{as ed. or eds.}
-\getans
-\endoptiongroup
-\beginoptiongroup{OTHER ABBREVIATIONS:}{}
-\optdef{*}{}{No abbreviations}{of volume, edition, chapter, etc}
-\optdef{a}{abr}{Abbreviations}{of such words}
-\getans
-\endoptiongroup
-\beginoptiongroup{ABBREVIATION FOR `EDITION'
- (if abbreviating words)}
- {\if\ans a*\fi}%
-\optdef{*}{}{`Edition' abbreviated as `edn'}{}
-\optdef{a}{ednx}{`Edition' abbreviated as `ed'}{}
-\getans
-\beginoptiongroup{MONTHS WITH DOTS:}{}
-\optdef{*}{}{Months with dots}{as Jan.}
-\optdef{x}{mth-bare}{Months without dots}{as Feb Mar}
-\getans
-\endoptiongroup
-\endoptiongroup
-\beginoptiongroup{EDITION NUMBERS:}{}
-\optdef{*}{xedn}{Editions as in database}{saving much processing memory}
-\optdef{w}{}{Write out editions}{as first, second, third, etc}
-\optdef{n}{ord}{Numerical editions}{as 1st, 2nd, 3rd, etc}
-\getans
-\endoptiongroup
-\endoptions
-%</options>
-% \end{macrocode}
-%
-% \StopEventually{\PrintChanges}
-%
-% \section{The Coding}
-% \begin{macrocode}
-%<*!options&!driver>
-
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-{ "and"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-%<!ed>{ "editors" }
-%<ed>{ "eds." }
-
-FUNCTION {bbl.editor}
-%<!ed>{ "editor" }
-%<ed>{ "ed." }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-%<!abr>{ "edition" }
-%<abr&!ednx>{ "edn." }
-%<abr&ednx>{ "ed." }
-
-FUNCTION {bbl.volume}
-%<!abr>{ "volume" }
-%<abr>{ "vol." }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-%<!abr>{ "number" }
-%<abr>{ "no." }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-%<!pp&!ppx>{ "pages" }
-%<pp>{ "pp." }
-%<!pp&ppx>{ "" }
-
-FUNCTION {bbl.page}
-%<!pp&!ppx>{ "page" }
-%<pp>{ "p." }
-%<!pp&ppx>{ "" }
-
-%<*revdata>
-FUNCTION {bbl.eidpp}
-{ "pages" }
-
-%</revdata>
-FUNCTION {bbl.chapter}
-%<!abr>{ "chapter" }
-%<abr>{ "chap." }
-
-FUNCTION {bbl.techrep}
-%<!abr>{ "Technical Report" }
-%<abr>{ "Tech. Rep." }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-%<*!xedn>
-FUNCTION {bbl.first}
-%<!ord>{ "First" }
-%<ord>{ "1st" }
-
-FUNCTION {bbl.second}
-%<!ord>{ "Second" }
-%<ord>{ "2nd" }
-
-FUNCTION {bbl.third}
-%<!ord>{ "Third" }
-%<ord>{ "3rd" }
-
-FUNCTION {bbl.fourth}
-%<!ord>{ "Fourth" }
-%<ord>{ "4th" }
-
-FUNCTION {bbl.fifth}
-%<!ord>{ "Fifth" }
-%<ord>{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-% \end{macrocode}
-% This function adds English endings for ordinals 1, 2, 3. However, if
-% the second last digit is 1, then the ending is `th' for all last digits.
-% So far, all other languages included do not have this problem, and it is
-% sufficient to add the \textsl{th} equivalent. This might change with further
-% languages.
-%
-% \begin{macrocode}
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%</!xedn>
-%<*!abr>
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-MACRO {dec} {"December"}
-
-%</!abr>
-%<*abr>
-MACRO {jan} {"Jan."}
-
-MACRO {feb} {"Feb."}
-
-MACRO {mar} {"Mar."}
-
-MACRO {apr} {"Apr."}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"Jun."}
-
-MACRO {jul} {"Jul."}
-
-MACRO {aug} {"Aug."}
-
-MACRO {sep} {"Sep."}
-
-MACRO {oct} {"Oct."}
-
-MACRO {nov} {"Nov."}
-
-MACRO {dec} {"Dec."}
-
-%</abr>
-%</!options&!driver>
- % End module: cjs-rcs-english.mbs
-% \end{macrocode}
-% \Finale
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-french.mbs b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-french.mbs
deleted file mode 100644
index eb60ab8a202..00000000000
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-french.mbs
+++ /dev/null
@@ -1,370 +0,0 @@
-% \iffalse meta-comment -*- mode: doctex -*-
-%
-% French language definition file of the master bibliography style for
-% The Canadian Journal of Statistics | La revue canadienne de
-% statistique
-%
-% Copyright (C) 2023 Statistical Society of Canada | Société
-% canadienne de statistique
-%
-% This file 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
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Vincent Goulet
-% <vincent.goulet@act.ulaval.ca>.
-%
-% This work derives from french.mbs, part of the custom-bib
-% collection, a contribution to the LaTeX2e system.
-% Copyright 1994-2002 Patrick W Daly
-% Max-Planck-Institut f\"ur Sonnensystemforschung
-% Max-Planck-Str. 2
-% D-37191 Katlenburg-Lindau
-% Germany
-% E-mail: daly@mps.mpg.de
-%
- %-------------------------------------------------------------------
- % Begin module:
-%\fi
- % \ProvidesFile{cjs-rcs-french.mbs}[2023/11/29 v1.0 (VG, PWD)]
-%\iffalse
-%<*a&!a>
-% The following ensures that the driver part is not seen by makebst
-% The driver part must not contain any \end other than \end{document} !
-\ifx\endoptions\undefined\let\tempx=\relax\else
- \long\def\tempx#1\end#2{}\fi\tempx
-%</a&!a>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}%
-\documentclass[nocjs,x11names,french,english]{cjs-rcs-article}
-
- %% Loading doc.sty creates some conflicts with the class and memoir. We
- %% need to:
- %%
- %% - keep a copy of the class' \maketitle command;
- %% - undefine the 'glossary' environment created by memoir;
- %% - restore the standard LaTeX commands for the glossary that
- %% doc.sty relies upon.
- \let\makeCJStitle\maketitle % keep class definition
- \let\theglossary\relax % avoid conflict with doc.sty
- \let\endtheglossary\relax % avoid conflict with doc.sty
- \makeatletter
- \def\makeglossary{%
- \newwrite\@glossaryfile
- \immediate\openout\@glossaryfile=\jobname.glo
- \def\glossary{\@bsphack\begingroup
- \@sanitize
- \@wrglossary}\typeout
- {Writing glossary file \jobname.glo }%
- \let\makeglossary\@empty
- }
- \@onlypreamble\makeglossary
- \def\@wrglossary#1{%
- \protected@write\@glossaryfile{}%
- {\string\glossaryentry{#1}{\thepage}}%
- \endgroup
- \@esphack}
- \def\glossary{\@bsphack\begingroup\@sanitize\@index}
- \@twosidefalse\@mparswitchfalse % turn off twoside option
- \makeatother
- \usepackage{doc}
- \def\changes#1#2#3{\glossary{#1>#3}} % simplified
- \DisableCrossrefs
- \CodelineNumbered
- \RecordChanges
- \OnlyDescription
- \DontCheckModules
-
- \AtEndPreamble{%
- \hypersetup{%
- pdfauthor = {Statistical Society of Canada},
- pdftitle = {French language definition file cjs-rcs-french.mbs}}}
-
- %% Configuration of the glossary
- \addto\extrasenglish{%
- \def\glossaryname{Version history}}
- \GlossaryPrologue{\section*{\glossaryname}%
- \addcontentsline{toc}{section}{\glossaryname}}
- \setlength{\GlossaryMin}{5cm}
-
- %% Additional semantic typesetting
- \newcommand*\class[1]{\textsf{#1}}
- \newcommand*\dtx{\textsf{docstrip}}
-
- %% Name of the journal
- \makeatletter
- \newcommand*\TheCJS{\@ifstar{\emph{The Journal}}{\emph{\CJS@journalname@en}}}
- \newcommand*\LaRevue{\@ifstar{\emph{La revue}}{\emph{\CJS@journalname@fr}}}
- \newcommand*\CJSclass{\class{cjs-rcs-article}}
- \newcommand*\CJSbsten{\texttt{cjs-rcs-en.bst}}
- \newcommand*\CJSbstfr{\texttt{cjs-rcs-fr.bst}}
- \makeatother
-
- %% Redefine \year using information from \filedate instead of using
- %% compilation time
- \def\parsedate#1/#2/#3\relax{\def\year{#1}}
-
- \MakeShortVerb{\|}
-
-\begin{document}
- \DocInput{cjs-rcs-french.mbs}
-\end{document}
-%</driver>
-% end of meta-comment \fi
-% \GetFileInfo{cjs-rcs-french.mbs}
-% \expandafter\parsedate\filedate\relax
-%
-% \changes{0.9}{2023-10-14}{Initial version based on version 4.2 of
-% \texttt{french.mbs} from \textbf{custom-bib}.}
-% \changes{0.93}{2023-11-06}{Add a prefix v in the version number like
-% the main file.}
-% \changes{1.0}{2023-11-29}{First official release distributed through
-% CTAN.}
-%
-% \title[French language definition file \filename]{%
-% French language definition file \\
-% of the master bibliographic style file \\
-% for \TheCJS}
-% \author{Statistical Society of Canada}
-% \affil{Developed by Vincent Goulet, Université Laval}
-%
-% \begin{englishabstract}
-% The list of references in {\TheCJS} is typeset using the
-% bibliographic styles {\CJSbsten} for articles in English and
-% {\CJSbstfr} for articles in French. These styles are created using
-% the program \texttt{makebst} from the master bibliographic file
-% \texttt{cjs-rcs-merlin.mbs}, and the language definition files
-% \texttt{cjs-rcs-english.mbs} and \texttt{cjs-rcs-french.mbs}.
-% \end{englishabstract}
-% \begin{frenchabstract}
-% La liste des références dans {\LaRevue} est composée avec les
-% style de bibliographie {\CJSbstfr} pour les articles en français
-% et {\CJSbsten} pour les articles en anglais. Ceux-ci sont générés
-% par le programme \texttt{makebst} à partir du fichier maitre
-% \texttt{cjs-rcs-merlin.mbs} et des fichiers de localisation
-% \texttt{cjs-rcs-english.mbs} et \texttt{cjs-rcs-french.mbs}.
-% \end{frenchabstract}
-%
-% ^^A abusing the 'classification' environment. The final period is
-% ^^A added by the environment.
-% \begin{classification}[Version]
-% \item[] This is the documentation for the file \code{\filename}
-% {\fileversion}, dated {\filedate}
-% \end{classification}
-%
-% \licence{{\year}, Statistical Society of Canada~{\textbar}~Société
-% canadienne de statistique}
-%
-% \makeCJStitle
-%
-% \section{Introduction}
-%
-% This file is to be used as a language definition file with the
-% master bibliographic file for {\TheCJS}. The language it defines is
-% French.
-%
-% This is not a self-sufficient \texttt{.mbs} file, but rather may
-% be used together with one that contains language support via
-% external definition files.
-%
-% See the documentation for \texttt{makebst} for formatting details.
-%
-% \section{The Menu Information}
-%
-% All the menu information is nested between \dtx{} guard options
-% |%<*options>| \dots\ |%</options>|, and the last command is
-% |\endoptions|. The rest of the file is nested between |%<*!options&!driver>|
-% \dots\ |%</!options&!driver>| in order to exclude it if \dtx{} is used to
-% extract only the menu information or the documentation driver.
-%
-% \begin{macrocode}
-%<*options>
-\mes{^^JOptions for FRENCH}
-\wr{\spsp\spsp french,\pc: French language}
-
-\beginoptiongroup{ABBREVIATE WORD `PAGES':}{}
-\optdef{*}{}{`Page(s)'}{(no abbreviation)}
-\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.}
-\optdef{x}{ppx}{`Page' omitted}{}
-\getans
-\endoptiongroup
-\beginoptiongroup{ABBREVIATE WORD `EDITEUR:}{}
-\optdef{*}{}{`\string\'Editeur(s)'}{(no abbreviation)}
-\optdef{a}{ed}{`\string\'Editeur' abbreviated}{as \string\'Ed.}
-\getans
-\endoptiongroup
-\beginoptiongroup{OTHER ABBREVIATIONS:}{}
-\optdef{*}{}{No abbreviations}{of Tome, \string\'edition, chapitre}
-\optdef{a}{abr}{Abbreviations}{of such words}
-\getans
-\endoptiongroup
-\beginoptiongroup{EDITION NUMBERS:}{}
-\optdef{*}{xedn}{Editions as in database}{saving much processing memory}
-\optdef{w}{}{Write out editions}{as premi\string\`ere, deuxi\string\`eme,...}
-\optdef{n}{ord}{Numerical editions}{as 1re, 2e, 3e, etc}
-\getans
-\endoptiongroup
-\endoptions
-%</options>
-% \end{macrocode}
-%
-% \StopEventually{\PrintChanges}
-%
-% \section{The Coding}
-% \begin{macrocode}
-%<*!options&!driver>
-
- % The language selected here is FRENCH
-FUNCTION {bbl.and}
-{ "et"}
-
-FUNCTION {bbl.etal}
-{ "et~collab." }
-
-FUNCTION {bbl.editors}
-%<!ed>{ "directeurs" }
-%<ed>{ "dir." }
-
-FUNCTION {bbl.editor}
-%<!ed>{ "directeur" }
-%<ed>{ "dir." }
-
-FUNCTION {bbl.edby}
-{ "sous la direction de" }
-
-FUNCTION {bbl.edition}
-%<!abr>{ "\'edition" }
-%<abr>{ "\'ed." }
-
-FUNCTION {bbl.volume}
-%<!abr>{ "volume" }
-%<abr>{ "vol." }
-
-FUNCTION {bbl.of}
-{ "de" }
-
-FUNCTION {bbl.number}
-%<!abr>{ "num\'ero" }
-%<abr>{ "{\no}" }
-
-FUNCTION {bbl.nr}
-{ "{\no}" }
-
-FUNCTION {bbl.in}
-{ "dans" }
-
-FUNCTION {bbl.pages}
-%<!pp&!ppx>{ "pages" }
-%<pp>{ "p." }
-%<!pp&ppx>{ "" }
-
-FUNCTION {bbl.page}
-%<!pp&!ppx>{ "page" }
-%<pp>{ "p." }
-%<!pp&ppx>{ "" }
-
-%<*revdata>
-FUNCTION {bbl.eidpp}
-{ "pages" }
-
-%</revdata>
-FUNCTION {bbl.chapter}
-%<!abr>{ "chapitre" }
-%<abr>{ "chap." }
-
-FUNCTION {bbl.techrep}
-%<!abr>{ "rapport technique" }
-%<abr>{ "rapport technique" }
-
-FUNCTION {bbl.mthesis}
-{ "m\'emoire de ma\^itrise" }
-
-FUNCTION {bbl.phdthesis}
-{ "th\`ese de doctorat" }
-
-%<*!xedn>
-FUNCTION {bbl.first}
-%<!ord>{ "Premi\`ere" }
-%<ord>{ "1{\iere}" }
-
-FUNCTION {bbl.second}
-%<!ord>{ "Deuxi\`eme" }
-%<ord>{ "2{\ieme}" }
-
-FUNCTION {bbl.third}
-%<!ord>{ "Troisi\`eme" }
-%<ord>{ "3{\ieme}" }
-
-FUNCTION {bbl.fourth}
-%<!ord>{ "Quatri\`eme" }
-%<ord>{ "4{\ieme}" }
-
-FUNCTION {bbl.fifth}
-%<!ord>{ "Cinqui\`eme" }
-%<ord>{ "5{\ieme}" }
-
-FUNCTION {bbl.th}
-{ "{\ieme}" }
-
-%</!xedn>
-%<*!abr>
-MACRO {jan} {"janvier"}
-
-MACRO {feb} {"f\'evrier"}
-
-MACRO {mar} {"mars"}
-
-MACRO {apr} {"avril"}
-
-MACRO {may} {"mai"}
-
-MACRO {jun} {"juin"}
-
-MACRO {jul} {"juillet"}
-
-MACRO {aug} {"ao\^ut"}
-
-MACRO {sep} {"septembre"}
-
-MACRO {oct} {"octobre"}
-
-MACRO {nov} {"novembre"}
-
-MACRO {dec} {"d\'ecembre"}
-
-%</!abr>
-%<*abr>
-MACRO {jan} {"jan."}
-
-MACRO {feb} {"f\'ev."}
-
-MACRO {mar} {"mars"}
-
-MACRO {apr} {"avr."}
-
-MACRO {may} {"mai"}
-
-MACRO {jun} {"juin"}
-
-MACRO {jul} {"juil."}
-
-MACRO {aug} {"ao\^ut"}
-
-MACRO {sep} {"sept."}
-
-MACRO {oct} {"oct."}
-
-MACRO {nov} {"nov."}
-
-MACRO {dec} {"d\'ec."}
-
-%</abr>
-%</!options&!driver>
- % End module: cjs-rcs-french.mbs
-% \end{macrocode}
-% \Finale
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.mbs b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.mbs
deleted file mode 100644
index 10c84b1ff69..00000000000
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-rcs-merlin.mbs
+++ /dev/null
@@ -1,8009 +0,0 @@
-% \iffalse meta-comment -*- mode: doctex -*-
-%
-% Master bibliography style for The Canadian Journal of Statistics |
-% La revue canadienne de statistique
-%
-% Copyright (C) 2023 Statistical Society of Canada | Société
-% canadienne de statistique
-%
-% This file 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
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Vincent Goulet
-% <vincent.goulet@act.ulaval.ca>.
-%
-% This work derives from merlin.mbs, part of the custom-bib
-% collection, a contribution to the LaTeX2e system.
-% Copyright 1994-2011 Patrick W Daly
-% Max-Planck-Institut f\"ur Sonnensystemforschung
-% Max-Planck-Str. 2
-% D-37191 Katlenburg-Lindau
-% Germany
-% E-mail: daly@mps.mpg.de
-%
-%<*!tail>
-% (The following notice appears in bst files generated from this file)
- % -------------------------------------------------------------------
- % Name and version information of the main mbs file:
-%\fi
- % \ProvidesFile{cjs-rcs-merlin.mbs}[2023/11/29 v1.0 (VG, PWD, AO, DPC)]
-%\iffalse
-%</!tail>
-%<*a&!a>
-% The following ensures that the driver part is not seen by makebst
-% The driver part must not contain any \end other than \end{document} !
-\ifx\endoptions\undefined\let\tempx=\relax\else
- \long\def\tempx#1\end#2{}\fi\tempx
-%</a&!a>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}%
-\documentclass[nocjs,x11names,french,english]{cjs-rcs-article}
- \usepackage{metalogo}
- \setlrmarginsandblock{40mm}{30mm}{*} % increase left margin
- \checkandfixthelayout
-
- %% Loading doc.sty creates some conflicts with the class and memoir. We
- %% need to:
- %%
- %% - keep a copy of the class' \maketitle command;
- %% - undefine the 'glossary' environment created by memoir;
- %% - restore the standard LaTeX commands for the glossary that
- %% doc.sty relies upon.
- \let\makeCJStitle\maketitle % keep class definition
- \let\theglossary\relax % avoid conflict with doc.sty
- \let\endtheglossary\relax % avoid conflict with doc.sty
- \makeatletter
- \def\makeglossary{%
- \newwrite\@glossaryfile
- \immediate\openout\@glossaryfile=\jobname.glo
- \def\glossary{\@bsphack\begingroup
- \@sanitize
- \@wrglossary}\typeout
- {Writing glossary file \jobname.glo }%
- \let\makeglossary\@empty
- }
- \@onlypreamble\makeglossary
- \def\@wrglossary#1{%
- \protected@write\@glossaryfile{}%
- {\string\glossaryentry{#1}{\thepage}}%
- \endgroup
- \@esphack}
- \def\glossary{\@bsphack\begingroup\@sanitize\@index}
- \@twosidefalse\@mparswitchfalse % turn off twoside option
- \makeatother
- \usepackage{doc}
- \def\changes#1#2#3{\glossary{#1>#3}} % simplified
- \DisableCrossrefs
- \CodelineNumbered
- \RecordChanges
- \OnlyDescription
- \DontCheckModules
-
- \AtEndPreamble{%
- \hypersetup{%
- pdfauthor = {Statistical Society of Canada},
- pdftitle = {Master bibliographic style cjs-rcs-merlin.mbs}}}
-
- %% Configuration of the glossary
- \addto\extrasenglish{%
- \def\glossaryname{Version history}}
- \GlossaryPrologue{\section*{\glossaryname}%
- \addcontentsline{toc}{section}{\glossaryname}}
- \setlength{\GlossaryMin}{5cm}
-
- %% Additional semantic typesetting
- \newcommand*\class[1]{\textsf{#1}}
- \newcommand*\btx{\textsc{Bib}\TeX}
- \newcommand*\dtx{\textsf{docstrip}}
-
- %% Name of the journal
- \makeatletter
- \newcommand*\TheCJS{\@ifstar{\emph{The Journal}}{\emph{\CJS@journalname@en}}}
- \newcommand*\LaRevue{\@ifstar{\emph{La revue}}{\emph{\CJS@journalname@fr}}}
- \newcommand*\CJSclass{\class{cjs-rcs-article}}
- \newcommand*\CJSbsten{\texttt{cjs-rcs-en.bst}}
- \newcommand*\CJSbstfr{\texttt{cjs-rcs-fr.bst}}
- \makeatother
-
- %% Redefine \year using information from \filedate instead of using
- %% compilation time
- \def\parsedate#1/#2/#3\relax{\def\year{#1}}
-
- \MakeShortVerb{\|}
-
-\begin{document}
- \DocInput{cjs-rcs-merlin.mbs}
-\end{document}
-%</driver>
-% end of meta-comment \fi
-% \GetFileInfo{cjs-rcs-merlin.mbs}
-% \expandafter\parsedate\filedate\relax
-%
-% \changes{0.9}{2023-10-14}{Initial version based on version 4.33 of
-% \texttt{merlin.mbs}.}
-% \changes{0.92}{2023-10-27}{Relegate the \texttt{makebst} menu
-% information to the complete documentation.}
-% \changes{0.93}{2023-11-06}{Add a prefix v in the version number like
-% the main file.}
-% \changes{1.0}{2023-11-29}{First official release distributed through
-% CTAN.}
-%
-% \title[Master bibliographic style file \filename]{%
-% Master bibliographic style file \\
-% of \TheCJS}
-% \author{Statistical Society of Canada}
-% \affil{Developed by Vincent Goulet, Université Laval}
-%
-% \begin{englishabstract}
-% The list of references in {\TheCJS} is typeset using the
-% bibliographic styles {\CJSbsten} for articles in English and
-% {\CJSbstfr} for articles in French. These styles are created using
-% the program \texttt{makebst} from the master bibliographic file
-% \texttt{cjs-rcs-merlin.mbs}, and the language definition files
-% \texttt{cjs-rcs-english.mbs} and \texttt{cjs-rcs-french.mbs}.
-% \end{englishabstract}
-% \begin{frenchabstract}
-% La liste des références dans {\LaRevue} est composée avec les
-% style de bibliographie {\CJSbstfr} pour les articles en français
-% et {\CJSbsten} pour les articles en anglais. Ceux-ci sont générés
-% par le programme \texttt{makebst} à partir du fichier maitre
-% \texttt{cjs-rcs-merlin.mbs} et des fichiers de localisation
-% \texttt{cjs-rcs-english.mbs} et \texttt{cjs-rcs-french.mbs}.
-% \end{frenchabstract}
-%
-% ^^A abusing the 'classification' environment. The final period is
-% ^^A added by the environment.
-% \begin{classification}[Version]
-% \item[] This is the documentation for the file \code{\filename}
-% {\fileversion}, dated {\filedate}
-% \end{classification}
-%
-% \licence{{\year}, Statistical Society of Canada~{\textbar}~Société
-% canadienne de statistique}
-%
-% \makeCJStitle
-%
-% \section{Introduction}
-%
-% The class {\CJSclass} typesets manuscripts immediately in accordance
-% with the presentation rules of {\TheCJS}. The class uses its own
-% bibliographic styles: {\CJSbsten} for articles in English, and
-% {\CJSbstfr} for articles in French. The style {\CJSbsten} could best
-% be described as ``not unlike \code{apalike}'', whereas {\CJSbstfr}
-% is closely derived from the style \code{francais} provided by the
-% package %
-% \href{https://ctan.org/pkg/francais-bst}{\pkg{francais-bst}}.
-%
-% The styles were originally generated using the program
-% \code{makebst} by Patrick W.~Daly. The master bibliographic style
-% and the language definition files are heavily based on their
-% counterparts of the package %
-% \href{https://ctan.org/pkg/custom-bib}{\pkg{custom-bib}}, %
-% namely \code{merlin.mbs}, \code{english.mbs}, and \code{french.mbs}.
-%
-% \section{Generation of the bibliographic styles}
-% \label{sec:generation}
-%
-% The English style {\CJSbsten} is produced from this master
-% bibliographic style file and the language definition file
-% \code{cjs-rcs-english.mbs} by running the driver
-% \code{cjs-rcs-bst-en.dbj} through {\LaTeX}:
-% \begin{quote}
-% \code{latex cjs-rcs-bst-en.dbj}
-% \end{quote}
-% The French style {\CJSbstfr} is produced similarly using the driver
-% \code{cjs-rcs-bst-fr.dbj}:
-% \begin{quote}
-% \code{latex cjs-rcs-bst-fr.dbj}
-% \end{quote}
-%
-% \section{Changes compared to \texorpdfstring{\code{merlin.mbs}}{merlin.mbs}}
-% \label{sec:changes}
-%
-% The master bibliographic style \code{\filename} introduces the following
-% changes compared to \code{merlin.mbs}.
-%
-% \begin{enumerate}
-% \item The function \code{format.url} is reworked to provide a
-% cleaner URL for digital object identifiers (DOIs). The
-% \code{merlin.mbs} definition would generate a DOI of the form
-% \begin{quote}
-% URL \texttt{http://dx.doi.org/\meta{doi}}
-% \end{quote}
-% The revised definition instead generates the simpler string
-% \begin{quote}
-% doi: \meta{doi}
-% \end{quote}
-% When the package \pkg{hyperref} is loaded, \meta{doi} is a
-% hyperlink to the now recommended URL
-% \code{https://doi.org/\meta{doi}}. This behaviour relies on a
-% command \cmd{\urldoi} provided in the \texttt{.bbl} file. If
-% needed, this command may be redefined by the user.
-% \item The command \cmd{\urlprefix} is empty. Again, this may be
-% redefined by the user.
-% \item The quotes «~» are typeset by the macro \cmd{\frquote} of
-% \pkg{babel-french} (version $\geq$ 3.1), rather than by the custom
-% commands \cmd{\guillemotleft} and \cmd{\guillemotright}.
-% \item The \code{makebst} menu information is only included in the
-% complete documentation. The latter is obtained by commenting out
-% the command \cmd{\OnlyDescription} in \code{\filename} and
-% compiling the file with {pdf\LaTeX} or {\XeLaTeX}.
-% \end{enumerate}
-%
-% \StopEventually{\PrintChanges}
-%
-% \begin{quote}
-% \itshape From this point on, the documentation is taken without
-% modification from \code{merlin.mbs} by Patrick W.~Daly, but for
-% minute details such as filenames.
-% \end{quote}
-%
-% \section{The Menu Information}\label{sec:menu}
-%
-% Here I describe the options and menu information for this particular
-% master file \texttt{\filename}. To construct a \dtx{} driver file
-% to generate a desired \texttt{.bst} file, simply process \texttt{makebst.tex}
-% with \TeX\ or \LaTeX, and give
-% \begin{quote}\code{\filename}\end{quote}
-% when prompted for the name of the master file. Then answer the questions
-% in the menus that follow. The menu information is extracted from here.
-%
-% All the menu information is nested between \dtx{} guard options
-% |%<*options>| \dots\ |%</options>|, and the last command is
-% |\endoptions|. The rest of the file is nested between
-% \begin{quote}
-% |%<*!options&!driver&!bblbst>| \dots\ |</!options&!driver&!bblbst>|
-% \end{quote}
-% in order to exclude it if \dtx{} is used to
-% extract the menu information, the documentation driver, or the
-% \texttt{babelbst.tex} file.
-%
-% The main coding is divided into two sections, the \emph{head} and
-% \emph{tail}; in between come any external language or journal name
-% support files. The head part is marked with the \dtx{} guard option
-% |<!tail>| and the tail with |<!head>|. This roundabout means of
-% doing things makes it possible to process \texttt{\filename} with
-% \texttt{.dbj} files that were generated for the older
-% \texttt{genbst.mbs} file by simply changing the name of the source
-% file. If both \texttt{head} and \texttt{tail} (and \texttt{exlang})
-% options are omitted, as they are in the older \texttt{.dbj} files,
-% \texttt{\filename} is processed completely in one pass. To include
-% external files, two passes are needed, one for each part, with the
-% external file(s) coming in between.
-%
-% Note too that if the internal language commands are taken (i.e., if
-% \texttt{exlang} option is not given) then the default language is
-% English, which is tested for as |<!babel>|. This too permits the simple
-% update of older \texttt{.dbj}, at least for English.
-%
-% \subsection*{Selecting Language}
-% Explicit words in the bibliography style, such as \textsl{and},
-% \textsl{editor}, etc.,
-% are represented by functions \texttt{bbl.and}, \texttt{bbl.editor}, and so on.
-% By default these functions translate to the normal English text, but
-% other languages are also possible.
-%
-% The definitions of these functions for other languages are contained in
-% external files. At this point, we can make use of features in
-% \texttt{makebst} (version~3.0 or later) to ask for the name of such a
-% definition file, and store it in |\cfile|. If no external file is
-% specified, then the internal definitions are taken, for which there are
-% two possibilities: English or \LaTeX{} commands (Babel).
-%
-% The commands |\MBswitch|, |\mes|, |\MBaskfile|, |\wr|, |\pc|, |\spsp| are
-% defined in \texttt{makebst.tex}.
-%
-% If |\MBswitch| does not exist, then the version of \texttt{makebst}
-% cannot support external files.
-%
-% \begin{macrocode}
-%<*options>
-\expandafter\ifx\csname beginoptiongroup\endcsname\relax
- \mes{^^J******************^^J%
- !!!!!! VERSION CLASH !!!!!!!!!^^J%
- This mbs file requires makebst version 4.0 or more^^J%
- You must update makebst to run it with this mbs file^^J%
- No docstrip batch file can be produced on this run^^J%
- ******************}
- \let\temp\endinput\else\let\temp\relax\fi\temp
-
-\newif\ifnumerical
-\newif\ifmytemp
-\mes{<<< For more information about the meanings of^^J%
- <<< the various options, see the section on ^^J%
- <<< Menu Information in the .mbs file documentation.}
-
-\umes{EXTERNAL FILES:}
-\expandafter\ifx\csname MBswitch\endcsname\relax
- \mes{^^J**************^^J%
- Makebst version is less than 3.0^^J%
- Cannot add external file for language definition^^J%
- **************}
- \umes{No included files.}%
- \def\cfile{}\def\jfile{}%
-\else
- \MBaskfile{^^JName of language definition file}(\mroot.\mext)i\cfile
- \edef\ctemp{\mroot.\mext}
- \ifx\ctemp\cfile\def\cfile{}\fi
- \umes{Name of language file: \string\cfile=\cfile.}%
-% \end{macrocode}
-%
-% A second type of external file that can be added is one containing names
-% of journals that are to be prestored into the \texttt{.bst} file.
-% Several file names are allowed here, with the root names separated by
-% commas, and with the common extension added at the end. To assist later
-% parsing of the names, an additional comma is added before the extension.
-%
-% Note that in this case |\MBaskfile| treats the file(s) as output, i.e.,
-% it does not check if the file(s) actually exist.
-%
-% The macro |\Mgetnext| allows the root names to be extracted from the
-% list of file names.
-% \begin{macrocode}
- \def\jfile{}
- \ask{\yn}{^^JInclude file(s) for extra journal names? (NO)}
- \mytempfalse
- \if!\yn!\else\if\yn n\else\if\yn N\else\mytemptrue\fi\fi\fi
- \ifmytemp
- \MBaskfile{^^JFile to include}(physjour,geojour,photjour.mbs)o\jfile
- \edef\jfile{\froot,.\fext}
- \umes{Name of included files: \string\jfile=\jfile.}%
- \else
- \umes{No included files.}%
- \fi
-\fi%MBswitch
-\def\Mgetnext#1,#2.#3??{\def\froot{#1}\def\Mrest{#2}\def\fext{#3}}
-% \end{macrocode}
-%
-% If no external files are specified, then both |\cfile| and |\jfile| are
-% empty. In this case, do \emph{not} set the options \texttt{head} and
-% \texttt{tail}, which control the \dtx{} passes through
-% \texttt{filename}. Now only one pass is made.
-%
-% If there is an external definition file, or an external list of
-% journal names, then some extra text must be
-% written to fit in with that already written by \texttt{makebst}. This is
-% explained in that documentation. The |\MBswitch| command turns the curly
-% braces |{..}| into normal characters, and the parentheses |(..)| take on
-% their grouping functionality. This permits unbalanced braces to be
-% written to the output file.
-%
-% \begin{macrocode}
-\if!\cfile\jfile!\else
- \begingroup\MBswitch
- \wr(\spsp head,\string\MBopta})
- \if!\cfile!\else
- \wr(\string\from{\cfile}{\string\MBopta})
- \fi
- \if!\jfile!\else
- \let\jxfile\jfile
- \loop
-% \end{macrocode}
-%
-% Parse the list of journal name files, adding a new |\from| for each one.
-%
-% \begin{macrocode}
- \expandafter\Mgetnext\jxfile??
- \wr(\string\from{\froot.\fext}{\string\MBopta})
- \edef\jxfile(\Mrest.\fext)
- \if!\Mrest!\def\Mtst(1)\else\def\Mtst()\fi
- \if!\Mtst!
- \repeat
- \fi
- \wr(\string\from{\mroot.\mext}{tail,\string\MBopta}})
- \wr(\string\def\string\MBopta{\pc)
- \endgroup
-\fi
-% \end{macrocode}
-%
-% Ask whether there is a need for
-% explicit English words or \LaTeX{} commands whose definitions are
-% to be found in the file \texttt{babelbst.tex}.
-%
-% \begin{macrocode}
-\beginoptiongroup{INTERNAL LANGUAGE SUPPORT
- (if no external language file)}%
- {\if!\cfile!\relax*\fi}%
-\optdef{*}{}{English}{words used explicitly}
-\optdef{b}{babel}{Babel}
- {(words replaced by commands defined in babelbst.tex)}
-\getans
-\endoptiongroup
-\if!\cfile!\relax\else
-\wr{\spsp\spsp exlang,\pc: External language file}
-\fi
-% \end{macrocode}
-%
-% \subsection*{Author--year or numerical}
-% The first question is whether a numerical or author--year citation
-% style is to be used. If the latter, the supporting system is my
-% \code{natbib.sty}, which expects |\bibitem| to have an optional
-% argument containing the short form of the authors, plus year in
-% parentheses. E.g.,
-% \begin{quote}
-% |\bibitem[Daly et al.(1990)]{key}...|
-% \end{quote}
-% There is now a newer version of \texttt{natbib.sty} (v5.3) that
-% supports an optional full author list too, as
-% \begin{quote}
-% |\bibitem[Daly et al.(1990)Daly, Keppler, and Williams]{key}...|
-% \end{quote}
-% Other systems are also supported, such as the Harvard family of
-% bibliography styles (with \texttt{harvard.sty}), which have entries in the
-% form
-% \begin{quote}
-% |\harvarditem[Daly et al.]{Daly, Keppler,|\\
-% | and Williams}{1990}{key}...|
-% \end{quote}
-% or the astronomy family (with \texttt{astron.sty}) with entries like
-% \begin{quote}
-% |\bibitem[\protect\astroncite{Daly et al.}{1990}]{key}...|
-% \end{quote}
-% or the Chicago family (with \texttt{chicago.sty}) with entries like
-% \begin{quote}
-% |\bibitem[\protect\citeautheryear{Daly, Keppler, and|\\
-% | Williams}{Daly et al.}{1990}]{key}...|
-% \end{quote}
-% or the `named' variant of Chicago (with \texttt{named.sty}) with entries like
-% \begin{quote}
-% |\bibitem[\protect\citeauthoryear{Daly et al.}{1990}]{key}...|
-% \end{quote}
-% or the so-called ``author--date'' group (with \texttt{authordate1-4.sty})
-% with entries of the form
-% \begin{quote}
-% |\bibitem[\protect\citename{Daly et al.}1990]{key}...|
-% \end{quote}
-% Finally, there is the \texttt{apalike} format of Oren Patashnik, for use
-% with \texttt{apalike.sty} that has entries of the form
-% \begin{quote}
-% |\bibitem[Daly et al., 1990]{key}...|
-% \end{quote}
-%
-% In addition to numerical or author--year citation styles, there is also a
-% \texttt{cite} style available in which the label is the same as the cite
-% key. This is for listing entire contents of databases with the cite key
-% visible.
-%
-% A flag |\ifnumerical| is established because some of the following menu
-% features depend on which system is to be used.
-%
-% The \texttt{alph} option produces labels as in \texttt{alpha.bst}; options
-% \texttt{alf-1} and \texttt{alf-f} modify these. Standard is: first three
-% letters of the single author (Dal90 for Daly, 1990) and first letters of
-% first three authors (DK90 for Daly and Kopka, 1990). Alternatives are first
-% three letters of the first author, no matter how many authors there are, and
-% full name of first author.
-% \begin{macrocode}
-\beginoptiongroup{STYLE OF CITATIONS:}{}
-\optdef{*}{}{Numerical}{as in standard LaTeX}
-\optdef{a}{ay}{Author-year}{with some non-standard interface}
-\optdef{b}{alph}{Alpha style, Jon90 or JWB90}{for single or multiple authors}
-\optdef{o}{alph,alf-1}{Alpha style, Jon90}{even for multiple authors}
-\optdef{f}{alph,alf-f}{Alpha style, Jones90}{(full name of first author)}
-\optdef{c}{cite}{Cite key}{(special for listing contents of bib file)}
-\getans
-\endoptiongroup
-\if\ans a\numericalfalse\else\numericaltrue\fi
-\if\ans b\mytempfalse \else\mytemptrue \fi
-\beginoptiongroup{HTML OUTPUT
- (if non author-year citations)}
- {\ifnumerical*\fi}
-\optdef{*}{}{Normal LaTeX}{output}
-\optdef{h}{html}{Hypertext}{output, in HTML code, in paragraphs}
-\optdef{n}{html,htlist}{Hypertext list}{with sequence numbers}
-\optdef{k}{html,htdes}{Hypertext with keys}{for viewing databases}
-\getans
-\endoptiongroup
-\beginoptiongroup{AUTHOR--YEAR SUPPORT SYSTEM
- (if author-year citations)}
- {\ifnumerical\else*\fi}
-\optdef{*}{nat}{Natbib}{for use with natbib v5.3 or later}
-\optdef{o}{}{Older Natbib}{without full authors citations}
-\optdef{l}{alk}{Apalike}{for use with apalike.sty}
-\optdef{h}{har}{Harvard}{system with harvard.sty}
-\optdef{a}{ast}{Astronomy}{system with astron.sty}
-\optdef{c}{cay}{Chicago}{system with chicago.sty}
-\optdef{n}{nmd}{Named}{system with named.sty}
-\optdef{d}{cn}{Author-date}{system with authordate1-4.sty}
-\getans
-% \end{macrocode}
-% The \texttt{harvard} family has been extended for \LaTeXe, and the new
-% \texttt{.bst} files allow the word \textsl{and} and the brackets around years
-% to be variable with commands. These features may be added too.
-% The URL field used to be exclusively part of Harvard, but now exists
-% independently of it too.
-%
-% \begin{macrocode}
-\beginoptiongroup{HARVARD EXTENSIONS INCLUDED
- (if Harvard support selected)}
- {\if\ans h*\fi}%
-\optdef{*}{harnm}{With Harvard extensions}{for LaTeX2e version of harvard.sty}
-\optdef{n}{}{Older Harvard}{style, for LaTeX 2.09}
-\getans
-\endoptiongroup
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Language switching}
-% A \texttt{language} field can be present to specify the original language of
-% the reference; with \verb!\setlanguage!, the hyphenation patterns are set for
-% setting the title in that language.
-% \begin{macrocode}
-\beginoptiongroup{LANGUAGE FIELD}{}
-\optdef{*}{}{No language field}{}
-\optdef{l}{lang}{Add language field}{to switch hyphenation patterns temporarily}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Annotations}
-% Annotations to a reference are additional information not normally printed
-% out in the list of references. They are used for listing databases.
-% The coding here was offered by Soren Dayton.
-% \begin{macrocode}
-\beginoptiongroup{ANNOTATIONS:}{}
-\optdef{*}{}{No annotations}{will be recognized}
-\optdef{a}{annote}{Annotations}{in annote field or in .tex file of citekey name}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Presentations}
-% Presentations are talks at meetings, oral or poster, that are not otherwise
-% published. The author making the presentation is indicated with the \texttt{key}
-% entry, which is the speaker's number within the author list. The font used
-% to highlight the speaker is either bold or italics, depending on the secondary
-% option, otherwise not highlighted.
-% \begin{macrocode}
-\beginoptiongroup{PRESENTATIONS:}{}
-\optdef{*}{}{Do not add presentation type}{for conference talks}
-\optdef{p}{pres}{Add presentation, speaker not highlighted}{}
-\optdef{b}{pres,pres-bf}{Presentation, speaker bold face}{}
-\optdef{i}{pres,pres-it}{Presentaion, speaker italic}{}
-\optdef{c}{pres,pres-sc}{Presentaion, speaker in small caps}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Ordering of the listed references}
-% Choices here depend on citation style. The default in both cases is
-% alphabetical order of all authors. For numerical style, one may also
-% choose an unsorted order, which means the order is the same as the original
-% citations. This corresponds to \texttt{unsrt.bst}. Order of citation is
-% also offered for author--year for \texttt{natbib}-type styles that can
-% also be used for numerical listings.
-%
-% Another possibility is to order first by year, then authors. This too only
-% makes sense for numerical citations. However, it is offered for author--year
-% in the event that a \texttt{natbib}-type style is used for numerical
-% listings.
-%
-% For the alpha style, the ordering is by label only, so no option is
-% offered here (|\ifnumerical| is \meta{true} and |\ifmytemp| is \meta{false}).
-%
-% For author--year, the second choice is by label. (The label is the
-% optional |\bibitem| argument, and is what is printed in place of the
-% |\cite| command.) With this option, all the papers with the same first
-% author are ordered so that the one-author papers come first, followed by
-% the two-author papers, followed by the multiple-author papers. This is a
-% more sensible system for author--year citations, and is demanded by some
-% journals (like JGR).
-%
-% One problem that can arise here is when two or more references have the
-% same set of authors and year; normally they are then ordered by the
-% title, ignoring initial words like \textsl{the} and \textsl{a}, with the
-% letters a, b,
-% c, \dots, added to the year. This can mean that a set of references with
-% a natural sequence will be put into a different order. An alternative is
-% to order them by the citation keyword instead of by title. This of course
-% assumes that the keywords in this case reflect that natural sequence.
-% \begin{macrocode}
-\let\ans\relax
-\beginoptiongroup{ORDERING OF REFERENCES
- (if non-author/year and non-alph)}
- {\ifnumerical\ifmytemp*\fi\fi}%
-\optdef{*}{}{Alphabetical}{by all authors}
-\optdef{c}{seq-no}{Citation order}{(unsorted, like unsrt.bst)}
-\optdef{d}{seq-yr}{Year ordered}{and then by authors}
-\optdef{r}{seq-yrr}{Reverse year ordered}{and then by authors}
-\getans
-\endoptiongroup
-%
-\beginoptiongroup{ORDERING OF REFERENCES
- (if author-year citations)}
- {\ifnumerical\else*\fi}%
-\optdef{*}{}{Alphabetical}{by all authors}
-\optdef{l}{seq-lab}{By label}%
- {(Jones before Jones and James before Jones et al)}
-\optdef{m}{seq-labc}{By label and cite order}%
- {(like above but all Jones et al ordered as cited)}
-\optdef{k}{seq-key}{By label and cite key}{instead of label and title, as above}
-\optdef{d}{seq-yr}{Year ordered}{and then by authors (for publication lists)}
-\optdef{r}{seq-yrr}{Reverse year ordered}{and then by authors (most recent first)}
-\optdef{c}{seq-no}{Citation order}{(unsorted, only meaningful for numericals)}
-\getans
-\endoptiongroup
-% \end{macrocode}
-% The standard \btx\ styles consider the \emph{von} part of the name to be a
-% fixed part of the surname. European usage tends to alphabetize ignoring these
-% honorifics.
-% \begin{macrocode}
-\beginoptiongroup{ORDER ON VON PART
- (if not citation order)}
- {\if\ans c\else*\fi}%
-\optdef{*}{}{Sort on von part}{(de la Maire before Defoe)}
-\optdef{x}{vonx}{Sort without von part}{(de la Maire after Mahone)}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% Sorting normally treats authors with the same surname but different initials
-% or first name separately; but a strict ordering by cite label would lump all
-% Smiths together.
-% \begin{macrocode}
-\beginoptiongroup{IGNORE FIRST NAMES (if author-year citations)}
- {\ifnumerical\else*\fi}%
-\optdef{*}{}{Respect first names}{or initials, treat as different authors}
-\optdef{x}{xintls}{Sort on surname only}{and treat all Smiths as one}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Formatting author names}
-% The default is that the full names of the authors are listed, given names
-% first, unabbreviated. Of course, if only the initials have been given in
-% the \texttt{.bib} file, then that is all that can appear in the list. Other
-% possibilities are to use initials (even if full names in the \texttt{.bib}
-% file) either before or after the surnames. A specialty of the journals of
-% the American Geophysical Union is to have only the first name with
-% reversed initials.
-%
-% If the reference is part of a larger work with editors, then the editor
-% names appear later in the reference text, usually as ``edited by \dots''
-% or as ``\emph{names} (editors)''. In these cases, the editor names are
-% not usually reversed (surname first) even if the authors' names are.
-% An option is provided to format such editor names exactly as the authors'.
-% \begin{macrocode}
-\beginoptiongroup{AUTHOR NAMES:}{}
-\optdef{*}{ed-au}{Full, surname last}{(John Frederick Smith)}
-\optdef{f}{nm-revf}{Full, surname first}{(Smith, John Frederick)}
-\optdef{i}{nm-init,ed-au}{Initials + surname}{(J. F. Smith)}
-\optdef{r}{nm-rev}{Surname + initials}{(Smith, J. F.)}
-\optdef{s}{nm-rv}{Surname + dotless initials}{(Smith J F)}
-\optdef{w}{nm-rvvc}{Surname + comma + spaceless initials}{(Smith, J.F.)}
-\optdef{x}{nm-rvx}{Surname + pure initials}{(Smith JF)}
-\optdef{y}{nm-rvcx}{Surname + comma + pure initials}{(Smith, JF)}
-\optdef{z}{nm-rvv}{Surname + spaceless initials}{(Smith J.F.)}
-\optdef{a}{nm-rev1}{Only first name reversed, initials}%
- {(AGU style: Smith, J. F., H. K. Jones)}
-\optdef{b}{nm-revv1}{First name reversed, with full names}%
- {(Smith, John Fred, Harry Kab Jones)}
-\getans
-\endoptiongroup
-\mytempfalse
-\if\ans f\mytemptrue\fi
-\if\ans r\mytemptrue\fi
-\if\ans s\mytemptrue\fi
-\if\ans x\mytemptrue\fi
-\if\ans y\mytemptrue\fi
-\if\ans a\mytemptrue\fi
-\if\ans b\mytemptrue\fi
-\beginoptiongroup{EDITOR NAMES IN COLLECTIONS
- (if author names reversed)}
- {\ifmytemp*\fi}
-\if\ans r
-\optdef{*}{}{Editor names NOT reversed}{as edited by J. J. Smith}
-\fi
-\if\ans s
-\optdef{*}{}{Editor names NOT reversed}{as edited by J J Smith}
-\fi
-\if\ans a
-\optdef{*}{}{Editor names NOT reversed}{as edited by J. J. Smith}
-\fi
-\if\ans x
-\optdef{*}{}{Editor names NOT reversed}{as edited by JJ Smith}
-\fi
-\if\ans f
-\optdef{*}{}{Editor names NOT reversed}{as edited by John James Smith}
-\fi
-\if\ans y
-\optdef{*}{}{Editor names NOT reversed}{as edited by J.J. Smith}
-\fi
-\if\ans b
-\optdef{*}{}{Editor names NOT reversed}{as edited by John James Smith}
-\fi
-\optdef{r}{ed-rev}{Editor names reversed}{just like authors'}
-\getans
-\beginoptiongroup{POSITION OF JUNIOR
- (if author names reversed)}
- {}
-\optdef{*}{jnrlst}{Junior comes last}{as Smith, John, Jr.}
-\optdef{m}{}{Junior between}{as Smith, Jr., John}
-\getans
-\endoptiongroup
-\endoptiongroup
-
-\beginoptiongroup{JUNIOR PART IN THE CITATION
- (if author-year citations)}
- {\ifnumerical\else*\fi}%
-\optdef{*}{}{No `junior' part in the citations}{but in the ref listing}
-\optdef{j}{jnrlab}{`Junior' in citations}{as well as in ref listing}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{PUNCTUATION BETWEEN AUTHOR NAMES:}{}
-\optdef{*}{}{Author names separated by commas}{}
-\optdef{s}{aunm-semi}{Names separated by semi-colon}{}
-\optdef{h}{aunm-sl}{Names separated by slash}{/}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{ADJACENT REFERENCES WITH REPEATED NAMES:}{}
-\optdef{*}{}{Author/editor names always present}{}
-\optdef{d}{nmdash}{Repeated author/editor names replaced by dash}{}
-\optdef{2}{nmdash,nmd-2}{Repeated author/editor names replaced by 2 dashes}{}
-\optdef{3}{nmdash,nmd-3}{Repeated author/editor names replaced by 3 dashes}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Number of authors}
-% Normally the complete list of authors as given in the \texttt{.bib} file is
-% presented in the reference list. However, some journals prefer to limit
-% them to a maximum. If there are more than this maximum number of author
-% names, then a minimum number plus \textsl{et al.} are listed.
-%
-% Because no test for consistency of the numbers is carried out in the
-% \texttt{.bst} file itself (it might be possible, but I found it too complex),
-% this is done here.
-% \begin{macrocode}
-\beginoptiongroup{NUMBER OF AUTHORS IN BIBLIOGRAPHY:}{}
-\optdef{*}{}{All authors}{included in listing}
-\optdef{l}{nmlm}{Limited authors}{(et al replaces missing names)}
-\getans
-\endoptiongroup
-\if\ans l
-\loop
- \ask{\num}{Maximum number of authors (1-99)}
- \ifnum\num>99\relax
- \mes{*** Must be between 1 and 99}
-\repeat
-\def\parsenum#1#2{\if#2\relax\wr{\spsp\spsp x#1,\pc: Maximum of #1\space authors}
- \else\wr{\spsp\spsp x#10,x#2,\pc: Maximum of #1#2\space authors}\fi}
-\expandafter\parsenum\num\relax
-\mes{\spsp You have selected maximum \num\space authors}
-\edef\numx{\num}
-\loop
- \ask{\num}{Minimum number (before et al given) (1-\numx)}
- \ifnum\num>\numx
- \mes{*** Must be between 1 and \numx}
-\repeat
-\def\parsenum#1#2{\if#2\relax\wr{\spsp\spsp m#1,\pc: Minimum of #1\space authors}
- \else\wr{\spsp\spsp m#10,m#2,\pc: Minimum of #1#2\space authors}\fi}
-\expandafter\parsenum\num\relax
-\mes{\spsp You have selected minimum \num\space authors}
-\fi
-
-% \end{macrocode}
-%
-% Something that I finally added after being asked many times, is to allow for
-% more than one name in the citation before inserting \textsl{et~al.}
-% to allow more than 2 authors before truncating
-% \begin{macrocode}
-\beginoptiongroup{AUTHORS IN CITATIONS:}{}
-\optdef{*}{}{One author et al}{for three or more authors}
-\optdef{m}{mcite}{Some other truncation scheme}{}
-\getans
-\endoptiongroup
-\mytempfalse
-\if\ans m\mytemptrue\fi
-\beginoptiongroup{MAX AUTHORS BEFORE ET AL:
- (if regular cite not selected)}
- {\ifmytemp*\fi}%
-\optdef{*}{mct-1}{One et al}{}
-\optdef{2}{mct-2}{One, Two et al}{}
-\optdef{3}{mct-3}{One, Two, Three et al}{}
-\optdef{4}{mct-4}{One, Two, Three, Four et al}{}
-\optdef{5}{mct-5}{One, Two, Three, Four, Five et al}{}
-\optdef{6}{mct-6}{One, Two, Three, Four, Five, Six et al}{}
-\getans
-\endoptiongroup
-\beginoptiongroup{MAX AUTHORS WITHOUT ET AL:
- (if regular cite not selected)}
- {\ifmytemp*\fi}%
-\optdef{*}{mct-x2}{Two authors without truncating}{}
-\optdef{3}{mct-x3}{Three authors}{without truncating}
-\optdef{4}{mct-x4}{Four authors}{without truncating}
-\optdef{5}{mct-x5}{Five authors}{without truncating}
-\optdef{6}{mct-x6}{Six authors}{without truncating}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Typeface of names}
-% The author names in the list of references normally appear in the current
-% typeface. This may be changed to small caps, bold, or italics.
-%
-% Alternatively, the surnames only can be formatted, with the first names in the
-% regular font. One can also specify that the words `and' and `et~al.'\ should be
-% in the regular font, or that `et~al.'\ be italic.
-%
-% Another possibility is that the names be put into a command |\bibnamefont{..}|,
-% which must be defined in the \LaTeX\ document. By default, this command does
-% not format its argument. There is also a |\bibfnamefont| command for the first
-% names, to be user-defined.
-%
-% Editor names in a collection or in a book will not normally have these
-% fonts applied to them; this may be additionally selected.
-%
-% \begin{macrocode}
-\beginoptiongroup{TYPEFACE FOR AUTHORS IN LIST OF REFERENCES:}{}
-\optdef{*}{}{Normal font for author names}{}
-\optdef{s}{nmft,nmft-sc}{Small caps authors}{(\string\sc)}
-\optdef{i}{nmft,nmft-it}{Italic authors}{(\string\it\space or \string\em)}
-\optdef{b}{nmft,nmft-bf}{Bold authors}{(\string\bf)}
-\optdef{u}{nmft,nmft-def}{User defined author font}{(\string\bibnamefont)}
-\getans
-\endoptiongroup
-\mytempfalse
-\if\ans i\mytemptrue\fi
-\if\ans s\mytemptrue\fi
-\if\ans b\mytemptrue\fi
-\if\ans u\mytemptrue\fi
-\beginoptiongroup{FONT FOR FIRST NAMES
- (if non-default font for authors)}
- {\ifmytemp*\fi}%
-\optdef{*}{}{First names same font as surnames}{}
-\optdef{r}{fnm-rm}{First names in normal font}{}
-\optdef{u}{fnm-def}{First names in user defined font}{(\string\bibfnamefont)}
-\getans
-\beginoptiongroup{EDITOR NAMES IN INCOLLECTION ETC:}{}
-\optdef{*}{}{Editors incollection normal font}{}
-\optdef{a}{nmfted}{Editors incollection like authors}{font}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{FONT FOR `AND' IN LIST:}{}
-\optdef{*}{}{`And' in author font}{(JONES AND JAMES)}
-\optdef{r}{nmand-rm}{`And' in normal font}{(JONES and JAMES)}
-\getans
-\endoptiongroup
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Names in Citation label}
-% This applies to author--year style only. The label is the text written
-% by the |\cite| command, and for author--year style, this is something like
-% `Daly et al.\ (1990b)'. One may select italics for the authors and for the
-% extra label attached to the year. The year always remains plain.
-%
-% This parallels the font selection for the names in the list of references
-% except that there no choice for the first names, since only surnames
-% are used in the labels. A user-defined |\citefontname| may also
-% be selected, but this \emph{must} be defined by the user since there
-% will be no default definition for it.
-%
-% If a font is selected for the cited authors, then the word `and' may be
-% optionally put in the normal font.
-%
-% It is not possible to select the type of brackets for the year, since
-% this is determined by the \LaTeX{} style option that manages the
-% author--year citations. This is not standard \LaTeX, so that there are a
-% number of private style files for achieving this.
-% \begin{macrocode}
-\beginoptiongroup{FONT OF CITATION LABELS IN TEXT
- (if author-year citations)}
- {\ifnumerical\else*\fi}%
-\optdef{*}{}{Cited authors plain}{as result of \string\cite\space command}
-\optdef{i}{lab,lab-it}{Cited authors italic}{}
-\optdef{s}{lab,lab-sc}{Cited authors small caps}{}
-\optdef{b}{lab,lab-bf}{Cited authors bold}{}
-\optdef{u}{lab,lab-def}{User defined citation font}{(\string\citenamefont)}
-\getans
-
-\mytempfalse
-\if\ans i\mytemptrue\fi
-\if\ans s\mytemptrue\fi
-\if\ans b\mytemptrue\fi
-\if\ans u\mytemptrue\fi
-\beginoptiongroup{FONT FOR `AND' IN CITATIONS
- (if non-default font for citation lables)}
- {\ifmytemp*\fi}%
-\optdef{*}{}{Cited `and' in author font}{}
-\optdef{r}{and-rm}{Cited `and' in normal font}{}
-\getans
-\endoptiongroup
-\beginoptiongroup{FONT OF EXTRA LABEL
- (The extra letter on the year)}{}
-\optdef{*}{}{Extra label plain}{}
-\optdef{i}{xlab-it}{Extra label italic}{}
-\getans
-\endoptiongroup
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Label for missing author names}
-%
-% If the author and/or editor is missing, the standard \texttt{.bst} files
-% use the \texttt{key} field in place of the names for purposes of ordering the
-% entries.
-%
-% For author--year styles, the \texttt{key} field is even inserted in the
-% reference list and in the label in place of the authors. Optionally, one can
-% suppress the year in this case, which causes \texttt{natbib} (version~7)
-% to print only that key text as a code designation for the work. Thus if
-% \texttt{KEY = "CS1-345"} and there are no authors, then |\citep| produces
-% (CS1-345) and |\citet| simply CS1-345. That is, they behave like
-% |\citeauthor|. If \texttt{natbib} did not recognize the blank year, one would
-% get (CS1-345, ) and CS1-345 (). (Earlier versions of \texttt{natbib} crash on
-% a blank year.)
-% \begin{macrocode}
-\beginoptiongroup{LABEL WHEN AUTHORS MISSING
- (if author-year citations)}
- {\ifnumerical\else*\fi}%
-\optdef{*}{keyxyr}{Year blank when KEY replaces missing author}{(for natbib 7.0)}
-\optdef{y}{}{Year included when KEY replaces missing author}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Missing date}
-% A missing date can be set to ???? or simply left blank. In the latter case,
-% \texttt{natbib} version~7 will print only the authors without any year
-% punctuation or brackets.
-%
-% \begin{macrocode}
-\beginoptiongroup{MISSING DATE
- (if author-year citations)}
- {\ifnumerical\else*\fi}%
-\optdef{*}{}{Missing date set to ????}{in label and text}
-\optdef{b}{blkyear}{Missing date left blank}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Position of date}
-% This applies to author--year style only. It makes sense to put the date
-% immediately after the author list, since the two items (author and year)
-% are the identifiers of the reference. Default position is at the
-% end of the references, before any notes. It is also possible to place
-% it even after the notes.
-%
-% Medical journals have a system where the date is part of the journal
-% specification, as Lancet 1994;45(2):34--40. Otherwise the date appears at
-% the end.
-% \begin{macrocode}
-\beginoptiongroup{DATE POSITION:}{}
-\optdef{*}{}{Date at end}{}
-\optdef{b}{dt-beg}{Date after authors}{}
-\optdef{j}{dt-jnl}{Date part of journal spec.}{(as 1994;45:34-40) else at end}
-\optdef{e}{dt-end}{Date at very end}{after any notes}
-\getans
-\endoptiongroup
-\if\ans b\mytemptrue\else\if\ans j\mytemptrue\else\mytempfalse\fi\fi
-% \end{macrocode}
-%
-% \subsection*{Format of date}
-% The year may be enclosed in parentheses, brackets, or preceded by a
-% colon. If none of these are selected, the date (month plus year) appears.
-% For author--year, the date normally consists only of the year, no month,
-% but this may be overridden.
-%
-% If the date comes just after the authors, then one might want special
-% punctuation following it, like a colon, or space only. The latter is
-% probably desirable if the date is brackets or parentheses.
-%
-% The date can even be put into bold face.
-% \begin{macrocode}
-\beginoptiongroup{DATE FORMAT
- (if non author-year citations)}
- {\ifnumerical*\fi}%
-\optdef{*}{}{Plain month and year}{without any brackets}
-\optdef{p}{yr-par}{Date in parentheses}{as (May 1993)}
-\optdef{b}{yr-brk}{Date in brackets}{as [May 1993]}
-\optdef{c}{yr-col}{Date preceded by colon}{as `: May 1993'}
-\optdef{d}{yr-per}{Date preceded by period}{as `. May 1993'}
-\optdef{m}{yr-com}{Date preceded by comma}{as `, May 1993'}
-\optdef{s}{yr-blk}{Date preceded by space}{only, as ` May 1993'}
-\getans
-\beginoptiongroup{SUPPRESS MONTH:}{}
-\optdef{*}{}{Date is month and year}{}
-\optdef{x}{xmth}{Date is year only}{}
-\getans
-\endoptiongroup
-\beginoptiongroup{REVERSED DATE
- (if including month)}
- {\if\ans x\else*\fi}%
-\optdef{*}{}{Date as month year}{}
-\optdef{r}{dtrev}{Date as year month}{}
-\getans
-\endoptiongroup
-\endoptiongroup
-
-\beginoptiongroup{DATE FORMAT
- (if author-year citations)}
- {\ifnumerical\else*\fi}%
-\optdef{*}{}{Year plain}{without any brackets}
-\optdef{p}{yr-par}{Year in parentheses}{as (1993)}
-\optdef{b}{yr-brk}{Year in brackets}{as [1993]}
-\optdef{c}{yr-col}{Year preceded by colon}{as `: 1993'}
-\optdef{d}{yr-per}{Year preceded by period}{as `. 1993'}
-\optdef{m}{yr-com}{Date preceded by comma}{as `, 1993'}
-\optdef{s}{yr-blk}{Year preceded by space}{only, as ` 1993'}
-\getans
-\beginoptiongroup{INCLUDE MONTHS:}{}
-\optdef{*}{}{Date is year only}{without the month}
-\optdef{m}{aymth}{Include month in date}{}
-\getans
-\endoptiongroup
-\beginoptiongroup{REVERSED DATE
- (if including month)}
- {\if\ans m*\fi}%
-\optdef{*}{}{Date as month year}{}
-\optdef{r}{dtrev}{Date as year month}{}
-\getans
-\endoptiongroup
-\endoptiongroup
-
-\beginoptiongroup{DATE PUNCTUATION
- (if date not at end)}
- {\ifmytemp*\fi}%
-\optdef{*}{}{Date with standard block punctuation}{(comma or period)}
-\optdef{c}{yrp-col}{Colon after date}{as 1994:}
-\optdef{s}{yrp-semi}{Semi-colon after date}{as 1994;}
-\optdef{p}{yrp-per}{Period after date}{even when blocks use commas}
-\optdef{x}{yrp-x}{No punct. after date}{}
-\getans
-\beginoptiongroup{BLANK AFTER DATE:}{}
-\optdef{*}{}{Space after date}{and punctuation}
-\optdef{x}{yrpp-xsp}{No space after date}{as 1994:45}
-\getans
-\endoptiongroup
-\endoptiongroup
-\beginoptiongroup{DATE FONT:}{}
-\optdef{*}{}{Date in normal font}{}
-\optdef{b}{dtbf}{Date in bold face}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% Normally in author--year citations, the \texttt{year} entry is truncated
-% to the last 4 characters, which should be the 4 digits of the year. Some
-% users have requested the possibility of suppressing this truncation so
-% that they may put text in the \texttt{year} field, such as ``in press.''
-% Another use for it is when years are given as ``1968--72''. Actually,
-% I have no idea why the year should be truncated at all.
-% \begin{macrocode}
-\beginoptiongroup{TRUNCATE YEAR
- (if author-year citations)}
- {\ifnumerical\else*\fi}%
-\optdef{*}{note-yr}{Year text full}{as 1990--1993 or `in press'}
-\optdef{t}{}{Year truncated}{to last 4 digits}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Article title in journal}
-% The title of an article in a journal or in a collection (a book, or
-% conference proceedings) may appear plain, in italics, within single
-% or double quotes or even in guillemets. The last is best with T1 coding; a
-% poor man's version for OT1 is provided; \LaTeXe\ is required in both cases.
-%
-% Furthermore, it may have sentence capitalization (first
-% word and word following colon) or be capitalized as in the \texttt{.bib} file
-% entry. That is why it is recommended to capitalize the entry text as it
-% should appear when fully capitalized, putting words that are always
-% capitalized in braces. Example:
-% \begin{quote}
-% |TITLE="The Results of the {Giotto} Mission"|
-% \end{quote}
-% which produces either ``The results of the Giotto mission'' or ``The
-% Results of the Giotto Mission'', depending on option.
-%
-% Additionally, the article titles may be fully suppressed.
-% \begin{macrocode}
-\beginoptiongroup{TITLE OF ARTICLE:}{}
-\optdef{*}{}{Title plain}{with no special font}
-\optdef{i}{tit-it}{Title italic}{(\string\em)}
-\optdef{q}{tit-qq,qt-s}{Title and punctuation in single quotes}{(`Title,' ..)}
-\optdef{d}{tit-qq}{Title and punctuation in double quotes}{(``Title,'' ..)}
-\optdef{g}{tit-qq,qt-g}{Title and punctuation in guillemets}{(<<Title,>> ..)}
-\optdef{x}{tit-qq,qt-s,qx}{Title in single quotes}{(`Title', ..)}
-\optdef{y}{tit-qq,qx}{Title in double quotes}{(``Title'', ..)}
-\optdef{z}{tit-qq,qt-g,qx}{Title in guillemets}{(<<Title>>, ..)}
-\getans
-\endoptiongroup
-\mytempfalse
-\if\ans q\mytemptrue\fi
-\if\ans d\mytemptrue\fi
-\if\ans g\mytemptrue\fi
-\if\ans x\mytemptrue\fi
-\if\ans y\mytemptrue\fi
-\if\ans z\mytemptrue\fi
-\beginoptiongroup{COLLECTION/PROCEEDINGS TITLES
- (if quoted title)}
- {\ifmytemp*\fi}%
-\optdef{*}{bt-qq}{Quote collection and proceedings titles}{too}
-\optdef{x}{}{Collection and proceedings titles not in quotes}{}
-\getans
-\endoptiongroup
-\beginoptiongroup{CAPITALIZATION OF ARTICLE TITLE:}{}
-\optdef{*}{}{Sentence style}{(capitalize first word and those in braces)}
-\optdef{t}{atit-u}{Title style}{(just as in bib entry)}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{ARTICLE TITLE PRESENT:}{}
-\optdef{*}{}{Article title present}{in journals and proceedings}
-\optdef{x}{jtit-x}{No article title}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Journal names}
-% Abbreviated journal names normally contain periods; the periods may be
-% removed with this option. In fact, only letters, numbers, and spacing are
-% retained.
-% \begin{macrocode}
-\beginoptiongroup{JOURNAL NAMES:}{}
-\optdef{*}{}{Periods in journal names}{are retained, as `Phys. Rev.'}
-\optdef{x}{jxper}{Dotless journal names}{as `Phys Rev'}
-\getans
-\endoptiongroup
-% \end{macrocode}
-% Journal name is normally printed in italics; can be left in normal font.
-% \begin{macrocode}
-\beginoptiongroup{JOURNAL NAME FONT:}{}
-\optdef{*}{}{Journal name italics}{}
-\optdef{r}{jttl-rm}{Journal name normal}{font}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Title of Theses and Technical Reports}
-% The title of a these (PhD or Master's) is normally treated the same
-% as that of a book. Optionally, it may be formatted like that of
-% an article.
-%
-% The title of a technical report is normally treated the same as that
-% of an article. Optionally, it may be formatted like that of a book.
-%
-% \begin{macrocode}
-\beginoptiongroup{THESIS TITLE:}{}
-\optdef{*}{}{Thesis titles like books}{}
-\optdef{a}{thtit-a}{Thesis title like article}{}
-\optdef{x}{thtit-x}{No thesis title}{}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{TECHNICAL REPORT TITLE:}{}
-\optdef{*}{}{Tech. report title like articles}{}
-\optdef{b}{trtit-b}{Tech. report title like books}{}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{TECHNICAL REPORT NUMBER:}{}
-\optdef{*}{}{Tech. report and number plain}{as `Tech. Rep. 123'}
-\optdef{i}{trnum-it}{Tech. report and number italic}%
- {as `{\string\it\space Tech. Rep. 123'}}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Journal reference}
-% Great diversity of opinion exists as to how a journal reference is to be
-% formatted. It consists of a volume, possibly a number, and page limits.
-% The number is really only necessary if the page numbers within one volume
-% start at 1 for each physical `number'. Since journals are often bound
-% together in one volume later, it makes more sense to number the pages
-% continuously through the whole volume.
-%
-% I am only aware of one journal that used to reset the pagination for each
-% `number', in which case the number was part of the page designation.
-% I had erroneously provided an option \texttt{vnum-pg} to achieve this, but I
-% now realize that instead, for this one journal, the database entries must
-% contain \texttt{pages="(2)33--2(55)"}. This option has been removed at
-% version 3.84.
-%
-% A number of styles for journal specifications are
-% \begin{quote}
-% \begin{tabular}{l@{\qquad}l}
-% 21(2):33--55 & 21, no.\ 2: 33--55\\
-% \textbf{21}(2):33--55 & \textbf{21}, \#2, 33--55\\
-% \textit{21}(2), 33--55 & \textit{21} (2); 33--55 \\
-% 21(2) (1995) 33--55 & 21(1995), 33-55\\
-% 21(2) 33--55 & vol.~21 (2), pp.~33--55
-% \end{tabular}
-% \end{quote}
-%
-% Here both start and stop page numbers have been given; often only the
-% start page is wanted.
-%
-% It is also possible to include the year as part of the journal specification,
-% in which case the year is always in parentheses, attached snugly or with space
-% to the volume, or preceding the pages.
-%
-% \begin{macrocode}
-\beginoptiongroup{JOURNAL VOLUME:}{}
-\optdef{*}{}{Volume plain}{as vol(num)}
-\optdef{i}{vol-it}{Volume italic}{as {\string\em\space vol}(num)}
-\optdef{b}{vol-bf}{Volume bold}{as {\string\bf\space vol}(num)}
-\optdef{d}{vol-2bf}{Volume and number bold}{as {\string\bf\space vol(num)}}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% The form of the `number' is also given: in parentheses, with `no.',
-% with \#, or omitted. The \texttt{vnum-b} option is meant to be used
-% with \texttt{jdt-v} and \texttt{jdt-vs} but could be used alone.
-% \begin{macrocode}
-\beginoptiongroup{JOURNAL VOL AND NUMBER:}{}
-\optdef{*}{}{Journal vol(num)}{as 34(2)}
-\optdef{s}{vnum-sp}{Journal vol (num)}{as 34 (2)}
-\optdef{c}{vnum-cm}{Journal vol, num}{as 34, 2}
-\optdef{n}{vnum-nr}{Journal vol, no. num}{as 34, no. 2}
-\optdef{h}{vnum-h}{Journal vol, \string\# number}{as 34, \string\#2}
-\optdef{b}{vnum-b}{Journal vol number}{as 34 2}
-\optdef{x}{vnum-x}{Journal vol, without number}{as 34}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{VOLUME PUNCTUATION:}{}
-\optdef{*}{}{Volume with colon}{as vol(num):ppp}
-\optdef{s}{volp-sp}{Volume with colon and space}{as vol(num): ppp}
-\optdef{h}{volp-semi}{Volume with semi-colon}{as vol(num); ppp}
-\optdef{c}{volp-com}{Volume with comma}{as vol(num), ppp}
-\optdef{b}{volp-blk}{Volume with blank}{as vol(num) ppp}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{YEAR IN JOURNAL SPECIFICATION:}{}
-\optdef{*}{}{Journal year like others}{as given by date position}
-\optdef{v}{jdt-v}{Journal vol(year)}{as 34(1995)}
-\optdef{s}{jdt-vs}{Journal vol (year)}{as 34 (1995)}
-\optdef{p}{jdt-p}{Year with pages}{as 34(2), (1995) 1345--1387}
-\optdef{c}{jdt-pc}{Year, comma, pages}{as 34(2), (1995), 1345--1387}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{PAGE NUMBERS:}{}
-\optdef{*}{}{Start and stop page numbers}{given}
-\optdef{f}{jpg-1}{Only start page number}{}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{LARGE PAGE NUMBERS:}{}
-\optdef{*}{}{No separators for large page numbers}{}
-\optdef{c}{pgsep-c}{Comma inserted over 9999}{as 11,234}
-\optdef{s}{pgsep-s}{Thin space inserted over 9999}{as 11 234}
-\optdef{p}{pgsep-p}{Period inserted over 9999}{as 11.234}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{WORD `PAGE' IN ARTICLES:}{}
-\optdef{*}{}{Article pages numbers only}{as 234-256}
-\optdef{p}{jwdpg}{Include `page' in articles}{as pp. 234--256}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% Some journals want page numbers at the end, even for books, proceedings, as
-% well as for journals.
-% \begin{macrocode}
-\beginoptiongroup{POSITION OF PAGES:}{}
-\optdef{*}{}{Pages given mid text}{as is normal}
-\optdef{e}{pp-last}{Pages at end}{but before any notes}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{WORD `VOLUME' IN ARTICLES:}{}
-\optdef{*}{}{Article volume as number only}{as 21}
-\optdef{p}{jwdvol}{Include `volume' in articles}{as vol. 21}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% Fiddle with the format and location of the number/series for collections and
-% inproceedings.
-% \begin{macrocode}
-\beginoptiongroup{NUMBER AND SERIES FOR COLLECTIONS:}{}
-\optdef{*}{num-xser}{Allows number without series}{and suppresses word "number"}
-\optdef{s}{}{Standard BibTeX}{as: "number 123 in Total Works"; error if number and no series}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{POSITION OF NUMBER AND SERIES:}{}
-\optdef{*}{}{After chapter and pages}{as in standard BibTeX}
-\optdef{t}{numser}{Just before publisher}{or organization}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% Fiddle with the format and location of series and volume with books and collections.
-% \begin{macrocode}
-\beginoptiongroup{VOLUME AND SERIES FOR BOOKS/COLLECTIONS:}{}
-\optdef{*}{}{Vol. 23 of Series}{as in standard BibTeX}
-\optdef{s}{ser-vol}{Series, vol. 23}{}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{POSITION OF VOLUME AND SERIES FOR INCOLLECTIONS:}{}
-\optdef{*}{}{Series and volume after the editors}{}
-\optdef{e}{ser-ed}{Series and volume after booktitle}{and before editors}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% It is possible to decide whether the journal name should be
-% separated from the following specifications with a blank or comma.
-% \begin{macrocode}
-\beginoptiongroup{JOURNAL NAME PUNCTUATION:}{}
-\optdef{*}{}{Comma after journal}{name}
-\optdef{x}{jnm-x}{Space after journal}{name}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Books}
-% The title of a book (as opposed to an article in a book or journal) is
-% normally italicized. This may be set to the regular font.
-%
-% The page numbers in books may be set in parentheses, as (pp.\ 345--350).
-% \begin{macrocode}
-\beginoptiongroup{BOOK TITLE:}{}
-\optdef{*}{}{Book title italic}{(\string\em)}
-\optdef{p}{btit-rm,bt-rm}{Book title plain}{(no font command)}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{PAGES IN BOOKS:}{}
-\optdef{*}{}{Pages in book plain}{as pp. 50-55}
-\optdef{p}{bkpg-par}{Pages in book in parentheses}{as (pp. 50-55)}
-\optdef{x}{bkpg-x}{Pages in book bare}{as 50-55}
-\getans
-\endoptiongroup
-\beginoptiongroup{TOTAL PAGES OF A BOOK:}{}
-\optdef{*}{}{Total book pages not printed}{}
-\optdef{p}{pg-bk}{For book: 345 pages}{or pp.}
-\optdef{a}{pg-bk,pg-pre}{Total book pages before publisher}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-% Some psychology journals wish to have the publisher's address preceding
-% the name, separated by colon, as
-% \begin{quote}New York: Wiley and Sons\end{quote}
-%
-% Some journals (e.g.\ Nature) put publisher in parentheses with date,
-% as (Wiley and Sons, New York, 1983). These normally put the date in
-% parentheses at the end anyway, so this is a merging of the two sets of
-% parentheses.
-% \begin{macrocode}
-\beginoptiongroup{PUBLISHER ADDRESS:}{}
-\optdef{*}{}{Publisher, address}{as Harcourt, New York}
-\optdef{a}{add-pub}{Address: Publisher}{as New York: Harcourt}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{PUBLISHER IN PARENTHESES:}{}
-\optdef{*}{}{Publisher as normal block}{without parentheses}
-\optdef{p}{pub-par}{Publisher in parentheses}{}
-\optdef{d}{pub-date}{Publisher and date in parentheses}{(Oxford, 1994)}
-\optdef{c}{pub-date,pub-xc}{Publisher and date in parentheses, no comma}{(Oxford 1994)}
-\optdef{f}{pub-date,pub-xpar}{Publisher and date without parentheses}{Oxford, 1994}
-\optdef{k}{pub-date,pub-xpar,pub-xc}{Publisher and date, no parentheses, no comma}{Oxford 1994}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{PUBLISHER POSITION:}{}
-\optdef{*}{}{Publisher after chapter, pages}{}
-\optdef{p}{pre-pub}{Publisher before chapter, pages}{}
-\optdef{e}{pre-edn}{Publisher after edition}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{ISBN, ISSN, DOI numbers}
-% Books normally possess an ISBN number. This may be included as an
-% optional entry for \texttt{book}, \texttt{inbook}, \texttt{booklet},
-% \texttt{incollection}, \texttt{proceedings}, \texttt{inproceedings}.
-% However, it should be suppressed for \texttt{inbook} etc.\ when
-% there is a crossref to another book with the ISBN number.
-%
-% Periodicals contain an ISSN number. Add this to \texttt{article}, or
-% course, but also to \texttt{inproceedings} and \texttt{proceedings}, since
-% they are sometimes printed in a periodical.
-%
-% Journal articles that appear online are given a DOI number, something more
-% robust than a URL that can change as machines are upgraded.
-% The American Geophysical Union (AGU) uses the DOI as part of the
-% page number substitution for electronic journals, placing the number
-% where the pages would normally appear.
-% \begin{macrocode}
-\beginoptiongroup{ISBN NUMBER:}{}
-\optdef{*}{isbn}{Include ISBN}{for books, booklets, etc.}
-\optdef{x}{}{No ISBN}{}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{ISSN NUMBER:}{}
-\optdef{*}{issn}{Include ISSN}{for periodicals}
-\optdef{x}{}{No ISSN}{}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{DOI NUMBER:}{}
-\optdef{*}{doi}{Include DOI}{as "doi: number"}
-\optdef{u}{url-doi}{Format DOI as URL //doi.org/doi}{(must give url options!)}
-\optdef{a}{agu-doi,doi}{Insert DOI AGU style}{as part of page number}
-\optdef{x}{}{No DOI}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Editor of book without author}
-%
-% This is normally
-% \begin{quote}
-% J. K. James, editor
-% \end{quote}
-% but may also be
-% \begin{quote}
-% J. K. James, (editor)\\
-% J. K. James (editor),
-% \end{quote}
-% Alternatively, the word \textsl{editor} may be capitalized and/or
-% abbreviated.
-%
-% \begin{macrocode}
-\beginoptiongroup{`EDITOR' AFTER NAMES (EDITED BOOKS WITHOUT AUTHORS):}{}
-\optdef{*}{}{Word `editor' after name}{}
-\optdef{a}{edpar}{`Name (editor),'}{in parentheses, after name, comma after}
-\optdef{b}{edpar,bkedcap}{`Name (Editor),'}{as above, editor upper case}
-\optdef{c}{edparc}{`Name, (editor)'}{in parentheses, after name, comma between}
-\optdef{d}{edparc,bkedcap}{`Name, (Editor)'}{as above, editor upper case}
-\optdef{e}{edparxc}{`Name (editor)'}{in parentheses, after name, no commas}
-\optdef{f}{edparxc,bkedcap}{`Name (Editor)'}{as above, editor upper case}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Edited by}
-% For an article within an edited collection, the normal form is
-% \begin{quote}
-% In J. K. James, editor, \emph{Title of Collection} \dots
-% \end{quote}
-% Alternative forms are
-% \begin{quote}
-% In J. K. James (editor), \emph{Title} \dots\\
-% In \emph{Title}, edited by J. K. James \dots\\
-% In \emph{Title} (Edited by J. K. James) \dots
-% \end{quote}
-% If none of the \texttt{edby} variations is used, then the same system is
-% used as for edited books, i.e. \texttt{edpar} applies.
-% \begin{macrocode}
-\beginoptiongroup{EDITOR IN COLLECTIONS:}{}
-\optdef{*}{}{Same as for edited book}{(names before booktitle)}
-\optdef{b}{edby}{In booktitle, edited by .. }{(where .. is names)}
-\optdef{p}{edby-par}{In booktitle (edited by ..)}{}
-\optdef{c}{edby-parc}{In booktitle, (edited by ..)}{}
-\optdef{e}{edby,edbyx}{In booktitle, editor ..}{}
-\optdef{f}{edby,edbyw}{In booktitle, (editor) ..}{}
-\optdef{k}{edby-par,edbyx}{In booktitle (editor..)}{}
-\optdef{g}{edby-parc,edbyx}{In booktitle, (editor..)}{}
-\optdef{j}{edby,edbyy}{In booktitle, .., editor}{}
-\optdef{m}{edby-par,edbyy}{In booktitle (.., editor)}{}
-\getans
-\endoptiongroup
-\mytempfalse
-\if\ans p\mytemptrue\fi
-\if\ans k\mytemptrue\fi
-\if\ans c\mytemptrue\fi
-\if\ans f\mytemptrue\fi
-\beginoptiongroup{CAPITALIZE `EDITOR' OR `EDITED BY'
- (if editor capitalizable)}
- {\ifmytemp*\fi}%
-\optdef{*}{}{`(editor,..)' or `(edited by..)'}{in lower case}
-\optdef{c}{edcap}{`(Editor,..)' or `(Edited by..)'}{in upper case}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Block punctuation}
-% Blocks are logical sections of the reference specification, such as the
-% author block, the journal block, editor block, etc. These are normally
-% separated by periods, but alternatively a comma may be used. Another
-% choice is to use commas except after titles where a period is given.
-%
-% \LaTeX\ offers an \texttt{openbib} option, which means that the blocks
-% are not only new sentences, but new lines as well. This can only
-% function when the default option here is taken, for then the command
-% |\newblock| is placed between the blocks. This command is normally
-% defined to do nothing, but \LaTeX\ redefines it to issue a new line
-% when open bibliographies are wanted.
-% \begin{macrocode}
-\beginoptiongroup{PUNCTUATION BETWEEN SECTIONS (BLOCKS):}{}
-\optdef{*}{}{\string\newblock\space after blocks}
- {(periods or new lines with openbib option)}
-\optdef{c}{blk-com}{Comma between blocks}{}
-\optdef{s}{blk-com,com-semi}{Semi-colon between blocks}{}
-\optdef{b}{blk-com,com-blank}{Blanks between blocks}{}
-\optdef{t}{blk-tit}{Period after titles of articles, books, etc}{else commas}
-\optdef{u}{blk-tit,tit-col}{Colon after titles of articles, books, etc}{else commas}
-\optdef{a}{blk-tita}{Period after titles of articles}{else commas}
-\optdef{d}{blk-tita,tit-col}{Colon after titles of articles}{else commas}
-\getans
-\endoptiongroup
-\mytempfalse
-\if\ans c\mytemptrue\fi
-\if\ans s\mytemptrue\fi
-\if\ans b\mytemptrue\fi
-\if\ans t\mytemptrue\fi
-\if\ans a\mytemptrue\fi
-\beginoptiongroup{PUNCTUATION BEFORE NOTES
- (if not using \string\newblock)}
- {\ifmytemp*\fi}%
-\optdef{*}{}{Notes have regular punctuation}{like all other blocks}
-\optdef{p}{blknt}{Notes preceded by period}{}
-\getans
-\endoptiongroup
-\beginoptiongroup{PUNCTUATION AFTER AUTHORS:}{}
-\optdef{*}{}{Author block normal}{with regular block punctuation}
-\optdef{c}{au-col}{Author block with colon}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{\textsl{In} with colon}
-% When referring to works in a collection, one begins the block describing
-% that collection with \textsl{In}. Optionally, one may add a colon.
-% \begin{macrocode}
-\beginoptiongroup{PUNCTUATION AFTER `IN':}{}
-\optdef{*}{}{Space after `in'}{for incollection or inproceedings}
-\optdef{c}{in-col}{Colon after `in'}{(as `In: ...')}
-\optdef{i}{in-it}{Italic `in'}{and space}
-\optdef{d}{in-col,in-it}{Italic `in' and colon}{}
-\optdef{x}{in-x}{No word `in'}{for edited works}
-\getans
-\endoptiongroup
-\beginoptiongroup{`IN' WITH JOURNAL NAMES
- (if using 'in' with collections)}
- {\if\ans x\else*\fi}
-\optdef{*}{}{No `in' before journal name}{}
-\optdef{i}{injnl}{Add `in' before journal name}{in style for incollection}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Final punctuation}
-% The punctuation at the end of the reference is normally a period. This
-% may be suppressed.
-% \begin{macrocode}
-\beginoptiongroup{FINAL PUNCTUATION:}{}
-\optdef{*}{}{Period at very end}{of the listed reference}
-\optdef{x}{fin-bare}{No period at end}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Abbreviations}
-% A number of words may be abbreviated: pages, editors, volume, chapter,
-% and so on. The first two may be independently set to abbreviation, the
-% rest with a single option.
-%
-% Additionally, the edition numbers may be
-% output as words (first, second, etc.) or as numbers (1st, 2nd, etc.).
-% (Recall that the input in the \texttt{.bib} file is always as English
-% words.)
-% \begin{macrocode}
-\beginoptiongroup{ABBREVIATE WORD `PAGES'
- (if not using external language file)}
- {\if!\cfile!\relax*\fi}%
-\optdef{*}{}{`Page(s)'}{(no abbreviation)}
-\optdef{a}{pp}{`Page' abbreviated}{as p. or pp.}
-\optdef{x}{ppx}{`Page' omitted}{}
-\getans
-\beginoptiongroup{ABBREVIATE WORD `EDITORS':}{}
-\optdef{*}{}{`Editor(s)'}{(no abbreviation)}
-\optdef{a}{ed}{`Editor' abbreviated}{as ed. or eds.}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{OTHER ABBREVIATIONS:}{}
-\optdef{*}{}{No abbreviations}{of volume, edition, chapter, etc}
-\optdef{a}{abr}{Abbreviations}{of such words}
-\getans
-\endoptiongroup
-\beginoptiongroup{ABBREVIATION FOR `EDITION'
- (if abbreviating words)}
- {\if\ans a*\fi}%
-\optdef{*}{}{`Edition' abbreviated as `edn'}{}
-\optdef{a}{ednx}{`Edition' abbreviated as `ed'}{}
-\getans
-\beginoptiongroup{MONTHS WITH DOTS:}{}
-\optdef{*}{}{Months with dots}{as Jan.}
-\optdef{x}{mth-bare}{Months without dots}{as Feb Mar}
-\getans
-\endoptiongroup
-\endoptiongroup
-\beginoptiongroup{EDITION NUMBERS:}{}
-\optdef{*}{xedn}{Editions as in database}{saving much processing memory}
-\optdef{w}{}{Write out editions}{as first, second, third, etc}
-\optdef{n}{ord}{Numerical editions}{as 1st, 2nd, 3rd, etc}
-\getans
-\endoptiongroup
-\endoptiongroup
-% \end{macrocode}
-%
-% The above choices about abbreviations are made only if the internal
-% languages are taken (English or \texttt{babel}). For an external language
-% definition file, these choices, along with possible other ones, are made
-% in the external file, which is read in at this point.
-% \begin{macrocode}
-\umes{Reading external language file \string\cfile=\cfile}%
-\if!\cfile!\relax\else
- \input\cfile
-\fi
-% \end{macrocode}
-%
-% This file contains the standard set of stored journal names present in
-% the basic bibliography style files. If other files containing journal
-% names are to be included, they may only contain the options \texttt{jabr}
-% or \texttt{jaa} since these options are selected here. No option
-% menus from the journal-name files will be read in.
-% \begin{macrocode}
-\beginoptiongroup{STORED JOURNAL NAMES:}{}
-\optdef{*}{}{Full journal names}{for prestored journals}
-\optdef{a}{jabr}{Abbreviated journal names}{}
-\optdef{s}{jabr,jaa}{Abbreviated with astronomy shorthands}{like ApJ and AJ}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Variations on \textsl{and}}
-% It is possible to replace the word \textsl{and} with an ampersand \&, and to
-% specify whether a comma is to precede \textsl{and} in a list of more than two
-% names.
-%
-% A variable \textsl{and} may be provided for with the command |\BIBand|
-% in place of the word. In this case, the command must be defined in the
-% document file or some other package called. (This is intended for situations
-% where an ampersand is wanted in parenthetical citations, but the word in
-% textual ones.)
-%
-% \begin{macrocode}
-\beginoptiongroup{AMPERSAND:}{}
-\optdef{*}{}{Use word `and'}{in author lists}
-\optdef{a}{amper}{Use ampersand}{in place of `and'}
-\optdef{v}{varand}{Use \string\BIBand}{in place of `and'}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{COMMA BEFORE `AND':}{}
-\optdef{*}{}{Comma before `and'}{as `Tom, Dick, and Harry'}
-\optdef{n}{and-xcom}{No comma before `and'}{as `Tom, Dick and Harry'}
-\optdef{c}{and-com}{Comma even with 2 authors}{as `Tom, and Harry'}
-\getans
-\endoptiongroup
-\beginoptiongroup{COMMA BEFORE `AND' EVEN FOR COLLECTION EDITORS
- (if using comma before `and' with authors)}
- {\if\ans c*\fi}%
-\optdef{*}{and-com-ed}{Comma with 2 editors}{in collections}
-\optdef{x}{}{Two editors without comma}{as `Tom and Harry'}
-\getans
-\endoptiongroup
-\beginoptiongroup{NO `AND' IN REFERENCE LIST:}{}
-\optdef{*}{}{With `and'}{before last author in reference list}
-\optdef{x}{xand}{No `and'}{as `Tom, Dick, Harry'}
-\getans
-\endoptiongroup
-
-\beginoptiongroup{COMMA BEFORE `ET AL':}{}
-\optdef{*}{}{Comma before `et al'}{in reference list}
-\optdef{x}{etal-xc}{No comma before `et al'}{}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Font of \textsl{et al}}
-% One can chose that \textsl{et~al.}\ be put into italics.
-% Or, if the authors are in a different font from the regular one, the
-% \textsl{et~al.}\ can still be Roman.
-% \begin{macrocode}
-\beginoptiongroup{FONT OF `ET AL':}{}
-\optdef{*}{}{Plain et al}{}
-\optdef{i}{etal-it}{Italic et al}{}
-\optdef{r}{etal-rm}{Roman et al}{even when authors something else}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Additional Data Fields}\label{sec:revtex}
-% The American Physical Society's REV\TeX\ package contains \btx\ support
-% with a \texttt{bst} file generated from a variant of
-% \texttt{\filename}. The extra fields are also available here.
-% \begin{itemize}
-% \item \textbf{collaboration}: A collaboration name associated with a
-% reference.
-% \item \textbf{eprint}: The e-print citation for the reference (Los Alamos
-% or otherwise). E-print numbers can be turned into hyperlinks to the
-% online article. The output is\\
-% \hspace*{2em}|\eprint{|\textit{eprint-spec}|}|
-% \item \textbf{archive}: is an optional argument for |\eprint|, as\\
-% \hspace*{2em}|\eprint[|\textit{archive-des}|]{|\textit{eprint-spec}|}|\\
-% The \textit{archive-des} is some code such as \texttt{arXiv} that is
-% translated to a base URL by a class or package file. The default definition
-% of |\eprint| ignores \textit{archive-des} and prints \textit{eprint-spec}
-% as a URL.
-% \item \textbf{url}: A URL associated with the reference. Can be turned
-% into a hyperlink.
-% \end{itemize}
-%
-% A collaboration appears as part of the author list and the other two
-% appear at the end of the citaton. The URL field can be selected
-% independently of this option.
-%
-% In addition there are new fields for journals like Phys.\ Rev.~D that
-% no longer use page numbers.
-% \begin{itemize}
-% \item \textbf{eid}: Electronic article identifier.
-% \item \textbf{numpages}: Number of pages in an article. For use in
-% conjunction with the \textbf{eid} field when page counts are
-% desired. Deprecated when submitting to Phys.\ Rev.
-%
-% The \texttt{eprint} (with \texttt{archive}) and \texttt{url} fields may be
-% included independently of the other REV\TeX\ fields.
-%
-% The \texttt{eid} field is now always included, although it is optional for
-% the bibliography entries. This electronic identifier is a replacement for the
-% page number in electronic journals: it is the sequence number in the printed
-% volume. If present, it will be used in place of the page number.
-%
-% \end{itemize}
-%
-% \begin{macrocode}
-\beginoptiongroup{ADDITIONAL REVTeX DATA FIELDS:}{}
-\optdef{*}{}{No additional fields}{for REVTeX}
-\optdef{r}{revdata,eprint,url,url-blk}{Include REVTeX data fields}
- {collaboration, eid, eprint, archive, numpages, url}
-\getans
-\mytemptrue
-\if\ans r\mytempfalse\fi
-\beginoptiongroup{E-PRINT DATA FIELD:
-(without REVTeX fields)}
-{\ifmytemp*\fi}
-\optdef{*}{}{Do not include eprint field}{}
-\optdef{e}{eprint}{Include eprint and archive fields}{for electronic publications}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{URL address}
-% For electronic documents with an Internet address, add a URL entry.
-% Harvard already has this, but here it is done for all styles.
-% The URL text will be set with the \verb!\url! command in the \texttt{url}
-% package by Donald Arseneau. This package must be loaded for the command
-% to work right. It allows line breaks at punctuations. Otherwise,
-% \verb!\texttt! is used instead, with no line breaks. The URL text is preceded
-% by \verb!\urlprefix! which defaults to ``URL '' but may be redefined by the
-% user to be whatever s/he wants. The final space must be included.
-%
-% Note: selecting the REV\TeX\ fields automatically includes this, so the
-% offer only is made if REV\TeX\ has been rejected.
-%
-% \begin{macrocode}
-\beginoptiongroup{URL ADDRESS:
-(without REVTeX fields)}{\ifmytemp*\fi}
-\optdef{*}{}{No URL}{for electronic (Internet) documents}
-\optdef{u}{url,url-blk}{Include URL}{as regular item block}
-\optdef{n}{url,url-nt}{URL as note}{}
-\optdef{l}{url,url-nl}{URL on new line}{after rest of reference}
-\getans
-\endoptiongroup
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Reference Component Tagging}
-% If reference component tagging is enabled, we
-% apply tags like |\bibinfo| and |\eprint| to the fields of data
-% in the content of the |\bibitem| statement. We also ensure that
-% these commands have a default meaning within the scope of the |thebibliography|
-% environment. The default definitions simply print the field and ignore the
-% tag. However, other programs or packages might make use of the tag
-% information to separate authors from title, for example.
-%
-% \begin{macrocode}
-\beginoptiongroup{REFERENCE COMPONENT TAGS:}{}
-\optdef{*}{}{No reference component tags}
- {in the \string\bibitem\space entries}
-\optdef{b}{bibinfo}{Reference component tags}
- {like \string\bibinfo\space in the content of \string\bibitem}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Define emphasis}
-% In everything that been mentioned so far, italicization should be
-% understood to mean `emphasize' in the \LaTeX{} sense. This means that the
-% command |\em| is used. This is not the same as |\it|, which is always
-% italics. Rather, with |\em|, the font style switches between |\rm| and
-% |\it| depending on the context. Here one may choose to true italics, or
-% to switch off italics altogether.
-% \begin{macrocode}
-\beginoptiongroup{EMPHASIS:
- (affects all so-called italics)}{}
-\optdef{*}{}{Use emphasis}{ie, \string\em, allows font switching}
-\optdef{i}{em-it}{Use true italics}{ie, \string\it, absolute italics}
-\optdef{x}{em-x}{No italics}{at all}
-\optdef{u}{em-ul}{Underlining}{in place of italics, best with ulem package}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% \subsection*{Plain \TeX\ compatibility}
-% Bold face, italics, and emphasis are made with the \LaTeXe\ commands,
-% which makes them incompatible with the obsolete \LaTeX2.09, and with
-% Plain \TeX. There are also some extra testing for existing commands
-% that best work with \LaTeXe\ syntax.
-%
-% If the bibliography style file is to be fully compatible with Plain \TeX,
-% do not select the option \texttt{nfss} but do take \texttt{plntx}.
-% \begin{macrocode}
-\beginoptiongroup{COMPATIBILITY WITH PLAIN TEX:}{}
-\optdef{*}{nfss}{Use LaTeX commands}{which may not work with Plain TeX}
-\optdef{t}{plntx}{Use only Plain TeX}{commands for fonts and testing}
-\getans
-\endoptiongroup
-% \end{macrocode}
-%
-% Terminate the options list. If a language definition file has been called,
-% then we have a closing brace too many, so add another dummy opening brace.
-% \begin{macrocode}
-\if!\cfile\jfile!\else
-\begingroup\MBswitch
-\wr(,{\pc)
-\endgroup
-\fi
-
-\endoptions
-%</options>
-% \end{macrocode}
-%
-% \section{The Bibliographic Coding}
-%
-% \begin{macrocode}
-%<*!options&!driver&!bblbst>
-%<*!tail>
- % For use with BibTeX version 0.99a or later
- % -------------------------------------------------------------------
-%<*(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))>
- % WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
- % The input dbj file contains one of the options
-%<nmft-it|nmft-sc|nmft-bf|nmft-def> % nmft-it, nmft-bf, nmft-sc, or nmft-def
-%<lab-it|lab-sc|lab-bf|lab-def> % lab-it, lab-bf, lab-sc, or lab-def
- % without the corresponding general option(s):
-%<nmft-it|nmft-sc|nmft-bf|nmft-def> % nmft
-%<lab-it|lab-sc|lab-bf|lab-def> % lab
- % (You may be using an older dbj with a newer version of merlin.mbs)
- % Please edit your dbj file to add the general option(s) and reprocess.
- %
-%</(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))>
-%<*!exlang>
-%<!babel> % This bibliography style file is intended for texts in ENGLISH
-%<*babel>
- % This bibliography style file requires a file named babelbst.tex
- % containing the definitions of word commands like \bbleditor, etc.
-%</babel>
-%</!exlang>
-%<*exlang>
- % This bibliography style file is intended for texts in
-%<bahasa> % BAHASA
-%<brazilian> % BRAZILIAN
-%<catalan> % CATALAN
-%<croatian> % CROATIAN
-%<czech> % CZECH
-%<danish> % DANISH
-%<dansk> % DANSK
-%<dutch> % DUTCH
-%<english> % ENGLISH
-%<esperanto> % ESPERANTO
-%<finnish> % FINNISH
-%<french> % FRENCH
-%<galacian> % GALACIAN
-%<german> % GERMAN
-%<hungarian> % HUNGARIAN
-%<italian> % ITALIAN
-%<norwegian> % NORWEGIAN
-%<norsk> % NORWEGIAN
-%<polski> % POLISH
-%<polish> % POLISH
-%<portuguese> % PORTUGUESE
-%<romanian> % ROMANIAN
-%<russian> % RUSSIAN
-%<slovak> % SLOVAK
-%<slovenian> % SLOVENIAN
-%<slovene> % SLOVENIAN
-%<spanish> % SPANISH
-%<swedish> % SWEDISH
-%<turkish> % TURKISH
-%</exlang>
-%<*!html>
-%<*ay>
- % This is an author-year citation style bibliography. As such, it is
- % non-standard LaTeX, and requires a special package file to function properly.
- % Such a package is natbib.sty by Patrick W. Daly
-%<*alk>
- % or: apalike.sty by Oren Patashnik
- % The form of the \bibitem entries is
- % \bibitem[Jones et al., 1990]{key}...
-%</alk>
-%<*!(har|ast|alk|cay|nmd|cn)>
- % The form of the \bibitem entries is
- % \bibitem[Jones et al.(1990)]{key}...
-%<nat> % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
- % The essential feature is that the label (the part in brackets) consists
- % of the author names, as they should appear in the citation, with the year
- % in parentheses following. There must be no space before the opening
- % parenthesis!
-%<nat> % With natbib v5.3, a full list of authors may also follow the year.
- % In natbib.sty, it is possible to define the type of enclosures that is
- % really wanted (brackets or parentheses), but in either case, there must
- % be parentheses in the label.
- % The \cite command functions as follows:
- % \citet{key} ==>> Jones et al. (1990)
-%<nat> % \citet*{key} ==>> Jones, Baker, and Smith (1990)
- % \citep{key} ==>> (Jones et al., 1990)
-%<nat> % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
- % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
- % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
- % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., 1990, p. 32)
- % \citeauthor{key} ==>> Jones et al.
-%<nat> % \citeauthor*{key} ==>> Jones, Baker, and Smith
- % \citeyear{key} ==>> 1990
-%</!(har|ast|alk|cay|nmd|cn)>
-%<*har>
- % or: harvard.sty by Peter Williams and Thorsten Schnier
-%<harnm> % (needs natbib v5.3 or harvard v2.0.3)
- % The form of the bibitem entries is
- % \harvarditem[Jones et al.]{Jones, Baker, and Smith}{1990}{key}...
-%</har>
-%<*cay>
- % or: chicago.sty
- % The form of the bibitem entries is
- % \bibitem[\protect\citeauthoryear{Jones, Baker, and Smith}
- % {Jones et al.}{1990}{key}...
-%</cay>
-%<*nmd>
- % or: named.sty
- % The form of the bibitem entries is
- % \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}...
-%</nmd>
-%<*ast>
- % or: astron.sty
- % The form of the bibitem entries is
- % \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}...
-%</ast>
-%<*cn>
- % or: authordate1-4.sty
- % The form of the bibitem entries is
- % \bibitem[\protect\citename{Jones et al.}1990]{key}...
-%</cn>
-%</ay>
-%<*!ay>
-%<*!alph&!cite>
- % This is a numerical citation style, and as such is standard LaTeX.
-%</!alph&!cite>
-%<*alph>
- % This is a labelled citation style similar to the standard alpha.bst,
- % where labels are of the form Dal90 or DBK89.
-%</alph>
-%<*cite&!alph>
- % This is a special pseudo-numerical bibliography style, intended to be
- % used to list all the entries in a bib database
-%</cite&!alph>
- % It requires no extra package to interface to the main text.
- % The form of the \bibitem entries is
-%<!alph&!cite> % \bibitem{key}...
-%<alph> % \bibitem[label]{key}...
-%<!alph&cite> % \bibitem[key]{key}...
-%<*!cite|alph>
- % Usage of \cite is as follows:
-%<*!alph&!cite>
- % \cite{key} ==>> [#]
- % \cite[chap. 2]{key} ==>> [#, chap. 2]
- % where # is a number determined by the ordering in the reference list.
-%</!alph&!cite>
-%<*alph>
- % \cite{key} ==>> [label]
- % \cite[chap. 2]{key} ==>> [label, chap. 2]
- % The order in the reference list is by label.
-%</alph>
-%<*seq-no&!alph>
- % The order in the reference list is that by which the works were originally
- % cited in the text, or that in the database.
-%</seq-no&!alph>
-%<*!seq-no&!alph>
- % The order in the reference list is alphabetical by authors.
-%</!seq-no&!alph>
-%</!cite|alph>
-%</!ay>
-%</!html>
-%<*html>
- % This bibliographic style file produces HTML output instead of LaTeX.
- % The LaTeX special characters are not translated, so that the output
- % (which has the .bbl ending still) will have to be further massaged,
- % and renamed with .html or .htm. The title and heading may also need
- % to be revised.
- %
-%<htlist&!htdes> % The output is a numbered list.
-%<htdes> % The output is an unnumbered list with the keys printed
-%<htdes> % before each entry.
-%<!htlist&!htdes> % The output is lists each entry as one paragraph.
-%</html>
- % -------------------------------------------------------------------
-
-% \end{macrocode}
-%
-% \begin{macro}{`ENTRY'}
-% The new \texttt{harvard.sty} of \LaTeXe{} includes an entry URL, or
-% rather it is included in the new \texttt{.bst} files for it. Add it
-% here too, but only for option \texttt{harnm}.
-%
-% Books normally have an ISBN number.
-% This entry is (optionally) included, modelled after that in
-% \texttt{xbtxbst.doc}.
-% \begin{macrocode}
-ENTRY
- { address
-%<annote> annote
-%<eprint> archive
- author
- booktitle
- chapter
-%<revdata> collaboration
-%<doi|url-doi> doi
- edition
- editor
- eid
-%<eprint> eprint
- howpublished
- institution
-%<isbn> isbn
-%<issn> issn
- journal
- key
-%<lang> language
- month
- note
- number
-%<revdata> numpages
- organization
- pages
- publisher
- school
- series
- title
- type
-%<url|harnm|revdata> url
- volume
- year
- }
- {}
-%<!ay&!alph> { label }
-%<!ay&alph> { label extra.label sort.label }
-%<ay> { label extra.label sort.label short.list }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-% \end{macrocode}
-%
-% \begin{macro}{`init.state.consts'}
-% \begin{macrocode}
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-% \end{macrocode}
-% \end{macro}
-%
-% |s| and |t| are general-purpose scratch registers whose value does not persist
-% past the end of a function. They also do not appear to be used to communicate
-% between functions or to be clobbered within a sub-function call. Hopefully.
-% \begin{macrocode}
-STRINGS { s t}
-% \end{macrocode}
-%
-% \begin{macro}{`output.nonnull'}
-% \begin{macrocode}
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
-%<!blk-com|(!com-semi&!com-blank)> { ", " * write$ }
-%<blk-com&com-semi> { "; " * write$ }
-%<blk-com&!com-semi&com-blank> { " " * write$ }
- { output.state after.block =
- { add.period$ write$
- newline$
-%<!html> "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`output'}
-% \begin{macrocode}
-FUNCTION {output}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`output.check'}
-% \begin{macrocode}
-FUNCTION {output.check}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`fin.entry'}
-% I have often been asked to add an annotation function. This suggestion is
-% from Soren Dayton; it inputs a file with the same name as the cite key, or
-% uses the text in the \texttt{annote} field. It will only work with \LaTeXe.
-% \begin{macrocode}
-FUNCTION {fin.entry}
-%<*!fin-bare>
-{ add.period$
- write$
-%</!fin-bare>
-%<*fin-bare>
-{ duplicate$ empty$
- 'pop$
- 'write$
- if$
-%</fin-bare>
-%<html&htdes> "</dd>" write$
-%<html&!htdes&htlist> "</li>" write$
-%<html&!htdes&!htlist> "</p>" write$
- newline$
-%<*annote>
-%<*!html>
- annote missing$
- { "\bibAnnoteFile{" cite$ * "}" * write$ newline$ }
- { "\bibAnnote{" cite$ * "}{" * annote * "}" * write$ newline$
- }
- if$
-%</!html>
-%<*html>
- "<blockquote><strong>Key:</strong> "
- cite$ * write$
- annote missing$
- { newline$ }
- { "<br><strong>Annotation:</strong>" write$ newline$
- annote write$ newline$
- }
- if$
- "</blockquote>" write$ newline$
-%</html>
-%</annote>
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`new.block'}
-% \begin{macrocode}
-FUNCTION {new.block}
-{ output.state before.all =
- 'skip$
- { after.block 'output.state := }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`new.sentence'}
-% \begin{macrocode}
-FUNCTION {new.sentence}
-{ output.state after.block =
- 'skip$
- { output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
- if$
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`add.blank'}
-% When text is printed with \texttt{output} or
-% \texttt{output.check}, the \texttt{output.state} is set such that
-% a comma will precede the next output text. For special effects, we want to
-% suppress this comma, inserting a blank instead. Hence the
-% \texttt{output.state} is changed to \texttt{before.all}, meaning no
-% punctuation is to be inserted.
-% \begin{macrocode}
-FUNCTION {add.blank}
-{ " " * before.all 'output.state :=
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`add.colon'}
-% \begin{macrocode}
-%<*au-col|tit-col>
-FUNCTION {add.colon}
-{ duplicate$ empty$
- 'skip$
- { ":" * add.blank }
- if$
-}
-
-%</au-col|tit-col>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`no.blank.or.punct'}
-% Another frill is to suppresss both blanks and punctuation. The |\hspace|
-% permits a line break at this point.
-% \begin{macrocode}
-%<*yrpp-xsp>
-FUNCTION {no.blank.or.punct}
-%<*!html>
-{ "\hspace{0pt}" * before.all 'output.state :=
-}
-%</!html>
-%<html>{ before.all 'output.state := }
-
-%</yrpp-xsp>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`date.block'}
-% The \texttt{date.block} function is used for special punctuating effects
-% after the date.
-% \begin{macrocode}
-FUNCTION {date.block}
-{
-%<*!yrp-x>
-%<yrp-col> ":" *
-%<*!yrp-col>
-%<yrp-semi> ";" *
-%<*!yrp-semi>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&!yrp-per> skip$
-%<(blk-com|blk-tit|blk-tita)&yrp-per> new.sentence
-%</!yrp-semi>
-%</!yrp-col>
-%</!yrp-x>
-%<*yrp-x|yrp-col|yrp-semi>
-%<!yrpp-xsp> add.blank
-%<yrpp-xsp> no.blank.or.punct
-%</yrp-x|yrp-col|yrp-semi>
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`not'}
-% \begin{macrocode}
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`and'}
-% \begin{macrocode}
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`or'}
-% \begin{macrocode}
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`non.stop'}
-% This function (my invention) tests if the last character in the string
-% on the stack is \texttt{. ! ?} by using \texttt{add.period\$}. It is to
-% be used for conditional italic correction or adding commas.
-% \begin{macrocode}
-%<*!tit-it&tit-qq>
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
-%</!tit-it&tit-qq>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`remove.dots'}
-% This macro removes any periods from the string on the stack. To be used
-% for undotting journal names, months, and juniors. Previously
-% \texttt{purify\$} was used for this, but that removes more than just
-% dots.
-%
-% May 2007, Joseph A. Wright (Morning Star, UK) contributed a revision to allow
-% the dot accent |\.| to be retained.
-% \begin{macrocode}
-%<*nm-rv|nm-rvx|nm-rvcx|mth-bare|jxper>
-STRINGS {z}
-
-FUNCTION {remove.dots}
-{ 'z :=
- ""
- { z empty$ not }
- { z #1 #2 substring$
- duplicate$ "\." =
- { z #3 global.max$ substring$ 'z := * }
- { pop$
- z #1 #1 substring$
- z #2 global.max$ substring$ 'z :=
- duplicate$ "." = 'pop$
- { * }
- if$
- }
- if$
- }
- while$
-}
-%</nm-rv|nm-rvx|nm-rvcx|mth-bare|jxper>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`new.block.checka'}
-% \begin{macrocode}
-%<*!ay>
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-%</!ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`new.block.checkb'}
-% \begin{macrocode}
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`new.sentence.checka'}
-% \begin{macrocode}
-%<*!ay>
-FUNCTION {new.sentence.checka}
-{ empty$
- 'skip$
- 'new.sentence
- if$
-}
-%</!ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`new.sentence.checkb'}
-% \begin{macrocode}
-%<*!ay>
-FUNCTION {new.sentence.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.sentence
- if$
-}
-%</!ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`field.or.null'}
-% \begin{macrocode}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`emphasize'}
-% Emphasis can be either italic or the alternating font. The font command
-% may be NFSS or regular \LaTeX~2.09 declarations.
-% \begin{macrocode}
-FUNCTION {emphasize}
-%<*!em-x>
-{ duplicate$ empty$
- { pop$ "" }
-%<html> { "<i>" swap$ * "</i>" * }
-%<*!html>
-%<em-ul> { "\uline{" swap$ * "}" * }
-%<*!em-ul>
-%<*!nfss>
-%<!em-it> { "{\em " swap$ * "\/}" * }
-%<em-it> { "{\it " swap$ * "\/}" * }
-%</!nfss>
-%<*nfss>
-%<!em-it> { "\emph{" swap$ * "}" * }
-%<em-it> { "\textit{" swap$ * "}" * }
-%</nfss>
-%</!em-ul>
-%</!html>
- if$
-}
-%</!em-x>
-%<em-x>{ skip$ }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`bolden'}
-% The bold font command may be NFSS or the regular \LaTeX~2.09 declaration.
-% \begin{macrocode}
-%<*nmft-bf|vol-bf|vol-2bf|lab-bf|dtbf|pres-bf>
-FUNCTION {bolden}
-{ duplicate$ empty$
- { pop$ "" }
-%<html> { "<b>" swap$ * "</b>" * }
-%<*!html>
-%<!nfss> { "{\bf " swap$ * "}" * }
-%<nfss> { "\textbf{" swap$ * "}" * }
-%</!html>
- if$
-}
-%</nmft-bf|vol-bf|vol-2bf|lab-bf|dtbf|pres-bf>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`scaps'}
-% To put text into small caps.
-% \begin{macrocode}
-%<*lab-sc|nmft-sc|pres-sc>
-FUNCTION {scaps}
-{ duplicate$ empty$
- { pop$ "" }
-%<html> { skip$ }
-%<*!html>
-%<!nfss> { "{\sc " swap$ * "}" * }
-%<nfss> { "\textsc{" swap$ * "}" * }
-%</!html>
- if$
-}
-%</lab-sc|nmft-sc|pres-sc>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`bib.name.font'}
-% \begin{macro}{`bib.fname.font'}
-% \begin{macro}{`cite.name.font'}
-% Define functions for formatting the author/editor names, one for the
-% surnames (\texttt{bib.name.font}) and one for the first names
-% (\texttt{bib.fname.font}). These could be identical, or the latter is
-% deactivated if first names are not to be formatted, only the last names.
-%
-% For citations, we have \texttt{cite.name.font}. Here only surnames appear.
-%
-% It is also possible to have a user-defined font command for each, which the
-% user must define in his work. These are |\bibnamefont{}| and |\bibfnamefont{}|,
-% and some defaults are provided that simply repeat the arguments. Two commands
-% are needed if \texttt{nmft-def} and \texttt{fnm-def} are both given.
-%
-% If neither \texttt{fnm-def} nor \texttt{fnm-rm} are given, then the first names
-% are formatted the same as the surnames.
-% \begin{macrocode}
-%<*nmft>
-FUNCTION {bib.name.font}
-%<nmft-it>{ emphasize }
-%<!nmft-it&nmft-bf>{ bolden }
-%<!nmft-it&!nmft-bf&nmft-sc>{ scaps }
-%<*!nmft-it&!nmft-bf&!nmft-sc&nmft-def>
-{ duplicate$ empty$
- { pop$ "" }
-%<!html> { "\bibnamefont{" swap$ * "}" * }
-%<html> { skip$ }
- if$
-}
-%</!nmft-it&!nmft-bf&!nmft-sc&nmft-def>
-FUNCTION {bib.fname.font}
-%<!fnm-rm&!fnm-def>{ bib.name.font }
-%<fnm-rm>{ skip$ }
-%<*!fnm-rm&fnm-def>
-{ duplicate$ empty$
- { pop$ "" }
-%<!html> { "\bibfnamefont{" swap$ * "}" * }
-%<html> { skip$ }
- if$
-}
-%</!fnm-rm&fnm-def>
-%</nmft>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*lab>
-FUNCTION {cite.name.font}
-%<lab-it>{ emphasize }
-%<!lab-it&lab-bf>{ bolden }
-%<!lab-it&!lab-bf&lab-sc>{ scaps }
-%<*!lab-it&!lab-bf&!lab-sc&lab-def>
-{ duplicate$ empty$
- { pop$ "" }
-%<!html> { "\citenamefont{" swap$ * "}" * }
-%<html> { skip$ }
- if$
-}
-%</!lab-it&!lab-bf&!lab-sc&lab-def>
-%</lab>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{`tie.or.space.prefix'}
-% The function \texttt{tie.or.space.prefix} determines whether
-% the top item on the stack requires a tie character and
-% slips that (or a space character if not) ahead of it.
-% At this point a font switch or other function can be applied to
-% the top item on the stack, and the appropriate space found
-% just ahead of it on the stack.
-%
-% The sequence \texttt{tie.or.space.prefix} \texttt{*} \texttt{*} is a common idiom
-% for joining the top two stack objects with a tie or space
-% depending on the length of the top object.
-%
-% Another idiom is to apply \texttt{tie.or.space.prefix}, apply a font switch,
-% and then swap and join. In this case the tie or space follows the object.
-% \begin{macrocode}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`capitalize'}
-% Capitalizing is easy for regular languages, but for \texttt{babel},
-% some trickery stuff is needed; definitions of |\capitalize| and
-% |\Capitalize| are written to the \texttt{.bbl} file.
-% \begin{macrocode}
-
-FUNCTION {capitalize}
-%<!babel>{ "u" change.case$ "t" change.case$ }
-%<babel>{ "\capitalize" swap$ * }
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`space.word'}
-% The function \texttt{space.word} adds a space before and after the word or
-% words currently on the stack. This was added for the \texttt{bbl.}$nnn$
-% functions, that contain only a word without spacing, but replace explicit
-% text in the originals that were spaced out. Its seems more flexible to
-% define the word functions to be without spacing.
-% \begin{macrocode}
-FUNCTION {space.word}
-{ " " swap$ * " " * }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
- % Here are the language-specific definitions for explicit words.
- % Each function has a name bbl.xxx where xxx is the English word.
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*!exlang>
-% \end{macrocode}
-%
-% \begin{macro}{`bbl.xxx'}
-% These are the default English words. There is no default language
-% option: one of \texttt{english} or \texttt{babel} must be given.
-% \begin{macrocode}
-%<*!babel>
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-%<!varand|html>{ "and"}
-%<varand&!html>{ "\protect\BIBand{}"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-%<!ed>{ "editors" }
-%<ed>{ "eds." }
-
-FUNCTION {bbl.editor}
-%<!ed>{ "editor" }
-%<ed>{ "ed." }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-%<!abr>{ "edition" }
-%<abr&!ednx>{ "edn." }
-%<abr&ednx>{ "ed." }
-
-FUNCTION {bbl.volume}
-%<!abr>{ "volume" }
-%<abr>{ "vol." }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-%<!abr>{ "number" }
-%<abr>{ "no." }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-%<!pp&!ppx>{ "pages" }
-%<pp>{ "pp." }
-%<!pp&ppx>{ "" }
-
-FUNCTION {bbl.page}
-%<!pp&!ppx>{ "page" }
-%<pp>{ "p." }
-%<!pp&ppx>{ "" }
-
-%<*revdata>
-FUNCTION {bbl.eidpp}
-{ "pages" }
-
-%</revdata>
-FUNCTION {bbl.chapter}
-%<!abr>{ "chapter" }
-%<abr>{ "chap." }
-
-FUNCTION {bbl.techrep}
-%<!abr>{ "Technical Report" }
-%<abr>{ "Tech. Rep." }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-%<*!xedn>
-FUNCTION {bbl.first}
-%<!ord>{ "First" }
-%<ord>{ "1st" }
-
-FUNCTION {bbl.second}
-%<!ord>{ "Second" }
-%<ord>{ "2nd" }
-
-FUNCTION {bbl.third}
-%<!ord>{ "Third" }
-%<ord>{ "3rd" }
-
-FUNCTION {bbl.fourth}
-%<!ord>{ "Fourth" }
-%<ord>{ "4th" }
-
-FUNCTION {bbl.fifth}
-%<!ord>{ "Fifth" }
-%<ord>{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-%</!xedn>
-%<*!abr>
-MACRO {jan} {"January"}
-
-MACRO {feb} {"February"}
-
-MACRO {mar} {"March"}
-
-MACRO {apr} {"April"}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"June"}
-
-MACRO {jul} {"July"}
-
-MACRO {aug} {"August"}
-
-MACRO {sep} {"September"}
-
-MACRO {oct} {"October"}
-
-MACRO {nov} {"November"}
-
-MACRO {dec} {"December"}
-
-%</!abr>
-%<*abr>
-MACRO {jan} {"Jan."}
-
-MACRO {feb} {"Feb."}
-
-MACRO {mar} {"Mar."}
-
-MACRO {apr} {"Apr."}
-
-MACRO {may} {"May"}
-
-MACRO {jun} {"Jun."}
-
-MACRO {jul} {"Jul."}
-
-MACRO {aug} {"Aug."}
-
-MACRO {sep} {"Sep."}
-
-MACRO {oct} {"Oct."}
-
-MACRO {nov} {"Nov."}
-
-MACRO {dec} {"Dec."}
-
-%</abr>
-%</!babel>
-% \end{macrocode}
-%
-% Here are the definitions for \texttt{babel} option, i.e., explicit
-% translations are not used, but rather only \LaTeX{} macros that must be
-% defined in the file \texttt{babelbst.tex}. This could allow automatic
-% language selection.
-% \begin{macrocode}
-%<*babel>
- % The BABEL language selection is made here; definitions in babelbst.tex.
-FUNCTION {bbl.and}
-{ "\bbland{}"}
-
-FUNCTION {bbl.etal}
-{ "\bbletal{}"}
-
-FUNCTION {bbl.editors}
-%<!ed>{ "\bbleditors{}" }
-%<ed>{ "\bbleds{}" }
-
-FUNCTION {bbl.editor}
-%<!ed>{ "\bbleditor{}" }
-%<ed>{ "\bbled{}" }
-
-FUNCTION {bbl.edby}
-{ "\bbledby{}" }
-
-FUNCTION {bbl.edition}
-%<!abr>{ "\bbledition{}" }
-%<abr>{ "\bbledn{}" }
-
-FUNCTION {bbl.volume}
-%<!abr>{ "\bblvolume{}" }
-%<abr>{ "\bblvol{}" }
-
-FUNCTION {bbl.of}
-{ "\bblof{}" }
-
-FUNCTION {bbl.number}
-%<!abr>{ "\bblnumber{}" }
-%<abr>{ "\bblno{}" }
-
-FUNCTION {bbl.nr}
-{ "\bblno{}" }
-
-FUNCTION {bbl.in}
-{ "\bblin{}" }
-
-FUNCTION {bbl.pages}
-%<!pp&!ppx>{ "\bblpages{}" }
-%<pp>{ "\bblpp{}" }
-%<!pp&ppx>{ "" }
-
-FUNCTION {bbl.page}
-%<!pp&!ppx>{ "\bblpage{}" }
-%<pp>{ "\bblp{}" }
-%<!pp&ppx>{ "" }
-
-FUNCTION {bbl.chapter}
-%<!abr>{ "\bblchapter{}" }
-%<abr>{ "\bblchap{}" }
-
-FUNCTION {bbl.techrep}
-%<!abr>{ "\bbltechreport{}" }
-%<abr>{ "\bbltechrep{}" }
-
-FUNCTION {bbl.mthesis}
-{ "\bblmthesis{}" }
-
-FUNCTION {bbl.phdthesis}
-{ "\bblphdthesis{}" }
-
-%<*revdata>
-FUNCTION {bbl.eidpp}
-{ "\bbleidpp{}" }
-
-%</revdata>
-%<*!xedn>
-FUNCTION {bbl.first}
-%<!ord>{ "\bblfirst{}" }
-%<ord>{ "\bblfirsto{}" }
-
-FUNCTION {bbl.second}
-%<!ord>{ "\bblsecond{}" }
-%<ord>{ "\bblsecondo{}" }
-
-FUNCTION {bbl.third}
-%<!ord>{ "\bblthird{}" }
-%<ord>{ "\bblthirdo{}" }
-
-FUNCTION {bbl.fourth}
-%<!ord>{ "\bblfourth{}" }
-%<ord>{ "\bblfourtho{}" }
-
-FUNCTION {bbl.fifth}
-%<!ord>{ "\bblfifth{}" }
-%<ord>{ "\bblfiftho{}" }
-
-FUNCTION {bbl.st}
-{ "\bblst{}" }
-
-FUNCTION {bbl.nd}
-{ "\bblnd{}" }
-
-FUNCTION {bbl.rd}
-{ "\bblrd{}" }
-
-FUNCTION {bbl.th}
-{ "\bblth{}" }
-
-%</!xedn>
-MACRO {jan} {"\bbljan{}"}
-
-MACRO {feb} {"\bblfeb{}"}
-
-MACRO {mar} {"\bblmar{}"}
-
-MACRO {apr} {"\bblapr{}"}
-
-MACRO {may} {"\bblmay{}"}
-
-MACRO {jun} {"\bbljun{}"}
-
-MACRO {jul} {"\bbljul{}"}
-
-MACRO {aug} {"\bblaug{}"}
-
-MACRO {sep} {"\bblsep{}"}
-
-MACRO {oct} {"\bbloct{}"}
-
-MACRO {nov} {"\bblnov{}"}
-
-MACRO {dec} {"\bbldec{}"}
-
-%</babel>
-% \end{macrocode}
-%
-% \begin{macro}{`eng.ord'}
-% This function adds English endings for ordinals 1, 2, 3. However, if
-% the second last digit is 1, then the ending is `th' for all last digits.
-% So far, all other languages included do not have this problem, and it is
-% sufficient to add the \textsl{th} equivalent. This might change with further
-% languages.
-%
-% This function must be included with \texttt{babel} too, since that includes
-% English. This means that the language definition files must also provide
-% for |\bblst|, |\bblnd|, and |\bblrd|, setting them all equal to |\bblth|.
-%
-% \begin{macrocode}
-%<*(english|!exlang)&!xedn>
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-%</(english|!exlang)&!xedn>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</!exlang>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</!tail>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*!head>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%<*!jabr>
-MACRO {acmcs} {"ACM Computing Surveys"}
-
-MACRO {acta} {"Acta Informatica"}
-
-MACRO {cacm} {"Communications of the ACM"}
-
-MACRO {ibmjrd} {"IBM Journal of Research and Development"}
-
-MACRO {ibmsj} {"IBM Systems Journal"}
-
-MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
-
-MACRO {ieeetc} {"IEEE Transactions on Computers"}
-
-MACRO {ieeetcad}
- {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
-
-MACRO {ipl} {"Information Processing Letters"}
-
-MACRO {jacm} {"Journal of the ACM"}
-
-MACRO {jcss} {"Journal of Computer and System Sciences"}
-
-MACRO {scp} {"Science of Computer Programming"}
-
-MACRO {sicomp} {"SIAM Journal on Computing"}
-
-MACRO {tocs} {"ACM Transactions on Computer Systems"}
-
-MACRO {tods} {"ACM Transactions on Database Systems"}
-
-MACRO {tog} {"ACM Transactions on Graphics"}
-
-MACRO {toms} {"ACM Transactions on Mathematical Software"}
-
-MACRO {toois} {"ACM Transactions on Office Information Systems"}
-
-MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
-
-MACRO {tcs} {"Theoretical Computer Science"}
-%</!jabr>
-% \end{macrocode}
-%
-% Journal abbreviations have been revised from the original Patashnik
-% ones with help of Conrado Badenas and the IUA recommendations.
-% \begin{macrocode}
-%<*jabr>
-MACRO {acmcs} {"ACM Comput. Surv."}
-
-MACRO {acta} {"Acta Inf."}
-
-MACRO {cacm} {"Commun. ACM"}
-
-MACRO {ibmjrd} {"IBM J. Res. Dev."}
-
-MACRO {ibmsj} {"IBM Syst.~J."}
-
-MACRO {ieeese} {"IEEE Trans. Software Eng."}
-
-MACRO {ieeetc} {"IEEE Trans. Comput."}
-
-MACRO {ieeetcad}
- {"IEEE Trans. Comput. Aid. Des."}
-
-MACRO {ipl} {"Inf. Process. Lett."}
-
-MACRO {jacm} {"J.~ACM"}
-
-MACRO {jcss} {"J.~Comput. Syst. Sci."}
-
-MACRO {scp} {"Sci. Comput. Program."}
-
-MACRO {sicomp} {"SIAM J. Comput."}
-
-MACRO {tocs} {"ACM Trans. Comput. Syst."}
-
-MACRO {tods} {"ACM Trans. Database Syst."}
-
-MACRO {tog} {"ACM Trans. Graphic."}
-
-MACRO {toms} {"ACM Trans. Math. Software"}
-
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}
-
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
-
-MACRO {tcs} {"Theor. Comput. Sci."}
-
-%</jabr>
-% \end{macrocode}
-%
-% \begin{macro}{`bibinfo.check'}
-% Define functions that encapsulate the argument
-% in a \TeX\ macro that allows for further processing when the
-% bibliography is processed, or allows for a separate computer
-% program to parse the |\bibitem| contents.
-%
-% The following table summarizes how each of the \btx{} entries
-% is accessed for output; these are the points where
-% the \texttt{format.bibinfo} or \texttt{bibinfo.check} functions
-% are called.
-% \subsubsection*{Trapped via \texttt{format.bibinfo}}
-% \begin{description}
-% \item[ \texttt{author} ]\texttt{format.names}
-% \item[ \texttt{collaboration} ]\texttt{format.authors}
-% \item[ \texttt{editor} ]\texttt{format.editors} (\texttt{book}, \texttt{inbook}, \texttt{proceedings}), \texttt{format.names.ed} (\texttt{format.in.ed.booktitle})
-% \item[ \texttt{eid} ]\texttt{format.journal.eid} (\texttt{format.vol.num.pages}, article) checks the output from \texttt{format.journal.pages}
-% \item[ \texttt{isbn} ]\texttt{format.isbn}
-% \item[ \texttt{issn} ]\texttt{format.issn}
-% \item[ \texttt{journal} ]\texttt{format.article.crossref}, article
-% \item[ \texttt{numpages} ]\texttt{format.journal.eid}
-% \item[ \texttt{organization} ]\texttt{format.organization.address} (\texttt{inproceedings}, \texttt{proceedings}), \texttt{manual}
-% \item[ \texttt{pages} ]\texttt{format.book}.pages (\texttt{book}, \texttt{booklet}), \texttt{format.pages} (\texttt{format.journal.pages}, \texttt{format.chapter.pages}, \texttt{article}, \texttt{inbook}, \texttt{incollection}, \texttt{inproceedings})
-% \item[ \texttt{publisher} ]\texttt{format.publisher.address} (like \texttt{output.check}, \texttt{inproceedings}, \texttt{proceedings})
-% \item[ \texttt{title} ]\texttt{format.title}, \texttt{format.btitle}, \texttt{misc}, \texttt{presort}, \texttt{bib.sort.order}
-% \item[ \texttt{volume} ]\texttt{format.bvolume}, \texttt{format.vol.num.pages}, \texttt{format.book.crossref}
-% \item[ \texttt{year} ]in optional argument of \texttt{\char`\\bibitem}, \texttt{format.date} (as part of date), \texttt{format.year}, \texttt{format.org.or.pub}
-% \item[ \texttt{booktitle} ]\texttt{format.in.ed.booktitle} (\texttt{incollection}, \texttt{inproceedings}), \texttt{format.incoll.inproc.crossref}
-% \item[ \texttt{howpublished} ]\texttt{booklet}, \texttt{misc}
-% \item[ \texttt{edition} ]\texttt{convert.edition.format.edition}
-% \item[ \texttt{institution} ]\texttt{techreport}
-% \item[ \texttt{school} ]\texttt{mastersthesis}, \texttt{phdthesis}
-% \item[ \texttt{address} ]\texttt{format.org.or.pub}, \texttt{booklet}, \texttt{manual}, \texttt{mastersthesis}, \texttt{phdthesis}, \texttt{techreport}
-% \item[ \texttt{chapter} ]\texttt{format.chapter.pages}
-% \item[ \texttt{number} ]\texttt{format.number.series}, \texttt{format.vol.num.pages}, \texttt{format.tr.number}
-% \item[ \texttt{series} ]\texttt{format.bvolume}, \texttt{format.number.series}, \texttt{format.book.crossref}
-% \item[ \texttt{type} ]\texttt{format.chapter.pages}, \texttt{format.thesis.type}, \texttt{format.tr.number}
-% \item[ \texttt{month} ]\texttt{format.date}
-% \item[ \texttt{note} ]\texttt{format.note}
-% \item[ \texttt{annote} ]\texttt{fin.entry}
-% \end{description}
-%
-% \subsubsection*{Encapsulated via \texttt{\char`\\url}}
-% \begin{description}
-% \item[ \texttt{url} ]\texttt{format.url} (\texttt{\char`\\harvardurl}, \texttt{\char`\\url}), \texttt{format.url} (\texttt{\char`\\url}), \texttt{format.note} (\texttt{\char`\\url})
-% \end{description}
-%
-% \subsubsection*{Encapsulated via \texttt{\char`\\doi}}
-% \begin{description}
-% \item[ \texttt{doi} ]\texttt{format.doi} (\texttt{\char`\\doi})
-% \end{description}
-%
-% \subsubsection*{Encapsulated via \texttt{\char`\\eprint}}
-% \begin{description}
-% \item[ \texttt{eprint} ]\texttt{format.eprint}
-% \item[ \texttt{archive} ]\texttt{format.eprint}
-% \end{description}
-%
-% \subsubsection*{Not encapsulated:}
-% \begin{description}
-% \item[ \texttt{key} ]cite key
-% \item[ \texttt{language} ]operand of \texttt{\char`\\selectlanguage}
-% \end{description}
-%
-% \subsubsection*{\texttt{bibinfo} tag, but not a \btx{} field}
-% \begin{description}
-% \item[ \texttt{date} ]\texttt{format.date}
-% \end{description}
-%
-% Provides robust access to fields, checking against \texttt{missing\$}
-% and \texttt{empty\$}. A \dtx{} option allows giving
-% a warning if either is the case.
-%
-% If not, it encapsulates the argument in a \TeX\ macro |\bibinfo|.
-% The encapsulation is enabled by the \texttt{bibinfo} \dtx{} option:
-% if turned off, it simply pops the unneeded object.
-%
-% \texttt{field} \texttt{string} \texttt{->} \texttt{encapsulated-field}
-%
-% \texttt{empty} \texttt{string} \texttt{->} \texttt{empty}
-% Side effect: warning.
-% \begin{macrocode}
-FUNCTION {bibinfo.check}
-{ swap$
- duplicate$ missing$
- {
-%<bibinfo.warning> swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
-%<!bibinfo.warning> pop$ pop$
- ""
- }
- { duplicate$ empty$
- {
-%<bibinfo.warning> swap$ "empty " swap$ * " in " * cite$ * warning$
-%<!bibinfo.warning> swap$ pop$
- }
- { swap$
-%<bibinfo> "\bibinfo{" swap$ * "}{" * swap$ * "}" *
-%<!bibinfo> pop$
- }
- if$
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`bibinfo.warn'}
-% Replaces \texttt{output.check}
-% with \texttt{bibinfo.warn} followed by \texttt{output}.
-%
-% \texttt{field} \texttt{string} \texttt{->} \texttt{encapsulated-field}
-%
-% \texttt{empty} \texttt{string} \texttt{->} \texttt{empty}
-%
-% Side effect: warning if the field is empty.
-% Note: if the \dtx{} option \texttt{bibinfo} is not in effect,
-% then no encapsulation is done.
-% \begin{macrocode}
-FUNCTION {bibinfo.warn}
-{ swap$
- duplicate$ missing$
- {
- swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
- ""
- }
- { duplicate$ empty$
- {
- swap$ "empty " swap$ * " in " * cite$ * warning$
- }
- { swap$
-%<bibinfo> "\bibinfo{" swap$ * "}{" * swap$ * "}" *
-%<!bibinfo> pop$
- }
- if$
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.eprint'}
-% The access function for the \texttt{eprint} field.
-%
-% If the \texttt{bibinfo} \dtx{} option is selected, then this function
-% encapsulates the argument in a \TeX\ macro |\eprint|.
-%
-% \texttt{->} \texttt{encapsulated-URL}
-% \begin{macrocode}
-%<*eprint>
-FUNCTION {format.eprint}
-{ eprint duplicate$ empty$
- 'skip$
- { "\eprint"
- archive empty$
- 'skip$
- { "[" * archive * "]" * }
- if$
- "{" * swap$ * "}" *
- }
- if$
-}
-%</eprint>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`write.url'}
-% This function taken over from \texttt{agsm.sty}, the main \texttt{harvard}
-% bib style. For non-Harvard styles that want to add the URL on a new line
-% after the reference, use this function too, but defined slightly
-% differently.
-% \begin{macrocode}
-%<*(harnm|url-nl)&!revdata>
-FUNCTION {write.url}
-%<*!html>
-{
-%<*url-doi&url>
- doi empty$
- { url }
- { "http://dx.doi.org/" doi * }
- if$
-%</url-doi&url>
-%<!url-doi|!url> url
- duplicate$ empty$
- { pop$ }
-%<harnm> { "\newline\harvardurl{" swap$ * "}" * write$ newline$ }
-%<!harnm&url-nl> { "\newline\urlprefix\url{" swap$ * "}" * write$ newline$ }
- if$
-}
-%</!html>
-%<*html>
-{
-%<*url-doi&url>
- doi empty$
- { url }
- { "http://dx.doi.org/" doi * }
- if$
-%</url-doi&url>
-%<!url-doi|!url> url
- duplicate$ empty$
- { pop$ }
- { duplicate$ "<br><a href=" quote$ * swap$ * quote$
- * ">" * swap$ * "</a>" * write$ newline$ }
- if$
-}
-%</html>
-
-%</(harnm|url-nl)&!revdata>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.url'}
-% This function is reworked for \texttt{\filename} to provide a
-% cleaner URL for DOIs. The definition of \cmd{\urldoi} is written in
-% the \texttt{.bbl} file by the function \texttt{begin.bib}. When the
-% package \pkg{hyperref} is loaded, the \meta{doi} is a hyperlink to
-% \texttt{https://doi.org/\meta{doi}}.
-% \begin{macrocode}
-%<*(url-blk&!harnm)|revdata>
-FUNCTION {format.url}
-{
-%<url-doi&url> doi empty$
-%<url-doi&url> {
- url
- duplicate$ empty$
- { pop$ "" }
-%<!html> { "\urlprefix\url{" swap$ * "}" * }
-%<html> {
-%<html> duplicate$ "<a href=" quote$ * swap$ * quote$ *
-%<html> ">" * swap$ * "</a>" *
-%<html> }
- if$
-%<*url-doi&url>
- }
- {
- doi
-%<!html> "\doiprefix\urldoi{" swap$ * "}" *
-%<html> duplicate$ "doi:<a href=" quote$ * "https://doi.org/" *
-%<html> swap$ * quote$ * ">" * swap$ * "</a>" *
- }
- if$
-%</url-doi&url>
-}
-
-%</(url-blk&!harnm)|revdata>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`check.speaker'}
-% The \texttt{presentation} type uses the \texttt{key} entry to indicate which
-% author is the speaker, as the sequence number in the author list. The speaker's
-% name is put into a different font, depending on the extra option. If no font
-% is specified, all names are the same.
-% \begin{macrocode}
-INTEGERS { nameptr namesleft numnames }
-
-%<*pres-bf|pres-it|pres-sc>
-FUNCTION {check.speaker}
-{ key empty$ 'skip$
- { key nameptr int.to.str$ =
- {
-%<pres-bf> bolden
-%<pres-it&!pres-bf> emphasize
-%<pres-sc&!pres-it&!pres-bf> scaps
- }
- 'skip$
- if$
- }
- if$
-}
-
-%</pres-bf|pres-it|pres-sc>
-% \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{`format.names'}
-% The \texttt{harvard} package now (version 2.0.3, for \LaTeXe) uses
-% |\harvardand| in place of the word \textsl{and} so that it can be changed
-% at run time. This is allowed for with the option \texttt{harnm}, which
-% need not be used only with the \texttt{har} option.
-% This seems like a useless feature for \texttt{.bst} files made from
-% this multilanguage source. However, it is included anyway, which means
-% if \texttt{harnm} option selected, one must redefine |\harvardand|
-% in the document for the language being used.
-%
-% The location of the junior part for reversed name is not obvious. Prior
-% to version 4.0, I always had it attached to the last name, as
-% Smith, Jr, John, put it probably is better as Smith, John, Jr. For the
-% AGU \texttt{nm-rev1} I always did it this way, probably because I had a
-% good AGU example to follow. Dilemma: do I just change them all or add an
-% option to do it? The option will maintain consistency with older
-% versions, but this could also be considered a bug fix rather than a new
-% feature. Solution: use the option, since I have found other \texttt{.bst}
-% files from Beebe and Harvard that put junior between surname and first
-% name.
-%
-% |bibinfo| is a variable used to store a string telling it whether the
-% names being formatted are authors or editors, since this function is called
-% for both purposes. Every call to this function must push the string onto the stack
-% just before the call.
-% \begin{macrocode}
-STRINGS { bibinfo}
-
-% \end{macrocode}
-%
-% Stack note: if the names argument is a non-nil list, this function returns
-% one object on the stack, the formatted list of names.
-%
-% \texttt{names`string} \texttt{bibinfo`string} \texttt{->} \texttt{author-list`string}
-% \begin{macrocode}
-FUNCTION {format.names}
-{ 'bibinfo :=
- duplicate$ empty$ 'skip$ {
- 's :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
-% \end{macrocode}
-% Here is the author formatting when the names are not set in any special
-% font, or when the entire name set in a single special font.
-% \begin{macrocode}
-%<*!(nmft&(fnm-rm|fnm-def))>
-%<*!nm-rev1&!nm-revv1>
-%<nm-init> "{f.~}{vv~}{ll}{, jj}"
-%<*!nm-init>
-%<nm-rev&!jnrlst> "{vv~}{ll}{, jj}{, f.}"
-%<nm-rev&jnrlst> "{vv~}{ll}{, f.}{, jj}"
-%<*!nm-rev>
-%<nm-rv&!jnrlst> "{vv~}{ll}{ jj}{ f{~}}"
-%<nm-rv&jnrlst> "{vv~}{ll}{ f{~}}{ jj}"
-%<*!nm-rv>
-%<nm-rvx&!jnrlst> "{vv~}{ll}{ jj}{ f{}}"
-%<nm-rvx&jnrlst> "{vv~}{ll}{ f{}}{ jj}"
-%<*!nm-rvx>
-%<nm-rvcx&!jnrlst> "{vv~}{ll}{, jj}{, f{}}"
-%<nm-rvcx&jnrlst> "{vv~}{ll}{, f{}}{, jj}"
-%<*!nm-rvcx>
-%<nm-rvv&!jnrlst> "{vv~}{ll}{ jj}{ f{.}.}"
-%<nm-rvv&jnrlst> "{vv~}{ll}{ f{.}.}{ jj}"
-%<*!nm-rvv>
-%<nm-rvvc&!jnrlst> "{vv~}{ll}{, jj}{, f{.}.}"
-%<nm-rvvc&jnrlst> "{vv~}{ll}{, f{.}.}{, jj}"
-%<*!nm-rvvc>
-%<nm-revf&!jnrlst> "{vv~}{ll}{, jj}{, ff}"
-%<nm-revf&jnrlst> "{vv~}{ll}{, ff}{, jj}"
-%<*!nm-revf>
- "{ff~}{vv~}{ll}{, jj}"
-%</!nm-revf>
-%</!nm-rvvc>
-%</!nm-rvv>
-%</!nm-rvcx>
-%</!nm-rvx>
-%</!nm-rv>
-%</!nm-rev>
-%</!nm-init>
-%</!nm-rev1&!nm-revv1>
-%<*nm-rev1>
- duplicate$ #1 >
- { "{f.~}{vv~}{ll}{, jj}" }
-%<!jnrlst> { "{vv~}{ll}{, jj}{, f.}" }
-%<jnrlst> { "{vv~}{ll}{, f.}{, jj}" }
- if$
-%</nm-rev1>
-%<*!nm-rev1&nm-revv1>
- duplicate$ #1 >
- { "{ff~}{vv~}{ll}{, jj}" }
-%<!jnrlst> { "{vv~}{ll}{, jj}{, ff}" }
-%<jnrlst> { "{vv~}{ll}{, ff}{, jj}" }
- if$
-%</!nm-rev1&nm-revv1>
- format.name$
-%<nm-rv|nm-rvx> remove.dots
-%<nmft&nmand-rm> bib.name.font
-%</!(nmft&(fnm-rm|fnm-def))>
-% \end{macrocode}
-% Here is the author formatting when the first and last names are
-% set in (possibly different) special fonts.
-%
-% The junior part is optionally between the reversed names, or after them.
-% \begin{macrocode}
-%<*nmft&(fnm-rm|fnm-def)>
-%<*!nm-rev1&!nm-revv1>
-%<*nm-init>
- "{f.}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
-%</nm-init>
-%<*!nm-init>
-%<*nm-rev>
- "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj, }{f.}"
-%<jnrlst> "{f.}{, jj}"
- format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
-%</nm-rev>
-%<*!nm-rev>
-%<*nm-rv>
- "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj }{f{~}}"
-%<jnrlst> "{f{~}}{ jj}"
- format.name$ duplicate$ empty$ 'skip$
- { remove.dots bib.fname.font " " swap$ * }
- if$
-%</nm-rv>
-%<*!nm-rv>
-%<*nm-rvx>
- "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj }{f{}}"
-%<jnrlst> "{f{}}{ jj}"
- format.name$ duplicate$ empty$ 'skip$
- { remove.dots bib.fname.font " " swap$ * }
- if$
-%</nm-rvx>
-%<*!nm-rvx>
-%<*nm-rvcx>
- "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj, }{f{}}"
-%<jnrlst> "{f{}}{, jj}"
- format.name$ duplicate$ empty$ 'skip$
- { remove.dots bib.fname.font ", " swap$ * }
- if$
-%</nm-rvcx>
-%<*!nm-rvcx>
-%<*nm-rvv>
- "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj }{f{.}.}"
-%<jnrlst> "{f{.}.}{ jj}"
- format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font " " swap$ * }
- if$
-%</nm-rvv>
-%<*!nm-rvv>
-%<*nm-rvvc>
- "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj, }{f{.}.}"
-%<jnrlst> "{f{.}.}{, jj}"
- format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
-%</nm-rvvc>
-%<*!nm-rvvc>
-%<*nm-revf>
- "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj, }{ff}"
-%<jnrlst> "{ff}{, jj}"
- format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
-%</nm-revf>
-%<*!nm-revf>
- "{ff}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
-%</!nm-revf>
-%</!nm-rvvc>
-%</!nm-rvv>
-%</!nm-rvcx>
-%</!nm-rvx>
-%</!nm-rv>
-%</!nm-rev>
-%</!nm-init>
-%</!nm-rev1&!nm-revv1>
-%<*nm-rev1>
- nameptr #1 >
- { "{f.}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
- }
- { "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj, }{f.}"
-%<jnrlst> "{f.}{, jj}"
- format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
- }
- if$
-%</nm-rev1>
-%<*!nm-rev1&nm-revv1>
- nameptr #1 >
- { "{ff}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
- }
- { "{vv~}{ll}" format.name$ bib.name.font
- s nameptr
-%<!jnrlst> "{jj, }{ff}"
-%<jnrlst> "{ff}{, jj}"
- format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
- }
- if$
-%</!nm-rev1&nm-revv1>
- *
-%</nmft&(fnm-rm|fnm-def)>
- bibinfo bibinfo.check
-%<*pres-bf|pres-it|pres-sc>
- type$ "presentation" =
- { check.speaker }
- 'skip$
- if$
-%</pres-bf|pres-it|pres-sc>
- 't :=
- nameptr #1 >
- {
-%<*nmlm>
-%<m1> nameptr #1
-%<m2> nameptr #2
-%<m3> nameptr #3
-%<m4> nameptr #4
-%<m5> nameptr #5
-%<m6> nameptr #6
-%<m7> nameptr #7
-%<m8> nameptr #8
-%<m9> nameptr #9
-%<m0> nameptr #0
-%<m10> #10 +
-%<m20> #20 +
-%<m30> #30 +
-%<m40> #40 +
-%<m50> #50 +
-%<m60> #60 +
-%<m70> #70 +
-%<m80> #80 +
-%<m90> #90 +
- #1 + =
-%<x1> numnames #1
-%<x2> numnames #2
-%<x3> numnames #3
-%<x4> numnames #4
-%<x5> numnames #5
-%<x6> numnames #6
-%<x7> numnames #7
-%<x8> numnames #8
-%<x9> numnames #9
-%<x0> numnames #0
-%<x10> #10 +
-%<x20> #20 +
-%<x30> #30 +
-%<x40> #40 +
-%<x50> #50 +
-%<x60> #60 +
-%<x70> #70 +
-%<x80> #80 +
-%<x90> #90 +
- > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
-%</nmlm>
- namesleft #1 >
-%<!aunm-semi&!aunm-sl> { ", " * t * }
-%<aunm-semi> { "; " * t * }
-%<aunm-sl&!aunm-semi> { "/ " * t * }
- {
- s nameptr "{ll}" format.name$ duplicate$ "others" =
- { 't := }
- { pop$ }
- if$
-%<(and-com|xand)&!aunm-semi&!aunm-sl> "," *
-%<(and-com|xand)&aunm-semi> ";" *
-%<(and-com|xand)&aunm-sl&!aunm-semi> "/" *
-%<*!and-xcom&!and-com&!xand>
- numnames #2 >
-%<etal-xc> t "others" = not and
-%<!aunm-semi&!aunm-sl> { "," * }
-%<aunm-semi> { ";" * }
-%<aunm-sl&!aunm-semi> { "/" * }
- 'skip$
- if$
-%</!and-xcom&!and-com&!xand>
- t "others" =
- {
-%<nmft&!nmand-rm&!(fnm-rm|fnm-def)&(etal-it|etal-rm)> bib.name.font
-%<*!etal-it>
-%<nmft&(nmand-rm|(fnm-rm|fnm-def))&!etal-rm> " " * bbl.etal bib.name.font *
-%<!(nmft&(nmand-rm|(fnm-rm|fnm-def)))|etal-rm> " " * bbl.etal *
-%</!etal-it>
-%<etal-it> " " * bbl.etal emphasize *
-%<nmft&!nmand-rm&!(fnm-rm|fnm-def)&!(etal-it|etal-rm)> bib.name.font
- }
-%<*!xand>
- {
-%<*!harnm>
-%<!amper> bbl.and
-%<amper> "\&"
-%</!harnm>
-%<harnm> "\harvardand{}"
-%<nmft&!nmand-rm&(fnm-rm|fnm-def)> bib.name.font
- space.word * t *
- }
-%</!xand>
-%<xand> { " " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-%<*nmft&!nmand-rm&!(fnm-rm|fnm-def)>
- t "others" =
- 'skip$
- { bib.name.font }
- if$
-%</nmft&!nmand-rm&!(fnm-rm|fnm-def)>
- } if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.names.ed'}
-% When editors are used in place of authors to identify the work, the
-% names are always formatted just like authors'. However, in collections,
-% where ``edited by'' or ``\emph{names} (editors)'' are given, it is
-% normal not to reverse the names, even if the authors' are. The option
-% \texttt{ed-rev} sees to it that editor names are always formatted exactly
-% like those of authors, being reversed if necessary.
-%
-% The option \texttt{ed-au} is identical to \texttt{ed-rev}, but is more
-% logical. It means editors (in incollections) are formatted exactly like
-% authors, with all the font, reversing, and number limitations. This is
-% selected automatically with \texttt{nm-init} and \texttt{nm-} default to save
-% programming memory.
-%
-% The option \texttt{nm-revf} in this case acts the same as the default
-% when no \texttt{nm-} option given: full names with surname last. Therefore
-% it is not necessary to test for it at all, since it, like the default,
-% has the lowest priority: any other \texttt{nm-} option clobbers it.
-%
-% The options \texttt{aunm-semi} and \texttt{aunm-sl} will put a semi-colon or
-% slash between editor names, just as for authors, when \texttt{ed-rev} not
-% selected, in keeping with the idea that in this case both authors and editors
-% are to be formatted the same.
-%
-% This function either dispatches to \texttt{format.names} or executes code
-% which is similar. In the latter case, names are always presented first
-% followed by surname (``last name''); name limit processing (\texttt{nmlm}) is not executed;
-% and endgame processing differs in being qualified by \texttt{nmfted}.
-%
-% Stack note: if the names (second) argument is a non-nil list, this function returns
-% with one object on the stack, the formatted list of names.
-%
-% \texttt{names`string} \texttt{bibinfo`string} \texttt{->} \texttt{author-list`string}
-% \begin{macrocode}
-FUNCTION {format.names.ed}
-{
-%<ed-rev|ed-au> format.names
-%<*!ed-rev&!ed-au>
- 'bibinfo :=
- duplicate$ empty$ 'skip$ {
- 's :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
-% \end{macrocode}
-% Editor name is handled as a single object, with no separation of first and last name.
-% \begin{macrocode}
-%<*!(nmft&nmfted&(fnm-rm|fnm-def))>
-%<nm-init|nm-rev|nm-rev1> "{f.~}{vv~}{ll}{, jj}"
-%<*!nm-init&!nm-rev&!nm-rev1>
-%<nm-revv1> "{ff~}{vv~}{ll}{, jj}"
-%<*!nm-revv1>
-%<nm-rv> "{f{~}~}{vv~}{ll}{ jj}"
-%<*!nm-rv>
-%<nm-rvx> "{f{}~}{vv~}{ll}{ jj}"
-%<*!nm-rvx>
-%<nm-rvcx> "{f{}~}{vv~}{ll}{ jj}"
-%<*!nm-rvcx>
-%<nm-rvv|nm-rvvc> "{f{.}.~}{vv~}{ll}{ jj}"
-%<*!nm-rvv&!nm-rvvc>
- "{ff~}{vv~}{ll}{, jj}"
-%</!nm-rvv&!nm-rvvc>
-%</!nm-rvcx>
-%</!nm-rvx>
-%</!nm-rv>
-%</!nm-revv1>
-%</!nm-init&!nm-rev&!nm-rev1>
- format.name$
-%<nm-rv|nm-rvx|nm-rvcx> remove.dots
-%<nmft&nmfted&nmand-rm> bib.name.font
-%</!(nmft&nmfted&(fnm-rm|fnm-def))>
-% \end{macrocode}
-% Editor first and last name handled separately.
-% \begin{macrocode}
-%<*(nmft&nmfted&(fnm-rm|fnm-def))>
-%<*nm-init|nm-rev|nm-rev1>
- "{f.}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
-%</nm-init|nm-rev|nm-rev1>
-%<*!nm-init&!nm-rev&!nm-rev1>
-%<*nm-revv1>
- "{ff}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
-%</nm-revv1>
-%<*!nm-revv1>
-%<*nm-rv>
- "{f{~}}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { remove.dots bib.fname.font " " swap$ * }
- if$
-%</nm-rv>
-%<*!nm-rv>
-%<*nm-rvx|nm-rvcx>
- "{f{}}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { remove.dots bib.fname.font " " swap$ * }
- if$
-%</nm-rvx|nm-rvcx>
-%<*!nm-rvx&!nm-rvcx>
-%<*nm-rvv|nm-rvvc>
- "{f{.}.}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font " " swap$ * }
- if$
-%</nm-rvv|nm-rvvc>
-%<*!nm-rvv&!nm-rvvc>
- "{ff}" format.name$ duplicate$ empty$ 'skip$
- { tie.or.space.prefix bib.fname.font swap$ * }
- if$
- s nameptr
- "{vv~}{ll}" format.name$ bib.name.font *
- s nameptr
- "{jj}" format.name$ duplicate$ empty$ 'skip$
- { bib.fname.font ", " swap$ * }
- if$
-%</!nm-rvv&!nm-rvvc>
-%</!nm-rvx&!nm-rvcx>
-%</!nm-rv>
-%</!nm-revv1>
-%</!nm-init&!nm-rev&!nm-rev1>
- *
-%</(nmft&nmfted&(fnm-rm|fnm-def))>
- bibinfo bibinfo.check
- 't :=
- nameptr #1 >
- {
- namesleft #1 >
-%<!aunm-semi&!aunm-sl> { ", " * t * }
-%<aunm-semi> { "; " * t * }
-%<aunm-sl&!aunm-semi> { "/ " * t * }
- {
- s nameptr "{ll}" format.name$ duplicate$ "others" =
- { 't := }
- { pop$ }
- if$
-%<(and-com-ed|xand)&!aunm-semi&!aunm-sl> "," *
-%<(and-com-ed|xand)&aunm-semi> ";" *
-%<(and-com-ed|xand)&aunm-sl&!aunm-semi> "/" *
-%<*!and-xcom&!and-com-ed&!xand>
- numnames #2 >
-%<etal-xc> t "others" = not and
-%<!aunm-semi&!aunm-sl> { "," * }
-%<aunm-semi> { ";" * }
-%<aunm-sl&!aunm-semi> { "/" * }
- 'skip$
- if$
-%</!and-xcom&!and-com-ed&!xand>
- t "others" =
- {
-
-%<nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)&(etal-it|etal-rm)> bib.name.font
-%<*!etal-it>
-%<nmft&nmfted&(nmand-rm|(fnm-rm|fnm-def))&!etal-rm> " " * bbl.etal bib.name.font *
-%<!(nmft&nmfted&(nmand-rm|(fnm-rm|fnm-def)))|etal-rm> " " * bbl.etal *
-%</!etal-it>
-%<etal-it> " " * bbl.etal emphasize *
-%<nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)&!(etal-it|etal-rm)> bib.name.font
- }
-%<*!xand>
- {
-%<*!harnm>
-%<!amper> bbl.and
-%<amper> "\&"
-%</!harnm>
-%<harnm> "\harvardand{}"
-%<nmft&nmfted&!nmand-rm&(fnm-rm|fnm-def)> bib.name.font
- space.word * t *
- }
-%</!xand>
-%<xand> { " " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-%<*nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)>
- t "others" =
- 'skip$
- { bib.name.font }
- if$
-%</nmft&nmfted&!nmand-rm&!(fnm-rm|fnm-def)>
- } if$
-%</!ed-rev&!ed-au>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.key'}
-% \begin{macrocode}
-%<*ay>
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
- if$
-}
-
-%</ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.authors'}
-%
-% \begin{macrocode}
-FUNCTION {format.authors}
-{ author "author" format.names
-%<*revdata>
- duplicate$ empty$ 'skip$
- { collaboration "collaboration" bibinfo.check
- duplicate$ empty$ 'skip$
- { " (" swap$ * ")" * }
- if$
- *
- }
- if$
-%</revdata>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`get.bbl.editor'}
-% Use this function universally when accessing the ``editor'' text entity.
-% \begin{macrocode}
-FUNCTION {get.bbl.editor}
-{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.editors'}
-% The option \texttt{edpar} puts the word `editor' in parentheses.
-% In \texttt{genbst.mbs}, this occurred automatically with the option
-% \texttt{ed}, to abbreviate `editor' to `ed'. In \texttt{babel.mbs},
-% this was not the case, because of complications with the word functions.
-% Now this possibility is added as a special option, which means there is
-% some inconsistency with older \texttt{.dbj} files that called \texttt{ed}:
-% the abbreviated `ed' is not put in parentheses unless \texttt{edpar} is
-% also called.
-%
-% Note that the code here is very similar to code in \texttt{format.in.ed.booktitle};
-% the two should be kept coordinated.
-% \begin{macrocode}
-FUNCTION {format.editors}
-{ editor "editor" format.names duplicate$ empty$ 'skip$
- {
-%<!edpar&!edparxc> "," *
- " " *
- get.bbl.editor
-%<bkedcap> capitalize
-%<edpar|edparc|edparxc> "(" swap$ * ")" *
- *
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.in.editors'}
-% See the note about the option \texttt{edpar} above.
-%
-% \end{macro}
-%
-% \begin{macro}{`format.book.pages'}
-% \begin{macrocode}
-%<*pg-bk>
-FUNCTION {format.book.pages}
-{ pages "pages" bibinfo.check
- duplicate$ empty$ 'skip$
- { " " * bbl.pages * }
- if$
-}
-%</pg-bk>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.isbn'}
-% \begin{macrocode}
-%<*isbn>
-FUNCTION {format.isbn}
-{ isbn "isbn" bibinfo.check
- duplicate$ empty$ 'skip$
- {
-%<!blk-com&!blk-tit&!blk-tita> new.block
- "ISBN " swap$ *
- }
- if$
-}
-
-%</isbn>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.issn'}
-% \begin{macrocode}
-%<*issn>
-FUNCTION {format.issn}
-{ issn "issn" bibinfo.check
- duplicate$ empty$ 'skip$
- {
-%<!blk-com&!blk-tit&!blk-tita> new.block
- "ISSN " swap$ *
- }
- if$
-}
-
-%</issn>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.doi'}
-% DOIs like URLs are encapsulated by their own commands, so need no \texttt{bibinfo.check}.
-% \begin{macrocode}
-%<*doi|(url-doi&!url)>
-FUNCTION {format.doi}
-{ doi empty$
- { "" }
- {
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<!html> "\doi{" doi * "}" *
-%<html> "doi:" doi *
- }
- if$
-}
-%</doi|(url-doi&!url)>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`select.language'}
-% The \texttt{language} field code has been provided by Bernd Feige, of the
-% University of Freiburg.
-% \begin{macrocode}
-%<*lang>
-FUNCTION {select.language}
-{ duplicate$ empty$
- 'pop$
- { language empty$
- 'skip$
- { "{\selectlanguage{" language * "}" * swap$ * "}" * }
- if$
- }
- if$
-}
-
-%</lang>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.note'}
-% Notes should be entered as though they were a sentence on their own.
-% However, if they appear mid-sentence rather than after a block or sentence,
-% the first letter must be lowercase. Thus if a note begins with a proper
-% noun, it must be in braces. To avoid a warning about unmatched braces
-% with the \texttt{change.case\$} function, check first if the leading
-% character is an opening brace.
-%
-% With options \texttt{url,url-nt}, the URL text is treated as a note, and
-% added here. It is output directly, not prepended to the note text. This
-% means, if the note is to be a new sentence, the URL text starts that
-% sentence, and the regular note is added to that sentence, comma between.
-%
-% \begin{macrocode}
-FUNCTION {format.note}
-{
-%<*url-nt&!revdata>
- url empty$
- 'skip$
-%<!html> { "\urlprefix\url{" url * "}" * output }
-%<html> { "<a href=" quote$ * url * quote$
-%<html> * ">" * url * "</a>" * output }
- if$
-%</url-nt&!revdata>
- note empty$
- { "" }
- { note #1 #1 substring$
- duplicate$ "{" =
- 'skip$
- { output.state mid.sentence =
- { "l" }
- { "u" }
- if$
- change.case$
- }
- if$
- note #2 global.max$ substring$ * "note" bibinfo.check
- }
- if$
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.title'}
-% For a quoted title, any punctuation in the title goes inside the quote.
-% Otherwise, the comma or period following the title also goes inside.
-% Exception is with \texttt{qx} option, in which case the comma goes
-% outside, even when punctuation present; for period (\texttt{!blk-com})
-% is added outside only when punctuation is absent.
-% \begin{macrocode}
-FUNCTION {format.title}
-{ title
-%<*!atit-u>
- duplicate$ empty$ 'skip$
- { "t" change.case$ }
- if$
-%</!atit-u>
- "title" bibinfo.check
-%<*tit-it|tit-qq|lang>
- duplicate$ empty$ 'skip$
- {
-%<tit-it> emphasize
-%<*!tit-it&tit-qq>
- "\enquote{" swap$ *
-%<*!qx>
-%<*blk-com>
- non.stop
-%<!com-semi&!com-blank> { ",} " * }
-%<com-semi> { ";} " * }
-%<!com-semi&com-blank> { "} " * }
- { "} " * }
- if$
-%</blk-com>
-%<!blk-com> add.period$ "}" *
-%</!qx>
-%<*qx>
-%<*blk-com>
-%<!com-semi&!com-blank> "}, " *
-%<com-semi> "}; " *
-%<!com-semi&com-blank> "} " *
-%</blk-com>
-%<!blk-com> "}" *
-%</qx>
-%</!tit-it&tit-qq>
-%<lang> select.language
- }
- if$
-%</tit-it|tit-qq|lang>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`end.quote.title'}
-% For a quoted title, the punctuation appears in the quotes. For commas
-% between block, this means the inter-block punctuation is already present,
-% so it must be suppressed after every \texttt{format.title output}. This
-% is done by setting the \texttt{output.state} to \texttt{before.all}, but
-% only if there really was a title. Call this macro every time after
-% titles are output.
-% \begin{macrocode}
-%<*blk-com&tit-qq>
-FUNCTION {end.quote.title}
-{ title empty$
- 'skip$
- { before.all 'output.state := }
- if$
-}
-%</blk-com&tit-qq>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`end.quote.btitle'}
-% Similar to |end.quote.title| except that it is only applied if titles of
-% proceedings and collections are quoted, and if
-% neither \texttt{edby}, \texttt{edby-par}, nor \texttt{edby-par} are selected
-% (this is the default case in the relevant menu of the \texttt{makebst.tex} run).
-% These options add text after the booktitle,
-% so additional punctuation need not be suppressed. Unless there is no editor!
-%
-% Note: this function is called after the result of \texttt{format.in.ed.booktitle}
-% has been output, and attempts to predict what that output had been.
-% Would it not be better to call this function while that result is still
-% on the stack?
-% \begin{macrocode}
-%<*bt-qq>
-FUNCTION {end.quote.btitle}
-{ booktitle empty$
- 'skip$
-%<!edby&!edby-par&!edby-parc> { before.all 'output.state := }
-%<*edby|edby-par|edby-parc>
- { editor empty$
- { before.all 'output.state := }
- 'skip$
- if$
- }
-%</edby|edby-par|edby-parc>
- if$
-}
-%</bt-qq>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`make.full.names'}
-% In versions before 2.2, there were two functions \texttt{calc.long.label}
-% and \texttt{format.long.lab.names} that made up the string
-% \texttt{long.label} for each entry. This contains the full author list.
-% However, there was a bug in the one routine, entered by mistake when an
-% earlier bug was removed, and more seriously, the string
-% \texttt{long.label} was limited to \texttt{entry.max\$} characters, 100 on
-% my system. Author lists were truncated. Thus, \texttt{make.full.names}
-% is used instead to enter the full list of names directly in the
-% \texttt{output.bibitem} function, without an intermediate string. This
-% involves changing the order of some function definitions, especially
-% \texttt{output.bibitem} must come later.
-% \begin{macrocode}
-%<*har|cay|nat>
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
-%<!jnrlab> "{vv~}{ll}" format.name$
-%<*jnrlab>
-%<!nm-rv&!nm-rvv&!nm-rvx&!nm-rvcx> "{vv~}{ll}{, jj}" format.name$
-%<nm-rv|nm-rvv|nm-rvx|nm-rvcx> "{vv~}{ll}{ jj}" format.name$
-%</jnrlab>
-%<lab&and-rm> cite.name.font
- 't :=
- nameptr #1 >
- {
-%<*nmlm>
-%<m1> nameptr #1
-%<m2> nameptr #2
-%<m3> nameptr #3
-%<m4> nameptr #4
-%<m5> nameptr #5
-%<m6> nameptr #6
-%<m7> nameptr #7
-%<m8> nameptr #8
-%<m9> nameptr #9
-%<m0> nameptr #0
-%<m10> #10 +
-%<m20> #20 +
-%<m30> #30 +
-%<m40> #40 +
-%<m50> #50 +
-%<m60> #60 +
-%<m70> #70 +
-%<m80> #80 +
-%<m90> #90 +
- #1 + =
-%<x1> numnames #1
-%<x2> numnames #2
-%<x3> numnames #3
-%<x4> numnames #4
-%<x5> numnames #5
-%<x6> numnames #6
-%<x7> numnames #7
-%<x8> numnames #8
-%<x9> numnames #9
-%<x0> numnames #0
-%<x10> #10 +
-%<x20> #20 +
-%<x30> #30 +
-%<x40> #40 +
-%<x50> #50 +
-%<x60> #60 +
-%<x70> #70 +
-%<x80> #80 +
-%<x90> #90 +
- > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
-%</nmlm>
- namesleft #1 >
- { ", " * t * }
- {
- s nameptr "{ll}" format.name$ duplicate$ "others" =
- { 't := }
- { pop$ }
- if$
- t "others" =
- {
-%<lab&!and-rm&(etal-it|etal-rm)> cite.name.font
-%<*!etal-it>
-%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font *
-%<!lab|!and-rm|etal-rm> " " * bbl.etal *
-%</!etal-it>
-%<etal-it> " " * bbl.etal emphasize *
-%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font
- }
- {
-%<*!harnm>
-%<*!and-xcom>
- numnames #2 >
- { "," * }
- 'skip$
- if$
-%</!and-xcom>
-%<!amper> bbl.and
-%<amper> "\&"
-%</!harnm>
-%<harnm> "\harvardand{}"
- space.word * t *
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-%<*lab&!and-rm>
- t "others" =
- 'skip$
- { cite.name.font }
- if$
-%</lab&!and-rm>
-}
-
-FUNCTION {author.editor.key.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- 'key
- if$
- }
- { editor format.full.names }
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {author.key.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- 'key
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {editor.key.full}
-{ editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- 'key
- if$
- }
- { editor format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full
- { type$ "proceedings" =
- 'editor.key.full
- 'author.key.full
- if$
- }
- if$
-}
-
-%</har|cay|nat>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`output.bibitem'}
-% A user has pointed out to me that if the label argument in square brackets
-% are put into braces (within the squares) it is then resistent to any
-% problems if square braces should appear within the label. Do this, but
-% only for the \texttt{nat} option.
-% \begin{macrocode}
-FUNCTION {output.bibitem}
-{ newline$
-%<*!html>
-%<*ay>
-%<!har&!nat> "\bibitem[" write$
-%<!har&nat> "\bibitem[{" write$
-%<har> "\harvarditem" write$
-%<nmd> "\protect\citeauthoryear{" write$
-%<ast> "\protect\astroncite{" write$
-%<cay> "\protect\citeauthoryear{" make.full.names * "}{" * write$
-%<cn> "\protect\citename{" write$
-%<!har> label write$
-%<har> make.full.names duplicate$ label =
-%<har> 'skip$
-%<har> { "[" label * "]" * write$ }
-%<har> if$
-%<har> "{" swap$ * "}{" * write$
-%<har> year duplicate$ empty$
-%<cn> ", }" year duplicate$ empty$
-%<cay|nmd|ast> "}{" year duplicate$ empty$
-%<(har|cn|cay|nmd|ast)&blkyear> { pop$ "" }
-%<(har|cn|cay|nmd|ast)&!blkyear> { pop$ "????" }
-%<har|cn|cay|nmd|ast> 'skip$
-%<har|cn|cay|nmd|ast> if$
-%<har> extra.label * "}{" * write$
-%<cn> * extra.label * "]{" * write$
-%<cay|nmd|ast> * extra.label * "}]{" * write$
-%<alk> "]{" write$
-%<!(har|cay|nmd|ast|alk|cn|nat)> ")]{" write$
-%<nat> ")" make.full.names duplicate$ short.list =
-%<nat> { pop$ }
-%<nat> { * }
-%<nat> if$
-%<nat> "}]{" * write$
-%</ay>
-%<!ay&!(cite|alph)> "\bibitem{" write$
-%<!ay&(cite|alph)> "\bibitem[" label * "]{" * write$
- cite$ write$
- "}" write$
- newline$
- ""
-%</!html>
-%<*html>
-%<*htdes>
- "<dt><strong><tt>" write$
- cite$ write$
- "</tt></strong></dt>" write$ newline$
- "<dd>"
-%</htdes>
-%<htlist&!htdes> "<li>"
-%<!htlist&!htdes> "<p>"
-%</html>
- before.all 'output.state :=
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`if.digit'}
-% Add \texttt{if.digit} and \texttt{n.separate} to convert large page numbers
-% to a separated number.
-% \begin{macrocode}
-%<*pgsep-c|pgsep-s|pgsep-p>
-FUNCTION {if.digit}
-{ duplicate$ "0" =
- swap$ duplicate$ "1" =
- swap$ duplicate$ "2" =
- swap$ duplicate$ "3" =
- swap$ duplicate$ "4" =
- swap$ duplicate$ "5" =
- swap$ duplicate$ "6" =
- swap$ duplicate$ "7" =
- swap$ duplicate$ "8" =
- swap$ "9" = or or or or or or or or or
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`n.separate'}
-% \texttt{pgsep-s}, \texttt{pgsep-p}
-% Large page numbers are to be separated in threes, with thin space, comma
-% or period. The number must be 5 digits before the separation occurs.
-% No provision is made for numbers of 7 or more digits.
-% \begin{macrocode}
-FUNCTION {n.separate}
-{ 't :=
- ""
- #0 'numnames :=
- { t empty$ not }
- { t #-1 #1 substring$ if.digit
- { numnames #1 + 'numnames := }
- { #0 'numnames := }
- if$
- t #-1 #1 substring$ swap$ *
- t #-2 global.max$ substring$ 't :=
- numnames #5 =
- { duplicate$ #1 #2 substring$ swap$
- #3 global.max$ substring$
-%<pgsep-c> "," swap$ * *
-%<pgsep-p> "." swap$ * *
-%<pgsep-s&!html> "\," swap$ * *
-%<pgsep-s&html> " " swap$ * *
- }
- 'skip$
- if$
- }
- while$
-}
-%</pgsep-c|pgsep-s|pgsep-p>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`n.dashify'}
-% \begin{macrocode}
-FUNCTION {n.dashify}
-{
-%<pgsep-c|pgsep-s|pgsep-p> n.separate
- 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`word.in'}
-% The function \texttt{word.in} prints the word \textsl{in} for references
-% that are
-% contained in a larger work, or in conference proceedings. One may have a
-% colon after the word with the option \texttt{in-col}. If blocks of text are
-% to be separated with commas (option \texttt{blk-com}) then the word remains
-% in lower case, as it is defined in \texttt{bbl.in}; but if blocks act as
-% sentences, then it must be capitalized.
-% \begin{macrocode}
-FUNCTION {word.in}
-%<in-x>{ "" }
-%<*!in-x>
-%<blk-com|blk-tita>{ bbl.in
-%<!blk-com&!blk-tita>{ bbl.in capitalize
-%<in-col> ":" *
-%<in-it> emphasize
- " " * }
-%</!in-x>
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.date'}
-% The new \texttt{harvard.sty} allows variable brackets around the date
-% in the reference list. It uses |\harvardyearleft| and |\harvardyearright|
-% in the \texttt{.bst} files. Allow this with the option \texttt{harnm},
-% which could actually be used without the \texttt{har} option. Note that
-% this overrides the other year formatting options, except for the preceding punctuation.
-% \begin{macrocode}
-%<*ay>
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
- {
-%<*!blkyear>
- "empty year in " cite$ * "; set to ????" * warning$
- pop$ "????"
-%</!blkyear>
- }
- 'skip$
- if$
-%<*aymth>
- month "month" bibinfo.check duplicate$ empty$
- 'skip$
- {
-%<dtrev> swap$
- " " * swap$
- }
- if$
- *
-%<mth-bare> remove.dots
-%</aymth>
-%<dtbf> bolden
- extra.label *
-%<*!harnm>
-%<*yr-par|yr-brk|yr-col|yr-blk|yr-com|yr-per>
- before.all 'output.state :=
-%<yr-par> " (" swap$ * ")" *
-%<!yr-par&yr-brk> " [" swap$ * "]" *
-%<!yr-par&!yr-brk&yr-col> ": " swap$ *
-%<!yr-par&!yr-brk&!yr-col&yr-com> ", " swap$ *
-%<!yr-par&!yr-brk&!yr-col&!yr-com&yr-per> after.sentence 'output.state :=
-%<!yr-par&!yr-brk&!yr-col&!yr-com&!yr-per&yr-blk> " " swap$ *
-%</yr-par|yr-brk|yr-col|yr-blk|yr-com|yr-per>
-%</!harnm>
-%<*harnm>
- before.all 'output.state :=
- " \harvardyearleft " swap$ * "\harvardyearright{}" *
-%<yr-col> ":" swap$ *
-%<!yr-col&yr-com> "," swap$ *
-%<!yr-col&!yr-com&yr-per> after.sentence 'output.state :=
-%<!yr-col&!yr-com&!yr-per&yr-blk> " " swap$ *
-%</harnm>
-}
-%</ay>
-%<*!ay>
-FUNCTION {format.date}
-{
-%<!xmth> month "month" bibinfo.check
-%<xmth> ""
- duplicate$ empty$
- year "year" bibinfo.check duplicate$ empty$
- { swap$ 'skip$
- { "there's a month but no year in " cite$ * warning$ }
- if$
- *
- }
- { swap$ 'skip$
- {
-%<showstack> month year
-%<!dtrev> swap$
- " " * swap$
- }
- if$
- *
-%<mth-bare> remove.dots
- }
- if$
-%<dtbf> bolden
-%<*yr-par|yr-brk|yr-col|yr-com|yr-per|yr-blk>
- duplicate$ empty$
- 'skip$
- {
- before.all 'output.state :=
-%<yr-par> " (" swap$ * ")" *
-%<!yr-par&yr-brk> " [" swap$ * "]" *
-%<!yr-par&!yr-brk&yr-col> ": " swap$ *
-%<!yr-par&!yr-brk&!yr-col&yr-com> ", " swap$ *
-%<!yr-par&!yr-brk&!yr-col&!yr-com&yr-per> after.sentence 'output.state :=
-%<!yr-par&!yr-brk&!yr-col&!yr-com&!yr-per&yr-blk> " " swap$ *
- }
- if$
-%</yr-par|yr-brk|yr-col|yr-com|yr-per|yr-blk>
-}
-%</!ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.year'}
-% For the options that put the year into the journal specifications, use a
-% special formatter separate from the regular date formatter.
-% The year is always in parentheses (except for appended to journal name).
-% \begin{macrocode}
-%<*jdt-p|jdt-pc|jdt-v|jdt-vs>
-FUNCTION{format.year}
-{ year "year" bibinfo.check duplicate$ empty$
- { "empty year in " cite$ *
-%<ay&!blkyear> "; set to ????" *
- warning$
-%<ay&!blkyear> pop$ "????"
- }
- {
-%<!ay&jdt-vs> " (" swap$ * ")" *
-%<!ay&!jdt-vs> "(" swap$ * ")" *
- }
- if$
-%<*ay>
- extra.label *
-%<jdt-vs> " (" swap$ * ")" *
-%<!jdt-vs> "(" swap$ * ")" *
-%</ay>
-}
-%</jdt-p|jdt-pc|jdt-v|jdt-vs>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.btitle'}
-% \begin{macrocode}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
- duplicate$ empty$ 'skip$
- {
-%<!btit-rm> emphasize
-%<lang> select.language
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`either.or.check'}
-% \begin{macrocode}
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.bvolume'}
-% \begin{macrocode}
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bbl.volume volume tie.or.space.prefix
- "volume" bibinfo.check * *
- series "series" bibinfo.check
- duplicate$ empty$ 'pop$
-%<*!ser-vol>
- { swap$ bbl.of space.word * swap$
- emphasize * }
-%</!ser-vol>
-%<ser-vol> { emphasize ", " * swap$ * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.number.series'}
-% \begin{macrocode}
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
-%<*num-xser>
- { series empty$
- { number "number" bibinfo.check }
- { output.state mid.sentence =
- { bbl.number }
- { bbl.number capitalize }
- if$
- number tie.or.space.prefix "number" bibinfo.check * *
- bbl.in space.word *
- series "series" bibinfo.check *
- }
- if$
- }
-%</num-xser>
-%<*!num-xser>
- { output.state mid.sentence =
- { bbl.number }
- { bbl.number capitalize }
- if$
- number tie.or.space.prefix "number" bibinfo.check * *
- series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { bbl.in space.word *
- series "series" bibinfo.check *
- }
- if$
- }
-%</!num-xser>
- if$
- }
- { "" }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`is.num'}
-% This function takes the single-character string on the stack and returns
-% 1 if it is a digit, else 0.
-% \begin{macrocode}
-%<*!xedn>
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`extract.num'}
-% This function tests the string on the stack to see if it begins with a
-% number. If so, that number is left on the stack; if the string contains
-% no numbers at the start, it is left unchanged. The idea is to convert
-% \textsl{1st} to \textsl{1} and leave \textsl{first} as is.
-% This is used by \code{convert.edition}.
-% \begin{macrocode}
-FUNCTION {extract.num}
-{ duplicate$ 't :=
- "" 's :=
- { t empty$ not }
- { t #1 #1 substring$
- t #2 global.max$ substring$ 't :=
- duplicate$ is.num
- { s swap$ * 's := }
- { pop$ "" 't := }
- if$
- }
- while$
- s empty$
- 'skip$
- { pop$ s }
- if$
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`convert.edition'}
-% The function \texttt{convert.edition} takes the text in the field
-% \texttt{edition} and changes it to the language-specific equivalent. As
-% originally planned for \btx, this field should contain the words
-% \textsl{First}, \textsl{Second}, etc. Being so explicit,
-% it is not so easy to translate, nor to
-% convert to \textsl{1st}, \textsl{2nd}, etc., if one wanted.
-% This function carries out the translation, by changing
-% \textsl{first} or \textsl{1} to \texttt{bbl.first}, and so
-% on. The field is reduced to lower case to make it case insensitive. If no
-% translation is found, then the original text in \texttt{edition} is used
-% instead, as it stands. However, if the original is a number greater than
-% the maximum for which text is provided, then \texttt{bbl.th} is added to
-% it.
-% \begin{macrocode}
-FUNCTION {convert.edition}
-{ extract.num "l" change.case$ 's :=
- s "first" = s "1" = or
- { bbl.first 't := }
- { s "second" = s "2" = or
- { bbl.second 't := }
- { s "third" = s "3" = or
- { bbl.third 't := }
- { s "fourth" = s "4" = or
- { bbl.fourth 't := }
- { s "fifth" = s "5" = or
- { bbl.fifth 't := }
- { s #1 #1 substring$ is.num
-%<!english&exlang> { s bbl.th * 't := }
-%<english|!exlang> { s eng.ord 't := }
- { edition 't := }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- }
- if$
- t
-}
-%</!xedn>
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.edition'}
-% This function formats the text for the edition specification, such as
-% ``Second edition''. It combines the edition number with the word
-% \textsl{edition}.
-% \begin{macrocode}
-FUNCTION {format.edition}
-{ edition duplicate$ empty$ 'skip$
- {
-%<!xedn> convert.edition
- output.state mid.sentence =
- { "l" }
- { "t" }
- if$ change.case$
- "edition" bibinfo.check
- " " * bbl.edition *
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-INTEGERS { multiresult }
-% \end{macrocode}
-%
-% \begin{macro}{`multi.page.check'}
-% \begin{macrocode}
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.pages'}
-% \begin{macrocode}
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
- { duplicate$ multi.page.check
- {
-%<!bkpg-x&!ppx> bbl.pages swap$
- n.dashify
- }
- {
-%<!bkpg-x&!ppx> bbl.page swap$
- }
- if$
-%<!bkpg-x&!ppx> tie.or.space.prefix
- "pages" bibinfo.check
-%<!bkpg-x&!ppx> * *
-%<bkpg-par> "(" swap$ * ")" *
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`first.page'}
-% \begin{macrocode}
-%<*jpg-1>
-FUNCTION {first.page}
-{ 't :=
- ""
- { t empty$ not t #1 #1 substring$ "-" = not and }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- while$
-}
-
-%</jpg-1>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.journal.pages'}
-% Note: this function gets called with something on the stack.
-% It may be the volume and number.
-% \begin{macrocode}
-FUNCTION {format.journal.pages}
-{ pages duplicate$ empty$ 'pop$
- { swap$ duplicate$ empty$
- { pop$ pop$ format.pages }
- {
-%<volp-sp> ": " *
-%<*!volp-sp>
-%<volp-blk> " " *
-%<*!volp-blk>
-%<volp-com> ", " *
-%<*!volp-com>
-%<volp-semi> "; " *
-%<!volp-semi> ":" *
-%</!volp-com>
-%</!volp-blk>
-%</!volp-sp>
-%<!jdt-v&!jdt-vs&jdt-p> format.year * " " *
-%<!jdt-v&!jdt-vs&!jdt-p&jdt-pc> format.year * ", " *
- swap$
-%<jpg-1> first.page
-%<!jpg-1> n.dashify
-%<*jwdpg>
- pages multi.page.check
- 'bbl.pages
- 'bbl.page
- if$
- swap$ tie.or.space.prefix
-%</jwdpg>
- "pages" bibinfo.check
-%<jwdpg> * *
- *
- }
- if$
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.journal.eid'}
-%
-% This function is called with something on the stack (journal vol, number)
-% and appends \texttt{eid} and \texttt{numpages} if those field are non-empty.
-% Very similar to \texttt{format.journal.pages}.
-%
-% For the AGU style of including the DOI as part of the EID, the DOI number
-% is appended too.
-% \begin{macrocode}
-FUNCTION {format.journal.eid}
-{ eid "eid" bibinfo.check
- duplicate$ empty$ 'pop$
- { swap$ duplicate$ empty$ 'skip$
- {
-%<volp-sp> ": " *
-%<*!volp-sp>
-%<volp-blk> " " *
-%<*!volp-blk>
-%<volp-com> ", " *
-%<*!volp-com>
-%<volp-semi> "; " *
-%<!volp-semi> ":" *
-%</!volp-com>
-%</!volp-blk>
-%</!volp-sp>
- }
- if$
- swap$ *
-%<*revdata>
- numpages empty$ 'skip$
- { bbl.eidpp numpages tie.or.space.prefix
- "numpages" bibinfo.check * *
- " (" swap$ * ")" * *
- }
- if$
-%</revdata>
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.vol.num.pages'}
-% Version 3.84, I have rationalized several options that placed the date in the
-% journal specifications. It was rather chaotic before, but now it should be
-% more systematic. This means some options have been removed, something that I
-% do not like to do.
-%
-% The option \texttt{pp-last} suppresses the pages in the formatting macros, and
-% sees to it that the pages are added just before any notes in those entries
-% that take pages. This applies to more than just \texttt{article}, but to
-% \texttt{inbook}, \texttt{incollection} as well.
-%
-% \begin{macrocode}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
- duplicate$ empty$ 'skip$
- {
-%<jwdvol> bbl.volume swap$ tie.or.space.prefix
- "volume" bibinfo.check
-%<jwdvol> * *
- }
- if$
-%<vol-bf&!vol-2bf> bolden
-%<!vol-bf&!vol-2bf&vol-it> emphasize
-%<jdt-v|jdt-vs> format.year *
-%<*!vnum-x>
- number "number" bibinfo.check duplicate$ empty$ 'skip$
- {
- swap$ duplicate$ empty$
- { "there's a number but no volume in " cite$ * warning$ }
- 'skip$
- if$
- swap$
-%<vnum-sp> "~(" swap$ * ")" *
-%<!vnum-sp&vnum-cm> ", " swap$ *
-%<!vnum-sp&!vnum-cm&vnum-nr> ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ *
-%<!vnum-sp&!vnum-cm&!vnum-nr&vnum-h> ", \#" swap$ *
-%<!vnum-sp&!vnum-cm&!vnum-nr&!vnum-h&vnum-b> " " swap$ *
-%<!vnum-sp&!vnum-cm&!vnum-nr&!vnum-h&!vnum-b> "(" swap$ * ")" *
- }
- if$ *
-%<!vol-bf&vol-2bf> bolden
-%</!vnum-x>
-%<*!pp-last>
- eid empty$
- { format.journal.pages }
- { format.journal.eid }
- if$
-%</!pp-last>
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.chapter.pages'}
-% \begin{macrocode}
-FUNCTION {format.chapter.pages}
-{ chapter empty$
-%<!pp-last> 'format.pages
-%<pp-last> { "" }
- { type empty$
- { bbl.chapter }
- { type "l" change.case$
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
-%<*!pp-last>
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
-%</!pp-last>
- }
- if$
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`bt.enquote'}
-% This is to place the booktitle for proceedings and collections into quotes.
-% If punctuation is to be included, then add a comma unless a stop already
-% exists, or add a period under the only circumstances that
-% |format.in.ed.booktitle| is followed by |new.sentence|.
-% \begin{macrocode}
-%<*bt-qq>
-FUNCTION {bt.enquote}
-{ duplicate$ empty$ 'skip$
- { "\enquote{" swap$ *
-%<*!qx>
- non.stop
- { ",} " * }
- { "}, " * }
- if$
-%</!qx>
-%<*qx>
- "}, " *
-%</qx>
- }
- if$
-}
-%</bt-qq>
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{`format.booktitle'}
-% The function \texttt{format.booktitle} pushes one object
-% (the book title, suitably encapsulated) onto the stack.
-% It is currently used in \texttt{format.incoll.inproc.crossref}
-% and in \texttt{format.in.ed.booktitle}, and should be used whenever accessing
-% the \texttt{booktitle} field for eventual output.
-%
-% If the book title is empty or missing, the function pushes an empty string.
-% \begin{macrocode}
-FUNCTION {format.booktitle}
-{
- booktitle "booktitle" bibinfo.check
-%<!bt-qq&!bt-rm> emphasize
-%<bt-qq> bt.enquote
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.in.ed.booktitle'}
-% Prior to version 3.81, the \textsl{Editor} or \textsl{Edited by} in
-% parentheses was meant to be capitalized, but this did not work properly.
-% Now the option \texttt{edcap} produces this, and default is not capitalized.
-%
-% Notes on \dtx{} options:
-% \begin{itemize}
-% \item
-% The following combinations are available through the \texttt{makebst.tex} interface:
-% \begin{quote}
-% \verb+(+ \\
-% \verb+ <default>+ \\
-% \verb+ |edby ( |edbyx |edbyy|edbyw[edcap])+ \\
-% \verb+ |edby-par (|edcap|edbyx[edcap]|edbyy )+ \\
-% \verb+ |edby-parc(|edcap|edbyx )+ \\
-% \verb+)+
-% \end{quote}
-% \item
-% \texttt{edby}, \texttt{edby-par}, and \texttt{edby-parc} are mutually exclusive
-% and, except for the default, exhaustive.
-% \item
-% \texttt{edbyx}, \texttt{edbyw}, and \texttt{edbyy} are mutually exclusive
-% and, except for the default, exhaustive.
-% \item
-% \texttt{edcap} is independent of the above two groups of options.
-% \item
-% When parentheses need to be applied, we make sure that the respective
-% \dtx{} guard expressions are mutually exclusive.
-% It makes no sense for \texttt{edbyw} to be in effect if either of
-% \texttt{edby-par} or \texttt{edby-parc} is in effect.
-% \item
-% \texttt{makebst.tex} only activates \texttt{edcap} in certain cases,
-% but we do no checking here, applying it consistently to the
-% ``editor'' text entity.
-% \item
-% The code between \texttt{<!edpar>} and \verb+<edpar\|edparc>+
-% \emph{must} match the corresponding code in \texttt{format.editors}.
-% This means that in the default case, formatting is controlled by
-% a \dtx{} mechanism entirely different from the other cases.
-% \item \texttt{ser-ed} has been added to suit AGU. Result of series plus
-% volume to go between booktitle and editors; must remove \texttt{format.bvolume}
-% from \texttt{incollection} and \texttt{inproceedings}.
-% \end{itemize}
-%
-% \begin{macrocode}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
- {
-%<showstack>% btitle
-%<*ser-ed>
- format.bvolume duplicate$ empty$ 'pop$
- { ", " swap$ * * }
- if$
-%</ser-ed>
- editor "editor" format.names.ed duplicate$ empty$ 'pop$
- {
-%<*!(edby|edby-par|edby-parc)>
-%<showstack>% btitle ednms
-%<!edpar&!edparxc> "," *
- " " *
- get.bbl.editor
-%<bkedcap> capitalize
-%<edpar> "(" swap$ * "), " *
-%<!edpar&(edparc|edparxc)> "(" swap$ * ") " *
-%<!edpar&!(edparc|edparxc)> ", " *
- * swap$
-%<showstack>% eds btitle
-%</!(edby|edby-par|edby-parc)>
-%<*edby|edby-par|edby-parc>
-%<showstack>% btitle ednms
-%<edbyx|edbyy|edbyw> get.bbl.editor
-%<!(edbyx|edbyy|edbyw)> bbl.edby
-%<edcap> capitalize
-%<!(edby-par|edby-parc)&edbyw> "(" swap$ * ")" *
-%<showstack>% btitle ednms ed
-%<(edby-par|edby)&edbyy> swap$ "," *
- " " * swap$ *
-%<showstack>% btitle ednms-ed
-%<(edby-par|edby-parc)&!edbyw> "(" swap$ * ")" *
- swap$
-%<edby|edby-parc> "," *
- " " * swap$
-%</edby|edby-par|edby-parc>
-%<showstack>% btitle ednms-ed (or ednms-ed btitle)
- * }
- if$
-%<showstack>% btitle-ednms-ed (or ednms-ed-btitle) (or btitle)
- word.in swap$ *
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`empty.misc.check'}
-% \begin{macrocode}
-%<*!ay>
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
-%<!seq-no|alph> key empty$ not and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-%</!ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.thesis.type'}
-% \begin{macrocode}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
- 'pop$
- { swap$ pop$
- "t" change.case$ "type" bibinfo.check
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.tr.number'}
-% \begin{macrocode}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
- type duplicate$ empty$
- { pop$ bbl.techrep }
- 'skip$
- if$
- "type" bibinfo.check
- swap$ duplicate$ empty$
- { pop$ "t" change.case$ }
- { tie.or.space.prefix * * }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.article.crossref'}
-% The \texttt{journal} field was emphasized emplicitly, but it should be
-% done by command.
-% \begin{macrocode}
-FUNCTION {format.article.crossref}
-{
-%<*!ay>
- key duplicate$ empty$
- { pop$
- journal duplicate$ empty$
- { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
- { "journal" bibinfo.check emphasize word.in swap$ * }
- if$
- }
- { word.in swap$ * " " *}
- if$
-%</!ay>
-%<ay> word.in
-%<!html> " \cite{" * crossref * "}" *
-%<html> " <tt>" * crossref * "</tt>" *
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.crossref.editor'}
-% \begin{macrocode}
-%<*!ay>
-FUNCTION {format.crossref.editor}
-{ editor #1 "{vv~}{ll}" format.name$
-%<nmft&nmfted&nmand-rm> bib.name.font
- "editor" bibinfo.check
- editor num.names$ duplicate$
- #2 >
- { pop$
-%<nmft&nmfted&!nmand-rm&(etal-it|etal-rm)> bib.name.font
- "editor" bibinfo.check
- " " * bbl.etal
-%<etal-it> emphasize
- *
-%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> bib.name.font
-%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> "others" 't :=
- }
- { #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- {
-%<nmft&nmfted&!nmand-rm&(etal-it|etal-rm)> bib.name.font
- "editor" bibinfo.check
- " " * bbl.etal
-%<etal-it> emphasize
- *
-%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> bib.name.font
-%<nmft&nmfted&!nmand-rm&!(etal-it|etal-rm)> "others" 't :=
- }
- {
-%<*!harnm>
-%<!amper> bbl.and space.word
-%<amper> " \& "
-%</!harnm>
-%<harnm> " \harvardand\ "
- * editor #2 "{vv~}{ll}" format.name$
-%<nmft&nmfted&nmand-rm> bib.name.font
- "editor" bibinfo.check
- *
- }
- if$
- }
- if$
- }
- if$
-%<*nmft&nmfted&!nmand-rm>
- t "others" =
- 'skip$
- { bib.name.font "editor" bibinfo.check }
- if$
-%</nmft&nmfted&!nmand-rm>
-}
-%</!ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.book.crossref'}
-% The \texttt{series} field was emphasized emplicitly, but it should be
-% done by command.
-% \begin{macrocode}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- pop$ word.in
- }
- { bbl.volume
-%<!(blk-com|blk-tita)> capitalize
- swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
- }
- if$
-%<*!ay>
- editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { series emphasize * }
- if$
- }
- { key * }
- if$
- }
- { format.crossref.editor * }
- if$
-%</!ay>
-%<!html> " \cite{" * crossref * "}" *
-%<html> " <tt>" * crossref * "</tt>" *
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.incoll.inproc.crossref'}
-% The \texttt{booktitle} field was emphasized emplicitly, but it should be
-% done by command.
-% \begin{macrocode}
-FUNCTION {format.incoll.inproc.crossref}
-{
-%<*!ay>
- editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { format.booktitle duplicate$ empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- }
- { word.in swap$ * }
- if$
- }
- { word.in key * " " *}
- if$
- }
- { word.in format.crossref.editor * " " *}
- if$
-%</!ay>
-%<ay> word.in
-%<!html> " \cite{" * crossref * "}" *
-%<html> " <tt>" * crossref * "</tt>" *
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.org.or.pub'}
-% Psychology journals often want \textit{address}: \textit{publisher}.
-%
-% \textsl{Nature} wants publisher and date in parentheses, and when both
-% are there, they are merged into one set.
-%
-% Call function \texttt{add.blank} before parentheses so suppress preceding
-% punctuation, which looks strange when publisher in parentheses.
-%
-% MPG Jahrbuch wants publisher and year, but without parentheses. Add
-% \texttt{pub-nopar} to be used with \texttt{pub-date}.
-%
-% Have now (3.87.h) extended this function to include the organization, if
-% present. This is for \texttt{inproceedings} and \texttt{proceedings} where
-% the publisher is optional, and organization too. If the publisher is missing,
-% but the organization present, it is formatted like the publisher. This
-% complication comes from styles that want the publisher/organization to have
-% the date included, all in parentheses.
-%
-% This function is called by \texttt{format.publisher.address} and
-% \texttt{format.organization.address}, each putting the appropriate text
-% into the stack first.
-%
-% \begin{macrocode}
-FUNCTION {format.org.or.pub}
-{ 't :=
- ""
-%<*pub-date&!ay>
- year empty$
- { "empty year in " cite$ * warning$ }
- 'skip$
- if$
-%</pub-date&!ay>
-%<*!(pub-date&ay)>
- address empty$ t empty$ and
-%<pub-date> year empty$ and
- 'skip$
- {
-%</!(pub-date&ay)>
-%<pub-par|(pub-date&!pub-xpar)> add.blank "(" *
-%<*add-pub>
- address "address" bibinfo.check *
- t empty$
- 'skip$
-%</add-pub>
-%<*!add-pub>
- t empty$
- { address "address" bibinfo.check *
- }
- { t *
- address empty$
- 'skip$
- { ", " * address "address" bibinfo.check * }
- if$
- }
-%</!add-pub>
-%<*add-pub>
- { address empty$
- 'skip$
- { ": " * }
- if$
- t *
- }
-%</add-pub>
- if$
-%<*pub-date&!ay>
- year empty$
- 'skip$
- { t empty$ address empty$ and
- 'skip$
-%<!pub-xc> { ", " swap$ * * }
-%<pub-xc> { " " swap$ * * }
- if$
- year "year" bibinfo.check
-%<dtbf> bolden
- *
- }
- if$
-%</pub-date&!ay>
-%<*pub-date&ay>
- year duplicate$ empty$
-%<*!blkyear>
- { "empty year in " cite$ * "; set to ????" * warning$
- pop$ "????" }
-%</!blkyear>
-%<*blkyear>
- { "empty year in " cite$ * warning$
- pop$ "" }
-%</blkyear>
-%<!dtbf> { "year" bibinfo.check extra.label * }
-%<dtbf> { "year" bibinfo.check bolden extra.label * }
- if$
- t empty$ address empty$ and
- { * }
-%<!pub-xc> { ", " swap$ * * }
-%<pub-xc> { " " swap$ * * }
- if$
-%</pub-date&ay>
-%<pub-par|(pub-date&!pub-xpar)> ")" *
-%<*!(pub-date&ay)>
- }
- if$
-%</!(pub-date&ay)>
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.publisher.address'}
-% \begin{macrocode}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.warn format.org.or.pub
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`format.organization.address'}
-% \begin{macrocode}
-FUNCTION {format.organization.address}
-{ organization "organization" bibinfo.check format.org.or.pub
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`name.or.dash'}
-% This function stores what is on the stack, compares it with previous value,
-% and replaces it with a long dash if they are equal. What is on the stack
-% should be author or editor names for the current entry.
-% \begin{macrocode}
-%<*nmdash>
-STRINGS {oldname}
-
-FUNCTION {name.or.dash}
-{ 's :=
- oldname empty$
- { s 'oldname := s }
- { s oldname =
-%<*!au-col>
-%<!nmd-2&!nmd-3> { "---" }
-%<nmd-2&!nmd-3> { "---{}---" }
-%<nmd-3> { "---{}---{}---" }
-%</!au-col>
-%<*au-col>
-%<!nmd-2&!nmd-3> { "---" add.blank }
-%<nmd-2&!nmd-3> { "---{}---" add.blank }
-%<nmd-3> { "---{}---{}---" add.blank }
-%</au-col>
- { s 'oldname := s }
- if$
- }
- if$
-}
-
-%</nmdash>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`article'}
-% \begin{macrocode}
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<*dt-beg&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v>
- format.date "year" output.check
- date.block
-%</dt-beg&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v>
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
-%<*!jtit-x>
- format.title "title" output.check
-%<blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<*blk-tit|blk-tita>
-%<!tit-col> new.sentence
-%<tit-col> add.colon
-%</blk-tit|blk-tita>
-%</!jtit-x>
- crossref missing$
- {
- journal
-%<jxper> remove.dots
- "journal" bibinfo.check
-%<!jttl-rm> emphasize
-%<injnl> word.in swap$ *
- "journal" output.check
-%<jnm-x> add.blank
-%<*!dt-beg&!dt-end&dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v>
- format.date "year" output.check
- date.block
-%</!dt-beg&!dt-end&dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v>
- format.vol.num.pages output
-%<doi&agu-doi> format.doi output
-%<*!dt-beg&!dt-end&!dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v>
- format.date "year" output.check
-%</!dt-beg&!dt-end&!dt-jnl&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v>
- }
- { format.article.crossref output.nonnull
-%<!pp-last> format.pages output
- }
- if$
-%<*pp-last>
- eid empty$
- { format.journal.pages }
- { format.journal.eid }
- if$
-%</pp-last>
-%<issn> format.issn output
-%<(doi|(url-doi&!url))&!agu-doi> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end&!jdt-p&!jdt-pc&!jdt-vs&!jdt-v>
-%<eprint> format.eprint output
-%<*revdata>
- format.url output
-%</revdata>
- fin.entry
-%<harnm|url-nl> write.url
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`book'}
-% \begin{macrocode}
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check
-%<ay> editor format.key output
-%<!edpar&(edparc|edparxc)&!au-col> add.blank
-%<au-col> add.colon
-%<nmdash> name.or.dash
- }
- { format.authors output.nonnull
-%<au-col> add.colon
-%<nmdash> name.or.dash
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
- if$
- }
- if$
-%<dt-beg&!pub-date> format.date "year" output.check
-%<dt-beg&!pub-date> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.btitle "title" output.check
- crossref missing$
- { format.bvolume output
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%<!numser> format.number.series output
-%<pre-edn> format.edition output
-%<!blk-com&!blk-tit&!blk-tita> new.sentence
-%<numser> format.number.series output
-%<pg-bk&pg-pre> format.book.pages output
- format.publisher.address output
- }
- {
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
- format.book.crossref output.nonnull
-%<!dt-beg&!dt-end&pub-date> format.date "year" output.check
- }
- if$
-%<!pre-edn> format.edition output
-%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check
-%<isbn> format.isbn output
-%<pg-bk&!pg-pre> format.book.pages output
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end&!pub-date>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end&!pub-date>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`booklet'}
-% \begin{macrocode}
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<ay&dt-beg> format.date "year" output.check
-%<!ay&dt-beg> format.date output
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.title "title" output.check
-%<blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
-%<ay&!dt-beg&!dt-end> format.date "year" output.check
-%<!ay&!dt-beg&!dt-end> format.date output
-%<isbn> format.isbn output
-%<pg-bk> format.book.pages output
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*ay&!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</ay&!dt-beg&dt-end>
-%<*!ay&!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date output
-%</!ay&!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`inbook'}
-% The medical journals, with option \texttt{dt-jnl}, have the date as part of
-% the journal specification. For chapters in books, they want date and pages
-% to appear at the end, with a space between them. (For journals, there is to be
-% no space.) Suppress the chapter specification (for now).
-%
-% The \texttt{dt-jnl} option usually behaves as the default, except for some
-% special entries, like this one.
-%
-% Restore the chapter specification (2004 Feb 9) after someone complained.
-% There are still some bugs here. If some date punctuation is specified, say
-% with \texttt{yrp-semi} for a semi-colon after the year, this appears always,
-% even if there is no text following. But then this to be an unlikely wish anyway,
-% since such punctuation options are best suited for \texttt{dt-beg}.
-% \begin{macrocode}
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check
-%<ay> editor format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
- }
- { format.authors output.nonnull
-%<au-col> add.colon
-%<nmdash> name.or.dash
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
- if$
- }
- if$
-%<dt-beg&!pub-date> format.date "year" output.check
-%<dt-beg&!pub-date> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.btitle "title" output.check
- crossref missing$
- {
-%<pre-pub&numser> format.number.series output
-%<pre-pub> format.publisher.address output
- format.bvolume output
-%<*dt-beg|dt-end|!dt-jnl|a|!a>
- format.chapter.pages "chapter and pages" output.check
-%</dt-beg|dt-end|!dt-jnl|a|!a>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%<!numser> format.number.series output
-%<pre-edn> format.edition output
-%<!blk-com&!blk-tit&!blk-tita> new.sentence
-%<!pre-pub&numser> format.number.series output
-%<!pre-pub> format.publisher.address output
- }
- {
-%<*dt-beg|dt-end|!dt-jnl|a|!a>
- format.chapter.pages "chapter and pages" output.check
-%</dt-beg|dt-end|!dt-jnl|a|!a>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
- format.book.crossref output.nonnull
-%<!dt-beg&!dt-end&!dt-jnl&pub-date> format.date "year" output.check
- }
- if$
-%<!pre-edn> format.edition output
-%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check
-%<*isbn>
- crossref missing$
- { format.isbn output }
- 'skip$
- if$
-%</isbn>
-%<*(!dt-beg&!dt-end&dt-jnl)&!pub-date>
- format.date "year" output.check
- date.block
-%</(!dt-beg&!dt-end&dt-jnl)&!pub-date>
-%<pp-last> format.pages "pages" output.check
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end&!pub-date>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end&!pub-date>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`incollection'}
-% \begin{macrocode}
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<dt-beg&!pub-date> format.date "year" output.check
-%<dt-beg&!pub-date> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
-%<*!jtit-x>
- format.title "title" output.check
-%<blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%</!jtit-x>
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
-%<bt-qq> end.quote.btitle
-%<pre-pub&numser> format.number.series output
-%<pre-pub> format.publisher.address output
-%<!ser-ed> format.bvolume output
-%<!numser> format.number.series output
-%<pre-edn> format.edition output
- format.chapter.pages output
-%<!blk-com&!blk-tit&!blk-tita> new.sentence
-%<!pre-pub&numser> format.number.series output
-%<!pre-pub> format.publisher.address output
-%<!pre-edn> format.edition output
-%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check
-%<isbn> format.isbn output
- }
- { format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
-%<*(!dt-beg&!dt-end&dt-jnl)&!pub-date>
- format.date "year" output.check
- date.block
-%</(!dt-beg&!dt-end&dt-jnl)&!pub-date>
-%<pp-last> format.pages "pages" output.check
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end&!pub-date>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end&!pub-date>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`inproceedings'}
-% \begin{macrocode}
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<dt-beg&!pub-date> format.date "year" output.check
-%<dt-beg&!pub-date> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
-%<*!jtit-x>
- format.title "title" output.check
-%<blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%</!jtit-x>
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
-%<bt-qq> end.quote.btitle
-%<*!pre-pub>
-%<!ser-ed> format.bvolume output
-%<!numser> format.number.series output
-%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output
-%</!pre-pub>
-%<!blk-com&!blk-tit&!blk-tita> new.sentence
-%<numser> format.number.series output
- publisher empty$
- { format.organization.address output }
- { organization "organization" bibinfo.check output
- format.publisher.address output
- }
- if$
-%<!dt-beg&!dt-end&!dt-jnl&!pub-date> format.date "year" output.check
-%<*pre-pub>
- format.bvolume output
-%<!numser> format.number.series output
-%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output
-%</pre-pub>
-%<isbn> format.isbn output
-%<issn> format.issn output
- }
- { format.incoll.inproc.crossref output.nonnull
-%<(dt-beg|dt-end|!dt-jnl)&!pp-last> format.pages output
- }
- if$
-%<*!dt-beg&!dt-end&dt-jnl&!pp-last>
-%<!pub-date> format.date "year" output.check
-%<!pub-date> date.block
-%<jdt-v|jdt-vs|jdt-p|!jdt-pc> add.blank
- format.pages "pages" output.check
-%</!dt-beg&!dt-end&dt-jnl&!pp-last>
-%<pp-last> format.pages "pages" output.check
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end&!pub-date>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end&!pub-date>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`conference'}
-% \begin{macrocode}
-FUNCTION {conference} { inproceedings }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`manual'}
-% \begin{macrocode}
-%<*ay>
-FUNCTION {manual}
-{ output.bibitem
- format.authors output
- author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<dt-beg> format.date "year" output.check
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.btitle "title" output.check
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%<!blk-com&!blk-tit&!blk-tita> organization address new.block.checkb
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
-%<!dt-beg&!dt-end> format.date "year" output.check
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-%</ay>
-%<*!ay>
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization "organization" bibinfo.check
- duplicate$ empty$ 'pop$
- { output
- address "address" bibinfo.check output
- }
- if$
- }
- { format.authors output.nonnull }
- if$
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<ay&dt-beg> format.date "year" output.check
-%<!ay&dt-beg> format.date output
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.btitle "title" output.check
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
- author empty$
- { organization empty$
- {
-%<!blk-com&!blk-tit&!blk-tita> address new.block.checka
- address "address" bibinfo.check output
- }
- 'skip$
- if$
- }
- {
-%<!blk-com&!blk-tit&!blk-tita> organization address new.block.checkb
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- }
- if$
- format.edition output
-%<ay&!dt-beg&!dt-end> format.date "year" output.check
-%<!ay&!dt-beg&!dt-end> format.date output
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*ay&!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</ay&!dt-beg&dt-end>
-%<*!ay&!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date output
-%</!ay&!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-%</!ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`mastersthesis'}
-% To format a master's thesis.
-% \begin{macrocode}
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<dt-beg> format.date "year" output.check
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
-%<*!thtit-x>
-%<!thtit-a> format.btitle
-%<thtit-a> format.title
- "title" output.check
-%<thtit-a&blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%</!thtit-x>
- bbl.mthesis format.thesis.type output.nonnull
- school "school" bibinfo.warn output
- address "address" bibinfo.check output
-%<!dt-beg&!dt-end> format.date "year" output.check
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`misc'}
-% \begin{macrocode}
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<ay&dt-beg> format.date "year" output.check
-%<!ay&dt-beg> format.date output
-%<*ay>
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.title output
-%<blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%</ay>
-%<*!ay>
-%<!blk-com&!blk-tit&!blk-tita> title howpublished new.block.checkb
- format.title output
-%<blk-com&tit-qq> end.quote.title
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%<!blk-com&!blk-tit&!blk-tita> howpublished new.block.checka
-%</!ay>
- howpublished "howpublished" bibinfo.check output
-%<ay&!dt-beg&!dt-end> format.date "year" output.check
-%<!ay&!dt-beg&!dt-end> format.date output
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*ay&!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</ay&!dt-beg&dt-end>
-%<*!ay&!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date output
-%</!ay&!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-%<!ay> empty.misc.check
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`phdthesis'}
-% To format a doctoral thesis.
-% \begin{macrocode}
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<dt-beg> format.date "year" output.check
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
-%<*!thtit-x>
-%<!thtit-a> format.btitle
-%<thtit-a> format.title
- "title" output.check
-%<thtit-a&blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%</!thtit-x>
- bbl.phdthesis format.thesis.type output.nonnull
- school "school" bibinfo.warn output
- address "address" bibinfo.check output
-%<!dt-beg&!dt-end> format.date "year" output.check
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`presentation'}
-% \begin{macrocode}
-%<*pres>
-FUNCTION {presentation}
-{ output.bibitem
- format.authors output
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.title output
-%<blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
- format.organization.address "organization and address" output.check
- month "month" output.check
- year "year" output.check
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
- new.sentence
- type missing$ 'skip$
- {"(" type capitalize * ")" * output}
- if$
-%<*url-blk&!harnm>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm>
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-%</pres>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`proceedings'}
-% \begin{macrocode}
-%<*ay>
-FUNCTION {proceedings}
-{ output.bibitem
- format.editors output
- editor format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<dt-beg> format.date "year" output.check
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.btitle "title" output.check
- format.bvolume output
-%<!numser> format.number.series output
-%<!blk-com&!blk-tit&!blk-tita> new.sentence
-%<numser> format.number.series output
- publisher empty$
- { format.organization.address output }
- { organization "organization" bibinfo.check output
- format.publisher.address output
- }
- if$
-%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check
-%<isbn> format.isbn output
-%<issn> format.issn output
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end&!pub-date>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end&!pub-date>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-%</ay>
-% \end{macrocode}
-% \begin{macrocode}
-%<*!ay>
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization "organization" bibinfo.check output
- }
- { format.editors output.nonnull }
- if$
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<dt-beg> format.date "year" output.check
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.btitle "title" output.check
- format.bvolume output
-%<!numser> format.number.series output
- editor empty$
- { publisher empty$
-%<!numser> 'skip$
-%<numser> { format.number.series output }
- {
-%<!blk-com&!blk-tit&!blk-tita> new.sentence
-%<numser> format.number.series output
- format.publisher.address output
- }
- if$
- }
- { publisher empty$
- {
-%<!blk-com&!blk-tit&!blk-tita> new.sentence
-%<numser> format.number.series output
- format.organization.address output }
- {
-%<!blk-com&!blk-tit&!blk-tita> new.sentence
-%<numser> format.number.series output
- organization "organization" bibinfo.check output
- format.publisher.address output
- }
- if$
- }
- if$
-%<!dt-beg&!dt-end&!pub-date> format.date "year" output.check
-%<isbn> format.isbn output
-%<issn> format.issn output
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-%</!ay>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`techreport'}
-% \begin{macrocode}
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<dt-beg> format.date "year" output.check
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
-%<trtit-b> format.btitle
-%<!trtit-b> format.title
- "title" output.check
-%<!trtit-b&blk-com&tit-qq> end.quote.title
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<blk-tit&!tit-col> new.sentence
-%<blk-tit&tit-col> add.colon
-%<!trnum-it> format.tr.number output.nonnull
-%<trnum-it> format.tr.number emphasize output.nonnull
- institution "institution" bibinfo.warn output
- address "address" bibinfo.check output
-%<!dt-beg&!dt-end> format.date "year" output.check
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note output
-%<*!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date "year" output.check
-%</!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`unpublished'}
-% \begin{macrocode}
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
-%<ay> author format.key output
-%<au-col> add.colon
-%<nmdash> name.or.dash
-%<ay&dt-beg> format.date "year" output.check
-%<!ay&dt-beg> format.date output
-%<dt-beg> date.block
-%<!dt-beg&!blk-com&!blk-tit&!blk-tita> new.block
- format.title "title" output.check
-%<blk-com&tit-qq> end.quote.title
-%<ay&!dt-beg&!dt-end> format.date "year" output.check
-%<!ay&!dt-beg&!dt-end> format.date output
-%<doi|(url-doi&!url)> format.doi output
-%<*url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.url output
-%</url-blk&!harnm&!revdata>
-%<!blk-com&!blk-tit&!blk-tita> new.block
-%<(blk-com|blk-tit|blk-tita)&blknt> new.sentence
- format.note "note" output.check
-%<*ay&!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date output
-%</ay&!dt-beg&dt-end>
-%<*!ay&!dt-beg&dt-end>
-%<!blk-com&!blk-tit&!blk-tita> new.block
- format.date output
-%</!ay&!dt-beg&dt-end>
-%<eprint> format.eprint output
-%<revdata> format.url output
- fin.entry
-%<(harnm|url-nl)&!revdata> write.url
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`default.type'}
-% \begin{macrocode}
-FUNCTION {default.type} { misc }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-READ
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*ay|alph|!seq-no>
-% \end{macrocode}
-%
-% \begin{macro}{`sortify'}
-% In \texttt{btxbst.doc}/\texttt{.mbs}, the \texttt{sortify} function is
-% left out for unsorted alpha-style citations. This leads to an error,
-% because it is still used. So leave it in here too. \emph{In fact, do away
-% with unsorted alpha style, since it is as useless as unsorted author--year
-% listings.}
-% \begin{macrocode}
-FUNCTION {sortify}
-{ purify$
- "l" change.case$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-INTEGERS { len }
-% \end{macrocode}
-%
-% \begin{macro}{`chop.word'}
-% \begin{macrocode}
-FUNCTION {chop.word}
-{ 's :=
- 'len :=
- s #1 len substring$ =
- { s len #1 + global.max$ substring$ }
- 's
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%<*!ay&alph>
-% \end{macrocode}
-%
-% \begin{macro}{`format.lab.names'}
-% The function \texttt{format.lab.names} formats by author--year or the
-% \texttt{alpha} style as in the original \texttt{alpha.bst}.
-% Only major difference is that there should be no unsorted (\texttt{seq-no})
-% versions of this. Patashnik was clearly very unhappy about accommodating
-% such an animal, and in fact, his unsorted alpha style crashes \btx.
-% I also provide the \texttt{vonx} option here to ignore the \textsl{von}
-% part of the name.
-%
-% \begin{macrocode}
-INTEGERS { et.al.char.used }
-% \end{macrocode}
-%
-% \begin{macrocode}
-FUNCTION {initialize.et.al.char.used}
-{ #0 'et.al.char.used :=
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-EXECUTE {initialize.et.al.char.used}
-% \end{macrocode}
-%
-% \begin{macrocode}
-FUNCTION {format.lab.names}
-{ 's :=
-%<*alf-1>
-%<!vonx> s #1 "{v{}}{l{}}" format.name$
-%<vonx> s #1 "{l{}}" format.name$
- duplicate$ text.length$ #2 <
- { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
- 'skip$
- if$
-%</alf-1>
-%<*!alf-1&alf-f>
-%<!vonx> s #1 "{vv{}}{ll}" format.name$
-%<vonx> s #1 "{ll}" format.name$
-%</!alf-1&alf-f>
-%<*!alf-1&!alf-f>
- s num.names$ 'numnames :=
- numnames #1 >
- { numnames #4 >
- { #3 'namesleft := }
- { numnames 'namesleft := }
- if$
- #1 'nameptr :=
- ""
- { namesleft #0 > }
- { nameptr numnames =
- { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { "{\etalchar{+}}" *
- #1 'et.al.char.used :=
- }
-%<!vonx> { s nameptr "{v{}}{l{}}" format.name$ * }
-%<vonx> { s nameptr "{l{}}" format.name$ * }
- if$
- }
-%<!vonx> { s nameptr "{v{}}{l{}}" format.name$ * }
-%<vonx> { s nameptr "{l{}}" format.name$ * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- numnames #4 >
- { "{\etalchar{+}}" *
- #1 'et.al.char.used :=
- }
- 'skip$
- if$
- }
-%<!vonx> { s #1 "{v{}}{l{}}" format.name$
-%<vonx> { s #1 "{l{}}" format.name$
- duplicate$ text.length$ #2 <
- { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ }
- 'skip$
- if$
- }
- if$
-%</!alf-1&!alf-f>
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</!ay&alph>
-% \end{macrocode}
-% The function for the standard citation: one or two authors cited full, but for
-% more than two, only the first with \emph{et~al.} given.
-% \begin{macrocode}
-%<*ay&!mcite>
-FUNCTION {format.lab.names}
-{ 's :=
- "" 't :=
-%<!jnrlab> s #1 "{vv~}{ll}" format.name$
-%<*jnrlab>
-%<!nm-rv&!nm-rvv&!nm-rvx&!nm-rvcx> s #1 "{vv~}{ll}{, jj}" format.name$
-%<nm-rv|nm-rvv|nm-rvx|nm-rvcx> s #1 "{vv~}{ll}{ jj}" format.name$
-%</jnrlab>
-%<lab&and-rm> cite.name.font
- s num.names$ duplicate$
- #2 >
- { pop$
-%<lab&!and-rm&(etal-it|etal-rm)> cite.name.font
-%<*!etal-it>
-%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font *
-%<!lab|!and-rm|etal-rm> " " * bbl.etal *
-%</!etal-it>
-%<etal-it> " " * bbl.etal emphasize *
-%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font
-%<lab&!and-rm> "others" 't :=
- }
- { #2 <
- 'skip$
- { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- {
-% %<lab&!and-rm&(etal-it|etal-rm)> cite.name.font
-%<*!etal-it>
-%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font *
-%<!lab|!and-rm|etal-rm> " " * bbl.etal *
-%</!etal-it>
-%<etal-it> " " * bbl.etal emphasize *
-%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font
-%<lab&!and-rm> "others" 't :=
- }
-%<*!harnm>
-%<*!amper>
- { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
-%<lab&and-rm> cite.name.font
- * }
-%</!amper>
-%<*amper>
- { " \& " * s #2 "{vv~}{ll}" format.name$
-%<lab&and-rm> cite.name.font
- * }
-%</amper>
-%</!harnm>
-%<*harnm>
- { " \harvardand{} " * s #2 "{vv~}{ll}" format.name$
-%<lab&and-rm> cite.name.font
- * }
-%</harnm>
- if$
- }
- if$
- }
- if$
-%<*lab&!and-rm>
- t "others" =
- 'skip$
- { cite.name.font }
- if$
-%</lab&!and-rm>
-}
-
-%</ay&!mcite>
-% \end{macrocode}
-%
-% The code for formating author--year citations with more than one author
-% before \emph{et al.} or selecting a number other than two for truncating,
-% is much the same as the \texttt{format.full.names} function.
-% \begin{macrocode}
-%<*ay&mcite>
-FUNCTION {format.lab.names}
-{'s :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
-%<!jnrlab> "{vv~}{ll}" format.name$
-%<*jnrlab>
-%<!nm-rv&!nm-rvv&!nm-rvx&!nm-rvcx> "{vv~}{ll}{, jj}" format.name$
-%<nm-rv|nm-rvv|nm-rvx|nm-rvcx> "{vv~}{ll}{ jj}" format.name$
-%</jnrlab>
-%<lab&and-rm> cite.name.font
- 't :=
- nameptr #1 >
- {
-%<mct-1> nameptr #2 =
-%<mct-2> nameptr #3 =
-%<mct-3> nameptr #4 =
-%<mct-4> nameptr #5 =
-%<mct-5> nameptr #6 =
-%<mct-6> nameptr #7 =
-%<mct-x2> numnames #2 > and
-%<mct-x3> numnames #3 > and
-%<mct-x4> numnames #4 > and
-%<mct-x5> numnames #5 > and
-%<mct-x6> numnames #6 > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
- namesleft #1 >
- { ", " * t * }
- {
- s nameptr "{ll}" format.name$ duplicate$ "others" =
- { 't := }
- { pop$ }
- if$
- t "others" =
- {
-%<lab&!and-rm&(etal-it|etal-rm)> cite.name.font
-%<*!etal-it>
-%<lab&and-rm&!etal-rm> " " * bbl.etal cite.name.font *
-%<!lab|!and-rm|etal-rm> " " * bbl.etal *
-%</!etal-it>
-%<etal-it> " " * bbl.etal emphasize *
-%<lab&!and-rm&!(etal-it|etal-rm)> cite.name.font
- }
- {
-%<*!harnm>
-%<*!and-xcom>
- numnames #2 >
- { "," * }
- 'skip$
- if$
-%</!and-xcom>
-%<!amper> bbl.and
-%<amper> "\&"
-%</!harnm>
-%<harnm> "\harvardand{}"
- space.word * t *
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-%<*lab&!and-rm>
- t "others" =
- 'skip$
- { cite.name.font }
- if$
-%</lab&!and-rm>
-}
-
-%</ay&mcite>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`author.key.label'}
-% \begin{macro}{`author.editor.key.label'}
-% \begin{macro}{`author.key.organization.label'}
-% \begin{macro}{`editor.key.organization.label'}
-% \begin{macro}{`editor.key.label'}
-% Have to be very careful with the options \texttt{ay}, \texttt{alph}, and
-% \texttt{seq-no} here. The first two are actually mutually exclusive, and
-% \texttt{ay} should dominate. The \texttt{seq-no} option only applies for
-% numerical (\texttt{!ay}) but not alphabetic (\texttt{alph}) selections.
-% This whole block of coding dealing with labels is only included for
-% author--year or alphabetic or ordered numerical.
-% That is, \texttt{ay} or \texttt{alph} or \texttt{!seq-no} is true.
-% \begin{macrocode}
-%<*ay|alph>
-FUNCTION {author.key.label}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
-%<ay> 'key
-%<!ay> { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names }
- if$
-}
-
-FUNCTION {author.editor.key.label}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
-%<ay> 'key
-%<!ay> { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names }
- if$
- }
- { author format.lab.names }
- if$
-}
-
-%</ay|alph>
-%<*!ay&alph>
-FUNCTION {author.key.organization.label}
-{ author empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { author format.lab.names }
- if$
-}
-
-FUNCTION {editor.key.organization.label}
-{ editor empty$
- { key empty$
- { organization empty$
- { cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
- if$
- }
- { key #3 text.prefix$ }
- if$
- }
- { editor format.lab.names }
- if$
-}
-
-%</!ay&alph>
-%<*ay>
-FUNCTION {editor.key.label}
-{ editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- 'key
- if$
- }
- { editor format.lab.names }
- if$
-}
-
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{`calc.short.authors'}
-% \begin{macrocode}
-FUNCTION {calc.short.authors}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label
- { type$ "proceedings" =
- 'editor.key.label
- 'author.key.label
- if$
- }
- if$
- 'short.list :=
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`calc.label'}
-% \begin{macrocode}
-FUNCTION {calc.label}
-{ calc.short.authors
- short.list
-%<!(har|ast|cay|nmd|alk|cn)> "("
-%<har|ast|cay|nmd|alk|cn> ", "
- *
- year duplicate$ empty$
-%<keyxyr> short.list key field.or.null = or
-%<(blkyear|keyxyr)> { pop$ "" }
-%<!(blkyear|keyxyr)> { pop$ "????" }
-%<!note-yr> { purify$ #-1 #4 substring$ }
-%<note-yr> 'skip$
- if$
- *
- 'label :=
-}
-
-%</ay>
-%<*!ay&alph>
-FUNCTION {calc.label}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.label
- { type$ "proceedings" =
- 'editor.key.organization.label
- { type$ "manual" =
- 'author.key.organization.label
- 'author.key.label
- if$
- }
- if$
- }
- if$
- duplicate$
- year field.or.null purify$ #-1 #2 substring$
- *
- 'label :=
- year field.or.null purify$ #-1 #4 substring$
- *
- sortify 'sort.label :=
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</!ay&alph>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*ay>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*har|cay|nmd|ast|cn>
-% \end{macrocode}
-%
-% \begin{macro}{`calc.short.label'}
-% \begin{macrocode}
-FUNCTION {calc.short.label}
-{ calc.short.authors short.list
- 'label :=
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</har|cay|nmd|ast|cn>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</ay>
-% \end{macrocode}
-%
-% \begin{macro}{`sort.format.names'}
-% \begin{macrocode}
-FUNCTION {sort.format.names}
-{ 's :=
- #1 'nameptr :=
- ""
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
-%<*xintls>
-%<!vonx> "{vv{ } }{ll{ }}"
-%<vonx> "{ll{ }}"
-%</xintls>
-%<*!xintls>
-%<*!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv&!nm-rvvc>
-%<!vonx> "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}"
-%<vonx> "{ll{ }}{ ff{ }}{ jj{ }}"
-%</!nm-init&!nm-rev&!nm-rev1&!nm-rv&!nm-rvx&!nm-rvcx&!nm-rvv&!nm-rvvc>
-%<*nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv|nm-rvvc>
-%<!vonx> "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
-%<vonx> "{ll{ }}{ f{ }}{ jj{ }}"
-%</nm-init|nm-rev|nm-rev1|nm-rv|nm-rvx|nm-rvcx|nm-rvv|nm-rvvc>
-%</!xintls>
- format.name$ 't :=
- nameptr #1 >
- {
-%<*nmlm>
-%<m1> nameptr #1
-%<m2> nameptr #2
-%<m3> nameptr #3
-%<m4> nameptr #4
-%<m5> nameptr #5
-%<m6> nameptr #6
-%<m7> nameptr #7
-%<m8> nameptr #8
-%<m9> nameptr #9
-%<m0> nameptr #0
-%<m10> #10 +
-%<m20> #20 +
-%<m30> #30 +
-%<m40> #40 +
-%<m50> #50 +
-%<m60> #60 +
-%<m70> #70 +
-%<m80> #80 +
-%<m90> #90 +
- #1 + =
-%<x1> numnames #1
-%<x2> numnames #2
-%<x3> numnames #3
-%<x4> numnames #4
-%<x5> numnames #5
-%<x6> numnames #6
-%<x7> numnames #7
-%<x8> numnames #8
-%<x9> numnames #9
-%<x0> numnames #0
-%<x10> #10 +
-%<x20> #20 +
-%<x30> #30 +
-%<x40> #40 +
-%<x50> #50 +
-%<x60> #60 +
-%<x70> #70 +
-%<x80> #80 +
-%<x90> #90 +
- > and
- { "others" 't :=
- #1 'namesleft := }
- 'skip$
- if$
-%</nmlm>
- " " *
- namesleft #1 = t "others" = and
- { "zzzzz" 't := }
- 'skip$
- if$
-%<*seq-lab|seq-key|seq-labc>
- numnames #2 > nameptr #2 = and
- { "zz" * year field.or.null * " " *
-%<seq-labc> #1 'namesleft :=
- }
-%<seq-labc> { t sortify * }
-%<!seq-labc> 'skip$
- if$
-%</seq-lab|seq-key|seq-labc>
-%<!seq-labc> t sortify *
- }
- { t sortify * }
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`sort.format.title'}
-% \begin{macrocode}
-FUNCTION {sort.format.title}
-{ 't :=
- "A " #2
- "An " #3
- "The " #4 t chop.word
- chop.word
- chop.word
- sortify
- #1 global.max$ substring$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`author.sort'}
-% \begin{macrocode}
-FUNCTION {author.sort}
-{ author empty$
- { key empty$
- { "to sort, need author or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`author.editor.sort'}
-% \begin{macrocode}
-FUNCTION {author.editor.sort}
-{ author empty$
- { editor empty$
- { key empty$
- { "to sort, need author, editor, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
- }
- { author sort.format.names }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`negate.year'}
-% This function negates the year by substituting each digit by its
-% complement. That is, 0 $\rightarrow$ 9, 1 $\rightarrow$ 8, etc. This is used
-% to provide ordering by descending year (latest year first).
-% \begin{macrocode}
-%<*seq-yrr&!seq-yr>
-FUNCTION {negate.year}
-{ year empty$
- { "99999" }
- { year #1 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$
- year #2 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ *
- year #3 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ *
- year #4 #1 substring$ chr.to.int$ #105 swap$ - int.to.chr$ *
- }
- if$
-}
-%</seq-yrr&!seq-yr>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%<*ay>
-% \end{macrocode}
-%
-% \begin{macro}{`editor.sort'}
-% \begin{macrocode}
-FUNCTION {editor.sort}
-{ editor empty$
- { key empty$
- { "to sort, need editor or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%<*seq-no>
-% \end{macrocode}
-%
-% \begin{macrocode}
-INTEGERS { seq.num }
-% \end{macrocode}
-%
-% \begin{macro}{`init.seq'}
-% \begin{macrocode}
-FUNCTION {init.seq}
-{ #0 'seq.num :=}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-EXECUTE {init.seq}
-% \end{macrocode}
-%
-% \begin{macro}{`int.to.fix'}
-% \begin{macrocode}
-FUNCTION {int.to.fix}
-{ "000000000" swap$ int.to.str$ *
- #-1 #10 substring$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</seq-no>
-% \end{macrocode}
-%
-% \begin{macro}{`presort'}
-% For unsorted author--year, make up the final sorting order in
-% \texttt{sort.label} with the original sequence number, for unsorting later.
-% \begin{macrocode}
-FUNCTION {presort}
-{ calc.label
- label sortify
- " "
- *
-%<*!seq-no>
- type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.sort
- 'author.sort
- if$
- }
- if$
- #1 entry.max$ substring$
-%</!seq-no>
-%<*seq-no>
- seq.num #1 + 'seq.num :=
- seq.num int.to.fix
-%</seq-no>
- 'sort.label :=
- sort.label
- *
-%<seq-yr> " " * year field.or.null *
-%<seq-yrr&!seq-yr> " " * negate.year field.or.null *
-%<*!seq-key&!seq-labc&!seq-yr&!seq-yrr>
- " "
- *
- title field.or.null
- sort.format.title
- *
-%</!seq-key&!seq-labc&!seq-yr&!seq-yrr>
-%<seq-key|seq-yr|seq-yrr> " " * cite$ *
- #1 entry.max$ substring$
- 'sort.key$ :=
-% "For " cite$ * ", sort.key=" * sort.key$ * warning$
-}
-
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</ay>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*!ay>
-% \end{macrocode}
-%
-% \begin{macro}{`author.organization.sort'}
-% \begin{macrocode}
-FUNCTION {author.organization.sort}
-{ author empty$
- { organization empty$
- { key empty$
- { "to sort, need author, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { author sort.format.names }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`editor.organization.sort'}
-% \begin{macrocode}
-FUNCTION {editor.organization.sort}
-{ editor empty$
- { organization empty$
- { key empty$
- { "to sort, need editor, organization, or key in " cite$ * warning$
- ""
- }
- { key sortify }
- if$
- }
- { "The " #4 organization chop.word sortify }
- if$
- }
- { editor sort.format.names }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`presort'}
-% \begin{macrocode}
-FUNCTION {presort}
-%<*alph>
-{ calc.label
- sort.label
- " "
- *
- type$ "book" =
-%</alph>
-%<!alph>{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.organization.sort
- { type$ "manual" =
- 'author.organization.sort
- 'author.sort
- if$
- }
- if$
- }
- if$
-%<alph> *
- " "
- *
-%<seq-yrr> negate.year field.or.null sortify
-%<!seq-yrr> year field.or.null sortify
-%<!(seq-yr|seq-yrr)|alph> *
- " "
- *
-%<(seq-yr|seq-yrr)&!alph> swap$ *
- title field.or.null
- sort.format.title
- *
- #1 entry.max$ substring$
- 'sort.key$ :=
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</!ay>
-% \end{macrocode}
-%
-% \begin{macrocode}
-ITERATE {presort}
-% \end{macrocode}
-%
-% \begin{macrocode}
-SORT
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</ay|alph|!seq-no>
-% \end{macrocode}
-%
-% With version~6.0 of \texttt{natbib}, the author-year styles can also be
-% used for numerical citations; then the \texttt{thebibliography} environment
-% must have an argument indicating the length of the longest label.
-% Simply count the references and add this number as the argument.
-% \begin{macrocode}
-%<*ay>
-% \end{macrocode}
-%
-% \begin{macrocode}
-STRINGS { last.label next.extra }
-% \end{macrocode}
-%
-% With computer-generated articles, it is possible to have more than 26 articles
-% in one year. It has finally occurred that the extra labels go beyond `z'.
-% The current code now allows for `aa', \dots `az', 'ba', \dots `zz'. This
-% code was provided by Joseph Wright (2007 Oct 10).
-% \begin{macrocode}
-INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label }
-% \end{macrocode}
-%
-% \begin{macro}{`initialize.extra.label.stuff'}
-% \begin{macrocode}
-FUNCTION {initialize.extra.label.stuff}
-{ #0 int.to.chr$ 'last.label :=
- "" 'next.extra :=
- #0 'last.extra.num :=
- "a" chr.to.int$ #1 - 'last.extra.num.blank :=
- last.extra.num.blank 'last.extra.num.extended :=
- #0 'number.label :=
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`forward.pass'}
-% \begin{macrocode}
-FUNCTION {forward.pass}
-{ last.label label =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num "z" chr.to.int$ >
- { "a" chr.to.int$ 'last.extra.num :=
- last.extra.num.extended #1 + 'last.extra.num.extended :=
- }
- 'skip$
- if$
- last.extra.num.extended last.extra.num.blank >
- { last.extra.num.extended int.to.chr$
- last.extra.num int.to.chr$
- * 'extra.label := }
- { last.extra.num int.to.chr$ 'extra.label := }
- if$
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- label 'last.label :=
- }
- if$
- number.label #1 + 'number.label :=
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</ay>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*!ay&alph>
-% \end{macrocode}
-%
-% \begin{macrocode}
-STRINGS { longest.label last.sort.label next.extra }
-% \end{macrocode}
-%
-% \begin{macrocode}
-INTEGERS { longest.label.width last.extra.num }
-% \end{macrocode}
-%
-% \begin{macro}{`initialize.longest.label'}
-% \begin{macrocode}
-FUNCTION {initialize.longest.label}
-{ "" 'longest.label :=
- #0 int.to.chr$ 'last.sort.label :=
- "" 'next.extra :=
- #0 'longest.label.width :=
- #0 'last.extra.num :=
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{`forward.pass'}
-% \begin{macrocode}
-FUNCTION {forward.pass}
-{ last.sort.label sort.label =
- { last.extra.num #1 + 'last.extra.num :=
- last.extra.num int.to.chr$ 'extra.label :=
- }
- { "a" chr.to.int$ 'last.extra.num :=
- "" 'extra.label :=
- sort.label 'last.sort.label :=
- }
- if$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</!ay&alph>
-% \end{macrocode}
-%
-% \begin{macro}{`reverse.pass'}
-% The extra label is added in braces so that natbib can treat it as one unit.
-% This allows extra labels to be more than one letter long. For non-NFSS
-% emphasizing, this is no problem, since labels go in |{\em a}|, but for
-% non-emphasizing and for NFSS, it caused troubles without the braces.
-% The trouble arises with multiple citations in one |\cite| in which
-% authors and years are the same, and only the extra label is given for
-% the next one. Note: |\emph{a}| is more than one letter long in this sense,
-% so it is not just a problem for more than 26 papers with same authors and
-% year.
-%
-% The command |\natexlab| now encloses the extra label for \texttt{natbib}
-% styles. This command normally just prints its argument, but for numerical
-% citation mode, it swallows its argument. This allows the extra labels to
-% be suppressed for numerical citations where they are superfluous.
-% The enclosing braces mentioned above must be included here to make the
-% entire extra label text a single token for \texttt{natbib}.
-% \begin{macrocode}
-%<*ay>
-% \end{macrocode}
-%
-% \begin{macrocode}
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- extra.label 'next.extra :=
- extra.label
-%<xlab-it> emphasize
-%<*!html>
- duplicate$ empty$
- 'skip$
- { "{\natexlab{" swap$ * "}}" * }
- if$
-%</!html>
- 'extra.label :=
-%<!(har|ast|cay|nmd|cn)> label extra.label * 'label :=
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</ay>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*!ay&alph>
-% \end{macrocode}
-%
-% \begin{macrocode}
-FUNCTION {reverse.pass}
-{ next.extra "b" =
- { "a" 'extra.label := }
- 'skip$
- if$
- label extra.label * 'label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
- }
- 'skip$
- if$
- extra.label 'next.extra :=
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</!ay&alph>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%<ay>EXECUTE {initialize.extra.label.stuff}
-%<!ay&alph>EXECUTE {initialize.longest.label}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*ay|alph>
-ITERATE {forward.pass}
-% \end{macrocode}
-%
-% \begin{macrocode}
-REVERSE {reverse.pass}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</ay|alph>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*ay>
-FUNCTION {bib.sort.order}
-{ sort.label
- " "
- *
-%<seq-yrr> negate.year field.or.null sortify
-%<!seq-yrr> year field.or.null sortify
-%<(seq-yr|seq-yrr)&!(seq-lab|seq-key|seq-labc)> swap$
- *
-%<*!seq-key&!seq-labc&!seq-yr&!seq-yrr>
- " "
- *
- title field.or.null
- sort.format.title
- *
-%</!seq-key&!seq-labc&!seq-yr&!seq-yrr>
-%<seq-key|seq-yr|seq-yrr> " " * cite$ *
- #1 entry.max$ substring$
- 'sort.key$ :=
-% "For " cite$ * ", bib.sort.key=" * sort.key$ * warning$
-%<har|cay|nmd|cn|ast> calc.short.label
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-ITERATE {bib.sort.order}
-% \end{macrocode}
-%
-% \begin{macrocode}
-SORT
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</ay>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*!ay&!alph>
-% \end{macrocode}
-%
-% \begin{macrocode}
-STRINGS { longest.label }
-% \end{macrocode}
-%
-% \begin{macrocode}
-INTEGERS { number.label longest.label.width }
-% \end{macrocode}
-%
-% \begin{macrocode}
-FUNCTION {initialize.longest.label}
-{ "" 'longest.label :=
- #1 'number.label :=
- #0 'longest.label.width :=
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-FUNCTION {longest.label.pass}
-%<*!cite>
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
-%</!cite>
-%<cite>{ cite$ 'label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
- }
- 'skip$
- if$
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-EXECUTE {initialize.longest.label}
-% \end{macrocode}
-%
-% \begin{macrocode}
-ITERATE {longest.label.pass}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</!ay&!alph>
-% \end{macrocode}
-%
-% \begin{macro}{`begin.bib'}
-% The function \texttt{begin.bib} writes the initial text to the \texttt{.bbl}
-% file. The most important matter here is that the \texttt{thebibliography}
-% environment is invoked.
-%
-% Note: the French quotation marks are called `guillimets'; Adobe erroneously
-% named the symbols `guillimot', which is an arctic bird. The error has so
-% propagated, that it can no longer be corrected. \LaTeX\ took it over.
-% \begin{macrocode}
-FUNCTION {begin.bib}
-%<*!html>
-%<*!ay&alph>
-{ et.al.char.used
- { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
- 'skip$
- if$
- preamble$ empty$
-%</!ay&alph>
-%<ay|!alph>{ preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
-%<ay> "\begin{thebibliography}{" number.label int.to.str$ * "}" *
-%<!ay> "\begin{thebibliography}{" longest.label * "}" *
- write$ newline$
-%<*(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))>
- "\typeout{**********************************}" write$ newline$
- "\typeout{WARNING WARNING WARNING WARNING WARNING}" write$ newline$
- "\typeout{The bst file has been generated with inconsistent options}"
- write$ newline$
- "\typeout{Read the warning message at the start of the bst file}"
- write$ newline$
- "\typeout{**********************************}" write$ newline$
-%</(!nmft&(nmft-it|nmft-sc|nmft-bf|nmft-def))|(!lab&(lab-it|lab-bf|lab-sc|lab-def))>
-%<*!plntx>
-%<!tit-it&tit-qq&qt-s> "\newcommand{\enquote}[1]{`#1'}"
-%<!tit-it&tit-qq&!qt-s&!qt-g> "\newcommand{\enquote}[1]{``#1''}"
-%</!plntx>
-%<*plntx>
-%<!tit-it&tit-qq&qt-s> "\def\enquote#1{`#1'}"
-%<!tit-it&tit-qq&!qt-s&!qt-g> "\def\enquote#1{``#1''}"
-%</plntx>
-%<*!tit-it&tit-qq&!qt-s&qt-g>
-%<!plntx> "\let\enquote\frquote"
-%<*plntx>
- "\def\guillemotleft{%"
- write$ newline$
- " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\ll$}}"
- write$ newline$
- "\def\guillemotright{%"
- write$ newline$
- " \leavevmode\raise .27ex\hbox{$\scriptscriptstyle\gg$}}"
- write$ newline$
- "\def\enquote#1{\guillemotleft#1\guillemotright}"
-%</plntx>
-%</!tit-it&tit-qq&!qt-s&qt-g>
-%<!tit-it&tit-qq> write$ newline$
-%<umlaut> "\let\qq=\" quote$ * write$ newline$
-%<em-ul> "\expandafter\ifx\csname uline\endcsname\relax\let\uline\underline\fi"
-%<em-ul> write$ newline$
-%<*ay>
-%<!plntx> "\providecommand{\natexlab}[1]{#1}"
-%<plntx> "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
- write$ newline$
-%<*har>
- "{\catcode`\|=0\catcode`\#=12\catcode`\@=11\catcode`\\=12" write$ newline$
- "|immediate|write|@auxout{\expandafter\ifx\csname natexlab\endcsname\relax\gdef\natexlab#1{#1}\fi}}"
- write$ newline$
-%</har>
-%</ay>
-%<*nmft&nmft-def>
-%<!plntx> "\providecommand{\bibnamefont}[1]{#1}"
-%<plntx> "\expandafter\ifx\csname bibnamefont\endcsname\relax"
-%<plntx> write$ newline$
-%<plntx> " \def\bibnamefont#1{#1}\fi"
- write$ newline$
-%</nmft&nmft-def>
-%<*nmft&fnm-def>
-%<!plntx> "\providecommand{\bibfnamefont}[1]{#1}"
-%<plntx> "\expandafter\ifx\csname bibfnamefont\endcsname\relax"
-%<plntx> write$ newline$
-%<plntx> " \def\bibfnamefont#1{#1}\fi"
- write$ newline$
-%</nmft&fnm-def>
-%<*lab&lab-def>
-%<!plntx> "\providecommand{\citenamefont}[1]{#1}"
-%<plntx> "\expandafter\ifx\csname citenamefont\endcsname\relax"
-%<plntx> write$ newline$
-%<plntx> " \def\citenamefont#1{#1}\fi"
- write$ newline$
-%</lab&lab-def>
-%<*(url&!harnm)|eprint>
-%<*!plntx>
-%<nfss> "\providecommand{\url}[1]{\texttt{#1}}"
-%<!nfss> "\providecommand{\url}[1]{{\tt #1}}"
- write$ newline$
- "\providecommand{\urlprefix}{}"
- write$ newline$
-%</!plntx>
-%<*plntx>
- "\expandafter\ifx\csname url\endcsname\relax"
- write$ newline$
-%<nfss> " \def\url#1{\texttt{#1}}\fi"
-%<!nfss> " \def\url#1{{\tt #1}}\fi"
- write$ newline$
- "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{}\fi"
- write$ newline$
-%</plntx>
-%</(url&!harnm)|eprint>
-%<*doi>
- "\expandafter\ifx\csname urlstyle\endcsname\relax"
- write$ newline$
-%<*!plntx>
- " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
- write$ newline$
- " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
- write$ newline$
-%</!plntx>
-%<*plntx>
- " \expandafter\ifx\csname doi\endcsname\relax"
- write$ newline$
- " \def\doi#1{doi:\discretionary{}{}{}#1}\fi \else"
- write$ newline$
- " \expandafter\ifx\csname doi\endcsname\relax"
- write$ newline$
- " \def\doi{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi \fi"
- write$ newline$
-%</plntx>
-%</doi>
-%<*url-doi&url>
- "\providecommand{\doiprefix}{doi: }"
- write$ newline$
- "\expandafter\ifx\csname href\endcsname\relax"
- write$ newline$
- " \providecommand{\urldoi}[1]{#1}\else"
- write$ newline$
- " \providecommand{\urldoi}[1]{\href{https://doi.org/#1}{#1}}\fi"
- write$ newline$
-%</url-doi&url>
-%<*lang>
-%<!plntx> "\providecommand{\selectlanguage}[1]{\relax}"
-%<*plntx>
- "\expandafter\ifx\csname selectlanguage\endcsname\relax"
- write$ newline$
- " \def\selectlanguage#1{}\fi"
-%</plntx>
- write$ newline$
-%</lang>
-%<*!plntx>
-%<*babel>
- "\input{babelbst.tex}" write$ newline$
- "\newcommand{\Capitalize}[1]{\uppercase{#1}}" write$ newline$
- "\newcommand{\capitalize}[1]{\expandafter\Capitalize#1}" write$ newline$
-%</babel>
-%<*annote>
- "\providecommand{\bibAnnoteFile}[1]{%"
- write$ newline$
- " \IfFileExists{#1}{\begin{quotation}\noindent\textsc{Key:} #1\\"
- write$ newline$
- " \textsc{Annotation:}\ \input{#1}\end{quotation}}{}}"
- write$ newline$
- "\providecommand{\bibAnnote}[2]{%"
- write$ newline$
- " \begin{quotation}\noindent\textsc{Key:} #1\\"
- write$ newline$
- " \textsc{Annotation:}\ #2\end{quotation}}"
- write$ newline$
-%</annote>
-%</!plntx>
-%<*bibinfo>
-%<!plntx> "\providecommand{\bibinfo}[2]{#2}"
-%<plntx> "\expandafter\ifx\csname bibinfo\endcsname\relax\def\bibinfo#1#2{#2}\fi"
- write$ newline$
-%</bibinfo>
-%<*eprint>
-%<!plntx> "\providecommand{\eprint}[2][]{\url{#2}}"
-%<plntx> "\expandafter\ifx\csname eprint\endcsname\relax\def\eprint#1{\url{#1}}\fi"
- write$ newline$
-%</eprint>
-}
-%</!html>
-%<*html>
-{
-"<html><head><title>Bibliography Listing</title></head>" write$ newline$
-"<body>" write$ newline$
-"<h2>Bibliography</h2>" write$ newline$
-%<htdes>"<dl>" write$ newline$
-%<!htdes&htlist>"<ol>" write$ newline$
-}
-%</html>
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-EXECUTE {begin.bib}
-% \end{macrocode}
-%
-% \begin{macrocode}
-EXECUTE {init.state.consts}
-% \end{macrocode}
-%
-% \begin{macrocode}
-ITERATE {call.type$}
-% \end{macrocode}
-%
-% \begin{macro}{`end.bib'}
-% \begin{macrocode}
-FUNCTION {end.bib}
-{ newline$
-%<!html> "\end{thebibliography}" write$ newline$
-%<html> "</dl></body></html>" write$ newline$
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-EXECUTE {end.bib}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</!head>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</!options&!driver&!bblbst>
-% \end{macrocode}
-%
-% \section{The File \texttt{babelbst.tex} for English}
-% The following contains the definitions for the \texttt{babel} language
-% selection as they apply to English. This file may be extracted with
-% \dtx{} and the option \texttt{bblbst}.
-% \begin{macrocode}
-%<*bblbst>
- % This is babelbst.tex for English.
- % It should serve as a model for other languages.
- % Alternatively, store it under a different name (e.g. englbst.tex)
- % and then \input it with a command in babelbst.tex.
-\def\bbland{and} \def\bbletal{et~al.}
-\def\bbleditors{editors} \def\bbleds{eds.}
-\def\bbleditor{editor} \def\bbled{ed.}
-\def\bbledby{edited by}
-\def\bbledition{edition} \def\bbledn{edn.}
-\def\bblvolume{volume} \def\bblvol{vol.}
-\def\bblof{of}
-\def\bblnumber{number} \def\bblno{no.}
-\def\bblin{in}
-\def\bblpages{pages} \def\bblpp{pp.}
-\def\bblpage{page} \def\bblp{p.}
-\def\bbleidpp{pages}
-\def\bblchapter{chapter} \def\bblchap{chap.}
-\def\bbltechreport{Technical Report}
-\def\bbltechrep{Tech. Rep.}
-\def\bblmthesis{Master's thesis}
-\def\bblphdthesis{Ph.D. thesis}
-\def\bblfirst{First} \def\bblfirsto{1st}
-\def\bblsecond{Second} \def\bblsecondo{2nd}
-\def\bblthird{Third} \def\bblthirdo{3rd}
-\def\bblfourth{Fourth} \def\bblfourtho{4th}
-\def\bblfifth{Fifth} \def\bblfiftho{5th}
-\def\bblst{st} \def\bblnd{nd} \def\bblrd{rd}
-\def\bblth{th}
-\def\bbljan{January} \def\bblfeb{February} \def\bblmar{March}
-\def\bblapr{April} \def\bblmay{May} \def\bbljun{June}
-\def\bbljul{July} \def\bblaug{August} \def\bblsep{September}
-\def\bbloct{October} \def\bblnov{November} \def\bbldec{December}
-%</bblbst>
-% \end{macrocode}
-%
-% \Finale
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 af76f1c69e1..1cc15b18c7f 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/cjs-rcs-article/cjs-template.tex b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-template.tex
index 61d410f7a13..3ca3fda9b46 100644
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-template.tex
+++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/cjs-template.tex
@@ -59,16 +59,16 @@
%% page automatically.
\begin{englishabstract}
<Insert your English abstract here. The abstract should be concise
- --- up to 10 lines long --- and descriptive. Avoid symbols as much
- as possible. Formulas are strongly discouraged, and citations
- should be avoided.>
+ (up to 10 lines long) and descriptive. Avoid symbols as much as
+ possible. Formulas are strongly discouraged, and citations should
+ be avoided.>
\end{englishabstract}
\begin{frenchabstract}
<Insérer le texte du résumé en français ici. Le résumé doit être
- concis --- une dizaine de lignes --- et descriptif. Éviter autant
- que possible les symboles. Les équations mathématiques sont
- fortement découragées et les citations sont à éviter.>
+ concis (une dizaine de lignes) et descriptif. Éviter autant que
+ possible les symboles. Les équations mathématiques sont fortement
+ déconseillées et les citations sont à éviter.>
[We will supply a French abstract for those authors who
can't prepare it themselves.]
\end{frenchabstract}
@@ -102,9 +102,10 @@
<Free form text>
\end{supplement}
- %% DATA SHARING (optional - comment out if unused). Describe how to
- %% access data that you wish to share. Provide a permanent link such
- %% as a Document Object Identifier (DOI) or an URL.
+ %% DATA SHARING (mandatory). In accordance with the Expect Data
+ %% Sharing editorial policy of Wiley, make a statement about the
+ %% availability or absence of shared data. Provide a permanent link
+ %% such as a Document Object Identifier (DOI) or an URL.
\begin{sharing}
<Free form text>
\end{sharing}
diff --git a/Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex b/Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex
index 78053a97542..1b5735334c1 100644
--- a/Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex
+++ b/Master/texmf-dist/doc/latex/cjs-rcs-article/rcs-gabarit.tex
@@ -61,18 +61,18 @@
%% la page de titre automatiquement.
\begin{englishabstract}
<Insert your English abstract here. The abstract should be concise
- --- up to 10 lines long --- and descriptive. Avoid symbols as much
- as possible. Formulas are strongly discouraged, and citations
- should be avoided.>
+ (up to 10 lines long) and descriptive. Avoid symbols as much as
+ possible. Formulas are strongly discouraged, and citations should
+ be avoided.>
[Un résumé en anglais sera fourni pour les auteurs qui ne peuvent
le préparer eux-mêmes.]
\end{englishabstract}
\begin{frenchabstract}
<Insérer le texte du résumé en français ici. Le résumé doit être
- concis --- une dizaine de lignes --- et descriptif. Éviter autant
- que possible les symboles. Les équations mathématiques sont
- fortement découragées et les citations sont à éviter.>
+ concis (une dizaine de lignes) et descriptif. Éviter autant que
+ possible les symboles. Les équations mathématiques sont fortement
+ déconseillées et les citations sont à éviter.>
\end{frenchabstract}
%% MOTS-CLÉS. Fournir une liste de mots-clés en ordre alphabétique.
@@ -106,10 +106,11 @@
<Texte libre>
\end{supplement}
- %% PARTAGE DES DONNÉES (optionnel - commenter si inutilisé).
- %% Expliquer comment accéder à des données de l'article mises à
- %% disposition. Fournir un lien permanent, comme un identificateur
- %% d'objets numériques (DOI) ou une adresse URL.
+ %% PARTAGE DES DONNÉES (obligatoire). Conformément à la politique
+ %% éditoriale «Expect Data Sharing» de Wiley, vous devez indiquer
+ %% les conditions de partage des données de recherche, ou l'absence
+ %% de celles-ci, le cas échéant. Fournir un lien permanent, comme un
+ %% identificateur d'objets numériques (DOI) ou une adresse URL.
\begin{sharing}
<Texte libre>
\end{sharing}
diff --git a/Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdf b/Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdf
index 57a1653f9c5..879d4b3f5ba 100644
--- a/Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdf
+++ b/Master/texmf-dist/doc/latex/colortbl/colortbl-DE.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/colortbl/colortbl.pdf b/Master/texmf-dist/doc/latex/colortbl/colortbl.pdf
index 9a2299528d4..6ebe2525c33 100644
--- a/Master/texmf-dist/doc/latex/colortbl/colortbl.pdf
+++ b/Master/texmf-dist/doc/latex/colortbl/colortbl.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf
index d0d64760c9a..fe5aeba2978 100644
--- a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf
+++ b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex
index 3e4ce0aa72d..321723f025a 100644
--- a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex
+++ b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex
@@ -34,8 +34,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.7}
-\def\TPdate{03/06/2024}
+\def\TPversion{0.1.8}
+\def\TPdate{13/07/2024}
\usepackage{tcolorbox}
\sethlcolor{lightgray!25}
\NewDocumentCommand\MontreCode{ m }{%
@@ -111,6 +111,7 @@
\section{History}
+\verb|v0.1.8|~:~~~~Score banner
\verb|v0.1.7|~:~~~~Small patch for \textsf{Vignette} macro (see \texttt{[fr]} documentation)
\verb|v0.1.6|~:~~~~Small patchs for \textsf{displayskip} + \textsf{pas-tableur} (see \texttt{[fr]} documentation)
@@ -430,6 +431,60 @@ The last argument, mandatory and between \MontreCode{(...)} give the list of cat
\pagebreak
+\pagebreak
+
+\section{Score banner}
+
+\subsection{Global use}
+
+The idea is to insert a score banner, with customizations.
+
+\begin{codehigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+ScoreBanner[keys]{number}
+\end{codehigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+%default output
+\ScoreBanner{}
+\end{demohigh}
+
+\subsection{The macro}
+
+Available \MontreCode{keys} are :
+
+\begin{itemize}
+ \item \MontreCode{Height} : height of the banner (without the legend) ; \MontreCode{1} by default
+ \item \MontreCode{Ratio} : ratio of boxes ; \MontreCode{0.6} by default
+ \item \MontreCode{Symbols} : labels ; \MontreCode{A,B,C,D,E} by default
+ \item \MontreCode{Legend} : legend (uppercase) ; \MontreCode{score} by default ;
+ \item \MontreCode{Font} : global font ; \MontreCode{\textbackslash bfseries\textbackslash sffamily} by default
+ \item \MontreCode{ShowLegend} : boolean for the legend ; \MontreCode{false} by default ;
+ \item \MontreCode{Colors} : colors for boxes ;
+
+ \hfill\MontreCode{colorNS1,colorNS2,colorNS3,colorNS4,colorNS5} by default ;
+ \item \MontreCode{ScaleSymbols} : scale H/V of labels ; \MontreCode{1.25,1.65} by default ;
+ \item \MontreCode{Colbg} : background color for select box ; \MontreCode{white} by default.
+\end{itemize}
+
+\smallskip
+
+If the list of colors doesn't fill all the boxes, \MontreCode{lightgray} color is used.
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\ScoreBanner[Legend=Geometry,Height=2]{4}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25,style/demo=yellow!25]
+%bg of lower part is yellow!25
+\def\lstcouleurs{colorNS1,colorNS2,colorNS3,colorNS4,colorNS5,purple}
+\ScoreBanner%
+ [ScaleSymbols={1.33,2},Height=3.25,ShowLegend=false,Ratio=0.75,
+ Symbols={1,2,3,4,5,6},Colors=\lstcouleurs,
+ Colbg=yellow!25]{1}
+\end{demohigh}
+
+\pagebreak
+
\section{SMS conversation}
\subsection{Global use}
diff --git a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf
index b1280769998..47dce47918d 100644
--- a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf
+++ b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex
index 2f74296c5d1..7a7293ec6ed 100644
--- a/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex
+++ b/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex
@@ -39,8 +39,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.7}
-\def\TPdate{03 juin 2024}
+\def\TPversion{0.1.8}
+\def\TPdate{13 juillet 2024}
\usepackage{tcolorbox}
\tcbuselibrary{listingsutf8}
\newtcblisting{DemoCode}[1]{%
@@ -66,10 +66,10 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt},%
+ morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
- morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width},%
+ morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles},%
keywordstyle={\color{orange}}
},%
#1
@@ -799,6 +799,64 @@ L'argument, obligatoire et entre \MontreCode{\{...\}} est la liste des catégori
\pagebreak
+\section{Bandeau de score}
+
+\subsection{Principe et fonctionnement}
+
+L'idée est de proposer une commande pour insérer un bandeau de score, type \textit{nutriscore}.
+
+\smallskip
+
+La majorité des éléments sont personnalisables.
+
+\begin{DemoCode}{listing only}
+\BandeauScore[clés]{numéro}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%sortie par défaut
+\BandeauScore{}
+\end{DemoCode}
+
+\subsection{La commande}
+
+Les \MontreCode{clés} disponibles, à donner entre \MontreCode{[...]}, sont :
+
+\begin{itemize}
+ \item \MontreCode{Hauteur} : hauteur du bandeau (sans la légende) ; \MontreCode{1} par défaut
+ \item \MontreCode{Ratio} : rapport V/H des cases ; \MontreCode{0.6} par défaut
+ \item \MontreCode{Symboles} : contenu des cases ; \MontreCode{A,B,C,D,E} par défaut
+ \item \MontreCode{Legende} : texte de la légende (qui sera en majuscule) ; \MontreCode{score} par défaut ;
+ \item \MontreCode{Police} : Police globale ; \MontreCode{\textbackslash bfseries\textbackslash sffamily} par défaut
+ \item \MontreCode{AffLegende} : booléen pour afficher la légende ; \MontreCode{false} par défaut ;
+ \item \MontreCode{Couleurs} : couleurs des cases ;
+
+ \hfill\MontreCode{couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5} par défaut ;
+ \item \MontreCode{EchelleSymboles} : échelle(s) H/V des symboles ; \MontreCode{1.25,1.65} par défaut ;
+ \item \MontreCode{CouleurFond} : couleur du fond (pour la case choisie) ; \MontreCode{white} par défaut.
+\end{itemize}
+
+L'argument obligatoire correspond quant à lui au numéro de la case à mettre en valeur (\MontreCode{vide} par défaut).
+
+\smallskip
+
+Si la liste des couleurs ne permet pas de remplir toutes les cases, la couleur \MontreCode{lightgray} est utilisée.
+
+\begin{DemoCode}{}
+\BandeauScore[Legende=Géométrie,Hauteur=2]{4}
+\end{DemoCode}
+
+\begin{DemoCode}{colbacklower=yellow!25}
+%le fond de la boîte a été défini sur yellow!25
+\def\lstcouleurs{couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5,purple}
+\BandeauScore%
+ [EchelleSymboles={1.33,2},Hauteur=2,AffLegende=false,
+ Symboles={1,2,3,4,5,6},Couleurs=\lstcouleurs,
+ CouleurFond=yellow!25]{1}
+\end{DemoCode}
+
+\pagebreak
+
\section{Fenêtre type conversation instantanée}
\subsection{Principe et fonctionnement}
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/CHANGELOG.md b/Master/texmf-dist/doc/latex/doibanner/CHANGELOG.md
new file mode 100644
index 00000000000..0da2ac7be3f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/doibanner/CHANGELOG.md
@@ -0,0 +1,51 @@
+# Changelog
+
+All notable changes to the project `doibanner` are documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project does __not__ adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+
+<!-- ## [Unreleased] -->
+
+
+## [0.2] - \[2024-07-23\]
+
+Initial release of [this package on the Comprehensive TeX Archive Network (CTAN)](https://www.ctan.org/pkg/doibanner)
+
+The package contains a revised version of the `doi.sty` and `tutorial/doi.tex`
+files. Since the previous material was not publicly available, the changes
+listed below are mainly to ensure that I myself do not forget how the structure
+of the package has changed.
+
+### Added
+
+- `CHANGELOG.md` file to document all notable changes to this project.
+- `example/doibanner_example.tex` and resulting standalone as `png` to act as teaser.
+- `build.lua` script to install and manage this package via `i3build`.
+- `doibanner.dtx` and `doibanner.ins`, which contains a revised melange of the
+ files `src/doi.sty` and `tutorial/doi.tex`
+
+### Fixed
+
+- trailing whitespace from banner and link generated by doibanner and doiurl, respectively
+- definition of `urlbase` as package option
+
+### Removed
+
+- `\doi` macro, `\doiurl` and `\doibanner` have a mandatory argument beginning
+ with this version (breaking change)
+- `src/doi.sty` and `tutorial/doi.tex` files, the package was converted into
+ `doibanner.dtx`, which allows unpacking the `doibanner.sty` file from it,
+ and can be compiled in order to obtain a package documentation.
+
+
+## [0.1] - \[2021/05/09\]
+
+Initial version of this package.
+
+
+<!-- [unreleased]: https://codeberg.org/Cs137/doibanner/compare/v0.2...HEAD -->
+[0.2]: https://codeberg.org/Cs137/doibanner/releases/tag/v0.2
+[0.1]: https://codeberg.org/Cs137/doibanner/releases/tag/v0.1
+
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..4630c567f4c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/doibanner/README.md
@@ -0,0 +1,26 @@
+# doibanner
+
+A LaTeX package to generate DOI banners and links.
+
+![_Screenshot of example output generated with `\doibanner`_](./example/doibanner_example.png "Example output generated with doibanner")
+
+
+This package includes an updated version of `doi.sty`, initially created for
+personal use to enhance scientific documents with DOI banners and links. I've
+converted it into `doibanner.dtx` and added documentation, allowing you to
+benefit from the package as well.
+
+Latest release: 2024-07-23 v0.2
+
+
+## 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).
+This material 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..e44caf66be8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/doibanner/doibanner.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dtk/README.md b/Master/texmf-dist/doc/latex/dtk/README.md
index 836f916da47..c9e19e61f15 100644
--- a/Master/texmf-dist/doc/latex/dtk/README.md
+++ b/Master/texmf-dist/doc/latex/dtk/README.md
@@ -1,3 +1,7 @@
# dtk
LaTeX class for the journal »Die TeXnische Komödie« (new implementation).
+
+Authors: Rolf Niepraschk, Herbert Voß
+Licence: LaTeX Project Public License
+
diff --git a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf
index 7b0b6ac913c..bdbf0bba869 100644
--- a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf
+++ b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex
index e4d31a57a68..77df7995635 100644
--- a/Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex
+++ b/Master/texmf-dist/doc/latex/dtk/doc/beispiel.tex
@@ -2,9 +2,6 @@
\addbibresource{beispiel.bib}% besser: \jobname.bib, wenn möglich
-\let\File\texttt
-\let\Package\texttt
-
\begin{document}
\title{Die \texttt{dtk}-Klasse, Version \DTKversion\ -- \DTKversiondate}
\Author{Mustermann}{Max}%
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/README b/Master/texmf-dist/doc/latex/dynkin-diagrams/README
index e43f31e0b8e..5abe74143c4 100644
--- a/Master/texmf-dist/doc/latex/dynkin-diagrams/README
+++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/README
@@ -1,6 +1,6 @@
Dynkin diagrams
-v3.1415926535897932384
-2 June 2023
+v3.14159265358979323846
+6 July 2024
Authors:
Ben McKay
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib
index 9660120699f..952e4a90bfd 100644
--- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib
+++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib
@@ -1,6 +1,5 @@
% Encoding: ISO-8859-1
-
@Book{Adams:1996,
Title = {Lectures on exceptional {L}ie groups},
Author = {Adams, J. F.},
@@ -477,4 +476,67 @@ MRREVIEWER = {Stephen Gelbart},
url = {https://doi.org/10.1007/978-1-4612-0979-9},
}
+@Book{Knapp:2002,
+ author = {Knapp, Anthony W.},
+ publisher = {Birkh\"{a}user Boston, Inc., Boston, MA},
+ title = {Lie groups beyond an introduction},
+ year = {2002},
+ edition = {Second},
+ isbn = {0-8176-4259-5},
+ series = {Progress in Mathematics},
+ volume = {140},
+ mrclass = {22-01},
+ mrnumber = {1920389},
+ pages = {xviii+812},
+}
+
+@Article{Witt:1941,
+ author = {Witt, Ernst},
+ journal = {Abh. Math. Sem. Hansischen Univ.},
+ title = {Spiegelungsgruppen und {A}ufz\"ahlung halbeinfacher {L}iescher {R}inge},
+ year = {1941},
+ issn = {0025-5858},
+ pages = {289--322},
+ volume = {14},
+ doi = {10.1007/BF02940749},
+ fjournal = {Abhandlungen aus dem Mathematischen Seminar der Hansischen Universit\"at},
+ mrclass = {09.1X},
+ mrnumber = {5099},
+ mrreviewer = {O.\ F. G. Schilling},
+ url = {https://doi.org/10.1007/BF02940749},
+}
+
+@Article{Johnson.et.al.1999,
+ author = {Johnson, N. W. and Ratcliffe, J. G. and Kellerhals, R. and Tschantz, S. T.},
+ journal = {Transform. Groups},
+ title = {The size of a hyperbolic {C}oxeter simplex},
+ year = {1999},
+ issn = {1083-4362,1531-586X},
+ number = {4},
+ pages = {329--353},
+ volume = {4},
+ doi = {10.1007/BF01238563},
+ fjournal = {Transformation Groups},
+ mrclass = {20F55 (57M60)},
+ mrnumber = {1726696},
+ mrreviewer = {Andrei\ Yu.\ Vesnin},
+ url = {https://doi.org/10.1007/BF01238563},
+}
+
+@Book{McMullen.Schulte:2002,
+ author = {McMullen, Peter and Schulte, Egon},
+ publisher = {Cambridge University Press, Cambridge},
+ title = {Abstract regular polytopes},
+ year = {2002},
+ isbn = {0-521-81496-0},
+ series = {Encyclopedia of Mathematics and its Applications},
+ volume = {92},
+ doi = {10.1017/CBO9780511546686},
+ mrclass = {52B15 (20F55 51F15 51M20)},
+ mrnumber = {1965665},
+ mrreviewer = {Rade\ \v Zivaljevi\'c},
+ pages = {xiv+551},
+ url = {https://doi.org/10.1017/CBO9780511546686},
+}
+
@Comment{jabref-meta: databaseType:bibtex;}
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf
index 2109c1ba1ce..dceef359361 100644
--- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf
+++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex
index 5f4bb33e41e..b3f0be43412 100644
--- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex
+++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex
@@ -1,7 +1,7 @@
\documentclass{amsart}
\title[The Dynkin diagrams package]%
{The Dynkin diagrams package \\
-Version 3.141\,592\,653\,589\,793\,238\,4}
+Version 3.141\,592\,653\,589\,793\,238\,46}
%% My name:
\makeatletter
\DeclareRobustCommand{\scotsMc}{\scotsMcx{c}}
@@ -20,7 +20,8 @@ Version 3.141\,592\,653\,589\,793\,238\,4}
\author{Ben \scotsMc{}Kay}
\address{School of Mathematical Sciences, University College Cork, Cork, Ireland}
\email{b.mckay@ucc.ie}
-\date{2 June 2023}
+\date{6 July 2024}
+\thanks{Thanks to Jeffrey Adams, Paul Aspinwall, Mikhail Borovoi, Fran Burstall, Michiel Van Couwenberghe, Xu Gao, Skip Garibaldi, Enrico Gregorio, Mamuka Jibladze, Tasho Kaletha, Jordan Lambert, Sriotchilism O'Zaic, Gopal Prasad, Anthony Pulido, Andres Sambarino, Paul Schwahn, Felix Weinstein, Niels Wen and Gordon Williams.}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenx}
\usepackage{etoolbox}
@@ -168,6 +169,11 @@ before upper={\widowpenalties=3 10000 10000 150}}
\begin{document}
\maketitle
+\renewcommand\do[1]{\dyn#1}
+\renewcommand{\wdtA}{3cm}
+\begin{dynkinTable}{The Dynkin diagrams of the reduced simple root systems \cite{Bourbaki:2002} pp. 265--290, plates I--IX}{2.25cm}{2.5cm}
+\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2}
+\end{dynkinTable}
\begin{center}
\begin{varwidth}{\textwidth}
\tableofcontents
@@ -176,6 +182,8 @@ before upper={\widowpenalties=3 10000 10000 150}}
\setlength{\arrayrulewidth}{1.5pt}
+\newpage
+
\section{Quick introduction}
\begin{tcolorbox}[title={Load the Dynkin diagram package (see options below)}]
\begin{Verbatim}
@@ -202,7 +210,6 @@ The Dynkin diagram of \(B_3\) is
\draw[very thick,red] (root 1) to [out=-45, in=-135] (root 3);
\end{dynkinDiagram}
\end{tcblisting}
-\newpage
\section{Interaction with \TikZ}
Inside a \TikZ environment, default behaviour is to draw from the origin, so you can draw around the diagram:
\begin{tcblisting}{title={Inside a \TikZ environment}}
@@ -228,15 +235,6 @@ The Dynkin diagram of \(B_3\) is
\end{tikzpicture}
\end{tcblisting}
-\newpage
-
-\renewcommand\do[1]{\dyn#1}
-\renewcommand{\wdtA}{3cm}
-\begin{dynkinTable}{The Dynkin diagrams of the reduced simple root systems \cite{Bourbaki:2002} pp. 265--290, plates I--IX}{2.25cm}{2.5cm}
-\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2}
-\end{dynkinTable}
-
-
\section{Set options globally}
\begin{tcolorbox}[title={Most options set globally \dots}]
@@ -251,6 +249,7 @@ The Dynkin diagram of \(B_3\) is
densely dashed}}
\end{Verbatim}
\end{tcolorbox}
+
You can also pass options to the package in \verb!\usepackage!.
\emph{Danger:} spaces in option names are replaced with hyphens: \texttt{edge length=1cm} is \texttt{edge-length=1cm} as a global option; moreover you should drop the extension \verb!/.style! on any option with spaces in its name (but not otherwise). For example,
\begin{tcolorbox}[title={\dots or pass global options to the package}]
@@ -275,6 +274,9 @@ The Dynkin diagram of \(B_3 \times A_2\) is \dynkins{B3|A2}.
The Dynkin diagram of \(B_3 \times A_2\) is
\begin{DynkinDiagrams}{B3|A2}\end{DynkinDiagrams}
\end{tcblisting}
+
+\newpage
+
Each factor can have its own options.
\begin{tcblisting}{title={Environment}}
The Dynkin diagram of \(B_3 \times A_2\) is
@@ -297,11 +299,11 @@ They are spaced out by the length of one edge between successive diagrams; chang
\endfoot
\endlastfoot
A_1\times A_1&\dynkins{A1|A1}&\texttt{\detokenize{\dynkins}\{A1|A1\}}\\
-A_2&\dynkins{A2}&\texttt{\detokenize{\dynkins}\{A2\}}\\
-B_2&\dynkins{B2}&\texttt{\detokenize{\dynkins}\{B2\}}\\
-C_2&\dynkins{C2}&\texttt{\detokenize{\dynkins}\{C2\}}\\
-D_2&\dynkins{D2}&\texttt{\detokenize{\dynkins}\{D2\}}\\
-G_2&\dynkins{G2}&\texttt{\detokenize{\dynkins}\{G2\}}\\
+A_2&\dynkin A2&\texttt{\detokenize{\dynkin} A2}\\
+B_2&\dynkin B2&\texttt{\detokenize{\dynkin} B2}\\
+C_2&\dynkin C2&\texttt{\detokenize{\dynkin} C2}\\
+D_2&\dynkin D2&\texttt{\detokenize{\dynkin} D2}\\
+G_2&\dynkin G2&\texttt{\detokenize{\dynkin} G2}\\
\end{longtable}
\section{Coxeter diagrams}
@@ -333,6 +335,35 @@ G_2&\dynkins{G2}&\texttt{\detokenize{\dynkins}\{G2\}}\\
[Coxeter,gonality=n]I{}}
\end{dynkinTable}
+\newpage
+
+Some people prefer Coxeter diagrams to have these labels appear on the bottom of the diagram, so say \verb!Coxeter above=false!, most likely as a global option.
+
+\pgfkeys{/Dynkin diagram,
+Coxeter above=false}
+
+\renewcommand\do[1]{\dyn#1}
+\begin{dynkinTable}{The Coxeter diagrams of the simple reflection groups}{2.25cm}{6cm}
+\forDynkinSemicolonsvlist{\do}{
+[Coxeter]A{};
+[Coxeter]B{};
+[Coxeter]C{};
+[Coxeter]D{};
+[Coxeter]E6;
+[Coxeter]E7;
+[Coxeter]E8;
+[Coxeter]F4;
+[Coxeter,gonality=n]G2;
+[Coxeter]H2;
+[Coxeter]H3;
+[Coxeter]H4;
+[Coxeter,gonality=n]I{}}
+\end{dynkinTable}
+
+\pgfkeys{/Dynkin diagram,
+Coxeter above=true}
+
+
\section{Satake diagrams}\label{section:Satake}
\begin{tcblisting}{title={Satake diagrams use the standard name instead of a rank}}
\(A_{IIIb}=\dynkin A{IIIb}\)
@@ -340,6 +371,8 @@ G_2&\dynkins{G2}&\texttt{\detokenize{\dynkins}\{G2\}}\\
We use a solid gray bar to denote the folding of a Dynkin diagram, rather than the usual double arrow, since the diagrams turn out simpler and easier to read.
+\newpage
+
\renewcommand\do[1]{\dyn#1}
\begin{dynkinTable}{The Satake diagrams of the real simple Lie algebras \cite{Helgason:2001} p. 532--534}{2.75cm}{3cm}
\docsvlist{A{I},A{II},A{IIIa},A{IIIb},A{IV},B{I},B{II},C{I},C{IIa},C{IIb},
@@ -968,7 +1001,7 @@ D_4 &
\dynkin[label,ordering=Kac]E6
\end{tcblisting}
Default is Bourbaki.
-Sources are Adams \cite{Adams:1996} p. 56--57, Bourbaki \cite{Bourbaki:2002} p. pp. 265--290 plates I-IX, Carter \cite{Carter:2005} p. 540--609, Dynkin \cite{Dynkin:1952}, Kac \cite{Kac:1990} p. 43.
+Sources are Adams \cite{Adams:1996} p. 56--57, Bourbaki \cite{Bourbaki:2002} p. 265--290 plates I-IX, Carter \cite{Carter:2005} p. 540--609, Dynkin \cite{Dynkin:1952} (reprinted, translated into English, in Dynkin \cite{Dynkin:2000} p. 180), Kac \cite{Kac:1990} p. 43.
\NewDocumentCommand\tablerow{mm}%
{%
@@ -1108,9 +1141,31 @@ D[3]4,E[2]6}
\renewcommand{\do}[1]{\dyn[extended,Coxeter]#1}
\begin{dynkinTable}{The extended (affine) Coxeter diagrams}{3cm}{6cm}
-\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2,H3,H4,I1}
+\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2,H2,H3,H4,I1}
\end{dynkinTable}
+
+\section{Witt symbols}
+
+The \emph{Witt symbol} \cite{Johnson.et.al.1999,McMullen.Schulte:2002,Witt:1941} is a different notation for the various series:
+\[
+\begin{array}{rll}
+\text{Witt symbol}&\text{Cartan symbol}\\
+P_{n+1}&A_n\\
+S_{n+1}&B_n\\
+R_{n+1}&C_n\\
+Q_{n+1}&D_n\\
+T_{n+1}&E_n&n=6,7,8\\
+U_5&F_4\\
+V_3&G_2\\
+W_2&I_1
+\end{array}
+\]
+\begin{tcblisting}{title={Witt symbols}}
+\dynkin[extended]P7, \dynkin[extended]Q7, \dynkin[extended]T7
+\end{tcblisting}
+
+
\newpage
\section{Kac style}
diff --git a/Master/texmf-dist/doc/latex/easybook/README.md b/Master/texmf-dist/doc/latex/easybook/README.md
index c4d3db2acc0..1e4a07e45a1 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 (v2024cn)
+Easily typesetting Chinese theses or books (v2024cw)
## 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 638c3e05b64..3a024e81c2a 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 43d4afb635e..41a18b12caa 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 = v2024cn,
- date = 2024/07/03,
+ version = v2024cw,
+ date = 2024/07/23,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -57,10 +57,8 @@
\setlist[cnltxlist]
{
leftmargin = 0pt,
- labelwidth = 2em,
itemindent = -1em,
- labelsep = 0pt,
- listparindent = 2em,
+ listparindent = \parindent,
topsep = \smallskipamount,
itemsep = \smallskipamount,
partopsep = 0ex,
@@ -232,13 +230,13 @@
\end{frameverb}
\subsection{编译方式}
-假设您的 \TeX 源文件名为 \code{easybook.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行:
+假设您的 \TeX 源文件名为 \code{easybook-demo.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行:
\begin{frameverb}
- xelatex -shell-escape easybook
- bibtex easybook
- makeindex easybook
- xelatex -shell-escape easybook
- xelatex -shell-escape easybook
+ xelatex -shell-escape easybook-demo
+ bibtex easybook-demo
+ makeindex easybook-demo
+ xelatex -shell-escape easybook-demo
+ xelatex -shell-escape easybook-demo
\end{frameverb}
当然也可以使用 \code{latexmk} 及一些软件自带的编译工具,这里就不做介绍。 \\
$\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-shell-escape} 命令行选项。
@@ -406,12 +404,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{.}}
@@ -474,7 +474,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}}
同时设置图片、表格和代码题注的字体命令。
@@ -510,9 +510,9 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\keyval{prenote}{参考文献前注}
该选项选择由 \cs{defbibnote} 所定义的前注,缺省状态下不打印任何前注。
\keyval{section}{整数}\Default{0}
- 只打印在指定文节中引用的条目。该参考文献节从1开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。
+ 只打印第 \meta{整数} 文节中引用的条目。该参考文献节从1开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。
\keyval{type}{条目类型}
- 指定条目的打印类型。
+ 只打印名为 \meta{条目类型} 的文献条目。
\keyval{filter}{过滤器名}
使用由 \cs{defbibfilter} 定义的 \option*{filter} 来过滤条目。
@@ -598,7 +598,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\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}
@@ -869,16 +869,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}
@@ -990,16 +990,24 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\UseTocStyle{section}{fancy}{toc}
\tableofcontents[bilist = mix]
\end{ctexexam}
+
+ 除了上述选项还支持 \CTeX 键值列表所有路径的章节标题样式选项,下面仅列举几个选项例子。需要注意的是标题样式选项根据 \option{level} 选项中的\textbf{最后}一个标题命令判断键路径,所以这个标题命令名必须存在于 \CTeX 键值列表路径中,或带有 \code{\textcolor{cs}{bi}} 前缀表示双语标题。
\keyval{format}{目录标题格式}
- 设置目录标题的格式,在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。
+ 设置目录标题的格式。
+ \begin{ctexexam}
+ \tableofcontents[
+ level = \clearpage\bisection*,
+ format = \centering\sffamily\Large
+ ]
+ \end{ctexexam}
\keyval{aftername}{标签后代码}
- 目录标题的标签与内容之间插入的代码,生效情形同上。
+ 目录标题的标签与内容之间插入的代码。
\keyval{aftertitle}{标题后代码}
- 目录标题内容之后插入的代码,生效情形同上。
+ 目录标题内容之后插入的代码。
\keyval{break}{格式命令}
- 控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点,生效情形同上。
+ 控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点。
\keyval{pagestyle}{页面风格}\Default{empty}
- 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。除了上述选项还支持 \CTeX 键值列表路径 \module*{chapter} 或 \module*{section} 所有的章节标题样式选项。
+ 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。
\end{cnltxlist}
\subsection{双语章节标题和新建标题}
@@ -1046,6 +1054,12 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\lchapter{正常标题}
\lchapterentry{加入目录的标题}
\end{ctexexam}
+ \command{CopyTitleFormat}[\marg{条目名1}\marg{条目名2}]\newtagv{2024cq}%
+ 将名为 \meta{条目名2} 的章节标题命令除了编号/名字外的格式复制给名为 \meta{条目名1} 的标题命令。
+ \begin{ctexexam}
+ \ctexset{section/format = \sffamily\color{blue}}
+ \CopyTitleFormat{subsection}{section}
+ \end{ctexexam}
\end{cnltxlist}
\subsection[上标和下标]{上标和下标}
@@ -1417,7 +1431,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]
@@ -1429,7 +1443,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} 后缀的选项不对所有已注册条目有效的问题。
@@ -1437,8 +1451,18 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\item 新增统一设置所有目录格式时的条目类型排除命令 \cs{ExcludeEveryTocName}。
\end{version}
\shortversion{v = 2024cd,date = 2024/06/14,changes = 修复全局选项 \option{class} 无法正确切换单双面排版的问题。}
+ \begin{version}[v = 2024cf,date = 2024/06/16]
+ \fixed
+ \item 修复和改进新建章节/图表标题时目录层次深度的问题。
+ \changed
+ \item \module*{tools} 模块的图片路径选项 \option{figurepath} 可在正文中使用。
+ \end{version}
+ \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{定理名} 缺失导致报错的问题。}
\end{changelog}
\nocite{*}
-\AddToHook{cmd/printindex/before}{\clearpage}
+% \AddToHook{cmd/printindex/before}{\clearpage}
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/esami/README b/Master/texmf-dist/doc/latex/esami/README
index 22f183f8d82..b1ef039c0ea 100644
--- a/Master/texmf-dist/doc/latex/esami/README
+++ b/Master/texmf-dist/doc/latex/esami/README
@@ -1,6 +1,6 @@
-The esami package v. 2.8
+The esami package v. 2.9
For generation of texts and solutions of exams in LaTeX
-2023/07/21
+2024/07/01
File: README
Author: Grazia Messineo and Salvatore Vassallo
@@ -14,7 +14,7 @@ varying in random order, with closed or open answer, matching, problems, and so
of each group are randomly scrambled across the exam and variants of each exercise are chosen
randomly from a file which contains them all and.
-Copyright: (C) 2008--2023 Grazia Messineo & Salvatore Vassallo
+Copyright: (C) 2008--2024 Grazia Messineo & Salvatore Vassallo
Licence: LPPL
FILES IN DISTRIBUTION
diff --git a/Master/texmf-dist/doc/latex/esami/VERSION b/Master/texmf-dist/doc/latex/esami/VERSION
index 64fbb8d2f3d..98dd0056296 100644
--- a/Master/texmf-dist/doc/latex/esami/VERSION
+++ b/Master/texmf-dist/doc/latex/esami/VERSION
@@ -1 +1 @@
-VERSION 2.8 DATE=July 17, 2023
+VERSION 2.9 DATE=July 1, 2024
diff --git a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf
index d2d96db33a1..8f06ffc33ba 100644
--- a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf
+++ b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex
index 44da55a4815..8adc1c17a1b 100644
--- a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex
+++ b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-en.tex
@@ -81,6 +81,7 @@
\changes{Version 2.6}{2021/10/11}{Improved the spacing in \cmd{\FPsignpol}. Corrected the code to avoid some spourios spaces. }
\changes{Version 2.7}{2022/01/11}{Improved the spacing in \cmd{\sempli} and \cmd{\FPsignpol}. Corrected a misprint in the code.}
\changes{Versione 2.8}{2023/07/21}{Documentation modified to solve a problem with the Spanish Language.}
+\changes{Versione 2.9}{2024/07/03}{Loaded the package tagpdf-base to avoid an error on the measures of the boxes.}
%\IndexPrologue{\section*{Index} Numbers written in italic refer to the page where the item is described; underlined numebers refer to the line of code in which the item is described; other references are to the line of code where the item is used.}
\GlossaryPrologue{\section*{Changelog}}
\def\MacroFont{\fontencoding\encodingdefault
@@ -798,7 +799,8 @@ Inside this file you should use only one command, \cmd{\def \textbackslash eserc
\item[Version 2.5 (2018/05/06)] Corrected a misprint in the code. Improved the selection of random exercises.
\item[Version 2.6 (2021/10/11)] Improved the spacing in \cmd{\FPsignpol}. Corrected the code to avoid some spourios spaces.
\item[Version 2.7 (2021/10/11)] Improved the spacing in \cmd{\sempli} and \cmd{\FPsignpol}. Corrected a misprint in the code
-\item[Versione 2.8 (2023/07/21)] Documentation modified to solve a problem with the spanish language.
+\item[Version 2.8 (2023/07/21)] Documentation modified to solve a problem with the spanish language.
+\item[Version 2.89 ( 2024/07/03)] Loaded the package tagpdf-base to avoid an error on the measures of the boxes.
\end{description}
\bibliographystyle{plain}
diff --git a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf
index c4c9c5f20e7..8b83d7bdf1c 100644
--- a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf
+++ b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex
index 0a2b92414f3..dae29f96fe5 100644
--- a/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex
+++ b/Master/texmf-dist/doc/latex/esami/doc/esami-doc-it.tex
@@ -79,6 +79,8 @@
\changes{Versione 2.6}{2021/10/11}{Migliorata la spaziatura in \cmd{\FPsignpol}. Corretto il codice per eliminare alcuni spazi spuri.}
\changes{Versione 2.7}{2022/01/11}{Migliorata la spaziatura in \cmd{\sempli} e \cmd{\FPsignpol}. Corretto un errore nel codice}
\changes{Versione 2.8}{2023/07/21}{Modificata la documentazione per risolvere un problema con la lingua spagnola.}
+\changes{Versione 2.9}{2024/07/03}{Caricato il pacchetto tagpdf-base per evitare un errore sulle misure delle box.}
+
%\IndexPrologue{\section*{Indice} I numeri scritti in italico rimandano alla pagina dove è descritto l'item; i numeri sottolineati rimandano alla riga di codice in cui l'item è descritto; le altre referenze sono alla riga di codice dove l'item è usato.}
\GlossaryPrologue{\section*{Changelog}}
\def\MacroFont{\fontencoding\encodingdefault
@@ -800,7 +802,7 @@ Al suo interno si deve usare un solo comando, \cmd{\def \textbackslash esercizio
\item[Versione 2.6 (2021/10/11)] Migliorata la spaziatura in \cmd{\FPsignpol}. Corretto il codice per eliminare alcuni spazi spuri.
\item[Versione 2.7 (2022/01/11)] Migliorata la spaziatura in \cmd{\sempli} e \cmd{\FPsignpol}. Corretto un errore nel codice
\item[Versione 2.8 (2023/07/21)] Modificata la documentazione per risolvere un problema con la lingua spagnola.
-
+ \item[Versione 2.8 (2024/07/03)]Caricato il pacchetto tagpdf-base per evitare un errore sulle misure delle box.
\end{description}
diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie1.parametri.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie1.parametri.tex
deleted file mode 100644
index 107265dbc49..00000000000
--- a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie1.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(12:0)}
-\FPeval{b}{round(13:0)}
-\FPeval{c}{round(3:0)}
-\FPeval{k}{round(4:0)}
diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie2.parametri.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie2.parametri.tex
deleted file mode 100644
index e736caa6a08..00000000000
--- a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie2.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(14:0)}
-\FPeval{b}{round(15:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(5:0)}
diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie3.parametri.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie3.parametri.tex
deleted file mode 100644
index 98ef5100988..00000000000
--- a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie3.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(12:0)}
-\FPeval{b}{round(15:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(4:0)}
diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie4.parametri.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie4.parametri.tex
deleted file mode 100644
index ab468d8a752..00000000000
--- a/Master/texmf-dist/doc/latex/esami/doc/examples/qftest5-fillinqiie4.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(13:0)}
-\FPeval{b}{round(14:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(4:0)}
diff --git a/Master/texmf-dist/doc/latex/esami/doc/examples/testA-xetex-sol.sol.tex b/Master/texmf-dist/doc/latex/esami/doc/examples/testA-xetex-sol.sol.tex
new file mode 100644
index 00000000000..00cc5e002ca
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/esami/doc/examples/testA-xetex-sol.sol.tex
@@ -0,0 +1,84 @@
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 1}}
+\begin{enumerate}
+\item\ref{e:1-file:test2-q:i}
+\item\ref{e:1-file:test3-q:ii}
+\item\ref{e:1-file:test2-q:ii}
+\item\ref{e:1-file:test2-q:iii}
+\item\ref{e:1-file:test3-q:i}
+\item\ref{e:1-file:test1-q:i}
+\item\ref{e:1-file:test9-q:ii}
+\item\ref{e:1-file:test14-q:i}
+\item\ref{e:1-file:test4-q:v}
+\item \makeatletter \input{qftest5-fillinqiie1.parametri}\makeatother
+ \FPsv [2]{b/k}
+\item\ref{e:1-file:test11-q:i}
+\item\ref{e:1-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:1-file:test12-q:i}
+\item\ref{e:1-file:test13-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 2}}
+\begin{enumerate}
+\item\ref{e:2-file:test2-q:iii}
+\item\ref{e:2-file:test3-q:i}
+\item\ref{e:2-file:test2-q:ii}
+\item\ref{e:2-file:test3-q:iv}
+\item\ref{e:2-file:test2-q:i}
+\item\ref{e:2-file:test1-q:ii}
+\item \makeatletter \input{qftest5-fillinqiie2.parametri}\makeatother
+ \FPsv [2]{a/c}
+\item\ref{e:2-file:test9-q:iii}
+\item\ref{e:2-file:test14-q:i}
+\item\ref{e:2-file:test4-q:ii}
+\item\ref{e:2-file:test11-q:i}
+\item\ref{e:2-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:2-file:test13-q:iii}
+\item\ref{e:2-file:test12-q:iii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 3}}
+\begin{enumerate}
+\item\ref{e:3-file:test2-q:iii}
+\item\ref{e:3-file:test3-q:i}
+\item\ref{e:3-file:test2-q:i}
+\item\ref{e:3-file:test3-q:ii}
+\item\ref{e:3-file:test2-q:ii}
+\item\ref{e:3-file:test14-q:i}
+\item \makeatletter \input{qftest5-fillinqiie3.parametri}\makeatother
+ \FPsv [2]{b/k}
+\item\ref{e:3-file:test4-q:iii}
+\item\ref{e:3-file:test1-q:i}
+\item\ref{e:3-file:test9-q:iv}
+\item\ref{e:3-file:test11-q:i}
+\item\ref{e:3-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:3-file:test12-q:i}
+\item\ref{e:3-file:test13-q:iv}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 4}}
+\begin{enumerate}
+\item\ref{e:4-file:test2-q:ii}
+\item\ref{e:4-file:test2-q:i}
+\item\ref{e:4-file:test3-q:i}
+\item\ref{e:4-file:test3-q:ii}
+\item\ref{e:4-file:test2-q:iii}
+\item\ref{e:4-file:test4-q:v}
+\item\ref{e:4-file:test9-q:iii}
+\item\ref{e:4-file:test1-q:ii}
+\item\ref{e:4-file:test14-q:i}
+\item \makeatletter \input{qftest5-fillinqiie4.parametri}\makeatother
+ \FPsv [2]{a/c}
+\item\ref{e:4-file:test11-q:i}
+\item\ref{e:4-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:4-file:test13-q:iii}
+\item\ref{e:4-file:test12-q:iii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
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/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/hyperref/ChangeLog.txt b/Master/texmf-dist/doc/latex/hyperref/ChangeLog.txt
index 7d8f3b3a248..0ff75108697 100644
--- a/Master/texmf-dist/doc/latex/hyperref/ChangeLog.txt
+++ b/Master/texmf-dist/doc/latex/hyperref/ChangeLog.txt
@@ -1,3 +1,12 @@
+Version: 2024-07-10 v7.01j
+2024-07-10 Ulrike Fischer
+ * hyperref.dtx: define \HyOrg@addtoreset always for cleveref
+ compability with tagging code, see https://github.com/latex3/tagging-project/issues/2
+
+2024-06-02 Ulrike Fischer
+ * hyperref.dtx: enable use of onmousedown and onmouseup, issue #342
+
+Version: 2024-05-23 v7.01i
2024-05-25 Ulrike Fischer
* hyperref.dtx: load stringenc always to allow the use of pdfencoding in a group.
diff --git a/Master/texmf-dist/doc/latex/hyperref/README.md b/Master/texmf-dist/doc/latex/hyperref/README.md
index 7161209179e..335fb1f62b3 100644
--- a/Master/texmf-dist/doc/latex/hyperref/README.md
+++ b/Master/texmf-dist/doc/latex/hyperref/README.md
@@ -1,6 +1,6 @@
# README for hyperref bundle
-Version 2024-05-23 v7.01i
+Version 2024-07-10 v7.01j
## INTRODUCTION
diff --git a/Master/texmf-dist/doc/latex/hyperref/backref.pdf b/Master/texmf-dist/doc/latex/hyperref/backref.pdf
index ae783bd0cf1..5ec3d8b07f1 100644
--- a/Master/texmf-dist/doc/latex/hyperref/backref.pdf
+++ b/Master/texmf-dist/doc/latex/hyperref/backref.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html
index 70741ce170b..0b918b602de 100644
--- a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html
+++ b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.html
@@ -25,7 +25,7 @@ href="https://github.com/latex3/hyperref/issues" class="url" ><span
class="ec-lmvtt-10x-x-120">https://github.com/latex3/hyperref/issues</span></a><span
class="ec-lmr-12">)</span></div><br />
<div class="date" ><span
-class="ec-lmr-12">2024-05-23 v7.01i</span></div>
+class="ec-lmr-12">2024-07-10 v7.01j</span></div>
</div>
<h3 class="likesectionHead"><a
id="x1-1000"></a>Contents</h3>
@@ -1079,45 +1079,54 @@ class="td11"> <!--l. 604--><p class="noindent" >this
style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-1"
class="td11"> <span
class="ec-lmvtt-10">backref </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-8-2"
-class="td11"> <!--l. 606--><p class="noindent" > </td></tr><tr
+class="td11"> <!--l. 606--><p class="noindent" >
+ </td></tr><tr
style="vertical-align:baseline;" id="TBL-2-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-1"
class="td11"> <span
class="ec-lmvtt-10">pagebackref </span></td> <td style="white-space:normal; text-align:left;" id="TBL-2-9-2"
-class="td11"> <!--l. 607--><p class="noindent" ></td>
+class="td11"> <!--l. 607--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-10-1"
class="td11"> <span
class="ec-lmvtt-10">destlabel </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-10-2"
-class="td11"> <!--l. 608--><p class="noindent" > </td></tr><tr
+class="td11"> <!--l. 608--><p class="noindent" >
+ </td></tr><tr
style="vertical-align:baseline;" id="TBL-2-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-1"
class="td11"> <span
class="ec-lmvtt-10">pdfusetitle </span></td> <td style="white-space:normal; text-align:left;" id="TBL-2-11-2"
-class="td11"> <!--l. 609--><p class="noindent" ></td>
+class="td11"> <!--l. 609--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-12-1"
class="td11"> <span
class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-12-2"
-class="td11"> <!--l. 610--><p class="noindent" > </td>
+class="td11"> <!--l. 610--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-13-1"
class="td11"> <span
class="ec-lmvtt-10">hyperfootnotes </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-13-2"
-class="td11"> <!--l. 611--><p class="noindent" > </td>
+class="td11"> <!--l. 611--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-14-1"
class="td11"> <span
class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-14-2"
-class="td11"> <!--l. 612--><p class="noindent" > </td>
+class="td11"> <!--l. 612--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-15-1"
class="td11"> <span
class="ec-lmvtt-10">hyperindex </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-15-2"
-class="td11"> <!--l. 613--><p class="noindent" > </td>
+class="td11"> <!--l. 613--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-16-1"
class="td11"> <span
class="ec-lmvtt-10">encap </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-16-2"
-class="td11"> <!--l. 614--><p class="noindent" > </td>
+class="td11"> <!--l. 614--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-17-1"
class="td11"> <span
@@ -1950,8 +1959,7 @@ class="td01"><span
class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-2"
class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-2-4"
-class="td10">
- <!--l. 941--><p class="noindent" > </td>
+class="td10"> <!--l. 941--><p class="noindent" > </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-1"
class="td01"><span
@@ -3174,8 +3182,6 @@ class="td10">
<!--l. 1198--><p class="noindent" >The old page slides off the screen in the direction
specified by /Di, uncovering the new page in the
direction specified by /Di. </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-12-1"
class="td01"><span
@@ -3184,6 +3190,8 @@ class="td11"> </td><td style="white-space:normal; text-align:left;
class="td10">
<!--l. 1201--><p class="noindent" >The new page gradually becomes visible through the old
one. </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-13-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-13-1"
class="td01"> </td>
@@ -3709,8 +3717,7 @@ class="td10">
class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-14-58-2"
class="td11"> <span
class="ec-lmri-10">hyperref </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-58-3"
-class="td10">
- <!--l. 1293--><p class="noindent" > </td>
+class="td10"> <!--l. 1293--><p class="noindent" > </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-59-1"
class="td01"><span
@@ -3850,8 +3857,6 @@ class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-75-3"
class="td10">
<!--l. 1313--><p class="noindent" >set PDF page labels </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-14-76-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-76-1"
class="td01"><span
@@ -3860,6 +3865,8 @@ class="td11"> <span
class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-76-3"
class="td10">
<!--l. 1314--><p class="noindent" >set layout of PDF pages </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-14-77-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-77-1"
class="td01"><span
@@ -4091,8 +4098,6 @@ class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-104-3"
class="td10">
<!--l. 1345--><p class="noindent" >set page size by special driver commands </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-14-105-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-105-1"
class="td01"><span
@@ -4101,6 +4106,8 @@ class="td11"> </td><td style="white-space:normal; text-align:l
class="td10">
<!--l. 1346--><p class="noindent" >use <span
class="ec-lmss-10">TeX4ht </span>backend </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-14-106-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-106-1"
class="td01"><span
@@ -4226,8 +4233,6 @@ class="ec-lmvtk-10">nextactionraw</span><span
class="ec-lmbx-10">:</span> </dt><dd
class="description">
<!--l. 1379--><p class="noindent" >The value of key <span class="obeylines-h"><code class="verb">/Next</code></span> of action dictionaries, see PDF specification.</dd></dl>
-
-
<!--l. 1383--><p class="noindent" ><span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
><colgroup id="TBL-16-1g"><col
@@ -4241,6 +4246,7 @@ class="ec-lmvtt-10">\href</span><span class="obeylines-h"><code class="verb">{</
class="ec-lmri-10">URL</span><span class="obeylines-h"><code class="verb">}{</code></span><span
class="ec-lmvtt-10">\nolinkurl</span><span class="obeylines-h"><code class="verb">{</code></span><span
class="ec-lmri-10">URL</span><span class="obeylines-h"><code class="verb">}}</code></span>. Depending on the driver <span class="obeylines-h"><code class="verb">\href</code></span> also tries to detect the link
+
type. Thus the result can be a url link, file link, &#x2026;. The implementation makes use of the <span
class="ec-lmss-10">url </span>package and
its commands can be used to format and fine tune the url, but the behaviour of <span
@@ -4360,8 +4366,6 @@ and the <span
class="ec-lmri-10">text </span>which is used as the link on the page.
<!--l. 1457--><p class="indent" > Note that in HTML parlance, the <span class="obeylines-h"><code class="verb">\hyperlink</code></span> command inserts a notional # in front of each link,
making it relative to the current testdocument; <span class="obeylines-h"><code class="verb">\href</code></span> expects a full URL.
-
-
<!--l. 1461--><p class="noindent" ><span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-25" class="tabular"
><colgroup id="TBL-25-1g"><col
@@ -4372,6 +4376,8 @@ class="ec-lmvtt-10">\phantomsection </span></td>
</tr></table> </div></span>
<!--l. 1465--><p class="noindent" >This sets an anchor at this location. It works similar to <span class="obeylines-h"><code class="verb">\hypertarget{}{}</code></span> with an automatically chosen
anchor name. Often it is used in conjunction with <span class="obeylines-h"><code class="verb">\addcontentsline</code></span> for sectionlike things (index,
+
+
bibliography, preface). <span class="obeylines-h"><code class="verb">\addcontentsline</code></span> refers to the latest previous location where an anchor is set.
Example:
<blockquote class="quote">
diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdf b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdf
index 51e6b0d29b9..1637285c01a 100644
--- a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdf
+++ b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex
index 55b0476967f..2f4ff93f807 100644
--- a/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex
+++ b/Master/texmf-dist/doc/latex/hyperref/hyperref-doc.tex
@@ -166,7 +166,7 @@
}
\makeatother
\title{Hypertext marks in \hologo{LaTeX}: a manual for \xpackage{hyperref}}
-\date{2024-05-23 v7.01i}
+\date{2024-07-10 v7.01j}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdf b/Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdf
index f95e9380f60..3e29950cf1f 100644
--- a/Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdf
+++ b/Master/texmf-dist/doc/latex/hyperref/hyperref-linktarget.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf b/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf
index 62ce7aba615..bb0f2a46aa3 100644
--- a/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf
+++ b/Master/texmf-dist/doc/latex/hyperref/hyperref.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hyperref/nameref.pdf b/Master/texmf-dist/doc/latex/hyperref/nameref.pdf
index 47209adb7c7..4c4ea6606bf 100644
--- a/Master/texmf-dist/doc/latex/hyperref/nameref.pdf
+++ b/Master/texmf-dist/doc/latex/hyperref/nameref.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hyperref/xr-hyper.pdf b/Master/texmf-dist/doc/latex/hyperref/xr-hyper.pdf
index 3b4395c0f6e..a5d0e690fc9 100644
--- a/Master/texmf-dist/doc/latex/hyperref/xr-hyper.pdf
+++ b/Master/texmf-dist/doc/latex/hyperref/xr-hyper.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/jnuexam/examfc-a-answer.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfc-a-answer.pdf
index f6f0a506494..e12e04e0475 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/examfc-a-answer.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/examfc-a-answer.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdf
index 09d8a14b153..d033fe6d75d 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/examfc-a-blank.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdf
index 2356b53690f..6497883408f 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/examfc-b-answer.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdf
index d9160a13edc..5682c2d24b9 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/examfc-b-blank.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdf
index 6ac1d17806d..c029ef99ea2 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/examfe-a-answer.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdf
index 4192ead99f0..e2f4dac7e26 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/examfe-a-blank.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdf
index bf5e9342eef..8e60df9eac5 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/examfe-b-answer.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdf b/Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdf
index c37242241f3..03bcefee494 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/examfe-b-blank.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdf b/Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdf
index 0cc01cc3f1b..c0a756123ca 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdf
+++ b/Master/texmf-dist/doc/latex/jnuexam/jnuexam.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf b/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf
index 0f802f5bf8d..92e9769f85b 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex
index 643a5898fe9..b3294eb42a3 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/kaytannollista-latexia.tex
@@ -31,7 +31,7 @@
datezeros=false]{biblatex}
\usepackage{tikz}
\usepackage{totcount}
-\usepackage{nowidow} \setnowidow \setnoclub
+\usepackage[all]{nowidow}
\usepackage{hanging}
\usepackage{lettrine}
\usepackage{multicol}
@@ -94,7 +94,7 @@ SmallCapsFont={* Regular}, SmallCapsFeatures={Language=Default,
Letters=SmallCaps}]
\setmonofont{Libertinus Mono}[
-Scale=MatchLowercase, Ligatures={TeXReset, NoCommon},
+Scale=MatchLowercase, Ligatures={TeXOff, CommonOff},
FakeStretch=0.8, Numbers=SlashedZero]
\setmathfont{Libertinus Math}[Scale=MatchLowercase]
@@ -114,7 +114,7 @@ FakeStretch=0.8, Numbers=SlashedZero]
\newcommand{\versaalinum}{\addfontfeatures{Numbers=Uppercase}}
\newcommand{\murtoluku}[2]{{\addfontfeatures{Fractions=On}#1/#2}}
-\setlength{\emergencystretch}{1em}
+\setlength{\emergencystretch}{1.3em}
\setlength{\parindent}{1em}
\setlength{\bibhang}{\parindent}
@@ -173,7 +173,7 @@ columnsep=1em]
\begin{textblock*}{1cm}(-2em,3bp)
\small\seurausnuoli
\end{textblock*}
- \begin{minipage}{\linewidth}
+ \begin{minipage}{\textwidth}
\linespread{1}\small
}{%
\end{minipage}
@@ -188,18 +188,18 @@ columnsep=1em]
\end{list}}
\floatsetup{ style=plain, font={small}, justification=raggedright,
- margins=raggedright, captionskip=0ex, capposition=bottom }
+ margins=centering, captionskip=0ex, capposition=bottom }
\floatsetup[table]{ style=plain, captionskip=2ex }
\floatsetup[figure]{ style=plain, captionskip=2ex }
\captionsetup{ font={small, sf}, labelfont={bf}, textfont={},
- textformat=period, margin=.5em, justification=RaggedRight,
- singlelinecheck=off }
+ textformat=period, margin={.1em, 1.1em}, oneside,
+ justification=RaggedRight, singlelinecheck=off }
\newcommand{\leijutlk}[2]{%
\begin{table*}
- \floatbox{table}{\versaalinum #1}{#2}
+ \floatbox{table}[\FBwidth]{\versaalinum #1}{#2}
\end{table*}}
\newcommand{\leijukuva}[2]{%
@@ -215,7 +215,6 @@ columnsep=1em]
\setlength{\itemsep}{.2ex plus .2ex}
\setlength{\parsep}{0em}
\setlength{\topsep}{.2ex plus .2ex}
- \RaggedRight
}}{\end{list}}
\newenvironment{maaritelma}[1]{%
@@ -442,6 +441,7 @@ columnsep=1em]
\begin{list}{\textbullet}{
\setlength{\leftmargin}{1em}
+ \setlength{\labelsep}{.35em}
\setlength{\topsep}{0ex}
\setlength{\partopsep}{0ex}
\setlength{\itemsep}{0ex}
@@ -492,7 +492,6 @@ columnsep=1em]
ladottu eri väreillä: \komentox{teksti} ja \mkomentox{matematiikka}.}
\printindex[komennot]
\printindex[laskurit]
-\clearpage
\printindex[mitat]
\printindex[paketit]
\indexprologue{\noindent Tekstitilan ja matematiikkatilan ympäristöt on
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex
index 88c31f03f69..b9bfa55d7d3 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-asetukset.tex
@@ -275,7 +275,7 @@ muokata sivun ylä- tai alatunnistetta eli verrattain pysyviä
tunnistetietoja, jotka toistuvat joka sivulla ylä- tai alareunassa.
Niiden muokkaamiseen käytetään \paketti{fancyhdr}\-/ pakettia, jonka
ohjeita on luvussa \ref{luku/ylä-ala-tunnisteet}. Sivun taustavärin
-asettamista käsitellään luvussa \ref{luku/korostus-värit}.
+asettamista käsitellään luvussa \ref{luku/sivun-väri}.
\subsection{Sivun koko ja marginaalit}
\label{luku/sivun-mitat}
@@ -886,6 +886,26 @@ toteutukseen.
\label{esim/fancyhdr-koko}
\end{esimerkki*}
+\subsection{Taustaväri}
+\label{luku/sivun-väri}
+
+Dokumentin sivun värin valitsemiseen sopii \pakettictan{xcolor}\-/
+paketti, jonka peruskäyttöön kannattaa tutustua luvussa
+\ref{luku/värit}. Sivulle voi asettaa taustavärin komennolla
+\komento{pagecolor}, joka vaihtaa värin nykyiselle ja seuraaville
+sivuille, kunnes väri vaihdetaan toiseksi tai poistetaan. Komennolle
+annetaan samanlaiset argumentit kuin muillekin värikomennoille (luku
+\ref{luku/värit}). Komento \komento{nopagecolor} poistaa taustavärin
+kokonaan eli palauttaa taustan oletustilaan.
+
+\komentoi{pagecolor}
+\komentoi{nopagecolor}
+\begin{koodilohkosis}
+\pagecolor{nimi} % sivun taustaväriksi ennalta määritelty ”nimi”
+\pagecolor[värimalli]{parametrit}
+\nopagecolor
+\end{koodilohkosis}
+
\section{Pdf-tiedosto}
\label{luku/pdf-asetukset}
@@ -1119,6 +1139,7 @@ komennoilla\footnote{Vaihtoehtoisesti fontit voi asettaa
TeX Gyre Chorus & kalligrafinen \\
\midrule
Libertinus Sans & groteski, humanistinen, kaksivahvuinen \\
+ Latin Modern Sans & groteski \\
TeX Gyre Heros & groteski, uusgroteski \\
DejaVu Sans & groteski, uusgroteski \\
TeX Gyre Adventor & groteski, geometrinen \\
@@ -1126,6 +1147,7 @@ komennoilla\footnote{Vaihtoehtoisesti fontit voi asettaa
Libertinus Mono & tasalevyinen \\
TeX Gyre Cursor & tasalevyinen \\
DejaVu Sans Mono & tasalevyinen \\
+ Latin Modern Mono & tasalevyinen \\
\bottomrule
\end{tabular}
}{
@@ -1227,7 +1249,7 @@ loppupuolella.
Letters=SmallCaps}]
\setmonofont{Libertinus Mono}[
- Scale=MatchLowercase, FakeStretch=0.8, Ligatures=NoCommon]
+ Scale=MatchLowercase, FakeStretch=0.8, Ligatures=CommonOff]
\end{koodilohko}
\caption{Libertinus\-/ kirjainperheiden asettaminen. Tässä
\englanti{Libertinus Serif} \=/perheen lihavoinniksi on valittu
@@ -1837,7 +1859,10 @@ käyttämällä valitsinta \koodi{Renderer} seuraavan esimerkin tavoin:
\noindent
Tavallisimpia \koodi{Renderer}\-/ valitsimen arvoja ovat
-\koodi{\mbox{Node}}, \koodi{Harf\-Buzz} ja \koodi{Open\-Type}.
+\koodi{\mbox{Node}}, \koodi{Harf\-Buzz} ja \koodi{Open\-Type}. Toisinaan
+\koodi{\mbox{Node}} on tuottanut paremman tuloksen kuin muut
+vaihtoehdot.
+
Lisätietoa voi lukea \paketti{fontspec}\-/ paketin ohjekirjan luvusta,
joka käsittelee Luatexin erityispiirteitä. Myös Xelatexissa (Xetex) on
fontteihin liittyviä ominaisuuksia, joita ei muissa kääntäjissä ole.
@@ -1867,7 +1892,7 @@ käsitellään tarkemmin luvussa \ref{luku/typo-liga}. Molemmat edellä
mainitut ligatuurityypit saa pois päältä seuraavalla asetuksella:
\begin{koodilohkosis}
-Ligatures={TeXReset, NoCommon}
+Ligatures={TeXOff, CommonOff}
\end{koodilohkosis}
\noindent
@@ -1890,13 +1915,13 @@ HyphenChar=None
\noindent
Yleensä tasalevyisestä kirjainperheestä kannattaa kytkeä typografiset
-ligatuurit pois päältä asetuksella \koodi{Liga\-tures=\katk No\-Common}.
-Tasalevyisen fontin ajatukseen nimenomaan kuuluu, että merkit ovat
-samanlevyisiä eikä yhden merkin tilaan sovi sulloa useampaa kirjainta.
-Kaikki tasalevyiset kirjainperheet eivät edes sisällä ligatuurimerkkejä,
-joten ominaisuus näyttää olevan automaattisesti pois päältä. Varmuuden
-vuoksi on kuitenkin hyvä lisätä asetus \koodi{Liga\-tures=\katk
- No\-Common} tasalevyiselle perheelle.
+ligatuurit pois päältä asetuksella \koodi{Liga\-tures=\katk
+ Common\-Off}. Tasalevyisen fontin ajatukseen nimenomaan kuuluu, että
+merkit ovat samanlevyisiä eikä yhden merkin tilaan sovi sulloa useampaa
+kirjainta. Kaikki tasalevyiset kirjainperheet eivät edes sisällä
+ligatuurimerkkejä, joten ominaisuus näyttää olevan automaattisesti pois
+päältä. Varmuuden vuoksi on kuitenkin hyvä lisätä asetus
+\koodi{Liga\-tures=\katk Common\-Off} tasalevyiselle perheelle.
Oletuksena tavutus on kytketty pois päältä tasalevyiseltä
kirjainperheeltä, koska sitä käytetään tavallisesti tietokoneisiin
@@ -1998,13 +2023,13 @@ fi f\textcompwordmark i
\noindent
Mikäli tavallisia ligatuureja ei halua käyttöön lainkaan, on parasta
valita jo kirjainperheen tai \=/leikkauksen käyttöönotossa asetus
-\koodi{Liga\-tures=\katk No\-Com\-mon}. Väliaikaisesti fontin asetuksiin
+\koodi{Liga\-tures=\katk Common\-Off}. Väliaikaisesti fontin asetuksiin
voi vaikuttaa komennolla \komento{addfontfeatures}, joka sekin on
\paketti{fontspec}\-/pakettiin sisältyvä komento.
\komentoi{addfontfeatures}
\begin{koodilohkosis}
-{\addfontfeatures{Ligatures=NoCommon} fi fl}
+{\addfontfeatures{Ligatures=CommonOff} fi fl}
\end{koodilohkosis}
\noindent
@@ -2013,8 +2038,8 @@ sisältää myös harvinaisempia ligatuureja, jotka täytyy erikseen kytkeä
päälle. Niiden tarkoituksena on esimerkiksi erityinen koristeellisuus
tai historiallisen kirjainleikkauksen jäljittely. Harvinaisia
ligatuureja ei ole tarkoitus käyttää joka tilanteessa vaan ainoastaan
-erityisestä syystä. Kuvassa \ref{kuva/ligatuurit} ja tässäkin
-tekstikappaleessa olevat {%
+erityisestä syystä. Kuvassa \ref{kuva/ligatuurit} ja tässäkin virkkeessä
+olevat {%
\newcommand{\hlig}[1]{{\addfontfeatures{Ligatures=Historic}#1}}%
\hlig{st}- ja \hlig{ct}\-/ligatuurit%
} on saatu fontin asetuksella \koodi{Liga\-tures=\katk His\-toric}.
@@ -2319,6 +2344,7 @@ math Mathematical Alphanumeric Symbols
\rivi{TeX Gyre Schola}{TeX Gyre Schola Math}
\rivi{TeX Gyre Termes}{TeX Gyre Termes Math}
\rivi{DejaVu Serif}{TeX Gyre Dejavu Math}
+ \rivi{DejaVu Serif}{DejaVu Serif}
\rivi{Garamond Libre}{Garamond Math}
\rivi{Latin Modern Roman}{Latin Modern Math}
\bottomrule
@@ -2334,8 +2360,8 @@ Taulukkoon \ref{tlk/matematiikka-fontteja} on koottu \englanti{Open
Type} \=/fontteja, joissa on yhteensopiva leipätekstin ja
matematiikkatilan kirjainperhe. Teknisesti kaikkia voi käyttää kaikkien
kanssa, mutta on tietenkin toivottavaa, että kirjainleikkaukset sopivat
-ulkoasultaan yhteen. Kaikki fontit ovat vapaita ja toimitetaan Tex Live
-\=/jakelun tai käyttöjärjestelmän mukana.
+ulkoasultaan yhteen. Kaikki taulukon fontit ovat vapaita ja toimitetaan
+Tex Live \=/jakelun tai käyttöjärjestelmän mukana.
\section{Kieli}
\label{luku/kieliasetukset}
@@ -3270,8 +3296,8 @@ merkityksellisten osien rajakohdasta. Tavurajakin voi sattua samaan
paikkaan, mutta tavutettaessa heittomerkki säilyy: \emph{show'-hun}.%
\footnote{Asiaa ei yleensä mainita kielenhuolto\-/oppaissa. Tieto
perustuu Kielikello\-/lehden 2/2006 artikkeliin:
- \kulmaurl{https://www.kielikello.fi/-/lainausmerkit-}. Viittauspäivä
- 6.7.2020.} Mikäli tällainen tavutuskohta halutaan mukaan, käytetään
+ \kulmaurl{https://kielikello.fi/lainausmerkit/}. Viittauspäivä
+ 5.5.2024.} Mikäli tällainen tavutuskohta halutaan mukaan, käytetään
sanassa tavallista tavutusvihjettä: \koodi{show'}\komento{-}\koodi{hun}.
Mieluummin ei kuitenkaan katkaista sanoja heittomerkin kohdalta.
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex
index c87d9c41501..b625e80d1b9 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-erikoiset.tex
@@ -191,7 +191,7 @@ sisältöelementtien (\englanti{inner}) ulkoasuun ja diojen reunoille
\providecommand{\teema}{}
\renewcommand{\teema}[2][,]{\mbox{\koodi{#2}#1}}
- \begin{tabularx}{\linewidth}{lL}
+ \begin{tabularx}{\textwidth}{lL}
\toprule
\ots{Komento} & \ots{Valmiita teemoja} \\
\rivi{usetheme}{
@@ -335,8 +335,7 @@ lisätietoihin. Muualla käytetään antiikvaa.
\leijutlk{
\providecommand{\rivi}{}
\renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
-
- \begin{tabularx}{\linewidth}{lL}
+ \begin{tabularx}{\textwidth}{lL}
\toprule
\ots{Valitsin} & \ots{Merkitys} \\
\midrule
@@ -425,8 +424,8 @@ otsikon teksti valkeaksi ja tausta siniseksi:
\noindent
Värien nimien täytyy olla ennalta määriteltyjä. Perusvärit
(\englanti{\koodi{white}, \koodi{blue}, \koodi{red}} ym.) on määritelty
-valmiiksi, mutta lisää värejä voi määritellä ohjeilla, joita kerrotaan
-luvussa \ref{luku/korostus-värit}.
+valmiiksi, mutta lisää värejä voi määritellä luvun \ref{luku/värit}
+ohjeilla.
Oletuksena luetelmaympäristöt \ymparisto{itemize} ja
\ymparisto{enumerate} latovat luetelmamerkit eri värillä kuin normaalin
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex
index 4c18794a421..7f1e589ae2b 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-merkintakieli.tex
@@ -330,17 +330,17 @@ Edellä kuvatut Latexin omat lainausmerkkien merkintätavat (\koodi{''},
pois päältä fontin asetuksista eli \paketti{fontspec}\-/ pakettiin
kuuluvien toimintojen avulla. Fonteissa on yleensä oletuksena päällä
Tex\-/ligatuurit eli asetus \koodi{Liga\-tures=\katk TeX}, mutta sen saa
-poistettua asetuksella \koodi{Liga\-tures=\katk TeX\-Reset}. Asetusta
+poistettua asetuksella \koodi{Liga\-tures=\katk TeX\-Off}. Asetusta
muutetaan kirjainperheen määrittelyn yhteydessä tai väliaikaisesti
komennolla \komento{addfontfeatures}.
\komentoi{addfontfeatures}
\begin{koodilohkosis}
-{\addfontfeatures{Ligatures=TeXReset} `` '' >> '}
+{\addfontfeatures{Ligatures=TeXOff} `` '' >> '}
\end{koodilohkosis}
\begin{tulossis}
- {\addfontfeatures{Ligatures=TeXReset} `` '' >> '}
+ {\addfontfeatures{Ligatures=TeXOff} `` '' >> '}
\end{tulossis}
\noindent
@@ -419,16 +419,16 @@ yhdysmerkkiä, voi käyttää tasalevyistä fonttia
(\komento{texttt}\komentoarg{--}), joka oletuksena kytkee pois Latexin
ajatusviivatoiminnon. Saman asetuksen saa kyllä mihin tahansa fonttiin,
kun poistaa fontista niin sanotut Tex\-/ligatuurit asetuksella
-\koodi{Liga\-tures=\katk TeX\-Reset}. Väliaikaisesti asetus tehdään
+\koodi{Liga\-tures=\katk TeX\-Off}. Väliaikaisesti asetus tehdään
seuraavasti:
\komentoi{addfontfeatures}
\begin{koodilohkosis}
-{\addfontfeatures{Ligatures=TeXReset} -- ---}
+{\addfontfeatures{Ligatures=TeXOff} -- ---}
\end{koodilohkosis}
\begin{tulossis}
- {\addfontfeatures{Ligatures=TeXReset} -- ---}
+ {\addfontfeatures{Ligatures=TeXOff} -- ---}
\end{tulossis}
\noindent
@@ -2124,9 +2124,6 @@ kehysviivan etäisyys sisällöstä määritellään mitassa \mitta{fboxsep}.
\end{tulossis}
\noindent
-Värillisten laatikoiden ja kehysten tekemistä neuvotaan luvussa
-\ref{luku/korostus-värit}, joka käsittelee väriasioita muutenkin.
-
Tekstiä sisältävien laatikoiden korkeus vaihtelee kirjainten ja muiden
merkkien muodon mukaan. Esimerkiksi kirjainten ala- ja yläpidennykset
kasvattavat laatikon kokoa gemenalinjan yläpuolelle tai peruslinjan
@@ -2364,3 +2361,137 @@ kaksi seuraavista kirjaimista: \koodi{c} (\englanti{center}, keski),
arvoksi täysympyrän yksikkömäärä, ja oletusasetus on \koodi{units=\katk
360}. Jos haluaa käyttää radiaaneja, sopiva asetus on
\koodi{units=\katk 6.283185} (2π\,rad).
+
+\section{Tekstin ja laatikoiden värit}
+\label{luku/värit}
+
+Latexiin saa värit \pakettictan{xcolor}\-/ paketin
+avulla.\footnote{Toinen vaihtoehto on yksinkertaisempi väripaketti
+ \paketti{color}, joka sisältää värien käsittelyn perustoiminnot.} Se
+tarjoaa muun muassa komentoja, joilla tekstin väriä, tekstin taustaväriä
+tai sivun taustaväriä (luku \ref{luku/sivun-väri}) voi muuttaa. Lisäksi
+paketti sisältää värien sekoittamiseen ja muuntamiseen liittyvää
+tekniikkaa. Paketin komentojen avulla voi myös värittää taulukoiden
+(luku \ref{luku/taulukot}) rivit vuorottelevin värein.
+
+Omassa dokumentissa käytettävät värit on hyvä määritellä alussa.
+Määrittely tarkoittaa sitä, että annetaan väreille nimet -- esimerkiksi
+käyttötarkoituksen mukaan -- ja myöhemmin lähdedokumentissa viitataan
+väreihin käyttämällä alussa määriteltyjä nimiä. Näin väri on määritelty
+yhdessä paikassa ja sen muuttaminen on myöhemmin helppoa. On kyllä
+mahdollista käyttää värejä ilman etukäteismäärittelyäkin.
+
+\leijutlk{
+ \providecommand{\rivi}{}
+ \renewcommand{\rivi}[3]{\koodi{#1} & #2 & \koodi{#3}
+ & \textcolor[#1]{#3}{\rule{.9em}{.9em}} \\}
+ \begin{tabular}{llll}
+ \toprule
+ \ots{Malli}
+ & \ots{Parametrit}
+ & \multicolumn{2}{l}{\ots{Esimerkki}} \\
+ \midrule
+ \rivi{rgb}{punainen, vihreä, sininen}{1,.7,.3}
+ \rivi{HTML}{punainen vihreä sininen}{33aaf3}
+ \rivi{cmyk}{syaani, magenta, keltainen, musta}{.1,1,.5,0}
+ \rivi{hsb}{sävy, kylläisyys, kirkkaus}{.2,1,.6}
+ \rivi{gray}{harmaa}{.55}
+ \bottomrule
+ \end{tabular}
+}{
+ \caption{Erilaisia värimalleja ja niiden parametreja
+ \paketti{xcolor}\-/ paketissa}
+ \label{tlk/värimalleja}
+}
+
+Omat värit määritellään komennolla \komento{definecolor}. Se tarvitsee
+kolme argumenttia: värin nimen, värimallin ja värikoodin. Komennon
+argumenttien rakenne on seuraavanlainen:
+
+\komentoi{definecolor}
+\begin{koodilohkosis}
+\definecolor{nimi}{välimalli}{parametrit}
+\end{koodilohkosis}
+
+\noindent
+Komennon argumentti \koodi{nimi} on kirjoittajan itse valitsema nimi, ja
+se voi liittyä esimerkiksi värin käyttötarkoitukseen (''otsikko'') tai
+värin yleiseen nimeen (''keltainen''). Argumentti \koodi{väri\-malli}
+tarkoittaa värin ilmaisemisen tapaa. Niitä on useita erilaisia, mutta
+yleisimmät on koottu taulukkoon \ref{tlk/värimalleja}.
+
+Eri värimalleilla on eri määrä parametreja, joilla ilmaistaan värin
+ominaisuuksia. Kunkin parametrin arvo on yleensä desimaaliluku 0\==1,
+mutta \koodi{HTML}\-/ värimallissa parametrit ilmaistaan yhtenä kolmen
+kaksinumeroisen heksadesimaaliluvun sarjana \textsc{html}\-/
+merkintäkielen tavoin. Värin parametrit kirjoitetaan komennon
+argumenttiin \koodi{para\-metrit} ja ne erotetaan toisistaan pilkulla.
+Taulukon \ref{tlk/värimalleja} Esimerkki\-/sarakkeessa on parametrien
+antamisesta esimerkki. Muista värimalleista voi lukea
+\paketti{xcolor}\-/ paketin ohjekirjasta.
+
+Kun värit on määritelty, niitä voi käyttää eri komentojen yhteydessä.
+Tekstin väri vaihdetaan toiseksi komennolla \komento{color}, josta on
+kaksi erilaista versiota. Komento vaihtaa värin pysyvästi nykyisen
+ympäristön (luku \ref{luku/ympäristöt}) tai aaltosulkeilla (luku
+\ref{luku/aaltosulkeet}) rajatun alueen sisällä.
+
+\komentoi{color}
+\begin{koodilohkosis}
+\color{nimi} % väriksi ennalta määritelty ”nimi”
+\color[värimalli]{parametrit} % värimallin ja parametrien avulla
+\end{koodilohkosis}
+
+\noindent
+Toinen vaihtoehto on käyttää komentoa \komento{textcolor}, jolle
+annetaan edelliseen verrattuna vielä yksi argumentti lisää. Argumenttina
+on teksti, johon värin halutaan vaikuttavan. Vaikutusalueena on siis
+vain kyseinen teksti.
+
+\komentoi{textcolor}
+\begin{koodilohkosis}
+\textcolor{nimi}{teksti}
+\textcolor[värimalli]{parametrit}{teksti}
+\end{koodilohkosis}
+
+\noindent
+Tekstin taustaväri vaihdetaan komennoilla \komento{colorbox} ja
+\komento{fcolorbox}. Komennot luovat pienen laatikon (luku
+\ref{luku/laatikot-pienet}), jonka sisällä taustaväri on voimassa. Ensin
+mainittu komento vaihtaa vain taustavärin, ja jälkimmäinen sisältää
+lisäksi värillisen kehyksen, eli sille määritellään kaksi väriä.
+
+\begin{koodilohkosis}
+\colorbox{nimi}{teksti} % taustaväriksi ennalta määritelty ”nimi”
+\colorbox[värimalli]{parametrit}{teksti}
+\fcolorbox{nimi/kehys}{nimi/tausta}{teksti}
+\fcolorbox[värimalli]{parametrit/kehys}{parametrit/tausta}{teksti}
+\end{koodilohkosis}
+
+\noindent
+Kehystetyn laatikon kehysviivan leveys on mitassa \mitta{fboxrule} ja
+kehyksen etäisyys sisällöstä mitassa \mitta{fboxsep}. Seuraavassa on
+esimerkki useiden edellä mainittujen komentojen käytöstä. Tästä tuskin
+kannattaa ottaa mallia vakavaan typografiseen työhön.
+
+\komentoi{colorbox}
+\komentoi{color}
+\komentoi{definecolor}
+\komentoi{fcolorbox}
+\komentoi{setlength}
+\komentoi{textcolor}
+\mittai{fboxrule}
+\mittai{fboxsep}
+\begin{koodilohkosis}
+\definecolor{pun}{rgb}{1,.2,.2}
+\setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp}
+\fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä}
+\textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}.
+\end{koodilohkosis}
+
+\begin{tulossis}
+ \definecolor{pun}{rgb}{1,.2,.2}
+ \setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp}
+ \fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä}
+ \textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}.
+\end{tulossis}
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex
index 58e992b3ca7..8eccc972d5f 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-rakenne.tex
@@ -121,6 +121,52 @@ Taulukossa on mainittu ensin Latexin omat komennot ja sitten
estävät sanojen tavuttamisen, kun taas \paketti{ragged2e}\-/ paketin
komennot sallivat tavutuksen normaalisti.
+\subsection{Optinen tasaus}
+
+Tekstin tasaamisessa halutaan toisinaan jättää jotkut merkit
+tasauskohdan ulkopuolelle. Esimerkiksi suurikokoisissa otsikoissa on
+joskus alussa lainausmerkki, joka halutaan latoa tasauskohdan vasemmalle
+puolelle, jotta eri riveillä olevat sanat saadaan tasaan.
+
+\begin{tulossis}
+ \Large\makebox[0bp][r]{''}Optinen tasaus \\
+ otsikossa''
+\end{tulossis}
+
+\noindent
+Tasauskohdan ulkopuolinen lainausmerkki voidaan toteuttaa leveydettömän
+laatikon avulla (luku \ref{luku/laatikot}). Lainausmerkki kirjoitetaan
+laatikkoon, jonka leveys on nolla ja jonka sisältö tasataan laatikon
+oikeaan reunaan. Tällöin laatikko ei vie yhtään tilaa, mutta sen sisältö
+ladotaan kyseisen kohdan vasemmalle puolelle.
+
+\komentoi{makebox}
+\begin{koodilohkosis}
+\makebox[0bp][r]{''}Optinen tasaus \\
+otsikossa''
+\end{koodilohkosis}
+
+\noindent
+Toisinaan keskitetyssä monirivisessä tekstissä tai otsikossa on rivin
+lopussa yhdysmerkki, mutta keskitys ehkä halutaan toteuttaa vain
+kirjainten perusteella ja jättää yhdysmerkki sen ulkopuolelle. Sellainen
+yhdysmerkki voidaan kirjoittaa leveydettömään laatikkoon, jolloin sitä
+ei huomioida keskittämisessä.
+
+\komentoi{makebox}
+\ymparistoi{center}
+\begin{koodilohkosis}
+\begin{center}
+ \Large Latex\makebox[0bp][l]{-} \\ opas
+\end{center}
+\end{koodilohkosis}
+
+\begin{tulossis}
+ \begin{center}
+ \Large Latex\makebox[0bp][l]{-} \\ opas
+ \end{center}
+\end{tulossis}
+
\subsection{Pystysuuntaiset välit}
\label{luku/pystysuuntaiset-välit}
@@ -1437,159 +1483,24 @@ seuraavalla tavalla:
\end{koodilohkosis}
\subsection{Värit}
-\label{luku/korostus-värit}
Eri värien käyttö voi sopia tekstin erilaisten osien korostamiseen.
-Esimerkiksi otsikot, taulukot tai leijuvat osat saa erottumaan
-selvemmin, kun niiden toteutuksessa käyttää värejä. Sen sijaan
-leipätekstin sisällä värejä täytynee käyttää hillitysti, sillä värikäs
-tekstipalsta näyttää rauhattomalta ja voi hidastaa lukemista.
-
-Latexiin saa värit \pakettictan{xcolor}\-/ paketin
-avulla.\footnote{Toinen vaihtoehto on yksinkertaisempi väripaketti
- \paketti{color}, joka sisältää värien käsittelyn perustoiminnot.} Se
-tarjoaa muun muassa komentoja, joilla tekstin väriä, tekstin taustaväriä
-tai sivun taustaväriä voi muuttaa. Lisäksi se sisältää värien
-sekoittamiseen ja muuntamiseen liittyvää tekniikkaa. Paketin komentojen
-avulla voi myös värittää taulukoiden (luku \ref{luku/taulukot}) rivit
-vuorottelevin värein.
-
-Omassa dokumentissa käytettävät värit on hyvä määritellä alussa.
-Määrittely tarkoittaa sitä, että annetaan väreille nimet -- esimerkiksi
-käyttötarkoituksen mukaan -- ja myöhemmin lähdedokumentissa viitataan
-väreihin käyttämällä alussa määriteltyjä nimiä. Näin väri on määritelty
-yhdessä paikassa ja sen muuttaminen on myöhemmin helppoa. On kyllä
-mahdollista käyttää värejä ilman etukäteismäärittelyäkin.
-
-\leijutlk{
- \providecommand{\rivi}{}
- \renewcommand{\rivi}[3]{\koodi{#1} & #2 & \koodi{#3}
- & \textcolor[#1]{#3}{\rule{.9em}{.9em}} \\}
- \begin{tabular}{llll}
- \toprule
- \ots{Malli}
- & \ots{Parametrit}
- & \multicolumn{2}{l}{\ots{Esimerkki}} \\
- \midrule
- \rivi{rgb}{punainen, vihreä, sininen}{1,.7,.3}
- \rivi{HTML}{punainen vihreä sininen}{33aaf3}
- \rivi{cmyk}{syaani, magenta, keltainen, musta}{.1,1,.5,0}
- \rivi{hsb}{sävy, kylläisyys, kirkkaus}{.2,1,.6}
- \rivi{gray}{harmaa}{.55}
- \bottomrule
- \end{tabular}
-}{
- \caption{Erilaisia värimalleja ja niiden parametreja
- \paketti{xcolor}\-/ paketissa}
- \label{tlk/värimalleja}
-}
-
-Omat värit määritellään komennolla \komento{definecolor}. Se tarvitsee
-kolme argumenttia: värin nimen, värimallin ja värikoodin. Komennon
-argumenttien rakenne on seuraavanlainen:
-
-\komentoi{definecolor}
-\begin{koodilohkosis}
-\definecolor{nimi}{välimalli}{parametrit}
-\end{koodilohkosis}
-
-\noindent
-Komennon argumentti \koodi{nimi} on kirjoittajan itse valitsema nimi,
-ja se voi liittyä esimerkiksi värin käyttötarkoitukseen (''nuoli'') tai
-värin yleiseen nimeen (''keltainen''). Argumentti \koodi{väri\-malli}
-tarkoittaa värin ilmaisemisen tapaa. Niitä on useita erilaisia, mutta
-yleisimmät on koottu taulukkoon \ref{tlk/värimalleja}.
-
-Eri värimalleilla on eri määrä parametreja, joilla ilmaistaan värin
-ominaisuuksia. Kunkin parametrin arvo on yleensä desimaaliluku 0\==1,
-mutta \koodi{HTML}\-/ värimallissa parametrit ilmaistaan yhtenä kolmen
-kaksinumeroisen heksadesimaaliluvun sarjana \textsc{html}\-/
-merkintäkielen tavoin. Värin parametrit kirjoitetaan komennon
-argumenttiin \koodi{para\-metrit} ja ne erotetaan toisistaan pilkulla.
-Taulukon \ref{tlk/värimalleja} Esimerkki\-/sarakkeessa on parametrien
-antamisesta esimerkki. Muista värimalleista voi lukea
-\paketti{xcolor}\-/ paketin ohjekirjasta.
-
-Kun värit on määritelty, niitä voi käyttää eri komentojen yhteydessä.
-Tekstin väri vaihdetaan toiseksi komennolla \komento{color}, josta on
-kaksi erilaista versiota. Komento vaihtaa värin pysyvästi nykyisen
-ympäristön (luku \ref{luku/ympäristöt}) tai aaltosulkeilla (luku
-\ref{luku/aaltosulkeet}) rajatun alueen sisällä.
-
-\komentoi{color}
-\begin{koodilohkosis}
-\color{nimi} % väriksi ennalta määritelty ”nimi”
-\color[värimalli]{parametrit} % värimallin ja parametrien avulla
-\end{koodilohkosis}
-
-\noindent
-Toinen vaihtoehto on käyttää komentoa \komento{textcolor}, jolle
-annetaan edelliseen verrattuna vielä yksi argumentti lisää. Argumenttina
-on teksti, johon värin halutaan vaikuttavan. Vaikutusalueena on siis
-vain kyseinen teksti.
-
-\komentoi{textcolor}
-\begin{koodilohkosis}
-\textcolor{nimi}{teksti}
-\textcolor[värimalli]{parametrit}{teksti}
-\end{koodilohkosis}
-
-\noindent
-Tekstin taustaväri vaihdetaan komennoilla \komento{colorbox} ja
-\komento{fcolorbox}. Komennot luovat laatikon, jonka sisällä taustaväri
-on voimassa. Ensin mainittu komento vaihtaa vain taustavärin, ja
-jälkimmäinen sisältää lisäksi värillisen kehyksen, eli sille
-määritellään kaksi väriä.
-
-\begin{koodilohkosis}
-\colorbox{nimi}{teksti} % taustaväriksi ennalta määritelty ”nimi”
-\colorbox[värimalli]{parametrit}{teksti}
-\fcolorbox{nimi(kehys)}{nimi(tausta)}{teksti}
-\fcolorbox[värimalli]{parametrit(kehys)}{parametrit(tausta)}{teksti}
-\end{koodilohkosis}
-
-\noindent
-Kehystetyn laatikon kehysviivan leveys on mitassa \mitta{fboxrule} ja
-kehyksen etäisyys sisällöstä mitassa \mitta{fboxsep}. Seuraavassa on
-esimerkki useiden edellä mainittujen komentojen käytöstä. Tästä tuskin
-kannattaa ottaa mallia vakavaan typografiseen työhön.
-
-\komentoi{colorbox}
-\komentoi{color}
-\komentoi{definecolor}
-\komentoi{fcolorbox}
-\komentoi{setlength}
-\komentoi{textcolor}
-\mittai{fboxrule}
-\mittai{fboxsep}
-\begin{koodilohkosis}
-\definecolor{pun}{rgb}{1,.2,.2}
-\setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp}
-\fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä}
-\textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}.
-\end{koodilohkosis}
-
-\begin{tulossis}
- \definecolor{pun}{rgb}{1,.2,.2}
- \setlength{\fboxrule}{2bp} \setlength{\fboxsep}{1bp}
- \fcolorbox[gray]{.4}{.2}{\color[gray]{1}Tekstiä}
- \textcolor{pun}{voi korostaa} \colorbox{pun}{väreillä}.
-\end{tulossis}
-
-\noindent
-Sivulle voi asettaa taustavärin komennolla \komento{pagecolor}.
-Taustäväri vaihtuu nykyiselle ja seuraaville sivuille, kunnes väri
-vaihdetaan toiseksi tai poistetaan. Komennolle annetaan samanlaiset
-argumentit kuin muillekin värikomennoille. Komento \komento{nopagecolor}
-poistaa taustavärin kokonaan eli palauttaa taustan oletustilaan.
-
-\komentoi{pagecolor}
-\komentoi{nopagecolor}
-\begin{koodilohkosis}
-\pagecolor{nimi} % sivun taustaväriksi ennalta määritelty ”nimi”
-\pagecolor[värimalli]{parametrit}
-\nopagecolor
-\end{koodilohkosis}
+Esimerkiksi otsikot (luku \ref{luku/otsikot}), taulukot (luku
+\ref{luku/taulukot}) tai leijuvat osat (luku \ref{luku/leijuosat}) saa
+erottumaan selvemmin, kun niiden toteutuksessa käyttää värejä. Sen
+sijaan leipätekstissä värejä kannattaa käyttää hillitymmin, sillä
+värikäs tekstipalsta näyttää rauhattomalta. Katse voi hakeutua
+poikkeavan värisiin osiin liian helposti, mikä hidastaa lukemista.
+Värien käsittelyn tekniikkaa käsitellään luvussa \ref{luku/värit} ja
+sivun taustaväriä luvussa \ref{luku/sivun-väri}.
+
+Tämän oppaan leipätekstissä on käytetty värejä Latexin komentojen ja
+muiden rakenteiden ilmaisemiseen, esimerkiksi \komentox{komento},
+\ymparistox{ympäristö} ja \mittax{mitta}. Värisävyt on melko tummia,
+jotta mustaa tekstiä sisältävä tekstipalsta näyttäisi verrattain
+tasaiselta eikä katse kiinnittyisi värillisiin kohtiin kovin helposti.
+Samanlaista ajatusta kannattanee toteuttaa muidenkin elementtien
+värittämisessä.
\section{Sivunvaihdot ja sivujen tasaaminen}
\label{luku/sivunvaihdot}
@@ -2661,12 +2572,44 @@ kirjaimia (a, b, c jne.).
\label{esim/labelitem-labelenum}
\end{esimerkki*}
+\leijutlk{
+ \providecommand{\rivi}{}
+ \renewcommand{\rivi}[3]{#1 & \uctunnus{#2} & #3 \\}
+ \begin{tabular}{cll}
+ \toprule
+ \multicolumn{2}{l}{\ots{Merkki ja Unicode-nimi}} & \ots{Komento} \\
+ \midrule
+ \rivi{\textbullet}{u+2022 bullet}{\komento{textbullet}}
+ \rivi{◦}{u+25e6 white bullet}{}
+ \rivi{$\circ$}{u+2218 ring operator}{\koodi{\$\mkomento{circ}\$}}
+ % \rivi{⁃}{u+2043 hyphen bullet}{}
+ % \rivi{▪}{u+25aa black small square}{}
+ \rivi{\rule[.3ex]{.5ex}{.5ex}}{}
+ {\komento{rule}\komentoargv{.3ex}\komentoarg{.5ex}\komentoarg{.5ex}}
+ \rivi{‣}{u+2023 triangular bullet}{}
+ \rivi{--}{u+2013 en dash}{\komento{textendash}, \koodi{--}}
+ \rivi{$\star$}{u+22c6 star operator}{\koodi{\$\mkomento{star}\$}}
+ \rivi{\textasteriskcentered}
+ {u+2217 asterisk operator} {\komento{textasteriskcentered}}
+ \rivi{\textperiodcentered}
+ {u+00b7 middle dot}{\komento{textperiodcentered}}
+ \bottomrule
+ \end{tabular}
+}{
+ \caption{Erilaisia luetelmamerkkejä. Komento-sarakkeen
+ \koodi{\$}\=/merkit ovat matematiikkatilan aloitus- ja
+ lopetuskomentoja}
+ \label{tlk/luetelmamerkkejä}
+}
+
Luetelmamerkit ja luetelmien numerointitavat ovat kirjoittajan
muutettavissa. Ympäristössä \ymparisto{itemize} luetelmamerkit tulevat
komennosta, joka alkaa sanoilla \komentox{label\-item} ja jatkuu
luetelman tasoa ilmaisevalla roomalaisella numerolla
\koodi{i}\==\koodi{iv}. Komennot voi määritellä uudelleen haluamallaan
tavalla, kuten esimerkki \ref{esim/labelitem-labelenum} osoittaa.
+Taulukkoon \ref{tlk/luetelmamerkkejä} on koottu erilaisia
+luetelmamerkkejä sekä Latex\-/ komentoja, joilla niitä voi tuottaa.
\ymparisto{enumerate}\-/ ympäristössä numeroidut kohdat tulevat
komennosta, joka alkaa sanoilla \komentox{label\-enum} ja jatkuu
@@ -2773,9 +2716,9 @@ vaikutetaan luetelman asetuksiin.
Edellisen esimerkin argumentti \koodi{merk\-ki} sisältää tekstiä tai
koodia, joka muodostaa luetelmakohdan merkin. Numeroimattomassa
luetelmassa siihen voi laittaa esimerkiksi luetelmaympyrän eli komennon
-\komento{textbullet} tai ajatusviivan (\koodi{--}). Numeroidussa
-luetelmassa siihen kirjoitetaan komento, joka latoo jonkin laskurin
-arvon.
+\komento{textbullet} tai ajatusviivan (\koodi{--}). Muita esimerkkejä on
+taulukossa \ref{tlk/luetelmamerkkejä}. Numeroidussa luetelmassa siihen
+kirjoitetaan komento, joka latoo jonkin laskurin arvon.
\ymparisto{list}\-/ ympäristön toinen argumentti \koodi{ase\-tuk\-set}
sisältää mitä hyvänsä koodia, jolla vaikutetaan ympäristön asetuksiin.
@@ -3701,7 +3644,7 @@ huolehtivat myös niiden ylä- ja alapuolisesta välistä paremmin kuin
Latexin omat viivakomennot.
Taulukon rivien taustan voi värittää \pakettictan{xcolor}\-/ paketin
-(luku \ref{luku/korostus-värit}) komentojen avulla. Varsinkin leveiden
+(luku \ref{luku/värit}) komentojen avulla. Varsinkin leveiden
taulukoiden lukemista voi helpottaa, jos rivien eri taustavärit
vuorottelevat. Tarkemmat tiedot selviävät paketin ohjekirjasta, mutta
seuraavan esimerkin avulla ominaisuutta pääsee kokeilemaan:
@@ -4515,7 +4458,7 @@ toisistaan erotettuja valitsimia ja niiden arvoja.
\leijutlk{
\providecommand{\rivi}{}
\renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
- \begin{tabularx}{\linewidth}{lL}
+ \begin{tabularx}{\textwidth}{lL}
\toprule
\ots{Valitsin} & \ots{Merkitys ja vaihtoehtoja} \\
\midrule
@@ -4589,7 +4532,7 @@ ympäristössä.
\leijutlk{
\providecommand{\rivi}{}
\renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
- \begin{tabularx}{\linewidth}{lL}
+ \begin{tabularx}{\textwidth}{lL}
\toprule
\ots{Valitsin} & \ots{Merkitys ja vaihtoehtoja} \\
\midrule
@@ -4742,9 +4685,11 @@ Niitä käytetään seuraavalla tavalla:
\end{koodilohkosis}
\begin{wrapfigure}{R}{5em}
- \begin{tikzpicture}[x=.5em, y=.5em]
- \draw [draw=black, fill=yellow, line width=1bp] (0,0) ellipse [x
- radius=4, y radius=2, rotate=30];
+ \begin{tikzpicture}[x=.5em, y=.5em,
+ tyyli/.style={draw=black, fill=yellow, line width=.6bp}]
+ \draw [tyyli] (0,0) ellipse [x radius=4, y radius=1.5, rotate=45];
+ \draw [tyyli] (-2,2) circle [radius=1];
+ \draw [tyyli] (2,-2) circle [radius=1];
\end{tikzpicture}
\caption{Tekstipalstaan upotettu kuva}
\label{kuva/wrapfig-esimerkki}
@@ -4886,8 +4831,8 @@ Ristiviittaukset vaativat, että Latex\-/ lähdedokumentti käännetään
kahdesti. Ensimmäisellä kääntämiskerralla \komento{label}\-/ komennolla
mainittujen kohteiden tiedot kirjoitetaan muistiin väliaikaistiedostoon.
Toisella kääntämiskerralla hyödynnetään väliaikaistiedostoa ja
-\komento{ref}-, \komento{pageref}\-/\ ja \komento{nameref}\-/ komentojen
-tilalle ladotaan viittauskohteen oikeat tiedot.
+komentojen \komento{ref}, \komento{pageref} ja \komento{nameref} tilalle
+ladotaan viittauskohteen oikeat tiedot.
\section{Alaviitteet}
\label{luku/alaviitteet}
@@ -4895,12 +4840,14 @@ tilalle ladotaan viittauskohteen oikeat tiedot.
Alaviitteet ovat sivun alareunassa olevia numeroituja tai muulla tavalla
merkittyjä huomautuksia. Niihin viitataan sanojen tai virkkeiden perässä
olevalla yläindeksinumerolla, \=/kirjaimella tai
-\=/symbolilla.\footnote{Tässä on esimerkki alaviitteestä.} Alaviitteiden
-tarkoituksena on lisätä tekstiin lähes huomaamaton lisätieto, joka ei
-häiritse lukemista. Se sopii asioille, joilla ei ole suurta merkitystä
-useimmille lukijoille tai jotka muuten sopivat huonosti leipätekstiin.
-Varsin usein myös tiedonlähteet ilmaistaan alaviitteiden
-avulla.\footcites[162]{kt_oik}[127--128]{typokk}
+\=/symbolilla.\footnote{Katso myös ylä- ja alaindeksejä käsittelevä luku
+ \ref{luku/ylä-alaindeksit}. Siellä mainitun \paketti{realscripts}\-/
+ paketin lataaminen on suositeltavaa, kun käyttää alaviitteitä.}
+Alaviitteiden tarkoituksena on lisätä tekstiin lähes huomaamaton
+lisätieto, joka ei häiritse lukemista. Se sopii asioille, joilla ei ole
+suurta merkitystä useimmille lukijoille tai jotka muuten sopivat
+huonosti leipätekstiin. Varsin usein myös tiedonlähteet ilmaistaan
+alaviitteiden avulla.\footcites[162]{kt_oik}[127--128]{typokk}
Alaviite tehdään komennolla \komento{footnote}, jonka argumentiksi
kirjoitetaan alaviitteeseen tuleva teksti. Oletuksena Latex latoo
@@ -5023,6 +4970,8 @@ väli hieman kasvaa.
\rivi{norule}{vaakasuuntainen erotinviiva pois}
\rivi{perpage}{numerointi sivukohtaiseksi}
\rivi{bottom}{alaviite aina sivun alareunaan}
+ \rivi{ragged}{alaviitteeseen automaattinen \komento{raggedright} tai
+ \komento{RaggedRight}}
\rivi{hang}{luetelmatyyppiset alaviitteet, riippuva sisennys}
\rivi{multiple}{useat peräkkäiset yläindeksinumerot}
\bottomrule
@@ -5047,6 +4996,22 @@ voi sijoittua joskus ylemmäksi, jos sivun alaosaan ladotaan leijuva osa
tai jos sivun alareunan tasaaminen on pois päältä
(\komento{raggedbottom}, luku \ref{luku/sivunvaihdot}).
+Valitsin \koodi{ragged} latoo alaviitteen tekstikappaleet
+liehureunaisena eli suorittaa automaattisesti komennon
+\komento{raggedright} tai \komento{RaggedRight} (luku
+\ref{luku/kappaleen-tasaus}). Monipuolisempi keino alaviitteen tyylin
+muokkaamiseen on komento \komento{footnotelayout}. Komennon voi
+määritellä itse haluamakseen, ja komennon määritelmään kirjoitetaan mitä
+hyvänsä komentoja, jotka halutaan suorittaa automaattisesti jokaisen
+alaviitetekstin alussa.
+
+\komentoi{footnotelayout}
+\komentoi{raggedright}
+\begin{koodilohkosis}
+\renewcommand{\footnotelayout}{\raggedright}
+\end{koodilohkosis}
+
+\noindent
Oletuksena alaviitekappaleet ladotaan samalla tavalla kuin
tekstikappaleet oletuksena muutenkin, eli alaviitteen ensimmäinen rivi
on sisennetty, ja sen alussa on alaviitteen numero. Seuraavia rivejä ei
@@ -5064,7 +5029,7 @@ valitsimella \koodi{hang}. Sisennyksen suuruuteen voi vaikuttaa mitan
\pakettii{footmisc}
\begin{koodilohkosis}
\usepackage[hang]{footmisc}
-\setlength{\footnotemargin}{1.5em}
+\setlength{\footnotemargin}{.8em}
\end{koodilohkosis}
\noindent
@@ -5472,7 +5437,8 @@ esimerkkiteos on peräisin esimerkistä \ref{esim/thebibliography}.
\bottomrule
\end{tabular}
}{
- \caption{\paketti{natbib}\-/paketin lähdeviittauskomentoja}
+ \caption{\paketti{natbib}\-/paketin
+ läh\-de\-viit\-taus\-ko\-men\-toja}
\label{tlk/natbib-cite}
}
@@ -6351,7 +6317,7 @@ asetuksia käsitellään luvussa \ref{luku/asiasanat-asetukset}.
\leijutlk{
\providecommand{\rivi}{}
\renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
- \begin{tabularx}{\linewidth}{lL}
+ \begin{tabularx}{\textwidth}{lL}
\toprule
\ots{Valitsin} & \ots{Merkitys} \\
\midrule
@@ -6730,7 +6696,7 @@ valitsimia ja niiden arvoja. Valitsimia on koottu taulukkoon
\leijutlk{
\providecommand{\rivi}{}
\renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
- \begin{tabularx}{\linewidth}{lL}
+ \begin{tabularx}{\textwidth}{lL}
\toprule
\ots{Valitsin} & \ots{Merkitys ja vaihtoehtoja} \\
\midrule
@@ -6862,7 +6828,7 @@ merkkivalikoimassa.
\leijutlk{
\providecommand{\rivi}{}
\renewcommand{\rivi}[2]{\koodi{#1} & #2 \\}
- \begin{tabularx}{\linewidth}{lL}
+ \begin{tabularx}{\textwidth}{lL}
\toprule
\ots{Valitsin} & \ots{Merkitys} \\
\midrule
@@ -7044,7 +7010,7 @@ ilmaistaan tällaisten lisätietojen avulla. Esimerkki
\ref{esim/tikz-asetuksia} havainnollistaa tavallisimpia valinnaisia
argumentteja. Värivalitsimien \koodi{draw} ja \koodi{fill} arvoksi voi
antaa mitä hyvänsä nimettyjä värejä, joita käsitellään tarkemmin luvussa
-\ref{luku/korostus-värit}.
+\ref{luku/värit}.
\begin{esimerkki*}
\ymparistoi{tikzpicture}
@@ -7151,13 +7117,13 @@ paketin omasta ohjekirjasta.
\end{tikzpicture}
\end{koodilohko}
- \begin{tulossis}
+ \begin{tulos}
\begin{tikzpicture}[x=1mm, y=1mm]
\node (ympyrä) at (0,0) [draw, circle] {vasen};
\node (suorakulmio) at (20,0) [draw, rectangle] {oikea};
\draw [->, shorten >=1mm] (ympyrä) to [out=45, in=135] (suorakulmio);
\end{tikzpicture}
- \end{tulossis}
+ \end{tulos}
\caption{Solmujen nimeäminen ja kytkeminen viivan avulla}
\label{esim/tikz-solmujen-yhdistäminen}
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex
index 027eb397fad..eda9ffd6b4e 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/luku-valmistautuminen.tex
@@ -386,7 +386,7 @@ Minun Latex-dokumenttini!
\end{esimerkki*}
Dokumentin alkuosaa riville 9 saakka kutsutaan esittelyosaksi
-(\englanti{preamble}). Tässä osassa ladataan tarvittavat paketit ja
+(\englanti{pre\-am\-ble}). Tässä osassa ladataan tarvittavat paketit ja
määritetään dokumentin asetuksia ja taustatietoja. Riviltä 10 alkaa
varsinainen tekstiosa eli dokumentin sivuille ladottava sisältö. Se osa
kirjoitetaan \ymparisto{document}\-/ ympäristön sisään eli riveillä 10
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex
index 19d78109d10..68c0120943c 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/tavutusvihjeet.tex
@@ -208,6 +208,7 @@ font-ti-koko-komen-to-jen
font-ti-komen-to-ja
foot-misc
foot-note
+foot-note-lay-out
foot-note-mark
foot-note-sep
foot-note-text
diff --git a/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex b/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex
index 93a754457b0..60bbc868ef4 100644
--- a/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex
+++ b/Master/texmf-dist/doc/latex/kaytannollista-latexia/versio.tex
@@ -1 +1 @@
-\newcommand{\versio}{2024.2}
+\newcommand{\versio}{2024.7}
diff --git a/Master/texmf-dist/doc/latex/lastpage/README b/Master/texmf-dist/doc/latex/lastpage/README
index d9c21d30e25..b7c3c78bb26 100644
--- a/Master/texmf-dist/doc/latex/lastpage/README
+++ b/Master/texmf-dist/doc/latex/lastpage/README
@@ -1,4 +1,4 @@
-README for lastpage package, 2024-07-03, v2.1b
+README for lastpage package, 2024-07-07, v2.1c
TABLE OF CONTENTS
diff --git a/Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdf b/Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdf
index 9752f36fd70..db990f6942b 100644
--- a/Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdf
+++ b/Master/texmf-dist/doc/latex/lastpage/lastpage-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex b/Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex
index dfe7511c11a..2fd859c44e7 100644
--- a/Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex
+++ b/Master/texmf-dist/doc/latex/lastpage/lastpage-example.tex
@@ -9,7 +9,7 @@
%% This is a generated file.
%%
%% Project: lastpage
-%% Version: 2024-07-03 v2.1b
+%% Version: 2024-07-07 v2.1c
%% Info: Refers to last page's name
%%
%% Copyright (C) 2010 - 2024 by
@@ -66,7 +66,7 @@
\usepackage[draft]{showkeys}[2024/05/23]% v3.21 Show cite and label keys (DPC, MH)
%% Use final instead of draft to hide the keys. %%
\usepackage[pdfpagelabels=true,hyperindex=false]{hyperref}[2024-01-20]% v7.01h
-%% Hypertext links for LaTeX
+\@ifpackageloaded{hyperref}{% Hypertext links for LaTeX
\hypersetup{extension=pdf,%
plainpages=false,%
pdflang={en},%
@@ -77,9 +77,8 @@
pdfview=Fit,%
pdfstartview=Fit,%
pdfpagelayout=SinglePage%
-}
-\@ifpackageloaded{hyperref}{}{\usepackage{url}[2013/09/16]}% v3.4
-\usepackage{lastpage}[2024/07/03]% v2.1b
+}}{\usepackage{url}[2013/09/16]}% v3.4
+\usepackage{lastpage}[2024/07/07]% v2.1c
\renewcommand{\@evenfoot}{%
\normalsize\slshape \today\hfil \upshape %
page \thepage{} of \pageref{LastPage}}
@@ -91,7 +90,7 @@
\section*{Example for lastpage}
\markboth{Example for lastpage}{Example for lastpage}
This example demonstrates the use of package\newline
-\textsf{lastpage}, v2.1b as of 2024-07-03 (HMM; JPG).\newline
+\textsf{lastpage}, v2.1c as of 2024-07-07 (HMM; JPG).\newline
The package takes no options.\newline
For more details please see the documentation!\newline
diff --git a/Master/texmf-dist/doc/latex/lastpage/lastpage.pdf b/Master/texmf-dist/doc/latex/lastpage/lastpage.pdf
index 70a678fe596..9d224e6772e 100644
--- a/Master/texmf-dist/doc/latex/lastpage/lastpage.pdf
+++ b/Master/texmf-dist/doc/latex/lastpage/lastpage.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/lie-hasse/README b/Master/texmf-dist/doc/latex/lie-hasse/README
index e63a82cc605..1bd63c4cba2 100644
--- a/Master/texmf-dist/doc/latex/lie-hasse/README
+++ b/Master/texmf-dist/doc/latex/lie-hasse/README
@@ -2,9 +2,9 @@ ___________________________________
Lie Hasse
- v1.0
+ v1.01
- 3 February 2020
+ 9 July 2024
___________________________________
Authors : Ben McKay
diff --git a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdf b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdf
index 5be5791e7ff..ed444cc7d17 100644
--- a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdf
+++ b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex
index 82643fee141..762639c6038 100644
--- a/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex
+++ b/Master/texmf-dist/doc/latex/lie-hasse/lie-hasse.tex
@@ -1,5 +1,5 @@
\documentclass{amsart}
-\title[The Lie Hasse package]{The Lie Hasse package \\ Version 1.0}
+\title[The Lie Hasse package]{The Lie Hasse package \\ Version 1.01}
%% My name:
\makeatletter
\DeclareRobustCommand{\scotsMc}{\scotsMcx{c}}
@@ -19,8 +19,7 @@
\author{\authorsname}
\address{School of Mathematical Sciences, University College Cork, Cork, Ireland}
\email{b.mckay@ucc.ie}
-\date{3 February 2020}
-\usepackage{etex}
+\date{9 July 2024}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenx}
\usepackage{etoolbox}
@@ -87,7 +86,7 @@
root radius=.02cm,
edge length=.5cm,
edge quotes/.style={opacity=0}%
- ]{E}{8}%
+ ]E8%
\end{tikzpicture}%
\end{center}%
\begin{center}
@@ -106,26 +105,26 @@ This package draws the Hasse diagram of the poset of the positive simple roots o
\begin{document}
The Hasse diagram of \(F_4\) is
\begin{center}
-\hasse[edge length=1cm]{F}{4}
+\hasse F4
\end{center}
\end{document}
\end{Verbatim}
\end{tcolorbox}
\par\noindent{}The Hasse diagram of \(F_4\) is
\begin{center}
-\hasse[edge length=1cm]{F}{4}
+\hasse[edge length=1cm]F4
\end{center}
Each edge is labelled with the simple root by which vertices differ.
\begin{tcblisting}{title={Inside a \TikZ statement}}
-\(B_4\) has Dynkin diagram \tikz \dynkin[edge length=.35cm]{B}{4};, Hasse diagram
+\(B_4\) has Dynkin diagram \tikz \dynkin{B}{4};, Hasse diagram
\begin{center}
-\hasse[edge length=1cm]{B}{4}
+\hasse[edge length=1cm]B4
\end{center}
\end{tcblisting}
\begin{tcblisting}{title={Inside a Dynkin diagram environment, diagrams fit together}}
The Hasse diagram of \(B_4\) is
\begin{dynkinDiagram}[vertical shift=0,edge length=1cm]{B}{4}
-\hasse{B}{4}
+\hasse[edge length=1cm]B4
\end{dynkinDiagram}
\end{tcblisting}
We shut off the default vertical shift of the Dynkin diagram, so that it starts at the origin.
@@ -133,35 +132,26 @@ There is an option to \verb!\hasse! for this:
\begin{tcblisting}{title={Attaching the Dynkin diagram}}
The Hasse diagram of \(B_4\) is
\begin{center}
-\hasse[attach Dynkin diagram=true]{B}{4}
+\hasse[attach Dynkin diagram=true]B4
\end{center}
\end{tcblisting}
Unfortunately, attaching a Dynkin diagram looks terrible for \(D\) or \(E\) series, so a Dynkin diagram appears below.
\begin{tcblisting}{title={Attaching the Dynkin diagram}}
The Hasse diagram of \(D_5\) is
\begin{center}
-\hasse[attach Dynkin diagram=true]{D}{5}
+\hasse[attach Dynkin diagram=true]D5
\end{center}
\end{tcblisting}
\begin{tcblisting}{title={Inside a \TikZ environment}}
\begin{tikzpicture}
-\hasse{A}{4}
+\hasse A4
\draw (4;1) circle (5pt);
\draw[red] (2;3) circle (5pt);
\end{tikzpicture}
\end{tcblisting}
In this example, we see that the roots of the Hasse diagram are \TikZ{} nodes labelled \(g;i\) for grade \(g\) (i.e. \(g\) units up the page) and index \(i\) (i.e. \(i^{\text{th}}\) root of grade \(g\) drawn on the page, starting from the left).
-\section{Inherited options}
-The Lie Hasse package inherits options from the Dynkin diagrams package: the edge lengths are set with
-\begin{Verbatim}
-\tikzset{/Dynkin diagram/edge lengths=1.2cm}
-\end{Verbatim}
-and similarly the ordering of roots with
-\begin{Verbatim}
-\tikzset{/Dynkin diagram/ordering=Bourbaki}
-\end{Verbatim}
-
+\newpage
\section{Prettier}
The package includes a more elaborate \verb!\hasseDiagrams! command, taking a list of semicolon separated Dynkin diagram identfiers.
\begin{tcolorbox}[title={With some global options to make prettier diagrams}]
@@ -198,11 +188,20 @@ The package includes a more elaborate \verb!\hasseDiagrams! command, taking a li
\endgroup
Global options:
\begin{verbatim}
- edge/.style={ultra thick},
- edge quotes/.style={/Dynkin diagram/text style,auto,inner sep=2pt},
+\tikzset{/Lie Hasse,
+ edge/.style={ultra thick},
+ edge quotes/.style={
+ /Dynkin diagram/text style,
+ auto,
+ inner sep=2pt},
\end{verbatim}
allow to change the edges, and to change the way that labels are printed, and how close labels are to the edges.
-
+To give even greater control, the user can define a command \verb!\edgeQuote! of one argument, which is applied to the label placed on every edge of the Hasse diagram.
+The default is
+\begin{verbatim}
+\NewDocumentCommand\edgeQuote{m}{\contour{white}{#1}}
+\end{verbatim}
+which ensures that every label, which is black text by default, has a slight white outline to make it easier to read against a coloured background.
\section{Root order}
@@ -222,6 +221,10 @@ We can use this like:
\hasseDiagrams{[ordering=Carter]E6;[ordering=Dynkin]E6}
\hasseDiagrams{[ordering=Kac]E6}
\endgroup
+The Lie Hasse package inherits the ordering of roots from the Dynkin diagrams package, so we can set it with
+\begin{Verbatim}
+\tikzset{/Dynkin diagram/ordering=Bourbaki}
+\end{Verbatim}
\section{Graph height and width}
The \emph{height} of a Hasse diagram is the number of grades.
@@ -238,7 +241,7 @@ to store the height of \(G_2\) in a counter called \verb!\h!, and
\end{Verbatim}
to store the width of \(G_2\) at grade \(3\) in a counter called \verb!\w!.
-Once you use \verb!\dynkin{G}{2}! or \verb!\hasse{G}{2}! or the other commands, like
+Once you use \verb!\dynkin G2! or \verb!\hasse G2! or the other commands, like
\begin{Verbatim}
\rootSystemHeight[G][2]{\h}
\end{Verbatim}
@@ -260,7 +263,8 @@ The \verb!show height! option:
\hasseDiagrams{G2}
\end{Verbatim}
\tikzset{/Lie Hasse diagram,show name=true,show height=true}
-\hasseDiagrams{G2}
+\hasse G2
+
The \verb!show widths! option:
\begin{Verbatim}
\tikzset{/Lie Hasse diagram/show widths=true}
@@ -293,11 +297,11 @@ Here is the Dynkin diagram of \(E_8\), indicating the order of the roots in Cart
Here is the same Dynkin diagram, except showing, at each simple root, the coefficient of that simple root in the highest root.
\begin{Verbatim}
\rootSum[E][8]{29}{1}{\rs}
-\dynkin[labels=\rs,ordering=Carter,edge length=.35cm]{E}{8}
+\dynkin[expand labels=\rs,ordering=Carter,edge length=.35cm]{E}{8}
\end{Verbatim}
\rootSum[E][8]{29}{1}{\rs}
\begin{center}
-\dynkin[labels=\rs,ordering=Carter,edge length=.35cm]{E}{8}
+\dynkin[expand labels=\rs,ordering=Carter,edge length=.35cm]{E}{8}
\end{center}
The option \verb!for all roots! allows execution of code once on every root.
@@ -312,7 +316,7 @@ The option \verb!for all roots! allows execution of code once on every root.
root radius=.05cm
},
for all roots/.code 2 args={\drawRootAsDynkinSum{#1}{#2}}}
-\hasseDiagrams{D5}
+\hasse D5
\end{Verbatim}
\begingroup
\tikzset{/Lie Hasse diagram,
@@ -341,23 +345,23 @@ A simple example:
\end{Verbatim}
\newcommand{\foo}[2]%
{%
- \node[below,scale=.75] at (#1;#2) {\(#1,#2\)};%
+ \node[below,scale=.5] at (#1;#2) {\(#1,#2\)};%
}%
Inside a \TikZ{} or \verb!dynkinDiagram! environment:
\begin{Verbatim}
\tikzset{/Lie Hasse diagram/edge quotes/.style={opacity=0},
/Dynkin diagram/edge length=1.5cm}
\begin{tikzpicture}
- \hasse{D}{6}%
- \forAllPositiveRootsInHasseDiagram{\foo}%
+ \hasse D6%
+ \forAllPositiveRoots{\foo}%
\end{tikzpicture}
\end{Verbatim}
\begingroup
\tikzset{/Lie Hasse diagram/edge quotes/.style={opacity=0},
/Dynkin diagram/edge length=1.5cm}
\begin{tikzpicture}
- \hasse{D}{6}%
- \forAllPositiveRootsInHasseDiagram{\foo}%
+ \hasse D6%
+ \forAllPositiveRoots{\foo}%
\end{tikzpicture}
If you put this into the \verb!for all roots! option, it executes on its own:
@@ -378,19 +382,19 @@ Opposite sides of any square have the same edge label, by commutativity of addit
Hence we don't need to see every edge perfectly.
The three dimensional effect is the default:
\begin{Verbatim}
-\hasse{D}{4}\hasse{E}{6}
+\hasse D4\hasse E6
\end{Verbatim}
\begin{center}
-\hasse{D}{4}\hasse{E}{6}
+\hasse D4\hasse E6
\end{center}
We can turn it off:
\begin{Verbatim}
-\hasse[three D=false]{D}{4}
-\hasse[three D=false]{E}{6}
+\hasse[three D=false] D4
+\hasse[three D=false] E6
\end{Verbatim}
\begin{center}
-\hasse[three D=false]{D}{4}
-\hasse[three D=false]{E}{6}
+\hasse[three D=false] D4
+\hasse[three D=false] E6
\end{center}
or globally with \verb!\tikzset{/Lie Hasse diagram/three D=false}!.
@@ -430,9 +434,9 @@ You can change these:
\section{Label the simple roots}
Ringel \cite{Ringel:2013} labels his edges like
\begin{Verbatim}
-\hasseDiagrams{[labels={f,e,d,c,u,b,a}]E7}
+\hasse[labels={f,e,d,c,u,b,a}]E7
\end{Verbatim}
-\hasseDiagrams{[labels={f,e,d,c,u,b,a}]E7}
+\hasse[labels={f,e,d,c,u,b,a}]E7
\section{Parabolic subgroups}
This package offers nothing over Ringel's original pictures, except that the user can pick some simple roots whose associated edges are drawn differently.
@@ -440,47 +444,48 @@ The chosen simple roots are called \emph{compact}, following terminology from th
We let the reader explore the notation for parabolic subgroups in the Dynkin diagrams package, and use this to declare various roots compact.
\begin{Verbatim}
\tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,three D=false}
-\hasseDiagrams{D{**x*x*x*}}
+\hasse D{**x*x*x*}
\end{Verbatim}
\begingroup
\tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,three D=false}
-\hasseDiagrams{D{**x*x*x*}}
+\hasse D{**x*x*x*}
\endgroup
+
Our motivation comes from trying to identify the invariant vector subbundles of the tangent bundle of a rational homogeneous variety \cite{MathOverflow:123801}.
Such diagrams are often unreadable if we don't turn off the three dimensional graphics.
By default, noncompact root edges are not drawn.
\begingroup
\tikzset{/Lie Hasse diagram,attach Dynkin diagram=true,show name=false,three D=false}
\begin{Verbatim}
-\hasseDiagrams{E{*xx*x*}}
+\hasse E{*xx*x*}
\end{Verbatim}
-\hasseDiagrams{E{*xx*x*}}
+\hasse E{*xx*x*}
\begin{Verbatim}
-\hasseDiagrams{A{x*x*}}
+\hasse A{x*x*}
\end{Verbatim}
-\hasseDiagrams{A{x*x*}}
+\hasse A{x*x*}
\begin{Verbatim}
-\hasseDiagrams{[parabolic=113]B8}
+\hasse[parabolic=113]B8
\end{Verbatim}
-\hasseDiagrams{[parabolic=113]B8}
+\hasse[parabolic=113]B8
\begin{Verbatim}
-\hasseDiagrams{C{**xx*x**}}
+\hasse C{**xx*x**}
\end{Verbatim}
-\hasseDiagrams{C{**xx*x**}}
+\hasse C{**xx*x**}
\newpage
\begin{Verbatim}
-\hasseDiagrams{E{*x*x*x**}}
+\hasse E{*x*x*x**}
\end{Verbatim}
-\hasseDiagrams{E{*x*x*x**}}
+\hasse E{*x*x*x**}
\newpage
\begin{Verbatim}
-\hasseDiagrams{F{**xx}}
+\hasse F{**xx}
\end{Verbatim}
-\hasseDiagrams{F{**xx}}
+\hasse F{**xx}
\begin{Verbatim}
-\hasseDiagrams{G{*x}}
+\hasse G{*x}
\end{Verbatim}
-\hasseDiagrams{G{*x}}
+\hasse G{*x}
\endgroup
\section{Examples}
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/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..572f53878f1 100644
--- a/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md
+++ b/Master/texmf-dist/doc/latex/mathastext/ChangeLog.md
@@ -1,6 +1,84 @@
MATHASTEXT CHANGE LOG
=====================
+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 +234,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 +478,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 +616,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 +762,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..094cb2c2c8e 100644
--- a/Master/texmf-dist/doc/latex/mathastext/README.md
+++ b/Master/texmf-dist/doc/latex/mathastext/README.md
@@ -12,9 +12,9 @@ of the [LPPL1.3c](http://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.4a 2024/07/20
DESCRIPTION
@@ -82,6 +82,84 @@ Main options: `italic`, `frenchmath`, `subdued`, `LGRgreek`.
RECENT CHANGES
==============
+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 +211,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..a804e307623 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..8696a393fcd 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/20}
+\def\MSTpkgversion {1.4a}
%%----------------------------------------------------------------
%% Package: mathastext
%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3zb 2023/12/29
+%% Version: 1.4a 2024/07/20
%% 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/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 245eda72b79..bcfdad1373e 100644
--- a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG
+++ b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG
@@ -1,371 +1,396 @@
-version 2.3.1 (2022-02-21)
-- Fix duplicate GitLab icon (#105)
-- Revert using detokenize in social links (#97)
-- Fix broken compilation in classic style (#96)
-
-version 2.3.0 (2021-12-16)
-- Remove font loading from class (#87)
-- Add Matrix and Signal icon (#84)
-- Improved symbol loading (#84)
-
-version: 2.2.0 (2021-07-28)
-- Remove dot in cventry when using moderncvbodyi.
+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).
+- Fixed unnecessary academicons warning when academicons aren't used (#161).
+- Fixed page counts unnecessarily linking to the last page of the PDF (#159).
+- Added support for an optional signature in the cover letter (#157).
+- Added support for non-ASCII characters in links (#155).
+- Added option to force a homepage link to use HTTP rather than HTTPS (#154).
+- Passed unicode option directly to hyperref to avoid conflicts with the
+ inclusion of hyperref by other packages (#148).
+- Fixed the sender block on the cover letter in banking style (#146).
+- Added option to classic style to align header elements at the top (#144).
+- Added Twitch, YouTube, TikTok, Instagram, SoundCloud, Steam, Xbox, PlayStation
+ and Battle.net social icons (#131).
+- Removed extra dash in PDF metadata when CV title is empty (#116).
+- Added support for an optional subject line in the cover letter (#114).
+- Added Discord social icon (#112).
+- Replace instances of ~~~ in codebase with \hspace to be more compatible with
+ babel for Spanish (#109).
+- Added Codeberg and Mastodon social icons (#107).
+- New \social options: arXiv, INSPIRE (#185)
+- Systematize colors and make them user adjustable. See documentation for details.
+ This requires the \moderncvcolor to be issued BEFORE \moderncvstyle (#151).
+- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle does not respond too well to nodetails (#150).
+- casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden) (#150).
+- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem) (#74).
+- Introducing \cvtripleitem command for items in three columns. Closing feature request #174.
+- Fixed wrong cvlistitem vspace caused by multiline section titles in fancy style (#69).
+
+version 2.3.1 (21 Feb 2022)
+- Fix duplicate GitLab icon (#105).
+- Revert using detokenize in social links (#97).
+- Fix broken compilation in classic style (#96).
+
+version 2.3.0 (16 Dec 2021)
+- Remove font loading from class (#87).
+- Add Matrix and Signal icon (#84).
+- Improved symbol loading (#84).
+
+version: 2.2.0 (28 Jul 2021)
+- Remove dot in \cventry when using moderncvbodyi.
+
- Remove http baseurl in hyperref.
-- Change font encoding to use fontspec with Latin Modern for luatex and xetex,
+- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX,
else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643).
- Add birthdate field command.
- Add Social entries for WhatsApp, Signal and Matrix.
- Fix Researcher ID not showing (#29).
-- Make options 'symbols' and 'nosymbols' available to all styles to toggle whether
- symbols should be used or not. Include symbols in oldstyle by default.
-- Migrate older newcommand syntax in moderncvcollection.sty to the xparse syntax.
+- Make options "symbols" and "nosymbols" available to all styles to toggle
+ whether symbols should be used or not. Include symbols in oldstyle by default.
+- Migrate older newcommand syntax in moderncvcollection.sty to xparse syntax.
- Fix resumé typo in template. Is now résumé.
- Various other minor fixes.
version 2.1.0 (21 Jan 2021)
-- maintainer change: now team maintained (https://github.com/moderncv), since
- original repository is basically dead since 2016.
-- new \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID,
- ResearcherID, ResearchGate, Telegram and Google Scholar
-- hyperlinks in phone numbers
-- switch from l3regex to expl3
-- new skill matrix feature
-- move to fonawesome5 package
-- default to https
+- Maintainer change: now team maintained (https://github.com/moderncv), since
+ original repository has been basically dead since 2016.
+- New \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID,
+ ResearcherID, ResearchGate, Telegram and Google Scholar.
+- Hyperlinks in phone numbers.
+- Switch from l3regex to expl3.
+- New skill matrix feature.
+- Move to fontawesome5 package.
+- Default to https.
version 2.0.0 (28 Jul 2015)
- - refactored the code into heads, body, foot and icon substyles. All styles
- (classic, casual, banking and oldstyle) are just a combination of these and
- some font selection. Mixing substyles (e.g., the banking header with the
- classic body) is now trivial by using the \moderncvhead, \moderncvbody,
- \moderncvfoot and \moderncvicons commands. Each of these take a substyle number
- as argument. \moderncvcolor takes a color name as argument.
- - added a new style, "fancy".
- - added an optional argument to \moderncvstyle to specify style options, i.e.
- \moderncvstyle[options]{style}. Below is a list of the available options per
- style:
- * classic
- > to specify of one's name should appear left or right at the top: "left"
- (default) or "right;
- * casual
- > to specify of one's name should appear left or right at the top: "left"
- (default) or "right;
- * banking
- > to specify how the section- and subsectionrules should be set:
- "fullrules", "shortrules", "mixedrules" (default; full rules for sections,
- short rules for subsections), "centered" (fullrules with centered title)
- and "norules" (norules, small caps font);
- > to specify how the body should be aligned: left" (default), "center" or
- "right";
- * oldstyle & fancy
- n/a
- - added a new color variant: "burgundy".
- - corrected the color of \addressstyle to match the one effectively used
- (color2).
- - adjusted the bibliography spacing to handle entries with or without labels.
- - added a check on the emptyness of \title when setting the hyperref document
- properties.
+- Refactored the code into heads, body, foot and icon substyles. All styles
+ (classic, casual, banking and oldstyle) are just a combination of these and
+ some font selection. Mixing substyles (e.g., the banking header with the
+ classic body) is now trivial by using the \moderncvhead, \moderncvbody,
+ \moderncvfoot and \moderncvicons commands. Each of these take a substyle
+ number as argument. \moderncvcolor takes a color name as argument.
+- Added a new style: fancy.
+- Added an optional argument to \moderncvstyle to specify style options, i.e.
+ \moderncvstyle[options]{style}. Below is a list of the available options per
+ style:
+ * classic
+ > to specify where at the top one's name should appear: "left" (default) or
+ "right;
+ * casual
+ > to specify where at the top one's name should appear: "left" (default) or
+ "right;
+ * banking
+ > to specify how the section and subsection rules should be set:
+ "fullrules", "shortrules", "mixedrules" (default; full rules for sections,
+ short rules for subsections), "centered" (fullrules with centered title)
+ and "norules" (norules, small caps font);
+ > to specify how the body should be aligned: left" (default), "center" or
+ "right";
+ * oldstyle & fancy
+ > n/a
+- Added a new color variant: "burgundy".
+- Corrected \addressstyle color to match the one effectively used (color2).
+- Adjusted the bibliography spacing to handle entries with or without labels.
+- Added a check on the emptiness of \title when setting the hyperref document
+ properties.
version 1.5.1 (29 Apr 2013)
- - made sure that XeLaTeX or LuaLaTeX is in use before loading the awesome icon
- set and if not, revert to the marvosym icon set.
+- Made sure that XeTeX or LuaTeX is in use before loading the awesome icon set
+ and if not, revert to the marvosym icon set.
version 1.5.0 (23 Apr 2013)
- - added a command to showcase social accounts in one's personal information:
- \social. The command currently handles automatically LinkedIn, Twitter and
- Github accounts, and other links can be provided explicitly.
- - added a new icon set: "awesome" (using the icons from the Font Awesome font).
- - set the "awesome" icon set as the default for the "casual" and "banking"
- style variants (can be changed back with \moderncvicons{marvosym}).
- - forced all the icons of the "letters" icon set to be of the same width, for
- alignment purpose.
- - added a letter icon ("W") for the homepage of the "letters" icon set.
- - forced some white space between the main text and the footer of the "casual"
- style variant.
- - removed the rule below the headings of the cvcolumns environment.
+- Added a command to showcase social accounts in one's personal information:
+ \social. The command currently handles LinkedIn, Twitter and Github accounts
+ automatically, and other links can be provided explicitly.
+- Added a new icon set: "awesome" (using the icons from the Font Awesome font).
+- Set the "awesome" icon set as the default for the casual and banking styles
+ (can be changed back with \moderncvicons{marvosym}).
+- Forced all the icons of the "letters" icon set to be of the same width, for
+ alignment purposes.
+- Added a letter icon ("W") for the homepage of the "letters" icon set.
+- Forced some whitespace between the main text and the footer of the casual
+ style.
+- Removed the rule below the headings of the cvcolumns environment.
version 1.4.0 (28 Mar 2013)
- - deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
- can be "fixed" (default), "mobile" or "fax". As part of the change, one can now
- use each of these multiple times, to e.g. display multiple mobile phone numbers.
- - deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
- - added a new mechanism to select amongs different possible icon sets:
- \moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
- default in the "banking", "casual" and "classic" style variants) or "letters"
- (used by default in the "oldstyle" style variant). \moderncvicons should
- always be called after \moderncvstyle in order to override the style variants
- defaults.
- - added a command to control the font of the page numbering: \pagenumberfont,
- as requested by fr1a1nky (launchpad question #224496).
- - removed the use of the suffix package.
+- Deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
+ can be "fixed" (default), "mobile" or "fax". As part of the change, one can
+ now use each of these multiple times, e.g. to display multiple mobile phone
+ numbers.
+- Deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
+- Added a new mechanism to select amongs different possible icon sets:
+ \moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
+ default in the banking, casual and classic styles) or "letters" (used by
+ default in the oldstyle style). \moderncvicons should always be called after
+ \moderncvstyle in order to override the styles' defaults.
+- Added a command to control the font of the page numbering: \pagenumberfont, as
+ requested by fr1a1nky (launchpad question #224496).
+- Removed the use of the suffix package.
version 1.3.0 (09 Feb 2013)
- - added a new environment to create multiple columns: cvcolumns. Each column
- is then created by \cvcolumn[width]{header}{content}, where the optional width
- is given as a fraction of the total width (between 0 and 1). The header and
- content are robust and can contain any paragraph command (e.g., a nest itemize
- environment).
- - added a macro (\pdfpagemode) to control what is visible upon opening compiled
- pdfs (assuming pdf reader support), as suggested by U. Stöhr.
- Possible values include: "UseNone" (only the document), "UseThumbs" (show
- thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
- fullscreen mode).
- - added a 3rd, fully optional (can be omitted or left blank) argument to
- \address to specify a country, as requested on launchpad (launchpad bug
- #1063995).
- - compacted list environments further.
- - replaced the use of the xargs package by the xparse one.
+- Added a new environment to create multiple columns: cvcolumns. Each column is
+ then created by \cvcolumn[width]{header}{content}, where the optional width is
+ given as a fraction of the total width (between 0 and 1). The header and
+ content are robust and can contain any paragraph command (e.g., a nested
+ itemize environment).
+- Added a macro (\pdfpagemode) to control what is visible upon opening compiled
+ PDFs (assuming PDF reader support), as suggested by U. Stöhr.
+ Possible values include: "UseNone" (only the document), "UseThumbs" (show
+ thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
+ fullscreen mode).
+- Added a 3rd, fully optional (can be omitted or left blank) argument to
+ \address to specify a country, as requested on launchpad (launchpad bug
+ #1063995).
+- Compacted list environments further.
+- Replaced the use of the xargs package by the xparse one.
version 1.2.1 (04 Dec 2012)
- - fixed a regression bug introduced in version 1.2.0 in the header of the
- "banking" style when no title is used, as reported on tex.stackexchange
- (question #85427).
+- Fixed a regression bug introduced in v1.2.0 in the header of the banking style
+ when no title is used, as reported on tex.stackexchange (question #85427).
version 1.2.0 (31 Oct 2012)
- - updated the "banking" style header to include the option to show a title.
- - set the values of \arrayrulewidth and \doublerulesep to their standard values
- (0.4pt and 2pt resp.) to enable the drawing of rules in tabulars and arrays by
- default.
- - modified the code of \makecvtitle and \makelettertitle of the "casual" style
- to avoid it to cause horizontal alignment issues after and before itself.
- - corrected a bug in \makelettertitle of most styles that displayed the current
- date (\today) instead of the date given through the \date command, as reported
- by B. Schlimmchen and S. Fnord.
- - removed the need to set pdfpagelabels=false when loading hyperref, by putting
- \pagenumbering{arabic} (to define \thepage) before loading hyperref, as figured
- out by J. Wolf.
- - corrected the line wrapping of \cvlistitem of the "banking" style.
- - corrected a bug in \makecvtitle and \makelettertitle of the "banking" style.
- - removed an unwanted space in the footer of the "casual" style.
- - moved the font style definitions to moderncv.cls for better readability
- (moderncv.cls is meant to be a sort of header file, implementing only some
- macros shared by all styles and defining the macros that the style files need
- to implement).
+- Updated the banking style header to include the option to show a title.
+- Set the values of \arrayrulewidth and \doublerulesep to their standard values
+ (0.4pt and 2pt, respectively) to enable the drawing of rules in tabulars and
+ arrays by default.
+- Modified the code of \makecvtitle and \makelettertitle of the casual style to
+ avoid it causing horizontal alignment issues before and after itself.
+- Corrected a bug in \makelettertitle of most styles that displayed the current
+ date (\today) instead of the date given through the \date command, as reported
+ by B. Schlimmchen and S. Fnord.
+- Removed the need to set pdfpagelabels=false when loading hyperref by putting
+ \pagenumbering{arabic} (to define \thepage) before loading hyperref, as
+ figured out by J. Wolf.
+- Corrected the line wrapping of \cvlistitem of the banking style.
+- Corrected a bug in \makecvtitle and \makelettertitle of the banking style.
+- Removed an unwanted space in the footer of the casual style.
+- Moved the font style definitions to moderncv.cls for better readability
+ (moderncv.cls is meant to be a sort of header file, implementing only some
+ macros shared by all styles and defining the macros that the style files need
+ to implement).
version 1.1.3 (10 Aug 2012)
- - corrected a longstanding issue causing hyperref to issue two warnings
- regarding its "pdfpagelabels" option, as pointed out and solved by P. Leifeld
- (launchpad bug #1035466).
+- Corrected a long-standing issue causing hyperref to issue two warnings about
+ its "pdfpagelabels" option, as pointed out and solved by P. Leifeld (launchpad
+ bug #1035466).
version 1.1.2 (09 Aug 2012)
- - fixed a regression bug introduced in version 1.0.0 in the footer of the
- "casual" style, as discovered on tex.stackexchange (question #66316).
+- Fixed a regression bug introduced in v1.0.0 in the footer of the casual style,
+ as discovered on tex.stackexchange (question #66316).
version 1.1.1 (30 Jul 2012)
- - fixed a compatibility issue introduced in version 1.0.0 when
- \maketitlenamewidth was renamed to \makecvtitlenamewidth, as reported by Peppe
- on launchpad (launchpad bug #1030802). The template now correctly uses
- \makecvtitlenamewidth, and \maketitlenamewidth was created as an alias for
- backward compatibility.
+- Fixed a compatibility issue introduced in v1.0.0 when \maketitlenamewidth was
+ renamed to \makecvtitlenamewidth, as reported by Peppe on launchpad (launchpad
+ bug #1030802). The template now correctly uses \makecvtitlenamewidth, and
+ \maketitlenamewidth was created as an alias forbackward compatibility.
version 1.1.0 (29 Jul 2012)
- - fixed the switching from letter to resume, correcting spacing errors when a
- letter is typeset before the resume, as noticed by U. Gabor.
- - fixed the vertical alignment of the footers, as reported by T. Homa.
- Footers are now aligned to the bottom and the letter and cv footers are
- perfectly aligned in the "casual" style.
- - prepared moderncv for fontspec font loading (still commented in code).
- - changed the handling of the "sans" and "roman" class options, to be reflected
- at the beginning of the document and override style font choices.
- - turned unicode support in hyperref on by default.
- - tweaked the use of \textbullet to avoid the fall-back to Computer Modern
- fonts and prepared the use of symbols from the MarVoSym font for fontspec
- (LauLaTeX or XeLaTeX).
- - tweaked the \subsectionfill of the "banking" style to distribute extra space
- evenly between leaders.
- - added two options to change the "Enclosure" string used for the letter
- enclosure: either specify another string as optional argument to \enclosure,
- or redefine \enclname, as suggested by D. Wille.
+- Fixed the switching from letter to resume, correcting spacing errors when a
+ letter is typeset before the resume, as noticed by U. Gabor.
+- Fixed the vertical alignment of the footers, as reported by T. Homa. Footers
+ are now aligned to the bottom and the letter and CV footers are perfectly
+ aligned in the casual style.
+- Prepared moderncv for fontspec font loading (still commented out in code).
+- Changed the handling of the "sans" and "roman" class options, to be reflected
+ at the beginning of the document and override style font choices.
+- Turned unicode support in hyperref on by default.
+- Tweaked the use of \textbullet to avoid a fallback to Computer Modern fonts
+ and prepared the use of symbols from the MarVoSym font for fontspec (LuaTeX or
+ XeTeX).
+- Tweaked the \subsectionfill of the banking style to distribute extra space
+ evenly between leaders.
+- Added two options to change the "Enclosure" string used for the letter
+ enclosure: either specify another string as an optional argument to \enclosure
+ or redefine \enclname, as suggested by D. Wille.
version 1.0.0 (26 Mar 2012)
- - added commands to generate letters for every resume style: \recipient, \date,
- \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
- old \maketitle and \makefooter commands are now deprecated and replaced by
- \makecvtitle and \makecvfooter.
- - changed the alignment algorithm for the personal data display in the oldstyle
- style, as to align on the baseline of the first line with the surrounding text.
+- Added commands to generate letters for every resume style: \recipient, \date,
+ \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
+ old \maketitle and \makefooter commands are now deprecated and replaced by
+ \makecvtitle and \makecvfooter.
+- Changed the alignment algorithm for the personal data display in the oldstyle
+ style, to align on the baseline of the first line with the surrounding text.
version 0.19.0 (06 Feb 2012)
- - reintroduced the ability to force the width reserved to display the name
- in the resume header for the classic style (\maketitlenamewidth).
- - improved the pdf metadata, as reported by S. Wunsch (launchpad bug #922476).
- - fixed a footersymbol bug in the casual style when no mobile number was given,
- as reported by S. Wunsch (launchpad bug #922470).
- - fixed a display bug when an address was given without postcode/city, as
- reported by O. Shaneh (launchpad bug #670263).
+- Reintroduced the ability to force the width reserved to display the name in
+ the resume header for the classic style (\maketitlenamewidth).
+- Improved the PDF metadata, as reported by S. Wunsch (launchpad bug #922476).
+- Fixed a \footersymbol bug in the casual style when no mobile number was given,
+ as reported by S. Wunsch (launchpad bug #922470).
+- Fixed a display bug when an address was given without postcode/city, as
+ reported by O. Shaneh (launchpad bug #670263).
version 0.18.0 (05 Feb 2012)
- - corrected the handling of pdf bookmarks, as suggested on stackexchange by
- U. Fischer.
- - improved the spacing between sections and subsections by using \addvspace
- instead of \vspace.
- - corrected the spacing between entries with nested itemize environments
- (temporary solution working only for single line items).
- - added a check in the oldstyle style for an empty 4th argument in the
- \cvdoubleitem definition, to avoid printing a colon without preceding label.
- - added a new style on top of classic, casual and oldstyle: banking.
+- Corrected the handling of PDF bookmarks, as suggested on stackexchange by
+ U. Fischer.
+- Improved the spacing between sections and subsections by using \addvspace
+ instead of \vspace.
+- Corrected the spacing between entries with nested itemize environments
+ (temporary solution working only for single line items).
+- Added a check in the oldstyle style for an empty 4th argument in the
+ \cvdoubleitem definition to avoid printing a colon without a preceding label.
+- Added a new style on top of classic, casual and oldstyle: banking.
version 0.17.0 (25 Jan 2012)
- - changed the footer algorithm of style casual to avoid starting lines with
- the footer symbol.
- - aligned the space before and after the title across styles.
- - added an optional title to the casual style.
- - changed the definition of the font styles to avoid undesired extra spacing.
- - added a Spanish template, kindly provided by I. Buitrón.
- - corrected the vertical misalignment between the page number and the center
- footer in the casual style.
+- Changed the footer algorithm of the casual style to avoid starting lines with
+ the footer symbol.
+- Aligned the space before and after the title across styles.
+- Added an optional title to the casual style.
+- Changed the definition of the font styles to avoid undesired extra spacing.
+- Added a Spanish template, kindly provided by I. Buitrón.
+- Corrected the vertical misalignment between the page number and the center
+ footer in the casual style.
version 0.16.0 (15 Jan 2012)
- - added starred versions of \section and \subsection (that are identical to
- their non-starred version, to e.g. enable biblatex support as requested by
- S. Verberkt (launchpad bug #913102).
- - corrected a misalignment of the colored rule in front of the section titles
- in the classic and casual styles, as reported by P. Neidhardt (launchpad bug
- #915910).
+- Added starred versions of \section and \subsection that are identical to their
+ non-starred versions (e.g. to enable BibLaTeX support) as requested by
+ S. Verberkt (launchpad bug #913102).
+- Corrected a misalignment of the colored rule in front of the section titles in
+ the classic and casual styles, as reported by P. Neidhardt (launchpad bug
+ #915910).
version 0.15.1 (23 December 2011)
- - corrected a bug in the classic style causing the address font and color not
- being carried over newlines, as reported by J. Smith.
+- Corrected a bug in the classic style causing the address font and color to not
+ be carried over newlines, as reported by J. Smith.
version 0.15.0 (19 December 2011)
- - corrected list spacing.
- - corrected inconsistent use of sans serif fonts in roman layout option.
- - the lmodern fonts are now automatically loaded only if installed on the
- system. The "nolmodern" option is now therefore obsolete.
- - complete code refactoring separating themes in separate styles and colors.
- - renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
- to \cvdoubleitem (the old command name still work and redirect to the new ones,
- but are deprecated).
- - removed the arbitrary minipage widths of skill proficiency vs comment in
- \cvitemwithcomments. The skill proficiency is now typeset exactly as given
- (i.e. one one line if no linebreaks are implicitly given) and the comment uses
- the remaining horizontal space.
- - changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
- the vertical skip after the item (as for \cvitem, cvitemwithcomments, etc).
- The way to change the list symbol is to redefine \listitemsymbol.
- - added a new style on top of classic and casual: oldstyle.
- - loaded the microtype package to improve typography.
+- Corrected list spacing.
+- Corrected inconsistent use of sans serif fonts in roman layout option.
+- The lmodern fonts are now automatically loaded only if they're installed on
+ the system. The "nolmodern" option is now therefore obsolete.
+- Completed code refactoring separating themes in separate styles and colors.
+- Renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
+ to \cvdoubleitem (the old command names still work and redirect to the new
+ ones, but are deprecated).
+- Removed the arbitrary minipage widths of skill proficiency vs comment in
+ \cvitemwithcomments. The skill proficiency is now typeset exactly as given
+ (i.e. one one line if no linebreaks are implicitly given) and the comment uses
+ the remaining horizontal space.
+- Changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
+ the vertical skip after the item (as for \cvitem, \cvitemwithcomments, etc).
+ The way to change the list symbol is to redefine \listitemsymbol.
+- Added a new style on top of classic and casual: oldstyle.
+- Loaded the microtype package to improve typography.
version 0.14.0 (04 December 2011)
- - added support for CJK, thanks to the help of P. D'Apice.
- - the use of \recomputelengths after modifying any length in the preamble is
- now unnecessary; \recomputelength is automatically called at the start of the
- document.
+- Added support for CJK, thanks to the help of P. D'Apice.
+- The use of \recomputelengths after modifying any length in the preamble is now
+ unnecessary; \recomputelength is automatically called at the start of the
+ document.
version 0.13.1 (11 November 2011)
- - corrected a bug introduced by v0.13 in the classic style when no \photo is
- used, as reported by S. Gislais (launchpad bug #888702).
+- Corrected a bug introduced by v0.13 in the classic style when no \photo is
+ used, as reported by S. Gislais (launchpad bug #888702).
version 0.13.0 (06 November 2011)
- - added a "black" color option to render the resume in black & white, as
- suggested by F. Bicarri.
- - removed the pdflatex option when loading hyperref to enable other engines
- (e.g., dvips, xetex), leftover from the v 0.11 cleanup, as reported by
- K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
- - added a "purple" color option, as proposed by B. Ravel.
- - added a 3rd optional argument to the \photo command to control the thickness
- of the framebox. Setting it to 0pt will disable the frame around the photo, as
- requested by T. Krennwallner (launchpad bug #664568).
+- Added a "black" color option to render the resume in black & white, as
+ suggested by F. Bicarri.
+- Removed the pdflatex option when loading hyperref to enable other engines
+ (e.g., dvips, XeTeX), leftover from the v0.11 cleanup, as reported by
+ K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
+- Added a "purple" color option, as proposed by B. Ravel.
+- Added a 3rd optional argument to the \photo command to control the thickness
+ of the framebox. Setting it to 0pt will disable the frame around the photo, as
+ requested by T. Krennwallner (launchpad bug #664568).
version 0.12.0 (03 August 2010)
- - prevented pagebreaks after sections and subsections (launchpad bug #409902),
- as originally reported by C. Gaspoz and fixed by launchpad user tentotwo).
+- Prevented pagebreaks after sections and subsections (launchpad bug #409902),
+ as originally reported by C. Gaspoz and fixed by launchpad user tentotwo.
version 0.11.0 (20 July 2010)
- - removed the \ifpdf check when loading the graphicx package, as graphicx does
- does check internally and this was preventing proper functionning with xelatex
- and luatex, as reported by A. Trautmann. The same check was also removed
- everywhere else in the document (i.e. when loading the color and hyperref
- packages).
+- Removed the \ifpdf check when loading the graphicx package, as graphicx
+ already does this check internally. This was preventing proper functioning
+ with XeTeX and LuaTeX, as reported by A. Trautmann. The same check was also
+ removed everywhere else in the document (i.e. when loading the color and
+ hyperref packages).
version 0.10.0 (13 June 2010)
- - fixed a compatibility issue with the natbib package (natbib uses \section*
- to format the bibliography title, while only \section was defined by
- moderncv), as reported on launchpad (launchpad bug #393920).
- - fixed a compatibility issues with (any package relying on) the etoolbox
- package, due to the double definition of \AtEndPreamble, as reported by
- D. Becker.
+- Fixed a compatibility issue with the natbib package (natbib uses \section* to
+ format the bibliography title, while only \section was defined by moderncv),
+ as reported on launchpad (launchpad bug #393920).
+- Fixed compatibility issues with (any package relying on) the etoolbox package,
+ due to the double definition of \AtEndPreamble, as reported by D. Becker.
version 0.9.0 (31 May 2010)
- - added support for the itemize, enumerate and description environments.
+- Added support for the itemize, enumerate and description environments.
version 0.8.0 (24 May 2010)
- - added support for multibib. Also modified the template to illustrate how to
+- Added support for multibib. Also modified the template to illustrate how to
show labels in the bibliography, as requested by Tom D. R. and Stefan K.
- - added a command to indicate your personal homepage (\homepage{url}), as
+- Added a command to indicate your personal homepage (\homepage{url}), as
requested by J. de Jong and A. Pairet.
- - corrected an alignment bug for text following a \quote with no immediate
+- Corrected an alignment bug for text following a \quote with no immediate
\section, as kindly reported by J. Vermeulen and L. Saliou.
- - corrected a spacing bug when no blank line (or \par) is left after
- \maketitle. Thanks to A. Menzel for reporting the strange behaviour.
- - corrected the alignment of the extrainfo title part when no picture was
- used, as reported by M. Bana.
- - corrected the missplacement of pdf bookmarks as noticed by L. Fortunato.
- - corrected several bugs linked to the code for checking for empty arguments
- in \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
+- Corrected a spacing bug when no blank line (or \par) is left after \maketitle.
+ Thanks to A. Menzel for reporting the strange behaviour.
+- Corrected the alignment of the \extrainfo title part when no picture was used,
+ as reported by M. Bana.
+- Corrected the misplacement of PDF bookmarks as noticed by L. Fortunato.
+- Corrected several bugs linked to the code for checking for empty arguments in
+ \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
E. Gregorio.
version 0.7.0 (17 June 2008)
- - corrected an outstanding spacing bug (space between cvlines longer
- than 1 line).
- - removed the need to use \closesection and \emptysection as internal
- tabulars are now always closed. This allows she use of bibliography packages
- such as bibunits. Thanks to S. Busch for pointing out the incompatibility and
- helping testing out the bug correction.
- - changed the definition of \photo: the first (optional) argument should
- give the desired width of the picture, instead of its height
- - corrected an alignment bug for \cvlistitems longer than 1 line, as
- reported by S. Nikolopoulos.
- - deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
+- Corrected an outstanding spacing bug where the space between cvlines was
+ longer than 1 line.
+- Removed the need to use \closesection and \emptysection as internal tabulars
+ are now always closed. This allows the use of bibliography packages such as
+ bibunits. Thanks to S. Busch for pointing out the incompatibility and helping
+ test out the bug correction.
+- Changed the definition of \photo: the first (optional) argument should give
+ the desired width of the picture, instead of its height
+- Corrected an alignment bug for \cvlistitems longer than 1 line, as reported by
+ S. Nikolopoulos.
+- Deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
Instead, just set \hintscolumnwidth to the desired length by using the regular
\setlength or \settowidth commands, and call \recomputelengths.
- - added the ability to control the width of the name placeholder in the
- classic theme, by setting the length \maketitlenamewidth. Again, don't forget
- to call \recomputelengths afterward.
+- Added the ability to control the width of the name placeholder in the classic
+ theme, by setting the length \maketitlenamewidth. Again, don't forget to call
+ \recomputelengths afterward.
version 0.6.0 (28 May 2007)
- - corrected some spacing bugs and cleaned up the code.
- - corrected a bug in the bibliography file of the examples spotted by
- U. Stöhr.
- - added color variants to the classic and casual style, as suggested by
+- Corrected some spacing bugs and cleaned up the code.
+- Corrected a bug in the bibliography file of the examples spotted by U. Stöhr.
+- Added color variants to the classic and casual styles, as suggested by
U. Stöhr.
- - added a page counter for resumes running longer than 1 page, as requested by
+- Added a page counter for resumes running longer than 1 page, as requested by
A. Martin. It can be disabled by the command \nopagenumbers{}.
- - added commands to include a mobile phone and fax number.
- - made the symbols used for the phone number, the email, ... customizable.
- To modify those symbols, just redefine \phonesymbol, emailsymbol, ...
- - corrected the pdf information given to hyperref as pointed out by
- C. Knuepfer.
- - rewrote the examples.
+- Added commands to include a mobile phone and fax number.
+- Made the symbols used for the phone number, the email etc. customizable. To
+ modify those symbols, just redefine \phonesymbol, \emailsymbol etc.
+- Corrected the PDF information given to hyperref as pointed out by C. Knuepfer.
+- Rewrote the examples.
version 0.5.0 (9 September 2006)
- - added a \photo command to display a picture. That command takes the name of
- the file with the picture as argument, and the desired height as optional
- argument.
- - implemented the needed commands to make moderncv compatible with BibTeX, as
+- Added a \photo command to display a picture. This command takes the name of
+ the file with the picture as a required argument and the desired height as an
+ optional argument.
+- Implemented the needed commands to make moderncv compatible with BibTeX, as
suggested by J. Lie. This makes it possible to display one's publications,
- stored in the BibTeX file 'publications.bib'
- by using:
+ stored in the BibTeX file "publications.bib" by using:
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications}
- As usual, the name of the section title can be changed by redefining the
- command \refname.
- - added the \today command, useful for example if one need to add the date the
- resumé was produced with
+ As usual, the name of the section title can be changed by redefining \refname.
+- Added the \today command, useful for example if one needs to add the date the
+ resume was produced with:
\closesection{}
\vfill{\hfill{\scriptsize Produced \today.}}
at the end of your CV, as suggested by F. Hammann.
version 0.4.0 (2 May 2006)
- - removed the dependency on the geometry package, so that users can now invoke
- it themselve, and easily change the geometry of the page.
+- Removed the dependency on the geometry package so that users can now invoke it
+ themselves and easily change the geometry of the page.
version 0.3.0 (10 April 2006)
- - moderncv now uses the 'longtable' class, allowing cv sections to split
- across multiple pages.
- - the different lengths used by moderncv are now customizable! In particular,
- the first column (the one containing the date in the examples), can now be set
+- Moderncv now uses the longtable class, allowing CV sections to split across
+ multiple pages.
+- The different lengths used by moderncv are now customizable! In particular,
+ the first column (the one containing the date in the examples) can now be set
to any width, for people needing a smaller or larger one. To do that, either
use
\sethintscolumnlength{<length>},
@@ -374,33 +399,32 @@ version 0.3.0 (10 April 2006)
where <string> is a string of the desired length (usually, the longest string
that has to appear in the column). Thanks to A. Pöge for pointing out the need
of such a feature.
- - added the command \emptysection{}, which makes it possible to start a
- section without name. In combination with \closesection{}, this makes it
- possible to drop out of the layout of moderncv, and come back to it later.
- This should make the inclusion of arbitrary elements not covered by moderncv
- code possible.
- - corrected a spacing problem in the cventry command, as pointed out and
- solved by B. Eßmann.
+- Added the command \emptysection{}, which makes it possible to start an unnamed
+ section. In combination with \closesection{}, this makes it possible to drop
+ out of the layout of moderncv, and come back to it later. This should make the
+ inclusion of arbitrary elements not covered by moderncv code possible.
+- Corrected a spacing problem in the \cventry command, as pointed out and solved
+ by B. Eßmann.
version 0.2.0 (6 March 2006)
- - rewrite of the code to have the styles (fonts, colours, headers and footers)
+- Rewrite of the code to have the styles (fonts, colours, headers and footers)
be defined in different files than the class. The styles are now defined in a
separate file per style, named moderncvstyle<style_name>. It should now be
easy to write your own style, starting from moderncvstyleempty.sty. If you
feel you have created a nice style, just email it to me and I'll include it in
the next version.
- - due to the previous point, styles are now loaded by the command
+- Due to the previous point, styles are now loaded by the command
\moderncvstyle{style_name}. I couldn't figure out a way to preserve the old
"casual" and "classic" class options, so these are now broken! Use
\moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your
- document. This should be the only incompatibility with version 0.1.
- - added class option "nolmodern" for people without the latin modern fonts.
- - corrected some English mistakes in the examples. Thanks to M. H. Prager for
+ document. This should be the only incompatibility with v0.1.
+- Added class option "nolmodern" for people without the Latin Modern fonts.
+- Corrected some English mistakes in the examples. Thanks to M. H. Prager for
pointing them out.
- - added a \cvlistitem to produce items with a bullet (or whatever is defined
- in \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for
- consistency purpose. For compatibility reasons, the command \cvresume still
- works, but should be avoided.
+- Added a \cvlistitem to produce items with a bullet (or whatever is defined in
+ \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for consistency
+ purposes. For compatibility reasons, the command \cvresume still works, but
+ should be avoided.
version 0.1.0 (1 March 2006)
- - first release.
+- First release.
diff --git a/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS b/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS
index 15b86eccbcd..25ef872007c 100644
--- a/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS
+++ b/Master/texmf-dist/doc/latex/moderncv/KNOWN_BUGS
@@ -1,15 +1,12 @@
-- When using the "fancy" style, undesired space is added between the bibliography
- head and the first entry, as well as after the last entry
-- Moderncv is incompatible with biblatex.
-- Footnotes generates errors (though the output seem correct when running with
- "-interaction=nonstopmode")
-- When using CJK, the last \clearpage required for fancyhdr to work properly kills
- the "lastpage" counter, hence also the page numbering.
-- Moderncv produces an error ("lonely \item--perhaps a missing list environment")
- when used with bibentry, through the output is actually correct. Amongst other,
- this causes compilation by LyX to stop.
-- The space after a cventry gets eaten up when the last argument contains a nested
- itemize environment. An ugly hack and incomplete solution was implemented by
- including a \strut in every item label, but this doesn't solve the problem for
- multi-line items. Ideally, the strut should end the item, but there seems to be
- no way to do this.
+- moderncv is incompatible with biber.
+- moderncv is incompatible with BibLaTeX.
+- moderncv is incompatible with babel in Spanish.
+
+- Skill matrices don't break automatically in fancy style.
+- Long names break the oldstyle style and possibly other styles (needs testing).
+- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented.
+- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry.
+- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode"
+- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering.
+- moderncv produces an error "lonely \item--perhaps a missing list environment" when used with the bibentry package, though the output is actually correct. Among other things, this causes compilation by LyX to stop.
+- The space after a \cventry gets eaten up when the last argument contains a nested itemize environment. An ugly hack and incomplete solution was implemented by including a \strut in every item label, but this doesn't solve the problem for multi-line items. Ideally, the \strut should end the item, but there seems to be no way to do this.
diff --git a/Master/texmf-dist/doc/latex/moderncv/README.md b/Master/texmf-dist/doc/latex/moderncv/README.md
index 1eb439d16be..19ff062daee 100644
--- a/Master/texmf-dist/doc/latex/moderncv/README.md
+++ b/Master/texmf-dist/doc/latex/moderncv/README.md
@@ -1,27 +1,44 @@
# moderncv
+[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml)
+[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv)
+[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org)
+
## A modern curriculum vitae class for LaTeX
-**moderncv** provides a documentclass for typesetting curricula vitae in various styles. Moderncv aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing one to define his own by modifying colors, fonts, icons, etc.
+The `moderncv` package provides a document class for typesetting applications (curricula vitae and cover letters) in various styles. `moderncv` aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing you to define your own by modifying colors, fonts, icons, etc.
-Most commands are defined in such a way that arguments are optional.
+## Getting started
-Until a decent manual is written, one can always look in the `template.tex` file for an example. It can be compiled to pdf via `latexmk -pdf ./template.tex`.
+### Installation
+`moderncv` should already be included in your installed LaTeX distribution.
+If not, you can get the tarball of the package from [CTAN](https://www.ctan.org/pkg/moderncv).
+Alternatively, you can also build the package from source by cloning the its [GitHub repository](https://github.com/moderncv/moderncv) and compiling the included LaTeX files:
+```
+latexmk -pdf ./template.tex manual/moderncv_userguide.tex
+```
-If using [`academicons`](https://ctan.org/tex-archive/fonts/academicons) in the template, you need to use a Xe(La)TeX or Lua(La)TeX engine for them to render. Otherwise an alternative will be used automatically.
+### Usage
+To get started on your own CV, use and modify the template file `template.tex`.
+The user guide can be found in the folder `manual` and contains additional information on what the document class offers.
+Take a look at it to see if this package suits your needs.
-## Development
+If you are using the [`academicons`](https://ctan.org/tex-archive/fonts/academicons) package in the template, you will need to use a Xe(La)TeX or Lua(La)TeX engine to render the icons. Otherwise, an alternative icon package will be used automatically.
-[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml)
-[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv)
-[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org)
+## Development
-As the main goal is to keep this package alive, it is maintained in a loosely structured team. You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute. Development takes places at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv).
+As the main goal is to keep this package alive, it is maintained in a loosely structured team.
+You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute.
+Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv).
## Licence
-moderncv is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html).
+
+`moderncv` is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html).
## Origin
-Original author: Xavier Danaux <xdanaux@gmail.com><br/>
-Original repository: https://github.com/xdanaux/moderncv<br/>
-This repository is a fork aiming to maintain moderncv inside CTAN, since upstream is dead since 2016.
+
+Original author: Xavier Danaux <xdanaux@gmail.com>
+<br/>
+Original repository: https://github.com/xdanaux/moderncv
+
+This repository is a fork aiming to maintain `moderncv` inside CTAN, since upstream has been dead since 2016.
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 cadbefe3865..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 26d2016178d..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,462 +1,1071 @@
-%% moderncv_userguide.tex (compiled with pdfLaTeX)
-%% Copyright 2007 Cristina Sambo
+%% 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
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
-\documentclass[a4paper,11pt]{article}
+\documentclass[a4paper, 11pt]{article}
-\title{\bfseries Moderncv -- v. 0.6}
-\author{Package by Xavier Danaux \\ \begin{small}Documentation by Cristina Sambo \end{small}}
-\date{}
+\title{%
+ \texttt{moderncv} User Guide\\
+ {\small Package v2.4.1}%
+}
+% Cristina Sambo,
+\author{%
+ Package by Xavier Danaux\\
+ and\\
+ moderncv community\\
+ {\small Documentation by David Seus}%
+}
+\date{\today}
-%language and encoding options
+% Language and encoding options
\usepackage[english]{babel}
+\usepackage{ifxetex, ifluatex}
+\newif\ifxetexorluatex
+\ifxetex
+ \xetexorluatextrue
+\else
+ \ifluatex
+ \xetexorluatextrue
+ \else
+ \xetexorluatexfalse
+ \fi
+\fi
+
+% PDFLaTeX or LUALaTeX/XeLaTeX
+\ifxetexorluatex
+ % \usepackage{luatextra}
+ % \usepackage{lualatex-math}
+ \usepackage{shellesc} % Fix a bug for lualatex shellescape
+ % \usepackage{unicode-math}
+ % \setmathfont{xits-math.otf}
+\else
+ \usepackage[utf8]{inputenx} % Uncomment if using pdflatex, comment if using lualatex
+\fi
+\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic
\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
-%font options
+% Font options
\usepackage{txfonts}
\usepackage{marvosym}
\usepackage{pifont}
-%margins, spacing and page layout
-\usepackage[pdftex,colorlinks=true]{hyperref} %(hyperref must be loaded before geometry)
-\usepackage[pdftex]{geometry}
+% Margins, spacing and page layout
+\usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry
+\usepackage[pdftex, marginparwidth=50pt]{geometry}
\geometry{top=2.5cm, bottom=3cm}
-\setlength{\parindent}{0pt} %(to soppress indentation when starting a new paragraph)
-\frenchspacing %(to soppress additional space after a full stop)
-
-%packages
-\usepackage[pdftex]{graphicx}
-\usepackage[pdftex]{xcolor}
-\usepackage[labelfont=sl,font=small,width=0.9\textwidth]{caption}
+\usepackage{parskip} % Replace paragraph indentation with vertical spacing
+\frenchspacing % Suppress additional space after a full stop
+\renewcommand{\arraystretch}{1.1}
+
+% Packages
+\usepackage{graphicx}
+\usepackage{xcolor}
+\usepackage[labelfont=sl, font=small, width=0.9\textwidth]{caption}
\usepackage{marvosym}
\usepackage{latexsym}
-
-%pdfLaTeX options
-\pdfpagewidth=\paperwidth
-\pdfpageheight=\paperheight
-\pdfimageresolution=150
-\pdfinfo{
- /Title (Moderncv -- v. 0.6)
- /Author (Cristina Sambo)
- /Subject (Moderncv package user's guide)
- /Keywords (curriculum vitae, LaTeX)
+\usepackage{url}
+\usepackage{scrhack} % Fix warnings when using KOMA with listings package
+\usepackage{xspace} % Fix spacing after macros
+\usepackage{mparhack} % Fix marginpar
+\usepackage{microtype}
+\usepackage{multicol} % Multicolumn text for long lists
+
+% Code listings
+\usepackage{listings}
+% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % Special keywords
+\lstset{%
+ language=[LaTeX]Tex, % C++,
+ morekeywords={PassOptionsToPackage, selectlanguage},
+ keywordstyle=\color{cvblue}, % \bfseries,
+ basicstyle=\small\ttfamily,
+ % identifierstyle=\color{NavyBlue},
+ commentstyle=\color{gray}\ttfamily,
+ stringstyle=\rmfamily,
+ numbers=none, % left,
+ numberstyle=\scriptsize, % \tiny
+ stepnumber=5,
+ numbersep=8pt,
+ showstringspaces=false,
+ breaklines=true,
+ % frameround=ftff,
+ % frame=single,
+ belowcaptionskip=0.75\baselineskip,
+ % frame=L,
+ emph={
+ cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor,
+ cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers,
+ name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment,
+ recipient, subject, opening, closing, signature, enclosure
+ },
+ emphstyle={\color{cvblue}},
+ emph={[2]
+ familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel,
+ addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol,
+ xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol,
+ stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol,
+ researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol
+ },
+ emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries},
+ literate={{é}{{\'e}}1},
}
-%my commands
-\definecolor{bluecv}{rgb}{0.25,0.5,0.75}
-\definecolor{greencv}{rgb}{0.55,0.85,0.35}
-\definecolor{redcv}{rgb}{1.00,0.30,0.30}
-\definecolor{orangecv}{rgb}{1,0.65,0.20}
-\definecolor{greycv}{rgb}{0.75,0.75,0.75}
+% Hyperlinks
+\usepackage{hyperref}
+\hypersetup{
+ unicode=true,
+ % draft, % Draft mode for printing (see below)
+ colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV,
+ % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0}, % Black links (e.g., for printing)
+ breaklinks=true, pageanchor=true,
+ pdfpagemode=UseNone,
+ % pdfpagemode=UseOutlines,
+ plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,
+ hypertexnames=true, pdfhighlight=/O, % nesting=true, frenchlinks,
+ urlcolor=cvblue, linkcolor=cvblue, citecolor=cvblue, % pagecolor=RoyalBlue,
+ % urlcolor=Black, linkcolor=Black, citecolor=Black, % pagecolor=Black,
+ % pdfborder={0 0 1}, % Width of PDF link border 0 0 1, 0 0 0 = colorlinks
+ % linkbordercolor=gray!15,
+ % citebordercolor=green!15,
+}
-%==================
+% Colors
+\definecolor{cvblue}{rgb}{0.22, 0.45, 0.70}
+\definecolor{cvgreen}{rgb}{0.35, 0.70, 0.30}
+\definecolor{cvred}{rgb}{0.95, 0.20, 0.20}
+\definecolor{cvorange}{rgb}{0.95, 0.55, 0.15}
+\definecolor{cvgrey}{rgb}{0.75, 0.75, 0.75}
+\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078)
+\definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55}
+\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80}
+
+% Macros
+\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}}
+\newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}}
+\newcommand{\note}{\paragraph{Note.}}
+\newcommand{\code}[1]{\lstinline!#1!}
+\newcommand{\moderncv}{\code{moderncv}}
+\newcommand{\Moderncv}{\moderncv~}
+\newcommand{\github}{GitHub}
+\newcommand{\Github}{\github~}
+\newcommand{\ctan}{CTAN}
+\newcommand{\Ctan}{\ctan~}
+\newcommand{\cvtemplate}{\code{template.tex}}
+\newcommand{\Cvtemplate}{\cvtemplate~}
+\newcommand{\Latex}{\LaTeX~}
+\newcommand{\biblatex}{BibLaTeX}
+\newcommand{\Biblatex}{\biblatex~}
+\newcommand{\cvdoccolorbox}[1]{{\color{#1}\rule{4ex}{2ex}}}
+\newcommand{\moderncvGithub}{\url{https://github.com/moderncv/moderncv}}
+\newcommand{\moderncvCtan}{\url{https://ctan.org/pkg/moderncv}}
+
+
+
+
+
+% ==================
% DOCUMENT BEGINNING
-%==================
+% ==================
\begin{document}
\maketitle
-
\begin{abstract}
-\noindent \texttt{Moderncv}, as its author says in the readme file, provides a documentclass for typesetting modern curriculum vitaes in various styles. It is fairly customizable, allowing you to define your own style by changing the colors, the fonts, \dots\ and provides two default styles: classic and casual.
+ \noindent
+ The \Moderncv package provides a document class for typesetting modern curriculum vit\ae{} and cover letters in various styles.
+ Five predefined styles are available, each of which can be adjusted through various options for headings, footers and colors.
+ It is fairly customizable, allowing the user to adjust the look and feel of each style to their liking.
+ Several macros allow the user to add content to the CV and format it in a consistent way.
+ A letter of motivation consistent with the style is part of the template as well.
\end{abstract}
+\tableofcontents
+
-\section{Introduction}
-When I saw for the first time this class I was amazing: ``Here it is what I need'', I thought. Using the very clear examples, was easy to make my first curriculum.
-Indeed the class is very simple to use, in this documentation I will only put together all the things to help users to have all on hand.
-
-\smallskip
-\texttt{Moderncv} requires the following packages: \texttt{ifthen}, \texttt{ifpdf}, \texttt{color}, \texttt{lmodern}, \texttt{marvosym}, \texttt{url}, \texttt{hyperref}, \texttt{longtable}, \texttt{graphicx}, \texttt{fancyhdr}, usually all just included in the \LaTeX\ distributions.
-
-\section{In the preamble}
-
-At the very beginning of your preamble (that is the part before \verb|\begin{document}|) insert:
-
-\begin{verbatim}
-\documentclass[<options>]{moderncv}
-\end{verbatim}
-
-where the options are:
-
-\begin{description}
- \item[paper size options:] \texttt{a4paper}, \texttt{a5paper}, \texttt{b5paper}, \texttt{letterpaper}, \texttt{legalpaper}, \texttt{ex\-ec\-u\-tive\-pa\-per}, \texttt{landscape}
- \item[font size options:] \texttt{10pt}, \texttt{11pt}, \texttt{12pt}
- \item[font option:] \texttt{nolmodern}, for people without the latin modern fonts
- \item[color option:] \texttt{nocolor}, to have all in black and white
- \item[draft/final options:] \texttt{draft}, \texttt{final}
-\end{description}
-
-The default options are: \texttt{a4paper}, \texttt{11pt}, \texttt{color}, \texttt{final}.
-
-After the documentclass specification, choose the theme for your curriculum vit\ae:
-
-\begin{verbatim}
-\moderncvtheme[<options>]{casual}
-\end{verbatim}
-
-which is the default theme, or
-
-\begin{verbatim}
-\moderncvtheme[<options>]{classic}
-\end{verbatim}
-
-where the theme options are:
-
-\begin{description}
- \item[color options:] you can choose between five color:
- \begin{itemize}
- \item[\texttt{blue}] {\color{bluecv}\rule{1cm}{2ex}} (default color)
- \item[\texttt{green}] {\color{greencv}\rule{1cm}{2ex}}
- \item[\texttt{red}] {\color{redcv}\rule{1cm}{2ex}}
- \item[\texttt{orange}] {\color{orangecv}\rule{1cm}{2ex}}
- \item[\texttt{grey}] {\color{greycv}\rule{1cm}{2ex}}
- \end{itemize}
- \item[roman option:] \texttt{roman}, for {\fontsize{11}{12} \usefont{T1}{lmr}{m}{n}\selectfont roman} fonts, instead of \fontsize{11}{12} \usefont{T1}{lmss}{m}{n}\selectfont sans serif fonts.
-\end{description}
-
-Then you have to specify the character encoding (utf8, latin1, and so on):
-
-\begin{verbatim}
-\usepackage[<your encoding>]{inputenc}
-\end{verbatim}
-
-and you can adjust the page geometry:
-
-\begin{verbatim}
-\usepackage[<options>]{geometry}
-\recomputelengths
-\end{verbatim}
-
-where \verb|\recomputelengths| is required when changes are made to page layout lengths.
-
-Now we can get into the part most related to our curriculum vit\ae: our personal data. They will be inserted in the header of the first page, in the classic theme, or in the footer of every page, in the case of casual theme.
-
+
+\section{Getting started}
+\subsection{How to read this manual}
+This manual is organized as follows.
+The current section explains on how to get started with the \Moderncv package, i.e. how to install required packages.
+% \emph{Note that it is assumed that you know how to install \Latex packages in case some are missing.}
+Section \ref{section:moderncvTemplate} explains how to work with the \Moderncv template file step by step.
+Section \ref{section:customization} details the customizations that the user can make: the different styles, their options, colors and tips and tricks.
+Section \ref{section:implementationDetails} details the packages that \Moderncv uses, known problems and possible solutions to those problems.
+
+\subsection{Installation instructions}
+If the \Moderncv package does not ship with your \Latex distribution or if the installed version is too old, grab the \Moderncv code from \Ctan or \github:
+
+\begin{tabular}{l}
+ \moderncvCtan \\% [.5ex]
+ \moderncvGithub
+\end{tabular}
+
+\note Depending on your \Latex distribution, you may have to install some additional packages.
+Section \ref{section:implementationDetails:requiredPackages} lists all the packages that \Moderncv requires to be installed on your system.
+
+
+
+\section{The \texttt{moderncv} template step by step}
+This section is a quick reference to the \Moderncv package and should contain enough information to typeset a first working CV.
+\label{section:moderncvTemplate}
+The easiest way to get started with \Moderncv is to use the template that comes with the package.
+If \Moderncv is part of your \Latex distribution, search for the folder \Moderncv on your system, which should contain all the files for the package.
+In this folder, there should be a file called \cvtemplate.
+If you downloaded the package from \Github or \ctan, look for \Cvtemplate in the folder of the newly downloaded (and possibly extracted) package.
+
+\note If you downloaded \Moderncv from \Github or \Ctan and moved \Cvtemplate to another folder, make sure to adjust the \code{TEXINPUTS} variable to find the newly downloaded package.
+Otherwise, either the package version provided by your \Latex distribution gets used or \Latex throws an error if there is no other version installed.
+
+Test your setup by compiling \Cvtemplate and looking at the result.
+
+\note The \Moderncv package should compile with \code{pdflatex}, \code{lualatex} and \code{xelatex}.
+However, not all icons are available when using \code{pdflatex}, so using either \code{lualatex} or \code{xelatex} \emph{is highly recommended.}
+
+\subsection{Basic setup}
+A document using the \Moderncv document class is set up like any other document class.
+We will go through the template step by step.
+
+\subsubsection*{Configuring document class options}
+The \Moderncv document class is loaded as per usual, by
+\begin{lstlisting}
+ \documentclass[<options>]{moderncv}
+\end{lstlisting}
+where at most one value for each option can be passed to the document class:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.55\textwidth}}
+ \textbf{\code{paper}:} & \code{a4paper} (default), \code{a5paper}, \code{b5paper}, \code{letterpaper},
+ \code{legalpaper}, \code{executivepaper}, \code{landscape} \\
+ \textbf{\code{font family}:} & \code{sans}, \code{roman} \\
+ \textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\
+ \textbf{\code{draft/final}:} & \code{draft}, \code{final} (default)
+\end{tabular}
+
+\subsubsection*{Choosing a \texttt{moderncv} style and color}
+Choose a \Moderncv style and color by adjusting the commands
+\begin{lstlisting}
+ \moderncvstyle{<style>}
+ \moderncvcolor{<color>}
+\end{lstlisting}
+As explained in \cvtemplate, the possible values are
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.65\textwidth}}
+ \textbf{\code{style}:} & \code{casual} (default), \code{classic}, \code{banking}, \code{oldstyle},
+ \code{fancy} \\
+ \textbf{\code{color}:} & \code{black} \cvdoccolorbox{black}, \code{blue} \cvdoccolorbox{cvblue} (default), \code{burgundy} \cvdoccolorbox{cvburgundy}, \code{green} \cvdoccolorbox{cvgreen}, \code{grey} \cvdoccolorbox{cvgrey}, \code{orange} \cvdoccolorbox{cvorange}, \code{purple} \cvdoccolorbox{cvpurple}, \code{red} \cvdoccolorbox{cvred}
+\end{tabular}
+
+\note Some of the styles take additional options to fine-tune their appearance.
+To keep this overview short, these options will be described in section \ref{section:customization:stylesAndOptions}.
+
+\subsubsection*{Font family and page numbering}
+The default font family is set by the line \code{\\renewcommand\{\\familydefault\}\{\\sfdefault\}} in \cvtemplate.
+Use \code{\\sfdefault} for the default sans-serif font, \code{\\rmdefault} for the default roman font, and likewise for any \TeX{} font name.
+The general syntax is
+\begin{lstlisting}
+ \renewcommand{\familydefault}{<fontfamily>}
+ % \nopagenumbers{}
+\end{lstlisting}
+Uncommenting \code{\%\\nopagenumbers\{\}} suppresses automatic page numbering for CVs longer than one page.
+
+\subsubsection*{Adjusting input encoding}
+If you are not using \code{xelatex} or \code{lualatex}, which both use \code{utf8} encoding by default, uncomment the \code{\\usepackage[utf8]\{inputenc\}} import and change the encoding as needed.
+
+\subsubsection{Language-specific setup}
+The \code{babel} package can be loaded in the preamble of your CV.
+
+\note \Moderncv doesn't work with \code{babel} in Spanish (see this \href{https://github.com/moderncv/moderncv/issues/103}{GitHub issue}).
+
+For CJK users, uncomment the \code{\\usepackage\{CJKutf8\}} import.
+
+\subsection{Personal data}
+Edit the personal data section to reflect your personal information.
+This data will appear in the header of the first page of the CV and/or in the footer of every page, as well as on the cover letter.
+Most of the commands are optional, so try out what you like and see what you need.
+
+\paragraph{\code{\\name}}
+A command for your name. Takes the given name and surname as arguments.
+\begin{lstlisting}
+ \name{<given name>}{<surname>}
+\end{lstlisting}
+
+\paragraph{\code{\\title}}
+A command for a document title. Could be used for a generic CV title, job title, etc.
+\begin{lstlisting}
+ \title{<title>}
+\end{lstlisting}
+
+\paragraph{\code{\\born}}
+A command for a birth date.
+\begin{lstlisting}
+ \born{<birth date>}
+\end{lstlisting}
+
+\paragraph{\code{\\address}}
+A command for a three-lined street address.
+\begin{lstlisting}
+ \address{<street address>}{<city and postcode>}{<country>}
+\end{lstlisting}
+
+\paragraph{\code{\\phone}}
+A command for a phone number. Takes the phone type as an optional argument.
+\begin{lstlisting}
+ \phone[<type>]{<phone number>}
+\end{lstlisting}
+The allowed values for \code{<type>} are \code{fax}, \code{fixed} and \code{mobile}.
+
+\paragraph{\code{\\email}}
+A command for an email address.
+\begin{lstlisting}
+ \email{<email address>}
+\end{lstlisting}
+
+\paragraph{\code{\\homepage}}
+A command for a personal website.
+\begin{lstlisting}
+ \homepage{<web address>}
+\end{lstlisting}
+
+\paragraph{\code{\\social}}
+A command for a social media account.
+Takes the platform as an optional argument.
+\begin{lstlisting}
+ \social[<platform>]{<username or handle>}
+\end{lstlisting}
+The following values are supported for \code{<platform>}:
\begin{itemize}
-\item \verb|\firstname{John}|
-\item \verb|\familyname{Doe}|
-\item \verb|\title{Resum\'e title}|: optional
-\item \verb|\address{street and number}{postcode city}|: optional
-\item \verb|\mobile{mobile}|: optional
-\item \verb|\phone{phone}|: optional
-\item \verb|\fax{fax}|: optional
-\item \verb|\email{email}|: optional
-\item \verb|\extrainfo{additional information}|: optional; here you can put, for example, the address of your website
-\item \verb|\photo[64pt]{picture}|: optional; \texttt{64pt} is the height the picture, you can set here the size you prefer; \texttt{picture} is the name of the picture file
-\item \verb|\quote{Some quote}|: optional
-\end{itemize}
-
-Finally you can suppress automatic page numbering for CVs longer than one page:
-
-\begin{verbatim}
-\nopagenumbers{}
-\end{verbatim}
-
-\subsection{Examples}
-
-In practice, you will type:
-
-\begin{verbatim}
-\documentclass[11pt,a4paper]{moderncv}
-
-% moderncv themes
-\moderncvtheme[green]{casual}
-
-% character encoding
-\usepackage[utf8]{inputenc}
-
-% adjust the page margins
-\usepackage[scale=0.8]{geometry}
-\recomputelengths
-
-% personal data
-\firstname{John}
-\familyname{Doe}
-\title{Design enthusiast}
-\address{12 somestreet}{3456 somecity}
-\mobile{+123 456 7890}
-\phone{+12 (3)456 78 90}
-\fax{+12 (3)456 78 90}
-\email{jdoe@design.org}
-\extrainfo{\weblink{www.ctan.org}}
-\photo[64pt]{jdoe_picture}
-\quote{Any intelligent fool can make things bigger, more complex,
-and more violent. It takes a touch of genius -- and a lot of courage -- to
-move in the opposite direction.}
-
-\begin{document}
-\maketitle
-
-... <what you'll see in the next section>
-
-\end{document}
-\end{verbatim}
-
-to obtain a casual moderncv in green, as shown in figure \ref{fig:casual}, and you will substitute the line describing the theme with:
-
-\begin{verbatim}
-% moderncv themes
-\moderncvtheme[blue]{classic}
-\end{verbatim}
-
-to obtain a classic moderncv in blue, as shown in figure \ref{fig:classic}.
-
-
-\begin{figure}[p]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{cv_casual.pdf}}
- \caption{An example of casual moderncv in green.}
- \label{fig:casual}
-\end{figure}
-
-\begin{figure}[p]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{cv_classic.pdf}}
- \caption{An example of classic moderncv in blue.}
- \label{fig:classic}
-\end{figure}
-
-\section{Customize sections}
-
-Now we are ready to edit the part between \verb|\begin{document}| and \verb|\end{document}|.
-
-As you can seen in figure \ref{fig:casual} e \ref{fig:classic}, you can divide your CV into sections, each of them describing what you are, what you know and what you have done in your life. Every section is divide into items chosen from different flavours. More in details:
-
-\subsection{Section}
-
-The command to open a new section is:
-
-\begin{verbatim}
-\section{<title>}
-\end{verbatim}
-
-and every section can be divided into subsections:
-
-\begin{verbatim}
-\subsection{<title>}
-\end{verbatim}
-
-If necessary, there is a command to close the section:
-
-\begin{verbatim}
-\closesection{}
-\end{verbatim}
-
-and even one to create an empty section:
-
-\begin{verbatim}
-\emptysection{}
-\end{verbatim}
-
-An example of their usage can be the next one:
-
-\begin{verbatim}
-\section{Section with your own content}\closesection
-Your content here, inside the normal \LaTeX{} environment.
-You can use any regular \LaTeX{} command, display mathematics
-\[e =m\,c^2,\]
-put some table or figure, \dots
-
-\emptysection{}
-\cvitem{Now}{Back to moderncv layout, without making a new section :-)}
-\end{verbatim}
-
-whose results is shown in figure \ref{fig:ex_sec}.
-
-\begin{figure}[!ht]
- \centering
- \fbox{\includegraphics[width=0.9\textwidth]{ex_sec}}
- \caption{Example of usage of section commands.}
- \label{fig:ex_sec}
-\end{figure}
-
-\subsection{Items}
-
-Inside sections, you can choose between different kind of items depending on the purpose:
+ \begin{multicols}{4}
+ \item \code{arxiv}
+ \item \code{battlenet}
+ \item \code{bitbucket}
+ \item \code{codeberg}
+ \item \code{discord}
+ \item \code{github}
+ \item \code{gitlab}
+ \item \code{googlescholar}
+ \item \code{inspire}
+ \item \code{instagram}
+ \item \code{linkedin}
+ \item \code{mastodon}
+ \item \code{matrix}
+ \item \code{orcid}
+ \item \code{playstation}
+ \item \code{researcherid}
+ \item \code{researchgate}
+ \item \code{signal}
+ \item \code{skype}
+ \item \code{soundcloud}
+ \item \code{stackoverflow}
+ \item \code{steam}
+ \item \code{telegram}
+ \item \code{tiktok}
+ \item \code{twitch}
+ \item \code{twitter}
+ \item \code{whatsapp}
+ \item \code{xbox}
+ \item \code{xing}
+ \item \code{youtube}
+ \end{multicols}
+\end{itemize}
+\paragraph{\code{\\extrainfo}}
+A command for any extra information.
+\begin{lstlisting}
+ \extrainfo{<extra information>}
+\end{lstlisting}
+
+\paragraph{\code{\\photo}}
+A command for a photo.
+Takes the image file name as a required argument.
+Takes the height of the photo and the thickness of the photo frame as optional arguments.
+\begin{lstlisting}
+ \photo[<photo height>][<frame thickness>]{<photo file name>}
+\end{lstlisting}
+
+\paragraph{\code{\\quote}}
+A command for a quote.
+\begin{lstlisting}
+ \quote{<quote>}
+\end{lstlisting}
+
+\note{Long names and URLs can break some CVs and cover letters depending on the used style. Manually inserting line breaks for names with \code{\\\\} can help for \texttt{oldstyle} or \texttt{fancy}. Adjusting lengths as described in section \ref{subsection:adjusting:lengths} could help to mitigate issues with long URLs.}
+
+\paragraph{Pictures.}
+For some occasions you may need to include pictures besides the portrait photo. For this task it is helpful to know basic lengths used in \moderncv. For a more detailed description of lengths see section \ref{subsection:adjusting:lengths}.
+For instance, pictures can be included with \code{\\includegraphics}:
+\begin{lstlisting}
+ \hspace{\hintscolumnwidth + \separatorcolumnwidth}\includegraphics[<scale>]{<file name picture>}
+\end{lstlisting}
+Adding \code{\\hspace} in units of basic \code{moderncv} lengths will fit them more naturally into the CV or resume.
+
+\paragraph{Bibliography.}
+In case BibTeX is used, the bibliography settings are adjusted in the lines
+\begin{lstlisting}
+ % to show numerical labels in the bibliography (default is to show no labels)
+ % \renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]}
+ % \renewcommand{\refname}{Articles}
+
+ % bibliography with mutiple entries
+ % \usepackage{multibib}
+ % \newcites{book, misc}{{Books}, {Others}}
+\end{lstlisting}
+By default, no labels are shown for bibliography entries.
+Uncommenting the line \code{\%\\renewcommand*\{\\bibliographyitemlabel\}\{[\\arabic\{enumiv\}]\}}
+allows one to fine-tune the labels.
+Uncommenting the line \code{\%\\renewcommand\{\\refname\}\{Articles\}} allows one to redefine the bibliography heading string ``Publications'' that is shown by default.
+Finally, adjustments using the \code{multibib} package can be done in the last two lines shown here.
+
+\note \Biblatex is currently not supported.
+
+\subsection{Modifying CV content}
+\subsubsection{Structuring the CV}
+As with any other document style, the CV can be structured into sections and subsections using \code{\\section} and \code{\\subsection}.
+
+The \Moderncv package provides some macros to add content to your CV.
+The easiest way to understand their intended use is to look at how they're used in the template.
+Nonetheless, we list the macros here along with a short description of their intended use.
+
+\subsubsection{General macros}
+
+\paragraph{\code{\\cvitem}}
+A flexible command for a single CV entry.
+Takes the descriptor and body text as required arguments.
+Can be used to list job experiences and similar.
+\begin{lstlisting}
+ \cvitem{<descriptor>}{<body>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvdoubleitem}}
+A two-column variation of \code{\\cvitem}.
+Takes four required arguments: the descriptor and body text of the first column and the descriptor and body text of the second column.
+Can be used to enter skills, such as computer skills or language skills, in a two-column fashion.
+\begin{lstlisting}
+ \cvdoubleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvtripleitem}}
+A three-column variation of \code{\\cvitem}.
+Takes six required arguments: the descriptor and body text of the first column, second and third column.
+Can be used to enter skills, such as computer skills or language skills, in a three-column fashion.
+\begin{lstlisting}
+ \cvtripleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}{<descriptor 3>}{<body 3>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvitemwithcomment}}
+A variation of \code{\\cvitem} with an additional argument for a comment.
+Can be used to enter skills such as computer skills or language skills.
+\begin{lstlisting}
+ \cvitemwithcomment{<descriptor>}{<skill level>}{<comment>}
+\end{lstlisting}
+
+\paragraph{\code{\\cventry}}
+A command for entering an education or job experience.
+Takes six required arguments: date(s), degree/job title, educational institution/employer, city, academic grade and description.
+While arguments 3 to 6 aren't optional, they can be left empty.
+If line breaks in argument 6 aren't done properly, a minipage can be used.
+Alternatively, \code{\\newline\{\}} can be used to break lines in argument 6.
+\begin{lstlisting}
+ \cventry{<year--year>}{<degree/job title>}{<institution/employer>}
+ {<city>}{<grade>}{<description>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvlistitem}}
+A command for a single bullet-list item.
+Very long lines get broken.
+\begin{lstlisting}
+ \cvlistitem{<item>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvlistdoubleitem}}
+A two-column variation of \code{\\cvlistitem}.
+\begin{lstlisting}
+ \cvlistdoubleitem{<item 1>}{item 2>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvcolumns}}
+An environment typesetting multicolumn \code{\\cvitem}s.
+This can be combined with the \code{itemize} environment.
+\begin{lstlisting}
+ \begin{cvcolumns}
+ \cvcolumn{<category 1>}{<content>}
+ \cvcolumn{<category 2>}{<content>}
+ \cvcolumn[<width>]{<content>}
+ \end{cvcolumns}
+\end{lstlisting}
+\code{<width>} is a number between 0 and 1 controling the width of the column.
+
+\subsubsection{Skill matrix macros}
+The skill matrix is a table for displaying skills such as computer skills or project management skills graphically.
+The skill matrix table consists of several elements:
\begin{itemize}
- \item in the sections describing your education or your job experiences, you can use:
- \begin{verbatim}
-\cventry{years}{degree/job title}{institution/employer}
-{localization}{optional: grade/...}
-{optional: comment/job description}
- \end{verbatim}
-\vspace{-20pt}
-where the last three arguments are optional
- \item inside `language' cvsection environment, you can type every entry with:
- \begin{verbatim}
-\cvlanguage{name}{level}{comment}
- \end{verbatim}
- \item inside `computer skills' cvsection environment, you can type every entry with:
- \begin{verbatim}
-\cvcomputer{category}{programs}{category}{programs}
- \end{verbatim}
- \item to typeset lines with a hint on the left:
- \begin{verbatim}
-\cvline{leftmark}{text}
- \end{verbatim}
- \item to typeset entry with a description on the left, but in two columns inside a cvsection:
- \begin{verbatim}
-\cvdoubleitem{subtitle}{text}{subtitle}{text}
- \end{verbatim}
- \item to typeset lists on one column inside a cvsection:
- \begin{verbatim}
-\cvlistitem{point1}
- \end{verbatim}
- \item to typeset lists on two columns inside a cvsection:
- \begin{verbatim}
-\cvlistdoubleitem{point1}{point2}
- \end{verbatim}
- \item to add a section listing all your publications stored in a BibTeX file:
- \begin{verbatim}
-\nocite{*}
-\bibliographystyle{plain}
-\bibliography{BibTeX_file}
- \end{verbatim}
-\vspace{-20pt}
- where the name of the section title can be changed by redefining the \texttt{refname} with \verb|\renewcommand{\refname}{<new_name>}|
+ \item the graphical representation of the skill on a scale from 0 to 5,
+ \item the legend to explain the meaning of the scale,
+ \item a header line to explain the meaning of the table columns and
+ \item the actual skill entries.
\end{itemize}
-\subsubsection*{Example}
-
-Let's put all together and see in figure \ref{fig:sections} what is the result:
-
-\begin{verbatim}
-... preamble ...
-\begin{document}
-\section{Education}
-\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
-\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
-%
-\section{Master thesis}
-\cvline{title}{\emph{Title}}
-\cvline{supervisors}{Supervisors}
-\cvline{description}{\small Short thesis abstract}
-%
-\section{Experience}
-\subsection{Vocational}
-\cventry{year--year}{Job title}{Employer}{City}{}{Description}
-\cventry{year--year}{Job title}{Employer}{City}{}{Description}
-\subsection{Miscellaneous}
-\cventry{year--year}{Job title}{Employer}{City}{}%
- {Description line 1\newline{}Description line 2}
-%
-\section{Languages}
-\cvlanguage{language 1}{Skill level}{Comment}
-\cvlanguage{language 2}{Skill level}{Comment}
-%
-\section{Computer skills}
-\cvcomputer{category 1}{XXX, YYY, ZZZ}{category 3}{XXX, YYY, ZZZ}
-\cvcomputer{category 2}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
-%
-\section{Interests}
-\cvline{hobby 1}{\small Description}
-\cvline{hobby 2}{\small Description}
-\cvline{hobby 3}{\small Description}
-%
-\closesection{}
-\pagebreak
-%
-\section{Extra}
-\cvlistitem{Item 1}
-\cvlistitem{Item 2}
-\cvlistitem{Item 3}
-%
-\section{Extra 2}
-\cvlistdoubleitem{Item 1}{Item 4}
-\cvlistdoubleitem{Item 2}{Item 5}
-\cvlistdoubleitem{Item 3}{}
-%
-% Publications from a BibTeX file
-\nocite{*}
-\bibliographystyle{plain}
-\bibliography{publications} % 'publications' is the name of a BibTeX file
-%
-\end{document}
-\end{verbatim}
-
-\begin{figure}[!ht]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{test_cvsection2.pdf}}\\
- \fbox{\includegraphics[angle=90,width=\textwidth]{test_cvsection1.pdf}}
-\caption{Example of usage of items inside cvsections.}
- \label{fig:sections}
-\end{figure}
-
-\section{More customizations}
-
-You have some useful commands to personalize your CV further.
-
-\subsection*{Modifying the symbols}
-You can modify the symbols used for the personal data (phone number, the email, \ldots) redefining \texttt{phonesymbol}, \texttt{emailsymbol}, \texttt{addresssymbol}, \texttt{mobilesymbol}, \texttt{faxsymbol}.
-
-For example: if you want to use the dingbat fonts, load the \texttt{pifont} package in the preamble, then substitute the default symbol \Telefon\ with the dingbat symbol \ding{38}\ by:
-\begin{verbatim}
-\renewcommand{\phonesymbol}{\ding{38}}
-\end{verbatim}
-
-You can change the symbol for lists in two way:
+\paragraph{\code{\\cvskill}}
+A command for the graphical representation of a single skill.
+The required argument must be a number from 0 to 5.
+\begin{lstlisting}
+ \cvskill{<0-5>}
+\end{lstlisting}
+This command can be used outside of the skill matrix, too.
+
+\paragraph{\code{\\cvskilllegend}}
+A command for a legend for the skill matrix.
+Takes six optional arguments: post-padding width and the descriptions for the five skill levels.
+\begin{lstlisting}
+ \cvskilllegend
+ \cvskilllegend*[<post-padding>][<level 1>][<level 2>][<level 3>]
+ [<level 4>][<level 5>]{<descriptor>}
+\end{lstlisting}
+The command with no arguments inserts the legend in its standard form: without a descriptor or any lines.
+An optional asterisk toggles the inclusion of a dashed line.
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+The most general form of this command can be used to translate the legend descriptions into other languages or to add a name descriptor:
+\begin{lstlisting}
+ % Example: German translation
+ \cvskilllegend[0.2em][Grundkenntnisse]
+ [Grundkenntnisse und eigene Erfahrung in Projekten]
+ [Umfangreiche Erfahrung in Projekten]
+ [Vertiefte Expertenkenntnisse][Experte/Guru]{Legende}
+\end{lstlisting}
+
+\paragraph{\code{\\cvskillplainlegend}}
+A variation of \code{\\cvskilllegend} with the first three skill levels in the first column.
+\begin{lstlisting}
+ \cvskillplainlegend
+ \cvskillplainlegend*[<post-padding>][<level 1>][<level 2>]
+ [<level 3>][<level 4>][<level 5>]{<descriptor>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvskillhead}}
+A command for a header line for the skill matrix.
+Takes five optional arguments: post-padding width, level, skill label, years of experience and a comment.
+\begin{lstlisting}
+ \cvskillhead[<post-padding>][<level>][<skill>][<years of experience>][<comment>]
+\end{lstlisting}
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+\paragraph{\code{\\cvskillentry}}
+A command for an entry in the skill matrix.
+Takes five required arguments: skill category, skill level (0 to 5), skill name, years of experience and a comment.
+Takes a single optional argument for the post-padding width.
+\begin{lstlisting}
+ \cvskillentry*[<post-padding>]{<skill category>}{<0-5>}
+ {<skill name>}{<years of experience>}{<comment>}
+\end{lstlisting}
+An optional asterisk toggles the inclusion of a dashed line.
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+How to make length adjustments to the skill matrix will be explained in section \ref{section:length:skillmatrix}.
+
+\subsection{Letter of motivation}
+
+In order to provide additional information for a job application, {\moderncv} provides a motivation letter. Define the following recipient data fields to customize your letter:
+\paragraph{\code{\\recipient}}
+A command for the letter's recipient. This allows line breaks to properly format the recipient's address.
+\begin{lstlisting}
+ \recipient{<Team or contact person>}{<company>\\<street>\\<city>}
+\end{lstlisting}
+
+\paragraph{\code{\\date}}
+A command to set the letter's date.
+\begin{lstlisting}
+ \date{<your custom date>}
+\end{lstlisting}
+
+\paragraph{\code{\\subject}}
+A command to define the job application subject.
+\begin{lstlisting}
+ \subject{<subject>}
+\end{lstlisting}
+
+\paragraph{\code{\\opening}}
+A command to set your opening (e.g. ``Dear X,'' or ``To whom it may concern,'').
+\begin{lstlisting}
+ \opening{<greeting>}
+\end{lstlisting}
+
+\paragraph{\code{\\closing}}
+A command to set your closing (e.g. ``Sincerely,'' or ``Yours truly,'').
+\begin{lstlisting}
+ \closing{<closing>}
+\end{lstlisting}
+
+\paragraph{\code{\\signature}}
+An optional command to include your signature after the closing. This feature is defined using the \code{\\includegraphics}. The first argument is the scale and the second argument is the filename of your scanned signature.
+\begin{lstlisting}
+ \signature{<scale>}{<signature filename>}
+\end{lstlisting}
+
+\paragraph{\code{\\enclosure}}
+A command to list the attached documents. The first optional parameter allows a redefinition of the default ``Enclosure'' label.
+\begin{lstlisting}
+ \enclosure[<optional alternative label>]{<list of documents>}
+\end{lstlisting}
+
+\note If typesetting the resume in Chinese using CJK an additional \code{\\clearpage} is required after the \code{\\makeletterclosing} command. This helps \code{fancyhdr} to work correctly with CJK. Otherwise it will remove the page numbering by making \code{lastpage} undefined.
+
+\section{Customization}
+\label{section:customization}
+\subsection{Styles and their options}
+\label{section:customization:stylesAndOptions}
+Each style allows fine-tuning via options passed into the \code{\\moderncvstyle} command:
+\begin{lstlisting}
+ \moderncvstyle[<option 1>, <option 2>, ...]{<style>}
+\end{lstlisting}
+Each style defines its own options, and not all options are available for each style.
+Below is a list of all the options available for each style:
+
+\paragraph{\code{casual}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.72\textwidth}}
+ \textbf{\code{head alignment}} & values: \code{left}, \code{right} (default).
+ Aligns the title and the picture if one is included. \\
+ \textbf{\code{name}} & values: \code{alternate}.
+ Displays the name in all lowercase.
+ Differentiation of the name is done by color (disabled by default).
+ This feature is discouraged for longer names. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{classic}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
+ \textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
+ Aligns the address block and the picture. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{banking}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.68\textwidth}}
+ \textbf{\code{alignment (body)}} & values: \code{left} (default), \code{center}, \code{right}.
+ Aligns the entries in the style. \\
+ \textbf{\code{rule style}} & values: \code{fullrules}, \code{shortrules}, \code{mixedrules} (default), \code{norules}.
+ Adjusts the rules used in the style. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{oldstyle}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}}
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{fancy}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}}
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\note Only one option from each option category can be passed in at a time, e.g.
+\begin{lstlisting}
+ \moderncvstyle[left, nosymbols]{casual}
+\end{lstlisting}
+
+\paragraph{\code{contemporary}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
+ \textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
+ Aligns the address block and the picture. \\
+ \textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{qr}} & values: \code{qr} (default), \code{noqr}.
+ Enables or disables the inclusion of a QR code of your personal website.
+\end{tabular}
+\note For the \code{contemporary} style it is recommended to use the \code{\\moderncvcolor\{cerulean\}} color scheme. The \code{contemporary} style is even more appealing with reduced margins. Use this in your preamble:
+\begin{lstlisting}
+ \usepackage[hmargin=0.5in,vmargin=10pt]{geometry}
+\end{lstlisting}
+
+\subsection{Adjusting colors}
+The colors of each style can be adjusted.
+
+\note The color theme must be loaded \emph{before} \code{\\moderncvstyle}, i.e.
+\begin{lstlisting}
+ \moderncvcolor{blue}
+ \moderncvstyle{casual}
+\end{lstlisting}
+
+\paragraph{Base colors.}
+Each style defines three main colors: \code{color0}, \code{color1} and \code{color2}.
+\code{color0} is black and the main text color.
+\code{color1} is the main theme color, like blue, green, etc.
+\code{color2} is a some form of grey used for the user data, etc.
+These colors can be redefined by using either \code{\\definecolor} or \code{\\colorlet}:
+\begin{lstlisting}
+ \definecolor{color1}{rgb}{0.55, 0.55, 0.55} % dark grey
+ \colorlet{color1}{black}
+\end{lstlisting}
+Any mechanism for naming and defining colors used by the \code{xcolor} package can be used to redefine the colors of a \Moderncv style.
+
+\paragraph{Fine tuning.}
+If an even finer control over the color scheme of the style is desired, the following color settings are used internally for the \code{casual} style and can be redefined:
+\begin{lstlisting}
+ % Head and footer
+ \colorlet{lastnamecolor}{color1}
+ \colorlet{namecolor}{lastnamecolor}
+ \colorlet{headrulecolor}{color1}
+ \colorlet{firstnamecolor}{lastnamecolor!50}
+ \colorlet{titlecolor}{color2}
+ \colorlet{addresscolor}{color2}
+ \colorlet{quotecolor}{color1}
+ \colorlet{pictureframecolor}{color1}
+ % Body
+ \colorlet{bodyrulecolor}{color1}
+ \colorlet{sectioncolor}{color1}
+ \colorlet{subsectioncolor}{color1}
+ \colorlet{hintstylecolor}{color0}
+ % Letter
+ \colorlet{letterclosingcolor}{color2}
+ % Skill matrix
+ \colorlet{skillmatrixfullcolor}{color1}
+ \colorlet{skillmatrixemptycolor}{color2!30}
+\end{lstlisting}
+
+
+\subsection{Modifying symbols and icons}
+\subsubsection{Icons}
+As stated in section \ref{section:customization:stylesAndOptions}, the use of icons is toggled by the \code{symbols} option that can be passed to \code{\\moderncvstyle}.
+
+The icons used in the display of the personal data (phone numbers, email, fax, social media accounts, etc.) can be customized by redefining the internal commands for the symbols:
+\begin{lstlisting}
+ \renewcommand*{<\symbolcommand>}{{\small<\symbol>}~}
+\end{lstlisting}
+Using \code{\\small} is optional, but the default behavior is to render all icons using \code{\\small}.
+Use \code{\\small} if one merely wishes to replace an icon/symbol while keeping the size consistent with the default icons/symbols.
+The tilde ensures proper spacing after the symbols and is recommended as well.
+
+Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}:
\begin{itemize}
- \item redefining the command \texttt{listitemsymbol}: \verb|\renewcommand{\listitemsymbol}{-}|
- \item adding a specification for the label in \texttt{cvlistitem} and \texttt{cvlistdoubleitem}
+ \begin{multicols}{2}
+ \item \code{\\addresssymbol}
+ \item \code{\\mobilephonesymbol}
+ \item \code{\\fixedphonesymbol}
+ \item \code{\\faxphonesymbol}
+ \item \code{\\emailsymbol}
+ \item \code{\\homepagesymbol}
+ \item \code{\\linkedinsocialsymbol}
+ \item \code{\\xingsocialsymbol}
+ \item \code{\\twittersocialsymbol}
+ \item \code{\\githubsocialsymbol}
+ \item \code{\\gitlabsocialsymbol}
+ \item \code{\\stackoverflowsocialsymbol}
+ \item \code{\\googlescholarsocialsymbol}
+ \item \code{\\telegramsocialsymbol}
+ \item \code{\\whatsappsocialsymbol}
+ \item \code{\\signalsocialsymbol}
+ \item \code{\\matrixsocialsymbol}
+ \item \code{\\orcidsocialsymbol}
+ \item \code{\\researchgatesocialsymbol}
+ \item \code{\\researcheridsocialsymbol}
+ \item \code{\\bitbucketsocialsymbol}
+ \item \code{\\skypesocialsymbol}
+ \item \code{\\bornsymbol}
+ \item \code{\\arxivsocialsymbol}
+ \item \code{\\inspiresocialsymbol}
+ \end{multicols}
\end{itemize}
+The possible options for \code{<\\symbol>} depend on the package that is used.
+By default, the \code{marvosym} package is loaded if \code{pdflatex} is used, and the \code{academicons} and \code{fontawesome5} packages are loaded if either \code{lualatex} or \code{xelatex} is used.
+Full lists of all available symbols and icons can be found in the documentation of each respective package:
+
+\begin{tabular}{l}
+ \url{https://ctan.org/pkg/marvosym} \\[1ex]
+ \url{https://ctan.org/pkg/fontawesome5} \\[1ex]
+ \url{https://ctan.org/pkg/academicons}
+\end{tabular}
+
+\paragraph{Example.}
+If one wanted to use the dingbat fonts to replace the default phone symbol, one should load the \code{pifont} package in the preamble and then substitute the default symbol with the dingbat symbol \ding{38}\ with
+\begin{lstlisting}
+ \renewcommand*{\fixedphonesymbol}{\ding{38}~}
+\end{lstlisting}
+
+\paragraph{Alternative to icons}
+In case you do not want \texttt{symbols} (default) for the icons, there is also the option to replace icons with \texttt{letters} instead. This is set by the macro \code{\\moderncvicons}, which must be called after setting the style in the preamble.
+\begin{lstlisting}
+ \moderncvicons{<symbols|letters>}
+\end{lstlisting}
+This mechanism is also used to determine the icon set. In principle the \code{\\moderncvicons} can be used to determine the icon set with the possible values \texttt{marvosym}, \texttt{awesome} or \texttt{academic}, but it is recommended to let {\moderncv} decide the correct icon set due to differing \Latex compiler support.
+
+\subsubsection{Listing labels}
+The labels used in \code{itemize} environments, \code{cvlistitem} and \code{cvlistdoubleitem} can be changed in two different ways:
-For example: the following code produces the result shown in figure \ref{fig:ex_items}.
-
-\begin{verbatim}
-\closesection{} % needed to renewcommands
-\renewcommand{\listitemsymbol}{-} % change the symbol for lists
-
-\section{Extra 1}
-\cvlistitem{Item 1}
-\cvlistitem{Item 2}
-\cvlistitem[+]{Item 3} % optional other symbol
-
-\section{Extra 2}
-\cvlistdoubleitem[\Neutral]{Item 1}{Item 4}
-\cvlistdoubleitem[\Neutral]{Item 2}{Item 5}
-\cvlistdoubleitem[\Neutral]{Item 3}{}
-\end{verbatim}
-
-\begin{figure}[!hbt]
- \centering
- \fbox{\includegraphics[width=.8\textwidth]{ex_items.png}}
- \caption{Example of customization of the list labels.}
- \label{fig:ex_items}
-\end{figure}
-
-\subsection*{Adjusting lenghts}
-The different lengths used by moderncv are customizable by
-\begin{verbatim}
-\setlength{<length>}{<new_dimensions>}
-\end{verbatim}
-where \texttt{<length>} are \texttt{quote\-width}, \texttt{sep\-a\-ra\-tor\-col\-umn\-width}, \texttt{main\-col\-umn\-width}, \texttt{doub\-le\-i\-tem\-main\-col\-umn\-width}, \texttt{list\-i\-tem\-sym\-bol\-width}, \texttt{list\-doub\-le\-i\-tem\-main\-col\-umn\-width},
-
-In particular, the first column, can be set to any width. You can do that in two way:
\begin{itemize}
- \item using \verb|\sethintscolumnlength{<length>}|, where \texttt{<length>} is the desired length in a unit LaTeX understands
- \item using \verb|\sethintscolumntowidth{<string>}|, where \texttt{<string>} is a string of the desired length (usually, the longest string that has to appear in the column)
+ \item Redefining \code{\\labelitemi}, \code{\\labelitemii}, \code{\\labelitemiii} and \code{\\labelitemiv} changes the labels for \code{itemize} environments as well as for \code{cvlistitem} and \code{cvlistdoubleitem}, e.g.
+ \begin{lstlisting}
+ \renewcommand{\labelitemi}{-}
+ \end{lstlisting}
+ \item Redefining \code{\\listitemsymbol} changes the labels for \code{cvlistitem} and \code{cvlistdoubleitem} but \emph{not} for \code{itemize} environments, e.g.
+ \begin{lstlisting}
+ \renewcommand{\listitemsymbol}{-}
+\end{lstlisting}
\end{itemize}
-\subsection*{Additional commands}
-There are commands to manage hypertextual links:
+\subsection{Adjusting lengths}\label{subsection:adjusting:lengths}
+Some lengths in \Moderncv can be adjusted.
+
+The hints column can be adjusted by setting \code{\\hintscolumnwidth}:
+\begin{lstlisting}
+ \setlength{\hintscolumnwidth}{3cm}
+\end{lstlisting}
+
+For the \code{classic} style, the amount of horizontal space for the name can be adjusted by setting \code{\\makecvheadnamewidth} to avoid breaks:
+\begin{lstlisting}
+ \setlength{\makecvheadnamewidth}{10cm}
+\end{lstlisting}
+One should be careful though, as the length is normally calculated to avoid any overlap with the personal information.
+This should be used at one's own typographical risk.
+
+The spacing between the hints column and the CV entries can be adjusted by setting\\
+\code{\\separatorcolumnwidth}. The default value is \code{0.025\\textwidth}.
+\begin{lstlisting}
+ \setlength{\separatorcolumnwidth}{0.05\textwidth}
+\end{lstlisting}
+
+The spacing between the list symbol and the text item of \code{\\cvlistitem} and \code{\\cvlistdoubleitem} can be adjusted by setting \code{\\listitemsymbolspace} in the preamble. The default value is set to \code{0pt}.
+\begin{lstlisting}
+ \setlength{\listitemsymbolspace}{5pt}
+\end{lstlisting}
+
+The width of the footer can be adjusted by setting \code{\\footwidth}. Due to internal calculations \code{\\renewcommand} is needed. The default value is \code{0.8\\textwidth}.
+\begin{lstlisting}
+ \renewcommand*{\recomputefootlengths}{%
+ \setlength{\footwidth}{0.9\textwidth}}
+\end{lstlisting}
+
+The width of the quote can be adjusted by setting \code{\\quotewidth}. Due to internal calculations \code{\\renewcommand} is needed. The default value is \code{0.65\\textwidth}.
+\begin{lstlisting}
+ \renewcommand*{\recomputecvheadlengths}{%
+ \setlength{\quotewidth}{0.5\textwidth}}
+\end{lstlisting}
+
+
+% The different lengths used by moderncv are customizable by
+% \begin{lstlisting}
+% \setlength{<length>}{<new_dimensions>}
+% \end{lstlisting}
+% where \code{<length>} are \code{maincolumnwidth}, \code{doubleitemmaincolumnwidth}, \code{listitemsymbolwidth}, \code{listdoubleitemmaincolumnwidth},
+
+
+\subsubsection{Lengths in the skill matrix}
+\label{section:length:skillmatrix}
+Both the width of the skill matrix legend and the width of the skill matrix columns can be adjusted.
+
+The width of the skill matrix legend can be adjusted as follows:
+\begin{lstlisting}
+ \setcvskilllegendcolumns[<width>][<factor>]
+ % Examples:
+ \setcvskilllegendcolumns[][0.45]
+ \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
+ \setcvskilllegendcolumns[0ex][0.46] % useful for the banking style
+\end{lstlisting}
+\code{<width>} should be a length smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1.
+
+The width of the skill matrix columns can be adjusted as follows:
+\begin{lstlisting}
+ \setcvskillcolumns[<width>][<factor>][<exp_width>]
+ % Examples:
+ \setcvskillcolumns[5em][][] % adjust first column, same as \setcvskillcolumns[5em]
+ \setcvskillcolumns[][0.45][] % adjust third (skill) column, same as \setcvskillcolumns[][0.45]
+ \setcvskillcolumns[][][\widthof{``Year''}] % adjust fourth (years of experience) column
+ \setcvskillcolumns[][0.45][\widthof{``Year''}]
+ \setcvskillcolumns[\widthof{``Language''}][0.48][]
+ \setcvskillcolumns[\widthof{``Language''}]
+\end{lstlisting}
+\code{<width>} and \code{<exp_width>} should be lengths smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1.
+
+\subsection{Additional link commands}%% adapted from Cristina Sambo's documentation
+To create links to a website or a email address, use the following commands:
+
+A general weblink with optional text.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \link[name of the link]{ftp://ftp.somesite.org}
+\end{lstlisting}
+
+An HTTP link. The HTTP prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \link[goto HTTP site]{www.somehttpsite.org}
+\end{lstlisting}
+
+A HTTPS link. The HTTPS prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \httpslink[goto HTTPS site]{www.somesecuresite.org}
+\end{lstlisting}
+
+An email link. The mailto prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \emaillink[my email]{jdoe@website.org}
+\end{lstlisting}
+
+\subsection{Page breaks and orphaned section headers}
+If \Latex breaks pages just after \code{\\section} or \code{\\subsection} commands, try adjusting the stretchability of the page with \code{\\cvsectionstretchability} or \code{\\cvsubsectionstretchability}:
+\begin{lstlisting}
+ \setlength{\cvsectionstretchability}{\baselineskip}
+ \setlength{\cvsubsectionstretchability}{100pt}
+\end{lstlisting}
+These two lengths tell \Latex how much extra length it needs after \code{\\section} and \code{\\subsection} commands.
+By default, \Moderncv sets both lengths to \code{0.9\\baselineskip}.
+
+This should solve orphaned \code{\\section} and \code{\\subsection} commands that are used alone for most users.
+However, \Latex does not check for content.
+For example, writing
+\begin{lstlisting}
+ \section{blub}
+ \subsection{blubblub}
+\end{lstlisting}
+one after the other may cause \Latex to place the section and subsection headers on separate pages.
+Since \Latex considers the subsection header to not be orphaned, it may place the section header at the bottom of a page if there is enough space to do so while placing the subsection header on the next page.
+One solution is to increase \code{\\cvsectionstretchability} to force the break of the section header.
+However, this changes the behaviour for all \code{\\section} commands in your CV and might cause unnecessary page breaks.
+It is therefore recommended to force the page break manually with a \code{\\newpage} in this case.
+
+\paragraph{Experts only:}
+Internally, \Moderncv uses a custom \code{\\needspace} command:
+\begin{lstlisting}
+ \NewDocumentCommand\@cvneedspace{m}{%
+ \begingroup
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@
+ \penalty \withinstretchpenalty\vskip\z@\@plus -\dimen@
+ \vskip\dimen@
+ \penalty \poststretchpenalty%
+ \vskip -\dimen@
+ \vskip\z@skip % hide the previous |\vskip| from |\addvspace|
+ \endgroup
+ }
+\end{lstlisting}
+Thus, instead of setting \code{\\cvsectionstretchability} and/or \code{\\cvsubsectionstretchability}, page break behavior can be adjusted by redefining the following internal penalties:
+\begin{lstlisting}
+ \renewcommand{\withinstretchpenalty}{<-100...9999>}
+ \renewcommand{\poststretchpenalty}{<-100...9999>}.
+\end{lstlisting}
+By default, \Moderncv sets \code{\\withinstretchpenalty} to 0 and \code{\\poststretchpenalty} to 9999.
+The higher the penalties are, the less likely a page break will occur.
+A good explanation of \code{\\needspace} can be found at \url{https://tex.stackexchange.com/questions/348994/understanding-needspace}.
+
+
+\subsection{Tips and Tricks}
+\subsubsection{Legal disclaimer at the end of the CV}
+Some countries (e.g. Italy) require you to add a legal disclaimer authorizing the use of the personal data in your CV.
+To add such a disclaimer, add the following to the bottom of your CV:%
+\footnote{Example provided by Cristina Sambo}%
+\begin{lstlisting}
+ \vfill
+ \begin{center}
+ \textit{\small Ai sensi del D. Lgs. 196/2003 ...}
+ \end{center}
+\end{lstlisting}
+
+
+
+\section{Implementation details}
+\label{section:implementationDetails}
+
+\subsection{Creating your own styles}
+Currently {\moderncv} ships with six different styles: \texttt{casual} (default), \texttt{classic}, \texttt{banking}, \texttt{oldstyle}, \texttt{fancy} and \texttt{contemporary}. Internally, these styles are numbered 1, 2, 3, 4, 5 and 6, respectively. All styles except \texttt{oldstyle} and \texttt{fancy} possess additional option parameters which were described in section \ref{section:customization:stylesAndOptions}.
+
+Different styles' head, body and foot can be combined to create custom styles. This is done by setting \code{\\moderncvhead}, \code{\\moderncvbody} and \code{\\moderncvfoot} in the preamble. Here is an example of a custom style with a \texttt{banking} head, an \texttt{oldstyle} body and a \texttt{casual} foot:
+\begin{lstlisting}
+ \moderncvhead{3}
+ \moderncvbody{4}
+ \moderncvfoot{1}
+\end{lstlisting}
+Furthermore, options for each part of {\moderncv} parts can be set as well in such combinations. To get a CV with a \texttt{classic} head and a \texttt{banking} body with full rules, define the following in the preamble:
+\begin{lstlisting}
+ \moderncvhead{2}
+ \moderncvbody[fullrules]{3}
+ \moderncvfoot{1}
+\end{lstlisting}
+
+
+\subsection{Required packages}
+\label{section:implementationDetails:requiredPackages}
+In addition to the packages that \Moderncv provides, the following packages are loaded internally:
\begin{itemize}
- \item[-] \verb|\weblink[optional text]{link}|
- \item[-] \verb|\httplink[optional text]{link}|
- \item[-] \verb|\emaillink[optional text]{link}|
+ \begin{multicols}{3}
+ \item \code{etoolbox}
+ \item \code{ifthen}
+ \item \code{xcolor}
+ \item \code{ifxetex} or \code{ifluatex}
+ \item \code{fontenc}
+ \item \code{url}
+ \item \code{hyperref}
+ \item \code{graphicx}
+ \item \code{fancyhdr}
+ \item \code{tweaklist}%
+ \footnote{The \code{tweaklist} package has been altered for the development of \Moderncv and ships with \moderncv.}
+ \item \code{calc}
+ \item \code{xparse}
+ \item \code{microtype}
+ \item \code{expl3}
+ \item \code{tikz}
+ \item \code{changepage}
+ \item \code{fontawesome5}
+ \item \code{academicons}
+ \item \code{tgpagella}
+ \item \code{ebgaramond}
+ \item \code{kurier}
+ \item \code{multirow}
+ \item \code{arydshln}
+ \end{multicols}
\end{itemize}
-There is a \verb|\today| command, useful for example if you need to add the date the CV was produced.
-
-\subsection*{Putting things at the end of CV}
-Sometimes there is the need to add some lines at the end of the CV. For example, in Italy is necessary to add the permission to treat the personal data contained in the r\'esum\'e. You can do that dropping out of the layout of \texttt{moderncv} and pushing the lines at the end by the command \verb|\vfill|:
-\begin{verbatim}
-\emptysection{}\closesection
-\vfill
-\begin{center}
-\textit{\small Ai sensi del D. Lgs. 196/2003 ...}
-\end{center}
-\end{verbatim}
+Most of these packages should be included in your \Latex distribution of choice.
+
+\subsection{Known conflicts with other packages}
+\begin{enumerate}
+ \item \Moderncv is incompatible with \code{biber}.
+ \item \Moderncv is incompatible with \biblatex.
+ \item \Moderncv is incompatible with \code{babel} in Spanish
+\end{enumerate}
+
+\subsection{Known bugs}
+\begin{enumerate}
+ \item Skill matrices don't break automatically in \texttt{fancy} style.
+ \item Long names break the \texttt{oldstyle} style and possibly other styles (needs testing).
+ \item Long URLs in \texttt{classic} style can make the name break line.
+ Fixed width for the address part must be implemented.
+ \item When using the \texttt{fancy} style, undesired space is added between the bibliography head and the first entry, as well as after the last entry.
+ \item Footnotes generate errors, but the output seems correct when running with \code{-interaction=nonstopmode}.
+ \item When using CJK, the last \code{\\clearpage} required for the \code{fancyhdr} package to work properly kills the ``lastpage'' counter, and therefore also the page numbering.
+ \item \Moderncv produces the error ``\code{lonely \\item--perhaps a missing list environment}'' when used with the \code{bibentry} package, though the output is actually correct.
+ Among other things, this causes compilation by LyX to stop.
+ \item The space after a \code{\\cventry} gets eaten up when the last argument contains a nested \code{itemize} environment.
+ An ugly hack and incomplete solution was implemented by including a \code{\\strut} in every item label, but this doesn't solve the problem for multi-line items.
+ Ideally, the \code{\\strut} should end the item, but there seems to be no way to do this.
+\end{enumerate}
\end{document}
diff --git a/Master/texmf-dist/doc/latex/moderncv/signature.png b/Master/texmf-dist/doc/latex/moderncv/signature.png
new file mode 100644
index 00000000000..8daa868ed8c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/moderncv/signature.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/template.tex b/Master/texmf-dist/doc/latex/moderncv/template.tex
index 38d313b3836..7128f09e083 100644
--- a/Master/texmf-dist/doc/latex/moderncv/template.tex
+++ b/Master/texmf-dist/doc/latex/moderncv/template.tex
@@ -1,5 +1,5 @@
%% start of file `template.tex'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -8,17 +8,23 @@
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
+\moderncvcolor{cerulean} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
% moderncv themes
-\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
-\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'
+\moderncvstyle[]{contemporary} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
+ % the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
% adjust the page margins
-\usepackage[scale=0.75]{geometry}
-\setlength{\footskip}{136.00005pt} % depending on the amount of information in the footer, you need to change this value. comment this line out and set it to the size given in the warning
+\usepackage[hmargin=0.5in,vmargin=10pt]{geometry} % the 'contemporary' style looks better with reduced margins; uncomment the line below for increased margin
+%\usepackage[scale=0.75]{geometry}
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
+%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
+
+% the 'contemporary' style allows to append additional elements to the head background; uncomment and customize if needed
+%\def\@moderncvheadBackground{
+%}
% font loading
% for luatex and xetex, do not use inputenc and fontenc
@@ -30,7 +36,13 @@
\setmainfont{Latin Modern Roman}
\setsansfont{Latin Modern Sans}
\setmonofont{Latin Modern Mono}
- \setmathfont{Latin Modern Math}
+ \setmathfont{Latin Modern Math}
+
+ % you may also consider Fira Sans Light for a extra modern look
+ %\setsansfont[ItalicFont={Fira Sans Light Italic},%
+ % BoldFont={Fira Sans},%
+ % BoldItalicFont={Fira Sans Italic}]%
+ % {Fira Sans Light}%
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
@@ -54,24 +66,49 @@
% Social icons
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
\social[xing]{john\_doe} % optional, remove / comment the line if not wanted
-\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
+
\social[github]{jdoe} % optional, remove / comment the line if not wanted
\social[gitlab]{jdoe} % optional, remove / comment the line if not wanted
-\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
+\social[codeberg]{jdoe} % optional, remove / comment the line if not wanted
\social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted
+\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
+
\social[skype]{jdoe} % optional, remove / comment the line if not wanted
\social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted
\social[researchgate]{jdoe} % optional, remove / comment the line if not wanted
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted
+\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
+
+\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
+\social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted
\social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted
\social[signal]{12345678901} % optional, remove / comment the line if not wanted
\social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted
-\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
+\social[discord]{jdoe\#0000} % optional, remove / comment the line if not wanted
+
+% YouTube links can take several forms, depending on how your account and channel are set up.
+% See https://support.google.com/youtube/answer/6180214 for more information.
+\social[youtube]{c/jdoeschannel} % optional, remove / comment the line if not wanted; Custom URL - can be shorted by removing 'c/'
+\social[youtube]{channel/XXXXXX} % optional, remove / comment the line if not wanted; Channel URL (ID-based) - can not be shortened
+\social[youtube]{user/jdoe} % optional, remove / comment the line if not wanted; Legacy username URL - if jdoe is not already claimed by a Custom URL, can be shortened by removing 'user/'
+
+\social[twitch]{jdoe} % optional, remove / comment the line if not wanted
+\social[tiktok]{jdoe} % optional, remove / comment the line if not wanted
+\social[instagram]{jdoe} % optional, remove / comment the line if not wanted
+
+\social[soundcloud]{jdoe} % optional, remove / comment the line if not wanted
+
+\social[steam]{jdoe} % optional, remove / comment the line if not wanted
+\social[xbox]{jdoe} % optional, remove / comment the line if not wanted
+\social[playstation]{jdoe} % optional, remove / comment the line if not wanted
+\social[battlenet]{jdoe\#0000} % optional, remove / comment the line if not wanted
+\social[arxiv]{doe\_j\_1} % optional, remove / comment the line if not wanted
+\social[inspire]{0000000} % optional, remove / comment the line if not wanted
\extrainfo{additional information} % optional, remove / comment the line if not wanted
-\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
+\photo[64pt][2pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
\quote{Some quote} % optional, remove / comment the line if not wanted
% bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX)
@@ -92,7 +129,7 @@
%----- resume ---------------------------------------------------------
\makecvtitle
-\section{Education}
+\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
@@ -135,12 +172,13 @@ Detailed achievements:
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
+\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}
\section{Skill matrix}
\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
-%% Skill matrix as an alternative to rate one's skills, computer or other.
+%% Skill matrix as an alternative to rate one's skills, computer or other.
-%% Adjusts width of skill matrix columns.
+%% Adjusts width of skill matrix columns.
%% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>]
%% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1.
%% Examples:
@@ -179,12 +217,12 @@ Detailed achievements:
%% Adjust head of the skill matrix for other languages
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung]
-%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
+%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
%% Example usages:
\cvskillentry*{Language:}{3}{Python}{2}{I'm so experienced in Python and have realised a million projects. At least.}
\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
-\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
+\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
%% \cvskill{<0-5>} command
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}
@@ -232,8 +270,10 @@ Detailed achievements:
% recipient data
\recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city}
\date{January 01, 1984}
+\subject{Job application}
\opening{Dear Sir or Madam,}
\closing{Yours faithfully,}
+\signature{0.9}{signature.png} % optional, remove / comment the line if not wanted: first argument goes to \includegraphics > scale
\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname
\makelettertitle
@@ -254,4 +294,3 @@ Albert Einstein discovered that $e=mc^2$ in 1905.
%% end of file `template.tex'.
-
diff --git a/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md b/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md
index 1d90d7617cc..d1e8bc4d603 100644
--- a/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/moloch/CHANGELOG.md
@@ -1,5 +1,20 @@
# Changelog
+## [0.4.0](https://github.com/jolars/moloch/compare/v0.3.0...v0.4.0) (2024-07-09)
+
+
+### Features
+
+* add a small amount of vertical space before subtitle ([b224a9b](https://github.com/jolars/moloch/commit/b224a9b5067187e64a7669b61aee029447535729))
+* support memoize package (closes [#16](https://github.com/jolars/moloch/issues/16)) ([1ca26e8](https://github.com/jolars/moloch/commit/1ca26e857a331fcb29296c4987b69aea0db90fae))
+* support title format modifications ([#18](https://github.com/jolars/moloch/issues/18)) ([46a4f49](https://github.com/jolars/moloch/commit/46a4f49e8bb95798c2d6f3b69a1b96128d95cb8b))
+
+
+### Bug Fixes
+
+* add % at the end of some commands ([33b9833](https://github.com/jolars/moloch/commit/33b9833f21d3e0654fe2452d0b8ac8e8eb3a47bb))
+* convert raw command in manual to text ([ac305e9](https://github.com/jolars/moloch/commit/ac305e9b547ce44e0573f333adc4e6684eb88b68))
+
## [0.3.0](https://github.com/jolars/moloch/compare/v0.2.0...v0.3.0) (2024-03-06)
diff --git a/Master/texmf-dist/doc/latex/moloch/README.md b/Master/texmf-dist/doc/latex/moloch/README.md
index f3b7971303c..c8d9b78f15a 100644
--- a/Master/texmf-dist/doc/latex/moloch/README.md
+++ b/Master/texmf-dist/doc/latex/moloch/README.md
@@ -12,19 +12,23 @@ The fork was created for the following reasons:
- To remove some of the more opinionated design choices, such as special handling of the Fira family of fonts.
- To strip away some features that added complexity to the code base without achieving valuable functionality for the majority of users, such as special code block designs and the pgfplots theme.
+[Here's a blog post](https://jolars.co/blog/2024-05-30-moloch/) in which I introduce the theme and write in more detail about the changes with respect to Metropolis.
+
Do not expect this theme to be backwards compatible with the Metropolis theme.
+![Screenshot](https://raw.githubusercontent.com/jolars/moloch/main/assets/screenshot.svg)
+
## Installation
Moloch is on [CTAN](https://ctan.org/pkg/moloch), so you can install it using your favorite LaTeX package manager. For example, with `tlmgr`:
-```sh
+```bash
tlmgr install moloch
```
You can also install the theme from source, in which case you need a working LaTeX installation with `l3build` installed. Then just follow these steps:
-```sh
+```bash
git clone https://github.com/jolars/moloch.git
cd moloch
l3build install
diff --git a/Master/texmf-dist/doc/latex/moloch/moloch.pdf b/Master/texmf-dist/doc/latex/moloch/moloch.pdf
index 3607149cef9..15f0652a6ac 100644
--- a/Master/texmf-dist/doc/latex/moloch/moloch.pdf
+++ b/Master/texmf-dist/doc/latex/moloch/moloch.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moloch/moloch.tex b/Master/texmf-dist/doc/latex/moloch/moloch.tex
index a9eb3269333..c8300607bef 100644
--- a/Master/texmf-dist/doc/latex/moloch/moloch.tex
+++ b/Master/texmf-dist/doc/latex/moloch/moloch.tex
@@ -58,7 +58,7 @@
xrightmargin=0em,
aboveskip=1em,
belowskip=1em,
- morekeywords={usetheme,institute,maketitle,%
+ morekeywords={usetheme,institute,maketitle,@moloch@titleformat,%
plain,setbeamercolor,molochset,setsansfont,setmonofont},
}
\lstMakeShortInline|
@@ -82,7 +82,7 @@
\newcommand{\themename}{\textsf{moloch}\xspace}
-\def\molochversion{0.3.0} % x-release-please-version
+\def\molochversion{0.4.0} % x-release-please-version
\usepackage{readprov}
% \ReadPackageInfos{beamerthememoloch}
@@ -166,10 +166,10 @@ The following code shows a minimal example of a Beamer presentation using
\begin{lstlisting}
\documentclass{beamer}
\usetheme{moloch}
-\title{A minimal example}
+\title{A Minimal Example}
\date{\today}
\author{Johan Larsson}
-\institute{Centre for Modern Beamer Themes}
+\institute{Some University}
\begin{document}
\maketitle
\section{First Section}
@@ -187,6 +187,7 @@ The following code shows a minimal example of a Beamer presentation using
\begin{itemize}
\item |tikz|
\item |pgfopts|
+ \item |etoolbox|
\item |calc|
\end{itemize}
\end{multicols}
@@ -224,6 +225,27 @@ The list of options is structured as shown in the following example.
A short description of the option.
}
+
+\subsubsection{Main theme}
+
+\DescribeOption{titleformat}%
+{regular, smallcaps, allsmallcaps, allcaps}
+{regular}{
+ Changes the format of titles, subtitles, section titles, frame titles, and
+ the text on ``standout'' frames. The available options produce
+ Regular, \textsc{SmallCaps}, \textsc{\MakeLowercase{AllSmallCaps}}, or
+ \MakeUppercase{AllCaps} titles. Note that these commands do not
+ affect math and numbers, so may not work as you expect if your titles
+ contain these.
+}
+
+\DescribeOption{titleformat plain}%
+{regular, smallcaps, allsmallcaps, allcaps}%
+{regular}{
+ Changes the format of ``standout'' frames (see |titleformat|, above).
+}
+
+
\subsubsection{Inner theme}
\DescribeOption{sectionpage}{none, simple, progressbar}{progressbar}{
@@ -270,6 +292,20 @@ The list of options is structured as shown in the following example.
of the reverse.
}
+
+\subsubsection{Font theme}
+
+\DescribeMacro{titleformat title}
+\DescribeMacro{titleformat subtitle}
+\DescribeMacro{titleformat section}
+\DescribeOption{titleformat frame}%
+{regular, smallcaps, allsmallcaps, allcaps}%
+{regular}{
+ Individually controls the format of titles, subtitles, section titles, and
+ frame titles (see |titleformat|, above).
+}
+
+
\subsection{Color Customization}
The included \themename color theme is used by default, but its colors can be
@@ -321,6 +357,18 @@ single sentence or image. To use it, add the key |standout| to the frame:
\section{Known Issues}
+\subsection{Title Formats}
+
+Be aware that not every font supports small caps, so the |smallcaps| or
+|allsmallcaps| options may not work for all fonts.
+In particular, the Computer Modern sans-serif typeface, which is used
+by default when \themename is compiled with pdf\LaTeX, does not have a
+small-caps variant.
+
+Note that title format options |allsmallcaps| and |allcaps| do not
+affect the sizes of numerals, punctuation, and math symbol, and are
+probably best avoided if your titles contain these characters.
+
\subsection{Interactions with other color themes}
\themename can be used along with any other Beamer color theme, such as
@@ -412,7 +460,7 @@ solution for Org mode users, using |org-set-property|.
\subsection{Standout frames with Pandoc}
-With Pandoc versions prior 1.17.2 it was not possible to create standout frames
+With Pandoc versions prior to 1.17.2 it was not possible to create standout frames
because Pandoc only supported a specific list of frame attributes thus ignoring
additional attributes such as |{.standout}|.
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/msu-thesis/README.md b/Master/texmf-dist/doc/latex/msu-thesis/README.md
index e46f1c7d41f..d1942487f79 100644
--- a/Master/texmf-dist/doc/latex/msu-thesis/README.md
+++ b/Master/texmf-dist/doc/latex/msu-thesis/README.md
@@ -1,4 +1,4 @@
-# MSU Thesis Class Version 4.3 2024/06/07
+# MSU Thesis Class Version 4.3b 2024/07/08
Copyright 2011-2024 by Alan Munn <amunn@msu.edu>
diff --git a/Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex b/Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex
index 4a653326212..ffd0904eb86 100644
--- a/Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex
+++ b/Master/texmf-dist/doc/latex/msu-thesis/docs/msu-thesis.tex
@@ -2,8 +2,8 @@
\documentclass[11pt]{article}
-\def\msuversion{4.3}
-\def\msudate{2024/06/07}
+\def\msuversion{4.3b}
+\def\msudate{2024/07/08}
\title{\textbf{Using the MSU Thesis Class}}
\author{\textbf{Alan Munn}\\Department of Linguistics, Languages, and Cultures\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}}
\date{Version \msuversion\\\msudate}
@@ -467,7 +467,7 @@ Florent Chervet for early \pkg{hyperref} code (up until v.3.6), and Ulrike Fisch
current \pkg{hyperref} code. Thanks to David Carlisle for helping me understand a ridiculous spacing problem.
Thanks also to the following people who have reported
problems over the years: Irina Agafonova, Ali Al-jiboory, Abubakr Ayesh, Julian Blank,
-Nathan Brugnone, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk
+Nathan Brugnone, Dmitriy Bryndin, Harrison Cassady, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk
Jung, Minkyu Kim, Claire Kopenhafer, Adam Liter, Vanessa Maldonado, Andriana Manousidaki, Ben Miller, William Muir, Eureka
Pai, Alicia Parrish, Victoria Parrish, Neil ver Planck, Taha Posos, Nick Rekuski, Giacomo Romanini, William Sands, Adam
Soliman, Mookyong Son, Erik Stitt, Fanurs C.E. Teh, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Atacan Yücesoy, Ali
diff --git a/Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdf b/Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdf
index 89adadc3321..11fe39050a8 100644
--- a/Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdf
+++ b/Master/texmf-dist/doc/latex/msu-thesis/msu-thesis.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf b/Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
index 6e9c51144e1..2de16c49650 100644
--- a/Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
+++ b/Master/texmf-dist/doc/latex/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/overarrows/README.md b/Master/texmf-dist/doc/latex/overarrows/README.md
index f2139d64993..a70fd1601cb 100644
--- a/Master/texmf-dist/doc/latex/overarrows/README.md
+++ b/Master/texmf-dist/doc/latex/overarrows/README.md
@@ -13,11 +13,11 @@ Julien Labbé <Julien.Labbe@univ-grenoble-alpes.fr> Université Grenoble-Alpes
## Repository
-https://gricad-gitlab.univ-grenoble-alpes.fr/labbeju/latex-packages/-/tree/main/overarrows
+https://github.com/julienlabbe/latex-packages/tree/main/overarrows
## Licence
-Copyright (C) 2023 by Julien Labbé
+Copyright (C) 2023-2024 by Julien Labbé
This file may be distributed and/or modified under the conditions of the LaTeX
Project Public License (LPPL), either version 1.3c of this license or (at your
diff --git a/Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty b/Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty
index df8e30f7930..9fc29228d18 100644
--- a/Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty
+++ b/Master/texmf-dist/doc/latex/overarrows/overarrows-doc.sty
@@ -32,6 +32,7 @@
\lstdefinestyle{lstovardoc}{%
language = [LaTeX]TeX,
columns = flexible,
+ keepspaces = true,
keywordstyle = {\bfseries\color{ovar_darkblue}},
texcsstyle = *{\bfseries\color{ovar_darkblue}},
commentstyle = {\color{gray}},
@@ -126,7 +127,7 @@ actual '='
name=macrocode,
firstnumber=auto,
style = lstovarcode,
- showlines=false,
+ showlines = false,
texcs = [2]{% commands
DeclareOverArrowCommand, ProvideOverArrowCommand,%
NewOverArrowCommand, RenewOverArrowCommand,%
@@ -147,8 +148,9 @@ actual '='
indexstyle = [3]\indexlength,%
texcs = [4]{% internal macros
ovar@rightarrow, ovar@leftarrow, ifovar@option@oldarrows@,
- ifovar@option@esvect@, ifovar@option@tikz@, ifovar@option@pstarrows@,
- ifovar@detectsubscripts@, ifovar@option@debug@,
+ ifovar@option@esvect@, ifovar@option@tikz@, ifovar@option@pstricks@,
+ ifovar@option@pstarrows@, ifovar@detectsubscripts@,
+ ifovar@option@subother@, ifovar@option@subactive@, ifovar@option@debug@,
ifovar@option@overrightarrow@, ifovar@option@underrightarrow@,
ifovar@option@overleftarrow@, ifovar@option@underleftarrow@,
ifovar@option@overleftrightarrow@, ifovar@option@underleftrightarrow@,
@@ -156,26 +158,29 @@ actual '='
ifovar@option@overrightharpoondown@, ifovar@option@underrightharpoondown@,
ifovar@option@overleftharpoonup@, ifovar@option@underleftharpoonup@,
ifovar@option@overleftharpoondown@, ifovar@option@underleftharpoondown@,
- ifovar@option@overbar@, ifovar@option@underbar@, ovar@set, ovar@length@min,
+ ifovar@option@overbar@, ifovar@option@underbar@, ovar@auto@middle,
+ ovar@auto@trim@middle, ovar@subcmd, ovar@set, ovar@length@min,
ovar@before@arrow, ovar@after@arrow, ovar@macro@stack, ovar@macro@arrow,
- ovar@set@, ovar@shift@left, ovar@shift@right, ovar@stack@fill,
- ovar@stackunder@fill, ovar@stack@lens, ovar@stackunder@lens,
- ovar@macro@arrowfill, ovar@arrow@fill, ovar@arrow@start, ovar@trim@start,
- ovar@trim@middle, ovar@arrow@middle, ovar@trim@end, ovar@arrow@end,
- ovar@tikz@command, ovar@tikz@pathoptions, ovar@tikz@path,
- ovar@tikz@options, ovar@picture@geometry, ovar@picture@linethickness,
- ovar@picture@command, ovar@extralength, ovar@tempdim, ovar@set@arrowlength,
- ovar@set@arrowthickness, ovar@stackover@@, ovar@stackunder@@,
- ovar@stackover@, ovar@stackunder@, ovar@stackover@fill,
- ovar@stackover@lens, ovar@set@common, ovar@starversion,
- ovar@testmathstyles, ovar@row@teststyle,%
- ifovar@option@subother@,ifovar@option@subactive@,ovar@subcmd,ovar@testkerning,%
+ ovar@shift@left, ovar@shift@right, ovar@stack@fill, ovar@stackunder@fill,
+ ovar@stack@lens, ovar@stackunder@lens, ovar@macro@arrowfill,
+ ovar@arrow@fill, ovar@arrow@start, ovar@trim@start, ovar@trim@middle,
+ ovar@arrow@middle, ovar@trim@end, ovar@arrow@end, ovar@tikz@command,
+ ovar@tikz@pathoptions, ovar@tikz@path, ovar@tikz@options,
+ ovar@pstricks@geometry, ovar@pstricks@linethickness, ovar@pstricks@psset,
+ ovar@pstricks@command, ovar@picture@geometry, ovar@picture@linethickness,
+ ovar@picture@command, ovar@tempdim, ovar@set@arrowlength,
+ ovar@set@arrowthickness, ovar@set@arrowthickness@UM@lua,
+ ovar@rulethickness@fontdimen, ovar@rulethickness@family, ovar@stackover@@,
+ ovar@stackunder@@, ovar@stackover@, ovar@stackunder@, ovar@stackover@fill,
+ ovar@stackover@lens, ovar@cmdname@processor, ovar@set@common,
+ ovar@starversion, ovar@tempbox, ovar@testmathstyles, ovar@row@teststyle,
+ ovar@testkerning%
},
index = [4][texcs4],%
indexstyle = [4]\indexmacrointernal,%
moretexcs = [5]{% other macros
- Relbar, relbareda, relbaredd, rightarrow, Rightarrow, varleftarrow,
- varrightarrow, twoheadrightarrow,%
+ relbar, Relbar, relbareda, relbaredd, harrowextender, rightarrow,
+ Rightarrow, varleftarrow, varrightarrow, twoheadrightarrow,%
},
}
\csname\@lst @SetFirstNumber\endcsname
diff --git a/Master/texmf-dist/doc/latex/overarrows/overarrows.pdf b/Master/texmf-dist/doc/latex/overarrows/overarrows.pdf
index 7203b11bb3d..701f3ec02fa 100644
--- a/Master/texmf-dist/doc/latex/overarrows/overarrows.pdf
+++ b/Master/texmf-dist/doc/latex/overarrows/overarrows.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/passopt/README.md b/Master/texmf-dist/doc/latex/passopt/README.md
new file mode 100644
index 00000000000..f8eb8f4c437
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/passopt/README.md
@@ -0,0 +1,18 @@
+# The `passopt` package
+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.
+
+## 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
+
+## Website
+| [Gitee](https://gitee.com/texno3/passopt) | [Github](https://github.com/texno3/passopt) | [CTAN](https://ctan.org/pkg/passopt) |
+
+## Maintainer
+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
new file mode 100644
index 00000000000..ce6e437c651
--- /dev/null
+++ 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
new file mode 100644
index 00000000000..fb4473e3567
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/passopt/passopt.tex
@@ -0,0 +1,103 @@
+\documentclass[load-preamble+]{cnltx-doc}
+
+\usepackage{setspace,hologo,changelog,enumitem}
+\usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry}
+\setcnltx
+ {
+ package = passopt,
+ version = v1.01a,
+ date = 2024/07/17,
+ authors = Qu Yi,
+ info = Passing options to packages or classes,
+ email = toquyi@163.com,
+ url = https://github.com/texno3/passopt,
+ abstract =
+ {
+ \pkg*{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.
+ },
+ color-scheme = blue,
+ listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
+ pre-output = {\parindent = 0em\setstretch{1.3}},
+ before-skip = \smallskipamount,
+ after-skip = \smallskipamount
+ }
+\makeatletter
+\newcommand{\splitmeta}[2]{\meta{#1}\texttt{,}\meta{#2}}
+\newcommand{\newsplitarg}[4][\splitmeta]
+ {
+ \newcommand{#2}[2]
+ {\code{\textcolor{argument}{#3\textnormal{#1{##1}{##2}}#4}}}
+ }
+\newcommand{\kvsplit}[3]
+ {
+ \item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}}
+ \cnltx@checkdefault{\hfill\newline}
+ }
+\newsplitarg{\splitoarg}{[}{]}
+\newsplitarg{\splitmarg}{\{}{\}}
+\newsplitarg{\splitdarg}{(}{)}
+\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}
+\section{Preface}
+For a developer, there are some cases where packages and classes may load other packages or classes with options. However, other developers or users may wish to disable the enabled options or enable new ones. To enable new options, \hologo{LaTeXe} provides the \cs{PassOptionsToPackage} and \cs{PassOptionsToClass} commands to pass the options before the package or class is loaded, but the passed options are located on the \textcolor{red}{left} side of the final options list.
+\begin{sourcecode}
+ \PassOptionsToPackage{opt1,opt2=A}{mypackage}
+
+ \documentclass{book}
+ \usepackage[opt3]{mypackage}
+
+ \begin{document}
+\end{sourcecode}
+
+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.
+ \command{SetOptionsToClass}[\sarg\marg{options list}\marg{class}]
+ Similar to the previous command, but passing options for the document class.
+ \begin{sourcecode}
+ \RequirePackage{passopt}
+ \SetOptionsToPackage{opt1,opt2=A}{mypackage}
+
+ \documentclass{book}
+ \usepackage[opt3]{mypackage}
+
+ \begin{document}
+ \end{sourcecode}
+
+ In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt3,opt1,opt2=A}}. If the asterisk parameter is used, the list is \fbox{\code{opt1,opt2=A}}.
+
+ Note that since macro packages or document classes can only be loaded effectively once (using the \cs{usepackage} and \cs{RequirePackage} commands), only options passed before the first loading of a macro package or document class are effective, and it is recommended for users to use commands that pass options before \cs{documentclass}.
+ \command{ClearPackageOptions}[\marg{package}]
+ Clears the options that will be loaded into the macro package. The following commands has the same effect as \cs*{SetOptionsToPackage}\code{*}.
+ \begin{sourcecode}
+ \ClearPackageOptions{mypackage}
+ \SetOptionsToPackage{opt1,opt2=A}{mypackage}
+ \end{sourcecode}
+ \command{ClearClassOptions}[\marg{class}]
+ 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 f33f53fa726..b1a6ef2279d 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.0a (2024/04/03).
+This is pgf-PeriodicTable, version 2.1.1 (2024/07/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,12 @@ ____________________________________________________________
Major changes:
+*** v2.1.1 (07/07/2024) ***
+New keys:
+- group numbers (to display group numbers in arabic numerals, Roman numerals or both)
+- Roman label color (sets the color of the Roman numerals)
+- O Roman (the oxidation numbers are presnted in Roman numerals)
+
*** v2.1.0a (03/04/2024) ***
Translation files have been renamed from 'lang.{undefined,nl}.tex' to 'pgfPT.lang.{undefined,nl}.tex' to match the runtime tree of TeX Live (names must be globally unique for reliable searching).
diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_O.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_O.tex
new file mode 100644
index 00000000000..06f322d5eef
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_O.tex
@@ -0,0 +1,33 @@
+\vfill%
+\subsubsection{\texorpdfstring{\ding{224} The oxidation states}{The oxidation states}}%\vspace{6pt}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% O color
+\pgfPTMoption{4}{O color}{black}{%
+Sets the color of the oxidation states.
+}
+\\ [10pt]\pgfPTMbuildcell(5,3)[(1;1-2;Z),(1;3;radio),(2-3;1.5-3.5;CS),(4;1-3;name),(5;1-3;O)]%
+\pgfPTbuildcell(5,3)[(1;1-2;Z),(1;3;radio),(2-3;1.5-3.5;CS),(4;1-3;name),(5;1-3;O)]%
+\\ [5pt]\pgfPTMmacrobox{pgfPTstyle}[show title=false]%
+\pgfPTstyle[show title=false]%
+\\ [-1pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},O color=red]%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},O color=red]}}%
+\\ [0pt]\pgfPTendoption%
+% O font \tiny\bfseries
+\pgfPTMoption{4}{O font}{\string\tiny\string\bfseries}{%
+Sets the font of the oxidation states.
+}
+\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},O font=\string\itshape\string\tiny]%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},O font=\itshape\tiny]}}%
+\\ [0pt]\pgfPTendoption%
+% O Roman
+\newpage\vspace{-34pt}\ %
+\pgfPTMoption[\mbox{\pgfPTnewinversion{2.1.1}}]{4}{O Roman}{false}{%
+When set to \red{true} the oxidation states are displayed in Roman numerals, otherwise they are displayed in arabic numerals.
+}
+%\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},O Roman]%
+%\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},O Roman]}}%
+\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list=spd,O Roman,group numbers=CAS]%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list=spd,O Roman,group numbers=CAS]}}%
+\\ [5pt]\pgfPTendoption%
+\pgfPTresetcell%
+\endinput
diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex
index e74b8bf418f..c90a4cae942 100644
--- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_OtherCont.tex
@@ -12,7 +12,7 @@ For all the \textit{other contents} available for the cells of the periodic tabl
\item\red{\textbf{Ei}}:\hspace{.5ex}first ionization energy
\item\red{\textbf{eneg}}:\hspace{.5ex}electronegativity (Pauling)
\item\red{\textbf{eaff}}:\hspace{.5ex}electroaffnity
-\item\red{\textbf{O}}:\hspace{.5ex}oxidation states
+%\item\red{\textbf{O}}:\hspace{.5ex}oxidation states
\item\red{\textbf{Tmelt}}:\hspace{.5ex}melting point (Kelvin)
\item\red{\textbf{TmeltC}}:\hspace{.5ex}melting point (Celsius degrees)
\item\red{\textbf{Tboil}}:\hspace{.5ex}boiling point (Kelvin)
diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex
index 2a33c0371e8..511bd765c69 100644
--- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_density.tex
@@ -14,28 +14,28 @@ Sets the density value text color.}
\pgfPTMoption{4}{d font}{\string\tiny\string\bfseries}{%
Sets the density value text font.
}
-\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false]%
-\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},Z list={1,...,36},cell style=myd,show title=false]}}%
-\\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false,d font=\string\tiny\string\itshape]%
+%\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false]%
+%\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},Z list={1,...,36},cell style=myd,show title=false]}}%
+\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false,d font=\string\tiny\string\itshape]%
\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},Z list={1,...,36},cell style=myd,show title=false,d font=\tiny\itshape]}}%
\\ [0pt]\pgfPTendoption%
-% d unit=<g/cm3|g/dm3|both> .default=g/dm3
\vfill%
+% d unit=<g/cm3|g/dm3|both> .default=g/dm3
\pgfPTMoption[\pgfPTnewinversion{1.0.1}]{4}{d unit}{both}{%
Sets the unit for the density of the elements. The two possible values to this key are \red{g/dm3} ($\mathsf{g/dm^3}$), \red{g/cm3} ($\mathsf{g/cm^3}$) and \red{both} ($\mathsf{g/dm^3}$ for elements in the gaseous state and $\mathsf{g/cm^3}$ for all other elements).
}%
\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false]%
-\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false]}}%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false]}}%
\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false,d unit=g/cm3]%
-\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false,d unit=g/cm3]}}%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false,d unit=g/cm3]}}%
\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},cell style=myd,show title=false,d unit=g/dm3]%
-\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false,d unit=g/dm3]}}%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},cell style=myd,show title=false,d unit=g/dm3]}}%
\\ [0pt]\pgfPTendoption%
-\vfill\newpage\ \\ [-32pt]%
+\newpage\ \\ [-32pt]%
% d precision
\pgfPTMoption{4}{d precision}{-1}{%
Sets the density precision, \ie, the decimal places displayed in their value, performing the respective rounding, without zero padding the value.
-\\ [10pt]\tikz{\node[text width=\linewidth-.6666em,fill=orange!5!white,draw=orange,rounded corners=2pt] {\textbf{\red{NOTE}}:\\ Rounding is performed over density values witch actually have a maximum 5 or 8 decimal places, when the values are in $\mathsf{g/dm^3}$ or in $\mathsf{g/cm^3}$, respectively.. So giving this key a value of -1 (the value of the melting or boiling point as-is) or 5 or 8 has the same effect.
+\\ [10pt]\tikz{\node[text width=\linewidth-.6666em,fill=orange!5!white,draw=orange,rounded corners=2pt] {\textbf{\red{NOTE}}:\\ Rounding is performed over density values witch actually have a maximum 5 or 8 decimal places, when the values are in $\mathsf{g/dm^3}$ or in $\mathsf{g/cm^3}$, respectively.. So giving this key a value of -1 (the value of the density as-is) or 5 or 8 has the same effect.
\\ \textit{Therefore the values provided to this key should be any integer between -1 and 4 ($\mathsf{g/dm^3}$) or 7 ($\mathsf{g/cm^3}$). Any other integer provided will be processed as -1.}};}
}
\vfill%\\ [10pt]
diff --git a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex
index 59e27e553e5..ff09b0b2e16 100644
--- a/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/manualfiles/pgf-PeriodicTableManual_periodgroup.tex
@@ -1,4 +1,3 @@
-%\vfill\vfill%
\subsubsection{\texorpdfstring{\ding{224} Periods and Groups}{Periods and Groups}}%\vspace{6pt}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% show period numbers
@@ -10,17 +9,38 @@
\\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},show period numbers=false]%
\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},show period numbers=false]}}%
\\ [5pt]\pgfPTendoption%
-%\vfill%
-%\newpage\ \\ [-32pt]%
% show group numbers
\label{option_show group numbers}%
\pgfPTMoption{4}{show group numbers}{true}%
{When set to \red{true} the group numbers are shown, otherwise they are not shown.}%
\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36}]%
-\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36}]}}%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36}]}}%
\\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},show group numbers=false]%
-\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},show group numbers=false]}}%
-\\ [5pt]\pgfPTendoption%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},show group numbers=false]}}%
+\\ [0pt]\pgfPTendoption%
+\vfill%
+% group numbers
+\label{option_group numbers}%
+\pgfPTMoption[\pgfPTnewinversion{2.1.1}]{4}{group numbers}{arabic}%
+{This key controls how group numbering is displayed:
+\vspace{4pt}\begin{itemlist}
+\item\red{\textbf{arabic}}: group numbers are shown in arabic numerals as recommended by IUPAC since 1988.
+\item\red{\textbf{CAS}}: group numbers are shown in Roman numerals and `A' or `B' suffix. This is an older naming scheme, used by the Chemical Abstract Service (CAS), more popular in the United States.
+\item\red{\textbf{IUPAC}}: group numbers are shown in Roman numerals and `A' or `B' suffix. This is an older naming scheme, used by IUPAC before 1988, more popular in Europe.
+\item\red{\textbf{CAS*}}: combines the option \red{CAS} and \red{arabic}. Roman numerals and `A' or `B' suffix are above the group and the arabic numerals above them.
+\item\red{\textbf{IUPAC*}}: combines the option \red{IUPAC} and \red{arabic}. Roman numerals and `A' or `B' suffix are above the group and the arabic numerals above them.
+\end{itemlist}
+}%
+\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=CAS]%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=CAS]}}%
+\newpage\vspace{-34pt}\ %\\ [10pt]
+\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=IUPAC]%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=IUPAC]}}%
+\\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=CAS*]%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=CAS*]}}%
+\\ [10pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=IUPAC*]%
+\\ [5pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=IUPAC*]}}%
+\\ [0pt]\pgfPTendoption%
\vfill%
% period label color
\label{option_period label color}%
@@ -28,19 +48,26 @@
{Sets the period label color.}%
\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},period label color=black]%
\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},period label color=black]}}%
-\\ [5pt]\pgfPTendoption%
-\vfill%
-%\newpage\ \\ [-32pt]%
+\\ [0pt]\pgfPTendoption%
+\newpage\vspace{-34pt}\ %\vfill%
% group label color
\label{option_group label color}%
\pgfPTMoption{4}{group label color}{blue!50!black}%
{Sets the group label color.}%
-\vfill%
-\newpage%\\ [5pt]
-\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group label color=black]%
+\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group label color=black]%
\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group label color=black]}}%
\\ [0pt]\pgfPTendoption%
\vfill%
+% Roman label color
+\label{option_Roman label color}%
+\pgfPTMoption[\pgfPTnewinversion{2.1.1}]{4}{Roman label color}{blue!70!black}%
+{Sets the Roman group label color.}%
+\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=CAS*,Roman label color=purple]%
+\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=CAS*,Roman label color=purple]}}%
+\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},group numbers=CAS*,Roman label color=purple, group label color=teal]%
+\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},group numbers=CAS*,Roman label color=purple,group label color=teal]}}%
+\\ [0pt]\pgfPTendoption%
+\vfill%
% label font
\label{option_label font}%
\pgfPTMoption{4}{label font}{\string\small\string\bfseries}%
@@ -62,7 +89,6 @@ The key \red{show period numbers} is set to \red{true}.
\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},per={gr=false,c=green!50!black}]}}%
\\ [0pt]\pgfPTendstyle%
\vfill%
-%\newpage\ \\ [-32pt]%
% gr={per=??,c=??,f=??} -> auto sets 'show groups numbers=true'; 'show period numbers' can be set to 'false' by the user
% gr/.default={per=true,c=blue!50!black,f=\small\bfseries}
% gr (pseudo style)
@@ -72,11 +98,10 @@ The key \red{show period numbers} is set to \red{true}.
The key \red{show group numbers} is set to \red{true}.
\\ [3pt]\makebox[\linewidth][c]{\use{gr=\{per=<true|false>,c=<color>,f=<font commands>\}}}%
}%
-\vfill%
-\newpage%\\ [5pt]
-\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},gr={per=false,c=green!50!black}]%
+\\ [5pt]\pgfPTMmacrobox{pgfPT}[Z list={1,...,36},gr={per=false,c=green!50!black}]%
\\ [10pt]\makebox[\linewidth][c]{\scalebox{.6}{\pgfPT[Z list={1,...,36},gr={per=false,c=green!50!black}]}}%
\\ [0pt]\pgfPTendstyle%
+\newpage\vspace{-34pt}\ %%
% per+gr={c=??,pc=??,gc=??,f=??} -> auto sets 'show period numbers=true' & 'show groups numbers=true'
% per+gr/.default={pc=red!50!black,gc=blue!50!black,f=\small\bfseries}
% per+gr (pseudo style)
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 70d6e325ca6..ddaee71477b 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,12 +1,13 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Definitions for pgf-PeriodicTable Manual
-% Hugo Gomes @ 04/03/2024 v2.1.0a
+% Hugo Gomes @ 07/07/2024 v2.1.1
+% Hugo Gomes @ 03/04/2024 v2.1.0a
% Hugo Gomes @ 14/02/2024 v2.1.0
% Hugo Gomes @ 29/05/2023 v2.0.1
% 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.0a}%
+\def\pgfPTversion{2.1.1}%
\def\pgfPTnewinversion#1{new in v#1}%
\def\pgfPTchangedinversion#1{changed in v#1}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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 7c0b250d7c0..c588490c487 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/pgf-periodictable/pgf-PeriodicTableManual.tex b/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.tex
index 659f09fd727..c2b22dd9ad3 100644
--- a/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.tex
+++ b/Master/texmf-dist/doc/latex/pgf-periodictable/pgf-PeriodicTableManual.tex
@@ -10,7 +10,7 @@
\date{\today}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}%
-\usefont{T1}{verdana}{m}{n}%
+\usefont{T1}{vna}{m}{n}
\begin{titlepage}
\vspace{\stretch{1}}%
\maketitle\thispagestyle{empty}%
@@ -114,8 +114,8 @@ This option works with the \textrm{Xe\LaTeX} and \textrm{Lua\LaTeX} engines to t
\\ [3pt]\pgfPTMline
\subsection{Interaction with other packages}
\subsubsection{fontspec}
-To correctly set the font in each cell contents the command \bs{fontspec} must be used. For example if you want to use \textit{Arial} for the \red{name font}, it must be set using \red{font name=\bs{fontspec}\lb Arial\rb\bs{selectfont}}.\\ All other font selection commands, \eg, \bs{large}, \mbox{\bs{itshape}}, are used as usual. For example if you want to use \textit{Arial}\hfil\ in\hfil\ \textit{large}\hfil\ size\hfil\ and\hfil\ \textit{bold}\hfil\ weight\hfil\ for\hfil\ the \red{name font}, then you type
-\\ \makebox[\linewidth][s]{\red{font name=\bs{large}\bs{bfseries}\bs{fontspec}\lb Arial\rb\bs{selectfont}}\hfil\ or\hfil\ \red{font name=\bs{fontspec}\lb Arial\rb}}
+To correctly set the font in each cell contents the command \bs{fontspec} must be used. For example if you want to use \textit{Arial} for the \red{name font}, it must be set using \red{name font=\bs{fontspec}\lb Arial\rb\bs{selectfont}}.\\ All other font selection commands, \eg, \bs{large}, \mbox{\bs{itshape}}, are used as usual. For example if you want to use \textit{Arial}\hfil\ in\hfil\ \textit{large}\hfil\ size\hfil\ and\hfil\ \textit{bold}\hfil\ weight\hfil\ for\hfil\ the \red{name font}, then you type
+\\ \makebox[\linewidth][s]{\red{name font=\bs{large}\bs{bfseries}\bs{fontspec}\lb Arial\rb\bs{selectfont}}\hfil\ or\hfil\ \red{name font=\bs{fontspec}\lb Arial\rb}}
\\ \bs{large}\bs{bfseries}\bs{selectfont}.
\subsubsection{ragged2e}
Using \texttt{\large\textcolor{green!40!black}{\textbackslash usepackage}\textcolor{blue!70!black}{[}\textcolor{brown!60!black}{document}%
@@ -203,6 +203,8 @@ The following options and styles are used for customizing the contents available
\input{manualfiles/pgf-PeriodicTableManual_name.tex}%
\label{file:Ar}%
\input{manualfiles/pgf-PeriodicTableManual_Ar.tex}%
+\label{file:O}%
+\input{manualfiles/pgf-PeriodicTableManual_O.tex}%
\label{file:density}%
\input{manualfiles/pgf-PeriodicTableManual_density.tex}%
\label{file:ls}%
diff --git a/Master/texmf-dist/doc/latex/pgf-spectra/README b/Master/texmf-dist/doc/latex/pgf-spectra/README
index 3f4fef79e28..12c4c6b8ada 100644
--- a/Master/texmf-dist/doc/latex/pgf-spectra/README
+++ b/Master/texmf-dist/doc/latex/pgf-spectra/README
@@ -1,4 +1,4 @@
-This is pgf-spectra, version 3.0.1 (27/04/2023).
+This is pgf-spectra, version 3.0.1a (07/07/2024).
This package provides the \pgfspectra[<options>] command which draws continuous and emission or absorption spectra for 98 elements and their ions.
It was developed mainly for the writing of my own documentation and exams sheets supporting directly PDF output format.
@@ -7,7 +7,7 @@ It also allows the user to draw a spectrum with their own personal data.
The lines data extends from Extreme UV to Near IR (from 10 to 4000 nanometers).
It is possible to redshift the lines of a spectrum, by directly entering the redshift value or the velocity and the angle to compute the redshift value.
Spectral lines data can be presented in a table or exported to a file.
-This package also provides color conversion (correlated color temperature), shadings for use with TikZ and/or PGFPLOTS, color maps for use with PGFPLOTS,
+This package also provides color conversion (correlated color temperature), shadings for use with TikZ and/or PGFPLOTS, color maps for use with PGFPLOTS,
displaying the spectral lines in a table and exporting the lines data files.
____________________________________________________________
@@ -18,13 +18,24 @@ ____________________________________________________________
** Licence: released under the LaTeX Project Public License v1.3 or later, see http://www.latex-project.org/lppl.txt
____________________________________________________________
+*** v3.0.1a (07/07/2024) ***
+Removed lines data outside the range 10nm - 4000nm (H, He, Be, C, Si, Kr, Sn, I) in LSE data file, which generate a package warning, e.g.
+«Package pgf-spectra Warning: invalid wavelength (4051.1602nm). The wavelength must be lesser or equal to 4000nm (NIR)... on input line 27».
+Fixed chemical symbol label width producing incorrect alignment on consecutive lines for the spectrum of some elements, e.g.
+-------------------------------------------------------
+\pgfspectraStyle[axis,begin=400,end=700,axis step=20,axis ticks=9,axis color=lightgray, axis font color=black,label,width=.88\textwidth,height=0.7cm]
+\noindent\pgfspectra[element=Cl]
+
+\noindent\pgfspectra[element=Rn]
+-------------------------------------------------------
+
*** v3.0.1 (27/04/2023) ***
-Fixed a small bug dealing with the 'axis label'/'axis label text' background color, which occurred when setting a visible background with the 'back' key, e.g.,
+Fixed a small bug dealing with the 'axis label'/'axis label text' background color, which occurred when setting a visible background with the 'back' key, e.g.,
\pgfspectra[element=H,axis label text={wavenumber in nanometer},back=visible50]
*** v3.0.0 (25/04/2023) ***
-In the \pgfspectra command, syntax for the key 'lines' has been updated: it is now possible to specify a continuous range using 'start wavelength to end
+In the \pgfspectra command, syntax for the key 'lines' has been updated: it is now possible to specify a continuous range using 'start wavelength to end
wavelength', for instance, 'lines={380 to 500}' or 'lines={380 to 500,633}' or 'lines={633,555,380 to 500}'.
New keys for \pgfspectra:
- axis label
@@ -45,12 +56,12 @@ ____________________________________________________________
Previous versions
*** v2.2.0 (21/02/2023) ***
-LSE data renormalized to lower values within TeX capabilities. This prevents 'Dimension too large' errors and subsequent errors in spectrum drawing when
+LSE data renormalized to lower values within TeX capabilities. This prevents 'Dimension too large' errors and subsequent errors in spectrum drawing when
using the 'relative intensity' key.
-Added maximum intensities in IR, visible an UV ranges for both data sources (NIST and LSE). Now, when using the 'relative intensity' key, the interval of
-wavelengths is detected and the respective maximum intensity is used. For example, if the spectrum is within the visible range, say between 400 and 700
-nanometers, the maximum visible intensity will be used. The same is true for ranges only in IR or UV ranges. But, if the spectrum to be drawn is in more
-than one region - for example, from 300 to 1000 or from 400 to 1000 or from 300 to 700 nanometers - the maximum intensity that will be used is defined
+Added maximum intensities in IR, visible an UV ranges for both data sources (NIST and LSE). Now, when using the 'relative intensity' key, the interval of
+wavelengths is detected and the respective maximum intensity is used. For example, if the spectrum is within the visible range, say between 400 and 700
+nanometers, the maximum visible intensity will be used. The same is true for ranges only in IR or UV ranges. But, if the spectrum to be drawn is in more
+than one region - for example, from 300 to 1000 or from 400 to 1000 or from 300 to 700 nanometers - the maximum intensity that will be used is defined
as the maximum intensity of all data.
Fixed some typos in the manual.
diff --git a/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdf b/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdf
index e003e00f809..a627994bbf8 100644
--- a/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdf
+++ b/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex b/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex
index 16616704042..4ffb5d4c87c 100644
--- a/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex
+++ b/Master/texmf-dist/doc/latex/pgf-spectra/pgf-spectraManual.tex
@@ -20,12 +20,12 @@
\setlength{\parindent}{0pt}
\setlength{\oddsidemargin}{0pt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\version{3.0.1}%
+\def\version{3.0.1a}%
\def\inversion#1{#1}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[pdfstartview={ },colorlinks=true, linkcolor=black!50!green, citecolor=gray, urlcolor=teal, hyperindex, plainpages=false,bookmarksopenlevel=1,bookmarksopen=true]{hyperref}%
\hypersetup{%Start options on pdf
-pdftitle = {Manual for pgf-spectra (v\inversion{3.0.1})},%
+pdftitle = {Manual for pgf-spectra (v\inversion{3.0.1a})},%
pdfsubject = {Emission and absorption lines of the elements},%
pdfkeywords = {Draw the spectrum of elements in a simple way via pgf/TikZ environment. It's possible to draw a desired spectrum, continuous or discrete.},%
pdfauthor = {\textcopyright Hugo Gomes},%
@@ -80,7 +80,7 @@ pdfproducer = {pdfeTeX-1.\the\pdftexversion\pdftexrevision},
\end{titlepage}
\newpage%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pagestyle{empty}%
+\pagestyle{empty}\enlargethispage{\baselineskip}%
\pdfbookmark[1]{Table of contents}{pdfContents}%
\tableofcontents%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -97,6 +97,18 @@ pdfproducer = {pdfeTeX-1.\the\pdftexversion\pdftexrevision},
\vfill\vfill\vfill\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{What's new}
+\vspace{-32pt}\ \subsection*{}{\normalfont\large\bfseries\raisebox{1.25pt}{$\mathbf{\blacktriangleright}$}\ In version 3.0.1a}%
+\addcontentsline{toc}{subsection}{In version 3.0.1a}%
+\begin{itemize}
+\item Removed lines data outside the range $10\,nm$ -- $4000\,nm$ (H, He, Be, C, Si, Kr, Sn, I) in LSE data file, which generate a package warning, e.g.
+\texttt{Package pgf-spectra Warning: invalid wavelength (4051.1602nm). The wavelength must be lesser or\\ equal to 4000nm (NIR)... on input line 27}.
+\item Fixed chemical symbol label width producing incorrect alignment on consecutive lines for the spectrum of some elements, e.g.
+\\ \makebox[\linewidth][s]{\hrulefill}
+\\ \txtspecstyle[axis,begin=400,end=700,axis step=20,axis ticks=9,\\ axis color=lightgray,axis font color=black,label,width=.88\string\textwidth,height=0.7cm]
+\\ \bs{noindent}\bs{pgfspectra}\lp\red{element=Cl}\rp
+\\ \bs{noindent}\bs{pgfspectra}\lp\red{element=Rn}\rp
+\\ \makebox[\linewidth][s]{\hrulefill}
+\end{itemize}
\vspace{-32pt}\ \subsection*{}{\normalfont\large\bfseries\raisebox{1.25pt}{$\mathbf{\blacktriangleright}$}\ In version 3.0.1}%
\addcontentsline{toc}{subsection}{In version 3.0.1}%
\begin{itemize}
@@ -242,7 +254,7 @@ with the following specific keys% \pgfspectraplotshade[options]{name}
\\ [10pt]According to the information on the page the listed lines are based on "Line Spectra of the Ele\-ments", Joseph Reader and Charles H. Corliss CRC Handbook of Chemistry and Physics. This book refers that The table contains the outstanding spectral lines of neutral ($I$) and singly ionized ($II$) atoms of the elements from hydrogen through plutonium ($Z=1-94$); selected strong lines from doubly ionized ($III$), triply ionized ($IV$), and quadruply ionized ($V$) atoms are also included.
\\ [6pt]\makebox[66pt][s]{}\begin{minipage}{\linewidth-66pt}\color{black!70}\small Note: pst-spectra documentation refers "\textit{Line Spectra of the Elements from the Astronomical Data Center of NASA}" as the source material, but I'm assuming the original source is "\textit{Line Spectra of the Ele\-ments}"\textit{, Joseph Reader and Charles H. Corliss CRC Handbook of Chemistry and Physics}, obtained from \href{http://cdsarc.u-strasbg.fr/viz-bin/Cat?VI/16}{http://cdsarc.u-strasbg.fr/viz-bin/Cat?VI/16}.\end{minipage}
\\ [12pt]\tikz{\node[text width=\linewidth-4mm,draw=purple,rounded corners=2pt,fill=black!10!purple!10,inner sep=2mm,text justified] {To use this data set load the package \pack{} with the option \verb|LSE| (acronym to Line Spectra of the Elements):%
- \\ [6pt]\large\color{purple}\verb|\usepackage[LSE]{pgf-spectra}|\\ [6pt]\small\color{orange}\hfill Number of lines provided: 46065 (see file pgf-spectraDataLSE.pdf)};}
+ \\ [6pt]\large\color{purple}\verb|\usepackage[LSE]{pgf-spectra}|\\ [6pt]\small\color{orange}\hfill Number of lines provided: 46031 (see file pgf-spectraDataLSE.pdf)};}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Data based on NIST}
\tikz{\node[text width=\linewidth-4mm,draw=teal,rounded corners=2pt,fill=black!10,inner sep=2mm,text centered] {This set was obtained from \href{https://physics.nist.gov/PhysRefData/Handbook/Tables/findinglist.htm}{https://physics.nist.gov/PhysRefData/Handbook/Tables/findinglist.htm}};}
@@ -2318,7 +2330,7 @@ colorbar horizontal,colormap access=map]
\\ \header
\\ [-1pt]\linhaimpar{\hyperlink{optionlib:backcolor}{back color}}{background color of the table header, of the \textit{element(s)} column, of the table border lines and of the lines between rows}{color}{black!10}{any named color or user defined color}%
\\ [-1pt]\linhapar{\hyperlink{optionlib:databackcolor}{data back color}}{the background color of each data row}{color}{white}{any named color or user defined color}%
-\\ [-1pt]\linhaimpar{\hyperlink{optionlib:elementscolumnwidth}{elements column width}}{the width of the \textit{element(s)} column}{length}{2.5em}{up to maximum \TeX\ dimension (16384pt)}%
+\\ [-1pt]\linhaimpar{\hyperlink{optionlib:elementscolumnwidth}{elements column\vskip0pt width}}{the width of the \textit{element(s)} column}{length}{2.5em}{up to maximum \TeX\ dimension (16384pt)}%
\\ [-1pt]\linhapar{\hyperlink{optionlib:textcolor}{text color}}{the color of all text in the table}{color}{black}{any named color or user defined color}%
\\ [-1pt]\linhaimpar{\hyperlink{optionlib:title}{title}}{the title in the table header}{text}{<REDSHIFTED>\\ SPECTRAL LINES OF ELEMENT(S) \ldots}{}%
\\ [-1pt]\linhapar{\hyperlink{optionlib:width}{width}}{the total width of the table}{length}{\textbackslash linewidth}{up to maximum \TeX\ dimension (16384pt)}%
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/proflycee/ProfLycee-doc.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
index 40cb330c40a..b4802be53e6 100644
--- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
+++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip
index 0ef3a590262..2fef183bb19 100644
--- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip
+++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-docctan.zip
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf
index 5e6698109fb..c3e58a2813b 100644
--- a/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf
+++ b/Master/texmf-dist/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.pdf b/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.pdf
deleted file mode 100644
index c0f369154a9..00000000000
--- a/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.pdf b/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.pdf
new file mode 100644
index 00000000000..a65827b7c47
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.tex b/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.tex
index e0769005af8..59e978ef742 100644
--- a/Master/texmf-dist/doc/latex/prtec/PRTEC19-template.tex
+++ b/Master/texmf-dist/doc/latex/prtec/PRTEC24-template.tex
@@ -4,7 +4,7 @@
%%
%% PRTEC uses A4 paper.
%%
-%% This file is version 1.04 dated 2019/04/17
+%% This file is version 1.07 dated 2024/07/07
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -22,18 +22,17 @@
%%
%% * option to omit PRTEC footer and header [nofoot]
%%
-%% * option not to use newtxtext's superiors font for footnotes [nodefaultsups] and option
-%% * for slightly larger small capitals [largesc]
+%% * option for slightly larger small capitals [largesc]
%%
%% For details of newtxmath and newtxtext, see the documentation available on CTAN (http://ctan.org)
%%
-%% The booktabs, array, and dcolumn packages are loaded by default; those macros may be used for setting tables.
+%% The booktabs, array, and dcolumn packages are loaded by default; those macros are for tables.
%%
%=========================================================
%%
%% LICENSE:
%%
-%% Copyright (c) 2019 John Lienhard
+%% Copyright (c) 2024 John Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -53,17 +52,16 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Class options are described above.
-
-\documentclass[upint,varvw]{prtec}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Editing tools; can delete these if not using.
-
-\usepackage{lipsum} % makes paragraphs of "latin" for layout testing
-\usepackage{comment} % see package documentation. Can comment out sections as needed.
+%% Don't modify the \DocumentMetadata command unless you know what it does.
+%% If this command throws an "undefined" error, your latex system is out of date: comment this command out.
+\DocumentMetadata{
+ pdfstandard = a-2b,% a-4,
+ pdfversion = 1.7,% 2.0,
+ lang = en-US,
+}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Class options are described above.
+\documentclass[upint,varvw,subscriptcorrection]{prtec}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -86,15 +84,15 @@
%%%%% Conference, title, authors, affiliations %%%%%%%%
-\confname{Extended Abstracts of The Second Pacific Rim Thermal Engineering Conference}
-\confdate{December 13-17, 2019}
-\confcity{Maui, Hawaii, USA}
+\confname{Extended Abstracts of The Third Pacific Rim Thermal Engineering Conference}
+\confdate{December 15--19, 2024}
+\confcity{Honolulu, Hawaii, USA}
%%% Your paper number
\paperno{PRTEC-XXXXX}
%%% Your title
-\papertitle{Our research paper: the latest developments in cutting-edge engineering}
+\papertitle{Our research paper: cutting-edge cooling}
%% Put author names into the order you want. Use the same order for affiliations.
@@ -106,7 +104,7 @@
%%
%% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
-\SetAuthors{Mamoru Tanahashi\affil{1}\JointFirstAuthor , Yongchan Kim\affil{2}\JointFirstAuthor , Sumanta Acharya\affil{3} , Koji Fukagata\affil{4}, John Lienhard\affil{5}\CorrespondingAuthor{lienhard@mit.edu}}
+\SetAuthors{Mamoru Tanahashi\affil{1}\JointFirstAuthor, Yongchan Kim\affil{2}\JointFirstAuthor, Sumanta Acharya\affil{3}, Koji Fukagata\affil{4}, John Lienhard\affil{5}\CorrespondingAuthor{lienhard@mit.edu}}
\SetAffiliation{1}{Department of Mechanical Engineering, Tokyo Institute of Technology, Japan}
\SetAffiliation{2}{School of Mechanical Engineering, Korea University, Republic of Korea}
@@ -124,18 +122,17 @@
\begin{abstract}
-This guide has been prepared for authors of extended abstract to be presented at The Second Pacific Rim Thermal Engineering Conference (PRTEC2019), December 13--17, 2019, Maui, Hawaii, USA. Authors are requested to follow these guidelines to achieve uniformity in the presentation of the proceedings. The main format of the extended abstract is as follows. Text: Times New Roman (or equivalent), 11 pt, left and right justified. Headings: Times New Roman, all capitals, 12 pt, centered. Page size A4 (210 $\times$ 297 mm); 20 mm borders all round; paper title starts at 40 mm from the top of the page except for the first page. Convert the manuscript to a single PDF file and submit it to the Online Submission System (\url{https://www.jsme.or.jp/ted/PRTEC2019/}) by the electrical format. The abstract should summarize the key findings in your study and should be in a single paragraph no more than 250 words. It should give an account of the most relevant contributions of the paper. It is also important to briefly indicate the goal, the methods, the results, and the conclusions. Avoid abbreviations, diagrams, and references. It must be self-contained and understandable without reference to the text.
+This guide has been prepared for authors of extended abstract to be presented at The Second Pacific Rim Thermal Engineering Conference (PRTEC2024), December 15--19, 2024, Honolulu, Hawaii, USA. Authors are requested to follow these guidelines to achieve uniformity in the presentation of the proceedings. The main format of the extended abstract is as follows. Text: Times New Roman (or equivalent), 11 pt, left and right justified. Headings: Times New Roman, all capitals, 12 pt, centered. Page size A4 (210 $\times$ 297 mm); 20 mm borders all round; paper title starts at 40 mm from the top of the page except for the first page. Convert the manuscript to a single PDF file and submit it to the Online Submission System (\url{https://www.jsme.or.jp/conference/PRTEC2024/}) by the electrical format. The abstract should summarize the key findings in your study and should be in a single paragraph no more than 250 words. It should give an account of the most relevant contributions of the paper. It is also important to briefly indicate the goal, the methods, the results, and the conclusions. Avoid abbreviations, diagrams, and references. It must be self-contained and understandable without reference to the text.
-\keywords{PRTEC, Extended Abstract, Template; 10 pt Times font} %% <=== Change to your keywords, keep this command before \end{abstract}.
+\keywords{Times New Roman, 10 pt, Convection, Computational methods, Heat exchanger, Cooling turbine blade, Film cooling, High temperature} %% <=== Change to your keywords, keep this command before \end{abstract}.
\end{abstract}
-
\section{Introduction \NoCaseChange{(Details for submitting extended abstract)}}
-The Extended Abstract must be formatted using this template and submitted by \textbf{June 30, 2019} for review. \textbf{The final version of the Extended Abstract must be submitted by August 31, 2019 for inclusion in the proceedings.} The final version of the extended abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
+The Extended Abstract must be formatted using this template and submitted by \textbf{August 15, 2024} for review. \textbf{The final version of the Extended Abstract must be submitted by September 30, 2024 for inclusion in the proceedings.} The final version of the extended abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
-It is assumed that the corresponding author will make a presentation at the conference. Each accepted extended abstract must have at least one paid regular or student registration by \textbf{August 31, 2019} to ensure that their presentation is included in the Conference Program.
+It is assumed that the corresponding author will make a presentation at the conference. Each accepted extended abstract must have at least one paid regular or student registration by \textbf{October 15, 2024} to ensure that their presentation is included in the Conference Program.
\section{Length and Layout}
@@ -150,7 +147,7 @@ The layout of the extended abstract should follow the style of this document, st
\textbf{KEYWORDS:} Keywords can be selected to describe the feature of the extended abstract. Leave two blank lines between keywords and the first major heading.
-\textbf{Header and footnotes:} The header includes the Paper number. \textbf{Please insert your presentation ID supplied by the Online Submission System, e.g., PRTEC-23456, if your presentation ID is PRTEC-23456.} The footnote of the first page contains E-mail address of the corresponding author. Note that this ``formal'' corresponding author can be different from the ``practical'' corresponding author registered on the submission system. Do not edit the copyright line. We do not transfer the copyright for the authors' convenience. The copyright line should always appear as ``Copyright \textcopyright\ 2019 by The Author(s). Distributed by JSME, KSME, and ASTFE with permission.'' Do not substitute the authors' names in the copyright line.
+\textbf{Header and footnotes:} The header includes the Paper number. \textbf{Please insert your presentation ID supplied by the Online Submission System, e.g., PRTEC-23456, if your presentation ID is PRTEC-23456.} The footnote of the first page contains E-mail address of the corresponding author. Note that this ``formal'' corresponding author can be different from the ``practical'' corresponding author registered on the submission system. Do not edit the copyright line. We do not transfer the copyright for the authors' convenience. The copyright line should always appear as ``Copyright \textcopyright\ 2024 by The Author(s). Distributed by JSME, KSME, and ASTFE with permission.'' Do not substitute the authors' names in the copyright line.
@@ -240,11 +237,11 @@ Authors from non-English speaking countries are requested to find persons who ar
\textbf{Figures and tables:} Figures and tables should be placed at the top or bottom of the page on which they are first mentioned if possible, on the next page if not. Do not gather them at the end of the extended abstract.
-\textbf{Submission:} The Extended Abstract should be converted to a single PDF file whose size is no more than 4 Mbytes, and submitted to the Online Submission System (\url{https://www.jsme.or.jp/ted/PRTEC2019/}).
+\textbf{Submission:} The Extended Abstract should be converted to a single PDF file whose size is no more than 4 Mbytes, and submitted to the Online Submission System (\url{https://www.jsme.or.jp/conference/PRTEC2024/}).
-\textbf{Submission Deadline for review:} Extended Abstract for review should be submitted by \textbf{June 30, 2019}. Notification of acceptance will be made by July 15, 2019.
+\textbf{Submission Deadline for review:} Extended Abstract for review should be submitted by \textbf{July 15, 2024}. Notification of acceptance will be made by August 15, 2024.
-\textbf{Submission Deadline for final version:} All contributors must upload the final version of Extended Abstract for inclusion in the proceedings by \textbf{August 31, 2019} even if there is no modification from the initial Extended Abstract. The Final Extended Abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
+\textbf{Submission Deadline for final version:} All contributors must upload the final version of Extended Abstract for inclusion in the proceedings by \textbf{September 30, 2024} even if there is no modification from the initial Extended Abstract. The Final Extended Abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
\section*{Acknowledgements}
@@ -286,7 +283,7 @@ Acknowledgments should be placed immediately following CONCLUSIONS, if necessary
\section{Additional notes for \LaTeX\ users}
The PRTEC class file is compatible with \hologo{pdfLaTeX}, \hologo{LuaLaTeX}, and \hologo{XeLaTeX}. The class relies on the \texttt{newtx} math and text fonts and is not configured for \texttt{fontspec}. The class will automatically set the needed margins, spacings, font sizes, and citation formats. The class is also designed to support hyperlinks, metadata, and pdf bookmarks.
-The class loads the \verb|\booktabs|, \verb|\array|, and \verb|\dcolumn| packages, for use in formatting tables.
+The class loads the \verb|mathtools| and \verb|amsmath| for setting mathematics. The class loads the \verb|booktabs|, \verb|array|, and \verb|dcolumn| packages for formatting tables.
PRTEC requires that section headings be set in uppercase, bold-face type. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and into headings directly, as you would in the main text. Do not enclose them braces, e.g.\ \verb|{\cite{..}}|, which will cause errors. You can place \verb|\footnote{..}| into headings, but not into captions.\footnote{See \texttt{tex-stackexchange} for various approaches to footnotes in captions, if they seem necessary. For footnotes inside tables, use the \texttt{tablefootnote} package.}
@@ -298,12 +295,12 @@ The pdf bookmarks are automatically set as the text of the section heading. Simp
%% For math in a section heading: the optional argument creates a pdfbookmark
%% without an error message or loss of characters.
-\section[Proof that S-gen\neq 0]{Proof that $\dot{S}_{\textrm{gen}}\neq 0$}
+\section[Proof that S-gen\neq 0]{Proof that \(\dot{S}_{\textrm{gen}}\neq 0\)}
For math in a section heading, the optional argument of \verb|\section[..]{..}| creates a pdfbookmark without losing characters or producing error messages. For this example, we use:
-\verb|\section[Proof that S-gen\neq 0]{Proof that $\dot{S}_{\textrm{gen}}\neq 0$}|
+\verb|\section[Proof that S-gen\neq 0]{Proof that \(\dot{S}_{\textrm{gen}}\neq 0\)}|
-Observe that some simple math expressions are accepted by the \verb|hyperref| package that manages the bookmarks.
+Some simple math expressions are accepted by the \verb|hyperref| package that manages the bookmarks.
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/prtec/README.md b/Master/texmf-dist/doc/latex/prtec/README.md
index f3dacefae1c..f01e4e5dc1c 100644
--- a/Master/texmf-dist/doc/latex/prtec/README.md
+++ b/Master/texmf-dist/doc/latex/prtec/README.md
@@ -1,6 +1,6 @@
#prtec -- A template for PRTEC conference papers#
- Version 1.06 dated 2019/08/20.
+ Version 1.07 dated 2024/07/07.
####Overview####
This class provides a LaTeX template to format extended abstracts for the
@@ -50,6 +50,12 @@
####Version History####
+ v1.07
+ - update to PRTEC 24
+ - update various aspects of code to account for 5 years of change in LaTeX
+ - adjust top and bottom margins
+ - include \\DocumentMetadata
+
v1.06 -- correct nofoot option to fully clear header
v1.05 -- edits to .bst to better support urls; minor edit to \\entry
@@ -62,7 +68,7 @@
####License####
- Copyright (c) 2019 John H. Lienhard
+ Copyright (c) 2024 John H. Lienhard
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction,
diff --git a/Master/texmf-dist/doc/latex/prtec/sample-figure.pdf b/Master/texmf-dist/doc/latex/prtec/sample-figure.pdf
index 29b41786be1..89d44bf9cff 100644
--- a/Master/texmf-dist/doc/latex/prtec/sample-figure.pdf
+++ b/Master/texmf-dist/doc/latex/prtec/sample-figure.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdf b/Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdf
index d961cd9cb55..686d3f696c0 100644
--- a/Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdf
+++ b/Master/texmf-dist/doc/latex/randexam/randexam-a-answer.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdf b/Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdf
index 9656be370dc..d6ea0b132c4 100644
--- a/Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdf
+++ b/Master/texmf-dist/doc/latex/randexam/randexam-a-blank.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdf b/Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdf
index fe0867038c6..ec97459092a 100644
--- a/Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdf
+++ b/Master/texmf-dist/doc/latex/randexam/randexam-b-answer.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdf b/Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdf
index c059b6e6152..459ad1f1166 100644
--- a/Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdf
+++ b/Master/texmf-dist/doc/latex/randexam/randexam-b-blank.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/randexam/randexam.pdf b/Master/texmf-dist/doc/latex/randexam/randexam.pdf
index 68c0e5925db..1ef3fcc5ad8 100644
--- a/Master/texmf-dist/doc/latex/randexam/randexam.pdf
+++ b/Master/texmf-dist/doc/latex/randexam/randexam.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/randexam/randexam.tex b/Master/texmf-dist/doc/latex/randexam/randexam.tex
index 74e57318df8..ff7d951a151 100644
--- a/Master/texmf-dist/doc/latex/randexam/randexam.tex
+++ b/Master/texmf-dist/doc/latex/randexam/randexam.tex
@@ -3,7 +3,7 @@
\documentclass[12pt,plain,math=most]{randexam}
\geometry{b5paper,margin=2cm}
-\newcommand*{\myversion}{2024E}
+\newcommand*{\myversion}{2024F}
\newcommand*{\mydate}{\the\year-\mylpad\month-\mylpad\day}
\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
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/responsive/README b/Master/texmf-dist/doc/latex/responsive/README
index dc2953cb549..c6ed3ea7ea6 100644
--- a/Master/texmf-dist/doc/latex/responsive/README
+++ b/Master/texmf-dist/doc/latex/responsive/README
@@ -1,6 +1,6 @@
The Responsive Package
-Version 0.1
+Version v0.1a
Change font sizes and other typographic details in LaTeX documents depending on
the page dimensions.
@@ -21,7 +21,7 @@ elements for various output formats and devices. Key features include:
- Line Spacing Control: adjust line spacing determining the x-height percentage
for enhanced readability.
-Copyright: 2023-2023 Michal Hoftich
+Copyright: 2023-2024 Michal Hoftich
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/responsive/responsive-doc.pdf b/Master/texmf-dist/doc/latex/responsive/responsive-doc.pdf
index 1e7245c04f1..498fcac9bb9 100644
--- a/Master/texmf-dist/doc/latex/responsive/responsive-doc.pdf
+++ b/Master/texmf-dist/doc/latex/responsive/responsive-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/responsive/responsive-doc.tex b/Master/texmf-dist/doc/latex/responsive/responsive-doc.tex
index 4272397e3e8..e5e5b3f074d 100644
--- a/Master/texmf-dist/doc/latex/responsive/responsive-doc.tex
+++ b/Master/texmf-dist/doc/latex/responsive/responsive-doc.tex
@@ -22,7 +22,7 @@
\usepackage{booktabs}
\usepackage[style=iso-authoryear]{biblatex}
\addbibresource{responsive-doc.bib}
-\newenvironment{changelog}{\longtable{@{} l p{30em}}}{\endlongtable}
+\newenvironment{changelog}{\longtable{@{} l p{20em}}}{\endlongtable}
\newcommand\change[2]{#1 & #2\\}
\ifdefined\HCode
% I want to convert parts of the document to images,
@@ -525,6 +525,9 @@ under the terms of the \LaTeX\ Project Public License, version 1.3.
\section{Changes}
\begin{changelog}
+ \change{2024-07-14}{Version 0.1a released}
+ \change{2024-03-16}{Set the \texttt{topmargin} dimension}
+ \change{}{Call Geometry's \texttt{\textbackslash Gm@process} command to fix page dimensions, if Geometry is loaded}
\change{2023-12-13}{Version 0.1 released.}
\change{}{Finished documentation.}
\change{2023-12-07}{Added the \texttt{lineheight} property.}
diff --git a/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md b/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md
index fa60e6d1b07..9dfd6257fb1 100644
--- a/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/se2thesis/CHANGELOG.md
@@ -7,6 +7,14 @@ and this project adheres to
## [Unreleased]
+## [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 +245,8 @@ 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.0...HEAD
+[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..e388ab8e56d 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..944dce18876 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/sepfootnotes/README b/Master/texmf-dist/doc/latex/sepfootnotes/README
index e0f9ac9aacc..2a507a1da49 100644
--- a/Master/texmf-dist/doc/latex/sepfootnotes/README
+++ b/Master/texmf-dist/doc/latex/sepfootnotes/README
@@ -5,8 +5,11 @@ This package supports footnotes and endnotes from separate files. This is
achieved with commands \sepfootnotecontent and \sepfootnote; the former defines
the content of a note, while the latter typesets that note.
+2024/07/05 v0.3d
+ * Package options after: Allow \sepfootnotecontent after \sepfootnote
+
2016/07/18 v0.3c
- * Package options Note definitions may take global scope
+ * Package options global: Note definitions may take global scope
2014/07/22 v0.3b
* Documentation Minor formatting changes to page 4
@@ -41,7 +44,7 @@ Usage:
*See sepfootnotes.pdf
--------------------------------------------------------------------------------
-Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
This material is subject to the LaTeX Project Public License. See
http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
diff --git a/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf b/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf
index 0cb449cb218..0246b086b50 100644
--- a/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf
+++ b/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex b/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex
index 4000f00fad0..f73370349a3 100644
--- a/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex
+++ b/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -44,11 +44,11 @@
{\begin{center}\begin{minipage}[t]{0.5\linewidth}}
{\end{minipage}\end{center}}
\newcommand\TODO{\texttt{Todo:}}
-\newcommand\fileversion{0.3c}
-\newcommand\filedate{July 18, 2016}
+\newcommand\fileversion{0.3d}
+\newcommand\filedate{July 5, 2024}
\begin{document}
\title{The \textsf{\color{myblue} sepfootnotes} package,\thanks{This document corresponds to \textsf{sepfootnotes}~\fileversion, dated~\filedate.
-I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}}
+I am grateful to Michael Sellhoff, Sam Foster, Mats, David Carlisle, and schtandard for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}}
\author{Eduardo C. Louren\c{c}o de Lima \\ \texttt{elourenco@phi.pro.br}}
\maketitle
@@ -59,9 +59,9 @@ I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for thei
Standard |\footnote| and |\endnote| both take a note as a mandatory argument. Because notes have to be embedded in the paragraph to which they refer, sentences are often split up into two\footnote {This is precisely what this footnote does to the first paragraph of this document. There are more than thirty words between `two' and `or more' in the code of an otherwise short paragraph.} or more parts. Consequently, footnotes and endnotes may disrupt the flow of reading and editing {\LaTeX} prose.\footnote {In a posting to \texttt{texhax.tug.org} in April 2010, someone complained that using footnotes ``tends to disrupt the flow of the document on the screen and makes editing the text itself harder'', and asked about the possibility of ``putting all of the footnotes in a separate file''~\cite{Nicholas Cole}. Another user, back in 2004, remarked that the ``only thing I missed about word processors was the ability to keep footnote text at the bottom of the page, or in a separate window. I often have extensive footnotes, and don't want them cluttering up my main body text when I'm composing''~\cite{Luecking}.} This can be an issue for those who make extensive use of notes, such as philosophers and people from the humanities in general.
- The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note later on in the document.
+ The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note in the document.
- Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, right before a paragraph, or even in a \emph{separate file}. In that way, the main body is less cluttered.
+ Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, in a separate file, or even right after a paragraph. In that way, the main body is less cluttered.
You may use |sepfootnotes| and standard |\footnote| simultaneously; the same goes for |\footcite| from |biblatex|.
@@ -273,10 +273,10 @@ Default:\footnote{Adapted from the \texttt{endnotes} package.}
\section {Package options}
\begin{list}{}{}
-\item[|warn|] Print warning messages. (Default.)
+\item[|after|] (experimental) Allow |\sepfootnotecontent| after |\sepfootnote|. Must compile twice. Implies |global|. See below.
+\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble.
\item[|error|] Print warning messages, halt, and wait for user input.
\item[|quiet|] Suppress warning and error messages.
-\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble.
\end{list}
\section{Examples}
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/spbmark/README.md b/Master/texmf-dist/doc/latex/spbmark/README.md
index 0fd0ff23714..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.46k)
+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 f17405570b1..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 9da47d21515..d452fd09044 100644
--- a/Master/texmf-dist/doc/latex/spbmark/spbmark.tex
+++ b/Master/texmf-dist/doc/latex/spbmark/spbmark.tex
@@ -1,21 +1,21 @@
\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.46k,
- date = 2024/06/21,
+ version = v1.46n,
+ date = 2024/07/14,
authors = Qu Yi,
- info = Customize superscript and subscript,
+ info = Customize superscripts and subscripts,
email = toquyi@163.com,
url = https://github.com/texno3/spbmark,
abstract =
{
- \pkg*{spbmark} provides three commands \cs{super}, \cs{sub} and \cs{supersub} to improve the layout of superscript and subscript which can be adjusted the relative position and format, and can be used in text and math mode.
+ \pkg*{spbmark} provides three commands \cs{super}, \cs{sub} and \cs{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.
},
color-scheme = blue,
listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
@@ -51,13 +51,13 @@
The following macro package options will redefine the script commands of the \LaTeX{} kernel. If you do not specify the values of boolean options, they default to \code{true}. These options can also be changed in the preamble area and main body using the global control command \cs{spbset}.
\begin{options}
\keychoice{text}{true,\fbox{false}}
- \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscript and subscript.
+ \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscripts and subscripts.
\keychoice{math}{true,\fbox{false}}
- \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscript and subscript.
+ \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscripts and subscripts.
\keychoice{math*}{true,\fbox{false}}\newtag{Exp\\v1.46j}%
- The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscript and subscript.
+ The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscripts and subscripts.
\keychoice{foot}{true,\fbox{false}}
- The format of the footnote mark match the superscript global move and format settings. \cs{defspbstyle} can be used to define the superscript style \code{fnmark} to change the format of the footnote mark.
+ The format of the footnote mark match the superscripts global move and format settings. \cs{defspbstyle} can be used to define the superscripts style \code{fnmark} to change the format of the footnote mark.
\begin{example}[code-only]
\defspbstyle{textsp}{vmove=-1pt,cmd=\bfseries}
\defspbstyle{mathsb}{hmove=0.5em}
@@ -73,19 +73,19 @@ The following macro package options will redefine the script commands of the \La
\spbset{all=false,math}
\end{example}
\keychoice{spcore}{\fbox{trad},none}\newtag{New\\v1.46k}%
- Kernel command case for text and math modes superscript. If \code{none} is selected, support for the superscript kernel command is removed, and the \option{cmd} and \option{vmove} options need to be set to control the size and offset of the superscript.
+ Kernel command case for text and math modes superscripts. If \code{none} is selected, support for the superscripts kernel command is removed, and the \option{cmd} and \option{vmove} options need to be set to control the size and offset of the superscripts.
\begin{example}[code-only]
\usepackage[spcore=none]{spbmark}
\usepackage{graphicx}
\spbset{spcmd=\scalebox{0.6},spvmove=5pt}
\end{example}
\keychoice{sbcore}{\fbox{trad},none}\newtag{New\\v1.46k}%
- Option for subscript kernel command case, similar to the \option{spcore} option.
+ Option for subscripts kernel command case, similar to the \option{spcore} option.
\end{options}
\section{User commands}
\label{sec:user commands}
-There are currently three commands to set superscript and subscript. Their format can be set temporarily using the optional parameters of the command, or set globally using a key-value list, see Section \ref{sec:global control interface}.
+There are currently three commands to print superscripts and subscripts. Their format can be set locally using the optional parameter of the command, or set globally using a key-value list, see Section \ref{sec:global control interface}.
\begin{commands}
\command{super}[\sarg\oarg{kv list}\marg{content}\oarg{kv list}]
This is a superscript output command. The two \meta{kv list} are equivalent.
@@ -128,7 +128,7 @@ There are currently three commands to set superscript and subscript. Their forma
6A\supersub[hmove=-8pt]{examsuper}{sub}\hspace{\dimexpr(\maxwd-8pt)}B
\end{example}
\command{defspbstyle}[\marg{style name}\marg{kv list}]
- Defines the style of the superscript or subscript used for the \option{style} option.
+ Defines the style of the superscripts or subscripts used for the \option{style} option.
\command{spbifmath}[\marg{math code}\marg{text code}]
In some cases, \code{math} or \code{text} output modes require different code for format or move. This command can be used when using the \code{match} option or changing the output mode locally, whitch should be used in the move or format options. It can switch the corresponding code according to different output modes.
\command{spbshortkv}[\marg{short opt}\marg{key value}]
@@ -155,11 +155,11 @@ The options common to \meta{kv list} of the three commands are as follows. They
\keyval{cmd}{format cmds}
The format commands of superscript or subscript. The last command can take a parameter, which accepts superscript or subscript. Represents the format of superscript and subscript in the superscript and subscript commands.
\keyval{cmd+}{format cmds}
- Add code to the previous global superscript or subscript format commands.
+ Add code to the previous option \option{cmd}.
\keyval{height}{fixed length}
- The distance between the superscript or subscript baseline and the previous line. It is recommended that the superscript adjusts the height and the subscript adjusts the depth.
+ The height of the marker box above the baseline. It is recommended that the superscript adjusts the height and the subscript adjusts the depth.
\keyval{depth}{fixed length}
- The distance between the superscript or subscript baseline and the next line.
+ The depth of the marker box below the baseline.
\keyval{style}{style name}
Use the \meta{style name} defined by the \cs{defspbstyle} command to make it work global or local.
\keychoice{mode}{text,math,\fbox{match}}
@@ -185,71 +185,74 @@ The options common to \meta{kv list} of the three commands are as follows. They
\label{sec:global control interface}
\begin{commands}
\command{spbset}[\marg{key-value list}]
- \pkg*{spbmark} uses the \cs{spbset} command to control the global default format of superscript and subscript. These options also apply to \meta{kv list} of the above commands. The values ​set by it will be overwritten by the optional parameters of the superscript and other commands.
+ \pkg*{spbmark} uses the \cs{spbset} command to control the global default format of superscripts and subscripts. These options also apply to \meta{kv list} of the \textcolor{red}{above} print commands. The values set by it will be overwritten by the optional parameter of superscripts and subscripts commands.
+
+ Note that the relative length units in the options such as \code{ex} and \code{em} are for the \textcolor{red}{body} font size, not the marker itself.
+
+ The following list of keys control the format both of superscripts \emph{or} subscripts. They can also be used in the optional parameter of the \cs{super} or \cs{sub} command.
\end{commands}
-The following list of keys control the format both of superscript \emph{or} subscript.
\begin{options}
\keyval{spvmove}{fixed length}\Default{0pt}
- Extra vertical move of the superscript.
+ Extra vertical move of the superscripts.
\keyval{sphmove}{fixed length}\Default{0pt}
- Extra horizontal move of the superscript.
+ Extra horizontal move of the superscripts.
\keyval{sbvmove}{fixed length}\Default{0pt}
- Extra vertical move of the subscript.
+ Extra vertical move of the subscripts.
\keyval{sbhmove}{fixed length}\Default{0pt}
- Extra horizontal move of the subscript.
+ Extra horizontal move of the subscripts.
\opt{nohmove}
- Cancel the horizontal move of superscript and subscript at the same time.
+ Cancel the horizontal move of superscripts and subscripts at the same time.
\opt{novmove}
- Cancel the vertical move of superscript and subscript at the same time.
+ Cancel the vertical move of superscripts and subscripts at the same time.
\keyval{spcmd}{format cmds}
- The format commands of superscript. The last command in the code can take an argument, which is a superscript.
+ The format commands of superscripts. The last command in the code can take an argument, which is a superscripts.
\keyval{spcmd+}{format cmds}
- Add code to the previous global superscript format commands.
+ Add code to the previous option \option{spcmd}.
\keyval{sbcmd}{format cmds}
- The format commands of subscript. Similar to the \option{spcmd} option, but for subscript.
+ The format commands of subscripts. Similar to the \option{spcmd} option, but for subscripts.
\keyval{sbcmd+}{format cmds}
- Add code to the previous global subcript format commands.
+ Add code to the previous option \option{sbcmd}.
\keyval{spheight}{fixed length}
- The distance between the superscript baseline and the previous line.
+ The height of the superscript box above the baseline.
\keyval{spdepth}{fixed length}
- The distance between the superscript baseline and the next line.
+ The depth of the superscript box below the baseline.
\keyval{sbheight}{fixed length}
- The distance between the subscript baseline and the previous line.
+ The height of the subscript box above the baseline.
\keyval{sbdepth}{fixed length}
- The distance between the subscript baseline and the next line.
+ The depth of the subscript box below the baseline.
\keychoice{spthiswd}{auto,\fbox{keep}}
- Width processing mode after using this superscript. See Section \ref{sec:user commands} for the meaning of this option.
+ Width processing mode after using this superscripts. See Section \ref{sec:user commands} for the meaning of this option.
\keychoice{sbthiswd}{auto,\fbox{keep}}
- Width processing mode after using this subscript. See Section \ref{sec:user commands} for the meaning of this option.
+ Width processing mode after using this subscripts. See Section \ref{sec:user commands} for the meaning of this option.
\keyval{spregex}{regular expression}
- After the superscript command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
+ After the superscripts command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
\keyval{sbregex}{regular expression}
- Similar to the \option{spregex} option, but for subscript.
+ Similar to the \option{spregex} option, but for subscripts.
\end{options}
-If \option{sphmove} is positive, the superscript or subscript moves to the right, conversely it moves to the left. The positive direction of vertical offset of subscript and superscript is \textcolor{red}{opposite}. For superscript, if \option{spvmove} is positive, the superscript moves up, conversely it moves down. For subscript, if \option{spvmove} is positive, the subscript moves down, conversely it moves up.
+If \option{sphmove} is positive, the superscripts or subscripts moves to the right, conversely it moves to the left. The positive direction of vertical offset of subscripts and superscripts is \textcolor{red}{opposite}. For superscripts, if \option{spvmove} is positive, the superscripts moves up, conversely it moves down. For subscripts, if \option{spvmove} is positive, the subscripts moves down, conversely it moves up.
-The following list of keys control the format of superscript \emph{and} subscript.
+The following list of keys control the format of superscripts \emph{and} subscripts. They can also be used in the optional parameter of the \cs{supersub} command.
\begin{options}
\keyval{spbhmove}{fixed length}\Default{0pt}
- Extra vertical move of the superscript and the subscript.
+ Extra vertical move of the superscripts and the subscripts.
\kvsplit{spbcmd}{super cmds}{sub cmds}
- The format commands of superscript and subscript. The first part is in superscript format, and the latter part is in subscript format. They are separated by commas, or only the first part exists.
+ The format commands of superscripts and subscripts. The first part is in superscripts format, and the latter part is in subscripts format. They are separated by commas, or only the first part exists.
\kvsplit{spbcmd+}{super cmds}{sub cmds}
- Add code to the previous global superscript and subscript format commands.
+ Add code to the previous option \option{spbcmd}.
\keyval{spbheight}{fixed length}
- The distance between the superscript baseline and the previous line.
+ The height of the superscript box above the baseline.
\keyval{spbdepth}{fixed length}
- The distance between the subscript baseline and the next line.
+ The depth of the subscript box below the baseline.
\kvsplit{vsep}{super move}{sub move}\Default{0.6ex}
- The extra vertical distance between superscript and subscript. The front part is the movement amount of the superscript, and the latter part is the movement amount of the subscript. If only the front part means that both are vertically shifted by one-half of the current value.
+ The extra vertical distance between superscripts and subscripts. The front part is the movement amount of the superscripts, and the latter part is the movement amount of the subscripts. If only the front part means that both are vertically shifted by one-half of the current value.
\keychoice{halign}{\fbox{l},c,r}
- The alignment of superscript and subscript, which contains \code{l}, \code{c}, and \code{r} parameters respectively for left, center, and right alignment.
+ The alignment of superscripts and subscripts, which contains \code{l}, \code{c}, and \code{r} parameter respectively for left, center, and right alignment.
\end{options}
\section{Examples of use}
-Here is a list of the three commands, please pay attention to the usage of optional parameters. Note when the horizontal move is negative, the starting point is at the right end of the mark.
+Here is a list of the three commands, please pay attention to the usage of optional parameter. Note when the horizontal move is negative, the starting point is at the right end of the mark.
\begin{example}
\defspbstyle{fancy}{cmd=\color{purple}}
\spbset{spbcmd={\spbifmath{\mathtt}{\ttfamily},\color{blue}}}
@@ -261,7 +264,7 @@ Here is a list of the three commands, please pay attention to the usage of optio
\end{example}
\subsection{siunitx}
-It can also be used with the \pkg*{siunitx} package to output superscript and subscript in the unit:
+It can also be used with the \pkg*{siunitx} package to output superscripts and subscripts in the unit:
\begin{example}
\spbset{spcmd=\spbifmath{}{\color{purple}}}
\sisetup{text-superscript-command=\super}
@@ -272,13 +275,13 @@ It can also be used with the \pkg*{siunitx} package to output superscript and su
\end{example}
\subsection{realscripts}
-If the OpenType text font you are using does not have optical sizes, the superscript and subscript may not appear correctly. Loading the \pkg*{realscripts} package before the \pkg*{spbmark} package fixes this behavior.
+If the OpenType text font you are using does not have optical sizes, the superscripts and subscripts may not appear correctly. Loading the \pkg*{realscripts} package before the \pkg*{spbmark} package fixes this behavior.
\begin{example}[code-only]
\usepackage{realscripts,spbmark}
\end{example}
\subsection{altsubsup}
-The \pkg*{altsubsup} package allows to write alternate superscript and subscript in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the package is loaded using the \code{spbmark} option, the superscript and subscript mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscript style \code{altsup} and subscript style \code{altsub}.
+The \pkg*{altsubsup} package allows to write alternate superscripts and subscripts in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the package is loaded using the \code{spbmark} option, the superscripts and subscripts mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscripts style \code{altsup} and subscripts style \code{altsub}.
\begin{example}
\defspbstyle{altsup}{sphmove=-\llastwd,spthiswd=auto,spvmove=1pt}
$A_[bcd]^[e]B$
@@ -291,13 +294,13 @@ The \pkg*{altsubsup} package allows to write alternate superscript and subscript
If you need to use the original definitions of \cs{textsuperscript}, \cs{textsubscript}, \cs{sp} and \cs{sb} after using the \option{text} or \option{math} option, then you can use the following commands:
\begin{commands}
\command{spb@textsuperscript@save}[\marg{content}]
- Save the original definition of the \cs{textsuperscript} command, output superscript in the text mode.
+ Save the original definition of the \cs{textsuperscript} command, output superscripts in the text mode.
\command{spb@textsubscript@save}[\marg{content}]
- Save the original definition of the \cs{textsubscript} command, output subscript in the text mode.
+ Save the original definition of the \cs{textsubscript} command, output subscripts in the text mode.
\command{spb@math@super@save}[\marg{content}]
- Save the original definition of the \cs{sp} command, output superscript in the math mode.
+ Save the original definition of the \cs{sp} command, output superscripts in the math mode.
\command{spb@math@sub@save}[\marg{content}]
- Save the original definition of the \cs{sb} command, output subscript in the math mode.
+ Save the original definition of the \cs{sb} command, output subscripts in the math mode.
\end{commands}
\section{Known issues}
@@ -309,10 +312,9 @@ At present, the vertical and horizontal move are effective for the unit commands
\item Add option \option{math*}: The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands.
\end{version}
\begin{version}[v = 1.46k,date = 2024/06/21]
- \item Add options \option{spcore} and \option{sbcore}: Set kernel commands for superscript and subscript of text and math modes.
+ \item Add options \option{spcore} and \option{sbcore}: Set kernel commands for superscripts and subscripts of text and math modes.
\end{version}
\end{changelog}
\nocite{*}
-\AddToHook{cmd/printindex/before}{\clearpage}
\end{document} \ No newline at end of file
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/synthslant/LICENSE b/Master/texmf-dist/doc/latex/synthslant/LICENSE
index f8b699e6eb5..888d9e68e7a 100644
--- a/Master/texmf-dist/doc/latex/synthslant/LICENSE
+++ b/Master/texmf-dist/doc/latex/synthslant/LICENSE
@@ -355,11 +355,11 @@ Here is an example of such a notice and statement:
%% Copyright 2005 M. Y. Name
%
% 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
- % http://www.latex-project.org/lppl.txt
- % and version 1.3 or later is part of all distributions of LaTeX
+ % https://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'.
diff --git a/Master/texmf-dist/doc/latex/synthslant/README.md b/Master/texmf-dist/doc/latex/synthslant/README.md
index 1b1c7191893..efc20fd37ee 100644
--- a/Master/texmf-dist/doc/latex/synthslant/README.md
+++ b/Master/texmf-dist/doc/latex/synthslant/README.md
@@ -1,3 +1,6 @@
+![distcheck status](https://github.com/cspiel/synthslant/actions/workflows/distcheck.yml/badge.svg)
+
+
# SynthSlant &ndash; Synthetic slanting of glyphs
LaTeX package `synthslant` slants short pieces of text to the right or to the left.
diff --git a/Master/texmf-dist/doc/latex/synthslant/RELEASE-HOWTO.md b/Master/texmf-dist/doc/latex/synthslant/RELEASE-HOWTO.md
deleted file mode 100644
index 13435ef66d5..00000000000
--- a/Master/texmf-dist/doc/latex/synthslant/RELEASE-HOWTO.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# How to prepare a new release
-
-... and not make too many mistakes.
-
-
-1. Check that the work-area is clean with respect to **git**-tracked
- files.
-
- ``` git status ```
-
-1. Update the date stamp of `\ProvidesPackage`.
-
-1. (Temporarily) Zero the `\overfullrule`s of the documentation and
- the example files.
-
-1. Thoroughly clean the work-area:
-
- ```make maintainer-clean```
-
-1. Rebuild:
-
- ```make```
-
-1. Check that all _*.sty_ and _*.pdf_ files are in good shape.
-
-1. Push the documentation files created in the previous step down into
- the *docs* directory:
-
- ```make update-docs```
-
-1. Undo the `\overfullrule` change.
-
-1. Commit the changes:
-
- ```
- git add .
- ```
-
- and finally
-
- ```
- git commit
- ```
-
-1. Tag the commit with the version string of `\ProvidesPackage`:
-
- ```git tag v1.23```
-
-1. Push the changes to the public repository:
-
- ```git push origin master --tags```
diff --git a/Master/texmf-dist/doc/latex/synthslant/index.md b/Master/texmf-dist/doc/latex/synthslant/index.md
deleted file mode 100644
index c8c312f3887..00000000000
--- a/Master/texmf-dist/doc/latex/synthslant/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Package Documentation
-
-- Comprehensive `synthslant` documentation: [synthslant.pdf](https://cspiel.github.io/synthslant/synthslant.pdf)
-- `synthslant` test and demonstration: [synthslant-gauge.pdf](https://cspiel.github.io/synthslant/synthslant-gauge.pdf)
diff --git a/Master/texmf-dist/doc/latex/synthslant/shear-transform.mp b/Master/texmf-dist/doc/latex/synthslant/shear-transform.mp
index aeacb9a5841..2ae5591d18a 100644
--- a/Master/texmf-dist/doc/latex/synthslant/shear-transform.mp
+++ b/Master/texmf-dist/doc/latex/synthslant/shear-transform.mp
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdf b/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdf
index 425e7944efe..762c1e00a00 100644
--- a/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdf
+++ b/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex b/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex
index dbea94e5cea..17de9acf55c 100644
--- a/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex
+++ b/Master/texmf-dist/doc/latex/synthslant/synthslant-gauge.tex
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -134,7 +134,7 @@
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
-\setlength{\overfullrule}{3pt}
+\setlength{\overfullrule}{0pt}
\pagestyle{plain}
diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant-minimal-test.tex b/Master/texmf-dist/doc/latex/synthslant/synthslant-minimal-test.tex
new file mode 100644
index 00000000000..9f79f6d3d40
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/synthslant/synthslant-minimal-test.tex
@@ -0,0 +1,39 @@
+%%
+%% This is file `synthslant-minimal-test.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% synthslant.dtx (with options: `minimal-test')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2024 by Ch. L. Spiel
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Ch. L. Spiel.
+%%
+%% This work consists of the files synthslant.dtx and synthslant.ins
+%% and the derived files synthslant.sty, synthslant-gauge.tex,
+%% shear-transform.mp, and title.mp.
+%%
+%%
+\documentclass{minimal}
+
+\usepackage{synthslant}
+
+\begin{document}
+\textsynthslant{abc}
+\end{document}
+\endinput
+%%
+%% End of file `synthslant-minimal-test.tex'.
diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant.gst b/Master/texmf-dist/doc/latex/synthslant/synthslant.gst
new file mode 100644
index 00000000000..9d7be0ed103
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/synthslant/synthslant.gst
@@ -0,0 +1,44 @@
+%%
+%% This is file `synthslant.gst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% synthslant.dtx (with options: `changes-style')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2024 by Ch. L. Spiel
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Ch. L. Spiel.
+%%
+%% This work consists of the files synthslant.dtx and synthslant.ins
+%% and the derived files synthslant.sty, synthslant-gauge.tex,
+%% shear-transform.mp, and title.mp.
+%%
+%%
+actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
+heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
+heading_suffix "}\\nopagebreak\n"
+headings_flag 0
+item_x1 "\\efill\n\\subitem "
+item_x2 "\\ "
+keyword "\\glossaryentry"
+level '>'
+line_max 65536
+postamble "\n\\end{theglossary}\n"
+preamble "\\begin{theglossary}\n \\makeatletter\\scan@allowedfalse"
+quote '!'
diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant.ist b/Master/texmf-dist/doc/latex/synthslant/synthslant.ist
index c593624beff..05784657484 100644
--- a/Master/texmf-dist/doc/latex/synthslant/synthslant.ist
+++ b/Master/texmf-dist/doc/latex/synthslant/synthslant.ist
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -28,11 +28,12 @@
%%
%%
actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
heading_suffix "}\\nopagebreak\n"
headings_flag 1
level '>'
+line_max 65536
quote '!'
-\endinput
-%%
-%% End of file `synthslant.ist'.
diff --git a/Master/texmf-dist/doc/latex/synthslant/synthslant.pdf b/Master/texmf-dist/doc/latex/synthslant/synthslant.pdf
index 9b034b86c39..555101ee3c9 100644
--- a/Master/texmf-dist/doc/latex/synthslant/synthslant.pdf
+++ b/Master/texmf-dist/doc/latex/synthslant/synthslant.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/synthslant/title.mp b/Master/texmf-dist/doc/latex/synthslant/title.mp
index 25658ecb985..57efebbae1a 100644
--- a/Master/texmf-dist/doc/latex/synthslant/title.mp
+++ b/Master/texmf-dist/doc/latex/synthslant/title.mp
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
index 5aaa4f6f216..a0287ad4b2c 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
+++ b/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
@@ -22,7 +22,45 @@ and this project adheres to
-## [6.2.0]
+## [6.3.0] - 2024-07-10
+
+### Added
+- Library `documentation`:
+ - Option `page ref formatter` (issue #273)
+- First experimental partial tagging support: suppress tagging of drawing (issue #283)
+ This works for lualatex only.
+
+### Changed
+- The base package loads `tikz` now instead of `pgf`.
+ All skins, including the `standard` family, use `tikzpicture` as internal environment now.
+- Boolean marker to detect if inside a `tcb@savebox` introduced (issue #262)
+- LaTeX usrguide cited for `\NewDocumentCommand` and friends (issue #263)
+- Stricter checks on box names in `\newtcbox` and friends (issue #264)
+- Checks on formatter like `index key formatter` enforced (issue #265)
+- Needed LaTeX version updated to 2023-11-01
+- More meaningful error message in case of `\DeclareTColorBox` with same auto counter (issue #276)
+- Library `theorems`:
+ - Options `ams align`, `ams align*`, `ams gather`, and `ams gather*` are now shortcuts
+ for the upper part only (issue #282)
+ - Documentation for `ams align`, `ams align*`, `ams gather`, and `ams gather*` adapted, i.e.
+ exclusion of lower parts documented (issue #282)
+- Technical information: The package documentation is now produced with lualatex instead of pdflatex
+
+### Deprecated
+- The option `graphical environment` is useless now, since all environments are based on `tikzpicture` now.
+
+### Removed
+- Documentation for the deprecated options `before example` and `after example`
+- Documentation for the deprecated option `graphical environment`
+
+### Fixed
+- `\@nobreakfalse` added to `\tcb@parbox@false@settings` to avoid
+ decreased space before list with `parbox=false` following a section heading (issue #270)
+- Documentation typos fixed (issue #279)
+
+
+
+## [6.2.0] - 2024-01-10
### Added
- New convenience options for box content additions (issue #250)
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/README.md b/Master/texmf-dist/doc/latex/tcolorbox/README.md
index 27f6edf11de..e90e2bec18d 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/README.md
+++ b/Master/texmf-dist/doc/latex/tcolorbox/README.md
@@ -1,4 +1,4 @@
-# The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+# The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
> Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf
index e39ddaa037c..1e380d5559a 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex
index ffa291103b5..cb8586e6ec1 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-example-poster.tex: a poster example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
index 809b35a2caf..2d332523c2d 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
index 1adaa24d7ea..6f878d2f1dd 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf
index eb23961967b..f81aee07830 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex
index ae550c5c6de..7c6c769d1d8 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
index be1c60b666d..e38e91c3d4c 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
@@ -209,3 +209,9 @@
}
+@manual{latexproject:usrguide,
+ author = {The \LaTeX{} Project Team},
+ title = {{\LaTeX} for authors --- current version},
+ url = {https://mirrors.ctan.org/macros/latex/base/usrguide.pdf},
+ date = {2023-05-23},
+}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
index a86994c7e20..00dc2198b22 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
@@ -252,7 +252,7 @@ The |break at| option can be used to insert better break points by hand.
The example code enlarged the second partial box by one line, the third
partial box by two lines, and all following parts are not enlarged.
\begin{marker}
- If an automated page break occures before the first partial box, the
+ If an automated page break occurs before the first partial box, the
page enlargement is applied to the page before the first partial box \emph{and}
again to the page of the first partial box. Insert a manual break to prevent this.\\
In general, |enlargepage| should be used at the final stage of a document
@@ -513,7 +513,7 @@ and \refKey{/tcb/enlarge bottom at break by}.
\item the segmentation line (or similar) is drawn as first element of the
partial box containing the \emph{lower part}, if \refKey{/tcb/segmentation at break}
is set to be |true|.
- \item the segmenation line (or similar) is not drawn at all, if
+ \item the segmentation line (or similar) is not drawn at all, if
\refKey{/tcb/segmentation at break} is set to be |false|.
This may be preferable for skins like \refSkin{bicolor}, \refSkin{tile},
or \refSkin{beamer}.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
index 0847f09775d..c41134a6c84 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -214,7 +214,8 @@ numbered title and options.
\begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcolorbox}.\\
Basically, \refCom{NewTColorBox} operates like |\NewDocumentEnvironment|. This means,
- the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ the new environment \meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if an environment with \meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcolorbox}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -275,7 +276,8 @@ This is a tcolorbox.
Creates a new command \texttt{\textbackslash}\meta{name} based on \refEnv{tcolorbox}.
In contrast to \refCom{NewTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\
Basically, \refCom{NewTotalTColorBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcolorbox} which is filled with
the specified \meta{content}.\\
@@ -387,7 +389,8 @@ The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the
\begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
Basically, \refCom{NewTCBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbox}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -437,7 +440,8 @@ The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
In contrast to \refCom{NewTCBox}, also the \meta{content} of the |tcbox| is specified.\\
Basically, \refCom{NewTotalTCBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbox} which is filled with
the specified \meta{content}.\\
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
index e20936d76b2..62f3fa3c019 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -3104,11 +3104,11 @@ inside the document preamble.
\begin{docTcbKey}[][doc new={2020-09-25}]{before skip balanced}{=\meta{glue}}{no default, initially |0.5\textbackslash baselineskip plus 2pt|}
Inserts some vertical space before the colored box. This style sets \refKey{/tcb/before}.\par
If the depth of the
- preceeding \TeX\ box is between |0pt| and |0.3\baselineskip|,
- the distance between the \emph{baseline} of the preceeding \TeX\ box and the tcolorbox
- ist set to \meta{glue}$+$|0.3\baselineskip|.\par
- If the depth is larger, the distance of the preceeding \TeX\ box and the tcolorbox
- ist set to \meta{glue}.\par
+ preceding \TeX\ box is between |0pt| and |0.3\baselineskip|,
+ the distance between the \emph{baseline} of the preceding \TeX\ box and the tcolorbox
+ is set to \meta{glue}$+$|0.3\baselineskip|.\par
+ If the depth is larger, the distance of the preceding \TeX\ box and the tcolorbox
+ is set to \meta{glue}.\par
Alternatively, see \refKey{/tcb/before skip} which ignores the \emph{baseline}.
\begin{exdispExample*}{before_skip_balanced}{sbs,lefthand ratio=0.6}
@@ -3174,7 +3174,7 @@ line 4 g
Inserts some vertical space of the given \meta{glue} before the colored box.
This style sets \refKey{/tcb/before}.
In contrast to \refKey{/tcb/before skip balanced}, this \meta{glue} is
- relative to the lower edge of the preceeding box and not to the baseline.
+ relative to the lower edge of the preceding box and not to the baseline.
\begin{exdispExample*}{before_skip}{sbs,lefthand ratio=0.6}
Some text.
\begin{tcolorbox}[before skip=1cm,
@@ -4363,7 +4363,8 @@ from page \pageref{sec:numberedboxes}, e.\,g.\ \refKey{/tcb/new/auto counter}.
\begin{docTcbKey}[][doc new=2014-11-28]{phantomlabel}{=\meta{marker}}{no default, initially unset}
Equivalent to \refKey{/tcb/label} for an \emph{unnumbered} box.
A |\phantomsection| from the package |hyperref| \cite{rahtz:hyperref} is used to set a correct
-hyperlink target. This is not needed for a numbered box.
+hyperlink target.
+This is not needed and should typically not be used for a numbered box.
\end{docTcbKey}
\clearpage
@@ -4691,8 +4692,7 @@ It is precise only, if \refKey{/tcb/check odd page} was set.
See \Fullref{sec:external} for the \mylib{external} library of |tcolorbox|.
\end{marker}
-If the \emph{externalization} library of the \texttt{tikz} package is used
-and \refKey{/tcb/graphical environment} is set to |tikzpicture|,
+If the \emph{externalization} library of the \texttt{tikz} package is used,
a |tcolorbox| could trigger the externalization process which will arise
a compilation error.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
index 9934cd5c860..45282f3c468 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.documentation.tex
@@ -953,7 +953,7 @@ hand side if too long. Linebreaks can be used inside the \meta{text}.
\begin{dispListing}
\begin{docCommands}[
doc name = l_tcobox_example_tl,
- doc sort index = example_tl, % sorted unter e like example
+ doc sort index = example_tl, % sorted under e like example
]{}
\end{docCommands}
\end{dispListing}
@@ -1354,29 +1354,6 @@ keys to insert code before (or after) the description texts.
\end{docTcbKey}
-\begin{marker}
-The following two keys are deprecated and without function (v3.50 and above).
-Use \refKey{/tcb/before} and \refKey{/tcb/after} with appropriate values
-instead. Also see \refKey{/tcb/docexample}.
-\end{marker}
-
-\begin{docTcbKey}[][doc updated=2015-03-16]{before example}{=\meta{macros}}{no default, initially empty}
-\smallskip\begin{deprecated}
- Sets the \meta{macros} which are executed before \refEnv{dispExample} and \refEnv{dispListing}
- additional to \refKey{/tcb/before}.
-\end{deprecated}
-\end{docTcbKey}
-
-\enlargethispage*{1cm}
-
-\begin{docTcbKey}{after example}{=\meta{macros}}{no default, initially empty}
-\smallskip\begin{deprecated}
- Sets the \meta{macros} which are executed after \refEnv{dispExample} and \refEnv{dispListing}
- additional to \refKey{/tcb/after}.
-\end{deprecated}
-\end{docTcbKey}
-
-\clearpage
\begin{docTcbKey}[][doc new=2017-04-25]{keywords bold}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
Keyword used in \refEnv{docEnvironment}, \refEnv{docCommand}, etc. are printed
boldface (or not). Since the typewriter font is used, the effect may be
@@ -1391,6 +1368,24 @@ instead. Also see \refKey{/tcb/docexample}.
\end{dispExample*}
\end{docTcbKey}
+\clearpage
+
+\begin{docTcbKeys}
+ {
+ {
+ doc name = page ref formatter,
+ doc new = {2024-03-13},
+ doc parameter = \colOpt{=\meta{macro}},
+ doc description = {no default, initially \texttt{\textbackslash textsuperscript}},
+ }
+ }
+Sets \meta{macro} as formatter for page references like the
+reference to \refEnv{tcolorbox}.
+The default setting puts the page reference in a |\textsuperscript|.
+It may be changed to |\fakesuperscript| to cope with superiors problems
+in combination with the |realscripts| package or just otherwise for user customization.
+\end{docTcbKeys}
+
\begin{docTcbKey}[][doc new=2015-01-09]{index command}{=\meta{macro}}{no default, initially \cs{index}}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex
index b7a10c23314..62c982c2d3e 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.external.tex
@@ -74,7 +74,7 @@ executed.
\documentclass[a4paper]{book}% for example
\usepackage{...}% anything
% ...
-% Tpyically, all or the very most settings for the document.
+% Typically, all or the very most settings for the document.
\tcbEXTERNALIZE% Typically, just before \begin{document}
@@ -500,7 +500,7 @@ in this case.
\clearpage
\begin{docCommand}[doc new=2015-03-11]{newtcbexternalizeenvironment}{\marg{newenv}\marg{env}\marg{options}\marg{begin}\marg{end}}
Creates a new environment \meta{newenv} which is based on
- \refEnv{tcbexternal}. This enviroment takes \emph{at least}
+ \refEnv{tcbexternal}. This environment takes \emph{at least}
one optional parameter and one mandatory parameter.
These two parameters are passed to \refEnv{tcbexternal}.
Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par
@@ -532,7 +532,7 @@ a & This table is externalized as snippet. Obviously,
\begin{docCommand}[doc new=2015-03-11]{newtcbexternalizetcolorbox}{\marg{newenv}\marg{env}\marg{options}\marg{begin end options}}
Creates a new environment \meta{newenv} which is based on
- \refEnv{tcbexternal}. This enviroment takes \emph{at least}
+ \refEnv{tcbexternal}. This environment takes \emph{at least}
one optional parameter and one mandatory parameter.
These two parameters are passed to \refEnv{tcbexternal}.
Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
index 9f1f4627caa..909f7f4ac0f 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
@@ -63,7 +63,7 @@ To be more specific, they determine the east-to-west and the north-to-south dime
which may be not the maximal dimensions for a non-rectangular node.
Note that the following dimensions are measured exactly including the line width
of the border line. If a new rectangle or node with the same dimensions
-and a border is to be drawn, this border width has to be substracted.
+and a border is to be drawn, this border width has to be subtracted.
\begin{docCommand}[doc new=2014-09-19]{tcbsettowidthofnode}{\marg{register}\marg{node}}
Sets the east-to-west dimension of the given \meta{node}
@@ -88,7 +88,7 @@ and a border is to be drawn, this border width has to be substracted.
\node[align=center,draw=red,fill=yellow] (A) {This is my\\example node};
\tcbsetmacrotowidthofnode\mywidth{A}
\tcbsetmacrotoheightofnode\myheight{A}
- \path[fill=blue!25!white] % rectangle widthout border
+ \path[fill=blue!25!white] % rectangle without border
([xshift=2mm]A.south east)
rectangle node{Copy} +(\mywidth,\myheight);
\node[draw=blue,fill=blue!25!white, % standard border width 0.4pt
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
index 14f9e7b5771..a541659c37c 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
@@ -145,7 +145,8 @@ The library is loaded by a package option or inside the preamble by:
\begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
Basically, \refCom{NewTCBoxFit} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcboxfit}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -192,7 +193,8 @@ The library is loaded by a package option or inside the preamble by:
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
In contrast to \refCom{NewTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\
Basically, \refCom{NewTotalTCBoxFit} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcboxfit} which is filled with
the specified \meta{content}.\\
@@ -620,7 +622,7 @@ if necessary.
\begin{docTcbKey}{fit maxstep}{=\meta{number}}{no default, initially |20|}
Sets the maximal step size for the font size adjustment algorithm.
- In normal situations, the algorithm stops before reaching the intial value of 20 steps.
+ In normal situations, the algorithm stops before reaching the initial value of 20 steps.
If the box content does not shrink, this value prevents an endless loop.
\end{docTcbKey}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
index 548c70e0816..0d76c0afbb3 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
@@ -48,7 +48,7 @@ for some hints. The short story is: you have to install not only
\subsection{Loading the Package}
The base package |tcolorbox| loads the packages
-|pgf| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim},
+|tikz| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim},
|etoolbox| \cite{lehmann:etoolbox},
and |environ| \cite{robertson:2014a}.
|tcolorbox| itself is loaded in the usual manner in the preamble:
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
index c2e8b5fe277..c6e56dcdfab 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
@@ -282,7 +282,8 @@ This is my \LaTeX\ box.
\begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcblisting}.\\
Basically, \refCom{NewTCBListing} operates like |\NewDocumentEnvironment|. This means,
- the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ the new environment \meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcblisting}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -429,7 +430,8 @@ Note that the following code uses \verb+!O{}+ now.
\begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
Basically, \refCom{NewTCBInputListing} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbinputlisting}.\\
The \meta{init options} allow setting up automatic numbering,
@@ -1178,6 +1180,7 @@ This \meta{system command} is added to \refKey{/tcb/process code}.
\end{marker}
\end{docTcbKey}
+\enlargethispage*{5mm}
\begin{docTcbKey}[][doc new=2014-11-14]{run pdflatex}{\colOpt{=\meta{arguments}}}{style, no default, initially unset}
Issues a |pdflatex| compilation of the listing with the given \meta{arguments}.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
index 3eabd88b1e6..7bc44882c8e 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
@@ -276,9 +276,9 @@
before skip=\medskipamount,after skip=\medskipamount,frame style={}},
}
-\newtcbexternalizetcolorbox{exdispExample}{dispExample}{environment with percent=false,minipage}{beforeafter example}
+\newtcbexternalizetcolorbox{exdispExample}{dispExample}{environment with percent=false,minipage,compiler=lualatex}{beforeafter example}
-\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{environment with percent=false,minipage}{beforeafter example}
+\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{environment with percent=false,minipage,compiler=lualatex}{beforeafter example}
\newcommand{\inputpreamblelisting}[1]{%
\tcbinputlisting{title=Definition in the preamble:,
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex
index ece3b4bc351..9f79252f3e1 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skincatalog.tex
@@ -117,7 +117,6 @@ defined just for this documentation.
\begin{tcolorbox}[skintable=standard]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
\refKey{/tcb/frame engine}: \> |standard|\\
\refKey{/tcb/interior titled engine}: \> |standard|\\
\refKey{/tcb/interior engine}: \> |standard|\\
@@ -143,7 +142,6 @@ defined just for this documentation.
\begin{tcolorbox}[skintable=standard jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
\refKey{/tcb/frame engine}: \> |standardjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |standard|\\
\refKey{/tcb/interior engine}: \> |standard|\\
@@ -185,7 +183,6 @@ have some \enquote{enhanced} features, the |enhanced| skin is what you are looki
\begin{tcolorbox}[skintable=enhanced]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -297,7 +294,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -322,7 +318,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedmiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -346,7 +341,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -368,7 +362,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhanced jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -404,7 +397,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedfirst jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -429,7 +421,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedmiddle jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -509,7 +500,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -537,7 +527,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolor]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -694,7 +683,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -720,7 +708,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolormiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -746,7 +733,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -772,7 +758,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolor jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -805,7 +790,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorfirst jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -833,7 +817,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolormiddle jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -860,7 +843,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorlast jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -891,7 +873,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tile]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -923,7 +904,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilefirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -949,7 +929,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilemiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -976,7 +955,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilelast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1006,7 +984,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamer]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1069,7 +1046,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamerfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1094,7 +1070,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamermiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1118,7 +1093,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamerlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1145,7 +1119,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widget]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -1184,7 +1157,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -1208,7 +1180,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetmiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -1231,7 +1202,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -1257,7 +1227,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=empty]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1348,7 +1317,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptyfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1375,7 +1343,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptymiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1401,7 +1368,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptylast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1520,7 +1486,6 @@ are drawn by the codes given by
\begin{tcolorbox}[skintable=spartan]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |spartan|\\
\refKey{/tcb/interior titled engine}: \> |spartan|\\
\refKey{/tcb/interior engine}: \> |spartan|\\
@@ -1551,7 +1516,6 @@ are drawn by the codes given by
\begin{tcolorbox}[skintable=draft]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> \emph{special}\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1612,7 +1576,6 @@ you would have used \refKey{/tcb/freelance} before.
\begin{tcolorbox}[skintable=freelance]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |freelance|\\
\refKey{/tcb/interior titled engine}: \> |freelance|\\
\refKey{/tcb/interior engine}: \> |freelance|\\
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
index e92d81a6440..bbf946c9fca 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
@@ -7,8 +7,7 @@ The library is loaded by a package option or inside the preamble by:
\begin{dispListing}
\tcbuselibrary{skins}
\end{dispListing}
-This also loads the package |tikz| \cite{tantau:tikz_and_pgf}. Typically but not necessarily,
-the following skins use |tikz| instead of |pgf|.
+This also loads the package |tikzfill.image|.
In the following, general settings and options of the library are
documented.
@@ -1059,9 +1058,7 @@ By default, the resulting boxed title is somewhat smaller than the main box.
\clearpage
\subsection{Watermark Option Keys}\label{subsec:watermarks}
-The following watermark options are applicable for all skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these watermarks,
+The skin \refSkin{standard} does not support these watermarks,
but all other skins, e.\,g.\ \refSkin{enhanced}.
\begin{marker}
@@ -1479,9 +1476,7 @@ Donau\-dampf\-schiff\-fahrts\-ka\-pi\-t\"ans\-m\"ut\-zen\-fran\-sen
\clearpage
\subsection{Border Line Option Keys}\label{subsec:borderline}
-The following borderline options are applicable for most skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these border lines,
+The skin \refSkin{standard} does not support these border lines,
but most other skins, e.\,g.\ \refSkin{enhanced}.
The borderlines are independent from the normal |tcolorbox| rules.
@@ -1714,9 +1709,7 @@ but adapt to breakable boxes.
\clearpage
\subsection{Shadow Option Keys}\label{subsec:shadows}
-The following shadow options are applicable for most skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these shadows,
+The skin \refSkin{standard} does not support these shadows,
but most other skins, e.\,g.\ \refSkin{enhanced}.
The shadows are stackable, i.\,e.\ several different shadows can be
@@ -2087,7 +2080,7 @@ This is a tcolorbox.
from the frame outline. A positive \meta{offset} value shrinks the shadow
and a negative \meta{offset} value enlarges the shadow.
The shadow is filled along a \tikzname\ path with the given \tikzname\ \meta{options}.\\
- The shadows adapt to the rounded corners of the |tcolorbox|. A shrinked shadow
+ The shadows adapt to the rounded corners of the |tcolorbox|. A shrunken shadow
will switch to sharp corners if necessary, an enlarged shadow may become
more rounded depending on several factors. But \refKey{/tcb/sharp corners}
have sharp shadows.
@@ -2255,7 +2248,7 @@ This is a tcolorbox.
\clearpage
\subsubsection{\tikzname\ Shadows}
-Alternativ to the package shadow options described before, shadows from
+Alternative to the package shadow options described before, shadows from
the \flqq Shadows Library\frqq\ of \tikzname\ can be used.
Such shadows can be added directly to the frame path using \refKey{/tcb/frame style}.
@@ -2292,9 +2285,7 @@ Such shadows can be added directly to the frame path using \refKey{/tcb/frame st
\clearpage
\subsection{\tikzname\ Picture Option Keys}\label{subsec:tikzpicture}
-The following general options are applicable for skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these options,
+The skin \refSkin{standard} does not support these options,
but most other skins, e.\,g.\ \refSkin{enhanced}.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
index 1e6960ffd2a..a9fbc31bb27 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
@@ -62,13 +62,6 @@ option from the core package has to be set.
\clearpage
-\begin{docTcbKey}{graphical environment}{=\meta{name}}{no default, initially \texttt{pgfpicture}}
- Sets the graphical environment for the |tcolorbox| to \meta{name}.
- Feasible values are |pgfpicture| and |tikzpicture| or environments which
- inherit from one of these two. This key is set by a \refKey{/tcb/skin} and
- may seldom be used directly.
-\end{docTcbKey}
-
The skin of a |tcolorbox| is drawn by up to four \emph{engines}.
Afterwards, the text content is drawn which is not part of a skin.
The four steps are:
@@ -85,18 +78,6 @@ The four steps are:
by \refKey{/tcb/title engine}.
\end{enumerate}
-%Every engine for the up to four steps can be set to one of the following types:
-%\begin{enumerate}
-%\item\docValue{standard}: the original code from the core package.
-%\item\docValue{path}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathfirst}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathmiddle}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathlast}: a |tikz| path which can be controlled by options.
-%\item\docValue{freelance}: arbitrary user code.
-%\item\docValue{spartan}: a quite spartan code.
-%\end{enumerate}
-%\clearpage
-
\begin{docTcbKey}{frame engine}{=\meta{name}}{no default, initially \texttt{standard}}
Sets the \emph{frame} drawing engine for a box to \meta{name}.
Typically, this key is set by a \refKey{/tcb/skin}.
@@ -644,7 +625,7 @@ These color names are
\item\docColor{tcbcolframe} set by \refKey{/tcb/colframe} (frame color)
\item\docColor{tcbcolback} set by \refKey{/tcb/colback} (background color)
\item\docColor{tcbcolbacktitle} set by \refKey{/tcb/colbacktitle} (background color of the title)
-\item\docColor{tcbcolbacklower} set by \refKey{/tcb/colbacklower} (skin dependend background color
+\item\docColor{tcbcolbacklower} set by \refKey{/tcb/colbacklower} (skin dependent background color
of the lower part; needs \mylib{skins} to be loaded)
\item\docColor{tcbcolupper} set by \refKey{/tcb/colupper} (text color upper part)
\item\docColor{tcbcollower} set by \refKey{/tcb/collower} (text color lower part)
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
index 4884e85f576..f1a7be1ff41 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
@@ -243,7 +243,7 @@ E&=mc^2 + \int_a^b x\, dx
\begin{docTcbKey}{separator sign}{=\meta{sign}}{no default, initially |:|}
The given \meta{sign} is used inside the title text of a theorem
- as separater between display name combined with number and
+ as separator between display name combined with number and
the specific title text. It is omitted, if there is no specific title text.
\begin{dispExample}
@@ -706,91 +706,140 @@ created by hand or using \refCom{newtcbtheorem}.
\end{docTcbKey}
\clearpage
-\begin{docTcbKey}{ams align upper}{}{style, no value}
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams align upper,
+ },
+ {
+ doc name = ams align,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |align| environment to the start and end
of the upper part.
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align lower}{}{style, no value}
- Adds an |amsmath| |align| environment to the start and end
- of the lower part.
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align}{}{style, no value}
- Adds an |amsmath| |align| environment to the start and end
- of the upper \emph{and} lower part.
\begin{dispExample}
\begin{tcolorbox}[ams align,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} &= \infty.\\
\int x^2 ~\text{d}x &= \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align* upper}{}{style, no value}
- Adds an |amsmath| |align*| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams align upper} or \refKey{/tcb/ams align}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams align* lower}{}{style, no value}
- Adds an |amsmath| |align*| environment to the start and end
+\begin{docTcbKey}{ams align lower}{}{style, no value}
+ Adds an |amsmath| |align| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams align*}{}{style, no value}
+
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams align* upper,
+ },
+ {
+ doc name = ams align*,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |align*| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams align*,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} &= \infty.\\
\int x^2 ~\text{d}x &= \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\clearpage
-\begin{docTcbKey}{ams gather upper}{}{style, no value}
- Adds an |amsmath| |gather| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams align* upper} or \refKey{/tcb/ams align*}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams gather lower}{}{style, no value}
- Adds an |amsmath| |gather| environment to the start and end
+\begin{docTcbKey}{ams align* lower}{}{style, no value}
+ Adds an |amsmath| |align*| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams gather}{}{style, no value}
+
+\clearpage
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams gather upper,
+ },
+ {
+ doc name = ams gather,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |gather| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams gather,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\
\int x^2 ~\text{d}x = \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams gather* upper}{}{style, no value}
- Adds an |amsmath| |gather*| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams gather upper} or \refKey{/tcb/ams gather}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams gather* lower}{}{style, no value}
- Adds an |amsmath| |gather*| environment to the start and end
+\begin{docTcbKey}{ams gather lower}{}{style, no value}
+ Adds an |amsmath| |gather| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams gather*}{}{style, no value}
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams gather* upper,
+ },
+ {
+ doc name = ams gather*,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |gather*| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams gather*,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\
\int x^2 ~\text{d}x = \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams gather* upper} or \refKey{/tcb/ams gather*}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
+\begin{docTcbKey}{ams gather* lower}{}{style, no value}
+ Adds an |amsmath| |gather*| environment to the start and end
+ of the lower part.
+\end{docTcbKey}
\clearpage
\begin{docTcbKey}{ams nodisplayskip upper}{}{style, no value}
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex
index 733c356d8e0..8ea72010fe0 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.vignette.tex
@@ -140,7 +140,7 @@ is used internally.
\enlargethispage*{1cm}
-\begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} inside the node with the given \meta{name}.
The outer limits of the \emph{vignette} are adapted to the node geometry.
\begin{dispExample*}{sbs,righthand width=3cm,center lower}
@@ -154,7 +154,7 @@ is used internally.
\clearpage
-\begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} outside the node with the given \meta{name}.
The inner limits of the \emph{vignette} are adapted to the node geometry.
\begin{dispExample*}{sbs,righthand width=3cm,center lower}
@@ -167,7 +167,7 @@ is used internally.
\end{vigTcbKey}
-\begin{vigTcbKey}[][doc new=2016-04-22]{over node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{over node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} over the node with the given \meta{name}.
The outer limits of the \emph{vignette} are adapted to the node geometry, but
are shifted to the outside by \refKey{/tcb/vig/over node offset}.
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
index a7499395e4a..3054aff5913 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
index b7c17423914..c60eb4acfa8 100644
--- a/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
+++ b/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -25,6 +25,18 @@
% arara: pdflatex: { shell: yes, synctex: yes }
% arara: pdflatex: { shell: yes, synctex: yes }
%
+%\DocumentMetadata{
+% lang = en,
+% pdfversion = 2.0,
+% pdfstandard = ua-2,
+% pdfstandard = a-4f,
+% testphase =
+% {
+% phase-III,
+% firstaid
+% },
+% %uncompress,
+%}
\PassOptionsToPackage{pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks,pdfusetitle,pdfpagelabels}{hyperref}
\documentclass[a4paper,11pt]{ltxdoc}
@@ -51,8 +63,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{6.2.0}%
-\def\datum{2024/01/10}%
+\def\version{6.3.0}%
+\def\datum{2024/07/10}%
\makeindex
\hypersetup{
@@ -68,7 +80,7 @@
%\geometry{showframe}
%\tcbset{draftmode}
\tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.initoptions,tcolorbox.doc.index}
+%\includeonly{tcolorbox.doc.coreoptions}
%\hypersetup{colorlinks=false}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/doc/latex/texvc/texvc.pdf b/Master/texmf-dist/doc/latex/texvc/texvc.pdf
index 7269b865f21..f431f01829d 100644
--- a/Master/texmf-dist/doc/latex/texvc/texvc.pdf
+++ b/Master/texmf-dist/doc/latex/texvc/texvc.pdf
Binary files differ
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/tkz-grapheur/tkz-grapheur-doc-en.pdf b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.pdf
index 6ef7f594765..029671719e9 100644
--- a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.pdf
+++ b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex
index 88e9abb16a7..d89c17bff4b 100644
--- a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex
+++ b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-en.tex
@@ -29,8 +29,8 @@
\hypersetup{pdfborder=0 0 0}
\usepackage[margin=2cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.5}
-\def\TPdate{22/06/2024}
+\def\TPversion{0.1.6}
+\def\TPdate{13/07/2024}
\usepackage{soul}
\usepackage{codehigh}
\usepackage{tabularray}
@@ -532,7 +532,7 @@ The mandatory arguments correspond to the x-coordinates (in \TikZ\ language) and
\subsection{Draw a line}\label{tracstraight}
-The idea is to propose a command to draw a line, from:
+The idea is to propose a command to draw a line (or an asymptote), from:
\begin{itemize}
\item of two points (or nodes);
@@ -542,6 +542,7 @@ The idea is to propose a command to draw a line, from:
\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%in the GraphiqueTikz environment
\DrawLine[keys]{point or node}{point or node or slope}
+\DrawAsymptote[keys]{x value}
\end{tcblisting}
The optional \MontreCode{[keys]} available are:
@@ -564,6 +565,7 @@ The optional \MontreCode{[keys]} available are:
\DrawLine[Color=red]{(-2,-1)}{(2,4)}
\DrawLine[Color=blue,Start=-5,End=3]{(A)}{(B)}
\DrawLine[Color=olive,Slope]{(C)}{0.25}
+ \DrawAsymptote[Color=brown]{-6}
\end{GraphTikz}
\end{tcblisting}
@@ -1396,7 +1398,7 @@ The last mandatory argument is the work point (abscissa version or node followin
\section{Commands specific to two-variable statistics}
-\subsection{The point cloud}\label{scatter}
+\subsection{The point scatter}\label{scatter}
In addition to commands linked to functions, it is also possible to represent double statistical series.
@@ -1490,7 +1492,7 @@ In partnership with the \MontreCode{xint-regression} package, loaded by the pack
The command, similar to that of defining a curve, is:
\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
-\DrawRegression[keys]<no fct>{type}<rounded>{listex}{listey}
+\DrawRegression[keys]<name fct>{type}<rounded>{listex}{listey}
\end{tcblisting}
The \MontreCode{[keys]} available are, classically:
@@ -1651,53 +1653,30 @@ $\begin{cases}
\gamma \approx \RoundNb[0]{\Cgamma}
\end{cases}$.
\end{tcblisting}
-%
-%\newpage
-%
-%\section{Liste des commandes}
-%
-%Les commandes disponibles sont :
-%
-%\NewDocumentCommand\lstcmd{ m m m }{%
-% \item[\texttt{#1}] : \mintinline{latex}|#2|\hfill{}page \pageref{#3}
-%}
-%
-%\begin{description}
-% \lstcmd{environnement~~}{\begin{GraphiqueTikz}...\end{GraphiqueTikz}}{creaenvt}
-% \lstcmd{axes et grilles}{\TracerAxesGrille}{creaaxesgr}
-% \lstcmd{aj val axes X~~}{\RajouterValeursAxeX}{ajoutvals}
-% \lstcmd{aj val axes Y~~}{\RajouterValeursAxeY}{ajoutvals}
-% \lstcmd{def fonction~~~}{\DefineCurve}{deftracfct}
-% \lstcmd{tracé courbe~~~}{\DrawCurve}{deftracfct}
-% \lstcmd{def interpo~~~~}{\DefineCurveInterpo}{deftracinterpo}
-% \lstcmd{tracé interpo~~}{\DrawCurveInterpo}{deftracinterpo}
-% \lstcmd{def spline~~~~~}{\DefineSplineCurve}{deftracfctspline}
-% \lstcmd{tracé spline~~~}{\DrawSplineCurve}{deftracfctspline}
-% \lstcmd{tracé droite~~~}{\TracerDroite}{tracdroite}
-% \lstcmd{def points~~~~~}{\DefinirPts}{defpts}
-% \lstcmd{def image~~~~~~}{\DefinirImage}{defpts}
-% \lstcmd{marq pts~~~~~~~}{\MarquerPts}{markpts}
-% \lstcmd{placer txt~~~~~}{\PlacerTexte}{placetxt}
-% \lstcmd{récup absc~~~~~}{\RecupererAbscisse}{recupcoordo}
-% \lstcmd{récup ordo~~~~~}{\RecupererOrdonnee}{recupcoordo}
-% \lstcmd{récup coordos~~}{\RecupererCoordonnees}{recupcoordo}
-% \lstcmd{images~~~~~~~~~}{\PlacerImages}{images}
-% \lstcmd{antécédents~~~~}{\TrouverAntecedents}{defanteced}
-% \lstcmd{antécédents~~~~}{\PlacerAntecedents}{tracanteced}
-% \lstcmd{intersection~~~}{\TrouverIntersections}{intersect}
-% \lstcmd{maximum~~~~~~~~}{\TrouverMaximum}{maximum}
-% \lstcmd{minimum~~~~~~~~}{\TrouverMinimum}{minimum}
-% \lstcmd{intégrale~~~~~~}{\DrawIntegral}{integr}
-% \lstcmd{tangente~~~~~~~}{\DrawTangente}{tgte}
-% \lstcmd{loi normale~~~~}{\DefinirLoiNormale}{loinormale}
-% \lstcmd{loi normale~~~~}{\TracerLoiNormale}{loinormale}
-% \lstcmd{loi khideux~~~~}{\DefinirLoiKhiDeux}{loikhideux}
-% \lstcmd{loi khideux~~~~}{\TracerLoiKhiDeux}{loikhideux}
-% \lstcmd{stats 2 var~~~~}{\TracerNuage}{nuage}
-% \lstcmd{regressions~~~~}{\TracerAjustement}{regressions}
-% \lstcmd{arrondi~~~~~~~~}{\RoundNb}{numarrond}
-% \lstcmd{nb aléat~~~~~~~}{\ChoisirNbAlea}{nbalea}
-%\end{description}
+
+\subsection{Monte-Carle method}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+%in the GraphiqueTikz environment
+\SimulateMonteCarlo[keys]<function>}{number of points}[\nbptsmcok][\nbptsmcko]
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+\begin{GraphTikz}%
+ [x=10cm,y=10cm,Xmin=0,Xmax=1,Xgrid=0.1,Xgrids=0.05,
+ Ymin=0,Ymax=1,Ygrid=0.1,Ygrids=0.05]
+ \DrawAxisGrids[Enlarge=2.5mm,Last]{auto}{auto}
+ \DefineCurve[Trace,Color=teal,Step=0.001]<f>{sqrt(1-x^2)}
+ \SimulateMonteCarlo<f>{5000}
+\end{GraphTikz}
+
+There is \textcolor{blue}{\num{\nbptsmcok}} blue points,
+there is \textcolor{red}{\num{\nbptsmcko}} red points.
+
+And $\frac{\num{\nbptsmcok}}{\num{\nbptsmc}}
+\approx \RoundNb[4]{\nbptsmcok/\nbptsmc}$
+et $\frac{\pi}{4} \approx \RoundNb[4]{pi/4}$.
+\end{tcblisting}
\pagebreak
@@ -1705,6 +1684,7 @@ $\begin{cases}
\begin{quote}
\begin{verbatim}
+0.1.6 : Vertical asymptote + [in french doc] commands for integrals
0.1.5 : Initial version [en]
\end{verbatim}
\end{quote}
diff --git a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdf b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdf
index c53d69179c3..ba330fa444a 100644
--- a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdf
+++ b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex
index 9ea6b13200e..99d8414cd0f 100644
--- a/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex
+++ b/Master/texmf-dist/doc/latex/tkz-grapheur/tkz-grapheur-doc-fr.tex
@@ -29,8 +29,8 @@
\hypersetup{pdfborder=0 0 0}
\usepackage[margin=2cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.5}
-\def\TPdate{22/06/2024}
+\def\TPversion{0.1.6}
+\def\TPdate{13/07/2024}
\usepackage{soul}
\usepackage{codehigh}
\usepackage{tabularray}
@@ -39,7 +39,7 @@
\hl{\vphantom{\texttt{pf}}\texttt{#1}}%
}
\usepackage[french]{babel}
-
+\sisetup{group-minimum-digits=4}
\renewcommand{\footnoterule}{\vfill\kern -3pt \hrule width 0.4\columnwidth \kern 2.6pt}
\begin{document}
@@ -209,7 +209,8 @@ Il sera ensuite possible :
\item de tracer des courbes ;
\item de déterminer graphiquement des images ou des antécédents ;
\item de rajouter des éléments de dérivation (tangentes) ou d'intégration (domaine) ;
- \item de tracer une droite d'ajustement linéaire ou la courbe d'un autre ajustement.
+ \item de tracer une droite d'ajustement linéaire ou la courbe d'un autre ajustement ;
+ \item \dots
\end{itemize}
\subsection{Packages utilisés, et options du package}
@@ -332,10 +333,11 @@ Concernant les styles des \textit{objets}, ils sont donnés ci-dessous.
\tikzset{pflgrilles/.style={very thin,lightgray}}
\tikzset{pflaxes/.style={line width=0.8pt,->,>=latex}}
-%style des points (courbe / nuage /labels)
+%style des points (courbe / nuage /labels /montecarlo)
\tikzset{pflpoint/.style={line width=0.95pt}}
\tikzset{pflpointc/.style={radius=1.75pt}}
\tikzset{pflpointnuage/.style={radius=1.75pt}}
+\tikzset{pflpointmc/.style={radius=0.875pt}}
\tikzset{pflnoeud/.style={}} %pour les inner sep par exemple :-)
%style des courbes
@@ -544,9 +546,12 @@ L'idée est de proposer une commande pour tracer une droite, à partir :
\item d'un point (ou nœud) et de la pente.
\end{itemize}
+Il existe également une commande pour une asymptote verticale.
+
\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
%dans l'environnement GraphiqueTikz
\TracerDroite[clés]{point ou nœud}{point ou noeud ou pente}
+\TracerAsymptote[clés]{abscisse}
\end{tcblisting}
Les \MontreCode{[clés]}, optionnelles, disponibles sont :
@@ -569,6 +574,7 @@ Les \MontreCode{[clés]}, optionnelles, disponibles sont :
\TracerDroite[Couleur=red]{(-2,-1)}{(2,4)}
\TracerDroite[Couleur=blue,Debut=-5,Fin=3]{(A)}{(B)}
\TracerDroite[Couleur=olive,Pente]{(C)}{0.25}
+ \TracerAsymptote[Couleur=brown]{-6}
\end{GraphiqueTikz}
\end{tcblisting}
@@ -1415,6 +1421,132 @@ Les \MontreCode{[clés]}, optionnelles, disponibles sont :
\pagebreak
+\section{Commandes spécifiques des méthodes intégrales}
+
+\subsection{Méthodes géométriques}\label{methodesintergrales}
+
+L'idée est de proposer plusieurs méthodes graphiques pour illustrer graphiquement une intégrale, via :
+
+\begin{itemize}
+ \item une méthode des rectangles (Gauche, Droite ou Milieu) ;
+ \item la méthode des trapèzes.
+\end{itemize}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+%dans l'environnement GraphiqueTikz
+\RepresenterMethodeIntegrale[clés]<fonction>{a}{b}
+\end{tcblisting}
+
+Les \MontreCode{Clés} disponibles sont :
+
+\begin{itemize}
+ \item \MontreCode{Couleur} : couleur des tracés, \MontreCode{red} par défaut ;
+ \item \MontreCode{NbSubDiv} : nombre de subdivisions, \MontreCode{10} par défaut ;
+ \item \MontreCode{Methode} : méthode géométrique utilisée, parmi parmi \MontreCode{RectanglesGauche / RectanglesDroite / RectanglesMilieu / Trapezes} pour spécifier la méthode utilisée, \MontreCode{RectanglesGauche} par défaut ;
+ \item \MontreCode{Remplir} : booléen, \MontreCode{true} par défaut, pour remplir les éléments graphiques ;
+ \item \MontreCode{CouleurRemplissage} : couleur de remplissage, définie par rapport à la couleur principale par défaut ;
+ \item \MontreCode{Opacite} : opacité, \MontreCode{0.25} par défaut, du remplissage.
+\end{itemize}
+
+\smallskip
+
+Le deuxième argument, optionnel et entre \MontreCode{<...>}, correspond à la fonction \textbf{précédemment définie} !
+
+\smallskip
+
+Les deux derniers arguments, obligatoires, correspondent aux bornes de l'intégrale.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+\begin{GraphiqueTikz}
+ [x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1,
+ Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10]
+ \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
+ \DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]<f>{80*x*exp(-0.2*x)}
+ \RepresenterMethodeIntegrale[Couleur=teal]<f>{5}{15}
+\end{GraphiqueTikz}
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+\begin{GraphiqueTikz}
+ [x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1,
+ Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10]
+ \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
+ \DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]<f>{80*x*exp(-0.2*x)}
+ \RepresenterMethodeIntegrale
+ [Methode=RectanglesDroite,Couleur=orange,NbSubDiv=7]<f>{1}{10}
+\end{GraphiqueTikz}
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+\begin{GraphiqueTikz}
+ [x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1,
+ Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10]
+ \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
+ \DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]<f>{80*x*exp(-0.2*x)}
+ \RepresenterMethodeIntegrale
+ [Methode=RectanglesMilieu,Couleur=yellow,NbSubDiv=25]<f>{1}{20}
+\end{GraphiqueTikz}
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+\begin{GraphiqueTikz}
+ [x=0.66cm,y=0.033cm,Xmin=0,Xmax=21,Xgrille=2,Xgrilles=1,
+ Ymin=0,Ymax=160,Ygrille=20,Ygrilles=10]
+ \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto}
+ \DefinirCourbe[Couleur=red,Nom=cf,Debut=1,Fin=20,Trace]<f>{80*x*exp(-0.2*x)}
+ \RepresenterMethodeIntegrale
+ [Methode=Trapezes,Couleur=pink,Remplir=false]<f>{1}{20}
+\end{GraphiqueTikz}
+\end{tcblisting}
+
+\subsection{Méthode de Monte-Carlo}\label{montecarlo}
+
+L'idée est de proposer une commande pour simuler un calcul intégral via la méthode de Monte-Carlo.
+
+Le code se charge de simuler les \textit{tirages}, et les résultats peuvent être stockés dans des macros.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+%dans l'environnement GraphiqueTikz
+\SimulerMonteCarlo[clés]<fonction>{nb essais}[\nbptsmcok][\nbptsmcko]
+\end{tcblisting}
+
+Les \MontreCode{Clés} disponibles sont :
+
+\begin{itemize}
+ \item \MontreCode{Couleurs} : couleurs des points, \MontreCode{blue/red} par défaut ;
+ \item \MontreCode{BornesX} : bornes \textit{horizontales} pour la simulation, valant \MontreCode{\textbackslash pflxmin,\textbackslash pflxmax} par défaut ;
+ \item \MontreCode{BornesY} : bornes \textit{verticales} pour la simulation, valant \MontreCode{\textbackslash pflymin,\textbackslash pflymax} par défaut.
+\end{itemize}
+
+Le deuxième argument, optionnel et entre \MontreCode{<...>}, est la fonction \textbf{précédemment définie} à utiliser.
+
+\smallskip
+
+Les deux derniers arguments, optionnels et entre \MontreCode{[...]}, sont les macros dans lesquelles sont stockées les résultats de la simulation. Ces macros sont \MontreCode{\textbackslash nbptsmcok} et \MontreCode{\textbackslash nbptsmcko} par défaut.
+
+À noter que la macro \MontreCode{\textbackslash nbptsmc} permet de récupérer le nombre de points utilisés.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%avec \sisetup{group-minimum-digits=4} pour le formatage des "milliers"
+
+\begin{GraphiqueTikz}%
+ [x=10cm,y=10cm,Xmin=0,Xmax=1,Xgrille=0.1,Xgrilles=0.05,
+ Ymin=0,Ymax=1,Ygrille=0.1,Ygrilles=0.05]
+ \TracerAxesGrilles[Elargir=2.5mm,Dernier]{auto}{auto}
+ \DefinirCourbe[Trace,Couleur=teal,Pas=0.001]<f>{sqrt(1-x^2)}
+ \SimulerMonteCarlo<f>{5000}
+\end{GraphiqueTikz}
+
+Le nombre de points bleus est de \textcolor{blue}{\num{\nbptsmcok}},
+le nombre de points rouges est de \textcolor{red}{\num{\nbptsmcko}}.
+
+La proportion de points bleus est de $\frac{\num{\nbptsmcok}}{\num{\nbptsmc}}
+\approx \ArrondirNum[4]{\nbptsmcok/\nbptsmc}$
+et $\frac{\pi}{4} \approx \ArrondirNum[4]{pi/4}$.
+\end{tcblisting}
+
+\pagebreak
+
\section{Commandes spécifiques des statistiques à deux variables}
\subsection{Le nuage de points}\label{nuage}
@@ -1767,6 +1899,7 @@ Les commandes disponibles sont :
\lstcmd{def spline~~~~~}{\DefinirCourbeSpline}{deftracfctspline}
\lstcmd{tracé spline~~~}{\TracerCourbeSpline}{deftracfctspline}
\lstcmd{tracé droite~~~}{\TracerDroite}{tracdroite}
+ \lstcmd{asymptote vert~}{\TracerAsymptote}{tracdroite}
\lstcmd{def points~~~~~}{\DefinirPts}{defpts}
\lstcmd{def image~~~~~~}{\DefinirImage}{defpts}
\lstcmd{marq pts~~~~~~~}{\MarquerPts}{markpts}
@@ -1781,6 +1914,8 @@ Les commandes disponibles sont :
\lstcmd{maximum~~~~~~~~}{\TrouverMaximum}{maximum}
\lstcmd{minimum~~~~~~~~}{\TrouverMinimum}{minimum}
\lstcmd{intégrale~~~~~~}{\TracerIntegrale}{integr}
+ \lstcmd{méthodes int~~~}{\RepresenterMethodeIntegrale}{methodesintergrales}
+ \lstcmd{Monte-Carlo~~~~}{\SimulerMonteCarlo}{montecarlo}
\lstcmd{tangente~~~~~~~}{\TracerTangente}{tgte}
\lstcmd{loi normale~~~~}{\DefinirLoiNormale}{loinormale}
\lstcmd{loi normale~~~~}{\TracerLoiNormale}{loinormale}
@@ -1798,6 +1933,7 @@ Les commandes disponibles sont :
\begin{quote}
\begin{verbatim}
+0.1.6 : Asymptote verticale + Méthodes intégrales (géom + Monte Carlo)
0.1.5 : Correction d'un bug sur les rajouts de valeurs + Nœud pour une image + [en] version !
0.1.4 : Placement de texte
0.1.3 : Ajout de régressions avec le package xint-regression
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/typog/LICENSE b/Master/texmf-dist/doc/latex/typog/LICENSE
new file mode 100644
index 00000000000..888d9e68e7a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/typog/LICENSE
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % 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 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
diff --git a/Master/texmf-dist/doc/latex/typog/README.md b/Master/texmf-dist/doc/latex/typog/README.md
index fb55ccb1e12..c67519bffc6 100644
--- a/Master/texmf-dist/doc/latex/typog/README.md
+++ b/Master/texmf-dist/doc/latex/typog/README.md
@@ -1,3 +1,6 @@
+![distcheck status](https://github.com/cspiel/typog/actions/workflows/distcheck.yml/badge.svg)
+
+
# TypoG &ndash; Typographic Fine-Tuning for LaTeX
LaTeX package `typog` provides macros for (micro-)typographic enhancements;
@@ -8,6 +11,7 @@ it covers a variety of topics:
* Manual italic correction
* Extra kerning for slash and hyphen
* Raising selected characters (e.g. hyphen, en-dash, and em-dash)
+* Adjusting the vertical position of `itemize`'s labels
* Aligning of the last line of a paragraph
* Filling of the last line last line of a paragraph
* Word spacing control
diff --git a/Master/texmf-dist/doc/latex/typog/RELEASE-HOWTO.md b/Master/texmf-dist/doc/latex/typog/RELEASE-HOWTO.md
deleted file mode 100644
index 13435ef66d5..00000000000
--- a/Master/texmf-dist/doc/latex/typog/RELEASE-HOWTO.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# How to prepare a new release
-
-... and not make too many mistakes.
-
-
-1. Check that the work-area is clean with respect to **git**-tracked
- files.
-
- ``` git status ```
-
-1. Update the date stamp of `\ProvidesPackage`.
-
-1. (Temporarily) Zero the `\overfullrule`s of the documentation and
- the example files.
-
-1. Thoroughly clean the work-area:
-
- ```make maintainer-clean```
-
-1. Rebuild:
-
- ```make```
-
-1. Check that all _*.sty_ and _*.pdf_ files are in good shape.
-
-1. Push the documentation files created in the previous step down into
- the *docs* directory:
-
- ```make update-docs```
-
-1. Undo the `\overfullrule` change.
-
-1. Commit the changes:
-
- ```
- git add .
- ```
-
- and finally
-
- ```
- git commit
- ```
-
-1. Tag the commit with the version string of `\ProvidesPackage`:
-
- ```git tag v1.23```
-
-1. Push the changes to the public repository:
-
- ```git push origin master --tags```
diff --git a/Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp b/Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp
index 778a3bc3846..7667b66b1d6 100644
--- a/Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp
+++ b/Master/texmf-dist/doc/latex/typog/crooked-paragraphs.mp
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -25,7 +25,9 @@
%% This work consists of the files typog.dtx and typog.ins
%% and the derived files typog.sty, slant-angle.mp,
%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-%% typog-example.tex, typog-nomt.tex, typog-grep.pl,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
%% typog-grep.pod, and teximan2latex.sed.
%%
%%
diff --git a/Master/texmf-dist/doc/latex/typog/index.md b/Master/texmf-dist/doc/latex/typog/index.md
deleted file mode 100644
index f4dc2e8bd9a..00000000000
--- a/Master/texmf-dist/doc/latex/typog/index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-### Package Documentation
-
-- Comprehensive `typog` documentation: [typog.pdf](https://cspiel.github.io/typog/typog.pdf)
-- `typog` examples and tests: [typog-example.pdf](https://cspiel.github.io/typog/typog-example.pdf)
-- **typog-grep** manual page: [typog-grep.1](https://cspiel.github.io/typog/typog-grep.1) and as PDF: [typog-grep.1.pdf](https://cspiel.github.io/typog/typog-grep.1.pdf)
diff --git a/Master/texmf-dist/doc/latex/typog/slant-angle.mp b/Master/texmf-dist/doc/latex/typog/slant-angle.mp
index f25f790ea6f..61f2d248e22 100644
--- a/Master/texmf-dist/doc/latex/typog/slant-angle.mp
+++ b/Master/texmf-dist/doc/latex/typog/slant-angle.mp
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -25,7 +25,9 @@
%% This work consists of the files typog.dtx and typog.ins
%% and the derived files typog.sty, slant-angle.mp,
%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-%% typog-example.tex, typog-nomt.tex, typog-grep.pl,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
%% typog-grep.pod, and teximan2latex.sed.
%%
%%
diff --git a/Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp b/Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp
index ce47135a56e..dcf66fd0527 100644
--- a/Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp
+++ b/Master/texmf-dist/doc/latex/typog/smooth-parshapes.mp
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -25,7 +25,9 @@
%% This work consists of the files typog.dtx and typog.ins
%% and the derived files typog.sty, slant-angle.mp,
%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-%% typog-example.tex, typog-nomt.tex, typog-grep.pl,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
%% typog-grep.pod, and teximan2latex.sed.
%%
%%
diff --git a/Master/texmf-dist/doc/latex/typog/teximan2latex.sed b/Master/texmf-dist/doc/latex/typog/teximan2latex.sed
index b329ac3845f..ff0a7e65328 100644
--- a/Master/texmf-dist/doc/latex/typog/teximan2latex.sed
+++ b/Master/texmf-dist/doc/latex/typog/teximan2latex.sed
@@ -10,35 +10,49 @@
/@menu/,/@end menu/d
## Convert sectioning macros to our own hierarchy.
-s/^@chapter \(.*\)$/\\subsection*{\\textls[40]{\1}}/
-s/^@section \(.*\)$/\\subsubsection*{\1}/
+s/^@chapter \(.*\)$/\\subsection{\\titlecase{\1}\\label{\1}}/
+s/^@section \(.*\)$/\\subsubsection{\\titlecase{\1}}\\label{\1}/
## Make `@asis' list resemble the Texinfo format.
s/@table @asis/\\begin{list}{}{\\itemindent=-20pt\\leftmargin=20pt}/
s/@end table/\\end{list}/
+## We substitute our maxipage environment for @display.
+s/@display/\\begin{maxipage}/
+s/@end display/\\end{maxipage}/
+
+## Translate `@example' environments.
+s/@example/\\begin{quote}\\tt\\obeylines/
+s/@end example/\\end{quote}\n\n/
+
## Indenting by four spaces generates a `verbatim' environment.
s/@verbatim/\\begin{verbatim}/
s/@end verbatim/\\end{verbatim}/
-## We substitute @display for our maxipage environment.
-s/@display/\\begin{maxipage}/
-s/@end display/\\end{maxipage}/
-
## The argument format of the URL macro is different.
s/@url{\([^,]*\), \([^}]*\)}/\\href{\1}{\2}/g
## Use our own markup.
s/\.\.\./\\dots{}/g
s/LaTeX/\\LaTeX{}/g
-s/@file/\\textit/g
+s/@file/\\emph/g
s/@strong/\\textbf/g
+s/@var/\\emph/g
s/[w]{/mbox{/g
+## Translate some Texinfo macros.
+s/@backslashchar/\\char`\\\\/g
+s/@lbracechar/\\{/g
+s/@noindent/\\noindent/g
+s/@rbracechar/\\}/g
+
## Quote some special characters.
s/%/\\%/g
s/_/\\_/g
+## Add space around alternative-indicators.
+s/[|]/\\,|\\,/g
+
## Adapt to how a man-page is typeset.
## En-dashes in front of long options really suck!
s/--/-\\nolig*-/g
@@ -52,4 +66,4 @@ s/@@/@/g
s/\\jobname/\\textbackslash jobname/g
## Make qualified Perl names breakable.
-s/::/::\\discretionary{}{}{}/g
+s/::/::\\breakpoint*/g
diff --git a/Master/texmf-dist/doc/latex/typog/title.mp b/Master/texmf-dist/doc/latex/typog/title.mp
index 2fd74e91f9d..21e47883ee5 100644
--- a/Master/texmf-dist/doc/latex/typog/title.mp
+++ b/Master/texmf-dist/doc/latex/typog/title.mp
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -25,7 +25,9 @@
%% This work consists of the files typog.dtx and typog.ins
%% and the derived files typog.sty, slant-angle.mp,
%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-%% typog-example.tex, typog-nomt.tex, typog-grep.pl,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
%% typog-grep.pod, and teximan2latex.sed.
%%
%%
diff --git a/Master/texmf-dist/doc/latex/typog/typog-example.pdf b/Master/texmf-dist/doc/latex/typog/typog-example.pdf
index 621ac319d20..48a8a506e14 100644
--- a/Master/texmf-dist/doc/latex/typog/typog-example.pdf
+++ b/Master/texmf-dist/doc/latex/typog/typog-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/typog/typog-example.tex b/Master/texmf-dist/doc/latex/typog/typog-example.tex
index af04d490094..470bd830723 100644
--- a/Master/texmf-dist/doc/latex/typog/typog-example.tex
+++ b/Master/texmf-dist/doc/latex/typog/typog-example.tex
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -25,7 +25,9 @@
%% This work consists of the files typog.dtx and typog.ins
%% and the derived files typog.sty, slant-angle.mp,
%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-%% typog-example.tex, typog-nomt.tex, typog-grep.pl,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
%% typog-grep.pod, and teximan2latex.sed.
%%
%%
@@ -42,10 +44,14 @@
\usepackage{fullwidth}
\usepackage{hyphenat}
\usepackage{mathtools}
-\usepackage[activate=true, verbose=true]{microtype}
+\usepackage[activate=true, verbose=false]{microtype}
\usepackage{ragged2e}
\usepackage[nobottomtitles*]{titlesec}\renewcommand*{\bottomtitlespace}{.2\textheight}
-\usepackage[debug, trackingttspacing]{typog}
+\usepackage{trace}
+\usepackage[debug,
+ trackingttspacing,
+ uppercaselabelitemadjustments={0pt, .1em, .15em, .1em},
+ lowercaselabelitemadjustments={-.0667em, 0pt, .1em, 0pt}]{typog}
\usepackage{xcolor}
\usepackage[loosest, proportional, scaled=1.064]{erewhon}
@@ -55,49 +61,42 @@
\usepackage{setspace}\setstretch{1.08333}
\def\xsfdefault{\relax}
-{
- \def\examplefont{6}
-
- \ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000)
- \gdef\examplefontname{default}
- \global\let\xsf=\sf
- \global\let\xsfdefault=\sfdefault
- \or % 1 -- Nunito
- \gdef\examplefontname{Nunito}
- \usepackage{nunito}
- \xdef\xsfdefault{\rmdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 2 -- OpenSans
- \gdef\examplefontname{OpenSans}
- \usepackage[defaultsans]{opensans}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 3 -- Noto Sans
- \gdef\examplefontname{OpenSans}
- \usepackage[sfdefault]{noto}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 4 -- Roboto
- \gdef\examplefontname{Roboto}
- \usepackage[sfdefault]{roboto}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 5 -- Montserrat
- \gdef\examplefontname{Montserrat Alternate}
- \usepackage[alternates]{montserrat}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 6 -- Inter
- \gdef\examplefontname{Inter}
- \usepackage[sfdefault]{inter}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \else
- \SelectedUnknownExampleFont
- \fi
- \typeout{typog-example: font for examples: `\xsfdefault'}%
-}
+\def\examplefont{6}
+
+\ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000)
+ \def\examplefontname{default}
+ \let\xsf=\sf
+ \let\xsfdefault=\sfdefault
+\or % 1 -- Nunito
+ \def\examplefontname{Nunito}
+ \def\xsfdefault{Nunito-TOsF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 2 -- OpenSans
+ \def\examplefontname{OpenSans}
+ \def\xsfdefault{opensans-TLF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 3 -- Noto Sans
+ \def\examplefontname{Noto Sans}
+ \def\xsfdefault{NotoSans-TLF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 4 -- Roboto
+ \def\examplefontname{Roboto}
+ \def\xsfdefault{Roboto-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 5 -- Montserrat
+ \def\examplefontname{Montserrat Alternates}
+ \def\xsfdefault{MontserratAlternates-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 6 -- Inter
+ \def\examplefontname{Inter}
+ \def\xsfdefault{Inter-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\else
+ \SelectedUnknownExampleFont
+\fi
+
+\typeout{typog-example: font for examples: `\xsfdefault'}%
\usepackage{hyperref}
\usepackage{cleveref}
@@ -204,7 +203,6 @@
concentrate all the badness in one place, making one truly unsightly line instead of
two moderately bad ones, because a single ``write-off'' produces fewest total
demerits according to the rules.}
- %There is a much better way to get the desired effect:~[\dots]
\newcommand*{\texbooktolerancesamplecredits}
{\medskip\noindent
\textsl{The sample text was taken from The~\TeX{}book~\cite[p.~107]{knuth:1986}.}}
@@ -212,7 +210,7 @@
\newcommand*{\texbookparfillskipsample}
{We still haven't discussed the special trick that allows the final line of a paragraph
to be shorter than the others. Just before \TeX{} begins to choose breakpoints,
- it does two important things: [\dots]}
+ it does two important things: [\dots\itcorr{-4}]}
\newcommand*{\texbooklongparfillskipsample}
{We still haven't discussed the special trick that allows the final line of a paragraph
to be shorter than the others. Just before \TeX{} begins to choose breakpoints,
@@ -220,7 +218,7 @@
that glue is discarded. (The reason is that a blank space often gets into a token list just
before \code{\char92par} or just before \code{\char36\char36}, and this blank space should not be
part of the paragraph.) (2)~Three or more items are put at the end of the
- current horizontal list~[\dots]}
+ current horizontal list~[\dots\itcorr{-4}]}
\newcommand*{\texbookparfillskipsamplecredits}
{\medskip\noindent
\textsl{The sample text was taken from The~\TeX{}book~\cite[p.~99n]{knuth:1986}.}}
@@ -271,7 +269,7 @@
The font used in this example is \exfontnameinfo, \exfontsizeinfo*.}
\setcounter{tocdepth}{1}
-\setlength{\overfullrule}{3pt}
+\setlength{\overfullrule}{0pt}
\hbadness=-1
\input{ushyphex}
@@ -383,7 +381,74 @@ in the official documentation of package~\packagename{typog}.
\noindent
Unless otherwise noted the font used in the examples is \singlequotes{\examplefontname}.
-\bigskip
+\section{Setup and Reconfiguration}
+
+\noindent
+\code{\char`\\ typogget}
+
+\begin{list}{}{}
+ \newcommand*{\expandsto}{$\mathbin{\mapsto}$}
+\item \code{breakpenalty} \expandsto{} \the\typogget{breakpenalty}
+\item \code{ligaturekern} \expandsto{} \milliem{\typogget{ligaturekern}}
+\item \code{lowercaselabelitemadjustments} \expandsto{} \typogget{lowercaselabelitemadjustments}
+\item \code{mathitalicscorrection} \expandsto{} \the\typogget{mathitalicscorrection}
+\item \code{raisecapitaldash} \expandsto{} \the\typogget{raisecapitaldash}
+\item \code{raisecapitalguillemets} \expandsto{} \the\typogget{raisecapitalguillemets}
+\item \code{raisecapitalhyphen} \expandsto{} \the\typogget{raisecapitalhyphen}
+\item \code{raisecapitaltimes} \expandsto{} \the\typogget{raisecapitaltimes}
+\item \code{raisefiguredash} \expandsto{} \the\typogget{raisefiguredash}
+\item \code{raiseguillemets} \expandsto{} \the\typogget{raiseguillemets}
+\item \code{shrinklimits} \expandsto{} \typogget{shrinklimits}
+\item \code{slashkern} \expandsto{} \the\typogget{slashkern}
+\item \code{stretchlimits} \expandsto{} \typogget{stretchlimits}
+\item \code{textitalicscorrection} \expandsto{} \the\typogget{textitalicscorrection}
+\item \code{trackingttspacing} \expandsto{} \typogget{trackingttspacing}
+\item \code{uppercaselabelitemadjustments} \expandsto{} \typogget{uppercaselabelitemadjustments}
+\end{list}
+
+\begingroup
+ \dimen0=\typogget{raisecapitaldash}%
+ \setbox0=\hbox to \typogget{ligaturekern} {}%
+\endgroup
+
+\noindent
+\code{\char`\\ typoggetnth}
+
+\begin{list}{}{}
+\item
+ Elements of \code{lowercaselabelitemadjustments}:
+ (1)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{1}\the\dimen0,
+ (2)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{2}\the\dimen0,
+ (3)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{3}\the\dimen0, and
+ (4)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{4}\the\dimen0.
+
+ Same elements now accessed from the right-hand-side, i.\,e.~with negative indices:
+ (\textminus4)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-4}\nth,
+ (\textminus3)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-3}\nth,
+ (\textminus2)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-2}\nth, and
+ (\textminus1)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-1}\nth.
+
+\item Elements of \code{shrinklimits}:
+ (1)~\typoggetnth{nth}{shrinklimits}{1}\nth,
+ (2)~\typoggetnth{nth}{shrinklimits}{2}\nth, and
+ (3)~\typoggetnth{nth}{shrinklimits}{3}\nth.
+
+\item Elements of \code{stretchlimits}:
+ (1)~\typoggetnth{nth}{stretchlimits}{1}\nth,
+ (2)~\typoggetnth{nth}{stretchlimits}{2}\nth, and
+ (3)~\typoggetnth{nth}{stretchlimits}{3}\nth.
+
+\item Elements of \code{trackingttspacing}:
+ (1)~\typoggetnth{nth}{trackingttspacing}{1}\nth,
+ (2)~\typoggetnth{nth}{trackingttspacing}{2}\nth, and
+ (3)~\typoggetnth{nth}{trackingttspacing}{3}\nth.
+
+\item Elements of \code{uppercaselabelitemadjustments}:
+ (1)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{1}\the\dimen0,
+ (2)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{2}\the\dimen0,
+ (3)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{3}\the\dimen0, and
+ (4)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{4}\the\dimen0.
+\end{list}
\section{Information}
@@ -864,6 +929,81 @@ We again compare the default implementation with the adjusted one.
\parbox[t]{0pt}{\FrenchdoublequotesFR{\samplestring}}
\end{quote}
+\section{Label Items}
+
+The current configurations for the uppercase and lowercase adjustments are
+\{\typogget{uppercaselabelitemadjustments}\} and \{\typogget{lowercaselabelitemadjustments}\},
+respectively.
+
+\begin{center}
+ \makeatletter
+ \noindent
+ A\raisebox{\typog@adjust@uppercase@labelitemi}{\labelitemi}%
+ B\raisebox{\typog@adjust@uppercase@labelitemii}{\labelitemii}%
+ E\raisebox{\typog@adjust@uppercase@labelitemiii}{\labelitemiii}%
+ G\raisebox{\typog@adjust@uppercase@labelitemiv}{\labelitemiv}H \\
+ a\raisebox{\typog@adjust@lowercase@labelitemi}{\labelitemi}%
+ b\raisebox{\typog@adjust@lowercase@labelitemii}{\labelitemii}%
+ c\raisebox{\typog@adjust@lowercase@labelitemiii}{\labelitemiii}%
+ e\raisebox{\typog@adjust@lowercase@labelitemiv}{\labelitemiv}g
+ \makeatother
+\end{center}
+
+For the following nested lists we adjust levels one and three for uppercase and levels two and
+four for lowercase.
+
+\begingroup
+ \uppercaseadjustlabelitems{1,3}
+ \lowercaseadjustlabelitems{2,4}
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \begin{itemize}
+ \item A
+ \item B
+ \item C
+ \begin{itemize}
+ \item d
+ \item e
+ \item f
+ \begin{itemize}
+ \item G
+ \item H
+ \item I
+ \begin{itemize}
+ \item j
+ \item k
+ \item l
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\endgroup
+\noadjustlabelitems{*}% not necessary, but we want to exercise the macro
+
+The left example shows the result of \code{\string\typogadjuststairs\{.25pt\}\{11\}\{ABC\}} and
+the one on the right hand side just uses the same parameters except for the sample~\sample{ace},
+this is, only lowercase letters.
+
+\begin{center}
+ \begin{minipage}[t]{12em}
+ \centering
+ \typogadjuststairs{.25pt}{11}{ABC}
+ \end{minipage}
+ \begin{minipage}[t]{12em}
+ \centering
+ \typogadjuststairs{.25pt}{11}{ace}
+ \end{minipage}
+\end{center}
+
+For this document the calls
+\code{\string\typoguppercaseadjustcheck\{ABC\-DEF\-GHI\-JKL\-MNO\-PQR\-STU\-VWX\-YZ\}} and
+\code{\string\typoglowercaseadjustcheck\{ace\-gmn\-opq\-rsu\-vwx\-yz\}} yield
+\sample{\typoguppercaseadjustcheck{ABCDEFGHIJKLMNOPQRSTUVWXYZ}} and
+\sample{\typoglowercaseadjustcheck{acegmnopqrsuvwxyz}}, where the adjustments in effect are
+\code{\{\typogget{uppercaselabelitemadjustments}\}} and
+\code{\{\typogget{lowercaselabelitemadjustments}\}}, respectively.
+
\clearpage
\section{Align Last Line}
@@ -1085,7 +1225,7 @@ consult \propername{David Carlisle's} excellent post on \propername{StackExchang
\begin{center}
\setlength{\overfullrule}{0pt}
- \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{0.1pt}{1em}}
+ \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{.1pt}{1em}}
\newsavebox{\narrowspacesample}
\sbox{\narrowspacesample}{\spacesampletext{\narrowspace}}
\newsavebox{\widespacesample}
@@ -1488,7 +1628,7 @@ New settings: \baselinesetsize.
\newcommand*{\relbls}{130}
\paragraph{\code{\string\setbaselineskippercentage\{\relbls\}}}
-\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * 0.6667}% float expression
+\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * .6667}% float expression
\setbaselineskippercentage{\relbls}
\fontsizeinfo{baselinesetsize}
New settings: \baselinesetsize.
diff --git a/Master/texmf-dist/doc/latex/typog/typog-grep.1.pdf b/Master/texmf-dist/doc/latex/typog/typog-grep.1.pdf
index 09647860d5d..9a430085081 100644
--- a/Master/texmf-dist/doc/latex/typog/typog-grep.1.pdf
+++ b/Master/texmf-dist/doc/latex/typog/typog-grep.1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/typog/typog-grep.pl.in b/Master/texmf-dist/doc/latex/typog/typog-grep.pl.in
new file mode 100644
index 00000000000..39d64aec1ae
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/typog/typog-grep.pl.in
@@ -0,0 +1,682 @@
+#! /usr/bin/env perl
+
+use autodie qw(:all);
+use strict;
+use warnings;
+
+use Data::Dumper ();
+use Encode ();
+use English;
+use File::Basename ();
+use Getopt::Long;
+use IO::File;
+use IO::Handle;
+use Term::ANSIColor ();
+
+use constant COMMAND_NAME => File::Basename::basename($PROGRAM_NAME);
+
+my $DEBUG = 0;
+my $MATCH_COUNT = 0;
+my $OUTPUT_IS_REDIRECTED;
+
+sub fail_with_error {
+ print STDERR join('', COMMAND_NAME, ': ', @_, "\n");
+ exit 2;
+}
+
+sub issue_warning {
+ print STDERR join('', COMMAND_NAME, ': warning: ', @_, "\n");
+}
+
+sub debug_print {
+ return unless $DEBUG;
+ print STDERR "+ @_\n";
+}
+
+sub quote_filesystem {qq("$_[0]")}
+sub quote_literal {qq(`$_[0]')}
+
+sub limit_string_length {
+ my ($a_string, $a_maximum_length) = @_;
+
+ if (length $a_string <= $a_maximum_length) {
+ $a_string;
+ } else {
+ substr($a_string, 0, $a_maximum_length - 3) . '...';
+ }
+}
+
+## We set all colors to `undef' and fill them later with the values
+## of the actual configuration.
+my $highlight_patterns = {
+ PARTIAL_LINE => {
+ FONT_SPEC => [qr#
+ \\
+ (?: OMS | OMX | OT1 | T1 | TS1 | U )
+ (?: /[^/]+ ){5} / \S+ \s
+ (?: \([+-]\d+\) )?
+ #x, undef],
+ MATH => [qr#
+ \$
+ \\
+ (?: LMS | OML )
+ (?: /[^/]+ ){5} / \S+ \s
+ (?: \([+-]\d+\) )?
+ .*?
+ \$
+ #x, undef]
+ },
+ WHOLE_LINE => {
+ FILL_STATE => [qr#^(?:Under|Over)full \\hbox .*$#, undef],
+ FIRST_VBOX => [qr#^%%#, undef],
+ HORIZONTAL_BREAKPOINT => [qr#^@@\d+:.*$#, undef],
+ HORIZONTAL_BREAK_CANDIDATE => [qr#^@[\\ ].*$#, undef],
+ LINE_BREAK_PASS => [qr#^@[a-z]+?pass#, undef],
+ TIGHTNESS => [qr#^(?:Loose|Tight) \\hbox .*$#, undef],
+ VERTICAL_BREAKPOINT => [qr#^% t=\d+.*$#, undef]
+ }
+};
+
+sub colorize_line {
+ my ($configuration, $line) = @_;
+
+ foreach my $pattern_color_pair (values %{$highlight_patterns->{WHOLE_LINE}}) {
+ next unless $pattern_color_pair->[1];
+ return Term::ANSIColor::colored($line, $pattern_color_pair->[1])
+ if $line =~ $pattern_color_pair->[0];
+ }
+ return $line if $line =~ m#^\.#; # we do not paint box contents yet
+
+ $line =~ s#$highlight_patterns->{PARTIAL_LINE}->{MATH}->[0]
+ #Term::ANSIColor::colored($MATCH, $highlight_patterns->{PARTIAL_LINE}->{MATH}->[1])
+ #egx;
+
+ $line =~ s#$highlight_patterns->{PARTIAL_LINE}->{FONT_SPEC}->[0]
+ #Term::ANSIColor::colored($MATCH, $highlight_patterns->{PARTIAL_LINE}->{FONT_SPEC}->[1])
+ #egx;
+
+ return $line;
+}
+
+my $open_or_close_tag_regexp = qr#^</?typog-inspect[ >]#; # somewhat sloppy definition
+my $close_tag_regexp = qr#^</typog-inspect>#;
+my $open_tag_regexp =
+ qr#^
+ <typog-inspect \s+
+ id="(?<id_match> .*?)" \s+
+ job="(?<job_match> .*?)" \s+
+ line="(?<line_match> .*?)" \s+
+ page="(?<page_match> .*?)"
+ >#x;
+
+sub find_encoder {
+ my $encoding = shift;
+
+ my $encoder;
+
+ if ($encoding) {
+ $encoder = Encode::find_encoding($encoding);
+ if (!$encoder) {
+ issue_warning("encoding @{[quote_literal($encoding)]} unknown; proceeding without decoder");
+ }
+ }
+
+ return $encoder;
+}
+
+sub grep_log_file {
+ my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+
+ my $encoder = find_encoder($options->{ENCODING});
+ my $job_name;
+ my $line_number = 0; # line number in the log file we are inspecting, i.e., $filename
+ my $match_count = 0;
+ my $source_line_number; # line number in TeX file the log refers to, i.e., "$job_name.tex"
+ my $page_number;
+ my $regexp_modifier = $options->{IGNORE_CASE} ? 'i' : '';
+ my $id_value;
+ my @nesting_levels;
+
+ if ($options->{WORD_REGEXP}) {
+ $id_regexp = "\\b$id_regexp\\b";
+ }
+
+ while (my $line = readline $file) {
+ chomp $line;
+ $line_number++;
+
+ $line = Encode::encode_utf8($encoder->decode($line, Encode::FB_CROAK)) if $encoder;
+
+ if ($line =~ $close_tag_regexp) {
+ fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels;
+ pop @nesting_levels;
+ }
+
+ if (@nesting_levels and $nesting_levels[-1] and $line !~ $open_or_close_tag_regexp) {
+ if ($options->{LOG_LINE_NUMBER}) {
+ my $formatted_log_line_number =
+ sprintf $configuration->{LOG_LINE_NUMBER_FORMAT}, $line_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_log_line_number =
+ Term::ANSIColor::colored($formatted_log_line_number,
+ $configuration->{COLORS}->{LOG_LINE_NUMBER});
+ }
+ print $formatted_log_line_number, ' ';
+ }
+
+ print "$job_name: " if $options->{JOB_NAME};
+
+ if ($options->{LINE_NUMBER}) {
+ my $formatted_line_number = sprintf $configuration->{LINE_NUMBER_FORMAT}, $source_line_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_line_number =
+ Term::ANSIColor::colored($formatted_line_number,
+ $configuration->{COLORS}->{LINE_NUMBER});
+ }
+ print $formatted_line_number, ' ';
+ }
+
+ if ($options->{PAGE_NUMBER}) {
+ my $formatted_page_number = sprintf $configuration->{PAGE_NUMBER_FORMAT}, $page_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_page_number =
+ Term::ANSIColor::colored($formatted_page_number,
+ $configuration->{COLORS}->{PAGE_NUMBER});
+ }
+ print $formatted_page_number, ' ';
+ }
+
+ if ($options->{ID} and not $configuration->{PRINT_ID_AS_HEADING}) {
+ my $formatted_id = sprintf $configuration->{ID_INLINE_FORMAT}, $id_value;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_id = Term::ANSIColor::colored($formatted_id ,
+ $configuration->{COLORS}->{ID_COLOR});
+ }
+ print $formatted_id, ' ';
+ }
+
+ if ($options->{COLORIZE_OUTPUT}) {
+ print colorize_line($configuration, $line);
+ } else {
+ print $line;
+ }
+ print "\n";
+ }
+
+ if ($line =~ $open_tag_regexp) {
+ $id_value = limit_string_length($+{id_match}, $configuration->{ID_MAX_LENGTH});
+ $job_name = $+{job_match};
+ $source_line_number = $+{line_match};
+ $page_number = $+{page_match};
+
+ my $found_matching_id = ($id_value =~ m/(?$regexp_modifier)$id_regexp/) ? 1 : 0;
+ push @nesting_levels, $found_matching_id;
+ if ($found_matching_id) {
+ ++$MATCH_COUNT; # global count -- needed for return code of program
+ ++$match_count; # per file count -- needed to be able to separate the hunks
+
+ print "\n" if $match_count >= 2;
+ if ($options->{ID} and $configuration->{PRINT_ID_AS_HEADING}) {
+ my $formatted_id = sprintf $configuration->{ID_HEADING_FORMAT}, $id_value;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_id =
+ Term::ANSIColor::colored($formatted_id,
+ $configuration->{COLORS}->{ID_HEADING_COLOR});
+ }
+ print $formatted_id, "\n";
+ }
+ }
+ }
+ }
+
+ return $match_count;
+}
+
+sub show_ids_in_file {
+ my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+
+ my $encoder = find_encoder($options->{ENCODING});
+ my $line_number = 0;
+ my $match_count = 0;
+ my @nesting_levels;
+
+ while (my $line = readline $file) {
+ chomp $line;
+ $line_number++;
+
+ $line = Encode::encode_utf8($encoder->decode($line, Encode::FB_CROAK)) if $encoder;
+
+ if ($line =~ $close_tag_regexp) {
+ fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels;
+ pop @nesting_levels;
+ }
+
+ if ($line =~ $open_tag_regexp) {
+ my $id_value = limit_string_length($+{id_match}, $configuration->{ID_MAX_LENGTH});
+ my $job_name = $+{job_match};
+ my $source_line_number = $+{line_match};
+ my $page_number = $+{page_match};
+
+ ++$MATCH_COUNT;
+ ++$match_count;
+ push @nesting_levels, 1;
+
+ if ($options->{LOG_LINE_NUMBER}) {
+ my $formatted_log_line_number =
+ sprintf $configuration->{LOG_LINE_NUMBER_FORMAT}, $line_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_log_line_number =
+ Term::ANSIColor::colored($formatted_log_line_number,
+ $configuration->{COLORS}->{LOG_LINE_NUMBER});
+ }
+ print $formatted_log_line_number, ' ';
+ }
+
+ print "$job_name: " if $options->{JOB_NAME};
+
+ if ($options->{LINE_NUMBER}) {
+ my $formatted_line_number = sprintf $configuration->{LINE_NUMBER_FORMAT}, $source_line_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_line_number =
+ Term::ANSIColor::colored($formatted_line_number,
+ $configuration->{COLORS}->{LINE_NUMBER});
+ }
+ print $formatted_line_number, ' ';
+ }
+
+ if ($options->{PAGE_NUMBER}) {
+ my $formatted_page_number = sprintf $configuration->{PAGE_NUMBER_FORMAT}, $page_number;
+ if ($options->{COLORIZE_OUTPUT}) {
+ $formatted_page_number =
+ Term::ANSIColor::colored($formatted_page_number,
+ $configuration->{COLORS}->{PAGE_NUMBER});
+ }
+ print $formatted_page_number, ' ';
+ }
+
+ my $indent = $configuration->{ID_INDENT} * (@nesting_levels - 1);
+ print ' ' x $indent, $id_value, "\n";
+ }
+ }
+
+ return $match_count;
+}
+
+sub open_file_for_reading {
+ my $filename = shift;
+
+ my $file;
+
+ if ($filename eq 'stdin') {
+ $file = IO::Handle->new();
+ $file->fdopen(fileno(STDIN), 'r') or
+ fail_with_error("cannot open stdin: $OS_ERROR");
+ } else {
+ $file = IO::File->new($filename, 'r') or
+ fail_with_error("cannot open @{[quote_filesystem($filename)]}: $OS_ERROR");
+ }
+
+ return $file;
+}
+
+sub close_file {
+ my ($file, $filename) = shift;
+
+ $file->close or
+ issue_warning("problems while closing @{[quote_filesystem($filename)]}: $OS_ERROR");
+}
+
+sub grep_or_show {
+ my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+
+ if ($options->{SHOW_ALL_IDS}) {
+ return show_ids_in_file($options, $configuration, $file, $filename, $id_regexp);
+ } else {
+ return grep_log_file($options, $configuration, $file, $filename, $id_regexp);
+ }
+}
+
+sub scan_files {
+ my ($options, $configuration, $id_regexp, $log_filenames) = @_;
+
+ my $match_count = 0;
+
+ if (@$log_filenames) {
+ foreach my $log_filename (@$log_filenames) {
+ $log_filename = 'stdin' if $log_filename eq '-';
+ if (@$log_filenames >= 2) {
+ print "\n" unless $log_filename eq $log_filenames->[0];
+ my $filename_header = "==> $log_filename <==\n";
+ $filename_header = Term::ANSIColor::colored($filename_header,
+ $configuration->{COLORS}->{FILE_HEADER})
+ if $options->{COLORIZE_OUTPUT};
+ print $filename_header;
+ }
+ my $file = open_file_for_reading($log_filename);
+ $match_count += grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
+ close_file($file, $log_filename);
+ }
+ } else {
+ my $log_filename = 'stdin';
+ my $file = open_file_for_reading($log_filename);
+ $match_count = grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
+ close_file($file, $log_filename);
+ }
+
+ return $match_count;
+}
+
+sub redirect_and_scan_files {
+ my ($options, $configuration, $id_regexp, $log_filenames) = @_;
+
+ my $pager;
+
+ my $pid = open($pager, '|-', $configuration->{PAGER}, $configuration->{PAGER_FLAGS});
+ fail_with_error('failed to redirect to pager ', quote_literal($configuration->{PAGER}),
+ ' with flags ', quote_literal($configuration->{PAGER_FLAGS}),
+ ": $OS_ERROR")
+ unless defined $pid;
+ my $stdout = select $pager;
+
+ $pager->autoflush;
+ my $match_count = scan_files($options, $configuration, $id_regexp, $log_filenames);
+
+ close $pager or issue_warning "error occurred while closing the pager (pid: $pid) pipe: $OS_ERROR";
+ select $stdout;
+
+ return $match_count;
+}
+
+########################################################################
+
+my $configuration_key_map = {
+ 'id-format' => 'ID_INLINE_FORMAT',
+ 'id-indent' => 'ID_INDENT',
+ 'id-heading' => 'PRINT_ID_AS_HEADING',
+ 'id-heading-format' => 'ID_HEADING_FORMAT',
+ 'id-max-length' => 'ID_MAX_LENGTH',
+ 'line-number-format' => 'LINE_NUMBER_FORMAT',
+ 'log-line-number-format' => 'LOG_LINE_NUMBER_FORMAT',
+ 'page-number-format' => 'PAGE_NUMBER_FORMAT',
+
+ 'file-header-color' => 'FILE_HEADER',
+ 'fill-state-color' => 'FILL_STATE',
+ 'first-vbox-color' => 'FIRST_VBOX',
+ 'font-spec-color' => 'FONT_SPEC',
+ 'horizontal-break-candidate-color' => 'HORIZONTAL_BREAK_CANDIDATE',
+ 'horizontal-breakpoint-color' => 'HORIZONTAL_BREAKPOINT',
+ 'id-color' => 'ID_COLOR',
+ 'id-heading-color' => 'ID_HEADING_COLOR',
+ 'line-break-pass-color' => 'LINE_BREAK_PASS',
+ 'line-number-color' => 'LINE_NUMBER',
+ 'log-line-number-color' => 'LOG_LINE_NUMBER',
+ 'math-color' => 'MATH',
+ 'page-number-color' => 'PAGE_NUMBER',
+ 'pager' => 'PAGER',
+ 'pager-flags' => 'PAGER_FLAGS',
+ 'tightness-color' => 'TIGHTNESS',
+ 'vertical-breakpoint-color' => 'VERTICAL_BREAKPOINT'
+};
+
+my $default_configuration = {
+ COLORS => {
+ FILE_HEADER => 'bold black',
+ FILL_STATE => 'bold magenta',
+ FIRST_VBOX => 'bold red',
+ FONT_SPEC => 'grey12',
+ HORIZONTAL_BREAKPOINT => 'bold green',
+ HORIZONTAL_BREAK_CANDIDATE => 'blue',
+ ID_COLOR => 'white on_black',
+ ID_HEADING_COLOR => 'white on_black',
+ LINE_BREAK_PASS => 'bold green',
+ LINE_NUMBER => 'bold black',
+ LOG_LINE_NUMBER => 'italic black',
+ MATH => 'yellow',
+ PAGE_NUMBER => 'bold white on_red',
+ TIGHTNESS => 'bold cyan',
+ VERTICAL_BREAKPOINT => 'red'
+ },
+ ID_INLINE_FORMAT => '%s:',
+ ID_HEADING_FORMAT => '--> %s <--',
+ ID_INDENT => 8,
+ ID_MAX_LENGTH => 40,
+ LINE_NUMBER_FORMAT => '%5d',
+ LOG_LINE_NUMBER_FORMAT => '%6d',
+ PAGE_NUMBER_FORMAT => '[%3d]',
+ PAGER => 'less',
+ PAGER_FLAGS => '--quit-if-one-screen',
+ PRINT_ID_AS_HEADING => 0
+};
+
+sub initialize_highlighting_from_configuration {
+ my $configuration = shift;
+
+ while (my (undef, $assoc) = each %$highlight_patterns) {
+ while (my ($name, $pattern_color_pair) = each %$assoc) {
+ $pattern_color_pair->[1] = $configuration->{COLORS}->{$name};
+ }
+ }
+}
+
+sub modify_configuration {
+ my ($configuration, $key, $value) = @_;
+
+ fail_with_error('malformed KEY=VALUE pair -- missing key') unless $key;
+
+ if (defined $configuration_key_map->{$key}) {
+ if ($key =~ m/-color$/) {
+ $configuration->{COLORS}->{$configuration_key_map->{$key}} = $value;
+ } else {
+ $configuration->{$configuration_key_map->{$key}} = $value;
+ }
+ } else {
+ fail_with_error("@{[quote_literal($key)]} is not a valid configuration KEY");
+ }
+}
+
+sub setup_configuation {
+ my ($config_spec, $configuration) = @_;
+
+ foreach my $spec (split ':', $config_spec) {
+ my ($key, $value) = split '=', $spec;
+ modify_configuration($configuration, $key, $value);
+ }
+}
+
+my $default_options = {
+ COLORIZE_MODE => 'auto',
+ DEBUG => 0,
+ ENCODING => undef,
+ ID => 0,
+ IGNORE_CASE => 0,
+ JOB_NAME => 0,
+ LINE_NUMBER => 0,
+ LOG_LINE_NUMBER => 0,
+ PAGE_NUMBER => 0,
+ REQUEST_PAGER => 1,
+ WORD_REGEXP => 0
+};
+
+sub show_help {
+ print <<HELP_TEXT;
+Usage: @{[COMMAND_NAME]} [OPTION] ID-REGEXP LOG-FILE...
+Structured grep for typog-inspect elements that match ID-REGEXP in LOG-FILE.
+
+Options
+ --color [WHEN],
+ --colour [WHEN] use color to highlight specific log contents
+ WHEN is 'always', 'never', or 'auto'
+ -C, --config KEY=VALUE set configuration KEY to VALUE
+ -E, --encoding ENCODING set character ENCODING of LOG-FILE
+ -i, --[no-]id print matching id with output lines
+ -y, --[no-]ignore-case ignore case distinctions in patterns and data
+ -j, --[no-]job-name print \\jobname with output lines
+ -n, --[no-]line-number print TeX-source line number with output lines
+ -N, --[no-]log-line-number print log-file line number with output lines
+ -p, --[no-]page-number print page number with output lines
+ -P, --[no-]pager redirect output to pager
+ -w, --[no-]word-regexp match only whole words
+
+ -a, --all, --any discover all IDs in LOG-FILE
+
+ --debug turn on debug output
+ -h, --help display this help and exit
+ --show-config show default configuration and exit
+ --show-encodings show all known encodings and exit
+ -V, --version show version information and exit
+
+HELP_TEXT
+
+ exit 0;
+}
+
+sub show_encodings {
+ my @all_encodings = Encode->encodings(':all');
+
+ foreach my $encoding (@all_encodings) {
+ print "$encoding\n";
+ }
+
+ exit 0;
+}
+
+sub show_configuration {
+ my $format_string_value = sub {quote_literal($default_configuration->{$_[0]})};
+
+ print <<FIXED_CONFIGURATION_TEXT;
+Configuration
+Key Default Value
+------------------------------------ -------------
+id-format @{[$format_string_value->('ID_INLINE_FORMAT')]}
+id-heading $default_configuration->{PRINT_ID_AS_HEADING}
+id-heading-format @{[$format_string_value->('ID_HEADING_FORMAT')]}
+id-indent $default_configuration->{ID_INDENT}
+id-max-length $default_configuration->{ID_MAX_LENGTH}
+line-number-format @{[$format_string_value->('LINE_NUMBER_FORMAT')]}
+log-line-number-format @{[$format_string_value->('LOG_LINE_NUMBER_FORMAT')]}
+page-number-format @{[$format_string_value->('PAGE_NUMBER_FORMAT')]}
+pager @{[$format_string_value->('PAGER')]}
+pager-flags @{[$format_string_value->('PAGER_FLAGS')]}
+
+FIXED_CONFIGURATION_TEXT
+
+ foreach my $configuration_key (sort keys %$configuration_key_map) {
+ next unless $configuration_key =~ m/-color$/;
+ printf("%-36s %s\n",
+ $configuration_key,
+ quote_literal($default_configuration->
+ {COLORS}->
+ {$configuration_key_map->{$configuration_key}}));
+ }
+
+ exit 0;
+}
+
+sub show_version {
+ print <<VERSION_TEXT;
+typog-grep @RELEASE@
+
+Copyright (C) 2024 by Ch. L. Spiel
+License LPPL: LaTeX Project Public License version 1.3c or later
+VERSION_TEXT
+
+ exit 0;
+}
+
+sub get_options {
+ my ($options, $configuration) = @_;
+
+ Getopt::Long::Configure('gnu_getopt', 'no_ignore_case');
+
+ Getopt::Long::GetOptions('a|all|any' => \$options->{SHOW_ALL_IDS},
+ 'color|colour=s' => \$options->{COLORIZE_MODE},
+ 'C|configuration=s' => sub{setup_configuation($_[1], $configuration)},
+ 'debug+' => \$DEBUG,
+ 'E|encoding=s' => \$options->{ENCODING},
+ 'h|help' => \&show_help,
+ 'i|id!' => \$options->{ID},
+ 'y|ignore-case!' => \$options->{IGNORE_CASE},
+ 'j|job-name!' => \$options->{JOB_NAME},
+ 'n|line-number!' => \$options->{LINE_NUMBER},
+ 'N|log-line-number!' => \$options->{LOG_LINE_NUMBER},
+ 'p|page-number!' => \$options->{PAGE_NUMBER},
+ 'P|pager!' => \$options->{REQUEST_PAGER},
+ 'show-encodings' => \&show_encodings,
+ 'show-config' => \&show_configuration,
+ 'V|version' => \&show_version,
+ 'w|word-regexp!' => \$options->{WORD_REGEXP}) or
+ fail_with_error('problems while parsing options');
+
+ if ($options->{COLORIZE_MODE}) {
+ fail_with_error("unknown colorize mode @{[quote_literal($options->{COLORIZE_MODE})]}")
+ unless $options->{COLORIZE_MODE} =~ m/^(?:always|auto|never)$/i;
+ } else {
+ $options->{COLORIZE_MODE} = 'auto';
+ }
+}
+
+sub do_colorize {
+ my $colorize_mode = shift;
+
+ if ($colorize_mode =~ m/never/i) {
+ 0;
+ } elsif ($colorize_mode =~ m/always/i) {
+ 1;
+ } elsif ($colorize_mode =~ m/auto/i) {
+ not $OUTPUT_IS_REDIRECTED;
+ }
+}
+
+## For the comparison with the POSIX spec of grep(1) consult
+## https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html
+
+sub main {
+ $OUTPUT_IS_REDIRECTED = -t STDOUT ? 0 : 1;
+
+ my $configuration = {%$default_configuration};
+ my $options = {%$default_options};
+ debug_print(Data::Dumper::Dumper(['Default Configuration', $configuration]));
+ debug_print(Data::Dumper::Dumper(['Default Options', $options]));
+
+ my $user_options = {};
+ my $user_configuration = {};
+ get_options($user_options, $user_configuration);
+ debug_print(Data::Dumper::Dumper(['User Configuration', $user_configuration]));
+ debug_print(Data::Dumper::Dumper(['User Options', $user_options]));
+ while (my ($key, $value) = each %$user_options) {
+ $options->{$key} = $value if $value;
+ }
+ while (my ($key, $value) = each %$user_configuration) {
+ $configuration->{$key} = $value if $value;
+ }
+ debug_print(Data::Dumper::Dumper(['Final Configuration', $configuration]));
+ debug_print(Data::Dumper::Dumper(['Final Options', $options]));
+
+ $options->{COLORIZE_OUTPUT} = do_colorize($options->{COLORIZE_MODE});
+ initialize_highlighting_from_configuration($configuration);
+
+ my $id_regexp;
+ if ($options->{SHOW_ALL_IDS}) {
+ $id_regexp = '^';
+ issue_warning("option @{[quote_literal('--id')]} ignored in @{[quote_literal('--all')]} mode")
+ if $options->{ID};
+ } else {
+ fail_with_error('missing ID-REGEXP') unless @ARGV >= 1;
+ $id_regexp = shift @ARGV;
+ }
+
+ if ($user_options->{REQUEST_PAGER} && $OUTPUT_IS_REDIRECTED) {
+ issue_warning("option @{[quote_literal('--pager')]} ignored because output is redirected");
+ }
+ my $use_pager = $options->{REQUEST_PAGER} && !$OUTPUT_IS_REDIRECTED;
+ my $match_count;
+ if ($use_pager) {
+ $match_count = redirect_and_scan_files($options, $configuration, $id_regexp, \@ARGV);
+ } else {
+ $match_count = scan_files($options, $configuration, $id_regexp, \@ARGV);
+ }
+
+ exit ($match_count == 0);
+}
+
+main();
diff --git a/Master/texmf-dist/doc/latex/typog/typog-grep.pod b/Master/texmf-dist/doc/latex/typog/typog-grep.pod
index 83f4f11f474..eba8297f807 100644
--- a/Master/texmf-dist/doc/latex/typog/typog-grep.pod
+++ b/Master/texmf-dist/doc/latex/typog/typog-grep.pod
@@ -7,7 +7,7 @@
=head1 NAME
-typog-grep - grep for typog-inspect elements in LaTeX log files
+typog-grep - specialized grep for typog-inspect elements in LaTeX log files
=head1 SYNOPSIS
@@ -19,9 +19,70 @@ typog-grep - grep for typog-inspect elements in LaTeX log files
=back
-The first form shows all C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements in F<LOG-FILE>.
+The first form, ``discovery mode'', shows all I<ID>s of
-The second form shows the contents of C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements
+=begin text
+
+<typog-inspect id="ID" ...>
+
+=end text
+
+=begin man
+
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" ...>
+.EE
+.RE
+
+=end man
+
+=begin texinfo
+
+@example
+<typog-inspect id="@var{ID}" ...>
+@end example
+@noindent
+
+=end texinfo
+
+Z<>
+elements in F<LOG-FILE>.
+
+The second form shows the contents, I<LOG-DATA>, of the elements
+
+=begin text
+
+<typog-inspect id="ID" ...>
+LOG-DATA
+</typog-inspect>
+
+=end text
+
+=begin man
+
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" ...>
+\fILOG-DATA\fP
+</typog-inspect>
+.EE
+.RE
+
+=end man
+
+=begin texinfo
+
+@example
+<typog-inspect id="@var{ID}" ...>
+@var{LOG-DATA}
+</typog-inspect>
+@end example
+@noindent
+
+=end texinfo
+
+Z<>
whose I<ID>s match I<REGEXP> in F<LOG-FILE>.
If no F<LOG-FILE> is given read from F<stdin>.
@@ -29,57 +90,101 @@ The S<filename C<->> is synonymous to F<stdin>.
=head1 DESCRIPTION
-B<typog-grep> is a tailored post-processor for LaTeX log files
-and the C<typoginspect> environment as provided by S<package typog>.
+B<typog-grep> is a tailored post-processor for LaTeX S<F<log> files>
+and the C<typoginspect> environment as provided by the S<LaTeX package typog>.
It shares more with the venerable
L<B<sgrep>|https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html>
than with S<POSIX L<B<grep>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>>.
-The LaTeX user brackets her text in
+In the LaTeX source file the user brackets her text or code
+in a C<typoginspect> environment:
+
+=begin text
- \begin{typoginspect}{ID}
- Text and code to investigate
- \end{typoginspect}
+\begin{typoginspect}{ID}
+ TEXT-OR-CODE-TO-INVESTIGATE
+\end{typoginspect}
+
+=end text
+
+=begin man
+
+.RS
+.EX
+\ebegin{typoginspect}{\fI\,ID\/\fP}
+\fITEXT-OR-CODE-TO-INVESTIGATE\fP
+\eend{typoginspect}
+.EE
+.RE
+
+=end man
+=begin texinfo
+
+@example
+@backslashchar{}begin@lbracechar{}typoginspect@rbracechar{}@lbracechar{}@var{ID}@rbracechar{}
+@var{TEXT-OR-CODE-TO-INVESTIGATE}
+@backslashchar{}end@lbracechar{}typoginspect@rbracechar{}
+@end example
+@noindent
+
+=end texinfo
+
+Z<>
where I<ID> is used to identify one or more bracketed snippets.
I<ID> does not have to be unique.
The I<REGEXP> mechanism makes it easy to select groups of related I<ID>s
if they are named accordingly.
-In F<LOG-FILE> the environment shows up, packed with tracing information, as
+In F<LOG-FILE> the result of the environment shows up,
+packed with tracing information, as
-=begin texinfo
+=begin text
-@display
-@relax
+<typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER">
+ LOG-DATA
+</typog-inspect>
-=end texinfo
+=end text
+
+=begin man
- <typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER">
- Trace Data
- </typog-inspect>
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" job="\fI\,JOB-NAME\/\fP" line="\fI\,LINE-NUMBER\/\fP" page="\fI\,PAGE-NUMBER\/\fP">
+\fILOG-DATA\fP
+</typog-inspect>
+.EE
+.RE
+
+=end man
=begin texinfo
-@end display
-@relax
+@example
+<typog-inspect id="@var{ID}" job="@var{JOB-NAME}" line="@var{LINE-NUMBER}" page="@var{PAGE-NUMBER}">
+@var{LOG-DATA}
+</typog-inspect>
+@end example
+@noindent
=end texinfo
+Z<>
where all the capital-letter sequences are meta-variables
and in particular
I<JOB-NAME> is the expansion of C<\jobname>,
I<LINE-NUMBER> is the LaTeX source file line number
of the beginning of the C<typoginspect> environment,
and I<PAGE-NUMBER> is the page where
-the output of S<C<Text and code to investigate>> occurs.
+the output of S<C<TEXT-OR-CODE-TO-INVESTIGATE>> occurs.
B<typog-grep> reveals the contents of F<LOG-FILE>
between C<E<lt>typog-inspect id="I<ID>" ...E<gt>>
-and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags.
+and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags themselves.
Access the I<JOB-NAME>, I<LINE-NUMBER>, and I<PAGE-NUMBER>
with the commandline options
-B<--job-name>, B<--line-number>, and B<--page-number>, respectively.
+B<--job-name>, B<--line-number>, and B<--page-number>, respectively.
Use B<--id> to show the name of the IDs that matched I<REGEXP>.
C<typoginspect> environments can be nested.
@@ -96,11 +201,18 @@ The list of options is sorted by the names of the long options.
=item B<-a>, B<--all>, B<--any>
ID-discovery mode:
-Show all C<typog-inspect> elements independent of any matching patterns.
+Discover all C<typog-inspect> elements independent of any matching patterns
+and print their I<ID>s.
+The results are printed in their order of occurrence in the respective F<LOG-FILE>s.
+Pipe the output into B<sort> to get alphabetically ordered I<ID>s.
+
+Augment with options
+B<--job-name>, B<--line-number>, B<--log-line-number>, or S<B<--page-number>>
+for more information.
=item B<--color>, B<colour> I<WHEN>
-Colorize specific log contents for the matching ids.
+Colorize specific log contents for the matching I<ID>s.
The S<argument I<WHEN>> determines when to apply color:
C<always>, C<never>, S<or C<auto>>.
The setting C<auto> checks whether standard output has been redirected.
@@ -109,29 +221,45 @@ This is the default.
=item B<-C>, B<--config> I<KEY>=I<VALUE>[:I<KEY>=I<VALUE>[:...]]
Set one or more configuration I<KEY> to I<VALUE> pairs.
-See S<Sec. CONFIGURATION> below for a description of all available configuration items.
-Use option B<--show-config> to display the default configuration.
+See section L</CONFIGURATION> for a description
+of all available configuration items.
+Use S<option B<--show-config>> to display the default configuration.
=item B<--debug>
Turn on debug output on F<stderr>.
+=item B<-E>, B<--encoding> I<ENCODING>
+
+Set the I<ENCODING> of F<LOG-FILE> for the translation to UTF-8.
+The default is unset.
+
+Use this option to get rid of pesky
+S<"E<lt>I<HEX-DIGITS>E<gt>" escapes> on UTF-8 terminals.
+See S<option B<--show-encodings>> for the known encodings and
+Encode::Supported for a summary of all encodings.
+See also S<section L</Some Common Encodings>>.
+
+Apply L<B<iconv>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/iconv.html>
+(POSIX) or L<B<recode>|https://github.com/rrthomas/recode/> (GNU) on F<LOG-FILE>
+before this tool to avoid having to use S<option B<--encoding>>.
+
=item B<-h>, B<--help>
Display brief help then exit.
=item B<-i>, B<--[no-]id>
-Print the actual id name that matched I<REGEXP>.
-Control the appearance of the matching id with configuration S<item C<id-heading>>.
+Print the actual ID-name that matched I<REGEXP>.
+Control the appearance of the matching I<ID> with configuration S<item C<id-heading>>.
=item B<-y>, B<--[no-]ignore-case>
-Match ids while ignoring case distinctions in patterns and data.
+Match I<ID>s while ignoring case distinctions in patterns and data.
=item B<-j>, B<--[no-]job-name>
-Print the C<\jobname> that B<tex> associated with the input file.
+Print the C<\jobname> that B<latex> associated with the input file.
=item B<-n>, B<--[no-]line-number>
@@ -155,6 +283,10 @@ Redirect output from F<stdout> to the configured pager.
Show the default configuration and exit.
+=item B<--show-encodings>
+
+Show all known encodings and exit.
+
=item B<-V>, B<--version>
Show version information and exit.
@@ -177,26 +309,26 @@ S<Default: C<%s:>.>
=item C<id-heading>=C<0>E<verbar>C<1>
-Choose between printing the matching ids with S<option B<--id>>:
+Choose between printing the matching I<ID>s with S<option B<--id>>:
S<Inline (C<0>)> or heading before the matching data (C<1>).
S<Default: C<0>.>
=item C<id-heading-format>=I<FORMAT>
-Control the I<FORMAT> for printing matching ids in heading-mode,
+Control the I<FORMAT> for printing matching I<ID>s in heading-mode,
where I<FORMAT> is passed to Perl's C<printf>.
S<Default: C<--E<gt> %s E<lt>-->.>
=item C<id-indent>=I<INDENT>
Indentation of nested typog-inspect tags.
-Only used in ``discovery'' mode (first form), i.e., if B<--all> is active.
+Only used in ``discovery mode'' (first form), i.e., if S<B<--all>> is active.
S<Default: 8.>
=item C<id-max-length>=I<MAXIMUM-LENGTH>
-Set the maximum length of a matching id for printing.
-It a matching id exceeds this length it will be truncated
+Set the maximum length of a matching I<ID> for printing.
+It a matching I<ID> exceeds this length it will be truncated
and the last three characters (short of I<MAXIMUM-LENGTH>) will be replaced by dots.
S<Default: 40.>
@@ -262,11 +394,11 @@ Color of lines with horizontal S<breakpoints C<@@>>.
=item C<id-color>
-Color of matching ids when printed inline.
+Color of matching I<ID>s when printed inline.
=item C<id-heading-color>
-Color of matching ids when printed in heading form.
+Color of matching I<ID>s when printed in heading form.
=item C<line-break-pass-color>
@@ -333,13 +465,89 @@ C<bold>, C<dark>, C<italic>, C<underline>, C<reverse>
=back
+=head2 Some Common Encodings
+
+The following list shows some encodings
+that are suitable for S<option B<--encoding>>.
+
+=over 4
+
+=item Latin-1, Western European
+
+C<iso-8859-1>, C<cp850>, C<cp860>, C<cp1252>
+
+=item Latin-2, Central European
+
+C<iso-8859-2>, C<cp852>, C<cp1250>
+
+=item Latin-3, South European (Esperanto, Maltese)
+
+C<iso-8859-3>
+
+=item Latin-4, North European (Baltics)
+
+C<iso-8859-4>
+
+=item Cyrillics
+
+C<iso-8859-5>, C<cp855>, C<cp866> (Ukrainian), C<cp1251>
+
+=item Arabic
+
+C<iso-8859-6>, C<cp864>, C<cp1006> (Farsi), C<cp1256>
+
+=item Greek
+
+C<iso-8859-7>, C<cp737>, C<cp1253>
+
+=item Hebrew
+
+C<iso-8859-8>, C<cp862>, C<cp1255>
+
+=item Turkish
+
+C<iso-8859-9>, C<cp857>, C<cp1254>
+
+=item Nordic
+
+C<iso-8859-10>, C<cp865>, C<cp861> (Icelandic)
+
+=item Thai
+
+C<iso-8859-11>, C<cp874>
+
+=item Baltic
+
+C<iso-8859-13>, C<cp775>, C<cp1257>
+
+=item Celtic
+
+C<iso-8859-14>
+
+=item Latin-9 (sometimes called Latin0)
+
+C<iso-8859-15>
+
+=item Latin-10
+
+C<iso-8859-16>
+
+=back
+
=head1 EXIT STATUS
The exit status is 0 if at least one I<ID> matched I<REGEXP>,
1 if no I<ID> matched I<REGEXP>, and 2 if an error occurred.
+=head1 CAVEATS
+
+The end tag C<< </typog-inspect> >> sometimes gets placed too early in the output and the trace
+I<seems> truncated. However, LaTeX reliably logs the requested the trace information, but the
+write operations for trace data and the code which is used to print the S<end tag> are not
+synchronized.
+
=head1 SEE ALSO
-B<grep>(1), B<printf>(3), B<Term::ANSIColor>(pm)
+B<grep>(1), B<printf>(3), B<Encode::Supported>(pm), B<Term::ANSIColor>(pm)
=cut
diff --git a/Master/texmf-dist/doc/latex/typog/typog-grep.version.sed b/Master/texmf-dist/doc/latex/typog/typog-grep.version.sed
new file mode 100644
index 00000000000..2596bda8663
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/typog/typog-grep.version.sed
@@ -0,0 +1,3 @@
+s#@DATE@#2024/07/08#g
+s#@RELEASE@#0.4#g
+s#@TITLE@#TypoGraphic extensions#g
diff --git a/Master/texmf-dist/doc/latex/typog/typog-minimal-test.tex b/Master/texmf-dist/doc/latex/typog/typog-minimal-test.tex
new file mode 100644
index 00000000000..495dd55146a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/typog/typog-minimal-test.tex
@@ -0,0 +1,50 @@
+%%
+%% This is file `typog-minimal-test.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% typog.dtx (with options: `minimal-test')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2024 by Ch. L. Spiel
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Ch. L. Spiel.
+%%
+%% This work consists of the files typog.dtx and typog.ins
+%% and the derived files typog.sty, slant-angle.mp,
+%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
+%% typog-grep.pod, and teximan2latex.sed.
+%%
+%%
+\documentclass{minimal}
+
+\usepackage{typog}
+
+\newcommand*{\raiseamount}{0.5pt}
+
+\begin{document}
+\begin{typogsetup}{raise*=\raiseamount}
+ Em-dash raised by \the\typogget{raisecapitaldash} (expected: \raiseamount).
+\end{typogsetup}
+
+\fontsizeinfo{typoinfo}
+Document class ``minimal'' sets up font size and line spacing as~\typoinfo.
+\end{document}
+\endinput
+%%
+%% End of file `typog-minimal-test.tex'.
diff --git a/Master/texmf-dist/doc/latex/typog/typog-nomt.tex b/Master/texmf-dist/doc/latex/typog/typog-without-microtype-test.tex
index ebac4efd1f7..aa7fc79cdaa 100644
--- a/Master/texmf-dist/doc/latex/typog/typog-nomt.tex
+++ b/Master/texmf-dist/doc/latex/typog/typog-without-microtype-test.tex
@@ -1,21 +1,21 @@
%%
-%% This is file `typog-nomt.tex',
+%% This is file `typog-without-microtype-test.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
-%% typog.dtx (with options: `nomicrotype')
+%% typog.dtx (with options: `without-microtype')
%%
%% This is a generated file.
%%
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -25,7 +25,9 @@
%% This work consists of the files typog.dtx and typog.ins
%% and the derived files typog.sty, slant-angle.mp,
%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-%% typog-example.tex, typog-nomt.tex, typog-grep.pl,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
%% typog-grep.pod, and teximan2latex.sed.
%%
%%
@@ -40,7 +42,9 @@
{\singleguillemetright}
{\singleguillemetleft}
-\usepackage[]{typog}
+\usepackage[uppercaselabelitemadjustments={.1em, .075em, .1em, .1em},
+ lowercaselabelitemadjustments={-.025em, -.05em, -.025em, -.025em}]
+ {typog}
\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}}
@@ -53,7 +57,8 @@
\bigskip
-\noindent
+\section*{No Microtype}
+
This example \LaTeX-document uses package~\packagename{typog}
\emph{without} package~\packagename{microtype}.
@@ -61,6 +66,36 @@ We want \packagename{typog} to be as usable as possible even without
the nice features that \packagename{microtype} offers.
After all \packagename{typog} is just a front-end for it.
+\section*{No EnumItem}
+
+We intentionally do not load package~\packagename{enumitem}, either.
+So, we can test whether \packagename{typog} correctly patches the
+plain \LaTeX{} definition if environment~\texttt{itemize}.
+
+The vertical alignment of the label items was setup for
+uppercase (ABC\typoguppercaseadjustcheck{ABCXYZ}XYZ) and for
+lowercase (ace\typoglowercaseadjustcheck{acexyz}xyz), though
+this is not necessary for the test.
+
+\uppercaseadjustlabelitems{*}
+\begin{itemize}
+\item Level i
+\item Sublist \dots
+ \begin{itemize}
+ \item Level ii
+ \item Sublist \dots
+ \begin{itemize}
+ \item Level iii
+ \item Sublist \dots
+ \begin{itemize}
+ \item Level iv
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\end{itemize}
+
+\section*{CSQuotes}
+
As we are testing a special configuration here anyhow,
we hook up our quotes with package~csquotes
to check whether they interact ok.
@@ -70,4 +105,4 @@ to check whether they interact ok.
\end{document}
\endinput
%%
-%% End of file `typog-nomt.tex'.
+%% End of file `typog-without-microtype-test.tex'.
diff --git a/Master/texmf-dist/doc/latex/typog/typog.gst b/Master/texmf-dist/doc/latex/typog/typog.gst
new file mode 100644
index 00000000000..f108fdc19eb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/typog/typog.gst
@@ -0,0 +1,48 @@
+%%
+%% This is file `typog.gst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% typog.dtx (with options: `changes-style')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2024 by Ch. L. Spiel
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Ch. L. Spiel.
+%%
+%% This work consists of the files typog.dtx and typog.ins
+%% and the derived files typog.sty, slant-angle.mp,
+%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
+%% typog-grep.pod, and teximan2latex.sed.
+%%
+%%
+actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
+heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
+heading_suffix "}\\nopagebreak\n"
+headings_flag 0
+item_x1 "\\efill\n\\subitem "
+item_x2 "\\ "
+keyword "\\glossaryentry"
+level '>'
+line_max 65536
+postamble "\n\\end{theglossary}\n"
+preamble "\\begin{theglossary}\n \\makeatletter\\scan@allowedfalse"
+quote '!'
diff --git a/Master/texmf-dist/doc/latex/typog/typog.ist b/Master/texmf-dist/doc/latex/typog/typog.ist
index 9b8104b16c0..8ff11c7ac70 100644
--- a/Master/texmf-dist/doc/latex/typog/typog.ist
+++ b/Master/texmf-dist/doc/latex/typog/typog.ist
@@ -11,11 +11,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% 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
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
@@ -25,17 +25,20 @@
%% This work consists of the files typog.dtx and typog.ins
%% and the derived files typog.sty, slant-angle.mp,
%% crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-%% typog-example.tex, typog-nomt.tex, typog-grep.pl,
+%% typog-example.tex, typog-minimal-test.tex,
+%% typog-without-microtype-test.tex
+%% typog-grep.pl.in, typog-grep.pl,
%% typog-grep.pod, and teximan2latex.sed.
%%
%%
actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
delim_r "\\figuredash*"
heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
heading_suffix "}\\nopagebreak\n"
headings_flag 1
level '>'
+line_max 65536
quote '!'
-\endinput
-%%
-%% End of file `typog.ist'.
diff --git a/Master/texmf-dist/doc/latex/typog/typog.pdf b/Master/texmf-dist/doc/latex/typog/typog.pdf
index 9d00685045a..fa0fe74e4c3 100644
--- a/Master/texmf-dist/doc/latex/typog/typog.pdf
+++ b/Master/texmf-dist/doc/latex/typog/typog.pdf
Binary files differ
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{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\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{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\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{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\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{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\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{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\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{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\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{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
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
diff --git a/Master/texmf-dist/doc/lualatex/tango/README b/Master/texmf-dist/doc/lualatex/tango/README
new file mode 100644
index 00000000000..014ae456a22
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/README
@@ -0,0 +1,42 @@
+Tango is a LaTeX document class for use by mathematics teachers. It requires lualatex, some LaTeX packages (see the complete documentation for details), and a recent version of LaTeX (see paragraph 4 below).
+
+Author: Michel Bovani <Michel.Bovani@icloud.com>
+Tango Web Page: https://tango.mathriochka.net
+
+1 Versions history
+0.8.0 (2024-07-17) This version
+New: Language complete support for
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish.
+
+0.7.2 (2024-07-12)
+New in this version
+• correction of the countername in subparagraph definition for titlesec.
+• fix incorrect vertical space in the \exo command.
+
+0.7.1 First release (2024-07-08)
+
+2 License
+Tango is released under Latex public project licence (LPPL), version 1.3c
+See https://www.latex-project.org/lppl/lppl-1-3c/
+
+3 Installation
+Just put the tango.cls file in a latex directory of a texmf tree, for example:
+TEXMF/tex/lualatex/tango/tango.cls
+
+4 Usage
+\documentclass[<options>]{tango}
+The tango document class requires recent versions of LaTeX and lualatex. At my home it runs on TeXLive 2024, TeXLive 2023 and on the last update of TeXlive 2022.
+
+5 About examples
+Example files are provided for testing the tango document class and for learning how to adapt margins, headings &Co.
+
+The files to typeset are:
+
+book-mathematics.tex
+handout-euler.tex
+handout-polynomes-deg2.tex
+schoolwork.tex
+candide.tex (the result is best in the two-pages mode of your pdf viewer).
+
+6 Internet website (new french only for now)
+https://tango.mathriochka.net \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/Ch-1-15.tex b/Master/texmf-dist/doc/lualatex/tango/examples/Ch-1-15.tex
new file mode 100644
index 00000000000..4f3d7984d14
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/Ch-1-15.tex
@@ -0,0 +1,1312 @@
+\chapter[Comment \bname{Candide} fut élevé…]
+{Comment \bname{Candide} fut élevé dans un\\ beau château,\\ et comment il fut
+chassé d’icelui}
+
+
+\lettrine{I}{l y avait} en \bname{Westphalie}, dans le château de M.~le baron de
+Thunder-ten-tronckh, un jeune garçon à qui la nature avait donné les
+mœurs les plus douces. Sa physionomie annonçait son âme. Il avait le
+jugement assez droit, avec l’esprit le plus simple; c’est, je crois,
+pour cette raison qu’on le nommait \bname{Candide}. Les anciens domestiques de
+la maison soupçonnaient qu’il était fils de la sœur de M.~le
+baron et d’un bon et honnête gentilhomme du voisinage, que cette
+demoiselle ne voulut jamais épouser parce qu’il n’avait pu prouver que
+soixante et onze quartiers, et que le reste de son arbre généalogique
+avait été perdu par l’injure du temps.
+
+M. le baron était un des plus puissants seigneurs de la
+\bname{Westphalie}, car son château avait une porte et des fenêtres. Sa grande
+salle même était ornée d’une tapisserie. Tous les chiens de ses
+basses-cours composaient une meute dans le besoin; ses palefreniers
+étaient ses piqueurs; le vicaire du village était son grand-aumônier.
+Ils l’appelaient tous \bname{Monseigneur}, et ils riaient quand il faisait des
+contes.
+
+M\up{me} la baronne, qui pesait environ trois cent cinquante livres,
+s’attirait par là une très grande considération, et faisait les honneurs
+de la maison avec une dignité qui la rendait encore plus respectable.
+Sa fille \bname{Cunégonde}, âgée de dix-sept ans, était haute en couleur,
+fraîche, grasse, appétissante. Le fils du baron paraissait en tout
+digne de son père. Le précepteur \bname{Pangloss} était l’oracle de la
+maison, et le petit \bname{Candide} écoutait ses leçons avec toute la bonne foi
+de son âge et de son caractère.
+
+
+
+
+\bname{Pangloss} enseignait la métaphysico-théologo-cosmo\-lo\-ni\-go\-logie. Il
+prouvait admirablement qu’il n’y a point d’effet sans cause, et que,
+dans ce meilleur des mondes possibles, le château de monseigneur le
+baron était le plus beau des châteaux, et madame la meilleure des
+baronnes possibles.
+
+
+
+\frquote{Il est démontré, disait-il, que les choses ne peuvent être autrement;
+car tout étant fait pour une fin, tout est nécessairement pour la
+meilleure fin. Remarquez bien que les nez ont été faits pour porter des
+lunettes; aussi avons-nous des lunettes. Les jambes sont visiblement
+instituées pour être chaussées, et nous avons des chausses. Les pierres
+ont été formées pour être taillées et pour en faire des châteaux; aussi
+monseigneur a un très beau château: le plus grand baron de la province
+doit être le mieux logé; et les cochons étant faits pour être mangés,
+nous mangeons du porc toute l’année: par conséquent, ceux qui ont
+avancé que tout est bien ont dit une sottise; il fallait dire que tout
+est au mieux.}
+
+
+
+\bname{Candide} écoutait attentivement, et croyait innocemment; car il trouvait
+M\up{lle}~\bname{Cunégonde} extrêmement belle, quoiqu’il ne prît jamais la
+hardiesse de le lui dire. Il concluait qu’après le bonheur d’être né
+baron de Thunder-ten-tronckh, le second degré de bonheur était d’être
+M\up{lle}~\bname{Cunégonde}; le troisième, de la voir tous les jours; et le
+quatrième, d’entendre maître \bname{Pangloss}, le plus grand philosophe de la
+province, et par conséquent de toute la terre.
+
+
+Un jour \bname{Cunégonde}, en se promenant auprès du château, dans le petit
+bois qu’on appelait \emph{parc}, vit entre des broussailes le docteur
+\bname{Pangloss} qui donnait une leçon de physique expérimentale à la femme de
+chambre de sa mère, petite brune très jolie et très docile. Comme
+M\up{lle}~\bname{Cunégonde} avait beaucoup de dispositions pour les sciences,
+elle observa, sans souffler, les expériences réitérées dont elle fut
+témoin; elle vit clairement la raison suffisante du docteur, les effets
+et les causes, et s’en retourna tout agitée, toute pensive, toute
+remplie du désir d’être savante, songeant qu’elle pourrait bien être la
+raison suffisante du jeune \bname{Candide},\linebreak qui pouvait aussi être la sienne.
+
+Elle rencontra \bname{Candide} en revenant au château, et rougit: \bname{Candide}
+rougit aussi. Elle lui dit bonjour d’une voix entrecoupée; et \bname{Candide}
+lui parla sans savoir ce qu’il disait. Le lendemain, après le dîner,
+comme on sortait de table, \bname{Cunégonde} et \bname{Candide} se trouvèrent derrière
+un paravent; \bname{Cunégonde} laissa tomber son mouchoir, \bname{Candide} le ramassa;
+elle lui prit innocemment la main; le jeune homme baisa innocemment la
+main de la jeune demoiselle avec une vivacité, une sensibilité, une
+grâce toute particulière; leurs bouches se rencontrèrent, leurs yeux
+s’enflammèrent, leurs genoux tremblèrent, leurs mains s’égarèrent.
+M.~le baron de Thunder-ten-tronckh passa auprès du paravent, et voyant
+cette cause et cet effet, chassa \bname{Candide} du château à grands coups de
+pied dans le derrière. \bname{Cunégonde} s’évanouit: elle fut souffletée par
+M\up{me}~la baronne dès qu’elle fut revenue à elle-même; et tout fut
+consterné dans le plus beau et le plus agréable des châteaux possibles.
+
+
+
+
+\chapter{Ce que devint \bname{Candide} parmi les Bulgares}
+
+
+\lettrine{C}{andide}, chassé du paradis terrestre, marcha longtemps sans savoir où,
+pleurant, levant les yeux au ciel, les tournant souvent vers le plus
+beau des châteaux qui renfermait la plus belle des baronnettes; il se
+coucha sans souper au milieu des champs entre deux sillons; la neige
+tombait à gros flocons. \bname{Candide}, tout transi, se traîna le lendemain
+vers la ville voisine, qui s’appelle Valdberghoff-trarbk-dikdorff,
+n’ayant point d’argent, mourant de faim et de lassitude. Il s’arrêta
+tristement à la porte d’un cabaret. Deux hommes habillés de bleu le
+remarquèrent: «Camarade, dit l’un, voilà un jeune homme très bien fait,
+et qui a la taille requise.» Ils s’avancèrent vers \bname{Candide} et le
+prièrent à dîner très civilement. «Messieurs, leur dit \bname{Candide} avec une
+modestie charmante, vous me faites beaucoup d’honneur, mais je n’ai pas
+de quoi payer mon écot. — Ah! monsieur, lui dit un des bleus, les
+personnes de votre figure et de votre mérite ne paient jamais rien:
+n’avez-vous pas cinq pieds cinq pouces de haut? — Oui, messieurs, c’est
+ma taille, dit-il en faisant la révérence. — Ah! monsieur, mettez-vous à
+table; non seulement nous vous défraierons, mais nous ne souffrirons
+jamais qu’un homme comme vous manque d’argent; les hommes ne sont faits
+que pour se secourir les uns les autres. — Vous avez raison, dit \bname{Candide};
+c’est ce que M. \bname{Pangloss} m’a toujours dit, et je vois bien que tout est
+au mieux.» On le prie d’accepter quelques écus, il les prend et veut
+faire son billet; on n’en veut point, on se met à table. «N’aimez-vous
+pas tendrement?… — Oh! oui, répond-il, j’aime tendrement M\up{lle}~\bname{Cunégonde}. — Non, dit l’un de ces messieurs, nous vous demandons si vous
+n’aimez pas tendrement le roi des Bulgares? — Point du tout, dit-il, car
+je ne l’ai jamais vu. — Comment! c’est le plus charmant des rois, et il
+faut boire à sa santé. — Oh! très volontiers, messieurs.» Et il boit. «C’en
+est assez, lui dit-on, vous voilà l’appui, le soutien, le défenseur, le
+héros des Bulgares; votre fortune est faite, et votre gloire est
+assurée.» On lui met sur-le-champ les fers aux pieds, et on le mène au
+régiment. On le fait tourner à droite, à gauche, hausser la baguette,
+remettre la baguette, coucher en joue, tirer, doubler le pas, et on lui
+donne trente coups de bâton; le lendemain, il fait l’exercice un peu
+moins mal, et il ne reçoit que vingt coups; le surlendemain, on ne lui
+en donne que dix, et il est regardé par ses camarades comme un prodige.
+
+
+\bname{Candide}, tout stupéfait, ne démêlait pas encore trop bien comment il
+était un héros. Il s’avisa un beau jour de printemps de s’aller
+promener, marchant tout droit devant lui, croyant que c’était un
+privilège de l’espèce humaine, comme de l’espèce animale, de se servir
+de ses jambes à son plaisir. Il n’eut pas fait deux lieues que voilà
+quatre autres héros de six pieds qui l’atteignent, qui le lient, qui le
+mènent dans un cachot. On lui demanda juridiquement ce qu’il aimait le
+mieux d’être fustigé trente-six fois par tout le régiment, ou de
+recevoir à-la-fois douze balles de plomb dans la cervelle. Il eut beau
+dire que les volontés sont libres, et qu’il ne voulait ni l’un ni
+l’autre, il fallut faire un choix; il se détermina, en vertu du don de
+Dieu qu’on nomme \textit{liberté}, à passer trente-six fois par les baguettes;
+il essuya deux promenades. Le régiment était composé de deux mille
+hommes; cela lui composa quatre mille coups de baguette, qui, depuis la
+nuque du cou jusqu’au cul, lui découvrirent les muscles et les nerfs.
+Comme on allait procéder à la troisième course, \bname{Candide}, n’en pouvant
+plus, demanda en grâce qu’on voulût bien avoir la bonté de lui casser
+la tête; il obtint cette faveur; on lui bande les yeux; on le fait
+mettre à genoux. Le roi des Bulgares passe dans ce moment, s’informe du
+crime du patient; et comme ce roi avait un grand génie, il comprit, par
+tout ce qu’il apprit de \bname{Candide}, que c’était un jeune métaphysicien
+fort ignorant des choses de ce monde, et il lui accorda sa grâce avec
+une clémence qui sera louée dans tous les journaux et dans tous les
+siècles. Un brave chirurgien guérit \bname{Candide} en trois semaines avec les
+émollients enseignés par \bname{Dioscoride}. Il avait déjà un peu de peau et
+pouvait marcher, quand le roi des Bulgares livra bataille au roi des
+Abares.
+
+
+
+\chapter[Comment \bname{Candide} se sauva…]{Comment \bname{Candide} se sauva d’entre\\ les Bulgares, et ce qu’il devint}
+
+
+\lettrine{R}{ien} n’était si beau, si leste, si brillant, si bien ordonné que les
+deux armées. Les trompettes, les fifres, les hautbois, les tambours,
+les canons, formaient une harmonie telle qu’il n’y en eut jamais en
+enfer. Les canons renversèrent d’abord à peu près six mille hommes de
+chaque côté; ensuite la mousqueterie ôta du meilleur des mondes environ
+neuf à dix mille coquins qui en infectaient la surface. La baïonnette
+fut aussi la raison suffisante de la mort de quelques milliers
+d’hommes. Le tout pouvait bien se monter à une trentaine de mille âmes.
+\bname{Candide}, qui tremblait comme un philosophe, se cacha du mieux qu’il put
+pendant cette boucherie héroïque.
+
+Enfin, tandis que les deux rois faisaient chanter des \textit{Te Deum}, chacun
+dans son camp, il prit le parti d’aller raisonner ailleurs des effets
+et des causes. Il passa par-dessus des tas de morts et de mourants, et
+gagna d’abord un village voisin; il était en cendres: c’était un
+village abare que les Bulgares avaient brûlé, selon les lois du droit
+public. Ici des vieillards criblés de coups regardaient mourir leurs
+femmes égorgées, qui tenaient leurs enfants à leurs mamelles
+sanglantes; là des filles éventrées après avoir assouvi les besoins
+naturels de quelques héros, rendaient les derniers soupirs; d’autres à
+demi brûlées criaient qu’on achevât de leur donner la mort. Des
+cervelles étaient répandues sur la terre à côté de bras et de jambes
+\bname{coupés}.
+
+\bname{Candide} s’enfuit au plus vite dans un autre village: il appartenait à
+des Bulgares, et les héros abares l’avaient traité de même. \bname{Candide},
+toujours marchant sur des membres palpitants ou à travers des ruines,
+arriva enfin hors du théâtre de la guerre, portant quelques petites
+provisions dans son bissac, et n’oubliant jamais M\up{lle}~\bname{Cunégonde}. Ses provisions lui manquèrent quand il fut en \bname{Hollande}; mais
+ayant entendu dire que tout le monde était riche dans ce pays-là, et
+qu’on y était chrétien, il ne douta pas qu’on ne le traitât aussi bien
+qu’il l’avait été dans le château de M.~le baron, avant qu’il en eût
+été chassé pour les beaux yeux de M\up{lle}~\bname{Cunégonde}.
+
+Il demanda l’aumône à plusieurs graves personnages, qui lui répondirent
+tous que, s’il continuait à faire ce métier, on l’enfermerait dans une
+maison de correction pour lui apprendre à vivre.
+
+Il s’adressa ensuite à un homme qui venait de parler tout seul une
+heure de suite sur la charité dans une grande assemblée. Cet orateur le
+regardant de travers lui dit: «Que venez-vous faire ici? y êtes-vous
+pour la bonne cause? — Il n’y a point d’effet sans cause, répondit
+modestement \bname{Candide}; tout est enchaîné nécessairement et arrangé pour
+le mieux. Il a fallu que je fusse chassé d’auprès de M\up{lle}~\bname{Cunégonde}, que j’aie passé par les baguettes, et il faut que je demande
+mon pain, jusqu’à ce que je puisse en gagner; tout cela ne pouvait être
+autrement. — Mon ami, lui dit l’orateur, croyez-vous que le pape soit
+l’antechrist? — Je ne l’avais pas encore entendu dire, répondit \bname{Candide}:
+mais qu’il le soit, ou qu’il ne le soit pas, je manque de pain. — Tu ne
+mérites pas d’en manger, dit l’autre: va, coquin, va, misérable, ne
+m’approche de ta vie.» La femme de l’orateur ayant mis la tête à la
+fenêtre, et avisant un homme qui doutait que le pape fût antechrist,
+lui répandit sur le chef un plein… Ô ciel! à quel excès se porte le
+zèle de la religion dans les dames!
+
+Un homme qui n’avait point été baptisé, un bon anabaptiste, nommé
+Jacques, vit la manière cruelle et
+ignominieuse dont on traitait ainsi
+un de ses frères, un être à deux pieds sans plumes, qui avait une âme;
+il l’amena chez lui, le nettoya, lui donna du pain et de la bière, lui
+fit présent de deux florins, et voulut même lui apprendre à travailler
+dans ses manufactures aux étoffes de Perse qu’on fabrique en \bname{Hollande}.
+\bname{Candide} se prosternant presque devant lui, s’écriait: «Maître \bname{Pangloss}
+me l’avait bien dit que tout est au mieux dans ce monde, car je suis
+infiniment plus touché de votre extrême générosité que de la dureté de
+ce monsieur à manteau noir, et de madame son épouse.»
+
+Le lendemain, en se promenant, il rencontra un gueux tout couvert de
+pustules, les yeux morts, le bout du nez rongé, la bouche de travers,
+les dents noires, et parlant de la gorge, tourmenté d’une toux
+violente, et crachant une dent à chaque effort.
+
+
+
+
+
+\chapter[Comment \bname{Candide} rencontra…]{Comment \bname{Candide} rencontra son ancien maître de\\ philosophie, le docteur
+\bname{Pangloss}, et ce qui en advint}
+
+
+\lettrine{C}{andide}, plus ému encore de compassion que d’horreur, donna à cet
+épouvantable gueux les deux florins qu’il avait reçus de son honnête
+anabaptiste Jacques. \textls[-10]{Le fantôme le regarda fixement, versa des larmes,
+et sauta à son cou. \bname{Candide} effrayé recule. «Hélas! dit le misérable à
+l’autre misérable, ne reconnaissez-vous plus votre cher \bname{Pangloss}?
+— Qu’entends-je? vous, mon cher maître! vous, dans cet état horrible!
+Quel malheur vous est-il donc arrivé? Pourquoi n’êtes-vous plus dans le
+plus beau des châteaux? qu’est devenue M\up{lle}~\bname{Cunégonde}, la perle
+des filles, le chef-d’œuvre de la nature? — Je n’en peux plus, dit
+\bname{Pangloss}.» Aussitôt \bname{Candide} le mena dans l’étable de l’anabaptiste, où
+il lui fit manger un peu de pain; et quand \bname{Pangloss} fut refait: «Eh
+bien! lui dit-il, \bname{Cunégonde}? — Elle est morte, reprit l’autre.»} \bname{Candide}
+s’évanouit à ce mot: son ami rappela ses sens avec un peu de mauvais
+vinaigre qui se trouva par hasard dans l’étable. \bname{Candide} rouvre les
+yeux. «\bname{Cunégonde} est morte! Ah! meilleur des mondes, où êtes-vous? Mais
+de quelle maladie est-elle morte? ne serait-ce point de m’avoir vu
+chasser du beau château de monsieur son père à grands coups de pied?
+— Non, dit \bname{Pangloss}, elle a été éventrée par des soldats bulgares, après
+avoir été violée autant qu’on peut l’être; ils ont cassé la tête à
+M. le baron qui voulait la défendre; M\up{me}~la baronne a été
+coupée en morceaux; mon pauvre pupille traité précisément comme sa
+sœur; et quant au château, il n’est pas resté pierre sur pierre, pas
+une grange, pas un mouton, pas un canard, pas un arbre; mais nous avons
+été bien vengés, car les Abares en ont fait autant dans une baronnie
+voisine qui appartenait à un seigneur bulgare.»
+
+À ce discours, \bname{Candide} s’évanouit encore; mais revenu à soi, et ayant
+dit tout ce qu’il devait dire, il s’enquit de la cause et de l’effet,
+et de la raison suffisante qui avait mis \bname{Pangloss} dans un si piteux
+état. «Hélas! dit l’autre, c’est l’amour: l’amour, le consolateur du
+genre humain, le conservateur de l’univers, l’âme de tous les êtres
+sensibles, le tendre amour. — Hélas! dit \bname{Candide}, je l’ai connu cet
+amour, ce souverain des cœurs, cette âme de notre âme; il ne m’a
+jamais valu qu’un baiser et vingt coups de pied au cul. Comment cette
+belle cause a-t-elle pu produire en vous un effet si abominable?»
+
+\bname{Pangloss} répondit en ces termes: «Ô mon cher \bname{Candide}! vous avez connu
+\bname{Paquette}, cette jolie suivante de notre auguste baronne: j’ai goûté
+dans ses bras les délices du paradis, qui ont produit ces tourments
+d’enfer dont vous me voyez dévoré; elle en était infectée, elle en est
+peut-être morte. \bname{Paquette} tenait ce présent d’un cordelier très savant
+qui avait remonté à la source, car il l’avait eu d’une vieille
+comtesse, qui l’avait reçu d’un capitaine de cavalerie, qui le devait à
+une marquise, qui le tenait d’un page, qui l’avait reçu d’un jésuite,
+qui, étant novice, l’avait eu en droite ligne d’un des compagnons de
+Christophe Colomb. Pour moi, je ne le donnerai à personne, car je me
+meurs.
+
+
+— Ô \bname{Pangloss}! s’écria \bname{Candide}, voilà une étrange généalogie! n’est-ce pas
+le diable qui en fut la souche? — Point du tout, répliqua ce grand homme;
+c’était une chose indispensable dans le meilleur des mondes, un
+ingrédient nécessaire; car si \bname{Colomb} n’avait pas attrapé dans une île
+de \mbox{l’Amérique} cette maladie qui empoisonne la source de la
+génération,
+ qui souvent même empêche la génération, et qui est
+évidemment l’opposé du grand but de la nature, nous n’aurions ni le
+chocolat ni la cochenille; il faut encore observer que
+jusqu’aujourd’hui, dans notre continent, cette maladie nous est
+particulière, comme la controverse. Les \bname{Turcs}, les \bname{Indiens}, les
+\bname{Persans}, les \bname{Chinois}, les \bname{Siamois}, les \bname{Japonais}, ne la connaissent pas
+encore; mais il y a une raison suffisante pour qu’ils la connaissent à
+leur tour dans quelques siècles. En attendant elle a fait un
+merveilleux progrès parmi nous, et surtout dans ces grandes armées
+composées d’honnêtes stipendiaires bien élevés, qui décident du destin
+des états; on peut assurer que, quand trente mille hommes combattent en
+bataille rangée contre des troupes égales en nombre, il y a environ
+vingt mille vérolés de chaque côté.
+
+— Voilà qui est admirable, dit \bname{Candide}; mais il faut vous faire guérir.
+— Et comment le puis-je? dit \bname{Pangloss}; je n’ai pas le sou, mon ami, et
+dans toute l’étendue de ce globe on ne peut ni se faire saigner, ni
+prendre un lavement sans payer, ou sans qu’il y ait quelqu’un qui paie
+pour nous.»
+
+\looseness=-1
+Ce dernier discours détermina \bname{Candide}; il alla se jeter aux pieds de
+son charitable anabaptiste Jacques, et lui fit une peinture si
+touchante de l’état où son ami était réduit, que le bonhomme n’hésita
+pas à recueillir le docteur \bname{Pangloss}; il le fit guérir à ses dépens.
+\bname{Pangloss}, dans la cure, ne perdit qu’un œil et une oreille. Il
+écrivait bien, et savait parfaitement l’arithmétique. L’anabaptiste
+Jacques en fit son teneur de livres. Au bout de deux mois, étant obligé
+d’aller à \bname{Lisbonne} pour les affaires de son commerce, il mena dans son
+vaisseau ses deux philosophes. \bname{Pangloss} lui expliqua comment tout était
+on ne peut mieux. Jacques n’était pas de cet avis. «Il faut bien,
+disait-il, que les hommes aient un peu corrompu la nature, car ils ne
+sont point nés loups, et ils sont devenus loups. Dieu ne leur a donné
+ni canons de vingt-quatre, ni baïonnettes, et ils se sont fait des
+baïonnettes et des canons pour se détruire. Je pourrais mettre en ligne
+de compte les banqueroutes, et la justice qui s’empare des biens des
+banqueroutiers pour en frustrer les créanciers. — Tout cela était
+indispensable, répliquait le docteur borgne, et les malheurs
+particuliers font le bien général; de sorte que plus il y a de malheurs
+particuliers, et plus tout est bien.» Tandis qu’il raisonnait, l’air
+s’obscurcit, les vents soufflèrent des quatre coins du monde, et le
+vaisseau fut assailli de la plus horrible tempête, à la vue du port de
+\bname{Lisbonne}.
+
+
+
+
+
+\chapter[Tempête, naufrage, tremblement de terre…]{Tempête, naufrage, tremblement de terre,\\et ce qui advint du docteur
+\bname{Pangloss}, de \bname{Candide},\\et de l’anabaptiste Jacques}
+
+
+\lettrine[findent=-3pt,nindent=0.6em]{L}{a moitié}
+des passagers affaiblis, expirants de ces angoisses
+inconcevables que le roulis d’un vaisseau porte dans les nerfs et dans
+toutes les humeurs du corps agitées en sens contraires, n’avait pas
+même la force de s’inquiéter du danger. L’autre moitié jetait des cris
+et faisait des prières; les voiles étaient déchirées, les mâts brisés,
+le vaisseau entr’ouvert. Travaillait qui pouvait, personne ne
+s’entendait, personne ne commandait. L’anabaptiste aidait un peu à la
+manœuvre; il était sur le tillac; un matelot furieux le frappe
+rudement et l’étend sur les planches; mais du coup qu’il lui donna, il
+eut lui-même une si violente secousse, qu’il tomba hors du vaisseau, la
+tête la première. Il restait suspendu et accroché à une partie de mât
+rompu. Le bon Jacques court à son secours, l’aide à remonter, et de
+l’effort qu’il fait, il est précipité dans la mer à la vue du matelot,
+qui le laissa périr sans daigner seulement le regarder. \bname{Candide}
+approche, voit son bienfaiteur qui reparaît un moment, et qui est
+englouti pour jamais. Il veut se jeter après lui dans la mer: le
+philosophe \bname{Pangloss} l’en empêche, en lui prouvant que la rade de
+\bname{\bname{Lisbonne}} avait été formée exprès pour que cet anabaptiste s’y noyât.
+Tandis qu’il le prouvait \textit{a priori}, le vaisseau s’entr’ouvre, tout
+périt à la réserve de \bname{Pangloss}, de \bname{Candide}, et de ce brutal de
+matelot
+qui avait noyé le vertueux anabaptiste; le coquin nagea heureusement
+jusqu’au rivage, où \bname{Pangloss} et \bname{Candide} furent portés sur une planche.
+
+Quand ils furent revenus un peu à eux, ils marchèrent vers \bname{Lisbonne}; il
+leur restait quelque argent, avec lequel ils espéraient se sauver de la
+faim après avoir échappé à la \bname{tempête}.
+
+
+À peine ont-ils mis le pied dans la ville, en pleurant la mort de leur
+bienfaiteur, qu’ils sentent la terre trembler sous leurs pas; la mer
+s’élève en bouillonnant dans le port, et brise les vaisseaux qui sont à
+l’ancre. Des tourbillons de flammes et de cendres couvrent les rues et
+les places publiques; les maisons s’écroulent, les toits sont renversés
+sur les fondements, et les fondements se dispersent; trente mille
+habitants de tout âge et de tout sexe sont écrasés sous des ruines. Le
+matelot disait en sifflant et en jurant: «Il y aura quelque chose à
+gagner ici. — Quelle peut être la raison suffisante de ce phénomène?
+disait \bname{Pangloss}. — Voici le dernier jour du monde!» s’écriait \bname{Candide}. Le matelot court incontinent au milieu des débris, affronte la mort pour
+trouver de l’argent, en trouve, s’en empare, s’enivre, et ayant cuvé
+son vin, achète les faveurs de la première fille de bonne volonté qu’il
+rencontre sur les ruines des maisons détruites, et au milieu des
+mourants et des morts. \bname{Pangloss} le tirait cependant par la manche: «Mon
+ami, lui disait-il, cela n’est pas bien, vous manquez à la raison
+universelle, vous prenez mal votre temps. — Tête et sang, répondit
+l’autre, je suis matelot et né à Batavia; j’ai marché quatre fois sur
+le crucifix dans quatre voyages au Japon; tu as bien trouvé ton
+homme avec ta \linebreak raison universelle!»
+
+
+Quelques éclats de pierre avaient blessé \bname{Candide}; il était étendu dans
+la rue et couvert de débris. Il disait à \bname{Pangloss}: «Hélas! procure-moi
+un peu de vin et d’huile; je me meurs. — Ce tremblement de terre n’est
+pas une chose nouvelle, répondit \bname{Pangloss}; la ville de Lima éprouva les
+mêmes secousses en Amérique l’année passée; mêmes causes, mêmes effets;
+il y a certainement une traînée de soufre sous terre depuis Lima
+jusqu’à \bname{Lisbonne}. — Rien n’est plus probable, dit \bname{Candide}; mais, pour
+Dieu, un peu d’huile et de vin. — Comment probable? répliqua le
+philosophe, je soutiens que la chose est démontrée.» \bname{Candide} perdit
+connaissance, et \bname{Pangloss} lui apporta un peu d’eau d’une fontaine
+voisine.
+
+\textls[-10]{Le lendemain, ayant trouvé quelques provisions de bouche en se glissant
+à travers des décombres,} ils réparèrent un peu leurs forces. Ensuite
+ils travaillèrent comme les autres à soulager les habitants échappés à
+la mort. Quelques citoyens, secourus par eux, leur donnèrent un aussi
+bon dîner qu’on le pouvait dans un tel désastre: il est vrai que le
+repas était triste; les convives arrosaient leur pain de leurs larmes;
+mais \bname{Pangloss} les consola, en les assurant que les choses ne pouvaient
+être autrement: «Car, dit-il, tout ceci est ce qu’il y a de mieux; car
+s’il y a un volcan à \bname{Lisbonne}, il ne pouvait être ailleurs; car il est
+impossible que les choses ne soient pas où elles sont, car tout est
+bien.»
+
+
+Un petit homme noir, familier de l’inquisition, lequel était à côté de
+lui, prit poliment la parole et dit: «Apparemment que monsieur ne croit
+pas au péché originel; car si tout est au mieux, il n’y a donc eu ni
+chute ni punition.
+
+— Je demande très humblement pardon à votre excellence, répondit \bname{Pangloss}
+encore plus poliment, car la chute de l’homme et la malédiction
+entraient nécessairement dans le meilleur des mondes possibles.
+— \bname{Monsieur} ne croit donc pas à la liberté? dit le familier. — Votre
+excellence m’excusera, dit \bname{Pangloss}; la liberté peut subsister avec la
+nécessité absolue; car il était nécessaire que nous fussions libres;
+car enfin la volonté déterminée…» \bname{Pangloss} était au milieu de sa
+phrase, quand le familier fit un signe de tête à son estafier qui lui
+servait à boire du vin de Porto ou d’Oporto.
+
+
+
+
+
+\chapter[Comment on fit un bel auto-da-fé…]{Comment on fit un bel auto-da-fé pour empêcher les\\tremblements de
+terre, et comment \bname{Candide} fut fessé}
+
+
+\lettrine{A}{près} le tremblement de terre qui avait détruit les trois quarts de
+\bname{Lisbonne}, les sages du pays n’avaient pas trouvé un moyen plus efficace
+pour prévenir une ruine totale que de donner au peuple un bel
+auto-da-fé; il était décidé par l’université de Coïmbre que le
+spectacle de quelques personnes brûlées à petit feu, en grande
+cérémonie, est un secret infaillible pour empêcher la terre de
+trembler.
+
+On avait en conséquence saisi un Biscayen convaincu d’avoir épousé sa
+commère, et deux Portugais qui en mangeant un poulet en avaient arraché
+le lard: on vint lier après le dîner le docteur \bname{Pangloss} et son
+disciple \bname{Candide}, l’un pour avoir parlé, et l’autre pour l’avoir écouté
+avec un air d’approbation: tous deux furent menés séparément dans des
+appartements d’une extrême fraîcheur, dans lesquels on n’était jamais
+incommodé du soleil: huit jours après ils furent tous deux
+revêtus d’un
+\emph{san-benito}, et on orna leurs têtes de mitres de papier: la mitre et le
+san-benito de \bname{Candide} étaient peints de flammes renversées, et de
+diables qui n’avaient ni queues ni griffes; mais les diables de
+\bname{Pangloss} portaient griffes et queues, et les flammes étaient droites.
+Ils marchèrent en procession ainsi vêtus, et entendirent un sermon très
+pathétique, suivi d’une belle musique en faux-bourdon. \bname{Candide} fut
+fessé en cadence, pendant qu’on chantait; le Biscayen et les deux
+hommes qui n’avaient point voulu manger de lard furent
+brûlés, et
+\bname{Pangloss} fut pendu, quoique ce ne soit pas la coutume. Le même jour la
+terre trembla de nouveau avec un fracas épouvantable.
+
+\bname{Candide} épouvanté, interdit, éperdu, tout sanglant, tout palpitant, se
+disait à lui-même: «Si c’est ici le meilleur des mondes possibles, que
+sont donc les autres? passe encore si je n’étais que fessé, je l’ai été
+chez les Bulgares; mais, ô mon cher \bname{Pangloss}! le plus grand des
+philosophes, faut-il vous avoir vu pendre, sans que je sache pourquoi!
+ô mon cher anabaptiste! le meilleur des hommes, faut-il que vous ayez
+été noyé dans le port! Ô mademoiselle~\bname{Cunégonde}! la perle des filles,
+faut-il qu’on vous ait fendu le ventre!»
+
+Il s’en retournait, se soutenant à peine, prêché, fessé, absous, et
+béni, lorsqu’une vieille l’aborda, et lui dit: «Mon fils, prenez
+courage, suivez-moi.»
+
+
+
+
+
+
+\chapter[Comment une vieille prit soin de \bname{Candide}…]{Comment une vieille prit soin de \bname{Candide},\\et comment il retrouva ce
+qu’il aimait}
+
+\lettrine{C}{andide} ne prit point courage, mais il suivit la vieille dans une
+masure: elle lui donna un pot de pommade pour se frotter, lui laissa à
+manger et à boire; elle lui montra un petit lit assez propre; il y
+avait auprès du lit un habit complet. «Mangez, buvez, dormez, lui
+dit-elle, et que Notre-Dame d’Atocha, M\up{gr} saint Antoine de
+Padoue, et M\up{gr} saint Jacques de Compostelle prennent soin de
+vous! je reviendrai demain.» \bname{Candide}, toujours étonné de tout ce qu’il
+avait vu, de tout ce qu’il avait souffert, et encore plus de la charité
+de la vieille, voulut lui baiser la main. «Ce n’est pas ma main qu’il
+faut baiser, dit la vieille; je reviendrai demain. Frottez-vous de
+pommade, mangez et dormez.»
+
+
+
+\bname{Candide}, malgré tant de malheurs, mangea et dormit. Le lendemain la
+vieille lui apporte à déjeuner, visite son dos, le frotte elle-même
+d’une autre pommade: elle lui apporte ensuite à dîner: elle revient sur
+le soir et apporte à souper. Le surlendemain elle fit encore les mêmes
+cérémonies. «Qui êtes-vous? lui disait toujours \bname{Candide}; qui vous a
+inspiré tant de bonté? quelles grâces puis-je vous rendre?» La bonne
+femme ne répondait jamais rien. Elle revint sur le soir, et n’apporta
+point à souper: «Venez avec moi, dit-elle, et ne dites mot.» Elle le
+prend sous le bras, et marche avec lui dans la campagne environ un
+quart de mille: ils arrivent à une maison isolée, entourée de jardins
+et de canaux. La vieille frappe à une petite porte. On ouvre; elle mène
+\bname{Candide}, par un escalier dérobé, dans un cabinet doré, le laisse sur un
+canapé de brocart, referme la porte, et s’en va. \bname{Candide} croyait rêver,
+et regardait toute sa vie comme un songe funeste, et le moment présent
+comme un songe agréable.
+
+\textls[-5]
+{La vieille reparut bientôt; elle soutenait avec peine une femme
+tremblante, d’une taille majestueuse, brillante de pierreries, et
+couverte d’un voile. «Ôtez ce voile», dit la vieille à \bname{Candide}. Le jeune
+homme approche; il lève le voile d’une main timide. Quel moment! quelle
+surprise! il croit voir M\up{lle}~\bname{Cunégonde}; il la voyait en effet,
+c’était elle-même. La force lui manque, il ne peut proférer une parole,
+il tombe à ses pieds. \bname{Cunégonde} tombe sur le canapé. La vieille les
+accable d’eaux spiritueuses, ils reprennent leurs sens, ils se parlent:
+ce sont d’abord des mots entrecoupés, des demandes et des réponses qui
+se croisent, des soupirs, des larmes, des cris. La vieille leur
+recommande de faire moins de bruit, et les laisse en liberté. «Quoi!
+c’est vous, lui dit \bname{Candide}, vous vivez! Je vous retrouve en Portugal!
+On ne vous a donc pas violée? on ne vous a point fendu le ventre, comme
+le philosophe \bname{Pangloss} me l’avait assuré?» — Si fait, dit la belle
+\bname{Cunégonde}; mais on ne meurt pas toujours de ces deux accidents. — Mais
+votre père et votre mère ont-ils été tués? — Il n’est que trop vrai, dit
+\bname{Cunégonde} en pleurant. — Et votre frère? — Mon frère a été tué aussi. — Et
+pourquoi êtes-vous en Portugal? et comment avez-vous su que j’y étais?
+et par quelle étrange aventure m’avez-vous fait conduire dans cette
+maison? — Je vous dirai tout cela, répliqua la dame; mais il faut
+auparavant que vous m’appreniez tout ce qui vous est arrivé depuis le
+baiser innocent que vous me donnâtes, et les coups de pied que vous
+reçûtes.»}
+
+
+
+\bname{Candide} lui obéit avec un profond respect; et quoiqu’il fût interdit,
+quoique sa voix fût faible et tremblante, quoique l’échine lui fît
+encore un peu mal, il lui raconta de la manière la plus naïve tout ce
+qu’il avait éprouvé depuis le moment de leur séparation. \bname{Cunégonde}
+levait les yeux au ciel: elle donna des larmes à la mort du bon
+anabaptiste et de \bname{\bname{Pangloss}}; après quoi elle parla en ces termes à
+\bname{Candide}, qui ne perdait pas une parole, et qui la dévorait des yeux.
+
+
+
+
+
+
+\chapter{Histoire de Cunégonde}
+
+
+\lettrine[ante={«}]{J'}{étais} dans mon lit et je dormais profondément, quand il plut au ciel
+d’envoyer les Bulgares dans notre beau château de Thunder-ten-tronckh;
+ils égorgèrent mon père et mon frère, et coupèrent ma mère par
+morceaux. Un grand Bulgare, haut de six pieds, voyant qu’à ce spectacle
+j’avais perdu connaissance, se mit à me violer; cela me fit revenir, je
+repris mes sens, je criai, je me débattis, je mordis, j’égratignai, je
+voulais arracher les yeux à ce grand Bulgare, ne sachant pas que tout
+ce qui arrivait dans le château de mon père était une chose d’usage: le
+brutal me donna un coup de couteau dans le flanc gauche dont je porte
+encore la marque. — Hélas! j’espère bien la voir, dit le naïf \bname{Candide}.
+— Vous la verrez, dit \bname{Cunégonde}; mais continuons. — Continuez», dit \bname{Candide}.
+
+{\parfillskip=1em
+Elle reprit ainsi le fil de son histoire: «Un capitaine bulgare entra,
+il me vit toute sanglante, et le soldat ne se dérangeait pas. Le
+capitaine se mit en colère du peu de respect que lui témoignait, ce
+brutal, et le tua sur mon corps. Ensuite il me fit panser, et m’emmena
+prisonnière de guerre dans son quartier. Je blanchissais le peu de
+chemises qu’il avait, je faisais sa cuisine; il me trouvait fort jolie,
+il faut l’avouer; et je ne nierai pas qu’il ne fût très bien fait, et
+qu’il n’eût la peau blanche et douce; d’ailleurs peu d’esprit, peu de
+philosophie: on voyait bien qu’il n’avait pas été élevé par le docteur
+\bname{Pangloss}. Au bout de trois mois, ayant perdu tout son argent, et
+s’étant dégoûté de moi, il me vendit à un Juif nommé don Issachar, qui
+trafiquait en \bname{Hollande} et en Portugal, et qui aimait passionnément les
+femmes. Ce Juif s’attacha beaucoup à ma personne, mais il ne pouvait en
+triompher; je lui ai mieux résisté qu’au soldat bulgare. Une personne
+d’honneur peut être violée une fois, mais sa vertu s’en affermit. Le
+Juif, pour m’apprivoiser, me mena dans cette maison de campagne que
+vous voyez. J’avais cru jusque-là qu’il n’y avait rien sur la terre de
+si beau que le château de Thunder-ten-tronckh; j’ai été détrompée.
+
+}
+
+«Le grand inquisiteur m’aperçut un jour à la messe; il me lorgna
+beaucoup, et me fit dire qu’il avait à me parler pour des affaires
+secrètes. Je fus conduite à son palais; je lui appris ma naissance; il
+me représenta combien il était au-dessous de mon rang d’appartenir à un
+Israélite. On proposa de sa part à don Issachar de me céder à
+monseigneur. Don Issachar, qui est le banquier de la cour, et homme de
+crédit, n’en voulut rien faire. L’inquisiteur le menaça d’un
+auto-da-fé. Enfin mon Juif intimidé conclut un marché par lequel la
+maison et moi leur appartiendraient à tous deux en commun; que le Juif
+aurait pour lui les lundis, mercredis, et le jour du sabbat, et que
+l’inquisiteur aurait les autres jours de la semaine. Il y a six mois
+que cette convention subsiste. Ce n’a pas été sans querelles; car
+souvent il a été indécis si la nuit du samedi au dimanche appartenait à
+l’ancienne loi ou à la nouvelle. Pour moi, j’ai résisté jusqu’à présent
+à toutes les deux; et je crois que c’est pour cette raison que j’ai
+toujours été aimée.
+
+«Enfin, pour détourner le fléau des tremblements de terre, et pour
+intimider don Issachar, il plut à \bname{monseigneur} l’inquisiteur de célébrer
+un auto-da-fé. Il me fit l’honneur de m’y inviter. Je fus très bien
+placée; on servit aux dames des rafraîchissements entre la messe et
+l’exécution. Je fus, à la vérité, saisie d’horreur en voyant brûler ces
+deux Juifs et cet honnête Biscayen qui avait épousé sa commère: mais
+quelle fut ma surprise, mon effroi, mon trouble, quand je vis dans un
+san-benito,
+ et sous une mitre, une figure qui ressemblait à celle de
+\bname{Pangloss}! Je me
+frottai les yeux, je regardai attentivement, je le vis
+pendre; je tombai en faiblesse. À peine reprenais-je mes sens, que je
+vous vis dépouillé tout nu; ce fut là le comble de l’horreur, de la
+consternation, de la douleur, du désespoir. Je vous dirai, avec vérité,
+que votre peau est encore plus blanche, et d’un incarnat plus parfait
+que celle de mon capitaine des Bulgares. Cette vue redoubla tous les
+sentiments qui m’accablaient, qui me dévoraient. Je m’écriai, je voulus
+dire, «Arrêtez, barbares!» mais la voix me manqua, et mes cris auraient
+été inutiles. Quand vous eûtes été bien fessé: \frquote{\localleftbox{« }Comment se peut-il
+faire, disais-je, que l’aimable \bname{Candide} et le sage \bname{Pangloss} se trouvent
+à \bname{Lisbonne}, l’un pour recevoir cent coups de fouet, et l’autre pour
+être pendu par l’ordre de \bname{Monseigneur} l’inquisiteur, dont je suis la
+bien-aimée? \bname{Pangloss} m’a donc bien cruellement trompée, quand il me
+disait que tout va le mieux du monde!}\localleftbox{}
+
+«Agitée, éperdue, tantôt hors de moi-même, et tantôt prête de mourir de
+faiblesse, j’avais la tête remplie du massacre de mon père, de ma mère,
+de mon frère, de l’insolence de mon vilain soldat bulgare, du coup de
+couteau qu’il me donna, de ma servitude, de mon métier de cuisinière,
+de mon capitaine bulgare, de mon vilain don~\bname{Issachar}, de mon abominable
+inquisiteur, de la pendaison du docteur \bname{Pangloss}, de ce grand \emph{Miserere}
+en faux-bourdon pendant lequel on vous fessait, et surtout du baiser
+que je vous avais donné derrière un paravent, le jour que je vous avais
+vu pour la dernière fois. Je louai Dieu, qui vous ramenait à moi par
+tant d’épreuves. Je recommandai à ma vieille d’avoir soin de vous, et
+de vous amener ici dès qu’elle le pourrait. Elle a très bien exécuté ma
+commission; j’ai goûté le plaisir inexprimable de vous revoir, de vous
+entendre, de vous parler. Vous devez avoir une faim dévorante; j’ai
+grand appétit; commençons par souper.»
+
+Les voilà qui se mettent tous deux à table; et, après le souper, ils se
+replacent sur ce beau canapé dont on a déjà parlé; ils y étaient quand
+le signor don Issachar, l’un des maîtres de la maison, arriva. C’était
+le jour du sabbat. Il venait jouir de ses droits, et expliquer son
+tendre amour.
+
+
+
+
+
+\chapter[Ce qui advint de Cunégonde, de Candide…]{Ce qui advint de \bname{Cunégonde}, de \bname{Candide},\\du grand inquisiteur, et d’un
+Juif}
+
+
+\lettrine{C}{et} Issachar était le plus colérique Hébreu qu’on eût vu dans Israël,
+depuis la captivité en Babylone. «Quoi! dit-il, chienne de galiléenne,
+ce n’est pas assez de M. l’inquisiteur? il faut que ce coquin
+partage aussi avec moi?» En disant cela il tire un long poignard dont il
+était toujours pourvu, et, ne croyant pas que son adverse partie eût
+des armes, il se jette sur \bname{Candide}; mais notre bon Westphalien avait
+reçu une belle épée de la vieille avec l’habit complet. Il tire son
+épée, quoiqu’il eût les mœurs fort douces, et vous étend l’Israélite
+roide mort sur le carreau, aux pieds de la belle \bname{Cunégonde}.
+
+«Sainte Vierge! s’écria-t-elle, qu’allons-nous devenir? un homme tué
+chez moi! si la justice vient, nous sommes perdus. — Si \bname{Pangloss} n’avait
+pas été pendu, dit \bname{Candide}, il nous donnerait un bon conseil dans cette
+extrémité, car c’était un grand philosophe. À son défaut, consultons la
+vieille.» Elle était fort prudente, et commençait à dire son avis quand
+une autre petite porte s’ouvrit. Il était une heure après minuit,
+c’était le commencement du dimanche. Ce jour appartenait à monseigneur
+l’inquisiteur. Il entre et voit le fessé \bname{Candide}, l’épée à la main, un
+mort étendu par terre, \bname{Cunégonde} effarée, et la vieille donnant des
+conseils.
+
+Voici dans ce moment ce qui se passa dans l’âme de \bname{Candide}, et comment
+il raisonna: «Si ce saint homme appelle du secours, il me fera
+infailliblement brûler, il pourra en faire autant de \bname{Cunégonde}; il m’a
+fait fouetter impitoyablement; il est mon rival; je suis en train de
+tuer; il n’y a pas à balancer.» Ce raisonnement fut net et rapide; et,
+sans donner le temps à l’inquisiteur de revenir de sa surprise, il le
+perce d’outre en outre, et le jette à côté du Juif. «En voici bien d’une
+autre, dit \bname{Cunégonde}; il n’y a plus de rémission; nous sommes
+excommuniés, notre dernière heure est venue! Comment avez-vous fait,
+vous qui êtes né si doux, pour tuer en deux minutes un Juif et un
+prélat? — Ma belle demoiselle, répondit\bname{Candide}, quand on est amoureux,
+jaloux, et fouetté par l’inquisition, on ne se connaît plus.»
+
+La vieille prit alors la parole, et dit: «Il y a trois chevaux andalous
+dans l’écurie, avec leurs selles et leurs brides, que le brave \bname{Candide}
+les prépare; madame a des moyadors et des diamants, montons vite à
+cheval, quoique je ne puisse me tenir que sur une fesse, et allons à
+Cadix; il fait le plus beau temps du monde, et c’est un grand plaisir
+de voyager pendant la fraîcheur de la nuit.»
+
+Aussitôt \bname{Candide} selle les trois chevaux; \bname{Cunégonde}, la vieille, et
+lui, font trente milles d’une traite. Pendant qu’ils s’éloignaient, la
+Sainte-Hermandad arrive dans la maison, on enterre monseigneur dans une
+belle église, on jette Issachar à la voirie.
+
+\bname{Candide}, \bname{Cunégonde}, et la vieille, étaient déjà dans la petite ville
+\bname{d’Avacéna}, au milieu des montagnes de la Sierra Morena; et ils
+parlaient ainsi dans un cabaret.
+
+
+
+
+\chapter[Dans quelle détresse Candide…]{Dans quelle détresse \bname{Candide}, \bname{Cunégonde},\\et la vieille, arrivent à
+Cadix, et leur embarquement}
+
+
+\lettrine[ante={«}]{Q}{ui a donc} pu me voler mes pistoles et mes diamants? disait en pleurant
+\bname{Cunégonde}; de quoi vivrons-nous? comment ferons-nous? où trouver des
+inquisiteurs et des Juifs qui m’en donnent d’autres? — Hélas! dit la
+vieille, je soupçonne fort un révérend père cordelier, qui coucha hier
+dans la même auberge que nous à \bname{Badajos}; Dieu me garde de faire un
+jugement téméraire! mais il entra deux fois dans notre chambre, et il
+partit longtemps avant nous. — Hélas! dit \bname{Candide}, le bon \bname{Pangloss}
+m’avait souvent prouvé que les biens de la terre sont communs à tous
+les hommes, que chacun y a un droit égal. Ce cordelier devait bien,
+suivant ces principes, nous laisser de quoi achever notre voyage. Il ne
+vous reste donc rien du tout, ma belle \bname{Cunégonde}? — Pas un maravédis,
+dit-elle. — Quel parti prendre? dit \bname{Candide}. — Vendons un des chevaux, dit
+la vieille; je monterai en croupe derrière mademoiselle, quoique je ne
+puisse me tenir que sur une fesse, et nous arriverons à Cadix.»
+
+Il y avait dans la même hôtellerie un prieur de bénédictins; il acheta
+le cheval bon marché. \bname{Candide}, \bname{Cunégonde}, et la vieille, passèrent par
+Lucena, par Chillas, par Lebrixa, et arrivèrent enfin à Cadix. On y
+équipait une flotte, et on y assemblait des troupes pour mettre à la
+raison les révérends pères jésuites du Paraguay, qu’on accusait d’avoir
+fait révolter une de leurs hordes contre les rois d’Espagne et de
+Portugal, auprès de la ville du Saint-Sacrement. \bname{Candide}, ayant
+servi chez les Bulgares, fit l’exercice bulgarien devant le général de
+la petite armée avec tant de grâce, de célérité, d’adresse, de fierté,
+d’agilité, qu’on lui donna une compagnie d’infanterie à commander. Le
+voilà capitaine; il s’embarque avec M\up{lle}~\bname{Cunégonde}, la vieille,
+deux valets, et les deux chevaux andalous qui avaient appartenu à M. le
+grand inquisiteur de Portugal.
+
+\looseness=-1
+Pendant toute la traversée ils raisonnèrent beaucoup sur la philosophie
+du pauvre \bname{Pangloss}. «Nous allons dans un autre univers, disait \bname{Candide};
+c’est dans celui-là, sans doute, que tout est bien: car il faut avouer
+qu’on pourrait gémir un peu de ce qui se passe dans le nôtre en
+physique et en morale. — Je vous aime de tout mon cœur, disait
+\bname{Cunégonde}; mais j’ai encore l’âme tout effarouchée de ce que j’ai vu,
+de ce que j’ai éprouvé. — Tout ira bien, répliquait \bname{Candide}; la mer de ce
+nouveau monde vaut déjà mieux que les mers de notre Europe; elle est
+plus calme, les vents plus constants. C’est certainement le
+nouveau monde qui est le meilleur des univers possibles. — Dieu le
+veuille! disait \bname{Cunégonde}: mais j’ai été si horriblement malheureuse
+dans le mien, que mon cœur est presque fermé à l’espérance. — Vous vous
+plaignez, leur dit la vieille; hélas! vous n’avez pas éprouvé des
+infortunes telles que les miennes.» \bname{Cunégonde} se mit presque à rire, et
+trouva cette bonne femme fort plaisante de prétendre être plus
+malheureuse qu’elle. «Hélas! lui dit-elle, ma bonne, à moins que vous
+n’ayez été violée par deux Bulgares, que vous n’ayez reçu deux coups de
+couteau dans le ventre, qu’on n’ait démoli deux de vos châteaux, qu’on
+n’ait égorgé à vos yeux deux mères et deux pères, et que vous n’ayez vu
+deux de vos amants fouettés dans un auto-da-fé, je ne vois pas que vous
+puissiez l’emporter sur moi; ajoutez que je suis née baronne avec
+soixante et douze quartiers, et que j’ai été cuisinière. — Mademoiselle,
+répondit la vieille, vous ne savez pas quelle est ma naissance; et si
+je vous montrais mon derrière, vous ne parleriez pas comme vous faites,
+et vous suspendriez votre jugement.» Ce discours fit naître une extrême
+curiosité dans l’esprit de \bname{Cunégonde} et de \bname{Candide}. La vieille leur
+parla en ces termes.\quad\null
+
+
+\chapter{Histoire de la vieille}
+
+
+\lettrine[ante=«]{J}{e n’ai} pas eu toujours les yeux éraillés et bordés d’écarlate; mon nez
+n’a pas toujours touché à mon menton, et je n’ai pas toujours été
+servante. Je suis la fille du pape \bname{Urbain}~X et de la princesse de
+\bname{Palestrine}.
+On m’éleva jusqu’à quatorze ans dans un palais auquel
+tous les châteaux de vos barons allemands n’auraient pas servi
+d’écurie; et une de mes robes valait mieux que toutes les magnificences
+de la \bname{Westphalie}. Je croissais en beauté, en grâces, en talents, au
+milieu des plaisirs, des respects, et des espérances: j’inspirais déjà
+de l’amour; ma gorge se formait; et quelle gorge! blanche, ferme,
+taillée comme celle de la Vénus de \bname{Médicis}; et quels yeux! quelles
+paupières! quels sourcils noirs! quelles flammes brillaient dans mes
+deux prunelles, et effaçaient la scintillation des étoiles! comme me
+disaient les poètes du quartier. Les femmes qui m’habillaient et qui me
+déshabillaient tombaient en extase en me regardant par-devant et
+par-derrière; et tous les hommes auraient voulu être à leur place.
+
+
+«Je fus fiancée à un prince souverain de Massa-Carrara: quel prince!
+aussi beau que moi, pétri de douceur et d’agréments, brillant d’esprit
+et brûlant d’amour; je l’aimais comme on aime pour la première fois,
+avec idolâtrie, avec emportement. Les noces furent préparées: c’était
+une pompe, une magnificence inouïe; c’étaient des fêtes, des
+carrousels, des opéra-buffa continuels; et toute l’Italie fit pour moi
+des sonnets dont il n’y eut pas un seul de passable. Je touchais au
+moment
+de mon bonheur, quand une vieille marquise, qui avait été
+maîtresse de mon prince, l’invita à prendre du chocolat chez elle; il
+mourut en moins de deux heures avec des convulsions épouvantables; mais
+ce n’est qu’une bagatelle. Ma mère au désespoir, et bien moins affligée
+que moi, voulut s’arracher pour quelque temps à un séjour si funeste.
+Elle avait une très belle terre auprès de Gaète: nous nous embarquâmes
+sur une galère du pays, dorée comme l’autel de Saint-Pierre de Rome.
+Voilà qu’un corsaire de Salé fond sur nous et nous aborde: nos soldats
+se défendirent comme des soldats du pape; ils se mirent tous à genoux
+en jetant leurs armes, et en demandant au corsaire une absolution \emph{in
+articulo mortis}.
+
+«Aussitôt on les dépouilla nus comme des singes, et ma mère aussi, nos
+filles d’honneur aussi, et moi aussi. C’est une chose admirable que la
+diligence avec laquelle ces messieurs déshabillent le monde; mais ce
+qui me surprit davantage, c’est qu’ils nous mirent à tous le doigt dans
+un endroit où nous autres femmes nous ne nous laissons mettre
+d’ordinaire que des canules. Cette cérémonie me paraissait bien
+étrange: voilà comme on juge de tout quand on n’est pas sorti de son
+pays. J’appris bientôt que c’était pour voir si nous n’avions pas caché
+là quelques diamants; c’est un usage établi de temps immémorial parmi
+les nations policées qui courent sur mer. J’ai su que messieurs les
+religieux chevaliers de Malte n’y manquent jamais quand ils prennent
+des Turcs et des Turques; c’est une loi du droit des gens à laquelle on
+n’a jamais dérogé.
+
+«Je ne vous dirai point combien il est dur pour une jeune princesse
+d’être menée esclave à Maroc avec sa mère: vous concevez assez tout ce
+que nous eûmes à souffrir dans le vaisseau corsaire. Ma mère était
+encore très belle: nos filles d’honneur, nos simples femmes de chambre
+avaient plus de charmes qu’on n’en peut trouver dans toute l’Afrique.
+Pour moi, j’étais ravissante, j’étais la beauté, la grâce même, et
+j’étais pucelle: je ne le fus pas longtemps; cette fleur, qui avait
+été réservée pour le beau prince de Massa-Carrara, me fut ravie par le
+capitaine corsaire; c’était un nègre abominable, qui croyait encore me
+faire beaucoup d’honneur. Certes il fallait que M\up{me} la princesse de
+\bname{Palestrine} et moi fussions bien fortes pour résister à tout ce que nous
+éprouvâmes jusqu’à notre arrivée à Maroc! Mais passons; ce sont des
+choses si communes, qu’elles ne valent pas la peine qu’on en parle.
+
+«Maroc nageait dans le sang quand nous arrivâmes. Cinquante fils de
+l’empereur Muley-Ismaël avaient chacun leur parti; ce qui produisait
+en effet cinquante guerres civiles, de noirs contre noirs, de noirs
+contre basanés, de basanés contre basanés, de mulâtres contre mulâtres:
+c’était un carnage continuel dans toute l’étendue de l’empire.
+
+
+
+«À peine fûmes-nous débarquées, que des noirs d’une faction ennemie de
+celle de mon corsaire se présentèrent pour lui enlever son butin. Nous
+étions, après les diamants et l’or, ce qu’il avait de plus précieux. Je
+fus témoin d’un combat tel que vous n’en voyez jamais dans vos climats
+d’Europe. Les peuples septentrionaux n’ont pas le sang assez ardent;
+ils n’ont pas la rage des femmes au point où elle est commune en
+Afrique. Il semble que vos Européens aient du lait dans les veines;
+c’est du vitriol, c’est du feu qui coule dans celles des habitants du
+mont Atlas et des pays voisins. On combattit avec la fureur des lions,
+des tigres, et des serpents de la contrée, pour savoir qui nous aurait.
+Un Maure saisit ma mère par le bras droit, le lieutenant de mon
+capitaine la retint par le bras gauche; un soldat maure la prit par une
+jambe, un de nos pirates la tenait par l’autre. Nos filles se
+trouvèrent presque toutes en un moment tirées ainsi à quatre soldats.
+Mon capitaine me tenait cachée derrière lui; il avait le cimeterre au
+poing, et tuait tout ce qui s’opposait à sa rage. Enfin je vis toutes
+nos Italiennes et ma mère déchirées, coupées, massacrées par les
+monstres qui se les disputaient. Les captifs, mes compagnons, ceux qui
+les avaient pris, soldats, matelots, noirs, basanés, blancs, mulâtres,
+et enfin mon capitaine, tout fut tué, et je demeurai mourante sur un
+tas de morts. Des scènes pareilles se passaient, comme on sait, dans
+l’étendue de plus de trois cents lieues, sans qu’on manquât aux cinq
+prières par jour ordonnées par Mahomet.
+
+«Je me débarrassai avec beaucoup de peine de la foule de tant de
+cadavres sanglants entassés, et je me traînai sous un grand oranger au
+bord d’un ruisseau voisin; j’y tombai d’effroi, de lassitude,
+d’horreur, de désespoir, et de faim. Bientôt après, mes sens accablés se
+livrèrent à un sommeil qui tenait plus de l’évanouissement que du
+repos. J’étais dans cet état de faiblesse et d’insensibilité, entre la
+mort et la vie, quand je me sentis pressée de quelque chose qui
+s’agitait sur mon corps; j’ouvris les yeux, je vis un homme blanc et de
+bonne mine qui soupirait, et qui disait entre ses dents: \emph{O che
+sciagura d’essere senza coglioni!}
+
+
+
+
+\chapter{Suite des malheurs de la vieille}
+
+
+\lettrine[ante=«]{É}{tonnée} et ravie d’entendre la langue de ma patrie, et non moins
+surprise des paroles que proférait cet homme, je lui répondis qu’il y
+avait de plus grands malheurs que celui dont il se plaignait; je
+l’instruisis en peu de mots des horreurs que j’avais essuyées, et je
+retombai en faiblesse. Il m’emporta dans une maison voisine, me fit
+mettre au lit, me fit donner à manger, me servit, me consola, me
+flatta, me dit qu’il n’avait rien vu de si beau que moi, et que jamais
+il n’avait tant regretté ce que personne ne pouvait lui rendre. \frquote{\localleftbox{« }Je suis
+né à Naples, me dit-il; on y chaponne deux ou trois mille enfants tous
+les ans; les uns en meurent, les autres acquièrent une voix plus belle
+que celle des femmes, les autres vont gouverner des états. On me fit
+cette opération avec un très grand succès, et j’ai été musicien de la
+chapelle de M\up{me} la princesse de \bname{Palestrine}. — De ma mère! m’écriai-je.
+— De votre mère! s’écria-t-il en pleurant. Quoi! vous seriez cette jeune
+princesse que j’ai élevée jusqu’à l’âge de six ans, et qui promettait
+déjà d’être aussi belle que vous êtes? — C’est moi-même; ma mère est à
+quatre cents pas d’ici coupée en quartiers sous un tas de morts…}\localleftbox{}
+
+
+
+
+«Je lui contai tout ce qui m’était arrivé; il me conta aussi ses
+aventures, et m’apprit comment il avait été envoyé chez le roi de Maroc
+par une puissance chrétienne, pour conclure avec ce monarque un traité
+par lequel on lui fournirait de la poudre, des canons, et des
+vaisseaux, pour l’aider à exterminer le commerce des autres chrétiens.
+\frquote{\localleftbox{« }Ma mission est faite, dit cet honnête eunuque; je vais m’embarquer à
+Ceuta, et je vous ramènerai en Italie. \emph{Ma che sciagura d’essere senza
+coglioni!}}\localleftbox{}
+
+
+«Je le remerciai avec des larmes d’attendrissement; et au lieu de me
+mener en Italie, il me conduisit à Alger, et me vendit au dey de cette
+province. À peine fus-je vendue, que cette peste qui a fait le tour de
+l’Afrique, de l’Asie, de l’Europe, se déclara dans Alger avec fureur.
+«Vous avez vu des tremblements de terre; mais, mademoiselle, avez-vous
+jamais eu la peste? — Jamais, répondit la baronne.
+
+%\looseness=1
+— Si vous l’aviez eue, reprit la vieille, vous avoueriez qu’elle est bien
+au-dessus d’un tremblement de terre. Elle est fort commune en Afrique;
+j’en fus attaquée. Figurez-vous quelle situation pour la fille d’un
+pape, âgée de quinze ans, qui en trois mois de temps avait éprouvé la
+pauvreté, l’esclavage, avait été violée presque tous les jours, avait
+vu couper sa mère en quatre, avait essuyé la faim et la guerre, et
+mourait pestiférée dans Alger! Je n’en mourus pourtant pas; mais mon
+eunuque et le dey, et presque tout le sérail \linebreak d’Alger périrent.
+
+
+
+«Quand les premiers ravages de cette épouvantable peste furent passés,
+on vendit les esclaves du dey. Un marchand m’acheta, et me mena à
+Tunis; il me vendit à un autre marchand qui me revendit à Tripoli; de
+Tripoli je fus revendue à Alexandrie, d’Alexandrie revendue à Smyrne;
+de Smyrne à Constantinople. J’appartins enfin à un aga des janissaires,
+qui fut bientôt commandé pour aller défendre Azof contre les Russes qui
+l’assiégeaient.
+
+«L’aga, qui était un très galant homme, mena avec lui tout son sérail,
+et nous logea dans un petit fort sur les Palus-Méotides, gardé par deux
+eunuques noirs et vingt soldats. On tua prodigieusement de Russes, mais
+ils nous le rendirent bien: Azof fut mis à feu et à sang, et on ne
+pardonna ni au sexe, ni à l’âge; il ne resta que notre petit fort; les
+ennemis voulurent nous prendre par famine. Les vingt janissaires
+avaient juré de ne se jamais rendre. Les extrémités de la faim où ils
+furent réduits les contraignirent à manger nos deux eunuques, de peur
+de violer leur serment. Au bout de quelques jours ils résolurent de
+manger les femmes.
+
+
+«Nous avions un iman très pieux et très compatissant, qui leur fit un
+beau sermon par lequel il leur persuada de ne nous pas tuer
+tout-à-fait. \frquote{\localleftbox{« }Coupez, dit-il, seulement une fesse à chacune de ces
+dames, vous ferez très bonne chère; s’il faut y revenir, vous en aurez
+encore autant dans quelques jours; le ciel vous saura gré d’une action
+si charitable, et vous serez secourus.}\localleftbox{}
+
+«Il avait beaucoup d’éloquence; il les persuada: on nous fit cette
+horrible opération; l’iman nous appliqua le même baume qu’on met aux
+enfants qu’on vient de circoncire: nous étions toutes à la mort.
+
+
+«À peine les janissaires eurent-ils fait le repas que nous leur avions
+fourni, que les Russes arrivent sur des bateaux plats; pas un
+janissaire ne réchappa. Les Russes ne firent aucune attention à l’état
+où nous étions. Il y a partout des chirurgiens français: un d’eux qui
+était fort adroit prit soin de nous, il nous guérit; et je me
+souviendrai toute ma vie, que quand mes plaies furent bien fermées, il
+me fit des propositions. Au reste, il nous dit à toutes de nous
+consoler; il nous assura que dans plusieurs sièges pareille chose était
+arrivée, et que c’était la loi de la guerre.
+
+
+«Dès que mes compagnes purent marcher, on les fit aller à Moscou;
+j’échus en partage à un boyard qui me fit sa jardinière, et qui me
+donnait vingt coups de fouet par jour; mais ce seigneur ayant été roué
+au bout de deux ans avec une trentaine de boyards pour quelque
+tracasserie de cour, je profitai de cette aventure; je m’enfuis; je
+traversai toute la Russie; je fus longtemps servante de cabaret à
+Riga, puis à Rostock, à Vismar, à Leipsick, à Cassel, à Utrecht, à
+Leyde, à La Haye, à Rotterdam: j’ai vieilli dans la misère et dans
+l’opprobre, n’ayant que la moitié d’un derrière, me souvenant toujours
+que j’étais fille d’un pape; je voulus cent fois me tuer, mais j’aimais
+encore la vie. Cette faiblesse ridicule est peut-être un de nos
+penchants les plus funestes; car y a-t-il rien de plus sot que de
+vouloir porter continuellement un fardeau qu’on veut toujours jeter par
+terre; d’avoir son être en horreur, et de tenir à son être; enfin de
+\bname{caresser} le serpent qui nous dévore, jusqu’à ce qu’il nous ait \linebreak mangé le
+cœur?
+
+
+
+«J’ai vu dans les pays que le sort m’a fait parcourir, et dans les
+cabarets où j’ai servi, un nombre prodigieux de personnes qui avaient
+leur existence en exécration; mais je n’en ai vu que douze qui aient
+mis volontairement fin à leur misère, trois nègres, quatre Anglais,
+quatre Genevois, et un professeur allemand nommé Robeck. J’ai fini
+par être servante chez le Juif don Issachar; il me mit auprès de vous,
+ma belle demoiselle; je me suis attachée à votre destinée, et j’ai été
+plus occupée de vos aventures que des miennes. Je ne vous aurais même
+jamais parlé de mes malheurs, si vous ne m’aviez pas un peu piquée, et
+s’il n’était d’usage, dans un vaisseau, de conter des histoires pour se
+désennuyer. Enfin, mademoiselle, j’ai de l’expérience, je connais le
+monde; donnez-vous un plaisir, engagez chaque passager à vous conter
+son histoire, et s’il s’en trouve un seul qui n’ait souvent maudit sa
+vie, qui ne se soit souvent dit à lui-même qu’il était le plus
+malheureux des hommes, jetez-moi dans la mer la tête la première.»
+
+
+
+
+\chapter[Comment Candide fut obligé de se séparer…]{Comment \bname{Candide} fut obligé de se séparer\\de la belle \bname{Cunégonde} et de la
+vieille}
+
+
+\lettrine{L}{a belle} \bname{Cunégonde}, ayant entendu l’histoire de la vieille, lui fit
+toutes les politesses qu’on devait à une personne de son rang et de son
+mérite. Elle accepta la proposition; elle engagea tous les passagers,
+l’un après l’autre, à lui conter leurs aventures. \bname{Candide} et elle
+avouèrent que la vieille avait raison. C’est bien dommage, disait
+\bname{Candide}, que le sage \bname{Pangloss} ait été pendu contre la coutume dans un
+auto-da-fé; il nous dirait des choses admirables sur le mal physique et
+sur le mal moral qui couvrent la terre et la mer, et je me sentirais
+assez de force pour oser lui faire respectueusement quelques
+objections.
+
+À mesure que chacun racontait son histoire, le vaisseau avançait. On
+aborda dans \bname{Buenos} Aires. \bname{Cunégonde}, le capitaine \bname{Candide}, et la
+vieille, allèrent chez le gouverneur don \bname{Fernando} \bname{d’Ibaraa}, y Figueora,
+y \bname{Mascarenes}, y \bname{Lampourdos}, y Souza. Ce seigneur avait une fierté
+convenable à un homme qui portait tant de noms. Il parlait aux hommes
+avec le dédain le plus noble, portant le nez si haut, élevant si
+impitoyablement la voix, prenant un ton si imposant, affectant une
+démarche si altière, que tous ceux qui le saluaient étaient tentés de
+le battre. Il aimait les femmes à la fureur. \bname{Cunégonde} lui parut ce
+qu’il avait jamais vu de plus beau. La première chose qu’il fit fut de
+demander si elle n’était point la femme du capitaine. L’air dont il fit
+cette question alarma \bname{Candide}: il n’osa pas dire qu’elle était sa
+femme, parce qu’en effet elle ne l’était point; il n’osait pas dire que
+c’était sa sœur, parce qu’elle ne l’était pas non plus; et quoique ce
+mensonge officieux eût été autrefois très à la mode chez les
+anciens, et qu’il pût être utile aux modernes, son âme était trop
+pure pour trahir la vérité. «M\up{lle}~\bname{Cunégonde}, dit-il, doit me
+faire l’honneur de m’épouser, et nous supplions Votre Excellence de
+daigner faire notre noce.»
+
+Don Fernando d’Ibaraa, y Figueora, y Mascarenes, y \bname{Lampourdos}, y Souza,
+relevant sa moustache, sourit amèrement, et ordonna au \mbox{capitaine}
+\bname{Candide} d’aller faire la revue de sa compagnie. \bname{Candide} obéit; le
+gouverneur demeura avec M\up{lle}~\bname{Cunégonde}. Il lui déclara sa
+passion, lui protesta que le lendemain il l’épouserait à la face de
+l’Église, ou autrement, ainsi qu’il plairait à ses charmes. \bname{Cunégonde}
+lui demanda un quart d’heure pour se recueillir, pour consulter la
+vieille, et pour se déterminer.
+
+La vieille dit à \bname{Cunégonde}: «Mademoiselle, vous avez soixante et douze
+quartiers et pas une obole; il ne tient qu’à vous d’être la femme du
+plus grand seigneur de l’Amérique méridionale, qui a une très belle
+moustache; est-ce à vous de vous piquer d’une fidélité à toute épreuve?
+Vous avez été violée par les Bulgares; un Juif et un inquisiteur ont eu
+vos bonnes grâces: les malheurs donnent des droits. J’avoue que si
+j’étais à votre place, je ne ferais aucun scrupule d’épouser M.~le gouverneur, et de faire la fortune de M.~le capitaine \bname{Candide}.»
+Tandis que la vieille parlait avec toute la prudence que l’âge et
+l’expérience donnent, on vit entrer dans le port un petit vaisseau; il
+portait un alcade et des alguazils, et voici ce qui était arrivé.
+
+La vieille avait très bien deviné que ce fut un cordelier à la grande
+manche qui vola l’argent et les bijoux de \bname{Cunégonde} dans la ville de
+\bname{Badajos}, lorsqu’elle fuyait en hâte avec \bname{Candide}. Ce moine voulut
+vendre quelques unes des
+pierreries
+à un joaillier. Le marchand les
+reconnut pour celles du grand-inquisiteur. Le cordelier, avant d’être
+pendu, avoua qu’il les avait volées: il indiqua les personnes, et la
+route qu’elles prenaient. La fuite de \bname{Cunégonde} et de \bname{Candide} était
+déjà connue. On les suivit à Cadix: on envoya, sans perdre de temps, un
+vaisseau à leur poursuite. Le vaisseau était déjà dans le port de
+\bname{Buenos} Aires. Le bruit se répandit qu’un alcade allait débarquer, et
+qu’on poursuivait les meurtriers de monseigneur le grand inquisiteur.
+La prudente vieille vit dans l’instant tout ce qui était à faire. «Vous
+ne pouvez fuir, dit-elle à \bname{Cunégonde}, et vous n’avez rien à craindre;
+ce n’est pas vous qui avez tué monseigneur, et d’ailleurs le
+gouverneur, qui vous aime, ne souffrira pas qu’on vous maltraite;
+demeurez.» Elle court sur-le-champ à \bname{Candide}: «Fuyez, dit-elle, ou dans
+une heure vous allez être brûlé. Il n’y avait pas un moment à perdre»;
+mais comment se séparer de \bname{Cunégonde}, et où se réfugier?
+
+
+
+
+\chapter[Comment Candide et \bname{Cacambo} furent reçus…]{Comment \bname{Candide} et \bname{Cacambo} furent reçus\\chez les jésuites du Paraguay}
+
+
+\lettrine{C}{andide} avait amené de Cadix un valet tel qu’on en trouve beaucoup sur
+les côtes d’Espagne et dans les colonies. C’était un quart \bname{d’Espagnol},
+né d’un métis dans le Tucuman; il avait été enfant de chœur,
+sacristain, matelot, moine, facteur, soldat, laquais. Il s’appelait
+\bname{Cacambo}, et aimait fort son maître, parce que son maître était un fort
+bon homme. Il sella au plus vite les deux chevaux andalous. «Allons, mon
+maître, suivons le conseil de la vieille, partons, et courons sans
+regarder derrière nous.» \bname{Candide} versa des larmes: «Ô ma chère \bname{Cunégonde}!
+faut-il vous abandonner dans le temps que M. le gouverneur va
+faire nos noces! \bname{Cunégonde} amenée de si loin, que deviendrez-vous? — Elle
+deviendra ce qu’elle pourra, dit \bname{Cacambo}; les femmes ne sont jamais
+embarrassées d’elles; Dieu y pourvoit; courons. — Où me mènes-tu? où
+allons-nous? que ferons-nous sans \bname{Cunégonde}? disait \bname{Candide}. — Par saint
+Jacques de Compostelle, dit \bname{Cacambo}, vous alliez faire la guerre aux
+jésuites, allons la faire pour eux; je sais assez les chemins, je vous
+mènerai dans leur royaume, ils seront charmés d’avoir un capitaine qui
+fasse l’exercice à la bulgare; vous ferez une fortune prodigieuse;
+quand on n’a pas son compte dans un monde, on le trouve dans un autre.
+C’est un très grand plaisir de voir et de faire des choses nouvelles.
+
+
+— Tu as donc été déjà dans le Paraguay? dit \bname{Candide}. — Eh vraiment oui! dit
+\bname{Cacambo}; j’ai été cuistre dans le collège de l’Assomption, et je
+connais le gouvernement de Los Padres comme je connais les rues de
+Cadix. C’est une chose admirable que ce gouvernement. Le royaume a déjà
+plus de trois cents lieues de diamètre; il est divisé en trente
+provinces. Los Padres y ont tout, et les peuples rien; c’est le
+chef-d’œuvre de la raison et de la justice. Pour moi, je ne vois rien
+de si divin que Los Padres, qui font ici la guerre au roi d’Espagne et
+au roi de Portugal, et qui en Europe confessent ces rois; qui tuent ici
+des Espagnols, et qui à Madrid les envoient au ciel; cela me ravit;
+avançons: vous allez être le plus heureux de tous les hommes. Quel
+plaisir auront Los Padres, quand ils sauront qu’il leur vient un
+capitaine qui sait l’exercice bulgare!»
+
+
+
+Dès qu’ils furent arrivés à la première barrière, \bname{Cacambo} dit à la
+garde avancée qu’un capitaine demandait à parler à monseigneur le
+commandant. On alla avertir la grande garde. Un officier paraguain
+courut aux pieds du commandant lui donner part de la nouvelle. \bname{Candide}
+et \bname{Cacambo} furent d’abord désarmés; on se saisit de leurs deux chevaux
+andalous. Les deux étrangers sont introduits au milieu de deux files de
+soldats; le commandant était au bout, le bonnet à trois cornes en tête,
+la robe retroussée, l’épée au côté, l’esponton à la main. Il fit un
+signe; aussitôt vingt-quatre soldats entourent les deux nouveaux venus.
+Un sergent leur dit qu’il faut attendre, que le commandant ne peut leur
+parler, que le révérend père provincial ne permet pas qu’aucun Espagnol
+ouvre la bouche qu’en sa présence, et demeure plus de trois heures dans
+le pays. «Et où est le révérend père provincial? dit \bname{Cacambo}. — Il est à
+la parade après avoir dit sa messe, répondit le sergent, et vous ne
+pourrez baiser ses éperons que dans trois heures. — Mais, dit \bname{Cacambo},
+M. le capitaine, qui meurt de faim comme moi, n’est point
+espagnol, il est allemand; ne pourrions-nous point déjeuner en
+attendant Sa Révérence?»
+
+Le sergent alla sur-le-champ rendre compte de ce discours au
+commandant. «Dieu soit béni! dit ce seigneur, puisqu’il est allemand, je
+peux lui parler; qu’on le mène dans ma feuillée.» Aussitôt on conduit
+\bname{Candide} dans un cabinet de verdure, orné d’une très jolie colonnade de
+marbre vert et or, et de treillages qui renfermaient des perroquets,
+des colibris, des oiseaux-mouches, des pintades, et tous les oiseaux
+les plus rares. Un excellent déjeuner était préparé dans des vases
+d’or; et tandis que les Paraguains mangèrent du maïs dans des écuelles
+de bois, en plein champ, à l’ardeur du soleil, le révérend père
+commandant entra dans la feuillée.
+
+C’était un très beau jeune homme, le visage plein, assez blanc, haut en
+couleur, le sourcil relevé, l’œil vif, l’oreille rouge, les lèvres
+vermeilles, l’air fier, mais d’une fierté qui n’était ni celle d’un
+Espagnol ni celle d’un jésuite. On rendit à \bname{Candide} et à \bname{Cacambo} leurs
+armes, qu’on leur avait saisies, ainsi que les deux
+chevaux
+ andalous;
+\bname{Cacambo} leur fit manger l’avoine auprès de la feuillée, ayant toujours
+l’œil sur eux, crainte de surprise.
+
+
+\bname{Candide} baisa d’abord le bas de la robe du commandant, ensuite ils se
+mirent à table. «Vous êtes donc allemand? lui dit le jésuite en cette
+langue. — Oui, mon
+Révérend
+Père», dit \bname{Candide}. L’un et l’autre, en
+prononçant ces paroles, se regardaient avec une extrême surprise, et
+une émotion dont ils n’étaient pas les maîtres. «Et de quel pays
+d’Allemagne êtes-vous? dit le jésuite. — De la sale province de
+\bname{Westphalie}, dit \bname{Candide}: je suis né dans le château de
+Thunder-ten-tronckh. — Ô ciel! est-il possible! s’écria le commandant.
+— Quel miracle! s’écria \bname{Candide}. — Serait-ce vous? dit le commandant. — Cela
+n’est pas possible», dit \bname{Candide}. Ils se laissent tomber tous deux à la
+renverse, ils s’embrassent, ils versent des ruisseaux de larmes. «Quoi!
+serait-ce vous, mon Révérend Père? vous, le frère de la belle
+\bname{Cunégonde}! vous qui fûtes tué par les Bulgares! vous le fils de
+M. le baron! vous jésuite au Paraguay! Il faut avouer que ce
+monde est une étrange chose. Ô \bname{Pangloss}! \bname{Pangloss}! que vous seriez aise
+si vous n’aviez pas été pendu!»
+
+
+Le commandant fit retirer les esclaves nègres et les \bname{Paraguains} qui
+servaient à boire dans des gobelets de cristal de roche. Il remercia
+Dieu et saint Ignace mille fois; il serrait \bname{Candide} entre ses bras,
+leurs visages étaient baignés de pleurs. «Vous seriez bien plus étonné,
+plus attendri, plus hors de vous-même, dit \bname{Candide}, si je vous disais
+que M\up{lle}~\bname{Cunégonde}, votre sœur, que vous avez crue éventrée,
+est pleine de santé. — Où? — Dans votre voisinage, chez M.~le gouverneur de
+\bname{Buenos} \bname{Aires}; et je venais pour vous faire la guerre.» Chaque mot qu’ils
+prononcèrent dans cette longue conversation accumulait prodige sur
+prodige. Leur âme tout entière volait sur leur langue, était attentive
+dans leurs oreilles, et étincelante dans leurs yeux. Comme ils étaient
+Allemands, ils tinrent table longtemps, en attendant le révérend père
+provincial; et le commandant parla ainsi à son cher \bname{Candide}.
+
+
+
+
+\chapter[Comment \bname{Candide} tua le frère…]{Comment \bname{Candide} tua le frère de sa chère \bname{Cunégonde}}
+
+
+\lettrine[ante=«]{J’}{aurai} toute ma vie présent à la mémoire le jour horrible où je vis
+tuer mon père et ma mère, et violer ma sœur. \textls[-5]{Quand les Bulgares furent
+retirés, on ne trouva point cette sœur adorable, et on mit dans une
+charrette ma mère, mon père, et moi, deux servantes et trois petits
+garçons égorgés, pour nous aller enterrer dans une chapelle de
+jésuites, à deux lieues du château de mes pères. Un jésuite nous jeta
+de l’eau bénite; elle était horriblement salée; il en entra quelques
+gouttes dans mes yeux; le père s’aperçut que ma paupière faisait un
+petit mouvement: il mit la main sur mon cœur, et le sentit palpiter;
+je fus secouru, et au bout de trois semaines il n’y paraissait pas.
+Vous savez, mon cher \bname{Candide}, que j’étais fort joli; je le devins
+encore davantage; aussi le révérend père Croust, supérieur de la
+maison, prit pour moi la plus tendre amitié; il me donna l’habit de
+novice; quelque temps après je fus envoyé à Rome. Le père général avait
+besoin d’une recrue de jeunes jésuites allemands. Les
+souverains
+du
+Paraguay reçoivent le moins qu’ils peuvent de jésuites espagnols; ils
+aiment mieux les étrangers, dont ils se croient plus maîtres. Je fus
+jugé propre par le révérend père général pour aller travailler dans
+cette vigne.
+Nous partîmes, un Polonais, un Tyrolien, et moi. Je fus
+honoré, en arrivant, du sous-diaconat et d’une lieutenance: je suis
+aujourd’hui colonel et prêtre. Nous recevrons vigoureusement les
+troupes du roi d’Espagne; je vous réponds qu’elles seront excommuniées
+et battues. La Providence vous envoie ici pour nous seconder. Mais
+est-il bien vrai que ma chère sœur \bname{Cunégonde} soit dans le voisinage,
+chez le gouverneur de \bname{Buenos} Aires?» \bname{Candide} l’assura par serment que
+rien n’était plus vrai. Leurs larmes recommencèrent à couler.}
+
+
+Le baron ne pouvait se lasser d’embrasser \bname{Candide}; il l’appelait son
+frère, son sauveur. «Ah! peut-être, lui dit-il, nous pourrons ensemble,
+mon cher \bname{Candide}, entrer en vainqueurs dans la ville, et reprendre ma
+sœur \bname{Cunégonde}. — C’est tout ce que je souhaite, dit \bname{Candide}; car je
+comptais l’épouser, et je l’espère encore. — Vous, insolent! répondit le
+baron, vous auriez l’impudence d’épouser ma sœur qui a soixante et
+douze quartiers! Je vous trouve bien effronté d’oser me parler d’un
+dessein si téméraire!» \bname{Candide}, pétrifié d’un tel discours, lui
+répondit: «Mon Révérend Père, tous les quartiers du monde n’y font rien;
+j’ai tiré votre sœur des bras d’un Juif et d’un inquisiteur; elle m’a
+assez d’obligations, elle veut m’épouser. Maître \bname{Pangloss} m’a toujours
+dit que les hommes sont égaux; et assurément je l’épouserai. — C’est ce
+que nous verrons, coquin!» dit le jésuite baron de Thunder-ten-tronckh;
+et en même temps il lui donna un grand coup du plat de son épée sur le
+visage. \bname{Candide} dans l’instant tire la sienne, et l’enfonce jusqu’à la
+garde dans le ventre du baron jésuite; mais en la retirant toute
+fumante, il se mit à pleurer: «Hélas! mon Dieu! dit-il, j’ai tué mon
+ancien maître, mon ami, mon beau-frère; je suis le meilleur homme du
+monde, et voilà déjà trois hommes que je tue; et dans ces trois il y a
+deux prêtres.»
+
+\bname{Cacambo}, qui faisait sentinelle à la porte de la feuillée, accourut. «Il
+ne nous reste qu’à vendre cher notre vie, lui dit son maître; on va,
+sans doute, entrer dans la feuillée; il faut mourir les armes à la
+main.» \bname{Cacambo}, qui en avait bien vu d’autres, ne perdit point la tête;
+il prit la robe de jésuite que portait le baron, la mit sur le corps de
+\bname{Candide}, lui donna le bonnet carré du mort, et le fit monter à cheval.
+Tout cela se fit en un clin d’œil. «Galopons, mon maître; tout le monde
+vous prendra pour un jésuite qui va donner des ordres; et nous aurons
+passé les frontières avant qu’on puisse courir après nous.» Il volait
+déjà en prononçant ces paroles, et en criant en espagnol: «Place, place
+pour le révérend père colonel!»
+
+\endinput
+
+
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/Ch-16-30.tex b/Master/texmf-dist/doc/lualatex/tango/examples/Ch-16-30.tex
new file mode 100644
index 00000000000..ca52af53a82
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/Ch-16-30.tex
@@ -0,0 +1,2061 @@
+
+
+\chapter[Ce qui advint aux deux voyageurs…]{Ce qui advint aux deux voyageurs avec deux filles,\\ deux singes, et les
+sauvages nommés Oreillons}
+
+
+\lettrine{C}{andide} et son valet furent au-delà des barrières, et personne ne
+savait encore dans le camp la mort du jésuite allemand. Le vigilant
+\bname{Cacambo} avait eu soin de remplir sa valise de pain, de chocolat, de
+jambon, de fruits, et de quelques mesures de vin. Ils s’enfoncèrent
+avec leurs chevaux andalous dans un pays inconnu où ils ne découvrirent
+aucune route. Enfin une belle prairie entrecoupée de ruisseaux se
+présenta devant eux. Nos deux voyageurs font repaître leurs montures.
+\bname{Cacambo} propose à son maître de manger, et lui en donne l’exemple.
+«Comment veux-tu, disait \bname{Candide}, que je mange du jambon, quand j’ai tué
+le fils de M.~le baron, et que je me vois condamné à ne revoir la
+belle \bname{Cunégonde} de ma vie? à quoi me servira de prolonger mes
+misérables jours, puisque je dois les traîner loin d’elle dans les
+remords et dans le désespoir? et que dira le Journal de Trévoux?»
+
+
+En parlant ainsi, il ne laissa pas de manger. Le soleil se couchait.
+Les deux égarés entendirent quelques petits cris qui paraissaient
+poussés par des femmes. Ils ne savaient si ces cris étaient de douleur
+ou de joie; mais ils se levèrent précipitamment avec cette inquiétude
+et cette alarme que tout inspire dans un pays inconnu. Ces clameurs
+partaient de deux filles toutes nues qui couraient légèrement au bord
+de la prairie, tandis que deux singes les suivaient en leur mordant les
+fesses. \bname{Candide} fut touché de pitié; il avait appris à tirer chez les
+Bulgares, et il aurait abattu une noisette dans un buisson sans toucher
+aux feuilles. Il prend son fusil espagnol à deux coups, tire, et tue
+les deux singes. «Dieu soit loué, mon cher \bname{Cacambo}! j’ai délivré d’un
+grand péril ces deux pauvres créatures: si j’ai commis un péché en
+tuant un inquisiteur et un jésuite, je l’ai bien réparé en sauvant la
+vie à deux filles. Ce sont peut-être deux demoiselles de condition, et
+cette aventure nous peut procurer de très grands avantages dans le
+pays.»
+
+
+Il allait continuer, mais sa langue devint percluse quand il vit ces
+deux filles embrasser tendrement les deux singes, fondre en larmes sur
+leurs corps, et remplir l’air des cris les plus douloureux. «Je ne
+m’attendais pas à tant de bonté d’âme», dit-il enfin à \bname{Cacambo}; lequel
+lui répliqua: «Vous avez fait là un beau chef d’œuvre, mon maître; vous
+avez tué les deux amants de ces demoiselles. — Leurs amants! serait-il
+possible? vous vous moquez de moi, \bname{Cacambo}; le moyen de vous croire?
+— Mon cher maître, repartit \bname{Cacambo}, vous êtes toujours étonné de tout;
+pourquoi trouvez-vous si étrange que dans quelques pays il y ait des
+singes qui obtiennent les bonnes grâces des dames? Ils sont des quarts
+d’homme, comme je suis un quart d’Espagnol. — Hélas! reprit \bname{Candide}, je
+me souviens d’avoir entendu dire à maître \bname{Pangloss} qu’autrefois pareils
+accidents étaient arrivés, et que ces mélanges avaient produit des
+égypans, des faunes, des satyres; que plusieurs grands personnages de
+l’antiquité en avaient vu; mais je prenais cela pour des fables. — Vous
+devez être convaincu à présent, dit \bname{Cacambo}, que c’est une vérité, et
+vous voyez comment en usent les personnes qui n’ont pas reçu une
+certaine éducation; tout ce que je crains, c’est que ces dames ne nous
+fassent quelque méchante affaire.»
+
+Ces réflexions solides engagèrent \bname{Candide} à quitter la prairie, et à
+s’enfoncer dans un bois. Il y soupa avec \bname{Cacambo}; et tous deux, après
+avoir maudit l’inquisiteur de Portugal, le gouverneur de \bname{Buenos} Aires,
+et le baron, s’endormirent sur de la mousse. À leur réveil, ils
+sentirent qu’ils ne pouvaient remuer; la raison en était que pendant la
+nuit les Oreillons, habitants du pays, à qui les deux dames les avaient
+dénoncés, les avaient garrottés avec des cordes d’écorces d’arbre.
+Ils étaient entourés d’une cinquantaine d’Oreillons tout nus, armés de
+flèches, de massues, et de haches de caillou: les uns faisaient bouillir
+une grande chaudière; les autres préparaient des broches, et tous
+criaient: «C’est un jésuite, c’est un jésuite! nous serons vengés, et
+nous ferons bonne chère; mangeons du jésuite, mangeons du jésuite!»
+
+«Je vous l’avais bien dit, mon cher maître, s’écria tristement \bname{Cacambo},
+que ces deux filles nous joueraient d’un mauvais tour.» \bname{Candide}
+apercevant la chaudière et les broches s’écria: «Nous allons
+certainement être rôtis ou bouillis. Ah! que dirait maître \bname{Pangloss},
+s’il voyait comme la pure nature est faite? Tout est bien; soit, mais
+j’avoue qu’il est bien cruel, d’avoir perdu M\up{lle}~\bname{Cunégonde}, et
+d’être mis à la broche par des Oreillons.» \bname{Cacambo} ne perdait jamais la
+tête. «Ne désespérez de rien, dit-il au désolé \bname{Candide}; j’entends un peu
+le jargon de ces peuples, je vais leur parler. — Ne manquez pas, dit
+\bname{Candide}, de leur représenter quelle est l’inhumanité affreuse de faire
+cuire des hommes, et combien cela est peu chrétien.»
+
+«Messieurs, dit \bname{Cacambo}, vous comptez donc manger aujourd’hui un
+jésuite : c’est très bien fait; rien n’est plus juste que de traiter
+ainsi ses ennemis. En effet le droit naturel nous enseigne à tuer notre
+prochain, et c’est ainsi qu’on en agit dans toute la terre. Si nous
+n’usons pas du droit de le manger, c’est que nous avons d’ailleurs de
+quoi faire bonne chère; mais vous n’avez pas les mêmes ressources que
+nous: certainement il vaut mieux manger ses ennemis que
+d’abandonner
+ aux corbeaux et aux corneilles le fruit de sa victoire. Mais,
+messieurs, vous ne voudriez pas manger vos amis. Vous croyez aller
+mettre un jésuite en broche, et c’est votre défenseur, c’est l’ennemi
+de vos ennemis que vous allez rôtir. Pour moi, je suis né dans votre
+pays; monsieur que vous voyez est mon maître, et bien loin d’être
+jésuite, il vient de tuer un jésuite, il en porte les dépouilles; voilà
+le sujet de votre méprise. Pour vérifier ce que je vous dis, prenez sa
+robe, portez-la à la première barrière du royaume de Los Padres;
+informez-vous si mon maître n’a pas tué un officier jésuite. Il vous
+faudra peu de temps; vous pourrez toujours nous manger, si vous trouvez
+que je vous ai menti. Mais, si je vous ai dit la vérité, vous
+connaissez trop les principes du droit public, les mœurs, et les lois,
+pour ne nous pas faire grâce.»
+
+Les Oreillons trouvèrent ce discours très raisonnable; ils députèrent
+deux notables pour aller en diligence s’informer de la vérité; les deux
+députés s’acquittèrent de leur commission en gens d’esprit, et
+revinrent bientôt apporter de bonnes nouvelles. Les Oreillons délièrent
+leurs deux prisonniers, leur firent toutes sortes de civilités, leur
+offrirent des filles, leur donnèrent des rafraîchissements, et les
+reconduisirent jusqu’aux confins de leurs états, en criant avec
+allégresse: «Il n’est point jésuite, il n’est point jésuite!»
+
+\bname{Candide} ne se lassait point d’admirer le sujet de sa délivrance. «Quel
+peuple! disait-il, quels hommes! quelles mœurs! si je n’avais pas eu
+le bonheur de donner un grand coup d’épée au travers du corps du frère
+de M\up{lle}~\bname{Cunégonde}, j’étais mangé sans rémission. Mais, après
+tout, la pure nature est bonne, puisque ces gens-ci, au lieu de me
+manger, m’ont fait mille honnêtetés, dès qu’ils ont su que je n’étais
+pas jésuite.»
+
+
+
+\chapter[Arrivée de \bname{Candide} et de son valet…]{Arrivée de \bname{Candide} et de son valet\\au pays d’Eldorado, et ce qu’ils y
+virent}
+
+
+\lettrine{Q}{uand} ils furent aux frontières des Oreillons: «Vous voyez, dit \bname{Cacambo}
+à \bname{Candide}, que cet hémisphère-ci ne vaut pas mieux que l’autre;
+croyez-moi, retournons en Europe par le plus court chemin. — Comment y
+retourner, dit \bname{Candide}; et où aller? Si je vais dans mon pays, les
+Bulgares et les Abares y égorgent tout; si je retourne en Portugal, j’y
+suis brûlé; si nous restons dans ce pays-ci, nous risquons à tout
+moment d’être mis en broche. Mais comment se résoudre à quitter la
+partie du monde que M\up{lle}~\bname{Cunégonde} habite?
+
+ — Tournons vers la Cayenne, dit \bname{Cacambo}, nous y trouverons des Français
+qui vont par tout le monde; ils pourront nous aider. Dieu aura
+peut-être pitié de nous.»
+
+Il n’était pas facile d’aller à la Cayenne: ils savaient bien à peu
+près de quel côté il fallait marcher; mais des montagnes, des fleuves,
+des précipices, des brigands, des sauvages, étaient partout de
+terribles obstacles. Leurs
+chevaux
+ moururent de fatigue; leurs
+provisions furent consumées; ils se nourrirent un mois entier de fruits
+sauvages, et se trouvèrent enfin auprès d’une petite rivière bordée de
+cocotiers qui soutinrent leur vie et leurs espérances.
+
+\bname{Cacambo}, qui donnait toujours d’aussi bons conseils que la vieille, dit
+à \bname{Candide}: «Nous n’en pouvons plus, nous avons assez marché; j’aperçois
+un canot vide sur le rivage, emplissons-le de cocos, jetons-nous dans
+cette petite barque, laissons-nous aller au courant; une rivière mène
+toujours à quelque endroit habité. Si nous ne trouvons pas des choses
+agréables, nous trouverons du moins des choses nouvelles. — Allons, dit
+\bname{Candide}, recommandons-nous à la \bname{Providence}.»
+
+
+Ils voguèrent quelques lieues entre des bords, tantôt fleuris, tantôt
+arides, tantôt unis, tantôt escarpés. La rivière s’élargissait
+toujours; enfin elle se perdait sous une voûte de rochers épouvantables
+qui s’élevaient jusqu’au ciel. Les deux voyageurs eurent la hardiesse
+de s’abandonner aux flots sous cette voûte. Le fleuve resserré en cet
+endroit les porta avec une rapidité et un bruit horrible. Au bout de
+vingt-quatre heures ils revirent le jour; mais leur canot se fracassa
+contre les écueils; il fallut se traîner de rocher en rocher pendant
+une lieue entière; enfin ils découvrirent un horizon immense, bordé de
+montagnes inaccessibles. Le pays était cultivé pour le plaisir comme
+pour le besoin; partout l’utile était agréable: les chemins étaient
+couverts ou plutôt ornés de voitures d’une forme et d’une matière
+brillante, portant des hommes et des femmes d’une beauté singulière,
+traînés rapidement par de gros moutons rouges qui surpassaient en
+vitesse les plus beaux chevaux d’\bname{Andalousie}, de \bname{Tétuan}, et de \bname{Méquinez}.
+
+
+
+
+«Voilà pourtant, dit \bname{Candide}, un pays qui vaut mieux que la \bname{Westphalie}.»
+Il mit pied à terre avec \bname{Cacambo} auprès du premier village qu’il
+rencontra. Quelques enfants du village, couverts de brocarts d’or tout
+déchirés, jouaient au palet à l’entrée du bourg; nos deux hommes de
+l’autre monde s’amusèrent à les regarder: leurs palets étaient d’assez
+larges pièces rondes, jaunes, rouges, vertes, qui jetaient un éclat
+singulier. Il prit envie aux voyageurs d’en ramasser quelques uns;
+c’était de l’or, c’était des émeraudes, des rubis, dont le moindre
+aurait été le plus grand ornement du trône du Mogol. «Sans doute, dit
+\bname{Cacambo}, ces enfants sont les fils du roi du pays qui jouent au petit
+palet.» Le magister du village parut dans ce moment pour les faire
+rentrer à l’école. «Voilà, dit \bname{Candide}, le précepteur de la famille
+royale.»
+
+Les petits gueux quittèrent aussitôt le jeu, en laissant à terre leurs
+palets, et tout ce qui avait servi à leurs divertissements.\bname{Candide} les
+ramasse, court au précepteur et les lui présente humblement, lui faisant
+entendre par signes que leurs altesses royales avaient oublié leur or
+et leurs pierreries. Le magister du village, en souriant, les jeta par
+terre, regarda un moment la figure de \bname{Candide} avec beaucoup de
+surprise, et continua son chemin.
+
+
+Les voyageurs ne manquèrent pas de ramasser l’or, les rubis, et les
+émeraudes. «Où sommes-nous? s’écria \bname{Candide}. Il faut que les enfants des
+rois de ce pays soient bien élevés, puisqu’on leur apprend à mépriser
+l’or et les pierreries.» \bname{Cacambo} était aussi surpris que \bname{Candide}. Ils
+approchèrent enfin de la première maison du village; elle était bâtie
+comme un palais d’Europe. Une foule de monde s’empressait à la porte,
+et encore plus dans le logis; une musique très agréable se faisait
+entendre, et une odeur délicieuse de cuisine se faisait sentir. \bname{Cacambo}
+s’approcha de la porte, et entendit qu’on parlait péruvien; c’était sa
+langue maternelle; car tout le monde sait que \bname{Cacambo} était né au
+Tucuman, dans un village où l’on ne connaissait que cette langue. «Je
+vous servirai d’interprète, dit-il à \bname{Candide}; entrons, c’est ici un
+cabaret.»
+
+Aussitôt deux garçons et deux filles de l’hôtellerie, vêtus de drap
+d’or, et les cheveux renoués avec des rubans, les invitent à se mettre
+à la table de l’hôte. On servit quatre potages garnis chacun de deux
+perroquets, un contour bouilli qui pesait deux cents livres, deux
+singes rôtis d’un goût excellent, trois cents colibris dans un plat, et
+six cents oiseaux-mouches dans un autre; des ragoûts exquis, des
+pâtisseries délicieuses; le tout dans des plats d’une espèce de cristal
+de roche. Les garçons et les filles de l’hôtellerie versaient plusieurs
+liqueurs faites de cannes de sucre.
+
+Les convives étaient pour la plupart des marchands et des voituriers,
+tous d’une politesse extrême, qui firent quelques questions à \bname{Cacambo}
+avec la discrétion la plus circonspecte, et qui répondirent aux siennes
+d’une manière à le satisfaire.
+
+Quand le repas fut fini, \bname{Cacambo} crut, ainsi que \bname{Candide}, bien payer
+son écot, en jetant sur la table de l’hôte deux de ces larges pièces
+d’or qu’il avait ramassées; l’hôte et l’hôtesse éclatèrent de rire, et
+se tinrent longtemps les côtés. Enfin ils se remirent. «Messieurs, dit
+l’hôte, nous voyons bien que vous êtes des étrangers; nous ne sommes
+pas accoutumés à en voir. Pardonnez-nous si nous nous sommes mis à rire
+quand vous nous avez offert en paiement les cailloux de nos grands
+chemins. Vous n’avez pas sans doute de la monnaie du pays, mais il
+n’est pas nécessaire d’en avoir pour dîner ici. Toutes les hôtelleries
+établies pour la commodité du commerce sont payées par le gouvernement.
+Vous avez fait mauvaise chère ici, parce que c’est un pauvre village,
+mais partout ailleurs vous serez reçus comme vous méritez de l’être.»
+\bname{Cacambo} expliquait à \bname{Candide} tous les discours de l’hôte, et \bname{Candide}
+les écoutait avec la même admiration et le même égarement que son ami
+\bname{Cacambo} les rendait. «Quel est donc ce pays, disaient-ils l’un et
+l’autre, inconnu à tout le reste de la terre, et où toute la nature est
+d’une espèce si différente de la nôtre? C’est probablement le pays où
+tout va bien; car il faut absolument qu’il y en ait un de cette espèce.
+Et, quoi qu’en dît maître \bname{Pangloss}, je me suis souvent aperçu que tout
+allait assez mal en \bname{Westphalie}.»
+
+
+\chapter{Ce qu’ils virent dans le pays d’Eldorado}
+
+
+
+\lettrine{C}{acambo} témoigna à son hôte toute sa curiosité; l’hôte lui dit: «Je suis
+fort ignorant, et je m’en trouve bien; mais nous avons ici un vieillard
+retiré de la cour qui est le plus savant homme du royaume, et le plus
+communicatif.» \textls[5]{Aussitôt il mène \bname{Cacambo} chez le vieillard. \bname{Candide} ne
+jouait plus que le second personnage, et accompagnait son valet. Ils
+entrèrent dans une maison fort simple, car la porte n’était que
+d’argent, et les lambris des appartements n’étaient que d’or, mais
+travaillés avec tant de goût, que les plus riches lambris ne
+l’effaçaient pas. L’antichambre n’était à la vérité incrustée que de
+rubis et d’émeraudes; mais l’ordre dans lequel tout était arrangé
+réparait bien cette extrême simplicité.
+
+Le vieillard reçut les deux étrangers sur un sofa matelassé de plumes
+de colibri, et leur fit présenter des liqueurs dans des vases de
+diamant; après quoi il satisfit à leur curiosité en ces termes:
+
+
+«Je suis âgé de cent soixante et douze ans, et j’ai appris de feu mon
+père, écuyer du roi, les étonnantes révolutions du Pérou dont il avait
+été témoin. Le royaume où nous sommes est l’ancienne patrie des Incas,
+qui en sortirent très imprudemment pour aller subjuguer une partie du
+monde, et qui furent enfin détruits par les Espagnols.
+
+«Les princes de leur famille qui restèrent dans leur pays natal furent
+plus sages; ils ordonnèrent, du consentement de la nation, qu’aucun
+habitant ne sortirait jamais de notre petit royaume; et c’est ce qui
+nous a conservé notre innocence et notre félicité. Les Espagnols ont eu
+une connaissance confuse de ce pays, ils l’ont appelé El Dorado; et un
+\bname{Anglais}, nommé le chevalier Raleigh, en a même approché il y a environ
+cent années; mais, comme nous sommes entourés de rochers inabordables
+et de précipices, nous avons toujours été jusqu’à présent à l’abri de
+la rapacité des nations de l’Europe, qui ont une fureur inconcevable
+pour les cailloux et pour la fange de notre terre, et qui, pour en
+avoir, nous tueraient tous jusqu’au dernier.»
+
+La conversation fut longue; elle roula sur la forme du gouvernement,
+sur les mœurs, sur les femmes, sur les spectacles publics, sur les
+arts. Enfin \bname{Candide}, qui avait
+toujours
+ du goût pour la métaphysique,
+fit demander par \bname{Cacambo} si dans le pays il y avait une religion.
+
+%\looseness=1
+Le vieillard rougit un peu. «Comment donc! dit-il, en pouvez-vous
+douter? Est-ce que vous nous prenez pour des ingrats?» \bname{Cacambo} demanda
+humblement quelle était la religion d’Eldorado. Le vieillard rougit
+encore: «Est-ce qu’il peut y avoir deux religions? dit-il. Nous avons,
+je crois, la religion de tout le monde; nous adorons Dieu du soir
+jusqu’au matin. — N’adorez vous qu’un seul Dieu? dit \bname{Cacambo}, qui servait
+toujours d’interprète aux doutes de \bname{Candide}. — Apparemment, dit le
+vieillard, qu’il n’y en a ni deux, ni trois, ni quatre. Je vous avoue
+que les gens de votre monde font des questions bien singulières.»
+\bname{Candide} ne se lassait pas de faire interroger ce bon vieillard; il
+voulut savoir comment on priait Dieu dans Eldorado. «Nous ne le prions
+point, dit le bon et respectable sage; nous n’avons rien à lui
+demander, il nous a donné tout ce qu’il nous faut; nous le remercions
+sans cesse.» \bname{Candide} eut la curiosité de voir des prêtres; il fit
+demander où ils étaient. Le bon vieillard sourit. «Mes amis, dit-il,
+nous sommes tous prêtres; le roi et tous les chefs de famille chantent
+des
+cantiques d’actions de grâces solennellement tous les matins, et
+cinq ou six mille musiciens les accompagnent.
+
+— Quoi! vous n’avez point
+de moines qui enseignent, qui disputent, qui gouvernent, qui cabalent,
+et qui font brûler les gens qui ne sont pas de leur avis? — Il faudrait
+que nous fussions fous, dit le vieillard; nous sommes tous ici du même
+avis, et nous n’entendons pas ce que vous voulez dire avec vos moines.»
+\bname{Candide} à tous ces discours demeurait en extase, et disait en lui-même:
+«Ceci est bien différent de la \bname{Westphalie} et du château de monsieur le
+baron: si notre ami \bname{Pangloss} avait vu Eldorado, il n’aurait plus dit
+que le château de Thunder-ten-tronckh était ce qu’il y avait de mieux
+sur la terre; il est certain qu’il faut voyager.»
+
+
+Après cette longue conversation, le bon vieillard fit atteler un
+carrosse à six moutons, et donna douze de ses domestiques aux deux
+voyageurs pour les conduire à la cour. «Excusez-moi, leur dit-il, si mon
+âge me prive de l’honneur de vous accompagner. Le roi vous recevra
+d’une manière dont vous ne serez pas mécontents, et vous pardonnerez
+sans doute aux usages du pays, s’il y en a quelques uns qui vous
+déplaisent.»
+
+
+\bname{Candide} et \bname{Cacambo} montent en carrosse; les six moutons volaient, et en
+moins de quatre heures on arriva au palais du roi, situé à un bout de
+la capitale. Le portail était de deux cent vingt pieds de haut, et de
+cent de large; il est impossible d’exprimer quelle en était la matière.
+On voit assez quelle supériorité prodigieuse elle devait avoir sur ces
+cailloux et sur ce sable que nous nommons \emph{or} et {pierreries}.
+
+
+Vingt belles filles de la garde reçurent \bname{Candide} et \bname{Cacambo} à la
+descente du carrosse, les conduisirent aux bains, les vêtirent de robes
+d’un tissu de duvet de colibri; après quoi les grands officiers et les
+grandes officières de la couronne les
+menèrent à l’appartement de Sa
+Majesté au milieu de deux files, chacune de mille musiciens, selon
+l’usage ordinaire. Quand ils approchèrent de la salle du trône, \bname{Cacambo}
+demanda à un grand officier comment il fallait s’y prendre pour saluer
+Sa Majesté: si on se jetait à genoux ou ventre à terre; si on mettait
+les mains sur la tête ou sur le derrière; si on léchait la poussière de
+la salle: en un mot, quelle était la cérémonie. «L’usage, dit le
+grand-officier, est d’embrasser le roi et de le baiser des deux côtés.»
+\bname{Candide} et \bname{Cacambo} sautèrent au cou de Sa Majesté, qui les reçut avec
+toute la grâce imaginable, et qui les pria poliment à souper.
+
+
+En attendant, on leur fit voir la ville, les édifices publics élevés
+jusqu’aux nues, les marchés ornés de mille colonnes, les fontaines
+d’eau pure, les fontaines d’eau rose, celles de liqueurs de canne de
+sucre qui coulaient continuellement dans de grandes places pavées d’une
+espèce de pierreries qui répandaient une odeur semblable à celle du
+girofle et de la cannelle. \bname{Candide} demanda à voir la cour de justice,
+le parlement; on lui dit qu’il n’y en avait point, et qu’on ne plaidait
+jamais. Il s’informa s’il y avait des prisons, et on lui dit que non.
+Ce qui le surprit davantage, et qui lui fit le plus de plaisir, ce fut
+le palais des sciences, dans lequel il vit une galerie de deux mille
+pas, toute pleine d’instruments de mathématiques et de physique.}
+
+
+Après avoir parcouru toute l’après-dinée à peu près la millième partie
+de la ville, on les ramena chez le roi. \bname{Candide} se mit à table entre Sa
+\bname{Majesté}, son valet \bname{Cacambo}, et plusieurs dames. Jamais on ne fit
+meilleure chère, et jamais on n’eut plus d’esprit à souper qu’en eut Sa
+\bname{Majesté}. \bname{Cacambo} expliquait les bons mots du roi à \bname{Candide}, et quoique
+traduits, ils paraissaient toujours des bons mots. De tout ce qui
+étonnait \bname{Candide}, ce n’était pas ce qui l’étonna le moins.
+
+Ils passèrent un mois dans cet hospice. \bname{Candide} ne cessait de dire à
+\bname{Cacambo}: «Il est vrai, mon ami, encore une fois, que le château où je
+suis né ne vaut pas le pays où nous sommes; mais enfin M\up{lle}~\bname{Cunégonde} n’y est pas, et vous avez sans doute quelque maîtresse en
+Europe. Si nous restons ici, nous n’y serons que comme les autres; au
+lieu que si nous retournons dans notre monde, seulement avec douze
+moutons chargés de cailloux d’Eldorado, nous serons plus riches que
+tous les rois ensemble, nous n’aurons plus d’inquisiteurs à craindre,
+et nous pourrons aisément reprendre M\up{lle}~\bname{Cunégonde}.»
+
+Ce discours plut à \bname{Cacambo}; on aime tant à courir, à se faire valoir
+chez les siens, à faire parade de ce qu’on a vu dans ses voyages, que
+les deux heureux résolurent de ne plus l’être, et de demander leur
+congé à Sa Majesté.
+
+«Vous faites une sottise, leur dit le roi: je sais bien que mon pays est
+peu de chose; mais, quand on est passablement quelque part, il faut y
+rester. Je n’ai pas assurément le droit de retenir des étrangers; c’est
+une tyrannie qui n’est ni dans nos mœurs ni dans nos lois; tous les
+hommes sont libres; partez quand vous voudrez, mais la sortie est bien
+difficile. Il est impossible de remonter la rivière rapide sur laquelle
+vous êtes arrivés par miracle, et qui court sous des voûtes de rochers.
+Les montagnes qui entourent tout mon royaume ont dix mille pieds de
+hauteur, et sont droites comme des murailles: elles occupent chacune en
+largeur un espace de plus de dix lieues; on ne peut en descendre que
+par des précipices. Cependant, puisque vous voulez absolument partir,
+je vais donner ordre aux intendants des machines d’en faire une qui
+puisse vous transporter commodément. Quand on vous aura conduits au
+revers des montagnes, personne ne pourra vous accompagner; car mes
+sujets ont fait vœu de ne jamais sortir de leur enceinte, et ils sont
+trop sages pour rompre leur vœu. Demandez-moi d’ailleurs tout ce qu’il
+vous plaira. — Nous ne demandons à Votre Majesté, dit \bname{Cacambo}, que
+quelques moutons chargés de vivres, de cailloux, et de la boue du pays.»
+Le roi rit: «Je ne conçois pas, dit-il, quel goût vos gens d’Europe ont
+pour notre boue jaune: mais emportez-en tant que vous voudrez, et grand
+bien vous fasse.»
+
+Il donna l’ordre sur-le-champ à ses ingénieurs de faire une machine
+pour guinder ces deux hommes extraordinaires hors du royaume. Trois
+mille bons physiciens y travaillèrent; elle fut prête au bout de quinze
+jours, et ne coûta pas plus de vingt millions de livres sterling,
+monnaie du pays. On mit sur la machine \bname{Candide} et \bname{Cacambo}; il y avait
+deux grands moutons rouges sellés et bridés pour leur servir de monture
+quand ils auraient franchi les montagnes, vingt moutons de bât chargés
+de vivres, trente qui portaient des présents de ce que le pays a de
+plus curieux, et cinquante chargés d’or, de pierreries, et de diamants.
+Le roi embrassa tendrement les deux vagabonds.
+
+Ce fut un beau spectacle que leur départ, et la manière ingénieuse dont
+ils furent hissés eux et leurs moutons au haut des montagnes. Les
+physiciens prirent congé d’eux après les avoir mis en sûreté, et
+\bname{Candide} n’eut plus d’autre désir et d’autre objet que d’aller présenter
+ses moutons à M\up{lle}~\bname{Cunégonde}. «Nous avons, dit-il, de quoi payer
+le gouverneur de \bname{Buenos} Aires, si M\up{lle}~\bname{Cunégonde} peut être mise
+à prix. Marchons vers la Cayenne, embarquons-nous, et nous verrons
+ensuite quel royaume nous pourrons acheter.»
+
+
+
+
+\chapter[Ce qui leur arriva à Surinam…]{Ce qui leur arriva à Surinam, et comment \bname{Candide} fit connaissance avec
+\bname{Martin}}
+
+
+\lettrine{L}{a première} journée de nos deux voyageurs fut assez agréable. Ils
+étaient encouragés par l’idée de se voir possesseurs de plus de trésors
+que l’Asie, \bname{l’Europe}, et l’Afrique, n’en pouvaient rassembler. \bname{Candide}
+transporté écrivit le nom de \bname{Cunégonde} sur les arbres. À la seconde
+journée deux de leurs moutons s’enfoncèrent dans des marais, et y
+furent abîmés avec leurs charges; deux autres moutons moururent de
+fatigue quelques jours après; sept ou huit périrent ensuite de faim
+dans un désert; d’autres tombèrent au bout de quelques jours dans des
+précipices. Enfin, après cent jours de marche, il ne leur resta que
+deux moutons. \bname{Candide} dit à \bname{Cacambo}: «Mon ami, vous voyez comme les
+richesses de ce monde sont périssables; il n’y a rien de solide que la
+vertu et le bonheur de revoir M\up{lle}~\bname{Cunégonde}. — Je l’avoue, dit
+\bname{Cacambo}; mais il nous reste encore deux moutons avec plus de trésors
+que n’en aura jamais le roi d’Espagne; et je vois bien de loin une
+ville que je soupçonne être Surinam, appartenante aux Hollandais. Nous
+sommes au bout de nos peines et au commencement de notre félicité.»
+
+%\looseness=1
+En approchant de la ville, ils rencontrèrent un nègre étendu par terre,
+n’ayant plus que la moitié de son habit, c’est-à-dire d’un caleçon de
+toile bleue; il manquait à ce pauvre homme la jambe gauche et la main
+droite. «Eh! mon Dieu! lui dit \bname{Candide} en hollandais, que fais-tu là,
+mon ami, dans l’état horrible où je te vois? — J’attends mon maître, M.~\bname{Vanderdendur}, le fameux négociant, répondit le nègre. — Est-ce M.~\bname{Vanderdendur}, dit \bname{Candide}, qui t’a traité ainsi? — Oui, monsieur, dit le
+nègre, c’est l’usage. On nous donne un caleçon de toile pour tout
+vêtement deux fois l’année. Quand nous travaillons aux sucreries, et
+que la meule nous attrape le doigt, on nous coupe la main: quand nous
+voulons nous enfuir, on nous coupe la jambe: je me suis trouvé dans les
+deux cas. C’est à ce prix que vous mangez du sucre en Europe.
+Cependant, lorsque ma mère me vendit dix écus patagons sur la côte de
+Guinée, elle me disait: \frquote{\localleftbox{« }Mon cher enfant, bénis nos fétiches, adore-les
+toujours, ils te feront vivre heureux; tu as l’honneur d’être esclave
+de nos seigneurs les blancs, et tu fais par là la fortune de ton père
+et de ta mère.}\localleftbox{} Hélas! je ne sais pas si j’ai fait leur fortune, mais
+ils n’ont pas fait la mienne. Les chiens, les singes, et les
+perroquets, sont mille fois moins malheureux que nous: les fétiches
+hollandais qui m’ont converti me disent tous les dimanches que nous
+sommes tous enfants d’Adam, blancs et noirs. Je ne suis pas
+généalogiste; mais si ces prêcheurs disent vrai, nous sommes tous
+cousins issus de germain. Or vous m’avouerez qu’on ne peut pas en user
+avec ses parents d’une manière \linebreak plus horrible.
+
+
+— Ô \bname{Pangloss}! s’écria \bname{Candide}, tu n’avais pas deviné cette abomination;
+c’en est fait, il faudra qu’à la fin je renonce à ton optimisme.
+— Qu’est-ce qu’optimisme? disait \bname{Cacambo}. — Hélas! dit \bname{Candide}, c’est la
+rage de soutenir que tout est bien quand on est mal»; et il versait des
+larmes en regardant son nègre; et en pleurant, il entra dans \bname{Surinam}.
+
+La première chose dont ils s’informent, c’est s’il n’y a point au port
+quelque vaisseau qu’on pût envoyer à \bname{Buenos} Aires. Celui à qui ils
+s’adressèrent était justement un patron espagnol qui s’offrit à faire
+avec eux un marché honnête. Il leur donna rendez-vous dans un cabaret.
+\bname{Candide} et le fidèle \bname{Cacambo} allèrent l’y attendre avec leurs deux
+moutons.
+
+
+\bname{Candide}, qui avait le cœur sur les lèvres, conta à \bname{l’Espagnol} toutes
+ses aventures, et lui avoua qu’il voulait enlever mademoiselle
+\bname{Cunégonde}. «Je me garderai bien de vous passer à \bname{Buenos} Aires, dit le
+patron: je serais pendu, et vous aussi; la belle \bname{Cunégonde} est la
+maîtresse favorite de monseigneur.» Ce fut un coup de foudre pour
+\bname{Candide}, il pleura longtemps; enfin il tira à part \bname{Cacambo}. «Voici, mon
+cher ami, lui dit-il, ce qu’il faut que tu fasses. Nous avons chacun
+dans nos poches pour cinq ou six millions de diamants, tu es plus
+habile que moi; va prendre M\up{lle}~\bname{Cunégonde} à \bname{Buenos} Aires. Si le
+gouverneur fait quelque difficulté, donne-lui un million: s’il ne se
+rend pas, donne-lui-en deux; tu n’as point tué d’inquisiteur, on ne se
+défiera point de toi. J’équiperai un autre vaisseau, j’irai t’attendre
+à \bname{Venise}: c’est un pays libre où l’on n’a rien à craindre ni des
+Bulgares, ni des Abares, ni des Juifs, ni des inquisiteurs.» \bname{Cacambo}
+applaudit, à cette sage résolution. Il était au désespoir de se séparer
+d’un bon maître devenu son ami intime; mais le plaisir de lui être
+utile l’emporta sur la douleur de le quitter. Ils s’embrassèrent en
+versant des larmes: \bname{Candide} lui recommanda de ne point oublier la bonne
+vieille. \bname{Cacambo} partit dès le jour même: c’était un très bon homme que
+ce \bname{Cacambo}.
+
+\bname{Candide} resta encore quelque temps à Surinam, et attendit qu’un autre
+patron voulût le mener en Italie lui et les deux moutons qui lui
+restaient. Il prit des domestiques, et acheta tout ce qui lui était
+nécessaire pour un long voyage; enfin M.~\bname{Vanderdendur}, maître d’un gros
+vaisseau, vint se présenter à lui. «Combien voulez-vous, demanda-t-il à
+cet homme, pour me mener en droiture à \bname{Venise}, moi, mes gens, mon
+bagage, et les deux moutons que voilà?» Le patron s’accorda à dix mille
+piastres: \bname{Candide} n’hésita pas.
+
+
+«Oh! oh! dit à part soi le prudent Vanderdendur, cet étranger donne dix
+mille piastres tout d’un coup! il faut qu’il soit bien riche.» Puis
+revenant un moment après, il signifia qu’il ne pouvait partir à moins
+de vingt mille. «Eh bien! vous les aurez, dit \bname{Candide}.
+
+«Ouais, se dit tout bas le marchand, cet homme donne vingt mille
+piastres aussi aisément que dix mille.» Il revint encore, et dit qu’il
+ne pouvait le conduire à \bname{Venise} à moins de trente mille piastres. «Vous
+en aurez donc trente mille», répondit \bname{Candide}.
+
+«Oh! oh! se dit encore le marchand hollandais, trente mille piastres ne
+coûtent rien à cet homme-ci; sans doute les deux moutons portent des
+trésors immenses; n’insistons pas davantage: faisons-nous d’abord payer
+les trente mille piastres, et puis nous verrons.» \bname{Candide}, vendit deux
+petits diamants, dont le moindre valait plus que tout l’argent que
+demandait le patron. Il le paya d’avance. Les deux moutons furent
+embarqués. \bname{Candide} suivait dans un petit bateau pour joindre le
+vaisseau à la rade; le patron prend son temps, met à la voile, démarre;
+le vent le favorise. \bname{Candide} éperdu et stupéfait le perd bientôt de
+vue. «Hélas! cria-t-il, voilà un tour digne de l’Ancien Monde.» Il
+retourne au rivage, abîmé dans la douleur; car enfin il avait perdu de
+quoi faire la fortune de vingt monarques.
+
+Il se transporte chez le juge hollandais; et, comme il était un peu
+troublé, il frappe rudement à la porte; il entre, expose son aventure,
+et crie un peu plus haut qu’il ne convenait. Le juge commença par lui
+faire payer dix mille piastres pour le bruit qu’il avait fait: ensuite
+il l’écouta patiemment, lui promit d’examiner son affaire sitôt que le
+marchand serait revenu, et se fit payer dix mille autres piastres pour
+les frais de l’audience.
+
+Ce procédé acheva de désespérer \bname{Candide}; il avait à la vérité essuyé
+des malheurs mille fois plus douloureux; mais le sang froid du juge, et
+celui du patron dont il était volé, alluma sa bile, et le plongea dans
+une noire
+mélancolie. La méchanceté des hommes se présentait à son
+esprit dans toute sa laideur, il ne se nourrissait que d’idées tristes.
+Enfin un vaisseau français étant sur le point de partir pour Bordeaux,
+comme il n’avait plus de moutons chargés de diamants à embarquer, il
+loua une chambre du vaisseau à juste prix, et fit signifier dans la
+ville qu’il paierait le passage, la nourriture, et donnerait deux mille
+piastres à un honnête homme qui voudrait faire le voyage avec lui, à
+condition que cet homme serait le plus dégoûté de son état, et le plus
+malheureux de la province.
+
+
+Il se présenta une foule de prétendants qu’une flotte n’aurait pu
+contenir. \bname{Candide}, voulant choisir entre les plus apparents, il
+distingua une vingtaine de personnes qui lui paraissaient sociables, et
+qui toutes prétendaient mériter la préférence. Il les assembla dans son
+cabaret, et leur donna à souper, à condition que chacun ferait serment
+de raconter fidèlement son histoire, promettant de choisir celui qui
+lui paraîtrait le plus à plaindre et le plus mécontent de son état, à
+plus juste titre, et de donner aux autres quelques gratifications.
+
+La séance dura jusqu’à quatre heures du matin. \bname{Candide}, en écoutant
+toutes leurs aventures, se ressouvenait de ce que lui avait dit la
+vieille en allant à \bname{Buenos} Aires, et de la gageure qu’elle avait faite,
+qu’il n’y avait personne sur le vaisseau à qui il ne fût arrivé de très
+grands malheurs. Il songeait à \bname{Pangloss} à chaque aventure qu’on lui
+contait. Ce \bname{Pangloss}, disait-il, serait bien embarrassé à démontrer son
+système. Je voudrais qu’il fût ici. Certainement si tout va bien, c’est
+dans Eldorado, et non pas dans le reste de la terre. Enfin il se
+détermina en faveur d’un pauvre savant qui avait travaillé dix ans pour
+les libraires à Amsterdam. Il jugea qu’il n’y avait point de métier au
+monde dont on dût être plus dégoûté.
+
+Ce savant, qui était d’ailleurs un bon homme, avait été volé par sa
+femme, battu par son fils, et abandonné de sa fille, qui s’était fait
+enlever par un Portugais. Il venait d’être privé d’un petit emploi
+duquel il subsistait; et les prédicants de Surinam le persécutaient,
+parce qu’ils le prenaient pour un socinien. Il faut avouer que les
+autres étaient pour le moins aussi malheureux que lui; mais \bname{Candide}
+espérait que le \bname{savant} le désennuierait dans le voyage. Tous ses autres
+rivaux trouvèrent que \bname{Candide} leur faisait une grande injustice; mais il
+les apaisa en leur donnant à chacun cent piastres.
+
+
+
+\chapter{Ce qui arriva sur mer à \bname{Candide} et à \bname{Martin}}
+
+
+\lettrine{L}{e vieux} savant, qui s’appelait \bname{Martin}, s’embarqua donc pour Bordeaux
+avec \bname{Candide}. L’un et l’autre avaient beaucoup vu et beaucoup souffert;
+et quand le vaisseau aurait dû faire voile de Surinam au Japon par le
+cap de Bonne-Espérance, ils auraient eu de quoi s’entretenir du mal
+moral et du mal physique pendant tout le voyage.
+
+
+Cependant \bname{Candide} avait un grand avantage sur \bname{Martin}, c’est qu’il
+espérait toujours revoir M\up{lle}~\bname{Cunégonde}, et que \bname{Martin} n’avait
+rien à espérer; de plus il avait de l’or et des diamants; et, quoiqu’il
+eût perdu cent gros moutons rouges chargés des plus grands trésors de
+la terre, quoiqu’il eût toujours sur le cœur la friponnerie du patron
+hollandais, cependant quand il songeait à ce qui lui restait dans ses
+poches, et quand il parlait de \bname{Cunégonde}, surtout à la fin du repas, il
+penchait alors pour le système de \bname{Pangloss}.
+
+
+«Mais vous, monsieur \bname{Martin}, dit-il au savant, que pensez-vous de tout
+cela? quelle est votre idée sur le mal moral et le mal physique?
+— Monsieur, répondit \bname{Martin}, mes prêtres m’ont accusé d’être socinien;
+mais la vérité du fait est que je suis manichéen. — Vous vous moquez
+de moi, dit \bname{Candide}; il n’y a plus de manichéens dans le monde. — Il y a
+moi, dit \bname{Martin}: je ne sais qu’y faire; mais je ne peux penser
+autrement. — Il faut que vous ayez le diable au corps, dit \bname{Candide}. — Il se
+mêle si fort des affaires de ce monde, dit \bname{Martin}, qu’il pourrait bien
+être dans mon corps, comme partout ailleurs; mais je vous avoue qu’en
+jetant la vue sur ce globe, ou plutôt sur ce globule, je pense que Dieu
+l’a abandonné à quelque être malfaisant; j’en excepte toujours
+Eldorado. Je n’ai guère vu de ville qui ne désirât la ruine de la ville
+voisine, point de famille qui ne voulût exterminer quelque autre
+famille. Partout les faibles ont en exécration les puissants devant
+lesquels ils rampent, et les puissants les traitent comme des troupeaux
+dont on vend la laine et la chair. Un million d’assassins enrégimentés,
+courant d’un bout de \bname{l’Europe} à
+ l’autre, exerce le meurtre et le
+brigandage avec discipline pour gagner son pain, parce qu’il n’a pas de
+métier plus honnête; et dans les villes qui paraissent jouir de la
+paix, et où les arts fleurissent, les hommes sont dévorés de plus
+d’envie, de soins, et d’inquiétudes, qu’une ville assiégée n’éprouve de
+fléaux. Les chagrins secrets sont encore plus cruels que les misères
+publiques. En un mot j’en ai tant vu et tant éprouvé, que \linebreak je suis
+manichéen.
+
+
+
+— Il y a pourtant du bon, répliquait \bname{Candide}. — Cela peut être, disait
+\bname{Martin}; mais je ne le connais pas.»
+
+
+
+Au milieu de cette dispute, on entendit un bruit de canon. Le bruit
+redouble de moment en moment. Chacun prend sa lunette. On aperçoit deux
+vaisseaux qui combattaient à la distance d’environ trois milles: le
+vent les amena l’un et l’autre si près du vaisseau français, qu’on eut
+le plaisir de voir le combat tout à son aise. Enfin l’un des deux
+vaisseaux lâcha à l’autre une bordée si bas et si juste, qu’il le coula
+à fond. \bname{Candide} et \bname{Martin} aperçurent distinctement une centaine
+d’hommes sur le tillac du vaisseau qui s’enfonçait; ils levaient tous
+les mains au ciel, et jetaient des clameurs effroyables; en un moment
+tout fut englouti.
+
+Eh bien! dit \bname{Martin}, voilà comme les hommes se traitent les uns les
+autres. Il est vrai, dit \bname{Candide}, qu’il y a quelque chose de diabolique
+dans cette affaire. En parlant ainsi, il aperçut je ne sais quoi d’un
+rouge éclatant, qui nageait auprès de son vaisseau. On détacha la
+chaloupe pour voir ce que ce pouvait être; c’était un de ses moutons.
+\bname{Candide} eut plus de joie de retrouver ce mouton, qu’il n’avait été
+affligé d’en perdre cent tous chargés de gros diamants d’Eldorado.
+
+Le capitaine français aperçut bientôt que le capitaine du vaisseau
+submergeant était espagnol, et que celui du vaisseau submergé était un
+pirate hollandais; c’était celui-là même qui avait volé \bname{Candide}. Les
+richesses immenses dont ce scélérat s’était emparé furent ensevelies
+avec lui dans la mer, et il n’y eut qu’un mouton de sauvé. «Vous voyez,
+dit \bname{Candide} à \bname{Martin}, que le crime est puni quelquefois; ce coquin de
+patron hollandais a eu le sort qu’il méritait. — Oui, dit \bname{Martin}; mais
+fallait-il que les passagers qui étaient sur son vaisseau périssent
+aussi? Dieu a puni ce fripon, le diable a noyé \linebreak les autres.»
+
+Cependant le vaisseau français et l’espagnol continuèrent leur route,
+et \bname{Candide} continua ses conversations avec \bname{Martin}. Ils disputèrent
+quinze jours de suite, et au bout de quinze jours ils étaient aussi
+avancés que le premier. Mais enfin ils parlaient, ils se communiquaient
+des idées, ils se consolaient. \bname{Candide} caressait son mouton. «Puisque je
+t’ai retrouvé, dit-il, je pourrai bien retrouver \bname{Cunégonde}.»
+
+
+
+\chapter[Candide et \bname{Martin} approchent des côtes…]{Candide et \bname{Martin} approchent des côtes\\ de France, et raisonnent.}
+
+
+\lettrine{O}{n aperçut} enfin les côtes de France. «Avez-vous jamais été en France,
+monsieur \bname{Martin}? dit \bname{Candide}. — Oui, dit \bname{Martin}, j’ai parcouru plusieurs
+provinces. Il y en a où la moitié des habitants est folle, quelques
+unes où l’on est trop rusé, d’autres où l’on est communément assez doux
+et assez bête, d’autres où l’on fait le bel esprit; et, dans toutes, la
+principale occupation est l’amour, la seconde, de médire; et la
+troisième, de dire des sottises. — Mais, monsieur \bname{Martin}, avez-vous vu
+Paris? — Oui, j’ai vu Paris; il tient de toutes ces espèces-là; c’est un
+chaos, c’est une presse dans laquelle tout le monde cherche le plaisir,
+et où presque personne ne le trouve, du moins à ce qu’il m’a paru. J’y
+ai séjourné peu; j’y fus volé, en arrivant, de tout ce que j’avais, par
+des filous, à la foire Saint-Germain; on me prit moi-même pour un
+voleur, et je fus huit jours en prison; après quoi je me fis correcteur
+d’imprimerie pour gagner de quoi retourner à pied en \bname{Hollande}. Je
+connus la canaille écrivante, la canaille cabalante, et la canaille
+convulsionnaire. On dit qu’il y a des gens fort polis dans cette
+ville-là: je le veux croire.
+
+— Pour moi, je n’ai nulle curiosité de voir la France, dit \bname{Candide}; vous
+devinez aisément que quand on a passé un mois dans Eldorado, on ne se
+soucie plus de rien voir sur la terre que M\up{lle}~\bname{Cunégonde}; je
+vais l’attendre à \bname{Venise}; nous
+traverserons
+ la France pour aller en
+Italie; ne m’accompagnerez-vous pas? — Très volontiers, dit \bname{Martin}: on
+dit que \bname{Venise} n’est bonne que pour les nobles Vénitiens, mais que
+cependant on y reçoit très bien les étrangers quand ils ont beaucoup
+d’argent; je n’en ai point; vous en avez, je vous suivrai partout. — À
+propos, dit \bname{Candide}, pensez-vous que la terre ait été originairement
+une mer, comme on l’assure dans ce gros livre qui appartient au
+capitaine du vaisseau? — Je n’en crois rien du tout, dit \bname{Martin}, non
+plus que de toutes les rêveries qu’on nous débite depuis quelque temps.
+— Mais à quelle fin ce monde a-t-il donc été formé? dit \bname{Candide}. — Pour
+nous faire enrager, répondit \bname{Martin}. — N’êtes-vous pas bien étonné,
+continua \bname{Candide}, de l’amour que ces deux filles du pays des Oreillons
+avaient pour ces deux singes, et dont je vous ai conté l’aventure?
+— Point du tout, dit \bname{Martin}, je ne vois pas ce que cette passion a
+d’étrange; j’ai tant vu de choses extraordinaires, qu’il n’y a plus
+rien d’extraordinaire pour moi. — Croyez-vous, dit \bname{Candide}, que les
+hommes se soient toujours mutuellement massacrés comme ils font
+aujourd’hui? qu’ils aient toujours été menteurs, fourbes, perfides,
+ingrats, brigands, faibles, volages, lâches, envieux, gourmands,
+ivrognes, avares, ambitieux, sanguinaires, calomniateurs, débauchés,
+fanatiques, hypocrites, et sots? — Croyez-vous, dit \bname{Martin}, que les
+éperviers aient toujours mangé des pigeons quand ils en ont trouvé?
+— Oui, sans doute, dit \bname{Candide}. — Eh bien! dit \bname{Martin}, si les éperviers ont
+toujours eu le même caractère, pourquoi voulez-vous que les hommes
+aient changé le leur? — Oh! dit \bname{Candide}, il y a bien de la différence,
+car le libre arbitre…» En raisonnant ainsi, ils arrivèrent à Bordeaux.
+
+
+
+\chapter[Ce qui arriva en France…]{Ce qui arriva en France à Candide et à \bname{Martin}}
+
+
+
+\lettrine{C}{andide} ne s’arrêta dans Bordeaux qu’autant de temps qu’il en fallait
+pour vendre quelques cailloux du \bname{Dorado}, et pour s’accommoder d’une
+bonne chaise à deux places; car il ne pouvait plus se passer de son
+philosophe \bname{Martin}; il fut seulement très fâché de se séparer de son
+mouton, qu’il laissa à l’académie des sciences de Bordeaux, laquelle
+proposa pour le sujet du prix de cette année de trouver pourquoi la
+laine de ce mouton était rouge; et le prix fut adjugé à un savant du
+Nord, qui démontra par A, plus B, moins C divisé par Z, que le mouton
+devait être rouge, et mourir de la clavelée.
+
+
+
+Cependant tous les voyageurs que \bname{Candide} rencontra dans les cabarets de
+la route lui disaient: «Nous allons à Paris.» Cet empressement général
+lui donna enfin l’envie de voir cette capitale; ce n’était pas beaucoup
+se détourner du chemin de \bname{Venise}.
+
+Il entra par le faubourg Saint-Marceau, et crut être dans le plus
+vilain village de la \bname{Westphalie}.
+
+
+À peine \bname{Candide} fut-il dans son auberge, qu’il fut attaqué d’une
+maladie légère, causée par ses fatigues. Comme il avait au doigt un
+diamant énorme, et qu’on avait aperçu dans son équipage une cassette
+prodigieusement pesante, il eut aussitôt auprès de lui deux médecins
+qu’il n’avait pas mandés, quelques amis intimes qui ne le quittèrent
+pas, et deux dévotes qui faisaient chauffer ses bouillons. \bname{Martin}
+disait: «Je me souviens d’avoir été malade aussi à Paris dans mon
+premier voyage; j’étais fort pauvre: aussi n’eus-je ni amis, ni
+dévotes, ni médecins, et je guéris.»
+
+Cependant, à force de médecines et de saignées, la maladie de \bname{Candide}
+devint sérieuse. Un habitué du quartier vint avec douceur lui demander
+un billet payable au porteur pour l’autre monde: \bname{Candide} n’en voulut
+rien faire; les dévotes l’assurèrent que c’était une nouvelle mode:
+\bname{Candide} répondit qu’il n’était point homme à la mode. \bname{Martin} voulut
+jeter l’habitué par les fenêtres. Le clerc jura qu’on n’enterrerait
+point \bname{Candide}. \bname{Martin} jura qu’il enterrerait le clerc, s’il continuait
+à les importuner. La querelle s’échauffa: \bname{Martin} le prit par les
+épaules, et le chassa rudement; ce qui causa un grand scandale, dont on
+fit un procès-verbal.
+
+\bname{Candide} guérit; et pendant sa convalescence il eut très bonne compagnie
+à souper chez lui. On jouait gros jeu. \bname{Candide} était tout étonné que
+jamais les as ne lui vinssent; et \bname{Martin} ne s’en étonnait pas.
+
+Parmi ceux qui lui faisaient les honneurs de la ville, il y avait un
+petit abbé périgourdin, l’un de ces gens empressés, toujours alertes,
+toujours serviables, effrontés, caressants, accommodants, qui guettent
+les étrangers à leur passage, leur content l’histoire scandaleuse de la
+ville, et leur offrent des plaisirs à tout prix. Celui-ci mena d’abord
+\bname{Candide} et \bname{Martin} à la comédie. On y jouait une tragédie nouvelle.
+\bname{Candide} se trouva placé auprès de quelques beaux esprits. Cela ne
+l’empêcha pas de pleurer à des scènes jouées parfaitement. Un des
+raisonneurs qui étaient à ses côtés lui dit dans un entr’acte: «Vous
+avez grand tort de pleurer, cette actrice est fort mauvaise; l’acteur
+qui joue avec elle est plus mauvais acteur encore; la pièce est encore
+plus mauvaise que les acteurs; l’auteur ne sait pas un mot d’arabe, et
+cependant la scène est en \bname{Arabie}; et, de plus, c’est un homme qui ne
+croit pas aux idées innées; je vous apporterai demain vingt
+brochures
+contre lui. — Monsieur, combien avez-vous de pièces de théâtre en
+France?» dit \bname{Candide} à l’abbé; lequel répondit: «Cinq ou six mille. — C’est
+beaucoup, dit \bname{Candide}: combien y en a-t-il de bonnes? —Quinze ou seize,
+répliqua l’autre. — C’est beaucoup», dit \bname{Martin}.
+
+
+
+\bname{Candide} fut très content d’une actrice qui faisait la reine Élisabeth,
+dans une assez plate tragédie, que l’on joue quelquefois. «Cette
+actrice, dit-il à \bname{Martin}, me plaît beaucoup; elle a un faux air de
+M\up{lle}~\bname{Cunégonde}; je serais bien aise de la saluer.» L’abbé
+périgourdin s’offrit à l’introduire chez elle. \bname{Candide}, élevé en
+\bname{Allemagne}, demanda quelle était l’étiquette, et comment on traitait en
+France les reines d’Angleterre. «Il faut distinguer, dit l’abbé: en
+province, on les mène au cabaret; à Paris, on les respecte quand elles
+sont belles, et on les jette à la voirie quand elles sont mortes. — Des
+reines à la voirie! dit \bname{Candide}. — Oui vraiment, dit \bname{Martin}; monsieur
+l’abbé a raison; j’étais à Paris quand M\up{lle}~Monime passa,
+comme on dit, de cette vie à l’autre; on lui refusa, ce que ces gens-ci
+appellent les \emph{honneurs de la sépulture}, c’est-à-dire de pourrir avec
+tous les gueux du quartier dans un vilain cimetière; elle fut enterrée
+toute seule de sa bande au coin de la rue de Bourgogne; ce qui dut lui
+faire une peine extrême, car elle pensait très noblement. — Cela est bien
+impoli, dit \bname{Candide}. — Que voulez-vous? dit \bname{Martin}; ces gens-ci sont
+ainsi faits. Imaginez toutes les contradictions, toutes les
+incompatibilités possibles, vous les verrez dans le gouvernement, dans
+les tribunaux, dans les églises, dans les spectacles de cette drôle de
+nation. — Est-il vrai qu’on rit toujours à Paris? dit \bname{Candide}. — Oui, dit
+l’abbé, mais c’est en enrageant; car on s’y plaint de tout avec de
+grands éclats de rire; même on y fait en riant les actions les plus
+\linebreak détestables.
+
+
+
+— Quel est, dit \bname{Candide}, ce gros cochon qui me disait tant de mal de la
+pièce où j’ai tant pleuré, et des acteurs qui m’ont fait tant de
+plaisir? — C’est un mal-vivant, répondit l’abbé, qui gagne sa vie à dire
+du mal de toutes les pièces et de tous les livres; il hait quiconque
+réussit, comme les eunuques haïssent les jouissants; c’est un de ces
+serpents de la littérature qui se nourrissent de fange et de venin;
+c’est un folliculaire. — Qu’appelez-vous folliculaire? dit \bname{Candide}.
+— C’est, dit l’abbé, un faiseur de feuilles, un \emph{Fréron}.»
+
+C’est ainsi que \bname{Candide}, \bname{Martin}, et le Périgourdin, raisonnaient sur
+l’escalier, en voyant défiler le monde au sortir de la pièce. «Quoique
+je sois très empressé de revoir M\up{lle}~\bname{Cunégonde}, dit \bname{Candide}, je
+voudrais pourtant souper avec M\up{lle}~Clairon, car elle m’a paru
+admirable.»
+
+L’abbé n’était pas homme à approcher de M\up{lle}~\bname{Clairon}, qui ne
+voyait que bonne compagnie. «Elle est engagée pour ce soir, dit-il; mais
+j’aurai l’honneur de vous mener chez une dame de qualité, et là vous
+connaîtrez Paris comme si vous y aviez été quatre ans.»
+
+\bname{Candide}, qui était naturellement curieux, se laissa mener chez la dame,
+au fond du faubourg Saint-Honoré; on y était occupé d’un pharaon; douze
+tristes pontes tenaient chacun en main un petit livre de cartes,
+registre cornu de leurs infortunes. Un profond silence régnait, la
+pâleur était sur le front des pontes, l’inquiétude sur celui du
+banquier; et la dame du logis, assise auprès de ce banquier
+impitoyable, remarquait avec des yeux de lynx tous les parolis, tous
+les sept et le va de campagne, dont chaque joueur cornait ses cartes;
+elle les faisait décorner avec une attention sévère, mais polie, et ne
+se fâchait point, de peur de perdre ses pratiques. La dame se faisait
+appeler la marquise de Parolignac. Sa fille, âgée de quinze ans, était
+au nombre des pontes, et avertissait d’un clin d’œil des friponneries
+de ces pauvres gens qui tâchaient de réparer les cruautés du sort.
+L’abbé périgourdin, \bname{Candide}, et \bname{Martin}, entrèrent; personne ne se leva,
+ni les salua, ni les regarda; tous étaient profondément occupés de
+leurs cartes. «M\up{me} la baronne de Thunder-ten-tronckh était plus
+civile», dit \bname{Candide}.
+
+Cependant l’abbé s’approcha de l’oreille de la marquise, qui se leva à
+moitié, honora \bname{Candide} d’un sourire gracieux, et \bname{Martin} d’un air de
+tête tout-à-fait noble; elle fit donner un siège et un jeu de cartes à
+\bname{Candide}, qui perdit cinquante mille francs en deux tailles: après quoi
+on soupa très gaiement; et tout le monde était étonné que \bname{Candide} ne
+fût pas ému de sa perte; les laquais disaient entre eux, dans leur
+langage de laquais: «Il faut que ce soit quelque milord anglais.» Le
+souper fut comme la plupart des soupers de Paris, d’abord du silence,
+ensuite un bruit de paroles qu’on ne distingue point, puis des
+plaisanteries dont la plupart sont insipides, de fausses nouvelles, de
+mauvais raisonnements, un peu de politique, et beaucoup de médisance;
+on parla même de livres nouveaux. «Avez-vous vu, dit l’abbé périgourdin,
+le roman du sieur Gauchat, docteur en théologie? — Oui, répondit un des
+convives, mais je n’ai pu l’achever. Nous avons une foule d’écrits
+impertinents; mais tous ensemble n’approchent pas de l’impertinence de
+\bname{Gauchat}, docteur en théologie; je suis si rassasié de cette
+immensité de détestables livres qui nous inondent, que je me suis mis à
+ponter au pharaon. — Et les \emph{\bname{Mélanges}} de l’archidiacre Trublet, qu’en
+dites-vous? dit l’abbé. — Ah! dit M\up{me} de Parolignac, l’ennuyeux
+mortel! comme il vous dit curieusement ce que tout le monde sait! comme
+il discute pesamment ce qui ne vaut pas la peine d’être remarqué
+légèrement! comme il s’approprie, sans esprit, l’esprit des autres!
+comme il gâte ce qu’il pille! comme il me dégoûte! mais il ne me
+dégoûtera plus; c’est assez d’avoir lu quelques pages de l’archidiacre.»
+
+
+Il y avait à table un homme savant et de goût qui appuya ce que disait
+la marquise. On parla ensuite de
+tragédies;
+ la dame demanda pourquoi il
+y avait des tragédies qu’on jouait quelquefois, et qu’on ne pouvait
+lire. L’homme de goût expliqua très bien comment une pièce pouvait
+avoir quelque intérêt, et n’avoir presque aucun mérite; il prouva en
+peu de mots que ce n’était pas assez d’amener une ou deux de ces
+situations qu’on trouve dans tous les romans, et qui séduisent toujours
+les spectateurs; mais qu’il faut être neuf sans être bizarre, souvent
+sublime et toujours naturel, connaître le cœur humain et le faire
+parler; être grand poète, sans que jamais aucun personnage de la pièce
+paraisse poète; savoir parfaitement sa langue, la parler avec pureté,
+avec une harmonie continue, sans que jamais la rime coûte rien au sens.
+«\bname{Quiconque}, ajouta-t-il,
+n’observe
+ pas toutes ces règles, peut faire une
+ou deux tragédies applaudies au théâtre, mais il ne sera jamais compté
+au rang des bons écrivains; il y a très peu de bonnes tragédies: les
+unes sont des idylles en dialogues bien écrits et bien rimés; les
+autres, des raisonnements politiques qui endorment, ou des
+amplifications qui rebutent; les autres, des rêves d’énergumène, en
+style barbare, des propos interrompus, de longues apostrophes aux
+dieux, parce qu’on ne sait point parler aux hommes, des maximes fausses,
+des lieux communs ampoulés.»
+
+
+\bname{Candide} écouta ce propos avec attention, et conçut une grande idée du
+discoureur; et, comme la marquise avait eu soin de le placer à côté
+d’elle, il s’approcha de son oreille, et prit la liberté de lui
+demander qui était cet homme qui parlait si bien. «C’est un savant, dit
+la dame, qui ne ponte point, et que l’abbé m’amène quelquefois à
+souper; il se connaît parfaitement en tragédies et en livres, et il a
+fait une tragédie sifflée, et un livre dont on n’a jamais vu hors de la
+boutique de son libraire qu’un exemplaire qu’il m’a dédié. — Le grand
+homme! dit \bname{Candide}, c’est un autre \bname{Pangloss}.»
+
+Alors se tournant vers lui, il lui dit: «Monsieur, vous pensez, sans
+doute, que tout est au mieux dans le monde physique et dans le moral,
+et que rien ne pouvait être autrement? — Moi, monsieur, lui répondit le
+savant, je ne pense rien de tout cela; je trouve que tout va de travers
+chez nous; que personne ne sait ni quel est son rang, ni quelle est sa
+charge, ni ce qu’il fait, ni ce qu’il doit faire, et qu’excepté le
+souper, qui est assez gai, et où il paraît assez d’union, tout le reste
+du temps se passe en querelles impertinentes; jansénistes contre
+molinistes, gens du parlement contre gens d’église, gens de lettres
+contre gens de lettres, courtisans contre courtisans, financiers contre
+le peuple, femmes contre maris, parents contre parents; c’est une
+guerre éternelle.»
+
+
+\bname{Candide} lui répliqua: «J’ai vu pis; mais un sage, qui depuis a eu le
+malheur d’être pendu, m’apprit que tout cela est à merveille; ce sont
+des ombres à un beau tableau. — Votre pendu se moquait du monde, dit
+\bname{Martin}; vos ombres sont des taches horribles. — Ce sont les hommes qui
+font les taches, dit \bname{Candide}, et ils ne peuvent pas s’en dispenser. — Ce
+n’est donc pas leur faute», dit \bname{Martin}. La plupart des pontes, qui
+n’entendaient rien à ce langage, buvaient; et \bname{Martin} raisonna avec le
+savant, et \bname{Candide} raconta une partie de ses aventures à la dame du
+logis.
+
+Après souper, la marquise mena \bname{Candide} dans son cabinet, et le fit
+asseoir sur un canapé. «Eh bien! lui dit-elle, vous aimez donc toujours
+éperdument M\up{lle}~\bname{Cunégonde} de Thunder-ten-tronckh? — Oui, madame,
+répondit \bname{Candide}.» La marquise lui répliqua avec un souris tendre: «Vous
+me répondez comme un jeune homme de \bname{Westphalie}; un Français m’aurait
+dit: Il est vrai que j’ai aimé M\up{lle}~\bname{Cunégonde}; mais en vous
+voyant, madame, je crains de ne la plus aimer. — Hélas! madame, dit
+\bname{Candide}, je répondrai comme vous voudrez. — Votre passion pour elle, dit
+la marquise, a commencé en ramassant son mouchoir; je veux que vous
+ramassiez ma jarretière. — De tout mon cœur, dit \bname{Candide}; et il la
+ramassa. — Mais je veux que vous me la remettiez», dit la dame; et \bname{Candide}
+la lui remit. «Voyez-vous, dit la dame, vous êtes étranger; je fais
+quelquefois languir mes amants de Paris quinze jours, mais je me rends
+à vous dès la première nuit, parce qu’il faut faire les honneurs de son
+pays à un jeune homme de \bname{Westphalie}.» La belle ayant aperçu deux énormes
+diamants aux deux mains de son jeune étranger, les loua de si bonne
+foi, que des doigts de \bname{Candide} ils passèrent aux doigts de la marquise.
+
+\looseness=1
+\bname{Candide}, en s’en retournant avec son abbé périgourdin, sentit quelques
+remords d’avoir fait une infidélité à M\up{lle}~\bname{Cunégonde}. M. l’abbé
+entra dans sa peine; il n’avait qu’une légère part aux cinquante mille
+livres perdues au jeu par \bname{Candide}, et à la valeur des deux brillants
+moitié donnés, moitié extorqués. Son dessein était de profiter, autant
+qu’il le pourrait, des avantages que la connaissance de \bname{Candide} pouvait
+lui procurer. Il lui parla beaucoup de \bname{Cunégonde}; et \bname{Candide} lui dit
+qu’il demanderait bien pardon à cette belle de son infidélité, quand il
+la verrait à \bname{ \bname{Venise}}.
+
+Le Périgourdin redoublait de politesses et d’attentions, et prenait un
+intérêt tendre à tout ce que \bname{Candide} disait, à tout ce qu’il faisait, à
+tout ce qu’il voulait faire.
+
+«Vous avez donc, monsieur, lui dit-il, un rendez-vous à \bname{Venise}? — Oui,
+monsieur l’abbé, dit \bname{Candide}; il faut absolument que j’aille trouver
+M\up{lle}~\bname{Cunégonde}.» Alors, engagé par le plaisir de parler de ce
+qu’il aimait, il conta, selon son usage, une partie de ses aventures
+avec cette illustre \bname{Westphalienne}.
+
+
+«Je crois, dit l’abbé, que M\up{lle}~\bname{Cunégonde} a bien de l’esprit, et
+qu’elle écrit des lettres charmantes. — Je n’en ai jamais reçu, dit
+\bname{Candide}; car, figurez-vous qu’ayant été chassé du château pour l’amour
+d’elle, je ne pus lui écrire; que bientôt après j’appris qu’elle était
+morte, qu’ensuite je la retrouvai, et que je la perdis, et que je lui
+ai envoyé à deux mille cinq cents lieues d’ici un exprès dont j’attends
+la réponse.»
+
+L’abbé écoutait attentivement, et paraissait un peu rêveur. Il prit
+bientôt congé des deux étrangers, après les avoir tendrement embrassés.
+Le lendemain \bname{Candide} reçut à son réveil une lettre conçue en ces
+termes:
+\par\vspace{\baselineskip}\par
+{\itshape Monsieur mon très cher amant, il y a huit jours que je suis malade en
+cette ville; j’apprends que vous y êtes. Je volerais dans vos bras si
+je pouvais remuer. J’ai su votre passage à Bordeaux; j’y ai laissé le
+fidèle \bname{Cacambo} et la vieille, qui doivent bientôt me suivre. Le
+gouverneur de \bname{Buenos} Aires a tout pris, mais il me reste votre cœur.
+Venez; votre présence me rendra la vie ou me fera mourir de plaisir.
+
+}
+\par\vspace{\baselineskip}\par
+Cette lettre charmante, cette lettre inespérée, transporta \bname{Candide}
+d’une joie inexprimable; et la maladie de sa chère \bname{Cunégonde} l’accabla
+de douleur. Partagé entre ces deux sentiments, il prend son or et ses
+diamants, et se fait conduire avec \bname{Martin} à l’hôtel où
+mademoiselle
+\bname{Cunégonde} demeurait. Il entre en tremblant d’émotion, son cœur
+palpite, sa voix sanglote; il veut ouvrir les rideaux du lit; il veut
+faire apporter de la lumière. «Gardez-vous-en bien, lui dit la suivante;
+la lumière la tue»; et soudain elle referme le rideau. «Ma chère
+\bname{Cunégonde}, dit \bname{Candide} en pleurant, comment vous portez-vous? si vous
+ne pouvez me voir, parlez-moi du moins. — Elle ne peut parler», dit la
+suivante, la dame alors tire du lit une main potelée que \bname{Candide} arrose
+longtemps de ses larmes, et qu’il remplit ensuite de diamants, en
+laissant un sac plein d’or sur le fauteuil.
+
+
+Au milieu de ses transports arrive un exempt suivi de l’abbé
+périgourdin et d’une escouade. «Voilà donc, dit-il, ces deux étrangers
+suspects?» Il les fait incontinent saisir, et ordonne à ses braves de
+les traîner en prison. «Ce n’est pas ainsi qu’on traite les voyageurs
+dans Eldorado, dit \bname{Candide}. — Je suis plus manichéen que jamais, dit
+\bname{Martin}. — Mais, monsieur, où nous menez-vous? dit \bname{Candide}. — Dans un cul de
+basse-fosse», dit l’exempt.
+
+\bname{Martin}, ayant repris son sang froid, jugea que la dame qui se
+prétendait \bname{Cunégonde} était une friponne, M. l’abbé périgourdin un
+fripon, qui avait abusé au plus vite de
+l'innocence
+ de \bname{Candide}, et
+l’exempt un autre fripon dont on pouvait aisément se débarrasser.
+
+
+Plutôt que de s’exposer aux procédures de la justice, \bname{Candide}, éclairé
+par son conseil, et d’ailleurs toujours impatient de revoir la
+véritable \bname{Cunégonde}, propose à l’exempt trois petits diamants d’environ
+trois mille pistoles chacun. — Ah! monsieur, lui dit l’homme au bâton
+d’ivoire, eussiez-vous commis tous les crimes imaginables, vous êtes le
+plus honnête homme du monde; trois diamants! chacun de trois mille
+pistoles! Monsieur! je me ferais tuer pour vous, au lieu de vous mener
+dans un cachot. On arrête tous les étrangers, mais laissez-moi faire;
+j’ai un frère à Dieppe en Normandie; je vais vous y mener; et si vous
+avez quelque diamant à lui donner, il aura soin de vous comme moi-même.
+
+— Et pourquoi arrête-t-on tous les étrangers? dit \bname{Candide}. L’abbé
+périgourdin prit alors la parole, et dit: «C’est parce qu’un gueux du
+pays d’Atrébatie a entendu dire des sottises; cela seul lui a fait
+commettre un parricide, non pas tel que celui de 1610 au mois de
+mai, mais tel que celui de 1594 au mois de décembre, et tel que
+plusieurs autres commis dans d’autres années et dans d’autres mois par
+d’autres gueux qui avaient entendu dire des sottises.»
+
+
+
+L’exempt alors expliqua de quoi il s’agissait. «Ah! les monstres!
+s’écria \bname{Candide}; quoi! de telles horreurs chez un peuple qui danse et
+qui chante! Ne pourrai-je sortir au plus vite de ce pays où des singes
+agacent des tigres? J’ai vu des ours dans mon pays; je n’ai vu des
+hommes que dans le Dorado. Au nom de Dieu, monsieur l’exempt, menez-moi
+à \bname{Venise}, où je dois attendre M\up{lle}~\bname{Cunégonde}. — Je ne peux vous
+mener qu’en Basse-Normandie, dit le barigel.» Aussitôt il lui fait
+ôter ses fers, dit qu’il s’est mépris, renvoie ses gens, emmène à
+Dieppe \bname{Candide} et \bname{Martin}, et les laisse entre les mains de son frère.
+Il y avait un petit vaisseau hollandais à la rade. Le Normand, à l’aide
+de trois autres diamants, devenu le plus serviable des hommes, embarque
+\bname{Candide} et ses gens dans le vaisseau qui allait faire voile pour
+Portsmouth en Angleterre. Ce n’était pas le chemin de \bname{Venise}; mais
+\bname{Candide} croyait être délivré de l’enfer; et il comptait bien reprendre
+la route de \bname{Venise} à la première occasion.
+
+
+
+
+
+\chapter[Candide et \bname{Martin} vont sur les côtes…]{Candide et \bname{Martin} vont sur les côtes d’Angleterre;\\ ce qu’ils y voient}
+
+
+\lettrine[ante=«]{A}{h! \bname{Pangloss}!} \bname{Pangloss}! Ah! \bname{Martin}! \bname{Martin}! Ah! ma chère \bname{Cunégonde}!
+qu’est-ce que ce monde-ci?» disait \bname{Candide} sur le vaisseau hollandais.
+— Quelque chose de bien fou et de bien abominable, répondait \bname{Martin}. — Vous
+connaissez l’Angleterre; y est-on aussi fou qu’en France? — C’est une
+autre espèce de folie, dit \bname{Martin}. Vous savez que ces deux nations sont
+en guerre pour quelques arpents de neige vers le Canada, et qu’elles
+dépensent pour cette belle guerre beaucoup plus que tout le Canada ne
+vaut.
+De vous dire précisément s’il y a plus de gens à lier dans un
+pays que dans un autre, c’est ce que mes faibles lumières ne me
+permettent pas; je sais seulement qu’en général les gens que nous
+allons voir sont fort atrabilaires.»
+
+
+En causant ainsi ils abordèrent à Portsmouth; une multitude de peuple
+couvrait le rivage, et regardait attentivement un assez gros homme qui
+était à genoux, les yeux bandés, sur le tillac d’un des vaisseaux de la
+flotte; quatre soldats, postés vis-à-vis de cet homme, lui tirèrent
+chacun trois balles dans le crâne, le plus paisiblement du monde; et
+toute l’assemblée s’en retourna extrêmement satisfaite. «Qu’est-ce
+donc que tout ceci? dit \bname{Candide}; et quel démon exerce partout son
+empire?» Il demanda qui était ce gros homme qu’on venait de tuer en
+cérémonie.
+«C’est un amiral, lui répondit-on. — Et pourquoi tuer cet
+amiral? — C’est, lui dit-on, parce qu’il n’a pas fait tuer assez de monde;
+il a livré un combat à un amiral français, et on a trouvé qu’il n’était
+pas assez près de lui. — Mais, dit \bname{Candide}, l’amiral français était aussi
+loin de l’amiral anglais que celui-ci l’était de l’autre! — Cela est
+incontestable, lui répliqua-t-on; mais dans ce pays-ci il est bon de
+tuer de temps en temps un amiral pour encourager les autres.»
+
+
+\bname{Candide} fut si étourdi et si choqué de ce qu’il voyait et de ce qu’il
+entendait, qu’il ne voulut pas seulement mettre pied à terre, et qu’il
+fit son marché avec le patron hollandais (dût-il le voler comme celui
+de Surinam), pour le conduire sans délai à \bname{Venise}.
+
+Le patron fut prêt au bout de deux jours. On côtoya la France; on passa
+à la vue de Lisbonne, et \bname{Candide} frémit. On entra dans le détroit et
+dans la \bname{Méditerranée}, enfin on aborda à \bname{Venise}. «Dieu soit loué! dit
+\bname{Candide}, en embrassant \bname{Martin}; c’est ici que je reverrai la belle
+\bname{Cunégonde}. Je compte sur \bname{Cacambo} comme sur moi-même. Tout est bien,
+tout va bien, tout va le mieux qu’il soit possible.»
+
+
+\chapter{De \bname{Paquette}, et de frère Giroflée}
+
+
+\lettrine{D}{ès} qu’il fut à \bname{Venise}, il fit chercher \bname{Cacambo} dans tous les cabarets,
+dans tous les cafés, chez toutes les filles de joie, et ne le trouva
+point. Il envoyait tous les jours à la découverte de tous les vaisseaux
+et de toutes les barques: nulles nouvelles de \bname{Cacambo}. «Quoi! disait-il
+à \bname{Martin}, j’ai eu le temps de passer de Surinam à Bordeaux, d’aller de
+Bordeaux à Paris, de Paris à Dieppe, de Dieppe à Portsmouth, de côtoyer
+le Portugal et l’Espagne, de traverser toute la Méditerranée, de passer
+quelques mois à \bname{Venise}; et la belle \bname{Cunégonde} n’est point venue! Je
+n’ai rencontré au lieu d’elle qu’une drôlesse et un abbé périgourdin!
+\bname{Cunégonde} est morte, sans doute; je n’ai plus qu’à mourir. Ah! il
+valait mieux rester dans le paradis du Dorado que de revenir dans cette
+maudite Europe. Que vous avez raison, mon cher \bname{Martin}! tout n’est
+qu’illusion et calamité.»
+
+Il tomba dans une mélancolie noire, et ne prit aucune part à l’opéra
+\emph{alla moda}, ni aux autres divertissements du carnaval; pas une dame ne
+lui donna la moindre
+tentation. \bname{Martin} lui dit: «Vous êtes bien simple,
+en vérité, de vous figurer qu’un valet métis, qui a cinq ou six
+millions dans ses poches, ira chercher votre maîtresse au bout du
+monde, et vous l’amènera à \bname{Venise}. Il la prendra pour lui, s’il la
+trouve; s’il ne la trouve pas, il en prendra une autre: je vous
+conseille d’oublier votre valet \bname{Cacambo} et votre maîtresse \bname{Cunégonde}.»
+\bname{Martin} n’était pas consolant. La mélancolie de \bname{Candide} augmenta, et
+\bname{Martin} ne cessait de lui prouver qu’il y avait peu de vertu et peu de
+bonheur sur la terre; excepté peut-être dans Eldorado, où personne
+ne pouvait aller.
+
+
+
+En disputant sur cette matière importante, et en attendant \bname{Cunégonde},
+\bname{Candide} aperçut un jeune théatin dans la place Saint-Marc, qui tenait
+sous le bras une fille. Le théatin paraissait frais, potelé, vigoureux;
+ses yeux étaient brillants, son air assuré, sa mine haute, sa démarche
+fière. La fille était très jolie, et chantait; elle regardait
+amoureusement son théatin, et de temps en temps lui pinçait ses grosses
+joues. «Vous m’avouerez du moins, dit \bname{Candide} à \bname{Martin}, que ces gens-ci
+sont heureux. Je n’ai trouvé jusqu’à présent dans toute la terre
+habitable, excepté dans Eldorado, que des infortunés; mais pour cette
+fille et ce théatin, je gage que ce sont des créatures très heureuses.
+«Je gage que non, dit \bname{Martin}. — Il n’y a qu’à les prier à dîner, dit
+\bname{Candide}, et vous verrez si je me trompe.»
+
+Aussitôt il les aborde, il leur fait son compliment, et les invite à
+venir à son hôtellerie manger des macaronis, des perdrix de Lombardie,
+des œufs d’esturgeon, et à boire du vin de Montepulciano, du
+lacryma-christi, du chypre, et du samos. La demoiselle rougit, le
+théatin accepta la partie, et la fille le suivit en regardant \bname{Candide}
+avec des yeux de surprise et de confusion, qui furent obscurcis de
+quelques larmes. À peine fut-elle entrée dans la chambre de \bname{Candide},
+qu’elle lui dit: «Eh quoi! monsieur \bname{Candide} ne reconnaît plus \bname{Paquette}!»
+À ces mots \bname{Candide}, qui ne l’avait pas considérée jusque-là avec
+attention, parce qu’il n’était occupé que de \bname{Cunégonde}, lui dit: «Hélas!
+ma pauvre enfant, c’est donc vous qui avez mis le docteur \bname{Pangloss} dans
+le bel état où je l’ai vu?
+
+
+— Hélas! monsieur, c’est moi-même, dit \bname{Paquette}; je vois que vous êtes
+instruit de tout. J’ai su les malheurs
+épouvantables
+ arrivés à toute la
+maison de M\up{me} la baronne et à la belle \bname{Cunégonde}. Je vous jure que
+ma destinée n’a guère été moins triste. J’étais fort innocente quand
+vous m’avez vue. Un cordelier, qui était mon confesseur, me séduisit
+aisément. Les suites en furent affreuses; je fus obligée de sortir du
+château quelque temps après que M.~le baron vous eut renvoyé à grands
+coups de pied dans le derrière. Si un fameux médecin n’avait pas pris
+pitié de moi, j’étais morte. Je fus quelque temps par reconnaissance la
+maîtresse de ce médecin. Sa femme, qui était jalouse à la rage, me
+battait tous les jours impitoyablement; c’était une furie. Ce médecin
+était le plus laid de tous les hommes, et moi la plus malheureuse de
+toutes les créatures d’être battue continuellement pour un homme que je
+n’aimais pas. Vous savez, monsieur, combien il est dangereux pour une
+femme acariâtre d’être l’épouse d’un médecin. Celui-ci, outré des
+procédés de sa femme, lui donna un jour, pour la guérir d’un petit
+rhume, une médecine si efficace, qu’elle en mourut en deux heures de
+temps dans des convulsions horribles. Les parents de madame intentèrent
+à monsieur un procès criminel; il prit la fuite, et moi je fus mise en
+prison. Mon innocence ne m’aurait pas sauvée, si je n’avais été un peu
+jolie. Le juge m’élargit à condition qu’il succéderait au médecin. Je
+fus bientôt supplantée par une rivale, chassée sans récompense, et
+obligée de continuer ce métier abominable qui vous paraît si plaisant à
+vous autres hommes, et qui n’est pour nous qu’un abîme de misère.
+J’allai exercer la profession à \bname{Venise}. Ah! monsieur, si vous pouviez
+vous imaginer ce que c’est que d’être obligée de caresser
+indifféremment un vieux marchand, un avocat, un moine, un gondolier, un
+abbé; d’être exposée à toutes les insultes, à toutes les avanies;
+d’être souvent réduite à emprunter une jupe pour aller se la faire
+lever par un homme dégoûtant; d’être volée par l’un de ce qu’on a gagné
+avec l’autre; d’être rançonnée par les officiers de justice, et de
+n’avoir en perspective qu’une vieillesse affreuse, un hôpital, et un
+fumier, vous concluriez que je suis une des plus malheureuses créatures
+du monde.»
+
+\bname{Paquette} ouvrait ainsi son cœur au bon \bname{Candide}, dans un cabinet, en
+présence de \bname{Martin}, qui disait à \bname{Candide}: «Vous voyez que j’ai déjà
+gagné la moitié de la gageure.»
+
+
+Frère Giroflée était resté dans la salle à manger, et buvait un coup en
+attendant le dîner. «Mais, dit \bname{Candide} à \bname{Paquette}, vous aviez l’air si
+gai, si content, quand je vous ai rencontrée; vous chantiez, vous
+caressiez le théatin avec une complaisance naturelle; vous m’avez paru
+aussi heureuse que vous prétendez être infortunée. — Ah! monsieur,
+répondit \bname{Paquette}, c’est encore là une des misères du métier. J’ai été
+hier volée et battue par un officier, et il faut aujourd’hui que je
+paraisse de bonne humeur pour plaire à un moine.»
+
+\bname{Candide} n’en voulut pas davantage; il avoua que \bname{Martin} avait raison. On
+se mit à table avec \bname{Paquette} et le théatin; le repas fut assez amusant,
+et sur la fin on se parla avec quelque confiance. «Mon père, dit \bname{Candide}
+au moine, vous me paraissez jouir d’une destinée que tout le monde doit
+envier; la fleur de la santé brille sur votre visage, votre physionomie
+annonce le bonheur; vous avez une très jolie fille pour votre
+récréation, et vous paraissez très content de votre état de théatin.
+
+
+— Ma foi, monsieur, dit frère Giroflée, je voudrais que tous les théatins
+fussent au fond de la mer. J’ai été tenté cent fois de mettre le feu au
+couvent, et d’aller me faire turc. Mes parents me forcèrent, à l’âge de
+quinze ans, d’endosser cette détestable robe, pour laisser plus de
+fortune à un maudit frère aîné, que Dieu confonde! La jalousie, la
+discorde, la rage, habitent dans le couvent. Il est vrai que j’ai
+prêché quelques mauvais sermons qui m’ont valu un peu d’argent dont le
+prieur me vole la moitié; le reste me sert à entretenir des filles:
+mais quand je rentre le soir dans le monastère, je suis prêt à me
+casser la tête contre les murs du dortoir; et tous mes confrères sont
+dans le même cas.»
+
+\bname{Martin} se tournant vers \bname{Candide} avec son sang froid ordinaire: «Eh bien!
+lui dit-il, n’ai-je pas gagné la gageure tout entière?» \bname{Candide} donna
+deux mille piastres à \bname{Paquette}, et mille piastres à frère Giroflée. «Je
+vous réponds, dit-il, qu’avec cela ils seront heureux. — Je n’en crois
+rien du tout, dit \bname{Martin}; vous les rendrez peut-être avec ces piastres
+beaucoup plus malheureux encore. — Il en sera ce qui pourra, dit \bname{Candide}:
+mais une chose me console, je vois qu’on retrouve souvent les gens
+qu’on ne croyait jamais retrouver; il se pourra bien faire qu’ayant
+rencontré mon mouton rouge et \bname{Paquette}, je rencontre aussi \bname{Cunégonde}.
+— Je souhaite, dit \bname{Martin}, qu’elle fasse un jour votre bonheur; mais
+c’est de quoi je doute fort. — Vous êtes bien dur, dit \bname{Candide}. — C’est que
+j’ai vécu, dit \bname{Martin}.
+
+— Mais regardez ces gondoliers, dit \bname{Candide}: ne
+chantent-ils pas sans cesse? — Vous ne les voyez pas dans leur ménage,
+avec leurs femmes et leurs marmots d’enfants, dit \bname{Martin}. Le doge a ses
+chagrins, les gondoliers ont les leurs. Il est vrai qu’à tout prendre
+le sort d’un gondolier est préférable à celui d’un doge; mais je crois
+la différence si médiocre, que cela ne vaut pas la peine d’être
+examiné.
+
+— On parle, dit \bname{Candide}, du sénateur \bname{Pococurante}, qui demeure dans ce
+beau palais sur la Brenta, et qui reçoit assez bien les étrangers. On
+prétend que c’est un homme qui n’a jamais eu de chagrin. — Je voudrais
+voir une espèce si rare, dit \bname{Martin}.» \bname{Candide} aussitôt fit demander au
+seigneur \bname{Pococurante} la permission de venir le voir le lendemain.
+
+
+
+\chapter[Visite chez le seigneur \bname{Pococurante}…]{Visite chez le seigneur \bname{Pococurante}, noble vénitien}
+
+
+\lettrine{C}{andide} et \bname{Martin} allèrent en gondole sur la Brenta, et arrivèrent au
+palais du noble \bname{Pococurante}. Les jardins étaient bien entendus, et
+ornés de belles statues de marbre; le palais d’une belle architecture.
+Le maître du logis, homme de soixante ans, fort riche, reçut très
+poliment les deux curieux, mais avec très peu d’empressement, ce qui
+déconcerta \bname{Candide}, et ne déplut point à \bname{Martin}.
+
+
+ D’abord deux filles jolies et proprement mises servirent du chocolat,
+qu’elles firent très bien mousser. \bname{Candide} ne put s’empêcher de les
+louer sur leur beauté, sur leur bonne grâce, et sur leur adresse. «Ce
+sont d’assez bonnes créatures, dit le sénateur \bname{Pococurante}; je les fais
+quelquefois coucher dans mon lit; car je suis bien las des dames de la
+ville, de leurs coquetteries, de leurs jalousies, de leurs querelles,
+de leurs humeurs, de leurs petitesses, de leur orgueil, de leurs
+sottises, et des sonnets qu’il faut faire ou commander pour elles;
+mais, après tout, ces deux filles commencent fort à m’ennuyer.»
+
+
+\bname{Candide}, après le déjeuner, se promenant dans une longue galerie, fut
+surpris de la beauté des tableaux. Il demanda de quel maître étaient
+les deux premiers. «Ils sont de \bname{Raphaël}, dit le sénateur; je les achetai
+fort cher par vanité, il y a quelques années; on dit que c’est ce qu’il
+y a de plus beau en Italie, mais ils ne me plaisent point du tout: la
+couleur en est très rembrunie, les figures ne sont pas assez arrondies,
+et ne sortent point assez; les draperies ne ressemblent en rien à une
+étoffe: en un mot, quoi qu’on en dise, je ne trouve point là une
+imitation vraie de la nature. Je n’aimerai un tableau que quand je
+croirai voir la nature elle-même: il n’y en a point de cette espèce.
+J’ai beaucoup de tableaux, mais je ne les regarde plus.»
+
+\bname{Pococurante}, en attendant le dîner, se fit donner un concerto. \bname{Candide}
+trouva la musique délicieuse. «Ce bruit, dit \bname{Pococurante}, peut amuser
+une demi-heure; mais s’il dure plus long-temps, il fatigue tout le
+monde, quoique personne n’ose l’avouer. La musique aujourd’hui n’est
+plus que l’art d’exécuter des choses difficiles, et ce qui n’est que
+difficile ne plaît point à la longue.
+
+«J’aimerais peut être mieux l’opéra, si on n’avait pas trouvé le secret
+d’en faire un monstre qui me révolte. Ira voir qui voudra de mauvaises
+tragédies en musique, où les scènes ne sont faites que pour amener très
+mal à propos deux ou trois chansons ridicules qui font valoir le gosier
+d’une actrice; se pâmera de plaisir qui voudra ou qui pourra, en voyant
+un châtré fredonner le rôle de \bname{César} et de \bname{Caton}, et se promener d’un
+air gauche sur des planches: pour moi, il y a long-temps que j’ai
+renoncé à ces pauvretés qui font aujourd’hui la gloire de l’Italie, et
+que des souverains paient si chèrement.» \bname{Candide} disputa un peu, mais
+avec discrétion. \bname{Martin} fut entièrement de l’avis du sénateur.
+
+
+On se mit à table; et, après un excellent dîner, on entra dans la
+bibliothèque. \bname{Candide}, en voyant un Homère magnifiquement relié, loua
+l’illustrissime sur son bon goût. «Voilà, dit-il, un livre qui faisait
+les délices du grand \bname{Pangloss}, le meilleur philosophe de l’Allemagne.
+— Il ne fait pas les miennes, dit froidement \bname{Pococurante}: on me fit
+accroire autrefois que j’avais du plaisir en le lisant; mais cette
+répétition continuelle de combats qui se ressemblent tous, ces dieux
+qui agissent toujours pour ne rien faire de décisif, cette Hélène qui
+est le sujet de la guerre, et qui à peine est une actrice de la pièce;
+cette Troie qu’on assiège et qu’on ne prend point; tout cela me causait
+le plus mortel ennui. J’ai demandé quelquefois à des savants s’ils
+s’ennuyaient autant que moi à cette lecture: tous les gens sincères
+m’ont avoué que le livre leur tombait des mains, mais qu’il fallait
+toujours l’avoir dans sa bibliothèque, comme un monument de
+l’antiquité, et comme ces médailles rouillées qui ne peuvent être de
+commerce.
+
+— Votre excellence ne pense pas ainsi de Virgile? dit \bname{Candide}. — Je
+conviens, dit \bname{Pococurante}, que le second, le quatrième, et le sixième
+livre de son Énéide, sont excellents; mais pour son pieux Énée, et le
+fort Cloanthe, et l’ami Achates, et le petit Ascanius, et l’imbécile
+roi \bname{Latinus}, et la bourgeoise Amata, et l’insipide Lavinia, je ne crois
+pas qu’il y ait rien de si froid et de plus désagréable. J’aime mieux
+le Tasse et les contes à dormir debout de l’Arioste.
+
+
+— Oserais-je vous demander, monsieur, dit \bname{Candide}, si vous n’avez pas un
+grand plaisir à lire Horace? — Il y a des maximes, dit \bname{Pococurante}, dont
+un homme du monde peut faire son profit, et qui, étant resserrées dans
+des vers énergiques, se gravent plus aisément dans la mémoire: mais je
+me soucie fort peu de son voyage à Brindes, et de sa description d’un
+mauvais dîner, et de la querelle de crocheteurs entre je ne sais quel
+Pupilus dont les paroles, dit-il, \emph{étaient pleines de pus}, et un
+autre dont les paroles \emph{étaient du vinaigre}. Je n’ai lu qu’avec un
+extrême dégoût ses vers grossiers contre des vieilles et contre des
+sorcières; et je ne vois pas quel mérite il peut y avoir à dire à son
+ami Mæcenas que, s’il est mis par lui au rang des poètes lyriques, il
+frappera les astres de son front sublime. Les sots admirent tout
+dans un auteur estimé. Je ne lis que pour moi; je n’aime que ce qui est
+à mon usage.» \bname{Candide}, qui avait été élevé à ne jamais juger de rien par
+lui-même, était fort étonné de ce qu’il entendait; et \bname{Martin} trouvait
+la façon de penser de \bname{Pococurante} assez raisonnable.
+
+
+\looseness=1
+«Oh! voici un Cicéron, dit \bname{Candide}: pour ce grand homme-là, je pense que
+vous ne vous lassez point de le lire.
+%
+— Je ne le lis jamais, répondit le
+Vénitien. Que m’importe qu’il ait plaidé pour Rabirius ou pour
+Cluentius? J’ai bien assez des procès que je juge; je me serais mieux
+accommodé de ses œuvres philosophiques; mais quand j’ai vu qu’il
+doutait de tout, j’ai conclu que j’en savais autant que lui, et que je
+n’avais besoin de personne pour être ignorant.
+
+
+
+— Ah! voilà quatre-vingts volumes de recueils d’une académie des
+sciences, s’écria \bname{Martin}; il se peut qu’il y ait là du bon. — Il y en
+aurait, dit \bname{Pococurante}, si un seul des auteurs de ces fatras avait
+inventé seulement l’art de faire des épingles; mais il n’y a dans tous
+ces livres que de vains systèmes, et pas une seule chose utile.
+
+— Que de pièces de théâtre je vois là, dit \bname{Candide}, en italien, en
+espagnol, en français! — Oui, dit le sénateur, il y en a trois mille, et
+pas trois douzaines de bonnes. Pour ces recueils de sermons, qui tous
+ensemble ne valent pas une page de Sénèque, et tous ces gros volumes de
+théologie, vous pensez bien que je ne les ouvre jamais, ni moi ni
+personne.»
+
+
+
+\bname{Martin} aperçut des rayons chargés de livres anglais. «Je crois, dit-il,
+qu’un républicain doit se plaire à la plupart de ces ouvrages écrits si
+librement. — Oui, répondit \bname{Pococurante}, il est beau d’écrire ce qu’on
+pense; c’est le privilège de l’homme. Dans toute notre Italie, on
+n’écrit que ce qu’on ne pense pas; ceux qui habitent la patrie des
+Césars et des \bname{Antonins} n’osent avoir une idée sans la permission d’un
+jacobin. Je serais content de la liberté qui inspire les génies
+anglais, si la passion et l’esprit de parti ne corrompaient pas tout ce
+que cette précieuse liberté a d’estimable.»
+
+\looseness=1
+\bname{Candide} apercevant un Milton, lui demanda s’il ne regardait pas cet
+auteur comme un grand homme. «Qui? dit \bname{Pococurante}, ce barbare, qui fait
+un long commentaire du premier chapitre de la Genèse, en dix livres de
+vers durs? ce grossier imitateur des Grecs, qui défigure la création,
+et qui, tandis que Moïse représente l’Être éternel produisant le monde
+par la parole, fait prendre un grand compas par le Messiah dans une
+armoire du ciel pour tracer son ouvrage? Moi, j’estimerais celui qui a
+gâté l’enfer et le diable du Tasse; qui déguise Lucifer tantôt en
+crapaud, tantôt en pygmée; qui lui fait rebattre cent fois les mêmes
+discours; qui le fait disputer sur la théologie; qui, en imitant
+sérieusement l’invention comique des armes à feu de l’Arioste, fait
+tirer le canon dans le ciel par les diables? Ni moi, ni personne en
+Italie n’a pu se plaire à toutes ces tristes extravagances. Le mariage
+du péché et de la mort et les couleuvres dont le péché accouche, font
+vomir tout homme qui a le goût un peu délicat; et sa longue description
+d’un hôpital n’est bonne que pour un fossoyeur. Ce poème obscur,
+bizarre, et dégoûtant, fut méprisé à sa naissance; je le traite
+aujourd’hui comme il fut traité dans sa patrie par les
+contemporains. Au reste je dis ce que je pense, et je me soucie fort
+peu que les autres pensent comme moi.» \bname{Candide} était affligé de ces
+discours; il respectait Homère, il aimait un peu Milton. «Hélas! dit-il
+tout bas à \bname{Martin}, j’ai bien peur que cet homme-ci n’ait un souverain
+mépris pour nos poètes allemands. — Il n’y aurait pas grand mal à cela,
+dit \bname{Martin}. — Oh! quel homme supérieur! disait encore \bname{Candide} entre ses
+dents, quel grand génie que ce \bname{Pococurante}! rien ne peut lui plaire.
+
+
+
+Après avoir fait ainsi la revue de tous les livres, ils descendirent
+dans le jardin. \bname{Candide} en loua toutes les beautés. «Je ne sais rien de
+si mauvais goût, dit le maître; nous n’avons ici que des colifichets:
+mais je vais dès demain en faire planter un d’un dessin plus noble.»
+
+
+Quand les deux curieux eurent pris congé de son excellence: «Or çà, dit
+\bname{Candide} à \bname{Martin}, vous conviendrez que voilà le plus heureux de tous
+les hommes, car il est au-dessus de tout ce qu’il possède. — Ne
+voyez-vous pas, dit \bname{Martin}, qu’il est dégoûté de tout ce qu’il possède?
+Platon a dit, il y a long-temps, que les meilleurs estomacs ne sont pas
+ceux qui rebutent tous les aliments. — Mais, dit \bname{Candide}, n’y a-t-il pas
+du plaisir à tout critiquer, à sentir des défauts où les autres hommes
+croient voir des
+beautés? — C’est-à-dire, reprit \bname{Martin}, qu’il y a du
+plaisir à n’avoir pas de plaisir? — Oh bien! dit \bname{Candide}, il n’y a donc
+d’heureux que moi, quand je reverrai M\up{lle}~\bname{Cunégonde}. — C’est
+toujours bien fait d’espérer, dit \bname{Martin}.
+
+Cependant les jours, les semaines, s’écoulaient; \bname{Cacambo} ne revenait
+point, et \bname{Candide} était si abîmé dans sa douleur, qu’il ne fit pas même
+réflexion que \bname{Paquette} et frère Giroflée n’étaient pas venus seulement
+le remercier.
+
+
+\chapter[D’un souper que Candide et Martin firent…]{D’un souper que \bname{Candide} et \bname{Martin} firent\\avec six étrangers, et qui ils
+étaient}
+
+
+\lettrine{U}{n soir} que \bname{Candide}, suivi de \bname{Martin}, allait se mettre à table avec les
+étrangers qui logeaient dans la même hôtellerie, un homme à visage
+couleur de suie l’aborda par derrière, et, le prenant par le bras, lui
+dit: «Soyez prêt à partir avec nous, n’y manquez pas.» Il se retourne, et
+voit \bname{Cacambo}. Il n’y avait que la vue de \bname{Cunégonde} qui pût l’étonner et
+lui plaire davantage. Il fut sur le point de devenir fou de joie. Il
+embrasse son cher ami. «\bname{Cunégonde} est ici, sans doute? où est-elle?
+Mène-moi vers elle, que je meure de joie avec elle. — \bname{Cunégonde} n’est
+point ici, dit \bname{Cacambo}, elle est à Constantinople. — Ah ciel! à
+Constantinople! mais fût-elle à la Chine, j’y vole, partons. — Nous
+partirons après souper, reprit \bname{Cacambo}; je ne peux vous en dire
+davantage; je suis esclave, mon maître m’attend; il faut que j’aille le
+servir à table: ne dites mot, soupez, et tenez-vous prêt.»
+
+\bname{Candide}, partagé entre la joie et la douleur, charmé d’avoir revu son
+agent fidèle, étonné de le voir esclave, plein de l’idée de retrouver
+sa maîtresse, le cœur agité, l’esprit bouleversé, se mit à table avec
+\bname{Martin}, qui voyait de sang froid toutes ces aventures, et avec six
+étrangers, qui étaient venus passer le carnaval à \bname{Venise}.
+
+
+\bname{Cacambo}, qui versait à boire à l’un de ces six étrangers, s’approcha de
+l’oreille de son maître, sur la fin du repas, et lui dit: «Sire, Votre
+Majesté partira quand elle voudra, le vaisseau est prêt.» Ayant dit ces
+mots, il sortit. Les convives étonnés se regardaient sans proférer une
+seule parole, lorsqu’un autre domestique s’approchant de son maître,
+lui dit: «Sire, la chaise de Votre Majesté est à Padoue, et la barque
+est prête.» Le maître fit un signe, et le domestique partit. Tous les
+convives se regardèrent encore, et la surprise commune redoubla. Un
+troisième valet s’approchant aussi d’un troisième étranger, lui dit:
+«Sire, croyez-moi, Votre Majesté ne doit pas rester ici plus longtemps,
+je vais tout préparer»; et aussitôt il disparut.
+
+\bname{Candide} et \bname{Martin} ne doutèrent pas alors que ce ne fût une mascarade du
+carnaval. Un quatrième domestique dit au quatrième maître: «Votre
+Majesté partira quand elle voudra», et sortit comme les autres. Le
+cinquième valet en dit autant au cinquième maître. Mais le sixième
+valet parla différemment au sixième étranger qui était auprès de
+\bname{Candide}; il lui dit: «Ma foi, sire, on ne veut plus faire crédit à Votre
+Majesté ni à moi non plus, et nous pourrions bien être coffrés cette
+nuit vous et moi; je vais pourvoir à mes affaires: adieu.»
+
+Tous les domestiques ayant disparu, les six étrangers, \bname{Candide}, et
+\bname{Martin}, demeurèrent dans un profond silence. Enfin \bname{Candide} le rompit:
+«Messieurs, dit-il, voilà une singulière plaisanterie. Pourquoi
+êtes-vous tous rois? pour moi, je vous avoue que ni moi ni \bname{Martin} nous
+ne le sommes.»
+
+Le maître de \bname{Cacambo} prit alors gravement la parole, et dit en italien:
+«Je ne suis point plaisant, je m’appelle Achmet III; j’ai été
+grand-sultan plusieurs années; je détrônai mon frère; mon neveu m’a
+détrôné; on a coupé le cou à mes vizirs; j’achève ma vie dans le vieux
+sérail; mon neveu le grand-sultan Mahmoud me permet de voyager
+quelquefois pour ma santé; et je suis venu passer le carnaval à \bname{Venise}.»
+
+Un jeune homme qui était auprès d’Achmet parla après lui, et dit: «Je
+m’appelle Ivan; j’ai été empereur de toutes les Russies; j’ai été
+détrôné au berceau; mon père et ma mère ont été enfermés; on m’a élevé
+en prison; j’ai quelquefois la permission de voyager, accompagné de
+ceux qui me gardent; et je suis venu passer le carnaval à \bname{Venise}.»
+
+
+
+Le troisième dit: «Je suis Charles-Édouard, roi \bname{d’Angleterre};
+ mon
+père m’a cédé ses droits au royaume; j’ai combattu pour les soutenir;
+on a arraché le cœur à huit cents de mes partisans, et on leur en a
+battu les joues; j’ai été mis en prison; je vais à Rome faire une
+visite au roi mon père, détrôné ainsi que moi et mon grand-père; et je
+suis venu passer le carnaval à \bname{Venise}.»
+
+
+
+Le quatrième prit alors la parole et dit: «Je suis roi des Polaques; le
+sort de la guerre m’a privé de mes états héréditaires; mon père a
+éprouvé les mêmes revers; je me résigne à la Providence comme le sultan
+Achmet, l’empereur Ivan, et le roi Charles-Édouard, à qui Dieu donne
+une longue vie; et je suis venu passer le carnaval à \bname{Venise}.»
+
+
+
+Le cinquième dit: «Je suis aussi roi des Polaques; j’ai perdu mon
+royaume deux fois; mais la Providence m’a donné un autre état dans
+lequel j’ai fait plus de bien que tous les rois des Sarmates ensemble
+n’en ont jamais pu faire sur les bords de la Vistule. Je me résigne
+aussi à la Providence; et je suis venu passer le carnaval à \bname{Venise}.»
+
+
+
+Il restait au sixième monarque à parler. «Messieurs, dit-il, je ne suis
+pas si grand seigneur que vous; mais enfin j’ai été roi tout comme un
+autre; je suis Théodore; on m’a élu roi en Corse; on m’a appelé
+\textit{Votre Majesté}, et à présent à peine m’appelle-t-on \textit{monsieur}; j’ai
+fait frapper de la monnaie, et je ne possède pas un denier; j’ai eu
+deux secrétaires d’état, et j’ai à peine un valet; je me suis vu sur un
+trône, et j’ai longtemps été à Londres en prison sur la paille; j’ai
+bien peur d’être traité de même ici, quoique je sois venu, comme Vos
+Majestés, passer le carnaval à \bname{Venise}.»
+
+
+Les cinq autres rois écoutèrent ce discours avec une noble compassion.
+Chacun d’eux donna vingt sequins au roi \bname{Théodore} pour avoir des habits
+et des chemises; \bname{Candide} lui fit présent d’un diamant de deux mille
+sequins. «Quel est donc, disaient les cinq rois, cet homme qui est en
+état de donner cent fois autant que chacun de nous, et qui le donne?
+Êtes-vous roi aussi, monsieur? — Non, messieurs, et n’en ai nulle envie.»
+
+Dans l’instant qu’on sortait de table, il arriva dans la même
+hôtellerie quatre altesses sérénissimes qui avaient aussi perdu leurs
+états par le sort de la guerre, et qui venaient passer le reste du
+carnaval à \bname{Venise}; mais \bname{Candide} ne prit pas seulement garde à ces
+nouveaux venus. Il n’était occupé que d’aller trouver sa chère
+\bname{Cunégonde} à \bname{Constantinople}.
+
+
+
+\chapter{Voyage de \bname{Candide} à Constantinople}
+
+
+\lettrine{L}{e fidèle} \bname{Cacambo} avait déjà obtenu du patron turc qui allait
+reconduire le sultan Achmet à Constantinople qu’il recevrait \bname{Candide} et
+\bname{Martin} sur son bord. L’un et l’autre s’y rendirent après s’être
+prosternés devant Sa misérable Hautesse. \bname{Candide}, chemin faisant, disait
+à \bname{Martin}: «Voilà pourtant six rois détrônés avec qui nous avons soupé!
+et encore dans ces six rois il y en a un à qui j’ai fait l’aumône.
+Peut-être y a-t-il beaucoup d’autres princes plus infortunés. Pour moi,
+je n’ai perdu que cent moutons, et je vole dans les bras de \bname{Cunégonde}.
+Mon cher \bname{Martin}, encore une fois, \bname{Pangloss} avait raison, tout est bien.
+— Je le souhaite, dit \bname{Martin}. — Mais, dit \bname{Candide}, voilà une aventure bien
+peu vraisemblable que nous avons eue à \bname{Venise}. On n’avait jamais vu ni
+ouï conter que six rois détrônés soupassent ensemble au cabaret. — Cela
+n’est pas plus extraordinaire, dit \bname{Martin}, que la plupart des choses
+qui nous sont arrivées. Il est très commun que des rois soient
+détrônés; et à l’égard de l’honneur que nous avons eu de souper avec
+eux, c’est une bagatelle qui ne mérite pas notre attention.»
+% Qu’importe avec qui l’on soupe, pourvu qu’on fasse bonne chère?»
+
+À peine \bname{Candide} fut-il dans le vaisseau, qu’il sauta au cou de son
+ancien valet, de son ami \bname{Cacambo}. «Eh bien! lui dit-il, que fait
+\bname{Cunégonde}? est-elle toujours un prodige de beauté? m’aime-t-elle
+toujours? comment se porte-t-elle? Tu lui as, sans doute, acheté un
+palais à Constantinople?
+
+
+
+— Mon cher maître, répondit \bname{Cacambo}, \bname{Cunégonde} lave les écuelles sur le
+bord de la Propontide, chez un prince qui a très peu d’écuelles; elle
+est esclave dans la maison d’un ancien souverain, nommé \bname{Ragotski}, à
+qui le Grand-Turc donne trois écus par jour dans son asile; mais, ce
+qui est bien plus triste, c’est qu’elle a perdu sa beauté, et qu’elle
+est devenue horriblement laide. — Ah! belle ou laide, dit \bname{Candide}, je
+suis honnête homme, et mon devoir est de l’aimer toujours. Mais comment
+peut-elle être réduite à un état si abject avec les cinq ou six
+millions que tu avais emportés? — Bon, dit \bname{Cacambo}, ne m’en a-t-il pas
+fallu donner deux au senor don \bname{Fernando} d’Ibaraa, y Figueora, y
+Mascarenès, y \bname{Lampourdos}, y Souza, gouverneur de \bname{Buenos} Aires, pour
+avoir la permission de reprendre M\up{lle}~\bname{Cunégonde}? et un pirate
+ne nous a-t-il pas bravement dépouillés de tout le reste? Ce pirate ne
+nous a-t-il pas menés au cap de Matapan, à Milo, à Nicarie, à Samos, à
+Petra, aux \bname{Dardanelles}, à Marmara, à \bname{Scutari}? \bname{Cunégonde} et la vieille
+servent chez ce prince dont je vous ai parlé, et moi je suis esclave du
+sultan détrôné. — Que d’épouvantables calamités enchaînées les unes aux
+autres! dit \bname{Candide}. Mais, après tout, j’ai encore quelques diamants;
+je délivrerai aisément \bname{Cunégonde}. C’est bien dommage qu’elle soit
+devenue si laide.»
+
+
+
+Ensuite, se tournant vers \bname{Martin}: «Que pensez-vous, dit-il, qui soit le
+plus à plaindre, de l’empereur Achmet, de l’empereur Ivan, du roi
+Charles-Édouard, ou de moi? — Je n’en sais rien, dit \bname{Martin}; il faudrait
+que je fusse dans vos cœurs pour le savoir. — Ah! dit \bname{Candide}, si
+\bname{Pangloss} était ici, il le saurait, et nous l’apprendrait. — Je ne sais,
+dit \bname{Martin}, avec quelles balances votre \bname{Pangloss} aurait pu peser les
+infortunes des hommes, et apprécier leurs douleurs. Tout ce que je
+présume c’est qu’il y a des millions d’hommes sur la terre cent fois
+plus à plaindre que le roi Charles-Édouard, l’empereur Ivan, et le
+sultan Achmet. — Cela pourrait bien être», dit \bname{Candide}.
+
+On arriva en peu de jours sur le canal de la mer Noire. \bname{Candide}
+commença par racheter \bname{Cacambo} fort cher; et, sans perdre de temps, il
+se jeta dans une galère, avec ses compagnons, pour aller sur le rivage
+de la Propontide chercher \bname{Cunégonde}, quelque laide qu’elle pût être.
+
+
+Il y avait dans la chiourme deux forçats qui ramaient fort mal, et à
+qui le levanti patron appliquait de temps en temps quelques coups de
+nerf de bœuf sur leurs épaules nues; \bname{Candide}, par un mouvement
+naturel, les regarda plus attentivement que les autres galériens, et
+s’approcha d’eux avec pitié. Quelques traits de leurs visages défigurés
+lui parurent avoir un peu de ressemblance avec \bname{Pangloss} et avec ce
+malheureux jésuite, ce baron, ce frère de M\up{lle}~\bname{Cunégonde}. Cette
+idée l’émut et l’attrista. Il les considéra encore plus attentivement.
+«En vérité, dit-il à \bname{Cacambo}, si je n’avais pas vu pendre maître
+\bname{Pangloss}, et si je n’avais pas eu le malheur de tuer le baron, je
+croirais que ce sont eux qui rament dans cette galère.»
+
+
+Au nom du baron et de \bname{Pangloss} les deux forçats poussèrent un grand
+cri, s’arrêtèrent sur leur banc, et laissèrent tomber leurs rames. Le
+levanti patron accourait sur eux, et les coups de nerf de bœuf
+\bname{redoublaient}. «Arrêtez! arrêtez! seigneur, s’écria \bname{Candide}; je vous
+donnerai tant d’argent que vous voudrez. — Quoi! c’est \bname{Candide}! disait
+l’un des forçats; — quoi! c’est \bname{Candide}! disait l’autre. — Est-ce un songe?
+dit \bname{Candide}; veillé-je? suis-je dans cette galère? Est-ce là M.
+le baron, que j’ai tué? est-ce là maître \bname{Pangloss}, que j’ai vu pendre?
+
+
+— C’est nous-mêmes, c’est nous-mêmes, répondaient-ils. — Quoi! c’est là ce
+grand philosophe? disait \bname{Martin}. — Eh! monsieur le levanti patron, dit
+\bname{Candide}, combien voulez-vous d’argent pour la rançon de M. de
+Thunder-ten-tronckh, un des premiers barons de l’empire, et de M.~\bname{Pangloss}, le plus profond métaphysicien d’Allemagne? — Chien de chrétien,
+répondit le levanti patron, puisque ces deux chiens de forçats
+chrétiens sont des barons et des métaphysiciens, ce qui est sans doute
+une grande dignité dans leur pays, tu m’en donneras cinquante mille
+sequins. — Vous les aurez, monsieur; ramenez-moi comme un éclair à
+Constantinople, et vous serez payé sur-le-champ. Mais non, menez-moi
+chez M\up{lle}~\bname{Cunégonde}.» Le levanti patron, sur la première offre
+de \bname{Candide}, avait déjà tourné la proue vers la ville, et il faisait
+ramer plus vite qu’un oiseau ne fend les airs.
+
+\bname{Candide} embrassa cent fois le baron et \bname{Pangloss}. «Et comment ne vous
+ai-je pas tué, mon cher baron? et mon cher \bname{Pangloss}, comment êtes-vous
+en vie, après avoir été pendu? et pourquoi êtes-vous tous deux aux
+galères en Turquie? — Est-il bien vrai que ma chère sœur soit dans ce
+pays? disait le baron. — Oui, répondait \bname{Cacambo}. — Je revois donc mon cher
+\bname{Candide}! s’écriait \bname{Pangloss}.» \bname{Candide} leur présentait \bname{Martin} et \bname{Cacambo}.
+Ils s’embrassaient tous; ils parlaient tous à-la-fois. La galère
+volait, ils étaient déjà dans le port. On fit venir un Juif, à qui
+\bname{Candide} vendit pour cinquante mille sequins un diamant de la valeur de
+cent mille, et qui lui jura par Abraham qu’il n’en pouvait donner
+davantage. Il paya incontinent la rançon du baron et de \bname{Pangloss}.
+Celui-ci se jeta aux pieds de son libérateur, et les baigna de larmes;
+l’autre le remercia par un signe de tête, et lui promit de lui rendre
+cet argent à la première occasion. «Mais est-il bien possible que ma
+sœur soit en Turquie? disait-il. — Rien n’est si possible, reprit
+\bname{Cacambo}, puisqu’elle écure la vaisselle chez un prince de \bname{Transylvanie}.»
+On fit aussitôt venir deux Juifs; \bname{Candide} vendit encore des diamants;
+et ils repartirent tous dans une autre galère pour aller délivrer
+\bname{Cunégonde}.
+
+
+\chapter[Ce qui arriva à Candide, à Cunégonde…]{Ce qui arriva à \bname{Candide}, à \bname{Cunégonde},\\à \bname{Pangloss}, à \bname{Martin}, etc.}
+
+
+\lettrine[findent=1pt,ante=«]{P}{ardon}, encore une fois, dit \bname{Candide} au baron; pardon, mon Révérend
+Père, de vous avoir donné un grand coup d’épée au travers du corps.
+— N’en parlons plus, dit le baron; je fus un peu trop vif, je l’avoue;
+mais puisque vous voulez savoir par quel hasard vous m’avez vu aux
+galères, je vous dirai qu’après avoir été guéri de ma blessure par le
+frère apothicaire du collège, je fus attaqué et enlevé par un parti
+espagnol; on me mit en prison à \bname{Buenos} Aires dans le temps que ma sœur
+venait d’en partir. Je demandai à retourner à Rome auprès du père
+général. Je fus nommé pour aller servir d’aumônier à Constantinople
+auprès de M. l’ambassadeur de France. Il n’y avait pas huit jours
+que j’étais entré en fonction, quand je trouvai sur le soir un jeune
+icoglan très bien fait. Il faisait fort chaud: le jeune homme voulut se
+baigner; je pris cette occasion de me baigner aussi. Je ne savais pas
+que ce fût un crime capital pour un chrétien d’être trouvé tout nu avec
+un jeune musulman. Un cadi me fit donner cent coups de bâton sous la
+plante des pieds, et me condamna aux galères. Je ne crois pas qu’on ait
+fait une plus horrible injustice. Mais je voudrais bien savoir pourquoi
+ma sœur est dans la cuisine d’un souverain de \bname{Transylvanie} réfugié
+chez les Turcs.
+
+
+— Mais vous, mon cher \bname{Pangloss}, dit \bname{Candide}, comment se peut-il que je
+vous revoie? — Il est vrai, dit \bname{Pangloss}, que vous m’avez vu pendre; je
+devais naturellement être brûlé mais vous vous souvenez qu’il plut à
+verse lorsqu’on allait me cuire: l’orage fut si violent qu’on désespéra
+d’allumer le feu; je fus pendu, parce qu’on ne put mieux faire: un
+chirurgien acheta mon corps, m’emporta chez lui, et me disséqua. Il me
+fit d’abord une incision cruciale depuis le nombril jusqu’à la
+clavicule. On ne pouvait pas avoir été plus mal pendu que je l’avais
+été. L’exécuteur des hautes œuvres de la sainte inquisition, lequel
+était sous-diacre, brûlait à la vérité les gens à merveille, mais il
+n’était pas accoutumé à pendre: la corde était mouillée et glissa mal,
+elle fut mal nouée; enfin je respirais encore: l’incision cruciale me
+fit jeter un si grand cri, que mon chirurgien tomba à la renverse; et
+croyant qu’il disséquait le diable, il s’enfuit en mourant de peur, et
+tomba encore sur l’escalier en fuyant. Sa femme accourut au bruit d’un
+cabinet voisin: elle me vit sur la table étendu avec mon incision
+cruciale; elle eut encore plus de peur que son mari, s’enfuit, et tomba
+sur lui. Quand ils furent un peu revenus à eux, j’entendis la
+chirurgienne qui disait au chirurgien: \frquote{\localleftbox{« }Mon bon, de quoi vous
+avisez-vous aussi de disséquer un hérétique? ne savez-vous pas que le diable est toujours dans le corps de ces gens-là? je vais vite chercher un prêtre pour l’exorciser.}\localleftbox{}
+Je frémis à ce propos, et je ramassai le
+peu de forces qui me restaient pour crier: «Ayez pitié de moi!» Enfin le
+barbier portugais s’enhardit: il recousit ma peau; sa femme même eut
+soin de moi; je fus sur pied au bout de quinze jours. Le barbier me
+trouva une condition, et me fit laquais d’un chevalier de Malte qui
+allait à \bname{Venise}: mais mon maître n’ayant pas de quoi me payer, je me
+mis au service d’un marchand vénitien, et je le suivis à
+Constantinople.
+
+
+«Un jour il me prit fantaisie d’entrer dans une mosquée; il n’y avait
+qu’un vieil iman et une jeune dévote très jolie qui disait ses
+patenôtres; sa gorge était toute découverte: elle avait entre ses deux
+tétons un beau bouquet de tulipes, de roses, d’anémones, de renoncules,
+d’hyacinthes, et d’oreilles d’ours: elle laissa tomber son
+bouquet; je
+le ramassai, et je le lui remis avec un empressement très respectueux.
+Je fus si longtemps à le lui remettre, que l’iman se mit en colère, et
+voyant que j’étais chrétien, il cria à l’aide. On me mena chez le cadi,
+qui me fit donner cent coups de latte sous la plante des pieds, et
+m’envoya aux galères. Je fus enchaîné précisément dans la même galère
+et au même banc que M.~le baron. Il y avait dans cette galère
+quatre jeunes gens de Marseille, cinq prêtres napolitains, et deux
+moines de Corfou, qui nous dirent que de pareilles aventures arrivaient
+tous les jours. M.~le baron prétendait qu’il avait essuyé une
+plus grande injustice que moi: je prétendais, moi, qu’il était beaucoup
+plus permis de remettre un bouquet sur la gorge d’une femme que d’être
+tout nu avec un icoglan. Nous disputions sans cesse, et nous recevions
+vingt coups de nerf de bœuf par jour, lorsque l’enchaînement des
+événements de cet univers vous a conduit dans notre galère, et que vous
+nous avez rachetés.
+
+— Eh bien! mon cher \bname{Pangloss}, lui dit \bname{Candide}, quand vous avez été pendu,
+disséqué, roué de coups, et que vous avez ramé aux galères, avez-vous
+toujours pensé que tout allait le mieux du monde? — Je suis toujours de
+mon premier sentiment, répondit \bname{Pangloss}; car enfin je suis philosophe;
+il ne me convient pas de me dédire, Leibnitz ne pouvant pas avoir tort,
+et l’harmonie préétablie étant d’ailleurs la plus belle chose du monde,
+aussi bien que le plein et la matière subtile.»
+
+
+
+\chapter{Comment \bname{Candide} retrouva \bname{Cunégonde} et la vieille}
+
+
+\lettrine{P}{endant} que \bname{Candide}, le baron, \bname{Pangloss}, \bname{Martin}, et \bname{Cacambo}, contaient
+leurs aventures, qu’ils raisonnaient sur les événements contingents ou
+non contingents de cet univers, qu’ils disputaient sur les effets et
+les causes, sur le mal moral et sur le mal physique, sur la liberté et
+la nécessité, sur les consolations que l’on peut éprouver lorsqu’on est
+aux galères en Turquie, ils abordèrent sur le rivage de la Propontide,
+à la maison du prince de \bname{Transylvanie}. Les premiers objets qui se
+présentèrent furent \bname{Cunégonde} et la vieille, qui étendaient des
+serviettes sur des ficelles pour les faire sécher.
+
+Le baron pâlit à cette vue. Le tendre amant \bname{Candide} en voyant sa belle
+\bname{Cunégonde} rembrunie, les yeux éraillés, la gorge sèche, les joues
+ridées, les bras rouges et écaillés, recula trois pas, saisi d’horreur,
+et avança ensuite par bon procédé. Elle embrassa \bname{Candide} et son frère:
+on embrassa la vieille: \bname{Candide} les racheta toutes deux.
+
+Il y avait une petite métairie dans le voisinage; la vieille proposa à
+\bname{Candide} de s’en accommoder, en attendant que toute la troupe eût une
+meilleure destinée. \bname{Cunégonde} ne savait pas qu’elle était enlaidie,
+personne ne l’en avait avertie: elle fit souvenir \bname{Candide} de ses
+promesses avec un ton si absolu, que le bon \bname{Candide} n’osa pas la
+refuser. Il signifia donc au baron qu’il allait se marier avec sa
+sœur. «Je ne souffrirai jamais, dit le baron, une telle bassesse de sa
+part, et une telle insolence de la vôtre; cette infamie ne me sera
+jamais reprochée: les enfants de ma sœur ne pourraient entrer dans les
+chapitres d’Allemagne. Non, jamais ma sœur n’épousera qu’un baron de
+l’empire.» \bname{Cunégonde} se jeta à ses pieds, et les baigna de larmes; il
+fut inflexible. «Maître fou, lui dit \bname{Candide}, je t’ai réchappé des
+galères, j’ai payé ta rançon, j’ai payé celle de ta sœur; elle lavait
+ici des écuelles, elle est laide, j’ai la bonté d’en faire ma femme; et
+tu prétends encore t’y opposer! je te retuerais si j’en croyais ma
+colère. — Tu peux me tuer encore, dit le baron, mais tu n’épouseras pas
+ma sœur de mon vivant.»
+
+
+
+
+\chapter{Conclusion}
+
+
+\lettrine{C}{andide}, dans le fond de son cœur, n’avait aucune envie d’épouser
+\bname{Cunégonde}; mais l’impertinence extrême du baron le déterminait à
+conclure le mariage; et \bname{Cunégonde} le pressait si vivement qu’il ne
+pouvait s’en dédire. Il consulta \bname{Pangloss}, \bname{Martin}, et le fidèle
+\bname{Cacambo}. \bname{Pangloss} fit un beau mémoire par lequel il prouvait que le
+baron n’avait nul droit sur sa sœur, et qu’elle pouvait, selon toutes
+les lois de l’empire, épouser \bname{Candide} de la main gauche. \bname{Martin} conclut
+à jeter le baron dans la mer; \bname{Cacambo} décida qu’il fallait le rendre au
+levanti patron, et le remettre aux galères, après quoi on l’enverrait à
+Rome au père général par le premier vaisseau. L’avis fut trouvé fort
+bon; la vieille l’approuva; on n’en dit rien à sa sœur; la chose fut
+exécutée pour quelque argent, et on eut le plaisir d’attraper un
+jésuite, et de punir l’orgueil d’un baron allemand.
+
+
+Il était tout naturel d’imaginer qu’après tant de désastres, \bname{Candide}
+marié avec sa maîtresse, et vivant avec le philosophe \bname{Pangloss}, le
+philosophe \bname{Martin}, le prudent \bname{Cacambo}, et la vieille, ayant d’ailleurs
+rapporté tant de diamants de la patrie des anciens Incas, mènerait la
+vie du monde la plus agréable; mais il fut tant friponné par les Juifs,
+qu’il ne lui resta plus rien que sa petite métairie; sa femme devenant
+tous les jours plus laide devint acariâtre et insupportable: la vieille
+était infirme, et fut encore de plus mauvaise humeur que \bname{Cunégonde}.
+\bname{Cacambo}, qui travaillait au jardin, et qui allait vendre des \bname{légumes} à
+Constantinople, était excédé de travail, et maudissait sa destinée.
+\bname{Pangloss} était au désespoir de ne pas briller dans quelque université
+d’Allemagne. Pour \bname{Martin}, il était fermement persuadé qu’on est
+également mal partout; il prenait les choses en patience. \bname{Candide},
+\bname{Martin}, et \bname{Pangloss}, disputaient quelquefois de métaphysique et de
+morale. On voyait souvent passer sous les fenêtres de la métairie des
+bateaux chargés d’effendis, de bachas, de cadis, qu’on envoyait en exil
+à Lemnos, à Mytilène, à Erzeroum: on voyait venir d’autres cadis,
+d’autres bachas, d’autres effendis, qui prenaient la place des
+expulsés, et qui étaient expulsés à leur tour: on voyait des têtes
+proprement empaillées qu’on allait présenter à la sublime Porte. Ces
+spectacles faisaient redoubler les dissertations; et quand on ne
+disputait pas, l’ennui était si excessif, que la vieille osa un jour
+leur dire: «Je voudrais savoir lequel est le pire, ou d’être violée cent
+fois par des pirates nègres, d’avoir une fesse coupée, de passer par
+les baguettes chez les \bname{Bulgares}, d’être fouetté et pendu dans un
+auto-da-fé, d’être disséqué, de ramer en galère, d’éprouver enfin
+toutes les misères par lesquelles nous avons tous passé, ou bien de
+rester ici à ne rien faire? — C’est une grande question», dit \bname{Candide}.
+
+
+
+
+
+
+Ce discours fit naître de nouvelles réflexions, et \bname{Martin} surtout
+conclut que l’homme était né pour vivre dans les convulsions de
+l’inquiétude, ou dans la léthargie de l’ennui. \bname{Candide} n’en convenait
+pas, mais il n’assurait rien. \bname{Pangloss} avouait qu’il avait toujours
+horriblement souffert; mais ayant soutenu une fois que tout allait à
+merveille, il le soutenait toujours, et n’en croyait rien.
+
+Une chose acheva de confirmer \bname{Martin} dans ses détestables principes, de
+faire hésiter plus que jamais \bname{Candide} et d’embarrasser \bname{Pangloss}. C’est
+qu’ils virent un jour aborder dans leur métairie \bname{Paquette} et le frère
+Giroflée, qui étaient dans la plus extrême misère; ils avaient bien
+vite mangé leurs trois mille piastres, s’étaient quittés, s’étaient
+raccommodés, s’étaient brouillés, avaient été mis en
+prison; s’étaient
+enfuis, et enfin frère Giroflée s’était fait turc. \bname{Paquette} continuait
+son métier partout, et n’y gagnait plus rien. «Je l’avais bien prévu,
+dit \bname{Martin} à \bname{Candide}, que vos présents seraient bientôt dissipés, et ne
+les rendraient que plus misérables. Vous avez regorgé de millions de
+piastres, vous et \bname{Cacambo}, et vous n’êtes pas plus heureux que frère
+Giroflée et \bname{Paquette}. — Ah! ah! dit \bname{Pangloss} à \bname{Paquette}, le ciel vous
+ramène donc ici parmi nous. Ma pauvre enfant! savez-vous bien que vous
+m’avez coûté le bout du nez, un œil, et une oreille? Comme vous voilà
+faite! Eh! qu’est-ce que ce monde!» Cette nouvelle aventure les engagea
+à philosopher plus que jamais.
+
+Il y avait dans le voisinage un derviche très fameux qui passait pour
+le meilleur philosophe de la Turquie; ils allèrent le consulter;
+\bname{Pangloss} porta la parole, et lui dit: «Maître, nous venons vous prier de
+nous dire pourquoi un aussi étrange animal que l’homme a été formé.
+
+
+
+
+
+
+— De quoi te mêles-tu? lui dit le derviche; est-ce là ton affaire? — Mais,
+mon Révérend Père, dit \bname{Candide}, il y a horriblement de mal sur la
+terre. — Qu’importe, dit le derviche, qu’il y ait du mal ou du bien?
+quand Sa Hautesse envoie un vaisseau en Égypte, s’embarrasse-t-elle si
+les souris qui sont dans le vaisseau sont à leur aise ou non? — Que
+faut-il donc faire? dit \bname{Pangloss}. — Te taire, dit le derviche. — Je me
+flattais, dit \bname{Pangloss}, de raisonner un peu avec vous des effets et des
+causes, du meilleur des mondes possibles, de l’origine du mal, de la
+nature de l’âme, et de l’harmonie préétablie.» Le derviche, à ces mots,
+leur ferma la porte au nez.
+
+
+
+Pendant cette conversation, la nouvelle s’était répandue qu’on venait
+d’étrangler à Constantinople deux vizirs du banc et le muphti, et qu’on
+avait empalé plusieurs de leurs amis. Cette catastrophe faisait partout
+un grand bruit pendant quelques heures. \bname{Pangloss}, \bname{Candide}, et \bname{Martin},
+en retournant à la petite métairie, rencontrèrent un bon vieillard qui
+prenait le frais à sa porte sous un berceau d’orangers. \bname{Pangloss}, qui
+était aussi curieux que raisonneur, lui demanda comment se nommait le
+muphti qu’on venait d’étrangler. «Je n’en sais rien, répondit le
+bonhomme, et je n’ai jamais su le nom d’aucun muphti ni d’aucun vizir.
+J’ignore absolument l’aventure dont vous me parlez; je présume qu’en
+général ceux qui se mêlent des affaires publiques périssent quelquefois
+misérablement, et qu’ils le méritent; mais je ne m’informe jamais de ce
+qu’on fait à Constantinople; je me contente d’y envoyer vendre les
+fruits du jardin que je cultive.» Ayant dit ces mots, il fit entrer les
+étrangers dans sa maison; ses deux filles et ses deux fils leur
+présentèrent plusieurs sortes de sorbets qu’ils faisaient eux-mêmes, du
+kaïmak piqué d’écorces de cédrat confit, des oranges, des citrons, des
+limons, des ananas, des dattes, des pistaches, du café de Moka qui
+n’était point mêlé avec le mauvais café de Batavia et des îles. Après
+quoi les deux filles de ce bon musulman parfumèrent les barbes de
+\bname{Candide}, de \bname{Pangloss}, et de \bname{Martin}.
+
+
+
+«Vous devez avoir, dit \bname{Candide} au Turc, une vaste et magnifique terre?
+— Je n’ai que vingt arpents, répondit le Turc; je les cultive avec mes
+enfants; le travail éloigne de nous trois grands maux, l’ennui, le
+vice, et le besoin.»
+
+
+\bname{Candide} en retournant dans sa métairie fit de profondes réflexions sur
+le discours du Turc. Il dit à \bname{Pangloss} et à \bname{Martin}: «Ce bon vieillard me
+paraît s’être fait un sort bien préférable à celui des six rois avec
+qui nous avons eu l’honneur de souper. — Les grandeurs, dit \bname{Pangloss},
+sont fort dangereuses, selon le rapport de tous les philosophes; car
+enfin Églon, roi des Moabites, fut assassiné par Aod; \bname{Absalon} fut pendu
+par les cheveux et percé de trois dards; le roi \bname{Nadab}, fils de
+\bname{Jéroboam}, fut tué par \bname{Baasa}; le roi Éla, par \bname{Zambri}; \bname{Ochosias}, par
+\bname{Jéhu}; \bname{Athalie}, par \bname{Joïada}; les rois \bname{Joachim}, \bname{Jéchonias}, \bname{Sédécias},
+furent esclaves. Vous savez comment périrent \bname{Crésus}, \bname{Astyage}, \bname{Darius},
+\bname{Denys} de \bname{Syracuse}, \bname{Pyrrhus}, \bname{Persée}, \bname{Annibal}, \bname{Jugurtha}, \bname{Arioviste},
+\bname{César}, \bname{Pompée}, \bname{Néron}, \bname{Othon}, \bname{Vitellius}, \bname{Domitien}, \bname{Richard}~II
+\bname{d’Angleterre}, \bname{Édouard}~II, \bname{Henri}~VI, \bname{Richard}~III, \mbox{Marie Stuart}, Charles~I\up{er}, les trois \bname{Henri} de France, l’empereur \bname{Henri}~IV? Vous savez… — Je
+sais aussi, dit \bname{Candide}, qu’il faut cultiver notre jardin. — Vous avez
+raison, dit \bname{Pangloss}; car, quand l’homme fut mis dans le jardin d’Éden,
+il y fut mis \emph{ut operaretur eum}, pour qu’il travaillât; ce qui prouve
+que l’homme n’est pas né pour le repos. — Travaillons sans raisonner, dit
+\bname{Martin}, c’est le seul moyen de rendre la vie supportable.
+
+Toute la petite société entra dans ce louable dessein; chacun se mit à
+exercer ses talents. La petite terre rapporta beaucoup. \bname{Cunégonde}
+était, à la vérité, bien laide; mais elle devint une excellente
+pâtissière; \bname{Paquette} broda; la vieille eut soin du linge. Il n’y eut
+pas jusqu’à frère Giroflée qui ne rendît service; il fut un très bon
+menuisier, et même devint honnête homme: et \bname{Pangloss} disait quelquefois
+à \bname{Candide}: «Tous les événements sont enchaînés dans le meilleur des
+mondes possibles; car enfin si vous n’aviez pas été chassé d’un beau
+château à grands coups de pied dans le derrière pour l’amour de
+M\up{lle}~\bname{Cunégonde}, si vous n’aviez pas été mis à l’inquisition, si
+vous n’aviez pas couru l’Amérique à pied, si vous n’aviez pas donné un
+bon coup d’épée au baron, si vous n’aviez pas perdu tous vos moutons du
+bon pays d’Eldorado, vous ne mangeriez pas ici des cédrats confits et
+des pistaches. — Cela est bien dit, répondit \bname{Candide}, mais il faut
+cultiver notre jardin.»
+
+
+\endinput
+
+
+
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/book-mathematics.tex b/Master/texmf-dist/doc/lualatex/tango/examples/book-mathematics.tex
new file mode 100644
index 00000000000..cbcebe1ae45
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/book-mathematics.tex
@@ -0,0 +1,44 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,PubliClass=book,ColorTheme=Steel,FontSize=11pt,
+StylisticSet={parallelslant,leqslant}]{tango}
+\renewcommand{\arraystretch}{1.3}
+\usepackage{tikz}
+\usetikzlibrary{calc,through,arrows}
+\tgosmartlists
+\AtBeginDocument{%
+\RenewCommandCopy{\setminus}{\smallsetminus}
+}
+\NewDocumentCommand\N{}{\ensuremath{\symbb{N}}}
+\NewDocumentCommand\Z{}{\ensuremath{\symbb{Z}}}
+\NewDocumentCommand\Q{}{\ensuremath{\symbb{Q}}}
+\NewDocumentCommand\R{}{\ensuremath{\symbb{R}}}
+\NewDocumentCommand\C{}{\ensuremath{\symbb{C}}}
+\NewDocumentCommand\Pt{m}{\ensuremath{\symfrak{P}(#1)}}
+\NewDocumentCommand\rond{}{\mathrel{\circ}}
+\NewDocumentCommand\mesalg{m}{\overline{#1}}
+\NewDocumentCommand\Vector{m}{\overrightarrow{#1}}
+\DeclareMathOperator{\cl}{cl}
+\DeclareMathOperator{\sgn}{sgn}
+\newcounter{prop}
+\newstatement{prop}{prop}{Propriété}
+\newfixedcaption{\figcaption}{figure}
+%%
+\includeonly{rel-bin,recurrence,polynome-deg2,euler,puissance-cercle}
+%\includeonly{polynome-deg2}
+%%
+%\tangoSmartLists
+\begin{document}
+\frontmatter
+\tableofcontents
+\mainmatter
+%\tgosetup{ColorTheme=Framboise}
+\part{Algèbre}
+\include{rel-bin}
+\include{recurrence}
+\include{polynome-deg2}
+%\tgosetup{ColorTheme=Sapin}
+\part{Géométrie}
+\include{euler}
+\include{puissance-cercle}
+\backmatter
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/candide.tex b/Master/texmf-dist/doc/lualatex/tango/examples/candide.tex
new file mode 100644
index 00000000000..bd3432e7bf5
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/candide.tex
@@ -0,0 +1,61 @@
+% !TEX TS-program = LuaLaTeX
+%
+\documentclass[french,Output=SmallTablet,PubliClass=book,twoside,Numbers=OldStyle,FontSize=9pt]{tango}
+
+\geometry{paperheight=18.5cm,paperwidth=11.2cm,heightrounded,top=1.2cm,bottom=2.8cm,headheight=14pt,headsep=12pt,footskip=13pt,inner=1.2cm,outer=2cm,}
+%
+\titleformat{\chapter}[display]{\filcenter\large\itshape\addfontfeature{RawFeature={-onum}}}
+{\normalfont\Large\scshape\addfontfeature{RawFeature={+c2sc}} \chaptername\space\thechapter}{1em}{}
+\titleformat{name=\chapter,numberless}[display]{\filcenter\large\itshape\addfontfeature{RawFeature={-onum}}}
+{}{0em}{}%
+\titlespacing{\chapter}{0pt}{20pt plus 8pt}{20pt plus 8pt}%
+%
+\newpagestyle{candide}{%
+ \sethead
+ [\addfontfeature{RawFeature=+onum}\thepage]
+[\addfontfeature{RawFeature=+c2sc}\MakeUppercase\chaptertitlename\space\thechapter][] % even
+ {}{\addfontfeature{RawFeature=+c2sc}\MakeUppercase\chaptertitle}
+ {\addfontfeature{RawFeature=+onum}\thepage} % odd
+ }
+ \newpagestyle{candidetoc}{%
+ \sethead
+ [\addfontfeature{RawFeature=+onum}\thepage]
+[\addfontfeature{RawFeature=+c2sc}\MakeUppercase\frenchcontentsname][] % even
+ {}{\addfontfeature{RawFeature=+c2sc}\MakeUppercase\frenchcontentsname}
+ {\addfontfeature{RawFeature=+onum}\thepage} % odd
+ }
+
+ \renewcommand\thechapter{\Roman{chapter}}
+ \titlecontents{chapter}
+ [3.5em] % ie, 1.5em (chapter) + 2.3em
+ {\normalfont}
+ {\contentslabel{3.5em}}
+ {\hspace*{-1.5em}}
+ {\titlerule*[1pc]{.}\contentspage}
+
+ %%%%%%%%%%%%
+\pagestyle{candide}
+%
+
+\usepackage{lettrine}
+
+
+\includeonly{Ch-1-15, Ch-16-30}
+
+\hypersetup{pdfpagelayout=TwoPageRight}
+
+\begin{document}
+
+
+
+\include{Ch-1-15}
+\include{Ch-16-30}
+\backmatter
+\pagestyle{candidetoc}
+\tableofcontents
+
+\end{document}
+
+
+
+
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/euler.tex b/Master/texmf-dist/doc/lualatex/tango/examples/euler.tex
new file mode 100644
index 00000000000..4d3ea545715
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/euler.tex
@@ -0,0 +1,512 @@
+
+\tgotitle{Droite et cercle d'Euler}
+\tgoshorttoc
+\section{Cercle circonscrit à un triangle}
+\subsection{Un résultat préliminaire}
+On sait depuis le collège que la droite qui joint les milieux de deux côtés d'un triangle est parallèle au troisième côté. Nous précisons ce résultat à l'aide d'un théorème qui nous sera utile par la suite (voir figure \ref{figmilieux}).
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$B$](B) at (0,0);
+\coordinate[label=right:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!38:(C)$);
+\coordinate (S) at ($(C)!1!105:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B);
+\draw (A)--(C);
+\coordinate [label=right:$B'$] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=left:$C'$] (C') at ($(A)!0.5!(B)$);
+\draw[>=stealth,->,semithick](B)--(C);
+\draw[>=stealth,->,semithick](C')--(B');
+\foreach \point in {A,B,C,C',B'}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figmilieux}
+\end{figure}
+
+\begin{thm}
+Soit un triangle $ABC$ et soit $B'$ et $C'$ les milieux respectifs de $[AC]$ et $[AB]$. Alors
+les droites $(BC)$ et $(C'B')$ sont parallèles et $\overrightarrow{BC}=2\overrightarrow{C'B'}$.
+\label{thmilieux}
+\end{thm}
+
+\begin{proof}
+La relation de Chasles permet d'écrire
+\begin{align*}
+\overrightarrow{BC}&=\overrightarrow{BA}+\overrightarrow{AC},\\
+\intertext{puis, en utilisant une caractérisation vectorielle du milieu,}
+\overrightarrow{BC}&=2\overrightarrow{C'A}+2\overrightarrow{AB'},\\
+\overrightarrow{BC}&=2\left(\overrightarrow{C'A}+\overrightarrow{AB'}\right),\\
+\overrightarrow{BC}&=2\overrightarrow{C'B'}.\qedhere
+\end{align*}
+\end{proof}
+
+\subsection{Médiatrices des côtés d'un triangle}
+%%%%% Version 1
+ La médiatrice d'un segment est par définition la droite perpendiculaire à ce segment en son milieu. Nous admettrons que la médiatrice d'un segment est aussi l'ensemble des points qui sont équidistants des extrémités de ce segment (voir figure \ref{figcerccir}). Nous formulons alors le théorème suivant :
+%%%%%%
+%%%%%%
+%%%%%%
+%%%%% Version 2
+%La médiatrice d'un segment est par définition l'ensemble des points équidistants des extrémités de ce segment. Il est clair que le milieu du segment appartient à la médiatrice. On a même :
+% %
+%\begin{thm}
+%La médiatrice d'un segment est la droite perpendiculaire à ce segment en son milieu.
+%\end{thm}\label{caracmed}
+%
+%\begin{proof}
+%Soit un segment $[AB]$ et $I$ son milieu. Notons $\symcal{E}$ la médiatrice de $[AB]$ et $\symcal{D}$ la droite perpendiculaire à $[AB]$ en $I$. Montrons que $\symcal{E}=\symcal{D}$ par double inclusion.
+%Soit un point $M$ appartenant à la médiatrice $\symcal{E}$ de $[AB]$. On a $IA=IB$ et $MA=MB$ par définition de la médiatrice. Les triangles $MIA$ et $MIB$ sont donc superposables. Si $\alpha$ et $\beta$ sont les mesures respectives de $\widehat{MIA}$ et $\widehat{MIB}$, on en déduit que $\alpha=\beta$. L'angle $\widehat{AIB}$ et plat de mesure $\alpha+\beta$ :
+%\[\left.\begin{aligned} \alpha=\beta&\\\alpha+\beta=180\degre\end{aligned}\right\}\implies \alpha=\beta=90\degre.\]
+%Le point $M$ appartient donc à la droite $\symcal{D}$ : $\symcal{E}\subset\symcal{D}$.
+%
+%Réciproquement, supposons que $M\in\symcal{D}$. Considérons la réflexion $s$ d'axe $\symcal{D}$ : on a $s(A)=B$ et $s(M)=M$ (car l'ensemble des points invariants de $s$ est la droite $\symcal{D}$). Par conservation des distances, on a $MA=s(M)s(A)=MB$. Donc $M$ appartient à $\symcal{E}$ : $\symcal{E}\subset\symcal{D}$.
+%
+%On a donc bien $\symcal{E}=\symcal{D}$.
+%\end{proof}
+%
+%
+
+\begin{thm}
+Les médiatrices des trois côtés d'un triangle sont concourantes en un point équidistant des trois sommets et centre de l'unique cercle passant par ces derniers.
+\end{thm}
+
+\vspace{1ex}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$B$](B) at (0,0);
+\coordinate[label=right:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!38:(C)$);
+\coordinate (S) at ($(C)!1!105:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=right:$B'$] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=left:$C'$] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate [label=above:$O${\rule[-1mm]{0mm}{1mm}}](O) at (intersection of C'--X and B'--Y);
+\draw(C')--(O);
+\draw (B')--(O);
+\draw[dotted,semithick](A')--(O);
+\node [draw] at (O) [circle through={(C)}] {};
+\draw[gray](O)--(A);
+\draw[gray](O)--(B);
+\draw[gray](O)--(C);
+\foreach \point in {A,B,C,C',A',B',O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figcerccir}
+\end{figure}
+
+
+
+\begin{proof}
+Reprenons la figure \ref{figmilieux} et nommons $A'$ le milieu de $[BC]$. Les médatrices des côtés $[AB]$ et $[AC]$ sont sécantes en un point $O$. (On rappelle qu'un triangle est la donnée de trois points non alignés, autrement dit, un triangle aplati ne peut être considéré comme un triangle : cela assure que les deux médiatrices sont bien sécantes.) Le point $O$ se trouve à la fois sur la médiatrice de $[AB]$ et sur la médiatrice de $[AC]$ : il est donc à la fois équidistant de $A$ et $B$ ($OA=OB$) et équidistant de $A$ et $C$ ($OA=OC$). On a donc finalement $OB=OC$, ce qui assure que la médiatrice de $[BC]$ passe par $O$. Les trois médiatrices sont donc concourantes en $O$, point équidistant des trois sommets du triangle et par conséquent centre d'un cercle passant par ces sommets. Pour établir l'unicité d'un tel cercle, il suffit de remarquer que le centre d'un cercle passant par les sommets est nécessairement équidistant des sommets donc point de concours des médiatrices.
+\end{proof}
+
+Le cercle en question est le \emph{cercle circonscrit} au triangle.
+
+\subsection{Un cas particulier}
+Le cas du cercle circonscrit au triangle rectangle est bien connu (voir figure \ref{figtrec}).
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$B$](B) at (0,0);
+\coordinate[label=right:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!30:(C)$);
+\coordinate (S) at ($(C)!1!120:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=left:$B'${\rule{1.3mm}{0mm}}] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=right:{\rule{1.3mm}{0mm}}$C'$] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate(O) at (intersection of C'--X and B'--Y);
+\draw(C')--(O);
+\draw (B')--(O);
+\draw[dotted,semithick](A')--(O);
+\node [draw] at (O) [circle through={(C)}] {};
+\draw[gray](O)--(A);
+\draw[gray](O)--(B);
+\draw[gray](O)--(C);
+\foreach \point in {A,B,C,C',A',B',O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figtrec}
+\end{figure}
+
+
+\begin{thm}
+Si un triangle est rectangle, alors le centre de son cercle circonscrit est le milieu de l'hypoténuse qui est donc un diamètre du cercle. Réciproquement si le cercle circonscrit à un triangle admet l'un des côtés comme diamètre, alors ce triangle est rectangle et admet le côté en question pour hypoténuse.
+\label{diamtrrec}
+\end{thm}
+
+\begin{proof}
+Supposons le triangle $ABC$ rectangle en $A$. La droite $(AB)$ est alors perpendiculaire à la droite $(AC)$.
+D'après le théorème \ref{thmilieux} on sait que $\overrightarrow{AB}=2\overrightarrow{B'A'}$ et en particulier que les droites $(AB)$ et $(B'A')$ sont parallèles. On en déduit que les droites $(B'A')$ et $(AC)$ sont perpendiculaires:
+\[\left.\begin{aligned} &(AB)\parallel(A'B')\\
+\text{et}&\\
+&(AB)\perp(AC)\end{aligned}\right\}\implies (A'B')\perp(AC).
+\]
+
+La droite $(B'A')$, perpendiculaire au segment $[AC]$ en son milieu, en est la médiatrice. De même, $(C'A')$ est la médiatrice du segment $[AB]$. Le point $A'$, milieu de $[BC]$, est commun à ces deux médiatrices : il est donc le centre du cercle circonscrit au triangle.
+
+
+
+Réciproquement, supposons que le milieu $A'$ de $[BC]$ soit le centre du cercle circonscrit. Ce point est alors équidistant de $A$ et $C$, donc est un point de la médiatrice du segment $[AC]$; il en est de même pour $B'$, milieu de ce segment. La droite $(A'B')$ est donc la médiatrice du segment $[AC]$ et lui est perpendiculaire. Cette droite est aussi parallèle à $(AB)$, en vertu du théorème \ref{thmilieux}. De la même façon que précédemment, on en déduit que les droites $(AB)$ et $(AC)$ sont perpendiculaires. Le triangle $ABC$ est donc rectangle en $A$.
+\end{proof}
+
+\begin{remark} La situation représentée sur la figure \ref{figcerccir} est celle d'un triangle acutangle. On comprend assez rapidement (mais ceci ne constitue pas une démonstration) que le centre du cercle circonscrit est intérieur au triangle si les trois angles sont aigus et extérieur dans le cas où l'un des angles est obtus (voir figure \ref{figtrobtu}). Le cas du triangle rectangle constitue en quelque sorte une situation limite…
+\end{remark}
+
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$B$](B) at (0,0);
+\coordinate[label=right:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!25:(C)$);
+\coordinate (S) at ($(C)!1!140:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=above:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=left:$B'${\rule{1.3mm}{0mm}}] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=right:{\rule{1.3mm}{0mm}}$C'$] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate [label=below:$O${\rule[-1mm]{0mm}{1mm}}](O) at (intersection of C'--X and B'--Y);
+\draw(C')--(O);
+\draw (B')--(O);
+\draw[dotted,semithick](A')--(O);
+\node [draw] at (O) [circle through={(C)}] {};
+\draw[gray](O)--(A);
+\draw[gray](O)--(B);
+\draw[gray](O)--(C);
+\foreach \point in {A,B,C,C',A',B',O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figtrobtu}
+\end{figure}
+
+
+
+\section{Centre de gravité d'un triangle}
+Il est connu que les médianes d'un triangle sont concourantes en un point situé aux deux tiers de chacune d'elles à partir du sommet. C'est à cette propriété que nous allons maintenant nous intéresser, sous un angle vectoriel (voir figure \ref{figmedianes}).
+
+
+\begin{thm}\label{thgravit}%
+Soit un triangle $ABC$ et soit $A'$, $B'$ et $C'$ les milieux respectifs des côtés $[BC]$, $[AC]$ et $[AB]$.
+Les médianes de ce triangle sont concourantes en un point $G$, nommé centre de gravité du triangle et qui est l'unique point du plan à vérifier les relations vectorielles suivantes :
+\begin{gather}
+\overrightarrow{GA}+\overrightarrow{GB}+\overrightarrow{GC}=\vec{0}\,,\label{eqisobar}\\
+\overrightarrow{AG}=\frac23\overrightarrow{AA'}\,,\quad\overrightarrow{BG}=\frac23\overrightarrow{BB'}\quad\text{et}\quad\overrightarrow{CG}=\frac23\overrightarrow{CC'}\,.\label{eqGmediane}
+\end{gather}%
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$B$](B) at (0,0);
+\coordinate[label=below:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!36:(C)$);
+\coordinate (S) at ($(C)!1!107:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=right:$B'$](B') at ($(A)!0.5!(C)$);
+\coordinate[label=left:$C'$](C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate (O) at (intersection of C'--X and B'--Y);
+\coordinate[label=above:$G${\rule[-1mm]{0mm}{1mm}}] (G) at ($(A')!0.333!(A)$);
+\coordinate (H) at ($(O)!3!(G)$);
+\draw (A)--(A');
+\draw[dotted,semithick] (B)--(B');
+\draw[dotted,semithick] (C)--(C');
+\foreach \point in {A,B,C,A',G,C',B'}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figmedianes}
+\end{figure}
+
+
+
+\begin{proof}
+Pour tout point $M$ du plan, on considère le vecteur
+\[
+\overrightarrow{v(M)}=\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}.
+\]
+
+ Nous nous proposons de prouver qu'il existe un point $M$ et un seul pour lequel ce vecteur est nul : cet unique point $M$ sera le point $G$ que nous cherchons. À cet effet nous allons transformer le vecteur $\overrightarrow{v(M)}$, en faisant notamment intervenir un des milieux, ici $A'$, grâce à la relation de Chasles. Nous rappelons que ce milieu est caractérisé par $\overrightarrow{A'B}+\overrightarrow{A'C}=\vec{0}$.
+%\DinoXiPhoneCommand{%
+\begin{align*}
+\overrightarrow{v(M)}&=
+(\overrightarrow{MA'}+\overrightarrow{A'A})+
+(\overrightarrow{MA'}+\overrightarrow{A'B})+
+(\overrightarrow{MA'}+\overrightarrow{A'C}),\\
+&=
+3\overrightarrow{MA'}+\overrightarrow{A'A}+\underbrace{\overrightarrow{A'B}+\overrightarrow{A'C}}_{\vec{0}}.
+\end{align*}
+
+Nous transformons alors le vecteur $\overrightarrow{MA'}$ en faisant intervenir le point $A$ grâce à la relation de Chasles :
+\begin{align*}
+\overrightarrow{v(M)}&=3(\overrightarrow{MA}+\overrightarrow{AA'})+\overrightarrow{A'A},\\
+\intertext{puis, en développant et en remarquant que $\overrightarrow{A'A}=-\overrightarrow{AA'}$,}
+\overrightarrow{v(M)}&=3\overrightarrow{MA}+2\overrightarrow{AA'}.
+\end{align*}%}
+%\DinoiPhoneCommand{%
+%\begin{multline*}
+%\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}=
+%(\overrightarrow{MA'}+\overrightarrow{A'A})\\
+%+(\overrightarrow{MA'}+\overrightarrow{A'B})+
+%(\overrightarrow{MA'}+\overrightarrow{A'C}),\end{multline*}
+%soit
+%\begin{align*}
+%\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}&=
+%3\overrightarrow{MA'}+\overrightarrow{A'A}+\underbrace{\overrightarrow{A'B}+\overrightarrow{A'C}}_{\vec{0}},\\
+%&=3\overrightarrow{MA}+3\overrightarrow{AA'}+\overrightarrow{A'A},\\
+%&=3\overrightarrow{MA}+2\overrightarrow{AA'}.
+%\end{align*}}
+En tenant compte de $\overrightarrow{v(M)}=\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}$,
+ \begin{align}\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}=\vec{0}
+ &\iff 3\overrightarrow{MA}+2\overrightarrow{AA'}=\vec{0},\notag\\
+ &\iff 3\overrightarrow{AM}=2\overrightarrow{AA'},\notag\\
+ &\iff\overrightarrow{AM}=\dfrac23\overrightarrow{AA'}.\label{caraccg}\end{align}
+
+La relation \eqref{caraccg} définit l'unique point $M$ vérifiant $\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}=\vec{0}$. Ce point est par définition le centre de gravité du triangle $ABC$ et on le note traditionnellement $G$. Le calcul vectoriel ci-dessus aurait tout aussi bien pu être mené en utilisant $B'$ ou $C'$ plutôt que $A'$. On en déduit les trois relations annoncées en \eqref{eqGmediane}.
+\end{proof}
+
+\section{Orthocentre et droite d'Euler}
+\subsection{Orthocentre d'un triangle}
+\begin{thm}
+Les hauteurs issues des trois sommets de tout triangle sont concourantes en un point $H$ nommé orthocentre de ce triangle.
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$B$](B) at (0,0);
+\coordinate[label=below:$C$](C) at (5,0);
+\coordinate (T) at ($(B)!1!36:(C)$);
+\coordinate (S) at ($(C)!1!107:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate (B') at ($(A)!0.5!(C)$);
+\coordinate (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate [label=above:$O$](O) at (intersection of C'--X and B'--Y);
+\coordinate[label=above:$G${\rule[-1mm]{0mm}{1mm}}] (G) at ($(A')!0.333!(A)$);
+\coordinate[label=below:$H$] (H) at ($(O)!3!(G)$);
+\draw (A')--(O)--(H)--(A);
+\draw (A)--(A');
+\foreach \point in {A,B,C,A',O,G,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figeuler}
+\end{figure}
+
+
+\begin{proof}
+Nous en restons aux notations utilisées précédemment.
+Si le triangle $ABC$ est équilatéral, la hauteur, la médiane et la médiatrice relatives à chaque côté sont confondues, les points $O$, centre du cercle circonscrit, et $G$, centre de gravité de $ABC$ le sont également. Ce point unique est évidemment aussi point de concours des hauteurs. Nous supposerons désormais que le triangle $ABC$ n'est pas équilatéral.
+
+La démonstration repose alors sur la remarque qui suit.
+\begin{remark}[Remarque préliminaire]
+La hauteur issue de $A$ et la médiatrice de $[BC]$ sont deux droites parallèles, car perpendiculaires à une même troisième.
+L'observation de la figure \ref{figeuler} nous incite alors à prolonger la droite $(OG)$ et à fabriquer ainsi une configuration de Thales. Comme nous savons, de par la position de $G$ aux deux tiers de la médiane $[AA']$, que $\overrightarrow{GA}=-2\overrightarrow{GA'}$ nous allons introduire un point $H$ défini par $\overrightarrow{GH}=-2\overrightarrow{GO}$ pour ensuite ensuite établir (en exploitant de façon vectorielle notre configuration de Thales) que les vecteurs $ \overrightarrow{AH}$ et $\overrightarrow{OA'}$ sont colinéaires, ce qui établira, sauf cas particulier, que la médiatrice $(OA')$ et la droite $(AH)$ sont parallèles donc que $(AH)$ est la hauteur issue de $A$.
+\end{remark}
+
+Soit donc le point $H$ défini par $\overrightarrow{GH}=-2\overrightarrow{GO}$.
+De l'égalité \eqref{eqGmediane}, nous déduisons que $3\overrightarrow{AG}=2\overrightarrow{AA'}$, puis que $\overrightarrow{AG}=2\overrightarrow{GA'}$. Par conséquent :
+\[\begin{split} \overrightarrow{AH}&=\overrightarrow{AG}+\overrightarrow{GH},\\
+&=2\overrightarrow{GA'}+2\overrightarrow{OG},\\
+&=2(\overrightarrow{OG}+\overrightarrow{GA'}),\\
+&=2\overrightarrow{OA'}.
+\end{split}
+\]
+Les vecteurs $\overrightarrow{OA'}$ et $\overrightarrow{AH}$ sont donc colinéaires.
+
+\begin{alert}
+Si le triangle $ABC$ est rectangle, les points $O$ et $A'$ (et par conséquent les points $A$ et $H$) sont confondus. On ne peut parler des droites $(OA')$ et $(AH)$ : ce cas sera examiné plus tard.
+\end{alert}
+Supposons provisoirement que le triangle $ABC$ \emph{n'est pas} rectangle : le point $O$, centre du cercle circonscrit n'est pas confondu avec $A'$ (cf. théorème \ref{diamtrrec}) ou encore $\overrightarrow{OA'}\neq\vec{0}$. On peut dire alors que la droite $(AH)$ est parallèle à la droite $(OA')$, elle même perpendiculaire au côté $[BC]$, en tant que médiatrice. La droite $(AH)$ est donc perpendiculaire à $[BC]$ : c'est la hauteur issue de $A$.
+
+
+Le raisonnement qui vient d'être fait tient toujours si l'on remplace les points $A$ et $A'$ par $B$ et $B'$ ou par $C$ et $C'$. Le point $H$ quant à lui est fixe (il ne dépend que de $O$ et $G$) : il appartient donc à chacune des trois hauteurs. On a donc démontré que les trois hauteurs sont concourantes en $H$ : ce point $H$ est \emph{l'orthocentre} du triangle $ABC$.
+\begin{alert}
+Si maintenant le triangle est rectangle, par exemple en $A$ : les hauteurs issues de $B$ et $C$ sont respectivement $(BA)$ et $(CA)$ : les hauteurs sont concourantes en $A$. L'orthocentre $H$ est alors confondu avec $A$ de même que le centre du cercle circonscrit $O$ est confondu avec $A'$. La relation $\overrightarrow{GH} = -2\overrightarrow{GO}$ est toujours vérifiée.\qedhere
+\end{alert}
+\end{proof}
+\subsection{Droite d'Euler}
+
+
+
+Nous avons en fait montré un peu plus que ce que nous avions annoncé.
+La relation vectorielle liant $O$, $G$ et $H$ montre que si le triangle $ABC$ n'est pas équilatéral ces trois points sont alignés. La droite support est la \emph{droite d'Euler}. Résumons-nous maintenant :
+\begin{thm}
+Le centre $O$ du cercle circonscrit, le centre de gravité $G$ et l'orthocentre $H$ d'un triangle $ABC$ vérifient la relation vectorielle
+\begin{equation}\overrightarrow{GH}=-2\overrightarrow{GO}\,.\label{eulerposition}\end{equation}
+Ces trois points sont confondus si $ABC$ est équilatéral. Dans le cas contraire, ils sont alignés sur une droite nommée droite d'Euler.
+\label{eulerprecis}
+\end{thm}
+
+\section{Cercle d'Euler}
+\subsection{Neuf points remarquables}
+Le cercle d'Euler est également connu comme cercle des neuf points ou encore cercle de Feuerbach (voir figure \ref{figcercleuler}).
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$B$](B) at (0,0);
+\coordinate[label=below:$C$](C) at (5,0);
+\coordinate (T) at ($(B)!1!61:(C)$);
+\coordinate (S) at ($(C)!1!130:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=right:$B'${\rule[-1mm]{0mm}{1mm}}] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=left:$C'$] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate(O) at (intersection of C'--X and B'--Y);
+\coordinate (G) at ($(A')!0.333!(A)$);
+\coordinate[label=below:$H$] (H) at ($(O)!3!(G)$);
+\draw[dashed] (A)--(H);
+\draw[dashed] (B)--(H);
+\draw[dashed] (C)--(H);
+\coordinate[label=below:$D$](D) at at (intersection of A--H and B--C);
+\coordinate[label=right:$E${\rule[-1mm]{0mm}{1mm}}](E) at at (intersection of B--H and A--C);
+\coordinate[label=left:$F$](F) at at (intersection of C--H and B--A);
+\coordinate [label=left:$A''$] (A'') at ($(A)!0.5!(H)$);
+\coordinate [label=below:$B''$] (B'') at ($(B)!0.5!(H)$);
+\coordinate [label=below:$C''$] (C'') at ($(C)!0.5!(H)$);
+\draw (A')--(C')--(A'')--(C'')--cycle ;
+\draw (B')--(C')--(B'')--(C'')--cycle ;
+\coordinate (O') at ($(O)!1.5!(G)$);
+\node [draw,dotted,semithick] at (O') [circle through={(A')}] {\rule{2.2cm}{0mm}$\symcal{C}$};
+\foreach \point in {A,B,C,B',C',A',H,D,E,F,A'',B'',C''}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figcercleuler}
+\end{figure}
+
+
+\begin{thm}
+Pour tout triangle, les pieds des hauteurs, les milieux des côtés et les milieux des segments joignant l'orthocentre aux sommets sont situés sur un même cercle.
+\end{thm}
+\begin{remark}
+Suivant les configurations, certains de ces points peuvent être confondus.
+\end{remark}
+\begin{proof} Soit un triangle $ABC$ d'orthocentre $H$, $A'$, $B'$ et $C'$ les milieux respectifs des côtés $[BC]$, $[CA]$ et $[AB]$, $D$, $E$ et $F$ les pieds des hauteurs issues respectivement de $A$, $B$ et $C$ et $A''$, $B''$ et $C''$ les milieux respectifs des segments $[AH]$, $[BH]$ et $[CH]$.
+
+En vertu du théorème \ref{thmilieux}, appliqué successivement aux triangles $ABC$ et $HBC$
+\XSmartphoneCommand{%
+\begin{equation}
+\left.\begin{aligned}
+\overrightarrow{C'B'}=\frac12\overrightarrow{BC}&\\
+\overrightarrow{B''C''}=\frac12\overrightarrow{BC}&
+\end{aligned}\right\}\implies \overrightarrow{C'B'}=\overrightarrow{B''C''}\text{ et }(C'B')\parallel(B''C'')\parallel(BC).\label{parallelBC}
+\end{equation}}
+\SmartphoneCommand{
+\begin{equation}
+\left.\begin{aligned}
+\overrightarrow{C'B'}=\frac12\overrightarrow{BC}&\\
+\overrightarrow{B''C''}=\frac12\overrightarrow{BC}&
+\end{aligned}\right\}\implies \left\{\begin{aligned}&\overrightarrow{C'B'}=\overrightarrow{B''C''}\\ \text{et}&\\(&C'B')\parallel(B''C'')\parallel(BC).\end{aligned}\right.\label{parallelBC}
+\end{equation}}
+
+De même, en appliquant ce même théorème aux triangles $BAH$ et $CAH$
+\XSmartphoneCommand{%
+\begin{equation}
+\left.\begin{aligned}
+\overrightarrow{C'B''}=\frac12\overrightarrow{AH}&\\
+\overrightarrow{B'C''}=\frac12\overrightarrow{AH}&
+\end{aligned}\right\}\implies \overrightarrow{C'B''}=\overrightarrow{B'C''}\text{ et }(C'B'')\parallel(B'C'')\parallel(AH).\label{parallelAH}
+\end{equation}}
+\SmartphoneCommand{%
+\begin{equation}
+\left.\begin{aligned}
+\overrightarrow{C'B''}=\frac12\overrightarrow{AH}&\\
+\overrightarrow{B'C''}=\frac12\overrightarrow{AH}&
+\end{aligned}\right\}\implies\left\{\begin{aligned}&\overrightarrow{C'B''}=\overrightarrow{B'C''}\\ \text{et}&\\(&C'B'')\parallel(B'C'')\parallel(AH).\end{aligned}\right.\label{parallelAH}
+\end{equation}}
+
+À ce stade nous avons établi que $B'C'B''C''$ est un parallélogramme. Nous savons également que $(AH)$, en tant que hauteur du triangle, est perpendiculaire à $(BC)$. Grâce à cette remarque et aux relations de parallélisme avec $(BC)$ et $(AH)$ établies ci-dessus dans les implications \eqref{parallelBC} et \eqref{parallelAH}, nous pouvons affirmer que $B'C'B''C''$ est un rectangle. Ce rectangle est inscriptible dans le cercle admettant $[B'B'']$ et $[C'C'']$ pour diamètres.
+
+On montre de la même façon que $A'C'A''C''$ est un rectangle inscriptible dans le même cercle de diamètres $[C'C'']$ et $[A'A'']$. Les six points $A'$, $A''$, $B'$, $B''$, $C'$ et $C''$ appartiennent donc au cercle $\symcal{C}$ de diamètre, par exemple, $[A'A'']$.
+
+Considérons alors le point $D$ : si le triangle $ABC$ est isocèle en $A$, il est confondu avec $A'$ et appartient donc au cercle $\symcal{C}$. Sinon $D$ et $A'$ sont distincts et le triangle $ADA'$ est rectangle en $D$ : d'après le théorème \ref{diamtrrec}, $D$ appartient au cercle $\symcal{C}$ de diamètre $[AA']$. On montre de la même façon que les points $E$ et $F$ appartiennent à $\symcal{C}$.
+\end{proof}
+\begin{remark} Le cercle d'Euler est le cercle circonscrit au triangle des milieux $A'B'C'$.
+\end{remark}
+%
+\subsection{Centre du cercle d'Euler}
+Nous allons préciser la remarque précédente (voir figure \ref{centreeuler}).
+\begin{thm}
+Soit un triangle $ABC$ et soit $A'$, $B'$ et $C'$ les milieux respectifs de $[BC]$, $[CA]$ et $[AB]$.
+Soit $O$ le centre du cercle circonscrit à $ABC$, $G$ son centre de gravité et $H$ son orthocentre :
+\begin{itemize}
+\item le point $O$ est l'orthocentre du triangle $A'B'C'$ ;
+\item le point $G$ est le centre de gravité du triangle $A'B'C'$ ;
+\item le centre $O'$ du cercle circonscrit au triangle $A'B'C'$ appartient à la droite d'Euler et vérifie la relation vectorielle
+\[\overrightarrow{GO'}=-\frac12\overrightarrow{GO}.\]
+\end{itemize}
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$B$](B) at (0,0);
+\coordinate[label=below:$C$](C) at (5,0);
+\coordinate (T) at ($(B)!1!32:(C)$);
+\coordinate (S) at ($(C)!1!100:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=right:$B'${\rule[-1mm]{0mm}{1mm}}] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=left:$C'${\rule[-1mm]{0mm}{1mm}}] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate[label=above:$O$] (O) at (intersection of C'--X and B'--Y);
+\coordinate [label=above:$G$] (G) at ($(A')!0.333!(A)$);
+\coordinate[label=below:$H$] (H) at ($(O)!3!(G)$);
+\draw (A)--(B)--(C)--cycle ;
+\coordinate[label=above:$O'$] (O') at ($(O)!1.5!(G)$);
+\draw [dotted,semithick](A')--(B')--(C')--cycle;
+\draw (O)--(H);
+\foreach \point in {A,B,C,B',C',A',O,O',G,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{centreeuler}
+\end{figure}
+
+
+%%\DinoiPadAirCommand{\pagebreak}
+
+\begin{proof}
+\begin{itemize}
+\item La droite $(A'O)$, médiatrice de $[BC]$, est perpendiculaire à la droite $(BC)$, donc également à la droite $(C'B')$ parallèle à $(BC)$ d'après le théorème \ref{thmilieux}. Dans le triangle $A'B'C'$, le point $O$ appartient donc à la hauteur issue de $A'$. On montre de la même façon que $O$ appartient à la hauteur issue de $B'$. Le point $O$ est donc l'orthocentre de $A'B'C'$.
+\item Grâce à la relation \eqref{eqGmediane} du théorème \ref{thgravit}, on obtient
+\[\overrightarrow{GA'}=-\frac12\overrightarrow{GA},\quad \overrightarrow{GB'}=-\frac12\overrightarrow{GC}\quad\text{et}\quad\overrightarrow{GC'}=-\frac12\overrightarrow{GC}.\]
+On en déduit
+\begin{align*}
+\overrightarrow{GA'}+\overrightarrow{GB'}+\overrightarrow{GC'}&=-\frac12\Bigl(\,\underbrace{\overrightarrow{GA}+\overrightarrow{GB}+\overrightarrow{GC}}_{\vec{0}}\,\Bigr),\\
+\overrightarrow{GA'}+\overrightarrow{GB'}+\overrightarrow{GC'}&=\vec{0},
+\end{align*}
+qui prouve que $G$ est le centre de gravité de $A'B'C'$.
+\item Si l'on applique la relation \eqref{eulerposition} du théorème \ref{eulerprecis} au triangle $A'B'C'$, on obtient $\overrightarrow{GO}=-2\overrightarrow{GO'}$. On en déduit la relation
+\[\overrightarrow{GO'}=-\frac12\overrightarrow{GO}.\qedhere\]\end{itemize}
+\end{proof}
+
+\begin{remark}
+La configuration des points $(O, O', G, H)$ est remarquable. On dit qu'ils sont en \emph{division harmonique} ; cette notion fera l'objet d'une prochaine parution de la \emph{Mathematica dinosaurorum}.
+\end{remark}
+\endinput
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/handout-euler.tex b/Master/texmf-dist/doc/lualatex/tango/examples/handout-euler.tex
new file mode 100644
index 00000000000..533d96b9047
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/handout-euler.tex
@@ -0,0 +1,29 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,ColorTheme=Tannen,FontSize=11pt,
+StylisticSet={parallelslant,leqslant},Numbers=OldStyle]{tango}
+\renewcommand{\arraystretch}{1.3}
+\usepackage{tikz}
+\usetikzlibrary{calc,through,arrows}
+\tgosmartlists
+\AtBeginDocument{%
+\RenewCommandCopy{\setminus}{\smallsetminus}
+}
+\NewDocumentCommand\N{}{\ensuremath{\symbb{N}}}
+\NewDocumentCommand\Z{}{\ensuremath{\symbb{Z}}}
+\NewDocumentCommand\Q{}{\ensuremath{\symbb{Q}}}
+\NewDocumentCommand\R{}{\ensuremath{\symbb{R}}}
+\NewDocumentCommand\C{}{\ensuremath{\symbb{C}}}
+\NewDocumentCommand\Pt{m}{\ensuremath{\symfrak{P}(#1)}}
+\NewDocumentCommand\rond{}{\mathrel{\circ}}
+\NewDocumentCommand\mesalg{m}{\overline{#1}}
+\NewDocumentCommand\Vector{m}{\overrightarrow{#1}}
+\DeclareMathOperator{\cl}{cl}
+\DeclareMathOperator{\sgn}{sgn}
+\newcounter{prop}
+\newstatement{prop}{prop}{Propriété}
+\newfixedcaption{\figcaption}{figure}
+%%
+%\tangoSmartLists
+\begin{document}
+\include{euler}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/handout-polynomes-deg2.tex b/Master/texmf-dist/doc/lualatex/tango/examples/handout-polynomes-deg2.tex
new file mode 100644
index 00000000000..3e260be4a98
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/handout-polynomes-deg2.tex
@@ -0,0 +1,27 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,ColorTheme=BlackAndWhite,FontSize=11pt]{tango}
+\renewcommand{\arraystretch}{1.3}
+\usepackage{tikz}
+\usetikzlibrary{calc,through,arrows}
+\tgosmartlists
+\AtBeginDocument{%
+\RenewCommandCopy{\setminus}{\smallsetminus}
+}
+\NewDocumentCommand\N{}{\ensuremath{\symbb{N}}}
+\NewDocumentCommand\Z{}{\ensuremath{\symbb{Z}}}
+\NewDocumentCommand\Q{}{\ensuremath{\symbb{Q}}}
+\NewDocumentCommand\R{}{\ensuremath{\symbb{R}}}
+\NewDocumentCommand\C{}{\ensuremath{\symbb{C}}}
+\NewDocumentCommand\Pt{m}{\ensuremath{\symfrak{P}(#1)}}
+\NewDocumentCommand\rond{}{\mathrel{\circ}}
+\NewDocumentCommand\mesalg{m}{\overline{#1}}
+\NewDocumentCommand\Vector{m}{\overrightarrow{#1}}
+\DeclareMathOperator{\cl}{cl}
+\DeclareMathOperator{\sgn}{sgn}
+\newcounter{prop}
+\newstatement{prop}{prop}{Propriété}
+\newfixedcaption{\figcaption}{figure}
+%%
+\begin{document}
+\input{polynome-deg2}
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/polynome-deg2.tex b/Master/texmf-dist/doc/lualatex/tango/examples/polynome-deg2.tex
new file mode 100644
index 00000000000..bf91400a55a
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/polynome-deg2.tex
@@ -0,0 +1,557 @@
+\renewcommand{\arraystretch}{1.3}
+%\renewcommand*{\DinoThmLogo}{\textcolor{ColorOne}{\oldpilcrowfour}\ignorespaces}
+%\renewcommand*{\DinoThmLogo}{\hspace*{\DinoTitleIndent-3pt}\ignorespaces}
+
+%\textcolor{ColorOne}{\oldpilcrowfour}\ignorespaces
+
+%%%%%% quelques figures, le début arrive ensuite
+\newcommand{\paraone}{
+\begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-3.5) rectangle (3.5,3);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-2.5) grid (3.5,3);
+ \draw [->](-2,0) -- (3.5,0) node[above=15mm,left=4mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-2.5) -- (-1.9,3) node[above] {};
+ \draw[semithick,domain=-2:3.5,label=left:$\symcal{C}_P$] plot (\x,{0.5(\x+1)*(\x-2)});
+ \draw [fill=white] (-1,0) circle (1.2pt) node[below=2mm,left] {$\beta$};
+\draw [fill=white] (2,0) circle (1.2pt) node[below=2mm,right] {$\alpha$};
+\node[below] at (.75,-2.5){$\Delta>0\;\text{ et }\; a>0$};
+ \end{tikzpicture}
+}
+\newcommand{\paratwo}{
+ \begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-4) rectangle (3.5,2.5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-3) grid (3.5,2.5);
+ \draw [->](-2,0) -- (3.5,0) node[above=12mm,left=8mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-3) -- (-1.9,2.5) node[above] {};
+ \draw[semithick,domain=-2:3.5,label=left:$\symcal{C}_P$] plot (\x,{-(\x+1)*(\x-2)});
+ \draw [fill=white] (-1,0) circle (1.2pt) node[above=2mm,left] {$\alpha$};
+\draw [fill=white] (2,0) circle (1.2pt) node[above=2mm,right] {$\beta$};
+\draw[fill=white,white] (-2,-4) rectangle (3.5,-3);
+\node[below] at (.75,-3){$\Delta>0\;\text{ et }\; a<0$};
+ \end{tikzpicture}
+}
+
+\newcommand{\parathree}{
+\begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-1.5) rectangle (3.5,5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-.5) grid (3.5,5);
+ \draw [->](-2,0) -- (3.5,0) node[above=25mm,left=6mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-.5) -- (-1.9,5) node[above] {};
+ \draw[semithick,domain=-2:3.5] plot (\x,{(\x+1)*(\x-2)+2.25});
+ \draw [fill=white] (0.5,0) circle (1.2pt) node[above=1mm] {$\frac{-b}{2a}$};
+\node[below] at (.75,-0.5){$\Delta=0\;\text{ et }\; a>0$};
+ \end{tikzpicture}
+}
+
+\newcommand{\parafour}{
+\begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-6) rectangle (3.5,0.5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-5) grid (3.5,.5);
+ \draw [->](-2,0) -- (3.5,0) node[below=25mm,left=6mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-5) -- (-1.9,.5) node[above] {};
+ \draw[semithick,domain=-2:3.5] plot (\x,{-(\x+1)*(\x-2)-2.25});
+ \draw [fill=white] (0.5,0) circle (1.2pt) node[below=1mm] {$\frac{-b}{2a}$};
+\draw[fill=white,white] (-2,-6) rectangle (3.5,-5);
+\node[below] at (.75,-5){$\Delta=0\;\text{ et }\; a<0$};
+ \end{tikzpicture}
+}
+
+\newcommand{\parafive}{
+\begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-1.5) rectangle (3.5,5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-.5) grid (3.5,5);
+ \draw [->](-2,0) -- (3.5,0) node[above=25mm,left=6mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-.5) -- (-1.9,5) node[above] {};
+ \draw[semithick,domain=-2:3.5] plot (\x,{(\x+1)*(\x-2)+2.75});
+\node[below] at (.75,-.5){$\Delta<0\;\text{ et }\; a>0$};
+ \end{tikzpicture}
+}
+
+\newcommand{\parasix}{
+ \begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-6) rectangle (3.5,0.5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-5) grid (3.5,.5);
+ \draw [->](-2,0) -- (3.5,0) node[below=25mm,left=6mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-5) -- (-1.9,.5) node[above] {};
+ \draw[semithick,domain=-2:3.5] plot (\x,{-(\x+1)*(\x-2)-2.75});
+\draw[fill=white,white] (-2,-6) rectangle (3.5,-5);
+\node[below] at (.75,-5){$\Delta<0\;\text{ et }\; a<0$};
+ \end{tikzpicture}
+}
+%%%%
+\tgotitle{Polynômes du second degré}
+\tgoshorttoc
+\section{Généralités}
+\subsection{Fonction polynôme du second degré}
+On dit qu'une fonction $P$, définie sur l'ensemble $\R$ des nombres réels et à valeurs dans $\R$, est une fonction polynôme du second degré s'il existe un réel $a$ non nul ainsi que deux réels $b$ et $c$ tels que
+\[\forall x\in\R,\; P(x)=ax^2+bx+c.\]
+On convient alors de dire que $ax^2+bx+c$ est un polynôme du second degré.
+
+\begin{remark}
+Cette définition n'entraîne évidemment pas qu'une fonction polynôme de degré 2 donnée ne puisse pas s'écrire sous une forme différente. Par exemple :
+\begin{itemize}
+\item Cas de $P : \R\rightarrow\R,\; x\mapsto x^2-3x+2$ : $\forall\,x\in\R$, $P(x)=(x-1)(x-2)$.
+\item Cas de $Q : \R\rightarrow\R,\; x\mapsto x^2-1$ : $\forall\,x\in\R$,
+ \[Q(x)=\frac{x^4-1}{x^2+1}.\]
+ \item Cas de $R : \R\rightarrow\R,\; x\mapsto x^2-2x+5$ : $\forall\,x\in\R$, $R(x)=\left(\left({x-1}\right)^2\right)+4$.
+\end{itemize}
+\end{remark}
+\subsection{Écriture unique}
+Il existe cependant un certaine unicité de l'écriture d'un polynôme de degré~2, qui concerne plus précisément ses \emph{coefficients} $a$, $b$ et $c$.
+\begin{thm}
+Soit $(a,a')\in\R^*\times\R^*$, $(b,b')\in\R\times\R$ et $(c,c')\in\R\times\R$ tels que
+\[\forall x\in\R,\; ax^2+bx+c=a'x^2+b'x+c',\]
+alors $a=a'$, $b=b'$ et $c=c'$.
+\label{thunicite}
+\end{thm}
+\begin{proof}
+L'égalité entre les deux expressions étant vraie pour tout $x\in\R$, elle l'est en particulier pour $x=0$. On en déduit que $c=c'$ et par conséquent
+\begin{align*}
+\forall x\in\R,\; ax^2+bx&=a'x^2+b'x,\\
+\forall x\in\R,\; x(ax+b)&=x(a'x+b'),\\
+\intertext{Soit, en simplifiant par $x\neq0$}
+\forall x\in\R^*,\;ax+b&=a'x+b'.
+\end{align*}
+
+En donnant alors successivement à $x$ les valeurs $1$ et $2$, on obtient :
+\[\left\{\begin{aligned}
+(a-a')+(b-b')&=0\\
+2(a-a')+(b-b')&=0
+\end{aligned}\right.\;,\]
+dont la résolution amène à $a-a'=0$ et $b-b'=0$, c.-à-d. : $a=a'$ et $b=b'$.
+\end{proof}
+
+\section{Forme canonique}
+\subsection{Méthode de complétion au carré}\label{sec2-1}
+Fixons nous un réel $m$. On rappelle que, pour tout $x\in\R$, $(x+m)^2=x^2+2mx+m^2$. Ou encore :
+\begin{equation}
+\forall x\in\R, \; x^2+2mx=\left(x+m\right)^2-m^2.
+\end{equation}
+
+Dans le cas de $P : \R\rightarrow\R, x\mapsto x^2+2mx+p$, on remarque que l'on peut alors écrire
+\begin{equation}
+x^2+2mx+p=\left(x+m\right)^2-m^2+p.\label{eqfcreduite}
+\end{equation}
+
+Cette remarque fonde la \emph{méthode de complétion au carré}.
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item \label{explefactor}
+On souhaite résoudre l'équation $x^2-6x+7=0$. On remarque que \[x^2-6x+7=(x-3)^2-9+7\] et on se ramène ainsi à
+\begin{align*}
+(x-3)^2-2&=0,\\
+(x-3)^2-\bigl(\sqrt{2}\bigr)^2&=0,\\
+\intertext{puis en employant une identité remarquable}
+\bigl(x-3+\sqrt{2}\bigr)\bigl(x-3-\sqrt{2}\bigr)&=0.
+\end{align*}
+D'où l'on déduit que l'ensemble des solutions de $x^2-6x+7=0$ est
+\[
+\symcal{S}=\bigl\{3-\sqrt{2}, 3+\sqrt{2}\bigr\}.
+\]
+\item Démontrer que $x^2+x+1$ est strictement positif pour tout $x\in\R$.
+On écrit
+\begin{align*}
+x^2+x+1&=x^2+2\times\frac12x+1,\\
+&=\left(x+\frac12\right)^2-\frac14+1,\\
+&=\left(x+\frac12\right)^2+\frac34\,.
+\end{align*}
+
+On en déduit que, pour tout $x\in\R$,
+\[x^2+x+1≥\frac34\:.\]
+On a donc finalement : $\forall x\in\R,\; x^2+x+1>0$.
+\end{enumerate}
+\end{example}
+\subsection{Cas général}
+En factorisant $a$ dans $P(x)$, on obtient le théorème suivant :
+\begin{thm}
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$. On a
+\begin{equation}
+\forall x\in\R,\;P(x)=a\left(\left(x+\frac{b}{2a}\right)^2-\frac{\Delta}{4a^2}\vphantom{\frac{b^2}{4a^2}}\right),\label{eqformcan}
+\end{equation}
+où $\Delta$, que l'on nomme \emph{discriminant} du polynôme $P(x)$, vaut $\Delta=b^2-4ac$.
+\label{thformcan}
+\end{thm}
+\begin{proof}
+On commence par factoriser $a$ dans $P(x)$ :
+\[P(x)=a\left(x^2+\frac{b}{a}x+\frac{c}{a}\right),\]
+puis on utilise l'égalité \eqref{eqfcreduite} avec $m=b/(2a)$ et $p=c/a$. On obtient
+\[P(x)=a\left(\left(x+\frac{b}{2a}\right)^2-\frac{b^2}{4a^2}+\frac{c}{a}\right).
+\]
+%D'où le résultat annoncé.
+Une réduction au même dénominateur amène alors au résultat annoncé.
+\end{proof}
+
+\subsubsection{Discriminant réduit}
+Dans le cas où $b$ se met agréablement sous la forme $2b'$ (par exemple, lorsque $b$ est un entier pair) on peut remarquer que $b/2a=b'/a$ et que $\Delta=4b'^2-4ac$.
+ On est alors amené à poser $\Delta'=b'^2-ac$ et l'on obtient
+\begin{equation}
+\forall x\in\R,\;P(x)=a\left(\left(x+\frac{b'}{a}\right)^2-\frac{\Delta'}{a^2}\vphantom{\frac{b^2}{4a^2}}\right).
+\end{equation}
+Le nombre $\Delta'$ est souvent nommé \emph{discriminant réduit}
+
+\subsubsection{Extrémums}
+La forme canonique de la fonction $P$ met en évidence l'existence d'un extrémum dont la nature dépend du signe de $a$.
+\begin{thm}
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$.
+\XSmartphoneCommand{\vspace{\baselineskip}}
+
+La fonction $P$ admet en\SmartphoneCommand{\\} $-\dfrac{b}{2a}\left\{\begin{aligned}
+\text{un \emph{minimum} égal à $\smash{-\dfrac{\Delta}{4a}}$}\; &\text{si $a>0$,}\\[2.5ex]
+\text{un \emph{maximum} égal à $\smash{-\dfrac{\Delta}{4a}}$}\; &\text{si $a<0$.}
+\end{aligned}\right.$
+\vspace{1ex}\par
+\label{thextrem}
+\end{thm}
+
+\begin{proof}
+On voit tout d'abord que
+\[\forall x\in\R,\;\left(x+\frac{b}{2a}\right)^2≥0,
+\]
+donc que
+\[
+\forall x\in\R,\;\left(x+\frac{b}{2a}\right)^2-\frac{\Delta}{4a^2}≥-\frac{\Delta}{4a^2},
+\]
+l'égalité n'étant atteinte que si le carré est nul, donc si $x=-b/(2a)$. On fait alors apparaître $P(x)$ (compte tenu de l'égalité \eqref{eqformcan} du théorème \ref{thformcan}) en multipliant chaque membre de cette inégalité par $a\neq0$, ce qui change ou non son sens, selon que a est positif ou négatif. Il vient alors :
+\begin{itemize}
+\item si $a>0$,
+\[
+\forall x\in\R,\; P(x)≥-\frac{\Delta}{4a}\;;
+\]
+\item et si $a<0$,
+\[
+\forall x\in\R,\; P(x)≤-\frac{\Delta}{4a}\,.
+\]
+\end{itemize}
+On sait de plus que dans les deux cas, l'égalité est atteinte si et seulement si $x=-b/(2a)$.
+\end{proof}
+
+\section{Factorisation}
+\subsection{Théorème de factorisation}
+La méthode vue dans l'exemple \ref{explefactor} de la section \ref{sec2-1} se généralise, pourvu que $\Delta$ soit positif. Précisément, on a le théorème
+\begin{thm}\label{thfactor}%
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$. Si le discriminant $\Delta$ de $P$ est positif ($\Delta≥0$), alors
+\begin{align*}
+\forall x \in\R,\;P(x)&=a(x-\alpha)(x-\beta)\\
+\text{où}\quad\alpha=\frac{-b+\sqrt{\Delta}}{2a}&\text{ et }\beta=\frac{-b-\sqrt{\Delta}}{2a}.
+\end{align*}
+\end{thm}
+\begin{remark}
+Le cas où $\Delta=0$ est particulier, puisque l'on a alors
+\[
+\alpha=\beta=\frac{-b}{2a}\quad\text{soit :}\quad\forall x\in\R,\;P(x)=a\left(x-\frac{-b}{2a}\right)^2.
+\]
+\end{remark}
+
+\begin{proof}
+On remarque que si $\Delta≥0$, on peut écrire
+\[
+\frac{\Delta}{4a^2}=\left(\frac{\sqrt{\Delta}}{2a}\right)^2.
+\]
+
+En reportant dans l'égalité \eqref{eqformcan} du théorème \ref{thformcan}, on obtient
+\[
+\forall x\in\R,\;P(x)=a\left(\left(x+\frac{b}{2a}\right)^2-\left(\frac{\sqrt{\Delta}}{2a}\right)^2\right).
+\]
+
+On obtient alors le résultat annoncé en factorisant la différence de deux carrés grâce à l'identité remarquable $A^2-B^2=(A+B)(A-B)$.
+\end{proof}
+
+\subsection{Racines}
+Soit $P$ une fonction polynôme du second degré.
+On dit que $P$ est factorisable par $(x-x_0)$ s'il existe $m\in\R^*$ et $p\in\R$ tels que
+\begin{equation}\forall x\in\R,\;P(x)=(x-x_0)(mx+p).\label{eqfactorx0}\end{equation}
+On dit qu'un réel $x_0$ est une racine de $P$ si $P(x_0)=0$ : une racine de $P$ n'est donc rien d'autre qu'une solution de l'équation $P(x)=0$.
+
+Nous pouvons maintenant formuler le théorème qui suit :
+\begin{thm}
+Soit $P$ une fonction polynôme du second degré et $x_0\in\R$. Le réel $x_0$ est une racine de $P$ si et seulement si $P$ est factorisable par $(x-x_0)$.
+\end{thm}
+
+\begin{proof}
+Tout d'abord, si $P$ est factorisable par $x_0$, il suffit de calculer $P(x_0)$ en utilisant l'égalité \eqref{eqfactorx0} pour constater que $P(x_0)=0$, donc que $x_0$ est une racine de $P$.
+
+Réciproquement supposons que $x_0$ est une racine de $P$, donc que $P(x_0)=0$. Soit alors $a$, $b$ et $c$ les coefficients de $P(x)$ : on a
+\[ax_0^2+bx_0+c=P(x_0)=0,\]
+ d'où $c=-ax_0^2-bx_0$. Et en substituant cette écriture de $c$ dans l'expression de $P(x)$ :
+\begin{align*}
+P(x)&=ax^2+bx+c\\
+&= ax^2+bx-ax_0^2-bx_0,\\
+&= a(x^2-x_0^2)+b(x-x_0),\\
+&= a(x-x_0)(x+x_0)+b(x-x_0),\\
+&=(x-x_0)(ax+ax_0+b).
+\end{align*}
+
+On en arrive à $P(x)=(x-x_0)(mx+p)$, en prenant $m=a$ et $p=ax_0+b$.
+\end{proof}
+
+\subsubsection{Racines et équation du second degré}
+Nous faisons ici le point sur les racines de $P$, autrement dit sur la résolution de l'équation
+$P(x)=0$.
+
+
+\begin{itemize}
+\item \textit{Si $\Delta<0$,} nous reprenons le théorème \ref{thextrem} : dans ce cas, la fonction $P$ possède un minimum strictement positif si $a>0$ ou un maximum strictement négatif si $a<0$. Dans chaque cas, si $\Delta<0$, l'équation $P(x)=0$ ne possède pas de solution, autrement dit $P$ n'admet aucune racine.
+
+\item \textit{Si maintenant $\Delta=0$,} la remarque qui suit le théorème \ref{thfactor} prouve que l'équation $P(x)=0$ équivaut à
+\[
+\left(x-\frac{-b}{2a}\right)^2=0
+\]
+ et admet $-b/(2a)$ pour seule solution, ou encore que ce nombre est la seule racine de $P$. Dans la mesure où le facteur $x-(-b/(2a))$ intervient par son carré, on parle alors de \emph{racine double}.
+
+ \item \textit{Enfin si $\Delta>0$,} d'après le théorème \ref{thfactor}, $P(x)=0$ équivaut à $(x-\alpha)(x-\beta)=0$.
+%\DinoXiPadminiCommand{$(x-\alpha)(x-\beta)=0$.}
+%\DinoiPadminiCommand{\[(x-\alpha)(x-\beta)=0.\]}
+ Cette équation admet donc deux solutions, ou encore $P$ admet deux racines qui sont
+ \[
+ \alpha=\frac{-b+\sqrt{\Delta}}{2a}\quad\text{et}\quad\beta=\frac{-b-\sqrt{\Delta}}{2a}.
+ \]
+\end{itemize}
+
+
+\begin{remark}
+Dons le cas où l'on a posé $b=2b'$ et utilisé le discriminant réduit $\Delta'$, il est facile de vérifier que les racines s'expriment comme suit :
+\[
+\alpha=\frac{-b'+\sqrt{\Delta'}}{a}\quad\text{et}\quad\beta=\frac{-b'-\sqrt{\Delta'}}{a}.
+\]
+\end{remark}
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Résoudre l'équation $3x^2-5x+1=0$ : calculons $\Delta=25-12=13$. L'équation a deux solutions qui sont les racines de $3x^2-5x+1$ :
+\[
+\alpha=\frac{5+\sqrt{13}}{6}\quad\text{et}\quad\beta=\frac{5-\sqrt{13}}{6}.
+\]
+L'ensemble des solutions est $\symcal{S}=\{\alpha,\beta\}$.
+\item Factoriser si possible $-2x^2+3x+2$ : on calcule $\Delta=9+16=5^2$. Il existe deux racines qui sont $2$ et $-1/2$ ; d'où
+\[
+\forall x\in\R,\;-2x^2+3x+2=-2(x-2)\left(x+\frac12\right).
+\]
+\item Factoriser si possible $A(x)=2x^2-8$ : utilisons l'identité remarquable
+\[
+a^2-b^2=(a+b)(a-b).
+\]
+\[\forall x\in\R,\;2x^2-8=2(x^2-4)=2(x-2)(x+2).\]
+Dans un cas de ce genre, il est bien sûr inutile de calculer $\Delta$. En revanche, l'existence de deux racines distinctes nous prouve que $\Delta>0$.
+\item Résoudre l'équation $3x^2+2=0$. La fonction polynôme $x\mapsto3x^2+2$ admet un minimum strictement positif égal à $2$. Il n'y a aucune solution, l'ensemble des solutions est $\symcal{S}=\emptyset$.
+\item Factoriser $9x^2-6x+1=0$. On pourrait envisager de calculer $\Delta$, mais en observant l'expression, on reconnait un membre d'identité remarquable :
+\[\forall x\in\R,\;9x^2-6x+1=(3x-1)^2.\]
+\item Résoudre $x^2+2x=0$. La factorisation est immédiate :
+\[x^2+2x=0\iff x(x+2)=0\iff x=0\text{ ou }x+2=0.\]
+L'ensemble des solutions de cette équation est donc $\symcal{S}=\{0,-2\}$.
+\end{enumerate}
+\end{example}
+%
+%
+
+\subsection{Problème de signe}
+Nous rappelons ici que la fonction \emph{signe} est définie sur $\R$ comme suit :
+\[\forall x \in \R,\; \sgn(x)=\begin{cases}
+-1 &\text{si $x<0$,}\\
+0 &\text{si $x=0$,}\\
+1 &\text{si $x>0$.}
+\end{cases}
+\]
+Cette définition est beaucoup plus pertinente que l'usage des symboles ${+}$ et ${-}$, ne serait-ce que parce qu'elle rend exacte et claire une formulation comme \emph{le signe du produit est le produit des signes}.
+\begin{thm}
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$.
+\begin{itemize}
+\item Si $\Delta<0$, le signe de $P(x)$ est égal à celui de $a$ en tout $x$ réel.
+\item Si $\Delta=0$, le signe de $P(x)$ est égal au signe de $a$ en tout $x$ réel différent de $-b/(2a)$ et s'annule en $-b/(2a)$.
+\item Si $\Delta>0$, le signe de $P(x)$ est égal au signe de $-a$ en tout $x$ intérieur à l'intervalle des racines, au signe de $a$ en tout $x$ extérieur à l'intervalle des racines et s'annule aux racines.
+\end{itemize}
+\label{thsgn}
+\end{thm}
+
+Ces résultats s'interprètent sur la représentation graphique $\symcal{C}_P$ de $P$, selon les signes de $\Delta$ et $a$ (voir figure \ref{figracines}).
+\afterpage{\clearpage\begin{figure}[H]\centering
+\AfourCommand{%
+\noindent\hfill\paraone\hfill\parathree\hfill\parafive\hfill\null
+\par
+\noindent\hfill\paratwo\hfill\parafour\hfill\parasix\hfill\null
+}
+\BigTabletCommand{%
+\noindent\hfill\paraone\hfill\parathree\hfill\parafive\hfill\null
+\par
+\noindent\hfill\paratwo\hfill\parafour\hfill\parasix\hfill\null
+}
+\TabletCommand{%
+\noindent\hfill\paraone\hfill\parathree\hfill\parafive\hfill\null
+\par
+\noindent\hfill\paratwo\hfill\parafour\hfill\parasix\hfill\null
+}
+\SmartphoneCommand{%
+\noindent\hfill\paraone\hfill\paratwo\hfill\null
+\par
+\noindent\hfill\parathree\hfill\parafour\hfill\null
+\par
+\noindent\hfill\parafive\hfill\parasix\hfill\null
+}
+\SmallTabletCommand{%
+\vspace*{1.5cm}\par
+\noindent\hfill\paraone\hfill\paratwo\hfill\null
+\par
+\noindent\hfill\parathree\hfill\parafour\hfill\null
+\par
+\noindent\hfill\parafive\hfill\parasix\hfill\null
+}
+\figcaption{}\label{figracines}
+\end{figure}
+}
+
+\begin{proof}
+Examinons successivement les trois cas du théorème.
+\begin{itemize}
+\item Si $\Delta<0$, le résultat provient d'une remarque déjà faite : dans ce cas, la fonction $P$ possède un minimum strictement positif si $a>0$ ou un maximum strictement négatif si $a<0$.
+\item Si $\Delta=0$, on a
+\[
+P(x)=a\left(x+\frac{b}{2a}\right)^2.
+\]
+% La fonction $P$ admet donc $0$ pour minimum lorsque $a>0$ ou pour maximum lorsque $a>0$. Dans les deux cas cet extrémum n'est atteint qu'une fois en $-b/(2a)$.
+Le résultat annoncé se déduit du tableau de signes
+\[\begin{array}{c|ccccc}
+\hline
+x&-\infty&&-b/(2a)&&\infty\\
+\hline
+\sgn\bigl(\bigl(x+\frac{b}{2a}\bigr)^2\bigr)&&1&0&1&\\
+\hline
+\sgn(P(x))&&\sgn(a)&0&\sgn(a)&\\
+\hline
+\end{array}\]
+\item Si $\Delta>0$, on constate, en se référant à l'expression des racines $\alpha$ et $\beta$ dans théorème \ref{thfactor}, que $\alpha$ est la plus grande des deux racines si $a>0$ et la plus petite si $a<0$. En posant
+\begin{align*}\alpha'=\min(\alpha,\beta)&\text{ et }\beta'=\max(\alpha,\beta),\\
+\intertext{on obtient}
+P(x)=a(x-\alpha')(x-\beta'),\quad&\text{ avec $\alpha'<\beta'$}.
+\end{align*}
+On établit alors le tableau de signes
+{\SmartphoneCommand{\small}
+\[\begin{array}{c|ccccccc}
+\hline
+x&-\infty&&\alpha'&&\beta'&&\infty\\
+\hline
+\sgn(x-\alpha')&&-1&0&1&1&1&\\
+\hline
+\sgn(x-\beta')&&-1&-1&-1&0&1&\\
+\hline
+\sgn(P(x))&&\sgn(a)&0&\sgn(-a)&0&\sgn(a)&\\
+\hline
+\end{array}
+\]}
+Le résultat annoncé s'en déduit.\qedhere
+\end{itemize}
+\end{proof}
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Résoudre $x^2-x-6≤0$ : le discriminant vaut $\Delta=1+24=25$. Il existe deux racines qui sont $-2$ et $3$. On veut que $x^2-x-6$ soit négatif donc nul ou du signe de~$-a$ : cela se produit aux racines ou à l'intérieur de l'intervalle des racines. L'ensemble des solutions est $\symcal{S}=[-2,3]$.
+
+On aurait pu également, une fois les racines calculées, utiliser la forme factorisée du polynôme $P(x)=x^2-x-6$. Ainsi $P(x)=(x+2)(x-3)$, d'où le tableau de signes :
+\[\begin{array}{c|ccccccc}
+\hline
+x&-\infty&&\quad-2\quad&&\quad3\quad&&\infty\\
+\hline
+\sgn(x+2)&&-1&0&1&1&1&\\
+\hline
+\sgn(x-3)&&-1&-1&-1&0&1&\\
+\hline
+\sgn(P(x))&&1&0&-1&0&1&\\
+\hline
+\end{array}
+\]
+On retrouve la solution donnée par la première méthode.
+
+\item Résoudre $(2x-6)^2>0$ : ce carré est positif pour tout $x\in\R$ et s'annule si et seulement si $x=3$. Par conséquent, l'ensemble des solutions de cette inéquation est $\symcal{S}=\R\smallsetminus\{3\}$. Si l'on avait eu la très mauvaise idée de développer pour calculer le discriminant, on aurait trouvé $\Delta=0$ et une racine double égale à $3$.
+\item Résoudre $3x^2-4x-1≥0$ : c'est l'occasion d'utiliser le discriminant réduit.
+
+On trouve $\Delta'=4+3=7$.
+Il existe deux racines :
+\[
+\alpha=\frac{2+\sqrt{7}}{3}\quad\text{et}\quad\beta=\frac{2-\sqrt{7}}{3}.
+\]
+On veut que $3x^2-4x-1$ soit positif, donc nul ou du signe de $a$ : cela se produit aux racines ou à l'extérieur de l'intervalle des racines. L'ensemble des solutions est donc
+\[
+\symcal{S}=\left]-\infty, \beta\right] \cup \left[\alpha, \infty\right[.
+\]
+\item Résoudre $5x-2x^2>0$. La factorisation se fait à vue :
+\[
+5x-2x^2=-2x\left(x-\frac52\right),
+\]
+ il y a donc deux racines : $\alpha=0$ et $\beta=5/2$.
+
+On peut ensuite soit faire un tableau de signes, soit utiliser le théorème \ref{thsgn}, ce que nous ferons ici.
+On veut que $5x-2x^2$ soit strictement positif, donc du signe de $-a$ : cela se produit si et seulement si $x$ est à l'intérieur de l'intervalle des racines. L'ensemble des solutions est donc
+$\symcal{S}=\left]0,\, 5/2\right[$.
+\item Résoudre $x^2-x+1>0$ : on trouve $\Delta=-3$. Il n'y a pas de racines, donc $x^2-x+1$ admet pour signe $1$ pour tout $x\in\R$. Tout $x$ réel est donc solution : l'ensemble des solutions est $\symcal{S}=\R$.
+\end{enumerate}
+\end{example}
+\section{Somme et produit des racines}
+\subsection{Expression de la somme et du produit des racines}
+On suppose ici que $\Delta≥0$, c'est-à-dire que le polynôme $P$ deux racines $\alpha$ et $\beta$, confondues en une racine double au cas où $\Delta=0$. On a le théorème suivant:
+\begin{thm}\label{thsomprod}%
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$. Si le discriminant $\Delta$ de $P$ est positif, la somme et le produit des racines de $P$ sont données par
+\[
+\alpha+\beta=-\frac{b}{a} \quad\text{et}\quad \alpha\beta=\frac{c}{a}\:.
+\]
+\end{thm}
+
+\begin{remark}
+On sait que si $\Delta=0$, on a $\alpha=\beta=-b/(2a)$. On retrouve bien
+\[\alpha+\beta=2\times\left(-\frac{b}{2a}\right)=-\frac{b}{a}\;;\]
+on remarque également que, puisque $\Delta=0$, on a $b^2=4ac$ et par conséquent
+\[
+\alpha\beta=\left(-\frac{b}{2a}\right)^2=\frac{b^2}{4a^2}=\frac{4ac}{4a^2}=\frac{c}{a}\:.
+\]
+\end{remark}
+
+\begin{proof}On utilise la forme factorisée de $P(x)$ :
+\begin{align*}
+\forall x\in\R,\;P(x)&=a(x-\alpha)(x-\beta),\\
+&=a(x^2-\alpha x-\beta x +\alpha\beta),\\
+&=a\left(x^2-(\alpha+\beta)x+\alpha\beta\right),\\
+&=ax^2-a(\alpha+\beta)x +a\alpha\beta.
+\end{align*}
+
+D'après le théorème \ref{thunicite}, on peut identifier les coefficients : $-a(\alpha+\beta)=b$ et $a\alpha\beta=c$. Le résultat annoncé en découle immédiatement.
+\end{proof}
+\subsubsection{Racine apparente ou connue}
+On dit que $\alpha$ est une \frquote{racine apparente} (on dit également \frquote{évidente}) du polynôme $P$ lorsqu'un simple calcul à vue permet de montrer que $P(\alpha)=0$. On parle de racine connue lorsqu'un calcul antérieur a permis d'établir cette égalité. Dans une telle situation, il est facile de déterminer $\beta$, l'autre racine de $P$, grâce à la somme ou au produit :
+\[
+ \beta=-\frac{b}{a}-\alpha \quad \text{ou (dans le cas où $\alpha\neq0$)}\quad\beta=\frac{c}{a\alpha}.
+\]
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Factoriser le polynôme $P$, défini sur $\R$ par $P(x)=3x^2+9x+6$. Un calcul immédiat montre que $P(-1)=0$ : le réel $-1$ est donc racine de $P$, tandis que l'autre racine $\beta$ vérifie~\mbox{$-1\times\beta=6/3=2$}. D'où $\beta=-2$ et la factorisation : \[P(x)=3(x+1)(x+2).\]
+\item On pose $Q(x)=2x^2-13x+15$. Calculer $Q(5)$ et résoudre l'équation $Q(x)=0$. On trouve $Q(5)=0$ : le réel $5$ est donc racine de $Q$. L'autre racine vérifie $5+\beta=6{,}5$, d'où $\beta=1{,}5$ : l'ensemble des solutions de l'équation proposée est \[\symcal{S}=\left\{5, \frac32\right\}\,.\]
+
+\end{enumerate}
+\end{example}
+
+\subsection{Trouver deux nombres connaissant leur somme et leur produit}
+
+\begin{thm}
+Deux réels $s$ et $p$ étant donnés, il existe deux nombres réels $\alpha$ et $\beta$ dont la somme vaut $s$ et le produit $p$ si et seulement si le nombre $\Delta=s^2-4p$ est positif. Dans ce cas, les nombres $\alpha$ et $\beta$ sont les racines de la fonction polynôme de degré $2$ définie par $P(x)=x^2-sx+p$, de discriminant $\Delta$.
+\end{thm}
+\begin{proof}
+\begin{itemize}
+\item Tout d'abord, si $s^2-4p≥0$, la fonction polynôme $P$, de discriminant $\Delta=s^2-4p$ admet deux racines dont la somme est $s$ et le produit $p$ d'après le théorème \ref{thsomprod}.
+
+\item Réciproquement, s'il existe deux nombres $\alpha$ et $\beta$ tels que
+\[
+\alpha+\beta=s \quad\text{et}\quad \alpha\beta=p,
+\]
+on a, d'après la première équation, $\beta=s-\alpha$, puis en substituant dans la seconde
+\[\alpha(s-\alpha)=p\quad\text{soit}\quad\alpha^2-s\alpha+p=0,\]
+c'est-à-dire $P(\alpha)=0$.
+
+Il est donc nécessaire que $\alpha$ soit une racine de $P$, ce qui entraîne que le discriminant $s^2-4p$ soit positif. Enfin, la relation $\beta=s-\alpha$ entraîne que $\beta$ est alors la seconde racine de $P$.\qedhere
+\end{itemize}
+\end{proof}
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Trouver deux nombres dont la somme vaut $1$ et le produit $-12$. Ces deux nombres doivent être racines de $x^2+x-12$ dont le discriminant est $49$ et qui admet $-3$ et $4$ pour racines. Les deux nombres cherchés sont donc $-3$ et $4$.
+\item Trouver deux nombres dont la somme vaut $6$ et le produit $9$. On forme le polynôme $x^2-6x+9$, égal à $(x-3)^2$, dont le discriminant est nul et qui admet $3$ pour racine double : les nombres $\alpha$ et $\beta$ dont le produit vaut $9$ et la somme $6$ sont tous deux égaux à $3$.
+\item Trouver deux nombres dont la somme vaut $s=5$ et le produit $p=8$. On calcule $s^2-4p=-7$ : le problème n'a pas de solution (tout comme le polynôme $x^2-5x+8$ n'admet pas de racines).
+\end{enumerate}
+\end{example}
+\endinput
+
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/puissance-cercle.tex b/Master/texmf-dist/doc/lualatex/tango/examples/puissance-cercle.tex
new file mode 100644
index 00000000000..0263bcb20f5
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/puissance-cercle.tex
@@ -0,0 +1,713 @@
+\tgotitle{Puissance d'un point par rapport à un cercle}
+
+\section{Mesure algébrique}
+On définit la mesure algébrique d'un bipoint~$(A,B)$ dans un repère de la droite~$(AB)$ comme la différence des abscisses $x_B-x_A$ (voir figure~\ref{figmesalg}). Dans le contexte euclidien qui nous intéresse ici, les repères des droites sont normés : la mesure algébrique ne dépend que de l'orientation de la droite (elle est définie \frquote{au signe près}). On notera cependant que le produit ou le quotient de deux mesures algébriques sont quant à eux indépendants du choix du repère, puisqu'en cas de changement d'orientation les signes des deux quantités considérées changent simultanément.
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=above:$A$] (A) at (-1.3,0);
+\coordinate [label=below:$x_A$] (xA) at (-1.3,0);
+\coordinate[label=above:$B$] (B) at (1.7,0);
+\coordinate [label=below:$x_B$] (xB) at (1.7,0);
+\coordinate (Z) at ($(A)!1.1!(B)$);
+\coordinate (T) at ($(B)!1.1!(A)$);
+\draw (Z)--(T);
+\node[below] at ($(A)!0.5!(B)$){$\mesalg{AB}=x_B-x_A$};
+\foreach \point in {A,B}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figmesalg}
+\end{figure}
+
+De la définition qui vient d'être donnée, on déduit immédiatement que :
+\begin{itemize}
+\item Pour tout point $A$, $\mesalg{AA}=0$.
+\item Pour tout couple de points $A$ et $B$, $\mesalg{BA}$ et $\mesalg{AB}$ sont deux nombres opposés.
+\end{itemize}
+Plus généralement, on peut énoncer le
+\begin{thm}\label{thchasles}%
+Soit $A$, $B$ et $C$ trois points donnés sur une droite dans un ordre quelconque. On a l'égalité suivante (relation de Chasles pour les mesures algébriques)
+\[\mesalg{AC}=\mesalg{AB}+\mesalg{BC}.\]
+\end{thm}
+
+\begin{proof} La vérification est immédiate.
+\begin{align*}\mesalg{AB}+\mesalg{BC}&=(x_B-x_A)+(x_C-x_B),\\
+&=x_C-x_A,\\
+&=\mesalg{AC}.\qedhere
+\end{align*}
+\end{proof}
+
+Nous donnons maintenant deux compléments sur la notion de mesure algébrique, qui faciliteront la compréhension de la suite.
+
+\begin{remark}[Lien avec le produit d'un vecteur par un réel]
+La notion de mesure algébrique est fortement liée à celle de produit d'un vecteur par un réel. Si $O$ et $A$ sont deux points distincts, $\lambda$ un réel et $M$ un point quelconque du plan, on a l'équivalence
+\[
+(\Vector{OM}=\lambda\Vector{OA})\iff(M\in (OA) \text{ et }\mesalg{OM}=\lambda\mesalg{OA}).
+\]
+Il s'en déduit que le milieu $I$ d'un segment $[AB]$ peut être caractérisé par des relations entre mesures algébriques, qu'il est parfois intéressant de substituer aux égalités vectorielles correspondantes :
+\begin{align}
+I \text{ est le milieu de }[AB]&\iff \mesalg{AI}=\mesalg{IB}=\frac12\mesalg{AB},\\
+&\iff\mesalg{IA}+\mesalg{IB}=0.\label{eqcaracmilieu}
+\end{align}
+\end{remark}
+
+\begin{remark}[Lien avec le produit scalaire]
+La mesure algébrique peut également intervenir dans l'expression du cosinus d'un angle et du produit scalaire. Précisément, si $A$ et $B$ sont deux points tous deux distincts du point $O$, le produit scalaire $\Vector{OA}\cdot\Vector{OB}$ peut être défini par
+\begin{equation}\Vector{OA}\cdot\Vector{OB}=OA\times OB\times \cos(\widehat{AOB}).\label{pscal1}
+\end{equation}
+%\[
+%\Vector{OA}\cdot\Vector{OB}=OA\times OB\times \rho([OA),[OB)),
+%\]
+%où $\rho([OA),[OB))$ désigne le rapport de projection orthogonale de la demi-droite $[OB)$ sur la demi-droite $[OA)$.
+
+On désigne par $H$ le projeté orthogonal de $B$ sur la \emph{droite} $(OA)$.
+La définition~\eqref{pscal1} permet d'affirmer que le produit scalaire $\Vector{OA}\cdot\Vector{OB}$ est de même signe que $\cos(\widehat{AOB})$, soit positif, si l'angle $\widehat{AOB}$ est aigu et négatif si cet angle est obtus. Le point $H$ appartient dans ce dernier cas à la demi-droite opposée à $[OA)$ (voir figure~\ref{figpscal0}). On a donc :
+\begin{equation*}
+\cos(\widehat{AOB})=
+\begin{cases}
+\hphantom{-}OH/OB&\text{si $\widehat{AOB}$ est aigu},\\
+-OH/OB&\text{si $\widehat{AOB}$ est obtus}.\\
+\end{cases}
+\end{equation*}
+
+%\[\cos(\widehat{AOB})=\frac{\mesalg{OH}}{\mesalg{OB}}.\]
+En reportant dans~\eqref{pscal1} et en simplifiant par $OB$, on obtient une autre expression du produit scalaire :
+\begin{equation*}
+\Vector{OA}\cdot\Vector{OB}=
+\begin{cases}
+\hphantom{-}OA\times OH&\text{si $\widehat{AOB}$ est aigu},\\
+-OA\times OH&\text{si $\widehat{AOB}$ est obtus}.
+\end{cases}%\label{pscal0}
+\end{equation*}
+
+
+
+On remarque alors que les demi-droites $[OA)$ et $[OH)$ sont de même sens si $\widehat{AOB}$ est aigu, et de sens contraire si $\widehat{AOB}$ est obtus. D'où une expression du produit scalaire utilisant les mesures algébriques :
+\begin{equation}
+\Vector{OA}\cdot\Vector{OB}=\mesalg{OA}\times\mesalg{OH}.\label{pscal0}
+\end{equation}
+
+%\dinofig{\figcaption{}\label{figpscal0}}
+\XSmartphoneCommand{
+\begin{figure}[ht]
+\hfill
+\begin{tikzpicture}
+\coordinate[label=left:$O$] (O) at (0,0);
+\coordinate(X) at (1,0);
+\coordinate[label=below:$B$](B) at ($(O)!3!350:(X)$);
+\coordinate(Y) at ($(O)!0.5!(B)$);
+\coordinate[label=above:$H$](H) at ($(Y)!1!50:(B)$);
+\coordinate[label=right:$A$](A) at ($(O)!1.3!(H)$);
+\draw[semithick,->] (O)--(B);
+\draw[semithick,->] (O)--(A);
+\draw[dashed](B)--(H);
+\foreach \point in {O,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\hfill\hfill
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (0,0);
+\coordinate(X) at (1,0);
+\coordinate[label=above:$B$](B) at ($(O)!2.9!160:(X)$);
+\coordinate(Y) at ($(O)!0.5!(B)$);
+\coordinate[label=below:$H$](H) at ($(Y)!1!50:(B)$);
+\coordinate(Z) at ($(O)!1.2!(H)$);
+\coordinate[label=above:$A$](A) at ($(O)!-0.6!(H)$);
+\draw[semithick,->] (O)--(B);
+\draw[semithick,->] (O)--(A);
+\draw(O)--(Z);
+\draw[dashed](B)--(H);
+\foreach \point in {O,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\hfill\null
+\figcaption{}\label{figpscal0}
+\end{figure}
+}
+\SmartphoneCommand{
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$O$] (O) at (0,0);
+\coordinate(X) at (1,0);
+\coordinate[label=below:$B$](B) at ($(O)!3!350:(X)$);
+\coordinate(Y) at ($(O)!0.5!(B)$);
+\coordinate[label=above:$H$](H) at ($(Y)!1!50:(B)$);
+\coordinate[label=right:$A$](A) at ($(O)!1.3!(H)$);
+\draw[semithick,->] (O)--(B);
+\draw[semithick,->] (O)--(A);
+\draw[dashed](B)--(H);
+\foreach \point in {O,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\\[1ex]
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (0,0);
+\coordinate(X) at (1,0);
+\coordinate[label=above:$B$](B) at ($(O)!2.9!160:(X)$);
+\coordinate(Y) at ($(O)!0.5!(B)$);
+\coordinate[label=below:$H$](H) at ($(Y)!1!50:(B)$);
+\coordinate(Z) at ($(O)!1.2!(H)$);
+\coordinate[label=above:$A$](A) at ($(O)!-0.6!(H)$);
+\draw[semithick,->] (O)--(B);
+\draw[semithick,->] (O)--(A);
+\draw(O)--(Z);
+\draw[dashed](B)--(H);
+\foreach \point in {O,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figpscal0}
+\end{figure}
+}
+\begin{example}[Remarques]
+\begin{enumerate}
+\item L'angle noté $\widehat{AOB}$ est un angle \emph{non orienté} de demi-droites ; autrement dit, il n'y a pas lieu de distinguer $\widehat{AOB}$ et $\widehat{BOA}$. Il en découle que le produit scalaire est commutatif (le terme \frquote{symétrique} serait sans doute plus adapté).
+
+On aurait donc pu tout aussi bien utiliser le projeté de $A$ sur $(OB)$.
+\item L'indépendance du cosinus par rapport à l'ordre des deux demi droites $[OA)$ et $[OB)$ provient de ce que $\cos(\widehat{AOB})$ est égal au rapport de projection orthogonale, noté $\rho([OA),[OB))$, de la demi-droite $[OB)$ sur la demi-droite $[OA)$. On sait en effet (c'est en général considéré comme un des axiomes de la géométrie plane) que
+\[\rho([OA),[OB))=\rho([OB),[OA)).\]
+
+ \item Lorsque les points $A$ et $B$ sont confondus, on a
+ \begin{align*}
+ \Vector{OA}\cdot\Vector{OB}&=\Vector{OA}\cdot\Vector{OA},\\
+ &=OA^2\times \cos(\widehat{AOA}).
+ \end{align*}
+ L'angle $\widehat{AOA}$ est nul : on a donc $\cos(\widehat{AOA})=1$ d'où finalement
+ \begin{equation}
+\Vector{OA}\cdot\Vector{OA}=\bigl({\Vector{OA}}\bigr)^2=OA^2.\label{eqcarres}
+\end{equation}
+\end{enumerate}
+\end{example}
+\end{remark}
+
+\section{Point et cercle}
+\subsection{Une définition}
+Étant donné un cercle $\symcal{C}$, de centre $O$ et de rayon $r$, et un point $P$ quelconque, la puissance du point $P$ par rapport au cercle $\symcal{C}$ est par définition le nombre
+\[\symcal{C}(P)=OP^2-r^2 \text{ (voir figure~\ref{figdefppc})}.\]
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (2,0);
+\coordinate(X) at (3,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=right:$P$] (P) at ($(O)!3.2!15:(X)$);
+\coordinate[label=right:$A$](A) at ($(O)!1!312:(X)$);
+\draw[semithick](P)--(O)--(A);
+\node[right] at (X){$\symcal{C}(P)=OP^2-OA^2$};
+\node[right=1.3cm,below=1mm] at (X){$\text{pour tout }A\in\symcal{C}$};
+\foreach \point in {P,O,A}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figdefppc}
+\end{figure}
+
+Par conséquent, la puissance d'un point $P$ par rapport à un cercle est :
+\begin{itemize}
+\item strictement positive si le point $P$ est extérieur au cercle;
+\item nulle si le point $P$ appartient au cercle;
+\item strictement négative et au minimum égale à $-r^2$ si le point $P$ est intérieur au cercle.
+\end{itemize}
+
+\subsection{Avec une tangente}\label{subsectangente}
+On se place ici dans le cas où le point $P$ est extérieur au cercle. Il est alors possible de s'intéresser aux tangentes issues de $P$.
+\begin{thm}
+Soit un cercle $\symcal{C}$ de centre $O$, un point $P$ extérieur au cercle et $T$ le point de contact de l'une des tangentes à $\symcal{C}$ issues de $P$. La puissance de $P$ par rapport à $\symcal{C}$ vaut
+\[\symcal{C}(P)=PT^2.\]
+\end{thm}
+
+
+\begin{proof}
+On pourra se référer à la figure \ref{figtangente}. La droite $(PT)$ étant tangente à $\symcal{C}$, le triangle $OTP$ est rectangle en $T$. D'après le théorème de Pythagore, on a
+\[\symcal{C}(P)=OP^2-OT^2=PT^2.\qedhere\]
+\end{proof}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$O$] (O) at (2,0);
+\coordinate(X) at (3.5,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=right:$P$] (P) at ($(O)!1.7!345:(X)$);
+\coordinate(Y) at ($(O)!0.5!(P)$);
+\node[draw,dashed] (x) at (Y) [circle through={(P)}]{};
+\coordinate[label=above:$T$](T) at (intersection 2 of c and x);
+\draw (P)--(T)--(O)--cycle;
+\foreach \point in {P,T,O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figtangente}
+\end{figure}
+
+\subsection{Avec une sécante}\label{subsecsecante}
+Le point $P$ est cette fois-ci quelconque. On considère alors une droite sécante au cercle et passant par $P$ (voir la figure \ref{figsecante}).
+\begin{thm}
+Soit un cercle $\symcal{C}$ de centre $O$, un point $P$ quelconque et une droite passant par $P$ sécante au cercle en $A$ et $B$. La puissance de $P$ par rapport à $\symcal{C}$ vaut alors
+\[\symcal{C}(P)=\mesalg{PA}\times\mesalg{PB}.\]
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (2,0);
+\coordinate(X) at (3.5,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=left:$A$] (A) at ($(O)!1!155:(X)$);
+\coordinate(A') at ($(A)!2!(O)$);
+\coordinate[label=right:$P$] (P) at ($(O)!1.8!35:(X)$);
+\coordinate(Z) at ($(A')!0.5!(P)$);
+\node (x) at (Z) [circle through={(P)}]{};
+\coordinate[label=above:$B$](B) at (intersection 2 of c and x);
+\coordinate[label=above:$I$](I) at ($(A)!0.5!(B)$);
+\draw (P)--(B)--(I)--(A);
+\draw(A)--(O)--(B);
+\draw(P)--(O)--(I);
+\foreach \point in {A,P,B,O,I}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figsecante}
+\end{figure}
+
+\begin{proof}
+Soit $I$ le milieu de $[AB]$ : $AOB$ étant isocèle en $O$, la droite $(OI)$ est la médiatrice de $[AB]$. Les triangles $OIP$ et $OIA$ sont rectangles en $I$. On a donc $OP^2=OI^2+IP^2$ et $OA^2=OI^2+IA^2$.
+
+ Par conséquent,
+\begin{align*}
+\symcal{C}(P)&=PO^2-OA^2,\\
+&=(OI^2+IP^2)-(OI^2+IA^2),\\
+\intertext{soit en réduisant,}
+\symcal{C}(P)&=IP^2-IA^2,\\
+\intertext{puis en utilisant une identité remarquable et les égalités~\eqref{eqcarres} et~\eqref{eqcaracmilieu}}
+\symcal{C}(P)&=\mesalg{PI}^2-\mesalg{IA}^2,\\
+&=(\mesalg{PI}+\mesalg{IA})(\mesalg{PI}-\mesalg{IA}),\\
+&=(\mesalg{PI}+\mesalg{IA})(\mesalg{PI}+\mesalg{IB}),\\
+\intertext{et enfin, grâce au théorème~\ref{thchasles}}
+\symcal{C}(P)&=\mesalg{PA}\times\mesalg{PB}.\qedhere
+\end{align*}
+
+\end{proof}
+
+\begin{example}[Remarques]
+\begin{enumerate}
+\item Il est remarquable que la quantité $\mesalg{PA}\times\mesalg{PB}$ ne dépende pas de la sécante choisie : autrement dit, si deux sécantes passant par $P$ coupent le cercle respectivement en $A$ et $B$ et en $C$ et $D$, alors
+\[\mesalg{PA}\times\mesalg{PB}=\mesalg{PC}\times\mesalg{PD}.\]
+\item Si $P$ est intérieur au cercle, les demi-droites $[PA)$ et $[PB)$ sont de sens contraires : on retrouve le fait que $\symcal{C}(P)$ est dans ce cas négatif.
+\item Une tangente issue de $P$, comme on l'a évoqué en \ref{subsectangente}, peut être considérée comme une position limite d'une sécante pivotant autour de $P$, les points $A$ et $B$ étant alors confondus en $T$ : on aura bien de ce point de vue $\mesalg{PA}\times\mesalg{PB}=PT^2$.
+\end{enumerate}
+\end{example}
+
+\subsection{Utilisation du produit scalaire}
+On utilise ici la relation~\eqref{pscal0} pour donner une autre expression de la puissance d'un point par rapport à un cercle (voir figure~\ref{figpscal2}).
+\begin{thm}
+Soit un cercle $\symcal{C}$ de centre $O$, un point $P$ quelconque, et deux points de $\symcal{C}$ diamétralement opposés $A_1$ et $A_2$. La puissance de $P$ par rapport à $\symcal{C}$ vaut alors
+\[\symcal{C}(P)=\Vector{PA_1}\cdot\Vector{PA_2}.\]
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (2,0);
+\coordinate(X) at (3.5,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=left:$A_1$] (A) at ($(O)!1!160:(X)$);
+\coordinate[label=right:$A_2$] (A') at ($(A)!2!(O)$);
+\coordinate[label=right:$P$] (P) at ($(O)!2.2!32:(X)$);
+\coordinate(Z) at ($(A')!0.5!(P)$);
+\node (x) at (Z) [circle through={(P)}]{};
+\coordinate[label=above:$B$](B) at (intersection 2 of c and x);
+\draw [semithick,->](P)--(A);
+\draw[semithick,->](P)--(A');
+\draw(A')--(B);
+\foreach \point in {P,B,O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figpscal2}
+\end{figure}
+
+\begin{proof}%\sloppy
+Tout d'abord, les droites $(PA_1)$ et $(PA_2)$ ne peuvent être toutes les deux tangentes à $\symcal{C}$ : en effet, deux tangentes en des points diamétralement opposés sont parallèles disjointes et ne peuvent avoir le point $P$ en commun. Quitte à permuter $A_1$ et $A_2$, il n'est donc pas restrictif de supposer que la droite $(PA_1)$ est sécante (et non tangente) à $\symcal{C}$.
+
+Soit alors $B$ la seconde intersection de la droite $(PA_1)$ avec le cercle. Le segment $[A_1A_2]$ étant un diamètre du cercle, le point $B$ est le projeté orthogonal de $A_2$ sur $(PA_1)$. On a donc d'après \ref{subsectangente}
+\begin{align*}
+\symcal{C}(P)&=\mesalg{PA_1}\times\mesalg{PB},\\
+&=\Vector{PA_1}\cdot\Vector{PA_2}.\qedhere
+\end{align*}
+\end{proof}
+
+
+\begin{remark}
+On se persuadera facilement, en observant la figure \ref{figpscal3}, que le raisonnement précédent est indépendant de la position de $P$ par rapport au cercle.
+\end{remark}
+%\dinofig[-0.5]{\figcaption{}\label{figpscal3}}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (2,0);
+\coordinate(X) at (3.5,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=left:$A_1$] (A) at ($(O)!1!160:(X)$);
+\coordinate[label=right:$A_2$] (A') at ($(A)!2!(O)$);
+\coordinate[label=above:$P$] (P) at ($(O)!0.6!70:(X)$);
+\coordinate(Z) at ($(A')!0.5!(P)$);
+\node (x) at (Z) [circle through={(P)}]{};
+\coordinate[label=above:$B$](B) at (intersection 2 of c and x);
+\draw [semithick,->](P)--(A);
+\draw[semithick,->](P)--(A');
+\draw(P)--(B);
+\draw(A')--(B);
+\foreach \point in {P,B,O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figpscal3}
+\end{figure}
+
+\subsection{Dans un repère orthonormal}
+On se place ici dans un repère orthonormal et l'on considère un cercle $\symcal{C}$ de centre $\Omega(a,b)$ et de rayon $r$. On s'intéresse alors à l'expression de la puissance d'un point $M(x,y)$ quelconque par rapport au cercle $\symcal{C}$.
+\begin{thm}\label{threp}
+Soit dans le plan rapporté à un repère orthonormal un cercle $\symcal{C}$ de centre $\Omega(a,b)$ et de rayon $r$. Soit un point $M(x,y)$. La puissance de $M$ par rapport à $\symcal{C}$ est
+\[\symcal{C}(M) = x^2+y^2-2ax-2by+a^2+b^2-r^2.\]
+\end{thm}
+
+\begin{proof}
+On a
+\begin{align*}\symcal{C}(M)&=\Omega M^2-r^2\\
+&={(x-a)}^2+{(y-b)}^2-r^2,\\
+&=x^2-2ax+a^2+y^2-2by+b^2-r^2.\qedhere
+\end{align*}
+\end{proof}
+
+De plus, en remarquant que $M\in\symcal{C}$ si et seulement si la puissance de $M$ par rapport à $\symcal{C}$ est nulle, on établit le corollaire suivant :
+%\DinoAfourNBCommand{\par\pagebreak}
+\begin{coro*}
+Dans le plan rapporté à un repère orthonormal, le cercle $\symcal{C}$ de centre $\Omega(a,b)$ et de rayon $r$ admet pour équation
+\[x^2+y^2-2ax-2by+c=0,\]
+où $c=a^2+b^2-r^2$.
+\end{coro*}
+
+\section{Cocyclicité}
+On dit que quatre points distincts sont cocycliques s'ils appartiennent à un même cercle (un tel cercle est évidemment unique : ce que l'on affirme en disant que les points sont cocycliques est que cercle circonscrit au triangle formé par trois quelconques de ces points passe par le quatrième). On se propose d'établir le théorème suivant (voir figure~\ref{figcocy}).
+
+\begin{thm} Soit quatre points distincts $A$, $B$, $C$ et $D$ tels que les droites $(AB)$ et $(CD)$ soient sécantes en $P$. Les points $A$, $B$, $C$, $D$ sont cocycliques si et seulement si
+\[\mesalg{PA}\times\mesalg{PB}=\mesalg{PC}\times\mesalg{PD}.\]
+\end{thm}
+
+%\dinofig{\figcaption{}\label{figcocy}}
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate (O) at (2,0);
+\coordinate(X) at (4,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=left:$A$] (A) at ($(O)!1!140:(X)$);
+\coordinate[label=below:$B$] (B) at ($(O)!1!310:(X)$);
+\coordinate[label=left:$C$] (C) at ($(O)!1!210:(X)$);
+\coordinate[label=above:$D$] (D) at ($(O)!1!65:(X)$);
+\coordinate[label=right:$\kern3pt P$](P) at (intersection of A--B and C--D);
+\draw(A)--(B);
+\draw(C)--(D);
+\foreach \point in {A,B,C,D,P}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figcocy}
+\end{figure}
+
+\begin{proof}
+Il s'agit de démontrer une équivalence. Nous procéderons donc classiquement en deux temps : d'abord le sens direct, puis la réciproque.
+
+Supposons pour commencer que les points $A$, $B$, $C$, $D$ soient sur un même cercle $\symcal{C}$. Alors les droites $(AB)$ et $(CD)$ étant des sécantes au cercle contenant chacune le point $P$, on a
+\[\symcal{C}(P)=\mesalg{PA}\times\mesalg{PB}=\mesalg{PC}\times\mesalg{PD}.\]
+
+Réciproquement, supposons que $\mesalg{PA}\times\mesalg{PB}=\mesalg{PC}\times\mesalg{PD}$. Soit alors $\symcal{C}\;$ le cercle circonscrit au triangle $ABC$ : il nous suffit de prouver que $D\in\symcal{C}$. La droite $(CD)$ coupe le cercle en $C$ et en un second point $M$ tel que
+\begin{align*}\mesalg{PC}\times\mesalg{PM}&=\symcal{C}(P)\\
+&=\mesalg{PA}\times\mesalg{PB}\\
+&=\mesalg{PC}\times\mesalg{PD}, \text{ par hypothèse.}
+\end{align*}
+On en déduit que $\mesalg{PD}=\mesalg{PM}$, donc que $D=M$ ($P$ ne peut être confondu avec $C$, car alors il serait lui même confondu avec $A$ ou $B$).
+\end{proof}
+
+
+\section{Axe radical de deux cercles}
+
+\subsection{Définition}
+On s'intéresse ici à l'ensemble des points qui ont même puissance par rapport à deux cercles non concentriques donnés.
+
+\begin{thm}
+Étant donné deux cercles non concentriques $\symcal{C}_1$ et $\symcal{C}_2$ de centres et de rayons respectifs $(O_1,r_1)$ et $(O_2,r_2)$, l'ensemble des points qui ont la même puissance par rapport à chacun des cercles est une droite $\Delta$ perpendiculaire à $(O_1O_2)$, nommée \emph{axe radical} des deux cercles.
+\end{thm}
+
+%\dinofig{\figcaption{}\label{figaxerad0}}
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\clip (0.3,-1.3) rectangle (5.1,1.9);
+\coordinate[label=below:$O_1$] (O1) at (1,0);
+\coordinate(X1) at (1.6,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(X1)}]{};
+\coordinate[label=below:$O_2$] (O2) at (3.8,0);
+\coordinate[label=below:$I$] (I) at ($(O1)!0.5!(O2)$);
+\coordinate(X2) at (5,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(X2)}]{};
+\coordinate(Y1) at ($(O1)!-1.2!(X1)$);
+\coordinate(Y2) at ($(O2)!1.1!(X2)$);
+\draw (Y1)--(Y2);
+\coordinate(Y) at (2,-1);
+\coordinate(U) at (2,0.5);
+\node (x) at (Y) [circle through={(U)}]{};
+\coordinate(Z1) at (intersection 1 of c1 and x);
+\coordinate(T1) at (intersection 2 of c1 and x);
+\coordinate(Z2) at (intersection 1 of c2 and x);
+\coordinate(T2) at (intersection 2 of c2 and x);
+\coordinate[label=left:$M$](M) at (intersection of Z1--T1 and Z2--T2);
+\coordinate(W1) at ($(O1)!0.5!(M)$);
+\coordinate(W2) at ($(O2)!0.5!(M)$);
+\node (w1) at (W1) [circle through={(M)}]{};
+\node(w2) at (W2) [circle through={(M)}]{};
+\coordinate[label=below:$H\kern13pt$](H) at (intersection 1 of w1 and w2);
+\coordinate[label=left:$\Delta$](V1) at ($(H)!1.5!(M)$);
+\coordinate(V2) at ($(H)!-1.1!(M)$);
+\draw[semithick](V1)--(V2);
+\foreach \point in {O1,O2,I,M,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figaxerad0}
+\end{figure}
+
+\begin{remark}
+Si les deux cercles sont concentriques et distincts, aucun point $M$ du plan n'est tel que $\symcal{C}_1(M)=\symcal{C}_2(M)$, c'est une conséquence immédiate de la définition de la puissance d'un point par rapport à un cercle.
+\end{remark}
+
+\begin{proof}
+Soit un point $M$ du plan et $H$ son projeté orthogonal sur la droite $(O_1O_2)$. Nous supposons que $\symcal{C}_1(M)=\symcal{C}_2(M)$ ; nous allons prouver que le point $H$ occupe une position fixe (indépendante de $M$) sur $(O_1O_2)$, ce qui prouvera que $M$ appartient à la perpendiculaire en $H$ à cette droite. Pour nous éviter une réciproque fastidieuse, nous procéderons par équivalence. Désignons par $I$ le milieu de $[O_1O_2]$ et exprimons l'égalité des puissances (voir la figure~\ref{figaxerad0}).
+\begin{align*}
+\symcal{C}_1(M)=\symcal{C}_2(M) &\iff O_1M^2-r_1^2=O_2M^2-r_2^2,\\
+\intertext{soit, en posant $k=r_1^2-r_2^2$,}
+\symcal{C}_1(M)=\symcal{C}_2(M) &\iff O_1M_1^2-O_2M2^2=k,\\
+&\iff (\Vector{O_1M}+\Vector{O_2M})\cdot(\Vector{O_1M}-\Vector{O_2M})=k.
+\end{align*}
+
+On remarque alors que
+\begin{equation*}
+\Vector{O_1M}+\Vector{O_2M}=\hspace{-0.5em}\underbrace{\Vector{O_1I}+\Vector{O_2I}}_{\substack{\vec{0}\text{, car } I\\\text{milieu de }[O_1O_2]}}\hspace{-0.5em}+\,2\Vector{IM}=2\Vector{IM}
+\end{equation*}
+et que
+\begin{equation*}
+\Vector{O_1M}-\Vector{O_2M}=\Vector{O_1M}+\Vector{MO_2}=\Vector{O_1O_2}.
+\end{equation*}
+
+On en déduit
+\begin{align*}
+\symcal{C}_1(M)=\symcal{C}_2(M) &\iff 2\Vector{IM}\cdot\Vector{O_1O2}=k,\\
+&\iff 2(\underbrace{\Vector{IH}+\Vector{HM}}_{\Vector{IM}})\cdot\Vector{O_1O_2}=k,\\
+&\iff 2\Vector{IH}\cdot\Vector{O_1O_2}+2\underbrace{\Vector{HM}\cdot\Vector{O_1O_2}}_{\substack{0 \text{, car}\\(HM)\perp(O_1O_2)}}=k.
+\end{align*}
+
+Puisque les points $I$, $H$, $O_1$ et $O_2$ sont sur la même droite, on peut passer aux mesures algébriques, et on obtient finalement :
+\begin{align}
+\symcal{C}_1(M)=\symcal{C}_2(M)&\iff 2\mesalg{IH}\cdot\mesalg{O_1O_2}=k,\notag\\
+&\iff\mesalg{IH}=\frac{r_1^2-r_2^2}{2\mesalg{O_1O_2}}.\label{eqposH}
+\end{align}
+
+
+On en déduit que $\symcal{C}_1(M)=\symcal{C}_2(M)$ si et seulement si le projeté orthogonal $H$ de $M$ sur $(O_1O_2)$ occupe la position (fixe) définie par la relation~\eqref{eqposH}. L'ensemble des points $M$ est donc la droite $\Delta$ perpendiculaire à $(O_1O_2)$ passant par $H$.
+\end{proof}
+
+\subsection{Détermination pratique}\label{subsecdetprat}
+On s'intéresse ici à la position relative des cercles $\symcal{C_1}$ et $\symcal{C_2}$.
+\subsubsection{Cercles sécants}
+Supposons que les cercles $\symcal{C_1}$ et $\symcal{C_2}$ soient sécants en deux points $A$ et $B$ (voir la figure~\ref{figaxerad1}). On a
+\[\symcal{C}_1(A)=\symcal{C}_2(A)=0 \text{ et }\symcal{C}_1(B)=\symcal{C}_2(B)=0 .
+\]
+Les points $A$ et $B$ ont tous deux la même puissance par rapport à chacun des deux cercles : l'axe radical $\Delta$ de $\symcal{C}_1$ et $\symcal{C}_2$ est donc la droite $(AB)$.
+
+
+%\dinofig{\figcaption{}\label{figaxerad1}}
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O_1$] (O1) at (0.8,0);
+\coordinate(X1) at (2,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(X1)}]{};
+\coordinate[label=below:$O_2$] (O2) at (3,0);
+\coordinate(X2) at (4.8,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(X2)}]{};
+\coordinate(Y1) at ($(O1)!-1.2!(X1)$);
+\coordinate(Y2) at ($(O2)!1.1!(X2)$);
+\draw (Y1)--(Y2);
+\coordinate[label=right:$\kern2pt A$](A) at (intersection 2 of c1 and c2);
+\coordinate[label=right:$\kern2pt B$](B) at (intersection 1 of c1 and c2);
+\coordinate[label=below:$H\kern-13pt$](H) at (intersection of O1--O2 and A--B);
+\coordinate[label=left:$\Delta$](V1) at ($(H)!1.7!(A)$);
+\coordinate(V2) at ($(H)!1.3!(B)$);
+\draw[semithick](V1)--(V2);
+\foreach \point in {O1,O2,A,B,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figaxerad1}
+\end{figure}
+
+\subsubsection{Cercles tangents}
+Supposons que les cercles $\symcal{C_1}$ et $\symcal{C_2}$ soient tangents (intérieurement ou extérieurement) en un point $T$ (voir la figure~\ref{figaxerad2}). On a
+$\symcal{C}_1(T)=\symcal{C}_2(T)=0$.
+Le point $T$ a la même puissance par rapport à chacun des deux cercles : l'axe radical $\Delta$ de $\symcal{C}_1$ et $\symcal{C}_2$ est donc la droite perpendiculaire en $T$ à $(O_1O_2)$.
+
+%\dinofig{\figcaption{}\label{figaxerad2}}
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O_1$] (O1) at (1.2,0);
+\coordinate[label=below:$\kern10pt T$](T) at (3,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(T)}]{};
+\coordinate[label=below:$O_2$] (O2) at (1.8,0);
+%\coordinate(X2) at (4.8,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(T)}]{};
+\coordinate(Y1) at ($(O1)!-1.3!(T)$);
+\coordinate(Y2) at ($(O2)!1.3!(T)$);
+\draw (Y1)--(Y2);
+\coordinate[label=left:$\Delta$](V1) at ($(T)!1!270:(O1)$);
+\coordinate(V2) at ($(T)!1!90:(O1)$);
+\draw[semithick](V1)--(V2);
+\foreach \point in {O1,O2,T}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figaxerad2}
+\end{figure}
+
+
+\subsubsection{Cas général}
+Il est toujours possible de tracer un cercle auxiliaire $\Gamma$ sécant à $\symcal{C}_1$ en $A_1$ et $B_1$, à $\symcal{C}_2$ en $A_2$ et $B_2$, et de telle sorte que les droites $(A_1B_1)$ et $(A_2B_2)$ soient elles-mêmes sécantes en un point $P$ (voir la figure~\ref{figaxerad3}). On est ainsi ramené à des constructions ans le cas de cercles sécants.
+
+Le point $P$ appartient à l'axe radical de $(A_1B_1)$ de $\symcal{C}_1$ et $\Gamma$, donc $\symcal{C}_1(P)=\Gamma(P)$. De même, $\symcal{C}_2(P)=\Gamma(P)$ et par conséquent $\symcal{C}_1(P)=\symcal{C}_2(P)$. Le point $P$ appartient donc à l'axe radical $\Delta$ de $\symcal{C}_1$ et $\symcal{C}_2$ : $\Delta$ est la perpendiculaire à $(O_1O_2)$ passant par $P$.
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O_1$] (O1) at (0.4,0);
+\coordinate(X1) at (1.5,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(X1)}]{};
+\coordinate[label=below:$O_2$] (O2) at (3.6,0);
+\coordinate(X2) at (5,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(X2)}]{};
+\coordinate(Y1) at ($(O1)!-1.2!(X1)$);
+\coordinate(Y2) at ($(O2)!1.1!(X2)$);
+\draw (Y1)--(Y2);
+\coordinate(Y) at (2,-1);
+\coordinate(U) at (2,0.5);
+\node[draw,label=below:$\kern10pt\Gamma$] (g) at (Y) [circle through={(U)}]{};
+\coordinate[label=left:$A_1${\rule[-8pt]{0pt}{10pt}}](A1) at (intersection 2 of c1 and g);
+\coordinate[label=below:$B_1\kern10pt$](B1) at (intersection 1 of c1 and g);
+\coordinate[label=right: $A_2${\rule[-8pt]{0pt}{10pt}}](A2) at (intersection 1 of c2 and g);
+\coordinate[label=below:$\kern10pt B_2$](B2) at (intersection 2 of c2 and g);
+\coordinate[label=left:$P$](P) at (intersection of A1--B1 and A2--B2);
+\draw (P)--(B1);
+\draw (P)--(B2);
+\coordinate(W1) at ($(O1)!0.5!(P)$);
+\coordinate(W2) at ($(O2)!0.5!(P)$);
+\node (w1) at (W1) [circle through={(P)}]{};
+\node(w2) at (W2) [circle through={(P)}]{};
+\coordinate[label=below:$H\kern13pt$](H) at (intersection 1 of w1 and w2);
+\coordinate[label=left:$\Delta$](V1) at ($(H)!1.5!(P)$);
+\coordinate(V2) at ($(H)!-2.4!(P)$);
+\draw[semithick](V1)--(V2);
+\foreach \point in {O1,O2,P,H,A1,B1,A2,B2}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figaxerad3}
+\end{figure}
+
+\subsubsection{Dans un repère orthonormal}
+Soit un cercle $\symcal{C}_1$ de centre $\Omega_1(a_1,b_1)$ et de rayon $r_2$, un cercle $\symcal{C}_2$ de centre $\Omega_2(a_2,b_2)$ et de rayon $r_2$. On suppose $\Omega_1\neq\Omega_2$ et on nomme $\Delta$ l'axe radical de ces deux cercles. D'après le théorème~\ref{threp} page \pageref{threp}, l'appartenance de $M(x,y)$ à $\Delta$ se traduit par
+\begin{equation*}
+x^2+y^2-2a_1x-2b_1y+c_1=x^2+y^2-2a_2x-2b_2y+c_2,
+\end{equation*}
+où $c_1=a_1^2+b_1^2-r_1^2$ et $c_2=a_2^2+b_2^2-r_2^2$.
+
+\vspace\baselineskip\par Donc, après simplification :
+\[P\in \Delta \iff (a_2-a_1)x+(b_2-b_1)y+(c_1-c_2)/2=0.\]
+L'axe radical $\Delta$ admet pour équation
+\[(a_2-a_1)x+(b_2-b_1)y+(c_1-c_2)/2=0,\]
+ où l'on constate bien que $\Delta$ admet $\Vector{\Omega_1\Omega_2}$ pour vecteur normal.
+
+ \subsection{Centre radical}
+ Lorsqu'au~\ref{subsecdetprat} nous avons, pour traiter le cas général, exploité l'idée d'un cercle auxiliaire, nous avons implicitement démontré le théorème suivant (voir la figure~\ref{figcentrerad}).
+ \begin{thm}
+ Soient trois cercles $\symcal{C}_1$, $\symcal{C}_2$ et $\Gamma$ dont les centres sont distincts et non alignés. Les axes radicaux $\Delta$ de $\symcal{C}_1$ et $\symcal{C}_2$, $\symcal{D}_1$ de $\symcal{C}_1$ et $\Gamma$ et finalement $\symcal{D}_2$ de $\symcal{C}_2$ et $\Gamma$ sont concourants en un point $P$ nommé \emph{centre radical} des trois cercles.
+ \end{thm}
+
+\newcommand{\figurecentrerad}{%
+ \begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate (O1) at (0.4,0);
+\coordinate(X1) at (1.5,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(X1)}]{};
+\coordinate (O2) at (3.6,0);
+\coordinate(X2) at (5,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(X2)}]{};
+\coordinate(Y) at (2,-1);
+\coordinate(U) at (2,0.5);
+\node[draw,label=below:$\kern10pt\Gamma$] (g) at (Y) [circle through={(U)}]{};
+\coordinate(A1) at (intersection 2 of c1 and g);
+\coordinate(B1) at (intersection 1 of c1 and g);
+\coordinate(A2) at (intersection 1 of c2 and g);
+\coordinate(B2) at (intersection 2 of c2 and g);
+\coordinate[label=right:$\symcal{D}_1$](Y1) at ($(A1)!1.8!(B1)$);
+\coordinate[label=left:$\symcal{D}_2$](Y2) at ($(A2)!1.5!(B2)$);
+\coordinate[label=left:$P$](P) at (intersection of A1--B1 and A2--B2);
+\draw (P)--(Y1);
+\draw (P)--(Y2);
+\coordinate(W1) at ($(O1)!0.5!(P)$);
+\coordinate(W2) at ($(O2)!0.5!(P)$);
+\node (w1) at (W1) [circle through={(P)}]{};
+\node(w2) at (W2) [circle through={(P)}]{};
+\coordinate(H) at (intersection 1 of w1 and w2);
+\coordinate[label=left:$\Delta$](V1) at ($(H)!1.5!(P)$);
+\coordinate(V2) at ($(H)!-2.4!(P)$);
+\draw(V1)--(V2);
+\foreach \point in {P,A1,B1,A2,B2}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figcentrerad}
+\end{figure}
+}
+
+%\DinoiPhoneCommand{%
+%\afterpage{\clearpage
+%\figurecentrerad
+%\par
+%\vspace{0.7cm}
+%{
+%\centering\LARGE\textcolor{ColorOne}\decoone
+
+%}
+%}}
+
+%\DinoiPadStdCommand{\figurecentrerad}
+%\DinoiPadAirCommand{\figurecentrerad}
+%\DinoiPadProCommand{\figurecentrerad}
+%%\DinoAfourNBCommand{\figurecentrerad}
+%\DinoAfourColorCommand{\figurecentrerad}
+%\DinoiPadminiCommand{\figurecentrerad}
+%%\DinoSaisieCommand{\figurecentrerad}
+%\DinoiPhoneCommand{\figurecentrerad}
+\figurecentrerad
+
+\begin{proof}
+On définit $P$ comme intersection de $\symcal{D}_1$ et $\symcal{D}_2$ (le fait que les centres ne soient pas alignés garantit l'existence de $P$) :
+\begin{align*}
+P\in \symcal{D}_1&\implies \symcal{C}_1(P)=\Gamma(P)\text{ et }\\
+P\in \symcal{D}_2&\implies \symcal{C}_2(P)=\Gamma(P),
+\end{align*}
+dont on déduit que $\symcal{C}_1(P)=\symcal{C}_2(P)$. Autrement dit $P\in \Delta$.
+\end{proof}
+%\DinoAfourColorCommand{%
+%\par
+%\vspace{1.5cm}
+%{
+%\centering\LARGE\textcolor{ColorOne}\decoone
+%
+%}
+%}
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/recurrence.tex b/Master/texmf-dist/doc/lualatex/tango/examples/recurrence.tex
new file mode 100644
index 00000000000..ee823068c46
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/recurrence.tex
@@ -0,0 +1,189 @@
+% !TEX TS-program = LuaLaTeX
+
+\renewcommand{\theprop}{(\ensuremath{\fnsymbol{prop}})}
+
+\tgotitle{Raisonnement par récurrence}
+%
+\section{Une propriété des entiers naturels}
+La propriété énoncée dans cette section est parfois présentée comme un axiome. Il n'entre toutefois pas dans nos intentions de construire une ou des axiomatiques, ne serait-ce que parce que cette notion est délicate. On se contentera donc d'un point de vue naïf, selon lequel un axiome est un énoncé dont on admet qu'il est vrai. Le lecteur doit toutefois savoir que les énoncés de la propriété~\ref{propppe} et du théorème~\ref{threc} ont des rôles en quelque sorte interchangeables : dans les axiomatiques classiques permettant de fonder l'arithmétique, prendre l'un comme axiome permet de démontrer l'autre comme théorème. Pour cette raison, le lecteur pourra trouver ailleurs des présentations proposant un axiome (ou parfois un principe) de \emph{récurrence}, la propriété~\ref{propppe} devenant alors un théorème.
+\par
+\vspace{0.5\baselineskip}\par
+Nous supposons donc connu l'ensemble $\N$ des entiers naturels, muni notamment d'une relation d'ordre notée ${≤}$ et nous admettons que cet ensemble possède la propriété suivante:
+%
+\begin{prop}
+Toute partie non vide de $\N$ possède un plus petit élément.\label{propppe}
+\end{prop}
+
+On traduit souvent cette propriété en disant que \N{} est \emph{bien ordonné}.
+%x
+%\par\noindent{\color{gray}\rule{\linewidth}{5pt}}\par\addvspace{-3pt}\par\nobreak
+
+%Cette propriété peut être considérée comme un des axiomes qui permettent de décrire l'ensemble \N{} des entiers naturels. Elle peut également se démontrer à partir d'un autre système d'axiomes, de portée équivalente (axiomes de Peano, notamment) ou de portée plus générale (Zermelo-Fraenkel, par exemple).
+
+%\par\noindent\hrulefill
+\section{Récurrence}
+\subsection{Introduction}
+\label{secexplerec}
+La propriété \ref{propppe} permet de formaliser une méthode consistant à établir la validité d'une assertion \frquote{de proche en proche}. Fixons-nous par exemple un réel $a$ strictement positif et, pour tout entier naturel $n$, considérons la propriété $P(n)$
+\[(1+a)^n\geq 1+na.\]
+
+Nous nous proposons de démontrer que cette propriété est vraie pour tout entier naturel~$n$.
+
+Prouvons dans un premier temps que $P(0)$ est vraie (\mbox{c.-à-d.} que si $n=0$ alors $P(n)$ est vraie) : puisqu'il est vrai que $(1+a)^0=1$ et $1+0\times a=1$, il est établi que $(1+a)^0\geq1+0\times a$, donc que $P(0)$ est vraie.
+
+Donnons-nous alors un entier naturel $n$ et supposons que $P(n)$ est vraie. Prouvons alors que nécessairement $P(n+1)$ est vraie :
+\begin{align*}
+(1+a)^n&\geq1+na,\\
+\intertext{soit, en multipliant les deux membres par $1+a$, qui est strictement positif,}
+(1+a)^{n+1}&\geq(1+a)(1+na),\\
+\intertext{d'où}
+(1+a)^{n+1}&\geq 1+(n+1)a+na^2,\\
+\intertext{et enfin}
+(1+a)^{n+1}&\geq 1+(n+1)a,\quad \text{car $na^2\geq0$.}
+\end{align*}
+
+Nous venons d'établir que, pour tout entier naturel $n$, si $P(n)$ est vraie alors $P(n+1)$ est vraie. En termes plus formels :
+\begin{equation}
+\forall n\in\N,\; P(n)\implies P(n+1).
+\label{eqhered}
+\end{equation}
+
+Nous notons maintenant $\symcal{A}$ l'ensemble des valeurs de l'entier naturel $n$ pour lesquelles $P(n)$ \emph{est fausse}. Nous allons prouver \emph{par l'absurde} que $\symcal{A}$ est vide, autrement dit que $P(n)$ est vraie pour tout entier naturel $n$.
+
+Supposons donc que $\symcal{A}$ est non vide. En vertu de la propriété \ref{propppe}, $\symcal{A}$ possède un plus petit élément que nous notons $m$. Puisque $P(0)$ est vraie, on peut affirmer que $0\notin\symcal{A}$ donc que $m>0$, ce qui nous assure que $m-1\in\N$. Le fait que $m-1<m$ nous prouve maintenant que $m-1\notin\symcal{A}$, puisque $m$ est le plus petit élément de $\symcal{A}$. Alors $P(m-1)$ est vraie, ce qui entraîne, d'après la proposition \eqref{eqhered}, que $P(m)$ est vraie également. L'entier $m$ étant élément de $\symcal{A}$ on aboutit à une contradiction. Finalement $\symcal{A}$ est vide et la propriété $P(n)$ est vraie pour tout entier $n$.
+
+\begin{remark}
+On traduit la proposition \eqref{eqhered} en disant que la propriété $P$ est \emph{héréditaire} à partir du rang $0$.
+\end{remark}
+
+\subsection{Un théorème}
+Nous souhaitons maintenant nous éviter le recours direct à la propriété \ref{propppe}, et en particulier un raisonnement par l'absurde nécessitant l'introduction un peu lourde d'une partie telle que $\symcal{A}$. Nous souhaitons également pouvoir facilement établir qu'une propriété est vraie non pas sur \N{} tout entier, mais plutôt pour tout entier supérieur à un entier $n_0$ donné. À cet effet nous formulons maintenant le \emph{théorème de récurrence}, dont la démonstration ne sera pas très différente de celle qui a été faite sur l'exemple de la section \ref{secexplerec}.
+\begin{thm}
+Soit un entier $n_0$ fixé et une propriété $P(n)$ dont l'énoncé dépend d'un entier $n$. Si $P(n_0)$ est vraie et si pour tout entier $n$ supérieur à $n_0$ l'implication
+\[P(n)\implies P(n+1)\]
+est vraie, alors la propriété $P(n)$ est vraie pour tout entier $n$ supérieur à $n_0$.
+\label{threc}
+\end{thm}
+\begin{proof}Considérons une propriété $P(n)$ vérifiant les hypothèses de notre théorème et montrons alors que $P(n)$ est vraie pour tout entier $n\geq n_0$.
+Nous noterons $\symcal{A}$ l'ensemble des entiers naturels $k$ pour lesquels que $P(n_0+k)$ est fausse. Le fait que $P(n_0)$ est vrai se traduit par
+\[
+0\notin\symcal{A}
+\]
+ et plus généralement, pour $n≥n_0$, en remarquant que $n$ peut s'écrire $n_0+(n-n_0)$,
+ \frquote{$P(n)$ est vrai} se traduit par $(n-n_0)\notin\symcal{A}$.
+ En posant $k=n-n_0$, l'hypothèse
+ \begin{align}
+ \forall n≥n_0,\; P(n)&\implies P(n+1)\notag\\
+ \intertext{nous assure donc que}
+ \forall k\in\N,\;k\notin\symcal{A}&\implies(k+1)\notin\symcal{A}. \label{eqheredA}
+ \end{align}
+
+Prouver que la propriété $P(n)$ est vraie pour tout entier $n$ supérieur à $n_0$ revient à prouver que $\symcal{A}$ est vide. Raisonnons par l'absurde et supposons que $\symcal{A}$ est non vide : en vertu de la propriété \ref{propppe}, $\symcal{A}$ possède alors un plus petit élément que nous notons~$m$. Nous savons que $m>0$, puisque $0\notin\symcal{A}$, et cela nous assure que $m-1\in\N$. Le fait que $m-1<m$ nous prouve maintenant que $m-1\notin\symcal{A}$, puisque $m$ est le plus petit élément de $\symcal{A}$. Alors d'après la proposition \eqref{eqheredA}, $m\notin\symcal{A}$, ce qui est en contradiction avec le fait que $m$ est le plus petit élément de $\symcal{A}$. Il est alors établi que la propriété $P(n)$ est vraie pour tout $n≥n_0$.
+ \end{proof}
+%
+\begin{remark}
+Un raisonnement par récurrence consiste donc à appliquer le théorème \ref{threc} pour démontrer qu'une propriété $P(n)$ est vraie pour tout entier $n$ supérieur à un certain entier $n_0$. Il se fait en trois étapes qui doivent, pour la clarté du propos, être suffisamment mises en évidence.
+\begin{enumerate}
+\item \textit{Initialisation :} on établit que $P(n_0)$ est vraie.
+\item \textit{Preuve du caractère héréditaire de la propriété :} on démontre que
+\[
+\forall n≥n_0,\; P(n)\implies P(n+1).
+\]
+\item \textit{Conclusion :} on a ainsi établi par récurrence que $P(n)$ est vraie pour tout $n≥n_0$.
+\end{enumerate}
+\end{remark}
+
+\subsection{Applications et exemples}
+
+\subsubsection{Une somme}
+On se propose de démontrer par récurrence que la somme $S_n$ des $n$ premiers entiers non nuls est égale à $n(n+1)/2$. Par définition on a donc
+\[
+S_n=\sum_{k=1}^n k\;\text{ ou si l'on préfère }\; S_n=1+2+\cdots+n-1+n.
+\]
+On veut démontrer par récurrence que la propriété $P(n)$, définie par
+\[
+S_n=\frac{n(n+1)}{2}\;,
+\]
+est vraie pour tout $n≥1$.
+\begin{enumerate}
+\item \textit{Initialisation :} on a $S_1=1$ et pour $n=1$, $n(n+1)/2=2/2=1$. Donc $P(1)$ est vraie.
+\item \textit{Hérédité :} donnons nous un entier $n≥1$ et supposons que $P(n)$ est vraie.
+Montrons alors que $P(n+1)$ est vraie c'est à dire que $S_{n+1}=((n+1)(n+2))/2$.
+On sait que $S_{n+1}=S_{n}+n+1$, donc
+\begin{align*}
+S_{n+1}&=\frac{n(n+1)}{2}+n+1,\\
+&=\frac{n(n+1)+2(n+1)}{2}\;,\\
+&=\frac{(n+1)(n+2)}{2}\:.
+\end{align*}
+On vient d'établir que $\forall n≥1,\;P(n)\implies P(n+1)$. La propriété $P(n)$ est donc héréditaire à partir du rang $1$.
+\item \textit{Conclusion :} la propriété $P(n)$ est vraie pour tout $n≥1$.
+\[
+\forall n≥1,\;S_n=\frac{n(n+1)}{2}\:.
+\]
+\end{enumerate}
+
+\subsubsection{Une autre somme}
+On se propose cette fois de démontrer par récurrence que la somme $T_n$ des carrés des $n$ premiers entiers non nuls est égale à $\bigl(n(n+1)(2n+1)\bigr)/6$. Par définition on a donc
+\[
+T_n=\sum_{k=1}^n k^2\;\text{ ou si l'on préfère }\; T_n=1^2+2^2+\cdots+(n-1)^2+n^2.
+\]
+On veut démontrer par récurrence que la propriété $P(n)$, définie par
+\[
+T_n=\frac{n(n+1)(2n+1)}{6}\;,
+\]
+est vraie pour tout $n≥1$.
+\begin{enumerate}
+\item \textit{Initialisation :} on a $T_1=1$ et pour $n=1$,
+\[\frac{n(n+1)(2n+1)}{6}=\frac{2\times3}{6}=1.\]
+ Donc $P(1)$ est vraie.
+\item \textit{Hérédité :} donnons nous un entier $n≥1$ et supposons que $P(n)$ est vraie.
+Montrons alors que $P(n+1)$ est vraie c'est à dire que
+\begin{align*}
+T_{n+1}&=\frac{(n+1)\bigl((n+1)+1)(2(n+1)+1\bigr)}{6}\;,\\
+&=\frac{(n+1)(n+2)(2n+3)}{6}\:.
+\end{align*}
+On sait que $T_{n+1}=T_{n}+(n+1)^2$, donc
+\begin{align*}
+T_{n+1}&=\frac{n(n+1)(2n+1)}{6}+(n+1)^2,\\
+&=\frac{n(n+1)(2n+1)+6(n+1)(n+1)}{6}\;,\\
+\intertext{soit, en factorisant $n+1$}
+T_{n+1}&=\frac{(n+1)\bigl(n(2n+1)+6(n+1)\bigr)}{6}\;,\\
+&=\frac{(n+1)(2n^2+n+6n+6)}{6}\;.\\
+\intertext{On remarque alors que $n+6n=7n$, que l'on peut aussi écrire $3n+4n$ d'où}
+T_{n+1}&=\frac{(n+1)(2n^2+3n+4n+6)}{6}\;,\\
+&=\frac{(n+1)\bigl(n(2n+3)+2(2n+3)\bigr)}{6}\;,\\
+&=\frac{(n+1)(n+2)(2n+3)}{6}\:.
+\end{align*}
+On vient d'établir que $\forall n≥1,\;P(n)\implies P(n+1)$. La propriété $P(n)$ est donc héréditaire à partir du rang $1$.
+\item \textit{Conclusion :} la propriété $P(n)$ est vraie pour tout $n≥1$.
+\[
+\forall n≥1,\;T_n=\frac{n(n+1)(2n+1)}{6}\:.
+\]
+\end{enumerate}
+
+\subsubsection{Divisibilité}
+Démontrer par récurrence que, pour tout entier naturel $n$, $n^3+2n$ est un multiple de $3$.
+On veut démontrer par récurrence que la propriété $P(n)$, définie par
+\[
+\exists\, k\in\N \text{ tel que }n^3+2n=3k,
+\]
+est vraie pour tout $n≥0$.
+\begin{enumerate}
+\item \textit{Initialisation :} Si $n=0$, $n^3+2n=0$ qui s'écrit aussi $3\times0$. Donc $P(0)$ est vraie.
+\item \textit{Hérédité :} Donnons nous un entier naturel $n$ et supposons que $P(n)$ est vraie. Montrons alors que $P(n+1)$ est vraie, c.-à-d. que $(n+1)^3+2(n+1)$ est divisible par~$3$.
+\begin{align*}
+(n+1)^3+2(n+1)&=n^3+3n^2+3n+1+2n+2,\\
+&=(n^3+2n)+3(n^2+n+1).
+\end{align*}
+L'hypothèse de récurrence nous dit que $P(n)$ est vraie, donc qu'il existe un entier $k$ tel que \mbox{$n^3+2n=3k$}. Alors
+\[(n+1)^3+2(n+1)=3(k+n^2+n+1),\]
+Ce qui prouve que $(n+1)^3+2(n+1)$ est un multiple de 3.
+
+On vient d'établir que $\forall n\in\N,\;P(n)\implies P(n+1)$. La propriété $P(n)$ est donc héréditaire à partir du rang $0$.
+\item \textit{Conclusion :} la propriété $P(n)$ est vraie pour tout $n\in\N$.
+\[
+\forall n\in\N,\; n^3+2n \text{ est divisible par $3$.}
+\]
+\end{enumerate}
+
+\endinput
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/rel-bin.tex b/Master/texmf-dist/doc/lualatex/tango/examples/rel-bin.tex
new file mode 100644
index 00000000000..ae2633e9d57
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/rel-bin.tex
@@ -0,0 +1,443 @@
+% !TEX TS-program = LuaLaTeX
+%\documentclass[ColorTheme=Red]{dino-iPhone}
+
+\tgotitle{Relations binaires}
+\tgoshorttoc
+\section*{Avertissement}
+{\itshape
+Ce chapitre de la \emph{Mathematica dinosaurorum} a un statut un peu particulier, dans la mesure où il regroupe des notions somme toute assez basiques et que je ne tiens pas à présenter en introduction à d'autres chapitres. Il s'agit donc d'un texte destiné à servir de référence, et pas nécessairement à être lu d'une traite. Les exemples y sont donc peu nombreux, de même que les théorèmes, car tout ceci figure ou figurera dans les chapitres qui font référence à celui-ci.
+
+}
+
+\section{Généralités}
+\subsection{Produit cartésien}
+Deux ensembles $E$ et $F$ étant donnés, on appelle produit cartésien de $E$ et $F$ l'ensemble noté~$E\times F$ des couples $(x,y)$ où $x\in E$ et $y\in F$ :
+\[z\in E\times F \iff \exists\, x \in E, \exists\, y\in F,\;\text{tels que}\; z=(x,y).\]
+
+Dans le cas où $E=F$, on peut noter $E^2$ au lieu de $E\times E$. Ce cas particulier est important : par exemple, l'ensemble des couples des coordonnées des points du plan rapporté à un repère donné est~$\mathbb{R}^2$. On comprend alors que l'ordre de chaque couple est important et qu'il faut distinguer $(x,y)$ et~$(y,x)$, dans le cas de l'exemple qui vient d'être donné, mais aussi d'une façon générale.
+
+Cette notion se généralise à plus de deux ensembles : par exemple~$\R^3$ est l'ensemble~\mbox{$\R\times\R\times\R$} des triplets ordonnés de réels.
+
+\subsection{Parties d'un ensemble}
+On dit qu'un ensemble $X$ est une partie d'un ensemble $E$ si tout élément de $X$ est un élément de $E$. On dit aussi que~$X$ est un sous-ensemble de $E$ ou que $X$ est inclus dans $E$, ce que l'on note $X \subset E$ :
+\[X\subset E \iff \forall x,\; (x\in X\implies x\in E).\]
+
+L'ensemble vide $\emptyset$ et l'ensemble $E$ lui-même sont des parties de $E$, et l'on note~$\Pt{E}$ l'ensemble de toutes les parties de $E$.
+\[X\in \Pt{E}\iff X\subset E.\]
+
+\begin{alert}
+La propriété ci-dessus exprime le fait qu'une inclusion dans $E$ se traduit par une appartenance à $\Pt{E}$. Si $A$ et $B$ sont des parties de $E$, ce sont des \emph{éléments} de $\Pt{E}$, de même que~$\emptyset$ et~$E$. En revanche $\{A\}$, qui est un ensemble admettant pour seul élément la partie $A$ de $E$, est une partie de~$\Pt{E}$ de même que $\{\emptyset\}$ et $\{\emptyset, A, B,E\}$. En tant que parties de $\Pt{E}$, ce sont aussi des éléments de $\Pt{\Pt{E}}$! On notera aussi que l'ensemble vide~$\emptyset$, qui ne contient aucun élément, ne doit pas être confondu avec $\{\emptyset\}$, qui est un ensemble qui contient l'ensemble vide pour seul élément : ces deux ensembles sont des parties de $\Pt{E}$, distinctes l'une de l'autre. Enfin, il apparaît que $\emptyset$ est à la fois un élément et une partie de $\Pt{E}$…
+\end{alert}
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Si $E=\{a,b\}$, $\Pt{E}=\{\emptyset,\{a\},\{b\},E\}$.
+\item Si $E=\emptyset$, $\Pt{E}=\{\emptyset\}$, $\Pt{\Pt{E}}=\{\emptyset,\{\emptyset\}\}$ et \[\Pt{\Pt{\Pt{E}}}=\{\emptyset,\{\emptyset\},\{\{\emptyset\}\},\{\emptyset,\{\emptyset\}\}\}.\]
+\end{enumerate}
+\end{example}
+
+\subsubsection{Opérations dans l'ensemble des parties}
+On définit l'union (notée $\cup$) et l'intersection (notée $\cap$) de deux parties de $E$ de la façon suivante :
+
+\smallskip\par
+\begin{itemize}
+\item\textit{Union :} $x\in A\cup B \iff ((x\in A)\;\text{ou}\;(x\in B))$.
+\item\textit{Intersection :} $x\in A\cap B \iff ((x\in A)\;\text{et}\;(x\in B))$.
+\end{itemize}
+\smallskip\par
+
+À propos de l'union, on notera qu'en mathématique le mot \frquote{ou} a \emph{toujours} un sens inclusif, c'est-à-dire \frquote{l'un ou l'autre ou les deux}. L'union et l'intersection de deux parties de $E$ sont elles-mêmes des parties de $E$.
+
+De même on définit le complémentaire d'une partie $A$ de $E$ comme étant la partie de $E$ constituée des éléments de $E$ qui n'appartiennent pas à~$A$. Ce complémentaire est noté $E\smallsetminus A$ ou~$\complement_{E} A$. Lorsque qu'il n'y a aucune ambiguïté concernant l'ensemble $E$, on peut même le noter~$\bar{A}$.
+\smallskip\par
+\begin{itemize}
+\item\textit{Complémentaire :} $x\in \complement_E A \iff ((x\in E)\;\text{et}\;(x\notin A))$.
+\end{itemize}
+
+\smallskip
+Enfin on définit également la \emph{différence ensembliste} de deux parties $A$ et $B$ de $E$, notée~$A\smallsetminus B$ comme étant l'ensemble des éléments de $A$ qui ne sont pas éléments de $B$.
+\smallskip\par
+\begin{itemize}
+\item\textit{Différence ensembliste :} $x\in A\smallsetminus B \iff ((x\in A)\;\text{et}\;(x\notin B))$.
+\end{itemize}
+
+\subsubsection{Partition d'un ensemble}
+Soit un ensemble $E$ et $\symcal{C}$ une ensemble de parties de $E$ (c'est-à-dire un sous-ensemble ou encore une partie de $\Pt{E}$), on dit que $\symcal{C}$ est une partition de $E$ si les deux conditions suivantes sont vérifiées :
+\begin{enumerate}
+\item Tout élément de $\symcal{C}$ est non vide.
+\item Tout élément de $E$ appartient à un élément de $\symcal{C}$ et un seul.\label{cond2}
+\end{enumerate}
+
+\begin{remark}On notera que la condition~\ref{cond2} ci-dessus peut s'expliciter en disant que les parties qui constituent $\symcal{C}$ sont deux à deux disjointes (c'est-à-dire d'intersection vide) et que leur réunion est égale à$E$.
+\end{remark}
+
+\subsection{Relation binaire entre deux ensembles}\label{relbin}
+Une \emph{relation binaire} $\symcal{R}$ entre deux ensembles $E$ et $F$ est définie par la donnée d'une partie~$\symcal{G}$ du produit cartésien~$E\times F$ (on a donc $\symcal{G}\in\Pt{E\times F}$). Cette partie, qui est donc un ensemble de couples, est le \emph{graphe} de la relation : par définition, un couple~$(x,y)$ de~$E\times F$ est lié par la relation~$\symcal{R}$ si~$(x,y)\in \symcal{G}$. Donner une relation binaire revient donc à donner son graphe. Si la relation est notée $\symcal{R}$, on écrit $x\mathrel{\symcal{R}}y$ ou $\symcal{R}(x,y)$ pour exprimer que~$x$ et~$y$, dans cet ordre, sont liés par la relation $\symcal{R}$. On a donc pour une relation~$\symcal{R}$ dont le graphe est $\symcal{G}$:
+\[\forall (x,y)\in E\times F, \; x\mathrel{\symcal{R}}y\iff(x,y)\in \symcal{G}.\]
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item L'égalité est une relation binaire qui peut être définie sur tout ensemble $E$. Son graphe est ce que l'on nomme la \emph{diagonale} de $E$, c'est à dire l'ensemble des couples $(x,y)$ de~$E^2$ tels que~$x=y$.
+
+%\item L'ordre strict dans l'ensemble des réels est une relation binaire notée~$<$ (on aurait également pu considérer un ordre large ou l'ordre inverse). Par définition, $x<y$ traduit le fait que $y-x$ est un réel strictement positif :
+%\[\forall (x,y) \in \R^2, \; x<y \iff (y-x)\in \R^{*}_+.\]
+%Le graphe de cette relation peut être représenté par l'ensemble des points du plan repéré dont l'ordonnée est strictement supérieure à l'abscisse, c'est à dire les points situés strictement au dessus de la droite d'équation $y=x$ (première bissectrice du repère).
+%\label{ord-strict}
+%On notera que la \emph{règle des signes}, reposant sur la \emph{partition} de $\R$ en trois ensembles qui sont $\R^*_-$, le singleton $\{0\}$ et $\R^*_+$, préexiste à la définition d'un ordre dans $\R$.
+
+\item Le relation $p$ définie entre $\R$ et $\R_+$ par
+\[\forall (x,y)\in \R\times \R_+,\; p(x,y)\iff y=x^2.\]
+Le graphe de $p$ peut être représenté, dans le demi-plan repéré des points d'ordonnée positive, par la parabole d'équation~$y=x^2$. On notera que cette relation est en réalité une fonction et que la notation $y=p(x)$ aurait été plus habituelle; nous y reviendrons.
+\end{enumerate}
+\end{example}
+
+% Dans le cas d'une
+%relation fonctionnelle (voir \S~\ref{Rfonc} ci-dessous), pour laquelle un seul élément y de $F$ est en relation avec un élément $x$ donné dans $E$, on écrit en général $y=\symcal{R}(x)$.
+%
+
+\section{Relations d'équivalence}
+\subsection{Définition}
+On dit qu'une relation $\symcal{R}$, définie sur $E$ (on se place donc dans le cas où $E=F$) est une relation d'équivalence si elle possède les trois propriétés suivantes :
+\begin{enumerate}
+\item Elle est \emph{réflexive}, c'est-à-dire que tout élément de $E$ est en relation avec lui même :
+\[\forall x \in E,\; x\mathrel{\symcal{R}}x.\]
+\item Elle est \emph{symétrique}:
+\[\forall (x,y)\in E\times E,\; (x\mathrel{\symcal{R}}y \implies y\mathrel{\symcal{R}}x).\]
+\item Elle est \emph{transitive} :
+%\[
+%\forall (x,y,z)\in E^3,\quad \left.\begin{aligned}
+%x&\mathrel{\symcal{R}}y\\
+%&\text{et}\\
+%y&\mathrel{\symcal{R}}z
+%\end{aligned}\right\}
+%\implies x\mathrel{\symcal{R}}z
+%\]
+\[
+\forall (x,y,z)\in E^3,\; \bigl((x\mathrel{\symcal{R}}y\;\text{ et }\;y\mathrel{\symcal{R}}z)\implies x\mathrel{\symcal{R}}z\bigr).
+\]
+\end{enumerate}
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item L'égalité est une relation d'équivalence sur tout ensemble, c'est une conséquence directe de la définition.
+\item Si l'on désigne par $\symfrak{D}$ l'ensemble des droites du plan, le parallélisme est une relation d'équivalence sur $\symfrak{D}$ : c'est immédiat également, on peut noter au passage que la transitivité traduit le fait que \frquote{deux droites parallèles à une même troisième sont parallèles entre elles}.
+\item Pour un ensemble $E$ donné, la relation dont le graphe est $E\times E$ est une relation d'équivalence. Tous les couples d'éléments de $E$ sont donc liés par cette relation.
+\item La relation $\equiv$ définie dans l'ensemble $\Z$ des entiers par
+\[\forall (m,n)\in\Z\times\Z,\; m\equiv n \iff (m-n) \text{ est un entier pair.}\]
+est une relation d'équivalence.
+
+Rappelons qu'un élément $p$ de $\Z$ est un entier pair s'il est divisible par~$2$, c'est-à-dire s'il existe $k$ appartenant à $\Z$ tel que~$p=2k$ et montrons que la relation~$\equiv$ remplit bien les conditions requises :
+\begin{enumerate}
+\item \emph{Réflexivité. — }Soit $m\in\Z$ un entier quelconque : $m-m=0=2\times0$. Donc~$m-m$ est pair. La relation $\equiv$ est réflexive.
+\item \emph{Symétrie. — }Soit $m$ et $n$ deux entiers tels que $m\equiv n$. Alors il existe un entier~$k$ tel que~$m-n=2k$. Il suffit alors d'écrire $n-m=2\times(-k)$ pour constater que $n\equiv m$. La relation~$\equiv$ est symétrique.
+\item\emph{Transitivité. — }Soit $(m,n,p)$ dans $\Z^3$ tels que $m\equiv n$ et $n\equiv p$. Il existe alors deux entiers~$k$ et~$k'$ tels que \mbox{$m-n=2k$} et $n-p=2k'$. Il suffit de remarquer que
+\[m-p=(m-n)+(n-p)=2(k+k'), \text{ où $(k+k')\in\Z$}\]
+pour établir que $m\equiv p$. La relation $\equiv$ est donc transitive.
+\end{enumerate}
+\end{enumerate}
+\end{example}
+%\subsection{Exemples}
+
+\subsection{Classes d'équivalence}
+Soit un ensemble $E$ et une relation d'équivalence $\symcal{R}$ sur$E$. On dit qu'une partie~$A$ de~$E$ est une classe d'équivalence modulo la relation~$\symcal{R}$ s'il existe un élément $x$ de~$E$ tel que~$A$ soit l'ensemble des éléments~$y$ de~$E$ pour lesquels la relation~$x\mathrel{\symcal{R}}y$ est vérifiée. On note alors~$A=\cl_{\symcal{R}} (x)$ ou~$A=\cl (x)$ s'il n'y a pas d'ambiguité.
+\[y\in\cl_{\symcal{R}} (x)\iff x\mathrel{\symcal{R}}y.\]
+
+\begin{thm}
+Soit un ensemble $E$ et une relation d'équivalence $\symcal{R}$ sur $E$. L'ensemble des classes d'équivalence modulo $\symcal{R}$ constitue une partition de $E$.
+\end{thm}
+
+\begin{proof}
+Tout d'abord la réflexivité de la relation $\symcal{R}$ entraîne que pour tout~$x$ appartenant à~$E$,~$x$ appartient à~$\cl(x)$. Par conséquent, tout $x\in E$ appartient à une classe et toute classe est non vide. Il nous reste à prouver que tout élément $x$ de $E$ appartient à une seule classe, c'est à dire que s'il existe un élément $y$ de $E$ tel que $x\in \cl(y)$, alors $\cl(x)=\cl(y)$.
+
+Nous allons procéder par double inclusion.
+\begin{itemize}
+\item Soit donc $y\in E$ tel que $x\in\cl(y)$. On sait que $y\mathrel{\symcal{R}}x$, donc,
+pour tout~$z\in \cl(x)$, on a à la fois $y\mathrel{\symcal{R}}x$ et $x\mathrel{\symcal{R}}z$ : par transitivité on obtient~$y\mathrel{\symcal{R}}z$, soit~$z\in\cl(y)$ :
+\[\forall z\in E, (z\in\cl(x)\implies z\in\cl(y), \text{ donc }\cl (x)\subset\cl (y).\]
+ \item Par symétrie de la relation d'équivalence $\symcal{R}$, on a aussi~$x\mathrel{\symcal{R}}y$. On peut alors refaire le même raisonnement que ci-dessus :
+ pour tout $z$ appartenant à $\cl(y)$ on a à la fois~$x\mathrel{\symcal{R}}y$ et~$y\mathrel{\symcal{R}}z$,
+ donc par transitivité $x\mathrel{\symcal{R}}z$, soit~\mbox{$z\in\cl(x)$} :
+\[\forall z\in E, (z\in\cl(y))\implies z\in\cl(x), \text{ donc }\cl (y)\subset\cl (x).\]
+\item Finalement $\cl(x)=\cl(y)$.\qedhere
+\end{itemize}
+\end{proof}
+
+\begin{remark}
+Réciproquement, toute partition $\symcal{C}$ d'un ensemble $E$ est l'ensemble des classes d'une relation d'équivalence. Il suffit en effet de considérer la relation $\sim$ telle que pour tout~$(x,y)$ dans $E^2$, on ait \textit{$x\sim y$ si $x$ appartient au même élément de $\symcal{C}$ que~$y$}, laquelle répond à la question.
+\end{remark}
+%\end{document}
+%\subsubsection{Notion de structure quotient}
+
+\section{Relations d'ordre}
+\subsection{Définition}
+On dit qu'une relation $\preccurlyeq$, définie sur $E$ (on se place donc ici encore dans le cas où~$E=F$) est une relation d'ordre si elle possède les trois propriétés suivantes :
+\begin{enumerate}
+\item Elle est \emph{réflexive}, c'est-à-dire que tout élément de $E$ est en relation avec lui même :
+\[\forall x \in E,\; x\preccurlyeq x.\]
+\item Elle est \emph{antisymétrique}:
+\[\forall (x,y)\in E\times E,\; \bigl((x\preccurlyeq y)\text{ et }(y\preccurlyeq x)\implies x=y\bigr).\]
+\item Elle est \emph{transitive} :
+%\[
+%\forall (x,y,z)\in E^3,\quad \left.\begin{aligned}
+%x&\mathrel{\symcal{R}}y\\
+%&\text{et}\\
+%y&\mathrel{\symcal{R}}z
+%\end{aligned}\right\}
+%\implies x\mathrel{\symcal{R}}z
+%\]
+\[
+\forall (x,y,z)\in E^3,\; \bigl((x\preccurlyeq y\;\text{ et }\;y\preccurlyeq z)\implies x\preccurlyeq z\bigr).
+\]
+\end{enumerate}
+
+\begin{remark}
+La démonstration du résultat suivant est immédiate.
+
+Une relation d'ordre $\preccurlyeq$ sur un ensemble $E$ étant donnée, la relation~$\succcurlyeq$, définie par
+\[\forall (x,y) \in E^2, x\succcurlyeq y \iff y\preccurlyeq x\,,\]
+est une relation d'ordre sur $\R$ nommée \emph{ordre inverse} de $\preccurlyeq$.
+\end{remark}
+
+%\begin{exemple}[Exemples]
+%\begin{enumerate}
+%\item La relation d'ordre strict sur l'ensemble $\R$ des réels, telle que nous l'avons rencontrée dans l'exemple~\ref{ord-strict} du paragraphe~\ref{relbin} n'est pas une relation d'ordre, car elle n'est pas réflexive. En revanche l'ordre large correspondant, défini par
+%\[\forall (x,y) \in \R^2, \; x\leq y \iff (y-x)\in \R_+\,,\]
+%est bien une relation d'ordre. En effet :
+%\begin{itemize}
+%\item Pour tout $x$ réel, $x-x=0$ et $0\in \R_+$, ce qui assure que la relation~$\leq$ est \emph{réflexive}.
+%\item Pour tout couple de réels $(x,y)$, si $x\leq y$ et $y\leq x$ alors $x=y$. En effet, en effet, $y\leq x$ signifie que $(x-y)\in \R_+$. Le réel $(y-x)$ se retrouve donc appartenir à la fois à $\R_+$ (car $x\leq y$) et à $\R_-$ (en tant qu'opposé de $(x-y)$) ; on en déduit que $y-x=0$ donc que $x=y$. La relation~$\leq$ est donc \emph{antisymétrique}.
+%\item Soit $(x,y,z)\in\R^3$, on a $z-x=(z-y)+(y-x)$. On en déduit que si $x\leq y$ et $y\leq z$, $z-x$ est élément de $\R_+$ et tant que somme de deux éléments de $\R_+$, ce qui revient à dire que $x\leq z$. Le relation~$\leq$ est donc \emph{transitive}.
+%\end{itemize}
+%\end{enumerate}
+%\end{exemple}
+
+\subsection{Ordre dans les ensembles de nombres}
+Les relations usuelles $<$ et $>$, définies sur les ensembles de nombres, \emph{ne sont pas} des relations d'ordre, il est facile de l'établir : ces relations \emph{ne sont pas} réflexives. Il est en revanche plus délicat de démontrer que les relations~$\leq$ et~$\geq$ sont des relations d'ordre, et même de tout simplement définir ces relations.
+ On pourrait songer à définir l'ordre dans $\R$ en disant que~$x\leq y$ si $(y-x)\in \R_{+}$… Mais alors il resterait à définir $\R_{+}$ sans utiliser l'ordre, ce qui ne semble nullement évident. C'est pour cette raison que nous nous contenterons d'affirmer que la relation $\leq$, telle que chacun la connaît, est bien une relation d'ordre sur $\R$ (ainsi d'ailleurs que sur $\N$, $\Z$, $\symbb{D}$ et $\Q$).
+
+%
+\subsection{Un peu de vocabulaire}
+On se donne dans ce paragraphe un ensemble $\symcal{E}$ sur lequel est définie une relation d'ordre~$\preccurlyeq$.
+\subsubsection{Ordre total}
+ On dit que la relation $\preccurlyeq$ définit un ordre total sur $\symcal{E}$ si pour tout couple~$(x,y)$ d'éléments de~$\symcal{E}$, la proposition
+ \XSmartphoneCommand{$\bigl((x\preccurlyeq y)\text{ ou }(y\preccurlyeq x)\bigr)$}
+ \SmartphoneCommand{%
+ \[
+ \bigl((x\preccurlyeq y)\text{ ou }(y\preccurlyeq x)\bigr)
+ \]%
+ }
+ est vraie.
+
+\subsubsection{Majorants, minorants \& C\up{ie}}
+Soit maintenant $\symcal{A}$ une partie de $\symcal{E}$.
+
+\begin{itemize}
+\item On dit qu'un élément $M$ de $\symcal{E}$ est un majorant de $\symcal{A}$, si $\forall x\in \symcal{A},\, x\preccurlyeq M$.
+\item On dit qu'un élément $m$ de $\symcal{E}$ est un minorant de $\symcal{A}$, si $\forall x\in \symcal{A},\, m\preccurlyeq x$.
+\item On dit que $\symcal{A}$ admet $A$ pour plus grand élément si $A\in \symcal{A}$ et si $A$ est un majorant de $\symcal{A}$.
+\item On dit que $\symcal{A}$ admet $a$ pour plus petit élément si $a\in \symcal{A}$ et si $a$ est un minorant de~$\symcal{A}$.
+\end{itemize}
+
+
+
+\begin{remark}
+Dans un ensemble muni d'une relation d'ordre, l'existence d'un majorant, d'un minorant, d'un plus petit ou d'un plus grand élément n'est nullement assurée. On a en revanche le résutat suivant.
+\end{remark}
+
+\begin{thm}
+Soit un ensemble $\symcal{E}$ sur lequel est définie une relation d'ordre $\preccurlyeq$ et soit $\symcal{A}$ une partie de~$\symcal{E}$. Si~$\symcal{A}$ admet une plus grand élément (respectivement un plus petit élément) pour la relation $\preccurlyeq$, ce plus grand élément (respectivement ce plus petit élément) est unique.
+\end{thm}
+\begin{proof}
+Nous proposons la démonstration dans le cas du plus petit élément, celle de l'autre cas est identique. Supposons que~$a$ et~$a'$ soient des plus petits éléments de $\symcal{A}$. D'après la définition d'un plus petit élément, on sait que pour tout~$x$ de~$\symcal{A}$, $a\preccurlyeq x$ et en particulier~\mbox{$a\preccurlyeq a'$}. Et de la même façon, on sait que pour tout $x$ de $\symcal{A}$, $a'\preccurlyeq x$ et en particulier~\mbox{$a'\preccurlyeq a$}. L'antisymétrie de la relation $\preccurlyeq$ nous assure alors que $a=a'$, d'où l'unicité du plus petit élément.
+\end{proof}
+
+Supposons maintenant que $\symcal{A}$ admette $A$ pour plus grand élément et soit $\symcal{M}$ l'ensemble de tous les majorants de $\symcal{A}$. Il va de soi que $\symcal{A}\cap\symcal{M}=\{A\}$. L'élément $A$ apparaît ainsi également comme le plus petit élément de $\symcal{M}$. De la même façon, si $\symcal{A}$ admet un plus petit élément, ce dernier est le plus grand des minorants de $\symcal{A}$.
+
+\begin{alert}
+Dans le cas où $\symcal{A}$ ne possède pas de plus grand élément, il n'est nullement assuré que~$\symcal{M}$ possède un plus petit élément, ni même d'ailleurs que $\symcal{M}$ soit non vide. Néanmoins il est possible que $\symcal{M}$ possède un plus petit élément, et ceci que $\symcal{A}$ possède ou non un plus grand élément. Ce plus petit élément de $\symcal{M}$ est alors par définition la \emph{borne supérieure} de~$\symcal{A}$ dans l'ensemble $\symcal{E}$ ordonné par $\preccurlyeq$.
+\end{alert}
+
+ \section{Applications, fonctions}\label{Rfonc}
+%%%Fonction caractéristique, cardinal de $\symcal{P}(E)$ ou $\symfrak{P}(E)$
+\subsection{Définition}
+On dit qu'une relation binaire $f$ entre deux ensembles $E$ et~$F$ est fonctionnelle ou qu'elle est une \emph{fonction} définie sur~$E$ et à valeurs dans $F$ ou encore une \emph{application} de~$E$ dans $F$ si tout élément $x$ de $E$ est en relation avec un élément~$y$ de~$F$ et un seul. Cet élément $y$ est appelé \emph{image} de~$x$ par~$f$ et noté $f(x)$ (autrement dit on écrit plus volontiers~$y=f(x)$ que~$x \mathrel{f}y$). L'ensemble $E$ est l'ensemble de départ de la fonction et l'ensemble $F$ son ensemble d'arrivée.
+
+Une application est donc déterminée par la donnée de son ensemble de départ, de son ensemble d'arrivée et d'un procédé décrivant une correspondance fonctionnelle entre ces deux ensembles. On note souvent :
+
+\begin{align*}&f\::\;E\to F\;,\quad x\longmapsto f(x)\,.\\
+\intertext{Par exemple :}
+&f\::\;\left]-1,1\right[\to\R\;,\quad x \longmapsto \frac{1}{x^2-1}\;,\\
+\intertext{ou}
+&g\::\;\Z\to\{0,1\}\;,\quad p\longmapsto
+\begin{cases} 0&\text{ si $p$ est pair,}\\
+1&\text{ sinon.}
+\end{cases}
+\end{align*}
+
+Il n'y a pas de distinction entre fonction et application, mais le contexte peut introduire certaines nuances. En effet, lorsque $E$ est une partie de l'ensemble $\R$ des nombres réels, $f(x)$ est souvent donné par une expression, sa valeur étant le résultat d'un calcul. On emploie alors plus volontiers le vocable \emph{fonction} et dans ce cas l'ensemble de départ peut ne pas être précisé et correspond alors à l'ensemble des valeurs de $x$ pour lesquelles le calcul de $f(x)$ est possible. On parle alors plutôt d'ensemble de définition que d'ensemble de départ.
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Soit la fonction $f$ de la variable réelle $x$, telle que
+\[f(x)=\frac{x}{x^2-4}\;.
+\]
+Déterminons l'ensemble de définition $\symcal{D}_f$ de la fonction $f$. On a
+\begin{align*}
+x\in \symcal{D}_f &\iff x^2-4\neq 0\\
+&\iff x\neq -2 \text{ et } x\neq 2.
+\end{align*}
+
+Donc $\symcal{D}_f= \R\smallsetminus\{-2,2\}$.
+\item Soit la fonction $g$ telle que $g(x)=\sqrt{1-x^2}$. Déterminons l'ensemble de définition de $g$. On a
+\[
+x\in \symcal{D}_g \iff 1-x^2\geq 0.
+\]
+
+Il nous faut donc résoudre l'inéquation $1-x^2\geq0$. Le polynôme $1-x^2$ admet les nombres~$-1$ et~$1$ pour racines et le coefficient de $x^2$ est négatif :~\mbox{$1-x^2$} est donc positif dans l'intervalle des racines (on pourra consulter le volet consacré aux polynômes du second degré).
+
+Donc $\symcal{D}_g= \left[-1,1\right]$.
+\end{enumerate}
+\end{example}
+
+\subsection{Antécédents, surjections, injections \& bijections}
+\subsubsection{Notion d'antécédent}
+Soit une application $f$ de $E$ dans $F$ et soit~$b$ élément de~$F$. On dit qu'un élément~$a$ de~$E$ est un \emph{antécédent} de $b$ si $f(a)=b$, autrement dit si~$b$ est l'image de~$a$ par $f$.
+Alors que la définition d'une fonction entraîne que l'image d'un quelconque élément de $E$ existe et est unique, dans le cas d'une recherche d'antécédent, rien de ce genre n'est assuré.
+
+Considérons par exemple la fonction \emph{carré} définie par
+\[f\::\;\R\to\R\;,\quad x\longmapsto f(x)=x^2 \]
+et recherchons les antécédents par $f$ d'un élément~$y$ de~$\R$, c.-à-d. les solutions de l'équation d'inconnue~$x$ :~\mbox{$x^2=y$}.
+\begin{itemize}
+\item \textit{Si $y>0$} : $y$ admet deux antécédents qui sont $\sqrt{y}$ et $-\sqrt{y}$.
+\item \textit{Si $y=0$} : le seul antécédent de $0$ est $0$.
+\item \textit{Si $y<0$} : $y$ ne possède aucun antécédent.
+\end{itemize}
+\begin{remark}
+Il faut remarquer ici que la connaissance précise des ensembles de départ et d'arrivée est indispensable à la recherche des antécédents. Considérons la fonction
+\[g\::\;\R_+\to\R_+\;,\quad x\longmapsto g(x)=x^2. \]
+Les expressions de $g(x)$ et de $f(x)$ sont parfaitement identiques, mais, contrairement à ce que nous venons d'étudier pour la fonction $f$, dans le cas de la fonction $g$ tout élément~$y$ de l'ensemble d'arrivée possède un antécédent unique qui est $\sqrt{y}$.
+\end{remark}
+\subsubsection{Surjections, injections et bijections}
+\begin{remark}[Surjections]
+On dit qu'une application $f$ de $E$ dans $F$ est \emph{surjective} (ou encore que~$f$ est une \emph{surjection}) si tout élément de $F$ possède au moins un antécédent dans~$E$.
+\end{remark}
+\begin{remark}[Injections]
+On dit qu'une application $f$ de $E$ dans $F$ est \emph{injective} (ou encore que $f$ est une \emph{injection}) ou encore si deux éléments distincts quelconques de $E$, ont des images distinctes. De façon plus formelle,~\mbox{$f\::\;E\to F$} est injective si
+\begin{gather}\forall(x,y)\in E\times E, \;\bigl(x\neq y\implies f(x)\neq f(y)\bigr).\label{condinj1}\\
+\intertext{Ou, par contraposition, $f\::\;E\to F$ est injective si}
+\forall(x,y)\in E\times E, \;\bigl(f(x)= f(y)\implies x=y\bigr).\label{condinj2}
+\end{gather}
+
+On peut dire également que $f$ est injective si et seulement si tout élément de $F$ possède au plus un antécédent dans~$E$.
+\end{remark}
+
+\begin{remark}[Bijections]
+On dit qu'une application $f$ de $E$ dans $F$ est \emph{bijective} (ou encore que $f$ est une \emph{bijection}) si tout élément de $F$ possède un antécédent dans $E$ et un seul, autrement dit si $f$ est à la fois surjective et injective.
+
+Si l'application $f\::\;E\to F$ est bijective, l'application qui à tout élément de $F$ associe son unique antécédent dans $E$ est évidemment bijective : c'est la \emph{bijection réciproque} de~$f$, notée~$f^{-1}$.
+\end{remark}
+\begin{example}[Exemples]
+\begin{enumerate}
+\item \label{phi} Soit l'application
+\[
+\phi\::\;\R\smallsetminus\{1\}\to\R\,,\quad x\longmapsto \frac{2x}{x-1}\;.
+\]
+
+Donnons-nous un réel $y$ quelconque et recherchons ses antécédents, qui sont les solutions dans $\R\smallsetminus\{1\}$ de l'équation $\phi(x)=y$, que nous résolvons ici :
+\begin{align*}
+\frac{2x}{x-1}=y &\iff 2x=y(x-1)\text{ et } x\neq 1\,,\\
+&\iff x(2-y)=-y\text{ et } x\neq 1\,,\\
+&\iff x(y-2)=y\text{ et } x\neq 1\,.
+\end{align*}
+\begin{itemize}
+\item\textit{Si $y=2$}, l'équation est équivalente à $0=2$ et n'a donc pas de solution. Le réel $2$ n'a pas d'antécédent par $\phi$.
+\item\textit{Si $y\neq 2$}, l'équation admet \[x=\frac{y}{y-2}\] pour unique solution (il est clair en effet que $y/(y-2)$ ne peut être égal à $1$).
+\end{itemize}
+
+
+En résumé, le réel $2$ ne possède aucun antécédent et les réels différents de $2$ possèdent un antécédent et un seul. L'application $\phi$ est donc injective, mais n'est pas surjective.
+\item Soit maintenant l'application
+\[
+\psi\::\;\R\smallsetminus\{1\}\to\R\smallsetminus\{2\}\,,\quad x\longmapsto \frac{2x}{x-1}\;.
+\]
+
+On notera que les applications $\phi$ et $\psi$ ne diffèrent que par leur ensemble d'arrivée. Cependant, l'étude faite ci-dessus en \ref{phi} prouve que $\psi$ est bijective et que sa bijection réciproque est
+\[
+\psi^{-1}\::\;\R\smallsetminus\{2\}\to\R\smallsetminus\{1\}\,,\quad x\longmapsto \frac{x}{x-2}\;.
+\]
+\item L'application $\theta$ définie par
+\[
+\theta\::\;\R\to\R\,,\quad x\longmapsto x^2-1
+\]
+n'est ni injective ni surjective. En effet $\theta(x)$ est nul si et seulement si $x^2=1$, c.-à-d si et seulement si $x=-1$ ou $x=1$ : le réel $0$ possède donc deux antécedents pour $\theta$. Par ailleurs, pour tout réel~$x$,~$x^2\geq0$, donc $\theta(x)\geq-1$ : le réel $-2$, par exemple, ne possède aucun antécédent par $\theta$.
+\end{enumerate}
+\end{example}
+\subsection{Composée de deux applications}
+
+Soit deux applications $f\::\;E\to F$ et $g\::\;F\to G$, on appelle \emph{application composée de~$f$ par~$g$} et on note $g\rond f$ l'application de $E$ dans $G$ définie par :
+\[g\rond f\::\; E\to G\,,\quad x\longmapsto g\rond f(x) = g\bigl(f(x)\bigr).\]
+
+Notons qu'il est important pour définir $g\rond f$ que l'ensemble d'arrivée de $f$ coïncide avec l'ensemble de départ de~$g$.
+
+\begin{example}
+Soit
+\[
+f\::\;\R^*\to\R\,,\; x\mapsto \frac1x\;\text{ et }\;g\::\:\R\to\R\,,\; x\mapsto x^2+1\,.
+\]
+Déterminons $g\rond f$ qui est une application de $\R^*$ dans $\R$.
+
+On a pour tout $x\in\R^*$,
+\begin{align*}
+g\rond f(x) &= g\bigl(f(x)\bigr),\\
+&={\bigl(f(x)\bigr)}^2+1,\\
+&={\left(\frac1x\right)}^2+1,\\
+\intertext{ou, en réduisant au même dénominateur,}
+g\rond f(x)&= \frac{1+x^2}{x^2}\;.
+\end{align*}
+\begin{remark}
+On notera que la même lettre $x$ intervient dans les définitions de~$f$ et~$g$. Il s'agit bien sûr d'une lettre muette, qui pourrait dans chaque cas être remplacée par n'importe quelle autre lettre (en évitant tout de même les lettres $f$ et $g$!).
+\end{remark}
+\end{example}
+
+\begin{thm}Soit deux applications $f\::\;E\to F$ et $g\::\;F\to G$. Si $f$ et $g$ sont des bijections, alors l'application composée $g\rond f$ est une bijection dont la bijection réciproque est $f^{-1}\rond g^{-1}$.
+\end{thm}
+
+\begin{proof}
+Soit deux bijections $f\::\;E\to F$ et $g\::\;F\to G$. % et un élément $a$ de $E$.
+%Si $a$ est un antécédent de $b$ par $g\rond f$, on a $g\rond f(a)=c$, soit $g\bigl(f(a)\bigr)=c$.
+\begin{enumerate}
+\item\label{gofsurj} Donnons nous un élément $c$ quelconque de $G$. Les applications~$g$ et~$f$ étant surjectives, $c$ possède un antécédent~$b$ par $g$ et $b$ possède lui-même un antécédent $a$ par $f$. On a alors
+\[g\rond f(a) =g\bigl(f(a)\bigr)=g(b)=c.\]
+L'élément $c$ admet $a$ pour antécédent par $g\rond f$ qui est donc est donc application surjective.
+\item Supposons maintenant qu'il existe un élément $c$ de $G$ et $a$ et $a'$ éléments de $E$ tels que~$g\rond f(a)=g\rond f(a')$. Alors $g\bigl(f(a)\bigr)=g\bigl(f(a')\bigr)$ et puisque $g$ est injective on a, d'après la proposition \eqref{condinj2} p.~\pageref{condinj2}, $f(a) = f(a')$; l'application $f$ étant elle-même injective, on obtient finalement~$a=a'$. On a donc prouvé que
+\[\forall(a,a')\in E\times E, \;\bigl(g\rond f(a)= g\rond f(a')\implies a=a'\bigr),\]
+autrement dit que $g\rond f$ est injective.
+\item L'application $g\rond f$ est donc surjective et injective : elle est bijective. On remarque alors en employant les notations du point \ref{gofsurj} ci-dessus \mbox{que $a=f^{-1}(b)$} et $b=g^{-1}(c)$, \mbox{d'où $a=f^{-1}\bigl(g^{-1}(c)\bigr)$}, ce qui achève la démonstration en prouvant que
+\[{\bigl(g\rond f\bigr)}^{-1}=f^{-1}\rond g^{-1}.\qedhere\]
+\end{enumerate}
+\end{proof}
+
+\begin{remark}
+La réciproque de ce théorème est fausse. Considérons par exemple les applications suivantes :
+\[
+f\::\;\R_+\to\R\,,\; x\mapsto \sqrt{x}\;\text{ et }\;g\::\;\R\to\R_+\,,\; x\mapsto x^2.
+\]
+Pour tout réel $x$ positif, on a $g\bigl(f(x)\bigr)=\bigl(\sqrt{x}\bigr)^2=x$, par définition de la racine carrée. Par conséquent, on a
+\[g\rond f \::\;\R_+\to\R_+\,,\quad x\longmapsto x,\]
+qui est à l'évidence une bijection. Cependant, $f$ n'est pas surjective (les nombres strictement négatifs n'ont pas d'antécédent) et $g$ n'est pas injective (deux nombres opposés non nuls ont la même image).
+\end{remark}
+
+On a néanmoins le théorème suivant:
+\begin{thm}
+Soit deux applications $f\::\;E\to F$ et $g\::\;F\to G$. Si $g\rond f$ est injective, $f$ est injective. Si $g\rond f$ est surjective, $g$ est surjective.
+\end{thm}
+
+\begin{proof}
+\begin{itemize}
+\item Supposons $g\rond f$ injective et soit $x$ et $y$ éléments de $E$ tels que~\mbox{$f(x)=f(y)$}. Montrons que nécessairement $x=y$, ce qui établira que~$f$ est injective.
+
+Puisque $f(x)=f(y)$, $g\bigl(f(x)\bigr)=g\bigl(f(y)\bigr)$, soit $g\rond f(x)=g\rond f(y)$ : on en déduit que~$x=y$, car $g\rond f$ est injective par hypothèse. Par conséquent~$f$ est injective.
+\item Supposons $g\rond f$ surjective et soit $z$ un élément de $G$. L'application~$g\rond f$ étant surjective, il existe un élément $x$ de $E$ tel que $g\rond f(x)=z$, soit~$g\bigl(f(x)\bigr)=z$. L'élément~$z$ admet donc $f(x)$ pour antécédent par $g$, ce qui prouve que~$g$ est surjective. \qedhere
+\end{itemize}
+\end{proof}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/tango/examples/schoolwork.tex b/Master/texmf-dist/doc/lualatex/tango/examples/schoolwork.tex
new file mode 100644
index 00000000000..9ea9f9a2f0b
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/examples/schoolwork.tex
@@ -0,0 +1,238 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,no-indent,FontSize=11pt]{tango}
+\usepackage{numprint}
+%
+\NewCommandCopy{\np}{\numprint}
+%
+\newcommand\headcontentL{}
+\newcommand\headcontentC{}
+\newcommand\headcontentR{}
+\newcommand\footcontentL{}
+\newcommand\footcontentC{}
+\newcommand\footcontentR{}
+\newlength\SWruleheight
+\setlength\SWruleheight{0.4pt}
+\NewDocumentCommand\headL{m}{\renewcommand\headcontentL%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\NewDocumentCommand\headC{m}{\renewcommand\headcontentC%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\NewDocumentCommand\headR{m}{\renewcommand\headcontentR%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\NewDocumentCommand\footL{m}{\renewcommand\footcontentL%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\NewDocumentCommand\footC{m}{\renewcommand\footcontentC%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+%
+\NewDocumentCommand\footR{m}{\renewcommand\footcontentR%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\newpagestyle{schoolwork}{%
+\setheadrule{\SWruleheight}%
+\setfootrule{\SWruleheight}%
+\sethead{\headcontentL}%
+{\headcontentC}%
+{\headcontentR}%
+\setfoot{\footcontentL}%
+{\footcontentC}%
+{\footcontentR}
+}
+
+
+\headL{Le 13 novembre 2024}
+\headC{Entraînement au Devoir Commun \no 1}
+\headR{Durée : 2 heures}
+\footL{Lycée Jean-Baptiste \textsc{Colbert}}
+\footC{Classe de 1\iere~3}
+\footR{page~\thepage}
+%
+%
+\pagestyle{schoolwork}
+\geometry{top=2cm,outer=2cm,bottom=2cm,inner=2cm,headheight=18pt,headsep=25pt,footskip=34pt}
+
+\begin{document}
+
+
+\exo[Thème : suites — 4 points]
+
+
+On considère la suite $\left(u_n\right)$ définie par $u_0 = \numprint{10000}$ et pour tout entier naturel $n$
+\[u_{n+1} = 0{,}95u_n + 200.\]
+
+\begin{enumerate}
+\item Calculer $u_1$ et vérifier que $u_2 = \np{9415}$.
+\item
+ \begin{enumerate}
+ \item Démontrer, à l'aide d'un raisonnement par récurrence, que pour tout entier naturel $n$
+\[u_n >\np{4000}.\]
+\item Démontrer que la suite $\left(u_n\right)$ est décroissante. \end{enumerate}
+\item Pour tout entier naturel $n$, on considère la suite $\left(v_n\right)$ définie par $v_n = u_n - \np{4000}$.
+ \begin{enumerate}
+ \item Calculer $v_0$.
+ \item Démontrer que la suite $\left(v_n\right)$ est géométrique de raison égale à $0{,}95$.
+ \item En déduire que pour tout entier naturel $n$ :
+\[u_n = \np{4000} + \np{6000} \times 0{,}95^n.\]
+ \item Émettre une conjecture quant à la limite de la suite $\left(u_n\right)$ ?
+ \end{enumerate}
+\item En 2020, une espèce animale comptait \np{10000} individus. L'évolution observée les années précédentes conduit à estimer qu'à partir de l'année 2021, cette population baissera de 5~\% chaque début d'année.
+
+Pour ralentir cette baisse, il a été décidé de réintroduire $200$ individus à la fin de chaque année, à partir de 2021.
+
+Une responsable d'une association soutenant cette stratégie affirme que : \og l'espèce ne devrait pas s'éteindre, mais malheureusement, nous n'empêcherons pas une disparition de plus de la moitié de la population \fg.
+
+Que pensez-vous de cette affirmation ? Justifier la réponse.
+\end{enumerate}
+
+
+
+\exo[Thème : probablités — 4 points]
+
+Selon les autorités sanitaires d'un pays, 7~\% des habitants sont affectés par une certaine maladie.
+
+Dans ce pays, un test est mis au point pour détecter cette maladie. Ce test a les caractéristiques suivantes :
+\begin{itemize}
+\item Pour les individus malades, le test donne un résultat négatif dans $20 \,\%$ des cas ;
+\item Pour les individus sains, le test donne un résultat positif dans $1\,\%$ des cas.
+\end{itemize}
+
+Une personne est choisie au hasard dans la population et testée.
+
+On considère les événements suivants :
+\begin{itemize}
+\item $M$ : \og la personne est malade \fg{} ;
+\item $T$ : \og le test est positif \fg{}.
+\end{itemize}
+
+\begin{enumerate}
+\item Calculer la probabilité de l'événement $M \cap T$. On pourra s'appuyer sur un arbre pondéré.
+\item Démontrer que la probabilité que le test de la personne choisie au hasard soit positif, est de $\np{0,0653}$.
+\item On considère dans cette question que la personne choisie au hasard a eu un test positif.
+Quelle est la probabilité qu'elle soit malade ? On arrondira le résultat à $10^{-2}$.
+\item On choisit des personnes au hasard dans la population. La taille de la population de ce pays permet d'assimiler ce prélèvement à un tirage avec remise.
+
+On note $X$ la variable aléatoire qui donne le nombre d'individus ayant un test positif parmi les 10 personnes.
+ \begin{enumerate}
+ \item Préciser la nature et les paramètres de la loi de probabilité suivie par $X$.
+ \item Déterminer la probabilité pour qu'exactement deux personnes aient un test positif. On arrondira le résultat à $10^{-2}$ près.
+ \end{enumerate}
+\end{enumerate}
+
+\exo[Thème : géométrie dans l'espace — 2 points]
+
+
+
+Dans l'espace rapporté à un repère orthonormé $(O,\vec\imath,\vec\jmath,\vec k)$ , on considère les points
+\[A(-1,-1,3),\qquad B(1,1,2),\qquad C(1,-1,7).\]
+
+On considère également la droite $\Delta$ passant par les points $D(-1,6,8)$ et $E(11,- 9,2)$.
+
+Pour chacune des questions posées, quatre affirmations \textbf{dont une seule est correcte} sont proposées.
+Entourer la bonne réponse directement sur l'énoncé.
+
+Aucune justification n'est attendue.
+
+Une réponse correcte apporte 0,5 point. Une réponse incorrecte ou une absence de réponse n'enlève pas de point.
+
+
+ \begin{enumerate}
+ \item Une représentation paramétrique de la droite $\Delta$ est
+\medskip
+
+\textbf{a.} $\left\{
+ \begin{aligned}
+ x&= -1 + 11t\\
+ y&= 6 - 9t\\
+ z&= 8 +2t\\
+ \end{aligned} \right.~(t \in \symbb{R})$
+ \hfill
+\textbf{b.} $\left\{
+ \begin{aligned}
+ x&= -1 + 4t\\
+ y&= 6 - 5t\\
+ z&= 8 -2t\\
+ \end{aligned} \right.~(t \in \symbb{R})$
+ \hfill
+\textbf{c.} $\left\{
+ \begin{aligned}
+ x&= 11 -t\\
+ y&= - 9+6t\\
+ z&= 2 +8t\\
+ \end{aligned} \right.~(t \in \symbb{R})$
+ \hfill
+ \textbf{d.}
+ $\left\{
+ \begin{aligned}
+ x&= 4 -t\\
+ y&= -5 +6t\\
+ z&= -2 + 8 t\\
+ \end{aligned} \right.~(t \in \symbb{R})$\hfill\null
+
+\bigskip
+
+ \item Lequel de ces points appartient-il à la droite $\Delta$ ?
+
+\medskip
+
+ \textbf{a.} Le point $F(-3,1,6)$
+ \hfill \textbf{b.} Le point $G (5,\:-1{,}5,\:5)$
+ \hfill \textbf{c.} Le point $H (10,-3,10)$
+ \hfill \textbf{d.} Le point $K (12,-15,-6)$
+
+\bigskip
+
+ \item Pour savoir si les points $A$, $B$ et $C$ définissent un plan, il faut vérifier que $\overrightarrow{AB}$ et $\overrightarrow{AC}$ :
+
+\medskip
+
+ \textbf{a.} sont colinéaires.
+ \hfill \textbf{b.} sont coplanaires.
+ \hfill \textbf{c.} ne sont pas colinéaires.
+ \hfill \textbf{d.} ne sont pas coplanaires.
+
+\bigskip
+
+ \item La droite $\Delta$ et le plan (ABC) :
+
+\medskip
+
+ \begin{tabular}{ll}
+ \textbf{a.} sont strictement parallèles.
+ &\textbf{b.} ont une infinité de points communs.\\[12pt]
+ \textbf{c.} sont sécants en $I(-13,21,14)$
+ &\textbf{d.} sont sécants en $J(3,1,6)$
+ \end{tabular}
+
+ \bigskip
+
+\item Les droites $\delta$ et $\delta'$ de représentations paramétriques respectives :
+
+ $ \delta : \left\{
+ \begin{aligned}
+ x&= -1 + 11k\\
+ y&= 6 - 9k\\
+ z&= 8 +2k\\
+ \end{aligned} \right.~(k \in \symbb{R})$
+ \quad et\quad $\delta' : \left\{
+ \begin{aligned}
+ x&= 11 -\ell\\
+ y&= - 9+6\ell\\
+ z&= 2 +8\ell\\
+ \end{aligned} \right.~(\ell \in \symbb{R})$\quad sont :
+
+ \medskip
+
+ \begin{tabular}{ll}
+ \textbf{a.} sécantes au point de coordonnées $(1,1,1)$.
+ & \textbf{b.} sécantes au point de coordonnées $(-12,15,6)$.\\[12pt]
+ \textbf{c.} sécantes en un autre point
+ &\textbf{d.} non sécantes.
+ \end{tabular}
+
+
+\end{enumerate}
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/lualatex/tango/tango-en.pdf b/Master/texmf-dist/doc/lualatex/tango/tango-en.pdf
new file mode 100644
index 00000000000..d7969f1cb58
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/tango-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/lualatex/tango/tango-en.tex b/Master/texmf-dist/doc/lualatex/tango/tango-en.tex
new file mode 100644
index 00000000000..bf7995ef176
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/tango-en.tex
@@ -0,0 +1,753 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[english,ColorTheme=Red,FontSize=10pt]{tango}
+%\setmonofont{Latin Modern Mono}[Scale=MatchUppercase]
+\usepackage{longtable,csquotes,lipsum,tcolorbox}
+\usepackage[dvipsnames]{xcolor}
+\newcommand\DO[1]{\textcolor{ColorOne}{\bfseries #1}}
+\newcommand\TO[1]{\textsf{#1}}
+%%
+\NewDocumentCommand\showtheme{m}
+{{\tgosetup{ColorTheme=#1}
+\parbox{2.1cm}{\centering
+\textsf{#1\rule[-3pt]{0pt}{10pt}}\\
+\colorbox{ColorOne}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
+\par
+\colorbox{ColorTwo}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
+\par
+}}}
+%
+%\tgosmartlists
+\renewtgolabels1{\lefthand}
+\definecolor{ColorThree}{rgb}{0.93,0.95,0.97}
+\tcbset{colback=ColorTwo,colframe=ColorTwo,sharp corners}
+\frenchspacing
+%\setcounter{section}{88}
+\begin{document}
+
+\renewcommand{\arraystretch}{1.1}
+\title{\textcolor{ColorOne}{\floweroneleft}\,The tango document class\,\textcolor{ColorOne}{\floweroneright}}
+\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}\\
+Tango web page: \href{https://tango.mathriochka.net}{https://tango.mathriochka.net}}
+\date{\today\\v. 0.8.0}
+{\sffamily
+\maketitle
+
+}
+\thispagestyle{empty}
+
+\tgoshorttoc
+\section{What the tango document class is}
+
+
+Tango is a Latex document class (\verb=\documentclass[<options>]{tango}=) for use by mathematics teachers (roughly speaking, from high school to undergraduate level). It makes it possible to typeset several types of documents, from the short handout to the complete textbook. The \enquote{maths dedicated aspect} essentially consists in:
+\begin{itemize}
+\item loading maths packages;
+\item offering dedicated commands and environments for statements (definitions, propositions, theorems…), exercises, numbering.
+\end{itemize}
+
+Tango is reasonably configurable, even if certain choices are imposed: mandatory use of lualatex, opentype fonts and recent installation, in particular. The tango class defines eight output formats, five of which are suitable for tablets, e-readers and smartphones; a system currently under development can be used to introduce a particular input for a given output format (for example, forcing a page break for the A5 format only). Finally, the tango class can be used for projects of a more general nature than maths lessons: science courses, but even more general usage with some extra configuration effort (see the Candide directory in the examples).
+
+Another class of documents for presenting school work (training exercises, test or exam subjects) will soon be available, called \enquote{bravo}.
+
+
+
+
+\section{Options overview}
+Please note that the table below only lists the options actually managed by the tango class. Other options, if used when calling the class, can simply be passed to certain packages. This is the case, for example, with the babel language options, or the \TO{math-style} option, which is systematically passed to the \TO{unicode-math} package.
+
+Default values are in bold red. Bold options marked with a \TO{\textbf{star*}} can be used in the preamble and in the body of the document with the \verb=\tgosetup{}= command: for example, in order to change the colors inside the document, you can use \verb+\tgosetup{ColorTheme=Navy}+. Other options can only be mentioned when the tango class is called.
+
+
+\begin{longtable}{p{0.23\linewidth}p{0.7\linewidth}}
+\caption[]{The tango class options}\\
+\textbf{Option}&\textbf{Usage}\\
+\hline\endhead
+\hline\multicolumn{2}{r}{\emph{Continued next page}}\endfoot
+\hline\endlastfoot
+
+\hline
+\TO{%
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish}.& Tango will transmit all language options to the \TO{babel} package. However, the translation of specific names used by tango (such as theorem, exercise, etc.) is only guaranteed for the languages listed opposite. Please note that even English speakers must \emph{imperatively} pass a language option to tango.
+
+See section~\ref{lang} below.\\
+\hline
+\TO{no-statement}&\TO{no-statement=true/\DO{false}}. The \TO{thm}, \TO{defin}, \TO{lem}, \TO{coro}, \TO{propo} environments (for theorems, definitions, lemmas, corollaries, propositions) are defined by default. The no-statement option allows you to define them later, on request (see \verb=\newstatement= and \verb=\renewstatement= commands in section~\ref{st-section} page~\pageref{st-section}).\\
+\hline
+\TO{no-hyperref}&\TO{no-hyperref=true/\DO{false}}. If you're only planning a single paper output….\\
+\hline
+\TO{no-indent/indent}&\TO{no-indent=true/\DO{false}}. Indents are present by default. The option \TO{noindent} (meaning \TO{no-indent = true}) returns us to the left margin. The \TO{indent} option also exists, but is not very useful!\\
+\hline
+\TO{no-titleindent}/\TO{titleindent}&Title indents are present by default only in French (because in French typography, the first paragraph after a title must be indented: so I prefer in this case the titles to be indented too). You can use no-tiltleindent in French and titleindent in English to change the default behavior. These options must be called after the language options.\\
+\hline
+\TO{\textbf{ThmNamePos*}}&\TO{ThmNamePos=<value>} where \TO{<value>} can be \TO{\DO{left}} or \TO{right}. The name of the statement (Theorem, Definition, etc.) is displayed to the left or right of the box.\\
+\hline
+\TO{PubliClass}&\TO{PubliClass=<value>} where \TO{<value>} can be \TO{\DO{article}} or \TO{book}. Indicates the base document class used (Latex standard \TO{article} document class or Latex standard \TO{book} document class.) The tango class is designed so that short handouts or monographs composed with the \TO{article} version can then be grouped together as chapters in the same volume with the \TO{book} version. See the \texttt{mathematics} directory in the \texttt{examples} documentation. With the \TO{article} version, the \verb=\part= and \verb=\tableofontents= commands are disabled. The \verb=\tgoshorttoc= command can be used to obtain a summary at the beginning of a monograph.\\
+\hline
+\TO{oneside/twoside}& The option \TO{twoside} makes recto/verso, \TO{oneside} simply makes recto. The default is \TO{\DO{oneside}}. For now, there's no adjustment of inner and outer margins with twoside but it's easy to adapt it to your needs with the \verb=\geometry= command in the preamble. Note that one may prefer \TO{twoside=false} to \TO{oneside} (why not?).\\
+\hline
+\TO{FontSize}&\TO{FontSize=<value>} where \TO{<value>} can be \TO{9pt}, \TO{\DO{10pt}}, \TO{11pt} ou \TO{12pt}.\\
+\hline
+\TO{\textbf{ColorTheme*}}&\TO{ColorTheme=<value>} where \TO{<value>} can be \TO{Blue, Navy, USAF, Azur, Red, Framboise, Brique, Sienne, Caramel, Olive, Tannen, \DO{GrayGray}, BlackAndWhite, Ink} or \TO{Steel}. These values are worth trying out: each defines a set of two colors, one solid (ColorOne) for titles and one very light (ColorTwo) for box backgrounds.\\
+\hline
+\TO{\textbf{ColorOne*}/\textbf{ColorTwo*}}& These options allow the user to define the colors of a personal theme separately; the argument must be a suitable argument for \verb=\definecolor=. See xcolor package (loaded without options by the tango class) documentation.
+\begin{example}[Examples]
+ \begin{itemize}
+ \item\TO{ColorOne=}\verb={rgb}{0.75,0.1,0.05}=
+ \item\TO{ColorOne=}\verb={cmyk}{0,0.8,0.8,0.2}=
+ \item\TO{ColorTwo=}\verb={{rgb}{0.75,0.96,0.75}}= (note that external braces may be used, but are not mandatory).
+\end{itemize}
+\end{example}
+\\
+\hline
+\TO{\textbf{ColorOneNamed*}} / \\
+\TO{\textbf{ColorTwoNamed*}}&
+These options allow the user to define the colors of a personal theme separately; the argument must be a suitable argument for \verb=\colorlet=. See xcolor package (loaded without options by the tango class) documentation.
+\begin{example}[Examples]
+ \begin{itemize}
+ \item\TO{ColorOneNamed=}\verb={red!70!blue}=
+\item\TO{ColorTwoNamed=}\verb={yellow!12}=
+ \end{itemize}
+\end{example}
+If you want to use a predefined set of colors, say \TO{dvipsnames}, you may reload the \TO{xcolor} package with the \TO{dvipsnames} option in your preamble, and then use the \verb=\tgosetup= command:
+\begin{itemize}
+\item \verb+\tgosetup{ColorOneNamed={RedOrange!80!BrickRed}}+
+ \end{itemize}
+\\
+\hline
+\TO{Output}&\TO{Output=<value>} where \TO{<value>} can be \TO{\DO{A4paper}, Letter, A5paper, BigTablet, Tablet, SmallTablet, eReader} or \TO{Smartphone}. \TO{BigTablet}, \TO{Tablet} and \TO{SmallTablet} correspond to 13-, 11- and 8.5-inch screens respectively. \TO{eReader} is for a 6-inch e-reader. It should be noted that in the case of \TO{eReader} and \TO{Smartphone}, the requested format is larger than the actual format, so that the font sizes are much smaller than required. So the \TO{FontSize=9pt} option produces a result on their screens that may be difficult to read.\\
+\hline
+ \TO{Numbers}& \TO{Numbers=<value>} where \TO{<value>} can be \TO{TextOldStyle, OldStyle, MathOldStyle, FullOldstyle}. If you don't ask for anything, you get the \enquote{lining} numbers.
+\begin{itemize}
+\item \TO{Numbers=TextOldStyle} activates oldstyle (or lower-case) digits (like these {\olddigits 0123456789}) of the erewhon font (basic text font) for the entire document.
+\item \TO{Numbers=OldStyle} activates oldsyle (or lower-case) digits for all text fonts used in the document.
+\item \TO{Numbers=MathOldStyle} activates lower-case digits only in mathematics (I can't think of any good reason to do this!).
+\item \TO{Numbers=FullOldStyle} activates lower-case digits for all text fonts as well as for mathematics.
+\end{itemize}
+It should be noted that it is always possible to switch locally from the digits selected with this option to one of their variants (for example, section titles are systematically numbered using \enquote{lining} digits, since these titles are themselves capitalized).\\
+\hline
+\TO{StylisticSet}&\TO{StylisticSet=\{<value1>, <value2>,…\}} where \TO{<value1>, <value2>,} etc. are to be taken from \TO{upint, leqslant, smaller, subsetneq} and \TO{parallelslant}. These options concern the Erewhon-Math font, which is a (very) extended opentype version by Daniel \textsc{Flipo} of the math fonts of the Fourier-Gutenberg system. For more information, see the Erewhon-Math documentation (\verb=texdoc erewhon-math= in any good terminal).\\
+\hline
+\TO{CharacterVariant}&\TO{CharacterVariant=\{<value1>, <value2>,…\}} where \TO{<value1>, <value2>,} etc. can be chosen from \TO{zero, hslash, emptyset, epsilon, kappa, pi, phi, rho, sigma, theta, partial, Ecal, Qcal} and \TO{Tcal}. These options concern the Erewhon-Math font, which is a (very) extended opentype version by Daniel \textsc{Flipo} of the math fonts of the Fourier-Gutenberg system. For more information, see the Erewhon-Math documentation (\verb=texdoc erewhon-math= in any good terminal).\end{longtable}
+
+%\medskip
+
+\section{Packages loaded by the tango document class}
+I only mention here the packages directly loaded by the tango class. Each of these packages can in turn load others...
+\begin{itemize}
+\item \verb=\RequirePackage{xcolor}=. The \TO{xcolor} package is used by the tango class to define the colors of the various themes. It is called without any options, but you can reload it in the preamble of your document with options such as \TO{dvipsnames}, \TO{svgnames} or \TO{x11names}.
+\item\verb=\RequirePackage{mathtools}=. The \TO{mathtools} package loads the \TO{amsmath} package, to which it adds a complement.
+\item\verb=\RequirePackage{geometry}=. Used by the tango class in order to define the page design of the various outputs formats. You can use the \verb=\geometry=. command in the document preamble to modify this layout.
+\item\verb=\RequirePackage{enumitem}=. Used by the tango class to configure the various \TO{list}-based environments in its own way (see section~\ref{lists}). These settings can be modified by the user in the preamble.
+\item\verb=\RequirePackage{titletoc}=. Used by the tango class to fix the table of contents appearance which can be modified by the user in the preamble.
+\item\verb=\RequirePackage[pagestyles,toctitles,newlinetospace,clearempty]{titlesec}=. Used by the tango class to configure the appearance of titles at different levels. This can be modified by the user in the preamble. The default English version adds the \TO{noindentafter} option.
+\item\verb=\RequirePackage{ccaption,caption}=. Used by the tango class to configure the captions appearance for figures and tables. (See section~\ref{figtable}).
+\item\verb=\RequirePackage{fontspec}\RequirePackage{unicode-math}=. The tango class requires \TO{lualatex}, opentype fonts, and Unicode settings.
+\item\verb=\RequirePackage{fourier-orns}=. See the section~\ref{fnts} below.
+\item\verb=\RequirePackage{iflang}=. Used by tango to send a class error message if no language option is given.
+\item\verb=\RequirePackage{babel}=. The babel package is called without options. It is up to you to pass babel options to the tango class. See section~\ref{lang} below.
+\item\verb+\RequirePackage[colorlinks,linkcolor=ColorOne,urlcolor=ColorOne]{hyperref}+. This \TO{hyperref} configuration can be modified using the \verb=\hypersetup= command in your preamble. You can also use the \TO{no-hyperref} option.
+\item\verb=\RequirePackage{array,graphicx,microtype,numprint,float,afterpage}=. These packages are provided but not explicitly used by tango.
+\end{itemize}
+
+
+\section{Fonts}\label{fnts}
+
+\subsection{The tango font system}
+Tango's main font is Erewhon, an opentype version of Utopia (a PostScript type~1 font which was designed in 1989 by Robert \textsc{Slimbach} and once donated by Adobe to the X-consortium and featured on TeXlive). Unlike Utopia, Erewhon, designed by Michael \textsc{Sharpe}, covers a large number of languages and offers a wide range of functions, available through opentype features. It should be noted that Adobe distributes a commercial opentype version of Utopia, which is less rich in glyphs than Erewhon, but has an intermediate font-weight and optical character sizes.
+
+The tango mathematical font is Erewhon~Math, a scientific complement to Erewhon designed by Daniel \textsc{Flipo}. Erewhon Math is in a way the opentype counterpart of Fourier-GUTenberg, the scientific complement to Utopia type~1 designed by me in 2002. Erewhon~Math offers a large number of functions made accessible by Daniel through the \TO{fourier-otf} package. The tango class does not load \TO{fourier-otf}, but uses all its functions through a system of options.
+
+The sans-serif font of the tango system is Noto Sans, scaled. Noto Sans is a sans-serif font for text in Latin, Cyrillic and Greek characters, with multiple weights and widths.
+
+The main (chapter) title font is Roboto Condensed Bold (as a condensed version of Noto Sans is not available on TeXlive).
+
+The monospaced font is Inconsolatazi4, scaled.
+
+Finally, tango calls the \TO{fourier-orns} package, a symbols and logos complement to the fourier system which has now an opentype version.
+
+\subsection{Replacing the tango font system}
+It is, of course, possible to use the \TO{fontspec} \verb=\setmainfont=, \verb=\setsansfont= and \verb=\setmonofont= commands and the \TO{unicode-math} \verb=\setmathfont= command in the preamble in order to modify the parameters of the tango class: this is not advisable, in my humble opinion. But one day there will probably be another class in the tango distribution which will use another font system. Such a document class could be called charlie, or foxtrot or zulu….
+
+\subsection{Font commands and text font commands}
+Here, I call \enquote{Font commands} commands whose scope can only be limited by a group or an environment. I call \enquote{Text font commands}, on the other hand, commands whose scope is limited to their argument, which must not contain a paragraph break. For example, \verb=\bfseries= is a \enquote{font command} and \verb=\textbf= is a \enquote{text font command}. Here is what is provided by tango (see table~\ref{otfcmd}, \pageref{otfcmd}). All these commands should work with Erewhon and with Noto Sans as well.
+\begin{table}[ht]
+\XTabletCommand{\centering\setlength\tabcolsep{9pt}}
+\TabletCommand{\centering}
+\caption{Tango opentype commands}\label{otfcmd}
+\ifTgoTabletOutput\begin{tabular}{l | l | l | l}%
+\else
+\begin{tabular}{llll}%
+\fi
+\hline
+\multicolumn{1}{c}{\textsf{\bfseries Command}}&
+\multicolumn{1}{c}{\textsf{\bfseries Nature}}&
+\multicolumn{1}{c}{\textsf{\bfseries Example}}&
+\multicolumn{1}{c}{\textsf{\bfseries Result}}\\
+\hline
+\verb=\superiors=&\textsf{font command} & \verb=M{\superiors rs}=&M{\superiors rs}\\
+\hline
+\verb=\scinferiors=&\textsf{font command} &\verb={\scinferiors C6H12O3}= &{\scinferiors C6H12O3}\\
+\hline
+\verb=\smartfracs=&\textsf{font command} &\verb=2{\smartfracs1/3}= &2{\smartfracs1/3} \\
+\hline
+\verb=\fullsc=&\textsf{text font command} &\verb=\fullsc{Chapter}= &\fullsc{Chapter} \\
+\hline
+\verb=\textsup=&\textsf{text font command} &\verb=M\textsup{rs}=&M\textsup{rs} \\
+\hline
+\verb=\textscinf=&\textsf{text font command} &\verb=\textscinf{C6H12O3}= &\textscinf{C6H12O3} \\
+\hline
+\verb=\smartfrac=&\textsf{text font command} &\verb=2\smartfrac{3/4}= &2\smartfrac{3/4} \\
+\hline
+\verb=\olddigits=&\textsf{font command} &\verb={\olddigits01234}= &{\olddigits01234} \\
+\hline
+\verb=\liningdigits=&\textsf{font command} &\verb={\olddigits01\liningdigits01}= &{\olddigits01\liningdigits01} \\
+\hline
+\verb=\propdigits=&\textsf{font command} &\verb={\propdigits011\olddigits011}= &{\propdigits011\olddigits011} \\
+\hline
+\verb=\tabulardigits=&\textsf{font command} &\verb={\tabulardigits011\olddigits011}= &{\tabulardigits011\olddigits011} \\
+\hline
+\end{tabular}
+
+
+\end{table}
+
+
+\section{Using tango}
+
+\subsection{Generalities}
+The tango interface is not so different from that of the standard \TO{article} and \TO{book} document classes. Configuration is essentially a matter of choosing options.
+
+For advanced use, it is useful to refer to the documentation for the various packages: first, of course, \TO{unicode-math}, \TO{fontspec}, \TO{mathtools} and \TO{amsmath}. But if you want to change the style of titles, for example, you could take a look at the \TO{titlesec} documentation, and to change the style of lists (enumerate, itemize, etc.), take a look at \TO{enumitem}. The \TO{geometry} package is essential for anyone wanting to obtain a particular layout. And so on.
+\subsection{Modified standard commands}
+Since documents designed with the \TO{article} option can become chapters in a book composed later with the \TO{book} option, the \verb+\part+ command inherited from the \TO{article} class has been deactivated (only for article-typeset documents)
+
+Similarly, the \TO{article} version benefits from a \verb+\tgotitle+ command that lets you define the main title of the document. The \verb+\tgotitle*+ version exists but does nothing more or less than the unstarred command. However, in the \TO{book} version, \verb+\tgotitle+ is an alias for \verb+\chapter+ (and \verb+\tgotitle*+ is an alias for \verb+\chapter*+), so the unnumbered title of a handout very easily becomes the numbered title of a chapter in a book. This, of course, assumes that the \verb+\includeonly+/\verb+\include+ mechanism is used... A model (currently written in French) is provided in the \TO{examples} directory.
+
+The command \verb+\tableofcontents+ can only be used with the \TO{book} option; it is deactivated with the \TO{article} option: in this case, you have to use \verb+\tgoshorttoc+ instead (of course \verb+\tgoshorttoc+ is in turn deactivated in the \TO{book} version). Note that, if you need multiple or partial tocs, you have to use a dedicated package.
+
+\subsection{Using two or more output formats}
+What I'm describing here is still rudimentary and experimental. It will be developed further if it proves successful.
+
+For each output format, two particular commands are provided. For example, in case of the \TO{Smartphone} output option, you have \verb+\SmartphoneCommand+ and \verb+\XSmartphoneCommand+. The \verb+\SmartphoneCommand+ argument is only taken into account if \TO{Output=Smartphone} have been used. Conversely, the \verb+\XSmartphoneCommand+ argument is only taken into account if this option has not been used.
+\begin{example}[Examples]
+\begin{itemize}
+\item \verb+\SmartphoneCommand{\pagebreak}+ asks for a page break only for the smartphone output.
+\item \verb+\XSmartphoneCommand{\[< long math formula >\]}+
+\par \verb+\SmartphoneCommand{\begin{multline*}<split formula>\end{multine*}}+
+\par asks for a multline version of a formula only for the smartphone output
+\end{itemize}
+\end{example}
+
+Provided commands are:
+\begin{itemize}
+\item\verb+\AfourCommand+ and \verb+\XAfourCommand+ for the A4 format;
+\item\verb+\LetterCommand+ and \verb+\XLetterCommand+ for the letter format;
+\item\verb+\AfiveCommand+ and \verb+\XAfiveCommand+ for the A5 format;
+\item\verb+\BigTabletCommand+ and \verb+\XBigTabletCommand+ for the big tablet format;
+\item\verb+\TabletCommand+ and \verb+\XTabletCommand+ for the tablet format;
+\item\verb+\SmallTabletCommand+ and \verb+\XSmallTabletCommand+ for the small tablet format;
+\item\verb+\eReaderCommand+ and \verb+\XeReaderCommand+ for the e-reader format;
+\item\verb+\SmartphoneCommand+ and \verb+\XSmartphoneCommand+ for the smartphone format.
+\end{itemize}
+\subsection{All the color themes}
+\indent\par
+\hspace*{0pt}\hfil\showtheme{Blue}\hfil\showtheme{Azur}\hfil\showtheme{Navy}\hfil\showtheme{USAF}\hfil%
+\showtheme{Framboise}\hfil\null
+\par\bigskip\par
+\hspace*{0pt}\hfil\showtheme{Red}\hfil\showtheme{Brique}\hfil\showtheme{Caramel}\hfil\showtheme{Sienne}\hfil\showtheme{Olive}\hfil\null
+\par\bigskip\par
+\hspace*{0pt}\hfil\showtheme{Tannen}\hfil\showtheme{GrayGray}\hfil\showtheme{Steel}\hfil\showtheme{Ink}\hfil\showtheme{BlackAndWhite}\hfil\null
+
+\section{Language settings}\label{lang}
+A language option \emph{must} be passed to the \TO{babel} package via the tango class: this is true \emph{even} for English-speaking people. A class error message will be generated otherwise. If you ignore this message you will get no hyphenation patterns at all!
+
+Tango also has some reserved words, which are (when an english language option is passed to tango):\begin{verbatim}
+\newcommand\TgoTheoremName{Theorem}
+\newcommand\TgoDefinitionName{Definition}
+\newcommand\TgoPropositionName{Proposition}
+\newcommand\TgoLemmaName{Lemma}
+\newcommand\TgoCorollaryName{Corollary}
+\newcommand\TgoRemarkName{Remark}
+\newcommand\TgoExampleName{Example}
+\newcommand\TgoContentsName{Contents}
+\newcommand\TgoExerciseName{Exercise}
+\newcommand\TgoExercisesSubsectionName{Exercises}
+\newcommand\TgoExercisesSectionName{Exercises}
+\end{verbatim}
+
+Although any language option recognized by babel will (in principle) be taken into account as soon as it is passed to tango, the translation of these reserved words only happens for the following languages:
+\begin{itemize}
+\item\TO{french};
+\item\TO{english, british, american, canadian, australian, newzealand};
+\item\TO{german, ngerman, naustrian, nswissgerman};
+\item\TO{italian};
+\item\TO{spanish}.
+\end{itemize}
+
+Other languages benefit from babel's facilities, but tango's reserved words are not translated.
+So here's what concerned users can do.
+
+\begin{enumerate}
+\item Translate these names in your language (for now it is done only for the french language), using \verb+\renewcommand+.
+\item (Better) Mail me all the necessary information (at least babel language option used and your translation of the tango names) and I will adapt the tango class to your language.
+\end{enumerate}
+\section{Statements}\label{st-section}
+
+\subsection{Predefined statements}
+The environments offered by the tango document class for the statements were defined using the \verb+\newstatement+ command, whose syntax is:
+\begin{tcolorbox}
+\begin{verbatim}
+\newstatement{<environment>}{<counter>}{<statement-name>}[<optionnal-font-command>]
+\end{verbatim}
+\end{tcolorbox}
+For example, the \TO{thm}, \TO{defin}, \TO{propo}, \TO{coro} and \TO{lem} environments have been defined using something like:
+\begin{tcolorbox}
+\begin{verbatim}
+\newcounter{thm} \newstatement{thm}{thm}{Theorem}[\itshape]
+\newcounter{defin} \newstatement{defin}{defin}{Definition}
+\newcounter{propo} \newstatement{propo}{propo}{Proposition}[\itshape]
+\newcounter{coro} \newstatement{coro}{coro}{Corollary}
+\newcounter{lem} \newstatement{lem}{lem}{Lemma}
+\end{verbatim}
+\end{tcolorbox}
+
+
+If you type:
+
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}[pons asinorum]
+The angles at the base of an isosceles triangle are equal.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+
+you will obtain:
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}[pons asinorum]
+The angles at the base of an isosceles triangle are equal.
+\end{thm}
+
+As you can see, each statement defined with \verb+\newstatement+ has an optional bracketed argument (which is displayed within parentheses after the statement name and number). Please, note that these environments should not be used inside a \TO{list}-based environment (like center, quote, enumerate, itemize…).
+
+For each statement defined with \verb+\newstatement+ there is also
+\begin{itemize}
+\item a starred form with no statement number:
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{coro*}
+The angles at the base of an isosceles triangle are equal.
+\end{coro*}
+\end{verbatim}
+\end{tcolorbox}
+\end{itemize}
+\begin{coro*}
+The angles at the base of an isosceles triangle are equal.
+\end{coro*}
+\begin{itemize}
+\item and an optional first argument delimited with \verb+< >+ to replace locally the full theorem name.
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{thm*}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with
+complex coefficients has at least one complex root.
+\end{thm*}
+\end{verbatim}
+\end{tcolorbox}
+\end{itemize}
+\begin{thm*}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with complex coefficients has at least one complex root.
+\end{thm*}
+
+\subsection{Defining your own statements}
+If you need a new statement type, say an axm environment for axioms, it's easy:
+\begin{tcolorbox}
+\begin{verbatim}
+\newcounter{axio} \newstatement{axm}{axio}{Axiom}
+\end{verbatim}
+\end{tcolorbox}
+Note that it is up to you to define the counter for this new environment: if this counter does not still exist, it has to be created with \verb+\newcounter+. Of course, the counter name may be different from the environment name. If you have used the \TO{no-statement} option, you will have to define all the statements you need, with the environment names you prefer.
+
+\subsection{Redefining existing statements}
+The \verb+\newstatement+ command has a \verb+\renewstatement+ companion to redefine existing statement environment. Precisely, you need to use \verb+\renewstatement{foo}…+ instead of \verb+\newstatement{foo}…+ if and only if the \verb+foo+ environment has already been defined.
+
+\begin{example}[Examples]
+\begin{enumerate}
+\item You can redefine the \TO{propo} environment in such a way that it uses the same counter as the \TO{thm} environment and is displayed in the upright font:
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement{propo}{thm}{Proposition}
+\setcounter{thm}{0}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The angles at the base of an isosceles triangle are equal.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+\end{enumerate}
+\renewstatement{propo}{thm}{Proposition}
+\setcounter{thm}{0}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The angles at the base of an isosceles triangle are equal.
+\end{thm}
+
+\begin{enumerate}[resume]
+\item If you have already written \emph{all} your algebra book in Latex, with propositions, theorems and corollaries and you realize that, \emph{now}, you want there is no more difference between propositions, theorems and corollaries: the three types of statements should be typeset in italic, named \enquote{Proposition} and numbered with the same counter, you can just use in your preamble:
+
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement{coro}{thm}{Proposition}[\itshape]
+\renewstatement{propo}{thm}{Proposition}[\itshape]
+\renewstatement{thm}{thm}{Proposition}[\itshape]
+\setcounter{thm}{0}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The sum of two even integers is an even integer.
+\end{thm}
+\begin{coro}
+If two integers have the same parity, their sum is even.
+\end{coro}
+\end{verbatim}
+\end{tcolorbox}
+and you will get
+
+\end{enumerate}
+\renewstatement{coro}{thm}{Proposition}[\itshape]
+\renewstatement{propo}{thm}{Proposition}[\itshape]
+\renewstatement{thm}{thm}{Proposition}[\itshape]
+\setcounter{thm}{0}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The sum of two even integers is an even integer.
+\end{thm}
+\begin{coro}
+If two integers have the same parity, their sum is even.
+\end{coro}
+
+
+instead of
+
+\setcounter{thm}{0}\setcounter{propo}{0}
+\renewstatement{thm}{thm}{Theorem}[\itshape]
+\renewstatement{propo}{propo}{Proposition}[\itshape]
+\renewstatement{coro}{coro}{Corollary}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The sum of two even integers is an even integer.
+\end{thm}
+\begin{coro}
+If two integers have the same parity, their sum is even.
+\end{coro}
+\begin{enumerate}[resume]
+\item And finally \verb+\renewstatement+ and \verb+\newstatement+ have a starred form with which statement numbers are displayed \emph{before} the statement name. More, if the statement counter is the subsection or subsubsection counter, the concerned statement titles are displayed in the same form and placement as subsection or subsubsection titles; of course the placement depends on the value of \TO{notitleindent}.
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement*{thm}{thm}{Theorem}
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with
+complex coefficients has at least one complex root.
+\end{thm}
+\renewstatement*{thm}{subsection}{Theorem}[\itshape]
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with
+complex coefficients has at least one complex root.
+\end{thm}
+\renewstatement*{thm}{subsubsection}{Theorem}
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with
+complex coefficients has at least one complex root.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+\end{enumerate}
+\end{example}
+\renewstatement*{thm}{thm}{Theorem}
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with complex coefficients has
+at least one complex root.
+\end{thm}
+\renewstatement*{thm}{subsection}{Theorem}[\itshape]
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with complex coefficients has
+at least one complex root.
+\end{thm}
+\renewstatement*{thm}{subsubsection}{Theorem}
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with complex coefficients has
+at least one complex root.
+\end{thm}
+
+
+
+\section{Exercises}
+\subsection{Typesetting exercises}
+Tango provides the \verb+\exo+ command which lets you typeset a numbered exercise (the counter is \TO{tgoexo}). There is a starred version, which is not numbered. As for the statements, the bracketed option provides a complementary title between parenthesis and the \enquote{\TO{< >}} marked first option provides a substitution title.
+\begin{tcolorbox}
+\begin{verbatim}
+\exo
+Prove that if $G$ is a finite group and $H$ a subgroup of $G$,
+then the order of $H$ divides the order of $G$.
+\exo[Lagrange theorem]
+Prove that if $G$ is a finite group and $H$ a subgroup of $G$,
+then the order of $H$ divides the order of $G$.
+\end{verbatim}
+\end{tcolorbox}
+\exo
+Prove that if $G$ is a finite group and $H$ a subgroup of $G$, then the order of $H$ divides the order of $G$.
+\exo[Lagrange theorem]
+Prove that if $G$ is a finite group and $H$ a subgroup of $G$,
+then the order of $H$ divides the order of $G$.
+\begin{tcolorbox}
+\begin{verbatim}
+\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
+\exo*<Chinese remainder problem>[\tgostar\tgostar\tgostar]
+Let $n_1,\ldots, n_k$ be integers greater than $1$ and let us denote by $N$
+the product of the $n_i$. Prove that if the $n_i are pairwise coprime, and if
+$a_1,\ldots, a_k$ are any integers, then the system
+\begin{align*}
+x&\equiv a_1 \pmod{n_1}\\
+&\!\vdots\\
+x&\equiv a_k \pmod{n_k}
+\end{align*}
+has a solution, and any two solutions are congruent modulo $N$.
+\end{verbatim}
+\end{tcolorbox}
+\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
+\exo*<Chinese remainder problem>[\tgostar\tgostar\tgostar]
+Let $n_1,\ldots, n_k$ be integers greater than $1$ and let us denote by $N$ the product of the $n_i$.
+Prove that if the $n_i$ are pairwise coprime, and if $a_1,\ldots, a_k$ are any integers, then the system
+\begin{align*}
+x&\equiv a_1 \pmod{n_1}\\
+&\!\vdots\\
+x&\equiv a_k \pmod{n_k}
+\end{align*}
+has a solution, and any two solutions are congruent modulo $N$.
+\subsection{The secexo and chapexo environments}
+These environments are designed to present a part devoted to exercises at the end of a section (in the case of \TO{secexo}) or a chapter (in the case of \TO{chapexo}). Within these environments, you can use the command \verb+\exo+
+
+The title, in capitals and centred, is \enquote{EXERCISES} by default. The optional argument in square brackets allows you to choose another. This title is added to the table of contents.
+
+Finally, there is a starred form (\verb+\begin{secexo*)+…\verb+\end{secexo*}+ which allows you to compose the exercises within these sections in a smaller font size (exept if the main font size is nine points).
+
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{secexo*}[Example of an exercises subsection]
+\exo Prove that the sum of two even integers is an even integer.
+\exo Prove that the sum of two odd integers is an even integer.
+\end{secexo*}
+\end{verbatim}
+\end{tcolorbox}
+\begin{secexo*}[Example of an exercises subsection]
+\exo Prove that the sum of two even integers is an even integer.
+\exo Prove that the sum of two odd integers is an even integer.
+\end{secexo*}
+
+\section{Lists}\label{lists}
+\subsection{General principles}
+All the horizontal motion in tango is performed in steps equal to an integer multiple of the \verb+\TgoStandardMargin+ length parameter. When the tango class is loaded, the value of this parameter is set to 1.5em, as are paragraph indentation and title indentation (unless these two values are fixed to zero). Successive labels in the enumerate and itemize environments are therefore successively positioned at 1.5em, 3em, 4.5em, etc. from the main margin. It could be unadvised to change these settings (or this should be done using the enumitem package).
+\subsection{List based environments}
+There are two main lists configurations. The first, active by default, is set with \verb+\tgostandardlists+; the second is set with \verb+\tgosmartlists+.
+%
+With \verb+\tgostandardlists+ the text corresponding to a given level is shifted to the right (by a value equal to \verb+\TgoStandardMargin+...) with respect to the corresponding label.
+%
+With \verb+\tgosmartlists+, conversely, the text corresponding to a given level is shifted to the left (by a value equal to \verb+\TgoStandardMargin+...) in relation to the corresponding label.
+\renewtgolabels*\tgostandardlists
+
+Here is the default behaviour of the \TO{itemize} environment (\TO{enumerate} is not different).
+\begin{itemize}
+\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\begin{itemize}
+\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\begin{itemize}
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+\begin{itemize}
+\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\end{itemize}
+\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam.
+\end{itemize}\end{itemize}
+\item Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\end{itemize}
+
+\bigskip
+
+And now with \verb+\tgosmartlists+ \tgosmartlists
+\begin{itemize}
+\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\begin{itemize}
+\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\begin{itemize}
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+\begin{itemize}
+\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\end{itemize}
+\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam.
+\end{itemize}\end{itemize}
+\item Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\end{itemize}
+
+Note that \verb+\tgosmartlists+ seems most interesting when you use mainly the first level of these environments.
+Since the \verb+\tgosmartlists+ doesn't support very well a construction like
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{enumerate}
+\item\begin{enumerate}\item
+…
+\end{verbatim}
+\end{tcolorbox}
+that is frequent in exercises questions,
+the \TO{secexo} and \TO{chapexo} environments set locally the lists to \verb+\tgostandardlists+. It is not the case with the \verb+\exo+ command which has no local context. \tgostandardlists
+
+\subsection{Redefining labels of itemize lists}
+Tango provides a \verb+\renewtgolabels+ command which permits to modify the labels of the \TO{itemize} environment. Arguments are numbered from 1 to 4 (there is four levels of itemize lists in Latex) and must be used like in the examples below.
+\begin{example}[Examples]
+\begin{itemize}
+\item\verb=\renewtgolabels1{\lefthand}= will replace the first label by the \verb=\lefthand= symbol.
+\renewtgolabels1{\lefthand}
+\item\verb=\renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}= changes the label for the first (again), the third and the fourth levels. Level 2 remains unchanged. As you can see, the order of the arguments is unimportant. \renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}
+\end{itemize}
+\end{example}
+
+There is also a starred form that restore the initial label (as at the load of the class) which are \verb=\textbullet=, \textbullet, for the level 1, \verb=\textopenbullet=, \textopenbullet, for the level 2, \verb=\starredbullet=, \starredbullet, for the level 3 and \verb=\textperiodcentered=, \textperiodcentered{} for the level 4 (note that this is the tango default, but \emph{not} the Latex default).
+
+\renewtgolabels*
+\begin{example}[Examples]
+\begin{itemize}
+\item\verb=\renewtgolabels*= restore all the initial values.
+\item\verb=\renewtgolabels*2{\textendash}= restore initial values except for the second level which is changed to \textendash.
+\end{itemize}
+\end{example}
+
+
+\section{Other environments}
+In addition to the statements environments, the tango class offers the following environments:
+\subsection{The remark and example environments}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{remark}
+This is a very good remark.
+\end{remark}
+\begin{example}
+This is a very short example.
+\end{example}
+\end{verbatim}
+\end{tcolorbox}
+\begin{remark}
+This is a very good remark.
+\end{remark}
+\begin{example}
+This is a very short example.
+\end{example}
+
+These two environments have a bracketed optional argument which displays a replacement title. For example:
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{example}[Remarks]
+\begin{enumerate}
+\item A first (very good) remark.
+\item A second remark (which is best, if possible).
+\end{enumerate}
+\end{example}
+\end{verbatim}
+\end{tcolorbox}
+\begin{example}[Remarks]
+\begin{enumerate}
+\item A first (very good) remark.
+\item A second remark (which is best, if possible).
+\end{enumerate}
+\end{example}
+
+\subsection{The alert environment}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{alert}
+You should not even try to use \verb+\expandafter\expandafter\expandafter+
+unless you are actually a very experimented \TeX{} user, because you could get
+a terrible headhache.
+\end{alert}
+\end{verbatim}
+\end{tcolorbox}
+\begin{alert}
+ You should not even try to use \verb+\expandafter\expandafter\expandafter+
+unless you are actually a very experimented \TeX{} user, because you could get
+a terrible headhache.
+\end{alert}
+
+The \TO{alert} environment also support an optional bracketed argument.
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{alert}[\bomb]
+You should not even try to use \verb+\expandafter\expandafter\expandafter+
+unless you are actually a very experimented \TeX{} user, because you could get
+a terrible headhache.
+\end{alert}
+\end{verbatim}
+\end{tcolorbox}
+\begin{alert}[\bomb]
+ You should not even try to use \verb+\expandafter\expandafter\expandafter+
+unless you are actually a very experimented \TeX{} user, because you could get
+a terrible headhache.
+\end{alert}
+
+\subsection{The proof environment}
+The \TO{proof} environment is adapted from the \TO{amsthm} package. It also support a bracketed optional argument for a replacement title. The \verb+\qedhere+ command is also usable.
+\renewstatement{thm}{thm}{Theorem}[\itshape]
+\setcounter{thm}{0}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{thm}
+The sum of two odd integers is an even integer.
+\end{thm}
+\begin{proof}
+Let $p$ and $q$ be two odd integers. We have to prove that there
+exists an integer $n$ such that $p+q=2n$.
+We know that there is an integer $p_1$ and an integer $q_1$ such that
+\[p=2p_1+1\text{ and } q=2q_1+1,\]
+hence
+\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
+&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
+\end{align*}
+\end{proof}
+\end{verbatim}
+\end{tcolorbox}
+\begin{thm}
+The sum of two odd integers is an even integer.
+\end{thm}
+\begin{proof}
+Let $p$ and $q$ be two odd integers. We have to prove that there exists an integer $n$ such that $p+q=2n$.
+We know that there is an integer $p_1$ and an integer $q_1$ such that
+\[p=2p_1+1\text{ and } q=2q_1+1,\]
+hence
+\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
+&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
+\end{align*}
+\end{proof}
+
+\section{Figures, tables, floats and captions}\label{figtable}
+Thanks to the \TO{caption} package, the following have been defined:
+\begin{itemize}
+\item\verb+\tgofigcaption+ (for figures);
+\item and \verb+\tgotabcaption+ (for tables).
+\end{itemize}
+These two commands provide captions similar in appearance to what could be obtained with \verb+\caption+, but also work in the case of non-floating objects.
+
+In this way it is possible to include small tables and figures in a fixed position, with nothing in their appearance to distinguish them from floating objects (whose use is still recommended in most cases).
+
+\end{document}
diff --git a/Master/texmf-dist/doc/lualatex/tango/tango-fr.pdf b/Master/texmf-dist/doc/lualatex/tango/tango-fr.pdf
new file mode 100644
index 00000000000..a4438d58ded
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/tango-fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/lualatex/tango/tango-fr.tex b/Master/texmf-dist/doc/lualatex/tango/tango-fr.tex
new file mode 100644
index 00000000000..1ed1a70abff
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/tango/tango-fr.tex
@@ -0,0 +1,786 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,ColorTheme=USAF,FontSize=10pt]{tango}
+%\setmonofont{Latin Modern Mono}[Scale=MatchUppercase]
+\usepackage{longtable,csquotes,lipsum,tcolorbox}
+\usepackage[dvipsnames]{xcolor}
+\newcommand\DO[1]{\textcolor{ColorOne}{\bfseries #1}}
+\newcommand\TO[1]{\textsf{#1}}
+%%
+\NewDocumentCommand\showtheme{m}
+{{\tgosetup{ColorTheme=#1}
+\parbox{2.1cm}{\centering
+\textsf{#1\rule[-3pt]{0pt}{10pt}}\\
+\colorbox{ColorOne}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
+\par
+\colorbox{ColorTwo}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
+\par
+}}}
+%
+%\tgosmartlists
+\renewtgolabels1{\lefthand}
+\definecolor{ColorThree}{rgb}{0.93,0.95,0.97}
+\tcbset{colback=ColorTwo,colframe=ColorTwo,sharp corners}
+\frenchspacing
+%\setcounter{section}{88}
+\begin{document}
+
+\renewcommand{\arraystretch}{1.1}
+\title{\textcolor{ColorOne}{\floweroneleft}\,La classe de documents tango\,\textcolor{ColorOne}{\floweroneright}}
+\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}\\
+Page internet de tango: \href{https://tango.mathriochka.net}{https://tango.mathriochka.net}}
+\date{\today\\v. 0.8.0}
+{\sffamily
+\maketitle
+
+}
+\thispagestyle{empty}
+
+\tgoshorttoc
+\section{Qu'est-ce que la classe tango ?}
+
+
+Tango est une classe de documents pour le système de composition Latex (au début du document source, il convient donc de saisir \verb=\documentclass[<options>]{tango}=) à l'usage des professeurs de mathématiques (\emph{grosso modo}, sur le segment bac$-3$-bac$+3$). Elle est conçue pour la composition de divers types de documents, du petit polycopié au livre complet. Pour l'essentiel, le côté \frquote{dédié aux maths} consiste à :
+\begin{itemize}
+\item Charger des packages dédiés (amsmath, unicode-math \&Co).
+\item Proposer des commandes et des environnements pour les théorèmes, propositions, définitions, exercices, etc.
+\end{itemize}
+
+Tango est raisonnablement configurable, même si j'ai dû imposer certains choix : utilisation obligatoire de lualatex, des fontes opentype, et d'une installation récente, notamment. La classe propose huit formats de sortie, dont cinq sont adaptés aux tablettes, liseuses ou smartphones. Un procédé encore imparfait permet d'introduire une saisie particulière pour un format de sortie donné (par exemple de forcer un saut de page pour le format A5 seulement). La classe tango peut aussi être utilisée pour des projets de portée plus générale que des cours de mathématiques : des cours de sciences, bien sûr, mais aussi des choses très différentes, si l'on est prêt à un effort de configuration supplémentaire (voir le répertoire \TO{candide} dans les exemples).
+
+Une autre classe Latex, conçue pour réaliser des documents support au travail scolaire (énoncés d'exercices, sujets de devoirs ou d'examens) devrait être disponible sous peu. Il est prévu qu'elle se nomme \frquote{\TO{bravo}}.
+
+\section{Panorama des options}
+Veuillez noter que le tableau ci-dessous mentionne pour l’essentiel les options effectivement traitées par tango. D'autres options peuvent être, lorsqu’elles sont utilisées à l'appel de la classe, simplement transmises à certains packages. C'est le cas par exemple des options de langues de babel, ou de l'option \TO{math-style} passée au package unicode-math.
+
+Les valeurs par défaut sont présentées en bleu gras. Les options en gras, marquées d'un astérisque, peuvent être activées dans le préambule ou le corps du document à l'aide de la commande \verb+\tgosetup+ : par exemple, vous pouvez utiliser \verb+\tgosetup{ColorTheme=Navy}+ pour changer les couleurs à l'intérieur de votre document. Les autres options ne peuvent être utilisées qu'à l'appel de la classe.
+
+\begin{longtable}{p{0.23\linewidth}p{0.7\linewidth}}
+\caption[]{Les options de la classe tango}\\
+\textbf{Option}&\textbf{Utilisation}\\
+\hline\endhead
+\hline\multicolumn{2}{r}{\emph{Voir page suivante}}\endfoot
+\hline\endlastfoot
+\TO{%
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish}.& Tango transmettra au package \TO{babel} toutes les options de langue. En revanche, la traduction des noms spécifiques employés par tango (comme théorème, exercice, etc.) n'est assurée que pour les langues listées ci-contre. Notez bien que même les locuteurs anglais doivent \emph{impérativement} passer une option de langue à tango.
+
+Voir la section~\ref{lang} plus loin.\\
+\hline
+\TO{no-statement}&\TO{no-statement=true/\DO{false}}. Des environnements \TO{thm}, \TO{defin}, \TO{lem}, \TO{coro}, \TO{propo} (pour présenter les théorèmes, définitions, lemmes, corollaires et propositions) sont définis par défaut. L'option \DO{no-statement} vous permet de définir ces environnements vous-même avec une configuration plus personnelle (voir les commandes \verb=\newstatement= and \verb=\renewstatement= dans la section~\ref{st-section} page~\pageref{st-section}).\\
+\hline
+\TO{no-hyperref}&\TO{no-hyperref=true/\DO{false}}. Si vous souhaitez vous contenter d'une sortie papier…\\
+\hline
+\TO{no-indent/indent}&\TO{no-indent=true/\DO{false}}. Les retraits d'alinéa sont présents par défaut. L'option \TO{no-indent} (alias court de \TO{no-indent = true}) les supprime. Une option \TO{indent} existe également, quoiqu'elle ne soit pas très utile.\\
+\hline
+\TO{no-titleindent}/\TO{titleindent}&Les retraits d'alinéa pour les titres sont présents par défaut en français uniquement. (La raison en est qu'en typographie française le premier paragraphe après un titre subit ce retrait comme les autres paragraphes, ce qui n'est pas le cas en typo anglaise : je préfère donc dans ce cas, mais cela peut être débattu, que le titre subisse lui aussi ce retrait.) Vous pouvez utiliser \TO{no-tiltleindent} en français ou \TO{titleindent} en anglais pour changer le comportement pas défaut. Ces deux options doivent être appelées \emph{après} l'option de langue.\\
+\hline
+\TO{\textbf{ThmNamePos*}}&\TO{ThmNamePos=<valeur>} ou \TO{<valeur>} peut être \TO{\DO{left}} ou \TO{right}. Le nom de l'énoncé (Théorème, Définition, etc.) est affiché à gauche ou à droite de l'encadré.\\
+\hline
+\TO{PubliClass}&\TO{PubliClass=<valeur>} où \TO{<valeur>} peut être \TO{\DO{article}} ou \TO{book}. Indique la classe de base souhaitée (la classe standard \TO{article} ou la classe standard \TO{book}). La classe tango est conçue de telle sorte que des petits polycopiés fabriqués au jour le jour et composés avec l'option \TO{article} puissent être regroupés et devenir les chapitres d'un même volume avec l'option \TO{book}. Voyez le répertoire \texttt{mathematics} dans la partie exemples de la documentation. Avec l'option \TO{article}, les commandes \verb=\part= et \verb=\tableofontents= sont désactivées. La commande \verb=\tgoshorttoc= peut être utilisée pour obtenir un sommaire au début d'une monographie ou d'un polycopié.\\
+\hline
+\TO{oneside/twoside}& L'option \TO{twoside} est pour une sortie en recto verso, alors que \TO{oneside} est adaptée au recto simple. La valeur par défaut est \TO{\DO{oneside}}. Pour l'instant, il n'y a pas d'ajustement des marges intérieures et extérieures avec \TO{twoside} mais il est techniquement facile de réaliser des blancs tournants à votre convenance grâce à la commande \verb=\geometry= employée dans le préambule. Notez que les gens compliqués ou amateurs de détours pourront préférer \TO{twoside=false} à \TO{oneside}.\\
+\hline
+\TO{FontSize}&\TO{FontSize=<valeur>} où \TO{<valeur>} peut être \TO{9pt}, \TO{\DO{10pt}}, \TO{11pt} ou \TO{12pt}.\\
+\hline
+\TO{\textbf{ColorTheme*}}&\TO{ColorTheme=<valeur>} où \TO{<valeur>} peut être \TO{Blue, Navy, USAF, Azur, Red, Framboise, Brique, Sienne, Caramel, Olive, Tannen, \DO{GrayGray}, BlackAndWhite, Ink} or \TO{Steel}. Chaque choix définit un ensemble de deux couleurs, une soutenue (ColorOne) pour les titres et une très claire (ColorTwo) pour le fond des encadrés.\\
+\hline
+\TO{\textbf{ColorOne*}/\textbf{ColorTwo*}}& Ces options permettent à l'utilisateur de définir les couleurs d'un thème personnel; dans les deux cas la valeur doit être un argument acceptable pour la commande \verb=\definecolor=. Voir la documentation du package xcolor, chargé sans option par tango.
+\begin{example}[Exemples]
+ \begin{itemize}
+ \item\TO{ColorOne=}\verb={rgb}{0.75,0.1,0.05}=
+ \item\TO{ColorOne=}\verb={cmyk}{0,0.8,0.8,0.2}=
+ \item\TO{ColorTwo=}\verb={{rgb}{0.75,0.96,0.75}}= (notez que les accolades extérieures sont acceptées sans être obligatoires).
+\end{itemize}
+\end{example}
+\\
+\hline
+\TO{\textbf{ColorOneNamed*}} / \\
+\TO{\textbf{ColorTwoNamed*}}&
+ Ces options permettent à l'utilisateur de définir les couleurs d'un thème personnel; dans les deux cas la valeur doit être un argument acceptable pour la commande \verb=\colorlet=. Voir la documentation du package xcolor, chargé sans options par tango.
+\begin{example}[Exemples]
+ \begin{itemize}
+ \item\TO{ColorOneNamed=}\verb={red!70!blue}=
+\item\TO{ColorTwoNamed=}\verb={yellow!12}=
+ \end{itemize}
+\end{example}
+Si vous souhaitez utiliser un ensemble de couleurs prédéfinies, disons par exemple \TO{dvipsnames}, il vous suffit de recharger le package \TO{xcolor} avec l'option \TO{dvipsnames} dans le préambule, puis d'utiliser la commande \verb=\tgosetup= :
+\begin{itemize}
+\item \verb+\tgosetup{ColorOneNamed={RedOrange!80!BrickRed}}+
+ \end{itemize}
+\\
+\hline
+\TO{Output}&\TO{Output=<valeur>} où \TO{<valeur>} peut être \TO{\DO{A4paper}, Letter, A5paper, BigTablet, Tablet, SmallTablet, eReader} ou \TO{Smartphone}. \TO{BigTablet}, \TO{Tablet} et \TO{SmallTablet} correspondent à des écrans de 13, 11 et 8.5 pouces respectivement; \TO{eReader} configurée pour une liseuse 6 pouces. Veuillez noter qu'en ce qui concerne les formats \TO{eReader} et \TO{Smartphone}, tango demande à Latex un format supérieur au format réel, si bien que les tailles des polices sont inférieures à ce que l'on pourrait attendre. Ainsi, l'option \TO{FontSize=9pt} peut fournir des résultats qui sembleront difficilement lisibles.\\
+\hline
+ \TO{Numbers}& \TO{Numbers=<valeur>} où \TO{<valeur>} peut être \TO{TextOldStyle, OldStyle, MathOldStyle, FullOldstyle}. Si vous ne demandez rien, vous obtenez les chiffres habituels, à hauteur d'une lettre capitale, parfois nommés \frquote{lining}.
+\begin{itemize}
+\item \TO{Numbers=TextOldStyle} sélectionne les chiffres bas de casse ({\olddigits 0123456789}) of de la police erewhon (fonte texte de base) pour tout.
+\item \TO{Numbers=OldStyle} sélectionne les chiffres bas de casse pour toutes les fontes de texte du document.
+\item \TO{Numbers=MathOldStyle} sélectionne les chiffres bas de casse uniquement pour les mathématiques (je ne vois aucune bonne raison de procéder ainsi).
+\item \TO{Numbers=FullOldStyle} sélectionne les chiffres bas de casse aussi bien pour les fontes de texte que pour les mathématiques.
+\end{itemize}
+Remarquons qu'il est toujours possible de basculer localement des chiffres sélectionnés par cette option à une de leurs variantes (par exemple les titres de section sont numérotés à l'aide de \frquote{grands} chiffres, dans la mesure où ces titres sont eux-mêmes en capitales).\\
+\hline
+\TO{StylisticSet}&\TO{StylisticSet=\{<valeur1>, <valeur2>,…\}} où \TO{<valeur1>, <valeur2>,} etc. sont à prendre parmi \TO{upint, leqslant, smaller, subsetneq} et \TO{parallelslant}. Ces options concernent la fonte Erewhon-Math, qui est une version opentype du système scientifique Fourier-Gutenberg, (très) étendue par Daniel \textsc{Flipo}. Pour plus d'informations, voir la documentation d'Erewhon-Math (\verb=texdoc erewhon-math= dans un terminal).\\
+\hline
+\TO{CharacterVariant}&\TO{CharacterVariant=\{<valeur1>, <valeur2>,…\}} \TO{<valeur1>, <valeur2>,} etc. sont à prendre parmi \TO{zero, hslash, emptyset, epsilon, kappa, pi, phi, rho, sigma, theta, partial, Ecal, Qcal} et \TO{Tcal}. Ces options concernent la fonte Erewhon-Math, qui est une version opentype du système scientifique Fourier-Gutenberg, (très) étendue par Daniel \textsc{Flipo}. Pour plus d'informations, voir la documentation d'Erewhon-Math (\verb=texdoc erewhon-math= dans un terminal).\\
+\end{longtable}
+
+\section{Liste des packages chargés par la classe tango}
+Je ne mentionne ici que les packages directement chargés par tango. Chacun d'eux peut à son tour charger d'autres packages.
+
+\begin{itemize}
+\item \verb=\RequirePackage{xcolor}=. Le package \TO{xcolor} est utilisé par la classe tango pour définir les couleurs des différents thèmes. Il est appelé sans option, mais vous pouvez le recharger dans le préambule avec des options comme \TO{dvipsnames}, \TO{svgnames} ou \TO{x11names}.
+\item\verb=\RequirePackage{mathtools}=. Le package \TO{mathtools} charge le package \TO{amsmath}.
+\item\verb=\RequirePackage{geometry}=. Utilisé par tango pour définir l'empagement des différents formats de sortie. Vous pouvez utiliser la commande \verb=\geometry= dans votre préambule pour modifier ce empagement, et même la maquette entière.
+\item\verb=\RequirePackage{enumitem}=. Utilisé par la classe tango pour configurer les différents environnements basés sur \TO{list} (voir la section~\ref{lists}). Ces configurations peuvent être modifiées par l'utilisateur dans le préambule.
+\item\verb=\RequirePackage{titletoc}=. Utilisé par la classe tango pour fixer l'apparence de la table des matières, que l'utilisateur peut modifier dans le préambule.
+\item\verb=\RequirePackage[pagestyles,toctitles,newlinetospace,clearempty,noindentafter]{titlesec}=. Utilisé par la classe tango pour modifier l'apparence des titres de différents niveaux. Ces configurations peuvent être modifiées par l'utilisateur dans le préambule.
+\item\verb=\RequirePackage{ccaption,caption}=. Utilisé par la classe tango pour configurer l'apparence des légendes des figures et des tables. (voir la section~\ref{figtable}).
+\item\verb=\RequirePackage{fontspec}\RequirePackage{unicode-math}=. La classe tango requiert \TO{lualatex} et les fontes opentype, y compris pour la composition des mathématiques. Voir la section~\ref{fnts} ci-dessous.
+\item\verb=\RequirePackage{iflang}=. La classe tango utilise ce package pour envoyer un message d'erreur dans le cas où elle n'a reçu aucune option de langue pour \TO{babel}.
+\item\verb=\RequirePackage{babel}=. Le package babel est appelé sans option. Les options de babel lui seront transmises par la classe tango. %See section~\ref{lang} below.
+\item\verb+\RequirePackage[colorlinks,linkcolor=ColorOne,urlcolor=ColorOne]{hyperref}+.\par Cette configuration d'\TO{hyperref} peut être modifiée en utilisant la commande \verb=\hypersetup= dans le préambule. Vous pouvez aussi utiliser l'option \TO{no-hyperref}.
+\item\verb=\RequirePackage{array,graphicx,microtype,numprint,float,afterpage}=. Ces packages sont chargés mais non explicitement utilisés par tango.
+\end{itemize}
+
+\section{Fontes}\label{fnts}
+
+\subsection{Le système de fontes de tango}
+La fonte principale est Erewhon, une version opentype d'Utopia (une fonte PosScript de type~1 qui fut conçue par Robert \textsc{Slimbach} en 1989, puis donnée au X-consortium par Adobe et figurant finalement sur TeXlive. Contrairement à Utopia, Erewhon, dessinée par Michael \textsc{Sharpe}, couvre un assez grand nombre de langues et offre de nombreuses possibilités accessibles à travers les fonctionnalités du format opentype. Il faut savoir également qu'Adobe commercialise une version opentype d'Utopia, moins riche en glyphes qu'Erewhon, mais pourvue d'une graisse intermédiaire et de corps optiques.
+
+La fonte scientifique est Erewhon~Math, un complément scientifique à Erewhon, conçu par Daniel \textsc{Flipo}. D'un certain point de vue, Erewhon est le pendant opentype de Fourier-Gutenberg, le complément scientifique d'Utopia type~1 conçu par mes soins en 2002. Erewhon~Math offre un grand nombre de fonctionnalités, rendues accessibles par Daniel à travers le package \TO{fourier-otf}. La classe tango ne charge pas le package \TO{fourier-otf} mais propose toutes ses fonctionnalités à travers son système d'options.
+
+La fonte sans sérif de tango est Noto Sans, mise à l'échelle. Il s'agit d'une fonte de texte, supportant les alphabets latin, grec et cyrillique, et pourvue de graisses multiples.
+
+La fonte utilisée pour les Titres de premier niveau (commande \verb=\tgotitle=) est Roboto Condensed Bold (puisque les graisses condensées de Noto Sans ne figurent pas sur TeXlive).
+
+La fonte à chasse fixe est Inconsolatazi4, mise à l'échelle.
+
+Enfin, tango appelle le package fourier-orns: il s'agit d'une fonte de logos et de symboles conçue par mes soins comme complément au système fourier et récemment pourvue d'une version opentype.
+
+\subsection{Utiliser tango avec un autre système de fontes}
+Il est évidemment possible d'utiliser les commandes \verb=\setmainfont=, \verb=\setsansfont= et \verb=\setmonofont= du package \TO{fontspec}, ainsi que la commande \verb=\setmathfont= du package \TO{unicode-math} dans le préambule de votre document afin de modifier les paramètres de la classe tango. Ce ne sont pas des modifications que je recommande. En revanche, la distribution tango pourrait à l'avenir proposer une autre classe pourvue d'un autre système de fontes. Une telle classe Latex pourrait se nommer charlie, ou foxtrot ou zulu…
+
+
+\subsection{“Font commands” et “text font commands”}
+Je nomme ici “Font commands” des commandes dont la portée n'est limitée que par un groupe ou un environnement. Je nomme “Text font commands”, à l'opposé, des commandes dont la portée est limitée à leur argument, lequel ne doit contenir aucun saut de paragraphe. Par exemple, \verb=\bfseries= est une “font command” et \verb=\textbf= est une “text font command”. La raison de ces dénominations, dont j'admets qu'elles sont fort critiquables, est que \verb+\textbf+ est défini de façon interne par :
+\begin{tcolorbox}
+\begin{verbatim}
+\DeclareTextFontCommand{\textbf}{\bfseries}
+\end{verbatim}
+\end{tcolorbox}
+
+Voici ce qui est proposé par la classe tango (voir le tableau~\ref{otfcmd}, \pageref{otfcmd}). Toutes ces commandes devraient fonctionner aussi bien avec Erewhon qu'avec Noto Sans.
+
+\begin{table}[ht]
+\XTabletCommand{\centering\setlength\tabcolsep{9pt}}
+\TabletCommand{\centering}
+\caption{Les commandes opentype de la classe tango}\label{otfcmd}
+\ifTgoTabletOutput\begin{tabular}{l | l | l | l}%
+\else
+\begin{tabular}{llll}%
+\fi
+\hline
+\multicolumn{1}{c}{\textsf{\bfseries Commande}}&
+\multicolumn{1}{c}{\textsf{\bfseries Nature}}&
+\multicolumn{1}{c}{\textsf{\bfseries Exemple}}&
+\multicolumn{1}{c}{\textsf{\bfseries Resultat}}\\
+\hline
+\verb=\superiors=&\textsf{font command} & \verb=1{\superiors re}=&1{\superiors re}\\
+\hline
+\verb=\scinferiors=&\textsf{font command} &\verb={\scinferiors C6H12O3}= &{\scinferiors C6H12O3}\\
+\hline
+\verb=\smartfracs=&\textsf{font command} &\verb=2{\smartfracs1/3}= &2{\smartfracs1/3} \\
+\hline
+\verb=\fullsc=&\textsf{text font command} &\verb=\fullsc{Chapitre}= &\fullsc{Chapitre} \\
+\hline
+\verb=\textsup=&\textsf{text font command} &\verb=1\textsup{re}=&1\textsup{re} \\
+\hline
+\verb=\textscinf=&\textsf{text font command} &\verb=\textscinf{C6H12O3}= &\textscinf{C6H12O3} \\
+\hline
+\verb=\smartfrac=&\textsf{text font command} &\verb=2\smartfrac{3/4}= &2\smartfrac{3/4} \\
+\hline
+\verb=\olddigits=&\textsf{font command} &\verb={\olddigits01234}= &{\olddigits01234} \\
+\hline
+\verb=\liningdigits=&\textsf{font command} &\verb={\olddigits01\liningdigits01}= &{\olddigits01\liningdigits01} \\
+\hline
+\verb=\propdigits=&\textsf{font command} &\verb={\propdigits011\olddigits011}= &{\propdigits011\olddigits011} \\
+\hline
+\verb=\tabulardigits=&\textsf{font command} &\verb={\tabulardigits011\olddigits011}= &{\tabulardigits011\olddigits011} \\
+\hline
+\end{tabular}
+
+
+\end{table}
+
+
+
+%\medskip
+
+
+\section{Utilisation de la classe tango}
+
+\subsection{Généralités}
+Concernant l'interface utilisateur, tango n'est pas très différente des classes \TO{article} ou \TO{book}. La configuration se fait essentiellement à travers le choix des options.
+
+Les utilisateurs avancés devraient se référer à la documentation des différents packages : tout d'abord \TO{unicode-math}, \TO{fontspec}, \TO{mathtools} et \TO{amsmath}. Mais si vous souhaitez, par exemple, changer le style des titres, vous pourrez consulter la documentation \TO{titlesec} ; afin de changer le style d'une liste (enumerate, itemize, etc.), voyez plutôt \TO{enumitem}. Le package \TO{geometry} est essentiel pour quiconque souhaiterait obtenir une mise en page particulière. Et ainsi de suite.
+
+
+
+\subsection{Modification de commandes standard par la classe tango}
+
+Afin que des documents composés avec l'option \TO{article} puissent devenir les chapitres d'un livre composé de façon ultérieure avec l'option \TO{book}, la commande \verb+\part+, héritée de la classe \TO{article}, a été désactivée (seulement pour les documents composés avec l'option \TO{article}).
+
+
+De même, la version \TO{article} bénéficie de la commande \verb+\tgotitle+ qui permet de définir le titre principal du document. La version étoilée \verb+\tgotitle*+ existe, mais fait exactement la même chose que la commande non étoilée. Cependant, dans la version \TO{book}, \verb+\tgotitle+ est un alias pour \verb+\chapter+ (et \verb+\tgotitle*+ est de même un alias de \verb+\chapter*+), ainsi, un titre non numéroté dans un polycopié peut facilement devenir le titre numéroté d'un chapitre de livre. Sous réserve évidemment qu'un mécanisme comme \verb+\includeonly+/\verb+\include+ ait été utilisé. Un modèle (pour l'instant en français) est fourni dans le répertoire \TO{examples}.
+
+La commande \verb+\tableofcontents+ ne peut être utilisée qu'avec l'option \TO{book}; elle est désactivée avec l'option \TO{article}: elle est alors remplacée par la commande \verb+\tgoshortoc+ (qui est elle-même désactivée avec l'option \TO{book}). Si vous avez besoin de tables des matières multiples et/ou partielles, il faudra vous tourner vers un package spécialisé.
+
+\subsection{Utiliser deux ou plusieurs formats de sortie}
+Les fonctionnalités décrites ici ont un caractère rudimentaire et sont de nature expérimentale. Elles pourront, selon leur succès, être développées dans les versions ultérieures de la classe tango.
+
+Pour chaque format de sortie, deux commandes particulières sont fournies. Par exemple, dans le cas de l'option \TO{Output=Smartphone}, vous disposez de \verb+\SmartphoneCommand+ et \verb+\XSmartphoneCommand+. L'argument de la commande \verb+\SmartphoneCommand+ n'est pris en compte que si le format de sortie \TO{Smartphone} a été sélectionné. Inversement, l'argument de \verb+\XSmartphoneCommand+ n'est pris en compte que si ce format \emph{n'a pas été} utilisé.
+\begin{example}[Exemples]
+\begin{itemize}
+\item \verb+\SmartphoneCommand{\pagebreak}+ crée un saut de page uniquement pour la sortie smartphone.
+\item \verb+\XSmartphoneCommand{\[<longue formule de maths>\]}+
+\par \verb+\SmartphoneCommand{\begin{multline*}<formule sur plusieurs lignes>\end{multine*}}+
+\par crée une version \TO{multline} (cf. \TO{amsmath}) d'une formule pour la sortie smartphone uniquement.
+\end{itemize}
+\end{example}
+
+Les commandes proposées par tango sont :
+\begin{itemize}
+\item\verb+\AfourCommand+ and \verb+\XAfourCommand+ pour la sortie A4paper;
+\item\verb+\LetterCommand+ and \verb+\XLetterCommand+pour la sortie letter;
+\item\verb+\AfiveCommand+ and \verb+\XAfiveCommand+ pour la sortie A5paper;
+\item\verb+\BigTabletCommand+ and \verb+\XBigTabletCommand+ pour la sortie BigTablet;
+\item\verb+\TabletCommand+ and \verb+\XTabletCommand+ pour la sortie Tablet;
+\item\verb+\SmallTabletCommand+ and \verb+\XSmallTabletCommand+ pour la sortie SmallTablet;
+\item\verb+\eReaderCommand+ and \verb+\XeReaderCommand+ pour la sortie eReader;
+\item\verb+\SmartphoneCommand+ and \verb+\XSmartphoneCommand+ pour la sortie Smartphone.
+\end{itemize}
+\subsection{Tous les thèmes de couleur}
+\indent\par
+\hspace*{0pt}\hfil\showtheme{Blue}\hfil\showtheme{Azur}\hfil\showtheme{Navy}\hfil\showtheme{USAF}\hfil%
+\showtheme{Framboise}\hfil\null
+\par\bigskip\par
+\hspace*{0pt}\hfil\showtheme{Red}\hfil\showtheme{Brique}\hfil\showtheme{Caramel}\hfil\showtheme{Sienne}\hfil\showtheme{Olive}\hfil\null
+\par\bigskip\par
+\hspace*{0pt}\hfil\showtheme{Tannen}\hfil\showtheme{GrayGray}\hfil\showtheme{Steel}\hfil\showtheme{Ink}\hfil\showtheme{BlackAndWhite}\hfil\null
+
+\section{Sélection de la langue}\label{lang}
+Il est impératif de passer une option de langue à babel par l'intermédiaire de la classe tango : cela est vrai même pour les personnes de langue anglaise. Un message d'erreur sera généré par la classe tango si celle-ci n'a reçu aucune option de langue à transmettre à \TO{babel} ; si vous ignorez ce message, vous devrez travailler sans aucun motif de césure.
+
+Tango possède également certains mots réservés qui sont (lorsque l'option french est passée à tango) :
+
+\begin{tcolorbox}
+\begin{verbatim}
+\renewcommand\TgoTheoremName{Théorème}
+\renewcommand\TgoDefinitionName{Définition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemme}
+\renewcommand\TgoCorollaryName{Corollaire}
+\renewcommand\TgoRemarkName{Remarque}
+\renewcommand\TgoExampleName{Exemple}
+\renewcommand\TgoContentsName{Sommaire}
+\renewcommand\TgoExerciseName{Exercice}
+\renewcommand\TgoExercisesSubsectionName{Exercices}
+\renewcommand\TgoExercisesSectionName{Exercices}
+\end{verbatim}
+\end{tcolorbox}
+
+Même si toute option de langue reconnue par babel sera (en principe) prise en compte dès lors qu'elle est passée à tango, la traduction de ces mots réservés n'a lieu que pour les langues suivantes :
+\begin{itemize}
+\item\TO{french};
+\item\TO{english, british, american, canadian, australian, newzealand};
+\item\TO{german, ngerman, naustrian, nswissgerman};
+\item\TO{italian};
+\item\TO{spanish}.
+\end{itemize}
+
+Les autres langues bénéficient des facilités offertes par babel, mais les mots réservés de tango ne sont pas traduits.
+Voici donc ce que peuvent faire les utilisateurs concernés.
+\begin{enumerate}
+\item Utiliser \verb+\renewcommand+ pour faire ces traductions eux-mêmes.
+\item (Mieux) me communiquer par mail toute l'information nécessaire (au moins l'option de langue utilisée pour babel et une traduction des mots réservés) de façon à ce que je puisse procéder aux adaptations nécessaires.
+\end{enumerate}
+
+\section{Théorèmes et énoncés divers}\label{st-section}
+
+\subsection{Éléments prédéfinis}
+Les environnements permettant de saisir les divers énoncés indispensables aux enseignants de mathématiques (définitions, théorèmes, propositions, etc.) sont définis grâce à la commande \verb+\newstatement+ dont la syntaxe est :
+\begin{tcolorbox}
+\begin{verbatim}
+\newstatement{<environnement>}{<compteur>}{<nom-générique-de-l'énoncé>}[<font-command-optionnelle>]
+\end{verbatim}
+\end{tcolorbox}
+Par exemple, les environnements, \TO{thm}, \TO{defin}, \TO{propo}, \TO{coro} et \TO{lem} ont été définis par quelque chose comme :
+\begin{tcolorbox}
+\begin{verbatim}
+\newcounter{thm} \newstatement{thm}{thm}{Théorème}[\itshape]
+\newcounter{defin} \newstatement{defin}{defin}{Définition}
+\newcounter{propo} \newstatement{propo}{propo}{Proposition}[\itshape]
+\newcounter{coro} \newstatement{coro}{coro}{Corollaire}
+\newcounter{lem} \newstatement{lem}{lem}{Lemme}
+\end{verbatim}
+\end{tcolorbox}
+
+Si vous saisissez
+%
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}[pons asinorum]
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+%
+vous obtenez
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}[pons asinorum]
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{thm}
+
+Comme vous pouvez le voir, chaque énoncé défini à l'aide de \verb+\newstatement+ dispose d'un argument optionnel délimité par des crochets (dont le contenu s'affiche entre parenthèses après le nom et le numéro de l'énoncé). Notez également que ces environnements ne devraient pas être utilisés à l'intérieur d'un autre environnement basé sur \TO{list} (comme \TO{center, quote, enumerate, itemize}…).
+
+Pour chaque type d'énoncé défini à l'aide de \verb+\newstatement+ existe également
+\begin{itemize}
+\item une forme étoilée non numérotée:
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{coro*}
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{coro*}
+\end{verbatim}
+\end{tcolorbox}
+\end{itemize}
+\begin{coro*}
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{coro*}
+\begin{itemize}
+\item un premier argument optionnel délimité par \verb+< >+ qui permet de remplacer localement le nom générique de l'énoncé.
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{thm*}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+possède au moins une racine complexe.
+\end{thm*}
+\end{verbatim}
+\end{tcolorbox}
+\end{itemize}
+\begin{thm*}<Théorème de d'Alembert-Gauss>[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes possède au moins une racine complexe.
+\end{thm*}
+
+
+\subsection{Configurer vos propres types énoncés}
+Si vous avez besoin d'un nouveau type d'énoncé, disons un environnement \TO{axm} pour les axiomes, c'est tout simple:
+\begin{tcolorbox}
+\begin{verbatim}
+\newcounter{axio} \newstatement{axm}{axio}{Axiom}
+\end{verbatim}
+\end{tcolorbox}
+Remarquez bien qu'il vous revient alors de définir le compteur utilisé par cet environnement : si ce compteur n'existe pas déjà, il vous faut le créer à l'aide de la commande \verb+\newcounter+. Bien sûr, le nom du compteur peut être différent de celui de l'environnement. Si vous avez utilisé l'option \TO{no-statement}, vous aurez d'ailleurs à définir tous les types d'énoncé dont vous avez besoin, avec des noms et des compteurs de votre choix.
+
+\subsection{Redéfinir des types d'énoncés}
+La commande \verb+\newstatement+ a pour compagnon \verb+\renewstatement+ qui permet de redéfinir l'environnement associé à un type d'énoncé préexistant. Précisément, vous devez employer \verb+\renewstatement{foo}…+ plutôt que \verb+\newstatement{foo}…+ si et seulement si l'environnement \verb+foo+ a déjà été défini.
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Vous pouvez redéfinir l'environnement \TO{propo} de telle façon qu'il utilise le même compteur que l'environnement \TO{thm} avec un contenu affiché en caractères romains:
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement{propo}{thm}{Proposition}
+\setcounter{thm}{0}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+\end{enumerate}
+\renewstatement{propo}{thm}{Proposition}
+\setcounter{thm}{0}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{thm}
+
+\begin{enumerate}[resume]
+\item Si vous venez de terminer la saisie en Latex de \emph{l'intégralité} de votre traité d'algèbre, lequel contient propositions, théorèmes et corollaires, et que vous réalisez maintenant que ce que vous voulez c'est qu'il n'y ait plus de différence entre propositions, théorèmes et corollaires, les trois types d'énoncés devant être composés en italique, se nommer \frquote{proposition} et être numérotés avec le même compteur, vous pouvez simplement saisir dans le préambule:
+
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement{coro}{thm}{Proposition}[\itshape]
+\renewstatement{propo}{thm}{Proposition}[\itshape]
+\renewstatement{thm}{thm}{Proposition}[\itshape]
+\end{verbatim}
+\end{tcolorbox}
+Alors avec
+\begin{tcolorbox}
+\begin{verbatim}
+\setcounter{thm}{0}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+La somme de deux entiers pairs est un entier pair.\end{thm}
+\begin{coro}
+Si deux entiers ont la même parité, leur somme est un entier pair.
+\end{coro}
+\end{verbatim}
+\end{tcolorbox}
+vous obtiendrez:
+\end{enumerate}
+\renewstatement{coro}{thm}{Proposition}[\itshape]
+\renewstatement{propo}{thm}{Proposition}[\itshape]
+\renewstatement{thm}{thm}{Proposition}[\itshape]
+\setcounter{thm}{0}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+La somme de deux entiers pairs est un entier pair.
+\end{thm}
+\begin{coro}
+Si deux entiers ont la même parité, leur somme est un entier pair.
+\end{coro}
+%
+au lieu de
+%
+\setcounter{thm}{0}\setcounter{propo}{0}
+\renewstatement{thm}{thm}{Théorème}[\itshape]
+\renewstatement{propo}{propo}{Proposition}[\itshape]
+\renewstatement{coro}{coro}{Corollaire}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+La somme de deux entiers pairs est un entier pair.
+\end{thm}
+\begin{coro}
+Si deux entiers ont la même parité, leur somme est un entier pair.
+\end{coro}
+\begin{enumerate}[resume]
+\item Pour finir, \verb+\renewstatement+ et \verb+\newstatement+ ont une forme étoilée qui permet d'obtenir un type d'énoncé dont le numéro est affiché avant le nom. Mieux, si le compteur utilisé pour ce type d'énoncé est \TO{subsection} ou \TO{subsubsection}, les titres de ces énoncés sont affichés avec la même apparence et le même placement que les titres de subsection ou de subsubsection; bien sûr ce placement dépend de la valeur de \TO{notitleindent}.
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement*{thm}{thm}{Theorème}
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\renewstatement*{thm}{subsection}{Theorème}[\itshape]
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\renewstatement*{thm}{subsubsection}{Theorème}
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+\end{enumerate}
+\end{example}
+\renewstatement*{thm}{thm}{Theorème}
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\renewstatement*{thm}{subsection}{Theorème}[\itshape]
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\renewstatement*{thm}{subsubsection}{Theorème}
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+
+
+
+\section{Exercices}
+\subsection{Commandes permettant la mise en forme d'exercices}
+La classe tango fournit la commande \verb+\exo+ qui permet de présenter des énoncés d'exercices numérotés (le compteur est \TO{tgoexo}). Il existe une version étoilée, sans numéro. Comme pour les types d'énoncés, l'argument optionnel entre crochets permet d'obtenir un complément au titre, composé entre parenthèses et la première option, balisée par \frquote{\TO{< >}} permet d'obtenir un titre de substitution.
+\begin{tcolorbox}
+\begin{verbatim}
+\exo
+Démontrer que si $G$ est un groupe fini et $H$ un
+sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
+\exo[théorème de Lagrange]
+Démontrer que si $G$ est un groupe fini et $H$ un
+sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
+\end{verbatim}
+\end{tcolorbox}
+\exo
+Démontrer que si $G$ est un groupe fini et $H$ un
+sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
+\exo[théorème de Lagrange]
+Démontrer que si $G$ est un groupe fini et $H$ un
+sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
+\begin{tcolorbox}
+\begin{verbatim}
+\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
+\exo*<Problème des restes chinois>[\tgostar\tgostar\tgostar]
+Soit $n_1,\ldots, n_k$ $k$ entiers strictement supérieurs à $1$. Notons $N$
+le produit des $n_i$. Démontrer que si les $n_i$ sont premiers entre eux deux
+à deux et si $a_1,\ldots, a_k$ sont des entiers quelconques, le système
+\begin{align*}
+x&\equiv a_1 \pmod{n_1}\\
+&\!\vdots\\
+x&\equiv a_k \pmod{n_k}
+\end{align*}
+possède une solution, unique modulo $N$.
+\end{verbatim}
+\end{tcolorbox}
+\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
+\exo*<Problème des restes chinois>[\tgostar\tgostar\tgostar]
+Soit $n_1,\ldots, n_k$ $k$ entiers strictement supérieurs à $1$. Notons $N$
+le produit des $n_i$. Démontrer que si les $n_i$ sont premiers entre eux deux à deux et si
+$a_1,\ldots, a_k$ sont des entiers quelconques, le système
+\begin{align*}
+x&\equiv a_1 \pmod{n_1}\\
+&\!\vdots\\
+x&\equiv a_k \pmod{n_k}
+\end{align*}
+possède une solution, unique modulo $N$.
+\subsection{Environnements secexo et chapexo}
+Ces deux environnements conçus pour présenter une partie consacrée aux exercices à la fin d'une section (dans le cas de \TO{secexo}) ou d'un chapitre (dans le cas de \TO{chapexo}). À l'intérieur de ces environnements, on utilise en principe la commande \verb+\exo+.
+
+Le titre, en capitales et centré, est \frquote{EXERCICES} par défaut; l'argument optionnel entre crochets vous permet d'en choisir un autre. Ce titre est ajouté à la table des matières ou au sommaire.
+
+Enfin, ces commandes possèdent des formes étoilées (\verb+\begin{secexo*)+…\verb+\end{secexo*}+) qui vous permettront de composer ces parties consacrées aux exercices dans un corps plus petit (excepté si la taille de la fonte principale du document est 9pt).
+
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{secexo*}[Exemple d'une partie consacrée aux exercices]
+\exo Démontrer que la somme de deux entiers pairs est un entier pair.
+\exo Démontrer que la somme de deux entiers impairs est un entier pair.
+\end{secexo*}
+\end{verbatim}
+\end{tcolorbox}
+\begin{secexo*}[Exemple d'une partie consacrée aux exercices]
+\exo Démontrer que la somme de deux entiers pairs est un entier pair.
+\exo Démontrer que la somme de deux entiers impairs est un entier pair.
+\end{secexo*}
+
+\section{Listes}\label{lists}
+\subsection{Principes généraux}
+En ce qui concerne les marges, les déplacements horizontaux dans tango se font par pas multiples entiers de \verb+\TgoStandardMargin+. Au chargement de la classe, la valeur de ce paramètre est fixée à 1.5em, ainsi que les retraits d'alinéas et les retraits subis par les titres (à moins que ces valeurs ne soient fixées à zéro). les marqueurs successifs des environnements itemize et enumerate sont donc positionnés à 1.5em, 3em, 4.5em, etc. de la marge principale. Il n'est pas forcément recommandé de changer cette configuration (si vous souhaitez le faire, il convient d'utiliser le package \TO{enumitem}).
+
+\subsection{Environnements basés sur l'environnement list}
+Il existe deux façons de configurer les listes dans tango. La première, active par défaut, est obtenue grâce à la commande \verb+\tgostandardlists+; la seconde grâce à la commande \verb+\tgosmartlists+.
+%
+Avec \verb+\tgostandardlists+, le texte correspondant à un niveau donné est décalé vers la droite (d'une quantité égale à \verb+\TgoStandardMargin+...) par rapport au marqueur correspondant.
+%
+Avec \verb+\tgosmartlists+, à l'inverse, le texte correspondant à un niveau donné est décalé vers la gauche (d'une quantité égale à \verb+\TgoStandardMargin+...) par rapport au marqueur correspondant.
+\renewtgolabels*\tgostandardlists
+
+Voici le comportement par défaut de l'environnement \TO{itemize} (de ce point de vue \TO{enumerate} n'est pas différent).
+\begin{itemize}
+\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\begin{itemize}
+\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\begin{itemize}
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+\begin{itemize}
+\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\end{itemize}
+\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam.
+\end{itemize}\end{itemize}
+\item Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\end{itemize}
+
+\bigskip
+
+Et maintenant, avec \verb+\tgosmartlists+ \tgosmartlists
+\begin{itemize}
+\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\begin{itemize}
+\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\begin{itemize}
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+\begin{itemize}
+\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\end{itemize}
+\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam.
+\end{itemize}\end{itemize}
+\item Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\end{itemize}
+
+Notez que \verb+\tgosmartlists+ peut sembler intéressant lorsque l'on utilise essentiellement le premier niveau de ces environnements.
+Dans la mesure où \verb+\tgosmartlists+ supporte assez mal une construction comme
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{enumerate}
+\item\begin{enumerate}\item
+…
+\end{verbatim}
+\end{tcolorbox}
+fréquente dans la numérotation des questions d'exercices,
+les environnements \TO{secexo} et \TO{chapexo} basculent localement vers \verb+\tgostandardlists+. Cela n'est pas le cas de \verb+\exo+ qui, en en tant que commande, n'a pas de contexte propre, contrairement aux environnements. \tgostandardlists
+
+\subsection{Redéfinition de certains marqueurs de liste pour itemize}
+La classe tango fournit la commande \verb+\renewtgolabels+ qui permet de modifier les marqueurs de l'environnement \TO{itemize}. Les arguments des quatre niveaux sont numérotés de 1 à 4 et doivent être utilisés comme ci-dessous.
+
+\begin{example}[Exemples]
+\begin{itemize}
+\item\verb=\renewtgolabels1{\lefthand}= remplace le marqueur du niveau 1 par le symbole \lefthand.
+\renewtgolabels1{\lefthand}
+\item\verb=\renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}= change les marqueurs des premier, troisième et quatrième niveaux. Le marquer du niveau 2 est inchangé. Comme vous le voyez, l'ordre des arguments est sans importance. \renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}
+\end{itemize}
+\end{example}
+
+Il existe également une version étoilée, qui restaure l'état initial des marqueurs (tel qu'au chargement de la classe), soit \verb=\textbullet=, \textbullet, pour le niveaul~1, \verb=\textopenbullet=, \textopenbullet, pour le niveau~2, \verb=\starredbullet=, \starredbullet, pour le niveau~3 et \verb=\textperiodcentered=, \textperiodcentered{} pour le niveau~4 (remarquez que ce sont les valeurs par défaut pour tango, mais \emph{non} pour Latex).
+
+\renewtgolabels*
+\begin{example}[Exemples]
+\begin{itemize}
+\item\verb=\renewtgolabels*= restaure toutes les valeurs initiales.
+\item\verb=\renewtgolabels*2{\textendash}= restaure les valeurs initiales, sauf pour le deuxième niveau qui utilisera désormais \textendash.
+\end{itemize}
+\end{example}
+
+
+\section{Autres environnements}
+En plus des environnements définis pour les types d'énoncés, la classe tango offre les quatre environnements suivants.
+
+\subsection{Environnements remark et example}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{remark}
+Voici une excellente remarque.
+\end{remark}
+\begin{example}
+Voici un très court exemple.
+\end{example}
+\end{verbatim}
+\end{tcolorbox}
+\begin{remark}
+Voici une excellente remarque.
+\end{remark}
+\begin{example}
+Voici un très court exemple.
+\end{example}
+
+Ces deux environnements ont un argument optionnel entre crochets qui permet de définir un titre alternatif. Par exemple:
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{example}[Remarques]
+\begin{enumerate}
+\item Une première (et excellente) remarque.
+\item Une seconde remarque (encore meilleure, si cela est possible).
+\end{enumerate}
+\end{example}
+\end{verbatim}
+\end{tcolorbox}
+\begin{example}[Remarques]
+\begin{enumerate}
+\item Une première (et excellente) remarque.
+\item Une seconde remarque (encore meilleure, si cela est possible).
+\end{enumerate}
+\end{example}
+
+\subsection{Environnement alert}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{alert}
+Vous ne devriez pas envisager d'utiliser
+\verb+\expandafter\expandafter\expandafter+
+à moins que vous ne soyez un utilisateur expérimenté de
+\TeX{}, car vous pourriez attraper une terrible migraine.
+\end{alert}
+\end{verbatim}
+\end{tcolorbox}
+\begin{alert}
+Vous ne devriez pas envisager d'utiliser \verb+\expandafter\expandafter\expandafter+
+à moins que vous ne soyez un utilisateur expérimenté de \TeX{}, car vous pourriez attraper une terrible migraine.
+\end{alert}
+
+L'environnement \TO{alert} propose lui aussi un argument optionnel entre crochets.
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{alert}[\bomb]
+Vous ne devriez pas envisager d'utiliser
+\verb+\expandafter\expandafter\expandafter+
+à moins que vous ne soyez un utilisateur expérimenté de
+\TeX{}, car vous pourriez attraper une terrible migraine.
+\end{alert}
+\end{verbatim}
+\end{tcolorbox}
+\begin{alert}[\bomb]
+Vous ne devriez pas envisager d'utiliser
+\verb+\expandafter\expandafter\expandafter+
+à moins que vous ne soyez un utilisateur expérimenté de
+\TeX{}, car vous pourriez attraper une terrible migraine.
+\end{alert}
+
+\subsection{Environnement proof}
+L'environnement \TO{proof} est une adaptation de ce que fournit le package \TO{amsthm}. Un titre alternatif est rendu possible grâce à l'argument optionnel entre crochets. La commande \verb+\qedhere+ est également utilisable.
+\renewstatement{thm}{thm}{Théorème}[\itshape]
+\setcounter{thm}{0}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{thm}
+La somme de deux entiers impairs est un entier pair.
+\end{thm}
+\begin{proof}
+Soit $p$ et $q$ deux entiers impairs. Nous devons
+établir qu'il existe un entier $n$ tel que $p+q=2n$.
+Nous connaissons l'existence d'un entier $p_1$
+et d'un entier $q_1$ tels que
+\[p=2p_1+1\text{ et } q=2q_1+1,\]
+par conséquent
+\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
+&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
+\end{align*}
+\end{proof}
+\end{verbatim}
+\end{tcolorbox}
+\begin{thm}
+La somme de deux entiers impairs est un entier pair.
+\end{thm}
+\begin{proof}
+Soit $p$ et $q$ deux entiers impairs. Nous devons
+établir qu'il existe un entier $n$ tel que $p+q=2n$.
+Nous connaissons l'existence d'un entier $p_1$
+et d'un entier $q_1$ tels que
+\[p=2p_1+1\text{ et } q=2q_1+1,\]
+par conséquent
+\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
+&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
+\end{align*}
+\end{proof}
+
+\section{Figures, tableaux, flottants et légendes}\label{figtable}
+Grâce au package \TO{caption}, les commandes suivantes ont été définies:
+\begin{itemize}
+\item\verb+\tgofigcaption+ (pour les figures);
+\item and \verb+\tgotabcaption+ (pour les tableaux).
+\end{itemize}
+Ces deux commandes permettent d'obtenir des légendes de même apparence que ce que ferait la commande \verb+\caption+, mais fonctionnent également dans le cas d'objets non flottants.
+
+Ainsi il devient possible d'inclure des tableaux et des figures en position fixe, sans que rien ne permette de les distinguer des objets flottants (dont l'usage reste recommandé dans la plupart des cas).
+
+\end{document}
diff --git a/Master/texmf-dist/doc/luatex/luamplib/NEWS b/Master/texmf-dist/doc/luatex/luamplib/NEWS
index 50e7c625a95..ced9d1706fc 100644
--- a/Master/texmf-dist/doc/luatex/luamplib/NEWS
+++ b/Master/texmf-dist/doc/luatex/luamplib/NEWS
@@ -1,5 +1,36 @@
History of the luamplib package
+2024/07/24 2.34.2
+ * With the newly introduced macros, \mplibgroup ... \endmplibgroup, users
+ can define a transparency group or a normal form XObject from TeX side.
+ The LaTeX environment 'mplibgroup' is identical to this pair of macros.
+ See the document for details.
+
+ * document: be more precise about the color effect of a transparency group
+
+ * remove trailing zeros from numeric objects to get smaller PDF
+
+2024/07/19 2.34.1
+ * transparency group is available with plain format as well.
+ * transparency group once used is reusable in the TeX code or
+ in other MetaPost code chunks. see the document for details.
+
+2024/07/17 2.34.0
+ * support transparency group with metafun format
+ * fix regarding default value in circular fading mode
+ * fix regarging the scope of graphics state
+
+2024/07/14 2.33.1
+ * refactor the manual, including some minor items undocumented so far
+ * improve fading routine to get possibly smaller pdf file
+
+2024/07/08 2.33.0
+ * provide a new metapost operator 'withfademethod' and related macros,
+ which make the color of an object gradiently transparent. see luamplib
+ document for details.
+
+ * fix spot-color shading routine to support user-defined colorspace
+
2024/07/03 2.32.4
* make the variable 'patterns' local
* 'math.randomseed' on plain TeX
diff --git a/Master/texmf-dist/doc/luatex/luamplib/luamplib.pdf b/Master/texmf-dist/doc/luatex/luamplib/luamplib.pdf
index 5e8e97a778a..2aaf21613dd 100644
--- a/Master/texmf-dist/doc/luatex/luamplib/luamplib.pdf
+++ b/Master/texmf-dist/doc/luatex/luamplib/luamplib.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex b/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex
index c2d8cb498bf..00b31054922 100644
--- a/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex
+++ b/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-latex.tex
@@ -7,7 +7,7 @@
\usepackage{fontspec}
\setmainfont{latin modern roman}
\usepackage{luamplib}
-\usepackage{xcolor}
+\usepackage{graphicx,xcolor}
\everymplib{ beginfig(0); }
\everyendmplib{ endfig; }
\mpliblegacybehavior{true}%
@@ -268,19 +268,75 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
\tiny\TeX
\end{mppattern}\relax
\mpfig
- picture tex; tex := mpliboutlinetext.p ("\bfseries \TeX");
- i:=0;
- for item within tex:
- i:=i+1;
- if i < length tex:
- fill pathpart item scaled 10 withpostscript "collect";
- else:
- draw pathpart item scaled 10 withpattern "pattuncolored"
- withpen pencircle scaled 1/2
- withcolor 0.7 blue;
- fi
+ picture tex;
+ tex = mpliboutlinetext.p ("\bfseries \TeX");
+ for i=1 upto mpliboutlinenum:
+ draw image(
+ j:=0;
+ for item within mpliboutlinepic[i]:
+ j:=j+1;
+ draw pathpart item scaled 10
+ if j < length mpliboutlinepic[i]:
+ withpostscript "collect"
+ else:
+ withpattern "pattuncolored"
+ withpen pencircle scaled 1/2
+ withcolor (i/4)[red,blue]
+ fi;
+ endfor
+ )
+ withfademethod "linear"
+ ;
endfor
\endmpfig
+\par\leavevmode
+\mpfig
+ picture mill; mill = btex \includegraphics[width=100bp]{mill} etex;
+ draw mill;
+ mill := mill shifted 125right;
+ draw mill
+ withfademethod "circular"
+ withfadecenter (center mill, center mill)
+ withfaderadius (30, abs(lrcorner mill - llcorner mill)/2)
+ withfadeopacity (1, 0)
+ ;
+\endmpfig
+\par
+\def\test#1{%
+ \mpfig
+ fill unitsquare shifted -center unitsquare scaled 200
+ withshademethod "linear"
+ withshadecolors (.3[red,white], .3[blue,white])
+ ;
+ label( btex MetaPost etex scaled 3, origin) ;
+ draw image(
+ fill fullcircle scaled 100 shifted 25left
+ withcolor .8white
+ withtransparency (2,1)
+ ;
+ fill fullcircle scaled 100 shifted 25right
+ withcolor .8white
+ withtransparency (2,1)
+ ;
+ )
+ asgroup "#1"
+ withgroupname "test:#1"
+ withtransparency (1,.5)
+ ;
+ currentpicture := currentpicture scaled 3/4;
+ \endmpfig
+}%
+\hbox{\test{isolated,knockout}\,\test{isolated}\vbox to\MPheight{\vss\hbox{~isolated}\vss}}%
+\hbox{\test{knockout}\,\test{}}%
+\hbox to\MPwidth{\hss knockout\hss}%
+\leavevmode
+\mpfig usemplibgroup "test:isolated,knockout" scaled 2/3 rotated 15 ; \endmpfig
+\usemplibgroup{test:isolated,knockout}%
+\begin{mplibgroup}{mytex}[matrix="rotated 15"] \TeX \end{mplibgroup}%
+\hbox to0pt{\hss\vrule width.5pt height5pt depth5pt\hss}%
+\hbox to0pt{\hss\vrule width10pt height.25pt depth.25pt\hss}%
+\usemplibgroup{mytex}%
+\mpfig usemplibgroup "mytex"; draw (left--right) scaled 5; draw (up--down) scaled 5; \endmpfig
\tracingcommands0
\vskip 2\baselineskip
diff --git a/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-plain.tex b/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-plain.tex
index c178acb31a7..0804ca5a9be 100644
--- a/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-plain.tex
+++ b/Master/texmf-dist/doc/luatex/luamplib/test-luamplib-plain.tex
@@ -261,19 +261,57 @@ draw mpliboutlinetext.b ("$\overbrace{x+\cdots+x}^k$")
\fiverm\TeX
\endmppattern
\mpfig
- picture tex; tex := mpliboutlinetext.p ("\bf \TeX");
- i:=0;
- for item within tex:
- i:=i+1;
- if i < length tex:
- fill pathpart item scaled 10 withpostscript "collect";
- else:
- draw pathpart item scaled 10 withpattern "pattuncolored"
- withpen pencircle scaled 1/2
- withcolor 0.7 blue;
- fi
+ picture tex;
+ tex = mpliboutlinetext.p ("\bf \TeX");
+ draw image(
+ for i=1 upto mpliboutlinenum:
+ j:=0;
+ for item within mpliboutlinepic[i]:
+ j:=j+1;
+ draw pathpart item scaled 10
+ if j < length mpliboutlinepic[i]:
+ withpostscript "collect"
+ else:
+ withpattern "pattuncolored"
+ withpen pencircle scaled 1/2
+ withcolor (i/4)[red,blue]
+ fi;
+ endfor
endfor
+ )
+ withfademethod "linear"
+ ;
+\endmpfig
+\par\leavevmode
+\mpfig
+fill fullcircle scaled 125 withcolor 2/3[blue,white];
+fill fullcircle scaled 80 withcolor 2/3[red,white];
+draw image(
+ draw (left--right) rotated 45 scaled 50
+ withpen pencircle scaled 20
+ ;
+ draw (left--right) rotated -45 scaled 50
+ withpen pencircle scaled 20
+ ;
+ )
+ asgroup ""
+ withgroupname "testTRgroup"
+ withprescript "tr_transparency=.3"
+ ;
+\endmpfig
+\mpfig
+fill fullcircle scaled 125 withcolor 2/3[red,white];
+fill fullcircle scaled 80 withcolor 2/3[blue,white];
+usemplibgroup "testTRgroup"
+ withfademethod "circular"
+ withfaderadius (0,60)
+ ;
\endmpfig
+\mplibgroup{mytex}[matrix="rotated 15"] \TeX \endmplibgroup
+\hbox to0pt{\hss\vrule width.5pt height5pt depth5pt\hss}%
+\hbox to0pt{\hss\vrule width10pt height.25pt depth.25pt\hss}%
+\usemplibgroup{mytex}%
+\mpfig usemplibgroup "mytex"; draw (left--right) scaled 5; draw (up--down) scaled 5; \endmpfig
\tracingcommands0
\vskip 2\baselineskip
diff --git a/Master/texmf-dist/doc/luatex/luatexja/README b/Master/texmf-dist/doc/luatex/luatexja/README
index 9224c83b0b1..0bc40ac6434 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/README
+++ b/Master/texmf-dist/doc/luatex/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20240514.0
+The LuaTeX-ja Package 20240714.0
--------------------------------
Copyright (c) 2011--2024 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -42,7 +42,7 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20240514.0 in the Git repository by
+ or tagged as 20240714.0 in the Git repository by
<https://github.com/luatexja/luatexja/archive/refs/tags/$VER.zip>
b. Extract the archive and process following three files by LuaLaTeX
@@ -92,4 +92,4 @@ Notes
This file and ltj-kinsoku.lua are not used anymore.
(Do not remove ltj-kinsoku.tex.)
-Last commit date: Tue May 14 19:12:05 2024 +0900
+Last commit date: Sun Jul 14 08:56:04 2024 +0900
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
index de28e1d279c..eac7af315de 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
index 49a8a6feef0..ee55789a603 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
index b550dc58d44..9ad52094656 100644
--- a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
+++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
@@ -1467,14 +1467,19 @@ Alphabetic fonts
&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
\midrule
Japanese fonts
-&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}\\
+&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}&\cs{providejfontfamily}\\
Alphabetic fonts
-&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}\\
+&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}&\cs{providefontfamily}\\
\midrule
Japanese fonts
-&\cs{newjfontface}&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+&\cs{newjfontface}&\cs{renewjfontface}&\cs{setjfontface}&\cs{providejfontface}\\
Alphabetic fonts
-&\cs{newfontface}&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
+&\cs{newfontface}&\cs{renewfontface}&\cs{setfontface}&\cs{providefontface}\\
+\midrule
+Japanese fonts
+&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+Alphabetic fonts
+&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}\par}
\end{table}
@@ -1492,14 +1497,19 @@ Alphabetic fonts
&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
\midrule
\emph{和文}
-&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}\\
+&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}&\cs{providejfontfamily}\\
+\emph{欧文}
+&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}&\cs{providefontfamily}\\
+\midrule
+\emph{和文}
+&\cs{newjfontface}&\cs{renewjfontface}&\cs{setjfontface}&\cs{providejfontface}\\
\emph{欧文}
-&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}\\
+&\cs{newfontface}&\cs{renewfontface}&\cs{setfontface}&\cs{providefontface}\\
\midrule
\emph{和文}
-&\cs{newjfontface}&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
\emph{欧文}
-&\cs{newfontface}&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
+&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}\par}
\end{table}
@@ -7833,7 +7843,7 @@ stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50}
さらに,バージョン20220211.0以降では次の命令が提供される.
\begin{cslist}
- \item[\cs{ltjghostbeginjachar}]
+ \item[\cs{ltjghostbeforejachar}]
\LuaTeX-ja本体が提供している\cs{ltjfakeparbegin}, \cs{ltjfakeboxbdd}と類似の命令である.
実行された箇所が(限定・非限定を問わず)水平モードであった場合に,実行された箇所は
「文字クラス0の\textbf{JAchar}」の直前であると,
@@ -7850,7 +7860,7 @@ A\LG 字 \par% ==> ALchar--(xkanjiskip)--\LG
\end{LTXexample}
\item[\cs{ltjghostafterjachar}]
- \cs{ltjghostbeginjachar}と対を成す命令で,実行された箇所は
+ \cs{ltjghostbeforejachar}と対を成す命令で,実行された箇所は
「文字クラス0の\textbf{JAchar}」の直後であると,
\LuaTeX-jaの和文処理グルー挿入処理に認識させる.以下の実行例を参照.
diff --git a/Master/texmf-dist/doc/luatex/luaxml/README b/Master/texmf-dist/doc/luatex/luaxml/README
index 5df074c453b..6a81ab25ce0 100644
--- a/Master/texmf-dist/doc/luatex/luaxml/README
+++ b/Master/texmf-dist/doc/luatex/luaxml/README
@@ -32,7 +32,7 @@ Author
------
Michal Hoftich
Email: michal.h21@gmail.com
-Version: v0.1r, 2024-02-23
+Version: v0.2, 2024-07-14
Original authors: Paul Chakravarti and Manoel Campos (http://manoelcampos.com)
diff --git a/Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf b/Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf
index f574a0a5287..071fa4e4cd0 100644
--- a/Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf
+++ b/Master/texmf-dist/doc/luatex/luaxml/luaxml.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/luatex/luaxml/luaxml.tex b/Master/texmf-dist/doc/luatex/luaxml/luaxml.tex
index 5031a0468e2..bf3b8fbaa74 100644
--- a/Master/texmf-dist/doc/luatex/luaxml/luaxml.tex
+++ b/Master/texmf-dist/doc/luatex/luaxml/luaxml.tex
@@ -7,7 +7,7 @@
\usepackage{framed}
% Version is defined in the makefile, use default values when compiled directly
\ifdefined\version\else
-\def\version{v0.1r}
+\def\version{v0.2}
\let\gitdate\date
\fi
\newcommand\modulename[1]{\subsection{#1}\label{sec:#1}}
@@ -99,6 +99,67 @@ end
\end{luacode*}
\end{framed}
+\subsection{HTML parsing}
+
+You can parse HTML documents using the \verb|DOM_Object.html_parse| function. This parser is slower
+than the default XML parser, but it can load files that would cause errors in the XML mode.
+It can handle wrongly nested HTML tags, inline JavaScript and CSS styles, and other HTML features
+that would cause XML errors.
+
+\begin{verbatim}
+dom = require "luaxml-domobject"
+local document = [[
+<html>
+<head><title>sample</title></head>
+<body>
+<h1>test</h1>
+<p>hello
+<p>another paragraph
+<ul>
+<li>first
+<li>second
+</ul>
+</body>
+</html>
+ ]]
+
+-- dom.html_parse returns the DOM_Object
+obj = dom.html_parse(document)
+-- print names of all elements contained in body
+for _, x in ipairs(obj:query_selector("body *")) do
+ tex.print(x:get_element_name().. "\\par")
+end
+\end{verbatim}
+
+
+\begin{framed}
+\begin{luacode*}
+dom = require "luaxml-domobject"
+local document = [[
+<html>
+<head><title>sample</title></head>
+<body>
+<h1>test</h1>
+<p>hello
+<p>another paragraph
+<ul>
+<li>first
+<li>second
+</ul>
+</body>
+</html>
+ ]]
+
+-- dom.html_parse returns the DOM_Object
+obj = dom.html_parse(document)
+-- print names of all elements contained in body
+for _, x in ipairs(obj:query_selector("body *")) do
+ tex.print(x:get_element_name().. "\\par")
+end
+\end{luacode*}
+\end{framed}
+
+
\subsection{Void elements}
The \verb|DOM_Object.parse| function tries to support the HTML void elements,
@@ -641,6 +702,35 @@ transform.print_tex("\\verb|" .. result .. "|")
\end{luacode*}
\end{framed}
+\section{Character sets handling}
+
+The \texttt{luaxml-encodings} library provides functions to convert texts in legacy 8-bit encodings such as WINDOWS-1250
+or ISO-8859-2 to UTF-8. This can be useful in fixing document encoding before HTML parsing using the \texttt{luaxml-mod-html}
+library.
+
+\subsection{Example}
+
+
+\begin{verbatim}
+kpse.set_program_name "luatex"
+local encodings = require "luaxml-encodings"
+
+--read HTML page from the standard input
+local text = io.read("*all")
+-- find the character encoding in HTML metadata
+local enc = encodings.find_html_encoding(text)
+if enc then
+ -- local conversion table for the found encoding
+ local mapping = encodings.load_mapping(enc)
+ if mapping then
+ -- if the mapping exists, recode the HTML input and print it
+ local converted = encodings.recode(text, mapping)
+ print(converted)
+ end
+end
+\end{verbatim}
+
+
\section{The API documentation}
diff --git a/Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf b/Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf
index 58f3955e40d..1cc73521b36 100644
--- a/Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/epstopdf.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf b/Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf
index bcdac1307c6..48b30c5187f 100644
--- a/Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/repstopdf.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/typog-grep.1 b/Master/texmf-dist/doc/man/man1/typog-grep.1
index 372c87bc5ff..7506156a012 100644
--- a/Master/texmf-dist/doc/man/man1/typog-grep.1
+++ b/Master/texmf-dist/doc/man/man1/typog-grep.1
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -15,29 +16,12 @@
.ft R
.fi
..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
. ds C`
. ds C'
'br\}
@@ -68,180 +52,163 @@
. \}
.\}
.rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "TYPOG-GREP 1"
-.TH TYPOG-GREP 1 "2024-05-07" "perl v5.36.0" "User Contributed Perl Documentation"
+.TH TYPOG-GREP 1 2024/07/08 0.4 "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.\" Turn off justification.
.na
-.SH "NAME"
-typog\-grep \- grep for typog\-inspect elements in LaTeX log files
-.SH "SYNOPSIS"
+.SH NAME
+typog\-grep \- specialized grep for typog\-inspect elements in LaTeX log files
+.SH SYNOPSIS
.IX Header "SYNOPSIS"
-.IP "\fBtypog-grep\fR \-a|\-\-all|\-\-any [\fI\s-1OPTION\s0\fR...] \fILOG-FILE\fR..." 4
+.IP "\fBtypog-grep\fR \-a|\-\-all|\-\-any [\fIOPTION\fR...] \fILOG-FILE\fR..." 4
.IX Item "typog-grep -a|--all|--any [OPTION...] LOG-FILE..."
.PD 0
-.IP "\fBtypog-grep\fR [\fI\s-1OPTION\s0\fR...] \fI\s-1REGEXP\s0\fR \fILOG-FILE\fR..." 4
+.IP "\fBtypog-grep\fR [\fIOPTION\fR...] \fIREGEXP\fR \fILOG-FILE\fR..." 4
.IX Item "typog-grep [OPTION...] REGEXP LOG-FILE..."
.PD
.PP
-The first form shows all \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR elements in \fILOG-FILE\fR.
+The first form, ``discovery mode'', shows all \fIID\fRs of
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" ...>
+.EE
+.RE
+.PP
+
+elements in \fILOG-FILE\fR.
.PP
-The second form shows the contents of \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR elements
-whose \fI\s-1ID\s0\fRs match \fI\s-1REGEXP\s0\fR in \fILOG-FILE\fR.
+The second form shows the contents, \fILOG-DATA\fR, of the elements
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" ...>
+\fILOG-DATA\fP
+</typog-inspect>
+.EE
+.RE
+.PP
+
+whose \fIID\fRs match \fIREGEXP\fR in \fILOG-FILE\fR.
.PP
If no \fILOG-FILE\fR is given read from \fIstdin\fR.
The filename\ \f(CW\*(C`\-\*(C'\fR is synonymous to \fIstdin\fR.
-.SH "DESCRIPTION"
+.SH DESCRIPTION
.IX Header "DESCRIPTION"
-\&\fBtypog-grep\fR is a tailored post-processor for LaTeX log files
-and the \f(CW\*(C`typoginspect\*(C'\fR environment as provided by package\ typog.
+\&\fBtypog-grep\fR is a tailored post-processor for LaTeX \fIlog\fR\ files
+and the \f(CW\*(C`typoginspect\*(C'\fR environment as provided by the LaTeX\ package\ typog.
It shares more with the venerable
\&\fBsgrep\fR <https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html>
-than with \s-1POSIX\s0\ \fBgrep\fR <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>.
-.PP
-The LaTeX user brackets her text in
+than with POSIX\ \fBgrep\fR\ <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>.
.PP
-.Vb 3
-\& \ebegin{typoginspect}{ID}
-\& Text and code to investigate
-\& \eend{typoginspect}
-.Ve
+In the LaTeX source file the user brackets her text or code
+in a \f(CW\*(C`typoginspect\*(C'\fR environment:
+.RS
+.EX
+\ebegin{typoginspect}{\fI\,ID\/\fP}
+\fITEXT-OR-CODE-TO-INVESTIGATE\fP
+\eend{typoginspect}
+.EE
+.RE
.PP
-where \fI\s-1ID\s0\fR is used to identify one or more bracketed snippets.
-\&\fI\s-1ID\s0\fR does not have to be unique.
-The \fI\s-1REGEXP\s0\fR mechanism makes it easy to select groups of related \fI\s-1ID\s0\fRs
+
+where \fIID\fR is used to identify one or more bracketed snippets.
+\&\fIID\fR does not have to be unique.
+The \fIREGEXP\fR mechanism makes it easy to select groups of related \fIID\fRs
if they are named accordingly.
.PP
-In \fILOG-FILE\fR the environment shows up, packed with tracing information, as
-.PP
-.Vb 3
-\& <typog\-inspect id="ID" job="JOB\-NAME" line="LINE\-NUMBER" page="PAGE\-NUMBER">
-\& Trace Data
-\& </typog\-inspect>
-.Ve
+In \fILOG-FILE\fR the result of the environment shows up,
+packed with tracing information, as
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" job="\fI\,JOB-NAME\/\fP" line="\fI\,LINE-NUMBER\/\fP" page="\fI\,PAGE-NUMBER\/\fP">
+\fILOG-DATA\fP
+</typog-inspect>
+.EE
+.RE
.PP
+
where all the capital-letter sequences are meta-variables
and in particular
\&\fIJOB-NAME\fR is the expansion of \f(CW\*(C`\ejobname\*(C'\fR,
\&\fILINE-NUMBER\fR is the LaTeX source file line number
of the beginning of the \f(CW\*(C`typoginspect\*(C'\fR environment,
and \fIPAGE-NUMBER\fR is the page where
-the output of \f(CW\*(C`Text\ and\ code\ to\ investigate\*(C'\fR occurs.
+the output of \f(CW\*(C`TEXT\-OR\-CODE\-TO\-INVESTIGATE\*(C'\fR occurs.
.PP
\&\fBtypog-grep\fR reveals the contents of \fILOG-FILE\fR
-between \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR
-and \f(CW\*(C`</typog\-inspect>\*(C'\fR excluding the XML-tags.
+between \f(CW\*(C`<typog\-inspect id="\fR\f(CIID\fR\f(CW" ...>\*(C'\fR
+and \f(CW\*(C`</typog\-inspect>\*(C'\fR excluding the XML-tags themselves.
Access the \fIJOB-NAME\fR, \fILINE-NUMBER\fR, and \fIPAGE-NUMBER\fR
with the commandline options
-\&\fB\-\-job\-name\fR, \fB\-\-line\-number\fR, and \fB\-\-page\-number\fR, respectively.
-Use \fB\-\-id\fR to show the name of the IDs that matched \fI\s-1REGEXP\s0\fR.
+\&\fB\-\-job\-name\fR, \fB\-\-line\-number\fR, and \fB\-\-page\-number\fR, respectively.
+Use \fB\-\-id\fR to show the name of the IDs that matched \fIREGEXP\fR.
.PP
\&\f(CW\*(C`typoginspect\*(C'\fR environments can be nested.
\&\fBtypog-grep\fR respects the nesting,
-i.e., if the \fI\s-1ID\s0\fR of the nested environment does not match \fI\s-1REGEXP\s0\fR
+i.e., if the \fIID\fR of the nested environment does not match \fIREGEXP\fR
it will not be included in the program's output.
-.SH "OPTIONS"
+.SH OPTIONS
.IX Header "OPTIONS"
The list of options is sorted by the names of the long options.
.IP "\fB\-a\fR, \fB\-\-all\fR, \fB\-\-any\fR" 4
.IX Item "-a, --all, --any"
ID-discovery mode:
-Show all \f(CW\*(C`typog\-inspect\*(C'\fR elements independent of any matching patterns.
-.IP "\fB\-\-color\fR, \fBcolour\fR \fI\s-1WHEN\s0\fR" 4
+Discover all \f(CW\*(C`typog\-inspect\*(C'\fR elements independent of any matching patterns
+and print their \fIID\fRs.
+The results are printed in their order of occurrence in the respective \fILOG-FILE\fRs.
+Pipe the output into \fBsort\fR to get alphabetically ordered \fIID\fRs.
+.Sp
+Augment with options
+\&\fB\-\-job\-name\fR, \fB\-\-line\-number\fR, \fB\-\-log\-line\-number\fR, or \fB\-\-page\-number\fR
+for more information.
+.IP "\fB\-\-color\fR, \fBcolour\fR \fIWHEN\fR" 4
.IX Item "--color, colour WHEN"
-Colorize specific log contents for the matching ids.
-The argument\ \fI\s-1WHEN\s0\fR determines when to apply color:
+Colorize specific log contents for the matching \fIID\fRs.
+The argument\ \fIWHEN\fR determines when to apply color:
\&\f(CW\*(C`always\*(C'\fR, \f(CW\*(C`never\*(C'\fR, or\ \f(CW\*(C`auto\*(C'\fR.
The setting \f(CW\*(C`auto\*(C'\fR checks whether standard output has been redirected.
This is the default.
-.IP "\fB\-C\fR, \fB\-\-config\fR \fI\s-1KEY\s0\fR=\fI\s-1VALUE\s0\fR[:\fI\s-1KEY\s0\fR=\fI\s-1VALUE\s0\fR[:...]]" 4
+.IP "\fB\-C\fR, \fB\-\-config\fR \fIKEY\fR=\fIVALUE\fR[:\fIKEY\fR=\fIVALUE\fR[:...]]" 4
.IX Item "-C, --config KEY=VALUE[:KEY=VALUE[:...]]"
-Set one or more configuration \fI\s-1KEY\s0\fR to \fI\s-1VALUE\s0\fR pairs.
-See Sec.\ \s-1CONFIGURATION\s0 below for a description of all available configuration items.
-Use option \fB\-\-show\-config\fR to display the default configuration.
-.IP "\fB\-\-debug\fR" 4
+Set one or more configuration \fIKEY\fR to \fIVALUE\fR pairs.
+See section "CONFIGURATION" for a description
+of all available configuration items.
+Use option\ \fB\-\-show\-config\fR to display the default configuration.
+.IP \fB\-\-debug\fR 4
.IX Item "--debug"
Turn on debug output on \fIstderr\fR.
+.IP "\fB\-E\fR, \fB\-\-encoding\fR \fIENCODING\fR" 4
+.IX Item "-E, --encoding ENCODING"
+Set the \fIENCODING\fR of \fILOG-FILE\fR for the translation to UTF\-8.
+The default is unset.
+.Sp
+Use this option to get rid of pesky
+"<\fIHEX-DIGITS\fR>"\ escapes on UTF\-8 terminals.
+See option\ \fB\-\-show\-encodings\fR for the known encodings and
+Encode::Supported for a summary of all encodings.
+See also section\ "Some\ Common\ Encodings".
+.Sp
+Apply \fBiconv\fR <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/iconv.html>
+(POSIX) or \fBrecode\fR <https://github.com/rrthomas/recode/> (GNU) on \fILOG-FILE\fR
+before this tool to avoid having to use option\ \fB\-\-encoding\fR.
.IP "\fB\-h\fR, \fB\-\-help\fR" 4
.IX Item "-h, --help"
Display brief help then exit.
.IP "\fB\-i\fR, \fB\-\-[no\-]id\fR" 4
.IX Item "-i, --[no-]id"
-Print the actual id name that matched \fI\s-1REGEXP\s0\fR.
-Control the appearance of the matching id with configuration item\ \f(CW\*(C`id\-heading\*(C'\fR.
+Print the actual ID-name that matched \fIREGEXP\fR.
+Control the appearance of the matching \fIID\fR with configuration item\ \f(CW\*(C`id\-heading\*(C'\fR.
.IP "\fB\-y\fR, \fB\-\-[no\-]ignore\-case\fR" 4
.IX Item "-y, --[no-]ignore-case"
-Match ids while ignoring case distinctions in patterns and data.
+Match \fIID\fRs while ignoring case distinctions in patterns and data.
.IP "\fB\-j\fR, \fB\-\-[no\-]job\-name\fR" 4
.IX Item "-j, --[no-]job-name"
-Print the \f(CW\*(C`\ejobname\*(C'\fR that \fBtex\fR associated with the input file.
+Print the \f(CW\*(C`\ejobname\*(C'\fR that \fBlatex\fR associated with the input file.
.IP "\fB\-n\fR, \fB\-\-[no\-]line\-number\fR" 4
.IX Item "-n, --[no-]line-number"
Print the line number where the \f(CW\*(C`typoginspect\*(C'\fR\ environment
@@ -256,76 +223,79 @@ starts in the typeset document.
.IP "\fB\-P\fR, \fB\-\-[no\-]pager\fR" 4
.IX Item "-P, --[no-]pager"
Redirect output from \fIstdout\fR to the configured pager.
-.IP "\fB\-\-show\-config\fR" 4
+.IP \fB\-\-show\-config\fR 4
.IX Item "--show-config"
Show the default configuration and exit.
+.IP \fB\-\-show\-encodings\fR 4
+.IX Item "--show-encodings"
+Show all known encodings and exit.
.IP "\fB\-V\fR, \fB\-\-version\fR" 4
.IX Item "-V, --version"
Show version information and exit.
.IP "\fB\-w\fR, \fB\-\-[no\-]word\-regexp\fR" 4
.IX Item "-w, --[no-]word-regexp"
Match only whole words.
-.SH "CONFIGURATION"
+.SH CONFIGURATION
.IX Header "CONFIGURATION"
-.ie n .IP """id\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWid\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.ie n .IP """id\-format""=\fIFORMAT\fR" 4
+.el .IP \f(CWid\-format\fR=\fIFORMAT\fR 4
.IX Item "id-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing matching ids in inline-mode,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Control the \fIFORMAT\fR for printing matching ids in inline-mode,
+where \fIFORMAT\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
Default:\ \f(CW%s:\fR.
.ie n .IP """id\-heading""=0|1" 4
-.el .IP "\f(CWid\-heading\fR=\f(CW0\fR|\f(CW1\fR" 4
+.el .IP \f(CWid\-heading\fR=\f(CW0\fR|\f(CW1\fR 4
.IX Item "id-heading=0|1"
-Choose between printing the matching ids with option\ \fB\-\-id\fR:
+Choose between printing the matching \fIID\fRs with option\ \fB\-\-id\fR:
Inline\ (\f(CW0\fR) or heading before the matching data (\f(CW1\fR).
Default:\ \f(CW0\fR.
-.ie n .IP """id\-heading\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWid\-heading\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.ie n .IP """id\-heading\-format""=\fIFORMAT\fR" 4
+.el .IP \f(CWid\-heading\-format\fR=\fIFORMAT\fR 4
.IX Item "id-heading-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing matching ids in heading-mode,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Control the \fIFORMAT\fR for printing matching \fIID\fRs in heading-mode,
+where \fIFORMAT\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
Default:\ \f(CW\*(C`\-\->\ %s\ <\-\-\*(C'\fR.
-.ie n .IP """id\-indent""=\fI\s-1INDENT\s0\fR" 4
-.el .IP "\f(CWid\-indent\fR=\fI\s-1INDENT\s0\fR" 4
+.ie n .IP """id\-indent""=\fIINDENT\fR" 4
+.el .IP \f(CWid\-indent\fR=\fIINDENT\fR 4
.IX Item "id-indent=INDENT"
Indentation of nested typog-inspect tags.
-Only used in ``discovery'' mode (first form), i.e., if \fB\-\-all\fR is active.
+Only used in ``discovery mode'' (first form), i.e., if \fB\-\-all\fR is active.
Default:\ 8.
.ie n .IP """id\-max\-length""=\fIMAXIMUM-LENGTH\fR" 4
-.el .IP "\f(CWid\-max\-length\fR=\fIMAXIMUM-LENGTH\fR" 4
+.el .IP \f(CWid\-max\-length\fR=\fIMAXIMUM-LENGTH\fR 4
.IX Item "id-max-length=MAXIMUM-LENGTH"
-Set the maximum length of a matching id for printing.
-It a matching id exceeds this length it will be truncated
+Set the maximum length of a matching \fIID\fR for printing.
+It a matching \fIID\fR exceeds this length it will be truncated
and the last three characters (short of \fIMAXIMUM-LENGTH\fR) will be replaced by dots.
Default:\ 40.
-.ie n .IP """line\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWline\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.ie n .IP """line\-number\-format""=\fIFORMAT\fR" 4
+.el .IP \f(CWline\-number\-format\fR=\fIFORMAT\fR 4
.IX Item "line-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing TeX source line numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Control the \fIFORMAT\fR for printing TeX source line numbers,
+where \fIFORMAT\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
Default:\ \f(CW%5d\fR.
-.ie n .IP """log\-line\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWlog\-line\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.ie n .IP """log\-line\-number\-format""=\fIFORMAT\fR" 4
+.el .IP \f(CWlog\-line\-number\-format\fR=\fIFORMAT\fR 4
.IX Item "log-line-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing log line numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Control the \fIFORMAT\fR for printing log line numbers,
+where \fIFORMAT\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
Default:\ \f(CW%6d\fR.
-.ie n .IP """page\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWpage\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
+.ie n .IP """page\-number\-format""=\fIFORMAT\fR" 4
+.el .IP \f(CWpage\-number\-format\fR=\fIFORMAT\fR 4
.IX Item "page-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing page numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
+Control the \fIFORMAT\fR for printing page numbers,
+where \fIFORMAT\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
Default:\ \f(CW\*(C`[%3d]\*(C'\fR.
-.ie n .IP """pager""=\fI\s-1PAGER\s0\fR" 4
-.el .IP "\f(CWpager\fR=\fI\s-1PAGER\s0\fR" 4
+.ie n .IP """pager""=\fIPAGER\fR" 4
+.el .IP \f(CWpager\fR=\fIPAGER\fR 4
.IX Item "pager=PAGER"
Name of pager application to pipe output into
if run with option\ \fB\-\-pager\fR.
Default:\ \f(CW\*(C`less\*(C'\fR.
-.ie n .IP """pager\-flags""=\fI\s-1FLAGS\s0\fR" 4
-.el .IP "\f(CWpager\-flags\fR=\fI\s-1FLAGS\s0\fR" 4
+.ie n .IP """pager\-flags""=\fIFLAGS\fR" 4
+.el .IP \f(CWpager\-flags\fR=\fIFLAGS\fR 4
.IX Item "pager-flags=FLAGS"
-Pass \fI\s-1FLAGS\s0\fR to \fI\s-1PAGER\s0\fR.
+Pass \fIFLAGS\fR to \fIPAGER\fR.
Default:\ \f(CW\*(C`\-\-quit\-if\-one\-screen\*(C'\fR.
.IP "Color Configuration" 4
.IX Item "Color Configuration"
@@ -333,64 +303,64 @@ For the syntax of the color specifications consult
the manual page of Term::ANSIColor(pm).
.RS 4
.ie n .IP """file\-header\-color""" 4
-.el .IP "\f(CWfile\-header\-color\fR" 4
+.el .IP \f(CWfile\-header\-color\fR 4
.IX Item "file-header-color"
Color of the filename header.
.ie n .IP """fill\-state\-color""" 4
-.el .IP "\f(CWfill\-state\-color\fR" 4
+.el .IP \f(CWfill\-state\-color\fR 4
.IX Item "fill-state-color"
Color of the messages that report ``Underfull hbox'' or ``Overfull hbox''.
.ie n .IP """first\-vbox\-color""" 4
-.el .IP "\f(CWfirst\-vbox\-color\fR" 4
+.el .IP \f(CWfirst\-vbox\-color\fR 4
.IX Item "first-vbox-color"
Color of the first vbox on a page.
.ie n .IP """font\-spec\-color""" 4
-.el .IP "\f(CWfont\-spec\-color\fR" 4
+.el .IP \f(CWfont\-spec\-color\fR 4
.IX Item "font-spec-color"
Color of font specifications.
.ie n .IP """horizontal\-break\-candidate\-color""" 4
-.el .IP "\f(CWhorizontal\-break\-candidate\-color\fR" 4
+.el .IP \f(CWhorizontal\-break\-candidate\-color\fR 4
.IX Item "horizontal-break-candidate-color"
Color of lines with horizontal-breakpoint candidates\ \f(CW\*(C`@\*(C'\fR.
.ie n .IP """horizontal\-breakpoint\-color""" 4
-.el .IP "\f(CWhorizontal\-breakpoint\-color\fR" 4
+.el .IP \f(CWhorizontal\-breakpoint\-color\fR 4
.IX Item "horizontal-breakpoint-color"
Color of lines with horizontal breakpoints\ \f(CW\*(C`@@\*(C'\fR.
.ie n .IP """id\-color""" 4
-.el .IP "\f(CWid\-color\fR" 4
+.el .IP \f(CWid\-color\fR 4
.IX Item "id-color"
-Color of matching ids when printed inline.
+Color of matching \fIID\fRs when printed inline.
.ie n .IP """id\-heading\-color""" 4
-.el .IP "\f(CWid\-heading\-color\fR" 4
+.el .IP \f(CWid\-heading\-color\fR 4
.IX Item "id-heading-color"
-Color of matching ids when printed in heading form.
+Color of matching \fIID\fRs when printed in heading form.
.ie n .IP """line\-break\-pass\-color""" 4
-.el .IP "\f(CWline\-break\-pass\-color\fR" 4
+.el .IP \f(CWline\-break\-pass\-color\fR 4
.IX Item "line-break-pass-color"
Color of the lines showing which pass (e.g., \f(CW@firstpass\fR)
of the line-breaking algorithm is active.
.ie n .IP """line\-number\-color""" 4
-.el .IP "\f(CWline\-number\-color\fR" 4
+.el .IP \f(CWline\-number\-color\fR 4
.IX Item "line-number-color"
Color of TeX-source-file line numbers.
.ie n .IP """log\-line\-number\-color""" 4
-.el .IP "\f(CWlog\-line\-number\-color\fR" 4
+.el .IP \f(CWlog\-line\-number\-color\fR 4
.IX Item "log-line-number-color"
Color of log-file line numbers.
.ie n .IP """math\-color""" 4
-.el .IP "\f(CWmath\-color\fR" 4
+.el .IP \f(CWmath\-color\fR 4
.IX Item "math-color"
Color used for math expressions including their font specs.
.ie n .IP """page\-number\-color""" 4
-.el .IP "\f(CWpage\-number\-color\fR" 4
+.el .IP \f(CWpage\-number\-color\fR 4
.IX Item "page-number-color"
Color of page numbers of the final output.
.ie n .IP """tightness\-color""" 4
-.el .IP "\f(CWtightness\-color\fR" 4
+.el .IP \f(CWtightness\-color\fR 4
.IX Item "tightness-color"
Color of lines with Tight/Loose hbox reports.
.ie n .IP """vertical\-breakpoint\-color""" 4
-.el .IP "\f(CWvertical\-breakpoint\-color\fR" 4
+.el .IP \f(CWvertical\-breakpoint\-color\fR 4
.IX Item "vertical-breakpoint-color"
Color of possible vertical breakpoints.
.RE
@@ -419,10 +389,65 @@ Replace \f(CW\*(C`on_\*(C'\fR with \f(CW\*(C`on_bright_\*(C'\fR for high-intensi
.IP "Text Attribute" 4
.IX Item "Text Attribute"
\&\f(CW\*(C`bold\*(C'\fR, \f(CW\*(C`dark\*(C'\fR, \f(CW\*(C`italic\*(C'\fR, \f(CW\*(C`underline\*(C'\fR, \f(CW\*(C`reverse\*(C'\fR
+.SS "Some Common Encodings"
+.IX Subsection "Some Common Encodings"
+The following list shows some encodings
+that are suitable for option\ \fB\-\-encoding\fR.
+.IP "Latin\-1, Western European" 4
+.IX Item "Latin-1, Western European"
+\&\f(CW\*(C`iso\-8859\-1\*(C'\fR, \f(CW\*(C`cp850\*(C'\fR, \f(CW\*(C`cp860\*(C'\fR, \f(CW\*(C`cp1252\*(C'\fR
+.IP "Latin\-2, Central European" 4
+.IX Item "Latin-2, Central European"
+\&\f(CW\*(C`iso\-8859\-2\*(C'\fR, \f(CW\*(C`cp852\*(C'\fR, \f(CW\*(C`cp1250\*(C'\fR
+.IP "Latin\-3, South European (Esperanto, Maltese)" 4
+.IX Item "Latin-3, South European (Esperanto, Maltese)"
+\&\f(CW\*(C`iso\-8859\-3\*(C'\fR
+.IP "Latin\-4, North European (Baltics)" 4
+.IX Item "Latin-4, North European (Baltics)"
+\&\f(CW\*(C`iso\-8859\-4\*(C'\fR
+.IP Cyrillics 4
+.IX Item "Cyrillics"
+\&\f(CW\*(C`iso\-8859\-5\*(C'\fR, \f(CW\*(C`cp855\*(C'\fR, \f(CW\*(C`cp866\*(C'\fR (Ukrainian), \f(CW\*(C`cp1251\*(C'\fR
+.IP Arabic 4
+.IX Item "Arabic"
+\&\f(CW\*(C`iso\-8859\-6\*(C'\fR, \f(CW\*(C`cp864\*(C'\fR, \f(CW\*(C`cp1006\*(C'\fR (Farsi), \f(CW\*(C`cp1256\*(C'\fR
+.IP Greek 4
+.IX Item "Greek"
+\&\f(CW\*(C`iso\-8859\-7\*(C'\fR, \f(CW\*(C`cp737\*(C'\fR, \f(CW\*(C`cp1253\*(C'\fR
+.IP Hebrew 4
+.IX Item "Hebrew"
+\&\f(CW\*(C`iso\-8859\-8\*(C'\fR, \f(CW\*(C`cp862\*(C'\fR, \f(CW\*(C`cp1255\*(C'\fR
+.IP Turkish 4
+.IX Item "Turkish"
+\&\f(CW\*(C`iso\-8859\-9\*(C'\fR, \f(CW\*(C`cp857\*(C'\fR, \f(CW\*(C`cp1254\*(C'\fR
+.IP Nordic 4
+.IX Item "Nordic"
+\&\f(CW\*(C`iso\-8859\-10\*(C'\fR, \f(CW\*(C`cp865\*(C'\fR, \f(CW\*(C`cp861\*(C'\fR (Icelandic)
+.IP Thai 4
+.IX Item "Thai"
+\&\f(CW\*(C`iso\-8859\-11\*(C'\fR, \f(CW\*(C`cp874\*(C'\fR
+.IP Baltic 4
+.IX Item "Baltic"
+\&\f(CW\*(C`iso\-8859\-13\*(C'\fR, \f(CW\*(C`cp775\*(C'\fR, \f(CW\*(C`cp1257\*(C'\fR
+.IP Celtic 4
+.IX Item "Celtic"
+\&\f(CW\*(C`iso\-8859\-14\*(C'\fR
+.IP "Latin\-9 (sometimes called Latin0)" 4
+.IX Item "Latin-9 (sometimes called Latin0)"
+\&\f(CW\*(C`iso\-8859\-15\*(C'\fR
+.IP Latin\-10 4
+.IX Item "Latin-10"
+\&\f(CW\*(C`iso\-8859\-16\*(C'\fR
.SH "EXIT STATUS"
.IX Header "EXIT STATUS"
-The exit status is 0 if at least one \fI\s-1ID\s0\fR matched \fI\s-1REGEXP\s0\fR,
-1 if no \fI\s-1ID\s0\fR matched \fI\s-1REGEXP\s0\fR, and 2 if an error occurred.
+The exit status is 0 if at least one \fIID\fR matched \fIREGEXP\fR,
+1 if no \fIID\fR matched \fIREGEXP\fR, and 2 if an error occurred.
+.SH CAVEATS
+.IX Header "CAVEATS"
+The end tag \f(CW\*(C`</typog\-inspect>\*(C'\fR sometimes gets placed too early in the output and the trace
+\&\fIseems\fR truncated. However, LaTeX reliably logs the requested the trace information, but the
+write operations for trace data and the code which is used to print the end\ tag are not
+synchronized.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
-\&\fBgrep\fR(1), \fBprintf\fR(3), \fBTerm::ANSIColor\fR(pm)
+\&\fBgrep\fR(1), \fBprintf\fR(3), \fBEncode::Supported\fR(pm), \fBTerm::ANSIColor\fR(pm)
diff --git a/Master/texmf-dist/doc/man/man1/typog-grep.man1.pdf b/Master/texmf-dist/doc/man/man1/typog-grep.man1.pdf
index ca0157d129b..6444f8038b1 100644
--- a/Master/texmf-dist/doc/man/man1/typog-grep.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/typog-grep.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/latexindent/README b/Master/texmf-dist/doc/support/latexindent/README
index 0b58c4ee729..3bd2dbfe981 100644
--- a/Master/texmf-dist/doc/support/latexindent/README
+++ b/Master/texmf-dist/doc/support/latexindent/README
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- latexindent.pl, version 3.24.2, 2024-06-15
+ latexindent.pl, version 3.24.4, 2024-07-18
PERL script to indent code within environments, and align delimited
environments in .tex files.
diff --git a/Master/texmf-dist/doc/support/latexindent/latexindent-yaml-schema.json b/Master/texmf-dist/doc/support/latexindent/latexindent-yaml-schema.json
index 8f457e916f3..8f0cf208e28 100644
--- a/Master/texmf-dist/doc/support/latexindent/latexindent-yaml-schema.json
+++ b/Master/texmf-dist/doc/support/latexindent/latexindent-yaml-schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/schema",
"$id": "latexindent-yaml-schema.json",
"title": "latexindent.pl YAML schema",
- "description": "latexindent.pl YAML schema helper, V3.24.2 2024-06-15",
+ "description": "latexindent.pl YAML schema helper, V3.24.4 2024-07-18",
"type": "object",
"properties": {
"fileExtensionPreference": {
diff --git a/Master/texmf-dist/doc/support/latexindent/latexindent.pdf b/Master/texmf-dist/doc/support/latexindent/latexindent.pdf
index 60f57e8d37c..19361f5268a 100644
--- a/Master/texmf-dist/doc/support/latexindent/latexindent.pdf
+++ b/Master/texmf-dist/doc/support/latexindent/latexindent.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/latexindent/latexindent.tex b/Master/texmf-dist/doc/support/latexindent/latexindent.tex
index e5a2ae3b160..fefde34ec25 100644
--- a/Master/texmf-dist/doc/support/latexindent/latexindent.tex
+++ b/Master/texmf-dist/doc/support/latexindent/latexindent.tex
@@ -131,6 +131,7 @@
% bibliographies
\addbibresource{latex-indent}
\addbibresource{contributors}
+\BiblatexSplitbibDefernumbersWarningOff
% http://tex.stackexchange.com/questions/122135/how-to-add-a-png-icon-on-the-right-side-of-a-tcolorbox-title
\newtcolorbox{warning}{parbox=false,
@@ -585,14 +586,14 @@
title={example~\thetcbcounter},
fonttitle=\bfseries\sffamily,
detach title,
- before upper={\llap{\tcbtitle\hspace{5mm}}},
coltitle=black,
colback=white,
grow to left by=6mm,
%
% circles and line by the side
%
- overlay unbroken={%
+ overlay unbroken and first={%
+ \node at ([xshift=-8mm,yshift=-4.5mm]interior.north west) {\bfseries example \thetcbcounter};
\path [fill=black] ([xshift=1mm,yshift=3mm]interior.south east) node{\hbox{\rule{1ex}{1ex}}};
},
overlay last={%
@@ -859,7 +860,7 @@
throughout this document for details}.
\subsection{Quick start}\label{sec:quickstart}
- When \texttt{latexindent.pl} reads and writes files, the files are read and written in UTF-8 format by default.
+ When \texttt{latexindent.pl} reads and writes files, the files are read and written in UTF-8 format by default.
That is to say, the encoding format for tex and yaml files needs to be in UTF-8 format.
If you'd like to get started with \texttt{latexindent.pl} then simply type
@@ -8563,8 +8564,8 @@ perl latexindent-module-installer.pl
\begin{commandshell}
sudo apt-get install perlbrew
perlbrew init
-perlbrew install perl-5.39.1
-perlbrew switch perl-5.39.1
+perlbrew install perl-5.40.0
+perlbrew switch perl-5.40.0
sudo apt-get install curl
curl -L http://cpanmin.us | perl - App::cpanminus
cpanm YAML::Tiny
diff --git a/Master/texmf-dist/doc/support/mf2pt1/ChangeLog b/Master/texmf-dist/doc/support/mf2pt1/ChangeLog
index a8e6d2d9105..6df8f950676 100644
--- a/Master/texmf-dist/doc/support/mf2pt1/ChangeLog
+++ b/Master/texmf-dist/doc/support/mf2pt1/ChangeLog
@@ -1,4 +1,15 @@
-2021-12-04 Scott Pakin <pakin@pakin.org>
+2024-07-06 Scott Pakin <scott+mf@pakin.org>
+
+ * README, mf2pt1.texi, mf2pt1.mp, mf2pt1.pl: Updated the copyright
+ year to 2024.
+
+ * mf2pt1.pl: Applied a patch from Werner Lemberg <wl@gnu.org> that
+ adds extrema later in the FontForge postprocessing script. This
+ patch originally was submitted as a LilyPond merge request
+ (https://gitlab.com/lilypond/lilypond/-/merge_requests/2374).
+ Updated the program version to 2.8.
+
+2021-12-04 Scott Pakin <scott+mf@pakin.org>
* README, mf2pt1.texi: Updated the copyright year to 2021.
@@ -7,7 +18,7 @@
already exist. Updated the copyright year to 2021. Updated the
version to 2.7.
-2021-11-28 Scott Pakin <pakin@pakin.org>
+2021-11-28 Scott Pakin <scott+mf@pakin.org>
* Makefile, mf2pt1.pl, mf2pt1.texi:
Documented that environment variables for programs can now include
@@ -18,13 +29,13 @@
commands to be overridden by environment variables that can also
include program parameters.
-2021-11-27 Scott Pakin <pakin@pakin.org>
+2021-11-27 Scott Pakin <scott+mf@pakin.org>
* mf2pt1.pl:
Introduced a --save-temps option to suppress deletion of intermediate
files.
-2020-11-27 Scott Pakin <pakin@pakin.org>
+2020-11-27 Scott Pakin <scott+mf@pakin.org>
* ChangeLog, README, mf2pt1.mp, mf2pt1.pl, mf2pt1.texi:
mf2pt1 no longer generates a UniqueID automatically, only when
diff --git a/Master/texmf-dist/doc/support/mf2pt1/README b/Master/texmf-dist/doc/support/mf2pt1/README
index 0eb57ca8fcf..e101952ff99 100644
--- a/Master/texmf-dist/doc/support/mf2pt1/README
+++ b/Master/texmf-dist/doc/support/mf2pt1/README
@@ -27,7 +27,7 @@ For installation instructions, see the mf2pt1 manual (mf2pt1.pdf).
Copyright and license
---------------------
-Copyright (C) 2005-2021 Scott Pakin, scott+mf@pakin.org
+Copyright (C) 2005-2024 Scott Pakin, scott+mf@pakin.org
This package may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
diff --git a/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf b/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf
index a28895171a0..e702482c745 100644
--- a/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf
+++ b/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi b/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi
index 9260689d18c..f18ed6694cf 100644
--- a/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi
+++ b/Master/texmf-dist/doc/support/mf2pt1/mf2pt1.texi
@@ -11,7 +11,7 @@
@c %**end of header
@copying
-Copyright @copyright{} 2005--2021 Scott Pakin
+Copyright @copyright{} 2005--2024 Scott Pakin
@sp 2
@@ -30,8 +30,8 @@ version 2006/05/20 or later.
@end copying
-@set VERSION 2.7
-@set DATE 4 December 2021
+@set VERSION 2.8
+@set DATE 6 July 2024
@c Define some fonts we intend to use.
@iftex
@@ -679,9 +679,9 @@ parameters that @command{mf2pt1} accepts:
@noindent
@b{if} known @i{ps_output}:
-@multitable {@b{if}} {@b{font_underline_thickness}} {@t{"Copyright (C) 2021 Scott Pakin.";}}
+@multitable {@b{if}} {@b{font_underline_thickness}} {@t{"Copyright (C) 2005-2024 Scott Pakin.";}}
@item @tab @b{font_coding_scheme} @tab @t{"ot1"};
-@item @tab @b{font_comment} @tab @t{"Copyright (C) 2021 Scott Pakin."};
+@item @tab @b{font_comment} @tab @t{"Copyright (C) 2005-2024 Scott Pakin."};
@item @tab @b{font_family} @tab @t{"Kerplotz"};
@item @tab @b{font_fixed_pitch} @tab @b{false};
@item @tab @b{font_identifier} @tab @t{"Kerplotz Light Oblique"};
@@ -708,7 +708,7 @@ The same parameters can also be specified on the command line as
follows:
@example
-mf2pt1 --encoding=ot1 --comment="Copyright (C) 2021 Scott Pakin."
+mf2pt1 --encoding=ot1 --comment="Copyright (C) 2005-2024 Scott Pakin."
--family=Kerplotz --nofixedpitch --fullname="Kerplotz Light Oblique"
--name=Kerplotz-LightOblique --designsize=10 --italicangle=-9.5
--underpos=-100 --underthick=50 --uniqueid=4112233 --version=002.005
@@ -881,7 +881,7 @@ character position the current encoding has designated for the
@section Restoring @file{mfplain} defaults
@command{mf2pt1} normally redefines @strong{filldraw} as @strong{fill}
-and @strong{unfilldraw} and @strong{unfill} because @w{Type 1} fonts
+and @strong{unfilldraw} as @strong{unfill} because @w{Type 1} fonts
don't allow overlapping curves. Similarly, @command{mf2pt1} redefines
@strong{pencircle} as a 20-gon to coerce MetaPost into drawing it
using a filled instead of a stroked PostScript path.
@@ -957,7 +957,7 @@ more robust way to dump @file{mf2pt1.mem}; for directing me to the
overlap-removal code mentioned in @ref{Restrictions}; for supplying
the @emph{crossproduct}, @emph{makeline}, and @emph{is_clockwise}
functions used by @file{mf2pt1.mp}; for proposing the @copt{bpppix}
-command-line option; and for suggesting various features and
+command-line option; and for suggesting numerous features and
improvements to @command{mf2pt1}. Thanks also go to Werner Lemberg
and
@iftex